{"version":3,"file":"getAccessibleName.mjs","names":["getAccessibleName","element","_ref","_ref2","_ref3","_getByLabelledBy","getByLabelledBy","getByAriaLabel","getByLabel","getByTitle","ariaLabelledBy","getAttribute","idList","split","result","_iterator","_createForOfIteratorHelper","_step","s","n","done","id","value","label","document","getElementById","push","textContent","trim","err","e","f","join","labels","HTMLButtonElement","HTMLInputElement","length","Array","prototype","map","call","title"],"sources":["../src/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;EAAA,IAAAC,IAAA,EAAAC,KAAA,EAAAC,KAAA,EAAAC,gBAAA;EACrE,IAAIJ,OAAO,KAAK,IAAI,EAAE;IACpB,OAAO,EAAE;EACX;EAEA,QAAAC,IAAA,IAAAC,KAAA,IAAAC,KAAA,IAAAC,gBAAA,GACEC,eAAe,CAACL,OAAO,CAAC,cAAAI,gBAAA,cAAAA,gBAAA,GACxBE,cAAc,CAACN,OAAO,CAAC,cAAAG,KAAA,cAAAA,KAAA,GACvBI,UAAU,CAACP,OAAO,CAAC,cAAAE,KAAA,cAAAA,KAAA,GACnBM,UAAU,CAACR,OAAO,CAAC,cAAAC,IAAA,cAAAA,IAAA,GACnB,EAAE;AAEN;AAEA,SAASI,eAAeA,CAACL,OAAoB,EAAiB;EAC5D,IAAMS,cAAc,GAAGT,OAAO,CAACU,YAAY,CAAC,iBAAiB,CAAC;EAE9D,IAAI,CAACD,cAAc,EAAE;IACnB,OAAO,IAAI;EACb;EAEA,IAAME,MAAM,GAAGF,cAAc,CAACG,KAAK,CAAC,IAAI,CAAC;EACzC,IAAMC,MAAgB,GAAG,EAAE;EAAC,IAAAC,SAAA,GAAAC,0BAAA,CAEXJ,MAAM;IAAAK,KAAA;EAAA;IAAvB,KAAAF,SAAA,CAAAG,CAAA,MAAAD,KAAA,GAAAF,SAAA,CAAAI,CAAA,IAAAC,IAAA,GAAyB;MAAA,IAAdC,EAAE,GAAAJ,KAAA,CAAAK,KAAA;MACX,IAAMC,KAAK,GAAGC,QAAQ,CAACC,cAAc,CAACJ,EAAE,CAAC;MAEzC,IAAIE,KAAK,EAAE;QACTT,MAAM,CAACY,IAAI,CAAC,CAACH,KAAK,CAACI,WAAW,IAAI,EAAE,EAAEC,IAAI,EAAE,CAAC;MAC/C;IACF;EAAC,SAAAC,GAAA;IAAAd,SAAA,CAAAe,CAAA,CAAAD,GAAA;EAAA;IAAAd,SAAA,CAAAgB,CAAA;EAAA;EAED,OAAOjB,MAAM,CAACkB,IAAI,CAAC,GAAG,CAAC;AACzB;AACA,SAASzB,cAAcA,CAACN,OAAoB,EAAiB;EAC3D,OAAOA,OAAO,CAACU,YAAY,CAAC,YAAY,CAAC;AAC3C;AACA,SAASH,UAAUA,CAACP,OAAoB,EAAiB;EACvD,IAAMgC,MAAM,GACV,CAAChC,OAAO,YAAYiC,iBAAiB,IAAIjC,OAAO,YAAYkC,gBAAgB,KAAKlC,OAAO,CAACgC,MAAM;EAEjG,IAAI,CAACA,MAAM,IAAI,CAACA,MAAM,CAACG,MAAM,EAAE;IAC7B,OAAO,IAAI;EACb;EAEA,IAAMtB,MAAM,GAAGuB,KAAK,CAACC,SAAS,CAACC,GAAG,CAACC,IAAI,CAACP,MAAM,EAAE,UAACV,KAAuB,EAAK;IAC3E,OAAO,CAACA,KAAK,CAACI,WAAW,IAAI,EAAE,EAAEC,IAAI,EAAE;EACzC,CAAC,CAAC;EAEF,OAAOd,MAAM,CAACkB,IAAI,CAAC,GAAG,CAAC;AACzB;AAEA,SAASvB,UAAUA,CAACR,OAAoB,EAAiB;EACvD,OAAOA,OAAO,CAACwC,KAAK;AACtB"}