range.d.ts 1.3 KB

1234567891011121314151617181920212223242526272829303132
  1. import { ExtendedType, Operation, Path, Point, PointEntry } from '..';
  2. /**
  3. * `Range` objects are a set of points that refer to a specific span of a Slate
  4. * document. They can define a span inside a single node or a can span across
  5. * multiple nodes.
  6. */
  7. export interface BaseRange {
  8. anchor: Point;
  9. focus: Point;
  10. }
  11. export declare type Range = ExtendedType<'Range', BaseRange>;
  12. export interface RangeInterface {
  13. edges: (range: Range, options?: {
  14. reverse?: boolean;
  15. }) => [Point, Point];
  16. end: (range: Range) => Point;
  17. equals: (range: Range, another: Range) => boolean;
  18. includes: (range: Range, target: Path | Point | Range) => boolean;
  19. intersection: (range: Range, another: Range) => Range | null;
  20. isBackward: (range: Range) => boolean;
  21. isCollapsed: (range: Range) => boolean;
  22. isExpanded: (range: Range) => boolean;
  23. isForward: (range: Range) => boolean;
  24. isRange: (value: any) => value is Range;
  25. points: (range: Range) => Generator<PointEntry, void, undefined>;
  26. start: (range: Range) => Point;
  27. transform: (range: Range, op: Operation, options?: {
  28. affinity?: 'forward' | 'backward' | 'outward' | 'inward' | null;
  29. }) => Range | null;
  30. }
  31. export declare const Range: RangeInterface;
  32. //# sourceMappingURL=range.d.ts.map