@egjs/flicking 4.12.0-beta.7 → 4.12.0-beta.9
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/declaration/CrossFlicking.d.ts +44 -4
- package/declaration/camera/Camera.d.ts +1 -0
- package/dist/flicking.cjs.js +233 -198
- package/dist/flicking.cjs.js.map +1 -1
- package/dist/flicking.esm.js +232 -199
- package/dist/flicking.esm.js.map +1 -1
- package/dist/flicking.js +232 -198
- package/dist/flicking.js.map +1 -1
- package/dist/flicking.min.js +2 -2
- package/dist/flicking.min.js.map +1 -1
- package/dist/flicking.pkgd.js +234 -200
- package/dist/flicking.pkgd.js.map +1 -1
- package/dist/flicking.pkgd.min.js +2 -2
- package/dist/flicking.pkgd.min.js.map +1 -1
- package/package.json +2 -2
- package/sass/flicking.sass +13 -0
- package/src/CrossFlicking.ts +261 -228
- package/src/camera/Camera.ts +24 -4
- package/dist/flicking-inline.css +0 -45
- package/dist/flicking-inline.min.css +0 -1
- package/dist/flicking.css +0 -44
- package/dist/flicking.min.css +0 -1
package/src/camera/Camera.ts
CHANGED
|
@@ -32,6 +32,7 @@ class Camera {
|
|
|
32
32
|
private _mode: CameraMode;
|
|
33
33
|
private _el: HTMLElement;
|
|
34
34
|
private _transform: string;
|
|
35
|
+
private _lookedOffset = 0;
|
|
35
36
|
private _position: number;
|
|
36
37
|
private _alignPos: number;
|
|
37
38
|
private _offset: number;
|
|
@@ -292,6 +293,8 @@ class Camera {
|
|
|
292
293
|
* @return {this}
|
|
293
294
|
*/
|
|
294
295
|
public lookAt(pos: number): void {
|
|
296
|
+
const prevOffset = this._offset;
|
|
297
|
+
const isChangedOffset = this._lookedOffset !== prevOffset;
|
|
295
298
|
const flicking = getFlickingAttached(this._flicking);
|
|
296
299
|
const prevPos = this._position;
|
|
297
300
|
|
|
@@ -304,7 +307,12 @@ class Camera {
|
|
|
304
307
|
if (toggled) {
|
|
305
308
|
void flicking.renderer.render().then(() => {
|
|
306
309
|
this.updateOffset();
|
|
310
|
+
this._lookedOffset = this._offset;
|
|
307
311
|
});
|
|
312
|
+
} else if (isChangedOffset) {
|
|
313
|
+
// sync offset for renderOnlyVisible on resize
|
|
314
|
+
this.updateOffset();
|
|
315
|
+
this._lookedOffset = this._offset;
|
|
308
316
|
} else {
|
|
309
317
|
this.applyTransform();
|
|
310
318
|
}
|
|
@@ -502,8 +510,8 @@ class Camera {
|
|
|
502
510
|
}
|
|
503
511
|
|
|
504
512
|
/**
|
|
505
|
-
* Update Viewport's height to
|
|
506
|
-
* @ko 현재
|
|
513
|
+
* Update Viewport's height to visible panel's max height
|
|
514
|
+
* @ko 현재 활성화된 패널과 보이는 패널의 최대 높이와 동일하도록 뷰포트의 높이를 업데이트합니다
|
|
507
515
|
* @throws {FlickingError}
|
|
508
516
|
* {@link ERROR_CODE NOT_ATTACHED_TO_FLICKING} When {@link Camera#init init} is not called before
|
|
509
517
|
* <ko>{@link ERROR_CODE NOT_ATTACHED_TO_FLICKING} {@link Camera#init init}이 이전에 호출되지 않은 경우</ko>
|
|
@@ -513,11 +521,22 @@ class Camera {
|
|
|
513
521
|
public updateAdaptiveHeight() {
|
|
514
522
|
const flicking = getFlickingAttached(this._flicking);
|
|
515
523
|
const activePanel = flicking.control.activePanel;
|
|
524
|
+
const visiblePanels = flicking.visiblePanels;
|
|
525
|
+
|
|
526
|
+
const selectedPanels = [...visiblePanels];
|
|
527
|
+
|
|
528
|
+
if (activePanel) {
|
|
529
|
+
selectedPanels.push(activePanel);
|
|
530
|
+
}
|
|
531
|
+
|
|
532
|
+
if (!flicking.horizontal || !flicking.adaptive || !selectedPanels.length) return;
|
|
533
|
+
|
|
534
|
+
|
|
535
|
+
const maxHeight = Math.max(...selectedPanels.map(panel => panel.height));
|
|
516
536
|
|
|
517
|
-
if (!flicking.horizontal || !flicking.adaptive || !activePanel) return;
|
|
518
537
|
|
|
519
538
|
flicking.viewport.setSize({
|
|
520
|
-
height:
|
|
539
|
+
height: maxHeight
|
|
521
540
|
});
|
|
522
541
|
}
|
|
523
542
|
|
|
@@ -599,6 +618,7 @@ class Camera {
|
|
|
599
618
|
|
|
600
619
|
private _resetInternalValues() {
|
|
601
620
|
this._position = 0;
|
|
621
|
+
this._lookedOffset = 0;
|
|
602
622
|
this._alignPos = 0;
|
|
603
623
|
this._offset = 0;
|
|
604
624
|
this._circularOffset = 0;
|
package/dist/flicking-inline.css
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
.flicking-viewport {
|
|
2
|
-
position: relative;
|
|
3
|
-
overflow: hidden;
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
.flicking-viewport:not(.vertical) {
|
|
7
|
-
width: 100%;
|
|
8
|
-
height: 100%;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
.flicking-viewport.vertical,
|
|
12
|
-
.flicking-viewport.vertical > .flicking-camera {
|
|
13
|
-
display: inline-block;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
.flicking-viewport.vertical.middle > .flicking-camera > * {
|
|
17
|
-
vertical-align: middle;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
.flicking-viewport.vertical.bottom > .flicking-camera > * {
|
|
21
|
-
vertical-align: bottom;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
.flicking-viewport.vertical > .flicking-camera > * {
|
|
25
|
-
display: block;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
.flicking-viewport.flicking-hidden > .flicking-camera > * {
|
|
29
|
-
visibility: hidden;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
.flicking-camera {
|
|
33
|
-
width: 100%;
|
|
34
|
-
height: 100%;
|
|
35
|
-
position: relative;
|
|
36
|
-
z-index: 1;
|
|
37
|
-
white-space: nowrap;
|
|
38
|
-
will-change: transform;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
.flicking-camera > * {
|
|
42
|
-
display: inline-block;
|
|
43
|
-
white-space: normal;
|
|
44
|
-
vertical-align: top;
|
|
45
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.flicking-viewport{position:relative;overflow:hidden}.flicking-viewport:not(.vertical){width:100%;height:100%}.flicking-viewport.vertical,.flicking-viewport.vertical>.flicking-camera{display:inline-block}.flicking-viewport.vertical.middle>.flicking-camera>*{vertical-align:middle}.flicking-viewport.vertical.bottom>.flicking-camera>*{vertical-align:bottom}.flicking-viewport.vertical>.flicking-camera>*{display:block}.flicking-viewport.flicking-hidden>.flicking-camera>*{visibility:hidden}.flicking-camera{width:100%;height:100%;position:relative;z-index:1;white-space:nowrap;will-change:transform}.flicking-camera>*{display:inline-block;white-space:normal;vertical-align:top}
|
package/dist/flicking.css
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
.flicking-viewport {
|
|
2
|
-
position: relative;
|
|
3
|
-
overflow: hidden;
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
.flicking-viewport.vertical {
|
|
7
|
-
display: -webkit-inline-box;
|
|
8
|
-
display: -ms-inline-flexbox;
|
|
9
|
-
display: inline-flex;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
.flicking-viewport.vertical > .flicking-camera {
|
|
13
|
-
display: -webkit-inline-box;
|
|
14
|
-
display: -ms-inline-flexbox;
|
|
15
|
-
display: inline-flex;
|
|
16
|
-
-webkit-box-orient: vertical;
|
|
17
|
-
-webkit-box-direction: normal;
|
|
18
|
-
-ms-flex-direction: column;
|
|
19
|
-
flex-direction: column;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
.flicking-viewport.flicking-hidden > .flicking-camera > * {
|
|
23
|
-
visibility: hidden;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
.flicking-camera {
|
|
27
|
-
width: 100%;
|
|
28
|
-
height: 100%;
|
|
29
|
-
display: -webkit-box;
|
|
30
|
-
display: -ms-flexbox;
|
|
31
|
-
display: flex;
|
|
32
|
-
position: relative;
|
|
33
|
-
-webkit-box-orient: horizontal;
|
|
34
|
-
-webkit-box-direction: normal;
|
|
35
|
-
-ms-flex-direction: row;
|
|
36
|
-
flex-direction: row;
|
|
37
|
-
z-index: 1;
|
|
38
|
-
will-change: transform;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
.flicking-camera > * {
|
|
42
|
-
-ms-flex-negative: 0;
|
|
43
|
-
flex-shrink: 0;
|
|
44
|
-
}
|
package/dist/flicking.min.css
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.flicking-viewport{position:relative;overflow:hidden}.flicking-viewport.vertical{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.flicking-viewport.vertical>.flicking-camera{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.flicking-viewport.flicking-hidden>.flicking-camera>*{visibility:hidden}.flicking-camera{width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;z-index:1;will-change:transform}.flicking-camera>*{-ms-flex-negative:0;flex-shrink:0}
|