{"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;CAC/C,IAAI,CAAC,IAAI,OAAO;CAChB,MAAM,SAAS,GAAG,GAAG,MAAM,IAAI;CAC/B,OAAO,OAAO,OAAO,OAAO,SAAS,GAAG;;AAG1C,MAAa,aAAa,OAAoB;CAC5C,IAAI,CAAC,IAAI;CAET,MAAM,QAAQ,GAAG,cAAc,QAAQ;CACvC,IAAI,OACF,MAAM,OAAO;MACR,IAAI,OAAO,GAAG,EACnB,GAAG,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;EACtC,IAAI,QAAQ,IAAI;GACd,IAAI,KAAK,KAAK;GACd,aAAa,OAAO,OAAO,EAAE;GAC7B,OAAO,OAAO,OAAO,EAAE;;EAEzB,OAAO;IACN,EAAE,CAAmB;CAExB,IAAI,KAAK,GAAG,aAAa;CAEzB,OAAO"}