@egjs/flicking 4.14.2-beta.1 → 4.15.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.
- package/declaration/Flicking.d.ts +6 -5
- package/dist/flicking.cjs.js +46 -22
- package/dist/flicking.cjs.js.map +1 -1
- package/dist/flicking.esm.js +46 -22
- package/dist/flicking.esm.js.map +1 -1
- package/dist/flicking.js +46 -22
- 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 +46 -22
- 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 +1 -1
- package/src/Flicking.ts +36 -16
- package/src/cfc/getRenderingPanels.ts +3 -4
- package/src/renderer/Renderer.ts +8 -5
- package/src/renderer/VanillaRenderer.ts +2 -2
package/dist/flicking.esm.js
CHANGED
|
@@ -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.
|
|
7
|
+
version: 4.15.0
|
|
8
8
|
*/
|
|
9
9
|
import Component, { ComponentEvent } from '@egjs/component';
|
|
10
10
|
import Axes, { PanInput } from '@egjs/axes';
|
|
@@ -5127,11 +5127,16 @@ var Renderer = /*#__PURE__*/function () {
|
|
|
5127
5127
|
__proto._afterRender = function () {
|
|
5128
5128
|
var flicking = getFlickingAttached(this._flicking);
|
|
5129
5129
|
flicking.camera.applyTransform();
|
|
5130
|
-
if (flicking.
|
|
5131
|
-
//
|
|
5132
|
-
var
|
|
5130
|
+
if (flicking.useCSSOrder) {
|
|
5131
|
+
// `useCSSOrder`를 사용하는 경우 DOM은 변화가 없지만 대신 css `order`값을 주입
|
|
5132
|
+
var renderedPanels_1 = flicking.renderer.panels.filter(function (panel) {
|
|
5133
|
+
return panel.rendered;
|
|
5134
|
+
});
|
|
5133
5135
|
this._strategy.getRenderingIndexesByOrder(flicking).forEach(function (domIndex, index) {
|
|
5134
|
-
|
|
5136
|
+
if (renderedPanels_1[domIndex].element) {
|
|
5137
|
+
// 방어 코드 추가
|
|
5138
|
+
renderedPanels_1[domIndex].element.style.order = "" + index;
|
|
5139
|
+
}
|
|
5135
5140
|
});
|
|
5136
5141
|
}
|
|
5137
5142
|
};
|
|
@@ -5177,8 +5182,8 @@ var VanillaRenderer = /*#__PURE__*/function (_super) {
|
|
|
5177
5182
|
var cameraEl = flicking.camera.element;
|
|
5178
5183
|
// We're using reversed panels here as last panel should be the last element of camera element
|
|
5179
5184
|
var reversedElements = [];
|
|
5180
|
-
if (flicking.
|
|
5181
|
-
//
|
|
5185
|
+
if (flicking.useCSSOrder) {
|
|
5186
|
+
// useCSSOrder를 사용하는 경우 DOM은 변화가 없지만 대신 css `order`값을 주입
|
|
5182
5187
|
reversedElements = this.getRenderedPanels().map(function (panel) {
|
|
5183
5188
|
return panel.element;
|
|
5184
5189
|
}).reverse();
|
|
@@ -6250,9 +6255,10 @@ var Flicking = /*#__PURE__*/function (_super) {
|
|
|
6250
6255
|
optimizeSizeUpdate = _16 === void 0 ? false : _16,
|
|
6251
6256
|
_17 = _b.animationThreshold,
|
|
6252
6257
|
animationThreshold = _17 === void 0 ? 0.5 : _17,
|
|
6253
|
-
_18 = _b.
|
|
6254
|
-
|
|
6258
|
+
_18 = _b.useCSSOrder,
|
|
6259
|
+
useCSSOrder = _18 === void 0 ? false : _18;
|
|
6255
6260
|
var _this = _super.call(this) || this;
|
|
6261
|
+
_this._scheduleResize = false;
|
|
6256
6262
|
// Internal states
|
|
6257
6263
|
_this._initialized = false;
|
|
6258
6264
|
_this._plugins = [];
|
|
@@ -6298,7 +6304,7 @@ var Flicking = /*#__PURE__*/function (_super) {
|
|
|
6298
6304
|
_this._renderExternal = renderExternal;
|
|
6299
6305
|
_this._optimizeSizeUpdate = optimizeSizeUpdate;
|
|
6300
6306
|
_this._animationThreshold = animationThreshold;
|
|
6301
|
-
_this.
|
|
6307
|
+
_this._useCSSOrder = useCSSOrder;
|
|
6302
6308
|
// Create core components
|
|
6303
6309
|
_this._viewport = new Viewport(_this, getElement(root));
|
|
6304
6310
|
_this._autoResizer = new AutoResizer(_this);
|
|
@@ -7027,22 +7033,23 @@ var Flicking = /*#__PURE__*/function (_super) {
|
|
|
7027
7033
|
enumerable: false,
|
|
7028
7034
|
configurable: true
|
|
7029
7035
|
});
|
|
7030
|
-
Object.defineProperty(__proto, "
|
|
7036
|
+
Object.defineProperty(__proto, "useCSSOrder", {
|
|
7031
7037
|
/**
|
|
7032
|
-
*
|
|
7038
|
+
* Using `useCSSOrder` does not change the DOM order, but the `order` CSS property changes the order on the screen. (When `circular` is used, the DOM order changes depending on the position.)
|
|
7033
7039
|
* When using `iframe`, you can prevent reloading when the DOM order changes.
|
|
7034
|
-
*
|
|
7040
|
+
* In svelte, CSS order is always used.
|
|
7041
|
+
* @ko `useCSSOrder`를 사용하면 DOM의 순서는 변경되지 않지만 `order` css가 설정되면서 화면상 순서가 바뀐다. (`circular`를 사용한 경우 위치에 따라 DOM의 순서가 변경된다.)
|
|
7035
7042
|
* `iframe`을 사용하는 경우 DOM의 순서가 변경되면서 reload가 되는 것을 막을 수 있다.
|
|
7043
|
+
* svelte에서는 css order를 무조건 사용한다.
|
|
7036
7044
|
* @type {boolean}
|
|
7037
|
-
* @requires `circular`
|
|
7038
7045
|
* @default false
|
|
7039
|
-
* @see {@link https://naver.github.io/egjs-flicking/Options#
|
|
7046
|
+
* @see {@link https://naver.github.io/egjs-flicking/Options#useCSSOrder useCSSOrder ( Options )}
|
|
7040
7047
|
*/
|
|
7041
7048
|
get: function () {
|
|
7042
|
-
return this.
|
|
7049
|
+
return this._useCSSOrder;
|
|
7043
7050
|
},
|
|
7044
7051
|
set: function (val) {
|
|
7045
|
-
this.
|
|
7052
|
+
this._useCSSOrder = val;
|
|
7046
7053
|
},
|
|
7047
7054
|
enumerable: false,
|
|
7048
7055
|
configurable: true
|
|
@@ -7529,7 +7536,9 @@ var Flicking = /*#__PURE__*/function (_super) {
|
|
|
7529
7536
|
this._plugins.forEach(function (plugin) {
|
|
7530
7537
|
return plugin.destroy();
|
|
7531
7538
|
});
|
|
7539
|
+
this._scheduleResize = false;
|
|
7532
7540
|
this._initialized = false;
|
|
7541
|
+
this._isResizing = false;
|
|
7533
7542
|
};
|
|
7534
7543
|
/**
|
|
7535
7544
|
* Move to the previous panel (current index - 1)
|
|
@@ -7894,7 +7903,7 @@ var Flicking = /*#__PURE__*/function (_super) {
|
|
|
7894
7903
|
* @method
|
|
7895
7904
|
* @fires Flicking#beforeResize
|
|
7896
7905
|
* @fires Flicking#afterResize
|
|
7897
|
-
* @return {
|
|
7906
|
+
* @return {boolean}
|
|
7898
7907
|
*/
|
|
7899
7908
|
__proto.resize = function () {
|
|
7900
7909
|
return __awaiter(this, void 0, void 0, function () {
|
|
@@ -7902,7 +7911,18 @@ var Flicking = /*#__PURE__*/function (_super) {
|
|
|
7902
7911
|
return __generator(this, function (_a) {
|
|
7903
7912
|
switch (_a.label) {
|
|
7904
7913
|
case 0:
|
|
7905
|
-
if (this.
|
|
7914
|
+
if (!this._initialized) {
|
|
7915
|
+
return [2 /*return*/];
|
|
7916
|
+
}
|
|
7917
|
+
|
|
7918
|
+
if (this._isResizing) {
|
|
7919
|
+
// resize를 연속으로 발생하면 무시하기에 마지막 viewport를 사이즈를 알 수 없음.
|
|
7920
|
+
// resize를 1번 더 실행할 수 잇는 스케줄링 등록
|
|
7921
|
+
this._scheduleResize = true;
|
|
7922
|
+
return [2 /*return*/];
|
|
7923
|
+
}
|
|
7924
|
+
|
|
7925
|
+
this._scheduleResize = false;
|
|
7906
7926
|
this._isResizing = true;
|
|
7907
7927
|
viewport = this._viewport;
|
|
7908
7928
|
renderer = this._renderer;
|
|
@@ -7968,6 +7988,10 @@ var Flicking = /*#__PURE__*/function (_super) {
|
|
|
7968
7988
|
element: viewport.element
|
|
7969
7989
|
}));
|
|
7970
7990
|
this._isResizing = false;
|
|
7991
|
+
// 연속으로 resize를 호출하는 경우를 대비하기 위해서 스케줄링 반영
|
|
7992
|
+
if (this._scheduleResize) {
|
|
7993
|
+
this.resize();
|
|
7994
|
+
}
|
|
7971
7995
|
return [2 /*return*/];
|
|
7972
7996
|
}
|
|
7973
7997
|
});
|
|
@@ -8187,7 +8211,7 @@ var Flicking = /*#__PURE__*/function (_super) {
|
|
|
8187
8211
|
* Flicking.VERSION; // ex) 4.0.0
|
|
8188
8212
|
* ```
|
|
8189
8213
|
*/
|
|
8190
|
-
Flicking.VERSION = "4.
|
|
8214
|
+
Flicking.VERSION = "4.15.0";
|
|
8191
8215
|
return Flicking;
|
|
8192
8216
|
}(Component);
|
|
8193
8217
|
|
|
@@ -8706,8 +8730,8 @@ var getRenderingPanels = (function (flicking, diffResult) {
|
|
|
8706
8730
|
var renderingPanels = flicking.panels.filter(function (panel) {
|
|
8707
8731
|
return !removedPanels[panel.index];
|
|
8708
8732
|
});
|
|
8709
|
-
if (!flicking.
|
|
8710
|
-
//
|
|
8733
|
+
if (!flicking.useCSSOrder) {
|
|
8734
|
+
// useCSSOrder를 사용하게 되는 경우 sort를 하지 않는다.
|
|
8711
8735
|
renderingPanels.sort(function (panel1, panel2) {
|
|
8712
8736
|
return panel1.position + panel1.offset - (panel2.position + panel2.offset);
|
|
8713
8737
|
});
|