@egjs/flicking 4.12.0-beta.1 → 4.12.0-beta.2

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.
@@ -4,7 +4,7 @@ name: @egjs/flicking
4
4
  license: MIT
5
5
  author: NAVER Corp.
6
6
  repository: https://github.com/naver/egjs-flicking
7
- version: 4.12.0-beta.1
7
+ version: 4.12.0-beta.2
8
8
  */
9
9
  (function (global, factory) {
10
10
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
@@ -794,6 +794,8 @@ version: 4.12.0-beta.1
794
794
  STRICT: "strict"
795
795
  };
796
796
  var CLASS = {
797
+ VIEWPORT: "flicking-viewport",
798
+ CAMERA: "flicking-camera",
797
799
  VERTICAL: "vertical",
798
800
  HIDDEN: "flicking-hidden",
799
801
  DEFAULT_VIRTUAL: "flicking-panel"
@@ -2671,7 +2673,7 @@ version: 4.12.0-beta.1
2671
2673
  license: MIT
2672
2674
  author: NAVER Corp.
2673
2675
  repository: https://github.com/naver/egjs-axes
2674
- version: 3.9.0
2676
+ version: 3.9.1-beta.0
2675
2677
  */
2676
2678
 
2677
2679
  /*! *****************************************************************************
@@ -2725,9 +2727,9 @@ version: 4.12.0-beta.1
2725
2727
  return c > 3 && r && Object.defineProperty(target, key, r), r;
2726
2728
  }
2727
2729
 
2728
- /*
2729
- * Copyright (c) 2015 NAVER Corp.
2730
- * egjs projects are licensed under the MIT license
2730
+ /*
2731
+ * Copyright (c) 2015 NAVER Corp.
2732
+ * egjs projects are licensed under the MIT license
2731
2733
  */
2732
2734
  /* eslint-disable no-new-func, no-nested-ternary */
2733
2735
  var win;
@@ -2742,9 +2744,9 @@ version: 4.12.0-beta.1
2742
2744
  win = window;
2743
2745
  }
2744
2746
 
2745
- /*
2746
- * Copyright (c) 2015 NAVER Corp.
2747
- * egjs projects are licensed under the MIT license
2747
+ /*
2748
+ * Copyright (c) 2015 NAVER Corp.
2749
+ * egjs projects are licensed under the MIT license
2748
2750
  */
2749
2751
  var DIRECTION_NONE = 1;
2750
2752
  var DIRECTION_LEFT = 2;
@@ -2870,19 +2872,19 @@ version: 4.12.0-beta.1
2870
2872
  };
2871
2873
  caf = win.clearTimeout;
2872
2874
  }
2873
- /**
2874
- * A polyfill for the window.requestAnimationFrame() method.
2875
- * @see https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame
2876
- * @private
2875
+ /**
2876
+ * A polyfill for the window.requestAnimationFrame() method.
2877
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame
2878
+ * @private
2877
2879
  */
2878
2880
  var requestAnimationFrame = function (fp) {
2879
2881
  return raf(fp);
2880
2882
  };
2881
- /**
2882
- * A polyfill for the window.cancelAnimationFrame() method. It cancels an animation executed through a call to the requestAnimationFrame() method.
2883
- * @param {Number} key − The ID value returned through a call to the requestAnimationFrame() method. <ko>requestAnimationFrame() 메서드가 반환한 아이디 값</ko>
2884
- * @see https://developer.mozilla.org/en-US/docs/Web/API/Window/cancelAnimationFrame
2885
- * @private
2883
+ /**
2884
+ * A polyfill for the window.cancelAnimationFrame() method. It cancels an animation executed through a call to the requestAnimationFrame() method.
2885
+ * @param {Number} key − The ID value returned through a call to the requestAnimationFrame() method. <ko>requestAnimationFrame() 메서드가 반환한 아이디 값</ko>
2886
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/Window/cancelAnimationFrame
2887
+ * @private
2886
2888
  */
2887
2889
  var cancelAnimationFrame = function (key) {
2888
2890
  caf(key);
@@ -3009,6 +3011,9 @@ version: 4.12.0-beta.1
3009
3011
  });
3010
3012
  Object.keys(newCssProps_1).forEach(function (prop) {
3011
3013
  oldCssProps[prop] = element.style[prop];
3014
+ });
3015
+ // Old style props like user-select can be corrupted if you change the style directly in the logic above.
3016
+ Object.keys(newCssProps_1).forEach(function (prop) {
3012
3017
  element.style[prop] = newCssProps_1[prop];
3013
3018
  });
3014
3019
  }
@@ -3028,32 +3033,32 @@ version: 4.12.0-beta.1
3028
3033
  this._axes = _axes;
3029
3034
  this.holdingCount = 0;
3030
3035
  }
3031
- /**
3032
- * This event is fired when a user holds an element on the screen of the device.
3033
- * @ko 사용자가 기기의 화면에 손을 대고 있을 때 발생하는 이벤트
3034
- * @event Axes#hold
3035
- * @type {object}
3036
- * @property {Object.<string, number>} pos coordinate <ko>좌표 정보</ko>
3037
- * @property {Object} input The instance of inputType where the event occurred<ko>이벤트가 발생한 inputType 인스턴스</ko>
3038
- * @property {Object} inputEvent The event object received from inputType <ko>inputType으로 부터 받은 이벤트 객체</ko>
3039
- * @property {Boolean} isTrusted Returns true if an event was generated by the user action, or false if it was caused by a script or API call <ko>사용자의 액션에 의해 이벤트가 발생하였으면 true, 스크립트나 API호출에 의해 발생하였을 경우에는 false를 반환한다.</ko>
3040
- *
3041
- * @example
3042
- * ```js
3043
- * const axes = new eg.Axes({
3044
- * "x": {
3045
- * range: [0, 100]
3046
- * },
3047
- * "zoom": {
3048
- * range: [50, 30]
3049
- * }
3050
- * }).on("hold", function(event) {
3051
- * // event.pos
3052
- * // event.input
3053
- * // event.inputEvent
3054
- * // isTrusted
3055
- * });
3056
- * ```
3036
+ /**
3037
+ * This event is fired when a user holds an element on the screen of the device.
3038
+ * @ko 사용자가 기기의 화면에 손을 대고 있을 때 발생하는 이벤트
3039
+ * @event Axes#hold
3040
+ * @type {object}
3041
+ * @property {Object.<string, number>} pos coordinate <ko>좌표 정보</ko>
3042
+ * @property {Object} input The instance of inputType where the event occurred<ko>이벤트가 발생한 inputType 인스턴스</ko>
3043
+ * @property {Object} inputEvent The event object received from inputType <ko>inputType으로 부터 받은 이벤트 객체</ko>
3044
+ * @property {Boolean} isTrusted Returns true if an event was generated by the user action, or false if it was caused by a script or API call <ko>사용자의 액션에 의해 이벤트가 발생하였으면 true, 스크립트나 API호출에 의해 발생하였을 경우에는 false를 반환한다.</ko>
3045
+ *
3046
+ * @example
3047
+ * ```js
3048
+ * const axes = new eg.Axes({
3049
+ * "x": {
3050
+ * range: [0, 100]
3051
+ * },
3052
+ * "zoom": {
3053
+ * range: [50, 30]
3054
+ * }
3055
+ * }).on("hold", function(event) {
3056
+ * // event.pos
3057
+ * // event.input
3058
+ * // event.inputEvent
3059
+ * // isTrusted
3060
+ * });
3061
+ * ```
3057
3062
  */
3058
3063
  var __proto = EventManager.prototype;
3059
3064
  __proto.hold = function (pos, option) {
@@ -3065,78 +3070,78 @@ version: 4.12.0-beta.1
3065
3070
  isTrusted: true
3066
3071
  }));
3067
3072
  };
3068
- /**
3069
- * Specifies the coordinates to move after the 'change' event. It works when the holding value of the change event is true.
3070
- * @ko 'change' 이벤트 이후 이동할 좌표를 지정한다. change이벤트의 holding 값이 true일 경우에 동작한다
3071
- * @param {Object.<string, number>} pos The coordinate to move to <ko>이동할 좌표</ko>
3072
- * @example
3073
- * ```js
3074
- * const axes = new eg.Axes({
3075
- * "x": {
3076
- * range: [0, 100]
3077
- * },
3078
- * "zoom": {
3079
- * range: [50, 30]
3080
- * }
3081
- * }).on("change", function(event) {
3082
- * event.holding && event.set({x: 10});
3083
- * });
3084
- * ```
3073
+ /**
3074
+ * Specifies the coordinates to move after the 'change' event. It works when the holding value of the change event is true.
3075
+ * @ko 'change' 이벤트 이후 이동할 좌표를 지정한다. change이벤트의 holding 값이 true일 경우에 동작한다
3076
+ * @param {Object.<string, number>} pos The coordinate to move to <ko>이동할 좌표</ko>
3077
+ * @example
3078
+ * ```js
3079
+ * const axes = new eg.Axes({
3080
+ * "x": {
3081
+ * range: [0, 100]
3082
+ * },
3083
+ * "zoom": {
3084
+ * range: [50, 30]
3085
+ * }
3086
+ * }).on("change", function(event) {
3087
+ * event.holding && event.set({x: 10});
3088
+ * });
3089
+ * ```
3085
3090
  */
3086
- /** Specifies the animation coordinates to move after the 'release' or 'animationStart' events.
3087
- * @ko 'release' 또는 'animationStart' 이벤트 이후 이동할 좌표를 지정한다.
3088
- * @param {Object.<string, number>} pos The coordinate to move to <ko>이동할 좌표</ko>
3089
- * @param {Number} [duration=0] Duration of the animation (unit: ms) <ko>애니메이션 진행 시간(단위: ms)</ko>
3090
- * @example
3091
- * ```js
3092
- * const axes = new eg.Axes({
3093
- * "x": {
3094
- * range: [0, 100]
3095
- * },
3096
- * "zoom": {
3097
- * range: [50, 30]
3098
- * }
3099
- * }).on("animationStart", function(event) {
3100
- * event.setTo({x: 10}, 2000);
3101
- * });
3102
- * ```
3091
+ /** Specifies the animation coordinates to move after the 'release' or 'animationStart' events.
3092
+ * @ko 'release' 또는 'animationStart' 이벤트 이후 이동할 좌표를 지정한다.
3093
+ * @param {Object.<string, number>} pos The coordinate to move to <ko>이동할 좌표</ko>
3094
+ * @param {Number} [duration=0] Duration of the animation (unit: ms) <ko>애니메이션 진행 시간(단위: ms)</ko>
3095
+ * @example
3096
+ * ```js
3097
+ * const axes = new eg.Axes({
3098
+ * "x": {
3099
+ * range: [0, 100]
3100
+ * },
3101
+ * "zoom": {
3102
+ * range: [50, 30]
3103
+ * }
3104
+ * }).on("animationStart", function(event) {
3105
+ * event.setTo({x: 10}, 2000);
3106
+ * });
3107
+ * ```
3103
3108
  */
3104
- /**
3105
- * This event is fired when a user release an element on the screen of the device.
3106
- * @ko 사용자가 기기의 화면에서 손을 뗐을 때 발생하는 이벤트
3107
- * @event Axes#release
3108
- * @type {object}
3109
- * @property {Object.<string, number>} depaPos The coordinates when releasing an element<ko>손을 뗐을 때의 좌표 </ko>
3110
- * @property {Object.<string, number>} destPos The coordinates to move to after releasing an element<ko>손을 뗀 뒤에 이동할 좌표</ko>
3111
- * @property {Object.<string, number>} delta The movement variation of coordinate <ko>좌표의 변화량</ko>
3112
- * @property {Object.<string, number>} bounceRatio If the coordinates at the time of release are in the bounce area, the current bounce value divided by the maximum bounce value <ko>손을 뗐을 때의 좌표가 bounce 영역에 있는 경우 현재 bounce된 값을 최대 bounce 값으로 나눈 수치.</ko>
3113
- * @property {Object} inputEvent The event object received from inputType <ko>inputType으로 부터 받은 이벤트 객체</ko>
3114
- * @property {Object} input The instance of inputType where the event occurred<ko>이벤트가 발생한 inputType 인스턴스</ko>
3115
- * @property {setTo} setTo Specifies the animation coordinates to move after the event <ko>이벤트 이후 이동할 애니메이션 좌표를 지정한다</ko>
3116
- * @property {Boolean} isTrusted Returns true if an event was generated by the user action, or false if it was caused by a script or API call <ko>사용자의 액션에 의해 이벤트가 발생하였으면 true, 스크립트나 API호출에 의해 발생하였을 경우에는 false를 반환한다.</ko>
3117
- *
3118
- * @example
3119
- * ```js
3120
- * const axes = new eg.Axes({
3121
- * "x": {
3122
- * range: [0, 100]
3123
- * },
3124
- * "zoom": {
3125
- * range: [50, 30]
3126
- * }
3127
- * }).on("release", function(event) {
3128
- * // event.depaPos
3129
- * // event.destPos
3130
- * // event.delta
3131
- * // event.input
3132
- * // event.inputEvent
3133
- * // event.setTo
3134
- * // event.isTrusted
3135
- *
3136
- * // if you want to change the animation coordinates to move after the 'release' event.
3137
- * event.setTo({x: 10}, 2000);
3138
- * });
3139
- * ```
3109
+ /**
3110
+ * This event is fired when a user release an element on the screen of the device.
3111
+ * @ko 사용자가 기기의 화면에서 손을 뗐을 때 발생하는 이벤트
3112
+ * @event Axes#release
3113
+ * @type {object}
3114
+ * @property {Object.<string, number>} depaPos The coordinates when releasing an element<ko>손을 뗐을 때의 좌표 </ko>
3115
+ * @property {Object.<string, number>} destPos The coordinates to move to after releasing an element<ko>손을 뗀 뒤에 이동할 좌표</ko>
3116
+ * @property {Object.<string, number>} delta The movement variation of coordinate <ko>좌표의 변화량</ko>
3117
+ * @property {Object.<string, number>} bounceRatio If the coordinates at the time of release are in the bounce area, the current bounce value divided by the maximum bounce value <ko>손을 뗐을 때의 좌표가 bounce 영역에 있는 경우 현재 bounce된 값을 최대 bounce 값으로 나눈 수치.</ko>
3118
+ * @property {Object} inputEvent The event object received from inputType <ko>inputType으로 부터 받은 이벤트 객체</ko>
3119
+ * @property {Object} input The instance of inputType where the event occurred<ko>이벤트가 발생한 inputType 인스턴스</ko>
3120
+ * @property {setTo} setTo Specifies the animation coordinates to move after the event <ko>이벤트 이후 이동할 애니메이션 좌표를 지정한다</ko>
3121
+ * @property {Boolean} isTrusted Returns true if an event was generated by the user action, or false if it was caused by a script or API call <ko>사용자의 액션에 의해 이벤트가 발생하였으면 true, 스크립트나 API호출에 의해 발생하였을 경우에는 false를 반환한다.</ko>
3122
+ *
3123
+ * @example
3124
+ * ```js
3125
+ * const axes = new eg.Axes({
3126
+ * "x": {
3127
+ * range: [0, 100]
3128
+ * },
3129
+ * "zoom": {
3130
+ * range: [50, 30]
3131
+ * }
3132
+ * }).on("release", function(event) {
3133
+ * // event.depaPos
3134
+ * // event.destPos
3135
+ * // event.delta
3136
+ * // event.input
3137
+ * // event.inputEvent
3138
+ * // event.setTo
3139
+ * // event.isTrusted
3140
+ *
3141
+ * // if you want to change the animation coordinates to move after the 'release' event.
3142
+ * event.setTo({x: 10}, 2000);
3143
+ * });
3144
+ * ```
3140
3145
  */
3141
3146
  __proto.triggerRelease = function (param) {
3142
3147
  var _a = this._getRoundPos(param.destPos, param.depaPos),
@@ -3149,43 +3154,43 @@ version: 4.12.0-beta.1
3149
3154
  bounceRatio: this._getBounceRatio(roundPos)
3150
3155
  })));
3151
3156
  };
3152
- /**
3153
- * This event is fired when coordinate changes.
3154
- * @ko 좌표가 변경됐을 때 발생하는 이벤트
3155
- * @event Axes#change
3156
- * @type {object}
3157
- * @property {Object.<string, number>} pos The coordinate <ko>좌표</ko>
3158
- * @property {Object.<string, number>} delta The movement variation of coordinate <ko>좌표의 변화량</ko>
3159
- * @property {Object.<string, number>} bounceRatio If the current coordinates are in the bounce area, the current bounce value divided by the maximum bounce value <ko>현재 좌표가 bounce 영역에 있는 경우 현재 bounce된 값을 최대 bounce 값으로 나눈 수치.</ko>
3160
- * @property {Boolean} holding Indicates whether a user holds an element on the screen of the device.<ko>사용자가 기기의 화면을 누르고 있는지 여부</ko>
3161
- * @property {Object} input The instance of inputType where the event occurred. If the value is changed by animation, it returns 'null'.<ko>이벤트가 발생한 inputType 인스턴스. 애니메이션에 의해 값이 변경될 경우에는 'null'을 반환한다.</ko>
3162
- * @property {Object} inputEvent The event object received from inputType. If the value is changed by animation, it returns 'null'.<ko>inputType으로 부터 받은 이벤트 객체. 애니메이션에 의해 값이 변경될 경우에는 'null'을 반환한다.</ko>
3163
- * @property {set} set Specifies the coordinates to move after the event. It works when the holding value is true <ko>이벤트 이후 이동할 좌표를 지정한다. holding 값이 true일 경우에 동작한다.</ko>
3164
- * @property {Boolean} isTrusted Returns true if an event was generated by the user action, or false if it was caused by a script or API call <ko>사용자의 액션에 의해 이벤트가 발생하였으면 true, 스크립트나 API호출에 의해 발생하였을 경우에는 false를 반환한다.</ko>
3165
- *
3166
- * @example
3167
- * ```js
3168
- * const axes = new eg.Axes({
3169
- * "x": {
3170
- * range: [0, 100]
3171
- * },
3172
- * "zoom": {
3173
- * range: [50, 30]
3174
- * }
3175
- * }).on("change", function(event) {
3176
- * // event.pos
3177
- * // event.delta
3178
- * // event.input
3179
- * // event.inputEvent
3180
- * // event.holding
3181
- * // event.set
3182
- * // event.isTrusted
3183
- *
3184
- * // if you want to change the coordinates to move after the 'change' event.
3185
- * // it works when the holding value of the change event is true.
3186
- * event.holding && event.set({x: 10});
3187
- * });
3188
- * ```
3157
+ /**
3158
+ * This event is fired when coordinate changes.
3159
+ * @ko 좌표가 변경됐을 때 발생하는 이벤트
3160
+ * @event Axes#change
3161
+ * @type {object}
3162
+ * @property {Object.<string, number>} pos The coordinate <ko>좌표</ko>
3163
+ * @property {Object.<string, number>} delta The movement variation of coordinate <ko>좌표의 변화량</ko>
3164
+ * @property {Object.<string, number>} bounceRatio If the current coordinates are in the bounce area, the current bounce value divided by the maximum bounce value <ko>현재 좌표가 bounce 영역에 있는 경우 현재 bounce된 값을 최대 bounce 값으로 나눈 수치.</ko>
3165
+ * @property {Boolean} holding Indicates whether a user holds an element on the screen of the device.<ko>사용자가 기기의 화면을 누르고 있는지 여부</ko>
3166
+ * @property {Object} input The instance of inputType where the event occurred. If the value is changed by animation, it returns 'null'.<ko>이벤트가 발생한 inputType 인스턴스. 애니메이션에 의해 값이 변경될 경우에는 'null'을 반환한다.</ko>
3167
+ * @property {Object} inputEvent The event object received from inputType. If the value is changed by animation, it returns 'null'.<ko>inputType으로 부터 받은 이벤트 객체. 애니메이션에 의해 값이 변경될 경우에는 'null'을 반환한다.</ko>
3168
+ * @property {set} set Specifies the coordinates to move after the event. It works when the holding value is true <ko>이벤트 이후 이동할 좌표를 지정한다. holding 값이 true일 경우에 동작한다.</ko>
3169
+ * @property {Boolean} isTrusted Returns true if an event was generated by the user action, or false if it was caused by a script or API call <ko>사용자의 액션에 의해 이벤트가 발생하였으면 true, 스크립트나 API호출에 의해 발생하였을 경우에는 false를 반환한다.</ko>
3170
+ *
3171
+ * @example
3172
+ * ```js
3173
+ * const axes = new eg.Axes({
3174
+ * "x": {
3175
+ * range: [0, 100]
3176
+ * },
3177
+ * "zoom": {
3178
+ * range: [50, 30]
3179
+ * }
3180
+ * }).on("change", function(event) {
3181
+ * // event.pos
3182
+ * // event.delta
3183
+ * // event.input
3184
+ * // event.inputEvent
3185
+ * // event.holding
3186
+ * // event.set
3187
+ * // event.isTrusted
3188
+ *
3189
+ * // if you want to change the coordinates to move after the 'change' event.
3190
+ * // it works when the holding value of the change event is true.
3191
+ * event.holding && event.set({x: 10});
3192
+ * });
3193
+ * ```
3189
3194
  */
3190
3195
  __proto.triggerChange = function (pos, depaPos, option, holding) {
3191
3196
  var _this = this;
@@ -3222,42 +3227,42 @@ version: 4.12.0-beta.1
3222
3227
  }
3223
3228
  return !event.isCanceled();
3224
3229
  };
3225
- /**
3226
- * This event is fired when animation starts.
3227
- * @ko 에니메이션이 시작할 때 발생한다.
3228
- * @event Axes#animationStart
3229
- * @type {object}
3230
- * @property {Object.<string, number>} depaPos The coordinates when animation starts<ko>애니메이션이 시작 되었을 때의 좌표 </ko>
3231
- * @property {Object.<string, number>} destPos The coordinates to move to. If you change this value, you can run the animation<ko>이동할 좌표. 이값을 변경하여 애니메이션을 동작시킬수 있다</ko>
3232
- * @property {Object.<string, number>} delta The movement variation of coordinate <ko>좌표의 변화량</ko>
3233
- * @property {Number} duration Duration of the animation (unit: ms). If you change this value, you can control the animation duration time.<ko>애니메이션 진행 시간(단위: ms). 이값을 변경하여 애니메이션의 이동시간을 조절할 수 있다.</ko>
3234
- * @property {Object} input The instance of inputType where the event occurred. If the value is changed by animation, it returns 'null'.<ko>이벤트가 발생한 inputType 인스턴스. 애니메이션에 의해 값이 변경될 경우에는 'null'을 반환한다.</ko>
3235
- * @property {Object} inputEvent The event object received from inputType <ko>inputType으로 부터 받은 이벤트 객체</ko>
3236
- * @property {setTo} setTo Specifies the animation coordinates to move after the event <ko>이벤트 이후 이동할 애니메이션 좌표를 지정한다</ko>
3237
- * @property {Boolean} isTrusted Returns true if an event was generated by the user action, or false if it was caused by a script or API call <ko>사용자의 액션에 의해 이벤트가 발생하였으면 true, 스크립트나 API호출에 의해 발생하였을 경우에는 false를 반환한다.</ko>
3238
- *
3239
- * @example
3240
- * ```js
3241
- * const axes = new eg.Axes({
3242
- * "x": {
3243
- * range: [0, 100]
3244
- * },
3245
- * "zoom": {
3246
- * range: [50, 30]
3247
- * }
3248
- * }).on("release", function(event) {
3249
- * // event.depaPos
3250
- * // event.destPos
3251
- * // event.delta
3252
- * // event.input
3253
- * // event.inputEvent
3254
- * // event.setTo
3255
- * // event.isTrusted
3256
- *
3257
- * // if you want to change the animation coordinates to move after the 'animationStart' event.
3258
- * event.setTo({x: 10}, 2000);
3259
- * });
3260
- * ```
3230
+ /**
3231
+ * This event is fired when animation starts.
3232
+ * @ko 에니메이션이 시작할 때 발생한다.
3233
+ * @event Axes#animationStart
3234
+ * @type {object}
3235
+ * @property {Object.<string, number>} depaPos The coordinates when animation starts<ko>애니메이션이 시작 되었을 때의 좌표 </ko>
3236
+ * @property {Object.<string, number>} destPos The coordinates to move to. If you change this value, you can run the animation<ko>이동할 좌표. 이값을 변경하여 애니메이션을 동작시킬수 있다</ko>
3237
+ * @property {Object.<string, number>} delta The movement variation of coordinate <ko>좌표의 변화량</ko>
3238
+ * @property {Number} duration Duration of the animation (unit: ms). If you change this value, you can control the animation duration time.<ko>애니메이션 진행 시간(단위: ms). 이값을 변경하여 애니메이션의 이동시간을 조절할 수 있다.</ko>
3239
+ * @property {Object} input The instance of inputType where the event occurred. If the value is changed by animation, it returns 'null'.<ko>이벤트가 발생한 inputType 인스턴스. 애니메이션에 의해 값이 변경될 경우에는 'null'을 반환한다.</ko>
3240
+ * @property {Object} inputEvent The event object received from inputType <ko>inputType으로 부터 받은 이벤트 객체</ko>
3241
+ * @property {setTo} setTo Specifies the animation coordinates to move after the event <ko>이벤트 이후 이동할 애니메이션 좌표를 지정한다</ko>
3242
+ * @property {Boolean} isTrusted Returns true if an event was generated by the user action, or false if it was caused by a script or API call <ko>사용자의 액션에 의해 이벤트가 발생하였으면 true, 스크립트나 API호출에 의해 발생하였을 경우에는 false를 반환한다.</ko>
3243
+ *
3244
+ * @example
3245
+ * ```js
3246
+ * const axes = new eg.Axes({
3247
+ * "x": {
3248
+ * range: [0, 100]
3249
+ * },
3250
+ * "zoom": {
3251
+ * range: [50, 30]
3252
+ * }
3253
+ * }).on("release", function(event) {
3254
+ * // event.depaPos
3255
+ * // event.destPos
3256
+ * // event.delta
3257
+ * // event.input
3258
+ * // event.inputEvent
3259
+ * // event.setTo
3260
+ * // event.isTrusted
3261
+ *
3262
+ * // if you want to change the animation coordinates to move after the 'animationStart' event.
3263
+ * event.setTo({x: 10}, 2000);
3264
+ * });
3265
+ * ```
3261
3266
  */
3262
3267
  __proto.triggerAnimationStart = function (param) {
3263
3268
  var _a = this._getRoundPos(param.destPos, param.depaPos),
@@ -3270,26 +3275,26 @@ version: 4.12.0-beta.1
3270
3275
  this._axes.trigger(event);
3271
3276
  return !event.isCanceled();
3272
3277
  };
3273
- /**
3274
- * This event is fired when animation ends.
3275
- * @ko 에니메이션이 끝났을 때 발생한다.
3276
- * @event Axes#animationEnd
3277
- * @type {object}
3278
- * @property {Boolean} isTrusted Returns true if an event was generated by the user action, or false if it was caused by a script or API call <ko>사용자의 액션에 의해 이벤트가 발생하였으면 true, 스크립트나 API호출에 의해 발생하였을 경우에는 false를 반환한다.</ko>
3279
- *
3280
- * @example
3281
- * ```js
3282
- * const axes = new eg.Axes({
3283
- * "x": {
3284
- * range: [0, 100]
3285
- * },
3286
- * "zoom": {
3287
- * range: [50, 30]
3288
- * }
3289
- * }).on("animationEnd", function(event) {
3290
- * // event.isTrusted
3291
- * });
3292
- * ```
3278
+ /**
3279
+ * This event is fired when animation ends.
3280
+ * @ko 에니메이션이 끝났을 때 발생한다.
3281
+ * @event Axes#animationEnd
3282
+ * @type {object}
3283
+ * @property {Boolean} isTrusted Returns true if an event was generated by the user action, or false if it was caused by a script or API call <ko>사용자의 액션에 의해 이벤트가 발생하였으면 true, 스크립트나 API호출에 의해 발생하였을 경우에는 false를 반환한다.</ko>
3284
+ *
3285
+ * @example
3286
+ * ```js
3287
+ * const axes = new eg.Axes({
3288
+ * "x": {
3289
+ * range: [0, 100]
3290
+ * },
3291
+ * "zoom": {
3292
+ * range: [50, 30]
3293
+ * }
3294
+ * }).on("animationEnd", function(event) {
3295
+ * // event.isTrusted
3296
+ * });
3297
+ * ```
3293
3298
  */
3294
3299
  __proto.triggerAnimationEnd = function (isTrusted) {
3295
3300
  if (isTrusted === void 0) {
@@ -3299,26 +3304,26 @@ version: 4.12.0-beta.1
3299
3304
  isTrusted: isTrusted
3300
3305
  }));
3301
3306
  };
3302
- /**
3303
- * This event is fired when all actions have been completed.
3304
- * @ko 에니메이션이 끝났을 때 발생한다.
3305
- * @event Axes#finish
3306
- * @type {object}
3307
- * @property {Boolean} isTrusted Returns true if an event was generated by the user action, or false if it was caused by a script or API call <ko>사용자의 액션에 의해 이벤트가 발생하였으면 true, 스크립트나 API호출에 의해 발생하였을 경우에는 false를 반환한다.</ko>
3308
- *
3309
- * @example
3310
- * ```js
3311
- * const axes = new eg.Axes({
3312
- * "x": {
3313
- * range: [0, 100]
3314
- * },
3315
- * "zoom": {
3316
- * range: [50, 30]
3317
- * }
3318
- * }).on("finish", function(event) {
3319
- * // event.isTrusted
3320
- * });
3321
- * ```
3307
+ /**
3308
+ * This event is fired when all actions have been completed.
3309
+ * @ko 에니메이션이 끝났을 때 발생한다.
3310
+ * @event Axes#finish
3311
+ * @type {object}
3312
+ * @property {Boolean} isTrusted Returns true if an event was generated by the user action, or false if it was caused by a script or API call <ko>사용자의 액션에 의해 이벤트가 발생하였으면 true, 스크립트나 API호출에 의해 발생하였을 경우에는 false를 반환한다.</ko>
3313
+ *
3314
+ * @example
3315
+ * ```js
3316
+ * const axes = new eg.Axes({
3317
+ * "x": {
3318
+ * range: [0, 100]
3319
+ * },
3320
+ * "zoom": {
3321
+ * range: [50, 30]
3322
+ * }
3323
+ * }).on("finish", function(event) {
3324
+ * // event.isTrusted
3325
+ * });
3326
+ * ```
3322
3327
  */
3323
3328
  __proto.triggerFinish = function (isTrusted) {
3324
3329
  if (isTrusted === void 0) {
@@ -3400,9 +3405,9 @@ version: 4.12.0-beta.1
3400
3405
  return InterruptManager;
3401
3406
  }();
3402
3407
 
3403
- /*
3404
- * Copyright (c) 2015 NAVER Corp.
3405
- * egjs projects are licensed under the MIT license
3408
+ /*
3409
+ * Copyright (c) 2015 NAVER Corp.
3410
+ * egjs projects are licensed under the MIT license
3406
3411
  */
3407
3412
  var getInsidePosition = function (destPos, range, circular, bounce) {
3408
3413
  var toDestPos = destPos;
@@ -3531,9 +3536,9 @@ version: 4.12.0-beta.1
3531
3536
  });
3532
3537
  this._complementOptions();
3533
3538
  };
3534
- /**
3535
- * set up 'css' expression
3536
- * @private
3539
+ /**
3540
+ * set up 'css' expression
3541
+ * @private
3537
3542
  */
3538
3543
  __proto._complementOptions = function () {
3539
3544
  var _this = this;
@@ -4429,15 +4434,15 @@ version: 4.12.0-beta.1
4429
4434
  complete();
4430
4435
  }
4431
4436
  };
4432
- /**
4433
- * Get estimated final value.
4434
- *
4435
- * If destPos is within the 'error range' of the original intended position, the initial intended position is returned.
4436
- * - eg. original intended pos: 100, destPos: 100.0000000004 ==> return 100;
4437
- * If dest Pos is outside the 'range of error' compared to the originally intended pos, it is returned rounded based on the originally intended pos.
4438
- * - eg. original intended pos: 100.123 destPos: 50.12345 => return 50.123
4439
- * @param originalIntendedPos
4440
- * @param destPos
4437
+ /**
4438
+ * Get estimated final value.
4439
+ *
4440
+ * If destPos is within the 'error range' of the original intended position, the initial intended position is returned.
4441
+ * - eg. original intended pos: 100, destPos: 100.0000000004 ==> return 100;
4442
+ * If dest Pos is outside the 'range of error' compared to the originally intended pos, it is returned rounded based on the originally intended pos.
4443
+ * - eg. original intended pos: 100.123 destPos: 50.12345 => return 50.123
4444
+ * @param originalIntendedPos
4445
+ * @param destPos
4441
4446
  */
4442
4447
  __proto._getFinalPos = function (destPos, originalIntendedPos) {
4443
4448
  var _this = this;
@@ -4563,111 +4568,111 @@ version: 4.12.0-beta.1
4563
4568
  return EasingManager;
4564
4569
  }(AnimationManager);
4565
4570
 
4566
- /**
4567
- * @typedef {Object} AxisOption The Axis information. The key of the axis specifies the name to use as the logical virtual coordinate system.
4568
- * @ko 축 정보. 축의 키는 논리적인 가상 좌표계로 사용할 이름을 지정한다.
4569
- * @param {Number[]} [range] The range of coordinate <ko>좌표 범위</ko>
4570
- * @param {Number} [range[0]=0] The coordinate of the minimum <ko>최소 좌표</ko>
4571
- * @param {Number} [range[1]=0] The coordinate of the maximum <ko>최대 좌표</ko>
4572
- * @param {Number} [startPos=range[0]] The coordinates to be moved when creating an instance <ko>인스턴스 생성시 이동할 좌표</ko>
4573
- * @param {Number[]} [bounce] The size of bouncing area. The coordinates can exceed the coordinate area as much as the bouncing area based on user action. If the coordinates does not exceed the bouncing area when an element is dragged, the coordinates where bouncing effects are applied are retuned back into the coordinate area<ko>바운스 영역의 크기. 사용자의 동작에 따라 좌표가 좌표 영역을 넘어 바운스 영역의 크기만큼 더 이동할 수 있다. 사용자가 끌어다 놓는 동작을 했을 때 좌표가 바운스 영역에 있으면, 바운스 효과가 적용된 좌표가 다시 좌표 영역 안으로 들어온다</ko>
4574
- * @param {Number} [bounce[0]=0] The size of coordinate of the minimum area <ko>최소 좌표 바운스 영역의 크기</ko>
4575
- * @param {Number} [bounce[1]=0] The size of coordinate of the maximum area <ko>최대 좌표 바운스 영역의 크기</ko>
4576
- * @param {Boolean[]} [circular] Indicates whether a circular element is available. If it is set to "true" and an element is dragged outside the coordinate area, the element will appear on the other side.<ko>순환 여부. 'true'로 설정한 방향의 좌표 영역 밖으로 엘리먼트가 이동하면 반대 방향에서 엘리먼트가 나타난다</ko>
4577
- * @param {Boolean} [circular[0]=false] Indicates whether to circulate to the coordinate of the minimum <ko>최소 좌표 방향의 순환 여부</ko>
4578
- * @param {Boolean} [circular[1]=false] Indicates whether to circulate to the coordinate of the maximum <ko>최대 좌표 방향의 순환 여부</ko>
4571
+ /**
4572
+ * @typedef {Object} AxisOption The Axis information. The key of the axis specifies the name to use as the logical virtual coordinate system.
4573
+ * @ko 축 정보. 축의 키는 논리적인 가상 좌표계로 사용할 이름을 지정한다.
4574
+ * @param {Number[]} [range] The range of coordinate <ko>좌표 범위</ko>
4575
+ * @param {Number} [range[0]=0] The coordinate of the minimum <ko>최소 좌표</ko>
4576
+ * @param {Number} [range[1]=0] The coordinate of the maximum <ko>최대 좌표</ko>
4577
+ * @param {Number} [startPos=range[0]] The coordinates to be moved when creating an instance <ko>인스턴스 생성시 이동할 좌표</ko>
4578
+ * @param {Number[]} [bounce] The size of bouncing area. The coordinates can exceed the coordinate area as much as the bouncing area based on user action. If the coordinates does not exceed the bouncing area when an element is dragged, the coordinates where bouncing effects are applied are retuned back into the coordinate area<ko>바운스 영역의 크기. 사용자의 동작에 따라 좌표가 좌표 영역을 넘어 바운스 영역의 크기만큼 더 이동할 수 있다. 사용자가 끌어다 놓는 동작을 했을 때 좌표가 바운스 영역에 있으면, 바운스 효과가 적용된 좌표가 다시 좌표 영역 안으로 들어온다</ko>
4579
+ * @param {Number} [bounce[0]=0] The size of coordinate of the minimum area <ko>최소 좌표 바운스 영역의 크기</ko>
4580
+ * @param {Number} [bounce[1]=0] The size of coordinate of the maximum area <ko>최대 좌표 바운스 영역의 크기</ko>
4581
+ * @param {Boolean[]} [circular] Indicates whether a circular element is available. If it is set to "true" and an element is dragged outside the coordinate area, the element will appear on the other side.<ko>순환 여부. 'true'로 설정한 방향의 좌표 영역 밖으로 엘리먼트가 이동하면 반대 방향에서 엘리먼트가 나타난다</ko>
4582
+ * @param {Boolean} [circular[0]=false] Indicates whether to circulate to the coordinate of the minimum <ko>최소 좌표 방향의 순환 여부</ko>
4583
+ * @param {Boolean} [circular[1]=false] Indicates whether to circulate to the coordinate of the maximum <ko>최대 좌표 방향의 순환 여부</ko>
4579
4584
  **/
4580
- /**
4581
- * @typedef {Object} AxesOption The option object of the eg.Axes module
4582
- * @ko eg.Axes 모듈의 옵션 객체
4583
- * @param {Function} [easing=easing.easeOutCubic] The easing function to apply to an animation <ko>애니메이션에 적용할 easing 함수</ko>
4584
- * @param {Number} [maximumDuration=Infinity] Maximum duration of the animation <ko>가속도에 의해 애니메이션이 동작할 때의 최대 좌표 이동 시간</ko>
4585
- * @param {Number} [minimumDuration=0] Minimum duration of the animation <ko>가속도에 의해 애니메이션이 동작할 때의 최소 좌표 이동 시간</ko>
4586
- * @param {Number} [deceleration=0.0006] Deceleration of the animation where acceleration is manually enabled by user. A higher value indicates shorter running time. <ko>사용자의 동작으로 가속도가 적용된 애니메이션의 감속도. 값이 높을수록 애니메이션 실행 시간이 짧아진다</ko>
4587
- * @param {Boolean} [interruptable=true] Indicates whether an animation is interruptible.
4588
- * - true: It can be paused or stopped by user action or the API.
4589
- * - false: It cannot be paused or stopped by user action or the API while it is running.
4590
- * <ko>진행 중인 애니메이션 중지 가능 여부.
4591
- * - true: 사용자의 동작이나 API로 애니메이션을 중지할 수 있다.
4592
- * - false: 애니메이션이 진행 중일 때는 사용자의 동작이나 API가 적용되지 않는다</ko>
4593
- * @param {Number} [round=null] Rounding unit. For example, 0.1 rounds to 0.1 decimal point(6.1234 => 6.1), 5 rounds to 5 (93 => 95)
4594
- * [Details](https://github.com/naver/egjs-axes/wiki/round-option)<ko>반올림 단위. 예를 들어 0.1 은 소숫점 0.1 까지 반올림(6.1234 => 6.1), 5 는 5 단위로 반올림(93 => 95).
4595
- * [상세내용](https://github.com/naver/egjs-axes/wiki/round-option)</ko>
4596
- * @param {Boolean} [nested=false] Whether the event propagates to other instances when the coordinates reach the end of the movable area <ko>좌표가 이동 가능한 영역의 끝까지 도달했을 때 다른 인스턴스들로의 이벤트 전파 여부</ko>
4585
+ /**
4586
+ * @typedef {Object} AxesOption The option object of the eg.Axes module
4587
+ * @ko eg.Axes 모듈의 옵션 객체
4588
+ * @param {Function} [easing=easing.easeOutCubic] The easing function to apply to an animation <ko>애니메이션에 적용할 easing 함수</ko>
4589
+ * @param {Number} [maximumDuration=Infinity] Maximum duration of the animation <ko>가속도에 의해 애니메이션이 동작할 때의 최대 좌표 이동 시간</ko>
4590
+ * @param {Number} [minimumDuration=0] Minimum duration of the animation <ko>가속도에 의해 애니메이션이 동작할 때의 최소 좌표 이동 시간</ko>
4591
+ * @param {Number} [deceleration=0.0006] Deceleration of the animation where acceleration is manually enabled by user. A higher value indicates shorter running time. <ko>사용자의 동작으로 가속도가 적용된 애니메이션의 감속도. 값이 높을수록 애니메이션 실행 시간이 짧아진다</ko>
4592
+ * @param {Boolean} [interruptable=true] Indicates whether an animation is interruptible.
4593
+ * - true: It can be paused or stopped by user action or the API.
4594
+ * - false: It cannot be paused or stopped by user action or the API while it is running.
4595
+ * <ko>진행 중인 애니메이션 중지 가능 여부.
4596
+ * - true: 사용자의 동작이나 API로 애니메이션을 중지할 수 있다.
4597
+ * - false: 애니메이션이 진행 중일 때는 사용자의 동작이나 API가 적용되지 않는다</ko>
4598
+ * @param {Number} [round=null] Rounding unit. For example, 0.1 rounds to 0.1 decimal point(6.1234 => 6.1), 5 rounds to 5 (93 => 95)
4599
+ * [Details](https://github.com/naver/egjs-axes/wiki/round-option)<ko>반올림 단위. 예를 들어 0.1 은 소숫점 0.1 까지 반올림(6.1234 => 6.1), 5 는 5 단위로 반올림(93 => 95).
4600
+ * [상세내용](https://github.com/naver/egjs-axes/wiki/round-option)</ko>
4601
+ * @param {Boolean} [nested=false] Whether the event propagates to other instances when the coordinates reach the end of the movable area <ko>좌표가 이동 가능한 영역의 끝까지 도달했을 때 다른 인스턴스들로의 이벤트 전파 여부</ko>
4597
4602
  **/
4598
- /**
4599
- * A module used to change the information of user action entered by various input devices such as touch screen or mouse into the logical virtual coordinates. You can easily create a UI that responds to user actions.
4600
- * @ko 터치 입력 장치나 마우스와 같은 다양한 입력 장치를 통해 전달 받은 사용자의 동작을 논리적인 가상 좌표로 변경하는 모듈이다. 사용자 동작에 반응하는 UI를 손쉽게 만들수 있다.
4601
- * @extends eg.Component
4602
- *
4603
- * @param {Object.<string, AxisOption>} axis Axis information managed by eg.Axes. The key of the axis specifies the name to use as the logical virtual coordinate system. <ko>eg.Axes가 관리하는 축 정보. 축의 키는 논리적인 가상 좌표계로 사용할 이름을 지정한다.</ko>
4604
- * @param {AxesOption} [options={}] The option object of the eg.Axes module<ko>eg.Axes 모듈의 옵션 객체</ko>
4605
- * @param {Object.<string, number>} [startPos={}] The coordinates to be moved when creating an instance. It is applied with higher priority than startPos of axisOption.<ko>인스턴스 생성시 이동할 좌표, axisOption의 startPos보다 높은 우선순위로 적용된다.</ko>
4606
- *
4607
- * @support {"ie": "10+", "ch" : "latest", "ff" : "latest", "sf" : "latest", "edge" : "latest", "ios" : "7+", "an" : "2.3+ (except 3.x)"}
4608
- * @example
4609
- * ```js
4610
- * // 1. Initialize eg.Axes
4611
- * const axes = new eg.Axes({
4612
- * something1: {
4613
- * range: [0, 150],
4614
- * bounce: 50
4615
- * },
4616
- * something2: {
4617
- * range: [0, 200],
4618
- * bounce: 100
4619
- * },
4620
- * somethingN: {
4621
- * range: [1, 10],
4622
- * }
4623
- * }, {
4624
- * deceleration : 0.0024
4625
- * });
4626
- *
4627
- * // 2. attach event handler
4628
- * axes.on({
4629
- * "hold" : function(evt) {
4630
- * },
4631
- * "release" : function(evt) {
4632
- * },
4633
- * "animationStart" : function(evt) {
4634
- * },
4635
- * "animationEnd" : function(evt) {
4636
- * },
4637
- * "change" : function(evt) {
4638
- * }
4639
- * });
4640
- *
4641
- * // 3. Initialize inputTypes
4642
- * const panInputArea = new eg.Axes.PanInput("#area", {
4643
- * scale: [0.5, 1]
4644
- * });
4645
- * const panInputHmove = new eg.Axes.PanInput("#hmove");
4646
- * const panInputVmove = new eg.Axes.PanInput("#vmove");
4647
- * const pinchInputArea = new eg.Axes.PinchInput("#area", {
4648
- * scale: 1.5
4649
- * });
4650
- *
4651
- * // 4. Connect eg.Axes and InputTypes
4652
- * // [PanInput] When the mouse or touchscreen is down and moved.
4653
- * // Connect the 'something2' axis to the mouse or touchscreen x position and
4654
- * // connect the 'somethingN' axis to the mouse or touchscreen y position.
4655
- * axes.connect(["something2", "somethingN"], panInputArea); // or axes.connect("something2 somethingN", panInputArea);
4656
- *
4657
- * // Connect only one 'something1' axis to the mouse or touchscreen x position.
4658
- * axes.connect(["something1"], panInputHmove); // or axes.connect("something1", panInputHmove);
4659
- *
4660
- * // Connect only one 'something2' axis to the mouse or touchscreen y position.
4661
- * axes.connect(["", "something2"], panInputVmove); // or axes.connect(" something2", panInputVmove);
4662
- *
4663
- * // [PinchInput] Connect 'something2' axis when two pointers are moving toward (zoom-in) or away from each other (zoom-out).
4664
- * axes.connect("something2", pinchInputArea);
4665
- * ```
4603
+ /**
4604
+ * A module used to change the information of user action entered by various input devices such as touch screen or mouse into the logical virtual coordinates. You can easily create a UI that responds to user actions.
4605
+ * @ko 터치 입력 장치나 마우스와 같은 다양한 입력 장치를 통해 전달 받은 사용자의 동작을 논리적인 가상 좌표로 변경하는 모듈이다. 사용자 동작에 반응하는 UI를 손쉽게 만들수 있다.
4606
+ * @extends eg.Component
4607
+ *
4608
+ * @param {Object.<string, AxisOption>} axis Axis information managed by eg.Axes. The key of the axis specifies the name to use as the logical virtual coordinate system. <ko>eg.Axes가 관리하는 축 정보. 축의 키는 논리적인 가상 좌표계로 사용할 이름을 지정한다.</ko>
4609
+ * @param {AxesOption} [options={}] The option object of the eg.Axes module<ko>eg.Axes 모듈의 옵션 객체</ko>
4610
+ * @param {Object.<string, number>} [startPos={}] The coordinates to be moved when creating an instance. It is applied with higher priority than startPos of axisOption.<ko>인스턴스 생성시 이동할 좌표, axisOption의 startPos보다 높은 우선순위로 적용된다.</ko>
4611
+ *
4612
+ * @support {"ie": "10+", "ch" : "latest", "ff" : "latest", "sf" : "latest", "edge" : "latest", "ios" : "7+", "an" : "2.3+ (except 3.x)"}
4613
+ * @example
4614
+ * ```js
4615
+ * // 1. Initialize eg.Axes
4616
+ * const axes = new eg.Axes({
4617
+ * something1: {
4618
+ * range: [0, 150],
4619
+ * bounce: 50
4620
+ * },
4621
+ * something2: {
4622
+ * range: [0, 200],
4623
+ * bounce: 100
4624
+ * },
4625
+ * somethingN: {
4626
+ * range: [1, 10],
4627
+ * }
4628
+ * }, {
4629
+ * deceleration : 0.0024
4630
+ * });
4631
+ *
4632
+ * // 2. attach event handler
4633
+ * axes.on({
4634
+ * "hold" : function(evt) {
4635
+ * },
4636
+ * "release" : function(evt) {
4637
+ * },
4638
+ * "animationStart" : function(evt) {
4639
+ * },
4640
+ * "animationEnd" : function(evt) {
4641
+ * },
4642
+ * "change" : function(evt) {
4643
+ * }
4644
+ * });
4645
+ *
4646
+ * // 3. Initialize inputTypes
4647
+ * const panInputArea = new eg.Axes.PanInput("#area", {
4648
+ * scale: [0.5, 1]
4649
+ * });
4650
+ * const panInputHmove = new eg.Axes.PanInput("#hmove");
4651
+ * const panInputVmove = new eg.Axes.PanInput("#vmove");
4652
+ * const pinchInputArea = new eg.Axes.PinchInput("#area", {
4653
+ * scale: 1.5
4654
+ * });
4655
+ *
4656
+ * // 4. Connect eg.Axes and InputTypes
4657
+ * // [PanInput] When the mouse or touchscreen is down and moved.
4658
+ * // Connect the 'something2' axis to the mouse or touchscreen x position and
4659
+ * // connect the 'somethingN' axis to the mouse or touchscreen y position.
4660
+ * axes.connect(["something2", "somethingN"], panInputArea); // or axes.connect("something2 somethingN", panInputArea);
4661
+ *
4662
+ * // Connect only one 'something1' axis to the mouse or touchscreen x position.
4663
+ * axes.connect(["something1"], panInputHmove); // or axes.connect("something1", panInputHmove);
4664
+ *
4665
+ * // Connect only one 'something2' axis to the mouse or touchscreen y position.
4666
+ * axes.connect(["", "something2"], panInputVmove); // or axes.connect(" something2", panInputVmove);
4667
+ *
4668
+ * // [PinchInput] Connect 'something2' axis when two pointers are moving toward (zoom-in) or away from each other (zoom-out).
4669
+ * axes.connect("something2", pinchInputArea);
4670
+ * ```
4666
4671
  */
4667
4672
  var Axes = /*#__PURE__*/function (_super) {
4668
4673
  __extends$1(Axes, _super);
4669
- /**
4670
- *
4674
+ /**
4675
+ *
4671
4676
  */
4672
4677
  function Axes(axis, options, startPos) {
4673
4678
  if (axis === void 0) {
@@ -4707,23 +4712,23 @@ version: 4.12.0-beta.1
4707
4712
  }
4708
4713
  var __proto = Axes.prototype;
4709
4714
  Object.defineProperty(__proto, "holding", {
4710
- /**
4711
- * @name Axes#holding
4712
- * @desc Returns true if at least one input is in progress.
4713
- * @ko 입력이 하나 이상 진행 중인지 여부를 반환한다.
4714
- *
4715
- * @readonly
4716
- * @type {boolean}
4717
- * @example
4718
- * ```js
4719
- * const axes = new eg.Axes({
4720
- * x: {
4721
- * range: [0, 100],
4722
- * },
4723
- * });
4724
- *
4725
- * axes.holding
4726
- * ```
4715
+ /**
4716
+ * @name Axes#holding
4717
+ * @desc Returns true if at least one input is in progress.
4718
+ * @ko 입력이 하나 이상 진행 중인지 여부를 반환한다.
4719
+ *
4720
+ * @readonly
4721
+ * @type {boolean}
4722
+ * @example
4723
+ * ```js
4724
+ * const axes = new eg.Axes({
4725
+ * x: {
4726
+ * range: [0, 100],
4727
+ * },
4728
+ * });
4729
+ *
4730
+ * axes.holding
4731
+ * ```
4727
4732
  */
4728
4733
  get: function () {
4729
4734
  return this.eventManager.holdingCount > 0;
@@ -4731,30 +4736,30 @@ version: 4.12.0-beta.1
4731
4736
  enumerable: false,
4732
4737
  configurable: true
4733
4738
  });
4734
- /**
4735
- * Connect the axis of eg.Axes to the inputType.
4736
- * @ko eg.Axes의 축과 inputType을 연결한다
4737
- * @param {(String[]|String)} axes The name of the axis to associate with inputType <ko>inputType과 연결할 축의 이름</ko>
4738
- * @param {Object} inputType The inputType instance to associate with the axis of eg.Axes <ko>eg.Axes의 축과 연결할 inputType 인스턴스</ko>
4739
- * @return {eg.Axes} An instance of a module itself <ko>모듈 자신의 인스턴스</ko>
4740
- * @example
4741
- * ```js
4742
- * const axes = new eg.Axes({
4743
- * "x": {
4744
- * range: [0, 100]
4745
- * },
4746
- * "xOther": {
4747
- * range: [-100, 100]
4748
- * }
4749
- * });
4750
- *
4751
- * axes.connect("x", new eg.Axes.PanInput("#area1"))
4752
- * .connect("x xOther", new eg.Axes.PanInput("#area2"))
4753
- * .connect(" xOther", new eg.Axes.PanInput("#area3"))
4754
- * .connect(["x"], new eg.Axes.PanInput("#area4"))
4755
- * .connect(["xOther", "x"], new eg.Axes.PanInput("#area5"))
4756
- * .connect(["", "xOther"], new eg.Axes.PanInput("#area6"));
4757
- * ```
4739
+ /**
4740
+ * Connect the axis of eg.Axes to the inputType.
4741
+ * @ko eg.Axes의 축과 inputType을 연결한다
4742
+ * @param {(String[]|String)} axes The name of the axis to associate with inputType <ko>inputType과 연결할 축의 이름</ko>
4743
+ * @param {Object} inputType The inputType instance to associate with the axis of eg.Axes <ko>eg.Axes의 축과 연결할 inputType 인스턴스</ko>
4744
+ * @return {eg.Axes} An instance of a module itself <ko>모듈 자신의 인스턴스</ko>
4745
+ * @example
4746
+ * ```js
4747
+ * const axes = new eg.Axes({
4748
+ * "x": {
4749
+ * range: [0, 100]
4750
+ * },
4751
+ * "xOther": {
4752
+ * range: [-100, 100]
4753
+ * }
4754
+ * });
4755
+ *
4756
+ * axes.connect("x", new eg.Axes.PanInput("#area1"))
4757
+ * .connect("x xOther", new eg.Axes.PanInput("#area2"))
4758
+ * .connect(" xOther", new eg.Axes.PanInput("#area3"))
4759
+ * .connect(["x"], new eg.Axes.PanInput("#area4"))
4760
+ * .connect(["xOther", "x"], new eg.Axes.PanInput("#area5"))
4761
+ * .connect(["", "xOther"], new eg.Axes.PanInput("#area6"));
4762
+ * ```
4758
4763
  */
4759
4764
  __proto.connect = function (axes, inputType) {
4760
4765
  var mapped;
@@ -4772,33 +4777,33 @@ version: 4.12.0-beta.1
4772
4777
  this._inputs.push(inputType);
4773
4778
  return this;
4774
4779
  };
4775
- /**
4776
- * Disconnect the axis of eg.Axes from the inputType.
4777
- * @ko eg.Axes의 축과 inputType의 연결을 끊는다.
4778
- * @param {Object} [inputType] An inputType instance associated with the axis of eg.Axes <ko>eg.Axes의 축과 연결한 inputType 인스턴스</ko>
4779
- * @return {eg.Axes} An instance of a module itself <ko>모듈 자신의 인스턴스</ko>
4780
- * @example
4781
- * ```js
4782
- * const axes = new eg.Axes({
4783
- * "x": {
4784
- * range: [0, 100]
4785
- * },
4786
- * "xOther": {
4787
- * range: [-100, 100]
4788
- * }
4789
- * });
4790
- *
4791
- * const input1 = new eg.Axes.PanInput("#area1");
4792
- * const input2 = new eg.Axes.PanInput("#area2");
4793
- * const input3 = new eg.Axes.PanInput("#area3");
4794
- *
4795
- * axes.connect("x", input1);
4796
- * .connect("x xOther", input2)
4797
- * .connect(["xOther", "x"], input3);
4798
- *
4799
- * axes.disconnect(input1); // disconnects input1
4800
- * axes.disconnect(); // disconnects all of them
4801
- * ```
4780
+ /**
4781
+ * Disconnect the axis of eg.Axes from the inputType.
4782
+ * @ko eg.Axes의 축과 inputType의 연결을 끊는다.
4783
+ * @param {Object} [inputType] An inputType instance associated with the axis of eg.Axes <ko>eg.Axes의 축과 연결한 inputType 인스턴스</ko>
4784
+ * @return {eg.Axes} An instance of a module itself <ko>모듈 자신의 인스턴스</ko>
4785
+ * @example
4786
+ * ```js
4787
+ * const axes = new eg.Axes({
4788
+ * "x": {
4789
+ * range: [0, 100]
4790
+ * },
4791
+ * "xOther": {
4792
+ * range: [-100, 100]
4793
+ * }
4794
+ * });
4795
+ *
4796
+ * const input1 = new eg.Axes.PanInput("#area1");
4797
+ * const input2 = new eg.Axes.PanInput("#area2");
4798
+ * const input3 = new eg.Axes.PanInput("#area3");
4799
+ *
4800
+ * axes.connect("x", input1);
4801
+ * .connect("x xOther", input2)
4802
+ * .connect(["xOther", "x"], input3);
4803
+ *
4804
+ * axes.disconnect(input1); // disconnects input1
4805
+ * axes.disconnect(); // disconnects all of them
4806
+ * ```
4802
4807
  */
4803
4808
  __proto.disconnect = function (inputType) {
4804
4809
  if (inputType) {
@@ -4815,60 +4820,60 @@ version: 4.12.0-beta.1
4815
4820
  }
4816
4821
  return this;
4817
4822
  };
4818
- /**
4819
- * Returns the current position of the coordinates.
4820
- * @ko 좌표의 현재 위치를 반환한다
4821
- * @param {Object} [axes] The names of the axis <ko>축 이름들</ko>
4822
- * @return {Object.<string, number>} Axis coordinate information <ko>축 좌표 정보</ko>
4823
- * @example
4824
- * ```js
4825
- * const axes = new eg.Axes({
4826
- * "x": {
4827
- * range: [0, 100]
4828
- * },
4829
- * "xOther": {
4830
- * range: [-100, 100]
4831
- * },
4832
- * "zoom": {
4833
- * range: [50, 30]
4834
- * }
4835
- * });
4836
- *
4837
- * axes.get(); // {"x": 0, "xOther": -100, "zoom": 50}
4838
- * axes.get(["x", "zoom"]); // {"x": 0, "zoom": 50}
4839
- * ```
4823
+ /**
4824
+ * Returns the current position of the coordinates.
4825
+ * @ko 좌표의 현재 위치를 반환한다
4826
+ * @param {Object} [axes] The names of the axis <ko>축 이름들</ko>
4827
+ * @return {Object.<string, number>} Axis coordinate information <ko>축 좌표 정보</ko>
4828
+ * @example
4829
+ * ```js
4830
+ * const axes = new eg.Axes({
4831
+ * "x": {
4832
+ * range: [0, 100]
4833
+ * },
4834
+ * "xOther": {
4835
+ * range: [-100, 100]
4836
+ * },
4837
+ * "zoom": {
4838
+ * range: [50, 30]
4839
+ * }
4840
+ * });
4841
+ *
4842
+ * axes.get(); // {"x": 0, "xOther": -100, "zoom": 50}
4843
+ * axes.get(["x", "zoom"]); // {"x": 0, "zoom": 50}
4844
+ * ```
4840
4845
  */
4841
4846
  __proto.get = function (axes) {
4842
4847
  return this.axisManager.get(axes);
4843
4848
  };
4844
- /**
4845
- * Moves an axis to specific coordinates.
4846
- * @ko 좌표를 이동한다.
4847
- * @param {Object.<string, number>} pos The coordinate to move to <ko>이동할 좌표</ko>
4848
- * @param {Number} [duration=0] Duration of the animation (unit: ms) <ko>애니메이션 진행 시간(단위: ms)</ko>
4849
- * @return {eg.Axes} An instance of a module itself <ko>모듈 자신의 인스턴스</ko>
4850
- * @example
4851
- * ```js
4852
- * const axes = new eg.Axes({
4853
- * "x": {
4854
- * range: [0, 100]
4855
- * },
4856
- * "xOther": {
4857
- * range: [-100, 100]
4858
- * },
4859
- * "zoom": {
4860
- * range: [50, 30]
4861
- * }
4862
- * });
4863
- *
4864
- * axes.setTo({"x": 30, "zoom": 60});
4865
- * axes.get(); // {"x": 30, "xOther": -100, "zoom": 60}
4866
- *
4867
- * axes.setTo({"x": 100, "xOther": 60}, 1000); // animatation
4868
- *
4869
- * // after 1000 ms
4870
- * axes.get(); // {"x": 100, "xOther": 60, "zoom": 60}
4871
- * ```
4849
+ /**
4850
+ * Moves an axis to specific coordinates.
4851
+ * @ko 좌표를 이동한다.
4852
+ * @param {Object.<string, number>} pos The coordinate to move to <ko>이동할 좌표</ko>
4853
+ * @param {Number} [duration=0] Duration of the animation (unit: ms) <ko>애니메이션 진행 시간(단위: ms)</ko>
4854
+ * @return {eg.Axes} An instance of a module itself <ko>모듈 자신의 인스턴스</ko>
4855
+ * @example
4856
+ * ```js
4857
+ * const axes = new eg.Axes({
4858
+ * "x": {
4859
+ * range: [0, 100]
4860
+ * },
4861
+ * "xOther": {
4862
+ * range: [-100, 100]
4863
+ * },
4864
+ * "zoom": {
4865
+ * range: [50, 30]
4866
+ * }
4867
+ * });
4868
+ *
4869
+ * axes.setTo({"x": 30, "zoom": 60});
4870
+ * axes.get(); // {"x": 30, "xOther": -100, "zoom": 60}
4871
+ *
4872
+ * axes.setTo({"x": 100, "xOther": 60}, 1000); // animatation
4873
+ *
4874
+ * // after 1000 ms
4875
+ * axes.get(); // {"x": 100, "xOther": 60, "zoom": 60}
4876
+ * ```
4872
4877
  */
4873
4878
  __proto.setTo = function (pos, duration) {
4874
4879
  if (duration === void 0) {
@@ -4877,34 +4882,34 @@ version: 4.12.0-beta.1
4877
4882
  this.animationManager.setTo(pos, duration);
4878
4883
  return this;
4879
4884
  };
4880
- /**
4881
- * Moves an axis from the current coordinates to specific coordinates.
4882
- * @ko 현재 좌표를 기준으로 좌표를 이동한다.
4883
- * @param {Object.<string, number>} pos The coordinate to move to <ko>이동할 좌표</ko>
4884
- * @param {Number} [duration=0] Duration of the animation (unit: ms) <ko>애니메이션 진행 시간(단위: ms)</ko>
4885
- * @return {eg.Axes} An instance of a module itself <ko>모듈 자신의 인스턴스</ko>
4886
- * @example
4887
- * ```js
4888
- * const axes = new eg.Axes({
4889
- * "x": {
4890
- * range: [0, 100]
4891
- * },
4892
- * "xOther": {
4893
- * range: [-100, 100]
4894
- * },
4895
- * "zoom": {
4896
- * range: [50, 30]
4897
- * }
4898
- * });
4899
- *
4900
- * axes.setBy({"x": 30, "zoom": 10});
4901
- * axes.get(); // {"x": 30, "xOther": -100, "zoom": 60}
4902
- *
4903
- * axes.setBy({"x": 70, "xOther": 60}, 1000); // animatation
4904
- *
4905
- * // after 1000 ms
4906
- * axes.get(); // {"x": 100, "xOther": -40, "zoom": 60}
4907
- * ```
4885
+ /**
4886
+ * Moves an axis from the current coordinates to specific coordinates.
4887
+ * @ko 현재 좌표를 기준으로 좌표를 이동한다.
4888
+ * @param {Object.<string, number>} pos The coordinate to move to <ko>이동할 좌표</ko>
4889
+ * @param {Number} [duration=0] Duration of the animation (unit: ms) <ko>애니메이션 진행 시간(단위: ms)</ko>
4890
+ * @return {eg.Axes} An instance of a module itself <ko>모듈 자신의 인스턴스</ko>
4891
+ * @example
4892
+ * ```js
4893
+ * const axes = new eg.Axes({
4894
+ * "x": {
4895
+ * range: [0, 100]
4896
+ * },
4897
+ * "xOther": {
4898
+ * range: [-100, 100]
4899
+ * },
4900
+ * "zoom": {
4901
+ * range: [50, 30]
4902
+ * }
4903
+ * });
4904
+ *
4905
+ * axes.setBy({"x": 30, "zoom": 10});
4906
+ * axes.get(); // {"x": 30, "xOther": -100, "zoom": 60}
4907
+ *
4908
+ * axes.setBy({"x": 70, "xOther": 60}, 1000); // animatation
4909
+ *
4910
+ * // after 1000 ms
4911
+ * axes.get(); // {"x": 100, "xOther": -40, "zoom": 60}
4912
+ * ```
4908
4913
  */
4909
4914
  __proto.setBy = function (pos, duration) {
4910
4915
  if (duration === void 0) {
@@ -4913,230 +4918,230 @@ version: 4.12.0-beta.1
4913
4918
  this.animationManager.setBy(pos, duration);
4914
4919
  return this;
4915
4920
  };
4916
- /**
4917
- * Change the options of Axes instance.
4918
- * @ko 인스턴스의 옵션을 변경한다.
4919
- * @param {AxesOption} options Axes options to change <ko>변경할 옵션 목록</ko>
4920
- * @return {eg.Axes} An instance of a module itself <ko>모듈 자신의 인스턴스</ko>
4921
- * @example
4922
- * ```js
4923
- * const axes = new eg.Axes({
4924
- * "x": {
4925
- * range: [0, 100]
4926
- * },
4927
- * }, {
4928
- * round: 10,
4929
- * });
4930
- *
4931
- * axes.setTo({"x": 48});
4932
- * axes.get(); // {"x": 50}
4933
- *
4934
- * axes.setOptions({
4935
- * round: 1,
4936
- * });
4937
- *
4938
- * axes.setTo({"x": 48});
4939
- * axes.get(); // {"x": 48}
4940
- * ```
4921
+ /**
4922
+ * Change the options of Axes instance.
4923
+ * @ko 인스턴스의 옵션을 변경한다.
4924
+ * @param {AxesOption} options Axes options to change <ko>변경할 옵션 목록</ko>
4925
+ * @return {eg.Axes} An instance of a module itself <ko>모듈 자신의 인스턴스</ko>
4926
+ * @example
4927
+ * ```js
4928
+ * const axes = new eg.Axes({
4929
+ * "x": {
4930
+ * range: [0, 100]
4931
+ * },
4932
+ * }, {
4933
+ * round: 10,
4934
+ * });
4935
+ *
4936
+ * axes.setTo({"x": 48});
4937
+ * axes.get(); // {"x": 50}
4938
+ *
4939
+ * axes.setOptions({
4940
+ * round: 1,
4941
+ * });
4942
+ *
4943
+ * axes.setTo({"x": 48});
4944
+ * axes.get(); // {"x": 48}
4945
+ * ```
4941
4946
  */
4942
4947
  __proto.setOptions = function (options) {
4943
4948
  this.options = __assign$1(__assign$1({}, this.options), options);
4944
4949
  this.animationManager.setOptions(options);
4945
4950
  return this;
4946
4951
  };
4947
- /**
4948
- * Change the information of an existing axis.
4949
- * @ko 존재하는 축의 정보를 변경한다.
4950
- * @param {Object.<string, AxisOption>} axis Axis options to change <ko>변경할 축의 정보</ko>
4951
- * @return {eg.Axes} An instance of a module itself <ko>모듈 자신의 인스턴스</ko>
4952
- * @example
4953
- * ```js
4954
- * const axes = new eg.Axes({
4955
- * "x": {
4956
- * range: [0, 100]
4957
- * },
4958
- * });
4959
- *
4960
- * axes.setTo({"x": 150});
4961
- * axes.get(); // {"x": 100}
4962
- *
4963
- * axes.setAxis({
4964
- * "x": {
4965
- * range: [0, 200]
4966
- * },
4967
- * });
4968
- *
4969
- * axes.setTo({"x": 150});
4970
- * axes.get(); // {"x": 150}
4971
- * ```
4952
+ /**
4953
+ * Change the information of an existing axis.
4954
+ * @ko 존재하는 축의 정보를 변경한다.
4955
+ * @param {Object.<string, AxisOption>} axis Axis options to change <ko>변경할 축의 정보</ko>
4956
+ * @return {eg.Axes} An instance of a module itself <ko>모듈 자신의 인스턴스</ko>
4957
+ * @example
4958
+ * ```js
4959
+ * const axes = new eg.Axes({
4960
+ * "x": {
4961
+ * range: [0, 100]
4962
+ * },
4963
+ * });
4964
+ *
4965
+ * axes.setTo({"x": 150});
4966
+ * axes.get(); // {"x": 100}
4967
+ *
4968
+ * axes.setAxis({
4969
+ * "x": {
4970
+ * range: [0, 200]
4971
+ * },
4972
+ * });
4973
+ *
4974
+ * axes.setTo({"x": 150});
4975
+ * axes.get(); // {"x": 150}
4976
+ * ```
4972
4977
  */
4973
4978
  __proto.setAxis = function (axis) {
4974
4979
  this.axisManager.setAxis(axis);
4975
4980
  return this;
4976
4981
  };
4977
- /**
4978
- * Stop an animation in progress.
4979
- * @ko 재생 중인 애니메이션을 정지한다.
4980
- * @return {eg.Axes} An instance of a module itself <ko>모듈 자신의 인스턴스</ko>
4981
- * @example
4982
- * ```js
4983
- * const axes = new eg.Axes({
4984
- * "x": {
4985
- * range: [0, 100]
4986
- * },
4987
- * });
4988
- *
4989
- * axes.setTo({"x": 10}, 1000); // start animatation
4990
- *
4991
- * // after 500 ms
4992
- * axes.stopAnimation(); // stop animation during movement.
4993
- * ```
4982
+ /**
4983
+ * Stop an animation in progress.
4984
+ * @ko 재생 중인 애니메이션을 정지한다.
4985
+ * @return {eg.Axes} An instance of a module itself <ko>모듈 자신의 인스턴스</ko>
4986
+ * @example
4987
+ * ```js
4988
+ * const axes = new eg.Axes({
4989
+ * "x": {
4990
+ * range: [0, 100]
4991
+ * },
4992
+ * });
4993
+ *
4994
+ * axes.setTo({"x": 10}, 1000); // start animatation
4995
+ *
4996
+ * // after 500 ms
4997
+ * axes.stopAnimation(); // stop animation during movement.
4998
+ * ```
4994
4999
  */
4995
5000
  __proto.stopAnimation = function () {
4996
5001
  this.animationManager.stopAnimation();
4997
5002
  this.animationManager.finish(false);
4998
5003
  return this;
4999
5004
  };
5000
- /**
5001
- * Change the destination of an animation in progress.
5002
- * @ko 재생 중인 애니메이션의 목적지와 진행 시간을 변경한다.
5003
- * @param {UpdateAnimationOption} pos The coordinate to move to <ko>이동할 좌표</ko>
5004
- * @return {eg.Axes} An instance of a module itself <ko>모듈 자신의 인스턴스</ko>
5005
- * @example
5006
- * ```js
5007
- * const axes = new eg.Axes({
5008
- * "x": {
5009
- * range: [0, 200]
5010
- * },
5011
- * "y": {
5012
- * range: [0, 200]
5013
- * }
5014
- * });
5015
- *
5016
- * axes.setTo({"x": 50, "y": 50}, 1000); // trigger animation by setTo
5017
- *
5018
- * // after 500 ms
5019
- * axes.updateAnimation({destPos: {"x": 100, "y": 100}}); // animation will end after 500 ms, at {"x": 100, "y": 100}
5020
- *
5021
- * // after 500 ms
5022
- * axes.setTo({"x": 50, "y": 50}, 1000); // trigger animation by setTo
5023
- *
5024
- * // after 700 ms
5025
- * axes.updateAnimation({destPos: {"x": 100, "y": 100}, duration: 1500, restart: true}); // this works same as axes.setTo({"x": 100, "y": 100}, 800) since restart is true.
5026
- * ```
5005
+ /**
5006
+ * Change the destination of an animation in progress.
5007
+ * @ko 재생 중인 애니메이션의 목적지와 진행 시간을 변경한다.
5008
+ * @param {UpdateAnimationOption} pos The coordinate to move to <ko>이동할 좌표</ko>
5009
+ * @return {eg.Axes} An instance of a module itself <ko>모듈 자신의 인스턴스</ko>
5010
+ * @example
5011
+ * ```js
5012
+ * const axes = new eg.Axes({
5013
+ * "x": {
5014
+ * range: [0, 200]
5015
+ * },
5016
+ * "y": {
5017
+ * range: [0, 200]
5018
+ * }
5019
+ * });
5020
+ *
5021
+ * axes.setTo({"x": 50, "y": 50}, 1000); // trigger animation by setTo
5022
+ *
5023
+ * // after 500 ms
5024
+ * axes.updateAnimation({destPos: {"x": 100, "y": 100}}); // animation will end after 500 ms, at {"x": 100, "y": 100}
5025
+ *
5026
+ * // after 500 ms
5027
+ * axes.setTo({"x": 50, "y": 50}, 1000); // trigger animation by setTo
5028
+ *
5029
+ * // after 700 ms
5030
+ * axes.updateAnimation({destPos: {"x": 100, "y": 100}, duration: 1500, restart: true}); // this works same as axes.setTo({"x": 100, "y": 100}, 800) since restart is true.
5031
+ * ```
5027
5032
  */
5028
5033
  __proto.updateAnimation = function (options) {
5029
5034
  this.animationManager.updateAnimation(options);
5030
5035
  return this;
5031
5036
  };
5032
- /**
5033
- * Returns whether there is a coordinate in the bounce area of ​​the target axis.
5034
- * @ko 대상 축 중 bounce영역에 좌표가 존재하는지를 반환한다
5035
- * @param {Object} [axes] The names of the axis <ko>축 이름들</ko>
5036
- * @return {Boolen} Whether the bounce area exists. <ko>bounce 영역 존재 여부</ko>
5037
- * @example
5038
- * ```js
5039
- * const axes = new eg.Axes({
5040
- * "x": {
5041
- * range: [0, 100]
5042
- * },
5043
- * "xOther": {
5044
- * range: [-100, 100]
5045
- * },
5046
- * "zoom": {
5047
- * range: [50, 30]
5048
- * }
5049
- * });
5050
- *
5051
- * axes.isBounceArea(["x"]);
5052
- * axes.isBounceArea(["x", "zoom"]);
5053
- * axes.isBounceArea();
5054
- * ```
5037
+ /**
5038
+ * Returns whether there is a coordinate in the bounce area of ​​the target axis.
5039
+ * @ko 대상 축 중 bounce영역에 좌표가 존재하는지를 반환한다
5040
+ * @param {Object} [axes] The names of the axis <ko>축 이름들</ko>
5041
+ * @return {Boolen} Whether the bounce area exists. <ko>bounce 영역 존재 여부</ko>
5042
+ * @example
5043
+ * ```js
5044
+ * const axes = new eg.Axes({
5045
+ * "x": {
5046
+ * range: [0, 100]
5047
+ * },
5048
+ * "xOther": {
5049
+ * range: [-100, 100]
5050
+ * },
5051
+ * "zoom": {
5052
+ * range: [50, 30]
5053
+ * }
5054
+ * });
5055
+ *
5056
+ * axes.isBounceArea(["x"]);
5057
+ * axes.isBounceArea(["x", "zoom"]);
5058
+ * axes.isBounceArea();
5059
+ * ```
5055
5060
  */
5056
5061
  __proto.isBounceArea = function (axes) {
5057
5062
  return this.axisManager.isOutside(axes);
5058
5063
  };
5059
- /**
5060
- * Destroys properties, and events used in a module and disconnect all connections to inputTypes.
5061
- * @ko 모듈에 사용한 속성, 이벤트를 해제한다. 모든 inputType과의 연결을 끊는다.
5064
+ /**
5065
+ * Destroys properties, and events used in a module and disconnect all connections to inputTypes.
5066
+ * @ko 모듈에 사용한 속성, 이벤트를 해제한다. 모든 inputType과의 연결을 끊는다.
5062
5067
  */
5063
5068
  __proto.destroy = function () {
5064
5069
  this.disconnect();
5065
5070
  this.eventManager.destroy();
5066
5071
  };
5067
- /**
5068
- * @name VERSION
5069
- * @desc Version info string
5070
- * @ko 버전정보 문자열
5071
- *
5072
- * @constant
5073
- * @type {String}
5074
- * @example
5075
- * ```js
5076
- * eg.Axes.VERSION; // ex) 3.3.3
5077
- * ```
5072
+ /**
5073
+ * @name VERSION
5074
+ * @desc Version info string
5075
+ * @ko 버전정보 문자열
5076
+ *
5077
+ * @constant
5078
+ * @type {String}
5079
+ * @example
5080
+ * ```js
5081
+ * eg.Axes.VERSION; // ex) 3.3.3
5082
+ * ```
5078
5083
  */
5079
- Axes.VERSION = "3.9.0";
5084
+ Axes.VERSION = "3.9.1-beta.0";
5080
5085
  /* eslint-enable */
5081
- /**
5082
- * @name TRANSFORM
5083
- * @desc Returns the transform attribute with CSS vendor prefixes.
5084
- * @ko CSS vendor prefixes를 붙인 transform 속성을 반환한다.
5085
- *
5086
- * @constant
5087
- * @type {String}
5088
- * @example
5089
- * ```js
5090
- * eg.Axes.TRANSFORM; // "transform" or "webkitTransform"
5091
- * ```
5086
+ /**
5087
+ * @name TRANSFORM
5088
+ * @desc Returns the transform attribute with CSS vendor prefixes.
5089
+ * @ko CSS vendor prefixes를 붙인 transform 속성을 반환한다.
5090
+ *
5091
+ * @constant
5092
+ * @type {String}
5093
+ * @example
5094
+ * ```js
5095
+ * eg.Axes.TRANSFORM; // "transform" or "webkitTransform"
5096
+ * ```
5092
5097
  */
5093
5098
  Axes.TRANSFORM = TRANSFORM;
5094
- /**
5095
- * @name DIRECTION_NONE
5096
- * @constant
5097
- * @type {Number}
5099
+ /**
5100
+ * @name DIRECTION_NONE
5101
+ * @constant
5102
+ * @type {Number}
5098
5103
  */
5099
5104
  Axes.DIRECTION_NONE = DIRECTION_NONE;
5100
- /**
5101
- * @name DIRECTION_LEFT
5102
- * @constant
5103
- * @type {Number}
5105
+ /**
5106
+ * @name DIRECTION_LEFT
5107
+ * @constant
5108
+ * @type {Number}
5104
5109
  */
5105
5110
  Axes.DIRECTION_LEFT = DIRECTION_LEFT;
5106
- /**
5107
- * @name DIRECTION_RIGHT
5108
- * @constant
5109
- * @type {Number}
5111
+ /**
5112
+ * @name DIRECTION_RIGHT
5113
+ * @constant
5114
+ * @type {Number}
5110
5115
  */
5111
5116
  Axes.DIRECTION_RIGHT = DIRECTION_RIGHT;
5112
- /**
5113
- * @name DIRECTION_UP
5114
- * @constant
5115
- * @type {Number}
5117
+ /**
5118
+ * @name DIRECTION_UP
5119
+ * @constant
5120
+ * @type {Number}
5116
5121
  */
5117
5122
  Axes.DIRECTION_UP = DIRECTION_UP;
5118
- /**
5119
- * @name DIRECTION_DOWN
5120
- * @constant
5121
- * @type {Number}
5123
+ /**
5124
+ * @name DIRECTION_DOWN
5125
+ * @constant
5126
+ * @type {Number}
5122
5127
  */
5123
5128
  Axes.DIRECTION_DOWN = DIRECTION_DOWN;
5124
- /**
5125
- * @name DIRECTION_HORIZONTAL
5126
- * @constant
5127
- * @type {Number}
5129
+ /**
5130
+ * @name DIRECTION_HORIZONTAL
5131
+ * @constant
5132
+ * @type {Number}
5128
5133
  */
5129
5134
  Axes.DIRECTION_HORIZONTAL = DIRECTION_HORIZONTAL;
5130
- /**
5131
- * @name DIRECTION_VERTICAL
5132
- * @constant
5133
- * @type {Number}
5135
+ /**
5136
+ * @name DIRECTION_VERTICAL
5137
+ * @constant
5138
+ * @type {Number}
5134
5139
  */
5135
5140
  Axes.DIRECTION_VERTICAL = DIRECTION_VERTICAL;
5136
- /**
5137
- * @name DIRECTION_ALL
5138
- * @constant
5139
- * @type {Number}
5141
+ /**
5142
+ * @name DIRECTION_ALL
5143
+ * @constant
5144
+ * @type {Number}
5140
5145
  */
5141
5146
  Axes.DIRECTION_ALL = DIRECTION_ALL;
5142
5147
  __decorate([Computed], Axes.prototype, "holding", null);
@@ -5144,9 +5149,9 @@ version: 4.12.0-beta.1
5144
5149
  return Axes;
5145
5150
  }(Component);
5146
5151
 
5147
- /*
5148
- * Copyright (c) 2015 NAVER Corp.
5149
- * egjs projects are licensed under the MIT license
5152
+ /*
5153
+ * Copyright (c) 2015 NAVER Corp.
5154
+ * egjs projects are licensed under the MIT license
5150
5155
  */
5151
5156
  // get user's direction
5152
5157
  var getDirectionByAngle = function (angle, thresholdAngle) {
@@ -5156,73 +5161,73 @@ version: 4.12.0-beta.1
5156
5161
  var toAngle = Math.abs(angle);
5157
5162
  return toAngle > thresholdAngle && toAngle < 180 - thresholdAngle ? DIRECTION_VERTICAL : DIRECTION_HORIZONTAL;
5158
5163
  };
5159
- /**
5160
- * @typedef {Object} PanInputOption The option object of the eg.Axes.PanInput module.
5161
- * @ko eg.Axes.PanInput 모듈의 옵션 객체
5162
- * @param {String[]} [inputType=["touch", "mouse", "pointer"]] Types of input devices
5163
- * - touch: Touch screen
5164
- * - mouse: Mouse
5165
- * - pointer: Mouse and touch <ko>입력 장치 종류
5166
- * - touch: 터치 입력 장치
5167
- * - mouse: 마우스
5168
- * - pointer: 마우스 및 터치</ko>
5169
- * @param {String[]} [inputKey=["any"]] List of key combinations to allow input
5170
- * - any: any key
5171
- * - shift: shift key
5172
- * - ctrl: ctrl key and pinch gesture on the trackpad
5173
- * - alt: alt key
5174
- * - meta: meta key
5175
- * - none: none of these keys are pressed <ko>입력을 허용할 키 조합 목록
5176
- * - any: 아무 키
5177
- * - shift: shift 키
5178
- * - ctrl: ctrl 키 및 트랙패드의 pinch 제스쳐
5179
- * - alt: alt 키
5180
- * - meta: meta 키
5181
- * - none: 아무 키도 눌리지 않은 상태 </ko>
5182
- * @param {String[]} [inputButton=["left"]] List of buttons to allow input
5183
- * - left: Left mouse button and normal touch
5184
- * - middle: Mouse wheel press
5185
- * - right: Right mouse button <ko>입력을 허용할 버튼 목록
5186
- * - left: 마우스 왼쪽 버튼
5187
- * - middle: 마우스 휠 눌림
5188
- * - right: 마우스 오른쪽 버튼 </ko>
5189
- * @param {Number[]} [scale] Coordinate scale that a user can move<ko>사용자의 동작으로 이동하는 좌표의 배율</ko>
5190
- * @param {Number} [scale[0]=1] horizontal axis scale <ko>수평축 배율</ko>
5191
- * @param {Number} [scale[1]=1] vertical axis scale <ko>수직축 배율</ko>
5192
- * @param {Number} [thresholdAngle=45] The threshold value that determines whether user action is horizontal or vertical (0~90) <ko>사용자의 동작이 가로 방향인지 세로 방향인지 판단하는 기준 각도(0~90)</ko>
5193
- * @param {Number} [threshold=0] Minimal pan distance required before recognizing <ko>사용자의 Pan 동작을 인식하기 위해산 최소한의 거리</ko>
5194
- * @param {Boolean} [preventClickOnDrag=false] Whether to cancel the {@link https://developer.mozilla.org/en/docs/Web/API/Element/click_event click} event when the user finishes dragging more than 1 pixel <ko>사용자가 1픽셀 이상 드래그를 마쳤을 때 {@link https://developer.mozilla.org/ko/docs/Web/API/Element/click_event click} 이벤트 취소 여부</ko>
5195
- * @param {Boolean} [preventDefaultOnDrag=false] Whether to use the {@link https://developer.mozilla.org/ko/docs/Web/API/Event/preventDefault preventDefault} when the user starts dragging <ko>사용자가 드래그를 시작할 때 {@link https://developer.mozilla.org/ko/docs/Web/API/Event/preventDefault preventDefault} 실행 여부</ko>
5196
- * @param {Number} [iOSEdgeSwipeThreshold=30] Area (px) that can go to the next page when swiping the right edge in iOS safari <ko>iOS Safari에서 오른쪽 엣지를 스와이프 하는 경우 다음 페이지로 넘어갈 수 있는 영역(px)</ko>
5197
- * @param {String} [touchAction=null] Value that overrides the element's "touch-action" css property. If set to null, it is automatically set to prevent scrolling in the direction of the connected axis. <ko>엘리먼트의 "touch-action" CSS 속성을 덮어쓰는 값. 만약 null로 설정된 경우, 연결된 축 방향으로의 스크롤을 방지하게끔 자동으로 설정된다.</ko>
5164
+ /**
5165
+ * @typedef {Object} PanInputOption The option object of the eg.Axes.PanInput module.
5166
+ * @ko eg.Axes.PanInput 모듈의 옵션 객체
5167
+ * @param {String[]} [inputType=["touch", "mouse", "pointer"]] Types of input devices
5168
+ * - touch: Touch screen
5169
+ * - mouse: Mouse
5170
+ * - pointer: Mouse and touch <ko>입력 장치 종류
5171
+ * - touch: 터치 입력 장치
5172
+ * - mouse: 마우스
5173
+ * - pointer: 마우스 및 터치</ko>
5174
+ * @param {String[]} [inputKey=["any"]] List of key combinations to allow input
5175
+ * - any: any key
5176
+ * - shift: shift key
5177
+ * - ctrl: ctrl key and pinch gesture on the trackpad
5178
+ * - alt: alt key
5179
+ * - meta: meta key
5180
+ * - none: none of these keys are pressed <ko>입력을 허용할 키 조합 목록
5181
+ * - any: 아무 키
5182
+ * - shift: shift 키
5183
+ * - ctrl: ctrl 키 및 트랙패드의 pinch 제스쳐
5184
+ * - alt: alt 키
5185
+ * - meta: meta 키
5186
+ * - none: 아무 키도 눌리지 않은 상태 </ko>
5187
+ * @param {String[]} [inputButton=["left"]] List of buttons to allow input
5188
+ * - left: Left mouse button and normal touch
5189
+ * - middle: Mouse wheel press
5190
+ * - right: Right mouse button <ko>입력을 허용할 버튼 목록
5191
+ * - left: 마우스 왼쪽 버튼
5192
+ * - middle: 마우스 휠 눌림
5193
+ * - right: 마우스 오른쪽 버튼 </ko>
5194
+ * @param {Number[]} [scale] Coordinate scale that a user can move<ko>사용자의 동작으로 이동하는 좌표의 배율</ko>
5195
+ * @param {Number} [scale[0]=1] horizontal axis scale <ko>수평축 배율</ko>
5196
+ * @param {Number} [scale[1]=1] vertical axis scale <ko>수직축 배율</ko>
5197
+ * @param {Number} [thresholdAngle=45] The threshold value that determines whether user action is horizontal or vertical (0~90) <ko>사용자의 동작이 가로 방향인지 세로 방향인지 판단하는 기준 각도(0~90)</ko>
5198
+ * @param {Number} [threshold=0] Minimal pan distance required before recognizing <ko>사용자의 Pan 동작을 인식하기 위해산 최소한의 거리</ko>
5199
+ * @param {Boolean} [preventClickOnDrag=false] Whether to cancel the {@link https://developer.mozilla.org/en/docs/Web/API/Element/click_event click} event when the user finishes dragging more than 1 pixel <ko>사용자가 1픽셀 이상 드래그를 마쳤을 때 {@link https://developer.mozilla.org/ko/docs/Web/API/Element/click_event click} 이벤트 취소 여부</ko>
5200
+ * @param {Boolean} [preventDefaultOnDrag=false] Whether to use the {@link https://developer.mozilla.org/ko/docs/Web/API/Event/preventDefault preventDefault} when the user starts dragging <ko>사용자가 드래그를 시작할 때 {@link https://developer.mozilla.org/ko/docs/Web/API/Event/preventDefault preventDefault} 실행 여부</ko>
5201
+ * @param {Number} [iOSEdgeSwipeThreshold=30] Area (px) that can go to the next page when swiping the right edge in iOS safari <ko>iOS Safari에서 오른쪽 엣지를 스와이프 하는 경우 다음 페이지로 넘어갈 수 있는 영역(px)</ko>
5202
+ * @param {String} [touchAction=null] Value that overrides the element's "touch-action" css property. If set to null, it is automatically set to prevent scrolling in the direction of the connected axis. <ko>엘리먼트의 "touch-action" CSS 속성을 덮어쓰는 값. 만약 null로 설정된 경우, 연결된 축 방향으로의 스크롤을 방지하게끔 자동으로 설정된다.</ko>
5198
5203
  **/
5199
- /**
5200
- * A module that passes the amount of change to eg.Axes when the mouse or touchscreen is down and moved. use less than two axes.
5201
- * @ko 마우스나 터치 스크린을 누르고 움직일때의 변화량을 eg.Axes에 전달하는 모듈. 두개 이하의 축을 사용한다.
5202
- *
5203
- * @example
5204
- * ```js
5205
- * const pan = new eg.Axes.PanInput("#area", {
5206
- * inputType: ["touch"],
5207
- * scale: [1, 1.3],
5208
- * });
5209
- *
5210
- * // Connect the 'something2' axis to the mouse or touchscreen x position when the mouse or touchscreen is down and moved.
5211
- * // Connect the 'somethingN' axis to the mouse or touchscreen y position when the mouse or touchscreen is down and moved.
5212
- * axes.connect(["something2", "somethingN"], pan); // or axes.connect("something2 somethingN", pan);
5213
- *
5214
- * // Connect only one 'something1' axis to the mouse or touchscreen x position when the mouse or touchscreen is down and moved.
5215
- * axes.connect(["something1"], pan); // or axes.connect("something1", pan);
5216
- *
5217
- * // Connect only one 'something2' axis to the mouse or touchscreen y position when the mouse or touchscreen is down and moved.
5218
- * axes.connect(["", "something2"], pan); // or axes.connect(" something2", pan);
5219
- * ```
5220
- * @param {String|HTMLElement|Ref<HTMLElement>|jQuery} element An element to use the eg.Axes.PanInput module <ko>eg.Axes.PanInput 모듈을 사용할 엘리먼트</ko>
5221
- * @param {PanInputOption} [options={}] The option object of the eg.Axes.PanInput module<ko>eg.Axes.PanInput 모듈의 옵션 객체</ko>
5204
+ /**
5205
+ * A module that passes the amount of change to eg.Axes when the mouse or touchscreen is down and moved. use less than two axes.
5206
+ * @ko 마우스나 터치 스크린을 누르고 움직일때의 변화량을 eg.Axes에 전달하는 모듈. 두개 이하의 축을 사용한다.
5207
+ *
5208
+ * @example
5209
+ * ```js
5210
+ * const pan = new eg.Axes.PanInput("#area", {
5211
+ * inputType: ["touch"],
5212
+ * scale: [1, 1.3],
5213
+ * });
5214
+ *
5215
+ * // Connect the 'something2' axis to the mouse or touchscreen x position when the mouse or touchscreen is down and moved.
5216
+ * // Connect the 'somethingN' axis to the mouse or touchscreen y position when the mouse or touchscreen is down and moved.
5217
+ * axes.connect(["something2", "somethingN"], pan); // or axes.connect("something2 somethingN", pan);
5218
+ *
5219
+ * // Connect only one 'something1' axis to the mouse or touchscreen x position when the mouse or touchscreen is down and moved.
5220
+ * axes.connect(["something1"], pan); // or axes.connect("something1", pan);
5221
+ *
5222
+ * // Connect only one 'something2' axis to the mouse or touchscreen y position when the mouse or touchscreen is down and moved.
5223
+ * axes.connect(["", "something2"], pan); // or axes.connect(" something2", pan);
5224
+ * ```
5225
+ * @param {String|HTMLElement|Ref<HTMLElement>|jQuery} element An element to use the eg.Axes.PanInput module <ko>eg.Axes.PanInput 모듈을 사용할 엘리먼트</ko>
5226
+ * @param {PanInputOption} [options={}] The option object of the eg.Axes.PanInput module<ko>eg.Axes.PanInput 모듈의 옵션 객체</ko>
5222
5227
  */
5223
5228
  var PanInput = /*#__PURE__*/function () {
5224
- /**
5225
- *
5229
+ /**
5230
+ *
5226
5231
  */
5227
5232
  function PanInput(el, options) {
5228
5233
  var _this = this;
@@ -5271,56 +5276,60 @@ version: 4.12.0-beta.1
5271
5276
  this._detachWindowEvent(this._activeEvent);
5272
5277
  }
5273
5278
  this._attachElementEvent(observer);
5274
- this._originalCssProps = setCssProps(this.element, this.options, this._direction);
5275
5279
  return this;
5276
5280
  };
5277
5281
  __proto.disconnect = function () {
5278
5282
  this._detachElementEvent();
5279
5283
  this._detachWindowEvent(this._activeEvent);
5280
- if (!isCssPropsFromAxes(this._originalCssProps)) {
5281
- revertCssProps(this.element, this._originalCssProps);
5282
- }
5283
5284
  this._direction = DIRECTION_NONE;
5284
5285
  return this;
5285
5286
  };
5286
- /**
5287
- * Destroys elements, properties, and events used in a module.
5288
- * @ko 모듈에 사용한 엘리먼트와 속성, 이벤트를 해제한다.
5287
+ /**
5288
+ * Destroys elements, properties, and events used in a module.
5289
+ * @ko 모듈에 사용한 엘리먼트와 속성, 이벤트를 해제한다.
5289
5290
  */
5290
5291
  __proto.destroy = function () {
5291
5292
  this.disconnect();
5292
5293
  this.element = null;
5293
5294
  };
5294
- /**
5295
- * Enables input devices
5296
- * @ko 입력 장치를 사용할 수 있게 한다
5297
- * @return {PanInput} An instance of a module itself <ko>모듈 자신의 인스턴스</ko>
5295
+ /**
5296
+ * Enables input devices
5297
+ * @ko 입력 장치를 사용할 수 있게 한다
5298
+ * @return {PanInput} An instance of a module itself <ko>모듈 자신의 인스턴스</ko>
5298
5299
  */
5299
5300
  __proto.enable = function () {
5300
- this._enabled = true;
5301
+ if (!this._enabled) {
5302
+ this._enabled = true;
5303
+ this._originalCssProps = setCssProps(this.element, this.options, this._direction);
5304
+ }
5301
5305
  return this;
5302
5306
  };
5303
- /**
5304
- * Disables input devices
5305
- * @ko 입력 장치를 사용할 수 없게 한다.
5306
- * @return {PanInput} An instance of a module itself <ko>모듈 자신의 인스턴스</ko>
5307
+ /**
5308
+ * Disables input devices
5309
+ * @ko 입력 장치를 사용할 수 없게 한다.
5310
+ * @return {PanInput} An instance of a module itself <ko>모듈 자신의 인스턴스</ko>
5307
5311
  */
5308
5312
  __proto.disable = function () {
5309
- this._enabled = false;
5313
+ if (this._enabled) {
5314
+ this._enabled = false;
5315
+ if (!isCssPropsFromAxes(this._originalCssProps)) {
5316
+ revertCssProps(this.element, this._originalCssProps);
5317
+ }
5318
+ }
5310
5319
  return this;
5311
5320
  };
5312
- /**
5313
- * Returns whether to use an input device
5314
- * @ko 입력 장치 사용 여부를 반환한다.
5315
- * @return {Boolean} Whether to use an input device <ko>입력장치 사용여부</ko>
5321
+ /**
5322
+ * Returns whether to use an input device
5323
+ * @ko 입력 장치 사용 여부를 반환한다.
5324
+ * @return {Boolean} Whether to use an input device <ko>입력장치 사용여부</ko>
5316
5325
  */
5317
5326
  __proto.isEnabled = function () {
5318
5327
  return this._enabled;
5319
5328
  };
5320
- /**
5321
- * Releases current user input.
5322
- * @ko 사용자의 입력을 강제로 중단시킨다.
5323
- * @return {PanInput} An instance of a module itself <ko>모듈 자신의 인스턴스</ko>
5329
+ /**
5330
+ * Releases current user input.
5331
+ * @ko 사용자의 입력을 강제로 중단시킨다.
5332
+ * @return {PanInput} An instance of a module itself <ko>모듈 자신의 인스턴스</ko>
5324
5333
  */
5325
5334
  __proto.release = function () {
5326
5335
  var activeEvent = this._activeEvent;
@@ -5463,7 +5472,7 @@ version: 4.12.0-beta.1
5463
5472
  throw new Error("Element to connect input does not exist.");
5464
5473
  }
5465
5474
  this._observer = observer;
5466
- this._enabled = true;
5475
+ this.enable();
5467
5476
  this._activeEvent = activeEvent;
5468
5477
  element.addEventListener("click", this._preventClickWhenDragged, true);
5469
5478
  activeEvent.start.forEach(function (event) {
@@ -5487,15 +5496,15 @@ version: 4.12.0-beta.1
5487
5496
  element.removeEventListener(event, _this._voidFunction);
5488
5497
  });
5489
5498
  }
5490
- this._enabled = false;
5499
+ this.disable();
5491
5500
  this._observer = null;
5492
5501
  };
5493
5502
  return PanInput;
5494
5503
  }();
5495
5504
 
5496
- /*
5497
- * Copyright (c) 2015 NAVER Corp.
5498
- * egjs projects are licensed under the MIT license
5505
+ /*
5506
+ * Copyright (c) 2015 NAVER Corp.
5507
+ * egjs projects are licensed under the MIT license
5499
5508
  */
5500
5509
 
5501
5510
  var Axes$1 = Axes;
@@ -12995,7 +13004,7 @@ version: 4.12.0-beta.1
12995
13004
  * Flicking.VERSION; // ex) 4.0.0
12996
13005
  * ```
12997
13006
  */
12998
- Flicking.VERSION = "4.12.0-beta.1";
13007
+ Flicking.VERSION = "4.12.0-beta.2";
12999
13008
  return Flicking;
13000
13009
  }(Component);
13001
13010
 
@@ -13012,7 +13021,6 @@ version: 4.12.0-beta.1
13012
13021
  var CrossFlicking = /*#__PURE__*/function (_super) {
13013
13022
  __extends$3(CrossFlicking, _super);
13014
13023
  // Options Setter
13015
- // UI / LAYOUT
13016
13024
  // public set align(val: FlickingOptions["align"]) {
13017
13025
  // this._align = val;
13018
13026
  // }
@@ -13084,19 +13092,55 @@ version: 4.12.0-beta.1
13084
13092
  _this._syncToCategory(e.index, _this.index);
13085
13093
  }
13086
13094
  };
13095
+ var horizontalPanels = toArray$2(getElement(root).children[0].children);
13087
13096
  // Internal states
13088
- _this._verticalState = [];
13097
+ _this._verticalState = _this._createVerticalState(horizontalPanels);
13089
13098
  _this._moveDirection = null;
13090
13099
  _this._nextIndex = 0;
13091
13100
  // Bind options
13092
13101
  _this._verticalOptions = verticalOptions;
13093
- return _this;
13094
13102
  // Create core components
13095
- // this._viewport = new Viewport(this, getElement(root));
13103
+ _this._verticalFlicking = _this._createVerticalFlicking(horizontalPanels);
13104
+ return _this;
13096
13105
  }
13097
13106
  var __proto = CrossFlicking.prototype;
13098
- Object.defineProperty(__proto, "verticalOptions", {
13107
+ Object.defineProperty(__proto, "verticalFlicking", {
13099
13108
  // Components
13109
+ /**
13110
+ * {@link Control} instance of the Flicking
13111
+ * @ko 현재 Flicking에 활성화된 {@link Control} 인스턴스
13112
+ * @type {Control}
13113
+ * @default SnapControl
13114
+ * @readonly
13115
+ * @see Control
13116
+ * @see SnapControl
13117
+ * @see FreeControl
13118
+ */
13119
+ get: function () {
13120
+ return this._verticalFlicking;
13121
+ },
13122
+ enumerable: false,
13123
+ configurable: true
13124
+ });
13125
+ Object.defineProperty(__proto, "verticalState", {
13126
+ // Internal States
13127
+ /**
13128
+ * Whether Flicking's {@link Flicking#init init()} is called.
13129
+ * This is `true` when {@link Flicking#init init()} is called, and is `false` after calling {@link Flicking#destroy destroy()}.
13130
+ * @ko Flicking의 {@link Flicking#init init()}이 호출되었는지를 나타내는 멤버 변수.
13131
+ * 이 값은 {@link Flicking#init init()}이 호출되었으면 `true`로 변하고, {@link Flicking#destroy destroy()}호출 이후에 다시 `false`로 변경됩니다.
13132
+ * @type {boolean}
13133
+ * @default false
13134
+ * @readonly
13135
+ */
13136
+ get: function () {
13137
+ return this._verticalState;
13138
+ },
13139
+ enumerable: false,
13140
+ configurable: true
13141
+ });
13142
+ Object.defineProperty(__proto, "verticalOptions", {
13143
+ // Options Getter
13100
13144
  /**
13101
13145
  * Change active panel index on mouse/touch hold while animating.
13102
13146
  * `index` of the `willChange`/`willRestore` event will be used as new index.
@@ -13123,37 +13167,56 @@ version: 4.12.0-beta.1
13123
13167
  __proto.init = function () {
13124
13168
  var _this = this;
13125
13169
  return _super.prototype.init.call(this).then(function () {
13126
- // data-index로 분류하기 전에 임시로 모든 children에 대해 vertical flicking으로 해보자.
13127
- // camera.children들에 대해 갯수 세기
13128
- var verticalPanels = "";
13129
- _this._verticalState = _this.camera.children.reduce(function (state, child) {
13130
- var start = state.length ? +state[state.length - 1].end + 1 : 0;
13131
- verticalPanels += child.children[0].innerHTML;
13132
- return __spread$1(state, [{
13133
- start: start,
13134
- end: start + child.children[0].children.length - 1,
13135
- element: child
13136
- }]);
13137
- }, []);
13138
- _this.camera.children.forEach(function (child) {
13139
- child.children[0].innerHTML = verticalPanels;
13140
- });
13141
- _this._verticalFlicking = _this.camera.children.map(function (child, i) {
13142
- return new Flicking(child, __assign$2(__assign$2({}, _this.verticalOptions), {
13143
- horizontal: false,
13144
- panelsPerView: 1,
13145
- defaultIndex: _this._verticalState[i].start
13146
- }));
13147
- });
13148
- _this.on(EVENTS.HOLD_START, _this._onHorizontalHoldStart);
13149
- _this.on(EVENTS.MOVE, _this._onHorizontalMove);
13150
- _this.on(EVENTS.MOVE_END, _this._onHorizontalMoveEnd);
13151
- _this._verticalFlicking.forEach(function (child) {
13152
- child.on(EVENTS.HOLD_START, _this._onVerticalHoldStart);
13153
- child.on(EVENTS.MOVE, _this._onVerticalMove);
13154
- child.on(EVENTS.MOVE_END, _this._onVerticalMoveEnd);
13155
- child.on(EVENTS.CHANGED, _this._onVerticalChanged);
13170
+ return _this._addComponentEvents();
13171
+ });
13172
+ };
13173
+ __proto._addComponentEvents = function () {
13174
+ var _this = this;
13175
+ this.on(EVENTS.HOLD_START, this._onHorizontalHoldStart);
13176
+ this.on(EVENTS.MOVE, this._onHorizontalMove);
13177
+ this.on(EVENTS.MOVE_END, this._onHorizontalMoveEnd);
13178
+ this._verticalFlicking.forEach(function (flicking) {
13179
+ flicking.on(EVENTS.HOLD_START, _this._onVerticalHoldStart);
13180
+ flicking.on(EVENTS.MOVE, _this._onVerticalMove);
13181
+ flicking.on(EVENTS.MOVE_END, _this._onVerticalMoveEnd);
13182
+ flicking.on(EVENTS.CHANGED, _this._onVerticalChanged);
13183
+ });
13184
+ };
13185
+ __proto._createVerticalState = function (panels) {
13186
+ // data-index로 분류하기 전에 임시로 모든 children에 대해 vertical flicking으로 해보자.
13187
+ // panels에 data-attributes가 붙어있을 때와 안 붙어있을 때를 다르게 처리
13188
+ // 붙어있다면 가상의 viewport들을 index 갯수만큼 만들어줘야 한다
13189
+ var verticalPanels = "";
13190
+ var verticalState = panels.reduce(function (state, panel) {
13191
+ var start = state.length ? +state[state.length - 1].end + 1 : 0;
13192
+ verticalPanels += panel.innerHTML;
13193
+ return __spread$1(state, [{
13194
+ start: start,
13195
+ end: start + panel.children.length - 1,
13196
+ element: panel
13197
+ }]);
13198
+ }, []);
13199
+ var verticalCamera = document.createElement("div");
13200
+ verticalCamera.classList.add(CLASS.CAMERA);
13201
+ verticalCamera.innerHTML = verticalPanels;
13202
+ panels.forEach(function (panel) {
13203
+ [CLASS.VIEWPORT, CLASS.VERTICAL].forEach(function (className) {
13204
+ if (!panel.classList.contains(className)) {
13205
+ panel.classList.add(className);
13206
+ }
13156
13207
  });
13208
+ panel.innerHTML = verticalCamera.outerHTML;
13209
+ });
13210
+ return verticalState;
13211
+ };
13212
+ __proto._createVerticalFlicking = function (panels) {
13213
+ var _this = this;
13214
+ return panels.map(function (panel, i) {
13215
+ return new Flicking(panel, __assign$2(__assign$2({}, _this.verticalOptions), {
13216
+ horizontal: false,
13217
+ panelsPerView: 1,
13218
+ defaultIndex: _this._verticalState[i].start
13219
+ }));
13157
13220
  });
13158
13221
  };
13159
13222
  __proto._syncToCategory = function (index, outerIndex) {