@egjs/flicking 4.8.1 → 4.9.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.
@@ -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.8.1
7
+ version: 4.9.0
8
8
  */
9
9
  (function (global, factory) {
10
10
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
@@ -1248,6 +1248,29 @@ version: 4.8.1
1248
1248
 
1249
1249
  return arr;
1250
1250
  };
1251
+ var getElementSize = function (_a) {
1252
+ var el = _a.el,
1253
+ horizontal = _a.horizontal,
1254
+ useFractionalSize = _a.useFractionalSize,
1255
+ useOffset = _a.useOffset,
1256
+ style = _a.style;
1257
+
1258
+ if (useFractionalSize) {
1259
+ var baseSize = parseFloat(horizontal ? style.width : style.height);
1260
+ var isBorderBoxSizing = style.boxSizing === "border-box";
1261
+ var border = horizontal ? parseFloat(style.borderLeftWidth || "0") + parseFloat(style.borderRightWidth || "0") : parseFloat(style.borderTopWidth || "0") + parseFloat(style.borderBottomWidth || "0");
1262
+
1263
+ if (isBorderBoxSizing) {
1264
+ return useOffset ? baseSize : baseSize - border;
1265
+ } else {
1266
+ var padding = horizontal ? parseFloat(style.paddingLeft || "0") + parseFloat(style.paddingRight || "0") : parseFloat(style.paddingTop || "0") + parseFloat(style.paddingBottom || "0");
1267
+ return useOffset ? baseSize + padding + border : baseSize + padding;
1268
+ }
1269
+ } else {
1270
+ var sizeStr = horizontal ? "Width" : "Height";
1271
+ return useOffset ? el["offset" + sizeStr] : el["client" + sizeStr];
1272
+ }
1273
+ };
1251
1274
  var setPrototypeOf = Object.setPrototypeOf || function (obj, proto) {
1252
1275
  obj.__proto__ = proto;
1253
1276
  return obj;
@@ -1282,6 +1305,7 @@ version: 4.8.1
1282
1305
  isBetween: isBetween,
1283
1306
  circulateIndex: circulateIndex,
1284
1307
  range: range,
1308
+ getElementSize: getElementSize,
1285
1309
  setPrototypeOf: setPrototypeOf
1286
1310
  };
1287
1311
 
@@ -1330,10 +1354,6 @@ version: 4.8.1
1330
1354
  return FlickingError;
1331
1355
  }(Error);
1332
1356
 
1333
- /*
1334
- * Copyright (c) 2015 NAVER Corp.
1335
- * egjs projects are licensed under the MIT license
1336
- */
1337
1357
  /**
1338
1358
  * A component that manages viewport size
1339
1359
  * @ko 뷰포트 크기 정보를 담당하는 컴포넌트
@@ -1345,7 +1365,8 @@ version: 4.8.1
1345
1365
  /**
1346
1366
  * @param el A viewport element<ko>뷰포트 엘리먼트</ko>
1347
1367
  */
1348
- function Viewport(el) {
1368
+ function Viewport(flicking, el) {
1369
+ this._flicking = flicking;
1349
1370
  this._el = el;
1350
1371
  this._width = 0;
1351
1372
  this._height = 0;
@@ -1461,8 +1482,21 @@ version: 4.8.1
1461
1482
  __proto.resize = function () {
1462
1483
  var el = this._el;
1463
1484
  var elStyle = getStyle(el);
1464
- this._width = el.clientWidth;
1465
- this._height = el.clientHeight;
1485
+ var useFractionalSize = this._flicking.useFractionalSize;
1486
+ this._width = getElementSize({
1487
+ el: el,
1488
+ horizontal: true,
1489
+ useFractionalSize: useFractionalSize,
1490
+ useOffset: false,
1491
+ style: elStyle
1492
+ });
1493
+ this._height = getElementSize({
1494
+ el: el,
1495
+ horizontal: false,
1496
+ useFractionalSize: useFractionalSize,
1497
+ useOffset: false,
1498
+ style: elStyle
1499
+ });
1466
1500
  this._padding = {
1467
1501
  left: elStyle.paddingLeft ? parseFloat(elStyle.paddingLeft) : 0,
1468
1502
  right: elStyle.paddingRight ? parseFloat(elStyle.paddingRight) : 0,
@@ -1916,7 +1950,7 @@ version: 4.8.1
1916
1950
  license: MIT
1917
1951
  author: NAVER Corp.
1918
1952
  repository: git+https://github.com/naver/agent.git
1919
- version: 2.3.0
1953
+ version: 2.4.2
1920
1954
  */
1921
1955
  function some(arr, callback) {
1922
1956
  var length = arr.length;
@@ -1940,7 +1974,7 @@ version: 4.8.1
1940
1974
 
1941
1975
  return null;
1942
1976
  }
1943
- function getUserAgent(agent) {
1977
+ function getUserAgentString(agent) {
1944
1978
  var userAgent = agent;
1945
1979
 
1946
1980
  if (typeof userAgent === "undefined") {
@@ -2106,15 +2140,18 @@ version: 4.8.1
2106
2140
  }, {
2107
2141
  test: "windows nt",
2108
2142
  id: "window"
2143
+ }, {
2144
+ test: "win32|windows",
2145
+ id: "window"
2109
2146
  }, {
2110
2147
  test: "iphone|ipad|ipod",
2111
2148
  id: "ios",
2112
2149
  versionTest: "iphone os|cpu os"
2113
2150
  }, {
2114
- test: "mac os x",
2151
+ test: "macos|macintel|mac os x",
2115
2152
  id: "mac"
2116
2153
  }, {
2117
- test: "android",
2154
+ test: "android|linux armv81",
2118
2155
  id: "android"
2119
2156
  }, {
2120
2157
  test: "tizen",
@@ -2124,85 +2161,17 @@ version: 4.8.1
2124
2161
  id: "webos"
2125
2162
  }];
2126
2163
 
2127
- function parseUserAgentData(osData) {
2128
- var userAgentData = navigator.userAgentData;
2129
- var brands = (userAgentData.uaList || userAgentData.brands).slice();
2130
- var isMobile = userAgentData.mobile || false;
2131
- var firstBrand = brands[0];
2132
- var browser = {
2133
- name: firstBrand.brand,
2134
- version: firstBrand.version,
2135
- majorVersion: -1,
2136
- webkit: false,
2137
- webkitVersion: "-1",
2138
- chromium: false,
2139
- chromiumVersion: "-1",
2140
- webview: !!findPresetBrand(WEBVIEW_PRESETS, brands).brand
2141
- };
2142
- var os = {
2143
- name: "unknown",
2144
- version: "-1",
2145
- majorVersion: -1
2146
- };
2147
- browser.webkit = !browser.chromium && some(WEBKIT_PRESETS, function (preset) {
2148
- return findBrand(brands, preset);
2149
- });
2150
- var chromiumBrand = findPresetBrand(CHROMIUM_PRESETS, brands);
2151
- browser.chromium = !!chromiumBrand.brand;
2152
- browser.chromiumVersion = chromiumBrand.version;
2153
-
2154
- if (!browser.chromium) {
2155
- var webkitBrand = findPresetBrand(WEBKIT_PRESETS, brands);
2156
- browser.webkit = !!webkitBrand.brand;
2157
- browser.webkitVersion = webkitBrand.version;
2158
- }
2159
-
2160
- if (osData) {
2161
- var platform_1 = osData.platform.toLowerCase();
2162
- var result = find(OS_PRESETS, function (preset) {
2163
- return new RegExp("" + preset.test, "g").exec(platform_1);
2164
- });
2165
- os.name = result ? result.id : platform_1;
2166
- os.version = osData.platformVersion;
2167
- }
2168
-
2169
- var browserBrand = findPresetBrand(BROWSER_PRESETS, brands);
2170
-
2171
- if (browserBrand.brand) {
2172
- browser.name = browserBrand.brand;
2173
- browser.version = osData ? osData.uaFullVersion : browserBrand.version;
2174
- }
2175
-
2176
- if (navigator.platform === "Linux armv8l") {
2177
- os.name = "android";
2178
- } else if (browser.webkit) {
2179
- os.name = isMobile ? "ios" : "mac";
2180
- }
2181
-
2182
- if (os.name === "ios" && browser.webview) {
2183
- browser.version = "-1";
2184
- }
2185
-
2186
- os.version = convertVersion(os.version);
2187
- browser.version = convertVersion(browser.version);
2188
- os.majorVersion = parseInt(os.version, 10);
2189
- browser.majorVersion = parseInt(browser.version, 10);
2190
- return {
2191
- browser: browser,
2192
- os: os,
2193
- isMobile: isMobile,
2194
- isHints: true
2195
- };
2164
+ function isWebView(userAgent) {
2165
+ return !!findPreset(WEBVIEW_PRESETS, userAgent).preset;
2196
2166
  }
2197
-
2198
- function parseUserAgent(userAgent) {
2199
- var nextAgent = getUserAgent(userAgent);
2167
+ function getLegacyAgent(userAgent) {
2168
+ var nextAgent = getUserAgentString(userAgent);
2200
2169
  var isMobile = !!/mobi/g.exec(nextAgent);
2201
2170
  var browser = {
2202
2171
  name: "unknown",
2203
2172
  version: "-1",
2204
2173
  majorVersion: -1,
2205
- webview: !!findPreset(WEBVIEW_PRESETS, nextAgent).preset,
2174
+ webview: isWebView(nextAgent),
2206
2175
  chromium: false,
2207
2176
  chromiumVersion: "-1",
2208
2177
  webkit: false,
@@ -2240,7 +2209,7 @@ version: 4.8.1
2240
2209
 
2241
2210
  if (browserPreset) {
2242
2211
  browser.name = browserPreset.id;
2243
- browser.version = browserVersion;
2212
+ browser.version = browserVersion; // Early whale bugs
2244
2213
 
2245
2214
  if (browser.webview && os.name === "ios" && browser.name !== "safari") {
2246
2215
  browser.webview = false;
@@ -2255,6 +2224,80 @@ version: 4.8.1
2255
2224
  isHints: false
2256
2225
  };
2257
2226
  }
2227
+
2228
+ function getClientHintsAgent(osData) {
2229
+ var userAgentData = navigator.userAgentData;
2230
+ var brands = (userAgentData.uaList || userAgentData.brands).slice();
2231
+ var fullVersionList = osData && osData.fullVersionList;
2232
+ var isMobile = userAgentData.mobile || false;
2233
+ var firstBrand = brands[0];
2234
+ var platform = (osData && osData.platform || userAgentData.platform || navigator.platform).toLowerCase();
2235
+ var browser = {
2236
+ name: firstBrand.brand,
2237
+ version: firstBrand.version,
2238
+ majorVersion: -1,
2239
+ webkit: false,
2240
+ webkitVersion: "-1",
2241
+ chromium: false,
2242
+ chromiumVersion: "-1",
2243
+ webview: !!findPresetBrand(WEBVIEW_PRESETS, brands).brand || isWebView(getUserAgentString())
2244
+ };
2245
+ var os = {
2246
+ name: "unknown",
2247
+ version: "-1",
2248
+ majorVersion: -1
2249
+ };
2250
+ browser.webkit = !browser.chromium && some(WEBKIT_PRESETS, function (preset) {
2251
+ return findBrand(brands, preset);
2252
+ });
2253
+ var chromiumBrand = findPresetBrand(CHROMIUM_PRESETS, brands);
2254
+ browser.chromium = !!chromiumBrand.brand;
2255
+ browser.chromiumVersion = chromiumBrand.version;
2256
+
2257
+ if (!browser.chromium) {
2258
+ var webkitBrand = findPresetBrand(WEBKIT_PRESETS, brands);
2259
+ browser.webkit = !!webkitBrand.brand;
2260
+ browser.webkitVersion = webkitBrand.version;
2261
+ }
2262
+
2263
+ var platfomResult = find(OS_PRESETS, function (preset) {
2264
+ return new RegExp("" + preset.test, "g").exec(platform);
2265
+ });
2266
+ os.name = platfomResult ? platfomResult.id : "";
2267
+
2268
+ if (osData) {
2269
+ os.version = osData.platformVersion;
2270
+ }
2271
+
2272
+ if (fullVersionList && fullVersionList.length) {
2273
+ var browserBrandByFullVersionList = findPresetBrand(BROWSER_PRESETS, fullVersionList);
2274
+ browser.name = browserBrandByFullVersionList.brand || browser.name;
2275
+ browser.version = browserBrandByFullVersionList.version || browser.version;
2276
+ } else {
2277
+ var browserBrand = findPresetBrand(BROWSER_PRESETS, brands);
2278
+ browser.name = browserBrand.brand || browser.name;
2279
+ browser.version = browserBrand.brand && osData ? osData.uaFullVersion : browserBrand.version;
2280
+ }
2281
+
2282
+ if (browser.webkit) {
2283
+ os.name = isMobile ? "ios" : "mac";
2284
+ }
2285
+
2286
+ if (os.name === "ios" && browser.webview) {
2287
+ browser.version = "-1";
2288
+ }
2289
+
2290
+ os.version = convertVersion(os.version);
2291
+ browser.version = convertVersion(browser.version);
2292
+ os.majorVersion = parseInt(os.version, 10);
2293
+ browser.majorVersion = parseInt(browser.version, 10);
2294
+ return {
2295
+ browser: browser,
2296
+ os: os,
2297
+ isMobile: isMobile,
2298
+ isHints: true
2299
+ };
2300
+ }
2258
2301
  /**
2259
2302
  * Extracts browser and operating system information from the user agent string.
2260
2303
  * @ko 유저 에이전트 문자열에서 브라우저와 운영체제 정보를 추출한다.
@@ -2269,9 +2312,9 @@ version: 4.8.1
2269
2312
 
2270
2313
  function agent(userAgent) {
2271
2314
  if (typeof userAgent === "undefined" && hasUserAgentData()) {
2272
- return parseUserAgentData();
2315
+ return getClientHintsAgent();
2273
2316
  } else {
2274
- return parseUserAgent(userAgent);
2317
+ return getLegacyAgent(userAgent);
2275
2318
  }
2276
2319
  }
2277
2320
 
@@ -8952,7 +8995,7 @@ version: 4.8.1
8952
8995
  license: MIT
8953
8996
  author: NAVER Corp.
8954
8997
  repository: https://github.com/naver/egjs-imready
8955
- version: 1.2.0
8998
+ version: 1.3.0
8956
8999
  */
8957
9000
 
8958
9001
  /*! *****************************************************************************
@@ -9039,8 +9082,12 @@ version: 4.8.1
9039
9082
 
9040
9083
  return !!target.getAttribute(prefix + "width");
9041
9084
  }
9042
- function hasLoadingAttribute(target) {
9043
- return "loading" in target && target.getAttribute("loading") === "lazy";
9085
+ function hasLoadingAttribute(target, prefix) {
9086
+ if (prefix === void 0) {
9087
+ prefix = "data-";
9088
+ }
9089
+
9090
+ return "loading" in target && target.getAttribute("loading") === "lazy" || !!target.getAttribute(prefix + "lazy");
9044
9091
  }
9045
9092
  function hasSkipAttribute(target, prefix) {
9046
9093
  if (prefix === void 0) {
@@ -9165,6 +9212,11 @@ version: 4.8.1
9165
9212
 
9166
9213
  if (e && e.type === "error") {
9167
9214
  _this.onError(_this.element);
9215
+ }
9216
+
9217
+ if (_this.hasLoading && _this.checkElement()) {
9218
+ // I'm not ready
9219
+ return;
9168
9220
  } // I'm pre-ready and ready!
9169
9221
 
9170
9222
 
@@ -9180,7 +9232,7 @@ version: 4.8.1
9180
9232
  var prefix = _this.options.prefix;
9181
9233
  _this.hasDataSize = hasSizeAttribute(element, prefix);
9182
9234
  _this.isSkip = hasSkipAttribute(element, prefix);
9183
- _this.hasLoading = hasLoadingAttribute(element);
9235
+ _this.hasLoading = hasLoadingAttribute(element, prefix);
9184
9236
  return _this;
9185
9237
  }
9186
9238
 
@@ -9566,6 +9618,7 @@ version: 4.8.1
9566
9618
 
9567
9619
  var tagName = element.tagName.toLowerCase();
9568
9620
  var loaders = this.options.loaders;
9621
+ var prefix = options.prefix;
9569
9622
  var tags = Object.keys(loaders);
9570
9623
 
9571
9624
  if (loaders[tagName]) {
@@ -9575,7 +9628,7 @@ version: 4.8.1
9575
9628
  var loader = new ElementLoader(element, options);
9576
9629
  var children = toArray(element.querySelectorAll(tags.join(", ")));
9577
9630
  loader.setHasLoading(children.some(function (el) {
9578
- return hasLoadingAttribute(el);
9631
+ return hasLoadingAttribute(el, prefix);
9579
9632
  }));
9580
9633
  var withPreReady = false;
9581
9634
  var childrenImReady = this.clone().on("error", function (e) {
@@ -9660,13 +9713,13 @@ version: 4.8.1
9660
9713
  * ```
9661
9714
  */
9662
9715
 
9663
- this.trigger("error", {
9716
+ this.trigger(new ComponentEvent$1("error", {
9664
9717
  element: info.element,
9665
9718
  index: index,
9666
9719
  target: target,
9667
9720
  errorCount: this.getErrorCount(),
9668
9721
  totalErrorCount: ++this.totalErrorCount
9669
- });
9722
+ }));
9670
9723
  };
9671
9724
 
9672
9725
  __proto.onPreReadyElement = function (index) {
@@ -9700,7 +9753,7 @@ version: 4.8.1
9700
9753
  * ```
9701
9754
  */
9702
9755
 
9703
- this.trigger("preReadyElement", {
9756
+ this.trigger(new ComponentEvent$1("preReadyElement", {
9704
9757
  element: info.element,
9705
9758
  index: index,
9706
9759
  preReadyCount: this.preReadyCount,
@@ -9710,7 +9763,7 @@ version: 4.8.1
9710
9763
  isReady: this.isReady(),
9711
9764
  hasLoading: info.hasLoading,
9712
9765
  isSkip: info.isSkip
9713
- });
9766
+ }));
9714
9767
  };
9715
9768
 
9716
9769
  __proto.onPreReady = function () {
@@ -9742,12 +9795,12 @@ version: 4.8.1
9742
9795
  * ```
9743
9796
  */
9744
9797
 
9745
- this.trigger("preReady", {
9798
+ this.trigger(new ComponentEvent$1("preReady", {
9746
9799
  readyCount: this.readyCount,
9747
9800
  totalCount: this.totalCount,
9748
9801
  isReady: this.isReady(),
9749
9802
  hasLoading: this.hasLoading()
9750
- });
9803
+ }));
9751
9804
  };
9752
9805
 
9753
9806
  __proto.onReadyElement = function (index) {
@@ -9781,7 +9834,7 @@ version: 4.8.1
9781
9834
  * ```
9782
9835
  */
9783
9836
 
9784
- this.trigger("readyElement", {
9837
+ this.trigger(new ComponentEvent$1("readyElement", {
9785
9838
  index: index,
9786
9839
  element: info.element,
9787
9840
  hasError: info.hasError,
@@ -9795,7 +9848,7 @@ version: 4.8.1
9795
9848
  hasLoading: info.hasLoading,
9796
9849
  isPreReadyOver: this.isPreReadyOver,
9797
9850
  isSkip: info.isSkip
9798
- });
9851
+ }));
9799
9852
  };
9800
9853
 
9801
9854
  __proto.onReady = function () {
@@ -9829,11 +9882,11 @@ version: 4.8.1
9829
9882
  * });
9830
9883
  * ```
9831
9884
  */
9832
- this.trigger("ready", {
9885
+ this.trigger(new ComponentEvent$1("ready", {
9833
9886
  errorCount: this.getErrorCount(),
9834
9887
  totalErrorCount: this.totalErrorCount,
9835
9888
  totalCount: this.totalCount
9836
- });
9889
+ }));
9837
9890
  };
9838
9891
 
9839
9892
  __proto.getErrorCount = function () {
@@ -10998,7 +11051,8 @@ version: 4.8.1
10998
11051
  __proto.resize = function (cached) {
10999
11052
  var el = this.element;
11000
11053
  var flicking = this._flicking;
11001
- var horizontal = flicking.horizontal;
11054
+ var horizontal = flicking.horizontal,
11055
+ useFractionalSize = flicking.useFractionalSize;
11002
11056
 
11003
11057
  if (cached) {
11004
11058
  this._size = cached.size;
@@ -11006,7 +11060,13 @@ version: 4.8.1
11006
11060
  this._height = cached.height;
11007
11061
  } else {
11008
11062
  var elStyle = getStyle(el);
11009
- this._size = horizontal ? el.offsetWidth : el.offsetHeight;
11063
+ this._size = getElementSize({
11064
+ el: el,
11065
+ horizontal: horizontal,
11066
+ useFractionalSize: useFractionalSize,
11067
+ useOffset: true,
11068
+ style: elStyle
11069
+ });
11010
11070
  this._margin = horizontal ? {
11011
11071
  prev: parseFloat(elStyle.marginLeft || "0"),
11012
11072
  next: parseFloat(elStyle.marginRight || "0")
@@ -11014,7 +11074,13 @@ version: 4.8.1
11014
11074
  prev: parseFloat(elStyle.marginTop || "0"),
11015
11075
  next: parseFloat(elStyle.marginBottom || "0")
11016
11076
  };
11017
- this._height = horizontal ? el.offsetHeight : this._size;
11077
+ this._height = horizontal ? getElementSize({
11078
+ el: el,
11079
+ horizontal: false,
11080
+ useFractionalSize: useFractionalSize,
11081
+ useOffset: true,
11082
+ style: elStyle
11083
+ }) : this._size;
11018
11084
  }
11019
11085
 
11020
11086
  this.updatePosition();
@@ -11724,10 +11790,12 @@ version: 4.8.1
11724
11790
  resizeDebounce = _8 === void 0 ? 0 : _8,
11725
11791
  _9 = _b.maxResizeDebounce,
11726
11792
  maxResizeDebounce = _9 === void 0 ? 100 : _9,
11727
- _10 = _b.externalRenderer,
11728
- externalRenderer = _10 === void 0 ? null : _10,
11729
- _11 = _b.renderExternal,
11730
- renderExternal = _11 === void 0 ? null : _11;
11793
+ _10 = _b.useFractionalSize,
11794
+ useFractionalSize = _10 === void 0 ? false : _10,
11795
+ _11 = _b.externalRenderer,
11796
+ externalRenderer = _11 === void 0 ? null : _11,
11797
+ _12 = _b.renderExternal,
11798
+ renderExternal = _12 === void 0 ? null : _12;
11731
11799
 
11732
11800
  var _this = _super.call(this) || this; // Internal states
11733
11801
 
@@ -11767,10 +11835,11 @@ version: 4.8.1
11767
11835
  _this._useResizeObserver = useResizeObserver;
11768
11836
  _this._resizeDebounce = resizeDebounce;
11769
11837
  _this._maxResizeDebounce = maxResizeDebounce;
11838
+ _this._useFractionalSize = useFractionalSize;
11770
11839
  _this._externalRenderer = externalRenderer;
11771
11840
  _this._renderExternal = renderExternal; // Create core components
11772
11841
 
11773
- _this._viewport = new Viewport(getElement(root));
11842
+ _this._viewport = new Viewport(_this, getElement(root));
11774
11843
  _this._autoResizer = new AutoResizer(_this);
11775
11844
  _this._renderer = _this._createRenderer();
11776
11845
  _this._camera = _this._createCamera();
@@ -12683,6 +12752,23 @@ version: 4.8.1
12683
12752
  enumerable: false,
12684
12753
  configurable: true
12685
12754
  });
12755
+ Object.defineProperty(__proto, "useFractionalSize", {
12756
+ /**
12757
+ * By enabling this, Flicking will calculate all internal size with CSS width computed with getComputedStyle.
12758
+ * This can prevent 1px offset issue in some cases where panel size has the fractional part.
12759
+ * All sizes will have the original size before CSS {@link https://developer.mozilla.org/en-US/docs/Web/CSS/transform transform} is applied on the element.
12760
+ * @ko 이 옵션을 활성화할 경우, Flicking은 내부의 모든 크기를 {@link https://developer.mozilla.org/en-US/docs/Web/API/Element/getBoundingClientRect getBoundingClientRect}를 이용하여 계산합니다.
12761
+ * 이를 통해, 패널 크기에 소수점을 포함할 경우에 발생할 수 있는 일부 1px 오프셋 이슈를 해결 가능합니다.
12762
+ * 모든 크기는 CSS {@link https://developer.mozilla.org/en-US/docs/Web/CSS/transform transform}이 엘리먼트에 적용되기 이전의 크기를 사용할 것입니다.
12763
+ * @type {boolean}
12764
+ * @default false
12765
+ */
12766
+ get: function () {
12767
+ return this._useFractionalSize;
12768
+ },
12769
+ enumerable: false,
12770
+ configurable: true
12771
+ });
12686
12772
  Object.defineProperty(__proto, "externalRenderer", {
12687
12773
  /**
12688
12774
  * This is an option for the frameworks(React, Vue, Angular, ...). Don't set it as it's automatically managed by Flicking.
@@ -13494,7 +13580,7 @@ version: 4.8.1
13494
13580
  */
13495
13581
 
13496
13582
 
13497
- Flicking.VERSION = "4.8.1";
13583
+ Flicking.VERSION = "4.9.0";
13498
13584
  return Flicking;
13499
13585
  }(Component);
13500
13586