-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
flickity-responsive.min.js
14 lines (14 loc) · 6.93 KB
/
flickity-responsive.min.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
/**!
* Flickity Responsive v2.0.6
* @author phucbm
* @homepage https://github.com/phucbm/flickity-responsive
* @license MIT 2023
*/
!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var o=t();for(var r in o)("object"==typeof exports?exports:e)[r]=o[r]}}(this,(()=>(()=>{"use strict";var e={d:(t,o)=>{for(var r in o)e.o(o,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:o[r]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{FlickityExtend:()=>O,FlickityResponsive:()=>g});
/**!
* Match Media Screen v0.0.3
* @author phucbm
* @homepage https://github.com/phucbm/match-media-screen
* @license MIT 2022
*/
var o={d:(e,t)=>{for(var r in t)o.o(t,r)&&!o.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)},r={};function n(e,t=!0){const o=[...e];return t?o.sort(((e,t)=>e.breakpoint<t.breakpoint?1:-1)):o.sort(((e,t)=>e.breakpoint>t.breakpoint?1:-1)),o}function i(e,t=150){let o;return(...r)=>{clearTimeout(o),o=setTimeout((()=>{e.apply(this,r)}),t)}}o.d(r,{o:()=>s});class s{constructor(e){if(this.dev=!0===e.dev,this.object=e.object||void 0,this.object){if(this.onMatched=e.onMatched,this.onUpdate=e.onUpdate,window.addEventListener("resize",i((()=>{"function"==typeof this.onUpdate&&this.onUpdate(this.currentObject)}),this.debounce)),!this.object.responsive)return this.currentObject={type:"no-responsive",lastBreakpoint:void 0,breakpoint:-1,object:this.mergeObject(-1,this.object)},"function"==typeof this.onMatched&&this.onMatched(this.currentObject),this.dev&&console.warn("Property object must have responsive array."),!1;this.isInherit=void 0===e.isInherit||e.isInherit,this.debounce=e.debounce||100,this.currentObject={breakpoint:void 0,object:{}},this.object.responsive=n(this.object.responsive),this.match(),window.addEventListener("resize",i((()=>this.match()),this.debounce))}else console.error("Property object:{} must be provided.")}match(){let e=!1;for(let t=0;t<this.object.responsive.length;t++){const o=this.object.responsive[t];if(e=matchMedia(this.getQuery(t)).matches,e){this.currentObject.breakpoint!==o.breakpoint&&(this.currentObject={type:"responsive",lastBreakpoint:this.currentObject.breakpoint,breakpoint:o.breakpoint,object:this.mergeObject(o.breakpoint,o.settings)},"function"==typeof this.onMatched&&this.onMatched(this.currentObject));break}}e||-1===this.currentObject.breakpoint||(this.currentObject={type:"default",lastBreakpoint:this.currentObject.breakpoint,breakpoint:-1,object:this.mergeObject(-1,this.object)},"function"==typeof this.onMatched&&this.onMatched(this.currentObject))}getQuery(e){let t=`screen and (max-width:${this.object.responsive[e].breakpoint}px)`;const o=this.object.responsive[e+1];return o&&(t+=` and (min-width:${o.breakpoint+1}px)`),t}mergeObject(e,t){let o={...t};if(this.isInherit&&-1!==e){const t=n(this.object.responsive,!1);for(let r=0;r<t.length;r++)t[r].breakpoint>e&&(o={...t[r].settings,...o})}return o={...this.object,...o},delete o.responsive,o}}var c=r.o;function a(e){let t={};if(!function(e){try{return JSON.parse(e)&&!!e}catch(e){return!1}}(e))return t;t=JSON.parse(e);for(const[e,o]of Object.entries(t))"false"===o&&(t[e]=!1),"true"===o&&(t[e]=!0);return t}function d(e){return t=e,"undefined"!=typeof jQuery&&t instanceof jQuery?e.get()[0]:e;var t}function u(e,t){if(t.isInfinite)return;const o=t.customArrows.prevArrow.el,r=t.customArrows.nextArrow.el,n=function(e){const{selectedIndex:t,slides:o}=e;return 0===t?0:t===o.length-1?1:-1}(e);0===n?(o.setAttribute("disabled","disabled"),r.removeAttribute("disabled")):1===n?(r.setAttribute("disabled","disabled"),o.removeAttribute("disabled")):(o.removeAttribute("disabled"),r.removeAttribute("disabled"))}function l(e,t){const o=!0===t.indicatorZeroPad,r=d(t.indicatorTotal),n=d(t.indicatorCurrent),i=e.cells.length;if(r&&(r.innerText=o?p(i):i),n){let t=e.selectedIndex;n.innerText=o?p(t+1):t+1,e.on("change",(e=>{n.innerText=o?(e+1).toString().padStart(2,"0"):e+1}))}}function p(e=0){return e.toString().padStart(2,"0")}function b(e,t){if(!0!==t.forceMove)return;e.element.classList.add(t._class.isForceMove);let o=e.selectedSlide;e.on("change",(()=>{const t=e.selectedSlide,r=h(o,t);if(0===r)return;let n=f(e.slides,t,1===r);t.target===o.target&&(n+=r),o=e.selectedSlide,e.select(n)}))}const f=(e,t,o=!0)=>o?e.findLastIndex((e=>e.target===t.target)):e.findIndex((e=>e.target===t.target)),h=(e,t)=>t.x>e.x?1:t.x<e.x?-1:0;function v(e,t){let o=Flickity.data(e);const r=void 0!==o;r&&o.destroy(),t.destroy?r&&o.destroy():(o=new Flickity(e,t),t.wrapAround&&(o.options.wrapAround=w(o)),t.isInfinite=t.hasOwnProperty("wrapAround")&&o.options.wrapAround,function(e,t){const o={prevArrow:{func:()=>e.previous()},nextArrow:{func:()=>e.next()}};let r=!1;Object.entries(o).forEach((([n,i])=>{if(!t.hasOwnProperty(n))return;const s=d(t[n]);"object"==typeof s&&(s.addEventListener("click",(()=>i.func())),o[n].el=s,e.element.classList.add(`has-custom-${n}`),r=!0)})),t.customArrows=o,r&&(u(e,t),e.on("change",(()=>u(e,t))))}(o,t),l(o,t),b(o,t),o.resize())}function y(e,t){if(!0!==t.responsiveNavigation)return;const o=[e.pageDots?e.pageDots.holder:void 0,e.prevButton?e.prevButton.element:void 0,e.nextButton?e.nextButton.element:void 0,t.customArrows?t.customArrows.prevArrow.el:void 0,t.customArrows?t.customArrows.nextArrow.el:void 0],r=e.slideableWidth>e.size.innerWidth;o.forEach((e=>{e&&"object"==typeof e&&(r?(e.classList.remove(t._class.buttonFreeze),e.style.display=""):(e.classList.add(t._class.buttonFreeze),e.style.display="none"))}))}function j(e,t,o){return"undefined"==typeof Flickity?(console.warn("Flickity is undefined!"),!1):(new c({object:t,onMatched:t=>v(e,{...o,...t.object}),onUpdate:t=>function(e,t){let o=Flickity.data(e);o&&(y(o,t),t.wrapAround&&(o.options.wrapAround=w(o)))}(e,{...o,...t.object})}),function(e,t){let o=Flickity.data(e);o&&(t.object?.wrapAround&&(t.object.wrapAround=w(o)),y(o,t),l(o,t),b(o,t))}(e,{...o,...t}),!0)}function w(e){const t=e.cells.reduce(((e,t)=>e+t.size.width),0);return Math.round(e.size.width)<Math.round(t)}const m="data-flickity-responsive",k={contain:!0,destroy:!1,prevArrow:void 0,nextArrow:void 0,responsiveNavigation:!0,indicatorZeroPad:!1,indicatorCurrent:void 0,indicatorTotal:void 0,forceMove:!0,_class:{buttonFreeze:"flickity-button-freeze",isForceMove:"is-force-move"}};class g{constructor(e,t){if(j(e,t,k))return this.flickity=Flickity.data(e),this.flickity}}var A;"undefined"!=typeof jQuery&&((A=jQuery).fn.flickityResponsive=function(e){A(this).get().forEach((t=>new g(t,e)))}),document.querySelectorAll(`[${m}]`).forEach((e=>{const t=a(e.getAttribute(m));new g(e,t)}));class O{constructor(e,t){new g(e,t)}}return"undefined"!=typeof jQuery&&function(e){e.fn.flickityExtend=function(t){e(this).get().forEach((e=>new g(e,t)))}}(jQuery),t})()));