{"version":3,"file":"carousel-item.vue2.mjs","sources":["../../../components/carousel/carousel-item.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, inject, onBeforeUnmount, reactive } from 'vue'\n\nimport { useNameHelper } from '@vexip-ui/config'\nimport { CAROUSEL_STATE } from './symbol'\n\nimport type { ItemState } from './symbol'\n\ndefineOptions({ name: 'CarouselItem' })\n\ndefineSlots<{\n  default: (params: { active: boolean }) => any\n}>()\n\nconst carouselState = inject(CAROUSEL_STATE, null)\n\nconst nh = useNameHelper('carousel')\nconst state: ItemState = reactive({\n  label: -1,\n  width: 0,\n  height: 0,\n  offset: 0\n})\n\nconst active = computed(() => {\n  return carouselState?.isItemActive(state.label) ?? false\n})\nconst className = computed(() => {\n  return {\n    [nh.be('item')]: true,\n    [nh.bem('item', 'active')]: active.value\n  }\n})\nconst style = computed(() => {\n  const { width, height, offset } = state\n\n  return {\n    width: width ? `${width}px` : undefined,\n    height: height ? `${height}px` : undefined,\n    transform: offset ? `translate${carouselState?.vertical ? 'Y' : 'X'}(${offset}px)` : undefined\n  }\n})\n\nif (carouselState) {\n  carouselState.increaseItem(state)\n\n  onBeforeUnmount(() => {\n    carouselState.decreaseItem(state)\n  })\n}\n\nfunction handleClick() {\n  carouselState?.handleSelect(state.label)\n}\n</script>\n\n<template>\n  <div\n    :class=\"className\"\n    role=\"listitem\"\n    :style=\"style\"\n    @click=\"handleClick\"\n  >\n    <slot :active=\"active\"></slot>\n  </div>\n</template>\n"],"names":["carouselState","inject","CAROUSEL_STATE","nh","useNameHelper","state","reactive","active","computed","className","style","width","height","offset","onBeforeUnmount","handleClick"],"mappings":";;;;;;;AAcM,UAAAA,IAAgBC,EAAOC,GAAgB,IAAI,GAE3CC,IAAKC,EAAc,UAAU,GAC7BC,IAAmBC,EAAS;AAAA,MAChC,OAAO;AAAA,MACP,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,QAAQ;AAAA,IAAA,CACT,GAEKC,IAASC,EAAS,OACfR,KAAA,gBAAAA,EAAe,aAAaK,EAAM,WAAU,EACpD,GACKI,IAAYD,EAAS,OAClB;AAAA,MACL,CAACL,EAAG,GAAG,MAAM,CAAC,GAAG;AAAA,MACjB,CAACA,EAAG,IAAI,QAAQ,QAAQ,CAAC,GAAGI,EAAO;AAAA,IACrC,EACD,GACKG,IAAQF,EAAS,MAAM;AAC3B,YAAM,EAAE,OAAAG,GAAO,QAAAC,GAAQ,QAAAC,EAAW,IAAAR;AAE3B,aAAA;AAAA,QACL,OAAOM,IAAQ,GAAGA,CAAK,OAAO;AAAA,QAC9B,QAAQC,IAAS,GAAGA,CAAM,OAAO;AAAA,QACjC,WAAWC,IAAS,YAAYb,KAAA,QAAAA,EAAe,WAAW,MAAM,GAAG,IAAIa,CAAM,QAAQ;AAAA,MACvF;AAAA,IAAA,CACD;AAED,IAAIb,MACFA,EAAc,aAAaK,CAAK,GAEhCS,EAAgB,MAAM;AACpB,MAAAd,EAAc,aAAaK,CAAK;AAAA,IAAA,CACjC;AAGH,aAASU,IAAc;AACN,MAAAf,KAAA,QAAAA,EAAA,aAAaK,EAAM;AAAA,IAAK;;;;;;;;;;;"}