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) } } }