element-plus
Version:
A Component Library for Vue 3
1 lines • 13.5 kB
Source Map (JSON)
{"version":3,"file":"carousel2.mjs","sources":["../../../../../../packages/components/carousel/src/carousel.vue"],"sourcesContent":["<template>\n <div\n ref=\"root\"\n :class=\"carouselClasses\"\n @mouseenter.stop=\"handleMouseEnter\"\n @mouseleave.stop=\"handleMouseLeave\"\n >\n <transition v-if=\"arrowDisplay\" name=\"carousel-arrow-left\">\n <button\n v-show=\"(arrow === 'always' || hover) && (loop || activeIndex > 0)\"\n type=\"button\"\n :class=\"[ns.e('arrow'), ns.em('arrow', 'left')]\"\n :aria-label=\"t('el.carousel.leftArrow')\"\n @mouseenter=\"handleButtonEnter('left')\"\n @mouseleave=\"handleButtonLeave\"\n @click.stop=\"throttledArrowClick(activeIndex - 1)\"\n >\n <ElIcon>\n <ArrowLeft />\n </ElIcon>\n </button>\n </transition>\n <transition v-if=\"arrowDisplay\" name=\"carousel-arrow-right\">\n <button\n v-show=\"\n (arrow === 'always' || hover) &&\n (loop || activeIndex < items.length - 1)\n \"\n type=\"button\"\n :class=\"[ns.e('arrow'), ns.em('arrow', 'right')]\"\n :aria-label=\"t('el.carousel.rightArrow')\"\n @mouseenter=\"handleButtonEnter('right')\"\n @mouseleave=\"handleButtonLeave\"\n @click.stop=\"throttledArrowClick(activeIndex + 1)\"\n >\n <ElIcon>\n <ArrowRight />\n </ElIcon>\n </button>\n </transition>\n <div\n :class=\"ns.e('container')\"\n :style=\"containerStyle\"\n @transitionstart=\"handleTransitionStart\"\n @transitionend=\"handleTransitionEnd\"\n >\n <PlaceholderItem />\n <slot />\n </div>\n <items-sorter>\n <ul v-if=\"indicatorPosition !== 'none'\" :class=\"indicatorsClasses\">\n <li\n v-for=\"(item, index) in items\"\n v-show=\"isTwoLengthShow(index)\"\n :key=\"index\"\n :class=\"[\n ns.e('indicator'),\n ns.em('indicator', direction),\n ns.is('active', index === activeIndex),\n ]\"\n @mouseenter=\"throttledIndicatorHover(index)\"\n @click.stop=\"handleIndicatorClick(index)\"\n >\n <button\n :class=\"ns.e('button')\"\n :aria-label=\"t('el.carousel.indicator', { index: index + 1 })\"\n >\n <span v-if=\"hasLabel\">{{ item.props.label }}</span>\n </button>\n </li>\n </ul>\n </items-sorter>\n <svg\n v-if=\"motionBlur\"\n xmlns=\"http://www.w3.org/2000/svg\"\n version=\"1.1\"\n style=\"display: none\"\n >\n <defs>\n <filter id=\"elCarouselHorizontal\">\n <feGaussianBlur in=\"SourceGraphic\" stdDeviation=\"12,0\" />\n </filter>\n <filter id=\"elCarouselVertical\">\n <feGaussianBlur in=\"SourceGraphic\" stdDeviation=\"0,10\" />\n </filter>\n </defs>\n </svg>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, unref } from 'vue'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { ArrowLeft, ArrowRight } from '@element-plus/icons-vue'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { carouselEmits, carouselProps } from './carousel'\nimport { useCarousel } from './use-carousel'\n\nconst COMPONENT_NAME = 'ElCarousel'\ndefineOptions({\n name: COMPONENT_NAME,\n})\n\nconst props = defineProps(carouselProps)\nconst emit = defineEmits(carouselEmits)\nconst {\n root,\n activeIndex,\n exposeActiveIndex,\n arrowDisplay,\n hasLabel,\n hover,\n isCardType,\n items,\n isVertical,\n containerStyle,\n handleButtonEnter,\n handleButtonLeave,\n handleIndicatorClick,\n handleMouseEnter,\n handleMouseLeave,\n setActiveItem,\n prev,\n next,\n PlaceholderItem,\n isTwoLengthShow,\n ItemsSorter,\n throttledArrowClick,\n throttledIndicatorHover,\n} = useCarousel(props, emit, COMPONENT_NAME)\nconst ns = useNamespace('carousel')\n\nconst { t } = useLocale()\n\nconst carouselClasses = computed(() => {\n const classes = [ns.b(), ns.m(props.direction)]\n if (unref(isCardType)) {\n classes.push(ns.m('card'))\n }\n return classes\n})\n\nconst indicatorsClasses = computed(() => {\n const classes = [ns.e('indicators'), ns.em('indicators', props.direction)]\n if (unref(hasLabel)) {\n classes.push(ns.em('indicators', 'labels'))\n }\n if (props.indicatorPosition === 'outside') {\n classes.push(ns.em('indicators', 'outside'))\n }\n if (unref(isVertical)) {\n classes.push(ns.em('indicators', 'right'))\n }\n return classes\n})\n\nfunction handleTransitionStart(e: TransitionEvent) {\n if (!props.motionBlur) return\n\n const kls = unref(isVertical)\n ? `${ns.namespace.value}-transitioning-vertical`\n : `${ns.namespace.value}-transitioning`\n ;(e.currentTarget as HTMLDivElement).classList.add(kls)\n}\n\nfunction handleTransitionEnd(e: TransitionEvent) {\n if (!props.motionBlur) return\n\n const kls = unref(isVertical)\n ? `${ns.namespace.value}-transitioning-vertical`\n : `${ns.namespace.value}-transitioning`\n ;(e.currentTarget as HTMLDivElement).classList.remove(kls)\n}\n\ndefineExpose({\n /** @description active slide index */\n activeIndex: exposeActiveIndex,\n /** @description manually switch slide, index of the slide to be switched to, starting from 0; or the `name` of corresponding `el-carousel-item` */\n setActiveItem,\n /** @description switch to the previous slide */\n prev,\n /** @description switch to the next slide */\n next,\n})\n</script>\n"],"names":["_openBlock","_createElementBlock","_normalizeClass","_withModifiers","_unref","_createBlock","_Transition","_withDirectives","_createElementVNode","_createVNode","_withCtx","arrow","loop","_normalizeStyle","_renderSlot","indicatorPosition","_Fragment","_renderList","direction","_toDisplayString","_createCommentVNode","_vShow","motionBlur"],"mappings":"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"}