{"version":3,"file":"steps.mjs","sources":["../../../../../../../packages/components/tour/src/steps.ts"],"sourcesContent":["import { defineComponent } from 'vue'\nimport { flattedChildren, isArray } from '@hd-front-end/utils'\n\nimport type { FlattenVNodes } from '@hd-front-end/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"],"names":["children","_a"],"mappings":";;;;AAMA,kBAAe,eAAgB,CAAA;AAAA,EAC7B,IAAM,EAAA,aAAA;AAAA,EACN,KAAO,EAAA;AAAA,IACL,OAAS,EAAA;AAAA,MACP,IAAM,EAAA,MAAA;AAAA,MACN,OAAS,EAAA,CAAA;AAAA,KACX;AAAA,GACF;AAAA,EACA,KAAA,EAAO,CAAC,cAAc,CAAA;AAAA,EACtB,KAAM,CAAA,KAAA,EAAO,EAAE,KAAA,EAAO,MAAQ,EAAA;AAC5B,IAAA,IAAI,UAAa,GAAA,CAAA,CAAA;AAEjB,IAAA,OAAO,MAAM;AAlBjB,MAAA,IAAA,EAAA,EAAA,EAAA,CAAA;AAmBM,MAAM,MAAA,QAAA,GAAA,CAAW,WAAM,OAAN,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,KAAA,CAAA,CAAA;AACjB,MAAA,MAAM,SAAkB,EAAC,CAAA;AACzB,MAAA,IAAI,KAAQ,GAAA,CAAA,CAAA;AAEZ,MAAA,SAAS,YAAYA,SAA0B,EAAA;AAC7C,QAAI,IAAA,CAAC,QAAQA,SAAQ,CAAA;AAAG,UAAA,OAAA;AACvB,QAACA,SAAAA,CAAqB,OAAQ,CAAA,CAAC,IAAS,KAAA;AAzBjD,UAAAC,IAAAA,GAAAA,CAAAA;AA0BU,UAAA,MAAM,QAASA,GAAA,GAAA,CAAA,IAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAM,SAAQ,EAAC,KAAf,gBAAAA,GAAiC,CAAA,IAAA,CAAA;AAEhD,UAAA,IAAI,SAAS,YAAc,EAAA;AACzB,YAAA,MAAA,CAAO,KAAK,IAAI,CAAA,CAAA;AAChB,YAAS,KAAA,IAAA,CAAA,CAAA;AAAA,WACX;AAAA,SACD,CAAA,CAAA;AAAA,OACH;AAEA,MAAA,IAAI,SAAS,MAAQ,EAAA;AACnB,QAAA,WAAA,CAAY,eAAgB,CAAA,CAAA,EAAA,GAAA,QAAA,CAAU,CAAV,CAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAc,QAAQ,CAAC,CAAA,CAAA;AAAA,OACrD;AAEA,MAAA,IAAI,eAAe,KAAO,EAAA;AACxB,QAAa,UAAA,GAAA,KAAA,CAAA;AACb,QAAA,IAAA,CAAK,gBAAgB,KAAK,CAAA,CAAA;AAAA,OAC5B;AAEA,MAAA,IAAI,OAAO,MAAQ,EAAA;AACjB,QAAA,OAAO,OAAO,KAAM,CAAA,OAAA,CAAA,CAAA;AAAA,OACtB;AACA,MAAO,OAAA,IAAA,CAAA;AAAA,KACT,CAAA;AAAA,GACF;AACF,CAAC,CAAA;;;;"}