{"version":3,"file":"hasLabels.mjs","names":["traverseChildren","children","traversed","child","has","add","hasAttribute","i","length","push","item","result","hasLabels","node","textContent","Set"],"sources":["../../src/utils/hasLabels.ts"],"sourcesContent":["const traverseChildren = (children: Element[], traversed: Set<Element>): boolean => {\n  for (const child of children) {\n    if (traversed.has(child)) continue;\n    traversed.add(child);\n    if (child.hasAttribute('aria-label')) return true;\n    if (child.hasAttribute('aria-labelledby')) return true;\n    if (child?.children) {\n      const children: Element[] = []; // to exclude need of `[Symbol.iterator]()` in libs. May be replaced with simpler `[...child.children]` some day.\n      for (let i = 0; i < child.children.length; i++) children.push(child.children.item(i)!);\n      const result = traverseChildren(children, traversed);\n      if (result) return result;\n    }\n  }\n  return false;\n};\n\n/**\n * Traverses over all nested dom nodes and return true only if\n * dom node or it's children have text, aria-label attribute or\n * aria-labelledby attribute\n */\nconst hasLabels = (node: HTMLElement | null) => {\n  if (!node) return false;\n  if (node.textContent && node.textContent.length > 0) return true;\n\n  const traversed = new Set<Element>();\n  return traverseChildren([node], traversed);\n};\n\nexport default hasLabels;\n"],"mappings":"AAAA,MAAMA,gBAAgB,GAAGA,CAACC,QAAmB,EAAEC,SAAuB,KAAc;EAClF,KAAK,MAAMC,KAAK,IAAIF,QAAQ,EAAE;IAC5B,IAAIC,SAAS,CAACE,GAAG,CAACD,KAAK,CAAC,EAAE;IAC1BD,SAAS,CAACG,GAAG,CAACF,KAAK,CAAC;IACpB,IAAIA,KAAK,CAACG,YAAY,CAAC,YAAY,CAAC,EAAE,OAAO,IAAI;IACjD,IAAIH,KAAK,CAACG,YAAY,CAAC,iBAAiB,CAAC,EAAE,OAAO,IAAI;IACtD,IAAIH,KAAK,EAAEF,QAAQ,EAAE;MACnB,MAAMA,QAAmB,GAAG,EAAE,CAAC,CAAC;MAChC,KAAK,IAAIM,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGJ,KAAK,CAACF,QAAQ,CAACO,MAAM,EAAED,CAAC,EAAE,EAAEN,QAAQ,CAACQ,IAAI,CAACN,KAAK,CAACF,QAAQ,CAACS,IAAI,CAACH,CAAC,CAAE,CAAC;MACtF,MAAMI,MAAM,GAAGX,gBAAgB,CAACC,QAAQ,EAAEC,SAAS,CAAC;MACpD,IAAIS,MAAM,EAAE,OAAOA,MAAM;IAC3B;EACF;EACA,OAAO,KAAK;AACd,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,MAAMC,SAAS,GAAIC,IAAwB,IAAK;EAC9C,IAAI,CAACA,IAAI,EAAE,OAAO,KAAK;EACvB,IAAIA,IAAI,CAACC,WAAW,IAAID,IAAI,CAACC,WAAW,CAACN,MAAM,GAAG,CAAC,EAAE,OAAO,IAAI;EAEhE,MAAMN,SAAS,GAAG,IAAIa,GAAG,CAAU,CAAC;EACpC,OAAOf,gBAAgB,CAAC,CAACa,IAAI,CAAC,EAAEX,SAAS,CAAC;AAC5C,CAAC;AAED,eAAeU,SAAS","ignoreList":[]}