{"version":3,"file":"index.umd.min.js","sources":["../src/index.js"],"sourcesContent":["const candidateSelectors = [\n 'input',\n 'select',\n 'textarea',\n 'a[href]',\n 'button',\n '[tabindex]',\n 'audio[controls]',\n 'video[controls]',\n '[contenteditable]:not([contenteditable=\"false\"])',\n 'details>summary:first-of-type',\n 'details',\n];\nconst candidateSelector = /* #__PURE__ */ candidateSelectors.join(',');\n\nconst matches =\n typeof Element === 'undefined'\n ? function () {}\n : Element.prototype.matches ||\n Element.prototype.msMatchesSelector ||\n Element.prototype.webkitMatchesSelector;\n\nconst getCandidates = function (el, includeContainer, filter) {\n let candidates = Array.prototype.slice.apply(\n el.querySelectorAll(candidateSelector)\n );\n if (includeContainer && matches.call(el, candidateSelector)) {\n candidates.unshift(el);\n }\n candidates = candidates.filter(filter);\n return candidates;\n};\n\nconst isContentEditable = function (node) {\n return node.contentEditable === 'true';\n};\n\nconst getTabindex = function (node) {\n const tabindexAttr = parseInt(node.getAttribute('tabindex'), 10);\n\n if (!isNaN(tabindexAttr)) {\n return tabindexAttr;\n }\n\n // Browsers do not return `tabIndex` correctly for contentEditable nodes;\n // so if they don't have a tabindex attribute specifically set, assume it's 0.\n if (isContentEditable(node)) {\n return 0;\n }\n\n // in Chrome, ,
ZDNet新闻频道
37大皇帝网页游戏官网
重庆华美整形美容医院
Crown-app-Download-info@tdwang.net
《狩龙战纪》官方网站
365体育
皇冠体育
Sports-betting-careers@smxjjl.com
Gaming-platform-info@mygril-yaoyao.com
Sports-in-Sabah-help@smxjjl.com
Sports-betting-contactus@xqykl.net
葫芦岛天气预报
中国天文科普网
新农网
Crown-Sports-sales@jayconscious.com
Sun-City-Entertainment-marketing@xyschool.net
ag8亚游
在线博彩平台
European-Cup-buying-entrance-careers@babyfeedingshop.com
爱婴岛母婴商城
落伍者论坛
新浪高尔夫频道
网易游戏官网
图片论坛
南京人才网
星汉信息
第二教育网
花园生物
佳先股份
搜房网贵阳二手房网
站点地图
海盗湾中文网
我拉网名片设计制作
清华大学生命科学学院
马兰士官网