@egjs/react-flicking 4.9.4 → 4.10.1
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/README.md +1 -0
- package/declaration/Flicking.d.ts +4 -2
- package/declaration/types.d.ts +1 -0
- package/dist/flicking.cjs.js +61 -26
- package/dist/flicking.cjs.js.map +1 -1
- package/dist/flicking.esm.js +61 -26
- package/dist/flicking.esm.js.map +1 -1
- package/dist/flicking.umd.js +61 -26
- package/dist/flicking.umd.js.map +1 -1
- package/package.json +6 -3
- package/src/react-flicking/Flicking.tsx +51 -25
- package/src/react-flicking/consts.ts +1 -0
- package/src/react-flicking/types.ts +1 -0
package/README.md
CHANGED
|
@@ -13,7 +13,7 @@ declare class Flicking extends React.Component<Partial<FlickingProps & FlickingO
|
|
|
13
13
|
private _viewportElement;
|
|
14
14
|
private _diffResult;
|
|
15
15
|
private _renderEmitter;
|
|
16
|
-
private
|
|
16
|
+
private _prevProps;
|
|
17
17
|
get reactPanels(): (StrictPanel | NonStrictPanel | HTMLDivElement)[];
|
|
18
18
|
get renderEmitter(): Component<{
|
|
19
19
|
render: void;
|
|
@@ -21,12 +21,14 @@ declare class Flicking extends React.Component<Partial<FlickingProps & FlickingO
|
|
|
21
21
|
constructor(props: Partial<FlickingProps & FlickingOptions>);
|
|
22
22
|
componentDidMount(): void;
|
|
23
23
|
componentWillUnmount(): void;
|
|
24
|
-
shouldComponentUpdate(nextProps:
|
|
24
|
+
shouldComponentUpdate(nextProps: Readonly<Partial<FlickingProps & FlickingOptions>>): boolean;
|
|
25
|
+
beforeRender(): void;
|
|
25
26
|
componentDidUpdate(): void;
|
|
26
27
|
render(): JSX.Element;
|
|
27
28
|
private _createPanelRefs;
|
|
28
29
|
private _bindEvents;
|
|
29
30
|
private _checkPlugins;
|
|
31
|
+
private _hasSameChildren;
|
|
30
32
|
private _getChildren;
|
|
31
33
|
private _getViewportSlot;
|
|
32
34
|
private _unpackFragment;
|
package/declaration/types.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ import { SelectEvent, NeedPanelEvent, VisibleChangeEvent, HoldStartEvent, HoldEn
|
|
|
4
4
|
export interface FlickingProps {
|
|
5
5
|
viewportTag: keyof JSX.IntrinsicElements;
|
|
6
6
|
cameraTag: keyof JSX.IntrinsicElements;
|
|
7
|
+
cameraClass: string;
|
|
7
8
|
plugins: Plugin[];
|
|
8
9
|
status?: Status;
|
|
9
10
|
useFindDOMNode: boolean;
|
package/dist/flicking.cjs.js
CHANGED
|
@@ -4,7 +4,7 @@ name: @egjs/react-flicking
|
|
|
4
4
|
license: MIT
|
|
5
5
|
author: NAVER Corp.
|
|
6
6
|
repository: https://github.com/naver/egjs-flicking/tree/master/packages/react-flicking
|
|
7
|
-
version: 4.
|
|
7
|
+
version: 4.10.0
|
|
8
8
|
*/
|
|
9
9
|
'use strict';
|
|
10
10
|
|
|
@@ -65,6 +65,16 @@ var __assign = function () {
|
|
|
65
65
|
|
|
66
66
|
return __assign.apply(this, arguments);
|
|
67
67
|
};
|
|
68
|
+
function __rest(s, e) {
|
|
69
|
+
var t = {};
|
|
70
|
+
|
|
71
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
72
|
+
|
|
73
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
74
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
75
|
+
}
|
|
76
|
+
return t;
|
|
77
|
+
}
|
|
68
78
|
function __decorate(decorators, target, key, desc) {
|
|
69
79
|
var c = arguments.length,
|
|
70
80
|
r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,
|
|
@@ -224,6 +234,7 @@ function __spreadArray(to, from, pack) {
|
|
|
224
234
|
var DEFAULT_PROPS = {
|
|
225
235
|
viewportTag: "div",
|
|
226
236
|
cameraTag: "div",
|
|
237
|
+
cameraClass: "",
|
|
227
238
|
plugins: [],
|
|
228
239
|
useFindDOMNode: false,
|
|
229
240
|
hideBeforeInit: false,
|
|
@@ -468,14 +479,6 @@ function () {
|
|
|
468
479
|
return ReactElementProvider;
|
|
469
480
|
}();
|
|
470
481
|
|
|
471
|
-
var LifeCycleState;
|
|
472
|
-
|
|
473
|
-
(function (LifeCycleState) {
|
|
474
|
-
LifeCycleState[LifeCycleState["BEFORE_UPDATE"] = 0] = "BEFORE_UPDATE";
|
|
475
|
-
LifeCycleState[LifeCycleState["RENDER"] = 1] = "RENDER";
|
|
476
|
-
LifeCycleState[LifeCycleState["UPDATED"] = 2] = "UPDATED";
|
|
477
|
-
})(LifeCycleState || (LifeCycleState = {}));
|
|
478
|
-
|
|
479
482
|
var Flicking =
|
|
480
483
|
/*#__PURE__*/
|
|
481
484
|
function (_super) {
|
|
@@ -486,8 +489,8 @@ function (_super) {
|
|
|
486
489
|
|
|
487
490
|
_this._panels = [];
|
|
488
491
|
_this._renderEmitter = new Component();
|
|
489
|
-
_this._currentState = LifeCycleState.BEFORE_UPDATE;
|
|
490
492
|
_this._panels = _this._createPanelRefs(props, _this._getChildren());
|
|
493
|
+
_this._prevProps = _this.props;
|
|
491
494
|
return _this;
|
|
492
495
|
}
|
|
493
496
|
|
|
@@ -522,7 +525,6 @@ function (_super) {
|
|
|
522
525
|
externalRenderer: new ReactRenderer(rendererOptions)
|
|
523
526
|
}));
|
|
524
527
|
this._vanillaFlicking = flicking;
|
|
525
|
-
this._currentState = LifeCycleState.UPDATED;
|
|
526
528
|
|
|
527
529
|
var children = this._getChildren();
|
|
528
530
|
|
|
@@ -530,6 +532,7 @@ function (_super) {
|
|
|
530
532
|
return panel.key;
|
|
531
533
|
});
|
|
532
534
|
this._pluginsDiffer = new ListDiffer();
|
|
535
|
+
this._prevProps = this.props;
|
|
533
536
|
|
|
534
537
|
this._bindEvents();
|
|
535
538
|
|
|
@@ -548,21 +551,15 @@ function (_super) {
|
|
|
548
551
|
|
|
549
552
|
__proto.shouldComponentUpdate = function (nextProps) {
|
|
550
553
|
var vanillaFlicking = this._vanillaFlicking;
|
|
551
|
-
var
|
|
552
|
-
|
|
554
|
+
var prevProps = this.props;
|
|
553
555
|
if (!vanillaFlicking || !vanillaFlicking.initialized) return false;
|
|
556
|
+
if (!this._hasSameChildren(prevProps, nextProps)) return true;
|
|
554
557
|
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
this._panels = this._createPanelRefs(nextProps, nextChildren);
|
|
559
|
-
this._diffResult = this._jsxDiffer.update(nextChildren);
|
|
560
|
-
}
|
|
561
|
-
|
|
562
|
-
this._currentState = LifeCycleState.BEFORE_UPDATE;
|
|
558
|
+
nextProps.children;
|
|
559
|
+
var restProps = __rest(nextProps, ["children"]);
|
|
563
560
|
|
|
564
|
-
for (var key in
|
|
565
|
-
if (
|
|
561
|
+
for (var key in restProps) {
|
|
562
|
+
if (prevProps[key] !== nextProps[key]) {
|
|
566
563
|
return true;
|
|
567
564
|
}
|
|
568
565
|
}
|
|
@@ -570,6 +567,21 @@ function (_super) {
|
|
|
570
567
|
return false;
|
|
571
568
|
};
|
|
572
569
|
|
|
570
|
+
__proto.beforeRender = function () {
|
|
571
|
+
var vanillaFlicking = this._vanillaFlicking;
|
|
572
|
+
var nextProps = this.props;
|
|
573
|
+
var prevProps = this._prevProps; // Ignore updates before init, they will be updated after "ready" event's force update
|
|
574
|
+
|
|
575
|
+
if (!vanillaFlicking || !vanillaFlicking.initialized) return;
|
|
576
|
+
|
|
577
|
+
if (!this._hasSameChildren(prevProps, nextProps)) {
|
|
578
|
+
var nextChildren = this._getChildren(nextProps.children);
|
|
579
|
+
|
|
580
|
+
this._panels = this._createPanelRefs(nextProps, nextChildren);
|
|
581
|
+
this._diffResult = this._jsxDiffer.update(nextChildren);
|
|
582
|
+
}
|
|
583
|
+
};
|
|
584
|
+
|
|
573
585
|
__proto.componentDidUpdate = function () {
|
|
574
586
|
var flicking = this._vanillaFlicking;
|
|
575
587
|
var renderEmitter = this._renderEmitter;
|
|
@@ -579,7 +591,6 @@ function (_super) {
|
|
|
579
591
|
|
|
580
592
|
renderEmitter.trigger("render");
|
|
581
593
|
flicking.camera.updateOffset();
|
|
582
|
-
this._currentState = LifeCycleState.UPDATED;
|
|
583
594
|
if (!diffResult || !flicking.initialized) return;
|
|
584
595
|
VanillaFlicking.sync(flicking, diffResult, this.reactPanels);
|
|
585
596
|
this._diffResult = null;
|
|
@@ -595,7 +606,7 @@ function (_super) {
|
|
|
595
606
|
var Camera = props.cameraTag;
|
|
596
607
|
var attributes = {};
|
|
597
608
|
var flicking = this._vanillaFlicking;
|
|
598
|
-
this.
|
|
609
|
+
this.beforeRender();
|
|
599
610
|
|
|
600
611
|
for (var name in props) {
|
|
601
612
|
if (!(name in DEFAULT_PROPS) && !(name in VanillaFlicking.prototype)) {
|
|
@@ -605,6 +616,7 @@ function (_super) {
|
|
|
605
616
|
|
|
606
617
|
var initialized = flicking && flicking.initialized;
|
|
607
618
|
var viewportClasses = ["flicking-viewport"];
|
|
619
|
+
var cameraClasses = ["flicking-camera"];
|
|
608
620
|
var isHorizontal = flicking ? flicking.horizontal : (_a = props.horizontal) !== null && _a !== void 0 ? _a : true;
|
|
609
621
|
|
|
610
622
|
if (!isHorizontal) {
|
|
@@ -619,19 +631,24 @@ function (_super) {
|
|
|
619
631
|
viewportClasses.push(attributes.className);
|
|
620
632
|
}
|
|
621
633
|
|
|
634
|
+
if (props.cameraClass) {
|
|
635
|
+
cameraClasses.push(props.cameraClass);
|
|
636
|
+
}
|
|
637
|
+
|
|
622
638
|
var cameraProps = !initialized && props.firstPanelSize ? {
|
|
623
639
|
style: {
|
|
624
640
|
transform: VanillaFlicking.getDefaultCameraTransform(this.props.align, this.props.horizontal, this.props.firstPanelSize)
|
|
625
641
|
}
|
|
626
642
|
} : {};
|
|
627
643
|
var panels = !!props.virtual && ((_b = props.panelsPerView) !== null && _b !== void 0 ? _b : -1) > 0 ? this._getVirtualPanels() : this._getPanels();
|
|
644
|
+
this._prevProps = props;
|
|
628
645
|
return React.createElement(Viewport, __assign({}, attributes, {
|
|
629
646
|
className: viewportClasses.join(" "),
|
|
630
647
|
ref: function (e) {
|
|
631
648
|
e && (_this._viewportElement = e);
|
|
632
649
|
}
|
|
633
650
|
}), React.createElement(Camera, __assign({
|
|
634
|
-
className: "
|
|
651
|
+
className: cameraClasses.join(" ")
|
|
635
652
|
}, cameraProps), panels), this._getViewportSlot());
|
|
636
653
|
};
|
|
637
654
|
|
|
@@ -691,6 +708,24 @@ function (_super) {
|
|
|
691
708
|
}));
|
|
692
709
|
};
|
|
693
710
|
|
|
711
|
+
__proto._hasSameChildren = function (prevProps, nextProps) {
|
|
712
|
+
var prevChildren = this._getChildren(prevProps.children);
|
|
713
|
+
|
|
714
|
+
var nextChildren = this._getChildren(nextProps.children);
|
|
715
|
+
|
|
716
|
+
if (prevChildren.length !== nextChildren.length) return false;
|
|
717
|
+
var same = prevChildren.every(function (child, idx) {
|
|
718
|
+
var nextChild = nextChildren[idx];
|
|
719
|
+
|
|
720
|
+
if (child.key && nextChild.key) {
|
|
721
|
+
return child.key === nextChild.key;
|
|
722
|
+
} else {
|
|
723
|
+
return child === nextChild;
|
|
724
|
+
}
|
|
725
|
+
});
|
|
726
|
+
return same;
|
|
727
|
+
};
|
|
728
|
+
|
|
694
729
|
__proto._getChildren = function (children) {
|
|
695
730
|
var _this = this;
|
|
696
731
|
|
package/dist/flicking.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flicking.cjs.js","sources":["../src/react-flicking/consts.ts","../src/react-flicking/ReactRenderer.ts","../src/react-flicking/StrictPanel.tsx","../src/react-flicking/NonStrictPanel.tsx","../src/react-flicking/ViewportSlot.tsx","../src/react-flicking/ReactElementProvider.ts","../src/react-flicking/Flicking.tsx","../src/react-flicking/index.umd.ts"],"sourcesContent":["/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport {\n SelectEvent,\n NeedPanelEvent,\n VisibleChangeEvent,\n HoldStartEvent,\n HoldEndEvent,\n MoveStartEvent,\n MoveEvent,\n MoveEndEvent,\n WillChangeEvent,\n ChangedEvent,\n WillRestoreEvent,\n RestoredEvent,\n ReadyEvent,\n BeforeResizeEvent,\n AfterResizeEvent,\n ReachEdgeEvent,\n PanelChangeEvent\n} from \"@egjs/flicking\";\n\nimport { FlickingProps } from \"./types\";\n\nexport const DEFAULT_PROPS: FlickingProps = {\n viewportTag: \"div\",\n cameraTag: \"div\",\n plugins: [],\n useFindDOMNode: false,\n hideBeforeInit: false,\n onReady: (e: ReadyEvent) => {},\n onBeforeResize: (e: BeforeResizeEvent) => {},\n onAfterResize: (e: AfterResizeEvent) => {},\n onHoldStart: (e: HoldStartEvent) => {},\n onHoldEnd: (e: HoldEndEvent) => {},\n onMoveStart: (e: MoveStartEvent) => {},\n onMove: (e: MoveEvent) => {},\n onMoveEnd: (e: MoveEndEvent) => {},\n onWillChange: (e: WillChangeEvent) => {},\n onChanged: (e: ChangedEvent) => {},\n onWillRestore: (e: WillRestoreEvent) => {},\n onRestored: (e: RestoredEvent) => {},\n onSelect: (e: SelectEvent) => {},\n onNeedPanel: (e: NeedPanelEvent) => {},\n onVisibleChange: (e: VisibleChangeEvent) => {},\n onReachEdge: (e: ReachEdgeEvent) => {},\n onPanelChange: (e: PanelChangeEvent) => {}\n};\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport { ExternalRenderer, PanelOptions, RendererOptions, getFlickingAttached } from \"@egjs/flicking\";\n\nimport ReactFlicking from \"./Flicking\";\nimport StrictPanel from \"./StrictPanel\";\nimport NonStrictPanel from \"./NonStrictPanel\";\n\nexport interface ReactRendererOptions extends RendererOptions {\n reactFlicking: ReactFlicking;\n}\n\nclass ReactRenderer extends ExternalRenderer {\n // Internal States\n protected _reactFlicking: ReactFlicking;\n\n public constructor(options: ReactRendererOptions) {\n super(options);\n\n this._reactFlicking = options.reactFlicking;\n }\n\n // eslint-disable-next-line @typescript-eslint/require-await\n public async render() {\n const flicking = getFlickingAttached(this._flicking);\n const reactFlicking = this._reactFlicking;\n const strategy = this._strategy;\n\n this._rendering = true;\n\n strategy.updateRenderingPanels(flicking);\n strategy.renderPanels(flicking);\n\n return new Promise<void>(resolve => {\n reactFlicking.renderEmitter.once(\"render\", () => {\n this._rendering = false;\n resolve()\n });\n reactFlicking.forceUpdate();\n });\n }\n\n public async forceRenderAllPanels() {\n const reactFlicking = this._reactFlicking;\n\n this._rendering = true;\n await super.forceRenderAllPanels();\n\n return new Promise<void>(resolve => {\n reactFlicking.renderEmitter.once(\"render\", () => {\n this._rendering = false;\n resolve();\n });\n reactFlicking.forceUpdate();\n });\n }\n\n protected _collectPanels() {\n const flicking = getFlickingAttached(this._flicking);\n const reactFlicking = this._reactFlicking;\n const reactPanels = reactFlicking.reactPanels;\n\n this._panels = this._strategy.collectPanels(flicking, reactPanels);\n }\n\n protected _createPanel(externalComponent: StrictPanel | NonStrictPanel | HTMLDivElement, options: PanelOptions) {\n return this._strategy.createPanel(externalComponent, options);\n }\n}\n\nexport default ReactRenderer;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport * as React from \"react\";\n\nclass StrictPanel extends React.Component<{ children?: React.ReactElement }> {\n private _hide: boolean = false;\n\n private _elRef: React.RefObject<HTMLElement> = React.createRef();\n\n public get nativeElement() { return this._elRef.current!; }\n public get rendered() { return !this._hide; }\n\n public render() {\n return this._hide\n ? <></>\n : this._getElement();\n }\n\n public show() {\n this._hide = false;\n }\n\n public hide() {\n this._hide = true;\n }\n\n private _getElement() {\n return React.cloneElement(React.Children.only(this.props.children) as React.ReactElement, {\n ref: this._elRef\n });\n }\n}\n\nexport default StrictPanel;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport * as React from \"react\";\nimport { findDOMNode } from \"react-dom\";\n\nclass NonStrictPanel extends React.Component<{ children?: React.ReactElement }> {\n private _hide: boolean = false;\n\n public get nativeElement() { return findDOMNode(this) as HTMLElement; }\n public get rendered() { return !this._hide; }\n\n public render() {\n return this._hide\n ? <></>\n : this.props.children;\n }\n\n public show() {\n this._hide = false;\n }\n\n public hide() {\n this._hide = true;\n }\n}\n\nexport default NonStrictPanel;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport React, { ReactNode } from \"react\";\n\nconst ViewportSlot = React.memo((props: { children?: ReactNode }) => <>{props.children}</>);\n\nexport default ViewportSlot;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport { ElementProvider } from \"@egjs/flicking\";\nimport StrictPanel from \"./StrictPanel\";\nimport NonStrictPanel from \"./NonStrictPanel\";\n\nclass ReactElementProvider implements ElementProvider {\n private _el: StrictPanel | NonStrictPanel;\n\n public get element() { return this._el.nativeElement; }\n public get rendered() { return this._el.rendered; }\n\n public constructor(el: StrictPanel | NonStrictPanel) {\n this._el = el;\n }\n\n public show() {\n this._el.show();\n }\n\n public hide() {\n this._el.hide();\n }\n}\n\nexport default ReactElementProvider;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport * as React from \"react\";\nimport Component from \"@egjs/component\";\nimport ListDiffer, { diff, DiffResult } from \"@egjs/list-differ\";\nimport VanillaFlicking, {\n FlickingOptions,\n VirtualRenderingStrategy,\n EVENTS,\n withFlickingMethods,\n sync,\n getRenderingPanels,\n getDefaultCameraTransform,\n Plugin,\n range,\n NormalRenderingStrategy\n} from \"@egjs/flicking\";\n\nimport { DEFAULT_PROPS } from \"./consts\";\nimport { FlickingProps } from \"./types\";\nimport ReactRenderer, { ReactRendererOptions } from \"./ReactRenderer\";\nimport StrictPanel from \"./StrictPanel\";\nimport NonStrictPanel from \"./NonStrictPanel\";\nimport ViewportSlot from \"./ViewportSlot\";\nimport ReactElementProvider from \"./ReactElementProvider\";\n\nenum LifeCycleState {\n BEFORE_UPDATE,\n RENDER,\n UPDATED\n}\n\nclass Flicking extends React.Component<Partial<FlickingProps & FlickingOptions>> {\n public static defaultProps: FlickingProps = DEFAULT_PROPS;\n\n @withFlickingMethods private _vanillaFlicking: VanillaFlicking;\n private _panels: React.RefObject<StrictPanel | NonStrictPanel | HTMLDivElement>[] = [];\n private _pluginsDiffer: ListDiffer<any>;\n private _jsxDiffer: ListDiffer<React.ReactElement>;\n private _viewportElement: HTMLElement;\n private _diffResult: DiffResult<React.ReactElement> | null;\n private _renderEmitter = new Component<{ render: void }>();\n private _currentState: LifeCycleState = LifeCycleState.BEFORE_UPDATE;\n\n public get reactPanels() { return this._panels.map(panel => panel.current!); }\n public get renderEmitter() { return this._renderEmitter; }\n\n public constructor(props: Partial<FlickingProps & FlickingOptions>) {\n super(props);\n\n this._panels = this._createPanelRefs(props, this._getChildren());\n }\n\n public componentDidMount() {\n const props = this.props as Required<FlickingProps & FlickingOptions>;\n const rendererOptions: ReactRendererOptions = {\n reactFlicking: this,\n align: props.align,\n strategy: props.virtual && props.panelsPerView > 0\n ? new VirtualRenderingStrategy()\n : new NormalRenderingStrategy({\n providerCtor: ReactElementProvider\n })\n };\n\n const flicking = new VanillaFlicking(\n this._viewportElement,\n {\n ...props,\n externalRenderer: new ReactRenderer(rendererOptions)\n },\n );\n\n this._vanillaFlicking = flicking;\n this._currentState = LifeCycleState.UPDATED;\n\n const children = this._getChildren();\n this._jsxDiffer = new ListDiffer(children, panel => panel.key!);\n this._pluginsDiffer = new ListDiffer<any>();\n\n this._bindEvents();\n this._checkPlugins();\n\n if (props.status) {\n flicking.setStatus(props.status);\n }\n }\n\n public componentWillUnmount() {\n this._vanillaFlicking?.destroy();\n }\n\n public shouldComponentUpdate(nextProps: this[\"props\"]) {\n const vanillaFlicking = this._vanillaFlicking;\n const props = this.props;\n\n // Ignore updates before init, they will be updated after \"ready\" event's force update\n if (!vanillaFlicking || !vanillaFlicking.initialized) return false;\n\n if (this._currentState !== LifeCycleState.BEFORE_UPDATE && props.children !== nextProps.children) {\n const nextChildren = this._getChildren(nextProps.children);\n\n this._panels = this._createPanelRefs(nextProps, nextChildren);\n this._diffResult = this._jsxDiffer.update(nextChildren);\n }\n\n this._currentState = LifeCycleState.BEFORE_UPDATE;\n\n for (const key in nextProps) {\n if (props[key] !== nextProps[key]) {\n return true;\n }\n }\n\n return false;\n }\n\n public componentDidUpdate() {\n const flicking = this._vanillaFlicking;\n const renderEmitter = this._renderEmitter;\n const diffResult = this._diffResult;\n\n this._checkPlugins();\n renderEmitter.trigger(\"render\");\n flicking.camera.updateOffset();\n\n this._currentState = LifeCycleState.UPDATED;\n\n if (!diffResult || !flicking.initialized) return;\n\n sync(flicking, diffResult, this.reactPanels);\n\n this._diffResult = null;\n }\n\n public render() {\n const props = this.props;\n const Viewport = props.viewportTag as any;\n const Camera = props.cameraTag as any;\n const attributes: { [key: string]: any } = {};\n const flicking = this._vanillaFlicking;\n\n this._currentState = LifeCycleState.RENDER;\n\n for (const name in props) {\n if (!(name in DEFAULT_PROPS) && !(name in VanillaFlicking.prototype)) {\n attributes[name] = props[name];\n }\n }\n\n const initialized = flicking && flicking.initialized;\n const viewportClasses: string[] = [\"flicking-viewport\"];\n const isHorizontal = flicking\n ? flicking.horizontal\n : props.horizontal ?? true;\n\n if (!isHorizontal) {\n viewportClasses.push(\"vertical\");\n }\n if (props.hideBeforeInit && !initialized) {\n viewportClasses.push(\"flicking-hidden\");\n }\n if (attributes.className) {\n viewportClasses.push(attributes.className);\n }\n\n const cameraProps = !initialized && props.firstPanelSize\n ? { style: {\n transform: getDefaultCameraTransform(this.props.align, this.props.horizontal, this.props.firstPanelSize)\n }}\n : {};\n\n const panels = !!props.virtual && (props.panelsPerView ?? -1) > 0\n ? this._getVirtualPanels()\n : this._getPanels();\n\n return (\n <Viewport {...attributes} className={viewportClasses.join(\" \")} ref={(e?: HTMLElement) => {\n e && (this._viewportElement = e);\n }}>\n <Camera className=\"flicking-camera\" {...cameraProps}>\n { panels }\n </Camera>\n { this._getViewportSlot() }\n </Viewport>\n );\n }\n\n private _createPanelRefs(props: this[\"props\"], children: Array<React.ReactElement<any>>): React.RefObject<StrictPanel | NonStrictPanel | HTMLDivElement>[] {\n const panelsPerView = props.panelsPerView ?? -1;\n\n return panelsPerView > 0 && !!props.virtual\n ? range(panelsPerView + 1).map(() => React.createRef())\n : children.map(() => React.createRef());\n }\n\n private _bindEvents() {\n const flicking = this._vanillaFlicking!;\n\n Object.keys(EVENTS).forEach((eventKey: keyof typeof EVENTS) => {\n const eventName = EVENTS[eventKey];\n const propName = `on${eventName.charAt(0).toUpperCase() + eventName.slice(1)}`;\n\n flicking.on(eventName, e => {\n e.currentTarget = this;\n\n const evtHandler = this.props[propName];\n evtHandler(e);\n });\n });\n\n flicking.once(EVENTS.READY, () => {\n const children = this._getChildren();\n const diffResult = this._jsxDiffer.update(children);\n\n // children is changed before init\n if (diffResult.added.length > 0 || diffResult.removed.length > 0) {\n this._panels = this._createPanelRefs(this.props, children);\n this._diffResult = diffResult;\n }\n\n this.forceUpdate();\n });\n }\n\n private _checkPlugins() {\n const flicking = this._vanillaFlicking;\n const { list, added, removed, prevList } = this._pluginsDiffer.update(this.props.plugins!) as DiffResult<Plugin>;\n\n flicking.addPlugins(...added.map(index => list[index]));\n flicking.removePlugins(...removed.map(index => prevList[index]));\n }\n\n private _getChildren(children: React.ReactNode = this.props.children) {\n return (React.Children.toArray(children) as Array<React.ReactElement<any>>)\n .filter(child => child.type !== ViewportSlot)\n .reduce((all, child) => {\n return [...all, ...this._unpackFragment(child)];\n }, []) as Array<React.ReactElement<any>>;\n }\n\n private _getViewportSlot() {\n return (React.Children.toArray(this.props.children) as Array<React.ReactElement<any>>)\n .filter(child => child.type === ViewportSlot);\n }\n\n private _unpackFragment(child: React.ReactElement) {\n return this._isFragment(child)\n ? React.Children.toArray(child.props.children)\n .reduce((allChilds: React.ReactElement[], fragChild: React.ReactElement) => [...allChilds, ...this._unpackFragment(fragChild)], [] as React.ReactElement[])\n : [child];\n }\n\n private _getVirtualPanels() {\n const {\n panelClass = \"flicking-panel\"\n } = this.props.virtual!;\n const panelsPerView = this.props.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 = flicking && 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 => {\n return <div\n key={idx}\n data-element-index={idx}\n ref={this._panels[idx] as React.RefObject<HTMLDivElement>}\n className={panelClass}\n style={size} />\n });\n }\n\n private _getPanels() {\n const origChildren = this._getChildren();\n const vanillaFlicking = this._vanillaFlicking;\n const diffResult = this._diffResult;\n\n const children: React.ReactElement[] = vanillaFlicking && vanillaFlicking.initialized\n ? diffResult\n ? getRenderingPanels(vanillaFlicking, diffResult)\n : getRenderingPanels(vanillaFlicking, diff(origChildren, origChildren))\n : origChildren;\n\n return this.props.useFindDOMNode\n ? children.map((child, idx) => <NonStrictPanel key={child.key!} ref={this._panels[idx] as any}>{child}</NonStrictPanel>)\n : children.map((child, idx) => <StrictPanel key={child.key!} ref={this._panels[idx] as any}>{child}</StrictPanel>)\n }\n\n private _isFragment(child: React.ReactElement) {\n if (child.type) {\n return child.type === React.Fragment;\n }\n\n return (child as any) === React.Fragment;\n }\n}\n\ninterface Flicking extends React.Component<Partial<FlickingProps & FlickingOptions>>, VanillaFlicking { }\nexport default Flicking;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport Flicking from \"./Flicking\";\nimport ViewportSlot from \"./ViewportSlot\";\n\n(Flicking as any).ViewportSlot = ViewportSlot;\nexport default Flicking;\n"],"names":["DEFAULT_PROPS","viewportTag","cameraTag","plugins","useFindDOMNode","hideBeforeInit","onReady","e","onBeforeResize","onAfterResize","onHoldStart","onHoldEnd","onMoveStart","onMove","onMoveEnd","onWillChange","onChanged","onWillRestore","onRestored","onSelect","onNeedPanel","onVisibleChange","onReachEdge","onPanelChange","__extends","options","_super","_this","_reactFlicking","reactFlicking","flicking","getFlickingAttached","_flicking","strategy","_strategy","_rendering","updateRenderingPanels","renderPanels","Promise","resolve","renderEmitter","once","forceUpdate","forceRenderAllPanels","_a","reactPanels","_panels","collectPanels","externalComponent","createPanel","ExternalRenderer","React","createRef","Object","_elRef","current","_hide","_getElement","cloneElement","Children","only","props","children","ref","Component","findDOMNode","ViewportSlot","memo","el","_el","nativeElement","rendered","show","hide","LifeCycleState","BEFORE_UPDATE","_createPanelRefs","_getChildren","map","panel","_renderEmitter","rendererOptions","align","virtual","panelsPerView","VirtualRenderingStrategy","NormalRenderingStrategy","providerCtor","ReactElementProvider","VanillaFlicking","_viewportElement","externalRenderer","ReactRenderer","_vanillaFlicking","_currentState","UPDATED","_jsxDiffer","ListDiffer","key","_pluginsDiffer","_bindEvents","_checkPlugins","status","setStatus","destroy","nextProps","vanillaFlicking","initialized","nextChildren","_diffResult","update","diffResult","trigger","camera","updateOffset","sync","Viewport","Camera","attributes","RENDER","name","prototype","viewportClasses","isHorizontal","horizontal","push","className","cameraProps","firstPanelSize","style","transform","getDefaultCameraTransform","panels","_getVirtualPanels","_getPanels","join","_getViewportSlot","range","keys","EVENTS","forEach","eventKey","eventName","propName","charAt","toUpperCase","slice","on","currentTarget","evtHandler","READY","added","length","removed","list","prevList","addPlugins","index","removePlugins","toArray","filter","child","type","reduce","all","_unpackFragment","_isFragment","allChilds","fragChild","panelClass","renderingIndexes","renderer","getRenderingIndexesByOrder","firstPanel","size","width","height","idx","origChildren","getRenderingPanels","diff","NonStrictPanel","StrictPanel","Fragment","Flicking","__decorate","withFlickingMethods"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"flicking.cjs.js","sources":["../src/react-flicking/consts.ts","../src/react-flicking/ReactRenderer.ts","../src/react-flicking/StrictPanel.tsx","../src/react-flicking/NonStrictPanel.tsx","../src/react-flicking/ViewportSlot.tsx","../src/react-flicking/ReactElementProvider.ts","../src/react-flicking/Flicking.tsx","../src/react-flicking/index.umd.ts"],"sourcesContent":["/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport {\n SelectEvent,\n NeedPanelEvent,\n VisibleChangeEvent,\n HoldStartEvent,\n HoldEndEvent,\n MoveStartEvent,\n MoveEvent,\n MoveEndEvent,\n WillChangeEvent,\n ChangedEvent,\n WillRestoreEvent,\n RestoredEvent,\n ReadyEvent,\n BeforeResizeEvent,\n AfterResizeEvent,\n ReachEdgeEvent,\n PanelChangeEvent\n} from \"@egjs/flicking\";\n\nimport { FlickingProps } from \"./types\";\n\nexport const DEFAULT_PROPS: FlickingProps = {\n viewportTag: \"div\",\n cameraTag: \"div\",\n cameraClass: \"\",\n plugins: [],\n useFindDOMNode: false,\n hideBeforeInit: false,\n onReady: (e: ReadyEvent) => {},\n onBeforeResize: (e: BeforeResizeEvent) => {},\n onAfterResize: (e: AfterResizeEvent) => {},\n onHoldStart: (e: HoldStartEvent) => {},\n onHoldEnd: (e: HoldEndEvent) => {},\n onMoveStart: (e: MoveStartEvent) => {},\n onMove: (e: MoveEvent) => {},\n onMoveEnd: (e: MoveEndEvent) => {},\n onWillChange: (e: WillChangeEvent) => {},\n onChanged: (e: ChangedEvent) => {},\n onWillRestore: (e: WillRestoreEvent) => {},\n onRestored: (e: RestoredEvent) => {},\n onSelect: (e: SelectEvent) => {},\n onNeedPanel: (e: NeedPanelEvent) => {},\n onVisibleChange: (e: VisibleChangeEvent) => {},\n onReachEdge: (e: ReachEdgeEvent) => {},\n onPanelChange: (e: PanelChangeEvent) => {}\n};\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport { ExternalRenderer, PanelOptions, RendererOptions, getFlickingAttached } from \"@egjs/flicking\";\n\nimport ReactFlicking from \"./Flicking\";\nimport StrictPanel from \"./StrictPanel\";\nimport NonStrictPanel from \"./NonStrictPanel\";\n\nexport interface ReactRendererOptions extends RendererOptions {\n reactFlicking: ReactFlicking;\n}\n\nclass ReactRenderer extends ExternalRenderer {\n // Internal States\n protected _reactFlicking: ReactFlicking;\n\n public constructor(options: ReactRendererOptions) {\n super(options);\n\n this._reactFlicking = options.reactFlicking;\n }\n\n // eslint-disable-next-line @typescript-eslint/require-await\n public async render() {\n const flicking = getFlickingAttached(this._flicking);\n const reactFlicking = this._reactFlicking;\n const strategy = this._strategy;\n\n this._rendering = true;\n\n strategy.updateRenderingPanels(flicking);\n strategy.renderPanels(flicking);\n\n return new Promise<void>(resolve => {\n reactFlicking.renderEmitter.once(\"render\", () => {\n this._rendering = false;\n resolve()\n });\n reactFlicking.forceUpdate();\n });\n }\n\n public async forceRenderAllPanels() {\n const reactFlicking = this._reactFlicking;\n\n this._rendering = true;\n await super.forceRenderAllPanels();\n\n return new Promise<void>(resolve => {\n reactFlicking.renderEmitter.once(\"render\", () => {\n this._rendering = false;\n resolve();\n });\n reactFlicking.forceUpdate();\n });\n }\n\n protected _collectPanels() {\n const flicking = getFlickingAttached(this._flicking);\n const reactFlicking = this._reactFlicking;\n const reactPanels = reactFlicking.reactPanels;\n\n this._panels = this._strategy.collectPanels(flicking, reactPanels);\n }\n\n protected _createPanel(externalComponent: StrictPanel | NonStrictPanel | HTMLDivElement, options: PanelOptions) {\n return this._strategy.createPanel(externalComponent, options);\n }\n}\n\nexport default ReactRenderer;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport * as React from \"react\";\n\nclass StrictPanel extends React.Component<{ children?: React.ReactElement }> {\n private _hide: boolean = false;\n\n private _elRef: React.RefObject<HTMLElement> = React.createRef();\n\n public get nativeElement() { return this._elRef.current!; }\n public get rendered() { return !this._hide; }\n\n public render() {\n return this._hide\n ? <></>\n : this._getElement();\n }\n\n public show() {\n this._hide = false;\n }\n\n public hide() {\n this._hide = true;\n }\n\n private _getElement() {\n return React.cloneElement(React.Children.only(this.props.children) as React.ReactElement, {\n ref: this._elRef\n });\n }\n}\n\nexport default StrictPanel;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport * as React from \"react\";\nimport { findDOMNode } from \"react-dom\";\n\nclass NonStrictPanel extends React.Component<{ children?: React.ReactElement }> {\n private _hide: boolean = false;\n\n public get nativeElement() { return findDOMNode(this) as HTMLElement; }\n public get rendered() { return !this._hide; }\n\n public render() {\n return this._hide\n ? <></>\n : this.props.children;\n }\n\n public show() {\n this._hide = false;\n }\n\n public hide() {\n this._hide = true;\n }\n}\n\nexport default NonStrictPanel;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport React, { ReactNode } from \"react\";\n\nconst ViewportSlot = React.memo((props: { children?: ReactNode }) => <>{props.children}</>);\n\nexport default ViewportSlot;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport { ElementProvider } from \"@egjs/flicking\";\nimport StrictPanel from \"./StrictPanel\";\nimport NonStrictPanel from \"./NonStrictPanel\";\n\nclass ReactElementProvider implements ElementProvider {\n private _el: StrictPanel | NonStrictPanel;\n\n public get element() { return this._el.nativeElement; }\n public get rendered() { return this._el.rendered; }\n\n public constructor(el: StrictPanel | NonStrictPanel) {\n this._el = el;\n }\n\n public show() {\n this._el.show();\n }\n\n public hide() {\n this._el.hide();\n }\n}\n\nexport default ReactElementProvider;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport * as React from \"react\";\nimport Component from \"@egjs/component\";\nimport ListDiffer, { diff, DiffResult } from \"@egjs/list-differ\";\nimport VanillaFlicking, {\n FlickingOptions,\n VirtualRenderingStrategy,\n EVENTS,\n withFlickingMethods,\n sync,\n getRenderingPanels,\n getDefaultCameraTransform,\n Plugin,\n range,\n NormalRenderingStrategy\n} from \"@egjs/flicking\";\n\nimport { DEFAULT_PROPS } from \"./consts\";\nimport { FlickingProps } from \"./types\";\nimport ReactRenderer, { ReactRendererOptions } from \"./ReactRenderer\";\nimport StrictPanel from \"./StrictPanel\";\nimport NonStrictPanel from \"./NonStrictPanel\";\nimport ViewportSlot from \"./ViewportSlot\";\nimport ReactElementProvider from \"./ReactElementProvider\";\n\nclass Flicking extends React.Component<Partial<FlickingProps & FlickingOptions>> {\n public static defaultProps: FlickingProps = DEFAULT_PROPS;\n\n @withFlickingMethods private _vanillaFlicking: VanillaFlicking;\n private _panels: React.RefObject<StrictPanel | NonStrictPanel | HTMLDivElement>[] = [];\n private _pluginsDiffer: ListDiffer<any>;\n private _jsxDiffer: ListDiffer<React.ReactElement>;\n private _viewportElement: HTMLElement;\n private _diffResult: DiffResult<React.ReactElement> | null;\n private _renderEmitter = new Component<{ render: void }>();\n private _prevProps: Partial<FlickingProps & FlickingOptions>;\n\n public get reactPanels() { return this._panels.map(panel => panel.current!); }\n public get renderEmitter() { return this._renderEmitter; }\n\n public constructor(props: Partial<FlickingProps & FlickingOptions>) {\n super(props);\n\n this._panels = this._createPanelRefs(props, this._getChildren());\n this._prevProps = this.props;\n }\n\n public componentDidMount() {\n const props = this.props as Required<FlickingProps & FlickingOptions>;\n const rendererOptions: ReactRendererOptions = {\n reactFlicking: this,\n align: props.align,\n strategy: props.virtual && props.panelsPerView > 0\n ? new VirtualRenderingStrategy()\n : new NormalRenderingStrategy({\n providerCtor: ReactElementProvider\n })\n };\n\n const flicking = new VanillaFlicking(\n this._viewportElement,\n {\n ...props,\n externalRenderer: new ReactRenderer(rendererOptions)\n },\n );\n\n this._vanillaFlicking = flicking;\n\n const children = this._getChildren();\n this._jsxDiffer = new ListDiffer(children, panel => panel.key!);\n this._pluginsDiffer = new ListDiffer<any>();\n this._prevProps = this.props;\n\n this._bindEvents();\n this._checkPlugins();\n\n if (props.status) {\n flicking.setStatus(props.status);\n }\n }\n\n public componentWillUnmount() {\n this._vanillaFlicking?.destroy();\n }\n\n public shouldComponentUpdate(nextProps: Readonly<Partial<FlickingProps & FlickingOptions>>): boolean {\n const vanillaFlicking = this._vanillaFlicking;\n const prevProps = this.props;\n\n if (!vanillaFlicking || !vanillaFlicking.initialized) return false;\n if (!this._hasSameChildren(prevProps, nextProps)) return true;\n\n const { children, ...restProps } = nextProps;\n\n for (const key in restProps) {\n if (prevProps[key] !== nextProps[key]) {\n return true;\n }\n }\n\n return false;\n }\n\n public beforeRender() {\n const vanillaFlicking = this._vanillaFlicking;\n const nextProps = this.props;\n const prevProps = this._prevProps;\n\n // Ignore updates before init, they will be updated after \"ready\" event's force update\n if (!vanillaFlicking || !vanillaFlicking.initialized) return;\n\n if (!this._hasSameChildren(prevProps, nextProps)) {\n const nextChildren = this._getChildren(nextProps.children);\n\n this._panels = this._createPanelRefs(nextProps, nextChildren);\n this._diffResult = this._jsxDiffer.update(nextChildren);\n }\n }\n\n public componentDidUpdate() {\n const flicking = this._vanillaFlicking;\n const renderEmitter = this._renderEmitter;\n const diffResult = this._diffResult;\n\n this._checkPlugins();\n renderEmitter.trigger(\"render\");\n flicking.camera.updateOffset();\n\n if (!diffResult || !flicking.initialized) return;\n\n sync(flicking, diffResult, this.reactPanels);\n\n this._diffResult = null;\n }\n\n public render() {\n const props = this.props;\n const Viewport = props.viewportTag as any;\n const Camera = props.cameraTag as any;\n const attributes: { [key: string]: any } = {};\n const flicking = this._vanillaFlicking;\n\n this.beforeRender();\n\n for (const name in props) {\n if (!(name in DEFAULT_PROPS) && !(name in VanillaFlicking.prototype)) {\n attributes[name] = props[name];\n }\n }\n\n const initialized = flicking && flicking.initialized;\n const viewportClasses: string[] = [\"flicking-viewport\"];\n const cameraClasses: string[] = [\"flicking-camera\"];\n const isHorizontal = flicking\n ? flicking.horizontal\n : props.horizontal ?? true;\n\n if (!isHorizontal) {\n viewportClasses.push(\"vertical\");\n }\n if (props.hideBeforeInit && !initialized) {\n viewportClasses.push(\"flicking-hidden\");\n }\n if (attributes.className) {\n viewportClasses.push(attributes.className);\n }\n if (props.cameraClass) {\n cameraClasses.push(props.cameraClass);\n }\n\n const cameraProps = !initialized && props.firstPanelSize\n ? { style: {\n transform: getDefaultCameraTransform(this.props.align, this.props.horizontal, this.props.firstPanelSize)\n }}\n : {};\n\n const panels = !!props.virtual && (props.panelsPerView ?? -1) > 0\n ? this._getVirtualPanels()\n : this._getPanels();\n\n this._prevProps = props;\n\n return (\n <Viewport {...attributes} className={viewportClasses.join(\" \")} ref={(e?: HTMLElement) => {\n e && (this._viewportElement = e);\n }}>\n <Camera className={cameraClasses.join(\" \")} {...cameraProps}>\n { panels }\n </Camera>\n { this._getViewportSlot() }\n </Viewport>\n );\n }\n\n private _createPanelRefs(props: this[\"props\"], children: Array<React.ReactElement<any>>): React.RefObject<StrictPanel | NonStrictPanel | HTMLDivElement>[] {\n const panelsPerView = props.panelsPerView ?? -1;\n\n return panelsPerView > 0 && !!props.virtual\n ? range(panelsPerView + 1).map(() => React.createRef())\n : children.map(() => React.createRef());\n }\n\n private _bindEvents() {\n const flicking = this._vanillaFlicking!;\n\n Object.keys(EVENTS).forEach((eventKey: keyof typeof EVENTS) => {\n const eventName = EVENTS[eventKey];\n const propName = `on${eventName.charAt(0).toUpperCase() + eventName.slice(1)}`;\n\n flicking.on(eventName, e => {\n e.currentTarget = this;\n\n const evtHandler = this.props[propName];\n evtHandler(e);\n });\n });\n\n flicking.once(EVENTS.READY, () => {\n const children = this._getChildren();\n const diffResult = this._jsxDiffer.update(children);\n\n // children is changed before init\n if (diffResult.added.length > 0 || diffResult.removed.length > 0) {\n this._panels = this._createPanelRefs(this.props, children);\n this._diffResult = diffResult;\n }\n\n this.forceUpdate();\n });\n }\n\n private _checkPlugins() {\n const flicking = this._vanillaFlicking;\n const { list, added, removed, prevList } = this._pluginsDiffer.update(this.props.plugins!) as DiffResult<Plugin>;\n\n flicking.addPlugins(...added.map(index => list[index]));\n flicking.removePlugins(...removed.map(index => prevList[index]));\n }\n\n private _hasSameChildren(prevProps: this[\"props\"], nextProps: this[\"props\"]) {\n const prevChildren = this._getChildren(prevProps.children);\n const nextChildren = this._getChildren(nextProps.children);\n\n if (prevChildren.length !== nextChildren.length) return false;\n\n const same = prevChildren.every((child, idx) => {\n const nextChild = nextChildren[idx];\n if ((child as React.ReactElement).key && (nextChild as React.ReactElement).key) {\n return (child as React.ReactElement).key === (nextChild as React.ReactElement).key;\n } else {\n return child === nextChild;\n }\n });\n\n return same;\n }\n\n private _getChildren(children: React.ReactNode = this.props.children) {\n return (React.Children.toArray(children) as Array<React.ReactElement<any>>)\n .filter(child => child.type !== ViewportSlot)\n .reduce((all, child) => {\n return [...all, ...this._unpackFragment(child)];\n }, []) as Array<React.ReactElement<any>>;\n }\n\n private _getViewportSlot() {\n return (React.Children.toArray(this.props.children) as Array<React.ReactElement<any>>)\n .filter(child => child.type === ViewportSlot);\n }\n\n private _unpackFragment(child: React.ReactElement) {\n return this._isFragment(child)\n ? React.Children.toArray(child.props.children)\n .reduce((allChilds: React.ReactElement[], fragChild: React.ReactElement) => [...allChilds, ...this._unpackFragment(fragChild)], [] as React.ReactElement[])\n : [child];\n }\n\n private _getVirtualPanels() {\n const {\n panelClass = \"flicking-panel\"\n } = this.props.virtual!;\n const panelsPerView = this.props.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 = flicking && 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 => {\n return <div\n key={idx}\n data-element-index={idx}\n ref={this._panels[idx] as React.RefObject<HTMLDivElement>}\n className={panelClass}\n style={size} />\n });\n }\n\n private _getPanels() {\n const origChildren = this._getChildren();\n const vanillaFlicking = this._vanillaFlicking;\n const diffResult = this._diffResult;\n\n const children: React.ReactElement[] = vanillaFlicking && vanillaFlicking.initialized\n ? diffResult\n ? getRenderingPanels(vanillaFlicking, diffResult)\n : getRenderingPanels(vanillaFlicking, diff(origChildren, origChildren))\n : origChildren;\n\n return this.props.useFindDOMNode\n ? children.map((child, idx) => <NonStrictPanel key={child.key!} ref={this._panels[idx] as any}>{child}</NonStrictPanel>)\n : children.map((child, idx) => <StrictPanel key={child.key!} ref={this._panels[idx] as any}>{child}</StrictPanel>)\n }\n\n private _isFragment(child: React.ReactElement) {\n if (child.type) {\n return child.type === React.Fragment;\n }\n\n return (child as any) === React.Fragment;\n }\n}\n\ninterface Flicking extends React.Component<Partial<FlickingProps & FlickingOptions>>, VanillaFlicking { }\nexport default Flicking;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport Flicking from \"./Flicking\";\nimport ViewportSlot from \"./ViewportSlot\";\n\n(Flicking as any).ViewportSlot = ViewportSlot;\nexport default Flicking;\n"],"names":["DEFAULT_PROPS","viewportTag","cameraTag","cameraClass","plugins","useFindDOMNode","hideBeforeInit","onReady","e","onBeforeResize","onAfterResize","onHoldStart","onHoldEnd","onMoveStart","onMove","onMoveEnd","onWillChange","onChanged","onWillRestore","onRestored","onSelect","onNeedPanel","onVisibleChange","onReachEdge","onPanelChange","__extends","options","_super","_this","_reactFlicking","reactFlicking","flicking","getFlickingAttached","_flicking","strategy","_strategy","_rendering","updateRenderingPanels","renderPanels","Promise","resolve","renderEmitter","once","forceUpdate","forceRenderAllPanels","_a","reactPanels","_panels","collectPanels","externalComponent","createPanel","ExternalRenderer","React","createRef","Object","_elRef","current","_hide","_getElement","cloneElement","Children","only","props","children","ref","Component","findDOMNode","ViewportSlot","memo","el","_el","nativeElement","rendered","show","hide","_createPanelRefs","_getChildren","_prevProps","map","panel","_renderEmitter","rendererOptions","align","virtual","panelsPerView","VirtualRenderingStrategy","NormalRenderingStrategy","providerCtor","ReactElementProvider","VanillaFlicking","_viewportElement","externalRenderer","ReactRenderer","_vanillaFlicking","_jsxDiffer","ListDiffer","key","_pluginsDiffer","_bindEvents","_checkPlugins","status","setStatus","destroy","nextProps","vanillaFlicking","prevProps","initialized","_hasSameChildren","restProps","nextChildren","_diffResult","update","diffResult","trigger","camera","updateOffset","sync","Viewport","Camera","attributes","beforeRender","name","prototype","viewportClasses","cameraClasses","isHorizontal","horizontal","push","className","cameraProps","firstPanelSize","style","transform","getDefaultCameraTransform","panels","_getVirtualPanels","_getPanels","join","_getViewportSlot","range","keys","EVENTS","forEach","eventKey","eventName","propName","charAt","toUpperCase","slice","on","currentTarget","evtHandler","READY","added","length","removed","list","prevList","addPlugins","index","removePlugins","prevChildren","same","every","child","idx","nextChild","toArray","filter","type","reduce","all","_unpackFragment","_isFragment","allChilds","fragChild","panelClass","renderingIndexes","renderer","getRenderingIndexesByOrder","firstPanel","size","width","height","origChildren","getRenderingPanels","diff","NonStrictPanel","StrictPanel","Fragment","Flicking","__decorate","withFlickingMethods"],"mappings":"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"}
|
package/dist/flicking.esm.js
CHANGED
|
@@ -4,7 +4,7 @@ name: @egjs/react-flicking
|
|
|
4
4
|
license: MIT
|
|
5
5
|
author: NAVER Corp.
|
|
6
6
|
repository: https://github.com/naver/egjs-flicking/tree/master/packages/react-flicking
|
|
7
|
-
version: 4.
|
|
7
|
+
version: 4.10.0
|
|
8
8
|
*/
|
|
9
9
|
import * as React from 'react';
|
|
10
10
|
import React__default from 'react';
|
|
@@ -65,6 +65,16 @@ var __assign = function () {
|
|
|
65
65
|
|
|
66
66
|
return __assign.apply(this, arguments);
|
|
67
67
|
};
|
|
68
|
+
function __rest(s, e) {
|
|
69
|
+
var t = {};
|
|
70
|
+
|
|
71
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
72
|
+
|
|
73
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
74
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
75
|
+
}
|
|
76
|
+
return t;
|
|
77
|
+
}
|
|
68
78
|
function __decorate(decorators, target, key, desc) {
|
|
69
79
|
var c = arguments.length,
|
|
70
80
|
r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,
|
|
@@ -224,6 +234,7 @@ function __spreadArray(to, from, pack) {
|
|
|
224
234
|
var DEFAULT_PROPS = {
|
|
225
235
|
viewportTag: "div",
|
|
226
236
|
cameraTag: "div",
|
|
237
|
+
cameraClass: "",
|
|
227
238
|
plugins: [],
|
|
228
239
|
useFindDOMNode: false,
|
|
229
240
|
hideBeforeInit: false,
|
|
@@ -468,14 +479,6 @@ function () {
|
|
|
468
479
|
return ReactElementProvider;
|
|
469
480
|
}();
|
|
470
481
|
|
|
471
|
-
var LifeCycleState;
|
|
472
|
-
|
|
473
|
-
(function (LifeCycleState) {
|
|
474
|
-
LifeCycleState[LifeCycleState["BEFORE_UPDATE"] = 0] = "BEFORE_UPDATE";
|
|
475
|
-
LifeCycleState[LifeCycleState["RENDER"] = 1] = "RENDER";
|
|
476
|
-
LifeCycleState[LifeCycleState["UPDATED"] = 2] = "UPDATED";
|
|
477
|
-
})(LifeCycleState || (LifeCycleState = {}));
|
|
478
|
-
|
|
479
482
|
var Flicking =
|
|
480
483
|
/*#__PURE__*/
|
|
481
484
|
function (_super) {
|
|
@@ -486,8 +489,8 @@ function (_super) {
|
|
|
486
489
|
|
|
487
490
|
_this._panels = [];
|
|
488
491
|
_this._renderEmitter = new Component();
|
|
489
|
-
_this._currentState = LifeCycleState.BEFORE_UPDATE;
|
|
490
492
|
_this._panels = _this._createPanelRefs(props, _this._getChildren());
|
|
493
|
+
_this._prevProps = _this.props;
|
|
491
494
|
return _this;
|
|
492
495
|
}
|
|
493
496
|
|
|
@@ -522,7 +525,6 @@ function (_super) {
|
|
|
522
525
|
externalRenderer: new ReactRenderer(rendererOptions)
|
|
523
526
|
}));
|
|
524
527
|
this._vanillaFlicking = flicking;
|
|
525
|
-
this._currentState = LifeCycleState.UPDATED;
|
|
526
528
|
|
|
527
529
|
var children = this._getChildren();
|
|
528
530
|
|
|
@@ -530,6 +532,7 @@ function (_super) {
|
|
|
530
532
|
return panel.key;
|
|
531
533
|
});
|
|
532
534
|
this._pluginsDiffer = new ListDiffer();
|
|
535
|
+
this._prevProps = this.props;
|
|
533
536
|
|
|
534
537
|
this._bindEvents();
|
|
535
538
|
|
|
@@ -548,21 +551,15 @@ function (_super) {
|
|
|
548
551
|
|
|
549
552
|
__proto.shouldComponentUpdate = function (nextProps) {
|
|
550
553
|
var vanillaFlicking = this._vanillaFlicking;
|
|
551
|
-
var
|
|
552
|
-
|
|
554
|
+
var prevProps = this.props;
|
|
553
555
|
if (!vanillaFlicking || !vanillaFlicking.initialized) return false;
|
|
556
|
+
if (!this._hasSameChildren(prevProps, nextProps)) return true;
|
|
554
557
|
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
this._panels = this._createPanelRefs(nextProps, nextChildren);
|
|
559
|
-
this._diffResult = this._jsxDiffer.update(nextChildren);
|
|
560
|
-
}
|
|
561
|
-
|
|
562
|
-
this._currentState = LifeCycleState.BEFORE_UPDATE;
|
|
558
|
+
nextProps.children;
|
|
559
|
+
var restProps = __rest(nextProps, ["children"]);
|
|
563
560
|
|
|
564
|
-
for (var key in
|
|
565
|
-
if (
|
|
561
|
+
for (var key in restProps) {
|
|
562
|
+
if (prevProps[key] !== nextProps[key]) {
|
|
566
563
|
return true;
|
|
567
564
|
}
|
|
568
565
|
}
|
|
@@ -570,6 +567,21 @@ function (_super) {
|
|
|
570
567
|
return false;
|
|
571
568
|
};
|
|
572
569
|
|
|
570
|
+
__proto.beforeRender = function () {
|
|
571
|
+
var vanillaFlicking = this._vanillaFlicking;
|
|
572
|
+
var nextProps = this.props;
|
|
573
|
+
var prevProps = this._prevProps; // Ignore updates before init, they will be updated after "ready" event's force update
|
|
574
|
+
|
|
575
|
+
if (!vanillaFlicking || !vanillaFlicking.initialized) return;
|
|
576
|
+
|
|
577
|
+
if (!this._hasSameChildren(prevProps, nextProps)) {
|
|
578
|
+
var nextChildren = this._getChildren(nextProps.children);
|
|
579
|
+
|
|
580
|
+
this._panels = this._createPanelRefs(nextProps, nextChildren);
|
|
581
|
+
this._diffResult = this._jsxDiffer.update(nextChildren);
|
|
582
|
+
}
|
|
583
|
+
};
|
|
584
|
+
|
|
573
585
|
__proto.componentDidUpdate = function () {
|
|
574
586
|
var flicking = this._vanillaFlicking;
|
|
575
587
|
var renderEmitter = this._renderEmitter;
|
|
@@ -579,7 +591,6 @@ function (_super) {
|
|
|
579
591
|
|
|
580
592
|
renderEmitter.trigger("render");
|
|
581
593
|
flicking.camera.updateOffset();
|
|
582
|
-
this._currentState = LifeCycleState.UPDATED;
|
|
583
594
|
if (!diffResult || !flicking.initialized) return;
|
|
584
595
|
sync(flicking, diffResult, this.reactPanels);
|
|
585
596
|
this._diffResult = null;
|
|
@@ -595,7 +606,7 @@ function (_super) {
|
|
|
595
606
|
var Camera = props.cameraTag;
|
|
596
607
|
var attributes = {};
|
|
597
608
|
var flicking = this._vanillaFlicking;
|
|
598
|
-
this.
|
|
609
|
+
this.beforeRender();
|
|
599
610
|
|
|
600
611
|
for (var name in props) {
|
|
601
612
|
if (!(name in DEFAULT_PROPS) && !(name in VanillaFlicking__default.prototype)) {
|
|
@@ -605,6 +616,7 @@ function (_super) {
|
|
|
605
616
|
|
|
606
617
|
var initialized = flicking && flicking.initialized;
|
|
607
618
|
var viewportClasses = ["flicking-viewport"];
|
|
619
|
+
var cameraClasses = ["flicking-camera"];
|
|
608
620
|
var isHorizontal = flicking ? flicking.horizontal : (_a = props.horizontal) !== null && _a !== void 0 ? _a : true;
|
|
609
621
|
|
|
610
622
|
if (!isHorizontal) {
|
|
@@ -619,19 +631,24 @@ function (_super) {
|
|
|
619
631
|
viewportClasses.push(attributes.className);
|
|
620
632
|
}
|
|
621
633
|
|
|
634
|
+
if (props.cameraClass) {
|
|
635
|
+
cameraClasses.push(props.cameraClass);
|
|
636
|
+
}
|
|
637
|
+
|
|
622
638
|
var cameraProps = !initialized && props.firstPanelSize ? {
|
|
623
639
|
style: {
|
|
624
640
|
transform: getDefaultCameraTransform(this.props.align, this.props.horizontal, this.props.firstPanelSize)
|
|
625
641
|
}
|
|
626
642
|
} : {};
|
|
627
643
|
var panels = !!props.virtual && ((_b = props.panelsPerView) !== null && _b !== void 0 ? _b : -1) > 0 ? this._getVirtualPanels() : this._getPanels();
|
|
644
|
+
this._prevProps = props;
|
|
628
645
|
return React.createElement(Viewport, __assign({}, attributes, {
|
|
629
646
|
className: viewportClasses.join(" "),
|
|
630
647
|
ref: function (e) {
|
|
631
648
|
e && (_this._viewportElement = e);
|
|
632
649
|
}
|
|
633
650
|
}), React.createElement(Camera, __assign({
|
|
634
|
-
className: "
|
|
651
|
+
className: cameraClasses.join(" ")
|
|
635
652
|
}, cameraProps), panels), this._getViewportSlot());
|
|
636
653
|
};
|
|
637
654
|
|
|
@@ -691,6 +708,24 @@ function (_super) {
|
|
|
691
708
|
}));
|
|
692
709
|
};
|
|
693
710
|
|
|
711
|
+
__proto._hasSameChildren = function (prevProps, nextProps) {
|
|
712
|
+
var prevChildren = this._getChildren(prevProps.children);
|
|
713
|
+
|
|
714
|
+
var nextChildren = this._getChildren(nextProps.children);
|
|
715
|
+
|
|
716
|
+
if (prevChildren.length !== nextChildren.length) return false;
|
|
717
|
+
var same = prevChildren.every(function (child, idx) {
|
|
718
|
+
var nextChild = nextChildren[idx];
|
|
719
|
+
|
|
720
|
+
if (child.key && nextChild.key) {
|
|
721
|
+
return child.key === nextChild.key;
|
|
722
|
+
} else {
|
|
723
|
+
return child === nextChild;
|
|
724
|
+
}
|
|
725
|
+
});
|
|
726
|
+
return same;
|
|
727
|
+
};
|
|
728
|
+
|
|
694
729
|
__proto._getChildren = function (children) {
|
|
695
730
|
var _this = this;
|
|
696
731
|
|