@egjs/react-flicking 4.10.2-beta.0 → 4.10.2-beta.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/declaration/Flicking.d.ts +42 -41
- package/declaration/NonStrictPanel.d.ts +12 -12
- package/declaration/ReactElementProvider.d.ts +12 -12
- package/declaration/ReactRenderer.d.ts +16 -16
- package/declaration/StrictPanel.d.ts +14 -14
- package/declaration/ViewportSlot.d.ts +5 -5
- package/declaration/consts.d.ts +2 -2
- package/declaration/index.d.ts +6 -6
- package/declaration/index.umd.d.ts +2 -2
- package/declaration/types.d.ts +32 -32
- package/dist/flicking-inline.css +45 -0
- package/dist/flicking-inline.css.map +1 -0
- package/dist/flicking-inline.min.css +1 -0
- package/dist/flicking.cjs.js +20 -8
- package/dist/flicking.cjs.js.map +1 -1
- package/dist/flicking.css +44 -0
- package/dist/flicking.css.map +1 -0
- package/dist/flicking.esm.js +20 -8
- package/dist/flicking.esm.js.map +1 -1
- package/dist/flicking.min.css +1 -0
- package/dist/flicking.umd.js +20 -8
- package/dist/flicking.umd.js.map +1 -1
- package/package.json +2 -2
- package/src/react-flicking/Flicking.tsx +19 -3
- package/src/react-flicking/ReactRenderer.ts +2 -3
|
@@ -1,41 +1,42 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
import Component from "@egjs/component";
|
|
3
|
-
import VanillaFlicking, { FlickingOptions } from "@egjs/flicking";
|
|
4
|
-
import { FlickingProps } from "./types";
|
|
5
|
-
import StrictPanel from "./StrictPanel";
|
|
6
|
-
import NonStrictPanel from "./NonStrictPanel";
|
|
7
|
-
declare class Flicking extends React.Component<Partial<FlickingProps & FlickingOptions>> {
|
|
8
|
-
static defaultProps: FlickingProps;
|
|
9
|
-
private _vanillaFlicking;
|
|
10
|
-
private _panels;
|
|
11
|
-
private _pluginsDiffer;
|
|
12
|
-
private _jsxDiffer;
|
|
13
|
-
private _viewportElement;
|
|
14
|
-
private _diffResult;
|
|
15
|
-
private _renderEmitter;
|
|
16
|
-
private _prevChildren;
|
|
17
|
-
|
|
18
|
-
get
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
private
|
|
30
|
-
private
|
|
31
|
-
private
|
|
32
|
-
private
|
|
33
|
-
private
|
|
34
|
-
private
|
|
35
|
-
private
|
|
36
|
-
private
|
|
37
|
-
private
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import Component from "@egjs/component";
|
|
3
|
+
import VanillaFlicking, { FlickingOptions } from "@egjs/flicking";
|
|
4
|
+
import { FlickingProps } from "./types";
|
|
5
|
+
import StrictPanel from "./StrictPanel";
|
|
6
|
+
import NonStrictPanel from "./NonStrictPanel";
|
|
7
|
+
declare class Flicking extends React.Component<Partial<FlickingProps & FlickingOptions>> {
|
|
8
|
+
static defaultProps: FlickingProps;
|
|
9
|
+
private _vanillaFlicking;
|
|
10
|
+
private _panels;
|
|
11
|
+
private _pluginsDiffer;
|
|
12
|
+
private _jsxDiffer;
|
|
13
|
+
private _viewportElement;
|
|
14
|
+
private _diffResult;
|
|
15
|
+
private _renderEmitter;
|
|
16
|
+
private _prevChildren;
|
|
17
|
+
private _renderingState;
|
|
18
|
+
get reactPanels(): (StrictPanel | NonStrictPanel | HTMLDivElement)[];
|
|
19
|
+
get renderEmitter(): Component<{
|
|
20
|
+
render: void;
|
|
21
|
+
}>;
|
|
22
|
+
constructor(props: Partial<FlickingProps & FlickingOptions>);
|
|
23
|
+
componentDidMount(): void;
|
|
24
|
+
componentWillUnmount(): void;
|
|
25
|
+
shouldComponentUpdate(nextProps: Readonly<Partial<FlickingProps & FlickingOptions>>): boolean;
|
|
26
|
+
beforeRender(): void;
|
|
27
|
+
componentDidUpdate(): void;
|
|
28
|
+
render(): JSX.Element;
|
|
29
|
+
private _createPanelRefs;
|
|
30
|
+
private _bindEvents;
|
|
31
|
+
private _checkPlugins;
|
|
32
|
+
private _hasSameChildren;
|
|
33
|
+
private _getChildren;
|
|
34
|
+
private _getViewportSlot;
|
|
35
|
+
private _unpackFragment;
|
|
36
|
+
private _getVirtualPanels;
|
|
37
|
+
private _getPanels;
|
|
38
|
+
private _isFragment;
|
|
39
|
+
}
|
|
40
|
+
interface Flicking extends React.Component<Partial<FlickingProps & FlickingOptions>>, VanillaFlicking {
|
|
41
|
+
}
|
|
42
|
+
export default Flicking;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
declare class NonStrictPanel extends React.Component<{
|
|
3
|
-
children?: React.ReactElement;
|
|
4
|
-
}> {
|
|
5
|
-
private _hide;
|
|
6
|
-
get nativeElement(): HTMLElement;
|
|
7
|
-
get rendered(): boolean;
|
|
8
|
-
render(): JSX.Element | undefined;
|
|
9
|
-
show(): void;
|
|
10
|
-
hide(): void;
|
|
11
|
-
}
|
|
12
|
-
export default NonStrictPanel;
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
declare class NonStrictPanel extends React.Component<{
|
|
3
|
+
children?: React.ReactElement;
|
|
4
|
+
}> {
|
|
5
|
+
private _hide;
|
|
6
|
+
get nativeElement(): HTMLElement;
|
|
7
|
+
get rendered(): boolean;
|
|
8
|
+
render(): JSX.Element | undefined;
|
|
9
|
+
show(): void;
|
|
10
|
+
hide(): void;
|
|
11
|
+
}
|
|
12
|
+
export default NonStrictPanel;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { ElementProvider } from "@egjs/flicking";
|
|
2
|
-
import StrictPanel from "./StrictPanel";
|
|
3
|
-
import NonStrictPanel from "./NonStrictPanel";
|
|
4
|
-
declare class ReactElementProvider implements ElementProvider {
|
|
5
|
-
private _el;
|
|
6
|
-
get element(): HTMLElement;
|
|
7
|
-
get rendered(): boolean;
|
|
8
|
-
constructor(el: StrictPanel | NonStrictPanel);
|
|
9
|
-
show(): void;
|
|
10
|
-
hide(): void;
|
|
11
|
-
}
|
|
12
|
-
export default ReactElementProvider;
|
|
1
|
+
import { ElementProvider } from "@egjs/flicking";
|
|
2
|
+
import StrictPanel from "./StrictPanel";
|
|
3
|
+
import NonStrictPanel from "./NonStrictPanel";
|
|
4
|
+
declare class ReactElementProvider implements ElementProvider {
|
|
5
|
+
private _el;
|
|
6
|
+
get element(): HTMLElement;
|
|
7
|
+
get rendered(): boolean;
|
|
8
|
+
constructor(el: StrictPanel | NonStrictPanel);
|
|
9
|
+
show(): void;
|
|
10
|
+
hide(): void;
|
|
11
|
+
}
|
|
12
|
+
export default ReactElementProvider;
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { ExternalRenderer, PanelOptions, RendererOptions } from "@egjs/flicking";
|
|
2
|
-
import ReactFlicking from "./Flicking";
|
|
3
|
-
import StrictPanel from "./StrictPanel";
|
|
4
|
-
import NonStrictPanel from "./NonStrictPanel";
|
|
5
|
-
export interface ReactRendererOptions extends RendererOptions {
|
|
6
|
-
reactFlicking: ReactFlicking;
|
|
7
|
-
}
|
|
8
|
-
declare class ReactRenderer extends ExternalRenderer {
|
|
9
|
-
protected _reactFlicking: ReactFlicking;
|
|
10
|
-
constructor(options: ReactRendererOptions);
|
|
11
|
-
render(): Promise<void>;
|
|
12
|
-
forceRenderAllPanels(): Promise<void>;
|
|
13
|
-
protected _collectPanels(): void;
|
|
14
|
-
protected _createPanel(externalComponent: StrictPanel | NonStrictPanel | HTMLDivElement, options: PanelOptions): import("@egjs/flicking/declaration/core/panel/Panel").default;
|
|
15
|
-
}
|
|
16
|
-
export default ReactRenderer;
|
|
1
|
+
import { ExternalRenderer, PanelOptions, RendererOptions } from "@egjs/flicking";
|
|
2
|
+
import ReactFlicking from "./Flicking";
|
|
3
|
+
import StrictPanel from "./StrictPanel";
|
|
4
|
+
import NonStrictPanel from "./NonStrictPanel";
|
|
5
|
+
export interface ReactRendererOptions extends RendererOptions {
|
|
6
|
+
reactFlicking: ReactFlicking;
|
|
7
|
+
}
|
|
8
|
+
declare class ReactRenderer extends ExternalRenderer {
|
|
9
|
+
protected _reactFlicking: ReactFlicking;
|
|
10
|
+
constructor(options: ReactRendererOptions);
|
|
11
|
+
render(): Promise<void>;
|
|
12
|
+
forceRenderAllPanels(): Promise<void>;
|
|
13
|
+
protected _collectPanels(): void;
|
|
14
|
+
protected _createPanel(externalComponent: StrictPanel | NonStrictPanel | HTMLDivElement, options: PanelOptions): import("@egjs/flicking/declaration/core/panel/Panel").default;
|
|
15
|
+
}
|
|
16
|
+
export default ReactRenderer;
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
declare class StrictPanel extends React.Component<{
|
|
3
|
-
children?: React.ReactElement;
|
|
4
|
-
}> {
|
|
5
|
-
private _hide;
|
|
6
|
-
private _elRef;
|
|
7
|
-
get nativeElement(): HTMLElement;
|
|
8
|
-
get rendered(): boolean;
|
|
9
|
-
render(): JSX.Element;
|
|
10
|
-
show(): void;
|
|
11
|
-
hide(): void;
|
|
12
|
-
private _getElement;
|
|
13
|
-
}
|
|
14
|
-
export default StrictPanel;
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
declare class StrictPanel extends React.Component<{
|
|
3
|
+
children?: React.ReactElement;
|
|
4
|
+
}> {
|
|
5
|
+
private _hide;
|
|
6
|
+
private _elRef;
|
|
7
|
+
get nativeElement(): HTMLElement;
|
|
8
|
+
get rendered(): boolean;
|
|
9
|
+
render(): JSX.Element;
|
|
10
|
+
show(): void;
|
|
11
|
+
hide(): void;
|
|
12
|
+
private _getElement;
|
|
13
|
+
}
|
|
14
|
+
export default StrictPanel;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import React, { ReactNode } from "react";
|
|
2
|
-
declare const ViewportSlot: React.MemoExoticComponent<(props: {
|
|
3
|
-
children?: ReactNode;
|
|
4
|
-
}) => JSX.Element>;
|
|
5
|
-
export default ViewportSlot;
|
|
1
|
+
import React, { ReactNode } from "react";
|
|
2
|
+
declare const ViewportSlot: React.MemoExoticComponent<(props: {
|
|
3
|
+
children?: ReactNode;
|
|
4
|
+
}) => JSX.Element>;
|
|
5
|
+
export default ViewportSlot;
|
package/declaration/consts.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { FlickingProps } from "./types";
|
|
2
|
-
export declare const DEFAULT_PROPS: FlickingProps;
|
|
1
|
+
import { FlickingProps } from "./types";
|
|
2
|
+
export declare const DEFAULT_PROPS: FlickingProps;
|
package/declaration/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import Flicking from "./Flicking";
|
|
2
|
-
import ViewportSlot from "./ViewportSlot";
|
|
3
|
-
export * from "@egjs/flicking";
|
|
4
|
-
export * from "./types";
|
|
5
|
-
export { ViewportSlot };
|
|
6
|
-
export default Flicking;
|
|
1
|
+
import Flicking from "./Flicking";
|
|
2
|
+
import ViewportSlot from "./ViewportSlot";
|
|
3
|
+
export * from "@egjs/flicking";
|
|
4
|
+
export * from "./types";
|
|
5
|
+
export { ViewportSlot };
|
|
6
|
+
export default Flicking;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import Flicking from "./Flicking";
|
|
2
|
-
export default Flicking;
|
|
1
|
+
import Flicking from "./Flicking";
|
|
2
|
+
export default Flicking;
|
package/declaration/types.d.ts
CHANGED
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
import ReactFlicking from "./Flicking";
|
|
3
|
-
import { SelectEvent, NeedPanelEvent, VisibleChangeEvent, HoldStartEvent, HoldEndEvent, MoveStartEvent, MoveEvent, MoveEndEvent, WillChangeEvent, ChangedEvent, WillRestoreEvent, RestoredEvent, ReadyEvent, BeforeResizeEvent, AfterResizeEvent, ReachEdgeEvent, PanelChangeEvent, Plugin, Status } from "@egjs/flicking";
|
|
4
|
-
export interface FlickingProps {
|
|
5
|
-
viewportTag: keyof JSX.IntrinsicElements;
|
|
6
|
-
cameraTag: keyof JSX.IntrinsicElements;
|
|
7
|
-
cameraClass: string;
|
|
8
|
-
renderOnSameKey: boolean;
|
|
9
|
-
plugins: Plugin[];
|
|
10
|
-
status?: Status;
|
|
11
|
-
useFindDOMNode: boolean;
|
|
12
|
-
hideBeforeInit: boolean;
|
|
13
|
-
firstPanelSize?: string;
|
|
14
|
-
onReady: (e: ReadyEvent<ReactFlicking>) => any;
|
|
15
|
-
onBeforeResize: (e: BeforeResizeEvent<ReactFlicking>) => any;
|
|
16
|
-
onAfterResize: (e: AfterResizeEvent<ReactFlicking>) => any;
|
|
17
|
-
onHoldStart: (e: HoldStartEvent<ReactFlicking>) => any;
|
|
18
|
-
onHoldEnd: (e: HoldEndEvent<ReactFlicking>) => any;
|
|
19
|
-
onMoveStart: (e: MoveStartEvent<ReactFlicking>) => any;
|
|
20
|
-
onMove: (e: MoveEvent<ReactFlicking>) => any;
|
|
21
|
-
onMoveEnd: (e: MoveEndEvent<ReactFlicking>) => any;
|
|
22
|
-
onWillChange: (e: WillChangeEvent<ReactFlicking>) => any;
|
|
23
|
-
onChanged: (e: ChangedEvent<ReactFlicking>) => any;
|
|
24
|
-
onWillRestore: (e: WillRestoreEvent<ReactFlicking>) => any;
|
|
25
|
-
onRestored: (e: RestoredEvent<ReactFlicking>) => any;
|
|
26
|
-
onSelect: (e: SelectEvent<ReactFlicking>) => any;
|
|
27
|
-
onNeedPanel: (e: NeedPanelEvent<ReactFlicking>) => any;
|
|
28
|
-
onVisibleChange: (e: VisibleChangeEvent<ReactFlicking>) => any;
|
|
29
|
-
onReachEdge: (e: ReachEdgeEvent<ReactFlicking>) => any;
|
|
30
|
-
onPanelChange: (e: PanelChangeEvent<ReactFlicking>) => any;
|
|
31
|
-
[key: string]: any;
|
|
32
|
-
}
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import ReactFlicking from "./Flicking";
|
|
3
|
+
import { SelectEvent, NeedPanelEvent, VisibleChangeEvent, HoldStartEvent, HoldEndEvent, MoveStartEvent, MoveEvent, MoveEndEvent, WillChangeEvent, ChangedEvent, WillRestoreEvent, RestoredEvent, ReadyEvent, BeforeResizeEvent, AfterResizeEvent, ReachEdgeEvent, PanelChangeEvent, Plugin, Status } from "@egjs/flicking";
|
|
4
|
+
export interface FlickingProps {
|
|
5
|
+
viewportTag: keyof JSX.IntrinsicElements;
|
|
6
|
+
cameraTag: keyof JSX.IntrinsicElements;
|
|
7
|
+
cameraClass: string;
|
|
8
|
+
renderOnSameKey: boolean;
|
|
9
|
+
plugins: Plugin[];
|
|
10
|
+
status?: Status;
|
|
11
|
+
useFindDOMNode: boolean;
|
|
12
|
+
hideBeforeInit: boolean;
|
|
13
|
+
firstPanelSize?: string;
|
|
14
|
+
onReady: (e: ReadyEvent<ReactFlicking>) => any;
|
|
15
|
+
onBeforeResize: (e: BeforeResizeEvent<ReactFlicking>) => any;
|
|
16
|
+
onAfterResize: (e: AfterResizeEvent<ReactFlicking>) => any;
|
|
17
|
+
onHoldStart: (e: HoldStartEvent<ReactFlicking>) => any;
|
|
18
|
+
onHoldEnd: (e: HoldEndEvent<ReactFlicking>) => any;
|
|
19
|
+
onMoveStart: (e: MoveStartEvent<ReactFlicking>) => any;
|
|
20
|
+
onMove: (e: MoveEvent<ReactFlicking>) => any;
|
|
21
|
+
onMoveEnd: (e: MoveEndEvent<ReactFlicking>) => any;
|
|
22
|
+
onWillChange: (e: WillChangeEvent<ReactFlicking>) => any;
|
|
23
|
+
onChanged: (e: ChangedEvent<ReactFlicking>) => any;
|
|
24
|
+
onWillRestore: (e: WillRestoreEvent<ReactFlicking>) => any;
|
|
25
|
+
onRestored: (e: RestoredEvent<ReactFlicking>) => any;
|
|
26
|
+
onSelect: (e: SelectEvent<ReactFlicking>) => any;
|
|
27
|
+
onNeedPanel: (e: NeedPanelEvent<ReactFlicking>) => any;
|
|
28
|
+
onVisibleChange: (e: VisibleChangeEvent<ReactFlicking>) => any;
|
|
29
|
+
onReachEdge: (e: ReachEdgeEvent<ReactFlicking>) => any;
|
|
30
|
+
onPanelChange: (e: PanelChangeEvent<ReactFlicking>) => any;
|
|
31
|
+
[key: string]: any;
|
|
32
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
.flicking-viewport {
|
|
2
|
+
position: relative;
|
|
3
|
+
overflow: hidden;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
.flicking-viewport:not(.vertical) {
|
|
7
|
+
width: 100%;
|
|
8
|
+
height: 100%;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.flicking-viewport.vertical,
|
|
12
|
+
.flicking-viewport.vertical > .flicking-camera {
|
|
13
|
+
display: inline-block;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.flicking-viewport.vertical.middle > .flicking-camera > * {
|
|
17
|
+
vertical-align: middle;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.flicking-viewport.vertical.bottom > .flicking-camera > * {
|
|
21
|
+
vertical-align: bottom;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.flicking-viewport.vertical > .flicking-camera > * {
|
|
25
|
+
display: block;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.flicking-viewport.flicking-hidden > .flicking-camera > * {
|
|
29
|
+
visibility: hidden;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.flicking-camera {
|
|
33
|
+
width: 100%;
|
|
34
|
+
height: 100%;
|
|
35
|
+
position: relative;
|
|
36
|
+
z-index: 1;
|
|
37
|
+
white-space: nowrap;
|
|
38
|
+
will-change: transform;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.flicking-camera > * {
|
|
42
|
+
display: inline-block;
|
|
43
|
+
white-space: normal;
|
|
44
|
+
vertical-align: top;
|
|
45
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["<input css 1>"],"names":[],"mappings":"AAAA,mBAAmB,iBAAiB,CAAC,eAAe,CAAC,kCAAkC,UAAU,CAAC,WAAW,CAAC,iBAAiB,UAAU,CAAC,WAAW,CAAC,iBAAiB,CAAC,SAAS,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,mBAAmB,oBAAoB,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,yEAAyE,oBAAoB,CAAC,sDAAsD,qBAAqB,CAAC,sDAAsD,qBAAqB,CAAC,+CAA+C,aAAa,CAAC,sDAAsD,iBAAiB","file":"flicking-inline.css","sourcesContent":[".flicking-viewport{position:relative;overflow:hidden}.flicking-viewport:not(.vertical){width:100%;height:100%}.flicking-camera{width:100%;height:100%;position:relative;z-index:1;white-space:nowrap;will-change:transform}.flicking-camera>*{display:inline-block;white-space:normal;vertical-align:top}.flicking-viewport.vertical,.flicking-viewport.vertical>.flicking-camera{display:inline-block}.flicking-viewport.vertical.middle>.flicking-camera>*{vertical-align:middle}.flicking-viewport.vertical.bottom>.flicking-camera>*{vertical-align:bottom}.flicking-viewport.vertical>.flicking-camera>*{display:block}.flicking-viewport.flicking-hidden>.flicking-camera>*{visibility:hidden}"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.flicking-viewport{position:relative;overflow:hidden}.flicking-viewport:not(.vertical){width:100%;height:100%}.flicking-viewport.vertical,.flicking-viewport.vertical>.flicking-camera{display:inline-block}.flicking-viewport.vertical.middle>.flicking-camera>*{vertical-align:middle}.flicking-viewport.vertical.bottom>.flicking-camera>*{vertical-align:bottom}.flicking-viewport.vertical>.flicking-camera>*{display:block}.flicking-viewport.flicking-hidden>.flicking-camera>*{visibility:hidden}.flicking-camera{width:100%;height:100%;position:relative;z-index:1;white-space:nowrap;will-change:transform}.flicking-camera>*{display:inline-block;white-space:normal;vertical-align:top}
|
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.10.
|
|
7
|
+
version: 4.10.2-beta.1
|
|
8
8
|
*/
|
|
9
9
|
'use strict';
|
|
10
10
|
|
|
@@ -438,9 +438,9 @@ function (_super) {
|
|
|
438
438
|
return NonStrictPanel;
|
|
439
439
|
}(React.Component);
|
|
440
440
|
|
|
441
|
-
/*
|
|
442
|
-
* Copyright (c) 2015 NAVER Corp.
|
|
443
|
-
* egjs projects are licensed under the MIT license
|
|
441
|
+
/*
|
|
442
|
+
* Copyright (c) 2015 NAVER Corp.
|
|
443
|
+
* egjs projects are licensed under the MIT license
|
|
444
444
|
*/
|
|
445
445
|
var ViewportSlot = React.memo(function (props) {
|
|
446
446
|
return React.createElement(React.Fragment, null, props.children);
|
|
@@ -480,6 +480,14 @@ function () {
|
|
|
480
480
|
return ReactElementProvider;
|
|
481
481
|
}();
|
|
482
482
|
|
|
483
|
+
var RenderingState;
|
|
484
|
+
|
|
485
|
+
(function (RenderingState) {
|
|
486
|
+
RenderingState[RenderingState["NONE"] = 0] = "NONE";
|
|
487
|
+
RenderingState[RenderingState["RENDERED"] = 1] = "RENDERED";
|
|
488
|
+
RenderingState[RenderingState["UPDATED"] = 2] = "UPDATED";
|
|
489
|
+
})(RenderingState || (RenderingState = {}));
|
|
490
|
+
|
|
483
491
|
var Flicking =
|
|
484
492
|
/*#__PURE__*/
|
|
485
493
|
function (_super) {
|
|
@@ -495,6 +503,7 @@ function (_super) {
|
|
|
495
503
|
|
|
496
504
|
_this._panels = _this._createPanelRefs(props, children);
|
|
497
505
|
_this._prevChildren = children;
|
|
506
|
+
_this._renderingState = RenderingState.NONE;
|
|
498
507
|
return _this;
|
|
499
508
|
}
|
|
500
509
|
|
|
@@ -579,8 +588,9 @@ function (_super) {
|
|
|
579
588
|
var vanillaFlicking = this._vanillaFlicking;
|
|
580
589
|
var props = this.props;
|
|
581
590
|
var prevChildren = this._prevChildren; // Ignore updates before init, they will be updated after "ready" event's force update
|
|
591
|
+
// Also, ignore update between two successive rendering calls
|
|
582
592
|
|
|
583
|
-
if (!vanillaFlicking || !vanillaFlicking.initialized) return;
|
|
593
|
+
if (!vanillaFlicking || !vanillaFlicking.initialized || this._renderingState === RenderingState.RENDERED) return;
|
|
584
594
|
|
|
585
595
|
var nextChildren = this._getChildren(props.children);
|
|
586
596
|
|
|
@@ -602,6 +612,7 @@ function (_super) {
|
|
|
602
612
|
flicking.camera.updateOffset();
|
|
603
613
|
if (!diffResult || !flicking.initialized) return;
|
|
604
614
|
VanillaFlicking.sync(flicking, diffResult, this.reactPanels);
|
|
615
|
+
this._renderingState = RenderingState.UPDATED;
|
|
605
616
|
this._diffResult = null;
|
|
606
617
|
};
|
|
607
618
|
|
|
@@ -650,6 +661,7 @@ function (_super) {
|
|
|
650
661
|
}
|
|
651
662
|
} : {};
|
|
652
663
|
var panels = !!props.virtual && ((_b = props.panelsPerView) !== null && _b !== void 0 ? _b : -1) > 0 ? this._getVirtualPanels() : this._getPanels();
|
|
664
|
+
this._renderingState = RenderingState.RENDERED;
|
|
653
665
|
return React.createElement(Viewport, __assign({}, attributes, {
|
|
654
666
|
className: viewportClasses.join(" "),
|
|
655
667
|
ref: function (e) {
|
|
@@ -821,9 +833,9 @@ function (_super) {
|
|
|
821
833
|
return Flicking;
|
|
822
834
|
}(React.Component);
|
|
823
835
|
|
|
824
|
-
/*
|
|
825
|
-
* Copyright (c) 2015 NAVER Corp.
|
|
826
|
-
* egjs projects are licensed under the MIT license
|
|
836
|
+
/*
|
|
837
|
+
* Copyright (c) 2015 NAVER Corp.
|
|
838
|
+
* egjs projects are licensed under the MIT license
|
|
827
839
|
*/
|
|
828
840
|
Flicking.ViewportSlot = ViewportSlot;
|
|
829
841
|
|
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 cameraClass: \"\",\n renderOnSameKey: false,\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 { flushSync } from \"react-dom\";\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 { flushSync } from \"react-dom\";\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 _prevChildren: React.ReactElement[];\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 const children = this._getChildren();\n this._panels = this._createPanelRefs(props, children);\n this._prevChildren = children;\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._prevChildren = children;\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\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 const prevChildren = this._prevChildren;\n const nextChildren = this._getChildren(children);\n if (nextProps.renderOnSameKey || !this._hasSameChildren(prevChildren, nextChildren)) return true;\n\n return false;\n }\n\n public beforeRender() {\n const vanillaFlicking = this._vanillaFlicking;\n const props = this.props;\n const prevChildren = this._prevChildren;\n\n // Ignore updates before init, they will be updated after \"ready\" event's force update\n if (!vanillaFlicking || !vanillaFlicking.initialized) return;\n\n const nextChildren = this._getChildren(props.children);\n if (props.renderOnSameKey || !this._hasSameChildren(prevChildren, nextChildren)) {\n this._panels = this._createPanelRefs(props, nextChildren);\n this._diffResult = this._jsxDiffer.update(nextChildren);\n this._prevChildren = 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 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(prevChildren: React.ReactElement[], nextChildren: React.ReactElement[]) {\n if (prevChildren.length !== nextChildren.length || prevChildren.length === 0) return false;\n\n const same = prevChildren.every((child, idx) => {\n const nextChild = nextChildren[idx];\n\n console.log(child, nextChild);\n\n if (child.key && nextChild.key) {\n return child.key === nextChild.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","renderOnSameKey","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","_getChildren","_createPanelRefs","_prevChildren","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","restProps","prevChildren","nextChildren","_hasSameChildren","_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","same","every","child","idx","nextChild","console","log","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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"}
|
|
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 renderOnSameKey: false,\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 RenderingState {\n NONE,\n RENDERED,\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 _prevChildren: React.ReactElement[];\n /**\n * The Purpose of \"Rendering State\" is:\n * In some cases, like in <StrictMode>, React attempts to render twice without calling `componentDidUpdate`.\n * We ignore the diff update between the two rendering calls, using this rendering state.\n */\n private _renderingState: RenderingState;\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 const children = this._getChildren();\n this._panels = this._createPanelRefs(props, children);\n this._prevChildren = children;\n this._renderingState = RenderingState.NONE;\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._prevChildren = children;\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\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 const prevChildren = this._prevChildren;\n const nextChildren = this._getChildren(children);\n if (nextProps.renderOnSameKey || !this._hasSameChildren(prevChildren, nextChildren)) return true;\n\n return false;\n }\n\n public beforeRender() {\n const vanillaFlicking = this._vanillaFlicking;\n const props = this.props;\n const prevChildren = this._prevChildren;\n\n // Ignore updates before init, they will be updated after \"ready\" event's force update\n // Also, ignore update between two successive rendering calls\n if (!vanillaFlicking || !vanillaFlicking.initialized || this._renderingState === RenderingState.RENDERED) return;\n\n const nextChildren = this._getChildren(props.children);\n if (props.renderOnSameKey || !this._hasSameChildren(prevChildren, nextChildren)) {\n this._panels = this._createPanelRefs(props, nextChildren);\n this._diffResult = this._jsxDiffer.update(nextChildren);\n this._prevChildren = 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._renderingState = RenderingState.UPDATED;\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._renderingState = RenderingState.RENDERED;\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(prevChildren: React.ReactElement[], nextChildren: React.ReactElement[]) {\n if (prevChildren.length !== nextChildren.length || prevChildren.length === 0) return false;\n\n const same = prevChildren.every((child, idx) => {\n const nextChild = nextChildren[idx];\n\n console.log(child, nextChild);\n\n if (child.key && nextChild.key) {\n return child.key === nextChild.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","renderOnSameKey","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","RenderingState","_getChildren","_createPanelRefs","_prevChildren","_renderingState","NONE","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","restProps","prevChildren","nextChildren","_hasSameChildren","RENDERED","_diffResult","update","diffResult","trigger","camera","updateOffset","sync","UPDATED","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","same","every","child","idx","nextChild","console","log","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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"}
|