{"version":3,"file":"slideshow.vue2.mjs","sources":["../../../../../../packages/components/slideshow/src/slideshow.vue"],"sourcesContent":["<template>\r\n  <div\r\n    ref=\"swiperEl\"\r\n    :class=\"[bem.b(), 'swiper']\"\r\n    :style=\"{ height: addUnit(height) }\"\r\n  >\r\n    <div :class=\"[bem.e('wrapper'), 'swiper-wrapper']\">\r\n      <div\r\n        v-for=\"(item, index) in list\"\r\n        :key=\"`slide-${index}`\"\r\n        :class=\"[bem.e('slide'), 'swiper-slide']\"\r\n      >\r\n        <slot name=\"slide\" :item=\"item\" :index=\"index\">\r\n          <component\r\n            :is=\"item.link ? 'a' : 'div'\"\r\n            class=\"slide-content\"\r\n            v-bind=\"item.link ? { href: item.link, target: '_blank' } : {}\"\r\n          >\r\n            <img\r\n              v-if=\"item.src\"\r\n              :src=\"item.src\"\r\n              :alt=\"item.title || `Slide ${index + 1}`\"\r\n              class=\"slide-image\"\r\n            />\r\n\r\n            <div\r\n              v-if=\"item.text\"\r\n              class=\"slide-text\"\r\n              :style=\"textStyle\"\r\n              v-html=\"DOMPurify.sanitize(item.text || '', purifyOptions)\"\r\n            ></div>\r\n          </component>\r\n        </slot>\r\n      </div>\r\n    </div>\r\n\r\n    <!-- Swiper 默认导航元素 -->\r\n    <div v-if=\"pagination\" class=\"swiper-pagination\"></div>\r\n    <div v-if=\"navigation\" class=\"swiper-button-prev\"></div>\r\n    <div v-if=\"navigation\" class=\"swiper-button-next\"></div>\r\n    <div v-if=\"scrollbar\" class=\"swiper-scrollbar\"></div>\r\n  </div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { addUnit, createNamespace } from '@ll-plus/utils'\r\nimport { computed, nextTick, onMounted, onUnmounted, ref, watch } from 'vue'\r\n\r\nimport DOMPurify from 'dompurify'\r\n\r\n// 导入所有 Swiper CSS（使用默认样式）\r\nimport 'swiper/css'\r\nimport 'swiper/css/effect-cards'\r\nimport 'swiper/css/effect-coverflow'\r\nimport 'swiper/css/effect-cube'\r\nimport 'swiper/css/effect-fade'\r\nimport 'swiper/css/effect-flip'\r\nimport 'swiper/css/navigation'\r\nimport 'swiper/css/pagination'\r\nimport 'swiper/css/scrollbar'\r\n\r\n// 静态导入所有模块\r\nimport Swiper from 'swiper'\r\nimport {\r\n  Autoplay,\r\n  EffectCards,\r\n  EffectCoverflow,\r\n  EffectCube,\r\n  EffectFade,\r\n  EffectFlip,\r\n  Keyboard,\r\n  Mousewheel,\r\n  Navigation,\r\n  Pagination,\r\n  Scrollbar,\r\n} from 'swiper/modules'\r\n\r\nimport { slideshowProps } from './slideshow'\r\n\r\ndefineOptions({ name: 'LlSlideshow' })\r\n\r\nconst bem = createNamespace('slideshow')\r\nconst props = defineProps(slideshowProps)\r\nconst emits = defineEmits(['init', 'slideChange', 'destroy', 'clickSlide'])\r\n\r\nconst swiperEl = ref<HTMLElement>()\r\nconst swiperInstance = ref()\r\n\r\n// 自定义配置允许 SVG\r\nconst purifyOptions = computed(() => ({\r\n  USE_PROFILES: { html: true, svg: true },\r\n  ADD_TAGS: ['use', 'svg', 'symbol'],\r\n  ADD_ATTR: ['xlink:href', 'viewBox', 'aria-hidden'],\r\n  FORBID_TAGS: ['script', 'iframe', 'object', 'embed'],\r\n  FORBID_ATTR: ['onerror', 'onload', 'onclick', 'onmouseover'],\r\n}))\r\n\r\n// 所有模块数组\r\nconst allModules = [\r\n  Navigation,\r\n  Pagination,\r\n  Scrollbar,\r\n  Autoplay,\r\n  EffectFade,\r\n  EffectCube,\r\n  EffectCoverflow,\r\n  EffectFlip,\r\n  EffectCards,\r\n  Keyboard, // 键盘控制模块\r\n  Mousewheel, // 鼠标滚轮模块\r\n]\r\n\r\n// 构建效果配置\r\nconst buildEffectConfig = () => {\r\n  switch (props.effect) {\r\n    case 'fade':\r\n      return {\r\n        effect: props.effect,\r\n      }\r\n    case 'cube':\r\n      return {\r\n        effect: props.effect,\r\n        cubeEffect: {\r\n          shadow: props.shadow,\r\n        },\r\n      }\r\n    case 'coverflow':\r\n      return {\r\n        effect: props.effect,\r\n        coverflowEffect: {\r\n          rotate: props.rotate, //倾斜视角\r\n          stretch: props.stretch, // 拉伸\r\n          depth: props.depth, // 深度\r\n          modifier: 1,\r\n        },\r\n      }\r\n    case 'flip':\r\n      return {\r\n        effect: props.effect,\r\n      }\r\n    case 'cards':\r\n      return {\r\n        effect: props.effect,\r\n        cardsEffect: {\r\n          perSlideRotate: props.perSlideRotate, // 每张卡片旋转角度\r\n          perSlideOffset: props.perSlideOffset, // 每张卡片偏移量\r\n        },\r\n      }\r\n    default:\r\n      return { effect: 'slide' }\r\n  }\r\n}\r\n\r\n// 构建 Swiper 配置\r\nconst buildSwiperConfig = () => {\r\n  const effectConfig = buildEffectConfig()\r\n\r\n  // 基础配置\r\n  const baseConfig = {\r\n    modules: allModules,\r\n    speed: props.speed,\r\n    loop: props.loop,\r\n    direction: props.direction, // 控制水平/垂直方向\r\n    grabCursor: props.grabCursor, // 是否在触摸时显示抓取光标\r\n    simulateTouch: props.simulateTouch, // 是否触摸滑动切换\r\n    slidesPerView: props.slidesPerView, // 同时显示的幻灯片数量\r\n    spaceBetween: props.spaceBetween, // 幻灯片之间的间距\r\n    centeredSlides: props.centeredSlides, // 是否居中显示活动幻灯片\r\n    slidesPerGroup: props.slidesPerGroup, // 每次滑动切换的幻灯片组数\r\n\r\n    ...effectConfig,\r\n  }\r\n\r\n  // 鼠标滚轮配置\r\n  const mousewheelConfig = props.mousewheel\r\n    ? {\r\n        mousewheel: {\r\n          enabled: props.mousewheel, // 启用鼠标滚轮控制\r\n          invert: props.mousewheelInvert, // 鼠标滚轮方向是否反转\r\n          sensitivity: props.mousewheelSensitivity, // 鼠标滚轮灵敏度 (0.1 - 3)\r\n        },\r\n      }\r\n    : {}\r\n\r\n  // 键盘配置\r\n  const keyboardConfig = props.keyboard\r\n    ? {\r\n        keyboard: {\r\n          enabled: props.keyboard, // 是否启用键盘控制\r\n          onlyInViewport: props.keyboardOnlyInViewport, // 是否仅在视窗内响应键盘\r\n          pageUpDown: props.keyboardPageUpDown, // 是否启用PageUp/PageDown翻页\r\n        },\r\n      }\r\n    : {}\r\n\r\n  // 自动播放配置\r\n  const autoplayConfig = props.autoplay\r\n    ? {\r\n        autoplay: {\r\n          delay: props.delay,\r\n          disableOnInteraction: false, // 注意：这里建议设为 true 更符合用户习惯\r\n          ...(props.options?.autoplay || {}),\r\n        },\r\n      }\r\n    : {}\r\n\r\n  // 分页器配置\r\n  const paginationConfig = props.pagination\r\n    ? {\r\n        pagination: {\r\n          el: '.swiper-pagination',\r\n          clickable: true,\r\n          ...(props.options?.pagination || {}),\r\n        },\r\n      }\r\n    : {}\r\n\r\n  // 导航配置\r\n  const navigationConfig = props.navigation\r\n    ? {\r\n        navigation: {\r\n          nextEl: '.swiper-button-next',\r\n          prevEl: '.swiper-button-prev',\r\n          ...(props.options?.navigation || {}),\r\n        },\r\n      }\r\n    : {}\r\n\r\n  // 滚动条配置\r\n  const scrollbarConfig = props.scrollbar\r\n    ? {\r\n        scrollbar: {\r\n          el: '.swiper-scrollbar',\r\n          draggable: true,\r\n          ...(props.options?.scrollbar || {}),\r\n        },\r\n      }\r\n    : {}\r\n\r\n  // 合并配置\r\n  return {\r\n    ...baseConfig,\r\n    ...mousewheelConfig,\r\n    ...keyboardConfig,\r\n    ...autoplayConfig,\r\n    ...paginationConfig,\r\n    ...navigationConfig,\r\n    ...scrollbarConfig,\r\n    ...props.options, // 用户自定义选项最后合并（最高优先级）\r\n  }\r\n}\r\n\r\n// 初始化 Swiper\r\nconst initSwiper = async () => {\r\n  await nextTick()\r\n\r\n  if (!swiperEl.value || props.list.length === 0) return\r\n\r\n  try {\r\n    if (swiperInstance.value) {\r\n      swiperInstance.value.destroy(true, true)\r\n    }\r\n\r\n    const config = buildSwiperConfig()\r\n\r\n    swiperInstance.value = new Swiper(swiperEl.value, {\r\n      ...config,\r\n      on: {\r\n        init: () => {\r\n          emits('init', swiperInstance.value!)\r\n        },\r\n        slideChange: () => {\r\n          emits('slideChange', swiperInstance.value!)\r\n        },\r\n        destroy: () => {\r\n          emits('destroy')\r\n        },\r\n        click: (swiper, event) => {\r\n          emits('clickSlide', {\r\n            swiper,\r\n            event,\r\n            activeIndex: swiper.activeIndex,\r\n          })\r\n        },\r\n      },\r\n    })\r\n\r\n    // 确保幻灯片正确显示\r\n    nextTick(() => {\r\n      if (swiperInstance.value) {\r\n        swiperInstance.value.update()\r\n      }\r\n    })\r\n  } catch (error) {\r\n    console.error(error)\r\n  }\r\n}\r\n\r\n// 重新初始化（效果切换时使用）\r\nconst reInitSwiper = async () => {\r\n  if (swiperInstance.value) {\r\n    swiperInstance.value.destroy(true, true)\r\n    swiperInstance.value = null\r\n  }\r\n\r\n  await nextTick()\r\n  await initSwiper()\r\n}\r\n\r\n// 监听效果变化\r\nwatch(\r\n  () => props.effect,\r\n  (newEffect, oldEffect) => {\r\n    if (newEffect !== oldEffect) {\r\n      reInitSwiper()\r\n    }\r\n  },\r\n)\r\n\r\n// 监听列表变化\r\nwatch(\r\n  () => props.list,\r\n  (newList, oldList) => {\r\n    if (newList.length !== oldList.length && swiperInstance.value) {\r\n      nextTick(() => {\r\n        swiperInstance.value?.update()\r\n      })\r\n    }\r\n  },\r\n  { deep: true },\r\n)\r\n\r\n// 监听配置变化\r\nwatch(\r\n  () => props.options,\r\n  () => {\r\n    if (swiperInstance.value) {\r\n      swiperInstance.value.update()\r\n    }\r\n  },\r\n  { deep: true },\r\n)\r\n\r\n// 组件生命周期\r\nonMounted(() => {\r\n  initSwiper()\r\n})\r\n\r\nonUnmounted(() => {\r\n  if (swiperInstance.value) {\r\n    swiperInstance.value.destroy(true, true)\r\n  }\r\n})\r\n\r\n// 暴露方法给父组件\r\ndefineExpose({\r\n  instance: swiperInstance,\r\n  next: () => swiperInstance.value?.slideNext(),\r\n  prev: () => swiperInstance.value?.slidePrev(),\r\n  goTo: (index: number) => swiperInstance.value?.slideTo(index),\r\n  startAutoplay: () => swiperInstance.value?.autoplay?.start(),\r\n  stopAutoplay: () => swiperInstance.value?.autoplay?.stop(),\r\n  update: () => swiperInstance.value?.update(),\r\n  destroy: () => {\r\n    if (swiperInstance.value) {\r\n      swiperInstance.value.destroy(true, true)\r\n      swiperInstance.value = null\r\n    }\r\n  },\r\n  reInit: reInitSwiper,\r\n})\r\n</script>\r\n"],"names":["_createElementBlock","_normalizeClass","_unref","_normalizeStyle","height","_createElementVNode","_openBlock","_Fragment","_renderList","list","_renderSlot","_createBlock","_resolveDynamicComponent","_mergeProps","textStyle","_createCommentVNode","pagination","navigation","scrollbar"],"mappings":"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"}