Plate
PlateEditorsTemplates
GitHub16kGitHub
DiscordDiscord
  • Plate
  • Editor API
  • Editor Transforms
  • Node
  • Element
  • Text
  • Path
  • Point
  • Range
  • Location
  • Anchor
  • Selection
  • Document Change
  • DOM API
  • React Hooks
  • Plate Core
    • Plate Components
    • Plate Editor
    • Plate Plugin
    • Editor Context
    • Plate Controller
  • Plate Utils
  • Resizable

Point API

PreviousNext

Point helpers for text-node positions.

Point objects refer to a specific location in a text node in a Plate document. Its path refers to the location of the node in the tree, and its offset refers to distance into the node's string of text. Points may only refer to Text nodes.

Shape

interface Point {
  path: Path;
  offset: number;
  root?: string;
}
PathRange

On This Page

ShapeStatic methodsRetrieval methodsPointApi.compare(point: Point, another: Point) => -1 | 0 | 1Check methodsPointApi.isAfter(point: Point, another: Point) => booleanPointApi.isBefore(point: Point, another: Point) => booleanPointApi.equals(point: Point, another: Point) => booleanPointApi.isPoint(value: unknown) => value is PointPointEntry
Build your editor
Production-ready AI template and reusable components.
Get all-access
interface Point {
  path: Path;
  offset: number;
  root?: string;
}

When root is omitted, Plate resolves the point against the current editor or view root. The base editor and pure helpers fall back to the primary document; root-bound views fall back to their own root. Points in header, footer, content-root, or other extra roots carry that root key.

  • Static methods
    • Retrieval methods
    • Check methods

Static methods

Retrieval methods

PointApi.compare(point: Point, another: Point) => -1 | 0 | 1

Compare a point to another, returning an integer indicating whether the point was before, at or after the other.

Check methods

PointApi.isAfter(point: Point, another: Point) => boolean

Check if a point is after another.

PointApi.isBefore(point: Point, another: Point) => boolean

Check if a point is before another.

PointApi.equals(point: Point, another: Point) => boolean

Check if a point is exactly equal to another.

PointApi.isPoint(value: unknown) => value is Point

Check if a value implements the Point interface.

PointEntry

PointEntry objects are returned when iterating over Point objects that belong to a range.

type PointEntry = [Point, "anchor" | "focus"];
type PointEntry = [Point, "anchor" | "focus"];