UNPKG

@portabletext/editor

Version:

Portable Text Editor made in React

43 lines (37 loc) 1.11 kB
import * as selectors from '../selectors' import * as utils from '../utils' import {raise} from './behavior.types.action' import {defineBehavior} from './behavior.types.behavior' export const abstractDeleteBehaviors = [ defineBehavior({ on: 'delete.text', guard: ({snapshot, event}) => { const selection = utils.blockOffsetsToSelection({ value: snapshot.context.value, offsets: event.at, }) if (!selection) { return false } const trimmedSelection = selectors.getTrimmedSelection({ beta: {hasTag: () => false, internalDrag: undefined}, context: { converters: [], schema: snapshot.context.schema, keyGenerator: snapshot.context.keyGenerator, activeDecorators: [], readOnly: false, value: snapshot.context.value, selection, }, }) if (!trimmedSelection) { return false } return { selection: trimmedSelection, } }, actions: [(_, {selection}) => [raise({type: 'delete', at: selection})]], }), ]