diff --git a/package-lock.json b/package-lock.json index 297ced6..b2f7d99 100644 --- a/package-lock.json +++ b/package-lock.json @@ -48,7 +48,6 @@ "prosemirror-schema-list": "^1.1.4", "prosemirror-state": "^1.3.4", "prosemirror-suggest": "^0.7.6", - "prosemirror-tables": "^1.1.1", "prosemirror-transform": "^1.2.12", "prosemirror-view": "^1.18.0", "remark": "^13.0.0", @@ -74,18 +73,7 @@ "@types/lodash": "^4.14.158", "@types/mdast": "^3.0.3", "@types/mocha": "^10.0.1", - "@types/prosemirror-commands": "^1.0.4", - "@types/prosemirror-gapcursor": "^1.0.2", - "@types/prosemirror-history": "^1.0.2", - "@types/prosemirror-inputrules": "^1.0.4", - "@types/prosemirror-keymap": "^1.0.4", - "@types/prosemirror-model": "^1.11.3", - "@types/prosemirror-schema-basic": "^1.0.2", - "@types/prosemirror-schema-list": "^1.0.3", - "@types/prosemirror-state": "^1.2.6", "@types/prosemirror-tables": "^0.9.1", - "@types/prosemirror-transform": "^1.1.2", - "@types/prosemirror-view": "^1.17.1", "@types/source-map-support": "^0.5.3", "@types/unist": "^2.0.3", "asar": "^3.0.3", @@ -3121,26 +3109,6 @@ "@types/prosemirror-view": "*" } }, - "node_modules/@types/prosemirror-gapcursor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@types/prosemirror-gapcursor/-/prosemirror-gapcursor-1.0.3.tgz", - "integrity": "sha512-kBVjjbMmUk7ZsgpI1NOyY15makulu1skEGr+V9GgY7GQnT9vqjo8/XiNSgSj9s9vRTsTb/KAaTI9KJwWlhbhxQ==", - "dev": true, - "dependencies": { - "@types/prosemirror-model": "*", - "@types/prosemirror-state": "*" - } - }, - "node_modules/@types/prosemirror-history": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@types/prosemirror-history/-/prosemirror-history-1.0.2.tgz", - "integrity": "sha512-AcfpWo+HkIuvq/H2zYjIMi2jxa2GWfYaTNiFTB2sigjkpWNM93CIlb7Cimy/4vNH8lVPp0GwLBjYIMRX6zOUyA==", - "dev": true, - "dependencies": { - "@types/prosemirror-model": "*", - "@types/prosemirror-state": "*" - } - }, "node_modules/@types/prosemirror-inputrules": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/@types/prosemirror-inputrules/-/prosemirror-inputrules-1.0.4.tgz", @@ -3169,23 +3137,13 @@ "@types/orderedmap": "*" } }, - "node_modules/@types/prosemirror-schema-basic": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@types/prosemirror-schema-basic/-/prosemirror-schema-basic-1.0.2.tgz", - "integrity": "sha512-dzT/6t+dq8/On1be0yarcOIu8wROjhK8QB5wslpLbtTIr5wb0iQv/esJm/KAHcD/PBXR9nSV4TL5AtQmBrcRnw==", - "dev": true, - "dependencies": { - "@types/prosemirror-model": "*" - } - }, "node_modules/@types/prosemirror-schema-list": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@types/prosemirror-schema-list/-/prosemirror-schema-list-1.0.3.tgz", - "integrity": "sha512-uWybOf+M2Ea7rlbs0yLsS4YJYNGXYtn4N+w8HCw3Vvfl6wBAROzlMt0gV/D/VW/7J/LlAjwMezuGe8xi24HzXA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@types/prosemirror-schema-list/-/prosemirror-schema-list-1.2.0.tgz", + "integrity": "sha512-njvba73mgBanQOt2/piYMeP+nsu8lzomA350Lh7/sdr6NPsRvYPggwJDIZEG0Cb/MB0fnv4PdRaTi93PoLHArw==", + "deprecated": "This is a stub types definition. prosemirror-schema-list provides its own type definitions, so you do not need this installed.", "dependencies": { - "@types/orderedmap": "*", - "@types/prosemirror-model": "*", - "@types/prosemirror-state": "*" + "prosemirror-schema-list": "*" } }, "node_modules/@types/prosemirror-state": { @@ -3913,9 +3871,9 @@ } }, "node_modules/available-typed-arrays": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.4.tgz", - "integrity": "sha512-SA5mXJWrId1TaQjfxUYghbqQ/hYioKmLJvPJyDuYRtXXenFNMjj4hSSt1Cf1xsuXSXrtxrVC5Ot4eU6cOtBDdA==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", "engines": { "node": ">= 0.4" }, @@ -5467,6 +5425,8 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "optional": true, "dependencies": { "object-keys": "^1.0.12" }, @@ -6281,56 +6241,11 @@ "is-arrayish": "^0.2.1" } }, - "node_modules/es-abstract": { - "version": "1.18.3", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.3.tgz", - "integrity": "sha512-nQIr12dxV7SSxE6r6f1l3DtAeEYdsGpps13dR0TwJg1S8gyp4ZPgy3FZcHBgbiQqnoqSTb+oC+kO4UQ0C/J8vw==", - "dependencies": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.2", - "is-callable": "^1.2.3", - "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.3", - "is-string": "^1.0.6", - "object-inspect": "^1.10.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.4", - "string.prototype.trimstart": "^1.0.4", - "unbox-primitive": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/es-module-lexer": { "version": "0.9.3", "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==" }, - "node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/es6-error": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", @@ -6677,10 +6592,13 @@ "flat": "cli.js" } }, - "node_modules/foreach": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", - "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dependencies": { + "is-callable": "^1.1.3" + } }, "node_modules/form-data": { "version": "4.0.0", @@ -6790,13 +6708,13 @@ } }, "node_modules/get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", + "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", "dependencies": { "function-bind": "^1.1.1", "has": "^1.0.3", - "has-symbols": "^1.0.1" + "has-symbols": "^1.0.3" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -6916,6 +6834,17 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/graceful-fs": { "version": "4.2.10", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", @@ -6947,14 +6876,6 @@ "node": ">= 0.4.0" } }, - "node_modules/has-bigints": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", - "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -6964,9 +6885,23 @@ } }, "node_modules/has-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dependencies": { + "has-symbols": "^1.0.2" + }, "engines": { "node": ">= 0.4" }, @@ -7427,11 +7362,12 @@ } }, "node_modules/is-arguments": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz", - "integrity": "sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", "dependencies": { - "call-bind": "^1.0.0" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -7445,14 +7381,6 @@ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" }, - "node_modules/is-bigint": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.2.tgz", - "integrity": "sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", @@ -7464,20 +7392,6 @@ "node": ">=8" } }, - "node_modules/is-boolean-object": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.1.tgz", - "integrity": "sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng==", - "dependencies": { - "call-bind": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-buffer": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", @@ -7501,9 +7415,9 @@ } }, "node_modules/is-callable": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", - "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", "engines": { "node": ">= 0.4" }, @@ -7534,17 +7448,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-date-object": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.4.tgz", - "integrity": "sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-decimal": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz", @@ -7574,9 +7477,12 @@ } }, "node_modules/is-generator-function": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.9.tgz", - "integrity": "sha512-ZJ34p1uvIfptHCN7sFTjGibB9/oBg17sHqzDLfuwhvmN/qLVvIQXRQ8licZQ35WJ8KuEQt/etnnzQFI9C9Ue/A==", + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, "engines": { "node": ">= 0.4" }, @@ -7604,17 +7510,6 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/is-negative-zero": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", - "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -7623,17 +7518,6 @@ "node": ">=0.12.0" } }, - "node_modules/is-number-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.5.tgz", - "integrity": "sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-obj": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", @@ -7686,56 +7570,16 @@ "node": ">=0.10.0" } }, - "node_modules/is-regex": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.3.tgz", - "integrity": "sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ==", - "dependencies": { - "call-bind": "^1.0.2", - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-string": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.6.tgz", - "integrity": "sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-typed-array": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.5.tgz", - "integrity": "sha512-S+GRDgJlR3PyEbsX/Fobd9cqpZBuvUS+8asRqYDMLCb2qMzt1oz5m5oxQCxOgUDxiWsOVNi4yaF+/uvdlHlYug==", + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", + "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", "dependencies": { - "available-typed-arrays": "^1.0.2", + "available-typed-arrays": "^1.0.5", "call-bind": "^1.0.2", - "es-abstract": "^1.18.0-next.2", - "foreach": "^2.0.5", - "has-symbols": "^1.0.1" + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -9388,39 +9232,16 @@ "node": ">=0.10.0" } }, - "node_modules/object-inspect": { - "version": "1.10.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.10.3.tgz", - "integrity": "sha512-e5mCJlSH7poANfC8z8S9s9S2IN5/4Zb3aZ33f5s8YqoazCFzNLloLU8r5VCG+G7WoqLvAAZoVMcy3tp/3X0Plw==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "optional": true, "engines": { "node": ">= 0.4" } }, - "node_modules/object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/object.omit": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-3.0.0.tgz", @@ -9475,9 +9296,9 @@ } }, "node_modules/orderedmap": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/orderedmap/-/orderedmap-1.1.1.tgz", - "integrity": "sha512-3Ux8um0zXbVacKUkcytc0u3HgC0b0bBLT+I60r2J/En72cI0nZffqrA7Xtf2Hqs27j1g82llR5Mhbd0Z1XW4AQ==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/orderedmap/-/orderedmap-2.1.0.tgz", + "integrity": "sha512-/pIFexOm6S70EPdznemIz3BQZoJ4VTFrhqzu0ACBqBgeLsLxq8e6Jim63ImIfwW/zAD1AlXpRMlOv3aghmo4dA==" }, "node_modules/p-limit": { "version": "3.1.0", @@ -10017,9 +9838,9 @@ } }, "node_modules/prosemirror-commands": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/prosemirror-commands/-/prosemirror-commands-1.1.9.tgz", - "integrity": "sha512-zedlbQ+8QK0tIeibb6vbnAX5FO/S5x67xHgF57Fned+3G6RZY3JAGma9kC1jSCmLF/XC7MCZ90oekb0qo2b+Pw==", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/prosemirror-commands/-/prosemirror-commands-1.5.1.tgz", + "integrity": "sha512-ga1ga/RkbzxfAvb6iEXYmrEpekn5NCwTb8w1dr/gmhSoaGcQ0VPuCzOn5qDEpC45ql2oDkKoKQbRxLJwKLpMTQ==", "dependencies": { "prosemirror-model": "^1.0.0", "prosemirror-state": "^1.0.0", @@ -10027,9 +9848,9 @@ } }, "node_modules/prosemirror-gapcursor": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/prosemirror-gapcursor/-/prosemirror-gapcursor-1.1.5.tgz", - "integrity": "sha512-SjbUZq5pgsBDuV3hu8GqgIpZR5eZvGLM+gPQTqjVVYSMUCfKW3EGXTEYaLHEl1bGduwqNC95O3bZflgtAb4L6w==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/prosemirror-gapcursor/-/prosemirror-gapcursor-1.3.1.tgz", + "integrity": "sha512-GKTeE7ZoMsx5uVfc51/ouwMFPq0o8YrZ7Hx4jTF4EeGbXxBveUV8CGv46mSHuBBeXGmvu50guoV2kSnOeZZnUA==", "dependencies": { "prosemirror-keymap": "^1.0.0", "prosemirror-model": "^1.0.0", @@ -10038,65 +9859,68 @@ } }, "node_modules/prosemirror-history": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/prosemirror-history/-/prosemirror-history-1.1.3.tgz", - "integrity": "sha512-zGDotijea+vnfnyyUGyiy1wfOQhf0B/b6zYcCouBV8yo6JmrE9X23M5q7Nf/nATywEZbgRLG70R4DmfSTC+gfg==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/prosemirror-history/-/prosemirror-history-1.3.1.tgz", + "integrity": "sha512-YMV/IWBZ+LZSfaNcBbPcaQUiAiJRYFyJW2aapuNzL8nhIRsI7fIO0ykJFSe802+mWeoTsVJ1jxvRWPYqaUqljQ==", "dependencies": { "prosemirror-state": "^1.2.2", "prosemirror-transform": "^1.0.0", + "prosemirror-view": "^1.31.0", "rope-sequence": "^1.3.0" } }, "node_modules/prosemirror-inputrules": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/prosemirror-inputrules/-/prosemirror-inputrules-1.1.3.tgz", - "integrity": "sha512-ZaHCLyBtvbyIHv0f5p6boQTIJjlD6o2NPZiEaZWT2DA+j591zS29QQEMT4lBqwcLW3qRSf7ZvoKNbf05YrsStw==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/prosemirror-inputrules/-/prosemirror-inputrules-1.2.0.tgz", + "integrity": "sha512-eAW/M/NTSSzpCOxfR8Abw6OagdG0MiDAiWHQMQveIsZtoKVYzm0AflSPq/ymqJd56/Su1YPbwy9lM13wgHOFmQ==", "dependencies": { "prosemirror-state": "^1.0.0", "prosemirror-transform": "^1.0.0" } }, "node_modules/prosemirror-keymap": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/prosemirror-keymap/-/prosemirror-keymap-1.1.4.tgz", - "integrity": "sha512-Al8cVUOnDFL4gcI5IDlG6xbZ0aOD/i3B17VT+1JbHWDguCgt/lBHVTHUBcKvvbSg6+q/W4Nj1Fu6bwZSca3xjg==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prosemirror-keymap/-/prosemirror-keymap-1.2.1.tgz", + "integrity": "sha512-kVK6WGC+83LZwuSJnuCb9PsADQnFZllt94qPP3Rx/vLcOUV65+IbBeH2nS5cFggPyEVJhGkGrgYFRrG250WhHQ==", "dependencies": { "prosemirror-state": "^1.0.0", "w3c-keyname": "^2.2.0" } }, "node_modules/prosemirror-model": { - "version": "1.14.2", - "resolved": "https://registry.npmjs.org/prosemirror-model/-/prosemirror-model-1.14.2.tgz", - "integrity": "sha512-TwkACyEiSi8FJiRhg2ffbzmQRy5DR+aTwAr7trNQNZL24HJR8ouxy4qCkG99PnWK0xZ0AjSMtPXSU6hnxAiP7Q==", + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/prosemirror-model/-/prosemirror-model-1.19.0.tgz", + "integrity": "sha512-/CvFGJnwc41EJSfDkQLly1cAJJJmBpZwwUJtwZPTjY2RqZJfM8HVbCreOY/jti8wTRbVyjagcylyGoeJH/g/3w==", "dependencies": { - "orderedmap": "^1.1.0" + "orderedmap": "^2.0.0" } }, "node_modules/prosemirror-schema-basic": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prosemirror-schema-basic/-/prosemirror-schema-basic-1.1.2.tgz", - "integrity": "sha512-G4q8WflNsR1Q33QAV4MQO0xWrHLOJ+BQcKswGXMy626wlQj6c/1n1v4eC9ns+h2y1r/fJHZEgSZnsNhm9lbrDw==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prosemirror-schema-basic/-/prosemirror-schema-basic-1.2.1.tgz", + "integrity": "sha512-vYBdIHsYKSDIqYmPBC7lnwk9DsKn8PnVqK97pMYP5MLEDFqWIX75JiaJTzndBii4bRuNqhC2UfDOfM3FKhlBHg==", "dependencies": { - "prosemirror-model": "^1.2.0" + "prosemirror-model": "^1.19.0" } }, "node_modules/prosemirror-schema-list": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/prosemirror-schema-list/-/prosemirror-schema-list-1.1.4.tgz", - "integrity": "sha512-pNTuZflacFOBlxrTcWSdWhjoB8BaucwfJVp/gJNxztOwaN3wQiC65axclXyplf6TKgXD/EkWfS/QAov3/Znadw==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/prosemirror-schema-list/-/prosemirror-schema-list-1.2.2.tgz", + "integrity": "sha512-rd0pqSDp86p0MUMKG903g3I9VmElFkQpkZ2iOd3EOVg1vo5Cst51rAsoE+5IPy0LPXq64eGcCYlW1+JPNxOj2w==", "dependencies": { "prosemirror-model": "^1.0.0", + "prosemirror-state": "^1.0.0", "prosemirror-transform": "^1.0.0" } }, "node_modules/prosemirror-state": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/prosemirror-state/-/prosemirror-state-1.3.4.tgz", - "integrity": "sha512-Xkkrpd1y/TQ6HKzN3agsQIGRcLckUMA9u3j207L04mt8ToRgpGeyhbVv0HI7omDORIBHjR29b7AwlATFFf2GLA==", + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/prosemirror-state/-/prosemirror-state-1.4.2.tgz", + "integrity": "sha512-puuzLD2mz/oTdfgd8msFbe0A42j5eNudKAAPDB0+QJRw8cO1ygjLmhLrg9RvDpf87Dkd6D4t93qdef00KKNacQ==", "dependencies": { "prosemirror-model": "^1.0.0", - "prosemirror-transform": "^1.0.0" + "prosemirror-transform": "^1.0.0", + "prosemirror-view": "^1.27.0" } }, "node_modules/prosemirror-suggest": { @@ -10129,9 +9953,10 @@ } }, "node_modules/prosemirror-tables": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/prosemirror-tables/-/prosemirror-tables-1.1.1.tgz", - "integrity": "sha512-LmCz4jrlqQZRsYRDzCRYf/pQ5CUcSOyqZlAj5kv67ZWBH1SVLP2U9WJEvQfimWgeRlIz0y0PQVqO1arRm1+woA==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/prosemirror-tables/-/prosemirror-tables-1.3.2.tgz", + "integrity": "sha512-/9JTeN6s58Zq66HXaxP6uf8PAmc7XXKZFPlOGVtLvxEd6xBP6WtzaJB9wBjiGUzwbdhdMEy7V62yuHqk/3VrnQ==", + "dev": true, "dependencies": { "prosemirror-keymap": "^1.1.2", "prosemirror-model": "^1.8.1", @@ -10141,19 +9966,19 @@ } }, "node_modules/prosemirror-transform": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/prosemirror-transform/-/prosemirror-transform-1.3.2.tgz", - "integrity": "sha512-/G6d/u9Mf6Bv3H1XR8VxhpjmUO75LYmnvj+s3ZfZpakU1hnQbsvCEybml1B3f2IWUAAQRFkbO1PnsbFhLZsYsw==", + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/prosemirror-transform/-/prosemirror-transform-1.7.1.tgz", + "integrity": "sha512-VteoifAfpt46z0yEt6Fc73A5OID9t/y2QIeR5MgxEwTuitadEunD/V0c9jQW8ziT8pbFM54uTzRLJ/nLuQjMxg==", "dependencies": { "prosemirror-model": "^1.0.0" } }, "node_modules/prosemirror-view": { - "version": "1.18.7", - "resolved": "https://registry.npmjs.org/prosemirror-view/-/prosemirror-view-1.18.7.tgz", - "integrity": "sha512-pUCxoyuWnbVfJ/ukhQ+7+bfDMArG3wu6hHnnTFi61C7Teb5OILUhkkhEhF2/RsppBFWrkwsNcf8rQm8SSoSKRg==", + "version": "1.31.0", + "resolved": "https://registry.npmjs.org/prosemirror-view/-/prosemirror-view-1.31.0.tgz", + "integrity": "sha512-oX5Yz/LvuFV0H2vryM0NQ/z5TEQohx0Y2h99U6aGCxA2gnW7ZH+q9HNIfQ8oEIJdB+pQuOof69J5s7bEpdE7ng==", "dependencies": { - "prosemirror-model": "^1.1.0", + "prosemirror-model": "^1.16.0", "prosemirror-state": "^1.0.0", "prosemirror-transform": "^1.1.0" } @@ -11188,30 +11013,6 @@ } ] }, - "node_modules/string.prototype.trimend": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", - "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", - "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/stringify-entities": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-3.1.0.tgz", @@ -11880,20 +11681,6 @@ "node": ">=12.20" } }, - "node_modules/unbox-primitive": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", - "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", - "dependencies": { - "function-bind": "^1.1.1", - "has-bigints": "^1.0.1", - "has-symbols": "^1.0.2", - "which-boxed-primitive": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/unicode-canonical-property-names-ecmascript": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", @@ -12400,33 +12187,17 @@ "node": ">= 8" } }, - "node_modules/which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/which-typed-array": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.4.tgz", - "integrity": "sha512-49E0SpUe90cjpoc7BOJwyPHRqSAd12c10Qm2amdEZrJPCY2NDxaW01zHITrem+rnETY3dwrbH3UUrUwagfCYDA==", + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", + "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", "dependencies": { - "available-typed-arrays": "^1.0.2", - "call-bind": "^1.0.0", - "es-abstract": "^1.18.0-next.1", - "foreach": "^2.0.5", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.1", - "is-typed-array": "^1.1.3" + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0", + "is-typed-array": "^1.1.10" }, "engines": { "node": ">= 0.4" @@ -15022,26 +14793,6 @@ "@types/prosemirror-view": "*" } }, - "@types/prosemirror-gapcursor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@types/prosemirror-gapcursor/-/prosemirror-gapcursor-1.0.3.tgz", - "integrity": "sha512-kBVjjbMmUk7ZsgpI1NOyY15makulu1skEGr+V9GgY7GQnT9vqjo8/XiNSgSj9s9vRTsTb/KAaTI9KJwWlhbhxQ==", - "dev": true, - "requires": { - "@types/prosemirror-model": "*", - "@types/prosemirror-state": "*" - } - }, - "@types/prosemirror-history": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@types/prosemirror-history/-/prosemirror-history-1.0.2.tgz", - "integrity": "sha512-AcfpWo+HkIuvq/H2zYjIMi2jxa2GWfYaTNiFTB2sigjkpWNM93CIlb7Cimy/4vNH8lVPp0GwLBjYIMRX6zOUyA==", - "dev": true, - "requires": { - "@types/prosemirror-model": "*", - "@types/prosemirror-state": "*" - } - }, "@types/prosemirror-inputrules": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/@types/prosemirror-inputrules/-/prosemirror-inputrules-1.0.4.tgz", @@ -15070,23 +14821,12 @@ "@types/orderedmap": "*" } }, - "@types/prosemirror-schema-basic": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@types/prosemirror-schema-basic/-/prosemirror-schema-basic-1.0.2.tgz", - "integrity": "sha512-dzT/6t+dq8/On1be0yarcOIu8wROjhK8QB5wslpLbtTIr5wb0iQv/esJm/KAHcD/PBXR9nSV4TL5AtQmBrcRnw==", - "dev": true, - "requires": { - "@types/prosemirror-model": "*" - } - }, "@types/prosemirror-schema-list": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@types/prosemirror-schema-list/-/prosemirror-schema-list-1.0.3.tgz", - "integrity": "sha512-uWybOf+M2Ea7rlbs0yLsS4YJYNGXYtn4N+w8HCw3Vvfl6wBAROzlMt0gV/D/VW/7J/LlAjwMezuGe8xi24HzXA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@types/prosemirror-schema-list/-/prosemirror-schema-list-1.2.0.tgz", + "integrity": "sha512-njvba73mgBanQOt2/piYMeP+nsu8lzomA350Lh7/sdr6NPsRvYPggwJDIZEG0Cb/MB0fnv4PdRaTi93PoLHArw==", "requires": { - "@types/orderedmap": "*", - "@types/prosemirror-model": "*", - "@types/prosemirror-state": "*" + "prosemirror-schema-list": "*" } }, "@types/prosemirror-state": { @@ -15702,9 +15442,9 @@ "integrity": "sha512-Xcz9l0z7y9yQ9rdDaxlmaI4uJHf/T8g9hOEzJcsEqX2SjCj4J20uK7+ldkDHMbpJDK76wF7xEIgxc/vSlsfw5w==" }, "available-typed-arrays": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.4.tgz", - "integrity": "sha512-SA5mXJWrId1TaQjfxUYghbqQ/hYioKmLJvPJyDuYRtXXenFNMjj4hSSt1Cf1xsuXSXrtxrVC5Ot4eU6cOtBDdA==" + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" }, "babel-loader": { "version": "9.1.2", @@ -16861,6 +16601,8 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "optional": true, "requires": { "object-keys": "^1.0.12" } @@ -17492,44 +17234,11 @@ "is-arrayish": "^0.2.1" } }, - "es-abstract": { - "version": "1.18.3", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.3.tgz", - "integrity": "sha512-nQIr12dxV7SSxE6r6f1l3DtAeEYdsGpps13dR0TwJg1S8gyp4ZPgy3FZcHBgbiQqnoqSTb+oC+kO4UQ0C/J8vw==", - "requires": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.2", - "is-callable": "^1.2.3", - "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.3", - "is-string": "^1.0.6", - "object-inspect": "^1.10.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.4", - "string.prototype.trimstart": "^1.0.4", - "unbox-primitive": "^1.0.1" - } - }, "es-module-lexer": { "version": "0.9.3", "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==" }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, "es6-error": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", @@ -17795,10 +17504,13 @@ "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", "dev": true }, - "foreach": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", - "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" + "for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "requires": { + "is-callable": "^1.1.3" + } }, "form-data": { "version": "4.0.0", @@ -17882,13 +17594,13 @@ "dev": true }, "get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", + "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", "requires": { "function-bind": "^1.1.1", "has": "^1.0.3", - "has-symbols": "^1.0.1" + "has-symbols": "^1.0.3" } }, "glob": { @@ -17974,6 +17686,14 @@ "slash": "^4.0.0" } }, + "gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "requires": { + "get-intrinsic": "^1.1.3" + } + }, "graceful-fs": { "version": "4.2.10", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", @@ -17999,20 +17719,23 @@ "function-bind": "^1.1.1" } }, - "has-bigints": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", - "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==" - }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" }, "has-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" + }, + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "requires": { + "has-symbols": "^1.0.2" + } }, "hash-base": { "version": "3.1.0", @@ -18318,11 +18041,12 @@ } }, "is-arguments": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz", - "integrity": "sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", "requires": { - "call-bind": "^1.0.0" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" } }, "is-arrayish": { @@ -18330,11 +18054,6 @@ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" }, - "is-bigint": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.2.tgz", - "integrity": "sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA==" - }, "is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", @@ -18343,23 +18062,15 @@ "binary-extensions": "^2.0.0" } }, - "is-boolean-object": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.1.tgz", - "integrity": "sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng==", - "requires": { - "call-bind": "^1.0.2" - } - }, "is-buffer": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==" }, "is-callable": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", - "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==" + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" }, "is-ci": { "version": "3.0.1", @@ -18378,11 +18089,6 @@ "has": "^1.0.3" } }, - "is-date-object": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.4.tgz", - "integrity": "sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A==" - }, "is-decimal": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz", @@ -18402,9 +18108,12 @@ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" }, "is-generator-function": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.9.tgz", - "integrity": "sha512-ZJ34p1uvIfptHCN7sFTjGibB9/oBg17sHqzDLfuwhvmN/qLVvIQXRQ8licZQ35WJ8KuEQt/etnnzQFI9C9Ue/A==" + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "requires": { + "has-tostringtag": "^1.0.0" + } }, "is-glob": { "version": "4.0.3", @@ -18419,21 +18128,11 @@ "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz", "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==" }, - "is-negative-zero": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", - "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==" - }, "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" }, - "is-number-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.5.tgz", - "integrity": "sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw==" - }, "is-obj": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", @@ -18465,38 +18164,16 @@ "isobject": "^3.0.1" } }, - "is-regex": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.3.tgz", - "integrity": "sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ==", - "requires": { - "call-bind": "^1.0.2", - "has-symbols": "^1.0.2" - } - }, - "is-string": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.6.tgz", - "integrity": "sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w==" - }, - "is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "requires": { - "has-symbols": "^1.0.2" - } - }, "is-typed-array": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.5.tgz", - "integrity": "sha512-S+GRDgJlR3PyEbsX/Fobd9cqpZBuvUS+8asRqYDMLCb2qMzt1oz5m5oxQCxOgUDxiWsOVNi4yaF+/uvdlHlYug==", + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", + "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", "requires": { - "available-typed-arrays": "^1.0.2", + "available-typed-arrays": "^1.0.5", "call-bind": "^1.0.2", - "es-abstract": "^1.18.0-next.2", - "foreach": "^2.0.5", - "has-symbols": "^1.0.1" + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" } }, "is-unicode-supported": { @@ -19698,26 +19375,12 @@ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "peer": true }, - "object-inspect": { - "version": "1.10.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.10.3.tgz", - "integrity": "sha512-e5mCJlSH7poANfC8z8S9s9S2IN5/4Zb3aZ33f5s8YqoazCFzNLloLU8r5VCG+G7WoqLvAAZoVMcy3tp/3X0Plw==" - }, "object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" - }, - "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "optional": true }, "object.omit": { "version": "3.0.0", @@ -19760,9 +19423,9 @@ } }, "orderedmap": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/orderedmap/-/orderedmap-1.1.1.tgz", - "integrity": "sha512-3Ux8um0zXbVacKUkcytc0u3HgC0b0bBLT+I60r2J/En72cI0nZffqrA7Xtf2Hqs27j1g82llR5Mhbd0Z1XW4AQ==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/orderedmap/-/orderedmap-2.1.0.tgz", + "integrity": "sha512-/pIFexOm6S70EPdznemIz3BQZoJ4VTFrhqzu0ACBqBgeLsLxq8e6Jim63ImIfwW/zAD1AlXpRMlOv3aghmo4dA==" }, "p-limit": { "version": "3.1.0", @@ -20156,9 +19819,9 @@ } }, "prosemirror-commands": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/prosemirror-commands/-/prosemirror-commands-1.1.9.tgz", - "integrity": "sha512-zedlbQ+8QK0tIeibb6vbnAX5FO/S5x67xHgF57Fned+3G6RZY3JAGma9kC1jSCmLF/XC7MCZ90oekb0qo2b+Pw==", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/prosemirror-commands/-/prosemirror-commands-1.5.1.tgz", + "integrity": "sha512-ga1ga/RkbzxfAvb6iEXYmrEpekn5NCwTb8w1dr/gmhSoaGcQ0VPuCzOn5qDEpC45ql2oDkKoKQbRxLJwKLpMTQ==", "requires": { "prosemirror-model": "^1.0.0", "prosemirror-state": "^1.0.0", @@ -20166,9 +19829,9 @@ } }, "prosemirror-gapcursor": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/prosemirror-gapcursor/-/prosemirror-gapcursor-1.1.5.tgz", - "integrity": "sha512-SjbUZq5pgsBDuV3hu8GqgIpZR5eZvGLM+gPQTqjVVYSMUCfKW3EGXTEYaLHEl1bGduwqNC95O3bZflgtAb4L6w==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/prosemirror-gapcursor/-/prosemirror-gapcursor-1.3.1.tgz", + "integrity": "sha512-GKTeE7ZoMsx5uVfc51/ouwMFPq0o8YrZ7Hx4jTF4EeGbXxBveUV8CGv46mSHuBBeXGmvu50guoV2kSnOeZZnUA==", "requires": { "prosemirror-keymap": "^1.0.0", "prosemirror-model": "^1.0.0", @@ -20177,65 +19840,68 @@ } }, "prosemirror-history": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/prosemirror-history/-/prosemirror-history-1.1.3.tgz", - "integrity": "sha512-zGDotijea+vnfnyyUGyiy1wfOQhf0B/b6zYcCouBV8yo6JmrE9X23M5q7Nf/nATywEZbgRLG70R4DmfSTC+gfg==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/prosemirror-history/-/prosemirror-history-1.3.1.tgz", + "integrity": "sha512-YMV/IWBZ+LZSfaNcBbPcaQUiAiJRYFyJW2aapuNzL8nhIRsI7fIO0ykJFSe802+mWeoTsVJ1jxvRWPYqaUqljQ==", "requires": { "prosemirror-state": "^1.2.2", "prosemirror-transform": "^1.0.0", + "prosemirror-view": "^1.31.0", "rope-sequence": "^1.3.0" } }, "prosemirror-inputrules": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/prosemirror-inputrules/-/prosemirror-inputrules-1.1.3.tgz", - "integrity": "sha512-ZaHCLyBtvbyIHv0f5p6boQTIJjlD6o2NPZiEaZWT2DA+j591zS29QQEMT4lBqwcLW3qRSf7ZvoKNbf05YrsStw==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/prosemirror-inputrules/-/prosemirror-inputrules-1.2.0.tgz", + "integrity": "sha512-eAW/M/NTSSzpCOxfR8Abw6OagdG0MiDAiWHQMQveIsZtoKVYzm0AflSPq/ymqJd56/Su1YPbwy9lM13wgHOFmQ==", "requires": { "prosemirror-state": "^1.0.0", "prosemirror-transform": "^1.0.0" } }, "prosemirror-keymap": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/prosemirror-keymap/-/prosemirror-keymap-1.1.4.tgz", - "integrity": "sha512-Al8cVUOnDFL4gcI5IDlG6xbZ0aOD/i3B17VT+1JbHWDguCgt/lBHVTHUBcKvvbSg6+q/W4Nj1Fu6bwZSca3xjg==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prosemirror-keymap/-/prosemirror-keymap-1.2.1.tgz", + "integrity": "sha512-kVK6WGC+83LZwuSJnuCb9PsADQnFZllt94qPP3Rx/vLcOUV65+IbBeH2nS5cFggPyEVJhGkGrgYFRrG250WhHQ==", "requires": { "prosemirror-state": "^1.0.0", "w3c-keyname": "^2.2.0" } }, "prosemirror-model": { - "version": "1.14.2", - "resolved": "https://registry.npmjs.org/prosemirror-model/-/prosemirror-model-1.14.2.tgz", - "integrity": "sha512-TwkACyEiSi8FJiRhg2ffbzmQRy5DR+aTwAr7trNQNZL24HJR8ouxy4qCkG99PnWK0xZ0AjSMtPXSU6hnxAiP7Q==", + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/prosemirror-model/-/prosemirror-model-1.19.0.tgz", + "integrity": "sha512-/CvFGJnwc41EJSfDkQLly1cAJJJmBpZwwUJtwZPTjY2RqZJfM8HVbCreOY/jti8wTRbVyjagcylyGoeJH/g/3w==", "requires": { - "orderedmap": "^1.1.0" + "orderedmap": "^2.0.0" } }, "prosemirror-schema-basic": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prosemirror-schema-basic/-/prosemirror-schema-basic-1.1.2.tgz", - "integrity": "sha512-G4q8WflNsR1Q33QAV4MQO0xWrHLOJ+BQcKswGXMy626wlQj6c/1n1v4eC9ns+h2y1r/fJHZEgSZnsNhm9lbrDw==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prosemirror-schema-basic/-/prosemirror-schema-basic-1.2.1.tgz", + "integrity": "sha512-vYBdIHsYKSDIqYmPBC7lnwk9DsKn8PnVqK97pMYP5MLEDFqWIX75JiaJTzndBii4bRuNqhC2UfDOfM3FKhlBHg==", "requires": { - "prosemirror-model": "^1.2.0" + "prosemirror-model": "^1.19.0" } }, "prosemirror-schema-list": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/prosemirror-schema-list/-/prosemirror-schema-list-1.1.4.tgz", - "integrity": "sha512-pNTuZflacFOBlxrTcWSdWhjoB8BaucwfJVp/gJNxztOwaN3wQiC65axclXyplf6TKgXD/EkWfS/QAov3/Znadw==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/prosemirror-schema-list/-/prosemirror-schema-list-1.2.2.tgz", + "integrity": "sha512-rd0pqSDp86p0MUMKG903g3I9VmElFkQpkZ2iOd3EOVg1vo5Cst51rAsoE+5IPy0LPXq64eGcCYlW1+JPNxOj2w==", "requires": { "prosemirror-model": "^1.0.0", + "prosemirror-state": "^1.0.0", "prosemirror-transform": "^1.0.0" } }, "prosemirror-state": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/prosemirror-state/-/prosemirror-state-1.3.4.tgz", - "integrity": "sha512-Xkkrpd1y/TQ6HKzN3agsQIGRcLckUMA9u3j207L04mt8ToRgpGeyhbVv0HI7omDORIBHjR29b7AwlATFFf2GLA==", + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/prosemirror-state/-/prosemirror-state-1.4.2.tgz", + "integrity": "sha512-puuzLD2mz/oTdfgd8msFbe0A42j5eNudKAAPDB0+QJRw8cO1ygjLmhLrg9RvDpf87Dkd6D4t93qdef00KKNacQ==", "requires": { "prosemirror-model": "^1.0.0", - "prosemirror-transform": "^1.0.0" + "prosemirror-transform": "^1.0.0", + "prosemirror-view": "^1.27.0" } }, "prosemirror-suggest": { @@ -20263,9 +19929,10 @@ } }, "prosemirror-tables": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/prosemirror-tables/-/prosemirror-tables-1.1.1.tgz", - "integrity": "sha512-LmCz4jrlqQZRsYRDzCRYf/pQ5CUcSOyqZlAj5kv67ZWBH1SVLP2U9WJEvQfimWgeRlIz0y0PQVqO1arRm1+woA==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/prosemirror-tables/-/prosemirror-tables-1.3.2.tgz", + "integrity": "sha512-/9JTeN6s58Zq66HXaxP6uf8PAmc7XXKZFPlOGVtLvxEd6xBP6WtzaJB9wBjiGUzwbdhdMEy7V62yuHqk/3VrnQ==", + "dev": true, "requires": { "prosemirror-keymap": "^1.1.2", "prosemirror-model": "^1.8.1", @@ -20275,19 +19942,19 @@ } }, "prosemirror-transform": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/prosemirror-transform/-/prosemirror-transform-1.3.2.tgz", - "integrity": "sha512-/G6d/u9Mf6Bv3H1XR8VxhpjmUO75LYmnvj+s3ZfZpakU1hnQbsvCEybml1B3f2IWUAAQRFkbO1PnsbFhLZsYsw==", + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/prosemirror-transform/-/prosemirror-transform-1.7.1.tgz", + "integrity": "sha512-VteoifAfpt46z0yEt6Fc73A5OID9t/y2QIeR5MgxEwTuitadEunD/V0c9jQW8ziT8pbFM54uTzRLJ/nLuQjMxg==", "requires": { "prosemirror-model": "^1.0.0" } }, "prosemirror-view": { - "version": "1.18.7", - "resolved": "https://registry.npmjs.org/prosemirror-view/-/prosemirror-view-1.18.7.tgz", - "integrity": "sha512-pUCxoyuWnbVfJ/ukhQ+7+bfDMArG3wu6hHnnTFi61C7Teb5OILUhkkhEhF2/RsppBFWrkwsNcf8rQm8SSoSKRg==", + "version": "1.31.0", + "resolved": "https://registry.npmjs.org/prosemirror-view/-/prosemirror-view-1.31.0.tgz", + "integrity": "sha512-oX5Yz/LvuFV0H2vryM0NQ/z5TEQohx0Y2h99U6aGCxA2gnW7ZH+q9HNIfQ8oEIJdB+pQuOof69J5s7bEpdE7ng==", "requires": { - "prosemirror-model": "^1.1.0", + "prosemirror-model": "^1.16.0", "prosemirror-state": "^1.0.0", "prosemirror-transform": "^1.1.0" } @@ -21082,24 +20749,6 @@ } } }, - "string.prototype.trimend": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", - "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, - "string.prototype.trimstart": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", - "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, "stringify-entities": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-3.1.0.tgz", @@ -21571,17 +21220,6 @@ "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==", "dev": true }, - "unbox-primitive": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", - "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", - "requires": { - "function-bind": "^1.1.1", - "has-bigints": "^1.0.1", - "has-symbols": "^1.0.2", - "which-boxed-primitive": "^1.0.2" - } - }, "unicode-canonical-property-names-ecmascript": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", @@ -21944,30 +21582,17 @@ "isexe": "^2.0.0" } }, - "which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "requires": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - } - }, "which-typed-array": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.4.tgz", - "integrity": "sha512-49E0SpUe90cjpoc7BOJwyPHRqSAd12c10Qm2amdEZrJPCY2NDxaW01zHITrem+rnETY3dwrbH3UUrUwagfCYDA==", + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", + "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", "requires": { - "available-typed-arrays": "^1.0.2", - "call-bind": "^1.0.0", - "es-abstract": "^1.18.0-next.1", - "foreach": "^2.0.5", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.1", - "is-typed-array": "^1.1.3" + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0", + "is-typed-array": "^1.1.10" } }, "wikibase-sdk": { diff --git a/package.json b/package.json index bd0aa89..a71ae61 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "noteworthy", "version": "0.0.1", - "description": "Text editor with rich document semantics, based on ProseMirror.", + "description": "Markdown editor with excellent math support!", "repository": { "type": "git", "url": "github:benrbray/noteworthy" @@ -105,7 +105,6 @@ "prosemirror-schema-list": "^1.1.4", "prosemirror-state": "^1.3.4", "prosemirror-suggest": "^0.7.6", - "prosemirror-tables": "^1.1.1", "prosemirror-transform": "^1.2.12", "prosemirror-view": "^1.18.0", "remark": "^13.0.0", @@ -131,18 +130,7 @@ "@types/lodash": "^4.14.158", "@types/mdast": "^3.0.3", "@types/mocha": "^10.0.1", - "@types/prosemirror-commands": "^1.0.4", - "@types/prosemirror-gapcursor": "^1.0.2", - "@types/prosemirror-history": "^1.0.2", - "@types/prosemirror-inputrules": "^1.0.4", - "@types/prosemirror-keymap": "^1.0.4", - "@types/prosemirror-model": "^1.11.3", - "@types/prosemirror-schema-basic": "^1.0.2", - "@types/prosemirror-schema-list": "^1.0.3", - "@types/prosemirror-state": "^1.2.6", "@types/prosemirror-tables": "^0.9.1", - "@types/prosemirror-transform": "^1.1.2", - "@types/prosemirror-view": "^1.17.1", "@types/source-map-support": "^0.5.3", "@types/unist": "^2.0.3", "asar": "^3.0.3", diff --git a/src/common/extensions/editor-config.ts b/src/common/extensions/editor-config.ts index 90dfcec..a115e96 100644 --- a/src/common/extensions/editor-config.ts +++ b/src/common/extensions/editor-config.ts @@ -1,14 +1,14 @@ // prosemirror imports -import { Schema, Node as ProseNode, Mark as ProseMark, NodeSpec, MarkSpec, DOMOutputSpec } from "prosemirror-model"; +import { Schema as ProseSchema, Node as ProseNode, Mark as ProseMark, NodeSpec, MarkSpec } from "prosemirror-model"; import { InputRule } from "prosemirror-inputrules" import { - chainCommands, baseKeymap, Keymap, Command as ProseCommand, + chainCommands, baseKeymap, } from "prosemirror-commands" -import { Plugin as ProsePlugin } from "prosemirror-state"; +import { Plugin as ProsePlugin, Command as ProseCommand } from "prosemirror-state"; import { keymap as makeKeymap } from "prosemirror-keymap"; // patched prosemirror types -import { NodeViewConstructor, ProseSchema } from "@common/types"; +import { ProseKeymap } from "@common/types"; import { markMapBasic, markMapStringLiteral, MdParser, nodeMapBasic, nodeMapLeaf, nodeMapStringLiteral } from "@common/markdown/mdast2prose"; // unist / unified @@ -41,6 +41,7 @@ import { SyntaxExtension, NodeExtension, MarkExtension, MdastNodeMapType, MdastM import * as prose2mdast from "@common/markdown/prose2mdast"; import * as mdast2prose from "@common/markdown/mdast2prose"; import { makeInputRulePlugin } from "@common/prosemirror/inputRules"; +import { NodeViewConstructor } from "prosemirror-view"; //// EDITOR CONFIG ///////////////////////////////////////// @@ -51,13 +52,13 @@ type AstParent = Uni.Parent & BaseT & { children: AstNod // -- Mdast2Prose -------------------------------------------------------------- -export type UnistNodeTest = { +export type UnistNodeTest = { test?: (x: T) => boolean; - map: (x: T, children: ProseNode[], ctx: unknown, state: unknown) => ProseNode[]; + map: (x: T, children: ProseNode[], ctx: unknown, state: unknown) => ProseNode[]; } -export type UnistMapper - = DefaultMap[]>; +export type UnistMapper + = DefaultMap; // -- Prose2Mdast -------------------------------------------------------------- @@ -78,7 +79,7 @@ export type ProseNodeMap export type ProseMarkMap = (mark: ProseMark, node:Uni.Node) => Uni.Node; -export type ProseNodeTest = ProseNode> = { +export type ProseNodeTest = { test?: (x: N) => boolean; map: ProseNodeMap } @@ -91,11 +92,10 @@ export type ProseMarkTest = { export type ProseMapper< N extends string = string, - M extends string = string, - S extends ProseSchema = ProseSchema + M extends string = string > = { /** A map from ProseMirror Nodes -> Unist Nodes */ - nodes: DefaultMap[]>; + nodes: DefaultMap; /** A map from ProseMirror Marks -> Unist Nodes */ marks: DefaultMap; } @@ -114,7 +114,7 @@ export class EditorConfig { private _parser: MdParser; private _serializer: MdSerializer; - constructor(extensions:SyntaxExtension[], plugins:ProsePlugin[], keymap:Keymap){ + constructor(extensions:SyntaxExtension[], plugins:ProsePlugin[], keymap: ProseKeymap){ /** Step 1: Build Schema * @effect Populates the `.type` field of each extension with a * ProseMirror NodeType, which can be referenced during plugin creation. @@ -263,7 +263,7 @@ export class EditorConfig { // build schema // TODO: speicalize to ProseSchema for some N,M? // TODO: is this cast sound? - let schema = new Schema({ + let schema = new ProseSchema({ "nodes" : nodeSpecs, "marks" : markSpecs }) as S & ProseSchema<"error_block","error_inline">; @@ -312,7 +312,7 @@ export class EditorConfig { // include extension keymaps /** @todo (9/27/20) sort keymap entries by priority? */ - let keymap:Keymap = { }; + let keymap: ProseKeymap = { }; keymaps.forEach((cmds, key) => { keymap[key] = chainCommands(...cmds); }); diff --git a/src/common/extensions/extension.ts b/src/common/extensions/extension.ts index b135eb3..28ff88f 100644 --- a/src/common/extensions/extension.ts +++ b/src/common/extensions/extension.ts @@ -1,11 +1,10 @@ // prosemirror imports -import { Node as ProseNode, NodeSpec, MarkSpec } from "prosemirror-model"; +import { Schema as ProseSchema, Node as ProseNode, NodeSpec, MarkSpec } from "prosemirror-model"; import { InputRule } from "prosemirror-inputrules" -import { Keymap } from "prosemirror-commands" -import { NodeView } from "prosemirror-view"; +import { NodeViewConstructor } from "prosemirror-view"; // project imports -import { ProseSchema, ProseNodeType, ProseMarkType, NodeViewConstructor } from "@common/types"; +import { ProseNodeType, ProseMarkType, ProseKeymap } from "@common/types"; // unist import * as Uni from "unist"; @@ -43,7 +42,7 @@ export abstract class SyntaxExtension extends SyntaxExtension, N> { @@ -51,7 +50,7 @@ export abstract class NodeExtension extends SyntaxExt * Returns the ProseMirror NodeType defined by this extension. * (not available until the extension has been used to create a schema) */ - get nodeType(): ProseNodeType { + get nodeType(): ProseNodeType { let type = this.store.schema.nodes[this.name]; if(type === undefined) { throw new Error(`error retrieving node type for extension ${this.name}`); } return type; @@ -66,7 +65,7 @@ export abstract class MarkExtension extends SyntaxExt * Returns the ProseMirror MarkType defined by this extension. * (not available until the extension has been used to create a schema) */ - get markType(): ProseMarkType, M> { + get markType(): ProseMarkType { let type = this.store.schema.marks[this.name]; if(type === undefined) { throw new Error(`error retrieving mark type for extension ${this.name}`); } return type; @@ -133,7 +132,7 @@ export type MdNodeMap_Custom< S extends ProseSchema = ProseSchema > = { mapType: "node_custom", - mapNode: (node: N, children: ProseNode[], ctx: unknown, state: unknown) => ProseNode[]; + mapNode: (node: N, children: ProseNode[], ctx: unknown, state: unknown) => ProseNode[]; } export type MdMarkMap_Custom< @@ -141,7 +140,7 @@ export type MdMarkMap_Custom< S extends ProseSchema = ProseSchema > = { mapType: "mark_custom", - mapMark: (node: N, children: ProseNode[]) => ProseNode[]; + mapMark: (node: N, children: ProseNode[]) => ProseNode[]; } export enum MdastNodeMapType { diff --git a/src/common/extensions/mark-extensions.ts b/src/common/extensions/mark-extensions.ts index 21fa575..d981682 100644 --- a/src/common/extensions/mark-extensions.ts +++ b/src/common/extensions/mark-extensions.ts @@ -1,7 +1,7 @@ // prosemirror imports import { MarkType, MarkSpec, DOMOutputSpec, Mark as ProseMark } from "prosemirror-model"; import { InputRule } from "prosemirror-inputrules" -import { toggleMark, Keymap } from "prosemirror-commands" +import { toggleMark } from "prosemirror-commands" // project imports import * as Md from "@common/markdown/markdown-ast"; @@ -14,6 +14,7 @@ import * as Uni from "unist"; import * as Mdast from "mdast"; import { AnyChildren, markMapBasic } from "@common/markdown/mdast2prose"; import { unistIsStringLiteral } from "@common/markdown/unist-utils"; +import { ProseKeymap } from "@common/types"; //// MARK EXTENSIONS /////////////////////////////////////// @@ -41,11 +42,11 @@ export class BoldExtension extends MarkSyntaxExtension { }; } - createInputRules(): InputRule[] { + createInputRules(): InputRule[] { return [boldRule(this.markType)]; } - createKeymap(): Keymap { return { + createKeymap(): ProseKeymap { return { "Mod-b" : toggleMark(this.markType), "Mod-B" : toggleMark(this.markType) }} @@ -81,11 +82,11 @@ export class ItalicExtension extends MarkSyntaxExtension { }; } - createInputRules(): InputRule[] { + createInputRules(): InputRule[] { return [italicRule(this.markType)]; } - createKeymap(): Keymap { return { + createKeymap(): ProseKeymap { return { "Mod-i" : toggleMark(this.markType), "Mod-I" : toggleMark(this.markType) }} @@ -116,7 +117,7 @@ export class ItalicExtension extends MarkSyntaxExtension { // }; // } -// createKeymap(): Keymap { return { +// createKeymap(): ProseKeymap { return { // "Mod-d" : toggleMark(this.type), // "Mod-D" : toggleMark(this.type) // }} @@ -152,7 +153,7 @@ export class LinkExtension extends MarkSyntaxExtension { }; } - createKeymap(): Keymap { + createKeymap(): ProseKeymap { return { "Mod-k" : (state, dispatch, view) => { // only insert link when highlighting text if(state.selection.empty){ return false; } @@ -240,7 +241,7 @@ export class LinkExtension extends MarkSyntaxExtension { // }; // } -// createKeymap(): Keymap { return { +// createKeymap(): ProseKeymap { return { // "Mod-u" : toggleMark(this.type) // }} @@ -266,7 +267,7 @@ export class CodeExtension extends MarkSyntaxExtension { }; } - createKeymap(): Keymap { + createKeymap(): ProseKeymap { // note: on mac, pressing Cmd+` does not register as an event // https://github.com/ProseMirror/prosemirror/issues/540 return { "Ctrl-`" : toggleMark(this.markType) }; @@ -307,7 +308,7 @@ export class CodeExtension extends MarkSyntaxExtension { // }; // } -// createKeymap(): Keymap { return { +// createKeymap(): ProseKeymap { return { // "Mod-u" : toggleMark(this.type) // }} @@ -334,7 +335,7 @@ export class WikilinkExtension extends MarkSyntaxExtension { }; } - createKeymap(): Keymap { return { + createKeymap(): ProseKeymap { return { "Mod-[" : toggleMark(this.markType) }} diff --git a/src/common/extensions/node-extensions.ts b/src/common/extensions/node-extensions.ts index 214de10..0845c8b 100644 --- a/src/common/extensions/node-extensions.ts +++ b/src/common/extensions/node-extensions.ts @@ -1,13 +1,11 @@ // prosemirror imports -import { Node as ProseNode, NodeSpec, DOMOutputSpec } from "prosemirror-model"; +import { Schema as ProseSchema, Node as ProseNode, NodeSpec, DOMOutputSpec } from "prosemirror-model"; import { wrapInList, splitListItem, liftListItem, sinkListItem } from "prosemirror-schema-list" -import { NodeSelection } from "prosemirror-state"; import { wrappingInputRule, textblockTypeInputRule, InputRule, } from "prosemirror-inputrules" import { - setBlockType, chainCommands, exitCode, - Keymap, + setBlockType, chainCommands, exitCode } from "prosemirror-commands" // unist imports @@ -26,7 +24,7 @@ import { import YAML from "yaml"; // patched prosemirror types -import { ProseNodeType, ProseSchema } from "@common/types"; +import { ProseNodeType, ProseKeymap } from "@common/types"; //////////////////////////////////////////////////////////// @@ -143,7 +141,7 @@ export class ParagraphExtension extends NodeSyntaxExtension { // : (ProseNodeType) → InputRule // Given a blockquote node type, returns an input rule that turns `"> "` // at the start of a textblock into a blockquote. -export function blockQuoteRule(nodeType:ProseNodeType) { +export function blockQuoteRule(nodeType:ProseNodeType) { return wrappingInputRule(/^\s*>\s$/, nodeType) } @@ -160,7 +158,7 @@ export class BlockQuoteExtension extends NodeSyntaxExtension { }; } - createKeymap(): Keymap { + createKeymap(): ProseKeymap { return { "Mod->" : setBlockType(this.nodeType) } } @@ -183,7 +181,7 @@ export class BlockQuoteExtension extends NodeSyntaxExtension { // turns up to that number of `#` characters followed by a space at // the start of a textblock into a heading whose level corresponds to // the number of `#` signs. -export function headingRule(nodeType: ProseNodeType, maxLevel:number) { +export function headingRule(nodeType: ProseNodeType, maxLevel:number) { return textblockTypeInputRule(new RegExp("^(#{1," + maxLevel + "})\\s$"), nodeType, match => ({ level: match[1].length })) } @@ -216,8 +214,8 @@ export class HeadingExtension extends NodeSyntaxExtension { }; } - createKeymap(): Keymap { - let keymap:Keymap = { + createKeymap(): ProseKeymap { + let keymap:ProseKeymap = { "Tab" : incrHeadingLevelCmd(+1, { requireTextblockStart: false, requireEmptySelection: false }), "#" : incrHeadingLevelCmd(+1, { requireTextblockStart: true, requireEmptySelection: true }), "Shift-Tab" : incrHeadingLevelCmd(-1, { requireTextblockStart: false, requireEmptySelection: false }, this._bottomType.nodeType), @@ -289,7 +287,7 @@ export class HorizontalRuleExtension extends NodeSyntaxExtension { if(dispatch) { dispatch(state.tr.replaceSelectionWith(this.nodeType.create()).scrollIntoView()) @@ -339,7 +337,7 @@ export class HorizontalRuleExtension extends NodeSyntaxExtension(nodeType: ProseNodeType): InputRule { +export function codeBlockRule(nodeType: ProseNodeType): InputRule { return textblockTypeInputRule( /^```([a-z0-9]+)?\s$/, nodeType, @@ -378,7 +376,7 @@ export class CodeBlockExtension extends NodeSyntaxExtension { }; } - createKeyMap(): Keymap { return { + createKeyMap(): ProseKeymap { return { "Shift-Mod-\\" : setBlockType(this.nodeType) }; } @@ -430,7 +428,7 @@ export class CodeBlockExtension extends NodeSyntaxExtension { // : (ProseNodeType) → InputRule // Given a list node type, returns an input rule that turns a number // followed by a dot at the start of a textblock into an ordered list. -export function orderedListRule(nodeType:ProseNodeType) { +export function orderedListRule(nodeType:ProseNodeType) { return wrappingInputRule(/^(\d+)\.\s$/, nodeType, match => ({ order: +match[1] }), (match, node) => node.childCount + node.attrs.order == +match[1]) } @@ -462,7 +460,7 @@ export class OrderedListExtension extends NodeSyntaxExtension { }; } - createKeymap(): Keymap { return { + createKeymap(): ProseKeymap { return { "Shift-Mod-9" : wrapInList(this.nodeType) }} @@ -527,7 +525,7 @@ function normalizeBullet(bullet:string|undefined): string|null { // Given a list node type, returns an input rule that turns a bullet // (dash, plush, or asterisk) at the start of a textblock into a // bullet list. -export function bulletListRule(nodeType:ProseNodeType) { +export function bulletListRule(nodeType:ProseNodeType) { return wrappingInputRule( /^\s*([-+*])\s$/, nodeType, @@ -564,7 +562,7 @@ export class UnorderedListExtension extends NodeSyntaxExtension { }; } - createKeymap(): Keymap { return { + createKeymap(): ProseKeymap { return { "Shift-Mod-8" : wrapInList(this.nodeType) }} @@ -637,7 +635,7 @@ export class ListItemExtension extends NodeSyntaxExtension { }; } - createKeymap(): Keymap { return { + createKeymap(): ProseKeymap { return { "Enter" : splitListItem(this.nodeType), "Shift-Tab" : liftListItem(this.nodeType), "Tab" : sinkListItem(this.nodeType) @@ -1098,7 +1096,7 @@ export class ContainerDirectiveExtension extends NodeSyntaxExtension(pattern: RegExp, nodeType: ProseNodeType, getAttrs?: (match: string[]) => any) { +export function inlineInputRule(pattern: RegExp, nodeType: ProseNodeType, getAttrs?: (match: string[]) => any) { return new InputRule(pattern, (state, match, start, end) => { let $start = state.doc.resolve(start); let index = $start.index(); @@ -1121,7 +1119,7 @@ export function inlineInputRule(pattern: RegExp, nodeType import { MdParseState, AnyChildren } from "@common/markdown/mdast2prose"; -export function citationRule(nodeType: ProseNodeType): InputRule { +export function citationRule(nodeType: ProseNodeType): InputRule { return inlineInputRule(/@\[([^\s](?:[^\]]*[^\s])?)\](.)$/, nodeType); } @@ -1159,7 +1157,7 @@ export class CitationExtension extends NodeSyntaxExtension { }; } - createKeymap(): Keymap { return { + createKeymap(): ProseKeymap { return { //"Mod-@" : toggleMark(this.type) }} diff --git a/src/common/markdown/mdast2prose.ts b/src/common/markdown/mdast2prose.ts index 08830b9..28a2779 100644 --- a/src/common/markdown/mdast2prose.ts +++ b/src/common/markdown/mdast2prose.ts @@ -5,10 +5,10 @@ import * as Md from "@common/markdown/markdown-ast"; import { unistIsParent, unistSource } from "./unist-utils"; // prosemirror imports -import { Node as ProseNode } from "prosemirror-model"; +import { Schema as ProseSchema, Node as ProseNode } from "prosemirror-model"; // patched prosemirror types -import { ProseSchema, ProseMarkType, ProseNodeType } from "@common/types"; +import { ProseMarkType, ProseNodeType } from "@common/types"; import { UnistMapper } from "@common/extensions/editor-config"; // yaml / toml @@ -57,7 +57,7 @@ export type AnyChildren export type MdTypeMap = MapDiscriminatedUnion //UnionTypeMap<"type", MdNodes> export type MdMapper = { - [key in keyof MdTypeMap]? : (x: MdTypeMap[key], children: ProseNode[]) => ProseNode[]; + [key in keyof MdTypeMap]? : (x: MdTypeMap[key], children: ProseNode[]) => ProseNode[]; } //////////////////////////////////////////////////////////// @@ -66,17 +66,17 @@ export type MdMapper = { // TODO (2021/05/09) these functions should all be relocated -export const nodeMapBasic = (nodeType: ProseNodeType) => (node: Uni.Node, children: ProseNode[]) => { +export const nodeMapBasic = (nodeType: ProseNodeType) => (node: Uni.Node, children: ProseNode[]) => { let result = nodeType.createAndFill({}, children || undefined); return result ? [result] : []; } -export const nodeMapLeaf = (nodeType: ProseNodeType) => (node: Uni.Node, _: ProseNode[]) => { +export const nodeMapLeaf = (nodeType: ProseNodeType) => (node: Uni.Node, _: ProseNode[]) => { let result = nodeType.createAndFill({}); return result ? [result] : []; } -export const nodeMapStringLiteral = (nodeType: ProseNodeType) => (node: Uni.Node & { value: string }, _: ProseNode[]) => { +export const nodeMapStringLiteral = (nodeType: ProseNodeType) => (node: Uni.Node & { value: string }, _: ProseNode[]) => { // it is illegal to create an empty ProseMirror TextNode if(node.value.length < 1) { return []; } @@ -86,9 +86,9 @@ export const nodeMapStringLiteral = (nodeType: ProseNodeT } export const markMapBasic = ( - markType: ProseMarkType, + markType: ProseMarkType, getAttrs?: (node: T) => Record -) => (node: T, children: ProseNode[]) => { +) => (node: T, children: ProseNode[]) => { let attrs = getAttrs ? getAttrs(node) : { }; return children.flatMap(childNode => { @@ -101,9 +101,9 @@ export const markMapBasic = ( } export const markMapStringLiteral = ( - markType: ProseMarkType, + markType: ProseMarkType, getAttrs?: (node: T) => Record -) => (node: T & { value: string }, _: ProseNode[]) => { +) => (node: T & { value: string }, _: ProseNode[]) => { // it is illegal to create an empty ProseMirror TextNode // TODO: (2021-05-09) this should probably return an error node if(node.value.length < 1) { return []; } @@ -137,7 +137,7 @@ type MdStateMapper = { * instead of context/state being specified by separate maps? */ type NodeMap - = (node: Uni.Node, children:ProseNode[], parseContext: Ctx, parseState: St) => ProseNode[]; + = (node: Uni.Node, children:ProseNode[], parseContext: Ctx, parseState: St) => ProseNode[]; /** * Returns a new local parse context based on the contents of `node`. @@ -193,11 +193,11 @@ export function treeMap( node: Md.Node, parseContext: Ctx, parseState: St, - nodeMap: UnistMapper, + nodeMap: UnistMapper, contextMap: MdContextMapper, stateMap: MdStateMapper, errorMap: NodeMap -): [ProseNode[], St] { +): [ProseNode[], St] { // postorder depth-first traversal // 1. use what we know about the parent Mdast node to update the parse context @@ -206,7 +206,7 @@ export function treeMap( let newParseContext = contextMapper ? contextMapper(node, parseContext) : parseContext; // 2. visit the children, from left to right, accumulating global state - let nodeContents: ProseNode[] = []; + let nodeContents: ProseNode[] = []; let newParseState = parseState; if(unistIsParent(node)) { @@ -253,7 +253,7 @@ export function treeMap( // TypeScript has trouble threading the schema type through this entire function, // so this cast is our pinky-promise that we will return a node belonging to the // same schema instance as defined by the input - return [result as ProseNode[], newParseState]; + return [result as ProseNode[], newParseState]; } /** @@ -274,8 +274,8 @@ export type MdParseState = { //////////////////////////////////////////////////////////// function makeNodeErrorHandler( - inlineErrorType: ProseMarkType, - blockErrorType : ProseNodeType, + inlineErrorType: ProseMarkType, + blockErrorType : ProseNodeType, node2src: (node:Uni.Node)=>string|null ): NodeMap { return (node, _, context) => { @@ -305,7 +305,7 @@ function makeNodeErrorHandler( //////////////////////////////////////////////////////////// -export type MdParser = (markdown: string) => ProseNode | null; +export type MdParser = (markdown: string) => ProseNode | null; /** * Uses the given configuration to create a parser capable of converting @@ -321,7 +321,7 @@ export type MdParser = (markdown: string) => ProseNode */ export const makeParser = >( proseSchema: S, - nodeMap: UnistMapper, + nodeMap: UnistMapper, md2ast: Processor ): MdParser => { diff --git a/src/common/prosemirror/commands/demoteHeadingCmd.ts b/src/common/prosemirror/commands/demoteHeadingCmd.ts index c2054bf..286ed9f 100644 --- a/src/common/prosemirror/commands/demoteHeadingCmd.ts +++ b/src/common/prosemirror/commands/demoteHeadingCmd.ts @@ -1,4 +1,4 @@ -import { Command as ProseCommand } from "prosemirror-commands"; +import { Command as ProseCommand } from "prosemirror-state"; import { Node as ProseNode, ResolvedPos, NodeType } from "prosemirror-model"; import { liftTarget } from "prosemirror-transform"; diff --git a/src/common/prosemirror/commands/insertTab.ts b/src/common/prosemirror/commands/insertTab.ts index 2886a53..08b85dd 100644 --- a/src/common/prosemirror/commands/insertTab.ts +++ b/src/common/prosemirror/commands/insertTab.ts @@ -1,4 +1,4 @@ -import { Command as ProseCommand } from "prosemirror-commands"; +import { Command as ProseCommand } from "prosemirror-state"; export const insertTab:ProseCommand = (state, dispatch, view) => { if(dispatch) dispatch(state.tr.deleteSelection().insertText("\t")); diff --git a/src/common/prosemirror/commands/moveSelection.ts b/src/common/prosemirror/commands/moveSelection.ts index 3a8f780..e45f6ce 100644 --- a/src/common/prosemirror/commands/moveSelection.ts +++ b/src/common/prosemirror/commands/moveSelection.ts @@ -1,5 +1,4 @@ -import { Command as ProseCommand } from "prosemirror-commands"; -import { TextSelection } from "prosemirror-state"; +import { Command as ProseCommand } from "prosemirror-state"; /** @todo (10/4/20) code review wanted for this command */ export const moveSelection = (dir:(1|-1)): ProseCommand => { diff --git a/src/common/prosemirror/inputRules.ts b/src/common/prosemirror/inputRules.ts index 8f13fb1..b6e7aaf 100644 --- a/src/common/prosemirror/inputRules.ts +++ b/src/common/prosemirror/inputRules.ts @@ -9,6 +9,13 @@ import * as PS from "prosemirror-state"; //////////////////////////////////////////////////////////// +export type InputRulePluginState = { + transform: PS.Transaction, + from: number, + to: number, + text: string +} | null; + /** Create an input rules plugin. When enabled, it will cause text * input that matches any of the given rules to trigger the rule's * action. @@ -16,7 +23,7 @@ import * as PS from "prosemirror-state"; * (unchanged from prosemirror-inputrules except for handleKeyDown) */ export function makeInputRulePlugin({rules}: {rules: readonly PI.InputRule[]}) { - let plugin: PS.Plugin<{transform: PS.Transaction, from: number, to: number, text: string} | null> = new PS.Plugin({ + let plugin: PS.Plugin = new PS.Plugin({ state: { init() { return null }, apply(this: typeof plugin, tr, prev) { diff --git a/src/common/prosemirror/steps.ts b/src/common/prosemirror/steps.ts index 120ceac..39bebf9 100644 --- a/src/common/prosemirror/steps.ts +++ b/src/common/prosemirror/steps.ts @@ -8,7 +8,8 @@ export class SetDocAttrStep extends Step { /** * A Step representing a change to the attrs of a ProseMirror document. - * As of (7/25/20), This is not possible without + * As of (7/25/20), This is not possible without a custom Step. See: + * https://discuss.prosemirror.net/t/changing-doc-attrs/784 */ constructor(public key: string, public value: T, public stepType: string = 'SetDocAttr') { super(); @@ -18,7 +19,11 @@ export class SetDocAttrStep extends Step { this.prevValue = doc.attrs[this.key]; /** @todo (7/26/19) re-apply this fix if defaultAttrs needed */ //if (doc.attrs == doc.type.defaultAttrs) doc.attrs = Object.assign({}, doc.attrs); + + // TODO (Ben @ 2023/04/30) doc.attrs is read-only, create new doc instead + // @ts-ignore doc.attrs[this.key] = this.value; + return StepResult.ok(doc); } diff --git a/src/common/types.ts b/src/common/types.ts index 7270fb4..f34fdfd 100644 --- a/src/common/types.ts +++ b/src/common/types.ts @@ -1,23 +1,13 @@ import { Node, Schema, NodeType, MarkType, Mark } from "prosemirror-model"; -import { Decoration, EditorView, NodeView } from "prosemirror-view"; +import { Command } from "prosemirror-state"; declare module "prosemirror-model" { interface Fragment { + // TODO (Ben @ 2023/04/30) stop relying on undocumented field, find workaround // as of (3/31/20) official @types/prosemirror-model // was missing Fragment.content, so we define it here content: Node[]; } - - interface NodeType> { - hasRequiredAttrs(): boolean; - createAndFill(attrs?:Object, content?: Fragment|Node|Node[], marks?:Mark[]): Node; - } - - interface ResolvedPos { - // missing declaration as of (7/25/20) - /** Get the position at the given index in the parent node at the given depth (which defaults to this.depth). */ - posAtIndex(index:number, depth?:number):number; - } } export interface IDisposable { @@ -37,41 +27,18 @@ export type Indices = Exclude; // ---- prosemirror-model ---------------------------------- -export interface ProseSchema extends Schema { - // as of (2021-05-04) the return type was incorrect vvvv - text(text: string, marks?: Array>>): Node; - /** - * An object mapping the schema's node names to node type objects. - */ - nodes: { [name in N]: ProseNodeType & { name: N } }; - /** - * A map from mark names to mark type objects. - */ - marks: { [name in M]: ProseMarkType & { name: N } }; -} - -export type ProseNodeT = S extends ProseSchema ? N : never; -export type ProseMarkT = S extends ProseSchema ? M : never; - /** Like { NodeType } from "prosemirror-model", but more precise. */ export interface ProseNodeType< - S extends ProseSchema = ProseSchema, - N extends string = ProseNodeT -> extends NodeType { + N extends string = string +> extends NodeType { name: N } /** Like { MarkType } from "prosemirror-model", but more precise. */ export interface ProseMarkType< - S extends ProseSchema = ProseSchema, - M extends string = ProseMarkT -> extends MarkType { + M extends string = string +> extends MarkType { name: M } -export type NodeViewConstructor = ( - node: Node, - view: EditorView, - getPos: boolean | (() => number), // boolean is for marks -- prosemirror typings are limited - decorations: Decoration<{[key: string]: any;}>[] - ) => NodeView; \ No newline at end of file +export type ProseKeymap = {[key: string]: Command } \ No newline at end of file diff --git a/src/extensions/noteworthy-codemirror-preview/codemirror-preview-nodeview.ts b/src/extensions/noteworthy-codemirror-preview/codemirror-preview-nodeview.ts index e852186..3768506 100644 --- a/src/extensions/noteworthy-codemirror-preview/codemirror-preview-nodeview.ts +++ b/src/extensions/noteworthy-codemirror-preview/codemirror-preview-nodeview.ts @@ -26,7 +26,7 @@ import { CodeBlockExtension } from "@common/extensions/node-extensions"; // noteworthy-codemirror-preview import { getCodeMirrorLanguage } from "./codemirror-utils"; import { PreviewRenderer } from "./codemirror-preview-types"; -import { AttrStep } from "./prosemirror-utils"; +import { AttrStep } from "prosemirror-transform"; //// OPTIONS /////////////////////////////////////////////// @@ -91,7 +91,7 @@ export class CodeMirrorView implements PV.NodeView { /* ---- nodeview dom ---- */ - public dom: Node|null = null; + public dom: Node; private _dom: { langLabel : HTMLInputElement; @@ -123,17 +123,15 @@ export class CodeMirrorView implements PV.NodeView { }; // initialize - this.initDom(); + this.dom = this.initDom(); this.createCodeMirrorView(); - - // initialize preview state } /** * Initialize the NodeView's DOM. * Intended to be called exactly once, during initialization. */ - private initDom(): void { + private initDom(): HTMLDivElement { // lang label const langLabel = document.createElement("input"); langLabel.className = "langLabel" @@ -165,7 +163,6 @@ export class CodeMirrorView implements PV.NodeView { dom.className = "codeView"; dom.appendChild(previewDom); dom.appendChild(codeDom); - this.dom = dom; // save dom elements for later this._dom = { @@ -174,6 +171,8 @@ export class CodeMirrorView implements PV.NodeView { codeDom: codeDom, codeMirrorHolder: codeMirrorDom } + + return dom; } private createCodeMirrorView(): void { diff --git a/src/extensions/noteworthy-codemirror-preview/codemirror-preview-plugin.ts b/src/extensions/noteworthy-codemirror-preview/codemirror-preview-plugin.ts index 11b7d83..31962ac 100644 --- a/src/extensions/noteworthy-codemirror-preview/codemirror-preview-plugin.ts +++ b/src/extensions/noteworthy-codemirror-preview/codemirror-preview-plugin.ts @@ -34,7 +34,7 @@ export const codeMirrorPlugin = (options: CodeMirrorPlugin.Options): PS.Pluginnumber)): CodeMirrorView => { + "code_block" : (node: PM.Node, view: PV.EditorView, getPos: ()=>(number|undefined)): CodeMirrorView => { return new CodeMirrorView( node, view, diff --git a/src/extensions/noteworthy-codemirror-preview/prosemirror-utils.ts b/src/extensions/noteworthy-codemirror-preview/prosemirror-utils.ts deleted file mode 100644 index 15f31ad..0000000 --- a/src/extensions/noteworthy-codemirror-preview/prosemirror-utils.ts +++ /dev/null @@ -1,57 +0,0 @@ -// prosemirror -import * as PM from "prosemirror-model"; -import * as PT from "prosemirror-transform"; - -//////////////////////////////////////////////////////////////////////////////// - -/// Update an attribute in a specific node. -// TODO (Ben @ 2023/04/04) delete this and import from prosemirror-transform -// after resolving https://github.com/benrbray/noteworthy/issues/31 -export class AttrStep extends PT.Step { - /// Construct an attribute step. - constructor( - /** position of the target node */ - readonly pos: number, - /** attribute to set */ - readonly attr: string, - /** attribute's new value */ - readonly value: any - ) { - super() - } - - apply(doc: PM.Node) { - let node = doc.nodeAt(this.pos) - if (!node) return PT.StepResult.fail("No node at attribute step's position") - let attrs = Object.create(null) - for (let name in node.attrs) attrs[name] = node.attrs[name] - attrs[this.attr] = this.value - let updated = node.type.create(attrs, undefined, node.marks) - return PT.StepResult.fromReplace(doc, this.pos, this.pos + 1, new PM.Slice(PM.Fragment.from(updated), 0, node.isLeaf ? 0 : 1)) - } - - getMap() { - return new PT.StepMap([]); - } - - invert(doc: PM.Node) { - return new AttrStep(this.pos, this.attr, doc.nodeAt(this.pos)!.attrs[this.attr]) - } - - map(mapping: PT.Mappable) { - let pos = mapping.mapResult(this.pos, 1) - return pos.deleted ? null : new AttrStep(pos.pos, this.attr, this.value) - } - - toJSON(): any { - return {stepType: "attr", pos: this.pos, attr: this.attr, value: this.value} - } - - static fromJSON(schema: PM.Schema, json: any) { - if (typeof json.pos != "number" || typeof json.attr != "string") - throw new RangeError("Invalid input for AttrStep.fromJSON") - return new AttrStep(json.pos, json.attr, json.value) - } -} - -PT.Step.jsonID("attr", AttrStep) \ No newline at end of file diff --git a/src/main/plugins/crossref-plugin.ts b/src/main/plugins/crossref-plugin.ts index 38e6d0f..515672b 100644 --- a/src/main/plugins/crossref-plugin.ts +++ b/src/main/plugins/crossref-plugin.ts @@ -12,7 +12,7 @@ import { IDoc } from "@common/doctypes/doctypes"; // fuzzy search import fuzzysort from "fuzzysort"; import { DefaultMap } from "@common/util/DefaultMap"; -import { EditorView, NodeView, Decoration } from "prosemirror-view"; +import { EditorView, NodeView, Decoration, NodeViewConstructor } from "prosemirror-view"; import { PluginKey, PluginSpec, Plugin as ProsePlugin, EditorState, Transaction, TextSelection } from "prosemirror-state"; import { StepMap } from "prosemirror-transform"; import { keymap } from "prosemirror-keymap"; @@ -401,8 +401,8 @@ interface ICitationPluginOptions { /** * @see https://prosemirror.net/docs/ref/#view.EditorProps.nodeViews */ -function createCitationView(renderCitation: RenderCitationFn){ - return (node: ProseNode, view: EditorView, getPos:boolean|(()=>number)): CitationView => { +function createCitationView(renderCitation: RenderCitationFn): NodeViewConstructor { + return (node, view, getPos): CitationView => { /** @todo is this necessary? * Docs says that for any function proprs, the current plugin instance * will be bound to `this`. However, the typings don't reflect this. @@ -570,7 +570,7 @@ export class CitationView implements NodeView { // == Updates ======================================= // - update(node: ProseNode, decorations: Decoration[]) { + update(node: ProseNode, decorations: readonly Decoration[]) { if (!node.sameMarkup(this._node)) return false this._node = node; @@ -702,6 +702,7 @@ export class CitationView implements NodeView { openEditor() { if (this._innerView) { throw Error("inner view should not exist!"); } + if (!this._nodeSrcElt) { return; } // create a nested ProseMirror view this._innerView = new EditorView(this._nodeSrcElt, { diff --git a/src/renderer/editors/editor-markdown.tsx b/src/renderer/editors/editor-markdown.tsx index 6ded544..afd6b12 100644 --- a/src/renderer/editors/editor-markdown.tsx +++ b/src/renderer/editors/editor-markdown.tsx @@ -1,7 +1,7 @@ // prosemirror imports import { EditorView as ProseEditorView, EditorView } from "prosemirror-view"; import { Mark, Slice, Node as ProseNode } from "prosemirror-model"; -import { chainCommands, Keymap, joinUp, joinDown, lift, selectParentNode } from "prosemirror-commands"; +import { chainCommands, joinUp, joinDown, lift, selectParentNode } from "prosemirror-commands"; import { EditorState as ProseEditorState, Transaction, Plugin as ProsePlugin } from "prosemirror-state"; import { history, undo, redo } from "prosemirror-history"; import { gapCursor } from "prosemirror-gapcursor"; @@ -17,16 +17,17 @@ import * as Md from "@common/markdown/markdown-ast"; // solidjs import { render } from "solid-js/web"; -import { createEffect, createSignal } from "solid-js"; +import { createEffect } from "solid-js"; + +// prosemirror +import { Schema as ProseSchema } from "prosemirror-model"; // views import { mathPlugin, mathBackspaceCmd, mathSelectPlugin } from "@benrbray/prosemirror-math"; import { MainIpcHandlers } from "@main/MainIPC"; import { YamlEditor } from "../ui/yamlEditor"; -import { SetDocAttrStep } from "@common/prosemirror/steps"; import { shallowEqual } from "@common/util/equal"; -//import { EmbedView } from "@common/nwt/embed-view"; import { makeSuggestionPlugin, SuggestionPopup } from "@renderer/ui/suggestions"; // editor commands @@ -42,15 +43,14 @@ import { OrderedListExtension, UnorderedListExtension, ListItemExtension, ContainerDirectiveExtension, ImageExtension, HardBreakExtension, - //RegionExtension, EmbedExtension, RootExtension, ParagraphExtension, CitationExtension } from "@common/extensions/node-extensions"; import { BoldExtension, ItalicExtension, LinkExtension, - //DefinitionExtension, UnderlineExtension, StrikethroughExtension, CodeExtension, WikilinkExtension, - //TagExtension } from "@common/extensions/mark-extensions"; +import { ProseKeymap } from "@common/types"; +import { SetDocAttrStep } from "@common/prosemirror/steps"; //////////////////////////////////////////////////////////// @@ -59,7 +59,6 @@ import { // globally at runtime, and I haven't found clever enough typings yet to express // this transformation. So, we must explicitly declare them here: import { WindowAfterPreload } from "@renderer/preload_types"; -import { ProseSchema } from "@common/types"; import { createStore } from "solid-js/store"; import { NoteworthyExtension, NoteworthyExtensionInitializer, NoteworthyExtensionSpec, RegisteredExtensionName } from "@main/extensions/noteworthy-extension"; @@ -78,7 +77,7 @@ const mac = typeof navigator != "undefined" ? /Mac/.test(navigator.platform) : f //////////////////////////////////////////////////////////// // editor class -export class MarkdownEditor extends Editor> { +export class MarkdownEditor extends Editor { _proseEditorView: ProseEditorView | null; _initialized:boolean; @@ -298,7 +297,7 @@ export class MarkdownEditor extends Editor< ]; // TODO: (2021-05-30) move default keymap to "makeDefaultMarkdownConfig" function? - let keymap: Keymap = { + let keymap: ProseKeymap = { "Tab" : insertTab, "Backspace" : chainCommands(mathBackspaceCmd, undoInputRule), "Ctrl-s": () => { @@ -414,9 +413,7 @@ export class MarkdownEditor extends Editor< /** @todo (7/26/20) make sure the metadata editor is notified * about any changes to the document metadata. */ - if(tr.steps.find((value) => (value instanceof SetDocAttrStep))){ - - } + if(tr.steps.find((value) => (value instanceof SetDocAttrStep))) { } // forward selection info to ui this._setSelectionInfo({ to: tr.selection.to, from: tr.selection.from }); @@ -424,7 +421,7 @@ export class MarkdownEditor extends Editor< // apply transaction proseView.updateState(proseView.state.apply(tr)); }, - handleClick: (view: ProseEditorView, pos: number, event: MouseEvent) => { + handleClick: (view: ProseEditorView, pos: number, event: MouseEvent) => { let node = view.state.doc.nodeAt(pos); if(!node){ return false; } diff --git a/src/renderer/ui/yamlEditor.tsx b/src/renderer/ui/yamlEditor.tsx index b5d5446..649b210 100644 --- a/src/renderer/ui/yamlEditor.tsx +++ b/src/renderer/ui/yamlEditor.tsx @@ -8,8 +8,8 @@ import { SetStoreFunction } from "solid-js/store"; // prosemirror imports import { Schema as ProseSchema, NodeSpec, Node as ProseNode } from "prosemirror-model"; import { EditorState as ProseEditorState, Transaction, TextSelection } from "prosemirror-state"; -import { EditorView as ProseEditorView } from "prosemirror-view"; -import { Command as ProseCommand } from "prosemirror-commands"; +import { EditorView, EditorView as ProseEditorView } from "prosemirror-view"; +import { Command as ProseCommand } from "prosemirror-state"; import { undo, redo } from "prosemirror-history" import { keymap } from "prosemirror-keymap"; @@ -112,16 +112,17 @@ function makeYamlEditor( }); // create document - let list:ProseNode[] = []; + let list: ProseNode[] = []; for(let key in yamlData){ let value = YAML.stringify(yamlData[key], { customTags: ["timestamp"] }).trim(); let dt = schema.nodes.dt.createAndFill(undefined, schema.text(key)); let dd = schema.nodes.dd.createAndFill(undefined, schema.text(value)); - list.push(dt, dd); + if(dt && dd) { list.push(dt, dd); } } let dl = schema.nodes.dl.createAndFill(undefined, list); let doc = schema.nodes.doc.createAndFill(undefined, dl); + if(!dl || !doc) { throw new Error("failed to create ProseMirror nodes required for Yaml editor!"); } // create prosemirror state let plugins = [keymap(buildKeymap_yaml(schema))]; @@ -131,7 +132,7 @@ function makeYamlEditor( // create prosemirror instance let view = new ProseEditorView(elt, { state: state, - dispatchTransaction(tr:Transaction){ + dispatchTransaction(this: EditorView, tr:Transaction) { // apply transaction this.updateState(this.state.apply(tr));