@yourwishes/carousel
Version:
A modern, flexible and performant carousel for the time concious developer.
1 lines • 13 kB
JavaScript
(()=>{"use strict";var e={376:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.sliderAutoPlayCreate=void 0,t.sliderAutoPlayCreate=function(e){return null}},722:function(e,t,i){var r=this&&this.__createBinding||(Object.create?function(e,t,i,r){void 0===r&&(r=i),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[i]}})}:function(e,t,i,r){void 0===r&&(r=i),e[r]=t[i]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)"default"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&r(t,e,i);return n(t,e),t};Object.defineProperty(t,"__esModule",{value:!0});var o=s(i(943));(window||globalThis||i.g||{}).ywCarousel=o},989:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.sliderCssRemove=t.sliderCssAdd=void 0;var r=i(367);t.sliderCssAdd=function(e){var t=e.state,i=e.container,n=e.options,s=function(t){if(-1!==t.slide){var r=e.slides.elements[t.slide].getBoundingClientRect();0!=r.width&&i.style.setProperty(n.properties.slideWidth,r.width.toFixed(1)+"px"),0!=r.height&&i.style.setProperty(n.properties.slideHeight,r.height.toFixed(1)+"px"),i.style.setProperty(n.properties.slide,t.slide+"")}};return{dragging:r.sliderStateListen({state:t,key:"dragging",listener:function(e){var t=n.classes.grabbing;e.value?i.classList.add(t):i.classList.remove(t)}}),movementX:r.sliderStateListen({state:t,key:"x",listener:function(e){i.style.setProperty(n.properties.x,e.value.toFixed(1)+"px")}}),movementY:r.sliderStateListen({state:t,key:"y",listener:function(e){i.style.setProperty(n.properties.y,e.value.toFixed(1)+"px")}}),slide:r.sliderStateListen({state:t,key:"slide",listener:function(e){return s({slide:e.value})}}),frame:r.sliderStateListen({state:t,key:"delta",listener:function(e){return s({slide:t.slide})}})}},t.sliderCssRemove=function(e){}},649:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.sliderEventDimensionsResize=void 0,t.sliderEventDimensionsResize=function(e){}},183:function(e,t,i){var r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var t,i=1,r=arguments.length;i<r;i++)for(var n in t=arguments[i])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e}).apply(this,arguments)};Object.defineProperty(t,"__esModule",{value:!0}),t.sliderEventsRemove=t.sliderEventsAdd=void 0;var n=i(880),s=i(367),o=i(456),a=i(649);t.sliderEventsAdd=function(e){var t,i,l,d=e.container,u=e.state,v=function(e,t){return window.addEventListener(e,t),function(){return window.removeEventListener(e,t)}},c=function(){if(u.active){requestAnimationFrame((function(){return c()}));var e,i=new Date;(e=t?(i.getTime()-t.getTime())/1e3:0)>1&&(e=0),t=i,s.sliderStateSet({state:u,key:"delta",value:e})}};return requestAnimationFrame((function(){return c()})),{mouseDown:(i="mousedown",l=function(t){n.sliderEventMouseDown(r(r({},e),{mouseEvent:t}))},d.addEventListener(i,l),function(){return d.removeEventListener(i,l)}),mouseUp:v("mouseup",(function(t){n.sliderEventMouseUp(r(r({},e),{mouseEvent:t}))})),mouseMove:v("mousemove",(function(t){n.sliderEventMouseMove(r(r({},e),{mouseEvent:t}))})),mouseLeaveWindow:v("mouseleave",(function(t){n.sliderEventMouseLeave(r(r({},e),{mouseEvent:t}))})),dimensionsResizeWindow:v("resize",(function(t){a.sliderEventDimensionsResize(r({},e))})),slideSnappingFrame:s.sliderStateListen({state:u,key:"delta",listener:function(t){return o.sliderEventMovementFrame(r({},e))}}),frame:s.sliderStateListen({state:u,key:"active",listener:function(e){return e.value?c():null}})}},t.sliderEventsRemove=function(e){}},880:function(e,t,i){var r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var t,i=1,r=arguments.length;i<r;i++)for(var n in t=arguments[i])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e}).apply(this,arguments)};Object.defineProperty(t,"__esModule",{value:!0}),t.sliderEventMouseLeave=t.sliderEventMouseMove=t.sliderEventMouseUp=t.sliderEventMouseDown=void 0;var n=i(367),s=function(e){n.sliderStateSet(r(r({},e),{key:"dragging",value:!1})),n.sliderStateSet(r(r({},e),{key:"mouseX",value:0})),n.sliderStateSet(r(r({},e),{key:"mouseY",value:0}))};t.sliderEventMouseDown=function(e){e.mouseEvent.preventDefault(),n.sliderStateSet(r(r({},e),{key:"dragging",value:!0}))},t.sliderEventMouseUp=function(e){e.mouseEvent.preventDefault(),s(e)},t.sliderEventMouseMove=function(e){var t=e.state,i=e.mouseEvent,r=t.mouseX,s=t.mouseY,o=t.x,a=t.y;if(i.preventDefault(),n.sliderStateSet({state:t,key:"mouseX",value:i.clientX}),n.sliderStateSet({state:t,key:"mouseY",value:i.clientY}),t.dragging){var l=0==r?0:r-i.clientX,d=0==s?0:s-i.clientY;n.sliderStateSet({state:t,key:"x",value:o-l}),n.sliderStateSet({state:t,key:"y",value:a-d}),n.sliderStateSet({state:t,key:"velX",value:-l}),n.sliderStateSet({state:t,key:"velY",value:-d}),n.sliderStateSet({state:t,key:"slide",value:-1})}},t.sliderEventMouseLeave=function(e){s(e)}},456:function(e,t,i){var r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var t,i=1,r=arguments.length;i<r;i++)for(var n in t=arguments[i])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e}).apply(this,arguments)};Object.defineProperty(t,"__esModule",{value:!0}),t.sliderEventMovementFrame=t.sliderTargetMovementLerp=void 0;var n=i(116),s=i(367),o=i(833);t.sliderTargetMovementLerp=function(e){return(e.to-e.from)*(5*e.state.delta)},t.sliderEventMovementFrame=function(e){var i=e.state,a=e.options,l=e.slides;if(document.hasFocus()){var d=e.container.getBoundingClientRect();if(o.aabbIntersect({boxA:d,boxB:{left:0,top:0,right:window.innerWidth,bottom:window.innerHeight}})){if(!i.dragging){var u=i.delta*a.velocity.weight,v=i.delta*a.velocity.friction;Math.abs(i.velX)>.1?(s.sliderStateSet(r(r({},e),{key:"x",value:i.x+i.velX*u})),s.sliderStateSet(r(r({},e),{key:"velX",value:i.velX-i.velX*v}))):s.sliderStateSet(r(r({},e),{key:"velX",value:0})),Math.abs(i.velY)>.1?(s.sliderStateSet(r(r({},e),{key:"y",value:i.y+i.velY*u})),s.sliderStateSet(r(r({},e),{key:"velY",value:i.velY-i.velY*v}))):s.sliderStateSet(r(r({},e),{key:"velY",value:0}))}var c=n.sliderSlidesGetVisible(r(r({},e),{containerRect:d})),f=a.snap?-1===i.slide?n.sliderSlidesGetSnapIndex(r(r({},e),{results:c,containerRect:d})):i.slide:-1;if(l.elements.forEach((function(e,t){c[t].result?e.classList.add(a.classes.visible):e.classList.remove(a.classes.visible),f===t?e.classList.add(a.classes.target):e.classList.remove(a.classes.target)})),-1!==f&&!i.dragging){var p=c[f];s.sliderStateSet({state:i,key:"slide",value:f});var g=t.sliderTargetMovementLerp(r(r({},e),{from:p.box.x,to:d.x}));s.sliderStateSet(r(r({},e),{key:"velX",value:g}));var y=t.sliderTargetMovementLerp(r(r({},e),{from:p.box.y,to:d.y}));s.sliderStateSet(r(r({},e),{key:"velY",value:y}))}if(a.edges&&!a.infinite&&!i.dragging){var h=Number.POSITIVE_INFINITY,m=0,b=Number.POSITIVE_INFINITY,S=0;l.elements.forEach((function(e,t){var i=c[t];h=Math.min(h,i.box.left),m=Math.max(m,i.box.right),b=Math.min(b,i.box.top),S=Math.max(b,i.box.bottom)}));var _=d.left,O=d.right,M=d.top,x=d.bottom;h>_?s.sliderStateSet(r(r({},e),{key:"velX",value:t.sliderTargetMovementLerp(r(r({},e),{from:h,to:_}))})):m<O&&s.sliderStateSet(r(r({},e),{key:"velX",value:t.sliderTargetMovementLerp(r(r({},e),{from:m,to:O}))})),b>M?s.sliderStateSet(r(r({},e),{key:"velY",value:t.sliderTargetMovementLerp(r(r({},e),{from:b,to:M}))})):S<x&&s.sliderStateSet(r(r({},e),{key:"velY",value:t.sliderTargetMovementLerp(r(r({},e),{from:S,to:x}))}))}}}}},607:function(e,t,i){var r=this&&this.__createBinding||(Object.create?function(e,t,i,r){void 0===r&&(r=i),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[i]}})}:function(e,t,i,r){void 0===r&&(r=i),e[r]=t[i]}),n=this&&this.__exportStar||function(e,t){for(var i in e)"default"===i||Object.prototype.hasOwnProperty.call(t,i)||r(t,e,i)};Object.defineProperty(t,"__esModule",{value:!0}),n(i(943),t),i(722)},380:function(e,t,i){var r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var t,i=1,r=arguments.length;i<r;i++)for(var n in t=arguments[i])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e}).apply(this,arguments)};Object.defineProperty(t,"__esModule",{value:!0}),t.sliderOptionsWithDefaults=t.SLIDER_OPTIONS_DEFAULT=void 0;var n=i(533);t.SLIDER_OPTIONS_DEFAULT={vertical:!1,infinite:!1,snap:!0,edges:!0,classes:{init:"is-initialized",grabbing:"is-grabbing",visible:"is-visible",target:"is-target"},velocity:{weight:200,friction:5},autoplay:{enabled:!1,frequency:5e3},properties:{x:"--x",y:"--y",slideHeight:"--slide-height",slideWidth:"--slide-width",slide:"--slide"}},t.sliderOptionsWithDefaults=function(e){var i=e.options,s=r({},t.SLIDER_OPTIONS_DEFAULT);return n.mergeDeepMerge(s,i||{})}},943:function(e,t,i){var r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var t,i=1,r=arguments.length;i<r;i++)for(var n in t=arguments[i])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e}).apply(this,arguments)};Object.defineProperty(t,"__esModule",{value:!0}),t.sliderDispose=t.sliderCreate=void 0;var n=i(183),s=i(380),o=i(367),a=i(989),l=i(116),d=i(376);t.sliderCreate=function(e){var t=s.sliderOptionsWithDefaults(e),i=l.sliderSlidesFind(r(r({},e),{options:t})),u=o.sliderStateCreate(),v=n.sliderEventsAdd(r(r({},e),{options:t,state:u,slides:i})),c=d.sliderAutoPlayCreate(r(r({},e),{options:t,state:u,slides:i}));return{options:t,slides:i,state:u,events:v,css:a.sliderCssAdd(r(r({},e),{state:u,options:t,slides:i})),autoplay:c}},t.sliderDispose=function(e){n.sliderEventsRemove(e)}},116:function(e,t,i){var r=this&&this.__spreadArrays||function(){for(var e=0,t=0,i=arguments.length;t<i;t++)e+=arguments[t].length;var r=Array(e),n=0;for(t=0;t<i;t++)for(var s=arguments[t],o=0,a=s.length;o<a;o++,n++)r[n]=s[o];return r};Object.defineProperty(t,"__esModule",{value:!0}),t.sliderSlidesGetSnapIndex=t.sliderSlidesGetVisible=t.sliderSlidesFind=void 0;var n=i(833);t.sliderSlidesFind=function(e){e.container,e.options;var t=[];return e.container.childNodes.forEach((function(e){var i=e;void 0!==i.classList&&t.push(i)})),{elements:t,order:r(t),count:t.length}},t.sliderSlidesGetVisible=function(e){for(var t=e.containerRect,i=e.slides,r=[],s=0;s<i.order.length;s++){var o=i.order[s],a=o.getBoundingClientRect(),l=n.aabbIntersect({boxA:t,boxB:a});r[s]={slide:o,box:a,result:l,index:s}}return r},t.sliderSlidesGetSnapIndex=function(e){for(var t=e.state,i=e.slides,r=e.results,n=e.options,s=e.containerRect,o=function(e){return e<0?1:e>0?-1:0},a=o(t.velX),l=o(t.velY),d=-1,u=0;u<i.elements.length;u++){var v=r[u];if(v.result){var c=void 0,f=void 0;if(n.vertical?(c=s.top-v.box.top,f=(v.box.height-c)/v.box.height):(c=s.left-v.box.left,f=(v.box.width-c)/v.box.width),!(f<.25)){d=u;break}}}if(-1===d)return-1;var p=d;return p+=n.vertical?l:a,n.infinite?p%=i.count:p=Math.max(Math.min(p,i.count-1),0),p}},367:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.sliderStateSet=t.sliderStateUnlisten=t.sliderStateListen=t.sliderStateCreate=void 0,t.sliderStateCreate=function(){return{dragging:!1,number:0,mouseX:0,mouseY:0,x:0,y:0,velX:0,velY:0,slideWidth:0,slideHeight:0,slide:-1,active:!0,delta:0,listeners:{dragging:[],number:[],mouseX:[],mouseY:[],x:[],y:[],velX:[],velY:[],active:[],delta:[],slideWidth:[],slideHeight:[],slide:[]}}},t.sliderStateListen=function(e){return e.state.listeners[e.key].push(e.listener),function(){return t.sliderStateUnlisten(e)}},t.sliderStateUnlisten=function(e){var t=e.state.listeners,i=t[e.key].indexOf(e.listener);-1!==i&&t[e.key].splice(i,1)},t.sliderStateSet=function(e){e.state[e.key]!==e.value&&(e.state.listeners[e.key].forEach((function(t){t(e)})),e.state[e.key]=e.value)}},833:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.aabbIntersect=void 0,t.aabbIntersect=function(e){var t=e.boxA,i=e.boxB;return t.left<=i.right&&t.right>=i.left&&t.top<=i.bottom&&t.bottom>=i.top}},533:function(e,t){var i=this&&this.__assign||function(){return(i=Object.assign||function(e){for(var t,i=1,r=arguments.length;i<r;i++)for(var n in t=arguments[i])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e}).apply(this,arguments)};Object.defineProperty(t,"__esModule",{value:!0}),t.mergeDeepMerge=t.mergeIsObject=void 0,t.mergeIsObject=function(e){return e&&"object"==typeof e&&!Array.isArray(e)},t.mergeDeepMerge=function(e,r){var n=i({},e);return t.mergeIsObject(e)&&t.mergeIsObject(r)?(Object.keys(r).forEach((function(i){var s;t.mergeIsObject(r[i])&&i in e?n[i]=t.mergeDeepMerge(e[i],r[i]):Object.assign(n,((s={})[i]=r[i],s))})),n):n}}},t={};function i(r){if(t[r])return t[r].exports;var n=t[r]={exports:{}};return e[r].call(n.exports,n,n.exports,i),n.exports}i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),i(607)})();