import { ChevronDownIcon } from '@chakra-ui/icons' import { Button, Flex, Menu, MenuButton, MenuItem, MenuList, Portal, StackDivider, VStack, Text, Box, Switch, } from '@chakra-ui/react' import React from 'react' import { initialBehavior, initialMouse } from '../config' import { InfoTooltip } from './InfoTooltip' import { SliderWithInfo } from './SliderWithInfo' export interface BehaviorPanelProps { behavior: typeof initialBehavior setBehavior: any mouse: typeof initialMouse setMouse: any } export const BehaviorPanel = (props: BehaviorPanelProps) => { const { behavior, setBehavior, mouse, setMouse } = props return ( } align="stretch" paddingLeft={7} color="gray.800" > Preview node } colorScheme="" color="black"> {mouse.preview ? mouse.preview[0]!.toUpperCase() + mouse.preview!.slice(1) : 'Never'} {' '} setMouse({ ...mouse, preview: '' })}>Never setMouse({ ...mouse, preview: 'click' })}>Click setMouse({ ...mouse, preview: 'double' })}> Double Click Expand Node } colorScheme="" color="black"> {mouse.local ? mouse.local[0]!.toUpperCase() + mouse.local!.slice(1) : 'Never'} {' '} setMouse({ ...mouse, local: '' })}>Never setMouse({ ...mouse, local: 'click' })}>Click setMouse({ ...mouse, local: 'double' })}> Double Click setMouse({ ...mouse, local: 'right' })}> Right Click Open in Emacs } colorScheme="" color="black"> {mouse.follow ? mouse.follow[0]!.toUpperCase() + mouse.follow!.slice(1) : 'Never'} {' '} setMouse({ ...mouse, follow: '' })}>Never setMouse({ ...mouse, follow: 'click' })}>Click setMouse({ ...mouse, follow: 'double' })}> Double Click setMouse({ ...mouse, follow: 'right' })}> Right Click Follow Emacs by... } colorScheme="" color="black"> {behavior.follow[0].toUpperCase() + behavior.follow.slice(1)} {' '} setBehavior({ ...behavior, follow: 'color' })}> Just coloring the currently opened node setBehavior({ ...behavior, follow: 'local' })}> Opening the local graph setBehavior({ ...behavior, follow: 'zoom' })}> Zooming to the current node Local graph } colorScheme="" color="black"> {behavior.localSame === 'add' ? 'Add' : 'Replace'} {' '} setBehavior({ ...behavior, localSame: 'replace' })}> Open that nodes graph setBehavior({ ...behavior, localSame: 'add' })}> Add node to local graph setBehavior({ ...behavior, zoomSpeed: value })} /> setBehavior({ ...behavior, zoomPadding: value })} infoText="How much to zoom out to accomodate all nodes when changing the view." /> ) }