1- <script setup lang="ts">
2- import type { AutoplayOptions , SwiperModule , Swiper as SwiperType } from " swiper/types" ;
1+ <script lang="ts" setup >
2+ import type { AutoplayOptions , Swiper as SwiperType , SwiperModule } from " swiper/types" ;
33import { useMutationObserver } from " @vueuse/core" ;
44import {
55 Autoplay ,
@@ -67,16 +67,16 @@ const props = withDefaults(defineProps<Props>(), {
6767
6868const slideList = computed <SlideItem []>(() => {
6969 return (
70- props .items ?.map ((link ) => {
71- if (typeof link === " string" ) return { link };
72- return link ;
73- }) ?? []
70+ props .items ?.map ((link ) => {
71+ if (typeof link === " string" ) return { link };
72+ return link ;
73+ }) ?? []
7474 );
7575});
7676
7777function parseSize(size : number | string ) {
7878 if (typeof size === " number" ) {
79- return ` ${size }px ` ;
79+ return ` ${ size }px ` ;
8080 }
8181 return size ;
8282}
@@ -123,7 +123,7 @@ const autoplay = computed<AutoplayOptions | boolean>(() => {
123123});
124124
125125const hasNavigation = computed (() =>
126- props .mode === " banner" || props .mode === " broadcast" ? props .navigation : false
126+ props .mode === " banner" || props .mode === " broadcast" ? props .navigation : false
127127);
128128
129129let swiper: SwiperType ;
@@ -139,13 +139,13 @@ function onSwiper(_swiper: SwiperType) {
139139onMounted (() => {
140140 if (props .mode === " carousel" && ! props .pauseOnMouseEnter ) {
141141 useMutationObserver (
142- () => document .documentElement ,
143- () => {
144- if (! swiper ) return ;
145- swiper .wrapperEl .style .transform = " translate3d(0px, 0px, 0px)" ;
146- setTimeout (() => swiper .update (), 350 );
147- },
148- { attributeFilter: [" data-theme" ] }
142+ () => document .documentElement ,
143+ () => {
144+ if (! swiper ) return ;
145+ swiper .wrapperEl .style .transform = " translate3d(0px, 0px, 0px)" ;
146+ setTimeout (() => swiper .update (), 350 );
147+ },
148+ { attributeFilter: [" data-theme" ] }
149149 );
150150 }
151151});
@@ -154,44 +154,44 @@ onMounted(() => {
154154<template >
155155 <ClientOnly >
156156 <Swiper
157- class = " vp-swiper "
158- :class =" { 'swiper-no-swiping': mode === 'banner' ? !swipe : mode === 'carousel' }"
159- :style = " styles "
160- :modules = " modules "
161- :autoplay = " autoplay "
162- :navigation =" hasNavigation"
163- :pagination ="
157+ :autoplay = " autoplay "
158+ :class =" { 'swiper-no-swiping': mode === 'banner' ? !swipe : mode === 'carousel' }"
159+ :effect = " mode === 'banner' ? effect : 'slide' "
160+ :loop = " loop "
161+ :modules = " modules "
162+ :navigation =" hasNavigation"
163+ :pagination ="
164164 props.mode !== 'carousel'
165165 ? {
166166 dynamicBullets: true,
167167 clickable: true
168168 }
169169 : false
170170 "
171- :speed =" speed"
172- :loop = " loop "
173- :effect = " mode === 'banner' ? effect : 'slide' "
174- lazy
175- v-bind =" $attrs"
176- @swiper =" onSwiper"
171+ :speed =" speed"
172+ :style = " styles "
173+ class = " vp-swiper "
174+ lazy
175+ v-bind =" $attrs"
176+ @swiper =" onSwiper"
177177 >
178178 <SwiperSlide v-for =" (item, index) in slideList" :key =" 'general-' + index" >
179179 <a
180- v-if =" item.href && item.link"
181- :href =" item.href"
182- target = " _blank "
183- rel =" noopener noreferrer"
184- class = " swiper-slide-link no-icon "
180+ v-if =" item.href && item.link"
181+ :href =" item.href"
182+ class = " swiper-slide-link no-icon "
183+ rel =" noopener noreferrer"
184+ target = " _blank "
185185 >
186- <img class =" swiper-slide-custom-container swiper-slide-img" :src = " item.link " :alt = " item.alt " />
186+ <img :alt = " item.alt " :src = " item.link " class =" swiper-slide-custom-container swiper-slide-img" />
187187 </a >
188188 <div v-else-if =" item.alt" class =" swiper-slide-custom-container" >
189189 <a
190- v-if =" item.href"
191- :href =" item.href"
192- target = " _blank "
193- rel =" noopener noreferrer"
194- class = " swiper-slide-text-link "
190+ v-if =" item.href"
191+ :href =" item.href"
192+ class = " swiper-slide-text-link "
193+ rel =" noopener noreferrer"
194+ target = " _blank "
195195 >
196196 <div class =" swiper-slide-text" >{{ item.alt }}</div >
197197 </a >
0 commit comments