@portabletext/editor
Version:
Portable Text Editor made in React
19 lines (16 loc) • 582 B
text/typescript
import {isSpan} from '@portabletext/schema'
import type {PortableTextSpan} from '@sanity/types'
import type {EditorSelector} from '../editor/editor-selector'
import type {ChildPath} from '../types/paths'
import {getFocusChild} from './selector.get-focus-child'
/**
* @public
*/
export const getFocusSpan: EditorSelector<
{node: PortableTextSpan; path: ChildPath} | undefined
> = (snapshot) => {
const focusChild = getFocusChild(snapshot)
return focusChild && isSpan(snapshot.context, focusChild.node)
? {node: focusChild.node, path: focusChild.path}
: undefined
}