@egjs/react-flicking 4.16.0-beta.1 → 4.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env +1 -0
- package/package.json +3 -3
- package/dev/archive/App.css +0 -32
- package/dev/archive/App.tsx +0 -52
- package/dev/archive/DebugPage.css +0 -21
- package/dev/archive/DebugPage.tsx +0 -93
- package/dev/archive/Header.tsx +0 -52
- package/dev/archive/StatePage.css +0 -21
- package/dev/archive/StatePage.tsx +0 -107
- package/dev/archive/css/align.css +0 -79
- package/dev/archive/css/bound.css +0 -88
- package/dev/archive/css/common.css +0 -76
- package/dev/archive/css/cross.css +0 -21
- package/dev/archive/css/features.css +0 -49
- package/dev/archive/css/gap.css +0 -13
- package/dev/archive/css/highlight.css +0 -96
- package/dev/archive/css/infinite.css +0 -35
- package/dev/archive/css/parallax.css +0 -3
- package/dev/archive/css/plugins.css +0 -46
- package/dev/archive/css/progress.css +0 -16
- package/dev/archive/css/variable-size.css +0 -15
- package/dev/archive/features/Align.tsx +0 -149
- package/dev/archive/features/Bound.tsx +0 -83
- package/dev/archive/features/CrossFlicking.tsx +0 -74
- package/dev/archive/features/FreeScroll.tsx +0 -66
- package/dev/archive/features/InfiniteFlicking.tsx +0 -192
- package/dev/archive/features/PlaceHolderItem.tsx +0 -36
- package/dev/archive/features/Progress.tsx +0 -241
- package/dev/archive/features/PropChange.tsx +0 -171
- package/dev/archive/features/Snap.tsx +0 -95
- package/dev/archive/features/VariableSize.tsx +0 -42
- package/dev/archive/features/Virtual.tsx +0 -45
- package/dev/archive/plugins/Arrow.tsx +0 -25
- package/dev/archive/plugins/AutoPlay.tsx +0 -70
- package/dev/archive/plugins/Fade.tsx +0 -69
- package/dev/archive/plugins/Parallax.tsx +0 -70
- package/dev/archive/utils.ts +0 -3
- package/dev/basic-sample/App.tsx +0 -36
- package/dev/basic-sample/index.html +0 -12
- package/dev/basic-sample/main.tsx +0 -10
- package/dev/index.html +0 -18
- package/dev/plugin-check/App.tsx +0 -341
- package/dev/plugin-check/index.html +0 -15
- package/dev/plugin-check/main.tsx +0 -6
- package/dev/scratch/App.tsx +0 -34
- package/dev/scratch/index.html +0 -15
- package/dev/scratch/main.tsx +0 -13
- package/dev/tsconfig.json +0 -12
- package/dev/vite-env.d.ts +0 -3
- package/tsconfig.json +0 -23
- package/vite.config.ts +0 -38
- package/vite.dev.config.ts +0 -58
|
@@ -1,192 +0,0 @@
|
|
|
1
|
-
import Flicking from "@dev/react-flicking";
|
|
2
|
-
import * as React from "react";
|
|
3
|
-
import "../css/infinite.css";
|
|
4
|
-
import { insertCode } from "../utils";
|
|
5
|
-
import PlaceHolderItem from "./PlaceHolderItem";
|
|
6
|
-
|
|
7
|
-
export default class InfiniteFlicking extends React.Component<
|
|
8
|
-
{},
|
|
9
|
-
{ list0: number[]; list1: number[]; list2: number[] }
|
|
10
|
-
> {
|
|
11
|
-
public container?: HTMLElement;
|
|
12
|
-
public state = {
|
|
13
|
-
list0: [0, 1, 2, 3, 4],
|
|
14
|
-
list1: [0, 1, 2, 3, 4],
|
|
15
|
-
list2: [0, 1, 2, 3, 4]
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
public render() {
|
|
19
|
-
return (
|
|
20
|
-
<div id="infinite" className="container">
|
|
21
|
-
<h1>Infinite Flicking</h1>
|
|
22
|
-
<h2>Append & Prepend panel dynamically</h2>
|
|
23
|
-
<ul className="extra">
|
|
24
|
-
<li>You can dynamically add panels to the flicking.</li>
|
|
25
|
-
<li>The panel's indexes are zero-based integer.</li>
|
|
26
|
-
<li>Note: The number displayed above each panel is not panel's index.</li>
|
|
27
|
-
</ul>
|
|
28
|
-
<Flicking className="flicking flicking0" gap={10}>
|
|
29
|
-
{this.state.list0.map(num => {
|
|
30
|
-
return (
|
|
31
|
-
<div key={num} className={`infinite infinite${Math.abs(num) % 5}`}>
|
|
32
|
-
{num}
|
|
33
|
-
</div>
|
|
34
|
-
);
|
|
35
|
-
})}
|
|
36
|
-
</Flicking>
|
|
37
|
-
<div className="buttons">
|
|
38
|
-
<button
|
|
39
|
-
id="prepend"
|
|
40
|
-
onClick={_e =>
|
|
41
|
-
this.setState(state => {
|
|
42
|
-
const start = state.list0[0] || 0;
|
|
43
|
-
return { list0: [start - 2, start - 1, ...state.list0] };
|
|
44
|
-
})
|
|
45
|
-
}
|
|
46
|
-
>
|
|
47
|
-
{" "}
|
|
48
|
-
Prepend
|
|
49
|
-
</button>
|
|
50
|
-
<button
|
|
51
|
-
id="append"
|
|
52
|
-
onClick={_e =>
|
|
53
|
-
this.setState(state => {
|
|
54
|
-
const end = state.list0[state.list0.length - 1] || 0;
|
|
55
|
-
return { list0: [...state.list0, end + 1, end + 2] };
|
|
56
|
-
})
|
|
57
|
-
}
|
|
58
|
-
>
|
|
59
|
-
Append
|
|
60
|
-
</button>
|
|
61
|
-
</div>
|
|
62
|
-
<pre>
|
|
63
|
-
<code className="hljs html" data-script="flicking0"></code>
|
|
64
|
-
</pre>
|
|
65
|
-
<h2>infinite: true & needPanel event</h2>
|
|
66
|
-
<ul className="extra">
|
|
67
|
-
<li>
|
|
68
|
-
Enabling the infinite option can make <strong>needPanel</strong> event to be triggered when more panels at
|
|
69
|
-
moving direction should be fetched within <strong>infiniteThreshold</strong> value.
|
|
70
|
-
</li>
|
|
71
|
-
</ul>
|
|
72
|
-
<Flicking
|
|
73
|
-
className="flicking flicking1"
|
|
74
|
-
gap={10}
|
|
75
|
-
needPanelThreshold={50}
|
|
76
|
-
onNeedPanel={e => {
|
|
77
|
-
if (e.direction !== "NEXT") return;
|
|
78
|
-
|
|
79
|
-
this.setState(state => {
|
|
80
|
-
const end = state.list1[state.list1.length - 1] || 0;
|
|
81
|
-
|
|
82
|
-
return { list1: [...state.list1, end + 1, end + 2] };
|
|
83
|
-
});
|
|
84
|
-
}}
|
|
85
|
-
>
|
|
86
|
-
{this.state.list1.map(num => {
|
|
87
|
-
return (
|
|
88
|
-
<div key={num} className={`infinite infinite${Math.abs(num) % 5}`}>
|
|
89
|
-
{num}
|
|
90
|
-
</div>
|
|
91
|
-
);
|
|
92
|
-
})}
|
|
93
|
-
</Flicking>
|
|
94
|
-
<pre>
|
|
95
|
-
<code className="hljs html" data-script="flicking1"></code>
|
|
96
|
-
</pre>
|
|
97
|
-
<h2>infinite: true & placeholder</h2>
|
|
98
|
-
<ul className="extra">
|
|
99
|
-
<li>
|
|
100
|
-
You can make continuous carousel UI with asynchronous data by adding placeholder panel first, then update
|
|
101
|
-
panel with fetched data later.
|
|
102
|
-
</li>
|
|
103
|
-
</ul>
|
|
104
|
-
<Flicking
|
|
105
|
-
className="flicking flicking2"
|
|
106
|
-
gap={10}
|
|
107
|
-
moveType={"freeScroll"}
|
|
108
|
-
onNeedPanel={e => {
|
|
109
|
-
if (e.direction !== "NEXT") return;
|
|
110
|
-
|
|
111
|
-
this.setState(state => {
|
|
112
|
-
const end = state.list2[state.list2.length - 1] || 0;
|
|
113
|
-
|
|
114
|
-
return { list2: [...state.list2, end + 1, end + 2] };
|
|
115
|
-
});
|
|
116
|
-
}}
|
|
117
|
-
>
|
|
118
|
-
{this.state.list2.map(num => {
|
|
119
|
-
return <PlaceHolderItem key={num} num={num} />;
|
|
120
|
-
})}
|
|
121
|
-
</Flicking>
|
|
122
|
-
<pre>
|
|
123
|
-
<code className="hljs html" data-script="flicking2"></code>
|
|
124
|
-
</pre>
|
|
125
|
-
</div>
|
|
126
|
-
);
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
public componentDidMount() {
|
|
130
|
-
insertCode(
|
|
131
|
-
"infinite",
|
|
132
|
-
0,
|
|
133
|
-
`
|
|
134
|
-
<Flicking className="flicking flicking0" gap={10}>
|
|
135
|
-
{this.state.list0.map(num => {
|
|
136
|
-
return <div key={num} className={"infinite infinite" + Math.abs(num) % 5}>{num}</div>;
|
|
137
|
-
})}
|
|
138
|
-
</Flicking>
|
|
139
|
-
<div className="buttons">
|
|
140
|
-
<button id="prepend" onClick={e => this.setState(state => {
|
|
141
|
-
const start = state.list0[0] || 0;
|
|
142
|
-
return { list0: [start - 2, start - 1, ...state.list0] };
|
|
143
|
-
})}> Prepend</button>
|
|
144
|
-
<button id="append" onClick={e => this.setState(state => {
|
|
145
|
-
const end = state.list0[state.list0.length - 1] || 0;
|
|
146
|
-
return { list0: [...state.list0, end + 1, end + 2] };
|
|
147
|
-
})}>Append</button>
|
|
148
|
-
</div>
|
|
149
|
-
`
|
|
150
|
-
);
|
|
151
|
-
insertCode(
|
|
152
|
-
"infinite",
|
|
153
|
-
1,
|
|
154
|
-
`
|
|
155
|
-
<Flicking
|
|
156
|
-
className="flicking flicking1" gap={10} infiniteThreshold={50}
|
|
157
|
-
onNeedPanel={() => {
|
|
158
|
-
this.setState(state => {
|
|
159
|
-
const end = state.list1[state.list1.length - 1] || 0;
|
|
160
|
-
|
|
161
|
-
return { list1: [...state.list1, end + 1, end + 2] };
|
|
162
|
-
});
|
|
163
|
-
}}
|
|
164
|
-
>
|
|
165
|
-
{this.state.list1.map(num => {
|
|
166
|
-
return <div key={num} className={"infinite infinite" + Math.abs(num) % 5}>{num}</div>;
|
|
167
|
-
})}
|
|
168
|
-
</Flicking>
|
|
169
|
-
`
|
|
170
|
-
);
|
|
171
|
-
insertCode(
|
|
172
|
-
"infinite",
|
|
173
|
-
2,
|
|
174
|
-
`
|
|
175
|
-
<Flicking
|
|
176
|
-
className="flicking flicking2" gap={10} moveType={"freeScroll"}
|
|
177
|
-
onNeedPanel={() => {
|
|
178
|
-
this.setState(state => {
|
|
179
|
-
const end = state.list2[state.list2.length - 1] || 0;
|
|
180
|
-
|
|
181
|
-
return { list2: [...state.list2, end + 1, end + 2] };
|
|
182
|
-
});
|
|
183
|
-
}}
|
|
184
|
-
>
|
|
185
|
-
{this.state.list2.map(num => {
|
|
186
|
-
return <PlaceHolderItem key={num} num={num} />;
|
|
187
|
-
})}
|
|
188
|
-
</Flicking>
|
|
189
|
-
`
|
|
190
|
-
);
|
|
191
|
-
}
|
|
192
|
-
}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
|
|
3
|
-
class PlaceHolderItem extends React.Component<{ num: number; domRef: React.Ref<HTMLDivElement> }, { loaded: boolean }> {
|
|
4
|
-
public state = {
|
|
5
|
-
loaded: false
|
|
6
|
-
};
|
|
7
|
-
|
|
8
|
-
private _timer: number = -1;
|
|
9
|
-
|
|
10
|
-
public render() {
|
|
11
|
-
const num = this.props.num;
|
|
12
|
-
const loaded = this.state.loaded;
|
|
13
|
-
return (
|
|
14
|
-
<div
|
|
15
|
-
ref={this.props.domRef}
|
|
16
|
-
className={`infinite infinite${Math.abs(num) % 5} ${loaded ? "" : "placeholder"} flicking-panel`}
|
|
17
|
-
>
|
|
18
|
-
{num}
|
|
19
|
-
</div>
|
|
20
|
-
);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
public componentDidMount() {
|
|
24
|
-
this._timer = window.setTimeout(() => {
|
|
25
|
-
this.setState({ loaded: true });
|
|
26
|
-
}, 1500);
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
public componentWillUnmount() {
|
|
30
|
-
clearTimeout(this._timer);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
export default React.forwardRef<HTMLDivElement, { num: number }>((props, ref) => (
|
|
35
|
-
<PlaceHolderItem domRef={ref} {...props} />
|
|
36
|
-
));
|
|
@@ -1,241 +0,0 @@
|
|
|
1
|
-
import Flicking from "@dev/react-flicking";
|
|
2
|
-
import * as React from "react";
|
|
3
|
-
import { insertCode } from "../utils";
|
|
4
|
-
import "../css/progress.css";
|
|
5
|
-
|
|
6
|
-
export default class Progress extends React.Component<{}> {
|
|
7
|
-
private thumb: HTMLElement;
|
|
8
|
-
private flicking1: Flicking;
|
|
9
|
-
private flicking2: Flicking;
|
|
10
|
-
private flicking3: Flicking;
|
|
11
|
-
public render() {
|
|
12
|
-
return (
|
|
13
|
-
<div id="progress" className="container">
|
|
14
|
-
<h1>e.progress</h1>
|
|
15
|
-
<ul className="extra">
|
|
16
|
-
<li>Indicates the overall progress of the Flicking.</li>
|
|
17
|
-
</ul>
|
|
18
|
-
<Flicking
|
|
19
|
-
className="flicking flicking0"
|
|
20
|
-
gap={10}
|
|
21
|
-
circular={true}
|
|
22
|
-
moveType="snap"
|
|
23
|
-
onMove={e => {
|
|
24
|
-
const progress =
|
|
25
|
-
Math.min(Math.max(-e.currentTarget.panels[0].progress, 0), e.currentTarget.panelCount - 1) /
|
|
26
|
-
(e.currentTarget.panelCount - 1);
|
|
27
|
-
|
|
28
|
-
this.thumb.style.width = `${progress * 100}%`;
|
|
29
|
-
}}
|
|
30
|
-
>
|
|
31
|
-
<div className="panel panel0"></div>
|
|
32
|
-
<div className="panel panel1"></div>
|
|
33
|
-
<div className="panel panel2"></div>
|
|
34
|
-
<div className="panel panel3"></div>
|
|
35
|
-
<div className="panel panel4"></div>
|
|
36
|
-
</Flicking>
|
|
37
|
-
<div className="progress">
|
|
38
|
-
<div
|
|
39
|
-
className="thumb"
|
|
40
|
-
ref={e => {
|
|
41
|
-
this.thumb = e as HTMLElement;
|
|
42
|
-
}}
|
|
43
|
-
></div>
|
|
44
|
-
</div>
|
|
45
|
-
<pre>
|
|
46
|
-
<code className="hljs html" data-script="flicking0"></code>
|
|
47
|
-
</pre>
|
|
48
|
-
<h1>panel.getProgress()</h1>
|
|
49
|
-
<ul className="extra">
|
|
50
|
-
<li>Indicates the progress of the relative index of each panel.</li>
|
|
51
|
-
</ul>
|
|
52
|
-
<Flicking
|
|
53
|
-
className="flicking flicking1"
|
|
54
|
-
gap={10}
|
|
55
|
-
circular={true}
|
|
56
|
-
moveType="snap"
|
|
57
|
-
ref={e => {
|
|
58
|
-
this.flicking1 = e as Flicking;
|
|
59
|
-
}}
|
|
60
|
-
onMove={e => {
|
|
61
|
-
const flicking = e.currentTarget;
|
|
62
|
-
|
|
63
|
-
flicking.panels.forEach(panel => {
|
|
64
|
-
panel.element.innerHTML = panel.progress.toFixed(2);
|
|
65
|
-
});
|
|
66
|
-
}}
|
|
67
|
-
>
|
|
68
|
-
<div className="panel panel0"></div>
|
|
69
|
-
<div className="panel panel1"></div>
|
|
70
|
-
<div className="panel panel2"></div>
|
|
71
|
-
<div className="panel panel3"></div>
|
|
72
|
-
<div className="panel panel4"></div>
|
|
73
|
-
</Flicking>
|
|
74
|
-
<div className="pagination pagination1"></div>
|
|
75
|
-
<pre>
|
|
76
|
-
<code className="hljs html" data-script="flicking1"></code>
|
|
77
|
-
</pre>
|
|
78
|
-
|
|
79
|
-
<h1>panel.getOutsetProgress()</h1>
|
|
80
|
-
<ul className="extra">
|
|
81
|
-
<li>
|
|
82
|
-
When panel is completely invisible, outsetProgress becomes -1 at left(up), 1 at right(down) direction, and 0
|
|
83
|
-
when panel's anchor and hanger is overlapped.
|
|
84
|
-
</li>
|
|
85
|
-
</ul>
|
|
86
|
-
<Flicking
|
|
87
|
-
className="flicking flicking2"
|
|
88
|
-
gap={10}
|
|
89
|
-
circular={true}
|
|
90
|
-
moveType="snap"
|
|
91
|
-
ref={e => {
|
|
92
|
-
this.flicking2 = e as Flicking;
|
|
93
|
-
}}
|
|
94
|
-
onMove={e => {
|
|
95
|
-
const flicking = e.currentTarget;
|
|
96
|
-
|
|
97
|
-
flicking.panels.forEach(panel => {
|
|
98
|
-
panel.element.innerHTML = panel.outsetProgress.toFixed(2);
|
|
99
|
-
});
|
|
100
|
-
}}
|
|
101
|
-
>
|
|
102
|
-
<div className="panel panel0"></div>
|
|
103
|
-
<div className="panel panel1"></div>
|
|
104
|
-
<div className="panel panel2"></div>
|
|
105
|
-
<div className="panel panel3"></div>
|
|
106
|
-
<div className="panel panel4"></div>
|
|
107
|
-
</Flicking>
|
|
108
|
-
<div className="pagination pagination2"></div>
|
|
109
|
-
<pre>
|
|
110
|
-
<code className="hljs html" data-script="flicking2"></code>
|
|
111
|
-
</pre>
|
|
112
|
-
|
|
113
|
-
<h1>panel.getVisibleRatio()</h1>
|
|
114
|
-
<ul className="extra">
|
|
115
|
-
<li>Indicates the percentage of areas within the viewport that the panel occupies.</li>
|
|
116
|
-
</ul>
|
|
117
|
-
<Flicking
|
|
118
|
-
className="flicking flicking3"
|
|
119
|
-
gap={10}
|
|
120
|
-
circular={true}
|
|
121
|
-
moveType="snap"
|
|
122
|
-
ref={e => {
|
|
123
|
-
this.flicking3 = e as Flicking;
|
|
124
|
-
}}
|
|
125
|
-
onMove={e => {
|
|
126
|
-
const flicking = e.currentTarget;
|
|
127
|
-
|
|
128
|
-
flicking.panels.forEach(panel => {
|
|
129
|
-
panel.element.innerHTML = panel.visibleRatio.toFixed(2);
|
|
130
|
-
});
|
|
131
|
-
}}
|
|
132
|
-
>
|
|
133
|
-
<div className="panel panel0"></div>
|
|
134
|
-
<div className="panel panel1"></div>
|
|
135
|
-
<div className="panel panel2"></div>
|
|
136
|
-
<div className="panel panel3"></div>
|
|
137
|
-
<div className="panel panel4"></div>
|
|
138
|
-
</Flicking>
|
|
139
|
-
<div className="pagination pagination3"></div>
|
|
140
|
-
<pre>
|
|
141
|
-
<code className="hljs html" data-script="flicking3"></code>
|
|
142
|
-
</pre>
|
|
143
|
-
</div>
|
|
144
|
-
);
|
|
145
|
-
}
|
|
146
|
-
public componentDidMount() {
|
|
147
|
-
// this.flicking1.getAllPanels(true).forEach(panel => {
|
|
148
|
-
// panel.getElement().innerHTML = panel.getVisibleRatio().toFixed(2);
|
|
149
|
-
// });
|
|
150
|
-
// this.flicking2.getAllPanels(true).forEach(panel => {
|
|
151
|
-
// panel.getElement().innerHTML = panel.getOutsetProgress().toFixed(2);
|
|
152
|
-
// });
|
|
153
|
-
// this.flicking3.getAllPanels(true).forEach(panel => {
|
|
154
|
-
// panel.getElement().innerHTML = panel.getVisibleRatio().toFixed(2);
|
|
155
|
-
// });
|
|
156
|
-
insertCode(
|
|
157
|
-
"progress",
|
|
158
|
-
0,
|
|
159
|
-
`
|
|
160
|
-
<Flicking className="flicking flicking0"
|
|
161
|
-
gap={10}
|
|
162
|
-
circular={true}
|
|
163
|
-
moveType={{type: "snap", count: 5}}
|
|
164
|
-
onMove={e => {
|
|
165
|
-
this.thumb.style.width = (e.progress * 100) + "%";
|
|
166
|
-
}}>
|
|
167
|
-
<div className="panel"></div>
|
|
168
|
-
<div className="panel"></div>
|
|
169
|
-
<div className="panel"></div>
|
|
170
|
-
<div className="panel"></div>
|
|
171
|
-
<div className="panel"></div>
|
|
172
|
-
</Flicking>`
|
|
173
|
-
);
|
|
174
|
-
insertCode(
|
|
175
|
-
"progress",
|
|
176
|
-
1,
|
|
177
|
-
`
|
|
178
|
-
<Flicking className="flicking flicking1"
|
|
179
|
-
gap={10}
|
|
180
|
-
circular={true}
|
|
181
|
-
moveType={{type: "snap", count: 5}}
|
|
182
|
-
onMove={e => {
|
|
183
|
-
const flicking = e.currentTarget;
|
|
184
|
-
|
|
185
|
-
flicking.getAllPanels(true).forEach(panel => {
|
|
186
|
-
panel.getElement().innerHTML = panel.getProgress().toFixed(2);
|
|
187
|
-
});
|
|
188
|
-
}}>
|
|
189
|
-
<div className="panel"></div>
|
|
190
|
-
<div className="panel"></div>
|
|
191
|
-
<div className="panel"></div>
|
|
192
|
-
<div className="panel"></div>
|
|
193
|
-
<div className="panel"></div>
|
|
194
|
-
</Flicking>`
|
|
195
|
-
);
|
|
196
|
-
insertCode(
|
|
197
|
-
"progress",
|
|
198
|
-
2,
|
|
199
|
-
`
|
|
200
|
-
<Flicking className="flicking flicking2"
|
|
201
|
-
gap={10}
|
|
202
|
-
circular={true}
|
|
203
|
-
moveType={{type: "snap", count: 5}}
|
|
204
|
-
onMove={e => {
|
|
205
|
-
const flicking = e.currentTarget;
|
|
206
|
-
|
|
207
|
-
flicking.getAllPanels(true).forEach(panel => {
|
|
208
|
-
panel.getElement().innerHTML = panel.getOutsetProgress().toFixed(2);
|
|
209
|
-
});
|
|
210
|
-
}}>
|
|
211
|
-
<div className="panel"></div>
|
|
212
|
-
<div className="panel"></div>
|
|
213
|
-
<div className="panel"></div>
|
|
214
|
-
<div className="panel"></div>
|
|
215
|
-
<div className="panel"></div>
|
|
216
|
-
</Flicking>`
|
|
217
|
-
);
|
|
218
|
-
insertCode(
|
|
219
|
-
"progress",
|
|
220
|
-
3,
|
|
221
|
-
`
|
|
222
|
-
<Flicking className="flicking flicking3"
|
|
223
|
-
gap={10}
|
|
224
|
-
circular={true}
|
|
225
|
-
moveType={{type: "snap", count: 5}}
|
|
226
|
-
onMove={e => {
|
|
227
|
-
const flicking = e.currentTarget;
|
|
228
|
-
|
|
229
|
-
flicking.getAllPanels(true).forEach(panel => {
|
|
230
|
-
panel.getElement().innerHTML = panel.getVisibleRatio().toFixed(2);
|
|
231
|
-
});
|
|
232
|
-
}}>
|
|
233
|
-
<div className="panel"></div>
|
|
234
|
-
<div className="panel"></div>
|
|
235
|
-
<div className="panel"></div>
|
|
236
|
-
<div className="panel"></div>
|
|
237
|
-
<div className="panel"></div>
|
|
238
|
-
</Flicking>`
|
|
239
|
-
);
|
|
240
|
-
}
|
|
241
|
-
}
|
|
@@ -1,171 +0,0 @@
|
|
|
1
|
-
import Flicking from "@dev/react-flicking";
|
|
2
|
-
import * as React from "react";
|
|
3
|
-
|
|
4
|
-
export default class PropChange extends React.Component<{}, Record<string, any>> {
|
|
5
|
-
public constructor(props) {
|
|
6
|
-
super(props);
|
|
7
|
-
|
|
8
|
-
this.state = {
|
|
9
|
-
align: 0,
|
|
10
|
-
panelsPerView: 5,
|
|
11
|
-
horizontal: true,
|
|
12
|
-
circular: true,
|
|
13
|
-
bound: true,
|
|
14
|
-
adaptive: true,
|
|
15
|
-
noPanelStyleOverride: true,
|
|
16
|
-
moveType: "snap"
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
public render() {
|
|
21
|
-
return (
|
|
22
|
-
<div className="container">
|
|
23
|
-
<h1>align</h1>
|
|
24
|
-
<Flicking className="flicking" align={`${this.state.align}%`}>
|
|
25
|
-
<div className="panel panel0"></div>
|
|
26
|
-
<div className="panel panel1"></div>
|
|
27
|
-
<div className="panel panel2"></div>
|
|
28
|
-
<div className="panel panel3"></div>
|
|
29
|
-
<div className="panel panel4"></div>
|
|
30
|
-
</Flicking>
|
|
31
|
-
<button
|
|
32
|
-
onClick={() => {
|
|
33
|
-
this.setState({ align: (this.state.align + 50) % 150 });
|
|
34
|
-
}}
|
|
35
|
-
>
|
|
36
|
-
Change
|
|
37
|
-
</button>
|
|
38
|
-
|
|
39
|
-
<h1>horizontal</h1>
|
|
40
|
-
<Flicking className="flicking" horizontal={this.state.horizontal}>
|
|
41
|
-
<div className="panel panel0"></div>
|
|
42
|
-
<div className="panel panel1"></div>
|
|
43
|
-
<div className="panel panel2"></div>
|
|
44
|
-
<div className="panel panel3"></div>
|
|
45
|
-
<div className="panel panel4"></div>
|
|
46
|
-
</Flicking>
|
|
47
|
-
<button
|
|
48
|
-
onClick={() => {
|
|
49
|
-
this.setState({ horizontal: !this.state.horizontal });
|
|
50
|
-
}}
|
|
51
|
-
>
|
|
52
|
-
Change
|
|
53
|
-
</button>
|
|
54
|
-
|
|
55
|
-
<h1>circular</h1>
|
|
56
|
-
<Flicking className="flicking" circular={this.state.circular}>
|
|
57
|
-
<div className="panel panel0"></div>
|
|
58
|
-
<div className="panel panel1"></div>
|
|
59
|
-
<div className="panel panel2"></div>
|
|
60
|
-
<div className="panel panel3"></div>
|
|
61
|
-
<div className="panel panel4"></div>
|
|
62
|
-
</Flicking>
|
|
63
|
-
<button
|
|
64
|
-
onClick={() => {
|
|
65
|
-
this.setState({ circular: !this.state.circular });
|
|
66
|
-
}}
|
|
67
|
-
>
|
|
68
|
-
Change
|
|
69
|
-
</button>
|
|
70
|
-
|
|
71
|
-
<h1>bound</h1>
|
|
72
|
-
<Flicking className="flicking" bound={this.state.bound}>
|
|
73
|
-
<div className="panel panel0"></div>
|
|
74
|
-
<div className="panel panel1"></div>
|
|
75
|
-
<div className="panel panel2"></div>
|
|
76
|
-
<div className="panel panel3"></div>
|
|
77
|
-
<div className="panel panel4"></div>
|
|
78
|
-
</Flicking>
|
|
79
|
-
<button
|
|
80
|
-
onClick={() => {
|
|
81
|
-
this.setState({ bound: !this.state.bound });
|
|
82
|
-
}}
|
|
83
|
-
>
|
|
84
|
-
Change
|
|
85
|
-
</button>
|
|
86
|
-
|
|
87
|
-
<h1>adaptive</h1>
|
|
88
|
-
<Flicking className="flicking" adaptive={this.state.adaptive}>
|
|
89
|
-
<div className="panel panel0" style={{ height: "200px" }}></div>
|
|
90
|
-
<div className="panel panel1" style={{ height: "300px" }}></div>
|
|
91
|
-
<div className="panel panel2" style={{ height: "400px" }}></div>
|
|
92
|
-
<div className="panel panel3" style={{ height: "500px" }}></div>
|
|
93
|
-
<div className="panel panel4" style={{ height: "600px" }}></div>
|
|
94
|
-
</Flicking>
|
|
95
|
-
<button
|
|
96
|
-
onClick={() => {
|
|
97
|
-
this.setState({ adaptive: !this.state.adaptive });
|
|
98
|
-
}}
|
|
99
|
-
>
|
|
100
|
-
Change
|
|
101
|
-
</button>
|
|
102
|
-
|
|
103
|
-
<h1>panelsPerView</h1>
|
|
104
|
-
<Flicking className="flicking" panelsPerView={this.state.panelsPerView}>
|
|
105
|
-
<div className="panel panel0"></div>
|
|
106
|
-
<div className="panel panel1"></div>
|
|
107
|
-
<div className="panel panel2"></div>
|
|
108
|
-
<div className="panel panel3"></div>
|
|
109
|
-
<div className="panel panel4"></div>
|
|
110
|
-
</Flicking>
|
|
111
|
-
<button
|
|
112
|
-
onClick={() => {
|
|
113
|
-
this.setState({ panelsPerView: this.state.panelsPerView - 1 });
|
|
114
|
-
}}
|
|
115
|
-
>
|
|
116
|
-
Change
|
|
117
|
-
</button>
|
|
118
|
-
|
|
119
|
-
<h1>noPanelStyleOverride</h1>
|
|
120
|
-
<Flicking className="flicking" panelsPerView={5} noPanelStyleOverride={this.state.noPanelStyleOverride}>
|
|
121
|
-
<div className="panel panel0"></div>
|
|
122
|
-
<div className="panel panel1"></div>
|
|
123
|
-
<div className="panel panel2"></div>
|
|
124
|
-
<div className="panel panel3"></div>
|
|
125
|
-
<div className="panel panel4"></div>
|
|
126
|
-
</Flicking>
|
|
127
|
-
<button
|
|
128
|
-
onClick={() => {
|
|
129
|
-
this.setState({ noPanelStyleOverride: !this.state.noPanelStyleOverride });
|
|
130
|
-
}}
|
|
131
|
-
>
|
|
132
|
-
Change
|
|
133
|
-
</button>
|
|
134
|
-
|
|
135
|
-
<h1>moveType</h1>
|
|
136
|
-
<Flicking className="flicking" moveType={this.state.moveType}>
|
|
137
|
-
<div className="panel panel0"></div>
|
|
138
|
-
<div className="panel panel1"></div>
|
|
139
|
-
<div className="panel panel2"></div>
|
|
140
|
-
<div className="panel panel3"></div>
|
|
141
|
-
<div className="panel panel4"></div>
|
|
142
|
-
</Flicking>
|
|
143
|
-
<button
|
|
144
|
-
onClick={() => {
|
|
145
|
-
this.setState({ moveType: this.state.moveType === "snap" ? "freeScroll" : "snap" });
|
|
146
|
-
}}
|
|
147
|
-
>
|
|
148
|
-
Change
|
|
149
|
-
</button>
|
|
150
|
-
|
|
151
|
-
<h1>moveType</h1>
|
|
152
|
-
<Flicking className="flicking" moveType={this.state.moveType}>
|
|
153
|
-
<div className="panel panel0"></div>
|
|
154
|
-
<div className="panel panel1"></div>
|
|
155
|
-
<div className="panel panel2"></div>
|
|
156
|
-
<div className="panel panel3"></div>
|
|
157
|
-
<div className="panel panel4"></div>
|
|
158
|
-
</Flicking>
|
|
159
|
-
<button
|
|
160
|
-
onClick={() => {
|
|
161
|
-
this.setState({ moveType: this.state.moveType === "snap" ? "freeScroll" : "snap" });
|
|
162
|
-
}}
|
|
163
|
-
>
|
|
164
|
-
Change
|
|
165
|
-
</button>
|
|
166
|
-
</div>
|
|
167
|
-
);
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
public componentDidMount() {}
|
|
171
|
-
}
|