{"version":3,"file":"getAccessibleName.mjs","names":["getAccessibleName","element","getByLabelledBy","getByAriaLabel","getByLabel","getByTitle","ariaLabelledBy","getAttribute","idList","split","result","id","label","document","getElementById","push","textContent","trim","join","labels","HTMLButtonElement","HTMLInputElement","length","Array","prototype","map","call","title"],"sources":["../../src/utils/getAccessibleName.ts"],"sourcesContent":["export function getAccessibleName(element: HTMLElement | null): string {\n  if (element === null) {\n    return '';\n  }\n\n  return (\n    getByLabelledBy(element) ??\n    getByAriaLabel(element) ??\n    getByLabel(element) ??\n    getByTitle(element) ??\n    ''\n  );\n}\n\nfunction getByLabelledBy(element: HTMLElement): string | null {\n  const ariaLabelledBy = element.getAttribute('aria-labelledby');\n\n  if (!ariaLabelledBy) {\n    return null;\n  }\n\n  const idList = ariaLabelledBy.split(/\\s/);\n  const result: string[] = [];\n\n  for (const id of idList) {\n    const label = document.getElementById(id);\n\n    if (label) {\n      result.push((label.textContent || '').trim());\n    }\n  }\n\n  return result.join(' ');\n}\nfunction getByAriaLabel(element: HTMLElement): string | null {\n  return element.getAttribute('aria-label');\n}\nfunction getByLabel(element: HTMLElement): string | null {\n  const labels =\n    (element instanceof HTMLButtonElement || element instanceof HTMLInputElement) && element.labels;\n\n  if (!labels || !labels.length) {\n    return null;\n  }\n\n  const result = Array.prototype.map.call(labels, (label: HTMLLabelElement) => {\n    return (label.textContent || '').trim();\n  });\n\n  return result.join(' ');\n}\n\nfunction getByTitle(element: HTMLElement): string | null {\n  return element.title;\n}\n"],"mappings":"AAAA,OAAO,SAASA,iBAAiBA,CAACC,OAA2B,EAAU;EACrE,IAAIA,OAAO,KAAK,IAAI,EAAE;IACpB,OAAO,EAAE;EACX;EAEA,OACEC,eAAe,CAACD,OAAO,CAAC,IACxBE,cAAc,CAACF,OAAO,CAAC,IACvBG,UAAU,CAACH,OAAO,CAAC,IACnBI,UAAU,CAACJ,OAAO,CAAC,IACnB,EAAE;AAEN;AAEA,SAASC,eAAeA,CAACD,OAAoB,EAAiB;EAC5D,MAAMK,cAAc,GAAGL,OAAO,CAACM,YAAY,CAAC,iBAAiB,CAAC;EAE9D,IAAI,CAACD,cAAc,EAAE;IACnB,OAAO,IAAI;EACb;EAEA,MAAME,MAAM,GAAGF,cAAc,CAACG,KAAK,CAAC,IAAI,CAAC;EACzC,MAAMC,MAAgB,GAAG,EAAE;EAE3B,KAAK,MAAMC,EAAE,IAAIH,MAAM,EAAE;IACvB,MAAMI,KAAK,GAAGC,QAAQ,CAACC,cAAc,CAACH,EAAE,CAAC;IAEzC,IAAIC,KAAK,EAAE;MACTF,MAAM,CAACK,IAAI,CAAC,CAACH,KAAK,CAACI,WAAW,IAAI,EAAE,EAAEC,IAAI,CAAC,CAAC,CAAC;IAC/C;EACF;EAEA,OAAOP,MAAM,CAACQ,IAAI,CAAC,GAAG,CAAC;AACzB;AACA,SAASf,cAAcA,CAACF,OAAoB,EAAiB;EAC3D,OAAOA,OAAO,CAACM,YAAY,CAAC,YAAY,CAAC;AAC3C;AACA,SAASH,UAAUA,CAACH,OAAoB,EAAiB;EACvD,MAAMkB,MAAM,GACV,CAAClB,OAAO,YAAYmB,iBAAiB,IAAInB,OAAO,YAAYoB,gBAAgB,KAAKpB,OAAO,CAACkB,MAAM;EAEjG,IAAI,CAACA,MAAM,IAAI,CAACA,MAAM,CAACG,MAAM,EAAE;IAC7B,OAAO,IAAI;EACb;EAEA,MAAMZ,MAAM,GAAGa,KAAK,CAACC,SAAS,CAACC,GAAG,CAACC,IAAI,CAACP,MAAM,EAAGP,KAAuB,IAAK;IAC3E,OAAO,CAACA,KAAK,CAACI,WAAW,IAAI,EAAE,EAAEC,IAAI,CAAC,CAAC;EACzC,CAAC,CAAC;EAEF,OAAOP,MAAM,CAACQ,IAAI,CAAC,GAAG,CAAC;AACzB;AAEA,SAASb,UAAUA,CAACJ,OAAoB,EAAiB;EACvD,OAAOA,OAAO,CAAC0B,KAAK;AACtB","ignoreList":[]}