Add document insights panel (#4418)

* Add document context to allow accessing editor in header, modals, and elsewhere

* lint

* framework

* Hacking together fast

* Insights

* Spacing tweak, docs
This commit is contained in:
Tom Moor
2022-11-13 10:19:09 -08:00
committed by GitHub
parent 762341a4ec
commit 3880a956a3
21 changed files with 675 additions and 212 deletions

View File

@@ -0,0 +1,22 @@
import * as React from "react";
import useEventListener from "./useEventListener";
/**
* A hook that returns the currently selected text.
*
* @returns The selected text
*/
export default function useTextSelection() {
const [selection, setSelection] = React.useState<string>("");
const handleMouse = React.useCallback(() => {
const selection = window.getSelection();
const text = selection?.toString();
setSelection(text ?? "");
}, []);
useEventListener("mousemove", handleMouse);
useEventListener("mouseup", handleMouse);
return selection;
}