{"version":3,"file":"utils.mjs","names":[],"sources":["../../../../../../packages/components/cascader-panel/src/utils.ts"],"sourcesContent":["import { isLeaf } from '@element-plus/utils'\n\nimport type { CascaderNode } from './types'\n\nexport const getMenuIndex = (el: HTMLElement) => {\n  if (!el) return 0\n  const pieces = el.id.split('-')\n  return Number(pieces[pieces.length - 2])\n}\n\nexport const checkNode = (el: HTMLElement) => {\n  if (!el) return\n\n  const input = el.querySelector('input')\n  if (input) {\n    input.click()\n  } else if (isLeaf(el)) {\n    el.click()\n  }\n}\n\nexport const sortByOriginalOrder = (\n  oldNodes: CascaderNode[],\n  newNodes: CascaderNode[]\n) => {\n  const newNodesCopy = newNodes.slice(0)\n  const newIds = newNodesCopy.map((node) => node.uid)\n  const res = oldNodes.reduce((acc, item) => {\n    const index = newIds.indexOf(item.uid)\n    if (index > -1) {\n      acc.push(item)\n      newNodesCopy.splice(index, 1)\n      newIds.splice(index, 1)\n    }\n    return acc\n  }, [] as CascaderNode[])\n\n  res.push(...newNodesCopy)\n\n  return res\n}\n"],"mappings":";;;AAIA,MAAa,gBAAgB,OAAoB;AAC/C,KAAI,CAAC,GAAI,QAAO;CAChB,MAAM,SAAS,GAAG,GAAG,MAAM,IAAI;AAC/B,QAAO,OAAO,OAAO,OAAO,SAAS,GAAG;;AAG1C,MAAa,aAAa,OAAoB;AAC5C,KAAI,CAAC,GAAI;CAET,MAAM,QAAQ,GAAG,cAAc,QAAQ;AACvC,KAAI,MACF,OAAM,OAAO;UACJ,OAAO,GAAG,CACnB,IAAG,OAAO;;AAId,MAAa,uBACX,UACA,aACG;CACH,MAAM,eAAe,SAAS,MAAM,EAAE;CACtC,MAAM,SAAS,aAAa,KAAK,SAAS,KAAK,IAAI;CACnD,MAAM,MAAM,SAAS,QAAQ,KAAK,SAAS;EACzC,MAAM,QAAQ,OAAO,QAAQ,KAAK,IAAI;AACtC,MAAI,QAAQ,IAAI;AACd,OAAI,KAAK,KAAK;AACd,gBAAa,OAAO,OAAO,EAAE;AAC7B,UAAO,OAAO,OAAO,EAAE;;AAEzB,SAAO;IACN,EAAE,CAAmB;AAExB,KAAI,KAAK,GAAG,aAAa;AAEzB,QAAO"}