UNPKG

view360-canex

Version:

360 integrated viewing solution from inside-out view to outside-in view. It provides user-friendly service by rotating 360 degrees through various user interaction such as motion sensor and touch.

11 lines (10 loc) 45.1 kB
/* Copyright (c) 2017 NAVER Corp. name: view360-canex license: MIT author: Canex repository: https://github.com/Can-ExploreInc/egjs-view360 version: 3.4.9 */ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):((t="undefined"!=typeof globalThis?globalThis:t||self).eg=t.eg||{},t.eg.view360=e())}(this,function(){"use strict";var i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(t,e)};function n(t,e){function n(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}var s=function(){return(s=Object.assign||function(t){for(var e,n=1,i=arguments.length;n<i;n++)for(var r in e=arguments[n])Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t}).apply(this,arguments)};function c(t){return void 0===t}var t=function(){function t(){this.options={},this._eventHandler={}}var e=t.prototype;return e.trigger=function(t){for(var e=this,n=[],i=1;i<arguments.length;i++)n[i-1]=arguments[i];if(!(0<(s=this._eventHandler[t]||[]).length))return!0;var r=n[0]||{},o=n.slice(1),s=s.concat(),a=!1;r.eventType=t,r.stop=function(){a=!0},r.currentTarget=this;var u=[r];return 1<=o.length&&(u=u.concat(o)),s.forEach(function(t){t.apply(e,u)}),!a},e.once=function(n,i){var r,o=this;if("object"==typeof n&&c(i)){var t,e=n;for(t in e)this.once(t,e[t]);return this}return"string"==typeof n&&"function"==typeof i&&(r=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];i.apply(o,t),o.off(n,r)},this.on(n,r)),this},e.hasOn=function(t){return!!this._eventHandler[t]},e.on=function(t,e){if("object"==typeof t&&c(e)){var n,i=t;for(n in i)this.on(n,i[n]);return this}var r;return"string"==typeof t&&"function"==typeof e&&(c(r=this._eventHandler[t])&&(this._eventHandler[t]=[],r=this._eventHandler[t]),r.push(e)),this},e.off=function(t,e){var n,i;if(c(t))return this._eventHandler={},this;if(c(e)){if("string"==typeof t)return delete this._eventHandler[t],this;var r,o=t;for(r in o)this.off(r,o[r]);return this}var s=this._eventHandler[t];if(s){var a=0;try{for(var u=function(t){var e="function"==typeof Symbol&&Symbol.iterator,n=e&&t[e],i=0;if(n)return n.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&i>=t.length&&(t=void 0),{value:t&&t[i++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}(s),h=u.next();!h.done;h=u.next()){if(h.value===e){s.splice(a,1);break}a++}}catch(t){n={error:t}}finally{try{h&&!h.done&&(i=u.return)&&i.call(u)}finally{if(n)throw n.error}}}return this},t.VERSION="2.2.2",t}();function r(){return(r=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n,i=arguments[e];for(n in i)Object.prototype.hasOwnProperty.call(i,n)&&(t[n]=i[n])}return t}).apply(this,arguments)}function o(t,e){t.prototype=Object.create(e.prototype),(t.prototype.constructor=t).__proto__=e}function a(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}var u,h="function"!=typeof Object.assign?function(t){if(null==t)throw new TypeError("Cannot convert undefined or null to object");for(var e=Object(t),n=1;n<arguments.length;n++){var i=arguments[n];if(null!=i)for(var r in i)i.hasOwnProperty(r)&&(e[r]=i[r])}return e}:Object.assign,l=["","webkit","Moz","MS","ms","o"],e="undefined"==typeof document?{style:{}}:document.createElement("div"),f="function",p=Math.round,g=Math.abs,y=Date.now;function d(t,e){for(var n,i=e[0].toUpperCase()+e.slice(1),r=0;r<l.length;){if((n=(n=l[r])?n+i:e)in t)return n;r++}}u="undefined"==typeof window?{}:window;var m=d(e.style,"touchAction"),v=void 0!==m;var w="compute",_="manipulation",b="none",x="pan-x",T="pan-y",E=function(){if(!v)return!1;var e={},n=u.CSS&&u.CSS.supports;return["auto","manipulation","pan-y","pan-x","pan-x pan-y","none"].forEach(function(t){return e[t]=!n||u.CSS.supports("touch-action",t)}),e}(),P="ontouchstart"in u,C=void 0!==d(u,"PointerEvent"),I=P&&/mobile|tablet|ip(ad|hone|od)|android/i.test(navigator.userAgent),O="touch",R="mouse",S=25,A=1,D=4,M=8,F=1,j=2,z=4,X=8,Y=16,H=j|z,k=X|Y,N=H|k,q=["x","y"],U=["clientX","clientY"];function V(t,e,n){if(t)if(t.forEach)t.forEach(e,n);else if(void 0!==t.length)for(i=0;i<t.length;)e.call(n,t[i],i,t),i++;else for(var i in t)t.hasOwnProperty(i)&&e.call(n,t[i],i,t)}function L(t,e){return typeof t===f?t.apply(e&&e[0]||void 0,e):t}function W(t,e){return-1<t.indexOf(e)}var B=function(){function t(t,e){this.manager=t,this.set(e)}var e=t.prototype;return e.set=function(t){t===w&&(t=this.compute()),v&&this.manager.element.style&&E[t]&&(this.manager.element.style[m]=t),this.actions=t.toLowerCase().trim()},e.update=function(){this.set(this.manager.options.touchAction)},e.compute=function(){var e=[];return V(this.manager.recognizers,function(t){L(t.options.enable,[t])&&(e=e.concat(t.getTouchAction()))}),function(t){if(W(t,b))return b;var e=W(t,x),n=W(t,T);return e&&n?b:e||n?e?x:T:W(t,_)?_:"auto"}(e.join(" "))},e.preventDefaults=function(t){var e=t.srcEvent,n=t.offsetDirection;if(this.manager.session.prevented)e.preventDefault();else{var i=this.actions,r=W(i,b)&&!E[b],o=W(i,T)&&!E[T],s=W(i,x)&&!E[x];if(r){var a=1===t.pointers.length,i=t.distance<2,t=t.deltaTime<250;if(a&&i&&t)return}if(!s||!o)return r||o&&n&H||s&&n&k?this.preventSrc(e):void 0}},e.preventSrc=function(t){this.manager.session.prevented=!0,t.preventDefault()},t}();function G(t,e){for(;t;){if(t===e)return!0;t=t.parentNode}return!1}function Q(t){var e=t.length;if(1===e)return{x:p(t[0].clientX),y:p(t[0].clientY)};for(var n=0,i=0,r=0;r<e;)n+=t[r].clientX,i+=t[r].clientY,r++;return{x:p(n/e),y:p(i/e)}}function Z(t){for(var e=[],n=0;n<t.pointers.length;)e[n]={clientX:p(t.pointers[n].clientX),clientY:p(t.pointers[n].clientY)},n++;return{timeStamp:y(),pointers:e,center:Q(e),deltaX:t.deltaX,deltaY:t.deltaY}}function J(t,e,n){var i=e[(n=n||q)[0]]-t[n[0]],n=e[n[1]]-t[n[1]];return Math.sqrt(i*i+n*n)}function K(t,e,n){var i=e[(n=n||q)[0]]-t[n[0]],n=e[n[1]]-t[n[1]];return 180*Math.atan2(n,i)/Math.PI}function $(t,e){return t===e?F:g(t)>=g(e)?t<0?j:z:e<0?X:Y}function tt(t,e,n){return{x:e/t||0,y:n/t||0}}function et(t,e){var n=t.session,i=e.pointers,r=i.length;n.firstInput||(n.firstInput=Z(e)),1<r&&!n.firstMultiple?n.firstMultiple=Z(e):1===r&&(n.firstMultiple=!1);var o,s,a=n.firstInput,u=n.firstMultiple,h=(u||a).center,c=e.center=Q(i);e.timeStamp=y(),e.deltaTime=e.timeStamp-a.timeStamp,e.angle=K(h,c),e.distance=J(h,c),o=n,r=(s=e).center,a=o.offsetDelta||{},h=o.prevDelta||{},c=o.prevInput||{},s.eventType!==A&&c.eventType!==D||(h=o.prevDelta={x:c.deltaX||0,y:c.deltaY||0},a=o.offsetDelta={x:r.x,y:r.y}),s.deltaX=h.x+(r.x-a.x),s.deltaY=h.y+(r.y-a.y),e.offsetDirection=$(e.deltaX,e.deltaY);var l,f,p,d,m,r=tt(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=r.x,e.overallVelocityY=r.y,e.overallVelocity=g(r.x)>g(r.y)?r.x:r.y,e.scale=u?(a=u.pointers,J((r=i)[0],r[1],U)/J(a[0],a[1],U)):1,e.rotation=u?(m=u.pointers,K((l=i)[1],l[0],U)+K(m[1],m[0],U)):0,e.maxPointers=!n.prevInput||e.pointers.length>n.prevInput.maxPointers?e.pointers.length:n.prevInput.maxPointers,i=e,m=(l=n).lastInterval||i,n=i.timeStamp-m.timeStamp,i.eventType!==M&&(S<n||void 0===m.velocity)?(f=(d=tt(n,n=i.deltaX-m.deltaX,v=i.deltaY-m.deltaY)).x,p=d.y,d=g(d.x)>g(d.y)?d.x:d.y,v=$(n,v),l.lastInterval=i):(d=m.velocity,f=m.velocityX,p=m.velocityY,v=m.direction),i.velocity=d,i.velocityX=f,i.velocityY=p,i.direction=v;var v=t.element,t=e.srcEvent,t=t.composedPath?t.composedPath()[0]:t.path?t.path[0]:t.target;G(t,v)&&(v=t),e.target=v}function nt(t,e,n){var i=n.pointers.length,r=n.changedPointers.length,o=e&A&&i-r==0,r=e&(D|M)&&i-r==0;n.isFirst=!!o,n.isFinal=!!r,o&&(t.session={}),n.eventType=e,et(t,n),t.emit("hammer.input",n),t.recognize(n),t.session.prevInput=n}function it(t){return t.trim().split(/\s+/g)}function rt(e,t,n){V(it(t),function(t){e.addEventListener(t,n,!1)})}function ot(e,t,n){V(it(t),function(t){e.removeEventListener(t,n,!1)})}function st(t){t=t.ownerDocument||t;return t.defaultView||t.parentWindow||window}var at=function(){function t(e,t){var n=this;this.manager=e,this.callback=t,this.element=e.element,this.target=e.options.inputTarget,this.domHandler=function(t){L(e.options.enable,[e])&&n.handler(t)},this.init()}var e=t.prototype;return e.handler=function(){},e.init=function(){this.evEl&&rt(this.element,this.evEl,this.domHandler),this.evTarget&&rt(this.target,this.evTarget,this.domHandler),this.evWin&&rt(st(this.element),this.evWin,this.domHandler)},e.destroy=function(){this.evEl&&ot(this.element,this.evEl,this.domHandler),this.evTarget&&ot(this.target,this.evTarget,this.domHandler),this.evWin&&ot(st(this.element),this.evWin,this.domHandler)},t}();function ut(t,e,n){if(t.indexOf&&!n)return t.indexOf(e);for(var i=0;i<t.length;){if(n&&t[i][n]==e||!n&&t[i]===e)return i;i++}return-1}var ht={pointerdown:A,pointermove:2,pointerup:D,pointercancel:M,pointerout:M},ct={2:O,3:"pen",4:R,5:"kinect"},lt="pointerdown",ft="pointermove pointerup pointercancel";u.MSPointerEvent&&!u.PointerEvent&&(lt="MSPointerDown",ft="MSPointerMove MSPointerUp MSPointerCancel");var pt=function(e){function n(){var t=n.prototype;return t.evEl=lt,t.evWin=ft,(t=e.apply(this,arguments)||this).store=t.manager.session.pointerEvents=[],t}return o(n,e),n.prototype.handler=function(t){var e=this.store,n=!1,i=t.type.toLowerCase().replace("ms",""),r=ht[i],o=ct[t.pointerType]||t.pointerType,s=o===O,i=ut(e,t.pointerId,"pointerId");r&A&&(0===t.button||s)?i<0&&(e.push(t),i=e.length-1):r&(D|M)&&(n=!0),i<0||(e[i]=t,this.callback(this.manager,r,{pointers:e,changedPointers:[t],pointerType:o,srcEvent:t}),n&&e.splice(i,1))},n}(at);function dt(t){return Array.prototype.slice.call(t,0)}var mt={touchstart:A,touchmove:2,touchend:D,touchcancel:M},vt="touchstart touchmove touchend touchcancel",gt=function(e){function n(){var t;return n.prototype.evTarget=vt,(t=e.apply(this,arguments)||this).targetIds={},t}return o(n,e),n.prototype.handler=function(t){var e=mt[t.type],n=function(t,e){var n,i,r=dt(t.touches),o=this.targetIds;if(e&(2|A)&&1===r.length)return o[r[0].identifier]=!0,[r,r];var s=dt(t.changedTouches),a=[],u=this.target;if(i=r.filter(function(t){return G(t.target,u)}),e===A)for(n=0;n<i.length;)o[i[n].identifier]=!0,n++;n=0;for(;n<s.length;)o[s[n].identifier]&&a.push(s[n]),e&(D|M)&&delete o[s[n].identifier],n++;return a.length?[function(t,n,e){for(var i=[],r=[],o=0;o<t.length;){var s=n?t[o][n]:t[o];ut(r,s)<0&&i.push(t[o]),r[o]=s,o++}return e&&(i=n?i.sort(function(t,e){return t[n]>e[n]}):i.sort()),i}(i.concat(a),"identifier",!0),a]:void 0}.call(this,t,e);n&&this.callback(this.manager,e,{pointers:n[0],changedPointers:n[1],pointerType:O,srcEvent:t})},n}(at);var yt={mousedown:A,mousemove:2,mouseup:D},wt="mousedown",_t="mousemove mouseup",bt=function(e){function n(){var t=n.prototype;return t.evEl=wt,t.evWin=_t,(t=e.apply(this,arguments)||this).pressed=!1,t}return o(n,e),n.prototype.handler=function(t){var e=yt[t.type];e&A&&0===t.button&&(this.pressed=!0),2&e&&1!==t.which&&(e=D),this.pressed&&(e&D&&(this.pressed=!1),this.callback(this.manager,e,{pointers:[t],changedPointers:[t],pointerType:R,srcEvent:t}))},n}(at),xt=2500,Tt=25;function Et(t){var e,n,t=t.changedPointers[0];t.identifier===this.primaryTouch&&(e={x:t.clientX,y:t.clientY},n=this.lastTouches,this.lastTouches.push(e),setTimeout(function(){var t=n.indexOf(e);-1<t&&n.splice(t,1)},xt))}var Pt=function(){return function(n){function t(t,e){var o=n.call(this,t,e)||this;return o.handler=function(t,e,n){var i=n.pointerType===O,r=n.pointerType===R;if(!(r&&n.sourceCapabilities&&n.sourceCapabilities.firesTouchEvents)){if(i)(function(t,e){t&A?(this.primaryTouch=e.changedPointers[0].identifier,Et.call(this,e)):t&(D|M)&&Et.call(this,e)}).call(a(a(o)),e,n);else if(r&&function(t){for(var e=t.srcEvent.clientX,n=t.srcEvent.clientY,i=0;i<this.lastTouches.length;i++){var r=this.lastTouches[i],o=Math.abs(e-r.x),r=Math.abs(n-r.y);if(o<=Tt&&r<=Tt)return!0}return!1}.call(a(a(o)),n))return;o.callback(t,e,n)}},o.touch=new gt(o.manager,o.handler),o.mouse=new bt(o.manager,o.handler),o.primaryTouch=null,o.lastTouches=[],o}return o(t,n),t.prototype.destroy=function(){this.touch.destroy(),this.mouse.destroy()},t}(at)}();function Ct(t,e,n){return Array.isArray(t)&&(V(t,n[e],n),1)}var It=1;function Ot(t,e){e=e.manager;return e?e.get(t):t}function Rt(t){return 16&t?"cancel":8&t?"end":4&t?"move":2&t?"start":""}var St=function(){function t(t){void 0===t&&(t={}),this.options=r({enable:!0},t),this.id=It++,this.manager=null,this.state=1,this.simultaneous={},this.requireFail=[]}var e=t.prototype;return e.set=function(t){return h(this.options,t),this.manager&&this.manager.touchAction.update(),this},e.recognizeWith=function(t){if(Ct(t,"recognizeWith",this))return this;var e=this.simultaneous;return e[(t=Ot(t,this)).id]||(e[t.id]=t).recognizeWith(this),this},e.dropRecognizeWith=function(t){return Ct(t,"dropRecognizeWith",this)||(t=Ot(t,this),delete this.simultaneous[t.id]),this},e.requireFailure=function(t){if(Ct(t,"requireFailure",this))return this;var e=this.requireFail;return-1===ut(e,t=Ot(t,this))&&(e.push(t),t.requireFailure(this)),this},e.dropRequireFailure=function(t){if(Ct(t,"dropRequireFailure",this))return this;t=Ot(t,this);t=ut(this.requireFail,t);return-1<t&&this.requireFail.splice(t,1),this},e.hasRequireFailures=function(){return 0<this.requireFail.length},e.canRecognizeWith=function(t){return!!this.simultaneous[t.id]},e.emit=function(e){var n=this,t=this.state;function i(t){n.manager.emit(t,e)}t<8&&i(n.options.event+Rt(t)),i(n.options.event),e.additionalEvent&&i(e.additionalEvent),8<=t&&i(n.options.event+Rt(t))},e.tryEmit=function(t){if(this.canEmit())return this.emit(t);this.state=32},e.canEmit=function(){for(var t=0;t<this.requireFail.length;){if(!(33&this.requireFail[t].state))return!1;t++}return!0},e.recognize=function(t){t=h({},t);if(!L(this.options.enable,[this,t]))return this.reset(),void(this.state=32);56&this.state&&(this.state=1),this.state=this.process(t),30&this.state&&this.tryEmit(t)},e.process=function(){},e.getTouchAction=function(){},e.reset=function(){},t}(),At=function(e){function t(t){return void 0===t&&(t={}),e.call(this,r({pointers:1},t))||this}o(t,e);var n=t.prototype;return n.attrTest=function(t){var e=this.options.pointers;return 0===e||t.pointers.length===e},n.process=function(t){var e=this.state,n=t.eventType,i=6&e,t=this.attrTest(t);return i&&(n&M||!t)?16|e:i||t?n&D?8|e:2&e?4|e:2:32},t}(St);var Dt=function(n){function t(t){return void 0===t&&(t={}),(t=n.call(this,r({event:"pan",threshold:10,pointers:1,direction:N},t))||this).pX=null,t.pY=null,t}o(t,n);var e=t.prototype;return e.getTouchAction=function(){var t=this.options.direction,e=[];return t&H&&e.push(T),t&k&&e.push(x),e},e.directionTest=function(t){var e=this.options,n=!0,i=t.distance,r=t.direction,o=t.deltaX,s=t.deltaY;return r&e.direction||(i=e.direction&H?(r=0===o?F:o<0?j:z,n=o!==this.pX,Math.abs(t.deltaX)):(r=0===s?F:s<0?X:Y,n=s!==this.pY,Math.abs(t.deltaY))),t.direction=r,n&&i>e.threshold&&r&e.direction},e.attrTest=function(t){return At.prototype.attrTest.call(this,t)&&(2&this.state||!(2&this.state)&&this.directionTest(t))},e.emit=function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e,e=(e=t.direction)===Y?"down":e===X?"up":e===j?"left":e===z?"right":"";e&&(t.additionalEvent=this.options.event+e),n.prototype.emit.call(this,t)},t}(At),Mt={domEvents:!1,touchAction:w,enable:!0,inputTarget:null,inputClass:null,cssProps:{userSelect:"none",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}};function Ft(n,i){var r,o=n.element;o.style&&(V(n.options.cssProps,function(t,e){r=d(o.style,e),i?(n.oldCssProps[r]=o.style[r],o.style[r]=t):o.style[r]=n.oldCssProps[r]||""}),i||(n.oldCssProps={}))}var jt=function(){function t(t,e){var n=this;this.options=h({},Mt,e||{}),this.options.inputTarget=this.options.inputTarget||t,this.handlers={},this.session={},this.recognizers=[],this.oldCssProps={},this.element=t,this.input=new((t=this).options.inputClass||(C?pt:I?gt:P?Pt:bt))(t,nt),this.touchAction=new B(this,this.options.touchAction),Ft(this,!0),V(this.options.recognizers,function(t){var e=n.add(new t[0](t[1]));t[2]&&e.recognizeWith(t[2]),t[3]&&e.requireFailure(t[3])},this)}var e=t.prototype;return e.set=function(t){return h(this.options,t),t.touchAction&&this.touchAction.update(),t.inputTarget&&(this.input.destroy(),this.input.target=t.inputTarget,this.input.init()),this},e.stop=function(t){this.session.stopped=t?2:1},e.recognize=function(t){var e,n=this.session;if(!n.stopped){this.touchAction.preventDefaults(t);var i=this.recognizers,r=n.curRecognizer;(!r||r&&8&r.state)&&(r=n.curRecognizer=null);for(var o=0;o<i.length;)e=i[o],2===n.stopped||r&&e!==r&&!e.canRecognizeWith(r)?e.reset():e.recognize(t),!r&&14&e.state&&(r=n.curRecognizer=e),o++}},e.get=function(t){if(t instanceof St)return t;for(var e=this.recognizers,n=0;n<e.length;n++)if(e[n].options.event===t)return e[n];return null},e.add=function(t){if(Ct(t,"add",this))return this;var e=this.get(t.options.event);return e&&this.remove(e),this.recognizers.push(t),(t.manager=this).touchAction.update(),t},e.remove=function(t){if(Ct(t,"remove",this))return this;var e=this.get(t);return!t||-1!==(e=ut(t=this.recognizers,e))&&(t.splice(e,1),this.touchAction.update()),this},e.on=function(t,e){if(void 0===t||void 0===e)return this;var n=this.handlers;return V(it(t),function(t){n[t]=n[t]||[],n[t].push(e)}),this},e.off=function(t,e){if(void 0===t)return this;var n=this.handlers;return V(it(t),function(t){e?n[t]&&n[t].splice(ut(n[t],e),1):delete n[t]}),this},e.emit=function(t,e){var n,i,r;this.options.domEvents&&(n=t,i=e,(r=document.createEvent("Event")).initEvent(n,!0,!0),(r.gesture=i).target.dispatchEvent(r));var o=this.handlers[t]&&this.handlers[t].slice();if(o&&o.length){e.type=t,e.preventDefault=function(){e.srcEvent.preventDefault()};for(var s=0;s<o.length;)o[s](e),s++}},e.destroy=function(){this.element&&Ft(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null},t}();function zt(t,e){for(var n=t.length,i=0;i<n;++i)if(e(t[i],i))return!0;return!1}function Xt(t,e){for(var n=t.length,i=0;i<n;++i)if(e(t[i],i))return t[i];return null}function Yt(t,e){try{return new RegExp(t,"g").exec(e)}catch(t){return null}}function Ht(t){return t.replace(/_/g,".")}function kt(t,n){var i=null,r="-1";return zt(t,function(t){var e=Yt("("+t.test+")((?:\\/|\\s|:)([0-9|\\.|_]+))?",n);return e&&!t.brand&&(i=t,r=e[3]||"-1",t.versionAlias?r=t.versionAlias:t.versionTest&&(t=t.versionTest.toLowerCase(),r=((t=Yt("("+t+")((?:\\/|\\s|:)([0-9|\\.|_]+))?",t=n))?t[3]:"")||r),r=Ht(r),1)}),{preset:i,version:r}}function Nt(t,e){return Xt(t,function(t){t=t.brand;return Yt(""+e.test,t.toLowerCase())})}var qt=[{test:"phantomjs",id:"phantomjs"},{test:"whale",id:"whale"},{test:"edgios|edge|edg",id:"edge"},{test:"msie|trident|windows phone",id:"ie",versionTest:"iemobile|msie|rv"},{test:"miuibrowser",id:"miui browser"},{test:"samsungbrowser",id:"samsung internet"},{test:"samsung",id:"samsung internet",versionTest:"version"},{test:"chrome|crios",id:"chrome"},{test:"firefox|fxios",id:"firefox"},{test:"android",id:"android browser",versionTest:"version"},{test:"safari|iphone|ipad|ipod",id:"safari",versionTest:"version"}],Ut=[{test:"(?=.*applewebkit/(53[0-7]|5[0-2]|[0-4]))(?=.*\\schrome)",id:"chrome"},{test:"chromium",id:"chrome"},{test:"whale",id:"chrome",brand:!0}],Vt=[{test:"applewebkit",id:"webkit"}],Lt=[{test:"(?=(iphone|ipad))(?!(.*version))",id:"webview"},{test:"(?=(android|iphone|ipad))(?=.*(naver|daum|; wv))",id:"webview"},{test:"webview",id:"webview"}],Wt=[{test:"windows phone",id:"windows phone"},{test:"windows 2000",id:"window",versionAlias:"5.0"},{test:"windows nt",id:"window"},{test:"iphone|ipad|ipod",id:"ios",versionTest:"iphone os|cpu os"},{test:"mac os x",id:"mac"},{test:"android",id:"android"},{test:"tizen",id:"tizen"},{test:"webos|web0s",id:"webos"}];function Bt(t){var e=function(t){if(void 0===t){if("undefined"==typeof navigator||!navigator)return"";t=navigator.userAgent||""}return t.toLowerCase()}(t),n=!!/mobi/g.exec(e),i={name:"unknown",version:"-1",majorVersion:-1,webview:!!kt(Lt,e).preset,chromium:!!kt(Ut,e).preset,webkit:!1},r={name:"unknown",version:"-1",majorVersion:-1},o=kt(qt,e),s=o.preset,a=o.version,t=kt(Wt,e),o=t.preset,t=t.version;return i.webkit=!i.chromium&&!!kt(Vt,e).preset,o&&(r.name=o.id,r.version=t,r.majorVersion=parseInt(t,10)),s&&(i.name=s.id,i.version=a,i.webview&&"ios"===r.name&&"safari"!==i.name&&(i.webview=!1)),i.majorVersion=parseInt(i.version,10),{browser:i,os:r,isMobile:n,isHints:!1}}function Gt(t){return void 0===t&&function(){if("undefined"!=typeof navigator&&navigator&&navigator.userAgentData){var t=navigator.userAgentData,t=t.brands||t.uaList;return t&&t.length}}()?(i=((a=navigator.userAgentData).uaList||a.brands).slice(),r=a.mobile||!1,o=i[0],s={name:o.brand,version:o.version,majorVersion:-1,webkit:!1,webview:zt(Lt,function(t){return Nt(i,t)}),chromium:zt(Ut,function(t){return Nt(i,t)})},a={name:"unknown",version:"-1",majorVersion:-1},s.webkit=!s.chromium&&zt(Vt,function(t){return Nt(i,t)}),n&&(e=n.platform.toLowerCase(),o=Xt(Wt,function(t){return new RegExp(""+t.test,"g").exec(e)}),a.name=o?o.id:e,a.version=n.platformVersion),zt(qt,function(t){var e=Nt(i,t);return e&&(s.name=t.id,s.version=n?n.uaFullVersion:e.version,1)}),"Linux armv8l"===navigator.platform?a.name="android":s.webkit&&(a.name=r?"ios":"mac"),"ios"===a.name&&s.webview&&(s.version="-1"),a.version=Ht(a.version),s.version=Ht(s.version),a.majorVersion=parseInt(a.version,10),s.majorVersion=parseInt(s.version,10),{browser:s,os:a,isMobile:r,isHints:!0}):Bt(t);var n,e,i,r,o,s,a}var Qt=function(t,e){return(Qt=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(t,e)};var Zt,Jt=function(){return(Jt=Object.assign||function(t){for(var e,n=1,i=arguments.length;n<i;n++)for(var r in e=arguments[n])Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t}).apply(this,arguments)};function Kt(t,e,n,i){e=[!n[0]&&i?e[0]-i[0]:e[0],!n[1]&&i?e[1]+i[1]:e[1]],t=Math.max(e[0],t);return t=Math.min(e[1],t)}function $t(t,e){return t<e[0]||t>e[1]}function te(t,e,n){return n[1]&&t>e[1]||n[0]&&t<e[0]}function ee(t,e,n){var i=t,r=e[0],o=e[1],e=o-r;return n[1]&&o<t&&(i=(i-o)%e+r),n[0]&&t<r&&(i=(i-r)%e+o),i}function ne(t){for(var e=[],n=0,i=t.length;n<i;n++)e.push(t[n]);return e}var ie,re,oe=(Zt="undefined"==typeof window?{navigator:{userAgent:""}}:window).requestAnimationFrame||Zt.webkitRequestAnimationFrame,se=Zt.cancelAnimationFrame||Zt.webkitCancelAnimationFrame;function ae(t,e){var n,i={};for(n in t)n&&(i[n]=e(t[n],n));return i}function ue(t,e){var n,i={};for(n in t)n&&e(t[n],n)&&(i[n]=t[n]);return i}function he(t,e){for(var n in t)if(n&&!e(t[n],n))return!1;return!0}function ce(t,n){return he(t,function(t,e){return t===n[e]})}oe&&!se?(ie={},re=oe,oe=function(e){var n=re(function(t){ie[n]&&e(t)});return ie[n]=!0,n},se=function(t){delete ie[t]}):oe&&se||(oe=function(t){return Zt.setTimeout(function(){t(Zt.performance&&Zt.performance.now&&Zt.performance.now()||(new Date).getTime())},16)},se=Zt.clearTimeout);var le={};function fe(t,e){var n,i;return le[e]||(le[e]=(i=(n=e)<1?Math.pow(10,de(n)):1,function(t){return 0===n?0:Math.round(Math.round(t/n)*n*i)/i})),le[e](t)}function pe(t,n){if(!t||!n)return t;var i="number"==typeof n;return ae(t,function(t,e){return fe(t,i?n:n[e])})}function de(t){if(!isFinite(t))return 0;var e=t+"";if(0<=e.indexOf("e")){for(var n=0,i=1;Math.round(t*i)/i!==t;)i*=10,n++;return n}return 0<=e.indexOf(".")?e.length-e.indexOf(".")-1:0}function me(t,e,n){return Math.max(Math.min(t,n),e)}var ve=function(){function t(t){var e=t.options,n=t.itm,i=t.em,t=t.axm;this.options=e,this.itm=n,this.em=i,this.axm=t,this.animationEnd=this.animationEnd.bind(this)}var e=t.prototype;return e.getDuration=function(n,t,e){var i,r=this;return me(void 0!==e?e:(i=ae(t,function(t,e){return t=Math.abs(t-n[e]),e=r.options.deceleration,(e=Math.sqrt(t/e*2))<100?0:e}),Object.keys(i).reduce(function(t,e){return Math.max(t,i[e])},-1/0)),this.options.minimumDuration,this.options.maximumDuration)},e.createAnimationParam=function(t,e,n){var i=this.axm.get(),r=t,t=n&&n.event||null;return{depaPos:i,destPos:r,duration:me(e,this.options.minimumDuration,this.options.maximumDuration),delta:this.axm.getDelta(i,r),inputEvent:t,input:n&&n.input||null,isTrusted:!!t,done:this.animationEnd}},e.grab=function(t,e){var n;this._animateParam&&t.length&&(n=this.axm.get(t),he(t=this.axm.map(n,function(t,e){return ee(t,e.range,e.circular)}),function(t,e){return n[e]===t})||this.em.triggerChange(t,!1,n,e,!!e),this._animateParam=null,this._raf&&(t=this._raf,se(t)),this._raf=null,this.em.triggerAnimationEnd(!(!e||!e.event)))},e.getEventInfo=function(){return this._animateParam&&this._animateParam.input&&this._animateParam.inputEvent?{input:this._animateParam.input,event:this._animateParam.inputEvent}:null},e.restore=function(t){var e=this.axm.get(),n=this.axm.map(e,function(t,e){return Math.min(e.range[1],Math.max(e.range[0],t))});this.animateTo(n,this.getDuration(e,n),t)},e.animationEnd=function(){var t=this.getEventInfo();this._animateParam=null;var e=this.axm.filter(this.axm.get(),function(t,e){return te(t,e.range,e.circular)});0<Object.keys(e).length&&this.setTo(this.axm.map(e,function(t,e){return ee(t,e.range,e.circular)})),this.itm.setInterrupt(!1),this.em.triggerAnimationEnd(!!t),this.axm.isOutside()?this.restore(t):this.finish(!!t)},e.finish=function(t){this._animateParam=null,this.itm.setInterrupt(!1),this.em.triggerFinish(t)},e.animateLoop=function(s,a){var u,h,c,l,f,p,d,m;s.duration?(this._animateParam=Jt({},s),u=this._animateParam,h=this,c=u.destPos,l=u.depaPos,f=0,p=ae(l,function(t,e){return t<=c[e]?1:-1}),d=ae(c,function(t){return t}),m=(new Date).getTime(),u.startTime=m,function t(){h._raf=null;var e=(new Date).getTime(),r=(e-u.startTime)/s.duration,o=h.easing(r),n=h.axm.map(l,function(t,e,n){var i=1<=r?c[n]:t+u.delta[n]*(o-f),t=ee(i,e.range,e.circular);return i!==t&&(e=p[n]*(e.range[1]-e.range[0]),c[n]-=e,l[n]-=e),t}),i=!h.em.triggerChange(n,!1,l);l=n,m=e,1<=(f=o)?(ce(c=h.getFinalPos(c,d),h.axm.get(Object.keys(c)))||h.em.triggerChange(c,!0,l),a()):i?h.finish(!1):h._raf=oe(t)}()):(this.em.triggerChange(s.destPos,!0),a())},e.getFinalPos=function(t,n){var i=this;return ae(t,function(t,e){return t>=n[e]-1e-6&&t<=n[e]+1e-6?n[e]:fe(t,i.getRoundUnit(t,e))})},e.getRoundUnit=function(t,e){var n=this.options.round,i=null;return n||(e=this.axm.getAxisOptions(e),t=Math.max(de(e.range[0]),de(e.range[1]),de(t)),i=1/Math.pow(10,t)),i||n},e.getUserControll=function(t){t=t.setTo();return t.destPos=this.axm.get(t.destPos),t.duration=me(t.duration,this.options.minimumDuration,this.options.maximumDuration),t},e.animateTo=function(t,e,n){var i=this,r=this.createAnimationParam(t,e,n),t=Jt({},r.depaPos),e=this.em.triggerAnimationStart(r),r=this.getUserControll(r);!e&&this.axm.every(r.destPos,function(t,e){return te(t,e.range,e.circular)})&&console.warn("You can't stop the 'animation' event when 'circular' is true."),e&&!ce(r.destPos,t)&&(e=n&&n.event||null,this.animateLoop({depaPos:t,destPos:r.destPos,duration:r.duration,delta:this.axm.getDelta(t,r.destPos),isTrusted:!!e,inputEvent:e,input:n&&n.input||null},function(){return i.animationEnd()}))},e.easing=function(t){return 1<t?1:this.options.easing(t)},e.setTo=function(t,e){void 0===e&&(e=0);var n=Object.keys(t);this.grab(n);var i=this.axm.get(n);if(ce(t,i))return this;this.itm.setInterrupt(!0);t=ue(t,function(t,e){return i[e]!==t});return Object.keys(t).length&&(ce(t=this.axm.map(t,function(t,e){var n=e.range,e=e.circular;return e&&(e[0]||e[1])?t:Kt(t,n,e)}),i)||(0<e?this.animateTo(t,e):(this.em.triggerChange(t),this.finish(!1)))),this},e.setBy=function(n,t){return void 0===t&&(t=0),this.setTo(ae(this.axm.get(Object.keys(n)),function(t,e){return t+n[e]}),t)},t}(),ge=function(){function t(t){this.axes=t}var e=t.prototype;return e.triggerHold=function(t,e){t=this.getRoundPos(t).roundPos;this.axes.trigger("hold",{pos:t,input:e.input||null,inputEvent:e.event||null,isTrusted:!0})},e.triggerRelease=function(t){var e=this.getRoundPos(t.destPos,t.depaPos),n=e.roundPos,e=e.roundDepa;t.destPos=n,t.depaPos=e,t.setTo=this.createUserControll(t.destPos,t.duration),this.axes.trigger("release",t)},e.triggerChange=function(t,e,n,i,r){void 0===r&&(r=!1);var o=this.am,s=o.axm,o=o.getEventInfo(),t=this.getRoundPos(t,n),n=t.roundPos,t=t.roundDepa,n=s.moveTo(n,t),t=i&&i.event||o&&o.event||null,o={pos:n.pos,delta:n.delta,holding:r,inputEvent:t,isTrusted:!!t,input:i&&i.input||o&&o.input||null,set:t?this.createUserControll(n.pos):function(){}},n=this.axes.trigger("change",o);return t&&s.set(o.set().destPos),n},e.triggerAnimationStart=function(t){var e=this.getRoundPos(t.destPos,t.depaPos),n=e.roundPos,e=e.roundDepa;return t.destPos=n,t.depaPos=e,t.setTo=this.createUserControll(t.destPos,t.duration),this.axes.trigger("animationStart",t)},e.triggerAnimationEnd=function(t){void 0===t&&(t=!1),this.axes.trigger("animationEnd",{isTrusted:t})},e.triggerFinish=function(t){void 0===t&&(t=!1),this.axes.trigger("finish",{isTrusted:t})},e.createUserControll=function(t,e){void 0===e&&(e=0);var n={destPos:Jt({},t),duration:e};return function(t,e){return t&&(n.destPos=Jt({},t)),void 0!==e&&(n.duration=e),n}},e.setAnimationManager=function(t){this.am=t},e.destroy=function(){this.axes.off()},e.getRoundPos=function(t,e){var n=this.axes.options.round;return{roundPos:pe(t,n),roundDepa:pe(e,n)}},t}(),ye=function(){function t(t){this.options=t,this._prevented=!1}var e=t.prototype;return e.isInterrupting=function(){return this.options.interruptable||this._prevented},e.isInterrupted=function(){return!this.options.interruptable&&this._prevented},e.setInterrupt=function(t){this.options.interruptable||(this._prevented=t)},t}(),we=function(){function t(t,e){var n=this;this.axis=t,this.options=e,this._complementOptions(),this._pos=Object.keys(this.axis).reduce(function(t,e){return t[e]=n.axis[e].range[0],t},{})}var e=t.prototype;return e._complementOptions=function(){var r=this;Object.keys(this.axis).forEach(function(i){r.axis[i]=Jt({range:[0,100],bounce:[0,0],circular:[!1,!1]},r.axis[i]),["bounce","circular"].forEach(function(t){var e=r.axis,n=e[i][t];/string|number|boolean/.test(typeof n)&&(e[i][t]=[n,n])})})},e.getDelta=function(t,e){var n=this.get(t);return ae(this.get(e),function(t,e){return t-n[e]})},e.get=function(t){var n=this;return t&&Array.isArray(t)?t.reduce(function(t,e){return e&&e in n._pos&&(t[e]=n._pos[e]),t},{}):Jt(Jt({},this._pos),t||{})},e.moveTo=function(n,i){void 0===i&&(i=this._pos);var t=ae(this._pos,function(t,e){return e in n&&e in i?n[e]-i[e]:0});return this.set(this.map(n,function(t,e){return e?ee(t,e.range,e.circular):0})),{pos:Jt({},this._pos),delta:t}},e.set=function(t){for(var e in t)e&&e in this._pos&&(this._pos[e]=t[e])},e.every=function(t,n){var i=this.axis;return he(t,function(t,e){return n(t,i[e],e)})},e.filter=function(t,n){var i=this.axis;return ue(t,function(t,e){return n(t,i[e],e)})},e.map=function(t,n){var i=this.axis;return ae(t,function(t,e){return n(t,i[e],e)})},e.isOutside=function(t){return!this.every(t?this.get(t):this._pos,function(t,e){return!$t(t,e.range)})},e.getAxisOptions=function(t){return this.axis[t]},t}(),_e=function(){function t(t){var e=t.options,n=t.itm,i=t.em,r=t.axm,t=t.am;this.isOutside=!1,this.moveDistance=null,this.isStopped=!1,this.options=e,this.itm=n,this.em=i,this.axm=r,this.am=t}var e=t.prototype;return e.atOutside=function(t){var o=this;if(this.isOutside)return this.axm.map(t,function(t,e){var n=e.range[0]-e.bounce[0],e=e.range[1]+e.bounce[1];return e<t?e:t<n?n:t});var s=this.am.easing(1e-5)/1e-5;return this.axm.map(t,function(t,e){var n=e.range[0],i=e.range[1],r=e.bounce,e=e.circular;return e&&(e[0]||e[1])?t:t<n?n-o.am.easing((n-t)/(r[0]*s))*r[0]:i<t?i+o.am.easing((t-i)/(r[1]*s))*r[1]:t})},e.get=function(t){return this.axm.get(t.axes)},e.hold=function(t,e){!this.itm.isInterrupted()&&t.axes.length&&(e={input:t,event:e},this.isStopped=!1,this.itm.setInterrupt(!0),this.am.grab(t.axes,e),this.moveDistance||this.em.triggerHold(this.axm.get(),e),this.isOutside=this.axm.isOutside(t.axes),this.moveDistance=this.axm.get(t.axes))},e.change=function(t,e,n){var i,r;this.isStopped||!this.itm.isInterrupting()||this.axm.every(n,function(t){return 0===t})||(r=ae(i=this.moveDistance||this.axm.get(t.axes),function(t,e){return t+(n[e]||0)}),this.moveDistance&&(this.moveDistance=r),this.isOutside&&this.axm.every(i,function(t,e){return!$t(t,e.range)})&&(this.isOutside=!1),i=this.atOutside(i),r=this.atOutside(r),this.em.triggerChange(r,!1,i,{input:t,event:e},!0)||(this.isStopped=!0,this.moveDistance=null,this.am.finish(!1)))},e.release=function(t,e,n,i){var r,o;!this.isStopped&&this.itm.isInterrupting()&&this.moveDistance&&(r=this.axm.get(t.axes),o=this.axm.get(),n=this.axm.get(this.axm.map(n,function(t,e,n){return e.circular&&(e.circular[0]||e.circular[1])?r[n]+t:Kt(r[n]+t,e.range,e.circular,e.bounce)})),0===(i=this.am.getDuration(n,r,i))&&(n=Jt({},o)),n={depaPos:o,destPos:n,duration:i,delta:this.axm.getDelta(o,n),inputEvent:e,input:t,isTrusted:!0},this.em.triggerRelease(n),this.moveDistance=null,t={input:t,event:e},(n=ce((e=this.am.getUserControll(n)).destPos,o))||0===e.duration?(n||this.em.triggerChange(e.destPos,!1,o,t,!0),this.itm.setInterrupt(!1),this.axm.isOutside()?this.am.restore(t):this.em.triggerFinish(!0)):this.am.animateTo(e.destPos,e.duration,t))},t}(),be="ontouchstart"in Zt&&"safari"===Gt().browser.name,xe=function(){if("undefined"==typeof document)return"";for(var t=(document.head||document.getElementsByTagName("head")[0]).style,e=["transform","webkitTransform","msTransform","mozTransform"],n=0,i=e.length;n<i;n++)if(e[n]in t)return e[n];return""}(),Te=function(r){function t(){this.constructor=e}var e;function n(t,e,n){void 0===t&&(t={}),void 0===e&&(e={});var i=r.call(this)||this;return i.axis=t,i._inputs=[],i.options=Jt({easing:function(t){return 1-Math.pow(1-t,3)},interruptable:!0,maximumDuration:1/0,minimumDuration:0,deceleration:6e-4,round:null},e),i.itm=new ye(i.options),i.axm=new we(i.axis,i.options),i.em=new ge(i),i.am=new ve(i),i.io=new _e(i),i.em.setAnimationManager(i.am),n&&i.em.triggerChange(n),i}Qt(e=n,i=r),e.prototype=null===i?Object.create(i):(t.prototype=i.prototype,new t);var i=n.prototype;return i.connect=function(t,e){var n="string"==typeof t?t.split(" "):t.concat();return~this._inputs.indexOf(e)&&this.disconnect(e),"hammer"in e&&((t=this._inputs.filter(function(t){return t.hammer&&t.element===e.element})).length&&(e.hammer=t[0].hammer)),e.mapAxes(n),e.connect(this.io),this._inputs.push(e),this},i.disconnect=function(t){return t?0<=(t=this._inputs.indexOf(t))&&(this._inputs[t].disconnect(),this._inputs.splice(t,1)):(this._inputs.forEach(function(t){return t.disconnect()}),this._inputs=[]),this},i.get=function(t){return this.axm.get(t)},i.setTo=function(t,e){return void 0===e&&(e=0),this.am.setTo(t,e),this},i.setBy=function(t,e){return void 0===e&&(e=0),this.am.setBy(t,e),this},i.isBounceArea=function(t){return this.axm.isOutside(t)},i.destroy=function(){this.disconnect(),this.em.destroy()},n.VERSION="2.7.2",n.TRANSFORM=xe,n.DIRECTION_NONE=F,n.DIRECTION_LEFT=j,n.DIRECTION_RIGHT=z,n.DIRECTION_UP=X,n.DIRECTION_DOWN=Y,n.DIRECTION_HORIZONTAL=H,n.DIRECTION_VERTICAL=k,n.DIRECTION_ALL=N,n}(t),Ee="PointerEvent"in Zt||"MSPointerEvent"in Zt,Pe="ontouchstart"in Zt,Ce="_EGJS_AXES_INPUTTYPE_";function Ie(i,t){return t.reduce(function(t,e,n){return i[n]&&(t[i[n]]=e),t},{})}function Oe(t,e,n){return n?!!(e===N||e&t&&n&t):!!(e&t)}var Re=function(){function t(t,e){if(this.axes=[],this.hammer=null,this.element=null,this.panRecognizer=null,this.isRightEdge=!1,this.rightEdgeTimer=0,this.panFlag=!1,void 0===jt)throw new Error("The Hammerjs must be loaded before eg.Axes.PanInput.\nhttp://hammerjs.github.io/");this.element=function e(t,n){var i;return void 0===n&&(n=!1),"string"==typeof t?(i=t.match(/^<([a-z]+)\s*([^>]*)>/)?((i=document.createElement("div")).innerHTML=t,ne(i.childNodes)):ne(document.querySelectorAll(t)),n||(i=1<=i.length?i[0]:void 0)):t===Zt||t.nodeName&&(1===t.nodeType||9===t.nodeType)?i=t:"jQuery"in Zt&&t instanceof jQuery||t.constructor.prototype.jquery?i=n?t.toArray():t.get(0):Array.isArray(t)&&(i=t.map(function(t){return e(t)}),n||(i=1<=i.length?i[0]:void 0)),i}(t),this.options=Jt({inputType:["touch","mouse","pointer"],scale:[1,1],thresholdAngle:45,threshold:0,iOSEdgeSwipeThreshold:30,hammerManagerOptions:{cssProps:{userSelect:"none",touchSelect:"none",touchCallout:"none",userDrag:"none"}}},e),this.onHammerInput=this.onHammerInput.bind(this),this.onPanmove=this.onPanmove.bind(this),this.onPanend=this.onPanend.bind(this)}var e=t.prototype;return e.mapAxes=function(t){var e=!!t[0],n=!!t[1];this._direction=e&&n?N:e?H:n?k:F,this.axes=t},e.connect=function(t){var e={direction:this._direction,threshold:this.options.threshold};if(this.hammer)this.removeRecognizer(),this.dettachEvent();else{var n=(n=this.element[Ce])||String(Math.round(Math.random()*(new Date).getTime())),i=function(t){void 0===t&&(t=[]);var e=!1,n=!1,i=!1;return t.forEach(function(t){switch(t){case"mouse":n=!0;break;case"touch":e=Pe;break;case"pointer":i=Ee}}),i?pt:e&&n?Pt:e?gt:n?bt:null}(this.options.inputType);if(!i)throw new Error("Wrong inputType parameter!");this.hammer=function(t,e){try{return new jt(t,Jt({},e))}catch(t){return null}}(this.element,Jt({inputClass:i},this.options.hammerManagerOptions)),this.element[Ce]=n}return this.panRecognizer=new Dt(e),this.hammer.add(this.panRecognizer),this.attachEvent(t),this},e.disconnect=function(){return this.removeRecognizer(),this.hammer&&this.dettachEvent(),this._direction=F,this},e.destroy=function(){this.disconnect(),this.hammer&&0===this.hammer.recognizers.length&&this.hammer.destroy(),delete this.element[Ce],this.element=null,this.hammer=null},e.enable=function(){return this.hammer&&(this.hammer.get("pan").options.enable=!0),this},e.disable=function(){return this.hammer&&(this.hammer.get("pan").options.enable=!1),this},e.isEnable=function(){return!(!this.hammer||!this.hammer.get("pan").options.enable)},e.removeRecognizer=function(){this.hammer&&this.panRecognizer&&(this.hammer.remove(this.panRecognizer),this.panRecognizer=null)},e.onHammerInput=function(t){var e;this.isEnable()&&(t.isFirst?(this.panFlag=!1)!==t.srcEvent.cancelable&&(e=this.options.iOSEdgeSwipeThreshold,this.observer.hold(this,t),this.isRightEdge=be&&t.center.x>window.innerWidth-e,this.panFlag=!0):t.isFinal&&this.onPanend(t))},e.onPanmove=function(t){var e=this;if(this.panFlag){var n=(n=t.angle,(r=this.options.thresholdAngle)<0||90<r?F:(n=Math.abs(n),r<n&&n<180-r?k:H)),i=this.hammer.session.prevInput;if(i&&be){if(t.center.x<0)return void this.onPanend(Jt(Jt({},i),{velocityX:0,velocityY:0,offsetX:0,offsetY:0}));this.isRightEdge&&(clearTimeout(this.rightEdgeTimer),o=this.options.iOSEdgeSwipeThreshold,t.deltaX<-o?this.isRightEdge=!1:this.rightEdgeTimer=window.setTimeout(function(){e.onPanend(Jt(Jt({},i),{velocityX:0,velocityY:0,offsetX:0,offsetY:0}))},100))}i?(t.offsetX=t.deltaX-i.deltaX,t.offsetY=t.deltaY-i.deltaY):(t.offsetX=0,t.offsetY=0);var n,r=this.getOffset([t.offsetX,t.offsetY],[Oe(H,this._direction,n),Oe(k,this._direction,n)]),o=r.some(function(t){return 0!==t});o&&(!1!==(n=t.srcEvent).cancelable&&n.preventDefault(),n.stopPropagation()),(t.preventSystemEvent=o)&&this.observer.change(this,t,Ie(this.axes,r))}},e.onPanend=function(t){var e,n,i,r;this.panFlag&&(clearTimeout(this.rightEdgeTimer),this.panFlag=!1,e=this.getOffset([Math.abs(t.velocityX)*(t.deltaX<0?-1:1),Math.abs(t.velocityY)*(t.deltaY<0?-1:1)],[Oe(H,this._direction),Oe(k,this._direction)]),n=e,i=this.observer.options.deceleration,r=Math.sqrt(n[0]*n[0]+n[1]*n[1]),i=Math.abs(r/-i),e=[n[0]/2*i,n[1]/2*i],this.observer.release(this,t,Ie(this.axes,e)))},e.attachEvent=function(t){this.observer=t,this.hammer.on("hammer.input",this.onHammerInput).on("panstart panmove",this.onPanmove)},e.dettachEvent=function(){this.hammer.off("hammer.input",this.onHammerInput).off("panstart panmove",this.onPanmove),this.observer=null},e.getOffset=function(t,e){var n=[0,0],i=this.options.scale;return e[0]&&(n[0]=t[0]*i[0]),e[1]&&(n[1]=t[1]*i[1]),n},t}(),Se="undefined"!=typeof window&&window.Math===Math?window:"undefined"!=typeof self&&self.Math===Math?self:Function("return this")(),Ae=Se.document,e=Gt();e.os.name,e.browser.name;Se.Float32Array=void 0!==Se.Float32Array?Se.Float32Array:Se.Array;Se.Float32Array,Se.getComputedStyle,Se.navigator.userAgent,Se.DeviceMotionEvent,Se.devicePixelRatio;var De=function(){for(var t=Ae.documentElement.style,e=["transform","webkitTransform","msTransform","mozTransform"],n=0,i=e.length;n<i;n++)if(e[n]in t)return e[n];return""}(),Me=Se.CSS&&Se.CSS.supports&&Se.CSS.supports("will-change","transform"),Fe="3.4.9",je=function(r){function o(t,e){void 0===e&&(e={});var n=r.call(this)||this,i=e||{};return n._el=t,n._rowCount=i.rowCount||1,n._colCount=i.colCount||1,n._totalCount=n._rowCount*n._colCount,n._width=i.width||"auto",n._height=i.height||"auto",n._autoHeight=null==i.autoHeight||i.autoHeight,n._colRow=[0,0],i.colRow?n._colRow=i.colRow:i.frameIndex&&n.setFrameIndex(i.frameIndex),n._el.style.width=o._getSizeString(n._width),n._el.style.height=o._getSizeString(n._height),i.imageUrl?(n._image=new Image,n._image.onload=function(){n._bg=o._createBgDiv(n._image,n._rowCount,n._colCount,n._autoHeight),n._el.appendChild(n._bg),n.setColRow(n._colRow[0],n._colRow[1]),n.trigger("load",{target:n._el,bgElement:n._bg}),n._autoPlayReservedInfo&&(n.play(n._autoPlayReservedInfo),n._autoPlayReservedInfo=null)},n._image.onerror=function(t){n.trigger("imageError",{imageUrl:i.imageUrl})},n._image.src=i.imageUrl):setTimeout(function(){n.trigger("imageError",{imageUrl:i.imageUrl})},0),n}n(o,r);var t=o.prototype;return o._createBgDiv=function(t,e,n,i){var r=document.createElement("div");r.style.position="relative",r.style.overflow="hidden",t.style.position="absolute",t.style.width=100*n+"%",t.style.height=100*e+"%",t.ondragstart=function(){return!1},Me&&(t.style.willChange="transform"),r.appendChild(t);n=t.width/n,e=t.height/e;return i?(n=e/n,r.style.paddingBottom=100*n+"%"):r.style.height="100%",r},o._getSizeString=function(t){return"number"==typeof t?t+"px":t},t.setFrameIndex=function(t){t=this.toColRow(t);this.setColRow(t[0],t[1])},t.getFrameIndex=function(){return this._colRow[1]*this._colCount+this._colRow[0]},t.setColRow=function(t,e){e>this._rowCount-1||t>this._colCount-1||(this._image&&De&&(this._image.style[De]="translate("+-(t/this._colCount)*100+"%, "+-(e/this._rowCount)*100+"%)"),this._colRow=[t,e])},t.getColRow=function(){return this._colRow},t.stop=function(){this._autoPlayTimer&&(clearInterval(this._autoPlayTimer),this._autoPlayTimer=-1)},t.play=function(t){var e,n,i,r=this,o=void 0===t?{interval:1e3/this._totalCount,playCount:0}:t,t=o.interval,s=o.playCount;this._bg?(this._autoPlayTimer&&(clearInterval(this._autoPlayTimer),this._autoPlayTimer=-1),e=this.getFrameIndex(),i=n=0,this._autoPlayTimer=window.setInterval(function(){e%=r._totalCount;var t=r.toColRow(e);r.setColRow(t[0],t[1]),e++,++i===r._totalCount&&(i=0,n++),0<s&&n===s&&clearInterval(r._autoPlayTimer)},t)):this._autoPlayReservedInfo={interval:t,playCount:s}},t.toColRow=function(t){var e=this._colCount,n=this._rowCount;return t<0?[0,0]:t>=this._totalCount?[e-1,n-1]:[t%e,Math.floor(t/e)]},o.VERSION=Fe,o}(t);return{SpinViewer:function(o){function t(t,e){void 0===e&&(e={});var n=o.call(this)||this;n._el=t;var i=s({},e),r=i.colCount||1,e=i.rowCount||1;return n._scale=i.scale||1,n._panScale=.21*n._scale,n._frameCount=r*e,n._sprites=new je(t,i).on({load:function(t){n.trigger("load",t)},imageError:function(t){n.trigger("imageError",{imageUrl:t.imageUrl})}}),n._panInput=new Re(n._el,{scale:[n._panScale,n._panScale]}),n._axes=new Te({angle:{range:[0,359],circular:!0}}).on({change:function(t){var e=Math.floor(t.pos.angle/(360/n._frameCount)),e=n._frameCount-e-1;n._sprites.setFrameIndex(e),n.trigger("change",{frameIndex:e,colRow:n._sprites.getColRow(),angle:t.pos.angle})},animationEnd:function(t){n.trigger("animationEnd",{isTrusted:t.isTrusted})}}),n._axes.connect("angle",n._panInput),n}n(t,o);var e=t.prototype;return e.setScale=function(t){return isNaN(t)||t<0||(this._scale=t,this._panScale=.21*t,this._panInput.options.scale=[this._panScale,this._panScale]),this},e.getScale=function(){return this._scale},e.spinBy=function(t,e){return void 0===t&&(t=0),void 0===e&&(e={duration:0}),this._axes.setBy({angle:t},e.duration),this},e.spinTo=function(t,e){return void 0===t&&(t=0),void 0===e&&(e={duration:0}),this._axes.setTo({angle:t},e.duration),this},e.getAngle=function(){return this._axes.get().angle||0},t.VERSION=Fe,t}(t),SpriteImage:je,VERSION:Fe}}); //# sourceMappingURL=view360.spinviewer.pkgd.min.js.map