{"version":3,"file":"carousel-indicator2.mjs","sources":["../../../../../../packages/components/carousel/src/carousel-indicator.vue"],"sourcesContent":["<template>\n  <div\n    :class=\"[\n      {'is-active': data.indicatorIndex === data.active},\n      namespace\n    ]\"\n    @click=\"handleItemClick\"\n    @mouseenter=\"handlethrottledIndicatorHover\"\n  >\n    <slot></slot>\n  </div>\n</template>\n<script lang=\"ts\">\nimport { defineComponent,reactive,inject,watch } from 'vue'\nimport { useNamespace } from '@hongluan-ui/hooks'\nimport { carouselIndicatorProps } from './carousel-indicator'\nimport { carouselIndicatorContextKey } from '@hongluan-ui/tokens'\n\nexport default defineComponent({\n  name: 'CarouselIndicator',\n  props: carouselIndicatorProps,\n  emits: ['click', 'hover'],\n  setup(props, { emit }) {\n    const { namespace } = useNamespace('carousel-indicator')\n\n    // data\n    const data = reactive<{\n      active: number\n      indicatorIndex: number\n    }>({\n      active: -1,\n      indicatorIndex: props.index,\n    })\n\n    // inject\n    const injectIndicatorScope = inject(carouselIndicatorContextKey)\n\n    // watch\n    watch(() => injectIndicatorScope.activeIndex.value,\n      current => {\n        data.active = current\n      }, { immediate: true },\n    )\n\n    // methods\n    function handleItemClick() {\n      if (injectIndicatorScope.handleIndicatorClick) {\n        injectIndicatorScope.handleIndicatorClick(props.index)\n      }\n      emit('click', props.index)\n    }\n    function handlethrottledIndicatorHover() {\n      if (injectIndicatorScope.throttledIndicatorHover) {\n        injectIndicatorScope.throttledIndicatorHover(props.index)\n      }\n      emit('hover', props.index)\n    }\n\n    return {\n      namespace,\n      data,\n      handleItemClick,\n      handlethrottledIndicatorHover,\n    }\n  },\n})\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_renderSlot"],"mappings":";;;;;;;;AAkBA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,OAAO;AAAA,EACP,OAAO,CAAC,SAAS,OAAO;AAAA,EACxB,MAAM,OAAO,EAAE,QAAQ;AACrB,UAAM,EAAE,cAAc,aAAa,oBAAoB;AAGvD,UAAM,OAAO,SAGV;AAAA,MACD,QAAQ;AAAA,MACR,gBAAgB,MAAM;AAAA,KACvB;AAGD,UAAM,uBAAuB,OAAO,2BAA2B;AAG/D,UAAM,MAAM,qBAAqB,YAAY,OAC3C,aAAW;AACT,WAAK,SAAS;AAAA,OACb,EAAE,WAAW,MAClB;AAGA,+BAA2B;AACzB,UAAI,qBAAqB,sBAAsB;AAC7C,6BAAqB,qBAAqB,MAAM,KAAK;AAAA;AAEvD,WAAK,SAAS,MAAM,KAAK;AAAA;AAE3B,6CAAyC;AACvC,UAAI,qBAAqB,yBAAyB;AAChD,6BAAqB,wBAAwB,MAAM,KAAK;AAAA;AAE1D,WAAK,SAAS,MAAM,KAAK;AAAA;AAG3B,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AACF;AAEJ,CAAC;;sBAhECA,mBASM;AAAA,IARH,OAAKC;AAAA,qBAAwB,UAAK,mBAAmB,UAAK;AAAM,MAAS;AAAA;IAIzE,SAAO;AAAA,IACP,cAAY;AAAA;IAEbC,WAAa;AAAA;;;;;;"}