{"version":3,"file":"get-all-checked-nodes.cjs","sources":["../../../../src/components/Tree/get-all-checked-nodes/get-all-checked-nodes.ts"],"sourcesContent":["import type { TreeNodeData } from '../Tree';\n\nexport interface CheckedNodeStatus {\n  checked: boolean;\n  indeterminate: boolean;\n  hasChildren: boolean;\n  value: string;\n}\n\nexport function getAllCheckedNodes(\n  data: TreeNodeData[],\n  checkedState: string[],\n  acc: CheckedNodeStatus[] = []\n) {\n  const currentTreeChecked: CheckedNodeStatus[] = [];\n\n  for (const node of data) {\n    if (Array.isArray(node.children) && node.children.length > 0) {\n      const innerChecked = getAllCheckedNodes(node.children, checkedState, acc);\n      if (innerChecked.currentTreeChecked.length === node.children.length) {\n        const isChecked = innerChecked.currentTreeChecked.every((item) => item.checked);\n        const item = {\n          checked: isChecked,\n          indeterminate: !isChecked,\n          value: node.value,\n          hasChildren: true,\n        };\n        currentTreeChecked.push(item);\n        acc.push(item);\n      } else if (innerChecked.currentTreeChecked.length > 0) {\n        const item = { checked: false, indeterminate: true, value: node.value, hasChildren: true };\n        currentTreeChecked.push(item);\n        acc.push(item);\n      }\n    } else if (checkedState.includes(node.value)) {\n      const item: CheckedNodeStatus = {\n        checked: true,\n        indeterminate: false,\n        value: node.value,\n        hasChildren: false,\n      };\n      currentTreeChecked.push(item);\n      acc.push(item);\n    }\n  }\n\n  return { result: acc, currentTreeChecked };\n}\n"],"names":["item"],"mappings":";;AASO,SAAS,kBACd,CAAA,IAAA,EACA,YACA,EAAA,GAAA,GAA2B,EAC3B,EAAA;AACA,EAAA,MAAM,qBAA0C,EAAC;AAEjD,EAAA,KAAA,MAAW,QAAQ,IAAM,EAAA;AACvB,IAAI,IAAA,KAAA,CAAM,QAAQ,IAAK,CAAA,QAAQ,KAAK,IAAK,CAAA,QAAA,CAAS,SAAS,CAAG,EAAA;AAC5D,MAAA,MAAM,YAAe,GAAA,kBAAA,CAAmB,IAAK,CAAA,QAAA,EAAU,cAAc,GAAG,CAAA;AACxE,MAAA,IAAI,YAAa,CAAA,kBAAA,CAAmB,MAAW,KAAA,IAAA,CAAK,SAAS,MAAQ,EAAA;AACnE,QAAA,MAAM,YAAY,YAAa,CAAA,kBAAA,CAAmB,MAAM,CAACA,KAAAA,KAASA,MAAK,OAAO,CAAA;AAC9E,QAAA,MAAM,IAAO,GAAA;AAAA,UACX,OAAS,EAAA,SAAA;AAAA,UACT,eAAe,CAAC,SAAA;AAAA,UAChB,OAAO,IAAK,CAAA,KAAA;AAAA,UACZ,WAAa,EAAA;AAAA,SACf;AACA,QAAA,kBAAA,CAAmB,KAAK,IAAI,CAAA;AAC5B,QAAA,GAAA,CAAI,KAAK,IAAI,CAAA;AAAA,OACJ,MAAA,IAAA,YAAA,CAAa,kBAAmB,CAAA,MAAA,GAAS,CAAG,EAAA;AACrD,QAAM,MAAA,IAAA,GAAO,EAAE,OAAA,EAAS,KAAO,EAAA,aAAA,EAAe,MAAM,KAAO,EAAA,IAAA,CAAK,KAAO,EAAA,WAAA,EAAa,IAAK,EAAA;AACzF,QAAA,kBAAA,CAAmB,KAAK,IAAI,CAAA;AAC5B,QAAA,GAAA,CAAI,KAAK,IAAI,CAAA;AAAA;AACf,KACS,MAAA,IAAA,YAAA,CAAa,QAAS,CAAA,IAAA,CAAK,KAAK,CAAG,EAAA;AAC5C,MAAA,MAAM,IAA0B,GAAA;AAAA,QAC9B,OAAS,EAAA,IAAA;AAAA,QACT,aAAe,EAAA,KAAA;AAAA,QACf,OAAO,IAAK,CAAA,KAAA;AAAA,QACZ,WAAa,EAAA;AAAA,OACf;AACA,MAAA,kBAAA,CAAmB,KAAK,IAAI,CAAA;AAC5B,MAAA,GAAA,CAAI,KAAK,IAAI,CAAA;AAAA;AACf;AAGF,EAAO,OAAA,EAAE,MAAQ,EAAA,GAAA,EAAK,kBAAmB,EAAA;AAC3C;;;;"}