UNPKG

@braineet/ui

Version:

Braineet design system

31 lines (30 loc) 800 B
"use strict"; exports.__esModule = true; exports.useManageFocus = void 0; var _react = require("react"); var useManageFocus = exports.useManageFocus = function useManageFocus() { var refs = (0, _react.useRef)([]); var addToRefs = function addToRefs(val) { if (val.el && !refs.current.find(function (v) { return v.id === val.id; })) { refs.current.push(val); } }; var removeFromRefs = function removeFromRefs(index) { refs.current.splice(index, 1); }; var focusOnPrev = function focusOnPrev(index) { if (refs.current.length > 0) { if (refs.current[index - 1]) { refs.current[index - 1].el.focus(); } } }; return { refs: refs, addToRefs: addToRefs, removeFromRefs: removeFromRefs, focusOnPrev: focusOnPrev }; };