@egjs/flicking 4.16.1-beta.0 → 4.16.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/flicking.cjs.js +1 -1
- package/dist/flicking.esm.js +1 -1
- package/dist/flicking.js +1 -1
- package/dist/flicking.min.js +1 -1
- package/dist/flicking.min.js.map +1 -1
- package/dist/flicking.pkgd.js +1 -1
- package/dist/flicking.pkgd.min.js +1 -1
- package/dist/flicking.pkgd.min.js.map +1 -1
- package/package.json +1 -1
package/dist/flicking.cjs.js
CHANGED
|
@@ -5970,7 +5970,7 @@ const _Flicking = class _Flicking extends Component {
|
|
|
5970
5970
|
);
|
|
5971
5971
|
}
|
|
5972
5972
|
};
|
|
5973
|
-
_Flicking.VERSION = "4.16.1
|
|
5973
|
+
_Flicking.VERSION = "4.16.1";
|
|
5974
5974
|
let Flicking = _Flicking;
|
|
5975
5975
|
const SIDE_EVENTS = {
|
|
5976
5976
|
HOLD_START: "sideHoldStart",
|
package/dist/flicking.esm.js
CHANGED
|
@@ -5968,7 +5968,7 @@ const _Flicking = class _Flicking extends Component {
|
|
|
5968
5968
|
);
|
|
5969
5969
|
}
|
|
5970
5970
|
};
|
|
5971
|
-
_Flicking.VERSION = "4.16.1
|
|
5971
|
+
_Flicking.VERSION = "4.16.1";
|
|
5972
5972
|
let Flicking = _Flicking;
|
|
5973
5973
|
const SIDE_EVENTS = {
|
|
5974
5974
|
HOLD_START: "sideHoldStart",
|
package/dist/flicking.js
CHANGED
package/dist/flicking.min.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("@egjs/component"),require("@egjs/axes"),require("@egjs/imready")):"function"==typeof define&&define.amd?define(["@egjs/component","@egjs/axes","@egjs/imready"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).Flicking=t(e.eg.Component,e.eg.Axes,e.eg.ImReady)}(this,function(e,t,n){"use strict";var i=Object.defineProperty,r=Object.defineProperties,s=Object.getOwnPropertyDescriptors,o=Object.getOwnPropertySymbols,a=Object.getPrototypeOf,l=Object.prototype.hasOwnProperty,h=Object.prototype.propertyIsEnumerable,c=Reflect.get,d=Math.pow,u=(e,t,n)=>t in e?i(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,g=(e,t)=>{for(var n in t||(t={}))l.call(t,n)&&u(e,n,t[n]);if(o)for(var n of o(t))h.call(t,n)&&u(e,n,t[n]);return e},_=(e,t)=>r(e,s(t)),p=(e,t,n)=>new Promise((i,r)=>{var s=e=>{try{a(n.next(e))}catch(t){r(t)}},o=e=>{try{a(n.throw(e))}catch(t){r(t)}},a=e=>e.done?i(e.value):Promise.resolve(e.value).then(s,o);a((n=n.apply(e,t)).next())});const m={PREV:"prev",CENTER:"center",NEXT:"next"},f={PREV:"PREV",NEXT:"NEXT",NONE:null},v={SNAP:"snap",FREE_SCROLL:"freeScroll",STRICT:"strict"},E={VIEWPORT:"flicking-viewport",CAMERA:"flicking-camera",VERTICAL:"vertical",HIDDEN:"flicking-hidden",DEFAULT_VIRTUAL:"flicking-panel"},P={LINEAR:"linear",BOUND:"bound"},x={LTR:"ltr",RTL:"rtl"},O={HORIZONTAL:"horizontal",VERTICAL:"vertical"},T=Object.freeze(Object.defineProperty({__proto__:null,ALIGN:m,CIRCULAR_FALLBACK:P,CLASS:E,DIRECTION:f,MOVE_DIRECTION:O,MOVE_TYPE:v,ORDER:x},Symbol.toStringTag,{value:"Module"})),b={READY:"ready",BEFORE_RESIZE:"beforeResize",AFTER_RESIZE:"afterResize",HOLD_START:"holdStart",HOLD_END:"holdEnd",MOVE_START:"moveStart",MOVE:"move",MOVE_END:"moveEnd",WILL_CHANGE:"willChange",CHANGED:"changed",WILL_RESTORE:"willRestore",RESTORED:"restored",SELECT:"select",NEED_PANEL:"needPanel",VISIBLE_CHANGE:"visibleChange",REACH_EDGE:"reachEdge",PANEL_CHANGE:"panelChange"},R=Object.freeze(Object.defineProperty({__proto__:null,EVENTS:b},Symbol.toStringTag,{value:"Module"}));class I{get index(){return this._index}get position(){return this._pos}get panel(){return this._panel}constructor(e){const{index:t,position:n,panel:i}=e;this._index=t,this._pos=n,this._panel=i}}const A={WRONG_TYPE:{code:0,message:(e,t)=>`${e}(${typeof e}) is not a ${t.map(e=>`"${e}"`).join(" or ")}.`},ELEMENT_NOT_FOUND:{code:1,message:e=>`Element with selector "${e}" not found.`},VAL_MUST_NOT_NULL:{code:2,message:(e,t)=>`${t} should be provided. Given: ${e}`},NOT_ATTACHED_TO_FLICKING:{code:3,message:'This module is not attached to the Flicking instance. "init()" should be called first.'},WRONG_OPTION:{code:4,message:(e,t)=>`Option "${e}" is not in correct format, given: ${t}`},INDEX_OUT_OF_RANGE:{code:5,message:(e,t,n)=>`Index "${e}" is out of range: should be between ${t} and ${n}.`},POSITION_NOT_REACHABLE:{code:6,message:e=>`Position "${e}" is not reachable.`},TRANSFORM_NOT_SUPPORTED:{code:7,message:"Browser does not support CSS transform."},STOP_CALLED_BY_USER:{code:8,message:"Event stop() is called by user."},ANIMATION_INTERRUPTED:{code:9,message:"Animation is interrupted by user input."},ANIMATION_ALREADY_PLAYING:{code:10,message:"Animation is already playing."},NOT_ALLOWED_IN_FRAMEWORK:{code:11,message:"This behavior is not allowed in the frameworks like React, Vue, or Angular."},NOT_INITIALIZED:{code:12,message:"Flicking is not initialized yet, call init() first."},NO_ACTIVE:{code:13,message:"There's no active panel that Flicking has selected. This may be due to the absence of any panels."},NOT_ALLOWED_IN_VIRTUAL:{code:14,message:"This behavior is not allowed when the virtual option is enabled"}},S=Object.keys(A).reduce((e,t)=>(e[t]=A[t].code,e),{}),N=Object.keys(A).reduce((e,t)=>(e[t]=A[t].message,e),{}),C=(e,...t)=>(t.forEach(t=>{Object.keys(t).forEach(n=>{e[n]=t[n]})}),e),z=(e,t)=>{let n=null;if(U(e)){const i=(t||document).querySelector(e);if(!i)throw new oe(N.ELEMENT_NOT_FOUND(e),S.ELEMENT_NOT_FOUND);n=i}else e&&e.nodeType===Node.ELEMENT_NODE&&(n=e);if(!n)throw new oe(N.WRONG_TYPE(e,["HTMLElement","string"]),S.WRONG_TYPE);return n},y=(e,t)=>{if(null==e)throw new oe(N.VAL_MUST_NOT_NULL(e,t),S.VAL_MUST_NOT_NULL)},w=(e,t,n)=>Math.max(Math.min(e,n),t),k=e=>{if(!e)throw new oe(N.NOT_ATTACHED_TO_FLICKING,S.NOT_ATTACHED_TO_FLICKING);return e},D=e=>[].slice.call(e),L=(e,t)=>{let n;if(U(e))switch(e){case m.PREV:n=0;break;case m.CENTER:n=.5*t;break;case m.NEXT:n=t;break;default:if(n=H(e,t),null==n)throw new oe(N.WRONG_OPTION("align",e),S.WRONG_OPTION)}else n=e;return n},M=(e,t)=>{let n;if(Array.isArray(e))n=e.map(e=>H(e,t));else{const i=H(e,t);n=[i,i]}return n.map(t=>{if(null==t)throw new oe(N.WRONG_OPTION("bounce",e),S.WRONG_OPTION);return t})},H=(e,t)=>{const n=F(e);return null==n?null:n.percentage*t+n.absolute},F=e=>{const t=/(?:(\+|-)\s*)?(\d+(?:\.\d+)?(%|px)?)/g;if("number"==typeof e)return{percentage:0,absolute:e};const n={percentage:0,absolute:0};let i=0,r=t.exec(e);for(;null!=r;){let s=r[1];const o=r[2],a=r[3],l=parseFloat(o);if(i<=0&&(s=s||"+"),!s)return null;const h="+"===s?1:-1;"%"===a?n.percentage+=h*(l/100):n.absolute+=h*l,++i,r=t.exec(e)}return 0===i?null:n},V=e=>"object"==typeof e?e.panel:e,G=(e,t)=>e===t?f.NONE:e<t?f.NEXT:f.PREV,j=e=>{Array.isArray(e)||(e=[e]);const t=[];return e.forEach(e=>{if(U(e)){const n=document.createElement("div");for(n.innerHTML=e,t.push(...D(n.children));n.firstChild;)n.removeChild(n.firstChild)}else{if(!e||e.nodeType!==Node.ELEMENT_NODE)throw new oe(N.WRONG_TYPE(e,["HTMLElement","string"]),S.WRONG_TYPE);t.push(e)}}),t},B=(e,t)=>w(e<0?e+t:e,0,t),W=(e,t)=>{for(const n of e)if(n===t)return!0;return!1},U=e=>"string"==typeof e,$=(e,t,n)=>{const i=n-t;if(e<t){e=n-(t-e)%i}else if(e>n){e=t+(e-n)%i}return e},X=(e,t)=>{for(const n of e)if(t(n))return n;return null},Y=(e,t)=>{for(let n=0;n<e.length;n++)if(t(e[n]))return n;return-1},Z=(e,t,n)=>(e-t)/(n-t),K=e=>e?window.getComputedStyle(e)||e.currentStyle:{},q=(e,{width:t,height:n})=>{e&&(null!=t&&(U(t)?e.style.width=t:e.style.width=`${t}px`),null!=n&&(U(n)?e.style.height=n:e.style.height=`${n}px`))},J=(e,t,n)=>e>=t&&e<=n,Q=(e,t)=>e>=t?e%t:e<0?B((e+1)%t-1,t):e,ee=e=>{const t=new Array(e);for(let n=0;n<e;n++)t[n]=n;return t},te=({el:e,horizontal:t,useFractionalSize:n,useOffset:i,style:r})=>{let s=0;if(n){const e=parseFloat(t?r.width:r.height)||0,n="border-box"===r.boxSizing,o=t?parseFloat(r.borderLeftWidth||"0")+parseFloat(r.borderRightWidth||"0"):parseFloat(r.borderTopWidth||"0")+parseFloat(r.borderBottomWidth||"0");if(n)s=i?e:e-o;else{const n=t?parseFloat(r.paddingLeft||"0")+parseFloat(r.paddingRight||"0"):parseFloat(r.paddingTop||"0")+parseFloat(r.paddingBottom||"0");s=i?e+n+o:e+n}}else{const n=t?"Width":"Height";s=i?e[`offset${n}`]:e[`client${n}`]}return Math.max(s,0)},ne=Object.setPrototypeOf||((e,t)=>(e.__proto__=t,e)),ie=e=>e.replace(/[\s-_]([a-z])/g,(e,t)=>t.toUpperCase()),re=(e,t)=>{const n={},i=e.attributes,r=i.length;for(let s=0;s<r;++s){const e=i[s],{name:r,value:o}=e;-1!==r.indexOf(t)&&(n[ie(r.replace(t,""))]=o)}return n},se=Object.freeze(Object.defineProperty({__proto__:null,camelize:ie,checkExistence:y,circulateIndex:Q,circulatePosition:$,clamp:w,find:X,findIndex:Y,findRight:(e,t)=>{for(let n=e.length-1;n>=0;n--){const i=e[n];if(t(i))return i}return null},getDataAttributes:re,getDirection:G,getElement:z,getElementSize:te,getFlickingAttached:k,getMinusCompensatedIndex:B,getProgress:Z,getStyle:K,includes:W,isBetween:J,isString:U,merge:C,parseAlign:L,parseArithmeticExpression:F,parseArithmeticSize:H,parseBounce:M,parseCSSSizeValue:e=>U(e)?e:`${e}px`,parseElement:j,parsePanelAlign:V,range:ee,setPrototypeOf:ne,setSize:q,toArray:D},Symbol.toStringTag,{value:"Module"}));class oe extends Error{constructor(e,t){super(e),ne(this,oe.prototype),this.name="FlickingError",this.code=t}}class ae{constructor(e){this._flicking=e}getAnchors(){return this._flicking.renderer.panels.map((e,t)=>new I({index:t,position:e.position,panel:e}))}findAnchorIncludePosition(e){return this._flicking.camera.anchorPoints.filter(t=>t.panel.includePosition(e,!0)).reduce((t,n)=>t&&Math.abs(t.position-e)<Math.abs(n.position-e)?t:n,null)}findNearestAnchor(e){const t=this._flicking.camera.anchorPoints;if(t.length<=0)return null;let n=1/0;for(let i=0;i<t.length;i++){const r=t[i],s=Math.abs(r.position-e);if(s>n)return t[i-1];n=s}return t[t.length-1]}clampToReachablePosition(e){const t=this._flicking.camera.range;return w(e,t.min,t.max)}getCircularOffset(){return 0}canReach(e){const t=this._flicking.camera.range;if(e.removed)return!1;const n=e.position;return n>=t.min&&n<=t.max}canSee(e){const t=this._flicking.camera.visibleRange;return e.isVisibleOnRange(t.min,t.max)}}class le extends ae{checkAvailability(){const e=this._flicking,t=e.renderer,n=t.getPanel(0),i=t.getPanel(t.panelCount-1);if(!n||!i)return!1;const r=e.camera.size,s=n.range.min;return r<i.range.max-s}getRange(){const e=this._flicking,t=e.renderer,n=e.camera.alignPosition,i=t.getPanel(0),r=t.getPanel(t.panelCount-1);if(!i||!r)return{min:0,max:0};const s=e.camera.size,o=i.range.min,a=r.range.max,l=o+n,h=a-s+n;if(s<a-o)return{min:l,max:h};{const t=e.camera.align,n="object"==typeof t?t.camera:t,i=l+L(n,h-l);return{min:i,max:i}}}getAnchors(){const e=this._flicking,t=e.camera,n=e.renderer.panels;if(n.length<=0)return[];const i=e.camera.range,r=n.filter(e=>t.canReach(e));if(r.length>0){const e=r[0].position!==i.min,t=r[r.length-1].position!==i.max,s=e?1:0,o=r.map((e,t)=>new I({index:t+s,position:e.position,panel:e}));return e&&o.splice(0,0,new I({index:0,position:i.min,panel:n[r[0].index-1]})),t&&o.push(new I({index:o.length,position:i.max,panel:n[r[r.length-1].index+1]})),o}if(i.min!==i.max){const e=this._findNearestPanel(i.min,n),t=e.index===n.length-1?e.prev():e,r=t.next();return[new I({index:0,position:i.min,panel:t}),new I({index:1,position:i.max,panel:r})]}return[new I({index:0,position:i.min,panel:this._findNearestPanel(i.min,n)})]}findAnchorIncludePosition(e){const t=this._flicking.camera,n=t.range,i=t.anchorPoints;return i.length<=0?null:e<=n.min?i[0]:e>=n.max?i[i.length-1]:super.findAnchorIncludePosition(e)}_findNearestPanel(e,t){let n=1/0;for(let i=0;i<t.length;i++){const r=t[i],s=Math.abs(r.position-e);if(s>n)return t[i-1];n=s}return t[t.length-1]}}class he extends ae{checkAvailability(){const e=this._flicking,t=e.renderer.panels;if(t.length<=0)return!1;const n=t[0],i=t[t.length-1],r=n.range.min-n.margin.prev,s=i.range.max+i.margin.next,o=e.camera.size,a=s-r;return t.every(e=>a-e.size>=o)}getRange(){const e=this._flicking.renderer.panels;if(e.length<=0)return{min:0,max:0};const t=e[0],n=e[e.length-1];return{min:t.range.min-t.margin.prev,max:n.range.max+n.margin.next}}getAnchors(){return this._flicking.renderer.panels.map((e,t)=>new I({index:t,position:e.position,panel:e}))}findNearestAnchor(e){const t=this._flicking.camera,n=t.anchorPoints;if(n.length<=0)return null;const i=t.range;let r=1/0,s=-1;for(let o=0;o<n.length;o++){const t=n[o],a=Math.min(Math.abs(t.position-e),Math.abs(t.position-i.min+i.max-e),Math.abs(e-i.min+i.max-t.position));a<r&&(r=a,s=o)}return n[s]}findAnchorIncludePosition(e){const t=this._flicking.camera,n=t.range,i=t.anchorPoints,r=t.rangeDiff,s=i.length,o=$(e,n.min,n.max);let a=super.findAnchorIncludePosition(o);if(s>0&&(e===n.min||e===n.max)){const t=[a,new I({index:0,position:i[0].position+r,panel:i[0].panel}),new I({index:s-1,position:i[s-1].position-r,panel:i[s-1].panel})].filter(e=>!!e);a=t.reduce((t,n)=>t&&Math.abs(t.position-e)<Math.abs(n.position-e)?t:n,null)}if(!a)return null;if(e<n.min){const t=-Math.floor((n.min-e)/r)-1;return new I({index:a.index,position:a.position+r*t,panel:a.panel})}if(e>n.max){const t=Math.floor((e-n.max)/r)+1;return new I({index:a.index,position:a.position+r*t,panel:a.panel})}return a}getCircularOffset(){const e=this._flicking;if(!e.camera.circularEnabled)return 0;const t=e.panels.filter(e=>e.toggled),n=t.filter(e=>e.toggleDirection===f.PREV),i=t.filter(e=>e.toggleDirection===f.NEXT);return this._calcPanelAreaSum(n)-this._calcPanelAreaSum(i)}clampToReachablePosition(e){return e}canReach(e){return!e.removed}canSee(e){const t=this._flicking.camera,n=t.range,i=t.rangeDiff,r=t.visibleRange,s=super.canSee(e);return r.min<n.min?s||e.isVisibleOnRange(r.min+i,r.max+i):r.max>n.max?s||e.isVisibleOnRange(r.min-i,r.max-i):s}_calcPanelAreaSum(e){return e.reduce((e,t)=>e+t.sizeIncludingMargin,0)}}class ce extends ae{checkAvailability(){return!0}getRange(){var e,t;const n=this._flicking.renderer,i=n.getPanel(0),r=n.getPanel(n.panelCount-1);return{min:null!=(e=null==i?void 0:i.position)?e:0,max:null!=(t=null==r?void 0:r.position)?t:0}}}let de=class{constructor(e,{align:t=m.CENTER}={}){this._lookedOffset=0,this._checkTranslateSupport=()=>{const e=["webkitTransform","msTransform","MozTransform","OTransform","transform"],t=document.documentElement.style;let n="";for(const i of e)i in t&&(n=i);if(!n)throw new oe(N.TRANSFORM_NOT_SUPPORTED,S.TRANSFORM_NOT_SUPPORTED);this._transform=n},this._flicking=e,this._resetInternalValues(),this._align=t}get element(){return this._el}get children(){return D(this._el.children)}get position(){return this._position}get alignPosition(){return this._alignPos}get offset(){return this._offset-this._circularOffset}get circularEnabled(){return this._circularEnabled}get mode(){return this._mode}get range(){return this._range}get rangeDiff(){return this._range.max-this._range.min}get visiblePanels(){return this._visiblePanels}get visibleRange(){return{min:this._position-this._alignPos,max:this._position-this._alignPos+this.size}}get anchorPoints(){return this._anchors}get controlParams(){return{range:this._range,position:this._position,circular:this._circularEnabled}}get atEdge(){return this._position<=this._range.min||this._position>=this._range.max}get size(){const e=this._flicking;return e?e.horizontal?e.viewport.width:e.viewport.height:0}get progress(){const e=this._flicking,t=this._position+this._offset,n=this.findNearestAnchor(this._position);if(!e||!n)return NaN;const i=n.panel,r=i.position+i.offset,s=e.control.controller.bounce,{min:o,max:a}=this.range,l=this.rangeDiff;if(t===r)return i.index;if(t<r){const e=i.prev();let n=e?e.position+e.offset:o-s[0];return n>r&&(n-=l),i.index-1+Z(t,n,r)}{const e=i.next();let n=e?e.position+e.offset:a+s[1];return n<r&&(n+=l),i.index+Z(t,r,n)}}get panelOrder(){return this._panelOrder}get align(){return this._align}set align(e){this._align=e}init(){const e=this._flicking.viewport.element;return y(e.firstElementChild,"First element child of the viewport element"),this._el=e.firstElementChild,this._checkTranslateSupport(),this._updateMode(),this.updatePanelOrder(),this}destroy(){return this._resetInternalValues(),this}lookAt(e){const t=this._offset,n=this._lookedOffset!==t,i=k(this._flicking),r=this._position;this._position=e;const s=this._togglePanels(r,e);this._refreshVisiblePanels(),this._checkNeedPanel(),this._checkReachEnd(r,e),s?i.renderer.render().then(()=>{this.updateOffset(),this._lookedOffset=this._offset}):n?(this.updateOffset(),this._lookedOffset=this._offset):this.applyTransform()}getPrevAnchor(e){if(this._circularEnabled&&0===e.index){const e=this._anchors,t=this.rangeDiff,n=e[e.length-1];return new I({index:n.index,position:n.position-t,panel:n.panel})}return this._anchors[e.index-1]||null}getNextAnchor(e){const t=this._anchors;if(this._circularEnabled&&e.index===t.length-1){const e=this.rangeDiff,n=t[0];return new I({index:n.index,position:n.position+e,panel:n.panel})}return t[e.index+1]||null}getProgressInPanel(e){const t=e.range;return(this._position-t.min)/(t.max-t.min)}findAnchorIncludePosition(e){return this._mode.findAnchorIncludePosition(e)}findNearestAnchor(e){return this._mode.findNearestAnchor(e)}findActiveAnchor(){var e;const t=k(this._flicking).control.activePanel;return t?null!=(e=X(this._anchors,e=>e.panel.index===t.index))?e:this.findNearestAnchor(t.position):null}clampToReachablePosition(e){return this._mode.clampToReachablePosition(e)}canReach(e){return this._mode.canReach(e)}canSee(e){return this._mode.canSee(e)}updateRange(){const e=k(this._flicking).renderer.panels;return this._updateMode(),this._range=this._mode.getRange(),e.forEach(e=>e.updateCircularToggleDirection()),this}updateAlignPos(){const e=this._align,t="object"==typeof e?e.camera:e;return this._alignPos=L(t,this.size),this}updateAnchors(){return this._anchors=this._mode.getAnchors(),this}updateAdaptiveHeight(){const e=k(this._flicking),t=e.control.activePanel,n=[...e.visiblePanels];if(t&&n.push(t),!e.horizontal||!e.adaptive||!n.length)return;const i=Math.max(...n.map(e=>e.height));e.viewport.setSize({height:i})}updateOffset(){const e=k(this._flicking),t=this._position,n=e.panels.filter(e=>!e.rendered);return this._offset=n.filter(e=>e.position+e.offset<t).reduce((e,t)=>e+t.sizeIncludingMargin,0),this._circularOffset=this._mode.getCircularOffset(),this.applyTransform(),this}updatePanelOrder(){const e=k(this._flicking);if(!e.horizontal)return this;const t=this._el,n=K(t).direction;return n!==this._panelOrder&&(this._panelOrder=n===x.RTL?x.RTL:x.LTR,e.initialized&&e.control.controller.updateDirection()),this}resetNeedPanelHistory(){return this._needPanelTriggered={prev:!1,next:!1},this}applyTransform(){const e=this._el,t=k(this._flicking);if(t.renderer.rendering||!t.initialized)return this;const n=this._position-this._alignPos-this._offset+this._circularOffset;return e.style[this._transform]=t.horizontal?`translate(${this._panelOrder===x.RTL?n:-n}px)`:`translate(0, ${-n}px)`,this}_resetInternalValues(){this._position=0,this._lookedOffset=0,this._alignPos=0,this._offset=0,this._circularOffset=0,this._circularEnabled=!1,this._range={min:0,max:0},this._visiblePanels=[],this._anchors=[],this._needPanelTriggered={prev:!1,next:!1}}_refreshVisiblePanels(){const t=k(this._flicking),n=t.renderer.panels.filter(e=>this.canSee(e)),i=this._visiblePanels;this._visiblePanels=n;const r=n.filter(e=>!W(i,e)),s=i.filter(e=>!W(n,e));(r.length>0||s.length>0)&&t.renderer.render().then(()=>{t.trigger(new e.ComponentEvent(b.VISIBLE_CHANGE,{added:r,removed:s,visiblePanels:n}))})}_checkNeedPanel(){const t=this._needPanelTriggered;if(t.prev&&t.next)return;const n=k(this._flicking),i=n.renderer.panels;if(i.length<=0)return t.prev||(n.trigger(new e.ComponentEvent(b.NEED_PANEL,{direction:f.PREV})),t.prev=!0),void(t.next||(n.trigger(new e.ComponentEvent(b.NEED_PANEL,{direction:f.NEXT})),t.next=!0));const r=this._position,s=this.size,o=this._range,a=n.needPanelThreshold,l=r-this._alignPos,h=l+s,c=i[0],d=i[i.length-1];if(!t.prev){(l<=c.range.min+a||r<=o.min+a)&&(n.trigger(new e.ComponentEvent(b.NEED_PANEL,{direction:f.PREV})),t.prev=!0)}if(!t.next){(h>=d.range.max-a||r>=o.max-a)&&(n.trigger(new e.ComponentEvent(b.NEED_PANEL,{direction:f.NEXT})),t.next=!0)}}_checkReachEnd(t,n){const i=k(this._flicking),r=this._range,s=t>r.min&&t<r.max,o=n>r.min&&n<r.max;if(!s||o)return;const a=n<=r.min?f.PREV:f.NEXT;i.trigger(new e.ComponentEvent(b.REACH_EDGE,{direction:a}))}_updateMode(){const e=k(this._flicking);if(e.circular){const t=new he(e),n=t.checkAvailability();if(n)this._mode=t;else{const t=e.circularFallback;this._mode=t===P.BOUND?new le(e):new ce(e)}this._circularEnabled=n}else this._mode=e.bound?new le(e):new ce(e),this._circularEnabled=!1}_togglePanels(e,t){if(t===e)return!1;return k(this._flicking).renderer.panels.map(n=>n.toggle(e,t)).some(e=>e)}};const ue=Object.freeze(Object.defineProperty({__proto__:null,BoundCameraMode:le,Camera:de,CircularCameraMode:he,LinearCameraMode:ce},Symbol.toStringTag,{value:"Module"})),ge={HOLD:"hold",CHANGE:"change",RELEASE:"release",ANIMATION_END:"animationEnd",FINISH:"finish"},_e="flick";var pe=(e=>(e[e.IDLE=0]="IDLE",e[e.HOLDING=1]="HOLDING",e[e.DRAGGING=2]="DRAGGING",e[e.ANIMATING=3]="ANIMATING",e[e.DISABLED=4]="DISABLED",e))(pe||{});class me{constructor(){this._delta=0,this._targetPanel=null}get delta(){return this._delta}get targetPanel(){return this._targetPanel}set targetPanel(e){this._targetPanel=e}onEnter(e){this._delta=e._delta,this._targetPanel=e._targetPanel}onHold(e){}onChange(e){}onRelease(e){}onAnimationEnd(e){}onFinish(e){}_moveToChangedPosition(t){const{flicking:n,axesEvent:i,transitTo:r}=t,s=i.delta[_e];if(!s)return;this._delta+=s;const o=n.camera,a=o.position,l=i.pos[_e],h=n.circularEnabled?$(l,o.range.min,o.range.max):l;o.lookAt(h);const c=new e.ComponentEvent(b.MOVE,{isTrusted:i.isTrusted,holding:this.holding,direction:G(0,i.delta[_e]),axesEvent:i});n.trigger(c),c.isCanceled()&&(o.lookAt(a),r(4))}}class fe extends me{constructor(){super(...arguments),this.holding=!1,this.animating=!0}onHold(t){const{flicking:n,axesEvent:i,transitTo:r}=t,s=this._targetPanel,o=n.control;this._delta=0,n.control.updateInput(),n.changeOnHold&&s&&o.setActive(s,o.activePanel,i.isTrusted);const a=new e.ComponentEvent(b.HOLD_START,{axesEvent:i});n.trigger(a),a.isCanceled()?r(pe.DISABLED):r(pe.DRAGGING)}onChange(e){this._moveToChangedPosition(e)}onFinish(t){const{flicking:n,axesEvent:i,transitTo:r}=t,s=n.control,o=s.controller.animatingContext;r(pe.IDLE),n.trigger(new e.ComponentEvent(b.MOVE_END,{isTrusted:i.isTrusted,direction:G(o.start,o.end),axesEvent:i}));const a=this._targetPanel;a&&s.setActive(a,s.activePanel,i.isTrusted)}}class ve extends me{constructor(){super(...arguments),this.holding=!1,this.animating=!0}onAnimationEnd(e){const{transitTo:t}=e;t(pe.IDLE)}onChange(e){const{axesEvent:t,transitTo:n}=e;t.stop(),n(pe.IDLE)}onRelease(e){const{axesEvent:t,transitTo:n}=e;0===t.delta.flick&&n(pe.IDLE)}}class Ee extends me{constructor(){super(...arguments),this.holding=!0,this.animating=!0}onChange(e){this._moveToChangedPosition(e)}onRelease(t){const{flicking:n,axesEvent:i,transitTo:r}=t;if(n.trigger(new e.ComponentEvent(b.HOLD_END,{axesEvent:i})),n.renderer.panelCount<=0)return void r(pe.IDLE);r(pe.ANIMATING);const s=n.control,o=i.destPos[_e],a=Math.max(i.duration,n.duration);try{s.moveToPosition(o,a,i)}catch(l){r(pe.IDLE),i.setTo({[_e]:n.camera.position},0)}}}class Pe extends me{constructor(){super(...arguments),this.holding=!0,this.animating=!1,this._releaseEvent=null}onChange(t){const{flicking:n,axesEvent:i,transitTo:r}=t,s=i.inputEvent;if(!s)return;const o=n.horizontal?s.offsetX:s.offsetY,a=new e.ComponentEvent(b.MOVE_START,{isTrusted:i.isTrusted,holding:this.holding,direction:G(0,-o),axesEvent:i});n.trigger(a),a.isCanceled()?r(pe.DISABLED):r(pe.DRAGGING).onChange(t)}onRelease(t){const{flicking:n,axesEvent:i,transitTo:r}=t;if(n.trigger(new e.ComponentEvent(b.HOLD_END,{axesEvent:i})),0!==i.delta.flick)return i.setTo({flick:n.camera.position},0),void r(pe.IDLE);this._releaseEvent=i}onFinish(t){const{flicking:n,transitTo:i}=t;if(i(pe.IDLE),!this._releaseEvent)return;const r=this._releaseEvent.inputEvent.srcEvent;let s;if("touchend"===r.type){const e=r.changedTouches[0];s=document.elementFromPoint(e.clientX,e.clientY)}else s=r.target;const o=n.renderer.panels;let a=null;for(const e of o)if(e.contains(s)){a=e;break}if(a){const t=n.camera.position,i=a.position;n.trigger(new e.ComponentEvent(b.SELECT,{index:a.index,panel:a,direction:G(t,i)}))}}}class xe extends me{constructor(){super(...arguments),this.holding=!1,this.animating=!1}onEnter(){this._delta=0,this._targetPanel=null}onHold(t){const{flicking:n,axesEvent:i,transitTo:r}=t;if(n.renderer.panelCount<=0)return void r(pe.DISABLED);const s=new e.ComponentEvent(b.HOLD_START,{axesEvent:i});n.trigger(s),s.isCanceled()?r(pe.DISABLED):r(pe.HOLDING)}onChange(t){const{flicking:n,axesEvent:i,transitTo:r}=t,s=n.control.controller.animatingContext,o=new e.ComponentEvent(b.MOVE_START,{isTrusted:i.isTrusted,holding:this.holding,direction:G(s.start,s.end),axesEvent:i});n.trigger(o),o.isCanceled()?r(pe.DISABLED):r(pe.ANIMATING).onChange(t)}}class Oe{constructor(){this.transitTo=e=>{let t;switch(e){case pe.IDLE:t=new xe;break;case pe.HOLDING:t=new Pe;break;case pe.DRAGGING:t=new Ee;break;case pe.ANIMATING:t=new fe;break;case pe.DISABLED:t=new ve}return t.onEnter(this._state),this._state=t,this._state},this._state=new xe}get state(){return this._state}fire(e,t){const n=this._state,i=_(g({},t),{transitTo:this.transitTo});switch(e){case ge.HOLD:n.onHold(i);break;case ge.CHANGE:n.onChange(i);break;case ge.RELEASE:n.onRelease(i);break;case ge.ANIMATION_END:n.onAnimationEnd(i);break;case ge.FINISH:n.onFinish(i)}}}class Te{constructor(){this._onAxesHold=()=>{this._dragged=!1},this._onAxesChange=()=>{var e;this._dragged=!!(null==(e=this._panInput)?void 0:e.isEnabled())},this._preventClickWhenDragged=e=>{this._dragged&&(e.preventDefault(),e.stopPropagation()),this._dragged=!1},this._resetInternalValues(),this._stateMachine=new Oe}get axes(){return this._axes}get panInput(){return this._panInput}get stateMachine(){return this._stateMachine}get state(){return this._stateMachine.state}get animatingContext(){return this._animatingContext}get controlParams(){const e=this._axes;if(!e)return{range:{min:0,max:0},position:0,circular:!1};const t=e.axis[_e];return{range:{min:t.range[0],max:t.range[1]},circular:t.circular[0],position:this.position}}get enabled(){var e,t;return null!=(t=null==(e=this._panInput)?void 0:e.isEnabled())&&t}get position(){var e,t;return null!=(t=null==(e=this._axes)?void 0:e.get([_e])[_e])?t:0}get range(){var e,t;return null!=(t=null==(e=this._axes)?void 0:e.axis[_e].range)?t:[0,0]}get bounce(){var e;return null==(e=this._axes)?void 0:e.axis[_e].bounce}init(e){this._flicking=e,this._axes=new t({[_e]:{range:[0,0],circular:!1,bounce:[0,0]}},{deceleration:e.deceleration,interruptable:e.interruptable,nested:e.nested,easing:e.easing}),this._panInput=new t.PanInput(e.viewport.element,{inputType:e.inputType,threshold:e.dragThreshold,iOSEdgeSwipeThreshold:e.iOSEdgeSwipeThreshold,preventDefaultOnDrag:e.preventDefaultOnDrag,scale:e.horizontal?[e.camera.panelOrder===x.RTL?1:-1,0]:[0,-1],releaseOnScroll:!0});const n=this._axes;n.connect(e.horizontal?[_e,""]:["",_e],this._panInput);for(const t in ge){const i=ge[t];n.on(i,t=>{this._stateMachine.fire(i,{flicking:e,axesEvent:t})})}return this}destroy(){var e;this._axes&&(this.removePreventClickHandler(),this._axes.destroy()),null==(e=this._panInput)||e.destroy(),this._resetInternalValues()}enable(){var e;return null==(e=this._panInput)||e.enable(),this}disable(){var e;return null==(e=this._panInput)||e.disable(),this}release(){var e;return null==(e=this._panInput)||e.release(),this}updateAnimation(e,t){var n;return this._animatingContext=_(g({},this._animatingContext),{end:e}),null==(n=this._axes)||n.updateAnimation({destPos:{[_e]:e},duration:t}),this}stopAnimation(){var e;return null==(e=this._axes)||e.stopAnimation(),this}update(e){const t=k(this._flicking),n=t.camera,i=this._axes,r=i.axis[_e];return r.circular=[e.circular,e.circular],r.range=[e.range.min,e.range.max],r.bounce=M(t.bounce,n.size),i.axisManager.set({[_e]:e.position}),this}addPreventClickHandler(){const e=k(this._flicking),t=this._axes,n=e.camera.element;return t.on(ge.HOLD,this._onAxesHold),t.on(ge.CHANGE,this._onAxesChange),n.addEventListener("click",this._preventClickWhenDragged,!0),this}removePreventClickHandler(){const e=k(this._flicking),t=this._axes,n=e.camera.element;return t.off(ge.HOLD,this._onAxesHold),t.off(ge.CHANGE,this._onAxesChange),n.removeEventListener("click",this._preventClickWhenDragged,!0),this}animateTo(e,t,n){var i;const r=this._axes,s=this._stateMachine.state;if(!r)return Promise.reject(new oe(N.NOT_ATTACHED_TO_FLICKING,S.NOT_ATTACHED_TO_FLICKING));const o=this.getCurrentPosition();if(o===e){const t=k(this._flicking);return t.camera.lookAt(e),s.targetPanel&&t.control.setActive(s.targetPanel,t.control.activePanel,null!=(i=null==n?void 0:n.isTrusted)&&i),Promise.resolve()}this._animatingContext={start:o,end:e,offset:0};const a=()=>{r.once(ge.FINISH,()=>{this._animatingContext={start:0,end:0,offset:0}}),n?n.setTo({[_e]:e},t):r.setTo({[_e]:e},t)};return new Promise((e,t)=>{const n=()=>{r.off(ge.HOLD,i),e()},i=()=>{r.off(ge.FINISH,n),t(new oe(N.ANIMATION_INTERRUPTED,S.ANIMATION_INTERRUPTED))};r.once(ge.FINISH,n),r.once(ge.HOLD,i),a()})}getCurrentPosition(){var e,t;return null!=(t=null==(e=this._axes)?void 0:e.get([_e])[_e])?t:0}updateDirection(){const e=k(this._flicking),t=this._axes,n=this._panInput;t.disconnect(n),t.connect(e.horizontal?[_e,""]:["",_e],n),n.options.scale=e.horizontal?[e.camera.panelOrder===x.RTL?1:-1,0]:[0,-1]}_resetInternalValues(){this._flicking=null,this._axes=null,this._panInput=null,this._animatingContext={start:0,end:0,offset:0},this._dragged=!1}}let be=class{get controller(){return this._controller}get activeIndex(){var e,t;return null!=(t=null==(e=this._activePanel)?void 0:e.index)?t:-1}get activePanel(){return this._activePanel}get animating(){return this._controller.state.animating}get holding(){return this._controller.state.holding}constructor(){this._flicking=null,this._controller=new Te,this._activePanel=null}init(e){return this._flicking=e,this._controller.init(e),this}destroy(){this._controller.destroy(),this._flicking=null,this._activePanel=null}enable(){return this._controller.enable(),this}disable(){return this._controller.disable(),this}release(){return this._controller.release(),this}updateAnimation(e,t,n){const i=this._controller.state,r=this._getPosition(e,null!=n?n:f.NONE);return i.targetPanel=e,this._controller.updateAnimation(r,t),this}stopAnimation(){return this._controller.state.targetPanel=null,this._controller.stopAnimation(),this}updatePosition(e){const t=k(this._flicking).camera,n=this._activePanel;n&&t.lookAt(t.clampToReachablePosition(n.position))}updateInput(){const e=k(this._flicking).camera;return this._controller.update(e.controlParams),this}resetActive(){return this._activePanel=null,this}moveToPanel(e,t){return p(this,arguments,function*(e,{duration:t,direction:n=f.NONE,axesEvent:i}){const r=this._getPosition(e,n);return this._triggerIndexChangeEvent(e,e.position,i,n),this._animateToPosition({position:r,duration:t,newActivePanel:e,axesEvent:i})})}setActive(t,n,i){var r;const s=k(this._flicking);this._activePanel=t,this._nextPanel=null,s.camera.updateAdaptiveHeight(),t!==n?s.trigger(new e.ComponentEvent(b.CHANGED,{index:t.index,panel:t,prevIndex:null!=(r=null==n?void 0:n.index)?r:-1,prevPanel:n,isTrusted:i,direction:n?G(n.position,t.position):f.NONE})):s.trigger(new e.ComponentEvent(b.RESTORED,{isTrusted:i}))}copy(e){this._flicking=e._flicking,this._activePanel=e._activePanel,this._controller=e._controller}_triggerIndexChangeEvent(t,n,i,r){var s;const o=k(this._flicking),a=t!==this._activePanel?b.WILL_CHANGE:b.WILL_RESTORE,l=o.camera,h=this._activePanel,c=new e.ComponentEvent(a,{index:t.index,panel:t,isTrusted:(null==i?void 0:i.isTrusted)||!1,direction:null!=r?r:G(null!=(s=null==h?void 0:h.position)?s:l.position,n)});if(this._nextPanel=t,o.trigger(c),c.isCanceled())throw new oe(N.STOP_CALLED_BY_USER,S.STOP_CALLED_BY_USER)}_animateToPosition(e){return p(this,arguments,function*({position:e,duration:t,newActivePanel:n,axesEvent:i}){const r=k(this._flicking);let s=t;Math.abs(s-e)<r.animationThreshold&&(s=0);const o=()=>this._controller.animateTo(e,s,i);return this._controller.state.targetPanel=n,s<=0?o():o().then(()=>p(this,null,function*(){r.initialized&&(yield r.renderer.render())})).catch(e=>{if(!(i&&e instanceof oe&&e.code===S.ANIMATION_INTERRUPTED))throw e})})}_getPosition(e,t=f.NONE){const n=k(this._flicking),i=n.camera;let r=e.position;const s=i.findNearestAnchor(r);if(e.removed||!s)throw new oe(N.POSITION_NOT_REACHABLE(e.position),S.POSITION_NOT_REACHABLE);if(i.canReach(e)){if(n.circularEnabled){const e=this._controller.position,n=i.rangeDiff,s=[r,r+n,r-n].filter(n=>t===f.NONE||(t===f.PREV?n<=e:n>=e));r=s.reduce((t,n)=>Math.abs(e-n)<Math.abs(e-t)?n:t,1/0)}}else r=s.position,e=s.panel;return r}};class Re extends be{get stopAtEdge(){return this._stopAtEdge}set stopAtEdge(e){this._stopAtEdge=e}constructor(e={}){super();const{stopAtEdge:t=!0}=e;this._stopAtEdge=t}updatePosition(e){const t=k(this._flicking).camera,n=this._activePanel;if(n){const i=n.range,r=i.min+(i.max-i.min)*e;t.lookAt(t.clampToReachablePosition(r))}}moveToPosition(e,t,n){const i=k(this._flicking).camera,r=i.clampToReachablePosition(e),s=i.findAnchorIncludePosition(r);if(!s)return Promise.reject(new oe(N.POSITION_NOT_REACHABLE(e),S.POSITION_NOT_REACHABLE));const o=s.panel;return o!==this._activePanel&&this._triggerIndexChangeEvent(o,e,n),this._animateToPosition({position:this._stopAtEdge?r:e,duration:t,newActivePanel:o,axesEvent:n})}}class Ie extends be{get count(){return this._count}set count(e){this._count=e}constructor(e={}){super();const{count:t=1/0}=e;this._count=t}moveToPosition(e,t,n){const i=k(this._flicking),r=i.camera,s=r.findActiveAnchor(),o=r.findNearestAnchor(r.position),a=this._controller.state;if(!s||!o)return Promise.reject(new oe(N.POSITION_NOT_REACHABLE(e),S.POSITION_NOT_REACHABLE));const l=this._calcSnapThreshold(i.threshold,e,s),h=i.animating?a.delta:e-r.position,c=Math.abs(h),d=n&&0!==n.delta[_e]?Math.abs(n.delta[_e]):c;let u;if(d>=l&&d>0)u=this._findSnappedAnchor(e,o);else{if(!(c>=i.threshold&&c>0))return this.moveToPanel(o.panel,{duration:t,axesEvent:n});u=this._findAdjacentAnchor(e,h,o)}return this._triggerIndexChangeEvent(u.panel,e,n),this._animateToPosition({position:r.clampToReachablePosition(u.position),duration:t,newActivePanel:u.panel,axesEvent:n})}_findSnappedAnchor(e,t){const n=k(this._flicking),i=n.camera,r=this._count,s=i.position,o=i.clampToReachablePosition(e),a=i.findAnchorIncludePosition(o);if(!t||!a)throw new oe(N.POSITION_NOT_REACHABLE(e),S.POSITION_NOT_REACHABLE);if(!Number.isFinite(r))return a;const l=n.panelCount,h=i.anchorPoints;let c=Math.sign(e-s)*Math.floor(Math.abs(e-s)/i.rangeDiff);e>s&&a.index<t.index||a.position>t.position&&a.index===t.index?c+=1:(e<s&&a.index>t.index||a.position<t.position&&a.index===t.index)&&(c-=1);const d=c*l,u=a.index+d;if(Math.abs(u-t.index)<=r){const e=h[a.index];return new I({index:e.index,position:e.position+c*i.rangeDiff,panel:e.panel})}if(n.circularEnabled){const n=h[Q(t.index+Math.sign(e-s)*r,l)];let o=Math.floor(r/l);return e>s&&n.index<t.index?o+=1:e<s&&n.index>t.index&&(o-=1),new I({index:n.index,position:n.position+o*i.rangeDiff,panel:n.panel})}return h[w(t.index+Math.sign(e-s)*r,0,h.length-1)]}_findAdjacentAnchor(e,t,n){var i;const r=k(this._flicking).camera;if(r.circularEnabled){const t=r.findAnchorIncludePosition(e);if(t&&t.position!==n.position)return t}return null!=(i=t>0?r.getNextAnchor(n):r.getPrevAnchor(n))?i:n}_calcSnapThreshold(e,t,n){const i=t>n.position,r=n.panel,s=r.size,o=r.alignPosition;return Math.max(e,i?s-o+r.margin.next:o+r.margin.prev)}}class Ae extends be{constructor(e={}){super(),this.setActive=(e,t,n)=>{super.setActive(e,t,n),this.updateInput()};const{count:t=1}=e;this._count=t,this._resetIndexRange()}get count(){return this._count}set count(e){this._count=e}destroy(){super.destroy(),this._resetIndexRange()}updateInput(){var e;const t=k(this._flicking),n=t.camera,i=t.renderer,r=this._controller,s=n.controlParams,o=this._count,a=r.state.animating?null==(e=n.findNearestAnchor(n.position))?void 0:e.panel:this._activePanel;if(!a)return r.update(s),this._resetIndexRange(),this;const l=s.range,h=a.position,c=a.index,d=i.panelCount;let u=c-o,g=c+o;u<0&&(u=t.circularEnabled?B((u+1)%d-1,d):w(u,0,d-1)),g>=d&&(g=t.circularEnabled?g%d:w(g,0,d-1));const _=i.panels[u],p=i.panels[g];let m=Math.max(_.position,l.min),f=Math.min(p.position,l.max);return m>h&&(m-=n.rangeDiff),f<h&&(f+=n.rangeDiff),s.range={min:m,max:f},s.circular&&(s.position<m&&(s.position+=n.rangeDiff),s.position>f&&(s.position-=n.rangeDiff)),s.circular=!1,r.update(s),this._indexRange={min:_.index,max:p.index},this}moveToPanel(e,t){return p(this,null,function*(){const n=k(this._flicking).camera;return this._controller.update(n.controlParams),(i=Ae.prototype,r=this,s="moveToPanel",c(a(i),s,r)).call(this,e,t);var i,r,s})}moveToPosition(e,t,n){var i;const r=k(this._flicking),s=r.camera,o=null!=(i=this._nextPanel)?i:this._activePanel,a=this._controller.range,l=this._indexRange,h=s.range,c=this._controller.state,d=w(s.clampToReachablePosition(e),a[0],a[1]),u=s.findAnchorIncludePosition(d);if(!u||!o)return Promise.reject(new oe(N.POSITION_NOT_REACHABLE(e),S.POSITION_NOT_REACHABLE));const g=o.position,_=r.animating?c.delta:e-s.position,p=Math.abs(_)>=r.threshold,m=e>g?s.getNextAnchor(u):s.getPrevAnchor(u);let f,v;const E=s.anchorPoints,P=E[0],x=E[E.length-1],O=e<h.min&&J(P.panel.index,l.min,l.max),T=e>h.max&&J(x.panel.index,l.min,l.max),b=m&&(l.min<=l.max?J(m.index,l.min,l.max):m.index>=l.min||m.index<=l.max);if(O||T){const t=e<h.min?P:x;v=t.panel,f=t.position}else if(p&&u.position!==o.position)v=u.panel,f=u.position;else{if(!p||!b){const i=s.findNearestAnchor(s.position);return i?this.moveToPanel(i.panel,{duration:t,axesEvent:n}):Promise.reject(new oe(N.POSITION_NOT_REACHABLE(e),S.POSITION_NOT_REACHABLE))}v=m.panel,f=m.position}return this._triggerIndexChangeEvent(v,e,n),this._animateToPosition({position:f,duration:t,newActivePanel:v,axesEvent:n})}_resetIndexRange(){this._indexRange={min:0,max:0}}}const Se=Object.freeze(Object.defineProperty({__proto__:null,AnimatingState:fe,AxesController:Te,Control:be,DisabledState:ve,DraggingState:Ee,FreeControl:Re,HoldingState:Pe,IdleState:xe,SnapControl:Ie,State:me,StateMachine:Oe,StrictControl:Ae},Symbol.toStringTag,{value:"Module"}));class Ne{constructor(e){this._onResizeWrapper=()=>{this._onResize([])},this._onResize=e=>{const t=this._flicking,n=t.resizeDebounce,i=t.maxResizeDebounce,r=t.element;if(e.find(e=>e.target===t.element)&&1===e.length){const e={width:t.viewport.width,height:t.viewport.height},n={width:te({el:r,horizontal:!0,useFractionalSize:this._flicking.useFractionalSize,useOffset:!1,style:K(r)}),height:te({el:r,horizontal:!1,useFractionalSize:this._flicking.useFractionalSize,useOffset:!1,style:K(r)})};if(e.height===n.height&&e.width===n.width)return}n<=0?t.resize():(this._maxResizeDebounceTimer<=0&&i>0&&i>=n&&(this._maxResizeDebounceTimer=window.setTimeout(this._doScheduledResize,i)),this._resizeTimer>0&&(clearTimeout(this._resizeTimer),this._resizeTimer=0),this._resizeTimer=window.setTimeout(this._doScheduledResize,n))},this._doScheduledResize=()=>{clearTimeout(this._resizeTimer),clearTimeout(this._maxResizeDebounceTimer),this._maxResizeDebounceTimer=-1,this._resizeTimer=-1,this._flicking.resize()},this._skipFirstResize=(()=>{let e=!0;return t=>{e?e=!1:this._onResize(t)}})(),this._flicking=e,this._enabled=!1,this._resizeObserver=null,this._resizeTimer=-1,this._maxResizeDebounceTimer=-1}get enabled(){return this._enabled}enable(){const e=this._flicking,t=e.viewport;if(this._enabled&&this.disable(),e.useResizeObserver&&window.ResizeObserver){const n=0!==t.width||0!==t.height?new ResizeObserver(this._skipFirstResize):new ResizeObserver(this._onResize);this._resizeObserver=n,this.observe(e.viewport.element),e.observePanelResize&&this.observePanels()}else window.addEventListener("resize",this._onResizeWrapper);return this._enabled=!0,this}observePanels(){return this._flicking.panels.forEach(e=>{this.observe(e.element)}),this}unobservePanels(){return this._flicking.panels.forEach(e=>{this.unobserve(e.element)}),this}observe(e){const t=this._resizeObserver;return t?(t.observe(e),this):this}unobserve(e){const t=this._resizeObserver;return t?(t.unobserve(e),this._flicking.observePanelResize&&this.unobservePanels(),this):this}disable(){if(!this._enabled)return this;const e=this._resizeObserver;return e?(e.disconnect(),this._resizeObserver=null):window.removeEventListener("resize",this._onResizeWrapper),this._enabled=!1,this}}class Ce{get element(){return this._element}get rendered(){return this._rendered}constructor(e){this._element=e,this._rendered=!0}show(e){const t=this.element,n=e.camera.element;t.parentElement!==n&&(n.appendChild(t),this._rendered=!0)}hide(e){const t=this.element,n=e.camera.element;t.parentElement===n&&(n.removeChild(t),this._rendered=!1)}}class ze{get element(){return this._virtualElement.nativeElement}get rendered(){return this._virtualElement.visible}get _virtualElement(){const e=this._flicking,t=this._panel.elementIndex;return e.virtual.elements[t]}constructor(e){this._flicking=e}init(e){this._panel=e}show(){}hide(){}}class ye{get element(){return this._el}get width(){return this._width-this._padding.left-this._padding.right}get height(){return this._height-this._padding.top-this._padding.bottom}get padding(){return this._padding}constructor(e,t){this._flicking=e,this._el=t,this._width=0,this._height=0,this._padding={left:0,right:0,top:0,bottom:0},this._isBorderBoxSizing=!1}setSize(e){const{width:t,height:n}=e,i=this._el,r=this._padding,s=this._isBorderBoxSizing;if(null!=t)if(U(t))i.style.width=t;else{const e=s?t+r.left+r.right:t;i.style.width=`${e}px`}if(null!=n)if(U(n))i.style.height=n;else{const e=s?n+r.top+r.bottom:n;i.style.height=`${e}px`}this.resize()}resize(){const e=this._el,t=K(e),{useFractionalSize:n}=this._flicking;this._width=te({el:e,horizontal:!0,useFractionalSize:n,useOffset:!1,style:t}),this._height=te({el:e,horizontal:!1,useFractionalSize:n,useOffset:!1,style:t}),this._padding={left:t.paddingLeft?parseFloat(t.paddingLeft):0,right:t.paddingRight?parseFloat(t.paddingRight):0,top:t.paddingTop?parseFloat(t.paddingTop):0,bottom:t.paddingBottom?parseFloat(t.paddingBottom):0},this._isBorderBoxSizing="border-box"===t.boxSizing}}class we{get elements(){return this._elements}get renderPanel(){return this._renderPanel}get initialPanelCount(){return this._initialPanelCount}get cache(){return this._cache}get panelClass(){return this._panelClass}set renderPanel(e){this._renderPanel=e,this._flicking.renderer.panels.forEach(e=>e.uncacheRenderResult())}set cache(e){this._cache=e}set panelClass(e){this._panelClass=e}constructor(e,t){var n,i,r,s;this._flicking=e,this._renderPanel=null!=(n=null==t?void 0:t.renderPanel)?n:()=>"",this._initialPanelCount=null!=(i=null==t?void 0:t.initialPanelCount)?i:-1,this._cache=null!=(r=null==t?void 0:t.cache)&&r,this._panelClass=null!=(s=null==t?void 0:t.panelClass)?s:E.DEFAULT_VIRTUAL,this._elements=[]}init(){const e=this._flicking;if(!e.virtualEnabled)return;e.externalRenderer||e.renderExternal||this._initVirtualElements();const t=e.camera.children;this._elements=t.map(e=>({nativeElement:e,visible:!0}))}show(e){const t=this._elements[e],n=t.nativeElement;t.visible=!0,n.style.display&&(n.style.display="")}hide(e){const t=this._elements[e],n=t.nativeElement;t.visible=!1,n.style.display="none"}append(e=1){const t=this._flicking;return this.insert(t.panels.length,e)}prepend(e=1){return this.insert(0,e)}insert(e,t=1){if(t<=0)return[];return this._flicking.renderer.batchInsert({index:e,elements:ee(t),hasDOMInElements:!1})}remove(e,t){if(t<=0)return[];return this._flicking.renderer.batchRemove({index:e,deleteCount:t,hasDOMInElements:!1})}_initVirtualElements(){const e=this._flicking,t=e.camera.element,n=e.panelsPerView,i=document.createDocumentFragment();ee(n+1).map(e=>{const t=document.createElement("div");return t.className=this._panelClass,t.dataset.elementIndex=e.toString(),t}).forEach(e=>{i.appendChild(e)}),t.appendChild(i)}}let ke=class{get panels(){return this._panels}get rendering(){return this._rendering}get panelCount(){return this._panels.length}get strategy(){return this._strategy}get align(){return this._align}set align(e){this._align=e;const t=V(e);this._panels.forEach(e=>{e.align=t})}constructor(e){const{align:t=m.CENTER,strategy:n}=e;this._flicking=null,this._panels=[],this._rendering=!1,this._align=t,this._strategy=n}init(e){return this._flicking=e,this._collectPanels(),this}destroy(){this._flicking=null,this._panels=[]}getPanel(e){return this._panels[e]||null}forceRenderAllPanels(){return this._panels.forEach(e=>e.markForShow()),Promise.resolve()}getRenderedPanels(){return k(this._flicking).renderer.panels.filter(e=>e.rendered)}updatePanelSize(){const e=k(this._flicking),t=this._panels;if(t.length<=0)return this;if(e.panelsPerView>0){const e=t[0];e.resize(),this._updatePanelSizeByGrid(e,t)}else e.panels.forEach(e=>e.resize());return this}batchInsert(...e){const t=this.batchInsertDefer(...e);return t.length<=0?[]:(this.updateAfterPanelChange(t,[]),t)}batchInsertDefer(...e){const t=this._panels,n=k(this._flicking),i=t[0],r=V(this._align);return e.reduce((e,s)=>{var o;const a=B(s.index,t.length),l=t.slice(a),h=s.elements.map((e,t)=>this._createPanel(e,{index:a+t,align:r,flicking:n}));if(t.splice(a,0,...h),s.hasDOMInElements&&this._insertPanelElements(h,null!=(o=l[0])?o:null),n.panelsPerView>0){const e=i||h[0].resize();this._updatePanelSizeByGrid(e,h)}else h.forEach(e=>e.resize());return l.forEach(e=>{e.increaseIndex(h.length),e.updatePosition()}),[...e,...h]},[])}batchRemove(...e){const t=this.batchRemoveDefer(...e);return t.length<=0?[]:(this.updateAfterPanelChange([],t),t)}batchRemoveDefer(...e){const t=this._panels,n=k(this._flicking),{control:i}=n,r=i.activePanel;return e.reduce((e,n)=>{const{index:s,deleteCount:o}=n,a=B(s,t.length),l=t.slice(a+o),h=t.splice(a,o);return h.length<=0?[]:(l.forEach(e=>{e.decreaseIndex(h.length),e.updatePosition()}),n.hasDOMInElements&&this._removePanelElements(h),h.forEach(e=>e.destroy()),W(h,r)&&i.resetActive(),[...e,...h])},[])}updateAfterPanelChange(t,n){var i;const r=k(this._flicking),{camera:s,control:o}=r,a=this._panels,l=o.activePanel;if(this._updateCameraAndControl(),r.autoResize&&r.useResizeObserver&&(t.forEach(e=>{e.element&&r.autoResizer.observe(e.element)}),n.forEach(e=>{e.element&&r.autoResizer.unobserve(e.element)})),this.render(),!r.animating)if(!l||l.removed)if(a.length<=0)s.lookAt(0);else{let e=null!=(i=null==l?void 0:l.index)?i:0;e>a.length-1&&(e=a.length-1),o.moveToPanel(a[e],{duration:0}).catch(()=>{})}else o.moveToPanel(l,{duration:0}).catch(()=>{});r.camera.updateOffset(),(t.length>0||n.length>0)&&(r.trigger(new e.ComponentEvent(b.PANEL_CHANGE,{added:t,removed:n})),this.checkPanelContentsReady([...t,...n]))}checkPanelContentsReady(e){const t=k(this._flicking),i=t.resizeOnContentsReady,r=this._panels;if(!i||t.virtualEnabled)return;if((e=e.filter(e=>(e=>e.element&&!!e.element.querySelector("img, video"))(e))).length<=0)return;const s=new n;e.forEach(e=>{e.loading=!0}),s.on("readyElement",n=>{if(!this._flicking)return void s.destroy();const i=e[n.index],o=t.camera,a=t.control,l=a.activePanel?o.getProgressInPanel(a.activePanel):0;i.loading=!1,i.resize(),r.slice(i.index+1).forEach(e=>e.updatePosition()),t.initialized&&(o.updateRange(),o.updateOffset(),o.updateAnchors(),a.animating||(a.updatePosition(l),a.updateInput()))}),s.on("preReady",e=>{this._flicking&&this.render(),e.readyCount===e.totalCount&&s.destroy()}),s.on("ready",()=>{this._flicking&&this.render(),s.destroy()}),s.check(e.map(e=>e.element))}_updateCameraAndControl(){const e=k(this._flicking),{camera:t,control:n}=e;t.updateRange(),t.updateOffset(),t.updateAnchors(),t.resetNeedPanelHistory(),n.updateInput()}_showOnlyVisiblePanels(e){const t=e.renderer.panels,n=e.camera.visiblePanels.reduce((e,t)=>(e[t.index]=!0,e),{});t.forEach(t=>{t.index in n||t.loading?t.markForShow():e.holding||t.markForHide()})}_updatePanelSizeByGrid(e,t){const n=k(this._flicking),i=n.panelsPerView;if(i<=0)throw new oe(N.WRONG_OPTION("panelsPerView",i),S.WRONG_OPTION);if(t.length<=0)return;const r=(n.camera.size-(e.margin.prev+e.margin.next)*(i-1))/i,s=n.horizontal?{width:r}:{height:r},o=g({size:r,margin:e.margin},!n.horizontal&&{height:e.height});n.noPanelStyleOverride||this._strategy.updatePanelSizes(n,s),n.panels.forEach(e=>e.resize(o))}_removeAllChildsFromCamera(){const e=k(this._flicking).camera.element;for(;e.firstChild;)e.removeChild(e.firstChild)}_insertPanelElements(e,t=null){const n=k(this._flicking).camera.element,i=(null==t?void 0:t.element)||null,r=document.createDocumentFragment();e.forEach(e=>r.appendChild(e.element)),n.insertBefore(r,i)}_removePanelElements(e){const t=k(this._flicking).camera.element;e.forEach(e=>{t.removeChild(e.element)})}_afterRender(){const e=k(this._flicking);if(e.camera.applyTransform(),e.useCSSOrder){const t=e.renderer.panels.filter(e=>e.rendered);this._strategy.getRenderingIndexesByOrder(e).forEach((e,n)=>{t[e].element&&(t[e].element.style.order=`${n}`)})}}};class De extends ke{render(){return p(this,null,function*(){const e=k(this._flicking),t=this._strategy;t.updateRenderingPanels(e),t.renderPanels(e),this._resetPanelElementOrder(),this._afterRender()})}_collectPanels(){const e=k(this._flicking),t=e.camera;this._removeAllTextNodes(),this._panels=this._strategy.collectPanels(e,t.children)}_createPanel(e,t){return this._strategy.createPanel(e,t)}_resetPanelElementOrder(){const e=k(this._flicking),t=e.camera.element;let n=[];n=e.useCSSOrder?this.getRenderedPanels().map(e=>e.element).reverse():this._strategy.getRenderingElementsByOrder(e).reverse(),n.forEach((e,i)=>{const r=n[i-1]?n[i-1]:null;e.nextElementSibling!==r&&t.insertBefore(e,r)})}_removeAllTextNodes(){const e=k(this._flicking).camera.element;D(e.childNodes).forEach(t=>{t.nodeType===Node.TEXT_NODE&&e.removeChild(t)})}}class Le{get element(){return this._elProvider.element}get elementProvider(){return this._elProvider}get index(){return this._index}get position(){return this._pos+this._alignPos}get size(){return this._size}get sizeIncludingMargin(){return this._size+this._margin.prev+this._margin.next}get height(){return this._height}get margin(){return this._margin}get alignPosition(){return this._alignPos}get removed(){return this._removed}get rendered(){return this._rendered}get loading(){return this._loading}get range(){return{min:this._pos,max:this._pos+this._size}}get toggled(){return this._toggled}get toggleDirection(){return this._toggleDirection}get offset(){const e=this._toggleDirection,t=this._flicking.camera.rangeDiff;return e!==f.NONE&&this._toggled?e===f.PREV?-t:t:0}get progress(){const e=this._flicking;return this.index-e.camera.progress}get outsetProgress(){const e=this.position+this.offset,t=this._alignPos,n=this._flicking.camera,i=n.position;if(i===e)return 0;if(i<e){const r=e+(n.size-n.alignPosition)+t;return-Z(i,e,r)}{const r=e-(n.alignPosition+this._size-t);return 1-Z(i,r,e)}}get visibleRatio(){const e=this.range,t=this._size,n=this.offset,i=this._flicking.camera.visibleRange,r=e.min+n,s=e.max+n;if(s<=i.min||r>=i.max)return 0;let o=t;return i.min>r&&(o-=i.min-r),i.max<s&&(o-=s-i.max),o/t}set loading(e){this._loading=e}get align(){return this._align}set align(e){this._align=e,this._updateAlignPos()}constructor(e){const{index:t,align:n,flicking:i,elementProvider:r}=e;this._index=t,this._flicking=i,this._elProvider=r,this._align=n,this._removed=!1,this._rendered=!0,this._loading=!1,this._resetInternalStates()}markForShow(){this._rendered=!0,this._elProvider.show(this._flicking)}markForHide(){this._rendered=!1,this._elProvider.hide(this._flicking)}resize(e){var t;const n=this.element,i=this._flicking,{horizontal:r,useFractionalSize:s}=i;if(!n)return this;if(e)this._size=e.size,this._margin=g({},e.margin),this._height=null!=(t=e.height)?t:te({el:n,horizontal:!1,useFractionalSize:s,useOffset:!0,style:K(n)});else{const e=K(n);this._size=te({el:n,horizontal:r,useFractionalSize:s,useOffset:!0,style:e}),this._margin=r?{prev:parseFloat(e.marginLeft||"0"),next:parseFloat(e.marginRight||"0")}:{prev:parseFloat(e.marginTop||"0"),next:parseFloat(e.marginBottom||"0")},this._height=r?te({el:n,horizontal:!1,useFractionalSize:s,useOffset:!0,style:e}):this._size}return this.updatePosition(),this._updateAlignPos(),this}setSize(e){return q(this.element,e),this}contains(e){var t;return!!(null==(t=this.element)?void 0:t.contains(e))}destroy(){this._resetInternalStates(),this._removed=!0}includePosition(e,t=!1){return this.includeRange(e,e,t)}includeRange(e,t,n=!1){const i=this._margin,r=this.range;return n&&(r.min-=i.prev,r.max+=i.next),t>=r.min&&e<=r.max}isVisibleOnRange(e,t){const n=this.range;return t>n.min&&e<n.max}focus(e){return this._flicking.moveTo(this._index,e)}prev(){const e=this._index,t=this._flicking,n=t.renderer,i=n.panelCount;return 1===i?null:t.circularEnabled?n.getPanel(0===e?i-1:e-1):n.getPanel(e-1)}next(){const e=this._index,t=this._flicking,n=t.renderer,i=n.panelCount;return 1===i?null:t.circularEnabled?n.getPanel(e===i-1?0:e+1):n.getPanel(e+1)}increaseIndex(e){return this._index+=Math.max(e,0),this}decreaseIndex(e){return this._index-=Math.max(e,0),this}updatePosition(){const e=this._flicking.renderer.panels[this._index-1];return this._pos=e?e.range.max+e.margin.next+this._margin.prev:this._margin.prev,this}toggle(e,t){const n=this._toggleDirection,i=this._togglePosition;if(n===f.NONE||t===e)return!1;const r=this._toggled;return t>e?i>=e&&i<=t&&(this._toggled=n===f.NEXT):i<=e&&i>=t&&(this._toggled=n!==f.NEXT),r!==this._toggled}updateCircularToggleDirection(){const e=this._flicking;if(!e.circularEnabled)return this._toggleDirection=f.NONE,this._togglePosition=0,this._toggled=!1,this;const t=e.camera,n=t.range,i=t.alignPosition,r=t.visibleRange,s=r.max-r.min,o=n.min-i,a=n.max-i+s,l=this.includeRange(a-s,a,!1),h=this.includeRange(o,o+s,!1);return this._toggled=!1,l?(this._toggleDirection=f.PREV,this._togglePosition=this.range.max+n.min-n.max+i,this.toggle(1/0,t.position)):h?(this._toggleDirection=f.NEXT,this._togglePosition=this.range.min+n.max-s+i,this.toggle(-1/0,t.position)):(this._toggleDirection=f.NONE,this._togglePosition=0),this}_updateAlignPos(){this._alignPos=L(this._align,this._size)}_resetInternalStates(){this._size=0,this._pos=0,this._margin={prev:0,next:0},this._height=0,this._alignPos=0,this._toggled=!1,this._togglePosition=0,this._toggleDirection=f.NONE}}class Me{constructor(e){const{providerCtor:t}=e;this._providerCtor=t}renderPanels(){}getRenderingIndexesByOrder(e){const t=e.renderer.panels.filter(e=>e.rendered),n=t.filter(e=>e.toggled&&e.toggleDirection===f.PREV),i=t.filter(e=>e.toggled&&e.toggleDirection===f.NEXT);return[...n,...t.filter(e=>!e.toggled),...i].map(e=>e.index)}getRenderingElementsByOrder(e){const t=e.panels;return this.getRenderingIndexesByOrder(e).map(e=>t[e].element)}updateRenderingPanels(e){e.renderOnlyVisible?this._showOnlyVisiblePanels(e):e.panels.forEach(e=>e.markForShow())}collectPanels(e,t){const n=V(e.renderer.align);return t.map((t,i)=>new Le({index:i,elementProvider:new this._providerCtor(t),align:n,flicking:e}))}createPanel(e,t){return new Le(_(g({},t),{elementProvider:new this._providerCtor(e)}))}updatePanelSizes(e,t){e.panels.forEach(e=>e.setSize(t))}_showOnlyVisiblePanels(e){const t=e.renderer.panels,n=e.camera,i=n.visiblePanels.reduce((e,t)=>(e[t.index]=!0,e),{});t.forEach(t=>{t.index in i||t.loading?t.markForShow():e.holding||t.markForHide()}),n.updateOffset()}}class He extends Le{get element(){return this._elProvider.element}get cachedInnerHTML(){return this._cachedInnerHTML}get elementIndex(){const e=this._flicking,t=e.panelsPerView+1,n=e.panelCount;let i=this._index;return this._toggled&&(i=this._toggleDirection===f.NEXT?i+n:i-n),Q(i,t)}constructor(e){super(e),e.elementProvider.init(this),this._elProvider=e.elementProvider,this._cachedInnerHTML=null}cacheRenderResult(e){this._cachedInnerHTML=e}uncacheRenderResult(){this._cachedInnerHTML=null}render(){const e=this._flicking,{renderPanel:t,cache:n}=e.virtual,i=this._elProvider.element,r=this._cachedInnerHTML||t(this,this._index);r!==i.innerHTML&&(i.innerHTML=r,n&&this.cacheRenderResult(r))}increaseIndex(e){return this.uncacheRenderResult(),super.increaseIndex(e)}decreaseIndex(e){return this.uncacheRenderResult(),super.decreaseIndex(e)}}class Fe{renderPanels(e){const t=e.virtual,n=e.visiblePanels,i=ee(e.panelsPerView+1);n.forEach(e=>{const n=e.elementIndex;e.render(),t.show(n),i[n]=-1}),i.filter(e=>e>=0).forEach(e=>{t.hide(e)})}getRenderingIndexesByOrder(e){const t=e.virtual,n=[...e.visiblePanels].filter(e=>e.rendered).sort((e,t)=>e.position+e.offset-(t.position+t.offset));if(n.length<=0)return t.elements.map((e,t)=>t);return[...n.map(e=>e.elementIndex),...t.elements.map((e,t)=>_(g({},e),{idx:t})).filter(e=>!e.visible).map(e=>e.idx)]}getRenderingElementsByOrder(e){const t=e.virtual.elements;return this.getRenderingIndexesByOrder(e).map(e=>t[e].nativeElement)}updateRenderingPanels(e){const t=e.renderer.panels,n=e.camera,i=n.visiblePanels.reduce((e,t)=>(e[t.index]=!0,e),{});t.forEach(e=>{e.index in i||e.loading?e.markForShow():e.markForHide()}),n.updateOffset()}collectPanels(e){const t=V(e.renderer.align);return ee(e.virtual.initialPanelCount).map(n=>new He({index:n,elementProvider:new ze(e),align:t,flicking:e}))}createPanel(e,t){return new He(_(g({},t),{elementProvider:new ze(t.flicking)}))}updatePanelSizes(e,t){e.virtual.elements.forEach(e=>{q(e.nativeElement,t)}),e.panels.forEach(e=>e.setSize(t))}}const Ve=Object.freeze(Object.defineProperty({__proto__:null,ExternalRenderer:class extends ke{_removePanelElements(e){}_removeAllChildsFromCamera(){}},NormalRenderingStrategy:Me,Renderer:ke,VanillaRenderer:De,VirtualRenderingStrategy:Fe},Symbol.toStringTag,{value:"Module"})),Ge=class extends e{constructor(e,t={}){super(),this._scheduleResize=!1;const{align:n=m.CENTER,defaultIndex:i=0,horizontal:r=!0,circular:s=!1,circularFallback:o=P.LINEAR,bound:a=!1,adaptive:l=!1,panelsPerView:h=-1,noPanelStyleOverride:c=!1,resizeOnContentsReady:u=!1,nested:g=!1,needPanelThreshold:_=0,preventEventsBeforeInit:p=!0,deceleration:f=.0075,duration:v=500,easing:E=e=>1-d(1-e,3),inputType:x=["mouse","touch"],moveType:O="snap",threshold:T=40,dragThreshold:b=1,interruptable:R=!0,bounce:I="20%",iOSEdgeSwipeThreshold:A=30,preventClickOnDrag:S=!0,preventDefaultOnDrag:N=!1,disableOnInit:C=!1,changeOnHold:y=!1,renderOnlyVisible:w=!1,virtual:k=null,autoInit:D=!0,autoResize:L=!0,useResizeObserver:M=!0,resizeDebounce:H=0,observePanelResize:F=!1,maxResizeDebounce:V=100,useFractionalSize:G=!1,externalRenderer:j=null,renderExternal:B=null,optimizeSizeUpdate:W=!1,animationThreshold:U=.5,useCSSOrder:$=!1}=t;this._initialized=!1,this._plugins=[],this._isResizing=!1,this._align=n,this._defaultIndex=i,this._horizontal=r,this._circular=s,this._circularFallback=o,this._bound=a,this._adaptive=l,this._panelsPerView=h,this._noPanelStyleOverride=c,this._resizeOnContentsReady=u,this._nested=g,this._virtual=k,this._needPanelThreshold=_,this._preventEventsBeforeInit=p,this._deceleration=f,this._duration=v,this._easing=E,this._inputType=x,this._moveType=O,this._threshold=T,this._dragThreshold=b,this._interruptable=R,this._bounce=I,this._iOSEdgeSwipeThreshold=A,this._preventClickOnDrag=S,this._preventDefaultOnDrag=N,this._disableOnInit=C,this._changeOnHold=y,this._renderOnlyVisible=w,this._autoInit=D,this._autoResize=L,this._useResizeObserver=M,this._resizeDebounce=H,this._maxResizeDebounce=V,this._observePanelResize=F,this._useFractionalSize=G,this._externalRenderer=j,this._renderExternal=B,this._optimizeSizeUpdate=W,this._animationThreshold=U,this._useCSSOrder=$,this._viewport=new ye(this,z(e)),this._autoResizer=new Ne(this),this._renderer=this._createRenderer(),this._camera=this._createCamera(),this._control=this._createControl(),this._virtualManager=new we(this,k),this._autoInit&&this.init()}get control(){return this._control}get camera(){return this._camera}get renderer(){return this._renderer}get viewport(){return this._viewport}get autoResizer(){return this._autoResizer}get initialized(){return this._initialized}get circularEnabled(){return this._camera.circularEnabled}get virtualEnabled(){return this._panelsPerView>0&&null!=this._virtual}get index(){return this._control.activeIndex}get element(){return this._viewport.element}get currentPanel(){return this._control.activePanel}get panels(){return this._renderer.panels}get panelCount(){return this._renderer.panelCount}get visiblePanels(){return this._camera.visiblePanels}get animating(){return this._control.animating}get holding(){return this._control.holding}get activePlugins(){return this._plugins}get align(){return this._align}get defaultIndex(){return this._defaultIndex}get horizontal(){return this._horizontal}get circular(){return this._circular}get circularFallback(){return this._circularFallback}get bound(){return this._bound}get adaptive(){return this._adaptive}get panelsPerView(){return this._panelsPerView}get noPanelStyleOverride(){return this._noPanelStyleOverride}get resizeOnContentsReady(){return this._resizeOnContentsReady}get nested(){return this._nested}get needPanelThreshold(){return this._needPanelThreshold}get preventEventsBeforeInit(){return this._preventEventsBeforeInit}get deceleration(){return this._deceleration}get easing(){return this._easing}get duration(){return this._duration}get inputType(){return this._inputType}get moveType(){return this._moveType}get threshold(){return this._threshold}get dragThreshold(){return this._dragThreshold}get animationThreshold(){return this._animationThreshold}get useCSSOrder(){return this._useCSSOrder}get interruptable(){return this._interruptable}get bounce(){return this._bounce}get iOSEdgeSwipeThreshold(){return this._iOSEdgeSwipeThreshold}get preventClickOnDrag(){return this._preventClickOnDrag}get preventDefaultOnDrag(){return this._preventDefaultOnDrag}get disableOnInit(){return this._disableOnInit}get changeOnHold(){return this._changeOnHold}get renderOnlyVisible(){return this._renderOnlyVisible}get virtual(){return this._virtualManager}get autoInit(){return this._autoInit}get autoResize(){return this._autoResize}get useResizeObserver(){return this._useResizeObserver}get observePanelResize(){return this._observePanelResize}get resizeDebounce(){return this._resizeDebounce}get maxResizeDebounce(){return this._maxResizeDebounce}get useFractionalSize(){return this._useFractionalSize}get externalRenderer(){return this._externalRenderer}get renderExternal(){return this._renderExternal}get optimizeSizeUpdate(){return this._optimizeSizeUpdate}set align(e){this._align=e,this._renderer.align=e,this._camera.align=e,this.resize()}set defaultIndex(e){this._defaultIndex=e}set horizontal(e){this._horizontal=e,this._control.controller.updateDirection(),this.resize()}set circular(e){this._circular=e,this.resize()}set bound(e){this._bound=e,this.resize()}set adaptive(e){this._adaptive=e,this.resize()}set panelsPerView(e){this._panelsPerView=e,this.resize()}set noPanelStyleOverride(e){this._noPanelStyleOverride=e,this.resize()}set resizeOnContentsReady(e){this._resizeOnContentsReady=e,e&&this._renderer.checkPanelContentsReady(this._renderer.panels)}set nested(e){this._nested=e;const t=this._control.controller.axes;t&&(t.options.nested=e)}set needPanelThreshold(e){this._needPanelThreshold=e}set preventEventsBeforeInit(e){this._preventEventsBeforeInit=e}set deceleration(e){this._deceleration=e;const t=this._control.controller.axes;t&&(t.options.deceleration=e)}set easing(e){this._easing=e;const t=this._control.controller.axes;t&&(t.options.easing=e)}set duration(e){this._duration=e}set inputType(e){this._inputType=e;const t=this._control.controller.panInput;t&&(t.options.inputType=e)}set moveType(e){this._moveType=e;const t=this._control,n=this._createControl(),i=t.activePanel;n.copy(t);const r=i?this._camera.getProgressInPanel(i):0;this._control=n,this._control.updatePosition(r),this._control.updateInput()}set threshold(e){this._threshold=e}set dragThreshold(e){this._dragThreshold=e;const t=this._control.controller.panInput;t&&(t.options.threshold=e)}set animationThreshold(e){this._animationThreshold=e}set useCSSOrder(e){this._useCSSOrder=e}set interruptable(e){this._interruptable=e;const t=this._control.controller.axes;t&&(t.options.interruptable=e)}set bounce(e){this._bounce=e,this._control.updateInput()}set iOSEdgeSwipeThreshold(e){this._iOSEdgeSwipeThreshold=e;const t=this._control.controller.panInput;t&&(t.options.iOSEdgeSwipeThreshold=e)}set preventClickOnDrag(e){if(e===this._preventClickOnDrag)return;const t=this._control.controller;e?t.addPreventClickHandler():t.removePreventClickHandler(),this._preventClickOnDrag=e}set preventDefaultOnDrag(e){this._preventDefaultOnDrag=e;const t=this._control.controller.panInput;t&&(t.options.preventDefaultOnDrag=e)}set disableOnInit(e){this._disableOnInit=e}set changeOnHold(e){this._changeOnHold=e}set renderOnlyVisible(e){this._renderOnlyVisible=e,this._renderer.render()}set autoResize(e){this._autoResize=e,this._initialized&&(e?this._autoResizer.enable():this._autoResizer.disable())}set useResizeObserver(e){this._useResizeObserver=e,this._initialized&&this._autoResize&&this._autoResizer.enable()}set observePanelResize(e){this._observePanelResize=e,this._initialized&&this._autoResize&&(e?this._autoResizer.observePanels():this._autoResizer.unobservePanels())}set optimizeSizeUpdate(e){this._optimizeSizeUpdate=e}init(){if(this._initialized)return Promise.resolve();const t=this._camera,n=this._renderer,i=this._control,r=this._virtualManager,s=this.trigger,o=this._preventEventsBeforeInit;return t.init(),r.init(),n.init(this),i.init(this),o&&(this.trigger=()=>this),this._initialResize(),this._moveToInitialPanel(),this._autoResize&&this._autoResizer.enable(),this._preventClickOnDrag&&i.controller.addPreventClickHandler(),this._disableOnInit&&this.disableInput(),n.checkPanelContentsReady(n.panels),this._initialized=!0,n.render().then(()=>{this._plugins.forEach(e=>e.init(this)),o&&(this.trigger=s),this.trigger(new e.ComponentEvent(b.READY))})}destroy(){this.off(),this._autoResizer.disable(),this._control.destroy(),this._camera.destroy(),this._renderer.destroy(),this._plugins.forEach(e=>e.destroy()),this._scheduleResize=!1,this._initialized=!1,this._isResizing=!1}prev(e=this._duration){var t,n,i;return this.moveTo(null!=(i=null==(n=null==(t=this._control.activePanel)?void 0:t.prev())?void 0:n.index)?i:-1,e,f.PREV)}next(e=this._duration){var t,n,i;return this.moveTo(null!=(i=null==(n=null==(t=this._control.activePanel)?void 0:t.next())?void 0:n.index)?i:this._renderer.panelCount,e,f.NEXT)}moveTo(e,t=this._duration,n=f.NONE){const i=this._renderer,r=i.panelCount,s=i.getPanel(e);return s?this._control.animating?Promise.reject(new oe(N.ANIMATION_ALREADY_PLAYING,S.ANIMATION_ALREADY_PLAYING)):(this._control.holding&&this._control.controller.release(),this._control.moveToPanel(s,{duration:t,direction:n})):Promise.reject(new oe(N.INDEX_OUT_OF_RANGE(e,0,r-1),S.INDEX_OUT_OF_RANGE))}updateAnimation(e,t,n){if(!this._control.animating)return;const i=this._renderer,r=i.panelCount,s=i.getPanel(e);if(!s)throw new oe(N.INDEX_OUT_OF_RANGE(e,0,r-1),S.INDEX_OUT_OF_RANGE);this._control.updateAnimation(s,t,n)}stopAnimation(){this._control.animating&&this._control.stopAnimation()}getPanel(e){return this._renderer.getPanel(e)}enableInput(){return this._control.enable(),this}disableInput(){return this._control.disable(),this}getStatus(e={}){var t,n;const{index:i=!0,position:r=!0,includePanelHTML:s=!1,visiblePanelsOnly:o=!1}=e,a=this._camera,l={panels:(o?this.visiblePanels:this.panels).map(e=>{const t={index:e.index};return s&&(t.html=e.element.outerHTML),t})};if(i&&(l.index=this.index),r){const e=a.findNearestAnchor(a.position);e&&(l.position={panel:e.panel.index,progressInPanel:a.getProgressInPanel(e.panel)})}if(o){const e=this.visiblePanels;l.visibleOffset=null!=(n=null==(t=e[0])?void 0:t.index)?n:0}return l}setStatus(e){var t;if(!this._initialized)throw new oe(N.NOT_INITIALIZED,S.NOT_INITIALIZED);const{index:n,position:i,visibleOffset:r,panels:s}=e,o=this._renderer,a=this._control;if((null==(t=s[0])?void 0:t.html)&&!this._renderExternal&&(o.batchRemove({index:0,deleteCount:this.panels.length,hasDOMInElements:!0}),o.batchInsert({index:0,elements:j(s.map(e=>e.html)),hasDOMInElements:!0})),null!=n){const e=r?n-r:n;this.moveTo(e,0).catch(()=>{})}if(i&&this._moveType===v.FREE_SCROLL){const{panel:e,progressInPanel:t}=i,n=r?e-r:e,s=o.panels[n].range,l=s.min+(s.max-s.min)*t;a.moveToPosition(l,0).catch(()=>{})}}addPlugins(...e){return this._initialized&&e.forEach(e=>e.init(this)),this._plugins.push(...e),this}removePlugins(...e){return e.forEach(e=>{const t=Y(this._plugins,t=>t===e);t>=0&&(e.destroy(),this._plugins.splice(t,1))}),this}resize(){return p(this,null,function*(){if(!this._initialized)return;if(this._isResizing)return void(this._scheduleResize=!0);this._scheduleResize=!1,this._isResizing=!0;const t=this._viewport,n=this._renderer,i=this._camera,r=this._control,s=r.activePanel,o=t.width,a=t.height,l=s?i.getProgressInPanel(s):0;if(this.trigger(new e.ComponentEvent(b.BEFORE_RESIZE,{width:o,height:a,element:t.element})),t.resize(),this._optimizeSizeUpdate?(this.horizontal&&t.width!==o||!this.horizontal&&t.height!==a)&&(yield n.forceRenderAllPanels()):yield n.forceRenderAllPanels(),!this._initialized)return;if(n.updatePanelSize(),i.updateAlignPos(),i.updateRange(),i.updateAnchors(),i.updateAdaptiveHeight(),i.updatePanelOrder(),i.updateOffset(),yield n.render(),!this._initialized)return;r.animating||(r.updatePosition(l),r.updateInput());const h=t.width,c=t.height,d=h!==o||c!==a;this.trigger(new e.ComponentEvent(b.AFTER_RESIZE,{width:t.width,height:t.height,prev:{width:o,height:a},sizeChanged:d,element:t.element})),this._isResizing=!1,this._scheduleResize&&this.resize()})}append(e){return this.insert(this._renderer.panelCount,e)}prepend(e){return this.insert(0,e)}insert(e,t){if(this._renderExternal)throw new oe(N.NOT_ALLOWED_IN_FRAMEWORK,S.NOT_ALLOWED_IN_FRAMEWORK);return this._renderer.batchInsert({index:e,elements:j(t),hasDOMInElements:!0})}remove(e,t=1){if(this._renderExternal)throw new oe(N.NOT_ALLOWED_IN_FRAMEWORK,S.NOT_ALLOWED_IN_FRAMEWORK);return this._renderer.batchRemove({index:e,deleteCount:t,hasDOMInElements:!0})}_createControl(){var e;const t=this._moveType,n=Object.keys(v).map(e=>v[e]),i=Array.isArray(t)?t[0]:t,r=Array.isArray(t)&&null!=(e=t[1])?e:{};if(!W(n,i))throw new oe(N.WRONG_OPTION("moveType",JSON.stringify(t)),S.WRONG_OPTION);switch(i){case v.SNAP:return new Ie(r);case v.FREE_SCROLL:return new Re(r);case v.STRICT:return new Ae(r)}}_createCamera(){return this._circular&&this._bound&&console.warn('"circular" and "bound" option cannot be used together, ignoring bound.'),new de(this,{align:this._align})}_createRenderer(){const e=this._externalRenderer;return this._virtual&&this._panelsPerView<=0&&console.warn('"virtual" and "panelsPerView" option should be used together, ignoring virtual.'),e||(this._renderExternal?this._createExternalRenderer():this._createVanillaRenderer())}_createExternalRenderer(){const{renderer:e,rendererOptions:t}=this._renderExternal;return new e(g({align:this._align},t))}_createVanillaRenderer(){const e=this.virtualEnabled;return new De({align:this._align,strategy:e?new Fe:new Me({providerCtor:Ce})})}_moveToInitialPanel(){const e=this._renderer,t=this._control,n=this._camera,i=e.getPanel(this._defaultIndex)||e.getPanel(0);if(!i)return;const r=n.findNearestAnchor(i.position),s=r&&i.position!==r.panel.position&&i.index!==r.panel.index?r.panel:i;if(t.setActive(s,null,!1),!r)throw new oe(N.POSITION_NOT_REACHABLE(s.position),S.POSITION_NOT_REACHABLE);let o=s.position;n.canReach(s)||(o=r.position),n.lookAt(o),t.updateInput(),n.updateOffset()}_initialResize(){const t=this._viewport,n=this._renderer,i=this._camera,r=this._control;this.trigger(new e.ComponentEvent(b.BEFORE_RESIZE,{width:0,height:0,element:t.element})),t.resize(),n.updatePanelSize(),i.updateAlignPos(),i.updateRange(),i.updateAnchors(),i.updateOffset(),r.updateInput();const s=t.width,o=t.height,a=0!==s||0!==o;this.trigger(new e.ComponentEvent(b.AFTER_RESIZE,{width:t.width,height:t.height,prev:{width:0,height:0},sizeChanged:a,element:t.element}))}};Ge.VERSION="4.16.1-beta.0";let je=Ge;const Be={HOLD_START:"sideHoldStart",HOLD_END:"sideHoldEnd",MOVE_START:"sideMoveStart",MOVE:"sideMove",MOVE_END:"sideMoveEnd",WILL_CHANGE:"sideWillChange",CHANGED:"sideChanged",WILL_RESTORE:"sideWillRestore",RESTORED:"sideRestored"};const We=Object.freeze(Object.defineProperty({__proto__:null,CrossFlicking:class extends je{constructor(e,t){super(e,t),this._syncToCategory=(e,t)=>{this._disableIndexSync||(this.stopAnimation(),this._sideFlicking.forEach((n,i)=>{const{start:r,end:s}=this._sideState[i];r<=e&&s>=e&&t!==i&&(n.stopAnimation(),n.moveTo(e,0),this.moveTo(i,0))}))},this._setDraggable=(e,t)=>{if(!this._disableSlideOnHold)return;const n=this._originalDragThreshold,i=t?n&&n>=10?n:10:1/0;e===O.HORIZONTAL===this.horizontal?this.dragThreshold=i:e===O.VERTICAL===this.horizontal&&this._sideFlicking.forEach(e=>{e.dragThreshold=i})},this._setPreviousSideIndex=()=>{this._sideFlicking.forEach((e,t)=>{const{start:n,end:i}=this._sideState[t];this._preserveIndex?this._nextIndex!==t&&(e.index<n?(e.stopAnimation(),e.moveTo(n,0)):e.index>i&&(e.stopAnimation(),e.moveTo(i,0))):this._nextIndex!==t&&e.moveTo(n,0)})},this._addSideIndex=e=>{e.sideIndex=this._sideFlicking[e.index].index},this._onHorizontalHoldStart=()=>{this._setDraggable(O.HORIZONTAL,!0),this._moveDirection=null},this._onHorizontalMove=e=>{e.isTrusted&&!this._moveDirection&&(this._setDraggable(O.VERTICAL,!1),this._moveDirection=O.HORIZONTAL)},this._onHorizontalMoveEnd=e=>{const t=this.visiblePanels;t.length>1?this._nextIndex="NEXT"===e.direction?t[1].index:t[0].index:this._nextIndex=t[0].index,this._setDraggable(O.VERTICAL,!0),this._moveDirection=null,requestAnimationFrame(()=>this._setPreviousSideIndex()),e.isTrusted&&this._syncToCategory(this._sideFlicking[this._nextIndex].index,this._nextIndex)},this._onSideHoldStart=()=>{this._setDraggable(O.VERTICAL,!0),this._moveDirection=null},this._onSideMove=e=>{e.isTrusted&&!this._moveDirection&&(this._setDraggable(O.HORIZONTAL,!1),this._moveDirection=O.VERTICAL)},this._onSideMoveEnd=()=>{this._setDraggable(O.HORIZONTAL,!0),this._moveDirection=null},this._onSideChanged=e=>{this.visiblePanels.length<2&&this._sideFlicking[this.index]===e.currentTarget&&this._syncToCategory(e.index,this.index)};const{sideOptions:n={},preserveIndex:i=!0,disableSlideOnHold:r=!0,disableIndexSync:s=!1}=t;this._moveDirection=null,this._nextIndex=0,this._originalDragThreshold=this.dragThreshold,this._sideOptions=n,this._preserveIndex=i,this._disableSlideOnHold=r,this._disableIndexSync=s}get sideFlicking(){return this._sideFlicking}get sideIndex(){return this._sideFlicking.map(e=>e.index)}get sideState(){return this._sideState}get sideOptions(){return this._sideOptions}get preserveIndex(){return this._preserveIndex}get disableSlideOnHold(){return this._disableSlideOnHold}get disableIndexSync(){return this._disableIndexSync}set sideOptions(e){this._sideOptions=e}set preserveIndex(e){this._preserveIndex=e}set disableSlideOnHold(e){this._disableSlideOnHold=e}set disableIndexSync(e){this._disableIndexSync=e}init(){return super.init().then(()=>{this._sideState=this._createSideState(),this._sideFlicking=this._createSideFlicking(),this._addComponentEvents()})}destroy(){this._sideFlicking.forEach(e=>{e.destroy()}),super.destroy()}_addComponentEvents(){this.on(b.HOLD_START,this._onHorizontalHoldStart),this.on(b.MOVE,this._onHorizontalMove),this.on(b.MOVE_END,this._onHorizontalMoveEnd),[b.CHANGED,b.WILL_CHANGE].forEach(e=>{this.on(e,this._addSideIndex)}),this._sideFlicking.forEach((t,n)=>{t.on(b.HOLD_START,this._onSideHoldStart),t.on(b.MOVE,this._onSideMove),t.on(b.MOVE_END,this._onSideMoveEnd),t.on(b.CHANGED,this._onSideChanged),Object.keys(Be).forEach(i=>{t.on(b[i],t=>{this.trigger(new e.ComponentEvent(Be[i],g({mainIndex:n},t)))})})})}_createSideState(){const e=this.element,t=this.camera.element,n=D(t.children);let i=[];if(re(e,"data-cross-").structure)i=this._getSideStateFromCrossStructure(n);else{const e=this._getGroupFromAttribute(n),t=Object.keys(e);t.length?(i=this._getSideStateFromGroup(e),this.remove(0,this.panelCount-t.length)):i=this._getSideStateFromPanels(n),this._createCrossStructure(i)}return this.resize(),i}_createCrossStructure(e){const t=document.createElement("div");let n="";t.classList.add(E.CAMERA),e.forEach((e,t)=>{const i=this.camera.children[t];n+=e.element.innerHTML,Array.from(i.attributes).forEach(e=>i.removeAttribute(e.name))}),t.innerHTML=n,e.forEach((e,n)=>{const i=this.camera.children[n];[E.VIEWPORT,E.VERTICAL].forEach(e=>{i.classList.contains(e)||i.classList.add(e)}),i.innerHTML=t.outerHTML}),this.element.setAttribute("data-cross-structure","true")}_getGroupFromAttribute(e){const t=[],n={};return e.forEach(e=>{const i=re(e,"data-cross-").groupkey;i&&!W(t,i)?(t.push(i),n[i]=[e]):i&&n[i].push(e)}),n}_getSideStateFromGroup(e){return Object.keys(e).reduce((t,n)=>{const i=t.length?+t[t.length-1].end+1:0,r=e[n].reduce((e,t)=>(e.innerHTML+=t.outerHTML,e),document.createElement("div"));return[...t,{key:n,start:i,end:i+e[n].length-1,element:r}]},[])}_getSideStateFromPanels(e){return e.reduce((e,t,n)=>{const i=e.length?+e[e.length-1].end+1:0;return[...e,{key:n.toString(),start:i,end:i+t.children.length-1,element:t}]},[])}_getSideStateFromCrossStructure(e){const t=this._getGroupFromAttribute(e);return this._getSideStateFromGroup(t)}_createSideFlicking(){return this.sideState.map((e,t)=>new je(this.camera.children[t],_(g({},this.sideOptions),{horizontal:!1,panelsPerView:1,defaultIndex:e.start})))}},SIDE_EVENTS:Be},Symbol.toStringTag,{value:"Module"})),Ue=Object.freeze(Object.defineProperty({__proto__:null,AnchorPoint:I,Panel:Le,VanillaElementProvider:Ce,Viewport:ye,VirtualElementProvider:ze,VirtualManager:we,VirtualPanel:He},Symbol.toStringTag,{value:"Module"})),$e=e=>{const t="object"==typeof e?e.camera:e;return Ye(t)},Xe=e=>{const t="object"==typeof e?e.panel:e;return F(Ye(t))},Ye=e=>{if("number"==typeof e)return`${e}px`;switch(e){case m.CENTER:return"50%";case m.NEXT:return"100%";case m.PREV:return"0%";default:return e}},Ze=(e,t,n,i,r)=>e.batchInsertDefer(...t.added.slice(i,r).map((e,t)=>({index:e,elements:[n[t]],hasDOMInElements:!1}))),Ke=(e,t,n)=>{const i=e.panels.slice(t,n);return e.batchRemoveDefer({index:t,deleteCount:i.length,hasDOMInElements:!1})},qe=Object.freeze(Object.defineProperty({__proto__:null,getDefaultCameraTransform:(e=m.CENTER,t=!0,n)=>{const i=$e(e),r=Xe(e);if(null==r)return"";const s=`calc(${i} - (${n||"0px"} * ${r.percentage}) - ${r.absolute}px)`;return t?`translate(${s})`:`translate(0, ${s})`},getRenderingPanels:(e,t)=>{const n=t.removed.reduce((e,t)=>(e[t]=!0,e),{}),i=t.maintained.reduce((e,[t,n])=>(e[t]=n,e),{}),r=e.panels.filter(e=>!n[e.index]);return e.useCSSOrder||r.sort((e,t)=>e.position+e.offset-(t.position+t.offset)),[...r.map(e=>t.list[i[e.index]]),...t.added.map(e=>t.list[e])]},sync:(e,t,n)=>{const i=e.renderer,r=i.panels,s=[...t.prevList],o=[],a=[];if(t.removed.length>0){let e=-1,n=-1;t.removed.forEach(t=>{e<0&&(e=t),n>=0&&t!==n-1?(a.push(...Ke(i,n,e+1)),e=t,n=t):n=t,s.splice(t,1)}),a.push(...Ke(i,n,e+1))}if(t.ordered.forEach(([e,t])=>{const n=r.splice(e,1)[0];r.splice(t,0,n)}),t.ordered.length>0&&(r.forEach((e,t)=>{const n=t-e.index;n>0?e.increaseIndex(n):e.decreaseIndex(-n)}),r.sort((e,t)=>e.index-t.index),r.forEach(e=>{e.updatePosition()})),t.added.length>0){let e=-1,r=-1;const a=n.slice(s.length);t.added.forEach((n,s)=>{e<0&&(e=s),r>=0&&n!==r+1?(o.push(...Ze(i,t,a,e,s+1)),e=-1,r=-1):r=n}),e>=0&&o.push(...Ze(i,t,a,e))}if(t.added.length>0||t.removed.length>0)i.updateAfterPanelChange(o,a);else if(t.ordered.length>0){const t=e.camera;t.updateRange(),t.updateOffset(),t.updateAnchors(),t.resetNeedPanelHistory()}},withFlickingMethods:(t,n)=>{[e.prototype,je.prototype].forEach(e=>{Object.getOwnPropertyNames(e).filter(e=>!t[e]&&0!==e.indexOf("_")&&"constructor"!==e).forEach(i=>{const r=Object.getOwnPropertyDescriptor(e,i);if(r.value)Object.defineProperty(t,i,{value:function(...e){return r.value.call(this[n],...e)}});else{const e={};r.get&&(e.get=function(){var e;const t=this[n];return t&&(null==(e=r.get)?void 0:e.call(t))}),r.set&&(e.set=function(...e){var t;return null==(t=r.set)?void 0:t.call(this[n],...e)}),Object.defineProperty(t,i,e)}})})}},Symbol.toStringTag,{value:"Module"}));function Je(e){return Object.keys(e)}function Qe(e){return"function"==typeof e}var et="__observers__",tt="__CFCS_DETECTED_DEPENDENCIES__";function nt(e,t,n){if(2===arguments.length)for(var i,r=0,s=t.length;r<s;r++)!i&&r in t||(i||(i=Array.prototype.slice.call(t,0,r)),i[r]=t[r]);return e.concat(i||Array.prototype.slice.call(t))}function it(){var e=function(){Object[tt]=Object[tt]||{};var e=Object[tt];return e[1]=e[1]||[],e[1]}();return e[e.length-1]}var rt=function(){function t(t){this._emitter=new e,this._current=t}var n=t.prototype;return Object.defineProperty(n,"current",{get:function(){var e=it();return null==e||e.push(this),this._current},set:function(e){this._setCurrent(e)},enumerable:!1,configurable:!0}),n.subscribe=function(e){return this.current,this._emitter.on("update",e),this},n.unsubscribe=function(e){return this._emitter.off("update",e),this},n._setCurrent=function(e){var t=this._current,n=e!==t;this._current=e,n&&this._emitter.trigger("update",e,t)},n.toString=function(){return"".concat(this.current)},n.valueOf=function(){return this.current},t}();function st(e,t,n){void 0===n&&(n=t);var i={configurable:!0,get:function(){return ct(this,n).current},set:function(e){ct(this,n,e).current=e}};Object.defineProperty(e,t,i),n!==t&&Object.defineProperty(e,n,{configurable:!0,get:function(){return ct(this,n).current}})}function ot(e,t){var n,i=Qe(e)?e():e,r={};return lt(r),Je(i).forEach(function(e){var t,n=i[e];(t=n)&&function(e){return"object"==typeof e}(t)&&"current"in t&&"subscribe"in t&&"unsubscribe"in t?dt(r,e,n):dt(r,e,at(n)),function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return e.length>1?st(e[0],e[1]):function(t,n){return st(t,n,e[0])}}(e)(r,e)}),(n=r).subscribe=function(e,t){this[e],ct(this,e).subscribe(t)},n.unsubscribe=function(e,t){var n=this;e?e in this&&ct(this,e).unsubscribe(t):Je(ht(this)).forEach(function(e){n.unsubscribe(e)})},r}function at(e){return new rt(e)}function lt(e){var t={};return Object.defineProperty(e,et,{get:function(){return t}}),t}function ht(e,t){var n,i;e[et]||lt(e);var r=e[et],s=null===(i=null===(n=null==e?void 0:e.constructor)||void 0===n?void 0:n.prototype)||void 0===i?void 0:i.__computed__;return s&&s.forEach(function(t){!(t in r)&&t in e&&e[t]}),r}function ct(e,t,n){var i=ht(e);return i[t]||(i[t]=at(n)),i[t]}function dt(e,t,n){ht(e)[t]=n}const ut=e=>!e.circular&&0===e.index,gt=e=>!e.circular&&e.index===e.panelCount-1,_t=e=>e.panelCount,pt=e=>e.index,mt=e=>{const t=e.camera,n=(t.position-t.range.min)/(t.range.max-t.range.min);return 100*Math.min(Math.max(n,0),1)},ft=({onInit:e,onDestroy:t,setMethods:n,getProps:i})=>{var r,s,o;let a;n(["moveTo"]);const l=i().options,h=ot({isReachStart:!(null==l?void 0:l.defaultIndex)||0===(null==l?void 0:l.defaultIndex),isReachEnd:!(!(null==l?void 0:l.totalPanelCount)||!(null==l?void 0:l.defaultIndex))&&l.defaultIndex===l.totalPanelCount-1,totalPanelCount:null!=(r=null==l?void 0:l.totalPanelCount)?r:0,currentPanelIndex:null!=(s=null==l?void 0:l.defaultIndex)?s:0,progress:0,indexProgress:null!=(o=null==l?void 0:l.defaultIndex)?o:0,moveTo:e=>null==a?Promise.reject(new Error("Flicking instance is not available")):(null==a?void 0:a.animating)?Promise.resolve():a.moveTo(e)});const c=()=>{void 0!==a&&(h.isReachStart=ut(a),h.isReachEnd=gt(a),h.currentPanelIndex=pt(a))},d=()=>{void 0!==a&&(c(),h.totalPanelCount=_t(a))},u=()=>{void 0!==a&&(h.progress=mt(a),h.indexProgress=(e=>{const t=e.camera,n=t.anchorPoints,i=n.length,r=t.position,s=e.circularEnabled;let o=0;const{min:a,max:l}=t.range,h=n[0],c=l-n[i-1].position+(h.position-a);return n.some((e,t)=>{const a=e.position,l=n[t+1];if(0===t&&r<=a)o=s?(r-a)/c:(r-a)/e.panel.size;else if(t===i-1&&r>=a)o=s?t+(r-a)/c:t+(r-a)/e.panel.size;else{if(!(l&&a<=r&&r<=l.position))return!1;o=t+(r-a)/(l.position-a)}return!0}),o})(a))};return e((e,t)=>{a=t.flicking,void 0!==a&&(h.isReachStart=ut(a),h.isReachEnd=gt(a),h.currentPanelIndex=pt(a),h.progress=mt(a),h.totalPanelCount=_t(a),null==a||a.on("changed",c),null==a||a.on("panelChange",d),null==a||a.on("move",u))}),t(()=>{null==a||a.off("changed",c),null==a||a.off("panelChange",d),null==a||a.off("move",u)}),h},vt=Object.freeze(Object.defineProperty({__proto__:null,connectFlickingReactiveAPI:(t,n)=>{const i=function(t,n){var i=Qe(t)?{setup:t}:t;function r(){var e,t,r,s,o;return null!==(o=null!==(r=null!==(e=null==n?void 0:n())&&void 0!==e?e:null===(t=i.props)||void 0===t?void 0:t.call(i))&&void 0!==r?r:null===(s=i.data)||void 0===s?void 0:s.call(i))&&void 0!==o?o:{}}var s=new e,o=[],a=[],l=[],h=[],c={current:null},d=[],u=null,g=[],_=[],p=function(e){o.push(e)},m=function(e){u=e},f=function(e){g=e},v=function(e){_=e};return i.setup&&(c.current=i.setup({getProps:r,setInitialState:m,setEvents:f,setMethods:v,onMounted:p,onDestroy:function(e){l.push(e)},onInit:function(e){a.push(e)},emit:function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];s.trigger.apply(s,nt([e],t,!1))},on:function(e){h.push(e)}})||null),i.created&&(c.current=i.created(r())||null),i.events&&f(i.events),i.state&&m(i.state),i.methods&&v(i.methods),i.mounted&&p(i.mounted),i.destroy&&l.push(i.destroy),i.init&&a.push(i.init),i.on&&h.push(function(e,t,n){var r=i.on(e,t,n);return function(){var s;r&&r(),null===(s=i.off)||void 0===s||s.call(i,e,t,n)}}),{events:function(){return g},state:function(){var e=c.current;if(u)return u;if(e){var t=ht(e);m(Je(t).reduce(function(e,n){return e[n]=t[n].current,e},{}))}return u||{}},instance:function(){return c.current},mounted:function(){var e=r();o.forEach(function(t){c.current=t(e,c.current)||c.current})},init:function(){var e=c.current,t=r();d=g.map(function(e){var t=function(){for(var t,n=[],i=0;i<arguments.length;i++)n[i]=arguments[i];(t=s).trigger.apply(t,nt([e],n,!1))},n=c.current;return h.map(function(i){return i(n,e,t)}).filter(Boolean)}),a.forEach(function(n){n(e,t)})},destroy:function(){d.forEach(function(e){e.forEach(function(e){e()})}),s.off();var e=c.current,t=r();l.forEach(function(n){n(e,t)})},methods:function(){return e=c,n={},(t=_)?(t.forEach(function(t){n[t]=function(){for(var n=[],i=0;i<arguments.length;i++)n[i]=arguments[i];var r=e.current||e.value;return r[t].apply(r,n)}}),n):n;var e,t,n},on:function(e,t){s.on(e,t)},off:function(e,t){s.off(e,t)}}}(ft,()=>({flicking:t,options:n}));i.mounted();const r=i.instance();return i.init(),r},flickingReactiveAPIAdapter:ft},Symbol.toStringTag,{value:"Module"})),Et=g(g({},R),T);return C(je,Ue),C(je,ue),C(je,Se),C(je,Ve),C(je,Et),C(je,qe),C(je,se),C(je,We),C(je,vt),je});
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("@egjs/component"),require("@egjs/axes"),require("@egjs/imready")):"function"==typeof define&&define.amd?define(["@egjs/component","@egjs/axes","@egjs/imready"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).Flicking=t(e.eg.Component,e.eg.Axes,e.eg.ImReady)}(this,function(e,t,n){"use strict";var i=Object.defineProperty,r=Object.defineProperties,s=Object.getOwnPropertyDescriptors,o=Object.getOwnPropertySymbols,a=Object.getPrototypeOf,l=Object.prototype.hasOwnProperty,h=Object.prototype.propertyIsEnumerable,c=Reflect.get,d=Math.pow,u=(e,t,n)=>t in e?i(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,g=(e,t)=>{for(var n in t||(t={}))l.call(t,n)&&u(e,n,t[n]);if(o)for(var n of o(t))h.call(t,n)&&u(e,n,t[n]);return e},_=(e,t)=>r(e,s(t)),p=(e,t,n)=>new Promise((i,r)=>{var s=e=>{try{a(n.next(e))}catch(t){r(t)}},o=e=>{try{a(n.throw(e))}catch(t){r(t)}},a=e=>e.done?i(e.value):Promise.resolve(e.value).then(s,o);a((n=n.apply(e,t)).next())});const m={PREV:"prev",CENTER:"center",NEXT:"next"},f={PREV:"PREV",NEXT:"NEXT",NONE:null},v={SNAP:"snap",FREE_SCROLL:"freeScroll",STRICT:"strict"},E={VIEWPORT:"flicking-viewport",CAMERA:"flicking-camera",VERTICAL:"vertical",HIDDEN:"flicking-hidden",DEFAULT_VIRTUAL:"flicking-panel"},P={LINEAR:"linear",BOUND:"bound"},x={LTR:"ltr",RTL:"rtl"},O={HORIZONTAL:"horizontal",VERTICAL:"vertical"},T=Object.freeze(Object.defineProperty({__proto__:null,ALIGN:m,CIRCULAR_FALLBACK:P,CLASS:E,DIRECTION:f,MOVE_DIRECTION:O,MOVE_TYPE:v,ORDER:x},Symbol.toStringTag,{value:"Module"})),b={READY:"ready",BEFORE_RESIZE:"beforeResize",AFTER_RESIZE:"afterResize",HOLD_START:"holdStart",HOLD_END:"holdEnd",MOVE_START:"moveStart",MOVE:"move",MOVE_END:"moveEnd",WILL_CHANGE:"willChange",CHANGED:"changed",WILL_RESTORE:"willRestore",RESTORED:"restored",SELECT:"select",NEED_PANEL:"needPanel",VISIBLE_CHANGE:"visibleChange",REACH_EDGE:"reachEdge",PANEL_CHANGE:"panelChange"},R=Object.freeze(Object.defineProperty({__proto__:null,EVENTS:b},Symbol.toStringTag,{value:"Module"}));class I{get index(){return this._index}get position(){return this._pos}get panel(){return this._panel}constructor(e){const{index:t,position:n,panel:i}=e;this._index=t,this._pos=n,this._panel=i}}const A={WRONG_TYPE:{code:0,message:(e,t)=>`${e}(${typeof e}) is not a ${t.map(e=>`"${e}"`).join(" or ")}.`},ELEMENT_NOT_FOUND:{code:1,message:e=>`Element with selector "${e}" not found.`},VAL_MUST_NOT_NULL:{code:2,message:(e,t)=>`${t} should be provided. Given: ${e}`},NOT_ATTACHED_TO_FLICKING:{code:3,message:'This module is not attached to the Flicking instance. "init()" should be called first.'},WRONG_OPTION:{code:4,message:(e,t)=>`Option "${e}" is not in correct format, given: ${t}`},INDEX_OUT_OF_RANGE:{code:5,message:(e,t,n)=>`Index "${e}" is out of range: should be between ${t} and ${n}.`},POSITION_NOT_REACHABLE:{code:6,message:e=>`Position "${e}" is not reachable.`},TRANSFORM_NOT_SUPPORTED:{code:7,message:"Browser does not support CSS transform."},STOP_CALLED_BY_USER:{code:8,message:"Event stop() is called by user."},ANIMATION_INTERRUPTED:{code:9,message:"Animation is interrupted by user input."},ANIMATION_ALREADY_PLAYING:{code:10,message:"Animation is already playing."},NOT_ALLOWED_IN_FRAMEWORK:{code:11,message:"This behavior is not allowed in the frameworks like React, Vue, or Angular."},NOT_INITIALIZED:{code:12,message:"Flicking is not initialized yet, call init() first."},NO_ACTIVE:{code:13,message:"There's no active panel that Flicking has selected. This may be due to the absence of any panels."},NOT_ALLOWED_IN_VIRTUAL:{code:14,message:"This behavior is not allowed when the virtual option is enabled"}},S=Object.keys(A).reduce((e,t)=>(e[t]=A[t].code,e),{}),N=Object.keys(A).reduce((e,t)=>(e[t]=A[t].message,e),{}),C=(e,...t)=>(t.forEach(t=>{Object.keys(t).forEach(n=>{e[n]=t[n]})}),e),z=(e,t)=>{let n=null;if(U(e)){const i=(t||document).querySelector(e);if(!i)throw new oe(N.ELEMENT_NOT_FOUND(e),S.ELEMENT_NOT_FOUND);n=i}else e&&e.nodeType===Node.ELEMENT_NODE&&(n=e);if(!n)throw new oe(N.WRONG_TYPE(e,["HTMLElement","string"]),S.WRONG_TYPE);return n},y=(e,t)=>{if(null==e)throw new oe(N.VAL_MUST_NOT_NULL(e,t),S.VAL_MUST_NOT_NULL)},w=(e,t,n)=>Math.max(Math.min(e,n),t),k=e=>{if(!e)throw new oe(N.NOT_ATTACHED_TO_FLICKING,S.NOT_ATTACHED_TO_FLICKING);return e},D=e=>[].slice.call(e),L=(e,t)=>{let n;if(U(e))switch(e){case m.PREV:n=0;break;case m.CENTER:n=.5*t;break;case m.NEXT:n=t;break;default:if(n=H(e,t),null==n)throw new oe(N.WRONG_OPTION("align",e),S.WRONG_OPTION)}else n=e;return n},M=(e,t)=>{let n;if(Array.isArray(e))n=e.map(e=>H(e,t));else{const i=H(e,t);n=[i,i]}return n.map(t=>{if(null==t)throw new oe(N.WRONG_OPTION("bounce",e),S.WRONG_OPTION);return t})},H=(e,t)=>{const n=F(e);return null==n?null:n.percentage*t+n.absolute},F=e=>{const t=/(?:(\+|-)\s*)?(\d+(?:\.\d+)?(%|px)?)/g;if("number"==typeof e)return{percentage:0,absolute:e};const n={percentage:0,absolute:0};let i=0,r=t.exec(e);for(;null!=r;){let s=r[1];const o=r[2],a=r[3],l=parseFloat(o);if(i<=0&&(s=s||"+"),!s)return null;const h="+"===s?1:-1;"%"===a?n.percentage+=h*(l/100):n.absolute+=h*l,++i,r=t.exec(e)}return 0===i?null:n},V=e=>"object"==typeof e?e.panel:e,G=(e,t)=>e===t?f.NONE:e<t?f.NEXT:f.PREV,j=e=>{Array.isArray(e)||(e=[e]);const t=[];return e.forEach(e=>{if(U(e)){const n=document.createElement("div");for(n.innerHTML=e,t.push(...D(n.children));n.firstChild;)n.removeChild(n.firstChild)}else{if(!e||e.nodeType!==Node.ELEMENT_NODE)throw new oe(N.WRONG_TYPE(e,["HTMLElement","string"]),S.WRONG_TYPE);t.push(e)}}),t},B=(e,t)=>w(e<0?e+t:e,0,t),W=(e,t)=>{for(const n of e)if(n===t)return!0;return!1},U=e=>"string"==typeof e,$=(e,t,n)=>{const i=n-t;if(e<t){e=n-(t-e)%i}else if(e>n){e=t+(e-n)%i}return e},X=(e,t)=>{for(const n of e)if(t(n))return n;return null},Y=(e,t)=>{for(let n=0;n<e.length;n++)if(t(e[n]))return n;return-1},Z=(e,t,n)=>(e-t)/(n-t),K=e=>e?window.getComputedStyle(e)||e.currentStyle:{},q=(e,{width:t,height:n})=>{e&&(null!=t&&(U(t)?e.style.width=t:e.style.width=`${t}px`),null!=n&&(U(n)?e.style.height=n:e.style.height=`${n}px`))},J=(e,t,n)=>e>=t&&e<=n,Q=(e,t)=>e>=t?e%t:e<0?B((e+1)%t-1,t):e,ee=e=>{const t=new Array(e);for(let n=0;n<e;n++)t[n]=n;return t},te=({el:e,horizontal:t,useFractionalSize:n,useOffset:i,style:r})=>{let s=0;if(n){const e=parseFloat(t?r.width:r.height)||0,n="border-box"===r.boxSizing,o=t?parseFloat(r.borderLeftWidth||"0")+parseFloat(r.borderRightWidth||"0"):parseFloat(r.borderTopWidth||"0")+parseFloat(r.borderBottomWidth||"0");if(n)s=i?e:e-o;else{const n=t?parseFloat(r.paddingLeft||"0")+parseFloat(r.paddingRight||"0"):parseFloat(r.paddingTop||"0")+parseFloat(r.paddingBottom||"0");s=i?e+n+o:e+n}}else{const n=t?"Width":"Height";s=i?e[`offset${n}`]:e[`client${n}`]}return Math.max(s,0)},ne=Object.setPrototypeOf||((e,t)=>(e.__proto__=t,e)),ie=e=>e.replace(/[\s-_]([a-z])/g,(e,t)=>t.toUpperCase()),re=(e,t)=>{const n={},i=e.attributes,r=i.length;for(let s=0;s<r;++s){const e=i[s],{name:r,value:o}=e;-1!==r.indexOf(t)&&(n[ie(r.replace(t,""))]=o)}return n},se=Object.freeze(Object.defineProperty({__proto__:null,camelize:ie,checkExistence:y,circulateIndex:Q,circulatePosition:$,clamp:w,find:X,findIndex:Y,findRight:(e,t)=>{for(let n=e.length-1;n>=0;n--){const i=e[n];if(t(i))return i}return null},getDataAttributes:re,getDirection:G,getElement:z,getElementSize:te,getFlickingAttached:k,getMinusCompensatedIndex:B,getProgress:Z,getStyle:K,includes:W,isBetween:J,isString:U,merge:C,parseAlign:L,parseArithmeticExpression:F,parseArithmeticSize:H,parseBounce:M,parseCSSSizeValue:e=>U(e)?e:`${e}px`,parseElement:j,parsePanelAlign:V,range:ee,setPrototypeOf:ne,setSize:q,toArray:D},Symbol.toStringTag,{value:"Module"}));class oe extends Error{constructor(e,t){super(e),ne(this,oe.prototype),this.name="FlickingError",this.code=t}}class ae{constructor(e){this._flicking=e}getAnchors(){return this._flicking.renderer.panels.map((e,t)=>new I({index:t,position:e.position,panel:e}))}findAnchorIncludePosition(e){return this._flicking.camera.anchorPoints.filter(t=>t.panel.includePosition(e,!0)).reduce((t,n)=>t&&Math.abs(t.position-e)<Math.abs(n.position-e)?t:n,null)}findNearestAnchor(e){const t=this._flicking.camera.anchorPoints;if(t.length<=0)return null;let n=1/0;for(let i=0;i<t.length;i++){const r=t[i],s=Math.abs(r.position-e);if(s>n)return t[i-1];n=s}return t[t.length-1]}clampToReachablePosition(e){const t=this._flicking.camera.range;return w(e,t.min,t.max)}getCircularOffset(){return 0}canReach(e){const t=this._flicking.camera.range;if(e.removed)return!1;const n=e.position;return n>=t.min&&n<=t.max}canSee(e){const t=this._flicking.camera.visibleRange;return e.isVisibleOnRange(t.min,t.max)}}class le extends ae{checkAvailability(){const e=this._flicking,t=e.renderer,n=t.getPanel(0),i=t.getPanel(t.panelCount-1);if(!n||!i)return!1;const r=e.camera.size,s=n.range.min;return r<i.range.max-s}getRange(){const e=this._flicking,t=e.renderer,n=e.camera.alignPosition,i=t.getPanel(0),r=t.getPanel(t.panelCount-1);if(!i||!r)return{min:0,max:0};const s=e.camera.size,o=i.range.min,a=r.range.max,l=o+n,h=a-s+n;if(s<a-o)return{min:l,max:h};{const t=e.camera.align,n="object"==typeof t?t.camera:t,i=l+L(n,h-l);return{min:i,max:i}}}getAnchors(){const e=this._flicking,t=e.camera,n=e.renderer.panels;if(n.length<=0)return[];const i=e.camera.range,r=n.filter(e=>t.canReach(e));if(r.length>0){const e=r[0].position!==i.min,t=r[r.length-1].position!==i.max,s=e?1:0,o=r.map((e,t)=>new I({index:t+s,position:e.position,panel:e}));return e&&o.splice(0,0,new I({index:0,position:i.min,panel:n[r[0].index-1]})),t&&o.push(new I({index:o.length,position:i.max,panel:n[r[r.length-1].index+1]})),o}if(i.min!==i.max){const e=this._findNearestPanel(i.min,n),t=e.index===n.length-1?e.prev():e,r=t.next();return[new I({index:0,position:i.min,panel:t}),new I({index:1,position:i.max,panel:r})]}return[new I({index:0,position:i.min,panel:this._findNearestPanel(i.min,n)})]}findAnchorIncludePosition(e){const t=this._flicking.camera,n=t.range,i=t.anchorPoints;return i.length<=0?null:e<=n.min?i[0]:e>=n.max?i[i.length-1]:super.findAnchorIncludePosition(e)}_findNearestPanel(e,t){let n=1/0;for(let i=0;i<t.length;i++){const r=t[i],s=Math.abs(r.position-e);if(s>n)return t[i-1];n=s}return t[t.length-1]}}class he extends ae{checkAvailability(){const e=this._flicking,t=e.renderer.panels;if(t.length<=0)return!1;const n=t[0],i=t[t.length-1],r=n.range.min-n.margin.prev,s=i.range.max+i.margin.next,o=e.camera.size,a=s-r;return t.every(e=>a-e.size>=o)}getRange(){const e=this._flicking.renderer.panels;if(e.length<=0)return{min:0,max:0};const t=e[0],n=e[e.length-1];return{min:t.range.min-t.margin.prev,max:n.range.max+n.margin.next}}getAnchors(){return this._flicking.renderer.panels.map((e,t)=>new I({index:t,position:e.position,panel:e}))}findNearestAnchor(e){const t=this._flicking.camera,n=t.anchorPoints;if(n.length<=0)return null;const i=t.range;let r=1/0,s=-1;for(let o=0;o<n.length;o++){const t=n[o],a=Math.min(Math.abs(t.position-e),Math.abs(t.position-i.min+i.max-e),Math.abs(e-i.min+i.max-t.position));a<r&&(r=a,s=o)}return n[s]}findAnchorIncludePosition(e){const t=this._flicking.camera,n=t.range,i=t.anchorPoints,r=t.rangeDiff,s=i.length,o=$(e,n.min,n.max);let a=super.findAnchorIncludePosition(o);if(s>0&&(e===n.min||e===n.max)){const t=[a,new I({index:0,position:i[0].position+r,panel:i[0].panel}),new I({index:s-1,position:i[s-1].position-r,panel:i[s-1].panel})].filter(e=>!!e);a=t.reduce((t,n)=>t&&Math.abs(t.position-e)<Math.abs(n.position-e)?t:n,null)}if(!a)return null;if(e<n.min){const t=-Math.floor((n.min-e)/r)-1;return new I({index:a.index,position:a.position+r*t,panel:a.panel})}if(e>n.max){const t=Math.floor((e-n.max)/r)+1;return new I({index:a.index,position:a.position+r*t,panel:a.panel})}return a}getCircularOffset(){const e=this._flicking;if(!e.camera.circularEnabled)return 0;const t=e.panels.filter(e=>e.toggled),n=t.filter(e=>e.toggleDirection===f.PREV),i=t.filter(e=>e.toggleDirection===f.NEXT);return this._calcPanelAreaSum(n)-this._calcPanelAreaSum(i)}clampToReachablePosition(e){return e}canReach(e){return!e.removed}canSee(e){const t=this._flicking.camera,n=t.range,i=t.rangeDiff,r=t.visibleRange,s=super.canSee(e);return r.min<n.min?s||e.isVisibleOnRange(r.min+i,r.max+i):r.max>n.max?s||e.isVisibleOnRange(r.min-i,r.max-i):s}_calcPanelAreaSum(e){return e.reduce((e,t)=>e+t.sizeIncludingMargin,0)}}class ce extends ae{checkAvailability(){return!0}getRange(){var e,t;const n=this._flicking.renderer,i=n.getPanel(0),r=n.getPanel(n.panelCount-1);return{min:null!=(e=null==i?void 0:i.position)?e:0,max:null!=(t=null==r?void 0:r.position)?t:0}}}let de=class{constructor(e,{align:t=m.CENTER}={}){this._lookedOffset=0,this._checkTranslateSupport=()=>{const e=["webkitTransform","msTransform","MozTransform","OTransform","transform"],t=document.documentElement.style;let n="";for(const i of e)i in t&&(n=i);if(!n)throw new oe(N.TRANSFORM_NOT_SUPPORTED,S.TRANSFORM_NOT_SUPPORTED);this._transform=n},this._flicking=e,this._resetInternalValues(),this._align=t}get element(){return this._el}get children(){return D(this._el.children)}get position(){return this._position}get alignPosition(){return this._alignPos}get offset(){return this._offset-this._circularOffset}get circularEnabled(){return this._circularEnabled}get mode(){return this._mode}get range(){return this._range}get rangeDiff(){return this._range.max-this._range.min}get visiblePanels(){return this._visiblePanels}get visibleRange(){return{min:this._position-this._alignPos,max:this._position-this._alignPos+this.size}}get anchorPoints(){return this._anchors}get controlParams(){return{range:this._range,position:this._position,circular:this._circularEnabled}}get atEdge(){return this._position<=this._range.min||this._position>=this._range.max}get size(){const e=this._flicking;return e?e.horizontal?e.viewport.width:e.viewport.height:0}get progress(){const e=this._flicking,t=this._position+this._offset,n=this.findNearestAnchor(this._position);if(!e||!n)return NaN;const i=n.panel,r=i.position+i.offset,s=e.control.controller.bounce,{min:o,max:a}=this.range,l=this.rangeDiff;if(t===r)return i.index;if(t<r){const e=i.prev();let n=e?e.position+e.offset:o-s[0];return n>r&&(n-=l),i.index-1+Z(t,n,r)}{const e=i.next();let n=e?e.position+e.offset:a+s[1];return n<r&&(n+=l),i.index+Z(t,r,n)}}get panelOrder(){return this._panelOrder}get align(){return this._align}set align(e){this._align=e}init(){const e=this._flicking.viewport.element;return y(e.firstElementChild,"First element child of the viewport element"),this._el=e.firstElementChild,this._checkTranslateSupport(),this._updateMode(),this.updatePanelOrder(),this}destroy(){return this._resetInternalValues(),this}lookAt(e){const t=this._offset,n=this._lookedOffset!==t,i=k(this._flicking),r=this._position;this._position=e;const s=this._togglePanels(r,e);this._refreshVisiblePanels(),this._checkNeedPanel(),this._checkReachEnd(r,e),s?i.renderer.render().then(()=>{this.updateOffset(),this._lookedOffset=this._offset}):n?(this.updateOffset(),this._lookedOffset=this._offset):this.applyTransform()}getPrevAnchor(e){if(this._circularEnabled&&0===e.index){const e=this._anchors,t=this.rangeDiff,n=e[e.length-1];return new I({index:n.index,position:n.position-t,panel:n.panel})}return this._anchors[e.index-1]||null}getNextAnchor(e){const t=this._anchors;if(this._circularEnabled&&e.index===t.length-1){const e=this.rangeDiff,n=t[0];return new I({index:n.index,position:n.position+e,panel:n.panel})}return t[e.index+1]||null}getProgressInPanel(e){const t=e.range;return(this._position-t.min)/(t.max-t.min)}findAnchorIncludePosition(e){return this._mode.findAnchorIncludePosition(e)}findNearestAnchor(e){return this._mode.findNearestAnchor(e)}findActiveAnchor(){var e;const t=k(this._flicking).control.activePanel;return t?null!=(e=X(this._anchors,e=>e.panel.index===t.index))?e:this.findNearestAnchor(t.position):null}clampToReachablePosition(e){return this._mode.clampToReachablePosition(e)}canReach(e){return this._mode.canReach(e)}canSee(e){return this._mode.canSee(e)}updateRange(){const e=k(this._flicking).renderer.panels;return this._updateMode(),this._range=this._mode.getRange(),e.forEach(e=>e.updateCircularToggleDirection()),this}updateAlignPos(){const e=this._align,t="object"==typeof e?e.camera:e;return this._alignPos=L(t,this.size),this}updateAnchors(){return this._anchors=this._mode.getAnchors(),this}updateAdaptiveHeight(){const e=k(this._flicking),t=e.control.activePanel,n=[...e.visiblePanels];if(t&&n.push(t),!e.horizontal||!e.adaptive||!n.length)return;const i=Math.max(...n.map(e=>e.height));e.viewport.setSize({height:i})}updateOffset(){const e=k(this._flicking),t=this._position,n=e.panels.filter(e=>!e.rendered);return this._offset=n.filter(e=>e.position+e.offset<t).reduce((e,t)=>e+t.sizeIncludingMargin,0),this._circularOffset=this._mode.getCircularOffset(),this.applyTransform(),this}updatePanelOrder(){const e=k(this._flicking);if(!e.horizontal)return this;const t=this._el,n=K(t).direction;return n!==this._panelOrder&&(this._panelOrder=n===x.RTL?x.RTL:x.LTR,e.initialized&&e.control.controller.updateDirection()),this}resetNeedPanelHistory(){return this._needPanelTriggered={prev:!1,next:!1},this}applyTransform(){const e=this._el,t=k(this._flicking);if(t.renderer.rendering||!t.initialized)return this;const n=this._position-this._alignPos-this._offset+this._circularOffset;return e.style[this._transform]=t.horizontal?`translate(${this._panelOrder===x.RTL?n:-n}px)`:`translate(0, ${-n}px)`,this}_resetInternalValues(){this._position=0,this._lookedOffset=0,this._alignPos=0,this._offset=0,this._circularOffset=0,this._circularEnabled=!1,this._range={min:0,max:0},this._visiblePanels=[],this._anchors=[],this._needPanelTriggered={prev:!1,next:!1}}_refreshVisiblePanels(){const t=k(this._flicking),n=t.renderer.panels.filter(e=>this.canSee(e)),i=this._visiblePanels;this._visiblePanels=n;const r=n.filter(e=>!W(i,e)),s=i.filter(e=>!W(n,e));(r.length>0||s.length>0)&&t.renderer.render().then(()=>{t.trigger(new e.ComponentEvent(b.VISIBLE_CHANGE,{added:r,removed:s,visiblePanels:n}))})}_checkNeedPanel(){const t=this._needPanelTriggered;if(t.prev&&t.next)return;const n=k(this._flicking),i=n.renderer.panels;if(i.length<=0)return t.prev||(n.trigger(new e.ComponentEvent(b.NEED_PANEL,{direction:f.PREV})),t.prev=!0),void(t.next||(n.trigger(new e.ComponentEvent(b.NEED_PANEL,{direction:f.NEXT})),t.next=!0));const r=this._position,s=this.size,o=this._range,a=n.needPanelThreshold,l=r-this._alignPos,h=l+s,c=i[0],d=i[i.length-1];if(!t.prev){(l<=c.range.min+a||r<=o.min+a)&&(n.trigger(new e.ComponentEvent(b.NEED_PANEL,{direction:f.PREV})),t.prev=!0)}if(!t.next){(h>=d.range.max-a||r>=o.max-a)&&(n.trigger(new e.ComponentEvent(b.NEED_PANEL,{direction:f.NEXT})),t.next=!0)}}_checkReachEnd(t,n){const i=k(this._flicking),r=this._range,s=t>r.min&&t<r.max,o=n>r.min&&n<r.max;if(!s||o)return;const a=n<=r.min?f.PREV:f.NEXT;i.trigger(new e.ComponentEvent(b.REACH_EDGE,{direction:a}))}_updateMode(){const e=k(this._flicking);if(e.circular){const t=new he(e),n=t.checkAvailability();if(n)this._mode=t;else{const t=e.circularFallback;this._mode=t===P.BOUND?new le(e):new ce(e)}this._circularEnabled=n}else this._mode=e.bound?new le(e):new ce(e),this._circularEnabled=!1}_togglePanels(e,t){if(t===e)return!1;return k(this._flicking).renderer.panels.map(n=>n.toggle(e,t)).some(e=>e)}};const ue=Object.freeze(Object.defineProperty({__proto__:null,BoundCameraMode:le,Camera:de,CircularCameraMode:he,LinearCameraMode:ce},Symbol.toStringTag,{value:"Module"})),ge={HOLD:"hold",CHANGE:"change",RELEASE:"release",ANIMATION_END:"animationEnd",FINISH:"finish"},_e="flick";var pe=(e=>(e[e.IDLE=0]="IDLE",e[e.HOLDING=1]="HOLDING",e[e.DRAGGING=2]="DRAGGING",e[e.ANIMATING=3]="ANIMATING",e[e.DISABLED=4]="DISABLED",e))(pe||{});class me{constructor(){this._delta=0,this._targetPanel=null}get delta(){return this._delta}get targetPanel(){return this._targetPanel}set targetPanel(e){this._targetPanel=e}onEnter(e){this._delta=e._delta,this._targetPanel=e._targetPanel}onHold(e){}onChange(e){}onRelease(e){}onAnimationEnd(e){}onFinish(e){}_moveToChangedPosition(t){const{flicking:n,axesEvent:i,transitTo:r}=t,s=i.delta[_e];if(!s)return;this._delta+=s;const o=n.camera,a=o.position,l=i.pos[_e],h=n.circularEnabled?$(l,o.range.min,o.range.max):l;o.lookAt(h);const c=new e.ComponentEvent(b.MOVE,{isTrusted:i.isTrusted,holding:this.holding,direction:G(0,i.delta[_e]),axesEvent:i});n.trigger(c),c.isCanceled()&&(o.lookAt(a),r(4))}}class fe extends me{constructor(){super(...arguments),this.holding=!1,this.animating=!0}onHold(t){const{flicking:n,axesEvent:i,transitTo:r}=t,s=this._targetPanel,o=n.control;this._delta=0,n.control.updateInput(),n.changeOnHold&&s&&o.setActive(s,o.activePanel,i.isTrusted);const a=new e.ComponentEvent(b.HOLD_START,{axesEvent:i});n.trigger(a),a.isCanceled()?r(pe.DISABLED):r(pe.DRAGGING)}onChange(e){this._moveToChangedPosition(e)}onFinish(t){const{flicking:n,axesEvent:i,transitTo:r}=t,s=n.control,o=s.controller.animatingContext;r(pe.IDLE),n.trigger(new e.ComponentEvent(b.MOVE_END,{isTrusted:i.isTrusted,direction:G(o.start,o.end),axesEvent:i}));const a=this._targetPanel;a&&s.setActive(a,s.activePanel,i.isTrusted)}}class ve extends me{constructor(){super(...arguments),this.holding=!1,this.animating=!0}onAnimationEnd(e){const{transitTo:t}=e;t(pe.IDLE)}onChange(e){const{axesEvent:t,transitTo:n}=e;t.stop(),n(pe.IDLE)}onRelease(e){const{axesEvent:t,transitTo:n}=e;0===t.delta.flick&&n(pe.IDLE)}}class Ee extends me{constructor(){super(...arguments),this.holding=!0,this.animating=!0}onChange(e){this._moveToChangedPosition(e)}onRelease(t){const{flicking:n,axesEvent:i,transitTo:r}=t;if(n.trigger(new e.ComponentEvent(b.HOLD_END,{axesEvent:i})),n.renderer.panelCount<=0)return void r(pe.IDLE);r(pe.ANIMATING);const s=n.control,o=i.destPos[_e],a=Math.max(i.duration,n.duration);try{s.moveToPosition(o,a,i)}catch(l){r(pe.IDLE),i.setTo({[_e]:n.camera.position},0)}}}class Pe extends me{constructor(){super(...arguments),this.holding=!0,this.animating=!1,this._releaseEvent=null}onChange(t){const{flicking:n,axesEvent:i,transitTo:r}=t,s=i.inputEvent;if(!s)return;const o=n.horizontal?s.offsetX:s.offsetY,a=new e.ComponentEvent(b.MOVE_START,{isTrusted:i.isTrusted,holding:this.holding,direction:G(0,-o),axesEvent:i});n.trigger(a),a.isCanceled()?r(pe.DISABLED):r(pe.DRAGGING).onChange(t)}onRelease(t){const{flicking:n,axesEvent:i,transitTo:r}=t;if(n.trigger(new e.ComponentEvent(b.HOLD_END,{axesEvent:i})),0!==i.delta.flick)return i.setTo({flick:n.camera.position},0),void r(pe.IDLE);this._releaseEvent=i}onFinish(t){const{flicking:n,transitTo:i}=t;if(i(pe.IDLE),!this._releaseEvent)return;const r=this._releaseEvent.inputEvent.srcEvent;let s;if("touchend"===r.type){const e=r.changedTouches[0];s=document.elementFromPoint(e.clientX,e.clientY)}else s=r.target;const o=n.renderer.panels;let a=null;for(const e of o)if(e.contains(s)){a=e;break}if(a){const t=n.camera.position,i=a.position;n.trigger(new e.ComponentEvent(b.SELECT,{index:a.index,panel:a,direction:G(t,i)}))}}}class xe extends me{constructor(){super(...arguments),this.holding=!1,this.animating=!1}onEnter(){this._delta=0,this._targetPanel=null}onHold(t){const{flicking:n,axesEvent:i,transitTo:r}=t;if(n.renderer.panelCount<=0)return void r(pe.DISABLED);const s=new e.ComponentEvent(b.HOLD_START,{axesEvent:i});n.trigger(s),s.isCanceled()?r(pe.DISABLED):r(pe.HOLDING)}onChange(t){const{flicking:n,axesEvent:i,transitTo:r}=t,s=n.control.controller.animatingContext,o=new e.ComponentEvent(b.MOVE_START,{isTrusted:i.isTrusted,holding:this.holding,direction:G(s.start,s.end),axesEvent:i});n.trigger(o),o.isCanceled()?r(pe.DISABLED):r(pe.ANIMATING).onChange(t)}}class Oe{constructor(){this.transitTo=e=>{let t;switch(e){case pe.IDLE:t=new xe;break;case pe.HOLDING:t=new Pe;break;case pe.DRAGGING:t=new Ee;break;case pe.ANIMATING:t=new fe;break;case pe.DISABLED:t=new ve}return t.onEnter(this._state),this._state=t,this._state},this._state=new xe}get state(){return this._state}fire(e,t){const n=this._state,i=_(g({},t),{transitTo:this.transitTo});switch(e){case ge.HOLD:n.onHold(i);break;case ge.CHANGE:n.onChange(i);break;case ge.RELEASE:n.onRelease(i);break;case ge.ANIMATION_END:n.onAnimationEnd(i);break;case ge.FINISH:n.onFinish(i)}}}class Te{constructor(){this._onAxesHold=()=>{this._dragged=!1},this._onAxesChange=()=>{var e;this._dragged=!!(null==(e=this._panInput)?void 0:e.isEnabled())},this._preventClickWhenDragged=e=>{this._dragged&&(e.preventDefault(),e.stopPropagation()),this._dragged=!1},this._resetInternalValues(),this._stateMachine=new Oe}get axes(){return this._axes}get panInput(){return this._panInput}get stateMachine(){return this._stateMachine}get state(){return this._stateMachine.state}get animatingContext(){return this._animatingContext}get controlParams(){const e=this._axes;if(!e)return{range:{min:0,max:0},position:0,circular:!1};const t=e.axis[_e];return{range:{min:t.range[0],max:t.range[1]},circular:t.circular[0],position:this.position}}get enabled(){var e,t;return null!=(t=null==(e=this._panInput)?void 0:e.isEnabled())&&t}get position(){var e,t;return null!=(t=null==(e=this._axes)?void 0:e.get([_e])[_e])?t:0}get range(){var e,t;return null!=(t=null==(e=this._axes)?void 0:e.axis[_e].range)?t:[0,0]}get bounce(){var e;return null==(e=this._axes)?void 0:e.axis[_e].bounce}init(e){this._flicking=e,this._axes=new t({[_e]:{range:[0,0],circular:!1,bounce:[0,0]}},{deceleration:e.deceleration,interruptable:e.interruptable,nested:e.nested,easing:e.easing}),this._panInput=new t.PanInput(e.viewport.element,{inputType:e.inputType,threshold:e.dragThreshold,iOSEdgeSwipeThreshold:e.iOSEdgeSwipeThreshold,preventDefaultOnDrag:e.preventDefaultOnDrag,scale:e.horizontal?[e.camera.panelOrder===x.RTL?1:-1,0]:[0,-1],releaseOnScroll:!0});const n=this._axes;n.connect(e.horizontal?[_e,""]:["",_e],this._panInput);for(const t in ge){const i=ge[t];n.on(i,t=>{this._stateMachine.fire(i,{flicking:e,axesEvent:t})})}return this}destroy(){var e;this._axes&&(this.removePreventClickHandler(),this._axes.destroy()),null==(e=this._panInput)||e.destroy(),this._resetInternalValues()}enable(){var e;return null==(e=this._panInput)||e.enable(),this}disable(){var e;return null==(e=this._panInput)||e.disable(),this}release(){var e;return null==(e=this._panInput)||e.release(),this}updateAnimation(e,t){var n;return this._animatingContext=_(g({},this._animatingContext),{end:e}),null==(n=this._axes)||n.updateAnimation({destPos:{[_e]:e},duration:t}),this}stopAnimation(){var e;return null==(e=this._axes)||e.stopAnimation(),this}update(e){const t=k(this._flicking),n=t.camera,i=this._axes,r=i.axis[_e];return r.circular=[e.circular,e.circular],r.range=[e.range.min,e.range.max],r.bounce=M(t.bounce,n.size),i.axisManager.set({[_e]:e.position}),this}addPreventClickHandler(){const e=k(this._flicking),t=this._axes,n=e.camera.element;return t.on(ge.HOLD,this._onAxesHold),t.on(ge.CHANGE,this._onAxesChange),n.addEventListener("click",this._preventClickWhenDragged,!0),this}removePreventClickHandler(){const e=k(this._flicking),t=this._axes,n=e.camera.element;return t.off(ge.HOLD,this._onAxesHold),t.off(ge.CHANGE,this._onAxesChange),n.removeEventListener("click",this._preventClickWhenDragged,!0),this}animateTo(e,t,n){var i;const r=this._axes,s=this._stateMachine.state;if(!r)return Promise.reject(new oe(N.NOT_ATTACHED_TO_FLICKING,S.NOT_ATTACHED_TO_FLICKING));const o=this.getCurrentPosition();if(o===e){const t=k(this._flicking);return t.camera.lookAt(e),s.targetPanel&&t.control.setActive(s.targetPanel,t.control.activePanel,null!=(i=null==n?void 0:n.isTrusted)&&i),Promise.resolve()}this._animatingContext={start:o,end:e,offset:0};const a=()=>{r.once(ge.FINISH,()=>{this._animatingContext={start:0,end:0,offset:0}}),n?n.setTo({[_e]:e},t):r.setTo({[_e]:e},t)};return new Promise((e,t)=>{const n=()=>{r.off(ge.HOLD,i),e()},i=()=>{r.off(ge.FINISH,n),t(new oe(N.ANIMATION_INTERRUPTED,S.ANIMATION_INTERRUPTED))};r.once(ge.FINISH,n),r.once(ge.HOLD,i),a()})}getCurrentPosition(){var e,t;return null!=(t=null==(e=this._axes)?void 0:e.get([_e])[_e])?t:0}updateDirection(){const e=k(this._flicking),t=this._axes,n=this._panInput;t.disconnect(n),t.connect(e.horizontal?[_e,""]:["",_e],n),n.options.scale=e.horizontal?[e.camera.panelOrder===x.RTL?1:-1,0]:[0,-1]}_resetInternalValues(){this._flicking=null,this._axes=null,this._panInput=null,this._animatingContext={start:0,end:0,offset:0},this._dragged=!1}}let be=class{get controller(){return this._controller}get activeIndex(){var e,t;return null!=(t=null==(e=this._activePanel)?void 0:e.index)?t:-1}get activePanel(){return this._activePanel}get animating(){return this._controller.state.animating}get holding(){return this._controller.state.holding}constructor(){this._flicking=null,this._controller=new Te,this._activePanel=null}init(e){return this._flicking=e,this._controller.init(e),this}destroy(){this._controller.destroy(),this._flicking=null,this._activePanel=null}enable(){return this._controller.enable(),this}disable(){return this._controller.disable(),this}release(){return this._controller.release(),this}updateAnimation(e,t,n){const i=this._controller.state,r=this._getPosition(e,null!=n?n:f.NONE);return i.targetPanel=e,this._controller.updateAnimation(r,t),this}stopAnimation(){return this._controller.state.targetPanel=null,this._controller.stopAnimation(),this}updatePosition(e){const t=k(this._flicking).camera,n=this._activePanel;n&&t.lookAt(t.clampToReachablePosition(n.position))}updateInput(){const e=k(this._flicking).camera;return this._controller.update(e.controlParams),this}resetActive(){return this._activePanel=null,this}moveToPanel(e,t){return p(this,arguments,function*(e,{duration:t,direction:n=f.NONE,axesEvent:i}){const r=this._getPosition(e,n);return this._triggerIndexChangeEvent(e,e.position,i,n),this._animateToPosition({position:r,duration:t,newActivePanel:e,axesEvent:i})})}setActive(t,n,i){var r;const s=k(this._flicking);this._activePanel=t,this._nextPanel=null,s.camera.updateAdaptiveHeight(),t!==n?s.trigger(new e.ComponentEvent(b.CHANGED,{index:t.index,panel:t,prevIndex:null!=(r=null==n?void 0:n.index)?r:-1,prevPanel:n,isTrusted:i,direction:n?G(n.position,t.position):f.NONE})):s.trigger(new e.ComponentEvent(b.RESTORED,{isTrusted:i}))}copy(e){this._flicking=e._flicking,this._activePanel=e._activePanel,this._controller=e._controller}_triggerIndexChangeEvent(t,n,i,r){var s;const o=k(this._flicking),a=t!==this._activePanel?b.WILL_CHANGE:b.WILL_RESTORE,l=o.camera,h=this._activePanel,c=new e.ComponentEvent(a,{index:t.index,panel:t,isTrusted:(null==i?void 0:i.isTrusted)||!1,direction:null!=r?r:G(null!=(s=null==h?void 0:h.position)?s:l.position,n)});if(this._nextPanel=t,o.trigger(c),c.isCanceled())throw new oe(N.STOP_CALLED_BY_USER,S.STOP_CALLED_BY_USER)}_animateToPosition(e){return p(this,arguments,function*({position:e,duration:t,newActivePanel:n,axesEvent:i}){const r=k(this._flicking);let s=t;Math.abs(s-e)<r.animationThreshold&&(s=0);const o=()=>this._controller.animateTo(e,s,i);return this._controller.state.targetPanel=n,s<=0?o():o().then(()=>p(this,null,function*(){r.initialized&&(yield r.renderer.render())})).catch(e=>{if(!(i&&e instanceof oe&&e.code===S.ANIMATION_INTERRUPTED))throw e})})}_getPosition(e,t=f.NONE){const n=k(this._flicking),i=n.camera;let r=e.position;const s=i.findNearestAnchor(r);if(e.removed||!s)throw new oe(N.POSITION_NOT_REACHABLE(e.position),S.POSITION_NOT_REACHABLE);if(i.canReach(e)){if(n.circularEnabled){const e=this._controller.position,n=i.rangeDiff,s=[r,r+n,r-n].filter(n=>t===f.NONE||(t===f.PREV?n<=e:n>=e));r=s.reduce((t,n)=>Math.abs(e-n)<Math.abs(e-t)?n:t,1/0)}}else r=s.position,e=s.panel;return r}};class Re extends be{get stopAtEdge(){return this._stopAtEdge}set stopAtEdge(e){this._stopAtEdge=e}constructor(e={}){super();const{stopAtEdge:t=!0}=e;this._stopAtEdge=t}updatePosition(e){const t=k(this._flicking).camera,n=this._activePanel;if(n){const i=n.range,r=i.min+(i.max-i.min)*e;t.lookAt(t.clampToReachablePosition(r))}}moveToPosition(e,t,n){const i=k(this._flicking).camera,r=i.clampToReachablePosition(e),s=i.findAnchorIncludePosition(r);if(!s)return Promise.reject(new oe(N.POSITION_NOT_REACHABLE(e),S.POSITION_NOT_REACHABLE));const o=s.panel;return o!==this._activePanel&&this._triggerIndexChangeEvent(o,e,n),this._animateToPosition({position:this._stopAtEdge?r:e,duration:t,newActivePanel:o,axesEvent:n})}}class Ie extends be{get count(){return this._count}set count(e){this._count=e}constructor(e={}){super();const{count:t=1/0}=e;this._count=t}moveToPosition(e,t,n){const i=k(this._flicking),r=i.camera,s=r.findActiveAnchor(),o=r.findNearestAnchor(r.position),a=this._controller.state;if(!s||!o)return Promise.reject(new oe(N.POSITION_NOT_REACHABLE(e),S.POSITION_NOT_REACHABLE));const l=this._calcSnapThreshold(i.threshold,e,s),h=i.animating?a.delta:e-r.position,c=Math.abs(h),d=n&&0!==n.delta[_e]?Math.abs(n.delta[_e]):c;let u;if(d>=l&&d>0)u=this._findSnappedAnchor(e,o);else{if(!(c>=i.threshold&&c>0))return this.moveToPanel(o.panel,{duration:t,axesEvent:n});u=this._findAdjacentAnchor(e,h,o)}return this._triggerIndexChangeEvent(u.panel,e,n),this._animateToPosition({position:r.clampToReachablePosition(u.position),duration:t,newActivePanel:u.panel,axesEvent:n})}_findSnappedAnchor(e,t){const n=k(this._flicking),i=n.camera,r=this._count,s=i.position,o=i.clampToReachablePosition(e),a=i.findAnchorIncludePosition(o);if(!t||!a)throw new oe(N.POSITION_NOT_REACHABLE(e),S.POSITION_NOT_REACHABLE);if(!Number.isFinite(r))return a;const l=n.panelCount,h=i.anchorPoints;let c=Math.sign(e-s)*Math.floor(Math.abs(e-s)/i.rangeDiff);e>s&&a.index<t.index||a.position>t.position&&a.index===t.index?c+=1:(e<s&&a.index>t.index||a.position<t.position&&a.index===t.index)&&(c-=1);const d=c*l,u=a.index+d;if(Math.abs(u-t.index)<=r){const e=h[a.index];return new I({index:e.index,position:e.position+c*i.rangeDiff,panel:e.panel})}if(n.circularEnabled){const n=h[Q(t.index+Math.sign(e-s)*r,l)];let o=Math.floor(r/l);return e>s&&n.index<t.index?o+=1:e<s&&n.index>t.index&&(o-=1),new I({index:n.index,position:n.position+o*i.rangeDiff,panel:n.panel})}return h[w(t.index+Math.sign(e-s)*r,0,h.length-1)]}_findAdjacentAnchor(e,t,n){var i;const r=k(this._flicking).camera;if(r.circularEnabled){const t=r.findAnchorIncludePosition(e);if(t&&t.position!==n.position)return t}return null!=(i=t>0?r.getNextAnchor(n):r.getPrevAnchor(n))?i:n}_calcSnapThreshold(e,t,n){const i=t>n.position,r=n.panel,s=r.size,o=r.alignPosition;return Math.max(e,i?s-o+r.margin.next:o+r.margin.prev)}}class Ae extends be{constructor(e={}){super(),this.setActive=(e,t,n)=>{super.setActive(e,t,n),this.updateInput()};const{count:t=1}=e;this._count=t,this._resetIndexRange()}get count(){return this._count}set count(e){this._count=e}destroy(){super.destroy(),this._resetIndexRange()}updateInput(){var e;const t=k(this._flicking),n=t.camera,i=t.renderer,r=this._controller,s=n.controlParams,o=this._count,a=r.state.animating?null==(e=n.findNearestAnchor(n.position))?void 0:e.panel:this._activePanel;if(!a)return r.update(s),this._resetIndexRange(),this;const l=s.range,h=a.position,c=a.index,d=i.panelCount;let u=c-o,g=c+o;u<0&&(u=t.circularEnabled?B((u+1)%d-1,d):w(u,0,d-1)),g>=d&&(g=t.circularEnabled?g%d:w(g,0,d-1));const _=i.panels[u],p=i.panels[g];let m=Math.max(_.position,l.min),f=Math.min(p.position,l.max);return m>h&&(m-=n.rangeDiff),f<h&&(f+=n.rangeDiff),s.range={min:m,max:f},s.circular&&(s.position<m&&(s.position+=n.rangeDiff),s.position>f&&(s.position-=n.rangeDiff)),s.circular=!1,r.update(s),this._indexRange={min:_.index,max:p.index},this}moveToPanel(e,t){return p(this,null,function*(){const n=k(this._flicking).camera;return this._controller.update(n.controlParams),(i=Ae.prototype,r=this,s="moveToPanel",c(a(i),s,r)).call(this,e,t);var i,r,s})}moveToPosition(e,t,n){var i;const r=k(this._flicking),s=r.camera,o=null!=(i=this._nextPanel)?i:this._activePanel,a=this._controller.range,l=this._indexRange,h=s.range,c=this._controller.state,d=w(s.clampToReachablePosition(e),a[0],a[1]),u=s.findAnchorIncludePosition(d);if(!u||!o)return Promise.reject(new oe(N.POSITION_NOT_REACHABLE(e),S.POSITION_NOT_REACHABLE));const g=o.position,_=r.animating?c.delta:e-s.position,p=Math.abs(_)>=r.threshold,m=e>g?s.getNextAnchor(u):s.getPrevAnchor(u);let f,v;const E=s.anchorPoints,P=E[0],x=E[E.length-1],O=e<h.min&&J(P.panel.index,l.min,l.max),T=e>h.max&&J(x.panel.index,l.min,l.max),b=m&&(l.min<=l.max?J(m.index,l.min,l.max):m.index>=l.min||m.index<=l.max);if(O||T){const t=e<h.min?P:x;v=t.panel,f=t.position}else if(p&&u.position!==o.position)v=u.panel,f=u.position;else{if(!p||!b){const i=s.findNearestAnchor(s.position);return i?this.moveToPanel(i.panel,{duration:t,axesEvent:n}):Promise.reject(new oe(N.POSITION_NOT_REACHABLE(e),S.POSITION_NOT_REACHABLE))}v=m.panel,f=m.position}return this._triggerIndexChangeEvent(v,e,n),this._animateToPosition({position:f,duration:t,newActivePanel:v,axesEvent:n})}_resetIndexRange(){this._indexRange={min:0,max:0}}}const Se=Object.freeze(Object.defineProperty({__proto__:null,AnimatingState:fe,AxesController:Te,Control:be,DisabledState:ve,DraggingState:Ee,FreeControl:Re,HoldingState:Pe,IdleState:xe,SnapControl:Ie,State:me,StateMachine:Oe,StrictControl:Ae},Symbol.toStringTag,{value:"Module"}));class Ne{constructor(e){this._onResizeWrapper=()=>{this._onResize([])},this._onResize=e=>{const t=this._flicking,n=t.resizeDebounce,i=t.maxResizeDebounce,r=t.element;if(e.find(e=>e.target===t.element)&&1===e.length){const e={width:t.viewport.width,height:t.viewport.height},n={width:te({el:r,horizontal:!0,useFractionalSize:this._flicking.useFractionalSize,useOffset:!1,style:K(r)}),height:te({el:r,horizontal:!1,useFractionalSize:this._flicking.useFractionalSize,useOffset:!1,style:K(r)})};if(e.height===n.height&&e.width===n.width)return}n<=0?t.resize():(this._maxResizeDebounceTimer<=0&&i>0&&i>=n&&(this._maxResizeDebounceTimer=window.setTimeout(this._doScheduledResize,i)),this._resizeTimer>0&&(clearTimeout(this._resizeTimer),this._resizeTimer=0),this._resizeTimer=window.setTimeout(this._doScheduledResize,n))},this._doScheduledResize=()=>{clearTimeout(this._resizeTimer),clearTimeout(this._maxResizeDebounceTimer),this._maxResizeDebounceTimer=-1,this._resizeTimer=-1,this._flicking.resize()},this._skipFirstResize=(()=>{let e=!0;return t=>{e?e=!1:this._onResize(t)}})(),this._flicking=e,this._enabled=!1,this._resizeObserver=null,this._resizeTimer=-1,this._maxResizeDebounceTimer=-1}get enabled(){return this._enabled}enable(){const e=this._flicking,t=e.viewport;if(this._enabled&&this.disable(),e.useResizeObserver&&window.ResizeObserver){const n=0!==t.width||0!==t.height?new ResizeObserver(this._skipFirstResize):new ResizeObserver(this._onResize);this._resizeObserver=n,this.observe(e.viewport.element),e.observePanelResize&&this.observePanels()}else window.addEventListener("resize",this._onResizeWrapper);return this._enabled=!0,this}observePanels(){return this._flicking.panels.forEach(e=>{this.observe(e.element)}),this}unobservePanels(){return this._flicking.panels.forEach(e=>{this.unobserve(e.element)}),this}observe(e){const t=this._resizeObserver;return t?(t.observe(e),this):this}unobserve(e){const t=this._resizeObserver;return t?(t.unobserve(e),this._flicking.observePanelResize&&this.unobservePanels(),this):this}disable(){if(!this._enabled)return this;const e=this._resizeObserver;return e?(e.disconnect(),this._resizeObserver=null):window.removeEventListener("resize",this._onResizeWrapper),this._enabled=!1,this}}class Ce{get element(){return this._element}get rendered(){return this._rendered}constructor(e){this._element=e,this._rendered=!0}show(e){const t=this.element,n=e.camera.element;t.parentElement!==n&&(n.appendChild(t),this._rendered=!0)}hide(e){const t=this.element,n=e.camera.element;t.parentElement===n&&(n.removeChild(t),this._rendered=!1)}}class ze{get element(){return this._virtualElement.nativeElement}get rendered(){return this._virtualElement.visible}get _virtualElement(){const e=this._flicking,t=this._panel.elementIndex;return e.virtual.elements[t]}constructor(e){this._flicking=e}init(e){this._panel=e}show(){}hide(){}}class ye{get element(){return this._el}get width(){return this._width-this._padding.left-this._padding.right}get height(){return this._height-this._padding.top-this._padding.bottom}get padding(){return this._padding}constructor(e,t){this._flicking=e,this._el=t,this._width=0,this._height=0,this._padding={left:0,right:0,top:0,bottom:0},this._isBorderBoxSizing=!1}setSize(e){const{width:t,height:n}=e,i=this._el,r=this._padding,s=this._isBorderBoxSizing;if(null!=t)if(U(t))i.style.width=t;else{const e=s?t+r.left+r.right:t;i.style.width=`${e}px`}if(null!=n)if(U(n))i.style.height=n;else{const e=s?n+r.top+r.bottom:n;i.style.height=`${e}px`}this.resize()}resize(){const e=this._el,t=K(e),{useFractionalSize:n}=this._flicking;this._width=te({el:e,horizontal:!0,useFractionalSize:n,useOffset:!1,style:t}),this._height=te({el:e,horizontal:!1,useFractionalSize:n,useOffset:!1,style:t}),this._padding={left:t.paddingLeft?parseFloat(t.paddingLeft):0,right:t.paddingRight?parseFloat(t.paddingRight):0,top:t.paddingTop?parseFloat(t.paddingTop):0,bottom:t.paddingBottom?parseFloat(t.paddingBottom):0},this._isBorderBoxSizing="border-box"===t.boxSizing}}class we{get elements(){return this._elements}get renderPanel(){return this._renderPanel}get initialPanelCount(){return this._initialPanelCount}get cache(){return this._cache}get panelClass(){return this._panelClass}set renderPanel(e){this._renderPanel=e,this._flicking.renderer.panels.forEach(e=>e.uncacheRenderResult())}set cache(e){this._cache=e}set panelClass(e){this._panelClass=e}constructor(e,t){var n,i,r,s;this._flicking=e,this._renderPanel=null!=(n=null==t?void 0:t.renderPanel)?n:()=>"",this._initialPanelCount=null!=(i=null==t?void 0:t.initialPanelCount)?i:-1,this._cache=null!=(r=null==t?void 0:t.cache)&&r,this._panelClass=null!=(s=null==t?void 0:t.panelClass)?s:E.DEFAULT_VIRTUAL,this._elements=[]}init(){const e=this._flicking;if(!e.virtualEnabled)return;e.externalRenderer||e.renderExternal||this._initVirtualElements();const t=e.camera.children;this._elements=t.map(e=>({nativeElement:e,visible:!0}))}show(e){const t=this._elements[e],n=t.nativeElement;t.visible=!0,n.style.display&&(n.style.display="")}hide(e){const t=this._elements[e],n=t.nativeElement;t.visible=!1,n.style.display="none"}append(e=1){const t=this._flicking;return this.insert(t.panels.length,e)}prepend(e=1){return this.insert(0,e)}insert(e,t=1){if(t<=0)return[];return this._flicking.renderer.batchInsert({index:e,elements:ee(t),hasDOMInElements:!1})}remove(e,t){if(t<=0)return[];return this._flicking.renderer.batchRemove({index:e,deleteCount:t,hasDOMInElements:!1})}_initVirtualElements(){const e=this._flicking,t=e.camera.element,n=e.panelsPerView,i=document.createDocumentFragment();ee(n+1).map(e=>{const t=document.createElement("div");return t.className=this._panelClass,t.dataset.elementIndex=e.toString(),t}).forEach(e=>{i.appendChild(e)}),t.appendChild(i)}}let ke=class{get panels(){return this._panels}get rendering(){return this._rendering}get panelCount(){return this._panels.length}get strategy(){return this._strategy}get align(){return this._align}set align(e){this._align=e;const t=V(e);this._panels.forEach(e=>{e.align=t})}constructor(e){const{align:t=m.CENTER,strategy:n}=e;this._flicking=null,this._panels=[],this._rendering=!1,this._align=t,this._strategy=n}init(e){return this._flicking=e,this._collectPanels(),this}destroy(){this._flicking=null,this._panels=[]}getPanel(e){return this._panels[e]||null}forceRenderAllPanels(){return this._panels.forEach(e=>e.markForShow()),Promise.resolve()}getRenderedPanels(){return k(this._flicking).renderer.panels.filter(e=>e.rendered)}updatePanelSize(){const e=k(this._flicking),t=this._panels;if(t.length<=0)return this;if(e.panelsPerView>0){const e=t[0];e.resize(),this._updatePanelSizeByGrid(e,t)}else e.panels.forEach(e=>e.resize());return this}batchInsert(...e){const t=this.batchInsertDefer(...e);return t.length<=0?[]:(this.updateAfterPanelChange(t,[]),t)}batchInsertDefer(...e){const t=this._panels,n=k(this._flicking),i=t[0],r=V(this._align);return e.reduce((e,s)=>{var o;const a=B(s.index,t.length),l=t.slice(a),h=s.elements.map((e,t)=>this._createPanel(e,{index:a+t,align:r,flicking:n}));if(t.splice(a,0,...h),s.hasDOMInElements&&this._insertPanelElements(h,null!=(o=l[0])?o:null),n.panelsPerView>0){const e=i||h[0].resize();this._updatePanelSizeByGrid(e,h)}else h.forEach(e=>e.resize());return l.forEach(e=>{e.increaseIndex(h.length),e.updatePosition()}),[...e,...h]},[])}batchRemove(...e){const t=this.batchRemoveDefer(...e);return t.length<=0?[]:(this.updateAfterPanelChange([],t),t)}batchRemoveDefer(...e){const t=this._panels,n=k(this._flicking),{control:i}=n,r=i.activePanel;return e.reduce((e,n)=>{const{index:s,deleteCount:o}=n,a=B(s,t.length),l=t.slice(a+o),h=t.splice(a,o);return h.length<=0?[]:(l.forEach(e=>{e.decreaseIndex(h.length),e.updatePosition()}),n.hasDOMInElements&&this._removePanelElements(h),h.forEach(e=>e.destroy()),W(h,r)&&i.resetActive(),[...e,...h])},[])}updateAfterPanelChange(t,n){var i;const r=k(this._flicking),{camera:s,control:o}=r,a=this._panels,l=o.activePanel;if(this._updateCameraAndControl(),r.autoResize&&r.useResizeObserver&&(t.forEach(e=>{e.element&&r.autoResizer.observe(e.element)}),n.forEach(e=>{e.element&&r.autoResizer.unobserve(e.element)})),this.render(),!r.animating)if(!l||l.removed)if(a.length<=0)s.lookAt(0);else{let e=null!=(i=null==l?void 0:l.index)?i:0;e>a.length-1&&(e=a.length-1),o.moveToPanel(a[e],{duration:0}).catch(()=>{})}else o.moveToPanel(l,{duration:0}).catch(()=>{});r.camera.updateOffset(),(t.length>0||n.length>0)&&(r.trigger(new e.ComponentEvent(b.PANEL_CHANGE,{added:t,removed:n})),this.checkPanelContentsReady([...t,...n]))}checkPanelContentsReady(e){const t=k(this._flicking),i=t.resizeOnContentsReady,r=this._panels;if(!i||t.virtualEnabled)return;if((e=e.filter(e=>(e=>e.element&&!!e.element.querySelector("img, video"))(e))).length<=0)return;const s=new n;e.forEach(e=>{e.loading=!0}),s.on("readyElement",n=>{if(!this._flicking)return void s.destroy();const i=e[n.index],o=t.camera,a=t.control,l=a.activePanel?o.getProgressInPanel(a.activePanel):0;i.loading=!1,i.resize(),r.slice(i.index+1).forEach(e=>e.updatePosition()),t.initialized&&(o.updateRange(),o.updateOffset(),o.updateAnchors(),a.animating||(a.updatePosition(l),a.updateInput()))}),s.on("preReady",e=>{this._flicking&&this.render(),e.readyCount===e.totalCount&&s.destroy()}),s.on("ready",()=>{this._flicking&&this.render(),s.destroy()}),s.check(e.map(e=>e.element))}_updateCameraAndControl(){const e=k(this._flicking),{camera:t,control:n}=e;t.updateRange(),t.updateOffset(),t.updateAnchors(),t.resetNeedPanelHistory(),n.updateInput()}_showOnlyVisiblePanels(e){const t=e.renderer.panels,n=e.camera.visiblePanels.reduce((e,t)=>(e[t.index]=!0,e),{});t.forEach(t=>{t.index in n||t.loading?t.markForShow():e.holding||t.markForHide()})}_updatePanelSizeByGrid(e,t){const n=k(this._flicking),i=n.panelsPerView;if(i<=0)throw new oe(N.WRONG_OPTION("panelsPerView",i),S.WRONG_OPTION);if(t.length<=0)return;const r=(n.camera.size-(e.margin.prev+e.margin.next)*(i-1))/i,s=n.horizontal?{width:r}:{height:r},o=g({size:r,margin:e.margin},!n.horizontal&&{height:e.height});n.noPanelStyleOverride||this._strategy.updatePanelSizes(n,s),n.panels.forEach(e=>e.resize(o))}_removeAllChildsFromCamera(){const e=k(this._flicking).camera.element;for(;e.firstChild;)e.removeChild(e.firstChild)}_insertPanelElements(e,t=null){const n=k(this._flicking).camera.element,i=(null==t?void 0:t.element)||null,r=document.createDocumentFragment();e.forEach(e=>r.appendChild(e.element)),n.insertBefore(r,i)}_removePanelElements(e){const t=k(this._flicking).camera.element;e.forEach(e=>{t.removeChild(e.element)})}_afterRender(){const e=k(this._flicking);if(e.camera.applyTransform(),e.useCSSOrder){const t=e.renderer.panels.filter(e=>e.rendered);this._strategy.getRenderingIndexesByOrder(e).forEach((e,n)=>{t[e].element&&(t[e].element.style.order=`${n}`)})}}};class De extends ke{render(){return p(this,null,function*(){const e=k(this._flicking),t=this._strategy;t.updateRenderingPanels(e),t.renderPanels(e),this._resetPanelElementOrder(),this._afterRender()})}_collectPanels(){const e=k(this._flicking),t=e.camera;this._removeAllTextNodes(),this._panels=this._strategy.collectPanels(e,t.children)}_createPanel(e,t){return this._strategy.createPanel(e,t)}_resetPanelElementOrder(){const e=k(this._flicking),t=e.camera.element;let n=[];n=e.useCSSOrder?this.getRenderedPanels().map(e=>e.element).reverse():this._strategy.getRenderingElementsByOrder(e).reverse(),n.forEach((e,i)=>{const r=n[i-1]?n[i-1]:null;e.nextElementSibling!==r&&t.insertBefore(e,r)})}_removeAllTextNodes(){const e=k(this._flicking).camera.element;D(e.childNodes).forEach(t=>{t.nodeType===Node.TEXT_NODE&&e.removeChild(t)})}}class Le{get element(){return this._elProvider.element}get elementProvider(){return this._elProvider}get index(){return this._index}get position(){return this._pos+this._alignPos}get size(){return this._size}get sizeIncludingMargin(){return this._size+this._margin.prev+this._margin.next}get height(){return this._height}get margin(){return this._margin}get alignPosition(){return this._alignPos}get removed(){return this._removed}get rendered(){return this._rendered}get loading(){return this._loading}get range(){return{min:this._pos,max:this._pos+this._size}}get toggled(){return this._toggled}get toggleDirection(){return this._toggleDirection}get offset(){const e=this._toggleDirection,t=this._flicking.camera.rangeDiff;return e!==f.NONE&&this._toggled?e===f.PREV?-t:t:0}get progress(){const e=this._flicking;return this.index-e.camera.progress}get outsetProgress(){const e=this.position+this.offset,t=this._alignPos,n=this._flicking.camera,i=n.position;if(i===e)return 0;if(i<e){const r=e+(n.size-n.alignPosition)+t;return-Z(i,e,r)}{const r=e-(n.alignPosition+this._size-t);return 1-Z(i,r,e)}}get visibleRatio(){const e=this.range,t=this._size,n=this.offset,i=this._flicking.camera.visibleRange,r=e.min+n,s=e.max+n;if(s<=i.min||r>=i.max)return 0;let o=t;return i.min>r&&(o-=i.min-r),i.max<s&&(o-=s-i.max),o/t}set loading(e){this._loading=e}get align(){return this._align}set align(e){this._align=e,this._updateAlignPos()}constructor(e){const{index:t,align:n,flicking:i,elementProvider:r}=e;this._index=t,this._flicking=i,this._elProvider=r,this._align=n,this._removed=!1,this._rendered=!0,this._loading=!1,this._resetInternalStates()}markForShow(){this._rendered=!0,this._elProvider.show(this._flicking)}markForHide(){this._rendered=!1,this._elProvider.hide(this._flicking)}resize(e){var t;const n=this.element,i=this._flicking,{horizontal:r,useFractionalSize:s}=i;if(!n)return this;if(e)this._size=e.size,this._margin=g({},e.margin),this._height=null!=(t=e.height)?t:te({el:n,horizontal:!1,useFractionalSize:s,useOffset:!0,style:K(n)});else{const e=K(n);this._size=te({el:n,horizontal:r,useFractionalSize:s,useOffset:!0,style:e}),this._margin=r?{prev:parseFloat(e.marginLeft||"0"),next:parseFloat(e.marginRight||"0")}:{prev:parseFloat(e.marginTop||"0"),next:parseFloat(e.marginBottom||"0")},this._height=r?te({el:n,horizontal:!1,useFractionalSize:s,useOffset:!0,style:e}):this._size}return this.updatePosition(),this._updateAlignPos(),this}setSize(e){return q(this.element,e),this}contains(e){var t;return!!(null==(t=this.element)?void 0:t.contains(e))}destroy(){this._resetInternalStates(),this._removed=!0}includePosition(e,t=!1){return this.includeRange(e,e,t)}includeRange(e,t,n=!1){const i=this._margin,r=this.range;return n&&(r.min-=i.prev,r.max+=i.next),t>=r.min&&e<=r.max}isVisibleOnRange(e,t){const n=this.range;return t>n.min&&e<n.max}focus(e){return this._flicking.moveTo(this._index,e)}prev(){const e=this._index,t=this._flicking,n=t.renderer,i=n.panelCount;return 1===i?null:t.circularEnabled?n.getPanel(0===e?i-1:e-1):n.getPanel(e-1)}next(){const e=this._index,t=this._flicking,n=t.renderer,i=n.panelCount;return 1===i?null:t.circularEnabled?n.getPanel(e===i-1?0:e+1):n.getPanel(e+1)}increaseIndex(e){return this._index+=Math.max(e,0),this}decreaseIndex(e){return this._index-=Math.max(e,0),this}updatePosition(){const e=this._flicking.renderer.panels[this._index-1];return this._pos=e?e.range.max+e.margin.next+this._margin.prev:this._margin.prev,this}toggle(e,t){const n=this._toggleDirection,i=this._togglePosition;if(n===f.NONE||t===e)return!1;const r=this._toggled;return t>e?i>=e&&i<=t&&(this._toggled=n===f.NEXT):i<=e&&i>=t&&(this._toggled=n!==f.NEXT),r!==this._toggled}updateCircularToggleDirection(){const e=this._flicking;if(!e.circularEnabled)return this._toggleDirection=f.NONE,this._togglePosition=0,this._toggled=!1,this;const t=e.camera,n=t.range,i=t.alignPosition,r=t.visibleRange,s=r.max-r.min,o=n.min-i,a=n.max-i+s,l=this.includeRange(a-s,a,!1),h=this.includeRange(o,o+s,!1);return this._toggled=!1,l?(this._toggleDirection=f.PREV,this._togglePosition=this.range.max+n.min-n.max+i,this.toggle(1/0,t.position)):h?(this._toggleDirection=f.NEXT,this._togglePosition=this.range.min+n.max-s+i,this.toggle(-1/0,t.position)):(this._toggleDirection=f.NONE,this._togglePosition=0),this}_updateAlignPos(){this._alignPos=L(this._align,this._size)}_resetInternalStates(){this._size=0,this._pos=0,this._margin={prev:0,next:0},this._height=0,this._alignPos=0,this._toggled=!1,this._togglePosition=0,this._toggleDirection=f.NONE}}class Me{constructor(e){const{providerCtor:t}=e;this._providerCtor=t}renderPanels(){}getRenderingIndexesByOrder(e){const t=e.renderer.panels.filter(e=>e.rendered),n=t.filter(e=>e.toggled&&e.toggleDirection===f.PREV),i=t.filter(e=>e.toggled&&e.toggleDirection===f.NEXT);return[...n,...t.filter(e=>!e.toggled),...i].map(e=>e.index)}getRenderingElementsByOrder(e){const t=e.panels;return this.getRenderingIndexesByOrder(e).map(e=>t[e].element)}updateRenderingPanels(e){e.renderOnlyVisible?this._showOnlyVisiblePanels(e):e.panels.forEach(e=>e.markForShow())}collectPanels(e,t){const n=V(e.renderer.align);return t.map((t,i)=>new Le({index:i,elementProvider:new this._providerCtor(t),align:n,flicking:e}))}createPanel(e,t){return new Le(_(g({},t),{elementProvider:new this._providerCtor(e)}))}updatePanelSizes(e,t){e.panels.forEach(e=>e.setSize(t))}_showOnlyVisiblePanels(e){const t=e.renderer.panels,n=e.camera,i=n.visiblePanels.reduce((e,t)=>(e[t.index]=!0,e),{});t.forEach(t=>{t.index in i||t.loading?t.markForShow():e.holding||t.markForHide()}),n.updateOffset()}}class He extends Le{get element(){return this._elProvider.element}get cachedInnerHTML(){return this._cachedInnerHTML}get elementIndex(){const e=this._flicking,t=e.panelsPerView+1,n=e.panelCount;let i=this._index;return this._toggled&&(i=this._toggleDirection===f.NEXT?i+n:i-n),Q(i,t)}constructor(e){super(e),e.elementProvider.init(this),this._elProvider=e.elementProvider,this._cachedInnerHTML=null}cacheRenderResult(e){this._cachedInnerHTML=e}uncacheRenderResult(){this._cachedInnerHTML=null}render(){const e=this._flicking,{renderPanel:t,cache:n}=e.virtual,i=this._elProvider.element,r=this._cachedInnerHTML||t(this,this._index);r!==i.innerHTML&&(i.innerHTML=r,n&&this.cacheRenderResult(r))}increaseIndex(e){return this.uncacheRenderResult(),super.increaseIndex(e)}decreaseIndex(e){return this.uncacheRenderResult(),super.decreaseIndex(e)}}class Fe{renderPanels(e){const t=e.virtual,n=e.visiblePanels,i=ee(e.panelsPerView+1);n.forEach(e=>{const n=e.elementIndex;e.render(),t.show(n),i[n]=-1}),i.filter(e=>e>=0).forEach(e=>{t.hide(e)})}getRenderingIndexesByOrder(e){const t=e.virtual,n=[...e.visiblePanels].filter(e=>e.rendered).sort((e,t)=>e.position+e.offset-(t.position+t.offset));if(n.length<=0)return t.elements.map((e,t)=>t);return[...n.map(e=>e.elementIndex),...t.elements.map((e,t)=>_(g({},e),{idx:t})).filter(e=>!e.visible).map(e=>e.idx)]}getRenderingElementsByOrder(e){const t=e.virtual.elements;return this.getRenderingIndexesByOrder(e).map(e=>t[e].nativeElement)}updateRenderingPanels(e){const t=e.renderer.panels,n=e.camera,i=n.visiblePanels.reduce((e,t)=>(e[t.index]=!0,e),{});t.forEach(e=>{e.index in i||e.loading?e.markForShow():e.markForHide()}),n.updateOffset()}collectPanels(e){const t=V(e.renderer.align);return ee(e.virtual.initialPanelCount).map(n=>new He({index:n,elementProvider:new ze(e),align:t,flicking:e}))}createPanel(e,t){return new He(_(g({},t),{elementProvider:new ze(t.flicking)}))}updatePanelSizes(e,t){e.virtual.elements.forEach(e=>{q(e.nativeElement,t)}),e.panels.forEach(e=>e.setSize(t))}}const Ve=Object.freeze(Object.defineProperty({__proto__:null,ExternalRenderer:class extends ke{_removePanelElements(e){}_removeAllChildsFromCamera(){}},NormalRenderingStrategy:Me,Renderer:ke,VanillaRenderer:De,VirtualRenderingStrategy:Fe},Symbol.toStringTag,{value:"Module"})),Ge=class extends e{constructor(e,t={}){super(),this._scheduleResize=!1;const{align:n=m.CENTER,defaultIndex:i=0,horizontal:r=!0,circular:s=!1,circularFallback:o=P.LINEAR,bound:a=!1,adaptive:l=!1,panelsPerView:h=-1,noPanelStyleOverride:c=!1,resizeOnContentsReady:u=!1,nested:g=!1,needPanelThreshold:_=0,preventEventsBeforeInit:p=!0,deceleration:f=.0075,duration:v=500,easing:E=e=>1-d(1-e,3),inputType:x=["mouse","touch"],moveType:O="snap",threshold:T=40,dragThreshold:b=1,interruptable:R=!0,bounce:I="20%",iOSEdgeSwipeThreshold:A=30,preventClickOnDrag:S=!0,preventDefaultOnDrag:N=!1,disableOnInit:C=!1,changeOnHold:y=!1,renderOnlyVisible:w=!1,virtual:k=null,autoInit:D=!0,autoResize:L=!0,useResizeObserver:M=!0,resizeDebounce:H=0,observePanelResize:F=!1,maxResizeDebounce:V=100,useFractionalSize:G=!1,externalRenderer:j=null,renderExternal:B=null,optimizeSizeUpdate:W=!1,animationThreshold:U=.5,useCSSOrder:$=!1}=t;this._initialized=!1,this._plugins=[],this._isResizing=!1,this._align=n,this._defaultIndex=i,this._horizontal=r,this._circular=s,this._circularFallback=o,this._bound=a,this._adaptive=l,this._panelsPerView=h,this._noPanelStyleOverride=c,this._resizeOnContentsReady=u,this._nested=g,this._virtual=k,this._needPanelThreshold=_,this._preventEventsBeforeInit=p,this._deceleration=f,this._duration=v,this._easing=E,this._inputType=x,this._moveType=O,this._threshold=T,this._dragThreshold=b,this._interruptable=R,this._bounce=I,this._iOSEdgeSwipeThreshold=A,this._preventClickOnDrag=S,this._preventDefaultOnDrag=N,this._disableOnInit=C,this._changeOnHold=y,this._renderOnlyVisible=w,this._autoInit=D,this._autoResize=L,this._useResizeObserver=M,this._resizeDebounce=H,this._maxResizeDebounce=V,this._observePanelResize=F,this._useFractionalSize=G,this._externalRenderer=j,this._renderExternal=B,this._optimizeSizeUpdate=W,this._animationThreshold=U,this._useCSSOrder=$,this._viewport=new ye(this,z(e)),this._autoResizer=new Ne(this),this._renderer=this._createRenderer(),this._camera=this._createCamera(),this._control=this._createControl(),this._virtualManager=new we(this,k),this._autoInit&&this.init()}get control(){return this._control}get camera(){return this._camera}get renderer(){return this._renderer}get viewport(){return this._viewport}get autoResizer(){return this._autoResizer}get initialized(){return this._initialized}get circularEnabled(){return this._camera.circularEnabled}get virtualEnabled(){return this._panelsPerView>0&&null!=this._virtual}get index(){return this._control.activeIndex}get element(){return this._viewport.element}get currentPanel(){return this._control.activePanel}get panels(){return this._renderer.panels}get panelCount(){return this._renderer.panelCount}get visiblePanels(){return this._camera.visiblePanels}get animating(){return this._control.animating}get holding(){return this._control.holding}get activePlugins(){return this._plugins}get align(){return this._align}get defaultIndex(){return this._defaultIndex}get horizontal(){return this._horizontal}get circular(){return this._circular}get circularFallback(){return this._circularFallback}get bound(){return this._bound}get adaptive(){return this._adaptive}get panelsPerView(){return this._panelsPerView}get noPanelStyleOverride(){return this._noPanelStyleOverride}get resizeOnContentsReady(){return this._resizeOnContentsReady}get nested(){return this._nested}get needPanelThreshold(){return this._needPanelThreshold}get preventEventsBeforeInit(){return this._preventEventsBeforeInit}get deceleration(){return this._deceleration}get easing(){return this._easing}get duration(){return this._duration}get inputType(){return this._inputType}get moveType(){return this._moveType}get threshold(){return this._threshold}get dragThreshold(){return this._dragThreshold}get animationThreshold(){return this._animationThreshold}get useCSSOrder(){return this._useCSSOrder}get interruptable(){return this._interruptable}get bounce(){return this._bounce}get iOSEdgeSwipeThreshold(){return this._iOSEdgeSwipeThreshold}get preventClickOnDrag(){return this._preventClickOnDrag}get preventDefaultOnDrag(){return this._preventDefaultOnDrag}get disableOnInit(){return this._disableOnInit}get changeOnHold(){return this._changeOnHold}get renderOnlyVisible(){return this._renderOnlyVisible}get virtual(){return this._virtualManager}get autoInit(){return this._autoInit}get autoResize(){return this._autoResize}get useResizeObserver(){return this._useResizeObserver}get observePanelResize(){return this._observePanelResize}get resizeDebounce(){return this._resizeDebounce}get maxResizeDebounce(){return this._maxResizeDebounce}get useFractionalSize(){return this._useFractionalSize}get externalRenderer(){return this._externalRenderer}get renderExternal(){return this._renderExternal}get optimizeSizeUpdate(){return this._optimizeSizeUpdate}set align(e){this._align=e,this._renderer.align=e,this._camera.align=e,this.resize()}set defaultIndex(e){this._defaultIndex=e}set horizontal(e){this._horizontal=e,this._control.controller.updateDirection(),this.resize()}set circular(e){this._circular=e,this.resize()}set bound(e){this._bound=e,this.resize()}set adaptive(e){this._adaptive=e,this.resize()}set panelsPerView(e){this._panelsPerView=e,this.resize()}set noPanelStyleOverride(e){this._noPanelStyleOverride=e,this.resize()}set resizeOnContentsReady(e){this._resizeOnContentsReady=e,e&&this._renderer.checkPanelContentsReady(this._renderer.panels)}set nested(e){this._nested=e;const t=this._control.controller.axes;t&&(t.options.nested=e)}set needPanelThreshold(e){this._needPanelThreshold=e}set preventEventsBeforeInit(e){this._preventEventsBeforeInit=e}set deceleration(e){this._deceleration=e;const t=this._control.controller.axes;t&&(t.options.deceleration=e)}set easing(e){this._easing=e;const t=this._control.controller.axes;t&&(t.options.easing=e)}set duration(e){this._duration=e}set inputType(e){this._inputType=e;const t=this._control.controller.panInput;t&&(t.options.inputType=e)}set moveType(e){this._moveType=e;const t=this._control,n=this._createControl(),i=t.activePanel;n.copy(t);const r=i?this._camera.getProgressInPanel(i):0;this._control=n,this._control.updatePosition(r),this._control.updateInput()}set threshold(e){this._threshold=e}set dragThreshold(e){this._dragThreshold=e;const t=this._control.controller.panInput;t&&(t.options.threshold=e)}set animationThreshold(e){this._animationThreshold=e}set useCSSOrder(e){this._useCSSOrder=e}set interruptable(e){this._interruptable=e;const t=this._control.controller.axes;t&&(t.options.interruptable=e)}set bounce(e){this._bounce=e,this._control.updateInput()}set iOSEdgeSwipeThreshold(e){this._iOSEdgeSwipeThreshold=e;const t=this._control.controller.panInput;t&&(t.options.iOSEdgeSwipeThreshold=e)}set preventClickOnDrag(e){if(e===this._preventClickOnDrag)return;const t=this._control.controller;e?t.addPreventClickHandler():t.removePreventClickHandler(),this._preventClickOnDrag=e}set preventDefaultOnDrag(e){this._preventDefaultOnDrag=e;const t=this._control.controller.panInput;t&&(t.options.preventDefaultOnDrag=e)}set disableOnInit(e){this._disableOnInit=e}set changeOnHold(e){this._changeOnHold=e}set renderOnlyVisible(e){this._renderOnlyVisible=e,this._renderer.render()}set autoResize(e){this._autoResize=e,this._initialized&&(e?this._autoResizer.enable():this._autoResizer.disable())}set useResizeObserver(e){this._useResizeObserver=e,this._initialized&&this._autoResize&&this._autoResizer.enable()}set observePanelResize(e){this._observePanelResize=e,this._initialized&&this._autoResize&&(e?this._autoResizer.observePanels():this._autoResizer.unobservePanels())}set optimizeSizeUpdate(e){this._optimizeSizeUpdate=e}init(){if(this._initialized)return Promise.resolve();const t=this._camera,n=this._renderer,i=this._control,r=this._virtualManager,s=this.trigger,o=this._preventEventsBeforeInit;return t.init(),r.init(),n.init(this),i.init(this),o&&(this.trigger=()=>this),this._initialResize(),this._moveToInitialPanel(),this._autoResize&&this._autoResizer.enable(),this._preventClickOnDrag&&i.controller.addPreventClickHandler(),this._disableOnInit&&this.disableInput(),n.checkPanelContentsReady(n.panels),this._initialized=!0,n.render().then(()=>{this._plugins.forEach(e=>e.init(this)),o&&(this.trigger=s),this.trigger(new e.ComponentEvent(b.READY))})}destroy(){this.off(),this._autoResizer.disable(),this._control.destroy(),this._camera.destroy(),this._renderer.destroy(),this._plugins.forEach(e=>e.destroy()),this._scheduleResize=!1,this._initialized=!1,this._isResizing=!1}prev(e=this._duration){var t,n,i;return this.moveTo(null!=(i=null==(n=null==(t=this._control.activePanel)?void 0:t.prev())?void 0:n.index)?i:-1,e,f.PREV)}next(e=this._duration){var t,n,i;return this.moveTo(null!=(i=null==(n=null==(t=this._control.activePanel)?void 0:t.next())?void 0:n.index)?i:this._renderer.panelCount,e,f.NEXT)}moveTo(e,t=this._duration,n=f.NONE){const i=this._renderer,r=i.panelCount,s=i.getPanel(e);return s?this._control.animating?Promise.reject(new oe(N.ANIMATION_ALREADY_PLAYING,S.ANIMATION_ALREADY_PLAYING)):(this._control.holding&&this._control.controller.release(),this._control.moveToPanel(s,{duration:t,direction:n})):Promise.reject(new oe(N.INDEX_OUT_OF_RANGE(e,0,r-1),S.INDEX_OUT_OF_RANGE))}updateAnimation(e,t,n){if(!this._control.animating)return;const i=this._renderer,r=i.panelCount,s=i.getPanel(e);if(!s)throw new oe(N.INDEX_OUT_OF_RANGE(e,0,r-1),S.INDEX_OUT_OF_RANGE);this._control.updateAnimation(s,t,n)}stopAnimation(){this._control.animating&&this._control.stopAnimation()}getPanel(e){return this._renderer.getPanel(e)}enableInput(){return this._control.enable(),this}disableInput(){return this._control.disable(),this}getStatus(e={}){var t,n;const{index:i=!0,position:r=!0,includePanelHTML:s=!1,visiblePanelsOnly:o=!1}=e,a=this._camera,l={panels:(o?this.visiblePanels:this.panels).map(e=>{const t={index:e.index};return s&&(t.html=e.element.outerHTML),t})};if(i&&(l.index=this.index),r){const e=a.findNearestAnchor(a.position);e&&(l.position={panel:e.panel.index,progressInPanel:a.getProgressInPanel(e.panel)})}if(o){const e=this.visiblePanels;l.visibleOffset=null!=(n=null==(t=e[0])?void 0:t.index)?n:0}return l}setStatus(e){var t;if(!this._initialized)throw new oe(N.NOT_INITIALIZED,S.NOT_INITIALIZED);const{index:n,position:i,visibleOffset:r,panels:s}=e,o=this._renderer,a=this._control;if((null==(t=s[0])?void 0:t.html)&&!this._renderExternal&&(o.batchRemove({index:0,deleteCount:this.panels.length,hasDOMInElements:!0}),o.batchInsert({index:0,elements:j(s.map(e=>e.html)),hasDOMInElements:!0})),null!=n){const e=r?n-r:n;this.moveTo(e,0).catch(()=>{})}if(i&&this._moveType===v.FREE_SCROLL){const{panel:e,progressInPanel:t}=i,n=r?e-r:e,s=o.panels[n].range,l=s.min+(s.max-s.min)*t;a.moveToPosition(l,0).catch(()=>{})}}addPlugins(...e){return this._initialized&&e.forEach(e=>e.init(this)),this._plugins.push(...e),this}removePlugins(...e){return e.forEach(e=>{const t=Y(this._plugins,t=>t===e);t>=0&&(e.destroy(),this._plugins.splice(t,1))}),this}resize(){return p(this,null,function*(){if(!this._initialized)return;if(this._isResizing)return void(this._scheduleResize=!0);this._scheduleResize=!1,this._isResizing=!0;const t=this._viewport,n=this._renderer,i=this._camera,r=this._control,s=r.activePanel,o=t.width,a=t.height,l=s?i.getProgressInPanel(s):0;if(this.trigger(new e.ComponentEvent(b.BEFORE_RESIZE,{width:o,height:a,element:t.element})),t.resize(),this._optimizeSizeUpdate?(this.horizontal&&t.width!==o||!this.horizontal&&t.height!==a)&&(yield n.forceRenderAllPanels()):yield n.forceRenderAllPanels(),!this._initialized)return;if(n.updatePanelSize(),i.updateAlignPos(),i.updateRange(),i.updateAnchors(),i.updateAdaptiveHeight(),i.updatePanelOrder(),i.updateOffset(),yield n.render(),!this._initialized)return;r.animating||(r.updatePosition(l),r.updateInput());const h=t.width,c=t.height,d=h!==o||c!==a;this.trigger(new e.ComponentEvent(b.AFTER_RESIZE,{width:t.width,height:t.height,prev:{width:o,height:a},sizeChanged:d,element:t.element})),this._isResizing=!1,this._scheduleResize&&this.resize()})}append(e){return this.insert(this._renderer.panelCount,e)}prepend(e){return this.insert(0,e)}insert(e,t){if(this._renderExternal)throw new oe(N.NOT_ALLOWED_IN_FRAMEWORK,S.NOT_ALLOWED_IN_FRAMEWORK);return this._renderer.batchInsert({index:e,elements:j(t),hasDOMInElements:!0})}remove(e,t=1){if(this._renderExternal)throw new oe(N.NOT_ALLOWED_IN_FRAMEWORK,S.NOT_ALLOWED_IN_FRAMEWORK);return this._renderer.batchRemove({index:e,deleteCount:t,hasDOMInElements:!0})}_createControl(){var e;const t=this._moveType,n=Object.keys(v).map(e=>v[e]),i=Array.isArray(t)?t[0]:t,r=Array.isArray(t)&&null!=(e=t[1])?e:{};if(!W(n,i))throw new oe(N.WRONG_OPTION("moveType",JSON.stringify(t)),S.WRONG_OPTION);switch(i){case v.SNAP:return new Ie(r);case v.FREE_SCROLL:return new Re(r);case v.STRICT:return new Ae(r)}}_createCamera(){return this._circular&&this._bound&&console.warn('"circular" and "bound" option cannot be used together, ignoring bound.'),new de(this,{align:this._align})}_createRenderer(){const e=this._externalRenderer;return this._virtual&&this._panelsPerView<=0&&console.warn('"virtual" and "panelsPerView" option should be used together, ignoring virtual.'),e||(this._renderExternal?this._createExternalRenderer():this._createVanillaRenderer())}_createExternalRenderer(){const{renderer:e,rendererOptions:t}=this._renderExternal;return new e(g({align:this._align},t))}_createVanillaRenderer(){const e=this.virtualEnabled;return new De({align:this._align,strategy:e?new Fe:new Me({providerCtor:Ce})})}_moveToInitialPanel(){const e=this._renderer,t=this._control,n=this._camera,i=e.getPanel(this._defaultIndex)||e.getPanel(0);if(!i)return;const r=n.findNearestAnchor(i.position),s=r&&i.position!==r.panel.position&&i.index!==r.panel.index?r.panel:i;if(t.setActive(s,null,!1),!r)throw new oe(N.POSITION_NOT_REACHABLE(s.position),S.POSITION_NOT_REACHABLE);let o=s.position;n.canReach(s)||(o=r.position),n.lookAt(o),t.updateInput(),n.updateOffset()}_initialResize(){const t=this._viewport,n=this._renderer,i=this._camera,r=this._control;this.trigger(new e.ComponentEvent(b.BEFORE_RESIZE,{width:0,height:0,element:t.element})),t.resize(),n.updatePanelSize(),i.updateAlignPos(),i.updateRange(),i.updateAnchors(),i.updateOffset(),r.updateInput();const s=t.width,o=t.height,a=0!==s||0!==o;this.trigger(new e.ComponentEvent(b.AFTER_RESIZE,{width:t.width,height:t.height,prev:{width:0,height:0},sizeChanged:a,element:t.element}))}};Ge.VERSION="4.16.1";let je=Ge;const Be={HOLD_START:"sideHoldStart",HOLD_END:"sideHoldEnd",MOVE_START:"sideMoveStart",MOVE:"sideMove",MOVE_END:"sideMoveEnd",WILL_CHANGE:"sideWillChange",CHANGED:"sideChanged",WILL_RESTORE:"sideWillRestore",RESTORED:"sideRestored"};const We=Object.freeze(Object.defineProperty({__proto__:null,CrossFlicking:class extends je{constructor(e,t){super(e,t),this._syncToCategory=(e,t)=>{this._disableIndexSync||(this.stopAnimation(),this._sideFlicking.forEach((n,i)=>{const{start:r,end:s}=this._sideState[i];r<=e&&s>=e&&t!==i&&(n.stopAnimation(),n.moveTo(e,0),this.moveTo(i,0))}))},this._setDraggable=(e,t)=>{if(!this._disableSlideOnHold)return;const n=this._originalDragThreshold,i=t?n&&n>=10?n:10:1/0;e===O.HORIZONTAL===this.horizontal?this.dragThreshold=i:e===O.VERTICAL===this.horizontal&&this._sideFlicking.forEach(e=>{e.dragThreshold=i})},this._setPreviousSideIndex=()=>{this._sideFlicking.forEach((e,t)=>{const{start:n,end:i}=this._sideState[t];this._preserveIndex?this._nextIndex!==t&&(e.index<n?(e.stopAnimation(),e.moveTo(n,0)):e.index>i&&(e.stopAnimation(),e.moveTo(i,0))):this._nextIndex!==t&&e.moveTo(n,0)})},this._addSideIndex=e=>{e.sideIndex=this._sideFlicking[e.index].index},this._onHorizontalHoldStart=()=>{this._setDraggable(O.HORIZONTAL,!0),this._moveDirection=null},this._onHorizontalMove=e=>{e.isTrusted&&!this._moveDirection&&(this._setDraggable(O.VERTICAL,!1),this._moveDirection=O.HORIZONTAL)},this._onHorizontalMoveEnd=e=>{const t=this.visiblePanels;t.length>1?this._nextIndex="NEXT"===e.direction?t[1].index:t[0].index:this._nextIndex=t[0].index,this._setDraggable(O.VERTICAL,!0),this._moveDirection=null,requestAnimationFrame(()=>this._setPreviousSideIndex()),e.isTrusted&&this._syncToCategory(this._sideFlicking[this._nextIndex].index,this._nextIndex)},this._onSideHoldStart=()=>{this._setDraggable(O.VERTICAL,!0),this._moveDirection=null},this._onSideMove=e=>{e.isTrusted&&!this._moveDirection&&(this._setDraggable(O.HORIZONTAL,!1),this._moveDirection=O.VERTICAL)},this._onSideMoveEnd=()=>{this._setDraggable(O.HORIZONTAL,!0),this._moveDirection=null},this._onSideChanged=e=>{this.visiblePanels.length<2&&this._sideFlicking[this.index]===e.currentTarget&&this._syncToCategory(e.index,this.index)};const{sideOptions:n={},preserveIndex:i=!0,disableSlideOnHold:r=!0,disableIndexSync:s=!1}=t;this._moveDirection=null,this._nextIndex=0,this._originalDragThreshold=this.dragThreshold,this._sideOptions=n,this._preserveIndex=i,this._disableSlideOnHold=r,this._disableIndexSync=s}get sideFlicking(){return this._sideFlicking}get sideIndex(){return this._sideFlicking.map(e=>e.index)}get sideState(){return this._sideState}get sideOptions(){return this._sideOptions}get preserveIndex(){return this._preserveIndex}get disableSlideOnHold(){return this._disableSlideOnHold}get disableIndexSync(){return this._disableIndexSync}set sideOptions(e){this._sideOptions=e}set preserveIndex(e){this._preserveIndex=e}set disableSlideOnHold(e){this._disableSlideOnHold=e}set disableIndexSync(e){this._disableIndexSync=e}init(){return super.init().then(()=>{this._sideState=this._createSideState(),this._sideFlicking=this._createSideFlicking(),this._addComponentEvents()})}destroy(){this._sideFlicking.forEach(e=>{e.destroy()}),super.destroy()}_addComponentEvents(){this.on(b.HOLD_START,this._onHorizontalHoldStart),this.on(b.MOVE,this._onHorizontalMove),this.on(b.MOVE_END,this._onHorizontalMoveEnd),[b.CHANGED,b.WILL_CHANGE].forEach(e=>{this.on(e,this._addSideIndex)}),this._sideFlicking.forEach((t,n)=>{t.on(b.HOLD_START,this._onSideHoldStart),t.on(b.MOVE,this._onSideMove),t.on(b.MOVE_END,this._onSideMoveEnd),t.on(b.CHANGED,this._onSideChanged),Object.keys(Be).forEach(i=>{t.on(b[i],t=>{this.trigger(new e.ComponentEvent(Be[i],g({mainIndex:n},t)))})})})}_createSideState(){const e=this.element,t=this.camera.element,n=D(t.children);let i=[];if(re(e,"data-cross-").structure)i=this._getSideStateFromCrossStructure(n);else{const e=this._getGroupFromAttribute(n),t=Object.keys(e);t.length?(i=this._getSideStateFromGroup(e),this.remove(0,this.panelCount-t.length)):i=this._getSideStateFromPanels(n),this._createCrossStructure(i)}return this.resize(),i}_createCrossStructure(e){const t=document.createElement("div");let n="";t.classList.add(E.CAMERA),e.forEach((e,t)=>{const i=this.camera.children[t];n+=e.element.innerHTML,Array.from(i.attributes).forEach(e=>i.removeAttribute(e.name))}),t.innerHTML=n,e.forEach((e,n)=>{const i=this.camera.children[n];[E.VIEWPORT,E.VERTICAL].forEach(e=>{i.classList.contains(e)||i.classList.add(e)}),i.innerHTML=t.outerHTML}),this.element.setAttribute("data-cross-structure","true")}_getGroupFromAttribute(e){const t=[],n={};return e.forEach(e=>{const i=re(e,"data-cross-").groupkey;i&&!W(t,i)?(t.push(i),n[i]=[e]):i&&n[i].push(e)}),n}_getSideStateFromGroup(e){return Object.keys(e).reduce((t,n)=>{const i=t.length?+t[t.length-1].end+1:0,r=e[n].reduce((e,t)=>(e.innerHTML+=t.outerHTML,e),document.createElement("div"));return[...t,{key:n,start:i,end:i+e[n].length-1,element:r}]},[])}_getSideStateFromPanels(e){return e.reduce((e,t,n)=>{const i=e.length?+e[e.length-1].end+1:0;return[...e,{key:n.toString(),start:i,end:i+t.children.length-1,element:t}]},[])}_getSideStateFromCrossStructure(e){const t=this._getGroupFromAttribute(e);return this._getSideStateFromGroup(t)}_createSideFlicking(){return this.sideState.map((e,t)=>new je(this.camera.children[t],_(g({},this.sideOptions),{horizontal:!1,panelsPerView:1,defaultIndex:e.start})))}},SIDE_EVENTS:Be},Symbol.toStringTag,{value:"Module"})),Ue=Object.freeze(Object.defineProperty({__proto__:null,AnchorPoint:I,Panel:Le,VanillaElementProvider:Ce,Viewport:ye,VirtualElementProvider:ze,VirtualManager:we,VirtualPanel:He},Symbol.toStringTag,{value:"Module"})),$e=e=>{const t="object"==typeof e?e.camera:e;return Ye(t)},Xe=e=>{const t="object"==typeof e?e.panel:e;return F(Ye(t))},Ye=e=>{if("number"==typeof e)return`${e}px`;switch(e){case m.CENTER:return"50%";case m.NEXT:return"100%";case m.PREV:return"0%";default:return e}},Ze=(e,t,n,i,r)=>e.batchInsertDefer(...t.added.slice(i,r).map((e,t)=>({index:e,elements:[n[t]],hasDOMInElements:!1}))),Ke=(e,t,n)=>{const i=e.panels.slice(t,n);return e.batchRemoveDefer({index:t,deleteCount:i.length,hasDOMInElements:!1})},qe=Object.freeze(Object.defineProperty({__proto__:null,getDefaultCameraTransform:(e=m.CENTER,t=!0,n)=>{const i=$e(e),r=Xe(e);if(null==r)return"";const s=`calc(${i} - (${n||"0px"} * ${r.percentage}) - ${r.absolute}px)`;return t?`translate(${s})`:`translate(0, ${s})`},getRenderingPanels:(e,t)=>{const n=t.removed.reduce((e,t)=>(e[t]=!0,e),{}),i=t.maintained.reduce((e,[t,n])=>(e[t]=n,e),{}),r=e.panels.filter(e=>!n[e.index]);return e.useCSSOrder||r.sort((e,t)=>e.position+e.offset-(t.position+t.offset)),[...r.map(e=>t.list[i[e.index]]),...t.added.map(e=>t.list[e])]},sync:(e,t,n)=>{const i=e.renderer,r=i.panels,s=[...t.prevList],o=[],a=[];if(t.removed.length>0){let e=-1,n=-1;t.removed.forEach(t=>{e<0&&(e=t),n>=0&&t!==n-1?(a.push(...Ke(i,n,e+1)),e=t,n=t):n=t,s.splice(t,1)}),a.push(...Ke(i,n,e+1))}if(t.ordered.forEach(([e,t])=>{const n=r.splice(e,1)[0];r.splice(t,0,n)}),t.ordered.length>0&&(r.forEach((e,t)=>{const n=t-e.index;n>0?e.increaseIndex(n):e.decreaseIndex(-n)}),r.sort((e,t)=>e.index-t.index),r.forEach(e=>{e.updatePosition()})),t.added.length>0){let e=-1,r=-1;const a=n.slice(s.length);t.added.forEach((n,s)=>{e<0&&(e=s),r>=0&&n!==r+1?(o.push(...Ze(i,t,a,e,s+1)),e=-1,r=-1):r=n}),e>=0&&o.push(...Ze(i,t,a,e))}if(t.added.length>0||t.removed.length>0)i.updateAfterPanelChange(o,a);else if(t.ordered.length>0){const t=e.camera;t.updateRange(),t.updateOffset(),t.updateAnchors(),t.resetNeedPanelHistory()}},withFlickingMethods:(t,n)=>{[e.prototype,je.prototype].forEach(e=>{Object.getOwnPropertyNames(e).filter(e=>!t[e]&&0!==e.indexOf("_")&&"constructor"!==e).forEach(i=>{const r=Object.getOwnPropertyDescriptor(e,i);if(r.value)Object.defineProperty(t,i,{value:function(...e){return r.value.call(this[n],...e)}});else{const e={};r.get&&(e.get=function(){var e;const t=this[n];return t&&(null==(e=r.get)?void 0:e.call(t))}),r.set&&(e.set=function(...e){var t;return null==(t=r.set)?void 0:t.call(this[n],...e)}),Object.defineProperty(t,i,e)}})})}},Symbol.toStringTag,{value:"Module"}));function Je(e){return Object.keys(e)}function Qe(e){return"function"==typeof e}var et="__observers__",tt="__CFCS_DETECTED_DEPENDENCIES__";function nt(e,t,n){if(2===arguments.length)for(var i,r=0,s=t.length;r<s;r++)!i&&r in t||(i||(i=Array.prototype.slice.call(t,0,r)),i[r]=t[r]);return e.concat(i||Array.prototype.slice.call(t))}function it(){var e=function(){Object[tt]=Object[tt]||{};var e=Object[tt];return e[1]=e[1]||[],e[1]}();return e[e.length-1]}var rt=function(){function t(t){this._emitter=new e,this._current=t}var n=t.prototype;return Object.defineProperty(n,"current",{get:function(){var e=it();return null==e||e.push(this),this._current},set:function(e){this._setCurrent(e)},enumerable:!1,configurable:!0}),n.subscribe=function(e){return this.current,this._emitter.on("update",e),this},n.unsubscribe=function(e){return this._emitter.off("update",e),this},n._setCurrent=function(e){var t=this._current,n=e!==t;this._current=e,n&&this._emitter.trigger("update",e,t)},n.toString=function(){return"".concat(this.current)},n.valueOf=function(){return this.current},t}();function st(e,t,n){void 0===n&&(n=t);var i={configurable:!0,get:function(){return ct(this,n).current},set:function(e){ct(this,n,e).current=e}};Object.defineProperty(e,t,i),n!==t&&Object.defineProperty(e,n,{configurable:!0,get:function(){return ct(this,n).current}})}function ot(e,t){var n,i=Qe(e)?e():e,r={};return lt(r),Je(i).forEach(function(e){var t,n=i[e];(t=n)&&function(e){return"object"==typeof e}(t)&&"current"in t&&"subscribe"in t&&"unsubscribe"in t?dt(r,e,n):dt(r,e,at(n)),function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return e.length>1?st(e[0],e[1]):function(t,n){return st(t,n,e[0])}}(e)(r,e)}),(n=r).subscribe=function(e,t){this[e],ct(this,e).subscribe(t)},n.unsubscribe=function(e,t){var n=this;e?e in this&&ct(this,e).unsubscribe(t):Je(ht(this)).forEach(function(e){n.unsubscribe(e)})},r}function at(e){return new rt(e)}function lt(e){var t={};return Object.defineProperty(e,et,{get:function(){return t}}),t}function ht(e,t){var n,i;e[et]||lt(e);var r=e[et],s=null===(i=null===(n=null==e?void 0:e.constructor)||void 0===n?void 0:n.prototype)||void 0===i?void 0:i.__computed__;return s&&s.forEach(function(t){!(t in r)&&t in e&&e[t]}),r}function ct(e,t,n){var i=ht(e);return i[t]||(i[t]=at(n)),i[t]}function dt(e,t,n){ht(e)[t]=n}const ut=e=>!e.circular&&0===e.index,gt=e=>!e.circular&&e.index===e.panelCount-1,_t=e=>e.panelCount,pt=e=>e.index,mt=e=>{const t=e.camera,n=(t.position-t.range.min)/(t.range.max-t.range.min);return 100*Math.min(Math.max(n,0),1)},ft=({onInit:e,onDestroy:t,setMethods:n,getProps:i})=>{var r,s,o;let a;n(["moveTo"]);const l=i().options,h=ot({isReachStart:!(null==l?void 0:l.defaultIndex)||0===(null==l?void 0:l.defaultIndex),isReachEnd:!(!(null==l?void 0:l.totalPanelCount)||!(null==l?void 0:l.defaultIndex))&&l.defaultIndex===l.totalPanelCount-1,totalPanelCount:null!=(r=null==l?void 0:l.totalPanelCount)?r:0,currentPanelIndex:null!=(s=null==l?void 0:l.defaultIndex)?s:0,progress:0,indexProgress:null!=(o=null==l?void 0:l.defaultIndex)?o:0,moveTo:e=>null==a?Promise.reject(new Error("Flicking instance is not available")):(null==a?void 0:a.animating)?Promise.resolve():a.moveTo(e)});const c=()=>{void 0!==a&&(h.isReachStart=ut(a),h.isReachEnd=gt(a),h.currentPanelIndex=pt(a))},d=()=>{void 0!==a&&(c(),h.totalPanelCount=_t(a))},u=()=>{void 0!==a&&(h.progress=mt(a),h.indexProgress=(e=>{const t=e.camera,n=t.anchorPoints,i=n.length,r=t.position,s=e.circularEnabled;let o=0;const{min:a,max:l}=t.range,h=n[0],c=l-n[i-1].position+(h.position-a);return n.some((e,t)=>{const a=e.position,l=n[t+1];if(0===t&&r<=a)o=s?(r-a)/c:(r-a)/e.panel.size;else if(t===i-1&&r>=a)o=s?t+(r-a)/c:t+(r-a)/e.panel.size;else{if(!(l&&a<=r&&r<=l.position))return!1;o=t+(r-a)/(l.position-a)}return!0}),o})(a))};return e((e,t)=>{a=t.flicking,void 0!==a&&(h.isReachStart=ut(a),h.isReachEnd=gt(a),h.currentPanelIndex=pt(a),h.progress=mt(a),h.totalPanelCount=_t(a),null==a||a.on("changed",c),null==a||a.on("panelChange",d),null==a||a.on("move",u))}),t(()=>{null==a||a.off("changed",c),null==a||a.off("panelChange",d),null==a||a.off("move",u)}),h},vt=Object.freeze(Object.defineProperty({__proto__:null,connectFlickingReactiveAPI:(t,n)=>{const i=function(t,n){var i=Qe(t)?{setup:t}:t;function r(){var e,t,r,s,o;return null!==(o=null!==(r=null!==(e=null==n?void 0:n())&&void 0!==e?e:null===(t=i.props)||void 0===t?void 0:t.call(i))&&void 0!==r?r:null===(s=i.data)||void 0===s?void 0:s.call(i))&&void 0!==o?o:{}}var s=new e,o=[],a=[],l=[],h=[],c={current:null},d=[],u=null,g=[],_=[],p=function(e){o.push(e)},m=function(e){u=e},f=function(e){g=e},v=function(e){_=e};return i.setup&&(c.current=i.setup({getProps:r,setInitialState:m,setEvents:f,setMethods:v,onMounted:p,onDestroy:function(e){l.push(e)},onInit:function(e){a.push(e)},emit:function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];s.trigger.apply(s,nt([e],t,!1))},on:function(e){h.push(e)}})||null),i.created&&(c.current=i.created(r())||null),i.events&&f(i.events),i.state&&m(i.state),i.methods&&v(i.methods),i.mounted&&p(i.mounted),i.destroy&&l.push(i.destroy),i.init&&a.push(i.init),i.on&&h.push(function(e,t,n){var r=i.on(e,t,n);return function(){var s;r&&r(),null===(s=i.off)||void 0===s||s.call(i,e,t,n)}}),{events:function(){return g},state:function(){var e=c.current;if(u)return u;if(e){var t=ht(e);m(Je(t).reduce(function(e,n){return e[n]=t[n].current,e},{}))}return u||{}},instance:function(){return c.current},mounted:function(){var e=r();o.forEach(function(t){c.current=t(e,c.current)||c.current})},init:function(){var e=c.current,t=r();d=g.map(function(e){var t=function(){for(var t,n=[],i=0;i<arguments.length;i++)n[i]=arguments[i];(t=s).trigger.apply(t,nt([e],n,!1))},n=c.current;return h.map(function(i){return i(n,e,t)}).filter(Boolean)}),a.forEach(function(n){n(e,t)})},destroy:function(){d.forEach(function(e){e.forEach(function(e){e()})}),s.off();var e=c.current,t=r();l.forEach(function(n){n(e,t)})},methods:function(){return e=c,n={},(t=_)?(t.forEach(function(t){n[t]=function(){for(var n=[],i=0;i<arguments.length;i++)n[i]=arguments[i];var r=e.current||e.value;return r[t].apply(r,n)}}),n):n;var e,t,n},on:function(e,t){s.on(e,t)},off:function(e,t){s.off(e,t)}}}(ft,()=>({flicking:t,options:n}));i.mounted();const r=i.instance();return i.init(),r},flickingReactiveAPIAdapter:ft},Symbol.toStringTag,{value:"Module"})),Et=g(g({},R),T);return C(je,Ue),C(je,ue),C(je,Se),C(je,Ve),C(je,Et),C(je,qe),C(je,se),C(je,We),C(je,vt),je});
|
|
2
2
|
//# sourceMappingURL=flicking.min.js.map
|