How to use the @restart/hooks/useFocusManager function in @restart/hooks

To help you get started, we’ve selected a few @restart/hooks examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github jquense / react-widgets / packages / react-widgets / src / util / useFocusManager.js View on Github external
export default function useFocusManager(ref, props = {}, opts = {}) {
  const isMounted = useMounted()
  const [focused, setFocus] = useState(false)

  const events = useFocusManagerBase({
    ...opts,
    onChange: focused => {
      if (isMounted()) setFocus(focused)
    },
    isDisabled: () =>
      props.disabled === true || isInDisabledFieldset(ref.current),
    didHandle(focused, event) {
      let handler = props[focused ? 'onFocus' : 'onBlur']
      if (handler) handler(event)

      if (opts.didHandle && !event.isWidgetDefaultPrevented)
        opts.didHandle(focused, event)
    },
  })

  return [events, focused, setFocus]

@restart/hooks

A set of utility and general-purpose React hooks.

MIT
Latest version published 3 months ago

Package Health Score

84 / 100
Full package analysis

Similar packages