Home / Function/ BlockKeys() — supabase Function Reference

BlockKeys() — supabase Function Reference

Architecture documentation for the BlockKeys() function in BlockKeys.tsx from the supabase codebase.

Entity Profile

Relationship Graph

Source Code

apps/studio/components/grid/components/common/BlockKeys.tsx lines 17–56

export const BlockKeys = ({
  value,
  children,
  onEscape,
  onEnter,
  ignoreOutsideClicks = false,
}: BlockKeysProps) => {
  const ref = useRef(null)
  const isClickedOutside = useClickedOutside(ref)

  const handleKeyDown = useCallback(
    (ev: KeyboardEvent<HTMLDivElement>) => {
      switch (ev.key) {
        case 'Escape':
          ev.stopPropagation()
          if (onEscape) onEscape(value)
          break
        case 'Enter':
          ev.stopPropagation()
          if (!ev.shiftKey && onEnter) {
            ev.preventDefault()
            onEnter(value)
          }
          break
      }
    },
    [value]
  )

  useEffect(() => {
    if (ignoreOutsideClicks) return
    if (isClickedOutside && onEnter !== undefined) onEnter(value)
  }, [isClickedOutside])

  return (
    <div ref={ref} onKeyDown={handleKeyDown}>
      {children}
    </div>
  )
}

Subdomains

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free