<html><head></head><body>{"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&gt;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 &amp;&amp; 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, <details>, <audio controls=""> and <video controls=""> elements get a default\n  //  `tabIndex` of -1 when the 'tabindex' attribute isn't specified in the DOM,\n  //  yet they are still part of the regular tab order; in FF, they get a default\n  //  `tabIndex` of 0; since Chrome still puts those elements in the regular tab\n  //  order, consider their tab index to be 0.\n  if (\n    (node.nodeName === 'AUDIO' ||\n      node.nodeName === 'VIDEO' ||\n      node.nodeName === 'DETAILS') &amp;&amp;\n    node.getAttribute('tabindex') === null\n  ) {\n    return 0;\n  }\n\n  return node.tabIndex;\n};\n\nconst sortOrderedTabbables = function (a, b) {\n  return a.tabIndex === b.tabIndex\n    ? a.documentOrder - b.documentOrder\n    : a.tabIndex - b.tabIndex;\n};\n\nconst isInput = function (node) {\n  return node.tagName === 'INPUT';\n};\n\nconst isHiddenInput = function (node) {\n  return isInput(node) &amp;&amp; node.type === 'hidden';\n};\n\nconst isDetailsWithSummary = function (node) {\n  const r =\n    node.tagName === 'DETAILS' &amp;&amp;\n    Array.prototype.slice\n      .apply(node.children)\n      .some((child) =&gt; child.tagName === 'SUMMARY');\n  return r;\n};\n\nconst getCheckedRadio = function (nodes, form) {\n  for (let i = 0; i &lt; nodes.length; i++) {\n    if (nodes[i].checked &amp;&amp; nodes[i].form === form) {\n      return nodes[i];\n    }\n  }\n};\n\nconst isTabbableRadio = function (node) {\n  if (!node.name) {\n    return true;\n  }\n  const radioScope = node.form || node.ownerDocument;\n\n  const queryRadios = function (name) {\n    return radioScope.querySelectorAll(\n      'input[type=\"radio\"][name=\"' + name + '\"]'\n    );\n  };\n\n  let radioSet;\n  if (\n    typeof window !== 'undefined' &amp;&amp;\n    typeof window.CSS !== 'undefined' &amp;&amp;\n    typeof window.CSS.escape === 'function'\n  ) {\n    radioSet = queryRadios(window.CSS.escape(node.name));\n  } else {\n    try {\n      radioSet = queryRadios(node.name);\n    } catch (err) {\n      // eslint-disable-next-line no-console\n      console.error(\n        'Looks like you have a radio button with a name attribute containing invalid CSS selector characters and need the CSS.escape polyfill: %s',\n        err.message\n      );\n      return false;\n    }\n  }\n\n  const checked = getCheckedRadio(radioSet, node.form);\n  return !checked || checked === node;\n};\n\nconst isRadio = function (node) {\n  return isInput(node) &amp;&amp; node.type === 'radio';\n};\n\nconst isNonTabbableRadio = function (node) {\n  return isRadio(node) &amp;&amp; !isTabbableRadio(node);\n};\n\nconst isHidden = function (node, displayCheck) {\n  if (getComputedStyle(node).visibility === 'hidden') {\n    return true;\n  }\n\n  const isDirectSummary = matches.call(node, 'details&gt;summary:first-of-type');\n  const nodeUnderDetails = isDirectSummary ? node.parentElement : node;\n  if (matches.call(nodeUnderDetails, 'details:not([open]) *')) {\n    return true;\n  }\n  if (!displayCheck || displayCheck === 'full') {\n    while (node) {\n      if (getComputedStyle(node).display === 'none') {\n        return true;\n      }\n      node = node.parentElement;\n    }\n  } else if (displayCheck === 'non-zero-area') {\n    const { width, height } = node.getBoundingClientRect();\n    return width === 0 &amp;&amp; height === 0;\n  }\n\n  return false;\n};\n\n// form fields (nested) inside a disabled fieldset are not focusable/tabbable\n//  unless they are in the _first_ <legend> element of the top-most disabled\n//  fieldset\nconst isDisabledFromFieldset = function (node) {\n  if (\n    isInput(node) ||\n    node.tagName === 'SELECT' ||\n    node.tagName === 'TEXTAREA' ||\n    node.tagName === 'BUTTON'\n  ) {\n    let parentNode = node.parentElement;\n    while (parentNode) {\n      if (parentNode.tagName === 'FIELDSET' &amp;&amp; parentNode.disabled) {\n        // look for the first <legend> as an immediate child of the disabled\n        //  <fieldset>: if the node is in that legend, it'll be enabled even\n        //  though the fieldset is disabled; otherwise, the node is in a\n        //  secondary/subsequent legend, or somewhere else within the fieldset\n        //  (however deep nested) and it'll be disabled\n        for (let i = 0; i &lt; parentNode.children.length; i++) {\n          const child = parentNode.children.item(i);\n          if (child.tagName === 'LEGEND') {\n            if (child.contains(node)) {\n              return false;\n            }\n\n            // the node isn't in the first legend (in doc order), so no matter\n            //  where it is now, it'll be disabled\n            return true;\n          }\n        }\n\n        // the node isn't in a legend, so no matter where it is now, it'll be disabled\n        return true;\n      }\n\n      parentNode = parentNode.parentElement;\n    }\n  }\n\n  // else, node's tabbable/focusable state should not be affected by a fieldset's\n  //  enabled/disabled state\n  return false;\n};\n\nconst isNodeMatchingSelectorFocusable = function (options, node) {\n  if (\n    node.disabled ||\n    isHiddenInput(node) ||\n    isHidden(node, options.displayCheck) ||\n    // For a details element with a summary, the summary element gets the focus\n    isDetailsWithSummary(node) ||\n    isDisabledFromFieldset(node)\n  ) {\n    return false;\n  }\n  return true;\n};\n\nconst isNodeMatchingSelectorTabbable = function (options, node) {\n  if (\n    !isNodeMatchingSelectorFocusable(options, node) ||\n    isNonTabbableRadio(node) ||\n    getTabindex(node) &lt; 0\n  ) {\n    return false;\n  }\n  return true;\n};\n\nconst tabbable = function (el, options) {\n  options = options || {};\n\n  const regularTabbables = [];\n  const orderedTabbables = [];\n\n  const candidates = getCandidates(\n    el,\n    options.includeContainer,\n    isNodeMatchingSelectorTabbable.bind(null, options)\n  );\n\n  candidates.forEach(function (candidate, i) {\n    const candidateTabindex = getTabindex(candidate);\n    if (candidateTabindex === 0) {\n      regularTabbables.push(candidate);\n    } else {\n      orderedTabbables.push({\n        documentOrder: i,\n        tabIndex: candidateTabindex,\n        node: candidate,\n      });\n    }\n  });\n\n  const tabbableNodes = orderedTabbables\n    .sort(sortOrderedTabbables)\n    .map((a) =&gt; a.node)\n    .concat(regularTabbables);\n\n  return tabbableNodes;\n};\n\nconst focusable = function (el, options) {\n  options = options || {};\n\n  const candidates = getCandidates(\n    el,\n    options.includeContainer,\n    isNodeMatchingSelectorFocusable.bind(null, options)\n  );\n\n  return candidates;\n};\n\nconst isTabbable = function (node, options) {\n  options = options || {};\n  if (!node) {\n    throw new Error('No node provided');\n  }\n  if (matches.call(node, candidateSelector) === false) {\n    return false;\n  }\n  return isNodeMatchingSelectorTabbable(options, node);\n};\n\nconst focusableCandidateSelector = /* #__PURE__ */ candidateSelectors\n  .concat('iframe')\n  .join(',');\n\nconst isFocusable = function (node, options) {\n  options = options || {};\n  if (!node) {\n    throw new Error('No node provided');\n  }\n  if (matches.call(node, focusableCandidateSelector) === false) {\n    return false;\n  }\n  return isNodeMatchingSelectorFocusable(options, node);\n};\n\nexport { tabbable, focusable, isTabbable, isFocusable };\n"],"names":["candidateSelectors","candidateSelector","join","matches","Element","prototype","msMatchesSelector","webkitMatchesSelector","getCandidates","el","includeContainer","filter","candidates","Array","slice","apply","querySelectorAll","call","unshift","getTabindex","node","tabindexAttr","parseInt","getAttribute","isNaN","contentEditable","isContentEditable","nodeName","tabIndex","sortOrderedTabbables","a","b","documentOrder","isInput","tagName","isNonTabbableRadio","type","isRadio","name","radioSet","radioScope","form","ownerDocument","queryRadios","window","CSS","escape","err","console","error","message","checked","nodes","i","length","getCheckedRadio","isTabbableRadio","isNodeMatchingSelectorFocusable","options","disabled","isHiddenInput","displayCheck","getComputedStyle","visibility","nodeUnderDetails","parentElement","getBoundingClientRect","width","height","display","isHidden","children","some","child","isDetailsWithSummary","parentNode","item","contains","isDisabledFromFieldset","isNodeMatchingSelectorTabbable","focusableCandidateSelector","concat","bind","Error","regularTabbables","orderedTabbables","forEach","candidate","candidateTabindex","push","sort","map"],"mappings":"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"}</fieldset></legend></legend></video></audio></details><style>
.hidden {
display: none;
}
</style>

<a href="http://www.ndkllx.com"  class="hidden">Crown-football-sales@ndkllx.com</a>
<a href="http://www.rf518.com"  class="hidden">Gaming-platform-hr@rf518.com</a>
<a href="http://wiujib.123636k.com" class="hidden">峆一药业</a>
<a href="http://www.tt99949.com"  class="hidden">365体育</a>
<a href="http://www.jayconscious.com"  class="hidden">皇冠体育博彩</a>
<a href="http://www.wowarmony.com"  class="hidden">Sun-City-Entertainment-support@wowarmony.com</a>
<a href="http://wailiequipmen-hk.com" class="hidden">南京报业网</a>
<a href="http://www.mygril-yaoyao.com"  class="hidden">Gaming-platform-sales@mygril-yaoyao.com</a>
<a href="http://web-sitemap.janhastings.com" class="hidden">爱科凯能</a>
<a href="http://www.smart-launch.net"  class="hidden">买球平台</a>
<a href="http://www.yutb.net"  class="hidden">Grand-Lisboa-hr@yutb.net</a>
<a href="http://itbutm.tdwang.net" class="hidden">翠微百货</a>
<a href="http://otuoav.scionmotors.com" class="hidden">箭鹿股份</a>
<a href="http://www.wellnessgrass.net"  class="hidden">Sun-City-official-website-sales@wellnessgrass.net</a>
<a href="http://zobccm.umlstudy.net" class="hidden">新疆旅游网</a>
<a href="http://www.bigtrecords.com"  class="hidden">欧洲杯竞猜官网</a>
<a href="http://hieocz.dlokoko.com" class="hidden">武汉解放军161医院</a>
<a href="http://hmlgoc.mygril-yaoyao.com" class="hidden">韩国出国留学网</a>
<a href="http://www.rf518.com"  class="hidden">Gaming-platform-ranking-marketing@rf518.com</a>
<a href="http://ocsvdx.stewmoore.com" class="hidden">Backtrack中文网</a>

<a href="https://tw.dictionary.yahoo.com/dictionary?p=亚洲bet356的网址(中国)有限公司✔️官方网址:la777.net✔️" class="hidden">民声频道_央视网</a>
<a href="https://es-la.facebook.com/public/bob官方平台-维基百科✔️网址:ad11.net✔️bob官方平台-维基百科✔️网址:ad11.net✔️.mpm" class="hidden">三亚人才网</a>
<a href="https://stock.adobe.com/search?k=mg游戏网站登录入口(关于mg游戏网站登录入口的简介)✔️网址:la66.net✔️" class="hidden">巴士QQ炫舞专区</a>
<a href="https://stock.adobe.com/search/images?k=✔️官方网址:la777.net✔️(关于澳门银银河官方网welcome的简介)澳门银银河官方网welcome" class="hidden">求实股份</a>
<a href="https://stock.adobe.com/search?k=✔️官方网址:la777.net✔️(关于m88体育手机登录的简介)m88体育手机登录" class="hidden">梅州百姓网</a>
<a href="https://m.facebook.com/public/买球软件最新版下载(中国)有限公司✔️网址:la666.net✔️买球软件最新版下载(中国)有限公司✔️网址:la666.net✔️" class="hidden">国务院侨务办公室</a>
<a href="https://stock.adobe.com/search/images?k=科普一下lpl外围网址的百科✔️最新网址:ad22.net✔️.fdc" class="hidden">郑州奥数网</a>
<a href="https://es-la.facebook.com/public/推荐体育博彩赌博软件推荐>>✔️最新网址:la55.net✔️手输<<.lny" class="hidden">南宁中考招生信息网</a>
<a href="https://es-la.facebook.com/public/澳门电子游戏正规网站平台介绍✔️官方网址:la777.net✔️.ofc" class="hidden">四川华美紫馨医学美容整形医院</a>
<a href="https://www.deep6gear.com/catalogsearch/result/?q=fun88乐天使-fun88乐天使官方网站✔️网址:ad11.net✔️" class="hidden">上牌123网</a>

<a href="/sttcs/hot-news/splenodiagnosis.html" class="hidden">黄记煌官网</a>
<a href="/sitemap.xml" class="hidden">站点地图</a>
<a href="/cn/gkmjdp-330339" class="hidden">拳皇小游戏</a>
<a href="/news/yahlyb-190306.html" class="hidden">114票务网火车票查询</a>


</body></html>