@egjs/flicking 4.10.4 → 4.10.5-beta.0

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.
Files changed (70) hide show
  1. package/declaration/Flicking.d.ts +236 -236
  2. package/declaration/camera/Camera.d.ts +82 -82
  3. package/declaration/camera/index.d.ts +4 -4
  4. package/declaration/camera/mode/BoundCameraMode.d.ts +13 -13
  5. package/declaration/camera/mode/CameraMode.d.ts +20 -20
  6. package/declaration/camera/mode/CircularCameraMode.d.ts +19 -19
  7. package/declaration/camera/mode/LinearCameraMode.d.ts +9 -9
  8. package/declaration/camera/mode/index.d.ts +6 -6
  9. package/declaration/cfc/getDefaultCameraTransform.d.ts +3 -3
  10. package/declaration/cfc/getRenderingPanels.d.ts +4 -4
  11. package/declaration/cfc/index.d.ts +5 -5
  12. package/declaration/cfc/sync.d.ts +4 -4
  13. package/declaration/cfc/withFlickingMethods.d.ts +2 -2
  14. package/declaration/const/axes.d.ts +8 -8
  15. package/declaration/const/error.d.ts +34 -34
  16. package/declaration/const/external.d.ts +44 -44
  17. package/declaration/control/AxesController.d.ts +44 -44
  18. package/declaration/control/Control.d.ts +44 -44
  19. package/declaration/control/FreeControl.d.ts +14 -14
  20. package/declaration/control/SnapControl.d.ts +16 -16
  21. package/declaration/control/StateMachine.d.ts +14 -14
  22. package/declaration/control/StrictControl.d.ts +20 -20
  23. package/declaration/control/index.d.ts +14 -14
  24. package/declaration/control/states/AnimatingState.d.ts +9 -9
  25. package/declaration/control/states/DisabledState.d.ts +9 -9
  26. package/declaration/control/states/DraggingState.d.ts +8 -8
  27. package/declaration/control/states/HoldingState.d.ts +10 -10
  28. package/declaration/control/states/IdleState.d.ts +9 -9
  29. package/declaration/control/states/State.d.ts +47 -47
  30. package/declaration/core/AnchorPoint.d.ts +15 -15
  31. package/declaration/core/AutoResizer.d.ts +16 -16
  32. package/declaration/core/FlickingError.d.ts +5 -5
  33. package/declaration/core/ResizeWatcher.d.ts +33 -33
  34. package/declaration/core/Viewport.d.ts +25 -25
  35. package/declaration/core/VirtualManager.d.ts +37 -37
  36. package/declaration/core/index.d.ts +6 -6
  37. package/declaration/core/panel/Panel.d.ts +89 -89
  38. package/declaration/core/panel/VirtualPanel.d.ts +19 -19
  39. package/declaration/core/panel/index.d.ts +5 -5
  40. package/declaration/core/panel/provider/ElementProvider.d.ts +8 -8
  41. package/declaration/core/panel/provider/VanillaElementProvider.d.ts +12 -12
  42. package/declaration/core/panel/provider/VirtualElementProvider.d.ts +15 -15
  43. package/declaration/core/panel/provider/index.d.ts +5 -5
  44. package/declaration/index.d.ts +13 -13
  45. package/declaration/index.umd.d.ts +2 -2
  46. package/declaration/renderer/ExternalRenderer.d.ts +7 -7
  47. package/declaration/renderer/Renderer.d.ts +58 -58
  48. package/declaration/renderer/VanillaRenderer.d.ts +10 -10
  49. package/declaration/renderer/index.d.ts +6 -6
  50. package/declaration/renderer/strategy/NormalRenderingStrategy.d.ts +23 -23
  51. package/declaration/renderer/strategy/RenderingStrategy.d.ts +15 -15
  52. package/declaration/renderer/strategy/VirtualRenderingStrategy.d.ts +17 -17
  53. package/declaration/renderer/strategy/index.d.ts +5 -5
  54. package/declaration/type/event.d.ts +88 -88
  55. package/declaration/type/external.d.ts +31 -31
  56. package/declaration/type/internal.d.ts +13 -13
  57. package/declaration/utils.d.ts +45 -45
  58. package/dist/flicking.esm.js +36 -5
  59. package/dist/flicking.esm.js.map +1 -1
  60. package/dist/flicking.js +36 -5
  61. package/dist/flicking.js.map +1 -1
  62. package/dist/flicking.min.js +2 -2
  63. package/dist/flicking.min.js.map +1 -1
  64. package/dist/flicking.pkgd.js +870 -847
  65. package/dist/flicking.pkgd.js.map +1 -1
  66. package/dist/flicking.pkgd.min.js +2 -2
  67. package/dist/flicking.pkgd.min.js.map +1 -1
  68. package/package.json +1 -1
  69. package/src/Flicking.ts +33 -2
  70. package/src/utils.ts +1 -1
@@ -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.4
7
+ version: 4.10.5-beta.0
8
8
  */
9
9
  (function (global, factory) {
10
10
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
@@ -256,7 +256,7 @@ version: 4.10.4
256
256
  license: MIT
257
257
  author: NAVER Corp.
258
258
  repository: https://github.com/naver/egjs-component
259
- version: 3.0.2
259
+ version: 3.0.3
260
260
  */
261
261
  /*! *****************************************************************************
262
262
  Copyright (c) Microsoft Corporation.
@@ -274,8 +274,8 @@ version: 4.10.4
274
274
  ***************************************************************************** */
275
275
  function __values(o) {
276
276
  var s = typeof Symbol === "function" && Symbol.iterator,
277
- m = s && o[s],
278
- i = 0;
277
+ m = s && o[s],
278
+ i = 0;
279
279
  if (m) return m.call(o);
280
280
  if (o && typeof o.length === "number") return {
281
281
  next: function () {
@@ -292,10 +292,9 @@ version: 4.10.4
292
292
  var m = typeof Symbol === "function" && o[Symbol.iterator];
293
293
  if (!m) return o;
294
294
  var i = m.call(o),
295
- r,
296
- ar = [],
297
- e;
298
-
295
+ r,
296
+ ar = [],
297
+ e;
299
298
  try {
300
299
  while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
301
300
  } catch (error) {
@@ -309,12 +308,10 @@ version: 4.10.4
309
308
  if (e) throw e.error;
310
309
  }
311
310
  }
312
-
313
311
  return ar;
314
312
  }
315
313
  function __spread() {
316
314
  for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));
317
-
318
315
  return ar;
319
316
  }
320
317
 
@@ -326,14 +323,12 @@ version: 4.10.4
326
323
  return typeof value === "undefined";
327
324
  };
328
325
 
326
+ // This class name is not matched to file name intentionally
329
327
  /**
330
328
  * Event class to provide additional properties
331
329
  * @ko Component에서 추가적인 프로퍼티를 제공하는 이벤트 클래스
332
330
  */
333
-
334
- var ComponentEvent =
335
- /*#__PURE__*/
336
- function () {
331
+ var ComponentEvent = /*#__PURE__*/function () {
337
332
  /**
338
333
  * Create a new instance of ComponentEvent.
339
334
  * @ko ComponentEvent의 새로운 인스턴스를 생성한다.
@@ -342,14 +337,12 @@ version: 4.10.4
342
337
  */
343
338
  function ComponentEvent(eventType, props) {
344
339
  var e_1, _a;
345
-
346
340
  this._canceled = false;
347
-
348
341
  if (props) {
349
342
  try {
350
343
  for (var _b = __values(Object.keys(props)), _c = _b.next(); !_c.done; _c = _b.next()) {
351
- var key = _c.value; // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
352
-
344
+ var key = _c.value;
345
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
353
346
  this[key] = props[key];
354
347
  }
355
348
  } catch (e_1_1) {
@@ -364,17 +357,13 @@ version: 4.10.4
364
357
  }
365
358
  }
366
359
  }
367
-
368
360
  this.eventType = eventType;
369
361
  }
370
362
  /**
371
363
  * Stop the event. {@link ComponentEvent#isCanceled} will return `true` after.
372
364
  * @ko 이벤트를 중단한다. 이후 {@link ComponentEvent#isCanceled}가 `true`를 반환한다.
373
365
  */
374
-
375
-
376
366
  var __proto = ComponentEvent.prototype;
377
-
378
367
  __proto.stop = function () {
379
368
  this._canceled = true;
380
369
  };
@@ -383,12 +372,9 @@ version: 4.10.4
383
372
  * @ko {@link ComponentEvent#stop}이 호출되었는지 여부를 반환한다.
384
373
  * @return {boolean} A boolean value that indicates whether {@link ComponentEvent#stop} is called before.<ko>이전에 {@link ComponentEvent#stop}이 불려졌는지 여부를 반환한다.</ko>
385
374
  */
386
-
387
-
388
375
  __proto.isCanceled = function () {
389
376
  return this._canceled;
390
377
  };
391
-
392
378
  return ComponentEvent;
393
379
  }();
394
380
 
@@ -396,10 +382,7 @@ version: 4.10.4
396
382
  * A class used to manage events in a component
397
383
  * @ko 컴포넌트의 이벤트을 관리할 수 있게 하는 클래스
398
384
  */
399
-
400
- var Component =
401
- /*#__PURE__*/
402
- function () {
385
+ var Component = /*#__PURE__*/function () {
403
386
  /**
404
387
  * @support {"ie": "7+", "ch" : "latest", "ff" : "latest", "sf" : "latest", "edge" : "latest", "ios" : "7+", "an" : "2.1+ (except 3.x)"}
405
388
  */
@@ -447,25 +430,17 @@ version: 4.10.4
447
430
  * // https://github.com/naver/egjs-component/wiki/How-to-make-Component-event-design%3F
448
431
  * ```
449
432
  */
450
-
451
-
452
433
  var __proto = Component.prototype;
453
-
454
434
  __proto.trigger = function (event) {
455
435
  var params = [];
456
-
457
436
  for (var _i = 1; _i < arguments.length; _i++) {
458
437
  params[_i - 1] = arguments[_i];
459
438
  }
460
-
461
439
  var eventName = event instanceof ComponentEvent ? event.eventType : event;
462
-
463
440
  var handlers = __spread(this._eventHandler[eventName] || []);
464
-
465
441
  if (handlers.length <= 0) {
466
442
  return this;
467
443
  }
468
-
469
444
  if (event instanceof ComponentEvent) {
470
445
  event.currentTarget = this;
471
446
  handlers.forEach(function (handler) {
@@ -477,7 +452,6 @@ version: 4.10.4
477
452
  handler.apply(void 0, __spread(params));
478
453
  });
479
454
  }
480
-
481
455
  return this;
482
456
  };
483
457
  /**
@@ -509,36 +483,26 @@ version: 4.10.4
509
483
  * // Nothing happens
510
484
  * ```
511
485
  */
512
-
513
-
514
486
  __proto.once = function (eventName, handlerToAttach) {
515
487
  var _this = this;
516
-
517
488
  if (typeof eventName === "object" && isUndefined(handlerToAttach)) {
518
489
  var eventHash = eventName;
519
-
520
490
  for (var key in eventHash) {
521
491
  this.once(key, eventHash[key]);
522
492
  }
523
-
524
493
  return this;
525
494
  } else if (typeof eventName === "string" && typeof handlerToAttach === "function") {
526
495
  var listener_1 = function () {
527
496
  var args = [];
528
-
529
497
  for (var _i = 0; _i < arguments.length; _i++) {
530
498
  args[_i] = arguments[_i];
531
- } // eslint-disable-next-line @typescript-eslint/no-unsafe-call
532
-
533
-
499
+ }
500
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-call
534
501
  handlerToAttach.apply(void 0, __spread(args));
535
-
536
502
  _this.off(eventName, listener_1);
537
503
  };
538
-
539
504
  this.on(eventName, listener_1);
540
505
  }
541
-
542
506
  return this;
543
507
  };
544
508
  /**
@@ -559,8 +523,6 @@ version: 4.10.4
559
523
  * }
560
524
  * ```
561
525
  */
562
-
563
-
564
526
  __proto.hasOn = function (eventName) {
565
527
  return !!this._eventHandler[eventName];
566
528
  };
@@ -586,28 +548,21 @@ version: 4.10.4
586
548
  * }
587
549
  * ```
588
550
  */
589
-
590
-
591
551
  __proto.on = function (eventName, handlerToAttach) {
592
552
  if (typeof eventName === "object" && isUndefined(handlerToAttach)) {
593
553
  var eventHash = eventName;
594
-
595
554
  for (var name in eventHash) {
596
555
  this.on(name, eventHash[name]);
597
556
  }
598
-
599
557
  return this;
600
558
  } else if (typeof eventName === "string" && typeof handlerToAttach === "function") {
601
559
  var handlerList = this._eventHandler[eventName];
602
-
603
560
  if (isUndefined(handlerList)) {
604
561
  this._eventHandler[eventName] = [];
605
562
  handlerList = this._eventHandler[eventName];
606
563
  }
607
-
608
564
  handlerList.push(handlerToAttach);
609
565
  }
610
-
611
566
  return this;
612
567
  };
613
568
  /**
@@ -632,53 +587,40 @@ version: 4.10.4
632
587
  * }
633
588
  * ```
634
589
  */
635
-
636
-
637
590
  __proto.off = function (eventName, handlerToDetach) {
638
- var e_1, _a; // Detach all event handlers.
639
-
640
-
591
+ var e_1, _a;
592
+ // Detach all event handlers.
641
593
  if (isUndefined(eventName)) {
642
594
  this._eventHandler = {};
643
595
  return this;
644
- } // Detach all handlers for eventname or detach event handlers by object.
645
-
646
-
596
+ }
597
+ // Detach all handlers for eventname or detach event handlers by object.
647
598
  if (isUndefined(handlerToDetach)) {
648
599
  if (typeof eventName === "string") {
649
600
  delete this._eventHandler[eventName];
650
601
  return this;
651
602
  } else {
652
603
  var eventHash = eventName;
653
-
654
604
  for (var name in eventHash) {
655
605
  this.off(name, eventHash[name]);
656
606
  }
657
-
658
607
  return this;
659
608
  }
660
- } // Detach single event handler
661
-
662
-
609
+ }
610
+ // Detach single event handler
663
611
  var handlerList = this._eventHandler[eventName];
664
-
665
612
  if (handlerList) {
666
613
  var idx = 0;
667
-
668
614
  try {
669
615
  for (var handlerList_1 = __values(handlerList), handlerList_1_1 = handlerList_1.next(); !handlerList_1_1.done; handlerList_1_1 = handlerList_1.next()) {
670
616
  var handlerFunction = handlerList_1_1.value;
671
-
672
617
  if (handlerFunction === handlerToDetach) {
673
618
  handlerList.splice(idx, 1);
674
-
675
619
  if (handlerList.length <= 0) {
676
620
  delete this._eventHandler[eventName];
677
621
  }
678
-
679
622
  break;
680
623
  }
681
-
682
624
  idx++;
683
625
  }
684
626
  } catch (e_1_1) {
@@ -693,7 +635,6 @@ version: 4.10.4
693
635
  }
694
636
  }
695
637
  }
696
-
697
638
  return this;
698
639
  };
699
640
  /**
@@ -705,9 +646,7 @@ version: 4.10.4
705
646
  * Component.VERSION; // ex) 3.0.0
706
647
  * @memberof Component
707
648
  */
708
-
709
-
710
- Component.VERSION = "3.0.2";
649
+ Component.VERSION = "3.0.3";
711
650
  return Component;
712
651
  }();
713
652
 
@@ -715,7 +654,7 @@ version: 4.10.4
715
654
  * Copyright (c) 2015 NAVER Corp.
716
655
  * egjs projects are licensed under the MIT license
717
656
  */
718
-
657
+ // eslint-disable-next-line @typescript-eslint/naming-convention, @typescript-eslint/no-unsafe-assignment
719
658
  var ComponentEvent$1 = ComponentEvent;
720
659
 
721
660
  /*
@@ -1148,7 +1087,7 @@ version: 4.10.4
1148
1087
  if (pos < min) {
1149
1088
  var offset = (min - pos) % size;
1150
1089
  pos = max - offset;
1151
- } else if (pos > max) {
1090
+ } else if (pos >= max) {
1152
1091
  var offset = (pos - max) % size;
1153
1092
  pos = min + offset;
1154
1093
  }
@@ -2426,7 +2365,7 @@ version: 4.10.4
2426
2365
  license: MIT
2427
2366
  author: NAVER Corp.
2428
2367
  repository: https://github.com/naver/egjs-axes
2429
- version: 3.8.3
2368
+ version: 3.8.1
2430
2369
  */
2431
2370
 
2432
2371
  /*! *****************************************************************************
@@ -2487,9 +2426,9 @@ version: 4.10.4
2487
2426
  return c > 3 && r && Object.defineProperty(target, key, r), r;
2488
2427
  }
2489
2428
 
2490
- /*
2491
- * Copyright (c) 2015 NAVER Corp.
2492
- * egjs projects are licensed under the MIT license
2429
+ /*
2430
+ * Copyright (c) 2015 NAVER Corp.
2431
+ * egjs projects are licensed under the MIT license
2493
2432
  */
2494
2433
 
2495
2434
  /* eslint-disable no-new-func, no-nested-ternary */
@@ -2506,9 +2445,9 @@ version: 4.10.4
2506
2445
  win = window;
2507
2446
  }
2508
2447
 
2509
- /*
2510
- * Copyright (c) 2015 NAVER Corp.
2511
- * egjs projects are licensed under the MIT license
2448
+ /*
2449
+ * Copyright (c) 2015 NAVER Corp.
2450
+ * egjs projects are licensed under the MIT license
2512
2451
  */
2513
2452
  var DIRECTION_NONE = 1;
2514
2453
  var DIRECTION_LEFT = 2;
@@ -2641,21 +2580,21 @@ version: 4.10.4
2641
2580
 
2642
2581
  caf = win.clearTimeout;
2643
2582
  }
2644
- /**
2645
- * A polyfill for the window.requestAnimationFrame() method.
2646
- * @see https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame
2647
- * @private
2583
+ /**
2584
+ * A polyfill for the window.requestAnimationFrame() method.
2585
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame
2586
+ * @private
2648
2587
  */
2649
2588
 
2650
2589
 
2651
2590
  var requestAnimationFrame = function (fp) {
2652
2591
  return raf(fp);
2653
2592
  };
2654
- /**
2655
- * A polyfill for the window.cancelAnimationFrame() method. It cancels an animation executed through a call to the requestAnimationFrame() method.
2656
- * @param {Number} key − The ID value returned through a call to the requestAnimationFrame() method. <ko>requestAnimationFrame() 메서드가 반환한 아이디 값</ko>
2657
- * @see https://developer.mozilla.org/en-US/docs/Web/API/Window/cancelAnimationFrame
2658
- * @private
2593
+ /**
2594
+ * A polyfill for the window.cancelAnimationFrame() method. It cancels an animation executed through a call to the requestAnimationFrame() method.
2595
+ * @param {Number} key − The ID value returned through a call to the requestAnimationFrame() method. <ko>requestAnimationFrame() 메서드가 반환한 아이디 값</ko>
2596
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/Window/cancelAnimationFrame
2597
+ * @private
2659
2598
  */
2660
2599
 
2661
2600
  var cancelAnimationFrame = function (key) {
@@ -2822,32 +2761,32 @@ version: 4.10.4
2822
2761
  function EventManager(_axes) {
2823
2762
  this._axes = _axes;
2824
2763
  }
2825
- /**
2826
- * This event is fired when a user holds an element on the screen of the device.
2827
- * @ko 사용자가 기기의 화면에 손을 대고 있을 때 발생하는 이벤트
2828
- * @event Axes#hold
2829
- * @type {object}
2830
- * @property {Object.<string, number>} pos coordinate <ko>좌표 정보</ko>
2831
- * @property {Object} input The instance of inputType where the event occurred<ko>이벤트가 발생한 inputType 인스턴스</ko>
2832
- * @property {Object} inputEvent The event object received from inputType <ko>inputType으로 부터 받은 이벤트 객체</ko>
2833
- * @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>
2834
- *
2835
- * @example
2836
- * ```js
2837
- * const axes = new eg.Axes({
2838
- * "x": {
2839
- * range: [0, 100]
2840
- * },
2841
- * "zoom": {
2842
- * range: [50, 30]
2843
- * }
2844
- * }).on("hold", function(event) {
2845
- * // event.pos
2846
- * // event.input
2847
- * // event.inputEvent
2848
- * // isTrusted
2849
- * });
2850
- * ```
2764
+ /**
2765
+ * This event is fired when a user holds an element on the screen of the device.
2766
+ * @ko 사용자가 기기의 화면에 손을 대고 있을 때 발생하는 이벤트
2767
+ * @event Axes#hold
2768
+ * @type {object}
2769
+ * @property {Object.<string, number>} pos coordinate <ko>좌표 정보</ko>
2770
+ * @property {Object} input The instance of inputType where the event occurred<ko>이벤트가 발생한 inputType 인스턴스</ko>
2771
+ * @property {Object} inputEvent The event object received from inputType <ko>inputType으로 부터 받은 이벤트 객체</ko>
2772
+ * @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>
2773
+ *
2774
+ * @example
2775
+ * ```js
2776
+ * const axes = new eg.Axes({
2777
+ * "x": {
2778
+ * range: [0, 100]
2779
+ * },
2780
+ * "zoom": {
2781
+ * range: [50, 30]
2782
+ * }
2783
+ * }).on("hold", function(event) {
2784
+ * // event.pos
2785
+ * // event.input
2786
+ * // event.inputEvent
2787
+ * // isTrusted
2788
+ * });
2789
+ * ```
2851
2790
  */
2852
2791
 
2853
2792
 
@@ -2863,80 +2802,80 @@ version: 4.10.4
2863
2802
  isTrusted: true
2864
2803
  }));
2865
2804
  };
2866
- /**
2867
- * Specifies the coordinates to move after the 'change' event. It works when the holding value of the change event is true.
2868
- * @ko 'change' 이벤트 이후 이동할 좌표를 지정한다. change이벤트의 holding 값이 true일 경우에 동작한다
2869
- * @param {Object.<string, number>} pos The coordinate to move to <ko>이동할 좌표</ko>
2870
- * @example
2871
- * ```js
2872
- * const axes = new eg.Axes({
2873
- * "x": {
2874
- * range: [0, 100]
2875
- * },
2876
- * "zoom": {
2877
- * range: [50, 30]
2878
- * }
2879
- * }).on("change", function(event) {
2880
- * event.holding && event.set({x: 10});
2881
- * });
2882
- * ```
2805
+ /**
2806
+ * Specifies the coordinates to move after the 'change' event. It works when the holding value of the change event is true.
2807
+ * @ko 'change' 이벤트 이후 이동할 좌표를 지정한다. change이벤트의 holding 값이 true일 경우에 동작한다
2808
+ * @param {Object.<string, number>} pos The coordinate to move to <ko>이동할 좌표</ko>
2809
+ * @example
2810
+ * ```js
2811
+ * const axes = new eg.Axes({
2812
+ * "x": {
2813
+ * range: [0, 100]
2814
+ * },
2815
+ * "zoom": {
2816
+ * range: [50, 30]
2817
+ * }
2818
+ * }).on("change", function(event) {
2819
+ * event.holding && event.set({x: 10});
2820
+ * });
2821
+ * ```
2883
2822
  */
2884
2823
 
2885
- /** Specifies the animation coordinates to move after the 'release' or 'animationStart' events.
2886
- * @ko 'release' 또는 'animationStart' 이벤트 이후 이동할 좌표를 지정한다.
2887
- * @param {Object.<string, number>} pos The coordinate to move to <ko>이동할 좌표</ko>
2888
- * @param {Number} [duration=0] Duration of the animation (unit: ms) <ko>애니메이션 진행 시간(단위: ms)</ko>
2889
- * @example
2890
- * ```js
2891
- * const axes = new eg.Axes({
2892
- * "x": {
2893
- * range: [0, 100]
2894
- * },
2895
- * "zoom": {
2896
- * range: [50, 30]
2897
- * }
2898
- * }).on("animationStart", function(event) {
2899
- * event.setTo({x: 10}, 2000);
2900
- * });
2901
- * ```
2824
+ /** Specifies the animation coordinates to move after the 'release' or 'animationStart' events.
2825
+ * @ko 'release' 또는 'animationStart' 이벤트 이후 이동할 좌표를 지정한다.
2826
+ * @param {Object.<string, number>} pos The coordinate to move to <ko>이동할 좌표</ko>
2827
+ * @param {Number} [duration=0] Duration of the animation (unit: ms) <ko>애니메이션 진행 시간(단위: ms)</ko>
2828
+ * @example
2829
+ * ```js
2830
+ * const axes = new eg.Axes({
2831
+ * "x": {
2832
+ * range: [0, 100]
2833
+ * },
2834
+ * "zoom": {
2835
+ * range: [50, 30]
2836
+ * }
2837
+ * }).on("animationStart", function(event) {
2838
+ * event.setTo({x: 10}, 2000);
2839
+ * });
2840
+ * ```
2902
2841
  */
2903
2842
 
2904
- /**
2905
- * This event is fired when a user release an element on the screen of the device.
2906
- * @ko 사용자가 기기의 화면에서 손을 뗐을 때 발생하는 이벤트
2907
- * @event Axes#release
2908
- * @type {object}
2909
- * @property {Object.<string, number>} depaPos The coordinates when releasing an element<ko>손을 뗐을 때의 좌표 </ko>
2910
- * @property {Object.<string, number>} destPos The coordinates to move to after releasing an element<ko>손을 뗀 뒤에 이동할 좌표</ko>
2911
- * @property {Object.<string, number>} delta The movement variation of coordinate <ko>좌표의 변화량</ko>
2912
- * @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>
2913
- * @property {Object} inputEvent The event object received from inputType <ko>inputType으로 부터 받은 이벤트 객체</ko>
2914
- * @property {Object} input The instance of inputType where the event occurred<ko>이벤트가 발생한 inputType 인스턴스</ko>
2915
- * @property {setTo} setTo Specifies the animation coordinates to move after the event <ko>이벤트 이후 이동할 애니메이션 좌표를 지정한다</ko>
2916
- * @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>
2917
- *
2918
- * @example
2919
- * ```js
2920
- * const axes = new eg.Axes({
2921
- * "x": {
2922
- * range: [0, 100]
2923
- * },
2924
- * "zoom": {
2925
- * range: [50, 30]
2926
- * }
2927
- * }).on("release", function(event) {
2928
- * // event.depaPos
2929
- * // event.destPos
2930
- * // event.delta
2931
- * // event.input
2932
- * // event.inputEvent
2933
- * // event.setTo
2934
- * // event.isTrusted
2935
- *
2936
- * // if you want to change the animation coordinates to move after the 'release' event.
2937
- * event.setTo({x: 10}, 2000);
2938
- * });
2939
- * ```
2843
+ /**
2844
+ * This event is fired when a user release an element on the screen of the device.
2845
+ * @ko 사용자가 기기의 화면에서 손을 뗐을 때 발생하는 이벤트
2846
+ * @event Axes#release
2847
+ * @type {object}
2848
+ * @property {Object.<string, number>} depaPos The coordinates when releasing an element<ko>손을 뗐을 때의 좌표 </ko>
2849
+ * @property {Object.<string, number>} destPos The coordinates to move to after releasing an element<ko>손을 뗀 뒤에 이동할 좌표</ko>
2850
+ * @property {Object.<string, number>} delta The movement variation of coordinate <ko>좌표의 변화량</ko>
2851
+ * @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>
2852
+ * @property {Object} inputEvent The event object received from inputType <ko>inputType으로 부터 받은 이벤트 객체</ko>
2853
+ * @property {Object} input The instance of inputType where the event occurred<ko>이벤트가 발생한 inputType 인스턴스</ko>
2854
+ * @property {setTo} setTo Specifies the animation coordinates to move after the event <ko>이벤트 이후 이동할 애니메이션 좌표를 지정한다</ko>
2855
+ * @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>
2856
+ *
2857
+ * @example
2858
+ * ```js
2859
+ * const axes = new eg.Axes({
2860
+ * "x": {
2861
+ * range: [0, 100]
2862
+ * },
2863
+ * "zoom": {
2864
+ * range: [50, 30]
2865
+ * }
2866
+ * }).on("release", function(event) {
2867
+ * // event.depaPos
2868
+ * // event.destPos
2869
+ * // event.delta
2870
+ * // event.input
2871
+ * // event.inputEvent
2872
+ * // event.setTo
2873
+ * // event.isTrusted
2874
+ *
2875
+ * // if you want to change the animation coordinates to move after the 'release' event.
2876
+ * event.setTo({x: 10}, 2000);
2877
+ * });
2878
+ * ```
2940
2879
  */
2941
2880
 
2942
2881
 
@@ -2953,43 +2892,43 @@ version: 4.10.4
2953
2892
  bounceRatio: this._getBounceRatio(roundPos)
2954
2893
  })));
2955
2894
  };
2956
- /**
2957
- * This event is fired when coordinate changes.
2958
- * @ko 좌표가 변경됐을 때 발생하는 이벤트
2959
- * @event Axes#change
2960
- * @type {object}
2961
- * @property {Object.<string, number>} pos The coordinate <ko>좌표</ko>
2962
- * @property {Object.<string, number>} delta The movement variation of coordinate <ko>좌표의 변화량</ko>
2963
- * @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>
2964
- * @property {Boolean} holding Indicates whether a user holds an element on the screen of the device.<ko>사용자가 기기의 화면을 누르고 있는지 여부</ko>
2965
- * @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>
2966
- * @property {Object} inputEvent The event object received from inputType. If the value is changed by animation, it returns 'null'.<ko>inputType으로 부터 받은 이벤트 객체. 애니메이션에 의해 값이 변경될 경우에는 'null'을 반환한다.</ko>
2967
- * @property {set} set Specifies the coordinates to move after the event. It works when the holding value is true <ko>이벤트 이후 이동할 좌표를 지정한다. holding 값이 true일 경우에 동작한다.</ko>
2968
- * @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>
2969
- *
2970
- * @example
2971
- * ```js
2972
- * const axes = new eg.Axes({
2973
- * "x": {
2974
- * range: [0, 100]
2975
- * },
2976
- * "zoom": {
2977
- * range: [50, 30]
2978
- * }
2979
- * }).on("change", function(event) {
2980
- * // event.pos
2981
- * // event.delta
2982
- * // event.input
2983
- * // event.inputEvent
2984
- * // event.holding
2985
- * // event.set
2986
- * // event.isTrusted
2987
- *
2988
- * // if you want to change the coordinates to move after the 'change' event.
2989
- * // it works when the holding value of the change event is true.
2990
- * event.holding && event.set({x: 10});
2991
- * });
2992
- * ```
2895
+ /**
2896
+ * This event is fired when coordinate changes.
2897
+ * @ko 좌표가 변경됐을 때 발생하는 이벤트
2898
+ * @event Axes#change
2899
+ * @type {object}
2900
+ * @property {Object.<string, number>} pos The coordinate <ko>좌표</ko>
2901
+ * @property {Object.<string, number>} delta The movement variation of coordinate <ko>좌표의 변화량</ko>
2902
+ * @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>
2903
+ * @property {Boolean} holding Indicates whether a user holds an element on the screen of the device.<ko>사용자가 기기의 화면을 누르고 있는지 여부</ko>
2904
+ * @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>
2905
+ * @property {Object} inputEvent The event object received from inputType. If the value is changed by animation, it returns 'null'.<ko>inputType으로 부터 받은 이벤트 객체. 애니메이션에 의해 값이 변경될 경우에는 'null'을 반환한다.</ko>
2906
+ * @property {set} set Specifies the coordinates to move after the event. It works when the holding value is true <ko>이벤트 이후 이동할 좌표를 지정한다. holding 값이 true일 경우에 동작한다.</ko>
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("change", function(event) {
2919
+ * // event.pos
2920
+ * // event.delta
2921
+ * // event.input
2922
+ * // event.inputEvent
2923
+ * // event.holding
2924
+ * // event.set
2925
+ * // event.isTrusted
2926
+ *
2927
+ * // if you want to change the coordinates to move after the 'change' event.
2928
+ * // it works when the holding value of the change event is true.
2929
+ * event.holding && event.set({x: 10});
2930
+ * });
2931
+ * ```
2993
2932
  */
2994
2933
 
2995
2934
 
@@ -3036,42 +2975,42 @@ version: 4.10.4
3036
2975
 
3037
2976
  return !event.isCanceled();
3038
2977
  };
3039
- /**
3040
- * This event is fired when animation starts.
3041
- * @ko 에니메이션이 시작할 때 발생한다.
3042
- * @event Axes#animationStart
3043
- * @type {object}
3044
- * @property {Object.<string, number>} depaPos The coordinates when animation starts<ko>애니메이션이 시작 되었을 때의 좌표 </ko>
3045
- * @property {Object.<string, number>} destPos The coordinates to move to. If you change this value, you can run the animation<ko>이동할 좌표. 이값을 변경하여 애니메이션을 동작시킬수 있다</ko>
3046
- * @property {Object.<string, number>} delta The movement variation of coordinate <ko>좌표의 변화량</ko>
3047
- * @property {Number} duration Duration of the animation (unit: ms). If you change this value, you can control the animation duration time.<ko>애니메이션 진행 시간(단위: ms). 이값을 변경하여 애니메이션의 이동시간을 조절할 수 있다.</ko>
3048
- * @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>
3049
- * @property {Object} inputEvent The event object received from inputType <ko>inputType으로 부터 받은 이벤트 객체</ko>
3050
- * @property {setTo} setTo Specifies the animation coordinates to move after the event <ko>이벤트 이후 이동할 애니메이션 좌표를 지정한다</ko>
3051
- * @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>
3052
- *
3053
- * @example
3054
- * ```js
3055
- * const axes = new eg.Axes({
3056
- * "x": {
3057
- * range: [0, 100]
3058
- * },
3059
- * "zoom": {
3060
- * range: [50, 30]
3061
- * }
3062
- * }).on("release", function(event) {
3063
- * // event.depaPos
3064
- * // event.destPos
3065
- * // event.delta
3066
- * // event.input
3067
- * // event.inputEvent
3068
- * // event.setTo
3069
- * // event.isTrusted
3070
- *
3071
- * // if you want to change the animation coordinates to move after the 'animationStart' event.
3072
- * event.setTo({x: 10}, 2000);
3073
- * });
3074
- * ```
2978
+ /**
2979
+ * This event is fired when animation starts.
2980
+ * @ko 에니메이션이 시작할 때 발생한다.
2981
+ * @event Axes#animationStart
2982
+ * @type {object}
2983
+ * @property {Object.<string, number>} depaPos The coordinates when animation starts<ko>애니메이션이 시작 되었을 때의 좌표 </ko>
2984
+ * @property {Object.<string, number>} destPos The coordinates to move to. If you change this value, you can run the animation<ko>이동할 좌표. 이값을 변경하여 애니메이션을 동작시킬수 있다</ko>
2985
+ * @property {Object.<string, number>} delta The movement variation of coordinate <ko>좌표의 변화량</ko>
2986
+ * @property {Number} duration Duration of the animation (unit: ms). If you change this value, you can control the animation duration time.<ko>애니메이션 진행 시간(단위: ms). 이값을 변경하여 애니메이션의 이동시간을 조절할 수 있다.</ko>
2987
+ * @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>
2988
+ * @property {Object} inputEvent The event object received from inputType <ko>inputType으로 부터 받은 이벤트 객체</ko>
2989
+ * @property {setTo} setTo Specifies the animation coordinates to move after the event <ko>이벤트 이후 이동할 애니메이션 좌표를 지정한다</ko>
2990
+ * @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>
2991
+ *
2992
+ * @example
2993
+ * ```js
2994
+ * const axes = new eg.Axes({
2995
+ * "x": {
2996
+ * range: [0, 100]
2997
+ * },
2998
+ * "zoom": {
2999
+ * range: [50, 30]
3000
+ * }
3001
+ * }).on("release", function(event) {
3002
+ * // event.depaPos
3003
+ * // event.destPos
3004
+ * // event.delta
3005
+ * // event.input
3006
+ * // event.inputEvent
3007
+ * // event.setTo
3008
+ * // event.isTrusted
3009
+ *
3010
+ * // if you want to change the animation coordinates to move after the 'animationStart' event.
3011
+ * event.setTo({x: 10}, 2000);
3012
+ * });
3013
+ * ```
3075
3014
  */
3076
3015
 
3077
3016
 
@@ -3089,26 +3028,26 @@ version: 4.10.4
3089
3028
 
3090
3029
  return !event.isCanceled();
3091
3030
  };
3092
- /**
3093
- * This event is fired when animation ends.
3094
- * @ko 에니메이션이 끝났을 때 발생한다.
3095
- * @event Axes#animationEnd
3096
- * @type {object}
3097
- * @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>
3098
- *
3099
- * @example
3100
- * ```js
3101
- * const axes = new eg.Axes({
3102
- * "x": {
3103
- * range: [0, 100]
3104
- * },
3105
- * "zoom": {
3106
- * range: [50, 30]
3107
- * }
3108
- * }).on("animationEnd", function(event) {
3109
- * // event.isTrusted
3110
- * });
3111
- * ```
3031
+ /**
3032
+ * This event is fired when animation ends.
3033
+ * @ko 에니메이션이 끝났을 때 발생한다.
3034
+ * @event Axes#animationEnd
3035
+ * @type {object}
3036
+ * @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>
3037
+ *
3038
+ * @example
3039
+ * ```js
3040
+ * const axes = new eg.Axes({
3041
+ * "x": {
3042
+ * range: [0, 100]
3043
+ * },
3044
+ * "zoom": {
3045
+ * range: [50, 30]
3046
+ * }
3047
+ * }).on("animationEnd", function(event) {
3048
+ * // event.isTrusted
3049
+ * });
3050
+ * ```
3112
3051
  */
3113
3052
 
3114
3053
 
@@ -3121,26 +3060,26 @@ version: 4.10.4
3121
3060
  isTrusted: isTrusted
3122
3061
  }));
3123
3062
  };
3124
- /**
3125
- * This event is fired when all actions have been completed.
3126
- * @ko 에니메이션이 끝났을 때 발생한다.
3127
- * @event Axes#finish
3128
- * @type {object}
3129
- * @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>
3130
- *
3131
- * @example
3132
- * ```js
3133
- * const axes = new eg.Axes({
3134
- * "x": {
3135
- * range: [0, 100]
3136
- * },
3137
- * "zoom": {
3138
- * range: [50, 30]
3139
- * }
3140
- * }).on("finish", function(event) {
3141
- * // event.isTrusted
3142
- * });
3143
- * ```
3063
+ /**
3064
+ * This event is fired when all actions have been completed.
3065
+ * @ko 에니메이션이 끝났을 때 발생한다.
3066
+ * @event Axes#finish
3067
+ * @type {object}
3068
+ * @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>
3069
+ *
3070
+ * @example
3071
+ * ```js
3072
+ * const axes = new eg.Axes({
3073
+ * "x": {
3074
+ * range: [0, 100]
3075
+ * },
3076
+ * "zoom": {
3077
+ * range: [50, 30]
3078
+ * }
3079
+ * }).on("finish", function(event) {
3080
+ * // event.isTrusted
3081
+ * });
3082
+ * ```
3144
3083
  */
3145
3084
 
3146
3085
 
@@ -3240,9 +3179,9 @@ version: 4.10.4
3240
3179
  return InterruptManager;
3241
3180
  }();
3242
3181
 
3243
- /*
3244
- * Copyright (c) 2015 NAVER Corp.
3245
- * egjs projects are licensed under the MIT license
3182
+ /*
3183
+ * Copyright (c) 2015 NAVER Corp.
3184
+ * egjs projects are licensed under the MIT license
3246
3185
  */
3247
3186
  var getInsidePosition = function (destPos, range, circular, bounce) {
3248
3187
  var toDestPos = destPos;
@@ -3396,9 +3335,9 @@ version: 4.10.4
3396
3335
 
3397
3336
  this._complementOptions();
3398
3337
  };
3399
- /**
3400
- * set up 'css' expression
3401
- * @private
3338
+ /**
3339
+ * set up 'css' expression
3340
+ * @private
3402
3341
  */
3403
3342
 
3404
3343
 
@@ -3988,13 +3927,6 @@ version: 4.10.4
3988
3927
 
3989
3928
  return null;
3990
3929
  };
3991
- function getAddEventOptions(eventName) {
3992
- // The passive default value of the touch event is true.
3993
- // If not a touch event, return false to support ie11
3994
- return eventName.indexOf("touch") > -1 ? {
3995
- passive: false
3996
- } : false;
3997
- }
3998
3930
 
3999
3931
  var InputObserver =
4000
3932
  /*#__PURE__*/
@@ -4044,7 +3976,7 @@ version: 4.10.4
4044
3976
  this._moveDistance = this._axisManager.get(input.axes);
4045
3977
  };
4046
3978
 
4047
- __proto.change = function (input, event, offset, useAnimation) {
3979
+ __proto.change = function (input, event, offset, useAnimation, velocity) {
4048
3980
  if (this._isStopped || !this._interruptManager.isInterrupting() || this._axisManager.every(offset, function (v) {
4049
3981
  return v === 0;
4050
3982
  })) {
@@ -4057,8 +3989,7 @@ version: 4.10.4
4057
3989
  return;
4058
3990
  }
4059
3991
 
4060
- var depaPos = this._moveDistance || this._axisManager.get(input.axes);
4061
-
3992
+ var depaPos = !this._moveDistance || velocity ? this._axisManager.get(input.axes) : this._moveDistance;
4062
3993
  var destPos; // for outside logic
4063
3994
 
4064
3995
  destPos = map(depaPos, function (v, k) {
@@ -4093,9 +4024,7 @@ version: 4.10.4
4093
4024
  };
4094
4025
 
4095
4026
  if (useAnimation) {
4096
- var duration = this._animationManager.getDuration(destPos, depaPos);
4097
-
4098
- this._animationManager.animateTo(destPos, duration, changeOption);
4027
+ this._animationManager.changeTo(destPos, changeOption);
4099
4028
  } else {
4100
4029
  var isCanceled = !this._eventManager.triggerChange(destPos, depaPos, changeOption, true);
4101
4030
 
@@ -4104,6 +4033,15 @@ version: 4.10.4
4104
4033
  this._moveDistance = null;
4105
4034
 
4106
4035
  this._animationManager.finish(false);
4036
+ } else if (velocity) {
4037
+ var displacement = this._animationManager.getDisplacement(velocity);
4038
+
4039
+ var nextOffset_1 = toAxis(input.axes, displacement);
4040
+ destPos = this._atOutside(map(destPos, function (v, k) {
4041
+ return v + (nextOffset_1[k] || 0);
4042
+ }));
4043
+
4044
+ this._animationManager.changeTo(destPos, changeOption);
4107
4045
  }
4108
4046
  }
4109
4047
  };
@@ -4151,6 +4089,7 @@ version: 4.10.4
4151
4089
  destPos: destPos,
4152
4090
  duration: duration,
4153
4091
  delta: this._axisManager.getDelta(depaPos, destPos),
4092
+ triggerAnimationEvent: true,
4154
4093
  inputEvent: event,
4155
4094
  input: input,
4156
4095
  isTrusted: true
@@ -4202,7 +4141,7 @@ version: 4.10.4
4202
4141
  var out = opt.bounce;
4203
4142
  var circular = opt.circular;
4204
4143
 
4205
- if (circular[0] && v < min || circular[1] && v > max) {
4144
+ if (circular && (circular[0] || circular[1])) {
4206
4145
  return v;
4207
4146
  } else if (v < min) {
4208
4147
  // left
@@ -4289,14 +4228,11 @@ version: 4.10.4
4289
4228
  this.eventManager.triggerChange(pos, orgPos_1, option, !!option);
4290
4229
  }
4291
4230
 
4292
- this._animateParam = null;
4293
-
4294
- if (this._raf) {
4295
- cancelAnimationFrame(this._raf);
4231
+ if (this._animateParam.triggerAnimationEvent) {
4232
+ this.eventManager.triggerAnimationEnd(!!(option === null || option === void 0 ? void 0 : option.event));
4296
4233
  }
4297
4234
 
4298
- this._raf = null;
4299
- this.eventManager.triggerAnimationEnd(!!(option === null || option === void 0 ? void 0 : option.event));
4235
+ this._removeAnimationParam();
4300
4236
  }
4301
4237
  };
4302
4238
 
@@ -4357,6 +4293,30 @@ version: 4.10.4
4357
4293
  return userWish;
4358
4294
  };
4359
4295
 
4296
+ __proto.changeTo = function (destPos, option) {
4297
+ var _this = this;
4298
+
4299
+ var depaPos = this.axisManager.get(option.input.axes);
4300
+
4301
+ if (this._raf) {
4302
+ cancelAnimationFrame(this._raf);
4303
+ }
4304
+
4305
+ if (!equal(destPos, depaPos)) {
4306
+ var newParam = {
4307
+ depaPos: depaPos,
4308
+ destPos: destPos,
4309
+ duration: this.getDuration(destPos, depaPos),
4310
+ delta: this.axisManager.getDelta(depaPos, destPos),
4311
+ triggerAnimationEvent: false
4312
+ };
4313
+
4314
+ this._animateLoop(newParam, function () {
4315
+ return _this._removeAnimationParam();
4316
+ });
4317
+ }
4318
+ };
4319
+
4360
4320
  __proto.animateTo = function (destPos, duration, option) {
4361
4321
  var _this = this;
4362
4322
 
@@ -4384,6 +4344,7 @@ version: 4.10.4
4384
4344
  destPos: userWish.destPos,
4385
4345
  duration: userWish.duration,
4386
4346
  delta: this.axisManager.getDelta(depaPos, userWish.destPos),
4347
+ triggerAnimationEvent: true,
4387
4348
  isTrusted: !!inputEvent,
4388
4349
  inputEvent: inputEvent,
4389
4350
  input: (option === null || option === void 0 ? void 0 : option.input) || null
@@ -4459,6 +4420,7 @@ version: 4.10.4
4459
4420
  destPos: destPos,
4460
4421
  duration: clamp(duration, this._options.minimumDuration, this._options.maximumDuration),
4461
4422
  delta: this.axisManager.getDelta(depaPos, destPos),
4423
+ triggerAnimationEvent: true,
4462
4424
  inputEvent: inputEvent,
4463
4425
  input: (option === null || option === void 0 ? void 0 : option.input) || null,
4464
4426
  isTrusted: !!inputEvent,
@@ -4466,6 +4428,16 @@ version: 4.10.4
4466
4428
  };
4467
4429
  };
4468
4430
 
4431
+ __proto._removeAnimationParam = function () {
4432
+ this._animateParam = null;
4433
+
4434
+ if (this._raf) {
4435
+ cancelAnimationFrame(this._raf);
4436
+ }
4437
+
4438
+ this._raf = null;
4439
+ };
4440
+
4469
4441
  __proto._animateLoop = function (param, complete) {
4470
4442
  var _this = this;
4471
4443
 
@@ -4510,15 +4482,15 @@ version: 4.10.4
4510
4482
  complete();
4511
4483
  }
4512
4484
  };
4513
- /**
4514
- * Get estimated final value.
4515
- *
4516
- * If destPos is within the 'error range' of the original intended position, the initial intended position is returned.
4517
- * - eg. original intended pos: 100, destPos: 100.0000000004 ==> return 100;
4518
- * 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.
4519
- * - eg. original intended pos: 100.123 destPos: 50.12345 => return 50.123
4520
- * @param originalIntendedPos
4521
- * @param destPos
4485
+ /**
4486
+ * Get estimated final value.
4487
+ *
4488
+ * If destPos is within the 'error range' of the original intended position, the initial intended position is returned.
4489
+ * - eg. original intended pos: 100, destPos: 100.0000000004 ==> return 100;
4490
+ * 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.
4491
+ * - eg. original intended pos: 100.123 destPos: 50.12345 => return 50.123
4492
+ * @param originalIntendedPos
4493
+ * @param destPos
4522
4494
  */
4523
4495
 
4524
4496
 
@@ -4675,116 +4647,116 @@ version: 4.10.4
4675
4647
  return EasingManager;
4676
4648
  }(AnimationManager);
4677
4649
 
4678
- /**
4679
- * @typedef {Object} AxisOption The Axis information. The key of the axis specifies the name to use as the logical virtual coordinate system.
4680
- * @ko 축 정보. 축의 키는 논리적인 가상 좌표계로 사용할 이름을 지정한다.
4681
- * @param {Number[]} [range] The range of coordinate <ko>좌표 범위</ko>
4682
- * @param {Number} [range[0]=0] The coordinate of the minimum <ko>최소 좌표</ko>
4683
- * @param {Number} [range[1]=0] The coordinate of the maximum <ko>최대 좌표</ko>
4684
- * @param {Number} [startPos=range[0]] The coordinates to be moved when creating an instance <ko>인스턴스 생성시 이동할 좌표</ko>
4685
- * @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>
4686
- * @param {Number} [bounce[0]=0] The size of coordinate of the minimum area <ko>최소 좌표 바운스 영역의 크기</ko>
4687
- * @param {Number} [bounce[1]=0] The size of coordinate of the maximum area <ko>최대 좌표 바운스 영역의 크기</ko>
4688
- * @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>
4689
- * @param {Boolean} [circular[0]=false] Indicates whether to circulate to the coordinate of the minimum <ko>최소 좌표 방향의 순환 여부</ko>
4690
- * @param {Boolean} [circular[1]=false] Indicates whether to circulate to the coordinate of the maximum <ko>최대 좌표 방향의 순환 여부</ko>
4650
+ /**
4651
+ * @typedef {Object} AxisOption The Axis information. The key of the axis specifies the name to use as the logical virtual coordinate system.
4652
+ * @ko 축 정보. 축의 키는 논리적인 가상 좌표계로 사용할 이름을 지정한다.
4653
+ * @param {Number[]} [range] The range of coordinate <ko>좌표 범위</ko>
4654
+ * @param {Number} [range[0]=0] The coordinate of the minimum <ko>최소 좌표</ko>
4655
+ * @param {Number} [range[1]=0] The coordinate of the maximum <ko>최대 좌표</ko>
4656
+ * @param {Number} [startPos=range[0]] The coordinates to be moved when creating an instance <ko>인스턴스 생성시 이동할 좌표</ko>
4657
+ * @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>
4658
+ * @param {Number} [bounce[0]=0] The size of coordinate of the minimum area <ko>최소 좌표 바운스 영역의 크기</ko>
4659
+ * @param {Number} [bounce[1]=0] The size of coordinate of the maximum area <ko>최대 좌표 바운스 영역의 크기</ko>
4660
+ * @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>
4661
+ * @param {Boolean} [circular[0]=false] Indicates whether to circulate to the coordinate of the minimum <ko>최소 좌표 방향의 순환 여부</ko>
4662
+ * @param {Boolean} [circular[1]=false] Indicates whether to circulate to the coordinate of the maximum <ko>최대 좌표 방향의 순환 여부</ko>
4691
4663
  **/
4692
4664
 
4693
- /**
4694
- * @typedef {Object} AxesOption The option object of the eg.Axes module
4695
- * @ko eg.Axes 모듈의 옵션 객체
4696
- * @param {Function} [easing=easing.easeOutCubic] The easing function to apply to an animation <ko>애니메이션에 적용할 easing 함수</ko>
4697
- * @param {Number} [maximumDuration=Infinity] Maximum duration of the animation <ko>가속도에 의해 애니메이션이 동작할 때의 최대 좌표 이동 시간</ko>
4698
- * @param {Number} [minimumDuration=0] Minimum duration of the animation <ko>가속도에 의해 애니메이션이 동작할 때의 최소 좌표 이동 시간</ko>
4699
- * @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>
4700
- * @param {Boolean} [interruptable=true] Indicates whether an animation is interruptible.
4701
- * - true: It can be paused or stopped by user action or the API.
4702
- * - false: It cannot be paused or stopped by user action or the API while it is running.
4703
- * <ko>진행 중인 애니메이션 중지 가능 여부.
4704
- * - true: 사용자의 동작이나 API로 애니메이션을 중지할 수 있다.
4705
- * - false: 애니메이션이 진행 중일 때는 사용자의 동작이나 API가 적용되지 않는다</ko>
4706
- * @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)
4707
- * [Details](https://github.com/naver/egjs-axes/wiki/round-option)<ko>반올림 단위. 예를 들어 0.1 은 소숫점 0.1 까지 반올림(6.1234 => 6.1), 5 는 5 단위로 반올림(93 => 95).
4708
- * [상세내용](https://github.com/naver/egjs-axes/wiki/round-option)</ko>
4709
- * @param {Boolean} [nested=false] Whether the event propagates to other instances when the coordinates reach the end of the movable area <ko>좌표가 이동 가능한 영역의 끝까지 도달했을 때 다른 인스턴스들로의 이벤트 전파 여부</ko>
4665
+ /**
4666
+ * @typedef {Object} AxesOption The option object of the eg.Axes module
4667
+ * @ko eg.Axes 모듈의 옵션 객체
4668
+ * @param {Function} [easing=easing.easeOutCubic] The easing function to apply to an animation <ko>애니메이션에 적용할 easing 함수</ko>
4669
+ * @param {Number} [maximumDuration=Infinity] Maximum duration of the animation <ko>가속도에 의해 애니메이션이 동작할 때의 최대 좌표 이동 시간</ko>
4670
+ * @param {Number} [minimumDuration=0] Minimum duration of the animation <ko>가속도에 의해 애니메이션이 동작할 때의 최소 좌표 이동 시간</ko>
4671
+ * @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>
4672
+ * @param {Boolean} [interruptable=true] Indicates whether an animation is interruptible.
4673
+ * - true: It can be paused or stopped by user action or the API.
4674
+ * - false: It cannot be paused or stopped by user action or the API while it is running.
4675
+ * <ko>진행 중인 애니메이션 중지 가능 여부.
4676
+ * - true: 사용자의 동작이나 API로 애니메이션을 중지할 수 있다.
4677
+ * - false: 애니메이션이 진행 중일 때는 사용자의 동작이나 API가 적용되지 않는다</ko>
4678
+ * @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)
4679
+ * [Details](https://github.com/naver/egjs-axes/wiki/round-option)<ko>반올림 단위. 예를 들어 0.1 은 소숫점 0.1 까지 반올림(6.1234 => 6.1), 5 는 5 단위로 반올림(93 => 95).
4680
+ * [상세내용](https://github.com/naver/egjs-axes/wiki/round-option)</ko>
4681
+ * @param {Boolean} [nested=false] Whether the event propagates to other instances when the coordinates reach the end of the movable area <ko>좌표가 이동 가능한 영역의 끝까지 도달했을 때 다른 인스턴스들로의 이벤트 전파 여부</ko>
4710
4682
  **/
4711
4683
 
4712
- /**
4713
- * 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.
4714
- * @ko 터치 입력 장치나 마우스와 같은 다양한 입력 장치를 통해 전달 받은 사용자의 동작을 논리적인 가상 좌표로 변경하는 모듈이다. 사용자 동작에 반응하는 UI를 손쉽게 만들수 있다.
4715
- * @extends eg.Component
4716
- *
4717
- * @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>
4718
- * @param {AxesOption} [options={}] The option object of the eg.Axes module<ko>eg.Axes 모듈의 옵션 객체</ko>
4719
- * @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>
4720
- *
4721
- * @support {"ie": "10+", "ch" : "latest", "ff" : "latest", "sf" : "latest", "edge" : "latest", "ios" : "7+", "an" : "2.3+ (except 3.x)"}
4722
- * @example
4723
- * ```js
4724
- * // 1. Initialize eg.Axes
4725
- * const axes = new eg.Axes({
4726
- * something1: {
4727
- * range: [0, 150],
4728
- * bounce: 50
4729
- * },
4730
- * something2: {
4731
- * range: [0, 200],
4732
- * bounce: 100
4733
- * },
4734
- * somethingN: {
4735
- * range: [1, 10],
4736
- * }
4737
- * }, {
4738
- * deceleration : 0.0024
4739
- * });
4740
- *
4741
- * // 2. attach event handler
4742
- * axes.on({
4743
- * "hold" : function(evt) {
4744
- * },
4745
- * "release" : function(evt) {
4746
- * },
4747
- * "animationStart" : function(evt) {
4748
- * },
4749
- * "animationEnd" : function(evt) {
4750
- * },
4751
- * "change" : function(evt) {
4752
- * }
4753
- * });
4754
- *
4755
- * // 3. Initialize inputTypes
4756
- * const panInputArea = new eg.Axes.PanInput("#area", {
4757
- * scale: [0.5, 1]
4758
- * });
4759
- * const panInputHmove = new eg.Axes.PanInput("#hmove");
4760
- * const panInputVmove = new eg.Axes.PanInput("#vmove");
4761
- * const pinchInputArea = new eg.Axes.PinchInput("#area", {
4762
- * scale: 1.5
4763
- * });
4764
- *
4765
- * // 4. Connect eg.Axes and InputTypes
4766
- * // [PanInput] When the mouse or touchscreen is down and moved.
4767
- * // Connect the 'something2' axis to the mouse or touchscreen x position and
4768
- * // connect the 'somethingN' axis to the mouse or touchscreen y position.
4769
- * axes.connect(["something2", "somethingN"], panInputArea); // or axes.connect("something2 somethingN", panInputArea);
4770
- *
4771
- * // Connect only one 'something1' axis to the mouse or touchscreen x position.
4772
- * axes.connect(["something1"], panInputHmove); // or axes.connect("something1", panInputHmove);
4773
- *
4774
- * // Connect only one 'something2' axis to the mouse or touchscreen y position.
4775
- * axes.connect(["", "something2"], panInputVmove); // or axes.connect(" something2", panInputVmove);
4776
- *
4777
- * // [PinchInput] Connect 'something2' axis when two pointers are moving toward (zoom-in) or away from each other (zoom-out).
4778
- * axes.connect("something2", pinchInputArea);
4779
- * ```
4684
+ /**
4685
+ * 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.
4686
+ * @ko 터치 입력 장치나 마우스와 같은 다양한 입력 장치를 통해 전달 받은 사용자의 동작을 논리적인 가상 좌표로 변경하는 모듈이다. 사용자 동작에 반응하는 UI를 손쉽게 만들수 있다.
4687
+ * @extends eg.Component
4688
+ *
4689
+ * @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>
4690
+ * @param {AxesOption} [options={}] The option object of the eg.Axes module<ko>eg.Axes 모듈의 옵션 객체</ko>
4691
+ * @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>
4692
+ *
4693
+ * @support {"ie": "10+", "ch" : "latest", "ff" : "latest", "sf" : "latest", "edge" : "latest", "ios" : "7+", "an" : "2.3+ (except 3.x)"}
4694
+ * @example
4695
+ * ```js
4696
+ * // 1. Initialize eg.Axes
4697
+ * const axes = new eg.Axes({
4698
+ * something1: {
4699
+ * range: [0, 150],
4700
+ * bounce: 50
4701
+ * },
4702
+ * something2: {
4703
+ * range: [0, 200],
4704
+ * bounce: 100
4705
+ * },
4706
+ * somethingN: {
4707
+ * range: [1, 10],
4708
+ * }
4709
+ * }, {
4710
+ * deceleration : 0.0024
4711
+ * });
4712
+ *
4713
+ * // 2. attach event handler
4714
+ * axes.on({
4715
+ * "hold" : function(evt) {
4716
+ * },
4717
+ * "release" : function(evt) {
4718
+ * },
4719
+ * "animationStart" : function(evt) {
4720
+ * },
4721
+ * "animationEnd" : function(evt) {
4722
+ * },
4723
+ * "change" : function(evt) {
4724
+ * }
4725
+ * });
4726
+ *
4727
+ * // 3. Initialize inputTypes
4728
+ * const panInputArea = new eg.Axes.PanInput("#area", {
4729
+ * scale: [0.5, 1]
4730
+ * });
4731
+ * const panInputHmove = new eg.Axes.PanInput("#hmove");
4732
+ * const panInputVmove = new eg.Axes.PanInput("#vmove");
4733
+ * const pinchInputArea = new eg.Axes.PinchInput("#area", {
4734
+ * scale: 1.5
4735
+ * });
4736
+ *
4737
+ * // 4. Connect eg.Axes and InputTypes
4738
+ * // [PanInput] When the mouse or touchscreen is down and moved.
4739
+ * // Connect the 'something2' axis to the mouse or touchscreen x position and
4740
+ * // connect the 'somethingN' axis to the mouse or touchscreen y position.
4741
+ * axes.connect(["something2", "somethingN"], panInputArea); // or axes.connect("something2 somethingN", panInputArea);
4742
+ *
4743
+ * // Connect only one 'something1' axis to the mouse or touchscreen x position.
4744
+ * axes.connect(["something1"], panInputHmove); // or axes.connect("something1", panInputHmove);
4745
+ *
4746
+ * // Connect only one 'something2' axis to the mouse or touchscreen y position.
4747
+ * axes.connect(["", "something2"], panInputVmove); // or axes.connect(" something2", panInputVmove);
4748
+ *
4749
+ * // [PinchInput] Connect 'something2' axis when two pointers are moving toward (zoom-in) or away from each other (zoom-out).
4750
+ * axes.connect("something2", pinchInputArea);
4751
+ * ```
4780
4752
  */
4781
4753
 
4782
4754
  var Axes =
4783
4755
  /*#__PURE__*/
4784
4756
  function (_super) {
4785
4757
  __extends$1(Axes, _super);
4786
- /**
4787
- *
4758
+ /**
4759
+ *
4788
4760
  */
4789
4761
 
4790
4762
 
@@ -4831,30 +4803,30 @@ version: 4.10.4
4831
4803
 
4832
4804
  return _this;
4833
4805
  }
4834
- /**
4835
- * Connect the axis of eg.Axes to the inputType.
4836
- * @ko eg.Axes의 축과 inputType을 연결한다
4837
- * @param {(String[]|String)} axes The name of the axis to associate with inputType <ko>inputType과 연결할 축의 이름</ko>
4838
- * @param {Object} inputType The inputType instance to associate with the axis of eg.Axes <ko>eg.Axes의 축과 연결할 inputType 인스턴스</ko>
4839
- * @return {eg.Axes} An instance of a module itself <ko>모듈 자신의 인스턴스</ko>
4840
- * @example
4841
- * ```js
4842
- * const axes = new eg.Axes({
4843
- * "x": {
4844
- * range: [0, 100]
4845
- * },
4846
- * "xOther": {
4847
- * range: [-100, 100]
4848
- * }
4849
- * });
4850
- *
4851
- * axes.connect("x", new eg.Axes.PanInput("#area1"))
4852
- * .connect("x xOther", new eg.Axes.PanInput("#area2"))
4853
- * .connect(" xOther", new eg.Axes.PanInput("#area3"))
4854
- * .connect(["x"], new eg.Axes.PanInput("#area4"))
4855
- * .connect(["xOther", "x"], new eg.Axes.PanInput("#area5"))
4856
- * .connect(["", "xOther"], new eg.Axes.PanInput("#area6"));
4857
- * ```
4806
+ /**
4807
+ * Connect the axis of eg.Axes to the inputType.
4808
+ * @ko eg.Axes의 축과 inputType을 연결한다
4809
+ * @param {(String[]|String)} axes The name of the axis to associate with inputType <ko>inputType과 연결할 축의 이름</ko>
4810
+ * @param {Object} inputType The inputType instance to associate with the axis of eg.Axes <ko>eg.Axes의 축과 연결할 inputType 인스턴스</ko>
4811
+ * @return {eg.Axes} An instance of a module itself <ko>모듈 자신의 인스턴스</ko>
4812
+ * @example
4813
+ * ```js
4814
+ * const axes = new eg.Axes({
4815
+ * "x": {
4816
+ * range: [0, 100]
4817
+ * },
4818
+ * "xOther": {
4819
+ * range: [-100, 100]
4820
+ * }
4821
+ * });
4822
+ *
4823
+ * axes.connect("x", new eg.Axes.PanInput("#area1"))
4824
+ * .connect("x xOther", new eg.Axes.PanInput("#area2"))
4825
+ * .connect(" xOther", new eg.Axes.PanInput("#area3"))
4826
+ * .connect(["x"], new eg.Axes.PanInput("#area4"))
4827
+ * .connect(["xOther", "x"], new eg.Axes.PanInput("#area5"))
4828
+ * .connect(["", "xOther"], new eg.Axes.PanInput("#area6"));
4829
+ * ```
4858
4830
  */
4859
4831
 
4860
4832
 
@@ -4881,33 +4853,33 @@ version: 4.10.4
4881
4853
 
4882
4854
  return this;
4883
4855
  };
4884
- /**
4885
- * Disconnect the axis of eg.Axes from the inputType.
4886
- * @ko eg.Axes의 축과 inputType의 연결을 끊는다.
4887
- * @param {Object} [inputType] An inputType instance associated with the axis of eg.Axes <ko>eg.Axes의 축과 연결한 inputType 인스턴스</ko>
4888
- * @return {eg.Axes} An instance of a module itself <ko>모듈 자신의 인스턴스</ko>
4889
- * @example
4890
- * ```js
4891
- * const axes = new eg.Axes({
4892
- * "x": {
4893
- * range: [0, 100]
4894
- * },
4895
- * "xOther": {
4896
- * range: [-100, 100]
4897
- * }
4898
- * });
4899
- *
4900
- * const input1 = new eg.Axes.PanInput("#area1");
4901
- * const input2 = new eg.Axes.PanInput("#area2");
4902
- * const input3 = new eg.Axes.PanInput("#area3");
4903
- *
4904
- * axes.connect("x", input1);
4905
- * .connect("x xOther", input2)
4906
- * .connect(["xOther", "x"], input3);
4907
- *
4908
- * axes.disconnect(input1); // disconnects input1
4909
- * axes.disconnect(); // disconnects all of them
4910
- * ```
4856
+ /**
4857
+ * Disconnect the axis of eg.Axes from the inputType.
4858
+ * @ko eg.Axes의 축과 inputType의 연결을 끊는다.
4859
+ * @param {Object} [inputType] An inputType instance associated with the axis of eg.Axes <ko>eg.Axes의 축과 연결한 inputType 인스턴스</ko>
4860
+ * @return {eg.Axes} An instance of a module itself <ko>모듈 자신의 인스턴스</ko>
4861
+ * @example
4862
+ * ```js
4863
+ * const axes = new eg.Axes({
4864
+ * "x": {
4865
+ * range: [0, 100]
4866
+ * },
4867
+ * "xOther": {
4868
+ * range: [-100, 100]
4869
+ * }
4870
+ * });
4871
+ *
4872
+ * const input1 = new eg.Axes.PanInput("#area1");
4873
+ * const input2 = new eg.Axes.PanInput("#area2");
4874
+ * const input3 = new eg.Axes.PanInput("#area3");
4875
+ *
4876
+ * axes.connect("x", input1);
4877
+ * .connect("x xOther", input2)
4878
+ * .connect(["xOther", "x"], input3);
4879
+ *
4880
+ * axes.disconnect(input1); // disconnects input1
4881
+ * axes.disconnect(); // disconnects all of them
4882
+ * ```
4911
4883
  */
4912
4884
 
4913
4885
 
@@ -4930,62 +4902,62 @@ version: 4.10.4
4930
4902
 
4931
4903
  return this;
4932
4904
  };
4933
- /**
4934
- * Returns the current position of the coordinates.
4935
- * @ko 좌표의 현재 위치를 반환한다
4936
- * @param {Object} [axes] The names of the axis <ko>축 이름들</ko>
4937
- * @return {Object.<string, number>} Axis coordinate information <ko>축 좌표 정보</ko>
4938
- * @example
4939
- * ```js
4940
- * const axes = new eg.Axes({
4941
- * "x": {
4942
- * range: [0, 100]
4943
- * },
4944
- * "xOther": {
4945
- * range: [-100, 100]
4946
- * },
4947
- * "zoom": {
4948
- * range: [50, 30]
4949
- * }
4950
- * });
4951
- *
4952
- * axes.get(); // {"x": 0, "xOther": -100, "zoom": 50}
4953
- * axes.get(["x", "zoom"]); // {"x": 0, "zoom": 50}
4954
- * ```
4905
+ /**
4906
+ * Returns the current position of the coordinates.
4907
+ * @ko 좌표의 현재 위치를 반환한다
4908
+ * @param {Object} [axes] The names of the axis <ko>축 이름들</ko>
4909
+ * @return {Object.<string, number>} Axis coordinate information <ko>축 좌표 정보</ko>
4910
+ * @example
4911
+ * ```js
4912
+ * const axes = new eg.Axes({
4913
+ * "x": {
4914
+ * range: [0, 100]
4915
+ * },
4916
+ * "xOther": {
4917
+ * range: [-100, 100]
4918
+ * },
4919
+ * "zoom": {
4920
+ * range: [50, 30]
4921
+ * }
4922
+ * });
4923
+ *
4924
+ * axes.get(); // {"x": 0, "xOther": -100, "zoom": 50}
4925
+ * axes.get(["x", "zoom"]); // {"x": 0, "zoom": 50}
4926
+ * ```
4955
4927
  */
4956
4928
 
4957
4929
 
4958
4930
  __proto.get = function (axes) {
4959
4931
  return this.axisManager.get(axes);
4960
4932
  };
4961
- /**
4962
- * Moves an axis to specific coordinates.
4963
- * @ko 좌표를 이동한다.
4964
- * @param {Object.<string, number>} pos The coordinate to move to <ko>이동할 좌표</ko>
4965
- * @param {Number} [duration=0] Duration of the animation (unit: ms) <ko>애니메이션 진행 시간(단위: ms)</ko>
4966
- * @return {eg.Axes} An instance of a module itself <ko>모듈 자신의 인스턴스</ko>
4967
- * @example
4968
- * ```js
4969
- * const axes = new eg.Axes({
4970
- * "x": {
4971
- * range: [0, 100]
4972
- * },
4973
- * "xOther": {
4974
- * range: [-100, 100]
4975
- * },
4976
- * "zoom": {
4977
- * range: [50, 30]
4978
- * }
4979
- * });
4980
- *
4981
- * axes.setTo({"x": 30, "zoom": 60});
4982
- * axes.get(); // {"x": 30, "xOther": -100, "zoom": 60}
4983
- *
4984
- * axes.setTo({"x": 100, "xOther": 60}, 1000); // animatation
4985
- *
4986
- * // after 1000 ms
4987
- * axes.get(); // {"x": 100, "xOther": 60, "zoom": 60}
4988
- * ```
4933
+ /**
4934
+ * Moves an axis to specific coordinates.
4935
+ * @ko 좌표를 이동한다.
4936
+ * @param {Object.<string, number>} pos The coordinate to move to <ko>이동할 좌표</ko>
4937
+ * @param {Number} [duration=0] Duration of the animation (unit: ms) <ko>애니메이션 진행 시간(단위: ms)</ko>
4938
+ * @return {eg.Axes} An instance of a module itself <ko>모듈 자신의 인스턴스</ko>
4939
+ * @example
4940
+ * ```js
4941
+ * const axes = new eg.Axes({
4942
+ * "x": {
4943
+ * range: [0, 100]
4944
+ * },
4945
+ * "xOther": {
4946
+ * range: [-100, 100]
4947
+ * },
4948
+ * "zoom": {
4949
+ * range: [50, 30]
4950
+ * }
4951
+ * });
4952
+ *
4953
+ * axes.setTo({"x": 30, "zoom": 60});
4954
+ * axes.get(); // {"x": 30, "xOther": -100, "zoom": 60}
4955
+ *
4956
+ * axes.setTo({"x": 100, "xOther": 60}, 1000); // animatation
4957
+ *
4958
+ * // after 1000 ms
4959
+ * axes.get(); // {"x": 100, "xOther": 60, "zoom": 60}
4960
+ * ```
4989
4961
  */
4990
4962
 
4991
4963
 
@@ -4997,34 +4969,34 @@ version: 4.10.4
4997
4969
  this.animationManager.setTo(pos, duration);
4998
4970
  return this;
4999
4971
  };
5000
- /**
5001
- * Moves an axis from the current coordinates to specific coordinates.
5002
- * @ko 현재 좌표를 기준으로 좌표를 이동한다.
5003
- * @param {Object.<string, number>} pos The coordinate to move to <ko>이동할 좌표</ko>
5004
- * @param {Number} [duration=0] Duration of the animation (unit: ms) <ko>애니메이션 진행 시간(단위: ms)</ko>
5005
- * @return {eg.Axes} An instance of a module itself <ko>모듈 자신의 인스턴스</ko>
5006
- * @example
5007
- * ```js
5008
- * const axes = new eg.Axes({
5009
- * "x": {
5010
- * range: [0, 100]
5011
- * },
5012
- * "xOther": {
5013
- * range: [-100, 100]
5014
- * },
5015
- * "zoom": {
5016
- * range: [50, 30]
5017
- * }
5018
- * });
5019
- *
5020
- * axes.setBy({"x": 30, "zoom": 10});
5021
- * axes.get(); // {"x": 30, "xOther": -100, "zoom": 60}
5022
- *
5023
- * axes.setBy({"x": 70, "xOther": 60}, 1000); // animatation
5024
- *
5025
- * // after 1000 ms
5026
- * axes.get(); // {"x": 100, "xOther": -40, "zoom": 60}
5027
- * ```
4972
+ /**
4973
+ * Moves an axis from the current coordinates to specific coordinates.
4974
+ * @ko 현재 좌표를 기준으로 좌표를 이동한다.
4975
+ * @param {Object.<string, number>} pos The coordinate to move to <ko>이동할 좌표</ko>
4976
+ * @param {Number} [duration=0] Duration of the animation (unit: ms) <ko>애니메이션 진행 시간(단위: ms)</ko>
4977
+ * @return {eg.Axes} An instance of a module itself <ko>모듈 자신의 인스턴스</ko>
4978
+ * @example
4979
+ * ```js
4980
+ * const axes = new eg.Axes({
4981
+ * "x": {
4982
+ * range: [0, 100]
4983
+ * },
4984
+ * "xOther": {
4985
+ * range: [-100, 100]
4986
+ * },
4987
+ * "zoom": {
4988
+ * range: [50, 30]
4989
+ * }
4990
+ * });
4991
+ *
4992
+ * axes.setBy({"x": 30, "zoom": 10});
4993
+ * axes.get(); // {"x": 30, "xOther": -100, "zoom": 60}
4994
+ *
4995
+ * axes.setBy({"x": 70, "xOther": 60}, 1000); // animatation
4996
+ *
4997
+ * // after 1000 ms
4998
+ * axes.get(); // {"x": 100, "xOther": -40, "zoom": 60}
4999
+ * ```
5028
5000
  */
5029
5001
 
5030
5002
 
@@ -5036,31 +5008,31 @@ version: 4.10.4
5036
5008
  this.animationManager.setBy(pos, duration);
5037
5009
  return this;
5038
5010
  };
5039
- /**
5040
- * Change the options of Axes instance.
5041
- * @ko 인스턴스의 옵션을 변경한다.
5042
- * @param {AxesOption} options Axes options to change <ko>변경할 옵션 목록</ko>
5043
- * @return {eg.Axes} An instance of a module itself <ko>모듈 자신의 인스턴스</ko>
5044
- * @example
5045
- * ```js
5046
- * const axes = new eg.Axes({
5047
- * "x": {
5048
- * range: [0, 100]
5049
- * },
5050
- * }, {
5051
- * round: 10,
5052
- * });
5053
- *
5054
- * axes.setTo({"x": 48});
5055
- * axes.get(); // {"x": 50}
5056
- *
5057
- * axes.setOptions({
5058
- * round: 1,
5059
- * });
5060
- *
5061
- * axes.setTo({"x": 48});
5062
- * axes.get(); // {"x": 48}
5063
- * ```
5011
+ /**
5012
+ * Change the options of Axes instance.
5013
+ * @ko 인스턴스의 옵션을 변경한다.
5014
+ * @param {AxesOption} options Axes options to change <ko>변경할 옵션 목록</ko>
5015
+ * @return {eg.Axes} An instance of a module itself <ko>모듈 자신의 인스턴스</ko>
5016
+ * @example
5017
+ * ```js
5018
+ * const axes = new eg.Axes({
5019
+ * "x": {
5020
+ * range: [0, 100]
5021
+ * },
5022
+ * }, {
5023
+ * round: 10,
5024
+ * });
5025
+ *
5026
+ * axes.setTo({"x": 48});
5027
+ * axes.get(); // {"x": 50}
5028
+ *
5029
+ * axes.setOptions({
5030
+ * round: 1,
5031
+ * });
5032
+ *
5033
+ * axes.setTo({"x": 48});
5034
+ * axes.get(); // {"x": 48}
5035
+ * ```
5064
5036
  */
5065
5037
 
5066
5038
 
@@ -5068,31 +5040,31 @@ version: 4.10.4
5068
5040
  this.options = __assign$1(__assign$1({}, this.options), options);
5069
5041
  return this;
5070
5042
  };
5071
- /**
5072
- * Change the information of an existing axis.
5073
- * @ko 존재하는 축의 정보를 변경한다.
5074
- * @param {Object.<string, AxisOption>} axis Axis options to change <ko>변경할 축의 정보</ko>
5075
- * @return {eg.Axes} An instance of a module itself <ko>모듈 자신의 인스턴스</ko>
5076
- * @example
5077
- * ```js
5078
- * const axes = new eg.Axes({
5079
- * "x": {
5080
- * range: [0, 100]
5081
- * },
5082
- * });
5083
- *
5084
- * axes.setTo({"x": 150});
5085
- * axes.get(); // {"x": 100}
5086
- *
5087
- * axes.setAxis({
5088
- * "x": {
5089
- * range: [0, 200]
5090
- * },
5091
- * });
5092
- *
5093
- * axes.setTo({"x": 150});
5094
- * axes.get(); // {"x": 150}
5095
- * ```
5043
+ /**
5044
+ * Change the information of an existing axis.
5045
+ * @ko 존재하는 축의 정보를 변경한다.
5046
+ * @param {Object.<string, AxisOption>} axis Axis options to change <ko>변경할 축의 정보</ko>
5047
+ * @return {eg.Axes} An instance of a module itself <ko>모듈 자신의 인스턴스</ko>
5048
+ * @example
5049
+ * ```js
5050
+ * const axes = new eg.Axes({
5051
+ * "x": {
5052
+ * range: [0, 100]
5053
+ * },
5054
+ * });
5055
+ *
5056
+ * axes.setTo({"x": 150});
5057
+ * axes.get(); // {"x": 100}
5058
+ *
5059
+ * axes.setAxis({
5060
+ * "x": {
5061
+ * range: [0, 200]
5062
+ * },
5063
+ * });
5064
+ *
5065
+ * axes.setTo({"x": 150});
5066
+ * axes.get(); // {"x": 150}
5067
+ * ```
5096
5068
  */
5097
5069
 
5098
5070
 
@@ -5100,23 +5072,23 @@ version: 4.10.4
5100
5072
  this.axisManager.setAxis(axis);
5101
5073
  return this;
5102
5074
  };
5103
- /**
5104
- * Stop an animation in progress.
5105
- * @ko 재생 중인 애니메이션을 정지한다.
5106
- * @return {eg.Axes} An instance of a module itself <ko>모듈 자신의 인스턴스</ko>
5107
- * @example
5108
- * ```js
5109
- * const axes = new eg.Axes({
5110
- * "x": {
5111
- * range: [0, 100]
5112
- * },
5113
- * });
5114
- *
5115
- * axes.setTo({"x": 10}, 1000); // start animatation
5116
- *
5117
- * // after 500 ms
5118
- * axes.stopAnimation(); // stop animation during movement.
5119
- * ```
5075
+ /**
5076
+ * Stop an animation in progress.
5077
+ * @ko 재생 중인 애니메이션을 정지한다.
5078
+ * @return {eg.Axes} An instance of a module itself <ko>모듈 자신의 인스턴스</ko>
5079
+ * @example
5080
+ * ```js
5081
+ * const axes = new eg.Axes({
5082
+ * "x": {
5083
+ * range: [0, 100]
5084
+ * },
5085
+ * });
5086
+ *
5087
+ * axes.setTo({"x": 10}, 1000); // start animatation
5088
+ *
5089
+ * // after 500 ms
5090
+ * axes.stopAnimation(); // stop animation during movement.
5091
+ * ```
5120
5092
  */
5121
5093
 
5122
5094
 
@@ -5125,33 +5097,33 @@ version: 4.10.4
5125
5097
  this.animationManager.finish(false);
5126
5098
  return this;
5127
5099
  };
5128
- /**
5129
- * Change the destination of an animation in progress.
5130
- * @ko 재생 중인 애니메이션의 목적지와 진행 시간을 변경한다.
5131
- * @param {UpdateAnimationOption} pos The coordinate to move to <ko>이동할 좌표</ko>
5132
- * @return {eg.Axes} An instance of a module itself <ko>모듈 자신의 인스턴스</ko>
5133
- * @example
5134
- * ```js
5135
- * const axes = new eg.Axes({
5136
- * "x": {
5137
- * range: [0, 200]
5138
- * },
5139
- * "y": {
5140
- * range: [0, 200]
5141
- * }
5142
- * });
5143
- *
5144
- * axes.setTo({"x": 50, "y": 50}, 1000); // trigger animation by setTo
5145
- *
5146
- * // after 500 ms
5147
- * axes.updateAnimation({destPos: {"x": 100, "y": 100}}); // animation will end after 500 ms, at {"x": 100, "y": 100}
5148
- *
5149
- * // after 500 ms
5150
- * axes.setTo({"x": 50, "y": 50}, 1000); // trigger animation by setTo
5151
- *
5152
- * // after 700 ms
5153
- * 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.
5154
- * ```
5100
+ /**
5101
+ * Change the destination of an animation in progress.
5102
+ * @ko 재생 중인 애니메이션의 목적지와 진행 시간을 변경한다.
5103
+ * @param {UpdateAnimationOption} pos The coordinate to move to <ko>이동할 좌표</ko>
5104
+ * @return {eg.Axes} An instance of a module itself <ko>모듈 자신의 인스턴스</ko>
5105
+ * @example
5106
+ * ```js
5107
+ * const axes = new eg.Axes({
5108
+ * "x": {
5109
+ * range: [0, 200]
5110
+ * },
5111
+ * "y": {
5112
+ * range: [0, 200]
5113
+ * }
5114
+ * });
5115
+ *
5116
+ * axes.setTo({"x": 50, "y": 50}, 1000); // trigger animation by setTo
5117
+ *
5118
+ * // after 500 ms
5119
+ * axes.updateAnimation({destPos: {"x": 100, "y": 100}}); // animation will end after 500 ms, at {"x": 100, "y": 100}
5120
+ *
5121
+ * // after 500 ms
5122
+ * axes.setTo({"x": 50, "y": 50}, 1000); // trigger animation by setTo
5123
+ *
5124
+ * // after 700 ms
5125
+ * 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.
5126
+ * ```
5155
5127
  */
5156
5128
 
5157
5129
 
@@ -5159,38 +5131,38 @@ version: 4.10.4
5159
5131
  this.animationManager.updateAnimation(options);
5160
5132
  return this;
5161
5133
  };
5162
- /**
5163
- * Returns whether there is a coordinate in the bounce area of ​​the target axis.
5164
- * @ko 대상 축 중 bounce영역에 좌표가 존재하는지를 반환한다
5165
- * @param {Object} [axes] The names of the axis <ko>축 이름들</ko>
5166
- * @return {Boolen} Whether the bounce area exists. <ko>bounce 영역 존재 여부</ko>
5167
- * @example
5168
- * ```js
5169
- * const axes = new eg.Axes({
5170
- * "x": {
5171
- * range: [0, 100]
5172
- * },
5173
- * "xOther": {
5174
- * range: [-100, 100]
5175
- * },
5176
- * "zoom": {
5177
- * range: [50, 30]
5178
- * }
5179
- * });
5180
- *
5181
- * axes.isBounceArea(["x"]);
5182
- * axes.isBounceArea(["x", "zoom"]);
5183
- * axes.isBounceArea();
5184
- * ```
5134
+ /**
5135
+ * Returns whether there is a coordinate in the bounce area of ​​the target axis.
5136
+ * @ko 대상 축 중 bounce영역에 좌표가 존재하는지를 반환한다
5137
+ * @param {Object} [axes] The names of the axis <ko>축 이름들</ko>
5138
+ * @return {Boolen} Whether the bounce area exists. <ko>bounce 영역 존재 여부</ko>
5139
+ * @example
5140
+ * ```js
5141
+ * const axes = new eg.Axes({
5142
+ * "x": {
5143
+ * range: [0, 100]
5144
+ * },
5145
+ * "xOther": {
5146
+ * range: [-100, 100]
5147
+ * },
5148
+ * "zoom": {
5149
+ * range: [50, 30]
5150
+ * }
5151
+ * });
5152
+ *
5153
+ * axes.isBounceArea(["x"]);
5154
+ * axes.isBounceArea(["x", "zoom"]);
5155
+ * axes.isBounceArea();
5156
+ * ```
5185
5157
  */
5186
5158
 
5187
5159
 
5188
5160
  __proto.isBounceArea = function (axes) {
5189
5161
  return this.axisManager.isOutside(axes);
5190
5162
  };
5191
- /**
5192
- * Destroys properties, and events used in a module and disconnect all connections to inputTypes.
5193
- * @ko 모듈에 사용한 속성, 이벤트를 해제한다. 모든 inputType과의 연결을 끊는다.
5163
+ /**
5164
+ * Destroys properties, and events used in a module and disconnect all connections to inputTypes.
5165
+ * @ko 모듈에 사용한 속성, 이벤트를 해제한다. 모든 inputType과의 연결을 끊는다.
5194
5166
  */
5195
5167
 
5196
5168
 
@@ -5198,90 +5170,90 @@ version: 4.10.4
5198
5170
  this.disconnect();
5199
5171
  this.eventManager.destroy();
5200
5172
  };
5201
- /**
5202
- * @name VERSION
5203
- * @desc Version info string
5204
- * @ko 버전정보 문자열
5205
- *
5206
- * @constant
5207
- * @type {String}
5208
- * @example
5209
- * ```js
5210
- * eg.Axes.VERSION; // ex) 3.3.3
5211
- * ```
5173
+ /**
5174
+ * @name VERSION
5175
+ * @desc Version info string
5176
+ * @ko 버전정보 문자열
5177
+ *
5178
+ * @constant
5179
+ * @type {String}
5180
+ * @example
5181
+ * ```js
5182
+ * eg.Axes.VERSION; // ex) 3.3.3
5183
+ * ```
5212
5184
  */
5213
5185
 
5214
5186
 
5215
- Axes.VERSION = "3.8.3";
5187
+ Axes.VERSION = "3.8.1";
5216
5188
  /* eslint-enable */
5217
5189
 
5218
- /**
5219
- * @name TRANSFORM
5220
- * @desc Returns the transform attribute with CSS vendor prefixes.
5221
- * @ko CSS vendor prefixes를 붙인 transform 속성을 반환한다.
5222
- *
5223
- * @constant
5224
- * @type {String}
5225
- * @example
5226
- * ```js
5227
- * eg.Axes.TRANSFORM; // "transform" or "webkitTransform"
5228
- * ```
5190
+ /**
5191
+ * @name TRANSFORM
5192
+ * @desc Returns the transform attribute with CSS vendor prefixes.
5193
+ * @ko CSS vendor prefixes를 붙인 transform 속성을 반환한다.
5194
+ *
5195
+ * @constant
5196
+ * @type {String}
5197
+ * @example
5198
+ * ```js
5199
+ * eg.Axes.TRANSFORM; // "transform" or "webkitTransform"
5200
+ * ```
5229
5201
  */
5230
5202
 
5231
5203
  Axes.TRANSFORM = TRANSFORM;
5232
- /**
5233
- * @name DIRECTION_NONE
5234
- * @constant
5235
- * @type {Number}
5204
+ /**
5205
+ * @name DIRECTION_NONE
5206
+ * @constant
5207
+ * @type {Number}
5236
5208
  */
5237
5209
 
5238
5210
  Axes.DIRECTION_NONE = DIRECTION_NONE;
5239
- /**
5240
- * @name DIRECTION_LEFT
5241
- * @constant
5242
- * @type {Number}
5211
+ /**
5212
+ * @name DIRECTION_LEFT
5213
+ * @constant
5214
+ * @type {Number}
5243
5215
  */
5244
5216
 
5245
5217
  Axes.DIRECTION_LEFT = DIRECTION_LEFT;
5246
- /**
5247
- * @name DIRECTION_RIGHT
5248
- * @constant
5249
- * @type {Number}
5218
+ /**
5219
+ * @name DIRECTION_RIGHT
5220
+ * @constant
5221
+ * @type {Number}
5250
5222
  */
5251
5223
 
5252
5224
  Axes.DIRECTION_RIGHT = DIRECTION_RIGHT;
5253
- /**
5254
- * @name DIRECTION_UP
5255
- * @constant
5256
- * @type {Number}
5225
+ /**
5226
+ * @name DIRECTION_UP
5227
+ * @constant
5228
+ * @type {Number}
5257
5229
  */
5258
5230
 
5259
5231
  Axes.DIRECTION_UP = DIRECTION_UP;
5260
- /**
5261
- * @name DIRECTION_DOWN
5262
- * @constant
5263
- * @type {Number}
5232
+ /**
5233
+ * @name DIRECTION_DOWN
5234
+ * @constant
5235
+ * @type {Number}
5264
5236
  */
5265
5237
 
5266
5238
  Axes.DIRECTION_DOWN = DIRECTION_DOWN;
5267
- /**
5268
- * @name DIRECTION_HORIZONTAL
5269
- * @constant
5270
- * @type {Number}
5239
+ /**
5240
+ * @name DIRECTION_HORIZONTAL
5241
+ * @constant
5242
+ * @type {Number}
5271
5243
  */
5272
5244
 
5273
5245
  Axes.DIRECTION_HORIZONTAL = DIRECTION_HORIZONTAL;
5274
- /**
5275
- * @name DIRECTION_VERTICAL
5276
- * @constant
5277
- * @type {Number}
5246
+ /**
5247
+ * @name DIRECTION_VERTICAL
5248
+ * @constant
5249
+ * @type {Number}
5278
5250
  */
5279
5251
 
5280
5252
  Axes.DIRECTION_VERTICAL = DIRECTION_VERTICAL;
5281
- /**
5282
- * @name DIRECTION_ALL
5283
- * @constant
5284
- * @type {Number}
5253
+ /**
5254
+ * @name DIRECTION_ALL
5255
+ * @constant
5256
+ * @type {Number}
5285
5257
  */
5286
5258
 
5287
5259
  Axes.DIRECTION_ALL = DIRECTION_ALL;
@@ -5289,9 +5261,9 @@ version: 4.10.4
5289
5261
  return Axes;
5290
5262
  }(Component);
5291
5263
 
5292
- /*
5293
- * Copyright (c) 2015 NAVER Corp.
5294
- * egjs projects are licensed under the MIT license
5264
+ /*
5265
+ * Copyright (c) 2015 NAVER Corp.
5266
+ * egjs projects are licensed under the MIT license
5295
5267
  */
5296
5268
 
5297
5269
  var getDirectionByAngle = function (angle, thresholdAngle) {
@@ -5302,76 +5274,77 @@ version: 4.10.4
5302
5274
  var toAngle = Math.abs(angle);
5303
5275
  return toAngle > thresholdAngle && toAngle < 180 - thresholdAngle ? DIRECTION_VERTICAL : DIRECTION_HORIZONTAL;
5304
5276
  };
5305
- /**
5306
- * @typedef {Object} PanInputOption The option object of the eg.Axes.PanInput module.
5307
- * @ko eg.Axes.PanInput 모듈의 옵션 객체
5308
- * @param {String[]} [inputType=["touch", "mouse", "pointer"]] Types of input devices
5309
- * - touch: Touch screen
5310
- * - mouse: Mouse
5311
- * - pointer: Mouse and touch <ko>입력 장치 종류
5312
- * - touch: 터치 입력 장치
5313
- * - mouse: 마우스
5314
- * - pointer: 마우스 및 터치</ko>
5315
- * @param {String[]} [inputKey=["any"]] List of key combinations to allow input
5316
- * - any: any key
5317
- * - shift: shift key
5318
- * - ctrl: ctrl key and pinch gesture on the trackpad
5319
- * - alt: alt key
5320
- * - meta: meta key
5321
- * - none: none of these keys are pressed <ko>입력을 허용할 키 조합 목록
5322
- * - any: 아무 키
5323
- * - shift: shift 키
5324
- * - ctrl: ctrl 키 및 트랙패드의 pinch 제스쳐
5325
- * - alt: alt 키
5326
- * - meta: meta 키
5327
- * - none: 아무 키도 눌리지 않은 상태 </ko>
5328
- * @param {String[]} [inputButton=["left"]] List of buttons to allow input
5329
- * - left: Left mouse button and normal touch
5330
- * - middle: Mouse wheel press
5331
- * - right: Right mouse button <ko>입력을 허용할 버튼 목록
5332
- * - left: 마우스 왼쪽 버튼
5333
- * - middle: 마우스 휠 눌림
5334
- * - right: 마우스 오른쪽 버튼 </ko>
5335
- * @param {Number[]} [scale] Coordinate scale that a user can move<ko>사용자의 동작으로 이동하는 좌표의 배율</ko>
5336
- * @param {Number} [scale[0]=1] horizontal axis scale <ko>수평축 배율</ko>
5337
- * @param {Number} [scale[1]=1] vertical axis scale <ko>수직축 배율</ko>
5338
- * @param {Number} [thresholdAngle=45] The threshold value that determines whether user action is horizontal or vertical (0~90) <ko>사용자의 동작이 가로 방향인지 세로 방향인지 판단하는 기준 각도(0~90)</ko>
5339
- * @param {Number} [threshold=0] Minimal pan distance required before recognizing <ko>사용자의 Pan 동작을 인식하기 위해산 최소한의 거리</ko>
5340
- * @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>
5341
- * @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>
5342
- * @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>
5277
+ /**
5278
+ * @typedef {Object} PanInputOption The option object of the eg.Axes.PanInput module.
5279
+ * @ko eg.Axes.PanInput 모듈의 옵션 객체
5280
+ * @param {String[]} [inputType=["touch", "mouse", "pointer"]] Types of input devices
5281
+ * - touch: Touch screen
5282
+ * - mouse: Mouse
5283
+ * - pointer: Mouse and touch <ko>입력 장치 종류
5284
+ * - touch: 터치 입력 장치
5285
+ * - mouse: 마우스
5286
+ * - pointer: 마우스 및 터치</ko>
5287
+ * @param {String[]} [inputKey=["any"]] List of key combinations to allow input
5288
+ * - any: any key
5289
+ * - shift: shift key
5290
+ * - ctrl: ctrl key and pinch gesture on the trackpad
5291
+ * - alt: alt key
5292
+ * - meta: meta key
5293
+ * - none: none of these keys are pressed <ko>입력을 허용할 키 조합 목록
5294
+ * - any: 아무 키
5295
+ * - shift: shift 키
5296
+ * - ctrl: ctrl 키 및 트랙패드의 pinch 제스쳐
5297
+ * - alt: alt 키
5298
+ * - meta: meta 키
5299
+ * - none: 아무 키도 눌리지 않은 상태 </ko>
5300
+ * @param {String[]} [inputButton=["left"]] List of buttons to allow input
5301
+ * - left: Left mouse button and normal touch
5302
+ * - middle: Mouse wheel press
5303
+ * - right: Right mouse button <ko>입력을 허용할 버튼 목록
5304
+ * - left: 마우스 왼쪽 버튼
5305
+ * - middle: 마우스 휠 눌림
5306
+ * - right: 마우스 오른쪽 버튼 </ko>
5307
+ * @param {Number[]} [scale] Coordinate scale that a user can move<ko>사용자의 동작으로 이동하는 좌표의 배율</ko>
5308
+ * @param {Number} [scale[0]=1] horizontal axis scale <ko>수평축 배율</ko>
5309
+ * @param {Number} [scale[1]=1] vertical axis scale <ko>수직축 배율</ko>
5310
+ * @param {Number} [thresholdAngle=45] The threshold value that determines whether user action is horizontal or vertical (0~90) <ko>사용자의 동작이 가로 방향인지 세로 방향인지 판단하는 기준 각도(0~90)</ko>
5311
+ * @param {Number} [threshold=0] Minimal pan distance required before recognizing <ko>사용자의 Pan 동작을 인식하기 위해산 최소한의 거리</ko>
5312
+ * @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 threshold <ko>사용자가 threshold 이상 드래그를 마쳤을 때 {@link https://developer.mozilla.org/ko/docs/Web/API/Element/click_event click} 이벤트 취소 여부</ko>
5313
+ * @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>
5314
+ * @param {Boolean} [useAcceleration=false] Whether to apply the dragging speed to coordinate changes. <ko>사용자의 드래그 속도를 좌표 변화에 반영할지 여부</ko>
5315
+ * @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>
5343
5316
  **/
5344
5317
 
5345
- /**
5346
- * 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.
5347
- * @ko 마우스나 터치 스크린을 누르고 움직일때의 변화량을 eg.Axes에 전달하는 모듈. 두개 이하의 축을 사용한다.
5348
- *
5349
- * @example
5350
- * ```js
5351
- * const pan = new eg.Axes.PanInput("#area", {
5352
- * inputType: ["touch"],
5353
- * scale: [1, 1.3],
5354
- * });
5355
- *
5356
- * // Connect the 'something2' axis to the mouse or touchscreen x position when the mouse or touchscreen is down and moved.
5357
- * // Connect the 'somethingN' axis to the mouse or touchscreen y position when the mouse or touchscreen is down and moved.
5358
- * axes.connect(["something2", "somethingN"], pan); // or axes.connect("something2 somethingN", pan);
5359
- *
5360
- * // Connect only one 'something1' axis to the mouse or touchscreen x position when the mouse or touchscreen is down and moved.
5361
- * axes.connect(["something1"], pan); // or axes.connect("something1", pan);
5362
- *
5363
- * // Connect only one 'something2' axis to the mouse or touchscreen y position when the mouse or touchscreen is down and moved.
5364
- * axes.connect(["", "something2"], pan); // or axes.connect(" something2", pan);
5365
- * ```
5366
- * @param {String|HTMLElement|Ref<HTMLElement>|jQuery} element An element to use the eg.Axes.PanInput module <ko>eg.Axes.PanInput 모듈을 사용할 엘리먼트</ko>
5367
- * @param {PanInputOption} [options={}] The option object of the eg.Axes.PanInput module<ko>eg.Axes.PanInput 모듈의 옵션 객체</ko>
5318
+ /**
5319
+ * 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.
5320
+ * @ko 마우스나 터치 스크린을 누르고 움직일때의 변화량을 eg.Axes에 전달하는 모듈. 두개 이하의 축을 사용한다.
5321
+ *
5322
+ * @example
5323
+ * ```js
5324
+ * const pan = new eg.Axes.PanInput("#area", {
5325
+ * inputType: ["touch"],
5326
+ * scale: [1, 1.3],
5327
+ * });
5328
+ *
5329
+ * // Connect the 'something2' axis to the mouse or touchscreen x position when the mouse or touchscreen is down and moved.
5330
+ * // Connect the 'somethingN' axis to the mouse or touchscreen y position when the mouse or touchscreen is down and moved.
5331
+ * axes.connect(["something2", "somethingN"], pan); // or axes.connect("something2 somethingN", pan);
5332
+ *
5333
+ * // Connect only one 'something1' axis to the mouse or touchscreen x position when the mouse or touchscreen is down and moved.
5334
+ * axes.connect(["something1"], pan); // or axes.connect("something1", pan);
5335
+ *
5336
+ * // Connect only one 'something2' axis to the mouse or touchscreen y position when the mouse or touchscreen is down and moved.
5337
+ * axes.connect(["", "something2"], pan); // or axes.connect(" something2", pan);
5338
+ * ```
5339
+ * @param {String|HTMLElement|Ref<HTMLElement>|jQuery} element An element to use the eg.Axes.PanInput module <ko>eg.Axes.PanInput 모듈을 사용할 엘리먼트</ko>
5340
+ * @param {PanInputOption} [options={}] The option object of the eg.Axes.PanInput module<ko>eg.Axes.PanInput 모듈의 옵션 객체</ko>
5368
5341
  */
5369
5342
 
5370
5343
  var PanInput =
5371
5344
  /*#__PURE__*/
5372
5345
  function () {
5373
- /**
5374
- *
5346
+ /**
5347
+ *
5375
5348
  */
5376
5349
  function PanInput(el, options) {
5377
5350
  var _this = this;
@@ -5407,6 +5380,7 @@ version: 4.10.4
5407
5380
  preventClickOnDrag: false,
5408
5381
  iOSEdgeSwipeThreshold: IOS_EDGE_THRESHOLD,
5409
5382
  releaseOnScroll: false,
5383
+ useAcceleration: false,
5410
5384
  touchAction: null
5411
5385
  }, options);
5412
5386
  this._onPanstart = this._onPanstart.bind(this);
@@ -5446,9 +5420,9 @@ version: 4.10.4
5446
5420
  this._direction = DIRECTION_NONE;
5447
5421
  return this;
5448
5422
  };
5449
- /**
5450
- * Destroys elements, properties, and events used in a module.
5451
- * @ko 모듈에 사용한 엘리먼트와 속성, 이벤트를 해제한다.
5423
+ /**
5424
+ * Destroys elements, properties, and events used in a module.
5425
+ * @ko 모듈에 사용한 엘리먼트와 속성, 이벤트를 해제한다.
5452
5426
  */
5453
5427
 
5454
5428
 
@@ -5456,10 +5430,10 @@ version: 4.10.4
5456
5430
  this.disconnect();
5457
5431
  this.element = null;
5458
5432
  };
5459
- /**
5460
- * Enables input devices
5461
- * @ko 입력 장치를 사용할 수 있게 한다
5462
- * @return {PanInput} An instance of a module itself <ko>모듈 자신의 인스턴스</ko>
5433
+ /**
5434
+ * Enables input devices
5435
+ * @ko 입력 장치를 사용할 수 있게 한다
5436
+ * @return {PanInput} An instance of a module itself <ko>모듈 자신의 인스턴스</ko>
5463
5437
  */
5464
5438
 
5465
5439
 
@@ -5467,10 +5441,10 @@ version: 4.10.4
5467
5441
  this._enabled = true;
5468
5442
  return this;
5469
5443
  };
5470
- /**
5471
- * Disables input devices
5472
- * @ko 입력 장치를 사용할 수 없게 한다.
5473
- * @return {PanInput} An instance of a module itself <ko>모듈 자신의 인스턴스</ko>
5444
+ /**
5445
+ * Disables input devices
5446
+ * @ko 입력 장치를 사용할 수 없게 한다.
5447
+ * @return {PanInput} An instance of a module itself <ko>모듈 자신의 인스턴스</ko>
5474
5448
  */
5475
5449
 
5476
5450
 
@@ -5478,20 +5452,20 @@ version: 4.10.4
5478
5452
  this._enabled = false;
5479
5453
  return this;
5480
5454
  };
5481
- /**
5482
- * Returns whether to use an input device
5483
- * @ko 입력 장치 사용 여부를 반환한다.
5484
- * @return {Boolean} Whether to use an input device <ko>입력장치 사용여부</ko>
5455
+ /**
5456
+ * Returns whether to use an input device
5457
+ * @ko 입력 장치 사용 여부를 반환한다.
5458
+ * @return {Boolean} Whether to use an input device <ko>입력장치 사용여부</ko>
5485
5459
  */
5486
5460
 
5487
5461
 
5488
5462
  __proto.isEnabled = function () {
5489
5463
  return this._enabled;
5490
5464
  };
5491
- /**
5492
- * Releases current user input.
5493
- * @ko 사용자의 입력을 강제로 중단시킨다.
5494
- * @return {PanInput} An instance of a module itself <ko>모듈 자신의 인스턴스</ko>
5465
+ /**
5466
+ * Releases current user input.
5467
+ * @ko 사용자의 입력을 강제로 중단시킨다.
5468
+ * @return {PanInput} An instance of a module itself <ko>모듈 자신의 인스턴스</ko>
5495
5469
  */
5496
5470
 
5497
5471
 
@@ -5538,8 +5512,8 @@ version: 4.10.4
5538
5512
 
5539
5513
  var _a = this.options,
5540
5514
  iOSEdgeSwipeThreshold = _a.iOSEdgeSwipeThreshold,
5541
- preventClickOnDrag = _a.preventClickOnDrag,
5542
5515
  releaseOnScroll = _a.releaseOnScroll,
5516
+ useAcceleration = _a.useAcceleration,
5543
5517
  inputKey = _a.inputKey,
5544
5518
  inputButton = _a.inputButton,
5545
5519
  threshold = _a.threshold,
@@ -5604,10 +5578,11 @@ version: 4.10.4
5604
5578
  panEvent.preventSystemEvent = prevent;
5605
5579
 
5606
5580
  if (prevent && (this._isOverThreshold || distance >= threshold)) {
5607
- this._dragged = preventClickOnDrag;
5581
+ var velocity = useAcceleration ? this._getVelocity(panEvent) : undefined;
5582
+ this._dragged = true;
5608
5583
  this._isOverThreshold = true;
5609
5584
 
5610
- this._observer.change(this, panEvent, toAxis(this.axes, offset));
5585
+ this._observer.change(this, panEvent, toAxis(this.axes, offset), false, velocity);
5611
5586
  }
5612
5587
 
5613
5588
  activeEvent.prevEvent = panEvent;
@@ -5626,7 +5601,9 @@ version: 4.10.4
5626
5601
 
5627
5602
  clearTimeout(this._rightEdgeTimer);
5628
5603
  var prevEvent = activeEvent.prevEvent;
5629
- var velocity = this._isOverThreshold ? this._getOffset([Math.abs(prevEvent.velocityX) * (prevEvent.offsetX < 0 ? -1 : 1), Math.abs(prevEvent.velocityY) * (prevEvent.offsetY < 0 ? -1 : 1)], [useDirection(DIRECTION_HORIZONTAL, this._direction), useDirection(DIRECTION_VERTICAL, this._direction)]) : [0, 0];
5604
+
5605
+ var velocity = this._getVelocity(prevEvent);
5606
+
5630
5607
  activeEvent.onRelease();
5631
5608
 
5632
5609
  this._observer.release(this, prevEvent, velocity);
@@ -5636,10 +5613,14 @@ version: 4.10.4
5636
5613
  var _this = this;
5637
5614
 
5638
5615
  activeEvent === null || activeEvent === void 0 ? void 0 : activeEvent.move.forEach(function (event) {
5639
- window.addEventListener(event, _this._onPanmove, getAddEventOptions(event));
5616
+ window.addEventListener(event, _this._onPanmove, {
5617
+ passive: false
5618
+ });
5640
5619
  });
5641
5620
  activeEvent === null || activeEvent === void 0 ? void 0 : activeEvent.end.forEach(function (event) {
5642
- window.addEventListener(event, _this._onPanend, getAddEventOptions(event));
5621
+ window.addEventListener(event, _this._onPanend, {
5622
+ passive: false
5623
+ });
5643
5624
  });
5644
5625
  };
5645
5626
 
@@ -5659,6 +5640,10 @@ version: 4.10.4
5659
5640
  return [direction[0] ? properties[0] * scale[0] : 0, direction[1] ? properties[1] * scale[1] : 0];
5660
5641
  };
5661
5642
 
5643
+ __proto._getVelocity = function (event) {
5644
+ return this._isOverThreshold ? this._getOffset([Math.abs(event.velocityX) * (event.offsetX < 0 ? -1 : 1), Math.abs(event.velocityY) * (event.offsetY < 0 ? -1 : 1)], [useDirection(DIRECTION_HORIZONTAL, this._direction), useDirection(DIRECTION_VERTICAL, this._direction)]) : [0, 0];
5645
+ };
5646
+
5662
5647
  __proto._getDistance = function (delta, direction) {
5663
5648
  return Math.sqrt(Number(direction[0]) * Math.pow(delta[0], 2) + Number(direction[1]) * Math.pow(delta[1], 2));
5664
5649
  };
@@ -5680,7 +5665,11 @@ version: 4.10.4
5680
5665
  this._observer = observer;
5681
5666
  this._enabled = true;
5682
5667
  this._activeEvent = activeEvent;
5683
- element.addEventListener("click", this._preventClickWhenDragged, true);
5668
+
5669
+ if (this.options.preventClickOnDrag) {
5670
+ element.addEventListener("click", this._preventClickWhenDragged, true);
5671
+ }
5672
+
5684
5673
  activeEvent.start.forEach(function (event) {
5685
5674
  element.addEventListener(event, _this._onPanstart);
5686
5675
  }); // adding event listener to element prevents invalid behavior in iOS Safari
@@ -5697,7 +5686,10 @@ version: 4.10.4
5697
5686
  var element = this.element;
5698
5687
 
5699
5688
  if (element) {
5700
- element.removeEventListener("click", this._preventClickWhenDragged, true);
5689
+ if (this.options.preventClickOnDrag) {
5690
+ element.removeEventListener("click", this._preventClickWhenDragged, true);
5691
+ }
5692
+
5701
5693
  activeEvent === null || activeEvent === void 0 ? void 0 : activeEvent.start.forEach(function (event) {
5702
5694
  element.removeEventListener(event, _this._onPanstart);
5703
5695
  });
@@ -5713,9 +5705,9 @@ version: 4.10.4
5713
5705
  return PanInput;
5714
5706
  }();
5715
5707
 
5716
- /*
5717
- * Copyright (c) 2015 NAVER Corp.
5718
- * egjs projects are licensed under the MIT license
5708
+ /*
5709
+ * Copyright (c) 2015 NAVER Corp.
5710
+ * egjs projects are licensed under the MIT license
5719
5711
  */
5720
5712
 
5721
5713
  var Axes$1 = Axes;
@@ -12572,6 +12564,7 @@ version: 4.10.4
12572
12564
  * @property {ALIGN | string | number} panel The align value for each {@link Panel}s<ko>개개의 {@link Panel}에 적용할 값</ko>
12573
12565
  * @property {ALIGN | string | number} camera The align value for {@link Camera}<ko>{@link Camera}에 적용할 값</ko>
12574
12566
  * @default "center"
12567
+ * @see {@link https://naver.github.io/egjs-flicking/Options#align align ( Options )}
12575
12568
  * @example
12576
12569
  * ```ts
12577
12570
  * const possibleOptions = [
@@ -12612,6 +12605,7 @@ version: 4.10.4
12612
12605
  * @ko Flicking의 {@link Flicking#init init()}이 호출될 때 이동할 디폴트 패널의 인덱스로, 0부터 시작하는 정수입니다
12613
12606
  * @type {number}
12614
12607
  * @default 0
12608
+ * @see {@link https://naver.github.io/egjs-flicking/Options#defaultindex defaultIndex ( Options )}
12615
12609
  */
12616
12610
  get: function () {
12617
12611
  return this._defaultIndex;
@@ -12628,6 +12622,7 @@ version: 4.10.4
12628
12622
  * @ko 패널 이동 방향 (true: 가로방향, false: 세로방향)
12629
12623
  * @type {boolean}
12630
12624
  * @default true
12625
+ * @see {@link https://naver.github.io/egjs-flicking/Options#horizontal horizontal ( Options )}
12631
12626
  */
12632
12627
  get: function () {
12633
12628
  return this._horizontal;
@@ -12648,6 +12643,7 @@ version: 4.10.4
12648
12643
  * @ko 순환 모드를 활성화합니다. 순환 모드에서는 양 끝의 패널이 서로 연결되어 끊김없는 스크롤이 가능합니다.
12649
12644
  * @type {boolean}
12650
12645
  * @default false
12646
+ * @see {@link https://naver.github.io/egjs-flicking/Options#circular circular ( Options )}
12651
12647
  */
12652
12648
  get: function () {
12653
12649
  return this._circular;
@@ -12670,6 +12666,7 @@ version: 4.10.4
12670
12666
  * @see CIRCULAR_FALLBACK
12671
12667
  * @type {string}
12672
12668
  * @default "linear"
12669
+ * @see {@link https://naver.github.io/egjs-flicking/Options#circularfallback circularFallback ( Options )}
12673
12670
  */
12674
12671
  get: function () {
12675
12672
  return this._circularFallback;
@@ -12685,6 +12682,7 @@ version: 4.10.4
12685
12682
  * `circular=false`인 경우에만 사용할 수 있습니다
12686
12683
  * @type {boolean}
12687
12684
  * @default false
12685
+ * @see {@link https://naver.github.io/egjs-flicking/Options#bound bound ( Options )}
12688
12686
  */
12689
12687
  get: function () {
12690
12688
  return this._bound;
@@ -12702,6 +12700,7 @@ version: 4.10.4
12702
12700
  * @ko 이동한 후 뷰포트 엘리먼트의 크기를 현재 패널의 높이와 동일하게 설정합니다. `horizontal=true`인 경우에만 사용할 수 있습니다.
12703
12701
  * @type {boolean}
12704
12702
  * @default false
12703
+ * @see {@link https://naver.github.io/egjs-flicking/Options#adaptive adaptive ( Options )}
12705
12704
  */
12706
12705
  get: function () {
12707
12706
  return this._adaptive;
@@ -12719,6 +12718,7 @@ version: 4.10.4
12719
12718
  * @ko 한 화면에 보이는 패널의 개수. 이 옵션을 활성화할 경우 패널의 크기를 강제로 재조정합니다
12720
12719
  * @type {number}
12721
12720
  * @default -1
12721
+ * @see {@link https://naver.github.io/egjs-flicking/Options#panelsperview panelsPerView ( Options )}
12722
12722
  */
12723
12723
  get: function () {
12724
12724
  return this._panelsPerView;
@@ -12757,6 +12757,7 @@ version: 4.10.4
12757
12757
  * 이 동작은 Flicking 내부에 로드 전/후로 크기가 변하는 콘텐츠를 포함하고 있을 때 유용하게 사용하실 수 있습니다.
12758
12758
  * @type {boolean}
12759
12759
  * @default false
12760
+ * @see {@link https://naver.github.io/egjs-flicking/Options#resizeOnContentsReady resizeOnContentsReady ( Options )}
12760
12761
  */
12761
12762
  get: function () {
12762
12763
  return this._resizeOnContentsReady;
@@ -12779,6 +12780,7 @@ version: 4.10.4
12779
12780
  * 만약 상위 Flicking과 하위 Flicking이 서로 다른 horizontal 옵션을 가지고 있다면 이 옵션을 설정할 필요가 없습니다.
12780
12781
  * @type {boolean}
12781
12782
  * @default false
12783
+ * @see {@link https://naver.github.io/egjs-flicking/Options#nested nested ( Options )}
12782
12784
  */
12783
12785
  get: function () {
12784
12786
  return this._nested;
@@ -12802,6 +12804,7 @@ version: 4.10.4
12802
12804
  * @ko `needPanel`이벤트가 발생하기 위한 뷰포트 끝으로부터의 최대 거리
12803
12805
  * @type {number}
12804
12806
  * @default 0
12807
+ * @see {@link https://naver.github.io/egjs-flicking/Options#needpanelthreshold needPanelThreshold ( Options )}
12805
12808
  */
12806
12809
  get: function () {
12807
12810
  return this._needPanelThreshold;
@@ -12819,6 +12822,7 @@ version: 4.10.4
12819
12822
  * @ko 활성화할 경우 초기화시 `ready` 이벤트 이전의 이벤트가 발생하지 않습니다.
12820
12823
  * @type {boolean}
12821
12824
  * @default true
12825
+ * @see {@link https://naver.github.io/egjs-flicking/Options#preventeventsbeforeinit preventEventsBeforeInit ( Options )}
12822
12826
  */
12823
12827
  get: function () {
12824
12828
  return this._preventEventsBeforeInit;
@@ -12837,6 +12841,7 @@ version: 4.10.4
12837
12841
  * @ko 사용자의 동작으로 가속도가 적용된 패널 이동 애니메이션의 감속도. 값이 높을수록 애니메이션 실행 시간이 짧아집니다
12838
12842
  * @type {number}
12839
12843
  * @default 0.0075
12844
+ * @see {@link https://naver.github.io/egjs-flicking/Options#deceleration deceleration ( Options )}
12840
12845
  */
12841
12846
  get: function () {
12842
12847
  return this._deceleration;
@@ -12860,6 +12865,7 @@ version: 4.10.4
12860
12865
  * @type {function}
12861
12866
  * @default x => 1 - Math.pow(1 - x, 3)
12862
12867
  * @see Easing Functions Cheat Sheet {@link http://easings.net/} <ko>이징 함수 Cheat Sheet {@link http://easings.net/}</ko>
12868
+ * @see {@link https://naver.github.io/egjs-flicking/Options#easing Easing ( Options )}
12863
12869
  */
12864
12870
  get: function () {
12865
12871
  return this._easing;
@@ -12881,6 +12887,7 @@ version: 4.10.4
12881
12887
  * @ko 디폴트 애니메이션 재생 시간 (ms)
12882
12888
  * @type {number}
12883
12889
  * @default 500
12890
+ * @see {@link https://naver.github.io/egjs-flicking/Options#duration duration ( Options )}
12884
12891
  */
12885
12892
  get: function () {
12886
12893
  return this._duration;
@@ -12899,8 +12906,9 @@ version: 4.10.4
12899
12906
  * @ko 활성화할 입력 장치 종류
12900
12907
  * @type {string[]}
12901
12908
  * @default ["touch", "mouse"]
12902
- * @see {@link https://naver.github.io/egjs-axes/release/latest/doc/global.html#PanInputOption Possible values (PanInputOption#inputType)}
12903
- * <ko>{@link https://naver.github.io/egjs-axes/release/latest/doc/global.html#PanInputOption 가능한 값들 (PanInputOption#inputType)}</ko>
12909
+ * @see {@link https://naver.github.io/egjs-axes/Options#paninput-options Possible values (PanInputOption#inputType)}
12910
+ * <ko>{@link https://naver.github.io/egjs-axes/Options#paninput-options 가능한 값들 (PanInputOption#inputType)}</ko>
12911
+ * @see {@link https://naver.github.io/egjs-flicking/Options#inputtype inputType ( Options )}
12904
12912
  */
12905
12913
  get: function () {
12906
12914
  return this._inputType;
@@ -12925,6 +12933,7 @@ version: 4.10.4
12925
12933
  * 상수 {@link MOVE_TYPE}에 정의된 값들을 이용할 수 있습니다
12926
12934
  * @type {MOVE_TYPE | Pair<string, object>}
12927
12935
  * @default "snap"
12936
+ * @see {@link https://naver.github.io/egjs-flicking/Options#movetype moveType ( Options )}
12928
12937
  * @example
12929
12938
  * |moveType|control|options|
12930
12939
  * |:---:|:---:|:---:|
@@ -12975,6 +12984,7 @@ version: 4.10.4
12975
12984
  * @ko 패널 변경을 위한 이동 임계값 (단위: px). 주어진 값 이상으로 스크롤해야만 패널 변경이 가능하다.
12976
12985
  * @type {number}
12977
12986
  * @default 40
12987
+ * @see {@link https://naver.github.io/egjs-flicking/Options#threshold Threshold ( Options )}
12978
12988
  */
12979
12989
  get: function () {
12980
12990
  return this._threshold;
@@ -12991,6 +13001,7 @@ version: 4.10.4
12991
13001
  * @ko 사용자의 클릭/터치로 인해 애니메이션을 도중에 멈출 수 있도록 설정합니다.
12992
13002
  * @type {boolean}
12993
13003
  * @default true
13004
+ * @see {@link https://naver.github.io/egjs-flicking/Options#interruptable Interruptable ( Options )}
12994
13005
  */
12995
13006
  get: function () {
12996
13007
  return this._interruptable;
@@ -13018,6 +13029,7 @@ version: 4.10.4
13018
13029
  * 이 값을 변경시 {@link Control#updateInput}를 호출해야 합니다.
13019
13030
  * @type {string | number | Array<string | number>}
13020
13031
  * @default "20%"
13032
+ * @see {@link https://naver.github.io/egjs-flicking/Options#bounce bounce ( Options )}
13021
13033
  * @example
13022
13034
  * ```ts
13023
13035
  * const possibleOptions = [
@@ -13055,6 +13067,7 @@ version: 4.10.4
13055
13067
  * @ko iOS Safari에서 swipe를 통한 뒤로가기/앞으로가기를 활성화하는 오른쪽 끝으로부터의 영역의 크기 (px)
13056
13068
  * @type {number}
13057
13069
  * @default 30
13070
+ * @see {@link https://naver.github.io/egjs-flicking/Options#iosedgeswipethreshold iOSEdgeSwipeThreshold ( Options )}
13058
13071
  */
13059
13072
  get: function () {
13060
13073
  return this._iOSEdgeSwipeThreshold;
@@ -13076,6 +13089,7 @@ version: 4.10.4
13076
13089
  * @ko 사용자가 뷰포트 영역을 1픽셀이라도 드래그했을 경우 자동으로 {@link https://developer.mozilla.org/ko/docs/Web/API/Element/click_event click} 이벤트를 취소합니다
13077
13090
  * @type {boolean}
13078
13091
  * @default true
13092
+ * @see {@link https://naver.github.io/egjs-flicking/Options#preventclickondrag preventClickOnDrag ( Options )}
13079
13093
  */
13080
13094
  get: function () {
13081
13095
  return this._preventClickOnDrag;
@@ -13102,6 +13116,7 @@ version: 4.10.4
13102
13116
  * @ko Flicking init시에 {@link Flicking#disableInput disableInput()}을 바로 호출합니다
13103
13117
  * @type {boolean}
13104
13118
  * @default false
13119
+ * @see {@link https://naver.github.io/egjs-flicking/Options#disableoninit disableOnInit ( Options )}
13105
13120
  */
13106
13121
  get: function () {
13107
13122
  return this._disableOnInit;
@@ -13120,6 +13135,7 @@ version: 4.10.4
13120
13135
  * `willChange`/`willRestore` 이벤트의 `index`값이 새로운 인덱스로 사용될 것입니다.
13121
13136
  * @type {boolean}
13122
13137
  * @default false
13138
+ * @see {@link https://naver.github.io/egjs-flicking/Options#changeonhold changeOnHold ( Options )}
13123
13139
  */
13124
13140
  get: function () {
13125
13141
  return this._changeOnHold;
@@ -13138,6 +13154,7 @@ version: 4.10.4
13138
13154
  * @ko 보이는 패널만 렌더링할지 여부를 설정합니다. 패널이 많을 경우에 퍼포먼스를 크게 향상시킬 수 있습니다
13139
13155
  * @type {boolean}
13140
13156
  * @default false
13157
+ * @see {@link https://naver.github.io/egjs-flicking/Options#renderonlyvisible renderOnlyVisible ( Options )}
13141
13158
  */
13142
13159
  get: function () {
13143
13160
  return this._renderOnlyVisible;
@@ -13163,6 +13180,7 @@ version: 4.10.4
13163
13180
  * @property {number} initialPanelCount Initial panel count to render<ko>최초로 렌더링할 패널의 개수</ko>
13164
13181
  * @property {boolean} [cache=false] Whether to cache rendered panel's innerHTML<ko>렌더링된 패널의 innerHTML 정보를 캐시할지 여부</ko>
13165
13182
  * @property {string} [panelClass="flicking-panel"] The class name that will be applied to rendered panel elements<ko>렌더링되는 패널 엘리먼트에 적용될 클래스 이름</ko>
13183
+ * @see {@link https://naver.github.io/egjs-flicking/Options#virtual virtual ( Options )}
13166
13184
  * @example
13167
13185
  * ```ts
13168
13186
  * import Flicking, { VirtualPanel } from "@egjs/flicking";
@@ -13196,6 +13214,7 @@ version: 4.10.4
13196
13214
  * @ko Flicking 인스턴스를 생성할 때 자동으로 {@link Flicking#init init()}를 호출합니다
13197
13215
  * @type {boolean}
13198
13216
  * @default true
13217
+ * @see {@link https://naver.github.io/egjs-flicking/Options#autoinit autoInit ( Options )}
13199
13218
  * @readonly
13200
13219
  */
13201
13220
  get: function () {
@@ -13233,6 +13252,7 @@ version: 4.10.4
13233
13252
  * @ko autoResize 옵션 사용시 {@link https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver ResizeObserver}의 이벤트를 Window객체의 {@link https://developer.mozilla.org/ko/docs/Web/API/Window/resize_event resize} 이벤트 대신 수신할지 여부를 설정합니다
13234
13253
  * @type {boolean}
13235
13254
  * @default true
13255
+ * @see {@link https://naver.github.io/egjs-flicking/Options#useresizeobserver useResizeObserver ( Options )}
13236
13256
  */
13237
13257
  get: function () {
13238
13258
  return this._useResizeObserver;
@@ -13257,6 +13277,7 @@ version: 4.10.4
13257
13277
  * 이를 통해 `resize`가 너무 많이 호출되는 것을 방지하여 성능을 향상시킬 수 있습니다.
13258
13278
  * @type {number}
13259
13279
  * @default 0
13280
+ * @see {@link https://naver.github.io/egjs-flicking/Options#resizedebounce resizeDebounce ( Options )}
13260
13281
  */
13261
13282
  get: function () {
13262
13283
  return this._resizeDebounce;
@@ -13272,6 +13293,7 @@ version: 4.10.4
13272
13293
  * 이를 통해, 적어도 (n)ms에 한번은 크기 재계산을 수행하는 것을 보장할 수 있습니다.
13273
13294
  * @type {number}
13274
13295
  * @default 100
13296
+ * @see {@link https://naver.github.io/egjs-flicking/Options#maxresizedebounce maxResizeDebounce ( Options )}
13275
13297
  */
13276
13298
  get: function () {
13277
13299
  return this._maxResizeDebounce;
@@ -13289,6 +13311,7 @@ version: 4.10.4
13289
13311
  * 모든 크기는 CSS {@link https://developer.mozilla.org/en-US/docs/Web/CSS/transform transform}이 엘리먼트에 적용되기 이전의 크기를 사용할 것입니다.
13290
13312
  * @type {boolean}
13291
13313
  * @default false
13314
+ * @see {@link https://naver.github.io/egjs-flicking/Options#usefractionalsize useFractionalSize ( Options )}
13292
13315
  */
13293
13316
  get: function () {
13294
13317
  return this._useFractionalSize;
@@ -14155,7 +14178,7 @@ version: 4.10.4
14155
14178
  */
14156
14179
 
14157
14180
 
14158
- Flicking.VERSION = "4.10.4";
14181
+ Flicking.VERSION = "4.10.5-beta.0";
14159
14182
  return Flicking;
14160
14183
  }(Component);
14161
14184