{"version":3,"file":"hasLabels.mjs","names":["traverseChildren","children","traversed","_iterator","_createForOfIteratorHelper","_step","s","n","done","child","value","has","add","hasAttribute","i","length","push","item","result","err","e","f","hasLabels","node","textContent","Set"],"sources":["../src/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,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIC,QAAmB,EAAEC,SAAuB,EAAc;EAAA,IAAAC,SAAA,GAAAC,0BAAA,CAC9DH,QAAQ;IAAAI,KAAA;EAAA;IAA5B,KAAAF,SAAA,CAAAG,CAAA,MAAAD,KAAA,GAAAF,SAAA,CAAAI,CAAA,IAAAC,IAAA,GAA8B;MAAA,IAAnBC,KAAK,GAAAJ,KAAA,CAAAK,KAAA;MACd,IAAIR,SAAS,CAACS,GAAG,CAACF,KAAK,CAAC,EAAE;MAC1BP,SAAS,CAACU,GAAG,CAACH,KAAK,CAAC;MACpB,IAAIA,KAAK,CAACI,YAAY,CAAC,YAAY,CAAC,EAAE,OAAO,IAAI;MACjD,IAAIJ,KAAK,CAACI,YAAY,CAAC,iBAAiB,CAAC,EAAE,OAAO,IAAI;MACtD,IAAIJ,KAAK,aAALA,KAAK,eAALA,KAAK,CAAER,QAAQ,EAAE;QACnB,IAAMA,SAAmB,GAAG,EAAE,CAAC,CAAC;QAChC,KAAK,IAAIa,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGL,KAAK,CAACR,QAAQ,CAACc,MAAM,EAAED,CAAC,EAAE,EAAEb,SAAQ,CAACe,IAAI,CAACP,KAAK,CAACR,QAAQ,CAACgB,IAAI,CAACH,CAAC,CAAC,CAAE;QACtF,IAAMI,MAAM,GAAGlB,gBAAgB,CAACC,SAAQ,EAAEC,SAAS,CAAC;QACpD,IAAIgB,MAAM,EAAE,OAAOA,MAAM;MAC3B;IACF;EAAC,SAAAC,GAAA;IAAAhB,SAAA,CAAAiB,CAAA,CAAAD,GAAA;EAAA;IAAAhB,SAAA,CAAAkB,CAAA;EAAA;EACD,OAAO,KAAK;AACd,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,IAAMC,SAAS,GAAG,SAAZA,SAASA,CAAIC,IAAwB,EAAK;EAC9C,IAAI,CAACA,IAAI,EAAE,OAAO,KAAK;EACvB,IAAIA,IAAI,CAACC,WAAW,IAAID,IAAI,CAACC,WAAW,CAACT,MAAM,GAAG,CAAC,EAAE,OAAO,IAAI;EAEhE,IAAMb,SAAS,GAAG,IAAIuB,GAAG,EAAW;EACpC,OAAOzB,gBAAgB,CAAC,CAACuB,IAAI,CAAC,EAAErB,SAAS,CAAC;AAC5C,CAAC;AAED,eAAeoB,SAAS"}