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 lines
4.2 KiB
1 lines
4.2 KiB
{"ast":null,"code":"import { defineComponent } from 'vue';\nimport { flattedChildren } from '../../../utils/vue/vnode.mjs';\nimport { isArray } from '@vue/shared';\nvar ElTourSteps = defineComponent({\n name: \"ElTourSteps\",\n props: {\n current: {\n type: Number,\n default: 0\n }\n },\n emits: [\"update-total\"],\n setup(props, {\n slots,\n emit\n }) {\n let cacheTotal = 0;\n return () => {\n var _a, _b;\n const children = (_a = slots.default) == null ? void 0 : _a.call(slots);\n const result = [];\n let total = 0;\n function filterSteps(children2) {\n if (!isArray(children2)) return;\n children2.forEach(item => {\n var _a2;\n const name = (_a2 = (item == null ? void 0 : item.type) || {}) == null ? void 0 : _a2.name;\n if (name === \"ElTourStep\") {\n result.push(item);\n total += 1;\n }\n });\n }\n if (children.length) {\n filterSteps(flattedChildren((_b = children[0]) == null ? void 0 : _b.children));\n }\n if (cacheTotal !== total) {\n cacheTotal = total;\n emit(\"update-total\", total);\n }\n if (result.length) {\n return result[props.current];\n }\n return null;\n };\n }\n});\nexport { ElTourSteps as default };","map":{"version":3,"names":["ElTourSteps","defineComponent","name","props","current","type","Number","default","emits","setup","slots","emit","cacheTotal","_a","_b","children","call","result","total","filterSteps","children2","isArray","forEach","item","_a2","push","length","flattedChildren"],"sources":["../../../../../../packages/components/tour/src/steps.ts"],"sourcesContent":["import { defineComponent } from 'vue'\nimport { flattedChildren, isArray } from '@element-plus/utils'\nimport type { FlattenVNodes } from '@element-plus/utils'\nimport type { Component, VNode } from 'vue'\n\nexport default defineComponent({\n name: 'ElTourSteps',\n props: {\n current: {\n type: Number,\n default: 0,\n },\n },\n emits: ['update-total'],\n setup(props, { slots, emit }) {\n let cacheTotal = 0\n\n return () => {\n const children = slots.default?.()!\n const result: VNode[] = []\n let total = 0\n\n function filterSteps(children?: FlattenVNodes) {\n if (!isArray(children)) return\n ;(children as VNode[]).forEach((item) => {\n const name = ((item?.type || {}) as Component)?.name\n\n if (name === 'ElTourStep') {\n result.push(item)\n total += 1\n }\n })\n }\n\n if (children.length) {\n filterSteps(flattedChildren(children![0]?.children))\n }\n\n if (cacheTotal !== total) {\n cacheTotal = total\n emit('update-total', total)\n }\n\n if (result.length) {\n return result[props.current]\n }\n return null\n }\n },\n})\n"],"mappings":";;;AAEA,IAAAA,WAAA,GAAeC,eAAe,CAAC;EAC7BC,IAAI,EAAE,aAAa;EACnBC,KAAK,EAAE;IACLC,OAAO,EAAE;MACPC,IAAI,EAAEC,MAAM;MACZC,OAAO,EAAE;IACf;EACA,CAAG;EACDC,KAAK,EAAE,CAAC,cAAc,CAAC;EACvBC,KAAKA,CAACN,KAAK,EAAE;IAAEO,KAAK;IAAEC;EAAI,CAAE,EAAE;IAC5B,IAAIC,UAAU,GAAG,CAAC;IAClB,OAAO,MAAM;MACX,IAAIC,EAAE,EAAEC,EAAE;MACV,MAAMC,QAAQ,GAAG,CAACF,EAAE,GAAGH,KAAK,CAACH,OAAO,KAAK,IAAI,GAAG,KAAK,CAAC,GAAGM,EAAE,CAACG,IAAI,CAACN,KAAK,CAAC;MACvE,MAAMO,MAAM,GAAG,EAAE;MACjB,IAAIC,KAAK,GAAG,CAAC;MACb,SAASC,WAAWA,CAACC,SAAS,EAAE;QAC9B,IAAI,CAACC,OAAO,CAACD,SAAS,CAAC,EACrB;QACFA,SAAS,CAACE,OAAO,CAAEC,IAAI,IAAK;UAC1B,IAAIC,GAAG;UACP,MAAMtB,IAAI,GAAG,CAACsB,GAAG,GAAG,CAACD,IAAI,IAAI,IAAI,GAAG,KAAK,CAAC,GAAGA,IAAI,CAAClB,IAAI,KAAK,EAAE,KAAK,IAAI,GAAG,KAAK,CAAC,GAAGmB,GAAG,CAACtB,IAAI;UAC1F,IAAIA,IAAI,KAAK,YAAY,EAAE;YACzBe,MAAM,CAACQ,IAAI,CAACF,IAAI,CAAC;YACjBL,KAAK,IAAI,CAAC;UACtB;QACA,CAAS,CAAC;MACV;MACM,IAAIH,QAAQ,CAACW,MAAM,EAAE;QACnBP,WAAW,CAACQ,eAAe,CAAC,CAACb,EAAE,GAAGC,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,GAAGD,EAAE,CAACC,QAAQ,CAAC,CAAC;MACvF;MACM,IAAIH,UAAU,KAAKM,KAAK,EAAE;QACxBN,UAAU,GAAGM,KAAK;QAClBP,IAAI,CAAC,cAAc,EAAEO,KAAK,CAAC;MACnC;MACM,IAAID,MAAM,CAACS,MAAM,EAAE;QACjB,OAAOT,MAAM,CAACd,KAAK,CAACC,OAAO,CAAC;MACpC;MACM,OAAO,IAAI;IACjB,CAAK;EACL;AACA,CAAC,CAAC","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
|