export const selectTextWithCtrlA = (options?: {targetSelector: string}) => (e: React.KeyboardEvent) => { const isCtrlA = (e.metaKey || e.ctrlKey) && e.key === 'a' if (isCtrlA && window.getSelection) { e.persist() e.preventDefault() e.stopPropagation() const selection = window.getSelection() const range = document.createRange() const eventTarget = (e.target as HTMLElement) const target: HTMLElement | null = (options) ? eventTarget.querySelector(options.targetSelector) : eventTarget if (!target) { console.error('Could not find matching target for Ctrl+A Event') } if (selection && target) { range.selectNodeContents(target) selection.removeAllRanges() selection.addRange(range) } } }