{"version":3,"file":"util.mjs","sources":["../../../../../packages/components/select/src/util.ts"],"sourcesContent":["import type { Option, OptionGroup } from './select.types'\n\n/**\n * 选项碾平, 主要是碾平可能存在的分组\n * @param options 选项\n */\nexport const flattenOptions = (\n  options: Array<Option | OptionGroup<Option>>\n) => {\n  const flattened: Option[] = []\n  options.forEach(option => {\n    if (Array.isArray(option.options)) {\n      if (!option.options.length) return\n      // 分组标题\n      flattened.push({\n        label: option.label,\n        isTitle: true,\n        type: 'Group',\n        value: option.value\n      })\n      // 分组项\n      option.options.forEach((o: Option) => flattened.push(o))\n      // 分割线\n      flattened.push({\n        type: 'Group',\n        isTitle: false,\n        value: null,\n        label: ''\n      })\n    } else {\n      flattened.push(option as Option)\n    }\n  })\n\n  return flattened\n}\n"],"names":[],"mappings":"AAMa,MAAA,cAAA,GAAiB,CAC5B,OACG,KAAA;AACH,EAAA,MAAM,YAAsB,EAAC,CAAA;AAC7B,EAAA,OAAA,CAAQ,QAAQ,CAAU,MAAA,KAAA;AACxB,IAAA,IAAI,KAAM,CAAA,OAAA,CAAQ,MAAO,CAAA,OAAO,CAAG,EAAA;AACjC,MAAI,IAAA,CAAC,OAAO,OAAQ,CAAA,MAAA;AAAQ,QAAA,OAAA;AAE5B,MAAA,SAAA,CAAU,IAAK,CAAA;AAAA,QACb,OAAO,MAAO,CAAA,KAAA;AAAA,QACd,OAAS,EAAA,IAAA;AAAA,QACT,IAAM,EAAA,OAAA;AAAA,QACN,OAAO,MAAO,CAAA,KAAA;AAAA,OACf,CAAA,CAAA;AAED,MAAA,MAAA,CAAO,QAAQ,OAAQ,CAAA,CAAC,MAAc,SAAU,CAAA,IAAA,CAAK,CAAC,CAAC,CAAA,CAAA;AAEvD,MAAA,SAAA,CAAU,IAAK,CAAA;AAAA,QACb,IAAM,EAAA,OAAA;AAAA,QACN,OAAS,EAAA,KAAA;AAAA,QACT,KAAO,EAAA,IAAA;AAAA,QACP,KAAO,EAAA,EAAA;AAAA,OACR,CAAA,CAAA;AAAA,KACI,MAAA;AACL,MAAA,SAAA,CAAU,KAAK,MAAgB,CAAA,CAAA;AAAA,KACjC;AAAA,GACD,CAAA,CAAA;AAED,EAAO,OAAA,SAAA,CAAA;AACT;;;;"}