{"version":3,"file":"get-children-nodes-values.cjs","names":[],"sources":["../../../../src/components/Tree/get-children-nodes-values/get-children-nodes-values.ts"],"sourcesContent":["import type { TreeNodeData } from '../Tree';\n\nexport function findTreeNode(value: string, data: TreeNodeData[]): TreeNodeData | null {\n  for (const node of data) {\n    if (node.value === value) {\n      return node;\n    }\n\n    if (Array.isArray(node.children)) {\n      const childNode = findTreeNode(value, node.children);\n      if (childNode) {\n        return childNode;\n      }\n    }\n  }\n\n  return null;\n}\n\n// Returns values for all nested nodes which do not have children\nexport function getChildrenNodesValues(\n  value: string,\n  data: TreeNodeData[],\n  acc: string[] = []\n): string[] {\n  const node = findTreeNode(value, data);\n  if (!node) {\n    return acc;\n  }\n\n  if (!Array.isArray(node.children) || node.children.length === 0) {\n    return [node.value];\n  }\n\n  node.children.forEach((child) => {\n    if (Array.isArray(child.children) && child.children.length > 0) {\n      getChildrenNodesValues(child.value, data, acc);\n    } else {\n      acc.push(child.value);\n    }\n  });\n\n  return acc;\n}\n\nexport function getAllChildrenNodes(data: TreeNodeData[]) {\n  return data.reduce((acc, node) => {\n    if (Array.isArray(node.children) && node.children.length > 0) {\n      acc.push(...getAllChildrenNodes(node.children));\n    } else {\n      acc.push(node.value);\n    }\n\n    return acc;\n  }, [] as string[]);\n}\n"],"mappings":";;AAEA,SAAgB,aAAa,OAAe,MAA2C;AACrF,MAAK,MAAM,QAAQ,MAAM;AACvB,MAAI,KAAK,UAAU,MACjB,QAAO;AAGT,MAAI,MAAM,QAAQ,KAAK,SAAS,EAAE;GAChC,MAAM,YAAY,aAAa,OAAO,KAAK,SAAS;AACpD,OAAI,UACF,QAAO;;;AAKb,QAAO;;AAIT,SAAgB,uBACd,OACA,MACA,MAAgB,EAAE,EACR;CACV,MAAM,OAAO,aAAa,OAAO,KAAK;AACtC,KAAI,CAAC,KACH,QAAO;AAGT,KAAI,CAAC,MAAM,QAAQ,KAAK,SAAS,IAAI,KAAK,SAAS,WAAW,EAC5D,QAAO,CAAC,KAAK,MAAM;AAGrB,MAAK,SAAS,SAAS,UAAU;AAC/B,MAAI,MAAM,QAAQ,MAAM,SAAS,IAAI,MAAM,SAAS,SAAS,EAC3D,wBAAuB,MAAM,OAAO,MAAM,IAAI;MAE9C,KAAI,KAAK,MAAM,MAAM;GAEvB;AAEF,QAAO;;AAGT,SAAgB,oBAAoB,MAAsB;AACxD,QAAO,KAAK,QAAQ,KAAK,SAAS;AAChC,MAAI,MAAM,QAAQ,KAAK,SAAS,IAAI,KAAK,SAAS,SAAS,EACzD,KAAI,KAAK,GAAG,oBAAoB,KAAK,SAAS,CAAC;MAE/C,KAAI,KAAK,KAAK,MAAM;AAGtB,SAAO;IACN,EAAE,CAAa"}