UNPKG

selection-ranges

Version:

Selection range manipulation for contenteditable elements

54 lines (53 loc) 1.21 kB
/** * @typedef { { start: number, end: number } } SelectionRange */ /** * Add selection / insert cursor. * * @param {Range} range */ export function applyRange(range: Range): void; /** * Get current document selection. * * @return {Selection} */ export function getWindowSelection(): Selection; /** * Return true if element is part of window selection. * * @param {Element} el * @return {boolean} */ export function isSelected(el: Element): boolean; /** * Set cursor or selection position. * * @param {Element} el * @param {SelectionRange} selectionRange */ export function setRange(el: Element, selectionRange: SelectionRange): void; /** * Get cursor or selection position. * * Returns `null` if the element is not currently selected * * @param {Element} el * * @return {SelectionRange|null} */ export function getRange(el: Element): SelectionRange | null; /** * Annotate the given text with markers based on the * given range. * * @param {string} text * @param {SelectionRange} range * * @return {string} annotated text */ export function annotateRange(text: string, range: SelectionRange): string; export type SelectionRange = { start: number; end: number; };