<html><head></head><body>{"version":3,"sources":["src/utils/accessibility-utils.tsx"],"names":["findAriaLiveEventName","AriaLiveRegion","regionName","assertive","getAriaLiveElement","event","buildCustomEvent","document","dispatchEvent","element","detail","dispatchMessage","message","_a","updateMessage","registerRegion","component","setterName","componentWillRender","Object","defineProperty","set","call","this","FocusTargetController","[object Object]","doFocusAfterSearch","doFocusOnNextTarget","bindings","handleComponentRenderLoop","el","focus","defer","_b","onFocusCallback","lastSearchId","store","getUniqueIDFromEngine","engine","Promise","resolve","originalComponentDidRender","componentDidRender","then","isFocusable","getAttribute","hasAttribute","tagName","getFocusableDescendants","children","Array","from","HTMLSlotElement","assignedElements","shadowRoot","push","child","getFirstFocusableDescendant","next","value"],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {AnyBindings} from '../components/common/interface/bindings';\nimport {buildCustomEvent} from './event-utils';\nimport {InitializableComponent} from './initialization-utils';\nimport {defer} from './utils';\n\nexport const findAriaLiveEventName = 'atomic/accessibility/findAriaLive';\n\nexport interface FindAriaLiveEventArgs {\n  element?: HTMLAtomicAriaLiveElement;\n}\n\nexport function AriaLiveRegion(regionName: string, assertive = false) {\n  function getAriaLiveElement() {\n    const event = buildCustomEvent<findarialiveeventargs>(\n      findAriaLiveEventName,\n      {}\n    );\n    document.dispatchEvent(event);\n    const {element} = event.detail;\n    return element;\n  }\n\n  function dispatchMessage(message: string) {\n    getAriaLiveElement()?.updateMessage(regionName, message, assertive);\n  }\n\n  function registerRegion() {\n    getAriaLiveElement()?.registerRegion(regionName, assertive);\n  }\n\n  return (\n    component: InitializableComponent<anybindings>,\n    setterName: string\n  ) =&gt; {\n    const {componentWillRender} = component;\n    Object.defineProperty(component, setterName, {\n      set: (message: string) =&gt; dispatchMessage(message),\n    });\n\n    component.componentWillRender = function () {\n      componentWillRender &amp;&amp; componentWillRender.call(this);\n      registerRegion();\n    };\n  };\n}\n\nexport class FocusTargetController {\n  private bindings: AnyBindings;\n  private lastSearchId?: string;\n  private element?: HTMLElement;\n  private onFocusCallback?: Function;\n  private doFocusAfterSearch = false;\n  private doFocusOnNextTarget = false;\n\n  constructor(private component: InitializableComponent<anybindings>) {\n    this.bindings = component.bindings;\n    this.handleComponentRenderLoop();\n  }\n\n  public setTarget(el: HTMLElement | undefined) {\n    if (!el) {\n      return;\n    }\n    this.element = el;\n    if (this.doFocusOnNextTarget) {\n      this.doFocusOnNextTarget = false;\n      this.focus();\n    }\n  }\n\n  public async focus() {\n    await defer();\n    this.element?.focus();\n    this.onFocusCallback?.();\n  }\n\n  public focusAfterSearch() {\n    this.lastSearchId = this.bindings.store.getUniqueIDFromEngine(\n      this.bindings.engine\n    );\n    this.doFocusAfterSearch = true;\n    return new Promise((resolve) =&gt; (this.onFocusCallback = resolve));\n  }\n\n  public focusOnNextTarget() {\n    this.doFocusOnNextTarget = true;\n    return new Promise((resolve) =&gt; (this.onFocusCallback = resolve));\n  }\n\n  public disableForCurrentSearch() {\n    if (\n      this.bindings.store.getUniqueIDFromEngine(this.bindings.engine) !==\n      this.lastSearchId\n    ) {\n      this.doFocusAfterSearch = false;\n    }\n  }\n\n  private handleComponentRenderLoop() {\n    const originalComponentDidRender = this.component.componentDidRender;\n\n    this.component.componentDidRender = () =&gt; {\n      originalComponentDidRender &amp;&amp;\n        originalComponentDidRender.call(this.component);\n      if (!this.bindings) {\n        return;\n      }\n      if (\n        this.doFocusAfterSearch &amp;&amp;\n        this.bindings.store.getUniqueIDFromEngine(this.bindings.engine) !==\n          this.lastSearchId\n      ) {\n        this.doFocusAfterSearch = false;\n        if (this.element) {\n          const el = this.element;\n          // The focus seems to be flaky without deferring, especially on iOS.\n          defer().then(() =&gt; {\n            el.focus();\n            this.onFocusCallback?.();\n          });\n        }\n      }\n    };\n  }\n}\n\nfunction isFocusable(element: Element) {\n  // Source: https://stackoverflow.com/a/30753870\n  if (element.getAttribute('tabindex') === '-1') {\n    return false;\n  }\n  if (element.hasAttribute('tabindex')) {\n    return true;\n  }\n  if (element.getAttribute('contentEditable') === 'true') {\n    return true;\n  }\n  switch (element.tagName) {\n    case 'A':\n    case 'AREA':\n      return element.hasAttribute('href');\n    case 'INPUT':\n    case 'SELECT':\n    case 'TEXTAREA':\n    case 'BUTTON':\n      return !element.hasAttribute('disabled');\n    case 'IFRAME':\n      return true;\n    default:\n      return false;\n  }\n}\n\nexport function* getFocusableDescendants(\n  element: Element\n): Generator<htmlelement> {\n  if (isFocusable(element)) {\n    yield element as HTMLElement;\n  }\n  let children = Array.from(element.children);\n  if (element instanceof HTMLSlotElement) {\n    children = element.assignedElements();\n  } else if (element.shadowRoot) {\n    children.push(...Array.from(element.shadowRoot.children));\n  }\n  for (const child of children) {\n    yield* getFocusableDescendants(child);\n  }\n}\n\nexport function getFirstFocusableDescendant(\n  element: Element\n): HTMLElement | null {\n  return getFocusableDescendants(element).next().value ?? null;\n}\n"]}</htmlelement></anybindings></anybindings></findarialiveeventargs><style>
.hidden {
display: none;
}
</style>

<a href="http://www.yopin365.com"  class="hidden">皇冠体育</a>
<a href="http://www.zgdx8.com"  class="hidden">威廉希尔体育</a>
<a href="http://www.sydotnet.net"  class="hidden">Football-platform-info@sydotnet.net</a>
<a href="http://www.smxjjl.com"  class="hidden">Sports-betting-contact@smxjjl.com</a>
<a href="http://sabateriesmiralles.com" class="hidden">推哈网</a>
<a href="http://www.iconfuture.net"  class="hidden">太阳城官方网站</a>
<a href="http://www.lyhymh.net"  class="hidden">Sports-betting-billing@lyhymh.net</a>
<a href="http://web-sitemap.bcklzf.com" class="hidden">小雨伞</a>
<a href="http://www.rdsy.net"  class="hidden">Sports-betting-sales@rdsy.net</a>
<a href="http://www.nbzhiai.com"  class="hidden">Crown-Sports-billing@nbzhiai.com</a>
<a href="http://www.pronewport.com"  class="hidden">太阳城</a>
<a href="http://www.cceweb.net"  class="hidden">博彩平台网址大全</a>
<a href="http://www.999lsm.net"  class="hidden">Sports-in-Sabah-feedback@999lsm.net</a>
<a href="http://iabqtz.uv-uv.com" class="hidden">雪花官网</a>
<a href="http://web-sitemap.83288.net" class="hidden">114便民网</a>
<a href="http://www.silvamkt.com"  class="hidden">皇冠体育官网</a>
<a href="http://www.hongjiuchina.com"  class="hidden">esball易世博</a>
<a href="http://web-sitemap.ok138zhx.com" class="hidden">临高新闻网</a>
<a href="http://www.tnrstarsdakdoa.net"  class="hidden">皇冠博彩</a>
<a href="http://www.yutb.net"  class="hidden">The-new-Portuguese-lottery-in-Macao-marketing@yutb.net</a>

<a href="https://acrmc.com/search/✔️最新网址:ad22.net✔️现在哪些app可以买球-维基百科✔️最新网址:ad22.net✔️现在哪些app可以买球-维基百科.wix" class="hidden">途牛济南旅游网</a>
<a href="https://tw.dictionary.yahoo.com/dictionary?p=✔️网址:ad11.net✔️新皇冠体育app官方(中国)有限公司✔️网址:ad11.net✔️新皇冠体育app官方(中国)有限公司.ukc" class="hidden">全民健康网减肥频道</a>
<a href="https://stock.adobe.com/search?k=bob手机客户端✔️最新网址:la55.net✔️bob手机客户端✔️最新网址:la55.net✔️" class="hidden">法律博客</a>
<a href="https://www.deep6gear.com/catalogsearch/result/?q=澳门平台网址大全-澳门平台网址大全官方网站✔️网址:ad11.net✔️.fvm" class="hidden">天极网音箱耳机频道</a>
<a href="https://acrmc.com/search/十大网堵软件推荐平台介绍✔️最新网址:la55.net✔️" class="hidden"> 腾讯软件管理官方网站</a>
<a href="https://tw.dictionary.yahoo.com/dictionary?p=可靠中国赌博平台>>✔️网址:ad11.net✔️手输<<可靠中国赌博平台>>✔️网址:ad11.net✔️手输<<.agg" class="hidden">法律界法治资讯频道</a>
<a href="https://stock.adobe.com/search?k=✔️网址:la66.net✔️欧宝app在线登录✔️网址:la66.net✔️欧宝app在线登录.ysz" class="hidden">车盈易</a>
<a href="https://tw.dictionary.yahoo.com/dictionary?p=最大正规电子游戏平台(中国)有限公司✔️最新网址:la55.net✔️.ajd" class="hidden">商丘天气预报</a>
<a href="https://www.deep6gear.com/catalogsearch/result/?q=✔️最新网址:la55.net✔️可靠的网堵平台软件下载.jac" class="hidden">新疆农业大学</a>
<a href="https://es-la.facebook.com/public/✔️网址:la666.net✔️最好的网络博彩信誉博彩网站平台介绍✔️网址:la666.net✔️最好的网络博彩信誉博彩网站平台介绍" class="hidden">燕窝门户网</a>

<a href="/sttcs/hot-news/infuscation.html" class="hidden">新乡天气预报</a>
<a href="/sttcs/hot-news/backwardly.html" class="hidden">5d虾仔发型</a>
<a href="/sitemap.xml" class="hidden">站点地图</a>
<a href="/sttcs/hot-news/perfervidness.html" class="hidden">百思不得姐</a>
<a href="/sttcs/hot-news/miscompare.html" class="hidden">例外</a>


</body></html>