{"version":3,"file":"timeline-item.vue2.mjs","sources":["../../../../../../packages/components/timeline/src/timeline-item.vue"],"sourcesContent":["<script lang=\"ts\">\n  import { computed, defineComponent, inject, ref } from 'vue'\n  import { getComponentNamespace, getNamespace } from '../../../utils/global-config'\n  import { useIndex } from '../../../hooks/use-index'\n  import { timelineItemProps } from './props'\n  import type { TimelineContext } from './context'\n  import { timelineInjectionKey } from './context'\n\n  export default defineComponent({\n    name: getComponentNamespace('TimelineItem'),\n    components: {},\n    props: timelineItemProps,\n    emits: ['close'],\n    setup(props, { slots }) {\n      // 定义组件命名\n      const ns = getNamespace('timeline-item')\n      // 获取父级组件provide数据\n      const context = inject(timelineInjectionKey)\n      // Ref\n      const itemRef = ref<HTMLElement>()\n      // 点颜色\n      const innerDotColor = ref(props.dotColor)\n      // 内部Index\n      const { innerIndex } = useIndex({\n        itemRef,\n        selector: `.${ns}`,\n        parentClassName: context?.parentCls\n      })\n      // 是否为最后一个\n      const isLast = computed((): boolean => {\n        const { reverse, count } = context as TimelineContext\n        return !reverse ? innerIndex.value + 1 === count : innerIndex.value == 0\n      })\n      // 组件class\n      const cls = computed(() => [ns, isLast.value && 'is-last'])\n      // lineType\n      const lineType = computed(() => [\n        {\n          borderLeftStyle: context?.lineType\n        }\n      ])\n      // slotsIcon\n      const iconCls = computed(() =>\n        slots?.icon?.() ? [`${ns}__dot__icon`, 'is-slot-icon'] : [`${ns}__dot__icon`]\n      )\n      /**\n       * @description 待返回数据\n       */\n      return {\n        ns,\n        cls,\n        itemRef,\n        innerDotColor,\n        isLast,\n        lineType,\n        iconCls\n      }\n    }\n  })\n</script>\n\n<template>\n  <div ref=\"itemRef\" :class=\"cls\">\n    <div :class=\"`${ns}__dot`\">\n      <div v-if=\"!isLast\" :class=\"`${ns}__dot__line`\" :style=\"lineType\"></div>\n      <div :class=\"iconCls\">\n        <slot name=\"icon\">\n          <i class=\"icon\" :style=\"[{ backgroundColor: innerDotColor }]\"></i>\n        </slot>\n      </div>\n    </div>\n    <div :class=\"`${ns}__content`\">\n      <slot>\n        <div :class=\"`${ns}__content__label`\">\n          <slot name=\"label\"></slot>\n        </div>\n        <div :class=\"`${ns}__content__description`\">\n          <slot name=\"description\"></slot>\n        </div>\n      </slot>\n    </div>\n  </div>\n</template>\n"],"names":[],"mappings":";;;;;;AAQE,gBAAe,eAAgB,CAAA;AAAA,EAC7B,IAAA,EAAM,sBAAsB,cAAc,CAAA;AAAA,EAC1C,YAAY,EAAC;AAAA,EACb,KAAO,EAAA,iBAAA;AAAA,EACP,KAAA,EAAO,CAAC,OAAO,CAAA;AAAA,EACf,KAAM,CAAA,KAAA,EAAO,EAAE,KAAA,EAAS,EAAA;AAEtB,IAAM,MAAA,EAAA,GAAK,aAAa,eAAe,CAAA,CAAA;AAEvC,IAAM,MAAA,OAAA,GAAU,OAAO,oBAAoB,CAAA,CAAA;AAE3C,IAAA,MAAM,UAAU,GAAiB,EAAA,CAAA;AAEjC,IAAM,MAAA,aAAA,GAAgB,GAAI,CAAA,KAAA,CAAM,QAAQ,CAAA,CAAA;AAExC,IAAM,MAAA,EAAE,UAAW,EAAA,GAAI,QAAS,CAAA;AAAA,MAC9B,OAAA;AAAA,MACA,UAAU,CAAI,CAAA,EAAA,EAAA,CAAA,CAAA;AAAA,MACd,iBAAiB,OAAS,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,OAAA,CAAA,SAAA;AAAA,KAC3B,CAAA,CAAA;AAED,IAAM,MAAA,MAAA,GAAS,SAAS,MAAe;AACrC,MAAM,MAAA,EAAE,OAAS,EAAA,KAAA,EAAU,GAAA,OAAA,CAAA;AAC3B,MAAA,OAAO,CAAC,OAAU,GAAA,UAAA,CAAW,QAAQ,CAAM,KAAA,KAAA,GAAQ,WAAW,KAAS,IAAA,CAAA,CAAA;AAAA,KACxE,CAAA,CAAA;AAED,IAAM,MAAA,GAAA,GAAM,SAAS,MAAM,CAAC,IAAI,MAAO,CAAA,KAAA,IAAS,SAAS,CAAC,CAAA,CAAA;AAE1D,IAAM,MAAA,QAAA,GAAW,SAAS,MAAM;AAAA,MAC9B;AAAA,QACE,iBAAiB,OAAS,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,OAAA,CAAA,QAAA;AAAA,OAC5B;AAAA,KACD,CAAA,CAAA;AAED,IAAA,MAAM,OAAU,GAAA,QAAA;AAAA,MAAS,MAAG;;AAC1B,QAAO,OAAA,CAAA,CAAA,EAAA,GAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAA,IAAA,KAAP,kCAAkB,CAAC,CAAA,EAAG,iBAAiB,cAAc,CAAA,GAAI,CAAC,CAAA,EAAG,EAAe,CAAA,WAAA,CAAA,CAAA,CAAA;AAAA,OAAA;AAAA,KAC9E,CAAA;AAIA,IAAO,OAAA;AAAA,MACL,EAAA;AAAA,MACA,GAAA;AAAA,MACA,OAAA;AAAA,MACA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,QAAA;AAAA,MACA,OAAA;AAAA,KACF,CAAA;AAAA,GACF;AACF,CAAC,CAAA;;;;"}