@egjs/flicking 3.9.1 → 3.9.3

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 (68) hide show
  1. package/declaration/Flicking.d.ts +2 -1
  2. package/declaration/types.d.ts +4 -0
  3. package/dist/flicking.esm.js +24 -5
  4. package/dist/flicking.esm.js.map +1 -1
  5. package/dist/flicking.js +24 -5
  6. package/dist/flicking.js.map +1 -1
  7. package/dist/flicking.min.js +2 -2
  8. package/dist/flicking.min.js.map +1 -1
  9. package/dist/flicking.pkgd.js +24 -5
  10. package/dist/flicking.pkgd.js.map +1 -1
  11. package/dist/flicking.pkgd.min.js +2 -2
  12. package/dist/flicking.pkgd.min.js.map +1 -1
  13. package/doc/eg.Flicking.html +140 -29
  14. package/doc/global.html +3 -1
  15. package/doc/index.html +3 -1
  16. package/doc/node_modules_@egjs_component_src_Component.ts.html +3 -1
  17. package/doc/src_Flicking.ts.html +13 -4
  18. package/doc/src_types.ts.html +16 -1
  19. package/docs/build/release/{3.9.1 → 3.9.2}/dist/flicking.esm.js +18 -5
  20. package/docs/build/release/3.9.2/dist/flicking.esm.js.map +1 -0
  21. package/docs/build/release/{3.9.1 → 3.9.2}/dist/flicking.js +18 -5
  22. package/docs/build/release/3.9.2/dist/flicking.js.map +1 -0
  23. package/docs/build/release/3.9.2/dist/flicking.min.js +10 -0
  24. package/docs/build/release/3.9.2/dist/flicking.min.js.map +1 -0
  25. package/docs/build/release/{3.9.1 → 3.9.2}/dist/flicking.pkgd.js +18 -5
  26. package/docs/build/release/3.9.2/dist/flicking.pkgd.js.map +1 -0
  27. package/docs/build/release/3.9.2/dist/flicking.pkgd.min.js +10 -0
  28. package/docs/build/release/3.9.2/dist/flicking.pkgd.min.js.map +1 -0
  29. package/docs/build/release/{3.9.0 → 3.9.3}/dist/flicking.esm.js +27 -8
  30. package/docs/build/release/3.9.3/dist/flicking.esm.js.map +1 -0
  31. package/docs/build/release/{3.9.0 → 3.9.3}/dist/flicking.js +27 -8
  32. package/docs/build/release/3.9.3/dist/flicking.js.map +1 -0
  33. package/docs/build/release/3.9.3/dist/flicking.min.js +10 -0
  34. package/docs/build/release/3.9.3/dist/flicking.min.js.map +1 -0
  35. package/docs/build/release/{3.9.0 → 3.9.3}/dist/flicking.pkgd.js +27 -8
  36. package/docs/build/release/3.9.3/dist/flicking.pkgd.js.map +1 -0
  37. package/docs/build/release/3.9.3/dist/flicking.pkgd.min.js +10 -0
  38. package/docs/build/release/3.9.3/dist/flicking.pkgd.min.js.map +1 -0
  39. package/package.json +1 -1
  40. package/src/Flicking.ts +10 -3
  41. package/src/components/PanelManager.ts +5 -0
  42. package/src/components/Viewport.ts +5 -1
  43. package/src/consts.ts +1 -0
  44. package/src/types.ts +13 -0
  45. package/docs/build/release/3.8.4/dist/flicking.esm.js +0 -5055
  46. package/docs/build/release/3.8.4/dist/flicking.esm.js.map +0 -1
  47. package/docs/build/release/3.8.4/dist/flicking.js +0 -5062
  48. package/docs/build/release/3.8.4/dist/flicking.js.map +0 -1
  49. package/docs/build/release/3.8.4/dist/flicking.min.js +0 -10
  50. package/docs/build/release/3.8.4/dist/flicking.min.js.map +0 -1
  51. package/docs/build/release/3.8.4/dist/flicking.pkgd.js +0 -11391
  52. package/docs/build/release/3.8.4/dist/flicking.pkgd.js.map +0 -1
  53. package/docs/build/release/3.8.4/dist/flicking.pkgd.min.js +0 -10
  54. package/docs/build/release/3.8.4/dist/flicking.pkgd.min.js.map +0 -1
  55. package/docs/build/release/3.9.0/dist/flicking.esm.js.map +0 -1
  56. package/docs/build/release/3.9.0/dist/flicking.js.map +0 -1
  57. package/docs/build/release/3.9.0/dist/flicking.min.js +0 -10
  58. package/docs/build/release/3.9.0/dist/flicking.min.js.map +0 -1
  59. package/docs/build/release/3.9.0/dist/flicking.pkgd.js.map +0 -1
  60. package/docs/build/release/3.9.0/dist/flicking.pkgd.min.js +0 -10
  61. package/docs/build/release/3.9.0/dist/flicking.pkgd.min.js.map +0 -1
  62. package/docs/build/release/3.9.1/dist/flicking.esm.js.map +0 -1
  63. package/docs/build/release/3.9.1/dist/flicking.js.map +0 -1
  64. package/docs/build/release/3.9.1/dist/flicking.min.js +0 -10
  65. package/docs/build/release/3.9.1/dist/flicking.min.js.map +0 -1
  66. package/docs/build/release/3.9.1/dist/flicking.pkgd.js.map +0 -1
  67. package/docs/build/release/3.9.1/dist/flicking.pkgd.min.js +0 -10
  68. package/docs/build/release/3.9.1/dist/flicking.pkgd.min.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@egjs/flicking",
3
- "version": "3.9.1",
3
+ "version": "3.9.3",
4
4
  "description": "Everyday 30 million people experience. It's reliable, flexible and extendable carousel.",
5
5
  "main": "dist/flicking.js",
6
6
  "module": "dist/flicking.esm.js",
package/src/Flicking.ts CHANGED
@@ -30,6 +30,7 @@ import {
30
30
  SelectEvent,
31
31
  NeedPanelEvent,
32
32
  VisibleChangeEvent,
33
+ ContentLoadEvent,
33
34
  ContentErrorEvent,
34
35
  MoveTypeStringOption,
35
36
  ValueOf,
@@ -54,6 +55,7 @@ class Flicking extends Component<{
54
55
  select: SelectEvent;
55
56
  needPanel: NeedPanelEvent;
56
57
  visibleChange: VisibleChangeEvent;
58
+ contentLoad: ContentLoadEvent;
57
59
  contentError: ContentErrorEvent;
58
60
  }> {
59
61
  /**
@@ -871,12 +873,17 @@ class Flicking extends Component<{
871
873
  if (options.resizeOnContentsReady) {
872
874
  const contentsReadyChecker = new ImReady();
873
875
 
874
- contentsReadyChecker.on("preReady", () => {
876
+ const onContentLoad = () => {
875
877
  this.resize();
876
- });
878
+ this.trigger(EVENTS.CONTENT_LOAD, {
879
+ type: EVENTS.CONTENT_LOAD,
880
+ });
881
+ };
882
+
883
+ contentsReadyChecker.on("preReady", onContentLoad);
877
884
  contentsReadyChecker.on("readyElement", e => {
878
885
  if (e.hasLoading && e.isPreReadyOver) {
879
- this.resize();
886
+ onContentLoad();
880
887
  }
881
888
  });
882
889
  contentsReadyChecker.on("error", e => {
@@ -70,6 +70,7 @@ class PanelManager {
70
70
  max: newPanels.length - 1,
71
71
  };
72
72
  this.length = newPanels.filter(panel => Boolean(panel)).length;
73
+ this.chainAllPanels();
73
74
  }
74
75
 
75
76
  public has(index: number): boolean {
@@ -328,6 +329,10 @@ class PanelManager {
328
329
  const allPanelsCount = allPanels.length;
329
330
 
330
331
  if (allPanelsCount <= 1) {
332
+ if (allPanelsCount === 1) {
333
+ allPanels[0].prevSibling = null;
334
+ allPanels[0].nextSibling = null;
335
+ }
331
336
  return;
332
337
  }
333
338
 
@@ -1265,8 +1265,12 @@ export default class Viewport {
1265
1265
  // For each panels, clone itself while last panel's position + size is below viewport size
1266
1266
  const panels = panelManager.originalPanels();
1267
1267
  const reversedPanels = panels.concat().reverse();
1268
-
1269
1268
  const sumOriginalPanelSize = lastPanel.getPosition() + lastPanel.getSize() - firstPanel.getPosition() + gap;
1269
+
1270
+ if (sumOriginalPanelSize <= 0) {
1271
+ return;
1272
+ }
1273
+
1270
1274
  const relativeAnchorPosition = firstPanel.getRelativeAnchorPosition();
1271
1275
  const relativeHangerPosition = this.getRelativeHangerPosition();
1272
1276
 
package/src/consts.ts CHANGED
@@ -95,6 +95,7 @@ export const EVENTS: EventType = {
95
95
  SELECT: "select",
96
96
  NEED_PANEL: "needPanel",
97
97
  VISIBLE_CHANGE: "visibleChange",
98
+ CONTENT_LOAD: "contentLoad",
98
99
  CONTENT_ERROR: "contentError",
99
100
  };
100
101
 
package/src/types.ts CHANGED
@@ -311,6 +311,7 @@ export interface EventType {
311
311
  readonly SELECT: "select";
312
312
  readonly NEED_PANEL: "needPanel";
313
313
  readonly VISIBLE_CHANGE: "visibleChange";
314
+ readonly CONTENT_LOAD: "contentLoad";
314
315
  readonly CONTENT_ERROR: "contentError";
315
316
  }
316
317
 
@@ -467,6 +468,18 @@ export type VisibleChangeEvent = {
467
468
  };
468
469
  };
469
470
 
471
+ /**
472
+ * Event triggered when each image/video element inside Flicking has loaded. This event is only triggered with `resizeOnContentsReady` option.
473
+ * @ko Flicking 내부의 이미지/비디오 엘리먼트들이 로드되었을 때마다 트리거되는 이벤트. `resizeOnContentsReady` 옵션이 활성화된 경우에만 트리거된다.
474
+ * @typedef
475
+ * @type object
476
+ * @memberof eg.Flicking
477
+ * @property {string} type Name of the event.<ko>이벤트명</ko>
478
+ */
479
+ export type ContentLoadEvent = {
480
+ type: string;
481
+ };
482
+
470
483
  /**
471
484
  * Event triggered each time the image/video element inside Flicking fails to load. This event is only triggered with `resizeOnContentsReady` option.
472
485
  * @ko Flicking 내부의 이미지/비디오 엘리먼트의 로드가 실패했을때마다 발생했을 때마다 트리거되는 이벤트. `resizeOnContentsReady` 옵션이 활성화된 경우에만 트리거된다.