UNPKG

ll-package

Version:

2 lines (1 loc) 3.78 kB
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const p=require("../../../@babel/runtime/helpers/esm/objectSpread2.js"),n=require("../../../@babel/runtime/helpers/esm/extends.js"),a=require("vue"),h=require("../_util/json2mq.js"),m=require("../_util/BaseMixin.js"),w=require("../_util/vnode.js"),k=require("./inner-slider.js"),b=require("./default-props.js"),v=require("./utils/innerSliderUtils.js"),y=require("../_util/props-util/index.js"),_=a.defineComponent({name:"Slider",mixins:[m.default],inheritAttrs:!1,props:n.default({},b.default),data(){return this._responsiveMediaHandlers=[],{breakpoint:null}},mounted(){if(this.responsive){const s=this.responsive.map(i=>i.breakpoint);s.sort((i,t)=>i-t),s.forEach((i,t)=>{let l;t===0?l=h.default({minWidth:0,maxWidth:i}):l=h.default({minWidth:s[t-1]+1,maxWidth:i}),v.canUseDOM()&&this.media(l,()=>{this.setState({breakpoint:i})})});const e=h.default({minWidth:s.slice(-1)[0]});v.canUseDOM()&&this.media(e,()=>{this.setState({breakpoint:null})})}},beforeUnmount(){this._responsiveMediaHandlers.forEach(function(s){s.mql.removeListener(s.listener)})},methods:{innerSliderRefHandler(s){this.innerSlider=s},media(s,e){const i=window.matchMedia(s),t=l=>{let{matches:u}=l;u&&e()};i.addListener(t),t(i),this._responsiveMediaHandlers.push({mql:i,query:s,listener:t})},slickPrev(){var s;(s=this.innerSlider)===null||s===void 0||s.slickPrev()},slickNext(){var s;(s=this.innerSlider)===null||s===void 0||s.slickNext()},slickGoTo(s){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;var i;(i=this.innerSlider)===null||i===void 0||i.slickGoTo(s,e)},slickPause(){var s;(s=this.innerSlider)===null||s===void 0||s.pause("paused")},slickPlay(){var s;(s=this.innerSlider)===null||s===void 0||s.handleAutoPlay("play")}},render(){var s;let e,i;this.breakpoint?(i=this.responsive.filter(r=>r.breakpoint===this.breakpoint),e=i[0].settings==="unslick"?"unslick":n.default(n.default({},this.$props),i[0].settings)):e=n.default({},this.$props),e.centerMode&&(e.slidesToScroll>1&&process.env.NODE_ENV!=="production"&&console.warn(`slidesToScroll should be equal to 1 in centerMode, you are using ${e.slidesToScroll}`),e.slidesToScroll=1),e.fade&&(e.slidesToShow>1&&process.env.NODE_ENV!=="production"&&console.warn(`slidesToShow should be equal to 1 when fade is true, you're using ${e.slidesToShow}`),e.slidesToScroll>1&&process.env.NODE_ENV!=="production"&&console.warn(`slidesToScroll should be equal to 1 when fade is true, you're using ${e.slidesToScroll}`),e.slidesToShow=1,e.slidesToScroll=1);let t=y.getSlot(this)||[];t=t.filter(r=>typeof r=="string"?!!r.trim():!!r),e.variableWidth&&(e.rows>1||e.slidesPerRow>1)&&(console.warn("variableWidth is not supported in case of rows > 1 or slidesPerRow > 1"),e.variableWidth=!1);const l=[];let u=null;for(let r=0;r<t.length;r+=e.rows*e.slidesPerRow){const c=[];for(let d=r;d<r+e.rows*e.slidesPerRow;d+=e.slidesPerRow){const f=[];for(let o=d;o<d+e.slidesPerRow&&(e.variableWidth&&(!((s=t[o].props)===null||s===void 0)&&s.style)&&(u=t[o].props.style.width),!(o>=t.length));o+=1)f.push(w.cloneElement(t[o],{key:100*r+10*d+o,tabindex:-1,style:{width:`${100/e.slidesPerRow}%`,display:"inline-block"}}));c.push(a.createVNode("div",{key:10*r+d},[f]))}e.variableWidth?l.push(a.createVNode("div",{key:r,style:{width:u}},[c])):l.push(a.createVNode("div",{key:r},[c]))}if(e==="unslick"){const r="regular slider "+(this.className||"");return a.createVNode("div",{class:r},[t])}else l.length<=e.slidesToShow&&(e.unslick=!0);const S=n.default(n.default(n.default({},this.$attrs),e),{children:l,ref:this.innerSliderRefHandler});return a.createVNode(k.default,p.default(p.default({},S),{},{__propsSymbol__:[]}),this.$slots)}});exports.default=_;