import { RefObject, memo, useMemo } from "react"; import { Button, Classes, Icon, InputGroup, InputGroupProps2, Switch, useHotkeys } from "@blueprintjs/core"; import { useShortcutsSettings } from "Components/UserSettings"; import { validateShortcuts } from "../../../setup"; import { dialogLabel } from "../classes"; import { CustomClasses } from "../../../constants"; import { AsBoolean } from "Types/helpers"; import "./_index.sass"; type OwnProps = { handleClose: () => void, handleKeyDown: Exclude, handleKeyUp: Exclude, handleQueryChange: Exclude, quickCopyProps: { isActive: boolean, toggle: () => void }, searchbar: RefObject }; const SearchInputGroup = memo(function SearchInputGroup(props) { const { handleClose, handleKeyDown, handleKeyUp, handleQueryChange, quickCopyProps: { isActive: isQCActive, toggle: toggleQC }, searchbar } = props; const [shortcuts] = useShortcutsSettings(); // Only pass valid hotkey combos // TODO: move validation step upstream const sanitizedShortcuts = useMemo(() => validateShortcuts(shortcuts), [shortcuts]); const searchbarLeftElement = useMemo(() => , []); const searchbarRightElement = useMemo(() => { return ( <>