UNPKG

@portabletext/editor

Version:

Portable Text Editor made in React

26 lines (22 loc) 680 B
import type {KeyedSegment, PortableTextBlock} from '@sanity/types' import type {EditorSelector} from '../editor/editor-selector' import * as utils from '../utils' import {isSelectionCollapsed} from './selector.is-selection-collapsed' /** * @public */ export function isAtTheStartOfBlock(block: { node: PortableTextBlock path: [KeyedSegment] }): EditorSelector<boolean> { return (snapshot) => { if (!snapshot.context.selection || !isSelectionCollapsed(snapshot)) { return false } const blockStartPoint = utils.getBlockStartPoint(block) return utils.isEqualSelectionPoints( snapshot.context.selection.focus, blockStartPoint, ) } }