"use strict"; 'use client'; /* eslint-disable consistent-return, jsx-a11y/no-noninteractive-tabindex */ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var React = _interopRequireWildcard(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _useForkRef = _interopRequireDefault(require("@mui/utils/useForkRef")); var _ownerDocument = _interopRequireDefault(require("@mui/utils/ownerDocument")); var _getReactElementRef = _interopRequireDefault(require("@mui/utils/getReactElementRef")); var _exactProp = _interopRequireDefault(require("@mui/utils/exactProp")); var _elementAcceptingRef = _interopRequireDefault(require("@mui/utils/elementAcceptingRef")); var _jsxRuntime = require("react/jsx-runtime"); // Inspired by https://github.com/focus-trap/tabbable const candidatesSelector = ['input', 'select', 'textarea', 'a[href]', 'button', '[tabindex]', 'audio[controls]', 'video[controls]', '[contenteditable]:not([contenteditable="false"])'].join(','); function getTabIndex(node) { const tabindexAttr = parseInt(node.getAttribute('tabindex') || '', 10); if (!Number.isNaN(tabindexAttr)) { return tabindexAttr; } // Browsers do not return `tabIndex` correctly for contentEditable nodes; // https://issues.chromium.org/issues/41283952 // so if they don't have a tabindex attribute specifically set, assume it's 0. // in Chrome,
,