@egjs/flicking 4.12.0-beta.10 → 4.12.0-beta.12

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@egjs/flicking",
3
- "version": "4.12.0-beta.10",
3
+ "version": "4.12.0-beta.12",
4
4
  "description": "Everyday 30 million people experience. It's reliable, flexible and extendable carousel.",
5
5
  "main": "dist/flicking.cjs.js",
6
6
  "module": "dist/flicking.esm.js",
@@ -12,7 +12,7 @@
12
12
  "types": "declaration/index.d.ts",
13
13
  "scripts": {
14
14
  "start": "concurrently \"rollup -w --config ./rollup.config.dev.js\" \"http-serve\"",
15
- "build": "run-s build:bundle build:declaration printsizes",
15
+ "build": "run-s build:bundle build:declaration build:css printsizes",
16
16
  "build-react": "run-s build:bundle build:declaration && pvu --build=react-flicking",
17
17
  "build:bundle": "rm -rf ./dist && rollup -c",
18
18
  "build:declaration": "rm -rf ./declaration && tsc -p tsconfig.declaration.json",
@@ -115,7 +115,6 @@
115
115
  "husky": "^1.3.1",
116
116
  "jsdoc-to-mdx": "^1.1.2",
117
117
  "karma-typescript-es6-transform": "^5.5.2",
118
- "node-sass": "^7.0.1",
119
118
  "npm-run-all": "^4.1.5",
120
119
  "postcss-clean": "^1.2.2",
121
120
  "postcss-cli": "^7.1.2",
@@ -130,6 +129,7 @@
130
129
  "rollup-plugin-terser": "^7.0.2",
131
130
  "rollup-plugin-typescript2": "^0.36.0",
132
131
  "rollup-plugin-visualizer": "^4.2.1",
132
+ "sass": "^1.79.3",
133
133
  "sync-exec": "^0.6.2",
134
134
  "ts-mock-imports": "^1.3.3",
135
135
  "tsconfig-paths-webpack-plugin": "^3.5.1",
@@ -140,7 +140,7 @@
140
140
  "typescript-transform-paths": "^2.2.3"
141
141
  },
142
142
  "dependencies": {
143
- "@egjs/axes": "^3.9.0",
143
+ "@egjs/axes": "^3.9.1",
144
144
  "@egjs/component": "^3.0.1",
145
145
  "@egjs/imready": "^1.3.1",
146
146
  "@egjs/list-differ": "^1.0.1"
@@ -13,7 +13,9 @@ import {
13
13
  MoveEndEvent,
14
14
  MoveEvent,
15
15
  MoveStartEvent,
16
- WillChangeEvent
16
+ RestoredEvent,
17
+ WillChangeEvent,
18
+ WillRestoreEvent
17
19
  } from "./type/event";
18
20
  import { LiteralUnion, ValueOf } from "./type/internal";
19
21
  import { CLASS, EVENTS, MOVE_DIRECTION } from "./const/external";
@@ -26,7 +28,9 @@ export const SIDE_EVENTS = {
26
28
  MOVE: "sideMove",
27
29
  MOVE_END: "sideMoveEnd",
28
30
  WILL_CHANGE: "sideWillChange",
29
- CHANGED: "sideChanged"
31
+ CHANGED: "sideChanged",
32
+ WILL_RESTORE: "sideWillRestore",
33
+ RESTORED: "sideRestored"
30
34
  } as const;
31
35
 
32
36
  export type CrossFlickingEvent<T> = { mainIndex: number } & T;
@@ -39,6 +43,8 @@ export interface CrossFlickingEvents extends FlickingEvents {
39
43
  [SIDE_EVENTS.MOVE_END]: CrossFlickingEvent<MoveEndEvent>;
40
44
  [SIDE_EVENTS.WILL_CHANGE]: CrossFlickingEvent<WillChangeEvent>;
41
45
  [SIDE_EVENTS.CHANGED]: CrossFlickingEvent<ChangedEvent>;
46
+ [SIDE_EVENTS.WILL_RESTORE]: CrossFlickingEvent<WillRestoreEvent>;
47
+ [SIDE_EVENTS.RESTORED]: CrossFlickingEvent<RestoredEvent>;
42
48
  }
43
49
 
44
50
  export interface CrossFlickingOptions extends FlickingOptions {
@@ -55,6 +61,14 @@ export interface SideState {
55
61
  element: HTMLElement;
56
62
  }
57
63
 
64
+ export interface CrossFlickingChangedEvent extends ChangedEvent {
65
+ sideIndex?: number;
66
+ }
67
+
68
+ export interface CrossFlickingWillChangeEvent extends WillChangeEvent {
69
+ sideIndex?: number;
70
+ }
71
+
58
72
  export class CrossFlicking extends Flicking {
59
73
  // Core components
60
74
  private _sideFlicking: Flicking[];
@@ -76,6 +90,10 @@ export class CrossFlicking extends Flicking {
76
90
  return this._sideFlicking;
77
91
  }
78
92
 
93
+ public get sideIndex() {
94
+ return this._sideFlicking.map(i => i.index);
95
+ }
96
+
79
97
  public get sideState() {
80
98
  return this._sideState;
81
99
  }
@@ -149,6 +167,9 @@ export class CrossFlicking extends Flicking {
149
167
  this.on(EVENTS.HOLD_START, this._onHorizontalHoldStart);
150
168
  this.on(EVENTS.MOVE, this._onHorizontalMove);
151
169
  this.on(EVENTS.MOVE_END, this._onHorizontalMoveEnd);
170
+ [EVENTS.CHANGED, EVENTS.WILL_CHANGE].forEach((event) => {
171
+ this.on(event, this._addSideIndex);
172
+ });
152
173
 
153
174
  this._sideFlicking.forEach((flicking, mainIndex) => {
154
175
  flicking.on(EVENTS.HOLD_START, this._onSideHoldStart);
@@ -371,6 +392,10 @@ export class CrossFlicking extends Flicking {
371
392
  });
372
393
  };
373
394
 
395
+ private _addSideIndex = (e: ChangedEvent | WillChangeEvent): void => {
396
+ (e as CrossFlickingChangedEvent | CrossFlickingWillChangeEvent).sideIndex = this._sideFlicking[e.index].index;
397
+ };
398
+
374
399
  private _onHorizontalHoldStart = (): void => {
375
400
  this._setDraggable(MOVE_DIRECTION.HORIZONTAL, true);
376
401
  this._moveDirection = null;
@@ -39,6 +39,10 @@ class HoldingState extends State {
39
39
 
40
40
  const inputEvent = axesEvent.inputEvent as { offsetX: number; offsetY: number };
41
41
 
42
+ if (!inputEvent) {
43
+ return;
44
+ }
45
+
42
46
  const offset = flicking.horizontal
43
47
  ? inputEvent.offsetX
44
48
  : inputEvent.offsetY;
@@ -321,6 +321,10 @@ class Panel {
321
321
  useFractionalSize
322
322
  } = flicking;
323
323
 
324
+ if (!el) {
325
+ return this;
326
+ }
327
+
324
328
  if (cached) {
325
329
  this._size = cached.size;
326
330
  this._margin = { ...cached.margin };
package/src/utils.ts CHANGED
@@ -262,6 +262,10 @@ export const setSize = (el: HTMLElement, { width, height }: Partial<{
262
262
  width: number | string;
263
263
  height: number | string;
264
264
  }>) => {
265
+ if (!el) {
266
+ return;
267
+ }
268
+
265
269
  if (width != null) {
266
270
  if (isString(width)) {
267
271
  el.style.width = width;