You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1 line
5.4 KiB

{"ast":null,"code":"import \"core-js/modules/es.array.push.js\";\nimport { defineComponent, inject } from 'vue';\nimport { isEqual } from 'lodash-unified';\nimport '../../../utils/index.mjs';\nimport { selectKey } from './token.mjs';\nimport { isArray, isString, isFunction } from '@vue/shared';\nvar ElOptions = defineComponent({\n name: \"ElOptions\",\n setup(_, {\n slots\n }) {\n const select = inject(selectKey);\n let cachedValueList = [];\n return () => {\n var _a, _b;\n const children = (_a = slots.default) == null ? void 0 : _a.call(slots);\n const valueList = [];\n function filterOptions(children2) {\n if (!isArray(children2)) return;\n children2.forEach(item => {\n var _a2, _b2, _c, _d;\n const name = (_a2 = (item == null ? void 0 : item.type) || {}) == null ? void 0 : _a2.name;\n if (name === \"ElOptionGroup\") {\n filterOptions(!isString(item.children) && !isArray(item.children) && isFunction((_b2 = item.children) == null ? void 0 : _b2.default) ? (_c = item.children) == null ? void 0 : _c.default() : item.children);\n } else if (name === \"ElOption\") {\n valueList.push((_d = item.props) == null ? void 0 : _d.value);\n } else if (isArray(item.children)) {\n filterOptions(item.children);\n }\n });\n }\n if (children.length) {\n filterOptions((_b = children[0]) == null ? void 0 : _b.children);\n }\n if (!isEqual(valueList, cachedValueList)) {\n cachedValueList = valueList;\n if (select) {\n select.states.optionValues = valueList;\n }\n }\n return children;\n };\n }\n});\nexport { ElOptions as default };","map":{"version":3,"names":["ElOptions","defineComponent","name","setup","_","slots","select","inject","selectKey","cachedValueList","_a","_b","children","default","call","valueList","filterOptions","children2","isArray","forEach","item","_a2","_b2","_c","_d","type","isString","isFunction","push","props","value","length","isEqual","states","optionValues"],"sources":["../../../../../../packages/components/select/src/options.ts"],"sourcesContent":["import { defineComponent, inject } from 'vue'\nimport { isEqual } from 'lodash-unified'\nimport { isArray, isFunction, isString } from '@element-plus/utils'\nimport { selectKey } from './token'\nimport type { Component, VNode, VNodeNormalizedChildren } from 'vue'\n\nexport default defineComponent({\n name: 'ElOptions',\n setup(_, { slots }) {\n const select = inject(selectKey)\n let cachedValueList: any[] = []\n\n return () => {\n const children = slots.default?.()!\n const valueList: any[] = []\n\n function filterOptions(children?: VNodeNormalizedChildren) {\n if (!isArray(children)) return\n ;(children as VNode[]).forEach((item) => {\n const name = ((item?.type || {}) as Component)?.name\n\n if (name === 'ElOptionGroup') {\n filterOptions(\n !isString(item.children) &&\n !isArray(item.children) &&\n isFunction(item.children?.default)\n ? item.children?.default()\n : item.children\n )\n } else if (name === 'ElOption') {\n valueList.push(item.props?.value)\n } else if (isArray(item.children)) {\n filterOptions(item.children)\n }\n })\n }\n\n if (children.length) {\n filterOptions(children[0]?.children)\n }\n\n if (!isEqual(valueList, cachedValueList)) {\n cachedValueList = valueList\n if (select) {\n select.states.optionValues = valueList\n }\n }\n\n return children\n }\n },\n})\n"],"mappings":";;;;;;AAIA,IAAAA,SAAA,GAAeC,eAAe,CAAC;EAC7BC,IAAI,EAAE,WAAW;EACjBC,KAAKA,CAACC,CAAC,EAAE;IAAEC;EAAK,CAAE,EAAE;IAClB,MAAMC,MAAM,GAAGC,MAAM,CAACC,SAAS,CAAC;IAChC,IAAIC,eAAe,GAAG,EAAE;IACxB,OAAO,MAAM;MACX,IAAIC,EAAE,EAAEC,EAAE;MACV,MAAMC,QAAQ,GAAG,CAACF,EAAE,GAAGL,KAAK,CAACQ,OAAO,KAAK,IAAI,GAAG,KAAK,CAAC,GAAGH,EAAE,CAACI,IAAI,CAACT,KAAK,CAAC;MACvE,MAAMU,SAAS,GAAG,EAAE;MACpB,SAASC,aAAaA,CAACC,SAAS,EAAE;QAChC,IAAI,CAACC,OAAO,CAACD,SAAS,CAAC,EACrB;QACFA,SAAS,CAACE,OAAO,CAAEC,IAAI,IAAK;UAC1B,IAAIC,GAAG,EAAEC,GAAG,EAAEC,EAAE,EAAEC,EAAE;UACpB,MAAMtB,IAAI,GAAG,CAACmB,GAAG,GAAG,CAACD,IAAI,IAAI,IAAI,GAAG,KAAK,CAAC,GAAGA,IAAI,CAACK,IAAI,KAAK,EAAE,KAAK,IAAI,GAAG,KAAK,CAAC,GAAGJ,GAAG,CAACnB,IAAI;UAC1F,IAAIA,IAAI,KAAK,eAAe,EAAE;YAC5Bc,aAAa,CAAC,CAACU,QAAQ,CAACN,IAAI,CAACR,QAAQ,CAAC,IAAI,CAACM,OAAO,CAACE,IAAI,CAACR,QAAQ,CAAC,IAAIe,UAAU,CAAC,CAACL,GAAG,GAAGF,IAAI,CAACR,QAAQ,KAAK,IAAI,GAAG,KAAK,CAAC,GAAGU,GAAG,CAACT,OAAO,CAAC,GAAG,CAACU,EAAE,GAAGH,IAAI,CAACR,QAAQ,KAAK,IAAI,GAAG,KAAK,CAAC,GAAGW,EAAE,CAACV,OAAO,EAAE,GAAGO,IAAI,CAACR,QAAQ,CAAC;UACzN,CAAW,MAAM,IAAIV,IAAI,KAAK,UAAU,EAAE;YAC9Ba,SAAS,CAACa,IAAI,CAAC,CAACJ,EAAE,GAAGJ,IAAI,CAACS,KAAK,KAAK,IAAI,GAAG,KAAK,CAAC,GAAGL,EAAE,CAACM,KAAK,CAAC;UACzE,CAAW,MAAM,IAAIZ,OAAO,CAACE,IAAI,CAACR,QAAQ,CAAC,EAAE;YACjCI,aAAa,CAACI,IAAI,CAACR,QAAQ,CAAC;UACxC;QACA,CAAS,CAAC;MACV;MACM,IAAIA,QAAQ,CAACmB,MAAM,EAAE;QACnBf,aAAa,CAAC,CAACL,EAAE,GAAGC,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,GAAGD,EAAE,CAACC,QAAQ,CAAC;MACxE;MACM,IAAI,CAACoB,OAAO,CAACjB,SAAS,EAAEN,eAAe,CAAC,EAAE;QACxCA,eAAe,GAAGM,SAAS;QAC3B,IAAIT,MAAM,EAAE;UACVA,MAAM,CAAC2B,MAAM,CAACC,YAAY,GAAGnB,SAAS;QAChD;MACA;MACM,OAAOH,QAAQ;IACrB,CAAK;EACL;AACA,CAAC,CAAC","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}