cione-comp-lib
Version:
`$ yarn add cione-comp-lib` 或者 `$ npm i cione-comp-lib -S`
2 lines (1 loc) • 6.19 kB
JavaScript
;Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});var r=require("../../../../ssr-window/ssr-window.esm.js");require("../../utils/dom.js");var e=require("../../utils/utils.js"),a=require("../../../../dom7/dom7.esm.js");function t(){return t=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var a=arguments[e];for(var t in a)Object.prototype.hasOwnProperty.call(a,t)&&(r[t]=a[t])}return r},t.apply(this,arguments)}var s={setTranslate:function(){var r=this;if(r.params.scrollbar.el&&r.scrollbar.el){var e=r.scrollbar,a=r.rtlTranslate,t=r.progress,s=e.dragSize,l=e.trackSize,o=e.$dragEl,i=e.$el,n=r.params.scrollbar,c=s,d=(l-s)*t;a?(d=-d)>0?(c=s-d,d=0):-d+s>l&&(c=l+d):d<0?(c=s+d,d=0):d+s>l&&(c=l-d),r.isHorizontal()?(o.transform("translate3d("+d+"px, 0, 0)"),o[0].style.width=c+"px"):(o.transform("translate3d(0px, "+d+"px, 0)"),o[0].style.height=c+"px"),n.hide&&(clearTimeout(r.scrollbar.timeout),i[0].style.opacity=1,r.scrollbar.timeout=setTimeout((function(){i[0].style.opacity=0,i.transition(400)}),1e3))}},setTransition:function(r){var e=this;e.params.scrollbar.el&&e.scrollbar.el&&e.scrollbar.$dragEl.transition(r)},updateSize:function(){var r=this;if(r.params.scrollbar.el&&r.scrollbar.el){var a=r.scrollbar,t=a.$dragEl,s=a.$el;t[0].style.width="",t[0].style.height="";var l,o=r.isHorizontal()?s[0].offsetWidth:s[0].offsetHeight,i=r.size/r.virtualSize,n=i*(o/r.size);l="auto"===r.params.scrollbar.dragSize?o*i:parseInt(r.params.scrollbar.dragSize,10),r.isHorizontal()?t[0].style.width=l+"px":t[0].style.height=l+"px",s[0].style.display=i>=1?"none":"",r.params.scrollbar.hide&&(s[0].style.opacity=0),e.extend(a,{trackSize:o,divider:i,moveDivider:n,dragSize:l}),a.$el[r.params.watchOverflow&&r.isLocked?"addClass":"removeClass"](r.params.scrollbar.lockClass)}},getPointerPosition:function(r){return this.isHorizontal()?"touchstart"===r.type||"touchmove"===r.type?r.targetTouches[0].clientX:r.clientX:"touchstart"===r.type||"touchmove"===r.type?r.targetTouches[0].clientY:r.clientY},setDragPosition:function(r){var e,a=this,t=a.scrollbar,s=a.rtlTranslate,l=t.$el,o=t.dragSize,i=t.trackSize,n=t.dragStartPos;e=(t.getPointerPosition(r)-l.offset()[a.isHorizontal()?"left":"top"]-(null!==n?n:o/2))/(i-o),e=Math.max(Math.min(e,1),0),s&&(e=1-e);var c=a.minTranslate()+(a.maxTranslate()-a.minTranslate())*e;a.updateProgress(c),a.setTranslate(c),a.updateActiveIndex(),a.updateSlidesClasses()},onDragStart:function(r){var e=this,a=e.params.scrollbar,t=e.scrollbar,s=e.$wrapperEl,l=t.$el,o=t.$dragEl;e.scrollbar.isTouched=!0,e.scrollbar.dragStartPos=r.target===o[0]||r.target===o?t.getPointerPosition(r)-r.target.getBoundingClientRect()[e.isHorizontal()?"left":"top"]:null,r.preventDefault(),r.stopPropagation(),s.transition(100),o.transition(100),t.setDragPosition(r),clearTimeout(e.scrollbar.dragTimeout),l.transition(0),a.hide&&l.css("opacity",1),e.params.cssMode&&e.$wrapperEl.css("scroll-snap-type","none"),e.emit("scrollbarDragStart",r)},onDragMove:function(r){var e=this,a=e.scrollbar,t=e.$wrapperEl,s=a.$el,l=a.$dragEl;e.scrollbar.isTouched&&(r.preventDefault?r.preventDefault():r.returnValue=!1,a.setDragPosition(r),t.transition(0),s.transition(0),l.transition(0),e.emit("scrollbarDragMove",r))},onDragEnd:function(r){var a=this,t=a.params.scrollbar,s=a.scrollbar,l=a.$wrapperEl,o=s.$el;a.scrollbar.isTouched&&(a.scrollbar.isTouched=!1,a.params.cssMode&&(a.$wrapperEl.css("scroll-snap-type",""),l.transition("")),t.hide&&(clearTimeout(a.scrollbar.dragTimeout),a.scrollbar.dragTimeout=e.nextTick((function(){o.css("opacity",0),o.transition(400)}),1e3)),a.emit("scrollbarDragEnd",r),t.snapOnRelease&&a.slideToClosest())},enableDraggable:function(){var e=this;if(e.params.scrollbar.el){var a=r.getDocument(),t=e.scrollbar,s=e.touchEventsTouch,l=e.touchEventsDesktop,o=e.params,i=e.support,n=t.$el[0],c=!(!i.passiveListener||!o.passiveListeners)&&{passive:!1,capture:!1},d=!(!i.passiveListener||!o.passiveListeners)&&{passive:!0,capture:!1};i.touch?(n.addEventListener(s.start,e.scrollbar.onDragStart,c),n.addEventListener(s.move,e.scrollbar.onDragMove,c),n.addEventListener(s.end,e.scrollbar.onDragEnd,d)):(n.addEventListener(l.start,e.scrollbar.onDragStart,c),a.addEventListener(l.move,e.scrollbar.onDragMove,c),a.addEventListener(l.end,e.scrollbar.onDragEnd,d))}},disableDraggable:function(){var e=this;if(e.params.scrollbar.el){var a=r.getDocument(),t=e.scrollbar,s=e.touchEventsTouch,l=e.touchEventsDesktop,o=e.params,i=e.support,n=t.$el[0],c=!(!i.passiveListener||!o.passiveListeners)&&{passive:!1,capture:!1},d=!(!i.passiveListener||!o.passiveListeners)&&{passive:!0,capture:!1};i.touch?(n.removeEventListener(s.start,e.scrollbar.onDragStart,c),n.removeEventListener(s.move,e.scrollbar.onDragMove,c),n.removeEventListener(s.end,e.scrollbar.onDragEnd,d)):(n.removeEventListener(l.start,e.scrollbar.onDragStart,c),a.removeEventListener(l.move,e.scrollbar.onDragMove,c),a.removeEventListener(l.end,e.scrollbar.onDragEnd,d))}},init:function(){var r=this;if(r.params.scrollbar.el){var t=r.scrollbar,s=r.$el,l=r.params.scrollbar,o=a.default(l.el);r.params.uniqueNavElements&&"string"==typeof l.el&&o.length>1&&1===s.find(l.el).length&&(o=s.find(l.el));var i=o.find("."+r.params.scrollbar.dragClass);0===i.length&&(i=a.default('<div class="'+r.params.scrollbar.dragClass+'"></div>'),o.append(i)),e.extend(t,{$el:o,el:o[0],$dragEl:i,dragEl:i[0]}),l.draggable&&t.enableDraggable()}},destroy:function(){this.scrollbar.disableDraggable()}},l={name:"scrollbar",params:{scrollbar:{el:null,dragSize:"auto",hide:!1,draggable:!1,snapOnRelease:!0,lockClass:"swiper-scrollbar-lock",dragClass:"swiper-scrollbar-drag"}},create:function(){e.bindModuleMethods(this,{scrollbar:t({isTouched:!1,timeout:null,dragTimeout:null},s)})},on:{init:function(r){r.scrollbar.init(),r.scrollbar.updateSize(),r.scrollbar.setTranslate()},update:function(r){r.scrollbar.updateSize()},resize:function(r){r.scrollbar.updateSize()},observerUpdate:function(r){r.scrollbar.updateSize()},setTranslate:function(r){r.scrollbar.setTranslate()},setTransition:function(r,e){r.scrollbar.setTransition(e)},destroy:function(r){r.scrollbar.destroy()}}};exports.default=l;