{"version":3,"file":"utils.mjs","sources":["../../../../../../packages/components/cascader-panel/src/utils.ts"],"sourcesContent":["import { isLeaf } from '@element-plus/utils/aria'\nimport type { default as CascaderNode } from './node'\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) => {\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"],"names":[],"mappings":";;MAGa,eAAe,CAAC,OAAoB;AAC/C,MAAI,CAAC;AAAI,WAAO;AAChB,QAAM,SAAS,GAAG,GAAG,MAAM;AAC3B,SAAO,OAAO,OAAO,OAAO,SAAS;AAAA;MAG1B,YAAY,CAAC,OAAO;AAC/B,MAAI,CAAC;AAAI;AAET,QAAM,QAAQ,GAAG,cAAc;AAC/B,MAAI,OAAO;AACT,UAAM;AAAA,aACG,OAAO,KAAK;AACrB,OAAG;AAAA;AAAA;MAIM,sBAAsB,CACjC,UACA,aACG;AACH,QAAM,eAAe,SAAS,MAAM;AACpC,QAAM,SAAS,aAAa,IAAI,CAAC,SAAS,KAAK;AAC/C,QAAM,MAAM,SAAS,OAAO,CAAC,KAAK,SAAS;AACzC,UAAM,QAAQ,OAAO,QAAQ,KAAK;AAClC,QAAI,QAAQ,IAAI;AACd,UAAI,KAAK;AACT,mBAAa,OAAO,OAAO;AAC3B,aAAO,OAAO,OAAO;AAAA;AAEvB,WAAO;AAAA,KACN;AAEH,MAAI,KAAK,GAAG;AAEZ,SAAO;AAAA;;;;"}