@chenfengyuan/vue-carousel
Advanced tools
Comparing version
@@ -1,2 +0,2 @@ | ||
/*! vue-carousel v2.0.0-beta | (c) 2018-present Chen Fengyuan | MIT */ | ||
/*! vue-carousel v2.0.0 | (c) 2018-present Chen Fengyuan | MIT */ | ||
import { defineComponent, nextTick, h } from 'vue'; | ||
@@ -42,2 +42,6 @@ | ||
}, | ||
duration: { | ||
type: Number, | ||
default: 600, | ||
}, | ||
indicators: { | ||
@@ -274,3 +278,3 @@ type: [Boolean, String], | ||
done(); | ||
}, 600); | ||
}, this.duration); | ||
}); | ||
@@ -384,2 +388,5 @@ }, | ||
}, | ||
style: { | ||
'transition-duration': `${this.duration / 1000}s`, | ||
}, | ||
}, [ | ||
@@ -473,5 +480,5 @@ h(createVueComponent(item.content)), | ||
var css_248z = ".vue-carousel{position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vue-carousel--slidable{touch-action:none}.vue-carousel--down>.vue-carousel__indicators,.vue-carousel--up>.vue-carousel__indicators{bottom:auto;flex-direction:column;left:auto;right:0;top:50%;transform:translateY(-50%)}.vue-carousel--down>.vue-carousel__indicators>.vue-carousel__indicator:before,.vue-carousel--up>.vue-carousel__indicators>.vue-carousel__indicator:before{height:100%;width:.125rem}.vue-carousel--down>.vue-carousel__indicators--disc>.vue-carousel__indicator,.vue-carousel--up>.vue-carousel__indicators--disc>.vue-carousel__indicator{height:.75rem;width:1.5rem}.vue-carousel--down>.vue-carousel__indicators--disc>.vue-carousel__indicator:before,.vue-carousel--up>.vue-carousel__indicators--disc>.vue-carousel__indicator:before{height:.5rem;width:.5rem}.vue-carousel--right>.vue-carousel__indicators{flex-direction:row-reverse}.vue-carousel--down>.vue-carousel__indicators{flex-direction:column-reverse}.vue-carousel--controls:hover>.vue-carousel__control{opacity:.5;transform:translateX(0);z-index:1}.vue-carousel--controls:hover>.vue-carousel__control:focus,.vue-carousel--controls:hover>.vue-carousel__control:hover{opacity:1}.vue-carousel--controls>.vue-carousel__control{opacity:0;z-index:-1}.vue-carousel--controls>.vue-carousel__control--prev{transform:translateX(-50%)}.vue-carousel--controls>.vue-carousel__control--next{transform:translateX(50%)}.vue-carousel--indicators:hover>.vue-carousel__indicators{opacity:1;z-index:1}.vue-carousel--indicators>.vue-carousel__indicators{opacity:0;transition:opacity .15s;z-index:-1}.vue-carousel__list{margin:0;overflow:hidden;padding:0;position:relative;width:100%}.vue-carousel__item{display:none;margin:0}.vue-carousel__item--active,.vue-carousel__item--bottom,.vue-carousel__item--left,.vue-carousel__item--right,.vue-carousel__item--top{display:block;transition:transform .6s ease-in-out;width:100%}.vue-carousel__item--bottom,.vue-carousel__item--left,.vue-carousel__item--right,.vue-carousel__item--top{left:0;position:absolute;top:0}.vue-carousel__item--top{transform:translateY(-100%)}.vue-carousel__item--top.vue-carousel__item--to-bottom{transform:translateY(0)}.vue-carousel__item--right{transform:translateX(100%)}.vue-carousel__item--right.vue-carousel__item--to-left{transform:translateX(0)}.vue-carousel__item--bottom{transform:translateY(100%)}.vue-carousel__item--bottom.vue-carousel__item--to-top{transform:translateY(0)}.vue-carousel__item--left{transform:translateX(-100%)}.vue-carousel__item--left.vue-carousel__item--to-right{transform:translateX(0)}.vue-carousel__item--active{transform:translate(0);z-index:1}.vue-carousel__item--active.vue-carousel__item--to-top{transform:translateY(-100%)}.vue-carousel__item--active.vue-carousel__item--to-right{transform:translateX(100%)}.vue-carousel__item--active.vue-carousel__item--to-bottom{transform:translateY(100%)}.vue-carousel__item--active.vue-carousel__item--to-left{transform:translateX(-100%)}.vue-carousel__indicators{bottom:0;display:flex;justify-content:center;left:50%;list-style:none;margin:0;padding:0;position:absolute;transform:translateX(-50%);z-index:1}.vue-carousel__indicators--disc>.vue-carousel__indicator{width:.75rem}.vue-carousel__indicators--disc>.vue-carousel__indicator:before{border-radius:50%;height:.5rem;width:.5rem}.vue-carousel__indicator{cursor:pointer;height:1.5rem;margin:.125rem;opacity:.5;position:relative;transition:opacity .15s;width:1.5rem}.vue-carousel__indicator:before{background-color:#fff;content:\"\";display:block;height:.125rem;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:100%}.vue-carousel__indicator--active{opacity:1}.vue-carousel__control{background-color:rgba(0,0,0,.5);border:0;border-radius:50%;color:#fff;cursor:pointer;height:2rem;margin-top:-1rem;opacity:.5;padding:.5rem;position:absolute;top:50%;transition:all .15s;width:2rem}.vue-carousel__control:focus,.vue-carousel__control:hover{opacity:1}.vue-carousel__control:focus{outline:none}.vue-carousel__control:before{border:.0625rem solid transparent;border-radius:.125rem;content:\"\";display:block;height:.5rem;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%) rotate(45deg);width:.5rem}.vue-carousel__control--prev{left:1rem}.vue-carousel__control--prev:before{border-bottom-color:#fff;border-left-color:#fff;margin-left:.125rem}.vue-carousel__control--next{right:1rem}.vue-carousel__control--next:before{border-right-color:#fff;border-top-color:#fff;margin-left:-.125rem}"; | ||
var css_248z = ".vue-carousel{position:relative;user-select:none}.vue-carousel--slidable{touch-action:none}.vue-carousel--down>.vue-carousel__indicators,.vue-carousel--up>.vue-carousel__indicators{bottom:auto;flex-direction:column;left:auto;right:0;top:50%;transform:translateY(-50%)}.vue-carousel--down>.vue-carousel__indicators>.vue-carousel__indicator:before,.vue-carousel--up>.vue-carousel__indicators>.vue-carousel__indicator:before{height:100%;width:.125rem}.vue-carousel--down>.vue-carousel__indicators--disc>.vue-carousel__indicator,.vue-carousel--up>.vue-carousel__indicators--disc>.vue-carousel__indicator{height:.75rem;width:1.5rem}.vue-carousel--down>.vue-carousel__indicators--disc>.vue-carousel__indicator:before,.vue-carousel--up>.vue-carousel__indicators--disc>.vue-carousel__indicator:before{height:.5rem;width:.5rem}.vue-carousel--right>.vue-carousel__indicators{flex-direction:row-reverse}.vue-carousel--down>.vue-carousel__indicators{flex-direction:column-reverse}.vue-carousel--controls:hover>.vue-carousel__control{opacity:.5;transform:translateX(0);z-index:1}.vue-carousel--controls:hover>.vue-carousel__control:focus,.vue-carousel--controls:hover>.vue-carousel__control:hover{opacity:1}.vue-carousel--controls>.vue-carousel__control{opacity:0;z-index:-1}.vue-carousel--controls>.vue-carousel__control--prev{transform:translateX(-50%)}.vue-carousel--controls>.vue-carousel__control--next{transform:translateX(50%)}.vue-carousel--indicators:hover>.vue-carousel__indicators{opacity:1;z-index:1}.vue-carousel--indicators>.vue-carousel__indicators{opacity:0;transition:opacity .15s;z-index:-1}.vue-carousel__list{margin:0;overflow:hidden;padding:0;position:relative;width:100%}.vue-carousel__item{display:none;margin:0}.vue-carousel__item--active,.vue-carousel__item--bottom,.vue-carousel__item--left,.vue-carousel__item--right,.vue-carousel__item--top{display:block;transition:transform .6s ease-in-out;width:100%}.vue-carousel__item--bottom,.vue-carousel__item--left,.vue-carousel__item--right,.vue-carousel__item--top{left:0;position:absolute;top:0}.vue-carousel__item--top{transform:translateY(-100%)}.vue-carousel__item--top.vue-carousel__item--to-bottom{transform:translateY(0)}.vue-carousel__item--right{transform:translateX(100%)}.vue-carousel__item--right.vue-carousel__item--to-left{transform:translateX(0)}.vue-carousel__item--bottom{transform:translateY(100%)}.vue-carousel__item--bottom.vue-carousel__item--to-top{transform:translateY(0)}.vue-carousel__item--left{transform:translateX(-100%)}.vue-carousel__item--left.vue-carousel__item--to-right{transform:translateX(0)}.vue-carousel__item--active{transform:translate(0);z-index:1}.vue-carousel__item--active.vue-carousel__item--to-top{transform:translateY(-100%)}.vue-carousel__item--active.vue-carousel__item--to-right{transform:translateX(100%)}.vue-carousel__item--active.vue-carousel__item--to-bottom{transform:translateY(100%)}.vue-carousel__item--active.vue-carousel__item--to-left{transform:translateX(-100%)}.vue-carousel__indicators{bottom:0;display:flex;justify-content:center;left:50%;list-style:none;margin:0;padding:0;position:absolute;transform:translateX(-50%);z-index:1}.vue-carousel__indicators--disc>.vue-carousel__indicator{width:.75rem}.vue-carousel__indicators--disc>.vue-carousel__indicator:before{border-radius:50%;height:.5rem;width:.5rem}.vue-carousel__indicator{cursor:pointer;height:1.5rem;margin:.125rem;opacity:.5;position:relative;transition:opacity .15s;width:1.5rem}.vue-carousel__indicator:before{background-color:#fff;content:\"\";display:block;height:.125rem;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:100%}.vue-carousel__indicator--active{opacity:1}.vue-carousel__control{background-color:rgba(0,0,0,.5);border:0;border-radius:50%;color:#fff;cursor:pointer;height:2rem;margin-top:-1rem;opacity:.5;padding:.5rem;position:absolute;top:50%;transition:all .15s;width:2rem}.vue-carousel__control:focus,.vue-carousel__control:hover{opacity:1}.vue-carousel__control:focus{outline:none}.vue-carousel__control:before{border:.0625rem solid transparent;border-radius:.125rem;content:\"\";display:block;height:.5rem;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%) rotate(45deg);width:.5rem}.vue-carousel__control--prev{left:1rem}.vue-carousel__control--prev:before{border-bottom-color:#fff;border-left-color:#fff;margin-left:.125rem}.vue-carousel__control--next{right:1rem}.vue-carousel__control--next:before{border-right-color:#fff;border-top-color:#fff;margin-left:-.125rem}"; | ||
styleInject(css_248z); | ||
export default script; | ||
export { script as default }; |
@@ -1,2 +0,2 @@ | ||
/*! vue-carousel v2.0.0-beta | (c) 2018-present Chen Fengyuan | MIT */ | ||
import{defineComponent as t,nextTick as e,h as o}from"vue";const i="undefined"!=typeof window&&void 0!==window.document,r=!(!i||!window.document.documentElement)&&"ontouchstart"in window.document.documentElement,s=!!i&&"PointerEvent"in window,a=r?"ontouchstart":"onmousedown",n=s?"onpointerdown":a,l=s?"onpointermove":r?"ontouchmove":"onmousemove",u=s?"onpointerup":r?"ontouchend":"onmouseup",c=s?"onpointerenter":"onmouseenter",d=s?"onpointerleave":"onmouseleave";var h=t({name:"VueCarousel",props:{autoplay:{type:Boolean,default:!0},controls:{type:[Boolean,String],default:"hover"},data:{type:Array,default:void 0},direction:{type:String,default:"left"},indicators:{type:[Boolean,String],default:!0},indicatorTrigger:{type:String,default:"click"},indicatorType:{type:String,default:"line"},interval:{type:Number,default:5e3},pauseOnEnter:{type:Boolean,default:!0},slideOnSwipe:{type:Boolean,default:!0},tag:{type:String,default:"div"}},emits:["slide","slid"],data:()=>({endX:0,endY:0,index:0,list:[],onVisibilityChange:()=>{},playing:!1,sliding:!1,startX:0,startY:0,timeout:0}),watch:{data(){this.init()}},created(){this.init()},mounted(){document.addEventListener("visibilitychange",this.onVisibilityChange=()=>{this.playing&&("visible"===document.visibilityState?this.cycle():this.pause())}),this.autoplay&&this.play()},beforeUnmount(){document.removeEventListener("visibilitychange",this.onVisibilityChange)},methods:{init(){const{data:t}=this,e=[];if(t&&t.length>0){const o=t.length-1;this.index>o&&(this.index=o),t.forEach(((t,o)=>{const i=o===this.index,r={...t&&void 0!==t.content?t:{content:t},active:i,bottom:!1,left:!1,raw:t,right:!1,sliding:i,toBottom:!1,toLeft:!1,toRight:!1,toTop:!1,top:!1};e.push(r)}))}this.list=e},play(){this.playing||(this.playing=!0,this.cycle())},cycle(){this.playing&&(this.pause(),this.timeout=window.setTimeout((()=>{this.next((()=>{this.cycle()}))}),this.interval))},pause(){window.clearTimeout(this.timeout),this.timeout=0},stop(){this.playing&&(this.pause(),this.playing=!1)},prev(t){this.slideTo(this.index-1,t)},next(t){this.slideTo(this.index+1,t)},slide(t,o=!1,i=(()=>{})){if(document.hidden||this.sliding)return void i();const{list:r}=this,s=r.length-1;if(t>s?t=0:t<0&&(t=s),t===this.index)return void i();this.sliding=!0,this.$emit("slide",t,this.index);const a=r[this.index],n=r[t];switch(this.direction){case"up":n.bottom=!o,n.top=o;break;case"right":n.left=!o,n.right=o;break;case"down":n.top=!o,n.bottom=o;break;default:n.right=!o,n.left=o}e((()=>{switch(this.$el.offsetWidth,this.direction){case"up":a.toTop=!o,a.toBottom=o,n.toTop=!o,n.toBottom=o;break;case"right":a.toRight=!o,a.toLeft=o,n.toRight=!o,n.toLeft=o;break;case"down":a.toBottom=!o,a.toTop=o,n.toBottom=!o,n.toTop=o;break;default:a.toLeft=!o,a.toRight=o,n.toLeft=!o,n.toRight=o}a.sliding=!1,n.sliding=!0,setTimeout((()=>{a.active=!1,a.top=!1,a.right=!1,a.bottom=!1,a.left=!1,a.toTop=!1,a.toRight=!1,a.toBottom=!1,a.toLeft=!1,n.active=!0,n.top=!1,n.right=!1,n.bottom=!1,n.left=!1,n.toTop=!1,n.toRight=!1,n.toBottom=!1,n.toLeft=!1,this.$emit("slid",t,this.index),this.index=t,this.sliding=!1,i()}),600)}))},slideTo(t,e){t!==this.index&&this.slide(t,t<this.index,e)},slideStart(t){const e=t.touches?t.touches[0]:null;this.playing&&this.pauseOnEnter&&this.stop(),this.startX=e?e.pageX:t.pageX,this.startY=e?e.pageY:t.pageY},slideMove(t){const e=t.touches?t.touches[0]:null;t.preventDefault(),this.endX=e?e.pageX:t.pageX,this.endY=e?e.pageY:t.pageY},slideEnd(){const t=this.endX-this.startX,e=this.endY-this.startY;if(this.endX=this.startX,this.endY=this.startY,0===t&&0===e)return;const o=this.$el.offsetWidth/5,i=this.$el.offsetHeight/5,r=e<-i,s=t>o,a=e>i,n=t<-o,l=()=>{!this.playing&&this.pauseOnEnter&&this.play()};let u=!1,c=!1;switch(this.direction){case"up":u=a,c=r;break;case"right":u=n,c=s;break;case"down":u=r,c=a;break;default:u=s,c=n}u?this.prev(l):c?this.next(l):l()}},render(){return o(this.tag,{class:{"vue-carousel":!0,[`vue-carousel--${this.direction}`]:this.direction,"vue-carousel--slidable":this.slideOnSwipe,"vue-carousel--controls":"hover"===this.controls,"vue-carousel--indicators":"hover"===this.indicators},...this.pauseOnEnter?{[c]:this.pause,[d]:this.cycle}:{},...this.slideOnSwipe?{[n]:this.slideStart,[l]:this.slideMove,[u]:this.slideEnd}:{}},0===this.list.length?[]:[o("ul",{class:"vue-carousel__list"},this.list.map(((t,e)=>{return o("li",{"data-index":e,class:{"vue-carousel__item":!0,"vue-carousel__item--active":t.active,"vue-carousel__item--top":t.top,"vue-carousel__item--right":t.right,"vue-carousel__item--bottom":t.bottom,"vue-carousel__item--left":t.left,"vue-carousel__item--to-top":t.toTop,"vue-carousel__item--to-right":t.toRight,"vue-carousel__item--to-bottom":t.toBottom,"vue-carousel__item--to-left":t.toLeft}},[o((i=t.content,"object"==typeof i&&null!==i||"function"==typeof i?i:{template:String(i)}))]);var i}))),this.indicators?o("ol",{class:{"vue-carousel__indicators":!0,[`vue-carousel__indicators--${this.indicatorType}`]:this.indicatorType}},this.list.map(((t,e)=>o("li",{"data-slide-to":e,class:{"vue-carousel__indicator":!0,"vue-carousel__indicator--active":t.sliding},...(()=>{const t={},o=()=>{this.slideTo(e)};return"hover"===this.indicatorTrigger?(t[c]=o,r&&!s&&(t[a]=o)):t.onclick=o,t})()})))):"",this.controls?o("button",{type:"button","data-slide":"prev",class:"vue-carousel__control vue-carousel__control--prev",onclick:()=>{["right","down"].indexOf(this.direction)>-1?this.next():this.prev()}}):"",this.controls?o("button",{type:"button","data-slide":"next",class:"vue-carousel__control vue-carousel__control--next",onclick:()=>{["right","down"].indexOf(this.direction)>-1?this.prev():this.next()}}):""])}});!function(t,e){void 0===e&&(e={});var o=e.insertAt;if(t&&"undefined"!=typeof document){var i=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css","top"===o&&i.firstChild?i.insertBefore(r,i.firstChild):i.appendChild(r),r.styleSheet?r.styleSheet.cssText=t:r.appendChild(document.createTextNode(t))}}('.vue-carousel{position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vue-carousel--slidable{touch-action:none}.vue-carousel--down>.vue-carousel__indicators,.vue-carousel--up>.vue-carousel__indicators{bottom:auto;flex-direction:column;left:auto;right:0;top:50%;transform:translateY(-50%)}.vue-carousel--down>.vue-carousel__indicators>.vue-carousel__indicator:before,.vue-carousel--up>.vue-carousel__indicators>.vue-carousel__indicator:before{height:100%;width:.125rem}.vue-carousel--down>.vue-carousel__indicators--disc>.vue-carousel__indicator,.vue-carousel--up>.vue-carousel__indicators--disc>.vue-carousel__indicator{height:.75rem;width:1.5rem}.vue-carousel--down>.vue-carousel__indicators--disc>.vue-carousel__indicator:before,.vue-carousel--up>.vue-carousel__indicators--disc>.vue-carousel__indicator:before{height:.5rem;width:.5rem}.vue-carousel--right>.vue-carousel__indicators{flex-direction:row-reverse}.vue-carousel--down>.vue-carousel__indicators{flex-direction:column-reverse}.vue-carousel--controls:hover>.vue-carousel__control{opacity:.5;transform:translateX(0);z-index:1}.vue-carousel--controls:hover>.vue-carousel__control:focus,.vue-carousel--controls:hover>.vue-carousel__control:hover{opacity:1}.vue-carousel--controls>.vue-carousel__control{opacity:0;z-index:-1}.vue-carousel--controls>.vue-carousel__control--prev{transform:translateX(-50%)}.vue-carousel--controls>.vue-carousel__control--next{transform:translateX(50%)}.vue-carousel--indicators:hover>.vue-carousel__indicators{opacity:1;z-index:1}.vue-carousel--indicators>.vue-carousel__indicators{opacity:0;transition:opacity .15s;z-index:-1}.vue-carousel__list{margin:0;overflow:hidden;padding:0;position:relative;width:100%}.vue-carousel__item{display:none;margin:0}.vue-carousel__item--active,.vue-carousel__item--bottom,.vue-carousel__item--left,.vue-carousel__item--right,.vue-carousel__item--top{display:block;transition:transform .6s ease-in-out;width:100%}.vue-carousel__item--bottom,.vue-carousel__item--left,.vue-carousel__item--right,.vue-carousel__item--top{left:0;position:absolute;top:0}.vue-carousel__item--top{transform:translateY(-100%)}.vue-carousel__item--top.vue-carousel__item--to-bottom{transform:translateY(0)}.vue-carousel__item--right{transform:translateX(100%)}.vue-carousel__item--right.vue-carousel__item--to-left{transform:translateX(0)}.vue-carousel__item--bottom{transform:translateY(100%)}.vue-carousel__item--bottom.vue-carousel__item--to-top{transform:translateY(0)}.vue-carousel__item--left{transform:translateX(-100%)}.vue-carousel__item--left.vue-carousel__item--to-right{transform:translateX(0)}.vue-carousel__item--active{transform:translate(0);z-index:1}.vue-carousel__item--active.vue-carousel__item--to-top{transform:translateY(-100%)}.vue-carousel__item--active.vue-carousel__item--to-right{transform:translateX(100%)}.vue-carousel__item--active.vue-carousel__item--to-bottom{transform:translateY(100%)}.vue-carousel__item--active.vue-carousel__item--to-left{transform:translateX(-100%)}.vue-carousel__indicators{bottom:0;display:flex;justify-content:center;left:50%;list-style:none;margin:0;padding:0;position:absolute;transform:translateX(-50%);z-index:1}.vue-carousel__indicators--disc>.vue-carousel__indicator{width:.75rem}.vue-carousel__indicators--disc>.vue-carousel__indicator:before{border-radius:50%;height:.5rem;width:.5rem}.vue-carousel__indicator{cursor:pointer;height:1.5rem;margin:.125rem;opacity:.5;position:relative;transition:opacity .15s;width:1.5rem}.vue-carousel__indicator:before{background-color:#fff;content:"";display:block;height:.125rem;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:100%}.vue-carousel__indicator--active{opacity:1}.vue-carousel__control{background-color:rgba(0,0,0,.5);border:0;border-radius:50%;color:#fff;cursor:pointer;height:2rem;margin-top:-1rem;opacity:.5;padding:.5rem;position:absolute;top:50%;transition:all .15s;width:2rem}.vue-carousel__control:focus,.vue-carousel__control:hover{opacity:1}.vue-carousel__control:focus{outline:none}.vue-carousel__control:before{border:.0625rem solid transparent;border-radius:.125rem;content:"";display:block;height:.5rem;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%) rotate(45deg);width:.5rem}.vue-carousel__control--prev{left:1rem}.vue-carousel__control--prev:before{border-bottom-color:#fff;border-left-color:#fff;margin-left:.125rem}.vue-carousel__control--next{right:1rem}.vue-carousel__control--next:before{border-right-color:#fff;border-top-color:#fff;margin-left:-.125rem}');export default h; | ||
/*! vue-carousel v2.0.0 | (c) 2018-present Chen Fengyuan | MIT */ | ||
import{defineComponent as t,nextTick as e,h as o}from"vue";const i="undefined"!=typeof window&&void 0!==window.document,r=!(!i||!window.document.documentElement)&&"ontouchstart"in window.document.documentElement,s=!!i&&"PointerEvent"in window,a=r?"ontouchstart":"onmousedown",n=s?"onpointerdown":a,l=s?"onpointermove":r?"ontouchmove":"onmousemove",u=s?"onpointerup":r?"ontouchend":"onmouseup",c=s?"onpointerenter":"onmouseenter",d=s?"onpointerleave":"onmouseleave";var h=t({name:"VueCarousel",props:{autoplay:{type:Boolean,default:!0},controls:{type:[Boolean,String],default:"hover"},data:{type:Array,default:void 0},direction:{type:String,default:"left"},duration:{type:Number,default:600},indicators:{type:[Boolean,String],default:!0},indicatorTrigger:{type:String,default:"click"},indicatorType:{type:String,default:"line"},interval:{type:Number,default:5e3},pauseOnEnter:{type:Boolean,default:!0},slideOnSwipe:{type:Boolean,default:!0},tag:{type:String,default:"div"}},emits:["slide","slid"],data:()=>({endX:0,endY:0,index:0,list:[],onVisibilityChange:()=>{},playing:!1,sliding:!1,startX:0,startY:0,timeout:0}),watch:{data(){this.init()}},created(){this.init()},mounted(){document.addEventListener("visibilitychange",this.onVisibilityChange=()=>{this.playing&&("visible"===document.visibilityState?this.cycle():this.pause())}),this.autoplay&&this.play()},beforeUnmount(){document.removeEventListener("visibilitychange",this.onVisibilityChange)},methods:{init(){const{data:t}=this,e=[];if(t&&t.length>0){const o=t.length-1;this.index>o&&(this.index=o),t.forEach(((t,o)=>{const i=o===this.index,r={...t&&void 0!==t.content?t:{content:t},active:i,bottom:!1,left:!1,raw:t,right:!1,sliding:i,toBottom:!1,toLeft:!1,toRight:!1,toTop:!1,top:!1};e.push(r)}))}this.list=e},play(){this.playing||(this.playing=!0,this.cycle())},cycle(){this.playing&&(this.pause(),this.timeout=window.setTimeout((()=>{this.next((()=>{this.cycle()}))}),this.interval))},pause(){window.clearTimeout(this.timeout),this.timeout=0},stop(){this.playing&&(this.pause(),this.playing=!1)},prev(t){this.slideTo(this.index-1,t)},next(t){this.slideTo(this.index+1,t)},slide(t,o=!1,i=(()=>{})){if(document.hidden||this.sliding)return void i();const{list:r}=this,s=r.length-1;if(t>s?t=0:t<0&&(t=s),t===this.index)return void i();this.sliding=!0,this.$emit("slide",t,this.index);const a=r[this.index],n=r[t];switch(this.direction){case"up":n.bottom=!o,n.top=o;break;case"right":n.left=!o,n.right=o;break;case"down":n.top=!o,n.bottom=o;break;default:n.right=!o,n.left=o}e((()=>{switch(this.$el.offsetWidth,this.direction){case"up":a.toTop=!o,a.toBottom=o,n.toTop=!o,n.toBottom=o;break;case"right":a.toRight=!o,a.toLeft=o,n.toRight=!o,n.toLeft=o;break;case"down":a.toBottom=!o,a.toTop=o,n.toBottom=!o,n.toTop=o;break;default:a.toLeft=!o,a.toRight=o,n.toLeft=!o,n.toRight=o}a.sliding=!1,n.sliding=!0,setTimeout((()=>{a.active=!1,a.top=!1,a.right=!1,a.bottom=!1,a.left=!1,a.toTop=!1,a.toRight=!1,a.toBottom=!1,a.toLeft=!1,n.active=!0,n.top=!1,n.right=!1,n.bottom=!1,n.left=!1,n.toTop=!1,n.toRight=!1,n.toBottom=!1,n.toLeft=!1,this.$emit("slid",t,this.index),this.index=t,this.sliding=!1,i()}),this.duration)}))},slideTo(t,e){t!==this.index&&this.slide(t,t<this.index,e)},slideStart(t){const e=t.touches?t.touches[0]:null;this.playing&&this.pauseOnEnter&&this.stop(),this.startX=e?e.pageX:t.pageX,this.startY=e?e.pageY:t.pageY},slideMove(t){const e=t.touches?t.touches[0]:null;t.preventDefault(),this.endX=e?e.pageX:t.pageX,this.endY=e?e.pageY:t.pageY},slideEnd(){const t=this.endX-this.startX,e=this.endY-this.startY;if(this.endX=this.startX,this.endY=this.startY,0===t&&0===e)return;const o=this.$el.offsetWidth/5,i=this.$el.offsetHeight/5,r=e<-i,s=t>o,a=e>i,n=t<-o,l=()=>{!this.playing&&this.pauseOnEnter&&this.play()};let u=!1,c=!1;switch(this.direction){case"up":u=a,c=r;break;case"right":u=n,c=s;break;case"down":u=r,c=a;break;default:u=s,c=n}u?this.prev(l):c?this.next(l):l()}},render(){return o(this.tag,{class:{"vue-carousel":!0,[`vue-carousel--${this.direction}`]:this.direction,"vue-carousel--slidable":this.slideOnSwipe,"vue-carousel--controls":"hover"===this.controls,"vue-carousel--indicators":"hover"===this.indicators},...this.pauseOnEnter?{[c]:this.pause,[d]:this.cycle}:{},...this.slideOnSwipe?{[n]:this.slideStart,[l]:this.slideMove,[u]:this.slideEnd}:{}},0===this.list.length?[]:[o("ul",{class:"vue-carousel__list"},this.list.map(((t,e)=>{return o("li",{"data-index":e,class:{"vue-carousel__item":!0,"vue-carousel__item--active":t.active,"vue-carousel__item--top":t.top,"vue-carousel__item--right":t.right,"vue-carousel__item--bottom":t.bottom,"vue-carousel__item--left":t.left,"vue-carousel__item--to-top":t.toTop,"vue-carousel__item--to-right":t.toRight,"vue-carousel__item--to-bottom":t.toBottom,"vue-carousel__item--to-left":t.toLeft},style:{"transition-duration":this.duration/1e3+"s"}},[o((i=t.content,"object"==typeof i&&null!==i||"function"==typeof i?i:{template:String(i)}))]);var i}))),this.indicators?o("ol",{class:{"vue-carousel__indicators":!0,[`vue-carousel__indicators--${this.indicatorType}`]:this.indicatorType}},this.list.map(((t,e)=>o("li",{"data-slide-to":e,class:{"vue-carousel__indicator":!0,"vue-carousel__indicator--active":t.sliding},...(()=>{const t={},o=()=>{this.slideTo(e)};return"hover"===this.indicatorTrigger?(t[c]=o,r&&!s&&(t[a]=o)):t.onclick=o,t})()})))):"",this.controls?o("button",{type:"button","data-slide":"prev",class:"vue-carousel__control vue-carousel__control--prev",onclick:()=>{["right","down"].indexOf(this.direction)>-1?this.next():this.prev()}}):"",this.controls?o("button",{type:"button","data-slide":"next",class:"vue-carousel__control vue-carousel__control--next",onclick:()=>{["right","down"].indexOf(this.direction)>-1?this.prev():this.next()}}):""])}});!function(t,e){void 0===e&&(e={});var o=e.insertAt;if(t&&"undefined"!=typeof document){var i=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css","top"===o&&i.firstChild?i.insertBefore(r,i.firstChild):i.appendChild(r),r.styleSheet?r.styleSheet.cssText=t:r.appendChild(document.createTextNode(t))}}('.vue-carousel{position:relative;user-select:none}.vue-carousel--slidable{touch-action:none}.vue-carousel--down>.vue-carousel__indicators,.vue-carousel--up>.vue-carousel__indicators{bottom:auto;flex-direction:column;left:auto;right:0;top:50%;transform:translateY(-50%)}.vue-carousel--down>.vue-carousel__indicators>.vue-carousel__indicator:before,.vue-carousel--up>.vue-carousel__indicators>.vue-carousel__indicator:before{height:100%;width:.125rem}.vue-carousel--down>.vue-carousel__indicators--disc>.vue-carousel__indicator,.vue-carousel--up>.vue-carousel__indicators--disc>.vue-carousel__indicator{height:.75rem;width:1.5rem}.vue-carousel--down>.vue-carousel__indicators--disc>.vue-carousel__indicator:before,.vue-carousel--up>.vue-carousel__indicators--disc>.vue-carousel__indicator:before{height:.5rem;width:.5rem}.vue-carousel--right>.vue-carousel__indicators{flex-direction:row-reverse}.vue-carousel--down>.vue-carousel__indicators{flex-direction:column-reverse}.vue-carousel--controls:hover>.vue-carousel__control{opacity:.5;transform:translateX(0);z-index:1}.vue-carousel--controls:hover>.vue-carousel__control:focus,.vue-carousel--controls:hover>.vue-carousel__control:hover{opacity:1}.vue-carousel--controls>.vue-carousel__control{opacity:0;z-index:-1}.vue-carousel--controls>.vue-carousel__control--prev{transform:translateX(-50%)}.vue-carousel--controls>.vue-carousel__control--next{transform:translateX(50%)}.vue-carousel--indicators:hover>.vue-carousel__indicators{opacity:1;z-index:1}.vue-carousel--indicators>.vue-carousel__indicators{opacity:0;transition:opacity .15s;z-index:-1}.vue-carousel__list{margin:0;overflow:hidden;padding:0;position:relative;width:100%}.vue-carousel__item{display:none;margin:0}.vue-carousel__item--active,.vue-carousel__item--bottom,.vue-carousel__item--left,.vue-carousel__item--right,.vue-carousel__item--top{display:block;transition:transform .6s ease-in-out;width:100%}.vue-carousel__item--bottom,.vue-carousel__item--left,.vue-carousel__item--right,.vue-carousel__item--top{left:0;position:absolute;top:0}.vue-carousel__item--top{transform:translateY(-100%)}.vue-carousel__item--top.vue-carousel__item--to-bottom{transform:translateY(0)}.vue-carousel__item--right{transform:translateX(100%)}.vue-carousel__item--right.vue-carousel__item--to-left{transform:translateX(0)}.vue-carousel__item--bottom{transform:translateY(100%)}.vue-carousel__item--bottom.vue-carousel__item--to-top{transform:translateY(0)}.vue-carousel__item--left{transform:translateX(-100%)}.vue-carousel__item--left.vue-carousel__item--to-right{transform:translateX(0)}.vue-carousel__item--active{transform:translate(0);z-index:1}.vue-carousel__item--active.vue-carousel__item--to-top{transform:translateY(-100%)}.vue-carousel__item--active.vue-carousel__item--to-right{transform:translateX(100%)}.vue-carousel__item--active.vue-carousel__item--to-bottom{transform:translateY(100%)}.vue-carousel__item--active.vue-carousel__item--to-left{transform:translateX(-100%)}.vue-carousel__indicators{bottom:0;display:flex;justify-content:center;left:50%;list-style:none;margin:0;padding:0;position:absolute;transform:translateX(-50%);z-index:1}.vue-carousel__indicators--disc>.vue-carousel__indicator{width:.75rem}.vue-carousel__indicators--disc>.vue-carousel__indicator:before{border-radius:50%;height:.5rem;width:.5rem}.vue-carousel__indicator{cursor:pointer;height:1.5rem;margin:.125rem;opacity:.5;position:relative;transition:opacity .15s;width:1.5rem}.vue-carousel__indicator:before{background-color:#fff;content:"";display:block;height:.125rem;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:100%}.vue-carousel__indicator--active{opacity:1}.vue-carousel__control{background-color:rgba(0,0,0,.5);border:0;border-radius:50%;color:#fff;cursor:pointer;height:2rem;margin-top:-1rem;opacity:.5;padding:.5rem;position:absolute;top:50%;transition:all .15s;width:2rem}.vue-carousel__control:focus,.vue-carousel__control:hover{opacity:1}.vue-carousel__control:focus{outline:none}.vue-carousel__control:before{border:.0625rem solid transparent;border-radius:.125rem;content:"";display:block;height:.5rem;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%) rotate(45deg);width:.5rem}.vue-carousel__control--prev{left:1rem}.vue-carousel__control--prev:before{border-bottom-color:#fff;border-left-color:#fff;margin-left:.125rem}.vue-carousel__control--next{right:1rem}.vue-carousel__control--next:before{border-right-color:#fff;border-top-color:#fff;margin-left:-.125rem}');export{h as default}; |
@@ -1,2 +0,2 @@ | ||
/*! vue-carousel v2.0.0-beta | (c) 2018-present Chen Fengyuan | MIT */ | ||
/*! vue-carousel v2.0.0 | (c) 2018-present Chen Fengyuan | MIT */ | ||
(function (global, factory) { | ||
@@ -6,3 +6,3 @@ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('vue')) : | ||
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.VueCarousel = factory(global.Vue)); | ||
}(this, (function (vue) { 'use strict'; | ||
})(this, (function (vue) { 'use strict'; | ||
@@ -47,2 +47,6 @@ const IS_BROWSER = typeof window !== 'undefined' && typeof window.document !== 'undefined'; | ||
}, | ||
duration: { | ||
type: Number, | ||
default: 600, | ||
}, | ||
indicators: { | ||
@@ -279,3 +283,3 @@ type: [Boolean, String], | ||
done(); | ||
}, 600); | ||
}, this.duration); | ||
}); | ||
@@ -389,2 +393,5 @@ }, | ||
}, | ||
style: { | ||
'transition-duration': `${this.duration / 1000}s`, | ||
}, | ||
}, [ | ||
@@ -478,3 +485,3 @@ vue.h(createVueComponent(item.content)), | ||
var css_248z = ".vue-carousel{position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vue-carousel--slidable{touch-action:none}.vue-carousel--down>.vue-carousel__indicators,.vue-carousel--up>.vue-carousel__indicators{bottom:auto;flex-direction:column;left:auto;right:0;top:50%;transform:translateY(-50%)}.vue-carousel--down>.vue-carousel__indicators>.vue-carousel__indicator:before,.vue-carousel--up>.vue-carousel__indicators>.vue-carousel__indicator:before{height:100%;width:.125rem}.vue-carousel--down>.vue-carousel__indicators--disc>.vue-carousel__indicator,.vue-carousel--up>.vue-carousel__indicators--disc>.vue-carousel__indicator{height:.75rem;width:1.5rem}.vue-carousel--down>.vue-carousel__indicators--disc>.vue-carousel__indicator:before,.vue-carousel--up>.vue-carousel__indicators--disc>.vue-carousel__indicator:before{height:.5rem;width:.5rem}.vue-carousel--right>.vue-carousel__indicators{flex-direction:row-reverse}.vue-carousel--down>.vue-carousel__indicators{flex-direction:column-reverse}.vue-carousel--controls:hover>.vue-carousel__control{opacity:.5;transform:translateX(0);z-index:1}.vue-carousel--controls:hover>.vue-carousel__control:focus,.vue-carousel--controls:hover>.vue-carousel__control:hover{opacity:1}.vue-carousel--controls>.vue-carousel__control{opacity:0;z-index:-1}.vue-carousel--controls>.vue-carousel__control--prev{transform:translateX(-50%)}.vue-carousel--controls>.vue-carousel__control--next{transform:translateX(50%)}.vue-carousel--indicators:hover>.vue-carousel__indicators{opacity:1;z-index:1}.vue-carousel--indicators>.vue-carousel__indicators{opacity:0;transition:opacity .15s;z-index:-1}.vue-carousel__list{margin:0;overflow:hidden;padding:0;position:relative;width:100%}.vue-carousel__item{display:none;margin:0}.vue-carousel__item--active,.vue-carousel__item--bottom,.vue-carousel__item--left,.vue-carousel__item--right,.vue-carousel__item--top{display:block;transition:transform .6s ease-in-out;width:100%}.vue-carousel__item--bottom,.vue-carousel__item--left,.vue-carousel__item--right,.vue-carousel__item--top{left:0;position:absolute;top:0}.vue-carousel__item--top{transform:translateY(-100%)}.vue-carousel__item--top.vue-carousel__item--to-bottom{transform:translateY(0)}.vue-carousel__item--right{transform:translateX(100%)}.vue-carousel__item--right.vue-carousel__item--to-left{transform:translateX(0)}.vue-carousel__item--bottom{transform:translateY(100%)}.vue-carousel__item--bottom.vue-carousel__item--to-top{transform:translateY(0)}.vue-carousel__item--left{transform:translateX(-100%)}.vue-carousel__item--left.vue-carousel__item--to-right{transform:translateX(0)}.vue-carousel__item--active{transform:translate(0);z-index:1}.vue-carousel__item--active.vue-carousel__item--to-top{transform:translateY(-100%)}.vue-carousel__item--active.vue-carousel__item--to-right{transform:translateX(100%)}.vue-carousel__item--active.vue-carousel__item--to-bottom{transform:translateY(100%)}.vue-carousel__item--active.vue-carousel__item--to-left{transform:translateX(-100%)}.vue-carousel__indicators{bottom:0;display:flex;justify-content:center;left:50%;list-style:none;margin:0;padding:0;position:absolute;transform:translateX(-50%);z-index:1}.vue-carousel__indicators--disc>.vue-carousel__indicator{width:.75rem}.vue-carousel__indicators--disc>.vue-carousel__indicator:before{border-radius:50%;height:.5rem;width:.5rem}.vue-carousel__indicator{cursor:pointer;height:1.5rem;margin:.125rem;opacity:.5;position:relative;transition:opacity .15s;width:1.5rem}.vue-carousel__indicator:before{background-color:#fff;content:\"\";display:block;height:.125rem;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:100%}.vue-carousel__indicator--active{opacity:1}.vue-carousel__control{background-color:rgba(0,0,0,.5);border:0;border-radius:50%;color:#fff;cursor:pointer;height:2rem;margin-top:-1rem;opacity:.5;padding:.5rem;position:absolute;top:50%;transition:all .15s;width:2rem}.vue-carousel__control:focus,.vue-carousel__control:hover{opacity:1}.vue-carousel__control:focus{outline:none}.vue-carousel__control:before{border:.0625rem solid transparent;border-radius:.125rem;content:\"\";display:block;height:.5rem;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%) rotate(45deg);width:.5rem}.vue-carousel__control--prev{left:1rem}.vue-carousel__control--prev:before{border-bottom-color:#fff;border-left-color:#fff;margin-left:.125rem}.vue-carousel__control--next{right:1rem}.vue-carousel__control--next:before{border-right-color:#fff;border-top-color:#fff;margin-left:-.125rem}"; | ||
var css_248z = ".vue-carousel{position:relative;user-select:none}.vue-carousel--slidable{touch-action:none}.vue-carousel--down>.vue-carousel__indicators,.vue-carousel--up>.vue-carousel__indicators{bottom:auto;flex-direction:column;left:auto;right:0;top:50%;transform:translateY(-50%)}.vue-carousel--down>.vue-carousel__indicators>.vue-carousel__indicator:before,.vue-carousel--up>.vue-carousel__indicators>.vue-carousel__indicator:before{height:100%;width:.125rem}.vue-carousel--down>.vue-carousel__indicators--disc>.vue-carousel__indicator,.vue-carousel--up>.vue-carousel__indicators--disc>.vue-carousel__indicator{height:.75rem;width:1.5rem}.vue-carousel--down>.vue-carousel__indicators--disc>.vue-carousel__indicator:before,.vue-carousel--up>.vue-carousel__indicators--disc>.vue-carousel__indicator:before{height:.5rem;width:.5rem}.vue-carousel--right>.vue-carousel__indicators{flex-direction:row-reverse}.vue-carousel--down>.vue-carousel__indicators{flex-direction:column-reverse}.vue-carousel--controls:hover>.vue-carousel__control{opacity:.5;transform:translateX(0);z-index:1}.vue-carousel--controls:hover>.vue-carousel__control:focus,.vue-carousel--controls:hover>.vue-carousel__control:hover{opacity:1}.vue-carousel--controls>.vue-carousel__control{opacity:0;z-index:-1}.vue-carousel--controls>.vue-carousel__control--prev{transform:translateX(-50%)}.vue-carousel--controls>.vue-carousel__control--next{transform:translateX(50%)}.vue-carousel--indicators:hover>.vue-carousel__indicators{opacity:1;z-index:1}.vue-carousel--indicators>.vue-carousel__indicators{opacity:0;transition:opacity .15s;z-index:-1}.vue-carousel__list{margin:0;overflow:hidden;padding:0;position:relative;width:100%}.vue-carousel__item{display:none;margin:0}.vue-carousel__item--active,.vue-carousel__item--bottom,.vue-carousel__item--left,.vue-carousel__item--right,.vue-carousel__item--top{display:block;transition:transform .6s ease-in-out;width:100%}.vue-carousel__item--bottom,.vue-carousel__item--left,.vue-carousel__item--right,.vue-carousel__item--top{left:0;position:absolute;top:0}.vue-carousel__item--top{transform:translateY(-100%)}.vue-carousel__item--top.vue-carousel__item--to-bottom{transform:translateY(0)}.vue-carousel__item--right{transform:translateX(100%)}.vue-carousel__item--right.vue-carousel__item--to-left{transform:translateX(0)}.vue-carousel__item--bottom{transform:translateY(100%)}.vue-carousel__item--bottom.vue-carousel__item--to-top{transform:translateY(0)}.vue-carousel__item--left{transform:translateX(-100%)}.vue-carousel__item--left.vue-carousel__item--to-right{transform:translateX(0)}.vue-carousel__item--active{transform:translate(0);z-index:1}.vue-carousel__item--active.vue-carousel__item--to-top{transform:translateY(-100%)}.vue-carousel__item--active.vue-carousel__item--to-right{transform:translateX(100%)}.vue-carousel__item--active.vue-carousel__item--to-bottom{transform:translateY(100%)}.vue-carousel__item--active.vue-carousel__item--to-left{transform:translateX(-100%)}.vue-carousel__indicators{bottom:0;display:flex;justify-content:center;left:50%;list-style:none;margin:0;padding:0;position:absolute;transform:translateX(-50%);z-index:1}.vue-carousel__indicators--disc>.vue-carousel__indicator{width:.75rem}.vue-carousel__indicators--disc>.vue-carousel__indicator:before{border-radius:50%;height:.5rem;width:.5rem}.vue-carousel__indicator{cursor:pointer;height:1.5rem;margin:.125rem;opacity:.5;position:relative;transition:opacity .15s;width:1.5rem}.vue-carousel__indicator:before{background-color:#fff;content:\"\";display:block;height:.125rem;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:100%}.vue-carousel__indicator--active{opacity:1}.vue-carousel__control{background-color:rgba(0,0,0,.5);border:0;border-radius:50%;color:#fff;cursor:pointer;height:2rem;margin-top:-1rem;opacity:.5;padding:.5rem;position:absolute;top:50%;transition:all .15s;width:2rem}.vue-carousel__control:focus,.vue-carousel__control:hover{opacity:1}.vue-carousel__control:focus{outline:none}.vue-carousel__control:before{border:.0625rem solid transparent;border-radius:.125rem;content:\"\";display:block;height:.5rem;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%) rotate(45deg);width:.5rem}.vue-carousel__control--prev{left:1rem}.vue-carousel__control--prev:before{border-bottom-color:#fff;border-left-color:#fff;margin-left:.125rem}.vue-carousel__control--next{right:1rem}.vue-carousel__control--next:before{border-right-color:#fff;border-top-color:#fff;margin-left:-.125rem}"; | ||
styleInject(css_248z); | ||
@@ -484,2 +491,2 @@ | ||
}))); | ||
})); |
@@ -1,2 +0,2 @@ | ||
/*! vue-carousel v2.0.0-beta | (c) 2018-present Chen Fengyuan | MIT */ | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue")):"function"==typeof define&&define.amd?define(["vue"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).VueCarousel=t(e.Vue)}(this,(function(e){"use strict";const t="undefined"!=typeof window&&void 0!==window.document,o=!(!t||!window.document.documentElement)&&"ontouchstart"in window.document.documentElement,i=!!t&&"PointerEvent"in window,s=o?"ontouchstart":"onmousedown",r=i?"onpointerdown":s,a=i?"onpointermove":o?"ontouchmove":"onmousemove",n=i?"onpointerup":o?"ontouchend":"onmouseup",l=i?"onpointerenter":"onmouseenter",u=i?"onpointerleave":"onmouseleave";var c=e.defineComponent({name:"VueCarousel",props:{autoplay:{type:Boolean,default:!0},controls:{type:[Boolean,String],default:"hover"},data:{type:Array,default:void 0},direction:{type:String,default:"left"},indicators:{type:[Boolean,String],default:!0},indicatorTrigger:{type:String,default:"click"},indicatorType:{type:String,default:"line"},interval:{type:Number,default:5e3},pauseOnEnter:{type:Boolean,default:!0},slideOnSwipe:{type:Boolean,default:!0},tag:{type:String,default:"div"}},emits:["slide","slid"],data:()=>({endX:0,endY:0,index:0,list:[],onVisibilityChange:()=>{},playing:!1,sliding:!1,startX:0,startY:0,timeout:0}),watch:{data(){this.init()}},created(){this.init()},mounted(){document.addEventListener("visibilitychange",this.onVisibilityChange=()=>{this.playing&&("visible"===document.visibilityState?this.cycle():this.pause())}),this.autoplay&&this.play()},beforeUnmount(){document.removeEventListener("visibilitychange",this.onVisibilityChange)},methods:{init(){const{data:e}=this,t=[];if(e&&e.length>0){const o=e.length-1;this.index>o&&(this.index=o),e.forEach(((e,o)=>{const i=o===this.index,s={...e&&void 0!==e.content?e:{content:e},active:i,bottom:!1,left:!1,raw:e,right:!1,sliding:i,toBottom:!1,toLeft:!1,toRight:!1,toTop:!1,top:!1};t.push(s)}))}this.list=t},play(){this.playing||(this.playing=!0,this.cycle())},cycle(){this.playing&&(this.pause(),this.timeout=window.setTimeout((()=>{this.next((()=>{this.cycle()}))}),this.interval))},pause(){window.clearTimeout(this.timeout),this.timeout=0},stop(){this.playing&&(this.pause(),this.playing=!1)},prev(e){this.slideTo(this.index-1,e)},next(e){this.slideTo(this.index+1,e)},slide(t,o=!1,i=(()=>{})){if(document.hidden||this.sliding)return void i();const{list:s}=this,r=s.length-1;if(t>r?t=0:t<0&&(t=r),t===this.index)return void i();this.sliding=!0,this.$emit("slide",t,this.index);const a=s[this.index],n=s[t];switch(this.direction){case"up":n.bottom=!o,n.top=o;break;case"right":n.left=!o,n.right=o;break;case"down":n.top=!o,n.bottom=o;break;default:n.right=!o,n.left=o}e.nextTick((()=>{switch(this.$el.offsetWidth,this.direction){case"up":a.toTop=!o,a.toBottom=o,n.toTop=!o,n.toBottom=o;break;case"right":a.toRight=!o,a.toLeft=o,n.toRight=!o,n.toLeft=o;break;case"down":a.toBottom=!o,a.toTop=o,n.toBottom=!o,n.toTop=o;break;default:a.toLeft=!o,a.toRight=o,n.toLeft=!o,n.toRight=o}a.sliding=!1,n.sliding=!0,setTimeout((()=>{a.active=!1,a.top=!1,a.right=!1,a.bottom=!1,a.left=!1,a.toTop=!1,a.toRight=!1,a.toBottom=!1,a.toLeft=!1,n.active=!0,n.top=!1,n.right=!1,n.bottom=!1,n.left=!1,n.toTop=!1,n.toRight=!1,n.toBottom=!1,n.toLeft=!1,this.$emit("slid",t,this.index),this.index=t,this.sliding=!1,i()}),600)}))},slideTo(e,t){e!==this.index&&this.slide(e,e<this.index,t)},slideStart(e){const t=e.touches?e.touches[0]:null;this.playing&&this.pauseOnEnter&&this.stop(),this.startX=t?t.pageX:e.pageX,this.startY=t?t.pageY:e.pageY},slideMove(e){const t=e.touches?e.touches[0]:null;e.preventDefault(),this.endX=t?t.pageX:e.pageX,this.endY=t?t.pageY:e.pageY},slideEnd(){const e=this.endX-this.startX,t=this.endY-this.startY;if(this.endX=this.startX,this.endY=this.startY,0===e&&0===t)return;const o=this.$el.offsetWidth/5,i=this.$el.offsetHeight/5,s=t<-i,r=e>o,a=t>i,n=e<-o,l=()=>{!this.playing&&this.pauseOnEnter&&this.play()};let u=!1,c=!1;switch(this.direction){case"up":u=a,c=s;break;case"right":u=n,c=r;break;case"down":u=s,c=a;break;default:u=r,c=n}u?this.prev(l):c?this.next(l):l()}},render(){return e.h(this.tag,{class:{"vue-carousel":!0,[`vue-carousel--${this.direction}`]:this.direction,"vue-carousel--slidable":this.slideOnSwipe,"vue-carousel--controls":"hover"===this.controls,"vue-carousel--indicators":"hover"===this.indicators},...this.pauseOnEnter?{[l]:this.pause,[u]:this.cycle}:{},...this.slideOnSwipe?{[r]:this.slideStart,[a]:this.slideMove,[n]:this.slideEnd}:{}},0===this.list.length?[]:[e.h("ul",{class:"vue-carousel__list"},this.list.map(((t,o)=>{return e.h("li",{"data-index":o,class:{"vue-carousel__item":!0,"vue-carousel__item--active":t.active,"vue-carousel__item--top":t.top,"vue-carousel__item--right":t.right,"vue-carousel__item--bottom":t.bottom,"vue-carousel__item--left":t.left,"vue-carousel__item--to-top":t.toTop,"vue-carousel__item--to-right":t.toRight,"vue-carousel__item--to-bottom":t.toBottom,"vue-carousel__item--to-left":t.toLeft}},[e.h((i=t.content,"object"==typeof i&&null!==i||"function"==typeof i?i:{template:String(i)}))]);var i}))),this.indicators?e.h("ol",{class:{"vue-carousel__indicators":!0,[`vue-carousel__indicators--${this.indicatorType}`]:this.indicatorType}},this.list.map(((t,r)=>e.h("li",{"data-slide-to":r,class:{"vue-carousel__indicator":!0,"vue-carousel__indicator--active":t.sliding},...(()=>{const e={},t=()=>{this.slideTo(r)};return"hover"===this.indicatorTrigger?(e[l]=t,o&&!i&&(e[s]=t)):e.onclick=t,e})()})))):"",this.controls?e.h("button",{type:"button","data-slide":"prev",class:"vue-carousel__control vue-carousel__control--prev",onclick:()=>{["right","down"].indexOf(this.direction)>-1?this.next():this.prev()}}):"",this.controls?e.h("button",{type:"button","data-slide":"next",class:"vue-carousel__control vue-carousel__control--next",onclick:()=>{["right","down"].indexOf(this.direction)>-1?this.prev():this.next()}}):""])}});return function(e,t){void 0===t&&(t={});var o=t.insertAt;if(e&&"undefined"!=typeof document){var i=document.head||document.getElementsByTagName("head")[0],s=document.createElement("style");s.type="text/css","top"===o&&i.firstChild?i.insertBefore(s,i.firstChild):i.appendChild(s),s.styleSheet?s.styleSheet.cssText=e:s.appendChild(document.createTextNode(e))}}('.vue-carousel{position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vue-carousel--slidable{touch-action:none}.vue-carousel--down>.vue-carousel__indicators,.vue-carousel--up>.vue-carousel__indicators{bottom:auto;flex-direction:column;left:auto;right:0;top:50%;transform:translateY(-50%)}.vue-carousel--down>.vue-carousel__indicators>.vue-carousel__indicator:before,.vue-carousel--up>.vue-carousel__indicators>.vue-carousel__indicator:before{height:100%;width:.125rem}.vue-carousel--down>.vue-carousel__indicators--disc>.vue-carousel__indicator,.vue-carousel--up>.vue-carousel__indicators--disc>.vue-carousel__indicator{height:.75rem;width:1.5rem}.vue-carousel--down>.vue-carousel__indicators--disc>.vue-carousel__indicator:before,.vue-carousel--up>.vue-carousel__indicators--disc>.vue-carousel__indicator:before{height:.5rem;width:.5rem}.vue-carousel--right>.vue-carousel__indicators{flex-direction:row-reverse}.vue-carousel--down>.vue-carousel__indicators{flex-direction:column-reverse}.vue-carousel--controls:hover>.vue-carousel__control{opacity:.5;transform:translateX(0);z-index:1}.vue-carousel--controls:hover>.vue-carousel__control:focus,.vue-carousel--controls:hover>.vue-carousel__control:hover{opacity:1}.vue-carousel--controls>.vue-carousel__control{opacity:0;z-index:-1}.vue-carousel--controls>.vue-carousel__control--prev{transform:translateX(-50%)}.vue-carousel--controls>.vue-carousel__control--next{transform:translateX(50%)}.vue-carousel--indicators:hover>.vue-carousel__indicators{opacity:1;z-index:1}.vue-carousel--indicators>.vue-carousel__indicators{opacity:0;transition:opacity .15s;z-index:-1}.vue-carousel__list{margin:0;overflow:hidden;padding:0;position:relative;width:100%}.vue-carousel__item{display:none;margin:0}.vue-carousel__item--active,.vue-carousel__item--bottom,.vue-carousel__item--left,.vue-carousel__item--right,.vue-carousel__item--top{display:block;transition:transform .6s ease-in-out;width:100%}.vue-carousel__item--bottom,.vue-carousel__item--left,.vue-carousel__item--right,.vue-carousel__item--top{left:0;position:absolute;top:0}.vue-carousel__item--top{transform:translateY(-100%)}.vue-carousel__item--top.vue-carousel__item--to-bottom{transform:translateY(0)}.vue-carousel__item--right{transform:translateX(100%)}.vue-carousel__item--right.vue-carousel__item--to-left{transform:translateX(0)}.vue-carousel__item--bottom{transform:translateY(100%)}.vue-carousel__item--bottom.vue-carousel__item--to-top{transform:translateY(0)}.vue-carousel__item--left{transform:translateX(-100%)}.vue-carousel__item--left.vue-carousel__item--to-right{transform:translateX(0)}.vue-carousel__item--active{transform:translate(0);z-index:1}.vue-carousel__item--active.vue-carousel__item--to-top{transform:translateY(-100%)}.vue-carousel__item--active.vue-carousel__item--to-right{transform:translateX(100%)}.vue-carousel__item--active.vue-carousel__item--to-bottom{transform:translateY(100%)}.vue-carousel__item--active.vue-carousel__item--to-left{transform:translateX(-100%)}.vue-carousel__indicators{bottom:0;display:flex;justify-content:center;left:50%;list-style:none;margin:0;padding:0;position:absolute;transform:translateX(-50%);z-index:1}.vue-carousel__indicators--disc>.vue-carousel__indicator{width:.75rem}.vue-carousel__indicators--disc>.vue-carousel__indicator:before{border-radius:50%;height:.5rem;width:.5rem}.vue-carousel__indicator{cursor:pointer;height:1.5rem;margin:.125rem;opacity:.5;position:relative;transition:opacity .15s;width:1.5rem}.vue-carousel__indicator:before{background-color:#fff;content:"";display:block;height:.125rem;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:100%}.vue-carousel__indicator--active{opacity:1}.vue-carousel__control{background-color:rgba(0,0,0,.5);border:0;border-radius:50%;color:#fff;cursor:pointer;height:2rem;margin-top:-1rem;opacity:.5;padding:.5rem;position:absolute;top:50%;transition:all .15s;width:2rem}.vue-carousel__control:focus,.vue-carousel__control:hover{opacity:1}.vue-carousel__control:focus{outline:none}.vue-carousel__control:before{border:.0625rem solid transparent;border-radius:.125rem;content:"";display:block;height:.5rem;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%) rotate(45deg);width:.5rem}.vue-carousel__control--prev{left:1rem}.vue-carousel__control--prev:before{border-bottom-color:#fff;border-left-color:#fff;margin-left:.125rem}.vue-carousel__control--next{right:1rem}.vue-carousel__control--next:before{border-right-color:#fff;border-top-color:#fff;margin-left:-.125rem}'),c})); | ||
/*! vue-carousel v2.0.0 | (c) 2018-present Chen Fengyuan | MIT */ | ||
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("vue")):"function"==typeof define&&define.amd?define(["vue"],e):(t="undefined"!=typeof globalThis?globalThis:t||self).VueCarousel=e(t.Vue)}(this,(function(t){"use strict";const e="undefined"!=typeof window&&void 0!==window.document,o=!(!e||!window.document.documentElement)&&"ontouchstart"in window.document.documentElement,i=!!e&&"PointerEvent"in window,r=o?"ontouchstart":"onmousedown",s=i?"onpointerdown":r,a=i?"onpointermove":o?"ontouchmove":"onmousemove",n=i?"onpointerup":o?"ontouchend":"onmouseup",l=i?"onpointerenter":"onmouseenter",u=i?"onpointerleave":"onmouseleave";var c=t.defineComponent({name:"VueCarousel",props:{autoplay:{type:Boolean,default:!0},controls:{type:[Boolean,String],default:"hover"},data:{type:Array,default:void 0},direction:{type:String,default:"left"},duration:{type:Number,default:600},indicators:{type:[Boolean,String],default:!0},indicatorTrigger:{type:String,default:"click"},indicatorType:{type:String,default:"line"},interval:{type:Number,default:5e3},pauseOnEnter:{type:Boolean,default:!0},slideOnSwipe:{type:Boolean,default:!0},tag:{type:String,default:"div"}},emits:["slide","slid"],data:()=>({endX:0,endY:0,index:0,list:[],onVisibilityChange:()=>{},playing:!1,sliding:!1,startX:0,startY:0,timeout:0}),watch:{data(){this.init()}},created(){this.init()},mounted(){document.addEventListener("visibilitychange",this.onVisibilityChange=()=>{this.playing&&("visible"===document.visibilityState?this.cycle():this.pause())}),this.autoplay&&this.play()},beforeUnmount(){document.removeEventListener("visibilitychange",this.onVisibilityChange)},methods:{init(){const{data:t}=this,e=[];if(t&&t.length>0){const o=t.length-1;this.index>o&&(this.index=o),t.forEach(((t,o)=>{const i=o===this.index,r={...t&&void 0!==t.content?t:{content:t},active:i,bottom:!1,left:!1,raw:t,right:!1,sliding:i,toBottom:!1,toLeft:!1,toRight:!1,toTop:!1,top:!1};e.push(r)}))}this.list=e},play(){this.playing||(this.playing=!0,this.cycle())},cycle(){this.playing&&(this.pause(),this.timeout=window.setTimeout((()=>{this.next((()=>{this.cycle()}))}),this.interval))},pause(){window.clearTimeout(this.timeout),this.timeout=0},stop(){this.playing&&(this.pause(),this.playing=!1)},prev(t){this.slideTo(this.index-1,t)},next(t){this.slideTo(this.index+1,t)},slide(e,o=!1,i=(()=>{})){if(document.hidden||this.sliding)return void i();const{list:r}=this,s=r.length-1;if(e>s?e=0:e<0&&(e=s),e===this.index)return void i();this.sliding=!0,this.$emit("slide",e,this.index);const a=r[this.index],n=r[e];switch(this.direction){case"up":n.bottom=!o,n.top=o;break;case"right":n.left=!o,n.right=o;break;case"down":n.top=!o,n.bottom=o;break;default:n.right=!o,n.left=o}t.nextTick((()=>{switch(this.$el.offsetWidth,this.direction){case"up":a.toTop=!o,a.toBottom=o,n.toTop=!o,n.toBottom=o;break;case"right":a.toRight=!o,a.toLeft=o,n.toRight=!o,n.toLeft=o;break;case"down":a.toBottom=!o,a.toTop=o,n.toBottom=!o,n.toTop=o;break;default:a.toLeft=!o,a.toRight=o,n.toLeft=!o,n.toRight=o}a.sliding=!1,n.sliding=!0,setTimeout((()=>{a.active=!1,a.top=!1,a.right=!1,a.bottom=!1,a.left=!1,a.toTop=!1,a.toRight=!1,a.toBottom=!1,a.toLeft=!1,n.active=!0,n.top=!1,n.right=!1,n.bottom=!1,n.left=!1,n.toTop=!1,n.toRight=!1,n.toBottom=!1,n.toLeft=!1,this.$emit("slid",e,this.index),this.index=e,this.sliding=!1,i()}),this.duration)}))},slideTo(t,e){t!==this.index&&this.slide(t,t<this.index,e)},slideStart(t){const e=t.touches?t.touches[0]:null;this.playing&&this.pauseOnEnter&&this.stop(),this.startX=e?e.pageX:t.pageX,this.startY=e?e.pageY:t.pageY},slideMove(t){const e=t.touches?t.touches[0]:null;t.preventDefault(),this.endX=e?e.pageX:t.pageX,this.endY=e?e.pageY:t.pageY},slideEnd(){const t=this.endX-this.startX,e=this.endY-this.startY;if(this.endX=this.startX,this.endY=this.startY,0===t&&0===e)return;const o=this.$el.offsetWidth/5,i=this.$el.offsetHeight/5,r=e<-i,s=t>o,a=e>i,n=t<-o,l=()=>{!this.playing&&this.pauseOnEnter&&this.play()};let u=!1,c=!1;switch(this.direction){case"up":u=a,c=r;break;case"right":u=n,c=s;break;case"down":u=r,c=a;break;default:u=s,c=n}u?this.prev(l):c?this.next(l):l()}},render(){return t.h(this.tag,{class:{"vue-carousel":!0,[`vue-carousel--${this.direction}`]:this.direction,"vue-carousel--slidable":this.slideOnSwipe,"vue-carousel--controls":"hover"===this.controls,"vue-carousel--indicators":"hover"===this.indicators},...this.pauseOnEnter?{[l]:this.pause,[u]:this.cycle}:{},...this.slideOnSwipe?{[s]:this.slideStart,[a]:this.slideMove,[n]:this.slideEnd}:{}},0===this.list.length?[]:[t.h("ul",{class:"vue-carousel__list"},this.list.map(((e,o)=>{return t.h("li",{"data-index":o,class:{"vue-carousel__item":!0,"vue-carousel__item--active":e.active,"vue-carousel__item--top":e.top,"vue-carousel__item--right":e.right,"vue-carousel__item--bottom":e.bottom,"vue-carousel__item--left":e.left,"vue-carousel__item--to-top":e.toTop,"vue-carousel__item--to-right":e.toRight,"vue-carousel__item--to-bottom":e.toBottom,"vue-carousel__item--to-left":e.toLeft},style:{"transition-duration":this.duration/1e3+"s"}},[t.h((i=e.content,"object"==typeof i&&null!==i||"function"==typeof i?i:{template:String(i)}))]);var i}))),this.indicators?t.h("ol",{class:{"vue-carousel__indicators":!0,[`vue-carousel__indicators--${this.indicatorType}`]:this.indicatorType}},this.list.map(((e,s)=>t.h("li",{"data-slide-to":s,class:{"vue-carousel__indicator":!0,"vue-carousel__indicator--active":e.sliding},...(()=>{const t={},e=()=>{this.slideTo(s)};return"hover"===this.indicatorTrigger?(t[l]=e,o&&!i&&(t[r]=e)):t.onclick=e,t})()})))):"",this.controls?t.h("button",{type:"button","data-slide":"prev",class:"vue-carousel__control vue-carousel__control--prev",onclick:()=>{["right","down"].indexOf(this.direction)>-1?this.next():this.prev()}}):"",this.controls?t.h("button",{type:"button","data-slide":"next",class:"vue-carousel__control vue-carousel__control--next",onclick:()=>{["right","down"].indexOf(this.direction)>-1?this.prev():this.next()}}):""])}});return function(t,e){void 0===e&&(e={});var o=e.insertAt;if(t&&"undefined"!=typeof document){var i=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css","top"===o&&i.firstChild?i.insertBefore(r,i.firstChild):i.appendChild(r),r.styleSheet?r.styleSheet.cssText=t:r.appendChild(document.createTextNode(t))}}('.vue-carousel{position:relative;user-select:none}.vue-carousel--slidable{touch-action:none}.vue-carousel--down>.vue-carousel__indicators,.vue-carousel--up>.vue-carousel__indicators{bottom:auto;flex-direction:column;left:auto;right:0;top:50%;transform:translateY(-50%)}.vue-carousel--down>.vue-carousel__indicators>.vue-carousel__indicator:before,.vue-carousel--up>.vue-carousel__indicators>.vue-carousel__indicator:before{height:100%;width:.125rem}.vue-carousel--down>.vue-carousel__indicators--disc>.vue-carousel__indicator,.vue-carousel--up>.vue-carousel__indicators--disc>.vue-carousel__indicator{height:.75rem;width:1.5rem}.vue-carousel--down>.vue-carousel__indicators--disc>.vue-carousel__indicator:before,.vue-carousel--up>.vue-carousel__indicators--disc>.vue-carousel__indicator:before{height:.5rem;width:.5rem}.vue-carousel--right>.vue-carousel__indicators{flex-direction:row-reverse}.vue-carousel--down>.vue-carousel__indicators{flex-direction:column-reverse}.vue-carousel--controls:hover>.vue-carousel__control{opacity:.5;transform:translateX(0);z-index:1}.vue-carousel--controls:hover>.vue-carousel__control:focus,.vue-carousel--controls:hover>.vue-carousel__control:hover{opacity:1}.vue-carousel--controls>.vue-carousel__control{opacity:0;z-index:-1}.vue-carousel--controls>.vue-carousel__control--prev{transform:translateX(-50%)}.vue-carousel--controls>.vue-carousel__control--next{transform:translateX(50%)}.vue-carousel--indicators:hover>.vue-carousel__indicators{opacity:1;z-index:1}.vue-carousel--indicators>.vue-carousel__indicators{opacity:0;transition:opacity .15s;z-index:-1}.vue-carousel__list{margin:0;overflow:hidden;padding:0;position:relative;width:100%}.vue-carousel__item{display:none;margin:0}.vue-carousel__item--active,.vue-carousel__item--bottom,.vue-carousel__item--left,.vue-carousel__item--right,.vue-carousel__item--top{display:block;transition:transform .6s ease-in-out;width:100%}.vue-carousel__item--bottom,.vue-carousel__item--left,.vue-carousel__item--right,.vue-carousel__item--top{left:0;position:absolute;top:0}.vue-carousel__item--top{transform:translateY(-100%)}.vue-carousel__item--top.vue-carousel__item--to-bottom{transform:translateY(0)}.vue-carousel__item--right{transform:translateX(100%)}.vue-carousel__item--right.vue-carousel__item--to-left{transform:translateX(0)}.vue-carousel__item--bottom{transform:translateY(100%)}.vue-carousel__item--bottom.vue-carousel__item--to-top{transform:translateY(0)}.vue-carousel__item--left{transform:translateX(-100%)}.vue-carousel__item--left.vue-carousel__item--to-right{transform:translateX(0)}.vue-carousel__item--active{transform:translate(0);z-index:1}.vue-carousel__item--active.vue-carousel__item--to-top{transform:translateY(-100%)}.vue-carousel__item--active.vue-carousel__item--to-right{transform:translateX(100%)}.vue-carousel__item--active.vue-carousel__item--to-bottom{transform:translateY(100%)}.vue-carousel__item--active.vue-carousel__item--to-left{transform:translateX(-100%)}.vue-carousel__indicators{bottom:0;display:flex;justify-content:center;left:50%;list-style:none;margin:0;padding:0;position:absolute;transform:translateX(-50%);z-index:1}.vue-carousel__indicators--disc>.vue-carousel__indicator{width:.75rem}.vue-carousel__indicators--disc>.vue-carousel__indicator:before{border-radius:50%;height:.5rem;width:.5rem}.vue-carousel__indicator{cursor:pointer;height:1.5rem;margin:.125rem;opacity:.5;position:relative;transition:opacity .15s;width:1.5rem}.vue-carousel__indicator:before{background-color:#fff;content:"";display:block;height:.125rem;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:100%}.vue-carousel__indicator--active{opacity:1}.vue-carousel__control{background-color:rgba(0,0,0,.5);border:0;border-radius:50%;color:#fff;cursor:pointer;height:2rem;margin-top:-1rem;opacity:.5;padding:.5rem;position:absolute;top:50%;transition:all .15s;width:2rem}.vue-carousel__control:focus,.vue-carousel__control:hover{opacity:1}.vue-carousel__control:focus{outline:none}.vue-carousel__control:before{border:.0625rem solid transparent;border-radius:.125rem;content:"";display:block;height:.5rem;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%) rotate(45deg);width:.5rem}.vue-carousel__control--prev{left:1rem}.vue-carousel__control--prev:before{border-bottom-color:#fff;border-left-color:#fff;margin-left:.125rem}.vue-carousel__control--next{right:1rem}.vue-carousel__control--next:before{border-right-color:#fff;border-top-color:#fff;margin-left:-.125rem}'),c})); |
131
package.json
{ | ||
"name": "@chenfengyuan/vue-carousel", | ||
"version": "2.0.0-beta", | ||
"version": "2.0.0", | ||
"description": "Carousel component for Vue 3.", | ||
"main": "dist/vue-carousel.js", | ||
"module": "dist/vue-carousel.esm.js", | ||
"types": "types/index.d.ts", | ||
"types": "dist/vue-carousel.d.ts", | ||
"files": [ | ||
"dist", | ||
"types" | ||
"dist" | ||
], | ||
@@ -15,9 +14,10 @@ "scripts": { | ||
"build:docs": "webpack --env production", | ||
"build:types": "move-file dist/vue-carousel.vue.d.ts dist/vue-carousel.d.ts", | ||
"changelog": "conventional-changelog -p angular -i CHANGELOG.md -s -r 0", | ||
"clean": "del-cli dist", | ||
"lint": "npm run lint:js && npm run lint:css", | ||
"lint:css": "stylelint **/*.{css,scss,html,vue,md} --fix", | ||
"lint:css": "stylelint **/*.{css,scss,vue} --fix", | ||
"lint:js": "eslint . --ext .js,.ts,.vue --fix", | ||
"prepare": "husky install", | ||
"release": "npm run clean && npm run lint && npm run build && npm run build:docs && npm test && npm run changelog", | ||
"release": "npm run clean && npm run lint && npm run build && npm run build:types && npm run build:docs && npm test && npm run changelog", | ||
"serve": "webpack serve --hot --open", | ||
@@ -46,84 +46,61 @@ "start": "npm run serve", | ||
"devDependencies": { | ||
"@babel/core": "^7.14.5", | ||
"@babel/preset-env": "^7.14.5", | ||
"@commitlint/cli": "^12.1.4", | ||
"@commitlint/config-conventional": "^12.1.4", | ||
"@types/jest": "^26.0.23", | ||
"@typescript-eslint/eslint-plugin": "^4.26.1", | ||
"@typescript-eslint/parser": "^4.26.1", | ||
"@vue/compiler-sfc": "^3.1.1", | ||
"@vue/test-utils": "^2.0.0-rc.6", | ||
"babel-jest": "^26.6.3", | ||
"babel-loader": "^8.2.2", | ||
"@babel/core": "^7.17.0", | ||
"@babel/preset-env": "^7.16.11", | ||
"@commitlint/cli": "^16.1.0", | ||
"@commitlint/config-conventional": "^16.0.0", | ||
"@types/jest": "^27.4.0", | ||
"@typescript-eslint/eslint-plugin": "^5.10.2", | ||
"@typescript-eslint/parser": "^5.10.2", | ||
"@vue/test-utils": "^2.0.0-rc.18", | ||
"@vue/vue3-jest": "^27.0.0-alpha.4", | ||
"babel-jest": "^27.5.0", | ||
"babel-loader": "^8.2.3", | ||
"change-case": "^4.1.2", | ||
"codecov": "^3.8.2", | ||
"conventional-changelog-cli": "^2.1.1", | ||
"codecov": "^3.8.3", | ||
"conventional-changelog-cli": "^2.2.2", | ||
"create-banner": "^2.0.0", | ||
"css-loader": "^5.2.6", | ||
"del-cli": "^3.0.1", | ||
"eslint": "^7.28.0", | ||
"eslint-config-airbnb-typescript": "^12.3.1", | ||
"eslint-plugin-import": "^2.23.4", | ||
"eslint-plugin-vue": "^7.11.0", | ||
"css-loader": "^6.6.0", | ||
"del-cli": "^4.0.1", | ||
"eslint": "^8.8.0", | ||
"eslint-config-airbnb-typescript": "^16.1.0", | ||
"eslint-plugin-import": "^2.25.4", | ||
"eslint-plugin-vue": "^8.4.1", | ||
"feather-icons": "^4.28.0", | ||
"html-webpack-plugin": "^5.3.1", | ||
"husky": "^6.0.0", | ||
"jest": "^26.6.3", | ||
"lint-staged": "^11.0.0", | ||
"markdown-to-vue-loader": "^3.1.0", | ||
"mini-css-extract-plugin": "^1.6.0", | ||
"postcss": "^8.3.2", | ||
"rollup": "^2.51.2", | ||
"rollup-plugin-postcss": "^4.0.0", | ||
"html-webpack-plugin": "^5.5.0", | ||
"husky": "^7.0.4", | ||
"jest": "^27.5.0", | ||
"lint-staged": "^12.3.3", | ||
"markdown-to-vue-loader": "^3.1.3", | ||
"mini-css-extract-plugin": "^2.5.3", | ||
"move-file-cli": "^3.0.0", | ||
"postcss": "^8.4.6", | ||
"rollup": "^2.67.1", | ||
"rollup-plugin-postcss": "^4.0.2", | ||
"rollup-plugin-terser": "^7.0.2", | ||
"rollup-plugin-typescript2": "^0.30.0", | ||
"rollup-plugin-typescript2": "^0.31.2", | ||
"rollup-plugin-vue": "^6.0.0", | ||
"sass": "^1.34.1", | ||
"sass-loader": "^12.1.0", | ||
"style-loader": "^2.0.0", | ||
"stylelint": "^13.13.1", | ||
"stylelint-config-recommended-scss": "^4.2.0", | ||
"stylelint-config-standard": "^22.0.0", | ||
"stylelint-order": "^4.1.0", | ||
"stylelint-scss": "^3.19.0", | ||
"ts-jest": "^26.5.6", | ||
"ts-loader": "^9.2.3", | ||
"tslib": "^2.3.0", | ||
"typescript": "^4.3.2", | ||
"vue": "^3.1.1", | ||
"vue-feather": "^2.0.0-rc", | ||
"vue-jest": "^5.0.0-alpha.10", | ||
"vue-loader": "^16.1.1", | ||
"webpack": "^5.38.1", | ||
"webpack-cli": "^4.7.2", | ||
"webpack-dev-server": "^3.11.2" | ||
"sass": "^1.49.7", | ||
"sass-loader": "^12.4.0", | ||
"style-loader": "^3.3.1", | ||
"stylelint": "^14.3.0", | ||
"stylelint-config-recommended-scss": "^5.0.2", | ||
"stylelint-config-recommended-vue": "^1.1.0", | ||
"stylelint-order": "^5.0.0", | ||
"ts-jest": "^27.1.3", | ||
"ts-loader": "^9.2.6", | ||
"tslib": "^2.3.1", | ||
"typescript": "^4.5.5", | ||
"vue": "^3.2.30", | ||
"vue-feather": "^2.0.0", | ||
"vue-loader": "^17.0.0", | ||
"webpack": "^5.68.0", | ||
"webpack-cli": "^4.9.2", | ||
"webpack-dev-server": "^4.7.4" | ||
}, | ||
"peerDependencies": { | ||
"@vue/compiler-sfc": "^3.0.0", | ||
"vue": "^3.0.0" | ||
}, | ||
"publishConfig": { | ||
"access": "public", | ||
"tag": "next" | ||
}, | ||
"browserslist": [ | ||
"last 2 versions", | ||
"> 1%", | ||
"not dead" | ||
], | ||
"commitlint": { | ||
"extends": [ | ||
"@commitlint/config-conventional" | ||
] | ||
}, | ||
"lint-staged": { | ||
"*.{js,ts,vue}": [ | ||
"eslint --fix", | ||
"git add" | ||
], | ||
"*.{css,scss,html,vue,md}": [ | ||
"stylelint --fix", | ||
"git add" | ||
] | ||
"access": "public" | ||
} | ||
} |
# vue-carousel | ||
[](https://github.com/fengyuanchen/vue-carousel/actions) [](https://codecov.io/gh/fengyuanchen/vue-carousel) [](https://www.npmjs.com/package/@chenfengyuan/vue-carousel) [](https://www.npmjs.com/package/@chenfengyuan/vue-carousel) [](https://unpkg.com/@chenfengyuan/vue-carousel/dist/vue-carousel.js) | ||
[](https://codecov.io/gh/fengyuanchen/vue-carousel) [](https://www.npmjs.com/package/@chenfengyuan/vue-carousel) [](https://www.npmjs.com/package/@chenfengyuan/vue-carousel) [](https://unpkg.com/@chenfengyuan/vue-carousel/dist/vue-carousel.js) | ||
> Carousel component for Vue 3. | ||
> Carousel component for Vue 3. For Vue 2, check out the [`v1`](https://github.com/fengyuanchen/vue-carousel/tree/v1) branch. | ||
@@ -17,3 +17,4 @@ - [Docs](src/README.md) | ||
├── vue-carousel.esm.js (ECMAScript Module) | ||
└── vue-carousel.esm.min.js (ECMAScript Module, compressed) | ||
├── vue-carousel.esm.min.js (ECMAScript Module, compressed) | ||
└── vue-carousel.d.ts (TypeScript Declaration File) | ||
``` | ||
@@ -25,11 +26,25 @@ | ||
Using npm: | ||
```shell | ||
npm install vue@next @vue/compiler-sfc @chenfengyuan/vue-carousel@next | ||
npm install vue@3 @chenfengyuan/vue-carousel@2 | ||
``` | ||
In browser: | ||
Using pnpm: | ||
```shell | ||
pnpm add vue@3 @chenfengyuan/vue-carousel@2 | ||
``` | ||
Using Yarn: | ||
```shell | ||
yarn add vue@3 @chenfengyuan/vue-carousel@2 | ||
``` | ||
Using CDN: | ||
```html | ||
<script src="/path/to/vue.js"></script><!-- Vue.js is required --> | ||
<script src="/path/to/vue-carousel.js"></script> | ||
<script src="https://unpkg.com/vue@3"></script><!-- Vue.js is required --> | ||
<script src="https://unpkg.com/@chenfengyuan/vue-carousel@2"></script> | ||
``` | ||
@@ -36,0 +51,0 @@ |
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
75837
0.07%1
-50%52
-1.89%1140
16.8%1
-50%76
24.59%8
-11.11%