@egjs/flicking-plugins 4.5.0 → 4.7.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.
@@ -15,11 +15,13 @@ declare class AutoPlay implements Plugin {
15
15
  private _flicking;
16
16
  private _timerId;
17
17
  private _mouseEntered;
18
+ private _playing;
18
19
  get duration(): number;
19
20
  get animationDuration(): number | undefined;
20
21
  get direction(): AutoPlayOptions["direction"];
21
22
  get stopOnHover(): boolean;
22
23
  get delayAfterHover(): number;
24
+ get playing(): boolean;
23
25
  set duration(val: number);
24
26
  set animationDuration(val: number | undefined);
25
27
  set direction(val: AutoPlayOptions["direction"]);
@@ -8,6 +8,7 @@ export interface PaginationOptions {
8
8
  bulletCount: number;
9
9
  renderBullet: (className: string, index: number) => string;
10
10
  renderFraction: (currentClass: string, totalClass: string) => string;
11
+ renderActiveBullet: ((className: string, index: number) => string) | null;
11
12
  fractionCurrentFormat: (index: number) => string;
12
13
  fractionTotalFormat: (total: number) => string;
13
14
  scrollOnChange: (index: number, ctx: ScrollContext) => any;
@@ -22,6 +23,7 @@ declare class Pagination implements Plugin {
22
23
  private _classPrefix;
23
24
  private _bulletCount;
24
25
  private _renderBullet;
26
+ private _renderActiveBullet;
25
27
  private _renderFraction;
26
28
  private _fractionCurrentFormat;
27
29
  private _fractionTotalFormat;
@@ -32,6 +34,7 @@ declare class Pagination implements Plugin {
32
34
  get classPrefix(): string;
33
35
  get bulletCount(): PaginationOptions["bulletCount"];
34
36
  get renderBullet(): PaginationOptions["renderBullet"];
37
+ get renderActiveBullet(): PaginationOptions["renderActiveBullet"];
35
38
  get renderFraction(): PaginationOptions["renderFraction"];
36
39
  get fractionCurrentFormat(): PaginationOptions["fractionCurrentFormat"];
37
40
  get fractionTotalFormat(): PaginationOptions["fractionTotalFormat"];
@@ -42,11 +45,12 @@ declare class Pagination implements Plugin {
42
45
  set bulletWrapperclassPrefixClass(val: PaginationOptions["classPrefix"]);
43
46
  set bulletCount(val: PaginationOptions["bulletCount"]);
44
47
  set renderBullet(val: PaginationOptions["renderBullet"]);
48
+ set renderActiveBullet(val: PaginationOptions["renderActiveBullet"]);
45
49
  set renderFraction(val: PaginationOptions["renderFraction"]);
46
50
  set fractionCurrentFormat(val: PaginationOptions["fractionCurrentFormat"]);
47
51
  set fractionTotalFormat(val: PaginationOptions["fractionTotalFormat"]);
48
52
  set scrollOnChange(val: PaginationOptions["scrollOnChange"]);
49
- constructor({ parentEl, selector, type, classPrefix, bulletCount, renderBullet, renderFraction, fractionCurrentFormat, fractionTotalFormat, scrollOnChange }?: Partial<PaginationOptions>);
53
+ constructor({ parentEl, selector, type, classPrefix, bulletCount, renderBullet, renderActiveBullet, renderFraction, fractionCurrentFormat, fractionTotalFormat, scrollOnChange }?: Partial<PaginationOptions>);
50
54
  init(flicking: Flicking): void;
51
55
  destroy(): void;
52
56
  update: () => void;
@@ -1,3 +1,3 @@
1
- import Pagination from "./Pagination";
2
- export * from "./renderer";
1
+ import Pagination, { PaginationOptions } from "./Pagination";
3
2
  export { Pagination };
3
+ export type { PaginationOptions };
@@ -1,6 +1,10 @@
1
1
  import Renderer from "./Renderer";
2
2
  declare class BulletRenderer extends Renderer {
3
- private _childs;
3
+ private _bullets;
4
+ private _prevIndex;
5
+ private get _bulletClass();
6
+ private get _activeClass();
7
+ destroy(): void;
4
8
  render(): void;
5
9
  update(index: number): void;
6
10
  }
@@ -1,5 +1,8 @@
1
1
  import Renderer from "./Renderer";
2
2
  declare class FractionRenderer extends Renderer {
3
+ private _prevIndex;
4
+ private _prevTotal;
5
+ destroy(): void;
3
6
  render(): void;
4
7
  update(index: number): void;
5
8
  }
@@ -10,7 +10,10 @@ declare abstract class Renderer {
10
10
  protected _pagination: Pagination;
11
11
  protected _wrapper: HTMLElement;
12
12
  constructor({ flicking, pagination, wrapper }: RendererOptions);
13
+ abstract destroy(): void;
13
14
  abstract render(): void;
14
15
  abstract update(index: number): void;
16
+ protected _createBulletFromString(html: string, index: number): HTMLElement;
17
+ protected _addBulletEvents(bullet: HTMLElement, index: number): void;
15
18
  }
16
19
  export default Renderer;
@@ -4,6 +4,7 @@ declare class ScrollBulletRenderer extends Renderer {
4
4
  private _bulletSize;
5
5
  private _previousIndex;
6
6
  private _sliderIndex;
7
+ destroy(): void;
7
8
  render(): void;
8
9
  update(index: number): void;
9
10
  moveTo: (index: number) => void;
@@ -4,7 +4,7 @@ name: @egjs/flicking-plugins
4
4
  license: MIT
5
5
  author: NAVER Corp.
6
6
  repository: https://github.com/naver/egjs-flicking-plugins
7
- version: 4.5.0
7
+ version: 4.7.0
8
8
  */
9
9
  import { EVENTS, DIRECTION, FlickingError, clamp } from '@egjs/flicking';
10
10
 
@@ -152,8 +152,11 @@ function () {
152
152
  var progress = panel.outsetProgress;
153
153
  var el = panel.element;
154
154
  var target = selector ? el.querySelector(selector) : el;
155
- var opacity = Math.min(1, Math.max(0, 1 - Math.abs(progress * scale)));
156
- target.style.opacity = "" + opacity;
155
+
156
+ if (target) {
157
+ var opacity = Math.min(1, Math.max(0, 1 - Math.abs(progress * scale)));
158
+ target.style.opacity = "" + opacity;
159
+ }
157
160
  });
158
161
  };
159
162
 
@@ -249,12 +252,14 @@ function () {
249
252
  this._flicking = null;
250
253
  this._timerId = 0;
251
254
  this._mouseEntered = false;
255
+ this._playing = false;
252
256
 
253
257
  this.play = function () {
254
258
  _this._movePanel(_this._duration);
255
259
  };
256
260
 
257
261
  this.stop = function () {
262
+ _this._playing = false;
258
263
  clearTimeout(_this._timerId);
259
264
  };
260
265
 
@@ -328,6 +333,13 @@ function () {
328
333
  enumerable: false,
329
334
  configurable: true
330
335
  });
336
+ Object.defineProperty(__proto, "playing", {
337
+ get: function () {
338
+ return this._playing;
339
+ },
340
+ enumerable: false,
341
+ configurable: true
342
+ });
331
343
 
332
344
  __proto.init = function (flicking) {
333
345
  var _a;
@@ -386,6 +398,7 @@ function () {
386
398
  return;
387
399
  }
388
400
 
401
+ this._playing = true;
389
402
  this._timerId = window.setTimeout(function () {
390
403
  if (direction === DIRECTION.NEXT) {
391
404
  flicking.next(_this._animationDuration).catch(function () {
@@ -1185,6 +1198,39 @@ function () {
1185
1198
  this._wrapper = wrapper;
1186
1199
  }
1187
1200
 
1201
+ var __proto = Renderer.prototype;
1202
+
1203
+ __proto._createBulletFromString = function (html, index) {
1204
+ var range = document.createRange();
1205
+ var frag = range.createContextualFragment(html);
1206
+ var bullet = frag.firstChild;
1207
+
1208
+ this._addBulletEvents(bullet, index);
1209
+
1210
+ return bullet;
1211
+ };
1212
+
1213
+ __proto._addBulletEvents = function (bullet, index) {
1214
+ var _this = this;
1215
+
1216
+ var anchorPoints = this._flicking.camera.anchorPoints;
1217
+ var panelIndex = anchorPoints[index].panel.index;
1218
+ bullet.addEventListener(BROWSER.MOUSE_DOWN, function (e) {
1219
+ e.stopPropagation();
1220
+ });
1221
+ bullet.addEventListener(BROWSER.TOUCH_START, function (e) {
1222
+ e.stopPropagation();
1223
+ }, {
1224
+ passive: true
1225
+ });
1226
+ bullet.addEventListener(BROWSER.CLICK, function () {
1227
+ _this._flicking.moveTo(panelIndex).catch(function (err) {
1228
+ if (err instanceof FlickingError) return;
1229
+ throw err;
1230
+ });
1231
+ });
1232
+ };
1233
+
1188
1234
  return Renderer;
1189
1235
  }();
1190
1236
 
@@ -1196,64 +1242,112 @@ function (_super) {
1196
1242
  function BulletRenderer() {
1197
1243
  var _this = _super !== null && _super.apply(this, arguments) || this;
1198
1244
 
1199
- _this._childs = [];
1245
+ _this._bullets = [];
1246
+ _this._prevIndex = -1;
1200
1247
  return _this;
1201
1248
  }
1202
1249
 
1203
1250
  var __proto = BulletRenderer.prototype;
1251
+ Object.defineProperty(__proto, "_bulletClass", {
1252
+ get: function () {
1253
+ var pagination = this._pagination;
1254
+ return pagination.classPrefix + "-" + PAGINATION.BULLET_SUFFIX;
1255
+ },
1256
+ enumerable: false,
1257
+ configurable: true
1258
+ });
1259
+ Object.defineProperty(__proto, "_activeClass", {
1260
+ get: function () {
1261
+ var pagination = this._pagination;
1262
+ return pagination.classPrefix + "-" + PAGINATION.BULLET_ACTIVE_SUFFIX;
1263
+ },
1264
+ enumerable: false,
1265
+ configurable: true
1266
+ });
1267
+
1268
+ __proto.destroy = function () {
1269
+ this._bullets = [];
1270
+ this._prevIndex = -1;
1271
+ };
1204
1272
 
1205
1273
  __proto.render = function () {
1274
+ var _this = this;
1275
+
1206
1276
  var flicking = this._flicking;
1207
1277
  var pagination = this._pagination;
1278
+ var wrapper = this._wrapper;
1279
+ var bulletClass = this._bulletClass;
1280
+ var activeClass = this._activeClass;
1208
1281
  var renderBullet = pagination.renderBullet;
1282
+ var renderActiveBullet = pagination.renderActiveBullet;
1209
1283
  var bulletWrapperClass = pagination.classPrefix + "-" + PAGINATION.BULLET_WRAPPER_SUFFIX;
1210
- var bulletClass = pagination.classPrefix + "-" + PAGINATION.BULLET_SUFFIX;
1211
- var bulletActiveClass = pagination.classPrefix + "-" + PAGINATION.BULLET_ACTIVE_SUFFIX;
1212
1284
  var anchorPoints = flicking.camera.anchorPoints;
1213
- var wrapper = this._wrapper;
1214
1285
  addClass(wrapper, bulletWrapperClass);
1215
- wrapper.innerHTML = anchorPoints.map(function (_, index) {
1216
- return renderBullet(bulletClass, index);
1286
+ wrapper.innerHTML = anchorPoints.map(function (anchorPoint, index) {
1287
+ if (renderActiveBullet && anchorPoint.panel.index === flicking.index) {
1288
+ return renderActiveBullet(bulletClass, index);
1289
+ } else {
1290
+ return renderBullet(bulletClass, index);
1291
+ }
1217
1292
  }).join("\n");
1218
1293
  var bullets = [].slice.call(wrapper.children);
1219
1294
  bullets.forEach(function (bullet, index) {
1220
1295
  var anchorPoint = anchorPoints[index];
1221
1296
 
1222
1297
  if (anchorPoint.panel.index === flicking.index) {
1223
- addClass(bullet, bulletActiveClass);
1298
+ addClass(bullet, activeClass);
1299
+ _this._prevIndex = index;
1224
1300
  }
1225
1301
 
1226
- bullet.addEventListener(BROWSER.MOUSE_DOWN, function (e) {
1227
- e.stopPropagation();
1228
- });
1229
- bullet.addEventListener(BROWSER.TOUCH_START, function (e) {
1230
- e.stopPropagation();
1231
- }, {
1232
- passive: true
1233
- });
1234
- bullet.addEventListener(BROWSER.CLICK, function () {
1235
- flicking.moveTo(anchorPoint.panel.index).catch(function (err) {
1236
- if (err instanceof FlickingError) return;
1237
- throw err;
1238
- });
1239
- });
1302
+ _this._addBulletEvents(bullet, index);
1240
1303
  });
1241
- this._childs = bullets;
1304
+ this._bullets = bullets;
1242
1305
  };
1243
1306
 
1244
1307
  __proto.update = function (index) {
1245
1308
  var flicking = this._flicking;
1246
1309
  var pagination = this._pagination;
1247
- var bullets = this._childs;
1248
- var activeClass = pagination.classPrefix + "-" + PAGINATION.BULLET_ACTIVE_SUFFIX;
1310
+ var wrapper = this._wrapper;
1311
+ var bullets = this._bullets;
1312
+ var bulletClass = this._bulletClass;
1313
+ var activeClass = this._activeClass;
1314
+ var prevIndex = this._prevIndex;
1249
1315
  var anchorPoints = flicking.camera.anchorPoints;
1316
+ var renderBullet = pagination.renderBullet;
1317
+ var renderActiveBullet = pagination.renderActiveBullet;
1250
1318
  if (anchorPoints.length <= 0) return;
1251
- bullets.forEach(function (bullet) {
1252
- removeClass(bullet, activeClass);
1253
- });
1254
1319
  var anchorOffset = anchorPoints[0].panel.index;
1255
- var activeBullet = bullets[index - anchorOffset];
1256
- addClass(activeBullet, activeClass);
1320
+ var activeBulletIndex = index - anchorOffset;
1321
+ if (prevIndex === activeBulletIndex) return;
1322
+
1323
+ if (renderActiveBullet) {
1324
+ var prevBullet = bullets[prevIndex];
1325
+
1326
+ if (prevBullet) {
1327
+ var newBullet = this._createBulletFromString(renderBullet(bulletClass, prevIndex), prevIndex);
1328
+
1329
+ prevBullet.parentElement.replaceChild(newBullet, prevBullet);
1330
+ bullets[prevIndex] = newBullet;
1331
+ }
1332
+
1333
+ var activeBullet = bullets[activeBulletIndex];
1334
+
1335
+ var newActiveBullet = this._createBulletFromString(renderActiveBullet(bulletClass + " " + activeClass, activeBulletIndex), activeBulletIndex);
1336
+
1337
+ wrapper.replaceChild(newActiveBullet, activeBullet);
1338
+ bullets[activeBulletIndex] = newActiveBullet;
1339
+ } else {
1340
+ var activeBullet = bullets[activeBulletIndex];
1341
+ var prevBullet = bullets[prevIndex];
1342
+
1343
+ if (prevBullet) {
1344
+ removeClass(prevBullet, activeClass);
1345
+ }
1346
+
1347
+ addClass(activeBullet, activeClass);
1348
+ }
1349
+
1350
+ this._prevIndex = activeBulletIndex;
1257
1351
  };
1258
1352
 
1259
1353
  return BulletRenderer;
@@ -1265,11 +1359,20 @@ function (_super) {
1265
1359
  __extends(FractionRenderer, _super);
1266
1360
 
1267
1361
  function FractionRenderer() {
1268
- return _super !== null && _super.apply(this, arguments) || this;
1362
+ var _this = _super !== null && _super.apply(this, arguments) || this;
1363
+
1364
+ _this._prevIndex = -1;
1365
+ _this._prevTotal = -1;
1366
+ return _this;
1269
1367
  }
1270
1368
 
1271
1369
  var __proto = FractionRenderer.prototype;
1272
1370
 
1371
+ __proto.destroy = function () {
1372
+ this._prevIndex = -1;
1373
+ this._prevTotal = -1;
1374
+ };
1375
+
1273
1376
  __proto.render = function () {
1274
1377
  var flicking = this._flicking;
1275
1378
  var wrapper = this._wrapper;
@@ -1286,14 +1389,18 @@ function (_super) {
1286
1389
  var flicking = this._flicking;
1287
1390
  var wrapper = this._wrapper;
1288
1391
  var pagination = this._pagination;
1289
- var fractionCurrentClass = pagination.classPrefix + "-" + PAGINATION.FRACTION_CURRENT_SUFFIX;
1290
- var fractionTotalClass = pagination.classPrefix + "-" + PAGINATION.FRACTION_TOTAL_SUFFIX;
1291
- var currentWrapper = wrapper.querySelector("." + fractionCurrentClass);
1292
- var totalWrapper = wrapper.querySelector("." + fractionTotalClass);
1293
1392
  var anchorPoints = flicking.camera.anchorPoints;
1294
1393
  var currentIndex = anchorPoints.length > 0 ? index - anchorPoints[0].panel.index + 1 : 0;
1394
+ var anchorCount = anchorPoints.length;
1395
+ if (currentIndex === this._prevIndex && anchorCount === this._prevTotal) return;
1396
+ var fractionCurrentSelector = "." + pagination.classPrefix + "-" + PAGINATION.FRACTION_CURRENT_SUFFIX;
1397
+ var fractionTotalSelector = "." + pagination.classPrefix + "-" + PAGINATION.FRACTION_TOTAL_SUFFIX;
1398
+ var currentWrapper = wrapper.querySelector(fractionCurrentSelector);
1399
+ var totalWrapper = wrapper.querySelector(fractionTotalSelector);
1295
1400
  currentWrapper.innerHTML = pagination.fractionCurrentFormat(currentIndex);
1296
- totalWrapper.innerHTML = pagination.fractionTotalFormat(anchorPoints.length);
1401
+ totalWrapper.innerHTML = pagination.fractionTotalFormat(anchorCount);
1402
+ this._prevIndex = currentIndex;
1403
+ this._prevTotal = anchorCount;
1297
1404
  };
1298
1405
 
1299
1406
  return FractionRenderer;
@@ -1326,7 +1433,16 @@ function (_super) {
1326
1433
 
1327
1434
  var __proto = ScrollBulletRenderer.prototype;
1328
1435
 
1436
+ __proto.destroy = function () {
1437
+ this._bullets = [];
1438
+ this._bulletSize = 0;
1439
+ this._previousIndex = -1;
1440
+ this._sliderIndex = -1;
1441
+ };
1442
+
1329
1443
  __proto.render = function () {
1444
+ var _this = this;
1445
+
1330
1446
  var wrapper = this._wrapper;
1331
1447
  var flicking = this._flicking;
1332
1448
  var pagination = this._pagination;
@@ -1346,21 +1462,7 @@ function (_super) {
1346
1462
  }).join("\n");
1347
1463
  var bullets = [].slice.call(sliderEl.children);
1348
1464
  bullets.forEach(function (bullet, index) {
1349
- var anchorPoint = anchorPoints[index];
1350
- bullet.addEventListener(BROWSER.MOUSE_DOWN, function (e) {
1351
- e.stopPropagation();
1352
- });
1353
- bullet.addEventListener(BROWSER.TOUCH_START, function (e) {
1354
- e.stopPropagation();
1355
- }, {
1356
- passive: true
1357
- });
1358
- bullet.addEventListener(BROWSER.CLICK, function () {
1359
- flicking.moveTo(anchorPoint.panel.index).catch(function (err) {
1360
- if (err instanceof FlickingError) return;
1361
- throw err;
1362
- });
1363
- });
1465
+ _this._addBulletEvents(bullet, index);
1364
1466
  });
1365
1467
  if (bullets.length <= 0) return;
1366
1468
  var bulletStyle = getComputedStyle(bullets[0]);
@@ -1368,6 +1470,7 @@ function (_super) {
1368
1470
  wrapper.style.width = bulletSize * pagination.bulletCount + "px";
1369
1471
  this._bullets = bullets;
1370
1472
  this._bulletSize = bulletSize;
1473
+ this._previousIndex = -1;
1371
1474
  this.update(this._flicking.index);
1372
1475
  window.requestAnimationFrame(function () {
1373
1476
  removeClass(wrapper, uninitClass);
@@ -1379,10 +1482,13 @@ function (_super) {
1379
1482
  var flicking = this._flicking;
1380
1483
  var bullets = this._bullets;
1381
1484
  var prevIndex = this._previousIndex;
1485
+ var renderBullet = pagination.renderBullet;
1486
+ var renderActiveBullet = pagination.renderActiveBullet;
1382
1487
  var anchorPoints = flicking.camera.anchorPoints;
1383
1488
  var anchorOffset = anchorPoints[0].panel.index;
1384
1489
  var activeIndex = index - anchorOffset;
1385
1490
  if (anchorPoints.length <= 0) return;
1491
+ var bulletClass = pagination.classPrefix + "-" + PAGINATION.BULLET_SUFFIX;
1386
1492
  var bulletActiveClass = pagination.classPrefix + "-" + PAGINATION.BULLET_ACTIVE_SUFFIX;
1387
1493
  var prevClassPrefix = pagination.classPrefix + "-" + PAGINATION.SCROLL_PREV_SUFFIX;
1388
1494
  var nextClassPrefix = pagination.classPrefix + "-" + PAGINATION.SCROLL_NEXT_SUFFIX;
@@ -1397,6 +1503,27 @@ function (_super) {
1397
1503
 
1398
1504
  var prevClassRegex = new RegExp("^" + prevClassPrefix);
1399
1505
  var nextClassRegex = new RegExp("^" + nextClassPrefix);
1506
+
1507
+ if (renderActiveBullet) {
1508
+ var prevBullet = bullets[prevIndex];
1509
+
1510
+ if (prevBullet) {
1511
+ var newBullet = this._createBulletFromString(renderBullet(bulletClass, prevIndex), prevIndex);
1512
+
1513
+ prevBullet.parentElement.replaceChild(newBullet, prevBullet);
1514
+ bullets[prevIndex] = newBullet;
1515
+ }
1516
+
1517
+ var activeBullet = bullets[activeIndex];
1518
+
1519
+ if (activeBullet) {
1520
+ var newActiveBullet = this._createBulletFromString(renderActiveBullet(bulletClass, activeIndex), activeIndex);
1521
+
1522
+ activeBullet.parentElement.replaceChild(newActiveBullet, activeBullet);
1523
+ bullets[activeIndex] = newActiveBullet;
1524
+ }
1525
+ }
1526
+
1400
1527
  bullets.forEach(function (bullet, idx) {
1401
1528
  var indexOffset = idx - activeIndex;
1402
1529
  var classList = bullet.className.split(" ");
@@ -1456,22 +1583,24 @@ function () {
1456
1583
  renderBullet = _h === void 0 ? function (className) {
1457
1584
  return "<span class=\"" + className + "\"></span>";
1458
1585
  } : _h,
1459
- _j = _b.renderFraction,
1460
- renderFraction = _j === void 0 ? function (currentClass, totalClass) {
1586
+ _j = _b.renderActiveBullet,
1587
+ renderActiveBullet = _j === void 0 ? null : _j,
1588
+ _k = _b.renderFraction,
1589
+ renderFraction = _k === void 0 ? function (currentClass, totalClass) {
1461
1590
  return "<span class=\"" + currentClass + "\"></span>/<span class=\"" + totalClass + "\"></span>";
1462
- } : _j,
1463
- _k = _b.fractionCurrentFormat,
1464
- fractionCurrentFormat = _k === void 0 ? function (index) {
1465
- return index.toString();
1466
1591
  } : _k,
1467
- _l = _b.fractionTotalFormat,
1468
- fractionTotalFormat = _l === void 0 ? function (index) {
1592
+ _l = _b.fractionCurrentFormat,
1593
+ fractionCurrentFormat = _l === void 0 ? function (index) {
1469
1594
  return index.toString();
1470
1595
  } : _l,
1471
- _m = _b.scrollOnChange,
1472
- scrollOnChange = _m === void 0 ? function (index, ctx) {
1596
+ _m = _b.fractionTotalFormat,
1597
+ fractionTotalFormat = _m === void 0 ? function (index) {
1598
+ return index.toString();
1599
+ } : _m,
1600
+ _o = _b.scrollOnChange,
1601
+ scrollOnChange = _o === void 0 ? function (index, ctx) {
1473
1602
  return ctx.moveTo(index);
1474
- } : _m;
1603
+ } : _o;
1475
1604
  /* Internal Values */
1476
1605
 
1477
1606
 
@@ -1493,6 +1622,7 @@ function () {
1493
1622
  this._classPrefix = classPrefix;
1494
1623
  this._bulletCount = bulletCount;
1495
1624
  this._renderBullet = renderBullet;
1625
+ this._renderActiveBullet = renderActiveBullet;
1496
1626
  this._renderFraction = renderFraction;
1497
1627
  this._fractionCurrentFormat = fractionCurrentFormat;
1498
1628
  this._fractionTotalFormat = fractionTotalFormat;
@@ -1557,6 +1687,16 @@ function () {
1557
1687
  enumerable: false,
1558
1688
  configurable: true
1559
1689
  });
1690
+ Object.defineProperty(__proto, "renderActiveBullet", {
1691
+ get: function () {
1692
+ return this._renderActiveBullet;
1693
+ },
1694
+ set: function (val) {
1695
+ this._renderActiveBullet = val;
1696
+ },
1697
+ enumerable: false,
1698
+ configurable: true
1699
+ });
1560
1700
  Object.defineProperty(__proto, "renderFraction", {
1561
1701
  get: function () {
1562
1702
  return this._renderFraction;
@@ -1639,6 +1779,8 @@ function () {
1639
1779
  flicking.off(EVENTS.WILL_RESTORE, this._onIndexChange);
1640
1780
  flicking.off(EVENTS.PANEL_CHANGE, this.update);
1641
1781
 
1782
+ this._renderer.destroy();
1783
+
1642
1784
  this._removeAllChilds();
1643
1785
 
1644
1786
  this._flicking = null;