1.1.0 • Published 8 months ago

react-use-arrows v1.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
8 months ago

react-use-arrows

A React hook for traversing DOM elements with keyboard arrow keys.

npm

Install

# With npm
npm i react-use-arrows

# With Yarn
yarn add react-use-arrows

Usage

import React from 'react'
import useArrows from 'react-use-arrows'

export default function App() {
   const menuRef = useArrows();

   // Typescript.
   // const menuRef = useArrows() as React.RefObject<HTMLDivElement>

   return (
      <div ref={menuRef}>
         <ul>
            <li>
               <a href="https://github.com/">Github</a>
            </li>
            <li>
               <a href="https://npmjs.com/">NPM</a>
            </li>
            <li>
               <a href="https://react.dev/">React</a>
            </li>
         </ul>
      </div>
   )
}

Options

The useArrows hook accepts an optional object parameter which is a collection of configuration props.

PropDescriptionDefaultType
selectorsDOM element selectors that should receive focus.ListArray\|String
useTabAllow Tab key to navigate focusable elements.trueBoolean
useUpDownUp and down arrows navigate focusable elements.trueBoolean
useLeftRightLeft and right arrows navigate focusable elements.falseBoolean
loopLoop through focusable elements.trueBooleanFalse
const ref = useArrowControls( { 
   selectors: 'span[role="button"]',
   useTab: false,
});