@egjs/flicking 4.10.7 → 4.10.8-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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.10.7
7
+ version: 4.10.8-beta.1
8
8
  */
9
9
  (function (global, factory) {
10
10
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
@@ -28,19 +28,19 @@ version: 4.10.7
28
28
  ***************************************************************************** */
29
29
  /* global Reflect, Promise */
30
30
 
31
- var extendStatics$2 = function (d, b) {
32
- extendStatics$2 = Object.setPrototypeOf || {
31
+ var extendStatics$3 = function (d, b) {
32
+ extendStatics$3 = Object.setPrototypeOf || {
33
33
  __proto__: []
34
34
  } instanceof Array && function (d, b) {
35
35
  d.__proto__ = b;
36
36
  } || function (d, b) {
37
37
  for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];
38
38
  };
39
- return extendStatics$2(d, b);
39
+ return extendStatics$3(d, b);
40
40
  };
41
- function __extends$2(d, b) {
41
+ function __extends$3(d, b) {
42
42
  if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
43
- extendStatics$2(d, b);
43
+ extendStatics$3(d, b);
44
44
  function __() {
45
45
  this.constructor = d;
46
46
  }
@@ -1185,7 +1185,7 @@ version: 4.10.7
1185
1185
  * ```
1186
1186
  */
1187
1187
  var FlickingError = /*#__PURE__*/function (_super) {
1188
- __extends$2(FlickingError, _super);
1188
+ __extends$3(FlickingError, _super);
1189
1189
  /**
1190
1190
  * @param message Error message<ko>에러 메시지</ko>
1191
1191
  * @param code Error code<ko>에러 코드</ko>
@@ -2094,12 +2094,12 @@ version: 4.10.7
2094
2094
  }
2095
2095
 
2096
2096
  /*
2097
- Copyright (c) NAVER Crop.
2097
+ Copyright (c) 2022-present NAVER Corp.
2098
2098
  name: @cfcs/core
2099
2099
  license: MIT
2100
2100
  author: NAVER Crop.
2101
- repository: https://github.com/naver/cfcs
2102
- version: 0.0.4
2101
+ repository: https://github.com/naver/cfcs/tree/main/packages/core
2102
+ version: 0.1.0
2103
2103
  */
2104
2104
 
2105
2105
  /**
@@ -2107,15 +2107,116 @@ version: 4.10.7
2107
2107
  * Copyright (c) 2022-present NAVER Corp.
2108
2108
  * MIT license
2109
2109
  */
2110
+
2111
+ /**
2112
+ * @hidden
2113
+ */
2110
2114
  function keys(obj) {
2111
2115
  return Object.keys(obj);
2112
2116
  }
2113
2117
 
2118
+ /**
2119
+ * cfcs
2120
+ * Copyright (c) 2022-present NAVER Corp.
2121
+ * MIT license
2122
+ */
2114
2123
  var OBSERVERS_PATH = "__observers__";
2124
+ var COMPUTED_PATH = "__computed__";
2125
+ var CFCS_DETECTED_DEPENDENCIES_VERSION = 1;
2126
+ var CFCS_DETECTED_DEPENDENCIES = "__CFCS_DETECTED_DEPENDENCIES__";
2127
+
2128
+ /******************************************************************************
2129
+ Copyright (c) Microsoft Corporation.
2130
+
2131
+ Permission to use, copy, modify, and/or distribute this software for any
2132
+ purpose with or without fee is hereby granted.
2133
+
2134
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
2135
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
2136
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
2137
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
2138
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
2139
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
2140
+ PERFORMANCE OF THIS SOFTWARE.
2141
+ ***************************************************************************** */
2142
+
2143
+ /* global Reflect, Promise */
2144
+ var extendStatics$2 = function (d, b) {
2145
+ extendStatics$2 = Object.setPrototypeOf || {
2146
+ __proto__: []
2147
+ } instanceof Array && function (d, b) {
2148
+ d.__proto__ = b;
2149
+ } || function (d, b) {
2150
+ for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];
2151
+ };
2152
+
2153
+ return extendStatics$2(d, b);
2154
+ };
2155
+
2156
+ function __extends$2(d, b) {
2157
+ if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
2158
+ extendStatics$2(d, b);
2159
+
2160
+ function __() {
2161
+ this.constructor = d;
2162
+ }
2163
+
2164
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
2165
+ }
2166
+
2167
+ /**
2168
+ * cfcs
2169
+ * Copyright (c) 2022-present NAVER Corp.
2170
+ * MIT license
2171
+ */
2172
+ function getDetectedStack() {
2173
+ // Version issues do not occur when you access the native object in the global.
2174
+ Object[CFCS_DETECTED_DEPENDENCIES] = Object[CFCS_DETECTED_DEPENDENCIES] || {};
2175
+ var versionList = Object[CFCS_DETECTED_DEPENDENCIES];
2176
+ versionList[CFCS_DETECTED_DEPENDENCIES_VERSION] = versionList[CFCS_DETECTED_DEPENDENCIES_VERSION] || [];
2177
+ return versionList[CFCS_DETECTED_DEPENDENCIES_VERSION];
2178
+ }
2179
+ function getCurrentDetected() {
2180
+ var stack = getDetectedStack();
2181
+ return stack[stack.length - 1];
2182
+ }
2183
+ function detectDependencies(host) {
2184
+ var stack = getDetectedStack();
2185
+ var observers = [];
2186
+ var detected = {
2187
+ host: host,
2188
+ observers: observers,
2189
+ push: function (observer) {
2190
+ if (host !== observer && observers.indexOf(observer) === -1) {
2191
+ observers.push(observer);
2192
+ }
2193
+ }
2194
+ };
2195
+ stack.push(detected);
2196
+ return detected;
2197
+ }
2198
+ function endDetectDependencies() {
2199
+ var stack = getDetectedStack();
2200
+ return stack.pop();
2201
+ }
2202
+
2203
+ /**
2204
+ * cfcs
2205
+ * Copyright (c) 2022-present NAVER Corp.
2206
+ * MIT license
2207
+ */
2208
+ /**
2209
+ * Creates a mutable ref object. You can access the `.current` value and detect the value change through `.subscribe`.
2210
+ * @category Reactive
2211
+ * @see observe
2212
+ */
2115
2213
 
2116
2214
  var Observer =
2117
2215
  /*#__PURE__*/
2118
2216
  function () {
2217
+ /**
2218
+ *
2219
+ */
2119
2220
  function Observer(value) {
2120
2221
  this._emitter = new Component();
2121
2222
  this._current = value;
@@ -2123,53 +2224,213 @@ version: 4.10.7
2123
2224
 
2124
2225
  var __proto = Observer.prototype;
2125
2226
  Object.defineProperty(__proto, "current", {
2227
+ /**
2228
+ * return the current value.
2229
+ */
2126
2230
  get: function () {
2231
+ var currentDetected = getCurrentDetected();
2232
+ currentDetected === null || currentDetected === void 0 ? void 0 : currentDetected.push(this);
2127
2233
  return this._current;
2128
2234
  },
2129
2235
  set: function (value) {
2130
- var isUpdate = value !== this._current;
2131
- this._current = value;
2132
-
2133
- if (isUpdate) {
2134
- this._emitter.trigger("update", value);
2135
- }
2236
+ this._setCurrent(value);
2136
2237
  },
2137
2238
  enumerable: false,
2138
2239
  configurable: true
2139
2240
  });
2241
+ /**
2242
+ * When the current value changes, the callback function is called.
2243
+ */
2140
2244
 
2141
2245
  __proto.subscribe = function (callback) {
2246
+ this.current;
2247
+
2142
2248
  this._emitter.on("update", callback);
2249
+
2250
+ return this;
2143
2251
  };
2252
+ /**
2253
+ * Cancel the registered subscription through callback.
2254
+ */
2255
+
2144
2256
 
2145
2257
  __proto.unsubscribe = function (callback) {
2146
2258
  this._emitter.off("update", callback);
2259
+
2260
+ return this;
2261
+ };
2262
+
2263
+ __proto._setCurrent = function (value) {
2264
+ var prevValue = this._current;
2265
+ var isUpdate = value !== prevValue;
2266
+ this._current = value;
2267
+
2268
+ if (isUpdate) {
2269
+ this._emitter.trigger("update", value, prevValue);
2270
+ }
2271
+ };
2272
+ /**
2273
+ * @hidden
2274
+ */
2275
+
2276
+
2277
+ __proto.toString = function () {
2278
+ return "".concat(this.current);
2279
+ };
2280
+ /**
2281
+ * @hidden
2282
+ */
2283
+
2284
+
2285
+ __proto.valueOf = function () {
2286
+ return this.current;
2147
2287
  };
2148
2288
 
2149
2289
  return Observer;
2150
2290
  }();
2151
- function observe(defaultValue) {
2152
- return new Observer(defaultValue);
2153
- }
2154
- function getObservers(instance) {
2155
- if (!instance[OBSERVERS_PATH]) {
2156
- instance[OBSERVERS_PATH] = {};
2291
+
2292
+ /**
2293
+ * @category Reactive
2294
+ * @hidden
2295
+ */
2296
+
2297
+ var ComputedObserver =
2298
+ /*#__PURE__*/
2299
+ function (_super) {
2300
+ __extends$2(ComputedObserver, _super);
2301
+ /**
2302
+ * @description Creates a new computed observer from the values of other observers.
2303
+ * It is read-only and if you change the value of the observer used inside the callback, its value will be automatically updated.
2304
+ * @param _computedCallback A function for observers to be computed.
2305
+ */
2306
+
2307
+
2308
+ function ComputedObserver(_computedCallback) {
2309
+ var _this = _super.call(this) || this;
2310
+
2311
+ _this._computedCallback = _computedCallback;
2312
+ _this._registered = [];
2313
+
2314
+ _this._onCheckUpdate = function () {
2315
+ _this._setCurrent(_this.current);
2316
+ };
2317
+
2318
+ _this._current = _this.current;
2319
+ return _this;
2320
+ }
2321
+
2322
+ var __proto = ComputedObserver.prototype;
2323
+ Object.defineProperty(__proto, "current", {
2324
+ get: function () {
2325
+ var _this = this;
2326
+
2327
+ detectDependencies(this);
2328
+
2329
+ var value = this._computedCallback();
2330
+
2331
+ var results = endDetectDependencies();
2332
+
2333
+ this._registered.forEach(function (observer) {
2334
+ observer.unsubscribe(_this._onCheckUpdate);
2335
+ });
2336
+
2337
+ results.observers.forEach(function (observer) {
2338
+ observer.subscribe(_this._onCheckUpdate);
2339
+ });
2340
+ this._registered = results.observers;
2341
+ return value;
2342
+ },
2343
+ enumerable: false,
2344
+ configurable: true
2345
+ });
2346
+ return ComputedObserver;
2347
+ }(Observer);
2348
+
2349
+ /**
2350
+ * cfcs
2351
+ * Copyright (c) 2022-present NAVER Corp.
2352
+ * MIT license
2353
+ */
2354
+
2355
+ function injectObserve(prototype, memberName, publicName) {
2356
+ if (publicName === void 0) {
2357
+ publicName = memberName;
2157
2358
  }
2158
2359
 
2159
- return instance[OBSERVERS_PATH];
2360
+ var nextAttributes = {
2361
+ configurable: true,
2362
+ get: function () {
2363
+ return getObserver(this, publicName).current;
2364
+ },
2365
+ set: function (value) {
2366
+ getObserver(this, publicName, value).current = value;
2367
+ }
2368
+ };
2369
+ Object.defineProperty(prototype, memberName, nextAttributes);
2370
+
2371
+ if (publicName !== memberName) {
2372
+ Object.defineProperty(prototype, publicName, {
2373
+ configurable: true,
2374
+ get: function () {
2375
+ return getObserver(this, publicName).current;
2376
+ }
2377
+ });
2378
+ }
2160
2379
  }
2161
- function getObserver(instance, name, defaultValue) {
2162
- var observers = getObservers(instance);
2380
+ /**
2381
+ * @description `Observe` is a property decorator and converts the property into a `reactive state`. You can detect its status through `.subscribe`.
2382
+ * @category Reactive-Decorator
2383
+ * @see ReactiveSubscribe
2384
+ * @example
2385
+ * ```ts
2386
+ import { ReactiveSubscribe, Observe } from "@cfcs/core";
2163
2387
 
2164
- if (!observers[name]) {
2165
- observers[name] = observe(defaultValue);
2388
+ @ReactiveSubscribe
2389
+ class Component {
2390
+ // The public name and state name are the same.
2391
+ @Observe value1 = 1;
2392
+ // If you want to set public name and private properties separately
2393
+ @Observe("value2") _value2 = 1;
2394
+
2395
+ constructor() {
2396
+ requestAnimationFrame(() => {
2397
+ this.value1 = 2;
2398
+ });
2166
2399
  }
2400
+ }
2401
+ interface C
2402
+ ```
2403
+ */
2167
2404
 
2168
- return observers[name];
2405
+
2406
+ function Observe() {
2407
+ var args = [];
2408
+
2409
+ for (var _i = 0; _i < arguments.length; _i++) {
2410
+ args[_i] = arguments[_i];
2411
+ }
2412
+
2413
+ if (args.length > 1) {
2414
+ return injectObserve(args[0], args[1]);
2415
+ }
2416
+
2417
+ return function (prototype, memberName) {
2418
+ return injectObserve(prototype, memberName, args[0]);
2419
+ };
2169
2420
  }
2170
2421
 
2422
+ /**
2423
+ * cfcs
2424
+ * Copyright (c) 2022-present NAVER Corp.
2425
+ * MIT license
2426
+ */
2427
+ /**
2428
+ * @hidden
2429
+ */
2430
+
2171
2431
  function injectReactiveSubscribe(object) {
2172
2432
  object["subscribe"] = function (name, callback) {
2433
+ this[name];
2173
2434
  getObserver(this, name).subscribe(callback);
2174
2435
  };
2175
2436
 
@@ -2190,85 +2451,264 @@ version: 4.10.7
2190
2451
  getObserver(this, name).unsubscribe(callback);
2191
2452
  };
2192
2453
  }
2193
- function ReactiveSubscribe(Constructor) {
2194
- var prototype = Constructor.prototype;
2195
- injectReactiveSubscribe(prototype);
2196
- }
2197
-
2198
- /*
2199
- Copyright (c) NAVER Corp.
2200
- name: @egjs/axes
2201
- license: MIT
2202
- author: NAVER Corp.
2203
- repository: https://github.com/naver/egjs-axes
2204
- version: 3.8.4
2205
- */
2206
-
2207
- /*! *****************************************************************************
2208
- Copyright (c) Microsoft Corporation. All rights reserved.
2209
- Licensed under the Apache License, Version 2.0 (the "License"); you may not use
2210
- this file except in compliance with the License. You may obtain a copy of the
2211
- License at http://www.apache.org/licenses/LICENSE-2.0
2212
-
2213
- THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
2214
- KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
2215
- WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
2216
- MERCHANTABLITY OR NON-INFRINGEMENT.
2217
-
2218
- See the Apache Version 2.0 License for specific language governing permissions
2219
- and limitations under the License.
2220
- ***************************************************************************** */
2221
-
2222
- /* global Reflect, Promise */
2223
- var extendStatics$1 = function (d, b) {
2224
- extendStatics$1 = Object.setPrototypeOf || {
2225
- __proto__: []
2226
- } instanceof Array && function (d, b) {
2227
- d.__proto__ = b;
2228
- } || function (d, b) {
2229
- for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
2230
- };
2231
-
2232
- return extendStatics$1(d, b);
2233
- };
2454
+ /**
2455
+ * @description `ReactiveSubscribe` is a class decorator and adds `.subscribe` and `.unsubscribe` methods.
2456
+ * @category Reactive-Decorator
2457
+ * @see Observe
2458
+ * @example
2459
+ * ```ts
2460
+ import { ReactiveSubscribe, Observe } from "@cfcs/core";
2234
2461
 
2235
- function __extends$1(d, b) {
2236
- extendStatics$1(d, b);
2462
+ @ReactiveSubscribe
2463
+ class Component {
2464
+ @Observe value1 = 1;
2237
2465
 
2238
- function __() {
2239
- this.constructor = d;
2466
+ constructor() {
2467
+ requestAnimationFrame(() => {
2468
+ this.value1 = 2;
2469
+ });
2240
2470
  }
2241
-
2242
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
2243
2471
  }
2244
- var __assign$1 = function () {
2245
- __assign$1 = Object.assign || function __assign(t) {
2246
- for (var s, i = 1, n = arguments.length; i < n; i++) {
2247
- s = arguments[i];
2248
2472
 
2249
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
2250
- }
2473
+ interface Component extends ReactiveSubscribe<{
2474
+ value1: number;
2475
+ value2: number;
2476
+ }> {}
2251
2477
 
2252
- return t;
2253
- };
2478
+ const component = new Component();
2254
2479
 
2255
- return __assign$1.apply(this, arguments);
2256
- };
2257
- function __decorate(decorators, target, key, desc) {
2258
- var c = arguments.length,
2259
- r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,
2260
- d;
2261
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
2262
- return c > 3 && r && Object.defineProperty(target, key, r), r;
2263
- }
2480
+ // 1
2481
+ console.log(component.value1);
2264
2482
 
2265
- /*
2266
- * Copyright (c) 2015 NAVER Corp.
2267
- * egjs projects are licensed under the MIT license
2483
+ component.subscribe("value1", nextValue => {
2484
+ // When the change event occurs => (2, 2)
2485
+ console.log(nextValue, component.value2);
2486
+ });
2487
+ ```
2268
2488
  */
2269
2489
 
2270
- /* eslint-disable no-new-func, no-nested-ternary */
2271
- var win;
2490
+ function ReactiveSubscribe(Constructor) {
2491
+ var prototype = Constructor.prototype;
2492
+ injectReactiveSubscribe(prototype);
2493
+ }
2494
+ /**
2495
+ * @description Creates a mutable ref object. You can access the `.current` value and detect the value change through `.subscribe`.
2496
+ * @category Reactive
2497
+ * @example
2498
+ * ```ts
2499
+ * import { observe } from "@cfcs/core";
2500
+ *
2501
+ * const ob1 = observe(1);
2502
+ *
2503
+ * ob1.subscribe(nextValue => {
2504
+ * console.log(nextValue);
2505
+ * });
2506
+ *
2507
+ * ob1.current = 2;
2508
+ * ```
2509
+ */
2510
+
2511
+ function observe(defaultValue) {
2512
+ return new Observer(defaultValue);
2513
+ }
2514
+ /**
2515
+ * @hidden
2516
+ */
2517
+
2518
+ function computed(computedCallback) {
2519
+ return new ComputedObserver(computedCallback);
2520
+ }
2521
+ /**
2522
+ * @hidden
2523
+ */
2524
+
2525
+ function defineObservers(instance) {
2526
+ var observers = {};
2527
+ Object.defineProperty(instance, OBSERVERS_PATH, {
2528
+ get: function () {
2529
+ return observers;
2530
+ }
2531
+ });
2532
+ return observers;
2533
+ }
2534
+ /**
2535
+ * @hidden
2536
+ */
2537
+
2538
+ function getObservers(instance, isComputed) {
2539
+ var _a, _b;
2540
+
2541
+ if (!instance[OBSERVERS_PATH]) {
2542
+ defineObservers(instance);
2543
+ }
2544
+
2545
+ var observers = instance[OBSERVERS_PATH];
2546
+
2547
+ if (!isComputed) {
2548
+ var computedList = (_b = (_a = instance === null || instance === void 0 ? void 0 : instance.constructor) === null || _a === void 0 ? void 0 : _a.prototype) === null || _b === void 0 ? void 0 : _b[COMPUTED_PATH];
2549
+
2550
+ if (computedList) {
2551
+ computedList.forEach(function (name) {
2552
+ if (!(name in observers) && name in instance) {
2553
+ instance[name];
2554
+ }
2555
+ });
2556
+ }
2557
+ }
2558
+
2559
+ return observers;
2560
+ }
2561
+ /**
2562
+ * @hidden
2563
+ */
2564
+
2565
+ function getObserver(instance, name, defaultValue) {
2566
+ var observers = getObservers(instance);
2567
+
2568
+ if (!observers[name]) {
2569
+ observers[name] = observe(defaultValue);
2570
+ }
2571
+
2572
+ return observers[name];
2573
+ }
2574
+
2575
+ /**
2576
+ * cfcs
2577
+ * Copyright (c) 2022-present NAVER Corp.
2578
+ * MIT license
2579
+ */
2580
+ /**
2581
+ * @description `Computed` is a property decorator.
2582
+ * Changes in computed state values are also recognized according to changes in observers used within the getter function.
2583
+ * You can detect its status through `.subscribe`.
2584
+ * @hidden
2585
+ * @category Reactive-Decorator
2586
+ * @see ReactiveSubscribe
2587
+ * @example
2588
+ * ```ts
2589
+ const ob1 = observe(0);
2590
+ const ob2 = observe(1);
2591
+
2592
+ // When
2593
+ @ReactiveSubscribe
2594
+ class TestComputed {
2595
+ @Computed
2596
+ get ob3() {
2597
+ return ob1.current + ob2.current;
2598
+ }
2599
+ }
2600
+ const inst = new TestComputed();
2601
+
2602
+ inst.subscribe("ob3", ob3 => {
2603
+ console.log(ob3);
2604
+ });
2605
+
2606
+ ob1.current = 1;
2607
+ ```
2608
+ */
2609
+
2610
+ function Computed(prototype, memberName, attributes) {
2611
+ var get = attributes.get;
2612
+
2613
+ function getComputed() {
2614
+ var observers = getObservers(this, true);
2615
+
2616
+ if (!(memberName in observers)) {
2617
+ observers[memberName] = computed(get.bind(this));
2618
+ }
2619
+
2620
+ return getObserver(this, memberName).current;
2621
+ }
2622
+
2623
+ var nextAttributes = {
2624
+ configurable: true,
2625
+ get: getComputed
2626
+ };
2627
+ prototype[COMPUTED_PATH] || (prototype[COMPUTED_PATH] = []);
2628
+ var computedList = prototype[COMPUTED_PATH];
2629
+
2630
+ if (computedList.indexOf(memberName) === -1) {
2631
+ computedList.push(memberName);
2632
+ }
2633
+
2634
+ Object.defineProperty(prototype, memberName, nextAttributes);
2635
+ return nextAttributes;
2636
+ }
2637
+
2638
+ /*
2639
+ Copyright (c) NAVER Corp.
2640
+ name: @egjs/axes
2641
+ license: MIT
2642
+ author: NAVER Corp.
2643
+ repository: https://github.com/naver/egjs-axes
2644
+ version: 3.8.4
2645
+ */
2646
+
2647
+ /*! *****************************************************************************
2648
+ Copyright (c) Microsoft Corporation. All rights reserved.
2649
+ Licensed under the Apache License, Version 2.0 (the "License"); you may not use
2650
+ this file except in compliance with the License. You may obtain a copy of the
2651
+ License at http://www.apache.org/licenses/LICENSE-2.0
2652
+
2653
+ THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
2654
+ KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
2655
+ WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
2656
+ MERCHANTABLITY OR NON-INFRINGEMENT.
2657
+
2658
+ See the Apache Version 2.0 License for specific language governing permissions
2659
+ and limitations under the License.
2660
+ ***************************************************************************** */
2661
+
2662
+ /* global Reflect, Promise */
2663
+ var extendStatics$1 = function (d, b) {
2664
+ extendStatics$1 = Object.setPrototypeOf || {
2665
+ __proto__: []
2666
+ } instanceof Array && function (d, b) {
2667
+ d.__proto__ = b;
2668
+ } || function (d, b) {
2669
+ for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
2670
+ };
2671
+
2672
+ return extendStatics$1(d, b);
2673
+ };
2674
+
2675
+ function __extends$1(d, b) {
2676
+ extendStatics$1(d, b);
2677
+
2678
+ function __() {
2679
+ this.constructor = d;
2680
+ }
2681
+
2682
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
2683
+ }
2684
+ var __assign$1 = function () {
2685
+ __assign$1 = Object.assign || function __assign(t) {
2686
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
2687
+ s = arguments[i];
2688
+
2689
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
2690
+ }
2691
+
2692
+ return t;
2693
+ };
2694
+
2695
+ return __assign$1.apply(this, arguments);
2696
+ };
2697
+ function __decorate(decorators, target, key, desc) {
2698
+ var c = arguments.length,
2699
+ r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,
2700
+ d;
2701
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
2702
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
2703
+ }
2704
+
2705
+ /*
2706
+ * Copyright (c) 2015 NAVER Corp.
2707
+ * egjs projects are licensed under the MIT license
2708
+ */
2709
+
2710
+ /* eslint-disable no-new-func, no-nested-ternary */
2711
+ var win;
2272
2712
 
2273
2713
  if (typeof window === "undefined") {
2274
2714
  // window is undefined in node.js
@@ -2281,9 +2721,9 @@ version: 4.10.7
2281
2721
  win = window;
2282
2722
  }
2283
2723
 
2284
- /*
2285
- * Copyright (c) 2015 NAVER Corp.
2286
- * egjs projects are licensed under the MIT license
2724
+ /*
2725
+ * Copyright (c) 2015 NAVER Corp.
2726
+ * egjs projects are licensed under the MIT license
2287
2727
  */
2288
2728
  var DIRECTION_NONE = 1;
2289
2729
  var DIRECTION_LEFT = 2;
@@ -2296,6 +2736,11 @@ version: 4.10.7
2296
2736
  var MOUSE_LEFT = "left";
2297
2737
  var MOUSE_RIGHT = "right";
2298
2738
  var MOUSE_MIDDLE = "middle";
2739
+ var MOUSE_BUTTON_CODE_MAP = {
2740
+ 1: MOUSE_LEFT,
2741
+ 2: MOUSE_MIDDLE,
2742
+ 3: MOUSE_RIGHT
2743
+ };
2299
2744
  var ANY = "any";
2300
2745
  var NONE = "none";
2301
2746
  var SHIFT = "shift";
@@ -2419,21 +2864,21 @@ version: 4.10.7
2419
2864
 
2420
2865
  caf = win.clearTimeout;
2421
2866
  }
2422
- /**
2423
- * A polyfill for the window.requestAnimationFrame() method.
2424
- * @see https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame
2425
- * @private
2867
+ /**
2868
+ * A polyfill for the window.requestAnimationFrame() method.
2869
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame
2870
+ * @private
2426
2871
  */
2427
2872
 
2428
2873
 
2429
2874
  var requestAnimationFrame = function (fp) {
2430
2875
  return raf(fp);
2431
2876
  };
2432
- /**
2433
- * A polyfill for the window.cancelAnimationFrame() method. It cancels an animation executed through a call to the requestAnimationFrame() method.
2434
- * @param {Number} key − The ID value returned through a call to the requestAnimationFrame() method. <ko>requestAnimationFrame() 메서드가 반환한 아이디 값</ko>
2435
- * @see https://developer.mozilla.org/en-US/docs/Web/API/Window/cancelAnimationFrame
2436
- * @private
2877
+ /**
2878
+ * A polyfill for the window.cancelAnimationFrame() method. It cancels an animation executed through a call to the requestAnimationFrame() method.
2879
+ * @param {Number} key − The ID value returned through a call to the requestAnimationFrame() method. <ko>requestAnimationFrame() 메서드가 반환한 아이디 값</ko>
2880
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/Window/cancelAnimationFrame
2881
+ * @private
2437
2882
  */
2438
2883
 
2439
2884
  var cancelAnimationFrame = function (key) {
@@ -2599,33 +3044,34 @@ version: 4.10.7
2599
3044
  function () {
2600
3045
  function EventManager(_axes) {
2601
3046
  this._axes = _axes;
3047
+ this.holdingCount = 0;
2602
3048
  }
2603
- /**
2604
- * This event is fired when a user holds an element on the screen of the device.
2605
- * @ko 사용자가 기기의 화면에 손을 대고 있을 때 발생하는 이벤트
2606
- * @event Axes#hold
2607
- * @type {object}
2608
- * @property {Object.<string, number>} pos coordinate <ko>좌표 정보</ko>
2609
- * @property {Object} input The instance of inputType where the event occurred<ko>이벤트가 발생한 inputType 인스턴스</ko>
2610
- * @property {Object} inputEvent The event object received from inputType <ko>inputType으로 부터 받은 이벤트 객체</ko>
2611
- * @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>
2612
- *
2613
- * @example
2614
- * ```js
2615
- * const axes = new eg.Axes({
2616
- * "x": {
2617
- * range: [0, 100]
2618
- * },
2619
- * "zoom": {
2620
- * range: [50, 30]
2621
- * }
2622
- * }).on("hold", function(event) {
2623
- * // event.pos
2624
- * // event.input
2625
- * // event.inputEvent
2626
- * // isTrusted
2627
- * });
2628
- * ```
3049
+ /**
3050
+ * This event is fired when a user holds an element on the screen of the device.
3051
+ * @ko 사용자가 기기의 화면에 손을 대고 있을 때 발생하는 이벤트
3052
+ * @event Axes#hold
3053
+ * @type {object}
3054
+ * @property {Object.<string, number>} pos coordinate <ko>좌표 정보</ko>
3055
+ * @property {Object} input The instance of inputType where the event occurred<ko>이벤트가 발생한 inputType 인스턴스</ko>
3056
+ * @property {Object} inputEvent The event object received from inputType <ko>inputType으로 부터 받은 이벤트 객체</ko>
3057
+ * @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>
3058
+ *
3059
+ * @example
3060
+ * ```js
3061
+ * const axes = new eg.Axes({
3062
+ * "x": {
3063
+ * range: [0, 100]
3064
+ * },
3065
+ * "zoom": {
3066
+ * range: [50, 30]
3067
+ * }
3068
+ * }).on("hold", function(event) {
3069
+ * // event.pos
3070
+ * // event.input
3071
+ * // event.inputEvent
3072
+ * // isTrusted
3073
+ * });
3074
+ * ```
2629
3075
  */
2630
3076
 
2631
3077
 
@@ -2641,80 +3087,80 @@ version: 4.10.7
2641
3087
  isTrusted: true
2642
3088
  }));
2643
3089
  };
2644
- /**
2645
- * Specifies the coordinates to move after the 'change' event. It works when the holding value of the change event is true.
2646
- * @ko 'change' 이벤트 이후 이동할 좌표를 지정한다. change이벤트의 holding 값이 true일 경우에 동작한다
2647
- * @param {Object.<string, number>} pos The coordinate to move to <ko>이동할 좌표</ko>
2648
- * @example
2649
- * ```js
2650
- * const axes = new eg.Axes({
2651
- * "x": {
2652
- * range: [0, 100]
2653
- * },
2654
- * "zoom": {
2655
- * range: [50, 30]
2656
- * }
2657
- * }).on("change", function(event) {
2658
- * event.holding && event.set({x: 10});
2659
- * });
2660
- * ```
3090
+ /**
3091
+ * Specifies the coordinates to move after the 'change' event. It works when the holding value of the change event is true.
3092
+ * @ko 'change' 이벤트 이후 이동할 좌표를 지정한다. change이벤트의 holding 값이 true일 경우에 동작한다
3093
+ * @param {Object.<string, number>} pos The coordinate to move to <ko>이동할 좌표</ko>
3094
+ * @example
3095
+ * ```js
3096
+ * const axes = new eg.Axes({
3097
+ * "x": {
3098
+ * range: [0, 100]
3099
+ * },
3100
+ * "zoom": {
3101
+ * range: [50, 30]
3102
+ * }
3103
+ * }).on("change", function(event) {
3104
+ * event.holding && event.set({x: 10});
3105
+ * });
3106
+ * ```
2661
3107
  */
2662
3108
 
2663
- /** Specifies the animation coordinates to move after the 'release' or 'animationStart' events.
2664
- * @ko 'release' 또는 'animationStart' 이벤트 이후 이동할 좌표를 지정한다.
2665
- * @param {Object.<string, number>} pos The coordinate to move to <ko>이동할 좌표</ko>
2666
- * @param {Number} [duration=0] Duration of the animation (unit: ms) <ko>애니메이션 진행 시간(단위: ms)</ko>
2667
- * @example
2668
- * ```js
2669
- * const axes = new eg.Axes({
2670
- * "x": {
2671
- * range: [0, 100]
2672
- * },
2673
- * "zoom": {
2674
- * range: [50, 30]
2675
- * }
2676
- * }).on("animationStart", function(event) {
2677
- * event.setTo({x: 10}, 2000);
2678
- * });
2679
- * ```
3109
+ /** Specifies the animation coordinates to move after the 'release' or 'animationStart' events.
3110
+ * @ko 'release' 또는 'animationStart' 이벤트 이후 이동할 좌표를 지정한다.
3111
+ * @param {Object.<string, number>} pos The coordinate to move to <ko>이동할 좌표</ko>
3112
+ * @param {Number} [duration=0] Duration of the animation (unit: ms) <ko>애니메이션 진행 시간(단위: ms)</ko>
3113
+ * @example
3114
+ * ```js
3115
+ * const axes = new eg.Axes({
3116
+ * "x": {
3117
+ * range: [0, 100]
3118
+ * },
3119
+ * "zoom": {
3120
+ * range: [50, 30]
3121
+ * }
3122
+ * }).on("animationStart", function(event) {
3123
+ * event.setTo({x: 10}, 2000);
3124
+ * });
3125
+ * ```
2680
3126
  */
2681
3127
 
2682
- /**
2683
- * This event is fired when a user release an element on the screen of the device.
2684
- * @ko 사용자가 기기의 화면에서 손을 뗐을 때 발생하는 이벤트
2685
- * @event Axes#release
2686
- * @type {object}
2687
- * @property {Object.<string, number>} depaPos The coordinates when releasing an element<ko>손을 뗐을 때의 좌표 </ko>
2688
- * @property {Object.<string, number>} destPos The coordinates to move to after releasing an element<ko>손을 뗀 뒤에 이동할 좌표</ko>
2689
- * @property {Object.<string, number>} delta The movement variation of coordinate <ko>좌표의 변화량</ko>
2690
- * @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>
2691
- * @property {Object} inputEvent The event object received from inputType <ko>inputType으로 부터 받은 이벤트 객체</ko>
2692
- * @property {Object} input The instance of inputType where the event occurred<ko>이벤트가 발생한 inputType 인스턴스</ko>
2693
- * @property {setTo} setTo Specifies the animation coordinates to move after the event <ko>이벤트 이후 이동할 애니메이션 좌표를 지정한다</ko>
2694
- * @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>
2695
- *
2696
- * @example
2697
- * ```js
2698
- * const axes = new eg.Axes({
2699
- * "x": {
2700
- * range: [0, 100]
2701
- * },
2702
- * "zoom": {
2703
- * range: [50, 30]
2704
- * }
2705
- * }).on("release", function(event) {
2706
- * // event.depaPos
2707
- * // event.destPos
2708
- * // event.delta
2709
- * // event.input
2710
- * // event.inputEvent
2711
- * // event.setTo
2712
- * // event.isTrusted
2713
- *
2714
- * // if you want to change the animation coordinates to move after the 'release' event.
2715
- * event.setTo({x: 10}, 2000);
2716
- * });
2717
- * ```
3128
+ /**
3129
+ * This event is fired when a user release an element on the screen of the device.
3130
+ * @ko 사용자가 기기의 화면에서 손을 뗐을 때 발생하는 이벤트
3131
+ * @event Axes#release
3132
+ * @type {object}
3133
+ * @property {Object.<string, number>} depaPos The coordinates when releasing an element<ko>손을 뗐을 때의 좌표 </ko>
3134
+ * @property {Object.<string, number>} destPos The coordinates to move to after releasing an element<ko>손을 뗀 뒤에 이동할 좌표</ko>
3135
+ * @property {Object.<string, number>} delta The movement variation of coordinate <ko>좌표의 변화량</ko>
3136
+ * @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>
3137
+ * @property {Object} inputEvent The event object received from inputType <ko>inputType으로 부터 받은 이벤트 객체</ko>
3138
+ * @property {Object} input The instance of inputType where the event occurred<ko>이벤트가 발생한 inputType 인스턴스</ko>
3139
+ * @property {setTo} setTo Specifies the animation coordinates to move after the event <ko>이벤트 이후 이동할 애니메이션 좌표를 지정한다</ko>
3140
+ * @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>
3141
+ *
3142
+ * @example
3143
+ * ```js
3144
+ * const axes = new eg.Axes({
3145
+ * "x": {
3146
+ * range: [0, 100]
3147
+ * },
3148
+ * "zoom": {
3149
+ * range: [50, 30]
3150
+ * }
3151
+ * }).on("release", function(event) {
3152
+ * // event.depaPos
3153
+ * // event.destPos
3154
+ * // event.delta
3155
+ * // event.input
3156
+ * // event.inputEvent
3157
+ * // event.setTo
3158
+ * // event.isTrusted
3159
+ *
3160
+ * // if you want to change the animation coordinates to move after the 'release' event.
3161
+ * event.setTo({x: 10}, 2000);
3162
+ * });
3163
+ * ```
2718
3164
  */
2719
3165
 
2720
3166
 
@@ -2731,43 +3177,43 @@ version: 4.10.7
2731
3177
  bounceRatio: this._getBounceRatio(roundPos)
2732
3178
  })));
2733
3179
  };
2734
- /**
2735
- * This event is fired when coordinate changes.
2736
- * @ko 좌표가 변경됐을 때 발생하는 이벤트
2737
- * @event Axes#change
2738
- * @type {object}
2739
- * @property {Object.<string, number>} pos The coordinate <ko>좌표</ko>
2740
- * @property {Object.<string, number>} delta The movement variation of coordinate <ko>좌표의 변화량</ko>
2741
- * @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>
2742
- * @property {Boolean} holding Indicates whether a user holds an element on the screen of the device.<ko>사용자가 기기의 화면을 누르고 있는지 여부</ko>
2743
- * @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>
2744
- * @property {Object} inputEvent The event object received from inputType. If the value is changed by animation, it returns 'null'.<ko>inputType으로 부터 받은 이벤트 객체. 애니메이션에 의해 값이 변경될 경우에는 'null'을 반환한다.</ko>
2745
- * @property {set} set Specifies the coordinates to move after the event. It works when the holding value is true <ko>이벤트 이후 이동할 좌표를 지정한다. holding 값이 true일 경우에 동작한다.</ko>
2746
- * @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>
2747
- *
2748
- * @example
2749
- * ```js
2750
- * const axes = new eg.Axes({
2751
- * "x": {
2752
- * range: [0, 100]
2753
- * },
2754
- * "zoom": {
2755
- * range: [50, 30]
2756
- * }
2757
- * }).on("change", function(event) {
2758
- * // event.pos
2759
- * // event.delta
2760
- * // event.input
2761
- * // event.inputEvent
2762
- * // event.holding
2763
- * // event.set
2764
- * // event.isTrusted
2765
- *
2766
- * // if you want to change the coordinates to move after the 'change' event.
2767
- * // it works when the holding value of the change event is true.
2768
- * event.holding && event.set({x: 10});
2769
- * });
2770
- * ```
3180
+ /**
3181
+ * This event is fired when coordinate changes.
3182
+ * @ko 좌표가 변경됐을 때 발생하는 이벤트
3183
+ * @event Axes#change
3184
+ * @type {object}
3185
+ * @property {Object.<string, number>} pos The coordinate <ko>좌표</ko>
3186
+ * @property {Object.<string, number>} delta The movement variation of coordinate <ko>좌표의 변화량</ko>
3187
+ * @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>
3188
+ * @property {Boolean} holding Indicates whether a user holds an element on the screen of the device.<ko>사용자가 기기의 화면을 누르고 있는지 여부</ko>
3189
+ * @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>
3190
+ * @property {Object} inputEvent The event object received from inputType. If the value is changed by animation, it returns 'null'.<ko>inputType으로 부터 받은 이벤트 객체. 애니메이션에 의해 값이 변경될 경우에는 'null'을 반환한다.</ko>
3191
+ * @property {set} set Specifies the coordinates to move after the event. It works when the holding value is true <ko>이벤트 이후 이동할 좌표를 지정한다. holding 값이 true일 경우에 동작한다.</ko>
3192
+ * @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>
3193
+ *
3194
+ * @example
3195
+ * ```js
3196
+ * const axes = new eg.Axes({
3197
+ * "x": {
3198
+ * range: [0, 100]
3199
+ * },
3200
+ * "zoom": {
3201
+ * range: [50, 30]
3202
+ * }
3203
+ * }).on("change", function(event) {
3204
+ * // event.pos
3205
+ * // event.delta
3206
+ * // event.input
3207
+ * // event.inputEvent
3208
+ * // event.holding
3209
+ * // event.set
3210
+ * // event.isTrusted
3211
+ *
3212
+ * // if you want to change the coordinates to move after the 'change' event.
3213
+ * // it works when the holding value of the change event is true.
3214
+ * event.holding && event.set({x: 10});
3215
+ * });
3216
+ * ```
2771
3217
  */
2772
3218
 
2773
3219
 
@@ -2814,42 +3260,42 @@ version: 4.10.7
2814
3260
 
2815
3261
  return !event.isCanceled();
2816
3262
  };
2817
- /**
2818
- * This event is fired when animation starts.
2819
- * @ko 에니메이션이 시작할 때 발생한다.
2820
- * @event Axes#animationStart
2821
- * @type {object}
2822
- * @property {Object.<string, number>} depaPos The coordinates when animation starts<ko>애니메이션이 시작 되었을 때의 좌표 </ko>
2823
- * @property {Object.<string, number>} destPos The coordinates to move to. If you change this value, you can run the animation<ko>이동할 좌표. 이값을 변경하여 애니메이션을 동작시킬수 있다</ko>
2824
- * @property {Object.<string, number>} delta The movement variation of coordinate <ko>좌표의 변화량</ko>
2825
- * @property {Number} duration Duration of the animation (unit: ms). If you change this value, you can control the animation duration time.<ko>애니메이션 진행 시간(단위: ms). 이값을 변경하여 애니메이션의 이동시간을 조절할 수 있다.</ko>
2826
- * @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>
2827
- * @property {Object} inputEvent The event object received from inputType <ko>inputType으로 부터 받은 이벤트 객체</ko>
2828
- * @property {setTo} setTo Specifies the animation coordinates to move after the event <ko>이벤트 이후 이동할 애니메이션 좌표를 지정한다</ko>
2829
- * @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>
2830
- *
2831
- * @example
2832
- * ```js
2833
- * const axes = new eg.Axes({
2834
- * "x": {
2835
- * range: [0, 100]
2836
- * },
2837
- * "zoom": {
2838
- * range: [50, 30]
2839
- * }
2840
- * }).on("release", function(event) {
2841
- * // event.depaPos
2842
- * // event.destPos
2843
- * // event.delta
2844
- * // event.input
2845
- * // event.inputEvent
2846
- * // event.setTo
2847
- * // event.isTrusted
2848
- *
2849
- * // if you want to change the animation coordinates to move after the 'animationStart' event.
2850
- * event.setTo({x: 10}, 2000);
2851
- * });
2852
- * ```
3263
+ /**
3264
+ * This event is fired when animation starts.
3265
+ * @ko 에니메이션이 시작할 때 발생한다.
3266
+ * @event Axes#animationStart
3267
+ * @type {object}
3268
+ * @property {Object.<string, number>} depaPos The coordinates when animation starts<ko>애니메이션이 시작 되었을 때의 좌표 </ko>
3269
+ * @property {Object.<string, number>} destPos The coordinates to move to. If you change this value, you can run the animation<ko>이동할 좌표. 이값을 변경하여 애니메이션을 동작시킬수 있다</ko>
3270
+ * @property {Object.<string, number>} delta The movement variation of coordinate <ko>좌표의 변화량</ko>
3271
+ * @property {Number} duration Duration of the animation (unit: ms). If you change this value, you can control the animation duration time.<ko>애니메이션 진행 시간(단위: ms). 이값을 변경하여 애니메이션의 이동시간을 조절할 수 있다.</ko>
3272
+ * @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>
3273
+ * @property {Object} inputEvent The event object received from inputType <ko>inputType으로 부터 받은 이벤트 객체</ko>
3274
+ * @property {setTo} setTo Specifies the animation coordinates to move after the event <ko>이벤트 이후 이동할 애니메이션 좌표를 지정한다</ko>
3275
+ * @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>
3276
+ *
3277
+ * @example
3278
+ * ```js
3279
+ * const axes = new eg.Axes({
3280
+ * "x": {
3281
+ * range: [0, 100]
3282
+ * },
3283
+ * "zoom": {
3284
+ * range: [50, 30]
3285
+ * }
3286
+ * }).on("release", function(event) {
3287
+ * // event.depaPos
3288
+ * // event.destPos
3289
+ * // event.delta
3290
+ * // event.input
3291
+ * // event.inputEvent
3292
+ * // event.setTo
3293
+ * // event.isTrusted
3294
+ *
3295
+ * // if you want to change the animation coordinates to move after the 'animationStart' event.
3296
+ * event.setTo({x: 10}, 2000);
3297
+ * });
3298
+ * ```
2853
3299
  */
2854
3300
 
2855
3301
 
@@ -2867,26 +3313,26 @@ version: 4.10.7
2867
3313
 
2868
3314
  return !event.isCanceled();
2869
3315
  };
2870
- /**
2871
- * This event is fired when animation ends.
2872
- * @ko 에니메이션이 끝났을 때 발생한다.
2873
- * @event Axes#animationEnd
2874
- * @type {object}
2875
- * @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>
2876
- *
2877
- * @example
2878
- * ```js
2879
- * const axes = new eg.Axes({
2880
- * "x": {
2881
- * range: [0, 100]
2882
- * },
2883
- * "zoom": {
2884
- * range: [50, 30]
2885
- * }
2886
- * }).on("animationEnd", function(event) {
2887
- * // event.isTrusted
2888
- * });
2889
- * ```
3316
+ /**
3317
+ * This event is fired when animation ends.
3318
+ * @ko 에니메이션이 끝났을 때 발생한다.
3319
+ * @event Axes#animationEnd
3320
+ * @type {object}
3321
+ * @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>
3322
+ *
3323
+ * @example
3324
+ * ```js
3325
+ * const axes = new eg.Axes({
3326
+ * "x": {
3327
+ * range: [0, 100]
3328
+ * },
3329
+ * "zoom": {
3330
+ * range: [50, 30]
3331
+ * }
3332
+ * }).on("animationEnd", function(event) {
3333
+ * // event.isTrusted
3334
+ * });
3335
+ * ```
2890
3336
  */
2891
3337
 
2892
3338
 
@@ -2899,26 +3345,26 @@ version: 4.10.7
2899
3345
  isTrusted: isTrusted
2900
3346
  }));
2901
3347
  };
2902
- /**
2903
- * This event is fired when all actions have been completed.
2904
- * @ko 에니메이션이 끝났을 때 발생한다.
2905
- * @event Axes#finish
2906
- * @type {object}
2907
- * @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>
2908
- *
2909
- * @example
2910
- * ```js
2911
- * const axes = new eg.Axes({
2912
- * "x": {
2913
- * range: [0, 100]
2914
- * },
2915
- * "zoom": {
2916
- * range: [50, 30]
2917
- * }
2918
- * }).on("finish", function(event) {
2919
- * // event.isTrusted
2920
- * });
2921
- * ```
3348
+ /**
3349
+ * This event is fired when all actions have been completed.
3350
+ * @ko 에니메이션이 끝났을 때 발생한다.
3351
+ * @event Axes#finish
3352
+ * @type {object}
3353
+ * @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>
3354
+ *
3355
+ * @example
3356
+ * ```js
3357
+ * const axes = new eg.Axes({
3358
+ * "x": {
3359
+ * range: [0, 100]
3360
+ * },
3361
+ * "zoom": {
3362
+ * range: [50, 30]
3363
+ * }
3364
+ * }).on("finish", function(event) {
3365
+ * // event.isTrusted
3366
+ * });
3367
+ * ```
2922
3368
  */
2923
3369
 
2924
3370
 
@@ -2987,6 +3433,8 @@ version: 4.10.7
2987
3433
  });
2988
3434
  };
2989
3435
 
3436
+ __decorate([Observe], EventManager.prototype, "holdingCount", void 0);
3437
+
2990
3438
  return EventManager;
2991
3439
  }();
2992
3440
 
@@ -3018,9 +3466,9 @@ version: 4.10.7
3018
3466
  return InterruptManager;
3019
3467
  }();
3020
3468
 
3021
- /*
3022
- * Copyright (c) 2015 NAVER Corp.
3023
- * egjs projects are licensed under the MIT license
3469
+ /*
3470
+ * Copyright (c) 2015 NAVER Corp.
3471
+ * egjs projects are licensed under the MIT license
3024
3472
  */
3025
3473
  var getInsidePosition = function (destPos, range, circular, bounce) {
3026
3474
  var toDestPos = destPos;
@@ -3174,9 +3622,9 @@ version: 4.10.7
3174
3622
 
3175
3623
  this._complementOptions();
3176
3624
  };
3177
- /**
3178
- * set up 'css' expression
3179
- * @private
3625
+ /**
3626
+ * set up 'css' expression
3627
+ * @private
3180
3628
  */
3181
3629
 
3182
3630
 
@@ -3366,12 +3814,7 @@ version: 4.10.7
3366
3814
 
3367
3815
  __proto.getTouches = function (event, inputButton) {
3368
3816
  if (inputButton) {
3369
- var buttonCodeMap = {
3370
- 1: MOUSE_LEFT,
3371
- 2: MOUSE_MIDDLE,
3372
- 3: MOUSE_RIGHT
3373
- };
3374
- return this._isValidButton(buttonCodeMap[event.which], inputButton) && this.end.indexOf(event.type) === -1 ? 1 : 0;
3817
+ return this._isValidButton(MOUSE_BUTTON_CODE_MAP[event.which], inputButton) && this.end.indexOf(event.type) === -1 ? 1 : 0;
3375
3818
  }
3376
3819
 
3377
3820
  return 0;
@@ -3656,8 +4099,12 @@ version: 4.10.7
3656
4099
  return;
3657
4100
  };
3658
4101
 
3659
- __proto.getTouches = function (event) {
3660
- return this._isTouchEvent(event) ? event.touches.length : 0;
4102
+ __proto.getTouches = function (event, inputButton) {
4103
+ if (this._isTouchEvent(event)) {
4104
+ return event.touches.length;
4105
+ } else {
4106
+ return this._isValidButton(MOUSE_BUTTON_CODE_MAP[event.which], inputButton) && this.end.indexOf(event.type) === -1 ? 1 : 0;
4107
+ }
3661
4108
  };
3662
4109
 
3663
4110
  __proto._getScale = function (event) {
@@ -3814,6 +4261,8 @@ version: 4.10.7
3814
4261
 
3815
4262
  this._animationManager.stopAnimation(changeOption);
3816
4263
 
4264
+ ++this._eventManager.holdingCount;
4265
+
3817
4266
  if (!this._moveDistance) {
3818
4267
  this._eventManager.hold(this._axisManager.get(), changeOption);
3819
4268
  }
@@ -3933,10 +4382,14 @@ version: 4.10.7
3933
4382
  input: input,
3934
4383
  isTrusted: true
3935
4384
  };
4385
+ --this._eventManager.holdingCount;
3936
4386
 
3937
4387
  this._eventManager.triggerRelease(param);
3938
4388
 
3939
- this._moveDistance = null; // to contol
4389
+ if (this._eventManager.holdingCount === 0) {
4390
+ this._moveDistance = null;
4391
+ } // to contol
4392
+
3940
4393
 
3941
4394
  var userWish = this._animationManager.getUserControl(param);
3942
4395
 
@@ -4288,15 +4741,15 @@ version: 4.10.7
4288
4741
  complete();
4289
4742
  }
4290
4743
  };
4291
- /**
4292
- * Get estimated final value.
4293
- *
4294
- * If destPos is within the 'error range' of the original intended position, the initial intended position is returned.
4295
- * - eg. original intended pos: 100, destPos: 100.0000000004 ==> return 100;
4296
- * 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.
4297
- * - eg. original intended pos: 100.123 destPos: 50.12345 => return 50.123
4298
- * @param originalIntendedPos
4299
- * @param destPos
4744
+ /**
4745
+ * Get estimated final value.
4746
+ *
4747
+ * If destPos is within the 'error range' of the original intended position, the initial intended position is returned.
4748
+ * - eg. original intended pos: 100, destPos: 100.0000000004 ==> return 100;
4749
+ * 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.
4750
+ * - eg. original intended pos: 100.123 destPos: 50.12345 => return 50.123
4751
+ * @param originalIntendedPos
4752
+ * @param destPos
4300
4753
  */
4301
4754
 
4302
4755
 
@@ -4453,116 +4906,116 @@ version: 4.10.7
4453
4906
  return EasingManager;
4454
4907
  }(AnimationManager);
4455
4908
 
4456
- /**
4457
- * @typedef {Object} AxisOption The Axis information. The key of the axis specifies the name to use as the logical virtual coordinate system.
4458
- * @ko 축 정보. 축의 키는 논리적인 가상 좌표계로 사용할 이름을 지정한다.
4459
- * @param {Number[]} [range] The range of coordinate <ko>좌표 범위</ko>
4460
- * @param {Number} [range[0]=0] The coordinate of the minimum <ko>최소 좌표</ko>
4461
- * @param {Number} [range[1]=0] The coordinate of the maximum <ko>최대 좌표</ko>
4462
- * @param {Number} [startPos=range[0]] The coordinates to be moved when creating an instance <ko>인스턴스 생성시 이동할 좌표</ko>
4463
- * @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>
4464
- * @param {Number} [bounce[0]=0] The size of coordinate of the minimum area <ko>최소 좌표 바운스 영역의 크기</ko>
4465
- * @param {Number} [bounce[1]=0] The size of coordinate of the maximum area <ko>최대 좌표 바운스 영역의 크기</ko>
4466
- * @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>
4467
- * @param {Boolean} [circular[0]=false] Indicates whether to circulate to the coordinate of the minimum <ko>최소 좌표 방향의 순환 여부</ko>
4468
- * @param {Boolean} [circular[1]=false] Indicates whether to circulate to the coordinate of the maximum <ko>최대 좌표 방향의 순환 여부</ko>
4909
+ /**
4910
+ * @typedef {Object} AxisOption The Axis information. The key of the axis specifies the name to use as the logical virtual coordinate system.
4911
+ * @ko 축 정보. 축의 키는 논리적인 가상 좌표계로 사용할 이름을 지정한다.
4912
+ * @param {Number[]} [range] The range of coordinate <ko>좌표 범위</ko>
4913
+ * @param {Number} [range[0]=0] The coordinate of the minimum <ko>최소 좌표</ko>
4914
+ * @param {Number} [range[1]=0] The coordinate of the maximum <ko>최대 좌표</ko>
4915
+ * @param {Number} [startPos=range[0]] The coordinates to be moved when creating an instance <ko>인스턴스 생성시 이동할 좌표</ko>
4916
+ * @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>
4917
+ * @param {Number} [bounce[0]=0] The size of coordinate of the minimum area <ko>최소 좌표 바운스 영역의 크기</ko>
4918
+ * @param {Number} [bounce[1]=0] The size of coordinate of the maximum area <ko>최대 좌표 바운스 영역의 크기</ko>
4919
+ * @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>
4920
+ * @param {Boolean} [circular[0]=false] Indicates whether to circulate to the coordinate of the minimum <ko>최소 좌표 방향의 순환 여부</ko>
4921
+ * @param {Boolean} [circular[1]=false] Indicates whether to circulate to the coordinate of the maximum <ko>최대 좌표 방향의 순환 여부</ko>
4469
4922
  **/
4470
4923
 
4471
- /**
4472
- * @typedef {Object} AxesOption The option object of the eg.Axes module
4473
- * @ko eg.Axes 모듈의 옵션 객체
4474
- * @param {Function} [easing=easing.easeOutCubic] The easing function to apply to an animation <ko>애니메이션에 적용할 easing 함수</ko>
4475
- * @param {Number} [maximumDuration=Infinity] Maximum duration of the animation <ko>가속도에 의해 애니메이션이 동작할 때의 최대 좌표 이동 시간</ko>
4476
- * @param {Number} [minimumDuration=0] Minimum duration of the animation <ko>가속도에 의해 애니메이션이 동작할 때의 최소 좌표 이동 시간</ko>
4477
- * @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>
4478
- * @param {Boolean} [interruptable=true] Indicates whether an animation is interruptible.
4479
- * - true: It can be paused or stopped by user action or the API.
4480
- * - false: It cannot be paused or stopped by user action or the API while it is running.
4481
- * <ko>진행 중인 애니메이션 중지 가능 여부.
4482
- * - true: 사용자의 동작이나 API로 애니메이션을 중지할 수 있다.
4483
- * - false: 애니메이션이 진행 중일 때는 사용자의 동작이나 API가 적용되지 않는다</ko>
4484
- * @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)
4485
- * [Details](https://github.com/naver/egjs-axes/wiki/round-option)<ko>반올림 단위. 예를 들어 0.1 은 소숫점 0.1 까지 반올림(6.1234 => 6.1), 5 는 5 단위로 반올림(93 => 95).
4486
- * [상세내용](https://github.com/naver/egjs-axes/wiki/round-option)</ko>
4487
- * @param {Boolean} [nested=false] Whether the event propagates to other instances when the coordinates reach the end of the movable area <ko>좌표가 이동 가능한 영역의 끝까지 도달했을 때 다른 인스턴스들로의 이벤트 전파 여부</ko>
4924
+ /**
4925
+ * @typedef {Object} AxesOption The option object of the eg.Axes module
4926
+ * @ko eg.Axes 모듈의 옵션 객체
4927
+ * @param {Function} [easing=easing.easeOutCubic] The easing function to apply to an animation <ko>애니메이션에 적용할 easing 함수</ko>
4928
+ * @param {Number} [maximumDuration=Infinity] Maximum duration of the animation <ko>가속도에 의해 애니메이션이 동작할 때의 최대 좌표 이동 시간</ko>
4929
+ * @param {Number} [minimumDuration=0] Minimum duration of the animation <ko>가속도에 의해 애니메이션이 동작할 때의 최소 좌표 이동 시간</ko>
4930
+ * @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>
4931
+ * @param {Boolean} [interruptable=true] Indicates whether an animation is interruptible.
4932
+ * - true: It can be paused or stopped by user action or the API.
4933
+ * - false: It cannot be paused or stopped by user action or the API while it is running.
4934
+ * <ko>진행 중인 애니메이션 중지 가능 여부.
4935
+ * - true: 사용자의 동작이나 API로 애니메이션을 중지할 수 있다.
4936
+ * - false: 애니메이션이 진행 중일 때는 사용자의 동작이나 API가 적용되지 않는다</ko>
4937
+ * @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)
4938
+ * [Details](https://github.com/naver/egjs-axes/wiki/round-option)<ko>반올림 단위. 예를 들어 0.1 은 소숫점 0.1 까지 반올림(6.1234 => 6.1), 5 는 5 단위로 반올림(93 => 95).
4939
+ * [상세내용](https://github.com/naver/egjs-axes/wiki/round-option)</ko>
4940
+ * @param {Boolean} [nested=false] Whether the event propagates to other instances when the coordinates reach the end of the movable area <ko>좌표가 이동 가능한 영역의 끝까지 도달했을 때 다른 인스턴스들로의 이벤트 전파 여부</ko>
4488
4941
  **/
4489
4942
 
4490
- /**
4491
- * 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.
4492
- * @ko 터치 입력 장치나 마우스와 같은 다양한 입력 장치를 통해 전달 받은 사용자의 동작을 논리적인 가상 좌표로 변경하는 모듈이다. 사용자 동작에 반응하는 UI를 손쉽게 만들수 있다.
4493
- * @extends eg.Component
4494
- *
4495
- * @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>
4496
- * @param {AxesOption} [options={}] The option object of the eg.Axes module<ko>eg.Axes 모듈의 옵션 객체</ko>
4497
- * @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>
4498
- *
4499
- * @support {"ie": "10+", "ch" : "latest", "ff" : "latest", "sf" : "latest", "edge" : "latest", "ios" : "7+", "an" : "2.3+ (except 3.x)"}
4500
- * @example
4501
- * ```js
4502
- * // 1. Initialize eg.Axes
4503
- * const axes = new eg.Axes({
4504
- * something1: {
4505
- * range: [0, 150],
4506
- * bounce: 50
4507
- * },
4508
- * something2: {
4509
- * range: [0, 200],
4510
- * bounce: 100
4511
- * },
4512
- * somethingN: {
4513
- * range: [1, 10],
4514
- * }
4515
- * }, {
4516
- * deceleration : 0.0024
4517
- * });
4518
- *
4519
- * // 2. attach event handler
4520
- * axes.on({
4521
- * "hold" : function(evt) {
4522
- * },
4523
- * "release" : function(evt) {
4524
- * },
4525
- * "animationStart" : function(evt) {
4526
- * },
4527
- * "animationEnd" : function(evt) {
4528
- * },
4529
- * "change" : function(evt) {
4530
- * }
4531
- * });
4532
- *
4533
- * // 3. Initialize inputTypes
4534
- * const panInputArea = new eg.Axes.PanInput("#area", {
4535
- * scale: [0.5, 1]
4536
- * });
4537
- * const panInputHmove = new eg.Axes.PanInput("#hmove");
4538
- * const panInputVmove = new eg.Axes.PanInput("#vmove");
4539
- * const pinchInputArea = new eg.Axes.PinchInput("#area", {
4540
- * scale: 1.5
4541
- * });
4542
- *
4543
- * // 4. Connect eg.Axes and InputTypes
4544
- * // [PanInput] When the mouse or touchscreen is down and moved.
4545
- * // Connect the 'something2' axis to the mouse or touchscreen x position and
4546
- * // connect the 'somethingN' axis to the mouse or touchscreen y position.
4547
- * axes.connect(["something2", "somethingN"], panInputArea); // or axes.connect("something2 somethingN", panInputArea);
4548
- *
4549
- * // Connect only one 'something1' axis to the mouse or touchscreen x position.
4550
- * axes.connect(["something1"], panInputHmove); // or axes.connect("something1", panInputHmove);
4551
- *
4552
- * // Connect only one 'something2' axis to the mouse or touchscreen y position.
4553
- * axes.connect(["", "something2"], panInputVmove); // or axes.connect(" something2", panInputVmove);
4554
- *
4555
- * // [PinchInput] Connect 'something2' axis when two pointers are moving toward (zoom-in) or away from each other (zoom-out).
4556
- * axes.connect("something2", pinchInputArea);
4557
- * ```
4943
+ /**
4944
+ * 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.
4945
+ * @ko 터치 입력 장치나 마우스와 같은 다양한 입력 장치를 통해 전달 받은 사용자의 동작을 논리적인 가상 좌표로 변경하는 모듈이다. 사용자 동작에 반응하는 UI를 손쉽게 만들수 있다.
4946
+ * @extends eg.Component
4947
+ *
4948
+ * @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>
4949
+ * @param {AxesOption} [options={}] The option object of the eg.Axes module<ko>eg.Axes 모듈의 옵션 객체</ko>
4950
+ * @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>
4951
+ *
4952
+ * @support {"ie": "10+", "ch" : "latest", "ff" : "latest", "sf" : "latest", "edge" : "latest", "ios" : "7+", "an" : "2.3+ (except 3.x)"}
4953
+ * @example
4954
+ * ```js
4955
+ * // 1. Initialize eg.Axes
4956
+ * const axes = new eg.Axes({
4957
+ * something1: {
4958
+ * range: [0, 150],
4959
+ * bounce: 50
4960
+ * },
4961
+ * something2: {
4962
+ * range: [0, 200],
4963
+ * bounce: 100
4964
+ * },
4965
+ * somethingN: {
4966
+ * range: [1, 10],
4967
+ * }
4968
+ * }, {
4969
+ * deceleration : 0.0024
4970
+ * });
4971
+ *
4972
+ * // 2. attach event handler
4973
+ * axes.on({
4974
+ * "hold" : function(evt) {
4975
+ * },
4976
+ * "release" : function(evt) {
4977
+ * },
4978
+ * "animationStart" : function(evt) {
4979
+ * },
4980
+ * "animationEnd" : function(evt) {
4981
+ * },
4982
+ * "change" : function(evt) {
4983
+ * }
4984
+ * });
4985
+ *
4986
+ * // 3. Initialize inputTypes
4987
+ * const panInputArea = new eg.Axes.PanInput("#area", {
4988
+ * scale: [0.5, 1]
4989
+ * });
4990
+ * const panInputHmove = new eg.Axes.PanInput("#hmove");
4991
+ * const panInputVmove = new eg.Axes.PanInput("#vmove");
4992
+ * const pinchInputArea = new eg.Axes.PinchInput("#area", {
4993
+ * scale: 1.5
4994
+ * });
4995
+ *
4996
+ * // 4. Connect eg.Axes and InputTypes
4997
+ * // [PanInput] When the mouse or touchscreen is down and moved.
4998
+ * // Connect the 'something2' axis to the mouse or touchscreen x position and
4999
+ * // connect the 'somethingN' axis to the mouse or touchscreen y position.
5000
+ * axes.connect(["something2", "somethingN"], panInputArea); // or axes.connect("something2 somethingN", panInputArea);
5001
+ *
5002
+ * // Connect only one 'something1' axis to the mouse or touchscreen x position.
5003
+ * axes.connect(["something1"], panInputHmove); // or axes.connect("something1", panInputHmove);
5004
+ *
5005
+ * // Connect only one 'something2' axis to the mouse or touchscreen y position.
5006
+ * axes.connect(["", "something2"], panInputVmove); // or axes.connect(" something2", panInputVmove);
5007
+ *
5008
+ * // [PinchInput] Connect 'something2' axis when two pointers are moving toward (zoom-in) or away from each other (zoom-out).
5009
+ * axes.connect("something2", pinchInputArea);
5010
+ * ```
4558
5011
  */
4559
5012
 
4560
5013
  var Axes =
4561
5014
  /*#__PURE__*/
4562
5015
  function (_super) {
4563
5016
  __extends$1(Axes, _super);
4564
- /**
4565
- *
5017
+ /**
5018
+ *
4566
5019
  */
4567
5020
 
4568
5021
 
@@ -4609,34 +5062,58 @@ version: 4.10.7
4609
5062
 
4610
5063
  return _this;
4611
5064
  }
4612
- /**
4613
- * Connect the axis of eg.Axes to the inputType.
4614
- * @ko eg.Axes의 축과 inputType을 연결한다
4615
- * @param {(String[]|String)} axes The name of the axis to associate with inputType <ko>inputType과 연결할 축의 이름</ko>
4616
- * @param {Object} inputType The inputType instance to associate with the axis of eg.Axes <ko>eg.Axes의 축과 연결할 inputType 인스턴스</ko>
4617
- * @return {eg.Axes} An instance of a module itself <ko>모듈 자신의 인스턴스</ko>
4618
- * @example
4619
- * ```js
4620
- * const axes = new eg.Axes({
4621
- * "x": {
4622
- * range: [0, 100]
4623
- * },
4624
- * "xOther": {
4625
- * range: [-100, 100]
4626
- * }
4627
- * });
4628
- *
4629
- * axes.connect("x", new eg.Axes.PanInput("#area1"))
4630
- * .connect("x xOther", new eg.Axes.PanInput("#area2"))
4631
- * .connect(" xOther", new eg.Axes.PanInput("#area3"))
4632
- * .connect(["x"], new eg.Axes.PanInput("#area4"))
4633
- * .connect(["xOther", "x"], new eg.Axes.PanInput("#area5"))
4634
- * .connect(["", "xOther"], new eg.Axes.PanInput("#area6"));
4635
- * ```
4636
- */
4637
-
4638
5065
 
4639
5066
  var __proto = Axes.prototype;
5067
+ Object.defineProperty(__proto, "holding", {
5068
+ /**
5069
+ * @name Axes#holding
5070
+ * @desc Returns true if at least one input is in progress.
5071
+ * @ko 입력이 하나 이상 진행 중인지 여부를 반환한다.
5072
+ *
5073
+ * @readonly
5074
+ * @type {boolean}
5075
+ * @example
5076
+ * ```js
5077
+ * const axes = new eg.Axes({
5078
+ * x: {
5079
+ * range: [0, 100],
5080
+ * },
5081
+ * });
5082
+ *
5083
+ * axes.holding
5084
+ * ```
5085
+ */
5086
+ get: function () {
5087
+ return this.eventManager.holdingCount > 0;
5088
+ },
5089
+ enumerable: false,
5090
+ configurable: true
5091
+ });
5092
+ /**
5093
+ * Connect the axis of eg.Axes to the inputType.
5094
+ * @ko eg.Axes의 축과 inputType을 연결한다
5095
+ * @param {(String[]|String)} axes The name of the axis to associate with inputType <ko>inputType과 연결할 축의 이름</ko>
5096
+ * @param {Object} inputType The inputType instance to associate with the axis of eg.Axes <ko>eg.Axes의 축과 연결할 inputType 인스턴스</ko>
5097
+ * @return {eg.Axes} An instance of a module itself <ko>모듈 자신의 인스턴스</ko>
5098
+ * @example
5099
+ * ```js
5100
+ * const axes = new eg.Axes({
5101
+ * "x": {
5102
+ * range: [0, 100]
5103
+ * },
5104
+ * "xOther": {
5105
+ * range: [-100, 100]
5106
+ * }
5107
+ * });
5108
+ *
5109
+ * axes.connect("x", new eg.Axes.PanInput("#area1"))
5110
+ * .connect("x xOther", new eg.Axes.PanInput("#area2"))
5111
+ * .connect(" xOther", new eg.Axes.PanInput("#area3"))
5112
+ * .connect(["x"], new eg.Axes.PanInput("#area4"))
5113
+ * .connect(["xOther", "x"], new eg.Axes.PanInput("#area5"))
5114
+ * .connect(["", "xOther"], new eg.Axes.PanInput("#area6"));
5115
+ * ```
5116
+ */
4640
5117
 
4641
5118
  __proto.connect = function (axes, inputType) {
4642
5119
  var mapped;
@@ -4659,33 +5136,33 @@ version: 4.10.7
4659
5136
 
4660
5137
  return this;
4661
5138
  };
4662
- /**
4663
- * Disconnect the axis of eg.Axes from the inputType.
4664
- * @ko eg.Axes의 축과 inputType의 연결을 끊는다.
4665
- * @param {Object} [inputType] An inputType instance associated with the axis of eg.Axes <ko>eg.Axes의 축과 연결한 inputType 인스턴스</ko>
4666
- * @return {eg.Axes} An instance of a module itself <ko>모듈 자신의 인스턴스</ko>
4667
- * @example
4668
- * ```js
4669
- * const axes = new eg.Axes({
4670
- * "x": {
4671
- * range: [0, 100]
4672
- * },
4673
- * "xOther": {
4674
- * range: [-100, 100]
4675
- * }
4676
- * });
4677
- *
4678
- * const input1 = new eg.Axes.PanInput("#area1");
4679
- * const input2 = new eg.Axes.PanInput("#area2");
4680
- * const input3 = new eg.Axes.PanInput("#area3");
4681
- *
4682
- * axes.connect("x", input1);
4683
- * .connect("x xOther", input2)
4684
- * .connect(["xOther", "x"], input3);
4685
- *
4686
- * axes.disconnect(input1); // disconnects input1
4687
- * axes.disconnect(); // disconnects all of them
4688
- * ```
5139
+ /**
5140
+ * Disconnect the axis of eg.Axes from the inputType.
5141
+ * @ko eg.Axes의 축과 inputType의 연결을 끊는다.
5142
+ * @param {Object} [inputType] An inputType instance associated with the axis of eg.Axes <ko>eg.Axes의 축과 연결한 inputType 인스턴스</ko>
5143
+ * @return {eg.Axes} An instance of a module itself <ko>모듈 자신의 인스턴스</ko>
5144
+ * @example
5145
+ * ```js
5146
+ * const axes = new eg.Axes({
5147
+ * "x": {
5148
+ * range: [0, 100]
5149
+ * },
5150
+ * "xOther": {
5151
+ * range: [-100, 100]
5152
+ * }
5153
+ * });
5154
+ *
5155
+ * const input1 = new eg.Axes.PanInput("#area1");
5156
+ * const input2 = new eg.Axes.PanInput("#area2");
5157
+ * const input3 = new eg.Axes.PanInput("#area3");
5158
+ *
5159
+ * axes.connect("x", input1);
5160
+ * .connect("x xOther", input2)
5161
+ * .connect(["xOther", "x"], input3);
5162
+ *
5163
+ * axes.disconnect(input1); // disconnects input1
5164
+ * axes.disconnect(); // disconnects all of them
5165
+ * ```
4689
5166
  */
4690
5167
 
4691
5168
 
@@ -4708,62 +5185,62 @@ version: 4.10.7
4708
5185
 
4709
5186
  return this;
4710
5187
  };
4711
- /**
4712
- * Returns the current position of the coordinates.
4713
- * @ko 좌표의 현재 위치를 반환한다
4714
- * @param {Object} [axes] The names of the axis <ko>축 이름들</ko>
4715
- * @return {Object.<string, number>} Axis coordinate information <ko>축 좌표 정보</ko>
4716
- * @example
4717
- * ```js
4718
- * const axes = new eg.Axes({
4719
- * "x": {
4720
- * range: [0, 100]
4721
- * },
4722
- * "xOther": {
4723
- * range: [-100, 100]
4724
- * },
4725
- * "zoom": {
4726
- * range: [50, 30]
4727
- * }
4728
- * });
4729
- *
4730
- * axes.get(); // {"x": 0, "xOther": -100, "zoom": 50}
4731
- * axes.get(["x", "zoom"]); // {"x": 0, "zoom": 50}
4732
- * ```
5188
+ /**
5189
+ * Returns the current position of the coordinates.
5190
+ * @ko 좌표의 현재 위치를 반환한다
5191
+ * @param {Object} [axes] The names of the axis <ko>축 이름들</ko>
5192
+ * @return {Object.<string, number>} Axis coordinate information <ko>축 좌표 정보</ko>
5193
+ * @example
5194
+ * ```js
5195
+ * const axes = new eg.Axes({
5196
+ * "x": {
5197
+ * range: [0, 100]
5198
+ * },
5199
+ * "xOther": {
5200
+ * range: [-100, 100]
5201
+ * },
5202
+ * "zoom": {
5203
+ * range: [50, 30]
5204
+ * }
5205
+ * });
5206
+ *
5207
+ * axes.get(); // {"x": 0, "xOther": -100, "zoom": 50}
5208
+ * axes.get(["x", "zoom"]); // {"x": 0, "zoom": 50}
5209
+ * ```
4733
5210
  */
4734
5211
 
4735
5212
 
4736
5213
  __proto.get = function (axes) {
4737
5214
  return this.axisManager.get(axes);
4738
5215
  };
4739
- /**
4740
- * Moves an axis to specific coordinates.
4741
- * @ko 좌표를 이동한다.
4742
- * @param {Object.<string, number>} pos The coordinate to move to <ko>이동할 좌표</ko>
4743
- * @param {Number} [duration=0] Duration of the animation (unit: ms) <ko>애니메이션 진행 시간(단위: ms)</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
- * "zoom": {
4755
- * range: [50, 30]
4756
- * }
4757
- * });
4758
- *
4759
- * axes.setTo({"x": 30, "zoom": 60});
4760
- * axes.get(); // {"x": 30, "xOther": -100, "zoom": 60}
4761
- *
4762
- * axes.setTo({"x": 100, "xOther": 60}, 1000); // animatation
4763
- *
4764
- * // after 1000 ms
4765
- * axes.get(); // {"x": 100, "xOther": 60, "zoom": 60}
4766
- * ```
5216
+ /**
5217
+ * Moves an axis to specific coordinates.
5218
+ * @ko 좌표를 이동한다.
5219
+ * @param {Object.<string, number>} pos The coordinate to move to <ko>이동할 좌표</ko>
5220
+ * @param {Number} [duration=0] Duration of the animation (unit: ms) <ko>애니메이션 진행 시간(단위: ms)</ko>
5221
+ * @return {eg.Axes} An instance of a module itself <ko>모듈 자신의 인스턴스</ko>
5222
+ * @example
5223
+ * ```js
5224
+ * const axes = new eg.Axes({
5225
+ * "x": {
5226
+ * range: [0, 100]
5227
+ * },
5228
+ * "xOther": {
5229
+ * range: [-100, 100]
5230
+ * },
5231
+ * "zoom": {
5232
+ * range: [50, 30]
5233
+ * }
5234
+ * });
5235
+ *
5236
+ * axes.setTo({"x": 30, "zoom": 60});
5237
+ * axes.get(); // {"x": 30, "xOther": -100, "zoom": 60}
5238
+ *
5239
+ * axes.setTo({"x": 100, "xOther": 60}, 1000); // animatation
5240
+ *
5241
+ * // after 1000 ms
5242
+ * axes.get(); // {"x": 100, "xOther": 60, "zoom": 60}
5243
+ * ```
4767
5244
  */
4768
5245
 
4769
5246
 
@@ -4775,34 +5252,34 @@ version: 4.10.7
4775
5252
  this.animationManager.setTo(pos, duration);
4776
5253
  return this;
4777
5254
  };
4778
- /**
4779
- * Moves an axis from the current coordinates to specific coordinates.
4780
- * @ko 현재 좌표를 기준으로 좌표를 이동한다.
4781
- * @param {Object.<string, number>} pos The coordinate to move to <ko>이동할 좌표</ko>
4782
- * @param {Number} [duration=0] Duration of the animation (unit: ms) <ko>애니메이션 진행 시간(단위: ms)</ko>
4783
- * @return {eg.Axes} An instance of a module itself <ko>모듈 자신의 인스턴스</ko>
4784
- * @example
4785
- * ```js
4786
- * const axes = new eg.Axes({
4787
- * "x": {
4788
- * range: [0, 100]
4789
- * },
4790
- * "xOther": {
4791
- * range: [-100, 100]
4792
- * },
4793
- * "zoom": {
4794
- * range: [50, 30]
4795
- * }
4796
- * });
4797
- *
4798
- * axes.setBy({"x": 30, "zoom": 10});
4799
- * axes.get(); // {"x": 30, "xOther": -100, "zoom": 60}
4800
- *
4801
- * axes.setBy({"x": 70, "xOther": 60}, 1000); // animatation
4802
- *
4803
- * // after 1000 ms
4804
- * axes.get(); // {"x": 100, "xOther": -40, "zoom": 60}
4805
- * ```
5255
+ /**
5256
+ * Moves an axis from the current coordinates to specific coordinates.
5257
+ * @ko 현재 좌표를 기준으로 좌표를 이동한다.
5258
+ * @param {Object.<string, number>} pos The coordinate to move to <ko>이동할 좌표</ko>
5259
+ * @param {Number} [duration=0] Duration of the animation (unit: ms) <ko>애니메이션 진행 시간(단위: ms)</ko>
5260
+ * @return {eg.Axes} An instance of a module itself <ko>모듈 자신의 인스턴스</ko>
5261
+ * @example
5262
+ * ```js
5263
+ * const axes = new eg.Axes({
5264
+ * "x": {
5265
+ * range: [0, 100]
5266
+ * },
5267
+ * "xOther": {
5268
+ * range: [-100, 100]
5269
+ * },
5270
+ * "zoom": {
5271
+ * range: [50, 30]
5272
+ * }
5273
+ * });
5274
+ *
5275
+ * axes.setBy({"x": 30, "zoom": 10});
5276
+ * axes.get(); // {"x": 30, "xOther": -100, "zoom": 60}
5277
+ *
5278
+ * axes.setBy({"x": 70, "xOther": 60}, 1000); // animatation
5279
+ *
5280
+ * // after 1000 ms
5281
+ * axes.get(); // {"x": 100, "xOther": -40, "zoom": 60}
5282
+ * ```
4806
5283
  */
4807
5284
 
4808
5285
 
@@ -4814,31 +5291,31 @@ version: 4.10.7
4814
5291
  this.animationManager.setBy(pos, duration);
4815
5292
  return this;
4816
5293
  };
4817
- /**
4818
- * Change the options of Axes instance.
4819
- * @ko 인스턴스의 옵션을 변경한다.
4820
- * @param {AxesOption} options Axes options to change <ko>변경할 옵션 목록</ko>
4821
- * @return {eg.Axes} An instance of a module itself <ko>모듈 자신의 인스턴스</ko>
4822
- * @example
4823
- * ```js
4824
- * const axes = new eg.Axes({
4825
- * "x": {
4826
- * range: [0, 100]
4827
- * },
4828
- * }, {
4829
- * round: 10,
4830
- * });
4831
- *
4832
- * axes.setTo({"x": 48});
4833
- * axes.get(); // {"x": 50}
4834
- *
4835
- * axes.setOptions({
4836
- * round: 1,
4837
- * });
4838
- *
4839
- * axes.setTo({"x": 48});
4840
- * axes.get(); // {"x": 48}
4841
- * ```
5294
+ /**
5295
+ * Change the options of Axes instance.
5296
+ * @ko 인스턴스의 옵션을 변경한다.
5297
+ * @param {AxesOption} options Axes options to change <ko>변경할 옵션 목록</ko>
5298
+ * @return {eg.Axes} An instance of a module itself <ko>모듈 자신의 인스턴스</ko>
5299
+ * @example
5300
+ * ```js
5301
+ * const axes = new eg.Axes({
5302
+ * "x": {
5303
+ * range: [0, 100]
5304
+ * },
5305
+ * }, {
5306
+ * round: 10,
5307
+ * });
5308
+ *
5309
+ * axes.setTo({"x": 48});
5310
+ * axes.get(); // {"x": 50}
5311
+ *
5312
+ * axes.setOptions({
5313
+ * round: 1,
5314
+ * });
5315
+ *
5316
+ * axes.setTo({"x": 48});
5317
+ * axes.get(); // {"x": 48}
5318
+ * ```
4842
5319
  */
4843
5320
 
4844
5321
 
@@ -4846,31 +5323,31 @@ version: 4.10.7
4846
5323
  this.options = __assign$1(__assign$1({}, this.options), options);
4847
5324
  return this;
4848
5325
  };
4849
- /**
4850
- * Change the information of an existing axis.
4851
- * @ko 존재하는 축의 정보를 변경한다.
4852
- * @param {Object.<string, AxisOption>} axis Axis options to change <ko>변경할 축의 정보</ko>
4853
- * @return {eg.Axes} An instance of a module itself <ko>모듈 자신의 인스턴스</ko>
4854
- * @example
4855
- * ```js
4856
- * const axes = new eg.Axes({
4857
- * "x": {
4858
- * range: [0, 100]
4859
- * },
4860
- * });
4861
- *
4862
- * axes.setTo({"x": 150});
4863
- * axes.get(); // {"x": 100}
4864
- *
4865
- * axes.setAxis({
4866
- * "x": {
4867
- * range: [0, 200]
4868
- * },
4869
- * });
4870
- *
4871
- * axes.setTo({"x": 150});
4872
- * axes.get(); // {"x": 150}
4873
- * ```
5326
+ /**
5327
+ * Change the information of an existing axis.
5328
+ * @ko 존재하는 축의 정보를 변경한다.
5329
+ * @param {Object.<string, AxisOption>} axis Axis options to change <ko>변경할 축의 정보</ko>
5330
+ * @return {eg.Axes} An instance of a module itself <ko>모듈 자신의 인스턴스</ko>
5331
+ * @example
5332
+ * ```js
5333
+ * const axes = new eg.Axes({
5334
+ * "x": {
5335
+ * range: [0, 100]
5336
+ * },
5337
+ * });
5338
+ *
5339
+ * axes.setTo({"x": 150});
5340
+ * axes.get(); // {"x": 100}
5341
+ *
5342
+ * axes.setAxis({
5343
+ * "x": {
5344
+ * range: [0, 200]
5345
+ * },
5346
+ * });
5347
+ *
5348
+ * axes.setTo({"x": 150});
5349
+ * axes.get(); // {"x": 150}
5350
+ * ```
4874
5351
  */
4875
5352
 
4876
5353
 
@@ -4878,23 +5355,23 @@ version: 4.10.7
4878
5355
  this.axisManager.setAxis(axis);
4879
5356
  return this;
4880
5357
  };
4881
- /**
4882
- * Stop an animation in progress.
4883
- * @ko 재생 중인 애니메이션을 정지한다.
4884
- * @return {eg.Axes} An instance of a module itself <ko>모듈 자신의 인스턴스</ko>
4885
- * @example
4886
- * ```js
4887
- * const axes = new eg.Axes({
4888
- * "x": {
4889
- * range: [0, 100]
4890
- * },
4891
- * });
4892
- *
4893
- * axes.setTo({"x": 10}, 1000); // start animatation
4894
- *
4895
- * // after 500 ms
4896
- * axes.stopAnimation(); // stop animation during movement.
4897
- * ```
5358
+ /**
5359
+ * Stop an animation in progress.
5360
+ * @ko 재생 중인 애니메이션을 정지한다.
5361
+ * @return {eg.Axes} An instance of a module itself <ko>모듈 자신의 인스턴스</ko>
5362
+ * @example
5363
+ * ```js
5364
+ * const axes = new eg.Axes({
5365
+ * "x": {
5366
+ * range: [0, 100]
5367
+ * },
5368
+ * });
5369
+ *
5370
+ * axes.setTo({"x": 10}, 1000); // start animatation
5371
+ *
5372
+ * // after 500 ms
5373
+ * axes.stopAnimation(); // stop animation during movement.
5374
+ * ```
4898
5375
  */
4899
5376
 
4900
5377
 
@@ -4903,33 +5380,33 @@ version: 4.10.7
4903
5380
  this.animationManager.finish(false);
4904
5381
  return this;
4905
5382
  };
4906
- /**
4907
- * Change the destination of an animation in progress.
4908
- * @ko 재생 중인 애니메이션의 목적지와 진행 시간을 변경한다.
4909
- * @param {UpdateAnimationOption} pos The coordinate to move to <ko>이동할 좌표</ko>
4910
- * @return {eg.Axes} An instance of a module itself <ko>모듈 자신의 인스턴스</ko>
4911
- * @example
4912
- * ```js
4913
- * const axes = new eg.Axes({
4914
- * "x": {
4915
- * range: [0, 200]
4916
- * },
4917
- * "y": {
4918
- * range: [0, 200]
4919
- * }
4920
- * });
4921
- *
4922
- * axes.setTo({"x": 50, "y": 50}, 1000); // trigger animation by setTo
4923
- *
4924
- * // after 500 ms
4925
- * axes.updateAnimation({destPos: {"x": 100, "y": 100}}); // animation will end after 500 ms, at {"x": 100, "y": 100}
4926
- *
4927
- * // after 500 ms
4928
- * axes.setTo({"x": 50, "y": 50}, 1000); // trigger animation by setTo
4929
- *
4930
- * // after 700 ms
4931
- * 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.
4932
- * ```
5383
+ /**
5384
+ * Change the destination of an animation in progress.
5385
+ * @ko 재생 중인 애니메이션의 목적지와 진행 시간을 변경한다.
5386
+ * @param {UpdateAnimationOption} pos The coordinate to move to <ko>이동할 좌표</ko>
5387
+ * @return {eg.Axes} An instance of a module itself <ko>모듈 자신의 인스턴스</ko>
5388
+ * @example
5389
+ * ```js
5390
+ * const axes = new eg.Axes({
5391
+ * "x": {
5392
+ * range: [0, 200]
5393
+ * },
5394
+ * "y": {
5395
+ * range: [0, 200]
5396
+ * }
5397
+ * });
5398
+ *
5399
+ * axes.setTo({"x": 50, "y": 50}, 1000); // trigger animation by setTo
5400
+ *
5401
+ * // after 500 ms
5402
+ * axes.updateAnimation({destPos: {"x": 100, "y": 100}}); // animation will end after 500 ms, at {"x": 100, "y": 100}
5403
+ *
5404
+ * // after 500 ms
5405
+ * axes.setTo({"x": 50, "y": 50}, 1000); // trigger animation by setTo
5406
+ *
5407
+ * // after 700 ms
5408
+ * 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.
5409
+ * ```
4933
5410
  */
4934
5411
 
4935
5412
 
@@ -4937,38 +5414,38 @@ version: 4.10.7
4937
5414
  this.animationManager.updateAnimation(options);
4938
5415
  return this;
4939
5416
  };
4940
- /**
4941
- * Returns whether there is a coordinate in the bounce area of ​​the target axis.
4942
- * @ko 대상 축 중 bounce영역에 좌표가 존재하는지를 반환한다
4943
- * @param {Object} [axes] The names of the axis <ko>축 이름들</ko>
4944
- * @return {Boolen} Whether the bounce area exists. <ko>bounce 영역 존재 여부</ko>
4945
- * @example
4946
- * ```js
4947
- * const axes = new eg.Axes({
4948
- * "x": {
4949
- * range: [0, 100]
4950
- * },
4951
- * "xOther": {
4952
- * range: [-100, 100]
4953
- * },
4954
- * "zoom": {
4955
- * range: [50, 30]
4956
- * }
4957
- * });
4958
- *
4959
- * axes.isBounceArea(["x"]);
4960
- * axes.isBounceArea(["x", "zoom"]);
4961
- * axes.isBounceArea();
4962
- * ```
5417
+ /**
5418
+ * Returns whether there is a coordinate in the bounce area of ​​the target axis.
5419
+ * @ko 대상 축 중 bounce영역에 좌표가 존재하는지를 반환한다
5420
+ * @param {Object} [axes] The names of the axis <ko>축 이름들</ko>
5421
+ * @return {Boolen} Whether the bounce area exists. <ko>bounce 영역 존재 여부</ko>
5422
+ * @example
5423
+ * ```js
5424
+ * const axes = new eg.Axes({
5425
+ * "x": {
5426
+ * range: [0, 100]
5427
+ * },
5428
+ * "xOther": {
5429
+ * range: [-100, 100]
5430
+ * },
5431
+ * "zoom": {
5432
+ * range: [50, 30]
5433
+ * }
5434
+ * });
5435
+ *
5436
+ * axes.isBounceArea(["x"]);
5437
+ * axes.isBounceArea(["x", "zoom"]);
5438
+ * axes.isBounceArea();
5439
+ * ```
4963
5440
  */
4964
5441
 
4965
5442
 
4966
5443
  __proto.isBounceArea = function (axes) {
4967
5444
  return this.axisManager.isOutside(axes);
4968
5445
  };
4969
- /**
4970
- * Destroys properties, and events used in a module and disconnect all connections to inputTypes.
4971
- * @ko 모듈에 사용한 속성, 이벤트를 해제한다. 모든 inputType과의 연결을 끊는다.
5446
+ /**
5447
+ * Destroys properties, and events used in a module and disconnect all connections to inputTypes.
5448
+ * @ko 모듈에 사용한 속성, 이벤트를 해제한다. 모든 inputType과의 연결을 끊는다.
4972
5449
  */
4973
5450
 
4974
5451
 
@@ -4976,100 +5453,103 @@ version: 4.10.7
4976
5453
  this.disconnect();
4977
5454
  this.eventManager.destroy();
4978
5455
  };
4979
- /**
4980
- * @name VERSION
4981
- * @desc Version info string
4982
- * @ko 버전정보 문자열
4983
- *
4984
- * @constant
4985
- * @type {String}
4986
- * @example
4987
- * ```js
4988
- * eg.Axes.VERSION; // ex) 3.3.3
4989
- * ```
5456
+ /**
5457
+ * @name VERSION
5458
+ * @desc Version info string
5459
+ * @ko 버전정보 문자열
5460
+ *
5461
+ * @constant
5462
+ * @type {String}
5463
+ * @example
5464
+ * ```js
5465
+ * eg.Axes.VERSION; // ex) 3.3.3
5466
+ * ```
4990
5467
  */
4991
5468
 
4992
5469
 
4993
5470
  Axes.VERSION = "3.8.4";
4994
5471
  /* eslint-enable */
4995
5472
 
4996
- /**
4997
- * @name TRANSFORM
4998
- * @desc Returns the transform attribute with CSS vendor prefixes.
4999
- * @ko CSS vendor prefixes를 붙인 transform 속성을 반환한다.
5000
- *
5001
- * @constant
5002
- * @type {String}
5003
- * @example
5004
- * ```js
5005
- * eg.Axes.TRANSFORM; // "transform" or "webkitTransform"
5006
- * ```
5473
+ /**
5474
+ * @name TRANSFORM
5475
+ * @desc Returns the transform attribute with CSS vendor prefixes.
5476
+ * @ko CSS vendor prefixes를 붙인 transform 속성을 반환한다.
5477
+ *
5478
+ * @constant
5479
+ * @type {String}
5480
+ * @example
5481
+ * ```js
5482
+ * eg.Axes.TRANSFORM; // "transform" or "webkitTransform"
5483
+ * ```
5007
5484
  */
5008
5485
 
5009
5486
  Axes.TRANSFORM = TRANSFORM;
5010
- /**
5011
- * @name DIRECTION_NONE
5012
- * @constant
5013
- * @type {Number}
5487
+ /**
5488
+ * @name DIRECTION_NONE
5489
+ * @constant
5490
+ * @type {Number}
5014
5491
  */
5015
5492
 
5016
5493
  Axes.DIRECTION_NONE = DIRECTION_NONE;
5017
- /**
5018
- * @name DIRECTION_LEFT
5019
- * @constant
5020
- * @type {Number}
5494
+ /**
5495
+ * @name DIRECTION_LEFT
5496
+ * @constant
5497
+ * @type {Number}
5021
5498
  */
5022
5499
 
5023
5500
  Axes.DIRECTION_LEFT = DIRECTION_LEFT;
5024
- /**
5025
- * @name DIRECTION_RIGHT
5026
- * @constant
5027
- * @type {Number}
5501
+ /**
5502
+ * @name DIRECTION_RIGHT
5503
+ * @constant
5504
+ * @type {Number}
5028
5505
  */
5029
5506
 
5030
5507
  Axes.DIRECTION_RIGHT = DIRECTION_RIGHT;
5031
- /**
5032
- * @name DIRECTION_UP
5033
- * @constant
5034
- * @type {Number}
5508
+ /**
5509
+ * @name DIRECTION_UP
5510
+ * @constant
5511
+ * @type {Number}
5035
5512
  */
5036
5513
 
5037
5514
  Axes.DIRECTION_UP = DIRECTION_UP;
5038
- /**
5039
- * @name DIRECTION_DOWN
5040
- * @constant
5041
- * @type {Number}
5515
+ /**
5516
+ * @name DIRECTION_DOWN
5517
+ * @constant
5518
+ * @type {Number}
5042
5519
  */
5043
5520
 
5044
5521
  Axes.DIRECTION_DOWN = DIRECTION_DOWN;
5045
- /**
5046
- * @name DIRECTION_HORIZONTAL
5047
- * @constant
5048
- * @type {Number}
5522
+ /**
5523
+ * @name DIRECTION_HORIZONTAL
5524
+ * @constant
5525
+ * @type {Number}
5049
5526
  */
5050
5527
 
5051
5528
  Axes.DIRECTION_HORIZONTAL = DIRECTION_HORIZONTAL;
5052
- /**
5053
- * @name DIRECTION_VERTICAL
5054
- * @constant
5055
- * @type {Number}
5529
+ /**
5530
+ * @name DIRECTION_VERTICAL
5531
+ * @constant
5532
+ * @type {Number}
5056
5533
  */
5057
5534
 
5058
5535
  Axes.DIRECTION_VERTICAL = DIRECTION_VERTICAL;
5059
- /**
5060
- * @name DIRECTION_ALL
5061
- * @constant
5062
- * @type {Number}
5536
+ /**
5537
+ * @name DIRECTION_ALL
5538
+ * @constant
5539
+ * @type {Number}
5063
5540
  */
5064
5541
 
5065
5542
  Axes.DIRECTION_ALL = DIRECTION_ALL;
5543
+
5544
+ __decorate([Computed], Axes.prototype, "holding", null);
5545
+
5066
5546
  Axes = __decorate([ReactiveSubscribe], Axes);
5067
5547
  return Axes;
5068
5548
  }(Component);
5069
5549
 
5070
- /*
5071
- * Copyright (c) 2015 NAVER Corp.
5072
- * egjs projects are licensed under the MIT license
5550
+ /*
5551
+ * Copyright (c) 2015 NAVER Corp.
5552
+ * egjs projects are licensed under the MIT license
5073
5553
  */
5074
5554
 
5075
5555
  var getDirectionByAngle = function (angle, thresholdAngle) {
@@ -5080,76 +5560,76 @@ version: 4.10.7
5080
5560
  var toAngle = Math.abs(angle);
5081
5561
  return toAngle > thresholdAngle && toAngle < 180 - thresholdAngle ? DIRECTION_VERTICAL : DIRECTION_HORIZONTAL;
5082
5562
  };
5083
- /**
5084
- * @typedef {Object} PanInputOption The option object of the eg.Axes.PanInput module.
5085
- * @ko eg.Axes.PanInput 모듈의 옵션 객체
5086
- * @param {String[]} [inputType=["touch", "mouse", "pointer"]] Types of input devices
5087
- * - touch: Touch screen
5088
- * - mouse: Mouse
5089
- * - pointer: Mouse and touch <ko>입력 장치 종류
5090
- * - touch: 터치 입력 장치
5091
- * - mouse: 마우스
5092
- * - pointer: 마우스 및 터치</ko>
5093
- * @param {String[]} [inputKey=["any"]] List of key combinations to allow input
5094
- * - any: any key
5095
- * - shift: shift key
5096
- * - ctrl: ctrl key and pinch gesture on the trackpad
5097
- * - alt: alt key
5098
- * - meta: meta key
5099
- * - none: none of these keys are pressed <ko>입력을 허용할 키 조합 목록
5100
- * - any: 아무 키
5101
- * - shift: shift 키
5102
- * - ctrl: ctrl 키 및 트랙패드의 pinch 제스쳐
5103
- * - alt: alt 키
5104
- * - meta: meta 키
5105
- * - none: 아무 키도 눌리지 않은 상태 </ko>
5106
- * @param {String[]} [inputButton=["left"]] List of buttons to allow input
5107
- * - left: Left mouse button and normal touch
5108
- * - middle: Mouse wheel press
5109
- * - right: Right mouse button <ko>입력을 허용할 버튼 목록
5110
- * - left: 마우스 왼쪽 버튼
5111
- * - middle: 마우스 휠 눌림
5112
- * - right: 마우스 오른쪽 버튼 </ko>
5113
- * @param {Number[]} [scale] Coordinate scale that a user can move<ko>사용자의 동작으로 이동하는 좌표의 배율</ko>
5114
- * @param {Number} [scale[0]=1] horizontal axis scale <ko>수평축 배율</ko>
5115
- * @param {Number} [scale[1]=1] vertical axis scale <ko>수직축 배율</ko>
5116
- * @param {Number} [thresholdAngle=45] The threshold value that determines whether user action is horizontal or vertical (0~90) <ko>사용자의 동작이 가로 방향인지 세로 방향인지 판단하는 기준 각도(0~90)</ko>
5117
- * @param {Number} [threshold=0] Minimal pan distance required before recognizing <ko>사용자의 Pan 동작을 인식하기 위해산 최소한의 거리</ko>
5118
- * @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>
5119
- * @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>
5120
- * @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>
5563
+ /**
5564
+ * @typedef {Object} PanInputOption The option object of the eg.Axes.PanInput module.
5565
+ * @ko eg.Axes.PanInput 모듈의 옵션 객체
5566
+ * @param {String[]} [inputType=["touch", "mouse", "pointer"]] Types of input devices
5567
+ * - touch: Touch screen
5568
+ * - mouse: Mouse
5569
+ * - pointer: Mouse and touch <ko>입력 장치 종류
5570
+ * - touch: 터치 입력 장치
5571
+ * - mouse: 마우스
5572
+ * - pointer: 마우스 및 터치</ko>
5573
+ * @param {String[]} [inputKey=["any"]] List of key combinations to allow input
5574
+ * - any: any key
5575
+ * - shift: shift key
5576
+ * - ctrl: ctrl key and pinch gesture on the trackpad
5577
+ * - alt: alt key
5578
+ * - meta: meta key
5579
+ * - none: none of these keys are pressed <ko>입력을 허용할 키 조합 목록
5580
+ * - any: 아무 키
5581
+ * - shift: shift 키
5582
+ * - ctrl: ctrl 키 및 트랙패드의 pinch 제스쳐
5583
+ * - alt: alt 키
5584
+ * - meta: meta 키
5585
+ * - none: 아무 키도 눌리지 않은 상태 </ko>
5586
+ * @param {String[]} [inputButton=["left"]] List of buttons to allow input
5587
+ * - left: Left mouse button and normal touch
5588
+ * - middle: Mouse wheel press
5589
+ * - right: Right mouse button <ko>입력을 허용할 버튼 목록
5590
+ * - left: 마우스 왼쪽 버튼
5591
+ * - middle: 마우스 휠 눌림
5592
+ * - right: 마우스 오른쪽 버튼 </ko>
5593
+ * @param {Number[]} [scale] Coordinate scale that a user can move<ko>사용자의 동작으로 이동하는 좌표의 배율</ko>
5594
+ * @param {Number} [scale[0]=1] horizontal axis scale <ko>수평축 배율</ko>
5595
+ * @param {Number} [scale[1]=1] vertical axis scale <ko>수직축 배율</ko>
5596
+ * @param {Number} [thresholdAngle=45] The threshold value that determines whether user action is horizontal or vertical (0~90) <ko>사용자의 동작이 가로 방향인지 세로 방향인지 판단하는 기준 각도(0~90)</ko>
5597
+ * @param {Number} [threshold=0] Minimal pan distance required before recognizing <ko>사용자의 Pan 동작을 인식하기 위해산 최소한의 거리</ko>
5598
+ * @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>
5599
+ * @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>
5600
+ * @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>
5121
5601
  **/
5122
5602
 
5123
- /**
5124
- * 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.
5125
- * @ko 마우스나 터치 스크린을 누르고 움직일때의 변화량을 eg.Axes에 전달하는 모듈. 두개 이하의 축을 사용한다.
5126
- *
5127
- * @example
5128
- * ```js
5129
- * const pan = new eg.Axes.PanInput("#area", {
5130
- * inputType: ["touch"],
5131
- * scale: [1, 1.3],
5132
- * });
5133
- *
5134
- * // Connect the 'something2' axis to the mouse or touchscreen x position when the mouse or touchscreen is down and moved.
5135
- * // Connect the 'somethingN' axis to the mouse or touchscreen y position when the mouse or touchscreen is down and moved.
5136
- * axes.connect(["something2", "somethingN"], pan); // or axes.connect("something2 somethingN", pan);
5137
- *
5138
- * // Connect only one 'something1' axis to the mouse or touchscreen x position when the mouse or touchscreen is down and moved.
5139
- * axes.connect(["something1"], pan); // or axes.connect("something1", pan);
5140
- *
5141
- * // Connect only one 'something2' axis to the mouse or touchscreen y position when the mouse or touchscreen is down and moved.
5142
- * axes.connect(["", "something2"], pan); // or axes.connect(" something2", pan);
5143
- * ```
5144
- * @param {String|HTMLElement|Ref<HTMLElement>|jQuery} element An element to use the eg.Axes.PanInput module <ko>eg.Axes.PanInput 모듈을 사용할 엘리먼트</ko>
5145
- * @param {PanInputOption} [options={}] The option object of the eg.Axes.PanInput module<ko>eg.Axes.PanInput 모듈의 옵션 객체</ko>
5603
+ /**
5604
+ * 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.
5605
+ * @ko 마우스나 터치 스크린을 누르고 움직일때의 변화량을 eg.Axes에 전달하는 모듈. 두개 이하의 축을 사용한다.
5606
+ *
5607
+ * @example
5608
+ * ```js
5609
+ * const pan = new eg.Axes.PanInput("#area", {
5610
+ * inputType: ["touch"],
5611
+ * scale: [1, 1.3],
5612
+ * });
5613
+ *
5614
+ * // Connect the 'something2' axis to the mouse or touchscreen x position when the mouse or touchscreen is down and moved.
5615
+ * // Connect the 'somethingN' axis to the mouse or touchscreen y position when the mouse or touchscreen is down and moved.
5616
+ * axes.connect(["something2", "somethingN"], pan); // or axes.connect("something2 somethingN", pan);
5617
+ *
5618
+ * // Connect only one 'something1' axis to the mouse or touchscreen x position when the mouse or touchscreen is down and moved.
5619
+ * axes.connect(["something1"], pan); // or axes.connect("something1", pan);
5620
+ *
5621
+ * // Connect only one 'something2' axis to the mouse or touchscreen y position when the mouse or touchscreen is down and moved.
5622
+ * axes.connect(["", "something2"], pan); // or axes.connect(" something2", pan);
5623
+ * ```
5624
+ * @param {String|HTMLElement|Ref<HTMLElement>|jQuery} element An element to use the eg.Axes.PanInput module <ko>eg.Axes.PanInput 모듈을 사용할 엘리먼트</ko>
5625
+ * @param {PanInputOption} [options={}] The option object of the eg.Axes.PanInput module<ko>eg.Axes.PanInput 모듈의 옵션 객체</ko>
5146
5626
  */
5147
5627
 
5148
5628
  var PanInput =
5149
5629
  /*#__PURE__*/
5150
5630
  function () {
5151
- /**
5152
- *
5631
+ /**
5632
+ *
5153
5633
  */
5154
5634
  function PanInput(el, options) {
5155
5635
  var _this = this;
@@ -5224,9 +5704,9 @@ version: 4.10.7
5224
5704
  this._direction = DIRECTION_NONE;
5225
5705
  return this;
5226
5706
  };
5227
- /**
5228
- * Destroys elements, properties, and events used in a module.
5229
- * @ko 모듈에 사용한 엘리먼트와 속성, 이벤트를 해제한다.
5707
+ /**
5708
+ * Destroys elements, properties, and events used in a module.
5709
+ * @ko 모듈에 사용한 엘리먼트와 속성, 이벤트를 해제한다.
5230
5710
  */
5231
5711
 
5232
5712
 
@@ -5234,10 +5714,10 @@ version: 4.10.7
5234
5714
  this.disconnect();
5235
5715
  this.element = null;
5236
5716
  };
5237
- /**
5238
- * Enables input devices
5239
- * @ko 입력 장치를 사용할 수 있게 한다
5240
- * @return {PanInput} An instance of a module itself <ko>모듈 자신의 인스턴스</ko>
5717
+ /**
5718
+ * Enables input devices
5719
+ * @ko 입력 장치를 사용할 수 있게 한다
5720
+ * @return {PanInput} An instance of a module itself <ko>모듈 자신의 인스턴스</ko>
5241
5721
  */
5242
5722
 
5243
5723
 
@@ -5245,10 +5725,10 @@ version: 4.10.7
5245
5725
  this._enabled = true;
5246
5726
  return this;
5247
5727
  };
5248
- /**
5249
- * Disables input devices
5250
- * @ko 입력 장치를 사용할 수 없게 한다.
5251
- * @return {PanInput} An instance of a module itself <ko>모듈 자신의 인스턴스</ko>
5728
+ /**
5729
+ * Disables input devices
5730
+ * @ko 입력 장치를 사용할 수 없게 한다.
5731
+ * @return {PanInput} An instance of a module itself <ko>모듈 자신의 인스턴스</ko>
5252
5732
  */
5253
5733
 
5254
5734
 
@@ -5256,20 +5736,20 @@ version: 4.10.7
5256
5736
  this._enabled = false;
5257
5737
  return this;
5258
5738
  };
5259
- /**
5260
- * Returns whether to use an input device
5261
- * @ko 입력 장치 사용 여부를 반환한다.
5262
- * @return {Boolean} Whether to use an input device <ko>입력장치 사용여부</ko>
5739
+ /**
5740
+ * Returns whether to use an input device
5741
+ * @ko 입력 장치 사용 여부를 반환한다.
5742
+ * @return {Boolean} Whether to use an input device <ko>입력장치 사용여부</ko>
5263
5743
  */
5264
5744
 
5265
5745
 
5266
5746
  __proto.isEnabled = function () {
5267
5747
  return this._enabled;
5268
5748
  };
5269
- /**
5270
- * Releases current user input.
5271
- * @ko 사용자의 입력을 강제로 중단시킨다.
5272
- * @return {PanInput} An instance of a module itself <ko>모듈 자신의 인스턴스</ko>
5749
+ /**
5750
+ * Releases current user input.
5751
+ * @ko 사용자의 입력을 강제로 중단시킨다.
5752
+ * @return {PanInput} An instance of a module itself <ko>모듈 자신의 인스턴스</ko>
5273
5753
  */
5274
5754
 
5275
5755
 
@@ -5491,9 +5971,9 @@ version: 4.10.7
5491
5971
  return PanInput;
5492
5972
  }();
5493
5973
 
5494
- /*
5495
- * Copyright (c) 2015 NAVER Corp.
5496
- * egjs projects are licensed under the MIT license
5974
+ /*
5975
+ * Copyright (c) 2015 NAVER Corp.
5976
+ * egjs projects are licensed under the MIT license
5497
5977
  */
5498
5978
 
5499
5979
  var Axes$1 = Axes;
@@ -5673,7 +6153,7 @@ version: 4.10.7
5673
6153
  * @internal
5674
6154
  */
5675
6155
  var IdleState = /*#__PURE__*/function (_super) {
5676
- __extends$2(IdleState, _super);
6156
+ __extends$3(IdleState, _super);
5677
6157
  function IdleState() {
5678
6158
  var _this = _super !== null && _super.apply(this, arguments) || this;
5679
6159
  /**
@@ -5746,7 +6226,7 @@ version: 4.10.7
5746
6226
  * @internal
5747
6227
  */
5748
6228
  var HoldingState = /*#__PURE__*/function (_super) {
5749
- __extends$2(HoldingState, _super);
6229
+ __extends$3(HoldingState, _super);
5750
6230
  function HoldingState() {
5751
6231
  var _this = _super !== null && _super.apply(this, arguments) || this;
5752
6232
  /**
@@ -5876,7 +6356,7 @@ version: 4.10.7
5876
6356
  * @internal
5877
6357
  */
5878
6358
  var DraggingState = /*#__PURE__*/function (_super) {
5879
- __extends$2(DraggingState, _super);
6359
+ __extends$3(DraggingState, _super);
5880
6360
  function DraggingState() {
5881
6361
  var _this = _super !== null && _super.apply(this, arguments) || this;
5882
6362
  /**
@@ -5934,7 +6414,7 @@ version: 4.10.7
5934
6414
  * @internal
5935
6415
  */
5936
6416
  var AnimatingState = /*#__PURE__*/function (_super) {
5937
- __extends$2(AnimatingState, _super);
6417
+ __extends$3(AnimatingState, _super);
5938
6418
  function AnimatingState() {
5939
6419
  var _this = _super !== null && _super.apply(this, arguments) || this;
5940
6420
  /**
@@ -6005,7 +6485,7 @@ version: 4.10.7
6005
6485
  * @internal
6006
6486
  */
6007
6487
  var DisabledState = /*#__PURE__*/function (_super) {
6008
- __extends$2(DisabledState, _super);
6488
+ __extends$3(DisabledState, _super);
6009
6489
  function DisabledState() {
6010
6490
  var _this = _super !== null && _super.apply(this, arguments) || this;
6011
6491
  /**
@@ -7007,7 +7487,7 @@ version: 4.10.7
7007
7487
  * @ko 입력을 중단한 시점의 가속도에 영향받아 도달할 패널을 계산하는 이동 방식을 사용하는 {@link Control}
7008
7488
  */
7009
7489
  var SnapControl = /*#__PURE__*/function (_super) {
7010
- __extends$2(SnapControl, _super);
7490
+ __extends$3(SnapControl, _super);
7011
7491
  /** */
7012
7492
  function SnapControl(_a) {
7013
7493
  var _b = (_a === void 0 ? {} : _a).count,
@@ -7186,7 +7666,7 @@ version: 4.10.7
7186
7666
  * @ko 패널이 정해진 지점에 정렬되지 않고, 자유롭게 스크롤할 수 있는 이동 방식을 사용하는 {@link Control}
7187
7667
  */
7188
7668
  var FreeControl = /*#__PURE__*/function (_super) {
7189
- __extends$2(FreeControl, _super);
7669
+ __extends$3(FreeControl, _super);
7190
7670
  /** */
7191
7671
  function FreeControl(_a) {
7192
7672
  var _b = (_a === void 0 ? {} : _a).stopAtEdge,
@@ -7296,7 +7776,7 @@ version: 4.10.7
7296
7776
  * @ko 한번에 최대로 이동할 패널의 개수를 선택 가능한 {@link Control}
7297
7777
  */
7298
7778
  var StrictControl = /*#__PURE__*/function (_super) {
7299
- __extends$2(StrictControl, _super);
7779
+ __extends$3(StrictControl, _super);
7300
7780
  /** */
7301
7781
  function StrictControl(_a) {
7302
7782
  var _b = (_a === void 0 ? {} : _a).count,
@@ -7603,7 +8083,7 @@ version: 4.10.7
7603
8083
  }();
7604
8084
 
7605
8085
  var LinearCameraMode = /*#__PURE__*/function (_super) {
7606
- __extends$2(LinearCameraMode, _super);
8086
+ __extends$3(LinearCameraMode, _super);
7607
8087
  function LinearCameraMode() {
7608
8088
  return _super !== null && _super.apply(this, arguments) || this;
7609
8089
  }
@@ -7630,7 +8110,7 @@ version: 4.10.7
7630
8110
  * @ko 첫번째 패널과 마지막 패널이 이어진 상태로, 무한히 회전할 수 있는 종류의 {@link Camera} 모드
7631
8111
  */
7632
8112
  var CircularCameraMode = /*#__PURE__*/function (_super) {
7633
- __extends$2(CircularCameraMode, _super);
8113
+ __extends$3(CircularCameraMode, _super);
7634
8114
  function CircularCameraMode() {
7635
8115
  return _super !== null && _super.apply(this, arguments) || this;
7636
8116
  }
@@ -7790,7 +8270,7 @@ version: 4.10.7
7790
8270
  }(CameraMode);
7791
8271
 
7792
8272
  var BoundCameraMode = /*#__PURE__*/function (_super) {
7793
- __extends$2(BoundCameraMode, _super);
8273
+ __extends$3(BoundCameraMode, _super);
7794
8274
  function BoundCameraMode() {
7795
8275
  return _super !== null && _super.apply(this, arguments) || this;
7796
8276
  }
@@ -10036,7 +10516,7 @@ version: 4.10.7
10036
10516
  *
10037
10517
  */
10038
10518
  var VanillaRenderer = /*#__PURE__*/function (_super) {
10039
- __extends$2(VanillaRenderer, _super);
10519
+ __extends$3(VanillaRenderer, _super);
10040
10520
  function VanillaRenderer() {
10041
10521
  return _super !== null && _super.apply(this, arguments) || this;
10042
10522
  }
@@ -10095,7 +10575,7 @@ version: 4.10.7
10095
10575
  * @internal
10096
10576
  */
10097
10577
  var ExternalRenderer = /*#__PURE__*/function (_super) {
10098
- __extends$2(ExternalRenderer, _super);
10578
+ __extends$3(ExternalRenderer, _super);
10099
10579
  function ExternalRenderer() {
10100
10580
  return _super !== null && _super.apply(this, arguments) || this;
10101
10581
  }
@@ -10828,7 +11308,7 @@ version: 4.10.7
10828
11308
  * @ko 슬라이드 데이터 컴포넌트로, 단일 HTMLElement의 정보를 갖고 있습니다
10829
11309
  */
10830
11310
  var VirtualPanel = /*#__PURE__*/function (_super) {
10831
- __extends$2(VirtualPanel, _super);
11311
+ __extends$3(VirtualPanel, _super);
10832
11312
  /**
10833
11313
  * @param {object} options An options object<ko>옵션 오브젝트</ko>
10834
11314
  * @param {number} [options.index] An initial index of the panel<ko>패널의 초기 인덱스</ko>
@@ -11034,7 +11514,7 @@ version: 4.10.7
11034
11514
  * @requires {@link https://github.com/naver/egjs-axes|@egjs/axes}
11035
11515
  */
11036
11516
  var Flicking = /*#__PURE__*/function (_super) {
11037
- __extends$2(Flicking, _super);
11517
+ __extends$3(Flicking, _super);
11038
11518
  /**
11039
11519
  * @param root A root HTMLElement to initialize Flicking on it. When it's a typeof `string`, it should be a css selector string
11040
11520
  * <ko>Flicking을 초기화할 HTMLElement로, `string` 타입으로 지정시 css 선택자 문자열을 지정해야 합니다.</ko>
@@ -12898,7 +13378,7 @@ version: 4.10.7
12898
13378
  * Flicking.VERSION; // ex) 4.0.0
12899
13379
  * ```
12900
13380
  */
12901
- Flicking.VERSION = "4.10.7";
13381
+ Flicking.VERSION = "4.10.8-beta.1";
12902
13382
  return Flicking;
12903
13383
  }(Component);
12904
13384