@egjs/vue3-flicking 4.4.0 → 4.5.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,13 +4,12 @@ name: @egjs/vue3-flicking
4
4
  license: MIT
5
5
  author: NAVER Corp.
6
6
  repository: https://github.com/naver/egjs-flicking/tree/master/packages/vue3-flicking
7
- version: 4.4.0
7
+ version: 4.5.0
8
8
  */
9
- import { h, Fragment, getCurrentInstance, resolveComponent } from 'vue';
10
- import { prop, Vue, Options } from 'vue-class-component';
9
+ import { defineComponent, getCurrentInstance, resolveComponent, h, Fragment } from 'vue';
11
10
  import ListDiffer from '@egjs/list-differ';
12
11
  import Component from '@egjs/component';
13
- import VanillaFlicking__default, { getFlickingAttached, ExternalRenderer, VirtualRenderingStrategy, NormalRenderingStrategy, ExternalPanel, EVENTS, sync, getDefaultCameraTransform, getRenderingPanels, range, withFlickingMethods } from '@egjs/flicking';
12
+ import VanillaFlicking__default, { getFlickingAttached, ExternalRenderer, getRenderingPanels, range, withFlickingMethods, VirtualRenderingStrategy, NormalRenderingStrategy, EVENTS, sync, getDefaultCameraTransform } from '@egjs/flicking';
14
13
  export * from '@egjs/flicking';
15
14
 
16
15
  /*! *****************************************************************************
@@ -64,13 +63,6 @@ var __assign = function () {
64
63
 
65
64
  return __assign.apply(this, arguments);
66
65
  };
67
- function __decorate(decorators, target, key, desc) {
68
- var c = arguments.length,
69
- r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,
70
- d;
71
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
72
- return c > 3 && r && Object.defineProperty(target, key, r), r;
73
- }
74
66
  function __awaiter(thisArg, _arguments, P, generator) {
75
67
  function adopt(value) {
76
68
  return value instanceof P ? value : new P(function (resolve) {
@@ -220,45 +212,45 @@ function __spreadArray(to, from, pack) {
220
212
  return to.concat(ar || Array.prototype.slice.call(from));
221
213
  }
222
214
 
223
- /*
224
- * Copyright (c) 2015 NAVER Corp.
225
- * egjs projects are licensed under the MIT license
226
- */
227
-
228
- var FlickingProps =
229
- /*#__PURE__*/
230
- function () {
231
- function FlickingProps() {
232
- this.viewportTag = prop({
233
- required: false,
234
- default: "div"
235
- });
236
- this.cameraTag = prop({
237
- required: false,
238
- default: "div"
239
- });
240
- this.hideBeforeInit = prop({
241
- required: false,
242
- default: false
243
- });
244
- this.firstPanelSize = prop({
245
- required: false
246
- });
247
- this.options = prop({
248
- required: false,
249
- default: {}
250
- });
251
- this.plugins = prop({
252
- required: false,
253
- default: []
254
- });
255
- this.status = prop({
256
- required: false
257
- });
215
+ var FlickingProps = {
216
+ viewportTag: {
217
+ type: String,
218
+ default: "div",
219
+ required: false
220
+ },
221
+ cameraTag: {
222
+ type: String,
223
+ default: "div",
224
+ required: false
225
+ },
226
+ hideBeforeInit: {
227
+ type: Boolean,
228
+ default: false,
229
+ required: false
230
+ },
231
+ firstPanelSize: {
232
+ type: String,
233
+ required: false
234
+ },
235
+ options: {
236
+ type: Object,
237
+ default: function () {
238
+ return {};
239
+ },
240
+ required: false
241
+ },
242
+ plugins: {
243
+ type: Array,
244
+ default: function () {
245
+ return [];
246
+ },
247
+ required: false
248
+ },
249
+ status: {
250
+ type: Object,
251
+ required: false
258
252
  }
259
-
260
- return FlickingProps;
261
- }();
253
+ };
262
254
 
263
255
  var VueRenderer =
264
256
  /*#__PURE__*/
@@ -335,34 +327,21 @@ function (_super) {
335
327
  return VueRenderer;
336
328
  }(ExternalRenderer);
337
329
 
338
- var VuePanel =
339
- /*#__PURE__*/
340
- function (_super) {
341
- __extends(VuePanel, _super);
342
-
343
- function VuePanel() {
344
- var _this = _super !== null && _super.apply(this, arguments) || this;
345
-
346
- _this.hide = false;
347
- return _this;
348
- }
349
-
350
- var __proto = VuePanel.prototype;
351
- Object.defineProperty(__proto, "nativeElement", {
352
- get: function () {
353
- return this.$.subTree.children[0].el;
354
- },
355
- enumerable: false,
356
- configurable: true
357
- });
358
-
359
- __proto.render = function () {
330
+ /*
331
+ * Copyright (c) 2015 NAVER Corp.
332
+ * egjs projects are licensed under the MIT license
333
+ */
334
+ var VuePanel = defineComponent({
335
+ data: function () {
336
+ return {
337
+ hide: false
338
+ };
339
+ },
340
+ render: function () {
360
341
  if (this.hide || !this.$slots.default) return;
361
342
  return this.$slots.default();
362
- };
363
-
364
- return VuePanel;
365
- }(Vue);
343
+ }
344
+ });
366
345
 
367
346
  var VueElementProvider =
368
347
  /*#__PURE__*/
@@ -372,16 +351,22 @@ function () {
372
351
  }
373
352
 
374
353
  var __proto = VueElementProvider.prototype;
375
- Object.defineProperty(__proto, "element", {
354
+ Object.defineProperty(__proto, "rendered", {
376
355
  get: function () {
377
- return this._el.nativeElement;
356
+ return !this._el.hide;
378
357
  },
379
358
  enumerable: false,
380
359
  configurable: true
381
360
  });
382
- Object.defineProperty(__proto, "rendered", {
361
+ Object.defineProperty(__proto, "element", {
383
362
  get: function () {
384
- return !this._el.hide;
363
+ var el = this._el.$el.nextSibling;
364
+
365
+ if (el && el.nodeType === Node.ELEMENT_NODE) {
366
+ this._cachedElement = el;
367
+ }
368
+
369
+ return this._cachedElement;
385
370
  },
386
371
  enumerable: false,
387
372
  configurable: true
@@ -398,19 +383,22 @@ function () {
398
383
  return VueElementProvider;
399
384
  }();
400
385
 
401
- var Flicking =
402
- /*#__PURE__*/
403
- function (_super) {
404
- __extends(Flicking, _super);
405
-
406
- function Flicking() {
407
- var _this = _super !== null && _super.apply(this, arguments) || this;
386
+ var Flicking = defineComponent({
387
+ props: FlickingProps,
388
+ components: {
389
+ Panel: VuePanel
390
+ },
391
+ data: function () {
392
+ return {};
393
+ },
394
+ created: function () {
395
+ var _this = this;
408
396
 
409
- _this.renderEmitter = new Component();
410
- _this.vanillaFlicking = null;
411
- _this.diffResult = undefined;
397
+ this.vanillaFlicking = null;
398
+ this.renderEmitter = new Component();
399
+ this.diffResult = null;
412
400
 
413
- _this.getPanels = function () {
401
+ this.getPanels = function () {
414
402
  var componentInstance = getCurrentInstance();
415
403
  var vueFlicking = componentInstance === null || componentInstance === void 0 ? void 0 : componentInstance.ctx;
416
404
  var flicking = _this.vanillaFlicking;
@@ -431,7 +419,7 @@ function (_super) {
431
419
  return panels;
432
420
  };
433
421
 
434
- _this.getVirtualPanels = function () {
422
+ this.getVirtualPanels = function () {
435
423
  var options = _this.options;
436
424
  var _a = options.virtual.panelClass,
437
425
  panelClass = _a === void 0 ? "flicking-panel" : _a;
@@ -451,19 +439,14 @@ function (_super) {
451
439
  ref: idx.toString(),
452
440
  class: panelClass,
453
441
  style: size,
454
- domProps: {
455
- "data-element-index": idx
456
- }
442
+ "data-element-index": idx
457
443
  });
458
444
  });
459
445
  };
460
446
 
461
- return _this;
462
- }
463
-
464
- var __proto = Flicking.prototype;
465
-
466
- __proto.mounted = function () {
447
+ withFlickingMethods(this, "vanillaFlicking");
448
+ },
449
+ mounted: function () {
467
450
  var _this = this;
468
451
 
469
452
  var _a;
@@ -472,16 +455,13 @@ function (_super) {
472
455
  var viewportEl = this.$el;
473
456
  var rendererOptions = {
474
457
  vueFlicking: this,
458
+ align: options.align,
475
459
  strategy: options.virtual && ((_a = options.panelsPerView) !== null && _a !== void 0 ? _a : -1) > 0 ? new VirtualRenderingStrategy() : new NormalRenderingStrategy({
476
- providerCtor: VueElementProvider,
477
- panelCtor: ExternalPanel
460
+ providerCtor: VueElementProvider
478
461
  })
479
462
  };
480
- var flicking = new VanillaFlicking__default(viewportEl, __assign(__assign({}, this.options), {
481
- renderExternal: {
482
- renderer: VueRenderer,
483
- rendererOptions: rendererOptions
484
- }
463
+ var flicking = new VanillaFlicking__default(viewportEl, __assign(__assign({}, options), {
464
+ externalRenderer: new VueRenderer(rendererOptions)
485
465
  }));
486
466
  this.vanillaFlicking = flicking;
487
467
  flicking.once(EVENTS.READY, function () {
@@ -498,24 +478,20 @@ function (_super) {
498
478
  if (this.status) {
499
479
  flicking.setStatus(this.status);
500
480
  }
501
- };
502
-
503
- __proto.beforeDestroy = function () {
481
+ },
482
+ beforeUnmount: function () {
504
483
  var _a;
505
484
 
506
485
  (_a = this.vanillaFlicking) === null || _a === void 0 ? void 0 : _a.destroy();
507
- };
508
-
509
- __proto.beforeMount = function () {
486
+ },
487
+ beforeMount: function () {
510
488
  this.fillKeys();
511
- };
512
-
513
- __proto.beforeUpdate = function () {
489
+ },
490
+ beforeUpdate: function () {
514
491
  this.fillKeys();
515
492
  this.diffResult = this.slotDiffer.update(this.getSlots());
516
- };
517
-
518
- __proto.updated = function () {
493
+ },
494
+ updated: function () {
519
495
  var flicking = this.vanillaFlicking;
520
496
  var diffResult = this.diffResult;
521
497
  this.checkPlugins();
@@ -529,9 +505,8 @@ function (_super) {
529
505
  }
530
506
 
531
507
  this.diffResult = undefined;
532
- };
533
-
534
- __proto.render = function () {
508
+ },
509
+ render: function () {
535
510
  var _a;
536
511
 
537
512
  var flicking = this.vanillaFlicking;
@@ -558,96 +533,83 @@ function (_super) {
558
533
  return h(this.viewportTag, viewportData, __spreadArray([h(this.cameraTag, cameraData, {
559
534
  default: panels
560
535
  })], viewportSlots, true));
561
- };
562
-
563
- __proto.getSlots = function () {
564
- var _this = this;
536
+ },
537
+ methods: {
538
+ getSlots: function () {
539
+ var _this = this;
540
+
541
+ var slots = this.$slots.default ? this.$slots.default() : [];
542
+ return slots.reduce(function (elementSlots, slot) {
543
+ return __spreadArray(__spreadArray([], elementSlots, true), _this.getElementVNodes(slot), true);
544
+ }, []);
545
+ },
546
+ getElementVNodes: function (slot, childSlots) {
547
+ var _this = this;
565
548
 
566
- var slots = this.$slots.default ? this.$slots.default() : [];
567
- return slots.reduce(function (elementSlots, slot) {
568
- return __spreadArray(__spreadArray([], elementSlots, true), _this.getElementVNodes(slot), true);
569
- }, []);
570
- };
549
+ if (childSlots === void 0) {
550
+ childSlots = [];
551
+ }
571
552
 
572
- __proto.getElementVNodes = function (slot, childSlots) {
573
- var _this = this;
553
+ if (slot.type === Fragment && Array.isArray(slot.children)) {
554
+ slot.children.filter(function (child) {
555
+ return child && typeof child === "object";
556
+ }).forEach(function (child) {
557
+ return _this.getElementVNodes(child, childSlots);
558
+ });
559
+ } else {
560
+ childSlots.push(slot);
561
+ }
574
562
 
575
- if (childSlots === void 0) {
576
- childSlots = [];
577
- }
563
+ return childSlots;
564
+ },
565
+ bindEvents: function () {
566
+ var _this = this;
578
567
 
579
- if (slot.type === Fragment && Array.isArray(slot.children)) {
580
- slot.children.filter(function (child) {
581
- return child && typeof child === "object";
582
- }).forEach(function (child) {
583
- return _this.getElementVNodes(child, childSlots);
568
+ var flicking = this.vanillaFlicking;
569
+ var events = Object.keys(EVENTS).map(function (key) {
570
+ return EVENTS[key];
584
571
  });
585
- } else {
586
- childSlots.push(slot);
587
- }
572
+ events.forEach(function (eventName) {
573
+ flicking.on(eventName, function (e) {
574
+ e.currentTarget = _this; // Make events from camelCase to kebab-case
588
575
 
589
- return childSlots;
590
- };
591
-
592
- __proto.bindEvents = function () {
593
- var _this = this;
594
-
595
- var flicking = this.vanillaFlicking;
596
- var events = Object.keys(EVENTS).map(function (key) {
597
- return EVENTS[key];
598
- });
599
- events.forEach(function (eventName) {
600
- flicking.on(eventName, function (e) {
601
- e.currentTarget = _this; // Make events from camelCase to kebab-case
602
-
603
- _this.$emit(eventName.replace(/([A-Z])/g, "-$1").toLowerCase(), e);
576
+ _this.$emit(eventName.replace(/([A-Z])/g, "-$1").toLowerCase(), e);
577
+ });
578
+ });
579
+ },
580
+ checkPlugins: function () {
581
+ var _a, _b;
582
+
583
+ var _c = this.pluginsDiffer.update(this.plugins),
584
+ list = _c.list,
585
+ added = _c.added,
586
+ removed = _c.removed,
587
+ prevList = _c.prevList;
588
+
589
+ (_a = this.vanillaFlicking).addPlugins.apply(_a, added.map(function (index) {
590
+ return list[index];
591
+ }));
592
+
593
+ (_b = this.vanillaFlicking).removePlugins.apply(_b, removed.map(function (index) {
594
+ return prevList[index];
595
+ }));
596
+ },
597
+ fillKeys: function () {
598
+ var vnodes = this.getSlots();
599
+ vnodes.forEach(function (node, idx) {
600
+ if (node.key == null) {
601
+ node.key = "$_" + idx;
602
+ }
603
+ });
604
+ },
605
+ getChildren: function () {
606
+ var childRefs = this.$refs;
607
+ return Object.keys(childRefs).map(function (refKey) {
608
+ return childRefs[refKey];
604
609
  });
605
- });
606
- };
607
-
608
- __proto.checkPlugins = function () {
609
- var _a, _b;
610
-
611
- var _c = this.pluginsDiffer.update(this.plugins),
612
- list = _c.list,
613
- added = _c.added,
614
- removed = _c.removed,
615
- prevList = _c.prevList;
616
-
617
- (_a = this.vanillaFlicking).addPlugins.apply(_a, added.map(function (index) {
618
- return list[index];
619
- }));
620
-
621
- (_b = this.vanillaFlicking).removePlugins.apply(_b, removed.map(function (index) {
622
- return prevList[index];
623
- }));
624
- };
625
-
626
- __proto.fillKeys = function () {
627
- var vnodes = this.getSlots();
628
- vnodes.forEach(function (node, idx) {
629
- if (node.key == null) {
630
- node.key = "$_" + idx;
631
- }
632
- });
633
- };
634
-
635
- __proto.getChildren = function () {
636
- var childRefs = this.$refs;
637
- return Object.keys(childRefs).map(function (refKey) {
638
- return childRefs[refKey];
639
- });
640
- };
641
-
642
- __decorate([withFlickingMethods], Flicking.prototype, "vanillaFlicking", void 0);
643
-
644
- Flicking = __decorate([Options({
645
- components: {
646
- Panel: VuePanel
647
610
  }
648
- })], Flicking);
649
- return Flicking;
650
- }(Vue.with(FlickingProps));
611
+ }
612
+ });
651
613
 
652
614
  export { Flicking as default };
653
615
  //# sourceMappingURL=flicking.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"flicking.esm.js","sources":["../src/FlickingProps.ts","../src/VueRenderer.ts","../src/VuePanel.ts","../src/VueElementProvider.ts","../src/Flicking.ts"],"sourcesContent":["/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\n/* eslint-disable @typescript-eslint/explicit-member-accessibility */\nimport { prop } from \"vue-class-component\";\nimport {\n FlickingOptions,\n Plugin,\n Status\n} from \"@egjs/flicking\";\n\nclass FlickingProps {\n viewportTag = prop<string>({ required: false, default: \"div\" });\n cameraTag = prop<string>({ required: false, default: \"div\" });\n hideBeforeInit = prop<boolean>({ required: false, default: false });\n firstPanelSize = prop<string>({ required: false });\n options = prop<Partial<FlickingOptions>>({ required: false, default: {} });\n plugins = prop<Plugin[]>({ required: false, default: [] });\n status = prop<Status>({ required: false });\n}\n\nexport default FlickingProps;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport {\n ExternalRenderer,\n getFlickingAttached,\n PanelOptions,\n RendererOptions\n} from \"@egjs/flicking\";\n\nimport VueFlicking from \"./Flicking\";\nimport VuePanel from \"./VuePanel\";\n\nexport interface VueRendererOptions extends RendererOptions {\n vueFlicking: VueFlicking;\n}\n\nclass VueRenderer extends ExternalRenderer {\n // Internal States\n private _vueFlicking: VueFlicking;\n\n public constructor(options: VueRendererOptions) {\n super(options);\n\n this._vueFlicking = options.vueFlicking;\n }\n\n public async render() {\n const flicking = getFlickingAttached(this._flicking);\n const vueFlicking = this._vueFlicking;\n const strategy = this._strategy;\n\n strategy.updateRenderingPanels(flicking);\n strategy.renderPanels(flicking);\n\n return new Promise<void>((resolve) => {\n vueFlicking.renderEmitter.once(\"render\", resolve);\n vueFlicking.$forceUpdate();\n });\n }\n\n public async forceRenderAllPanels() {\n const vueFlicking = this._vueFlicking;\n\n await super.forceRenderAllPanels();\n\n return new Promise<void>((resolve) => {\n vueFlicking.renderEmitter.once(\"render\", resolve);\n vueFlicking.$forceUpdate();\n });\n }\n\n protected _collectPanels() {\n const flicking = getFlickingAttached(this._flicking);\n const vueFlicking = this._vueFlicking;\n const childRefs = vueFlicking.$refs;\n const vuePanels: any[] = Object.keys(childRefs).map(refKey => childRefs[refKey]);\n\n this._panels = this._strategy.collectPanels(flicking, vuePanels);\n }\n\n protected _createPanel(externalComponent: VuePanel, options: PanelOptions) {\n return this._strategy.createPanel(externalComponent, options);\n }\n}\n\nexport default VueRenderer;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport { Vue } from \"vue-class-component\";\n\nclass VuePanel extends Vue {\n public hide: boolean = false;\n\n public get nativeElement() { return this.$.subTree.children![0].el as HTMLElement; }\n\n public render() {\n if (this.hide || !this.$slots.default) return;\n\n return this.$slots.default() as any;\n }\n}\n\nexport default VuePanel;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport { ExternalElementProvider } from \"@egjs/flicking\";\n\nimport VuePanel from \"./VuePanel\";\n\nclass VueElementProvider implements ExternalElementProvider {\n private _el: VuePanel;\n\n public get element() { return this._el.nativeElement; }\n public get rendered() { return !this._el.hide; }\n\n public constructor(el: VuePanel) {\n this._el = el;\n }\n\n public show() {\n this._el.hide = false;\n }\n\n public hide() {\n this._el.hide = true;\n }\n}\n\nexport default VueElementProvider;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\n/* eslint-disable @typescript-eslint/explicit-member-accessibility */\n/* eslint-disable @typescript-eslint/naming-convention */\nimport { h, VNode, resolveComponent, Fragment, getCurrentInstance } from \"vue\";\nimport { Vue, Options, VueConstructor } from \"vue-class-component\";\nimport ListDiffer, { DiffResult } from \"@egjs/list-differ\";\nimport Component from \"@egjs/component\";\nimport VanillaFlicking, {\n EVENTS,\n withFlickingMethods,\n sync,\n Plugin,\n getRenderingPanels,\n getDefaultCameraTransform,\n range,\n VirtualRenderingStrategy,\n NormalRenderingStrategy,\n ExternalPanel\n} from \"@egjs/flicking\";\n\nimport FlickingProps from \"./FlickingProps\";\nimport VueRenderer, { VueRendererOptions } from \"./VueRenderer\";\nimport VuePanel from \"./VuePanel\";\nimport VueElementProvider from \"./VueElementProvider\";\n\n@Options({\n components: {\n Panel: VuePanel\n }\n})\nclass Flicking extends Vue.with(FlickingProps) {\n public readonly renderEmitter = new Component<{ render: void }>();\n\n @withFlickingMethods private vanillaFlicking: VanillaFlicking | null = null;\n private pluginsDiffer!: ListDiffer<Plugin>;\n private slotDiffer!: ListDiffer<VNode>;\n private diffResult?: DiffResult<VNode> = undefined;\n\n public mounted() {\n const options = this.options;\n const viewportEl = this.$el as HTMLElement;\n const rendererOptions: VueRendererOptions = {\n vueFlicking: this,\n strategy: options.virtual && (options.panelsPerView ?? -1) > 0\n ? new VirtualRenderingStrategy()\n : new NormalRenderingStrategy({\n providerCtor: VueElementProvider,\n panelCtor: ExternalPanel\n })\n };\n\n const flicking = new VanillaFlicking(viewportEl, {\n ...this.options,\n ...{ renderExternal: {\n renderer: VueRenderer,\n rendererOptions\n }}\n });\n this.vanillaFlicking = flicking;\n\n flicking.once(EVENTS.READY, () => {\n this.$forceUpdate();\n });\n\n const slots = this.getSlots();\n this.slotDiffer = new ListDiffer<VNode>(slots, vnode => vnode.key! as string | number);\n this.pluginsDiffer = new ListDiffer<Plugin>();\n\n this.bindEvents();\n this.checkPlugins();\n\n if (this.status) {\n flicking.setStatus(this.status);\n }\n }\n\n public beforeDestroy() {\n this.vanillaFlicking?.destroy();\n }\n\n public beforeMount() {\n this.fillKeys();\n }\n\n public beforeUpdate() {\n this.fillKeys();\n\n this.diffResult = this.slotDiffer.update(this.getSlots());\n }\n\n public updated() {\n const flicking = this.vanillaFlicking;\n const diffResult = this.diffResult;\n\n this.checkPlugins();\n this.renderEmitter.trigger(\"render\");\n\n if (!diffResult || !flicking?.initialized) return;\n\n const children = this.getChildren();\n\n sync(flicking, diffResult, children);\n\n if (diffResult.added.length > 0 || diffResult.removed.length > 0) {\n this.$forceUpdate();\n }\n\n this.diffResult = undefined;\n }\n\n public render() {\n const flicking = this.vanillaFlicking;\n const options = this.options;\n const initialized = flicking && flicking.initialized;\n const isHorizontal = flicking\n ? flicking.horizontal\n : this.options.horizontal ?? true;\n\n const viewportData = {\n class: {\n \"flicking-viewport\": true,\n \"vertical\": !isHorizontal,\n \"flicking-hidden\": this.hideBeforeInit && !initialized\n }\n };\n const cameraData = {\n class: {\n \"flicking-camera\": true\n },\n style: !initialized && this.firstPanelSize\n ? { transform: getDefaultCameraTransform(this.options.align, this.options.horizontal, this.firstPanelSize) }\n : {}\n };\n\n const panels = options.virtual && options.panelsPerView && options.panelsPerView > 0\n ? this.getVirtualPanels\n : this.getPanels;\n\n const viewportSlots = this.$slots.viewport\n ? this.$slots.viewport()\n : [];\n\n return h(this.viewportTag, viewportData,\n [h(this.cameraTag, cameraData, { default: panels }), ...viewportSlots]\n );\n }\n\n public getSlots() {\n const slots = this.$slots.default\n ? this.$slots.default()\n : [];\n\n return slots.reduce((elementSlots, slot) => [...elementSlots, ...this.getElementVNodes(slot)], [] as VNode[]);\n }\n\n public getElementVNodes(slot: VNode, childSlots: VNode[] = []): VNode[] {\n if (slot.type === Fragment && Array.isArray(slot.children)) {\n slot.children\n .filter(child => child && typeof child === \"object\")\n .forEach(child => this.getElementVNodes(child as VNode, childSlots));\n } else {\n childSlots.push(slot);\n }\n\n return childSlots;\n }\n\n private bindEvents() {\n const flicking = this.vanillaFlicking;\n const events = (Object.keys(EVENTS) as Array<keyof typeof EVENTS>)\n .map(key => EVENTS[key]);\n\n events.forEach(eventName => {\n flicking!.on(eventName, (e: any) => {\n e.currentTarget = this;\n // Make events from camelCase to kebab-case\n this.$emit(eventName.replace(/([A-Z])/g, \"-$1\").toLowerCase(), e);\n });\n });\n }\n\n private checkPlugins() {\n const { list, added, removed, prevList } = this.pluginsDiffer.update(this.plugins);\n\n this.vanillaFlicking!.addPlugins(...added.map(index => list[index]));\n this.vanillaFlicking!.removePlugins(...removed.map(index => prevList[index]));\n }\n\n private fillKeys() {\n const vnodes = this.getSlots();\n\n vnodes.forEach((node, idx) => {\n if (node.key == null) {\n node.key = `$_${idx}`;\n }\n });\n }\n\n private getChildren() {\n const childRefs = this.$refs;\n\n return Object.keys(childRefs).map(refKey => childRefs[refKey]);\n }\n\n private getPanels = () => {\n const componentInstance = getCurrentInstance() as unknown as { ctx: Flicking } | null;\n const vueFlicking = componentInstance?.ctx;\n const flicking = this.vanillaFlicking;\n const defaultSlots = this.getSlots();\n const diffResult = vueFlicking?.diffResult;\n\n const slots = diffResult\n ? getRenderingPanels(flicking!, diffResult)\n : defaultSlots;\n\n const panelComponent = resolveComponent(\"Panel\");\n const panels = slots.map((slot, idx) => h(panelComponent as any, {\n key: slot.key!,\n ref: idx.toString()\n }, () => slot));\n\n return panels;\n };\n\n private getVirtualPanels = () => {\n const options = this.options;\n const {\n panelClass = \"flicking-panel\"\n } = options.virtual!;\n const panelsPerView = options.panelsPerView!;\n const flicking = this.vanillaFlicking;\n const initialized = flicking && flicking.initialized;\n\n const renderingIndexes = initialized\n ? flicking.renderer.strategy.getRenderingIndexesByOrder(flicking)\n : range(panelsPerView + 1);\n\n const firstPanel = initialized && flicking.panels[0];\n const size = firstPanel\n ? flicking.horizontal\n ? { width: firstPanel.size }\n : { height: firstPanel.size }\n : {};\n\n return renderingIndexes.map(idx => h(\"div\", {\n key: idx,\n ref: idx.toString(),\n class: panelClass,\n style: size,\n domProps: {\n \"data-element-index\": idx\n }\n }));\n };\n}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\ninterface Flicking extends VanillaFlicking, VueConstructor<Vue & FlickingProps> {}\nexport default Flicking;\n"],"names":["prop","required","default","__extends","options","_super","_this","_vueFlicking","vueFlicking","flicking","getFlickingAttached","_flicking","strategy","_strategy","updateRenderingPanels","renderPanels","Promise","resolve","renderEmitter","once","$forceUpdate","forceRenderAllPanels","_a","childRefs","$refs","vuePanels","Object","keys","map","refKey","_panels","collectPanels","externalComponent","createPanel","ExternalRenderer","$","subTree","children","el","hide","$slots","Vue","_el","nativeElement","Component","undefined","componentInstance","getCurrentInstance","ctx","vanillaFlicking","defaultSlots","getSlots","diffResult","slots","getRenderingPanels","panelComponent","resolveComponent","panels","slot","idx","h","key","ref","toString","virtual","panelClass","panelsPerView","initialized","renderingIndexes","renderer","getRenderingIndexesByOrder","range","firstPanel","size","horizontal","width","height","class","style","domProps","viewportEl","$el","rendererOptions","VirtualRenderingStrategy","NormalRenderingStrategy","providerCtor","VueElementProvider","panelCtor","ExternalPanel","VanillaFlicking","renderExternal","VueRenderer","EVENTS","READY","slotDiffer","ListDiffer","vnode","pluginsDiffer","bindEvents","checkPlugins","status","setStatus","destroy","fillKeys","update","trigger","getChildren","sync","added","length","removed","isHorizontal","viewportData","hideBeforeInit","cameraData","firstPanelSize","transform","getDefaultCameraTransform","align","getVirtualPanels","getPanels","viewportSlots","viewport","viewportTag","cameraTag","reduce","elementSlots","getElementVNodes","childSlots","type","Fragment","Array","isArray","filter","child","forEach","push","events","eventName","on","e","currentTarget","$emit","replace","toLowerCase","_c","plugins","list","prevList","addPlugins","index","_b","removePlugins","vnodes","node","__decorate","withFlickingMethods","Flicking","Options","components","Panel","VuePanel","with","FlickingProps"],"mappings":"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"}
1
+ {"version":3,"file":"flicking.esm.js","sources":["../src/FlickingProps.ts","../src/VueRenderer.ts","../src/VuePanel.ts","../src/VueElementProvider.ts","../src/Flicking.ts"],"sourcesContent":["/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport { PropType } from \"vue\";\nimport { FlickingOptions, Plugin, Status } from \"@egjs/flicking\";\n\nexport default {\n viewportTag: {\n type: String,\n default: \"div\",\n required: false\n },\n cameraTag: {\n type: String,\n default: \"div\",\n required: false\n },\n hideBeforeInit: {\n type: Boolean,\n default: false,\n required: false\n },\n firstPanelSize: {\n type: String,\n required: false\n },\n options: {\n type: Object as unknown as () => Partial<FlickingOptions>,\n default: () => ({}),\n required: false\n },\n plugins: {\n type: Array as PropType<Plugin[]>,\n default: () => ([]),\n required: false\n },\n status: {\n type: Object as PropType<Status>,\n required: false\n }\n};\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport {\n ExternalRenderer,\n getFlickingAttached,\n PanelOptions,\n RendererOptions\n} from \"@egjs/flicking\";\n\nimport VueFlicking from \"./Flicking\";\nimport VuePanel from \"./VuePanel\";\n\nexport interface VueRendererOptions extends RendererOptions {\n vueFlicking: VueFlicking;\n}\n\nclass VueRenderer extends ExternalRenderer {\n // Internal States\n private _vueFlicking: VueFlicking;\n\n public constructor(options: VueRendererOptions) {\n super(options);\n\n this._vueFlicking = options.vueFlicking;\n }\n\n public async render() {\n const flicking = getFlickingAttached(this._flicking);\n const vueFlicking = this._vueFlicking;\n const strategy = this._strategy;\n\n strategy.updateRenderingPanels(flicking);\n strategy.renderPanels(flicking);\n\n return new Promise<void>((resolve) => {\n vueFlicking.renderEmitter.once(\"render\", resolve);\n vueFlicking.$forceUpdate();\n });\n }\n\n public async forceRenderAllPanels() {\n const vueFlicking = this._vueFlicking;\n\n await super.forceRenderAllPanels();\n\n return new Promise<void>((resolve) => {\n vueFlicking.renderEmitter.once(\"render\", resolve);\n vueFlicking.$forceUpdate();\n });\n }\n\n protected _collectPanels() {\n const flicking = getFlickingAttached(this._flicking);\n const vueFlicking = this._vueFlicking;\n const childRefs = vueFlicking.$refs;\n const vuePanels: any[] = Object.keys(childRefs).map(refKey => childRefs[refKey]);\n\n this._panels = this._strategy.collectPanels(flicking, vuePanels);\n }\n\n protected _createPanel(externalComponent: VuePanel, options: PanelOptions) {\n return this._strategy.createPanel(externalComponent, options);\n }\n}\n\nexport default VueRenderer;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\n\nimport { defineComponent } from \"vue\";\n\nconst VuePanel = defineComponent({\n data() {\n return {\n hide: false\n };\n },\n render() {\n if (this.hide || !this.$slots.default) return;\n\n return this.$slots.default();\n }\n});\n\ntype VuePanelType = InstanceType<typeof VuePanel>;\n\ninterface VuePanel extends VuePanelType {}\nexport default VuePanel;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport { ElementProvider } from \"@egjs/flicking\";\n\nimport VuePanel from \"./VuePanel\";\n\nclass VueElementProvider implements ElementProvider {\n private _el: VuePanel;\n private _cachedElement: HTMLElement;\n\n public get rendered() { return !this._el.hide; }\n public get element() {\n const el = this._el.$el.nextSibling as HTMLElement;\n\n if (el && el.nodeType === Node.ELEMENT_NODE) {\n this._cachedElement = el;\n }\n\n return this._cachedElement;\n }\n\n public constructor(el: VuePanel) {\n this._el = el;\n }\n\n public show() {\n this._el.hide = false;\n }\n\n public hide() {\n this._el.hide = true;\n }\n}\n\nexport default VueElementProvider;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport { h, defineComponent, VNode, resolveComponent, Fragment, getCurrentInstance } from \"vue\";\nimport ListDiffer, { DiffResult } from \"@egjs/list-differ\";\nimport Component from \"@egjs/component\";\nimport VanillaFlicking, {\n EVENTS,\n withFlickingMethods,\n sync,\n Plugin,\n getRenderingPanels,\n getDefaultCameraTransform,\n range,\n VirtualRenderingStrategy,\n NormalRenderingStrategy\n} from \"@egjs/flicking\";\n\nimport FlickingProps from \"./FlickingProps\";\nimport VueRenderer, { VueRendererOptions } from \"./VueRenderer\";\nimport VuePanel from \"./VuePanel\";\nimport VueElementProvider from \"./VueElementProvider\";\nimport { VueFlicking } from \"./types\";\n\nconst Flicking = defineComponent({\n props: FlickingProps,\n components: {\n Panel: VuePanel\n },\n data() {\n return {} as {\n renderEmitter: Component<{ render: void }>;\n vanillaFlicking: VanillaFlicking;\n pluginsDiffer: ListDiffer<Plugin>;\n slotDiffer: ListDiffer<VNode>;\n diffResult: DiffResult<VNode> | null;\n };\n },\n created() {\n this.vanillaFlicking = null;\n this.renderEmitter = new Component();\n this.diffResult = null;\n\n this.getPanels = () => {\n const componentInstance = getCurrentInstance() as unknown as { ctx: Flicking } | null;\n const vueFlicking = componentInstance?.ctx;\n const flicking = this.vanillaFlicking;\n const defaultSlots = this.getSlots();\n const diffResult = vueFlicking?.diffResult;\n\n const slots = diffResult\n ? getRenderingPanels(flicking, diffResult)\n : defaultSlots;\n\n const panelComponent = resolveComponent(\"Panel\");\n const panels = slots.map((slot, idx) => h(panelComponent as any, {\n key: slot.key!,\n ref: idx.toString()\n }, () => slot));\n\n return panels;\n };\n this.getVirtualPanels = () => {\n const options = this.options;\n const {\n panelClass = \"flicking-panel\"\n } = options.virtual!;\n const panelsPerView = options.panelsPerView as number;\n const flicking = this.vanillaFlicking;\n const initialized = flicking && flicking.initialized;\n\n const renderingIndexes = initialized\n ? flicking.renderer.strategy.getRenderingIndexesByOrder(flicking)\n : range(panelsPerView + 1);\n\n const firstPanel = initialized && flicking.panels[0];\n const size = firstPanel\n ? flicking.horizontal\n ? { width: firstPanel.size }\n : { height: firstPanel.size }\n : {};\n\n return renderingIndexes.map(idx => h(\"div\", {\n key: idx,\n ref: idx.toString(),\n class: panelClass,\n style: size,\n \"data-element-index\": idx\n }));\n };\n\n withFlickingMethods(this, \"vanillaFlicking\");\n },\n mounted() {\n const options = this.options;\n const viewportEl = this.$el as HTMLElement;\n const rendererOptions: VueRendererOptions = {\n vueFlicking: this,\n align: options.align,\n strategy: options.virtual && (options.panelsPerView ?? -1) > 0\n ? new VirtualRenderingStrategy()\n : new NormalRenderingStrategy({\n providerCtor: VueElementProvider\n })\n };\n\n const flicking = new VanillaFlicking(viewportEl, {\n ...options,\n externalRenderer: new VueRenderer(rendererOptions)\n });\n this.vanillaFlicking = flicking;\n\n flicking.once(EVENTS.READY, () => {\n this.$forceUpdate();\n });\n\n const slots = this.getSlots();\n this.slotDiffer = new ListDiffer<VNode>(slots, vnode => vnode.key! as string | number);\n this.pluginsDiffer = new ListDiffer<Plugin>();\n\n this.bindEvents();\n this.checkPlugins();\n\n if (this.status) {\n flicking.setStatus(this.status);\n }\n },\n beforeUnmount() {\n this.vanillaFlicking?.destroy();\n },\n beforeMount() {\n this.fillKeys();\n },\n beforeUpdate() {\n this.fillKeys();\n\n this.diffResult = this.slotDiffer.update(this.getSlots());\n },\n updated() {\n const flicking = this.vanillaFlicking;\n const diffResult = this.diffResult;\n\n this.checkPlugins();\n this.renderEmitter.trigger(\"render\");\n\n if (!diffResult || !flicking?.initialized) return;\n\n const children = this.getChildren();\n\n sync(flicking, diffResult, children);\n\n if (diffResult.added.length > 0 || diffResult.removed.length > 0) {\n this.$forceUpdate();\n }\n\n this.diffResult = undefined;\n },\n render() {\n const flicking = this.vanillaFlicking;\n const options = this.options;\n const initialized = flicking && flicking.initialized;\n const isHorizontal = flicking\n ? flicking.horizontal\n : this.options.horizontal ?? true;\n\n const viewportData = {\n class: {\n \"flicking-viewport\": true,\n \"vertical\": !isHorizontal,\n \"flicking-hidden\": this.hideBeforeInit && !initialized\n }\n };\n const cameraData = {\n class: {\n \"flicking-camera\": true\n },\n style: !initialized && this.firstPanelSize\n ? { transform: getDefaultCameraTransform(this.options.align, this.options.horizontal, this.firstPanelSize) }\n : {}\n };\n\n const panels = options.virtual && options.panelsPerView && options.panelsPerView > 0\n ? this.getVirtualPanels\n : this.getPanels;\n\n const viewportSlots = this.$slots.viewport\n ? this.$slots.viewport()\n : [];\n\n return h(this.viewportTag, viewportData,\n [h(this.cameraTag, cameraData, { default: panels }), ...viewportSlots]\n );\n },\n methods: {\n getSlots() {\n const slots = this.$slots.default\n ? this.$slots.default()\n : [];\n\n return slots.reduce((elementSlots, slot) => [...elementSlots, ...this.getElementVNodes(slot)], [] as VNode[]);\n },\n getElementVNodes(slot: VNode, childSlots: VNode[] = []): VNode[] {\n if (slot.type === Fragment && Array.isArray(slot.children)) {\n slot.children\n .filter(child => child && typeof child === \"object\")\n .forEach(child => this.getElementVNodes(child as VNode, childSlots));\n } else {\n childSlots.push(slot);\n }\n\n return childSlots;\n },\n bindEvents() {\n const flicking = this.vanillaFlicking;\n const events = (Object.keys(EVENTS) as Array<keyof typeof EVENTS>)\n .map(key => EVENTS[key]);\n\n events.forEach(eventName => {\n flicking.on(eventName, (e: any) => {\n e.currentTarget = this;\n // Make events from camelCase to kebab-case\n this.$emit(eventName.replace(/([A-Z])/g, \"-$1\").toLowerCase(), e);\n });\n });\n },\n checkPlugins() {\n const { list, added, removed, prevList } = this.pluginsDiffer.update(this.plugins);\n\n this.vanillaFlicking!.addPlugins(...added.map(index => list[index]));\n this.vanillaFlicking!.removePlugins(...removed.map(index => prevList[index]));\n },\n fillKeys() {\n const vnodes = this.getSlots();\n\n vnodes.forEach((node, idx) => {\n if (node.key == null) {\n node.key = `$_${idx}`;\n }\n });\n },\n getChildren() {\n const childRefs = this.$refs;\n\n return Object.keys(childRefs).map(refKey => childRefs[refKey]);\n }\n }\n}) as unknown as VueFlicking;\n\ninterface Flicking extends VueFlicking, VanillaFlicking {}\nexport default Flicking;\n"],"names":["viewportTag","type","String","default","required","cameraTag","hideBeforeInit","Boolean","firstPanelSize","options","Object","plugins","Array","status","__extends","_super","_this","_vueFlicking","vueFlicking","flicking","getFlickingAttached","_flicking","strategy","_strategy","updateRenderingPanels","renderPanels","Promise","resolve","renderEmitter","once","$forceUpdate","forceRenderAllPanels","_a","childRefs","$refs","vuePanels","keys","map","refKey","_panels","collectPanels","externalComponent","createPanel","ExternalRenderer","VuePanel","defineComponent","data","hide","render","$slots","el","_el","$el","nextSibling","nodeType","Node","ELEMENT_NODE","_cachedElement","Flicking","props","FlickingProps","components","Panel","created","vanillaFlicking","Component","diffResult","getPanels","componentInstance","getCurrentInstance","ctx","defaultSlots","getSlots","slots","getRenderingPanels","panelComponent","resolveComponent","panels","slot","idx","h","key","ref","toString","getVirtualPanels","virtual","panelClass","panelsPerView","initialized","renderingIndexes","renderer","getRenderingIndexesByOrder","range","firstPanel","size","horizontal","width","height","class","style","withFlickingMethods","mounted","viewportEl","rendererOptions","align","VirtualRenderingStrategy","NormalRenderingStrategy","providerCtor","VueElementProvider","VanillaFlicking","externalRenderer","VueRenderer","EVENTS","READY","slotDiffer","ListDiffer","vnode","pluginsDiffer","bindEvents","checkPlugins","setStatus","beforeUnmount","destroy","beforeMount","fillKeys","beforeUpdate","update","updated","trigger","children","getChildren","sync","added","length","removed","undefined","isHorizontal","viewportData","cameraData","transform","getDefaultCameraTransform","viewportSlots","viewport","methods","reduce","elementSlots","getElementVNodes","childSlots","Fragment","isArray","filter","child","forEach","push","events","eventName","on","e","currentTarget","$emit","replace","toLowerCase","_c","list","prevList","addPlugins","index","_b","removePlugins","vnodes","node"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@egjs/vue3-flicking",
3
- "version": "4.4.0",
3
+ "version": "4.5.0",
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",
@@ -30,8 +30,7 @@
30
30
  "not op_mini all"
31
31
  ],
32
32
  "dependencies": {
33
- "@egjs/flicking": "^4.4.0",
34
- "vue-class-component": "^8.0.0-rc.1"
33
+ "@egjs/flicking": "^4.4.2"
35
34
  },
36
35
  "peerDependencies": {
37
36
  "vue": "^3.0.0"
@@ -45,8 +44,8 @@
45
44
  "@vue/compiler-sfc": "^3.2.6",
46
45
  "cpx": "^1.5.0",
47
46
  "rollup-plugin-vue": "^6.0.0",
48
- "tslib": "^2.1.0",
47
+ "tslib": "^2.3.1",
49
48
  "typescript": "^4.2.3",
50
- "vue": "^3.2.6"
49
+ "vue": "^3.2.22"
51
50
  }
52
51
  }