diff --git a/packages/core/package.json b/packages/core/package.json index 6c929e0b..48a4fa71 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -41,7 +41,6 @@ "prosemirror-state": "^1.3.4", "prosemirror-tables": "^1.1.1", "prosemirror-transform": "^1.2.9", - "prosemirror-utils": "^1.0.0-0", "prosemirror-view": "^1.16.3" } } diff --git a/packages/core/src/commands/toggleList.ts b/packages/core/src/commands/toggleList.ts index 89d63b95..80a5f18c 100644 --- a/packages/core/src/commands/toggleList.ts +++ b/packages/core/src/commands/toggleList.ts @@ -1,7 +1,7 @@ -import { findParentNode } from 'prosemirror-utils' import { NodeType } from 'prosemirror-model' import { Command } from '../types' import getNodeType from '../helpers/getNodeType' +import findParentNode from '../helpers/findParentNode' import isList from '../helpers/isList' /** diff --git a/packages/core/src/helpers/findParentNode.ts b/packages/core/src/helpers/findParentNode.ts new file mode 100644 index 00000000..4bd622b4 --- /dev/null +++ b/packages/core/src/helpers/findParentNode.ts @@ -0,0 +1,7 @@ +import { Selection } from 'prosemirror-state' +import findParentNodeClosestToPos from './findParentNodeClosestToPos' +import { Predicate } from '../types' + +export default function findParentNode(predicate: Predicate) { + return (selection: Selection) => findParentNodeClosestToPos(selection.$from, predicate) +} diff --git a/packages/core/src/helpers/findParentNodeClosestToPos.ts b/packages/core/src/helpers/findParentNodeClosestToPos.ts index d9bff48e..720f6197 100644 --- a/packages/core/src/helpers/findParentNodeClosestToPos.ts +++ b/packages/core/src/helpers/findParentNodeClosestToPos.ts @@ -1,12 +1,11 @@ -import { ResolvedPos, Node as ProsemirrorNode } from 'prosemirror-model' - -export type Predicate = (node: ProsemirrorNode) => boolean +import { ResolvedPos, Node as ProseMirrorNode } from 'prosemirror-model' +import { Predicate } from '../types' export default function findParentNodeClosestToPos($pos: ResolvedPos, predicate: Predicate): ({ pos: number, start: number, depth: number, - node: ProsemirrorNode, + node: ProseMirrorNode, } | undefined) { for (let i = $pos.depth; i > 0; i -= 1) { const node = $pos.node(i) diff --git a/packages/core/src/types.ts b/packages/core/src/types.ts index 4f4fc4eb..134c80d3 100644 --- a/packages/core/src/types.ts +++ b/packages/core/src/types.ts @@ -135,3 +135,5 @@ export type Range = { from: number, to: number, } + +export type Predicate = (node: ProseMirrorNode) => boolean diff --git a/yarn.lock b/yarn.lock index 2e040507..bee314ba 100644 --- a/yarn.lock +++ b/yarn.lock @@ -11874,11 +11874,6 @@ prosemirror-transform@^1.2.9: dependencies: prosemirror-model "^1.0.0" -prosemirror-utils@^1.0.0-0: - version "1.0.0-0" - resolved "https://registry.yarnpkg.com/prosemirror-utils/-/prosemirror-utils-1.0.0-0.tgz#7dfd112abf69001508a76200f9c8660fda7fa85f" - integrity sha512-11hTMG4Qwqlux6Vwp/4m16mLDg6IwWb0/odsWXGtWvvRJo61SfG0RGYlA8H72vExmbnWpiXa7PNenZ6t12Rkqw== - prosemirror-view@^1.0.0, prosemirror-view@^1.1.0, prosemirror-view@^1.13.3, prosemirror-view@^1.16.3: version "1.17.2" resolved "https://registry.yarnpkg.com/prosemirror-view/-/prosemirror-view-1.17.2.tgz#666c865ae79e129a8933112bdcdf218a42c5a3b5"