{"version":3,"file":"carousel-item2.mjs","names":[],"sources":["../../../../../../packages/components/carousel/src/carousel-item.vue"],"sourcesContent":["<template>\n  <div\n    v-show=\"ready\"\n    ref=\"carouselItemRef\"\n    :class=\"itemKls\"\n    :style=\"itemStyle\"\n    @click=\"handleItemClick\"\n  >\n    <div v-if=\"isCardType\" v-show=\"!active\" :class=\"ns.e('mask')\" />\n    <slot />\n  </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, unref } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useCarouselItem } from './use-carousel-item'\nimport { CAROUSEL_ITEM_NAME } from './constants'\n\nimport type { CSSProperties } from 'vue'\nimport type { CarouselItemProps } from './carousel-item'\n\ndefineOptions({\n  name: CAROUSEL_ITEM_NAME,\n})\n\nconst props = withDefaults(defineProps<CarouselItemProps>(), {\n  name: '',\n  label: '',\n})\nconst ns = useNamespace('carousel')\n\n// inject\nconst {\n  carouselItemRef,\n  active,\n  animating,\n  hover,\n  inStage,\n  isVertical,\n  translate,\n  isCardType,\n  scale,\n  ready,\n  handleItemClick,\n} = useCarouselItem(props)\n\nconst itemKls = computed(() => [\n  ns.e('item'),\n  ns.is('active', active.value),\n  ns.is('in-stage', inStage.value),\n  ns.is('hover', hover.value),\n  ns.is('animating', animating.value),\n  {\n    [ns.em('item', 'card')]: isCardType.value,\n    [ns.em('item', 'card-vertical')]: isCardType.value && isVertical.value,\n  },\n])\n\nconst itemStyle = computed<CSSProperties>(() => {\n  const translateType = `translate${unref(isVertical) ? 'Y' : 'X'}`\n  const _translate = `${translateType}(${unref(translate)}px)`\n  const _scale = `scale(${unref(scale)})`\n  const transform = [_translate, _scale].join(' ')\n\n  return {\n    transform,\n  }\n})\n</script>\n"],"mappings":""}