reacthub-pixitweenjs 0.2.109-alpha.4 → 0.2.109-alpha.7
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/LICENSE +17 -17
- package/LICENSE.md +269 -21
- package/README.md +398 -38
- package/dist/assets/icon/transformericons/icons.d.ts +8 -0
- package/dist/components/PixiAudioSprite/PixiAudioSprite.d.ts +3 -0
- package/dist/components/PixiAudioSprite/PixiAudioSprite.stories.d.ts +4 -97
- package/dist/components/PixiGifSprite/PixiGifGsapSync.d.ts +3 -0
- package/dist/components/PixiGifSprite/PixiGifSprite.stories.d.ts +21 -11
- package/dist/components/PixiImageSprite/PixiImageSprite.d.ts +5 -1
- package/dist/components/PixiImageSprite/PixiImageSprite.stories.d.ts +23 -9
- package/dist/components/PixiLottieSprite/PixiLottieSprite.d.ts +3 -0
- package/dist/components/PixiLottieSprite/PixiLottieSprite.stories.d.ts +21 -11
- package/dist/components/PixiSVGSprite/PixiSvgPathSprite.d.ts +3 -0
- package/dist/components/PixiSVGSprite/PixiSvgPathSprite.stories.d.ts +19 -9
- package/dist/components/PixiSequence/PixiSequence.stories.d.ts +4 -4
- package/dist/components/PixiTextSprite/PixiTextSprite.d.ts +3 -0
- package/dist/components/PixiTextSprite/PixiTextSprite.stories.d.ts +19 -9
- package/dist/components/PixiUnifiedTransformer/PixiUnifiedTransformer.d.ts +26 -0
- package/dist/components/PixiUnifiedTransformer/index.d.ts +1 -0
- package/dist/components/PixiVideoSprite/PixiVideoSprite.d.ts +3 -0
- package/dist/components/PixiVideoSprite/PixiVideoSprite.stories.d.ts +24 -14
- package/dist/components/index.d.ts +1 -0
- package/dist/favicon.svg +41 -0
- package/dist/hocs/AbstractContainer.d.ts +16 -0
- package/dist/index.es.js +3198 -4488
- package/dist/index.umd.js +37 -37
- package/dist/pixitweenjs-logo-dark.svg +98 -0
- package/dist/pixitweenjs-logo.svg +97 -0
- package/dist/stories/Features/TimelineTest.stories.d.ts +3 -2
- package/package.json +24 -21
- package/dist/components/PixiTransformer/MenuIcons.d.ts +0 -40
- package/dist/components/PixiTransformer/MenuUtils.d.ts +0 -2
- package/dist/components/PixiTransformer/PixiColorPicker.d.ts +0 -14
- package/dist/components/PixiTransformer/PixiDropdownMenu.d.ts +0 -15
- package/dist/components/PixiTransformer/PixiMenuText.d.ts +0 -2
- package/dist/components/PixiTransformer/PixiTransformer.d.ts +0 -20
- package/dist/components/PixiTransformer/PixiTransformerMenu.d.ts +0 -9
- package/dist/components/PixiTransformer/Transformer.d.ts +0 -39
- package/dist/components/PixiTransformer/applyEventProps.d.ts +0 -10
- package/dist/components/PixiTransformer/index.d.ts +0 -1
package/README.md
CHANGED
|
@@ -1,61 +1,421 @@
|
|
|
1
|
-
<
|
|
2
|
-
Welcome to Reacthub PixiTweenJS
|
|
3
|
-
</h1>
|
|
1
|
+
<div align="center">
|
|
4
2
|
|
|
5
|
-
|
|
3
|
+
<picture>
|
|
4
|
+
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/khanzzirfan/reacthub-pixitweenjs/main/src/assets/svg/pixitweenjs-logo-dark.svg">
|
|
5
|
+
<source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/khanzzirfan/reacthub-pixitweenjs/main/src/assets/svg/pixitweenjs-logo.svg">
|
|
6
|
+
<img src="https://raw.githubusercontent.com/khanzzirfan/reacthub-pixitweenjs/main/src/assets/svg/pixitweenjs-logo.svg" alt="PixiTweenJS Logo" width="500">
|
|
7
|
+
</picture>
|
|
6
8
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
+
# ✨ Reacthub PixiTweenJS ✨
|
|
10
|
+
|
|
11
|
+
**A powerful library for creating stunning animated, time-controlled canvas elements in React using PixiJS, GSAP, and more**
|
|
12
|
+
|
|
13
|
+
[](https://www.npmjs.com/package/reacthub-pixitweenjs)
|
|
14
|
+
[](https://www.npmjs.com/package/reacthub-pixitweenjs)
|
|
15
|
+
[](LICENSE.md)
|
|
16
|
+
[](https://www.typescriptlang.org/)
|
|
17
|
+
[](https://reactjs.org/)
|
|
18
|
+
[](https://pixijs.com/)
|
|
19
|
+
[](https://greensock.com/gsap/)
|
|
20
|
+
|
|
21
|
+
<br>
|
|
22
|
+
|
|
23
|
+
<pre>
|
|
24
|
+
╔═══════════════════════════════════════════════════════════════════════════════╗
|
|
25
|
+
║ ║
|
|
26
|
+
║ ██████╗ ██╗██╗ ██╗██╗████████╗███████╗██╗ ██╗███████╗██████╗ ███╗ ║
|
|
27
|
+
║ ██╔══██╗██║╚██╗██╔╝██║╚══██╔══╝██╔════╝██║ ██║██╔════╝██╔══██╗████╗ ║
|
|
28
|
+
║ ██████╔╝██║ ╚███╔╝ ██║ ██║ █████╗ ██║ █╗ ██║█████╗ ██████╔╝██╔██╗ ║
|
|
29
|
+
║ ██╔═══╝ ██║ ██╔██╗ ██║ ██║ ██╔══╝ ██║███╗██║██╔══╝ ██╔══██╗██║╚██╗║
|
|
30
|
+
║ ██║ ██║██╔╝ ██╗██║ ██║ ███████╗╚███╔███╔╝███████╗██║ ██║██║ ╚█║║
|
|
31
|
+
║ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚══════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝║
|
|
32
|
+
║ ║
|
|
33
|
+
║ 🎬 Timeline-based animations | ⚡ WebGL powered | 🎨 Interactive ║
|
|
34
|
+
║ ║
|
|
35
|
+
╚═══════════════════════════════════════════════════════════════════════════════╝
|
|
36
|
+
</pre>
|
|
37
|
+
|
|
38
|
+
**[📖 Documentation](https://pixitweenjs.xyz/)** • **[🎮 Live Demo](https://pixitweenjs.xyz/)** • **[💬 Issues](https://github.com/khanzzirfan/reacthub-pixitweenjs/issues)** • **[🤝 Contributing](Contribution.md)**
|
|
39
|
+
|
|
40
|
+
</div>
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## 🌟 **Features**
|
|
45
|
+
|
|
46
|
+
<div align="center">
|
|
47
|
+
|
|
48
|
+
| Feature | Description |
|
|
49
|
+
| :--------------------------: | --------------------------------------------------- |
|
|
50
|
+
| 🎬 **Timeline Control** | Precise start/end time control for all elements |
|
|
51
|
+
| ⚡ **High Performance** | WebGL-accelerated rendering with PixiJS |
|
|
52
|
+
| 🎨 **Rich Media Support** | Images, Videos, Audio, GIFs, SVG, Lottie animations |
|
|
53
|
+
| ✏️ **Interactive Text** | Advanced typography with custom styling & effects |
|
|
54
|
+
| 🔄 **GSAP Integration** | Professional-grade animations & transitions |
|
|
55
|
+
| 🎛️ **Visual Transformation** | Drag, rotate, scale with intuitive transformer |
|
|
56
|
+
| 🎨 **Color Correction** | Temperature, HSL, blur, vignette & more filters |
|
|
57
|
+
| 🎭 **Particle Effects** | Build stunning visual effects |
|
|
58
|
+
| 🔊 **Audio Visualization** | Real-time waveform rendering |
|
|
59
|
+
| 📱 **Responsive** | Works seamlessly across devices |
|
|
60
|
+
| 🔧 **TypeScript** | Full type safety & IntelliSense |
|
|
61
|
+
| 🎯 **Composable** | Modular components for flexibility |
|
|
62
|
+
|
|
63
|
+
</div>
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## 🚀 **Quick Start**
|
|
68
|
+
|
|
69
|
+
### Installation
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
npm install reacthub-pixitweenjs
|
|
9
73
|
```
|
|
10
74
|
|
|
11
|
-
|
|
12
|
-
|
|
75
|
+
or
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
yarn add reacthub-pixitweenjs
|
|
13
79
|
```
|
|
14
80
|
|
|
15
|
-
|
|
81
|
+
### Required Dependencies
|
|
82
|
+
|
|
83
|
+
Make sure to install these peer dependencies:
|
|
16
84
|
|
|
17
|
-
```
|
|
18
|
-
npm install
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
85
|
+
```bash
|
|
86
|
+
npm install \
|
|
87
|
+
@pixi/gif@^2.1.0 \
|
|
88
|
+
@pixi/react@~7.1.0 \
|
|
89
|
+
@pixi/sound@^5.2.1 \
|
|
90
|
+
pixi-filters@^5.2.1 \
|
|
91
|
+
pixi-svg@^3.2.0 \
|
|
92
|
+
pixi.js@^7.2.3 \
|
|
93
|
+
gsap@3.11.5 \
|
|
94
|
+
howler@^2.2.3 \
|
|
95
|
+
lottie-web@^5.10.2 \
|
|
96
|
+
react-custom-events@^1.1.1 \
|
|
97
|
+
react@^18.2.0 \
|
|
98
|
+
react-dom@^18.2.0
|
|
29
99
|
```
|
|
30
100
|
|
|
31
|
-
|
|
101
|
+
### Basic Example
|
|
102
|
+
|
|
103
|
+
```tsx
|
|
104
|
+
import React from "react";
|
|
105
|
+
import { GsapPixieContextProvider } from "reacthub-pixitweenjs";
|
|
106
|
+
import { PixiStage } from "reacthub-pixitweenjs";
|
|
107
|
+
import { PixiSequence } from "reacthub-pixitweenjs";
|
|
108
|
+
import { PixiImageSprite } from "reacthub-pixitweenjs";
|
|
109
|
+
|
|
110
|
+
function MyAnimatedScene() {
|
|
111
|
+
return (
|
|
112
|
+
<GsapPixieContextProvider>
|
|
113
|
+
<PixiStage
|
|
114
|
+
width={1920}
|
|
115
|
+
height={1080}
|
|
116
|
+
options={{ backgroundColor: 0x2d2e3c }}
|
|
117
|
+
>
|
|
118
|
+
<PixiSequence startAt={0} endAt={10}>
|
|
119
|
+
<PixiImageSprite
|
|
120
|
+
uniqueId="hero-image"
|
|
121
|
+
src="https://example.com/image.jpg"
|
|
122
|
+
transformation={{
|
|
123
|
+
x: 960,
|
|
124
|
+
y: 540,
|
|
125
|
+
width: 800,
|
|
126
|
+
height: 600,
|
|
127
|
+
anchor: 0.5,
|
|
128
|
+
alpha: 1,
|
|
129
|
+
}}
|
|
130
|
+
startAt={0}
|
|
131
|
+
endAt={10}
|
|
132
|
+
/>
|
|
133
|
+
</PixiSequence>
|
|
134
|
+
</PixiStage>
|
|
135
|
+
</GsapPixieContextProvider>
|
|
136
|
+
);
|
|
137
|
+
}
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## 🎯 **Core Components**
|
|
143
|
+
|
|
144
|
+
### 🖼️ **PixiImageSprite**
|
|
145
|
+
|
|
146
|
+
Display images with advanced transformations and filters.
|
|
147
|
+
|
|
148
|
+
```tsx
|
|
149
|
+
<PixiImageSprite
|
|
150
|
+
src="path/to/image.jpg"
|
|
151
|
+
transformation={{
|
|
152
|
+
x: 100,
|
|
153
|
+
y: 100,
|
|
154
|
+
width: 400,
|
|
155
|
+
height: 300,
|
|
156
|
+
anchor: 0.5,
|
|
157
|
+
rotation: 0,
|
|
158
|
+
alpha: 1,
|
|
159
|
+
scale: 1,
|
|
160
|
+
colorCorrection: {
|
|
161
|
+
temperature: 6500,
|
|
162
|
+
contrast: 1,
|
|
163
|
+
saturation: 1,
|
|
164
|
+
blurRadius: 0,
|
|
165
|
+
},
|
|
166
|
+
}}
|
|
167
|
+
startAt={0}
|
|
168
|
+
endAt={5}
|
|
169
|
+
/>
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
### 🎬 **PixiVideoSprite**
|
|
173
|
+
|
|
174
|
+
Seamlessly integrate video with GSAP timeline synchronization.
|
|
175
|
+
|
|
176
|
+
```tsx
|
|
177
|
+
<PixiVideoSprite
|
|
178
|
+
src="path/to/video.mp4"
|
|
179
|
+
transformation={{ x: 0, y: 0, width: 1920, height: 1080, anchor: 0 }}
|
|
180
|
+
startAt={0}
|
|
181
|
+
endAt={30}
|
|
182
|
+
/>
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
### 🎵 **PixiAudioSprite**
|
|
186
|
+
|
|
187
|
+
Audio playback with real-time visualization support.
|
|
188
|
+
|
|
189
|
+
```tsx
|
|
190
|
+
<PixiAudioSprite
|
|
191
|
+
src="path/to/audio.mp3"
|
|
192
|
+
startAt={0}
|
|
193
|
+
endAt={20}
|
|
194
|
+
showWaveform={true}
|
|
195
|
+
/>
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
### ✏️ **PixiTextSprite**
|
|
199
|
+
|
|
200
|
+
Rich typography with custom fonts, colors, and effects.
|
|
201
|
+
|
|
202
|
+
```tsx
|
|
203
|
+
<PixiTextSprite
|
|
204
|
+
text="Hello, World!"
|
|
205
|
+
transformation={{
|
|
206
|
+
x: 500,
|
|
207
|
+
y: 300,
|
|
208
|
+
width: 400,
|
|
209
|
+
height: 100,
|
|
210
|
+
anchor: 0.5,
|
|
211
|
+
fontSize: 48,
|
|
212
|
+
fontFamily: "Arial",
|
|
213
|
+
fill: 0xffffff,
|
|
214
|
+
stroke: 0x000000,
|
|
215
|
+
strokeThickness: 2,
|
|
216
|
+
}}
|
|
217
|
+
startAt={0}
|
|
218
|
+
endAt={10}
|
|
219
|
+
/>
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
### 🎨 **PixiSVGSprite**
|
|
223
|
+
|
|
224
|
+
Vector graphics with full transformation support.
|
|
225
|
+
|
|
226
|
+
```tsx
|
|
227
|
+
<PixiSVGSprite
|
|
228
|
+
svgPath="M10,10 L100,10 L100,100 Z"
|
|
229
|
+
fill={0xff5733}
|
|
230
|
+
transformation={{ x: 200, y: 200, width: 100, height: 100, anchor: 0.5 }}
|
|
231
|
+
startAt={0}
|
|
232
|
+
endAt={10}
|
|
233
|
+
/>
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
### 🎪 **PixiGifSprite & PixiLottieSprite**
|
|
237
|
+
|
|
238
|
+
Animated GIFs and Lottie animations.
|
|
239
|
+
|
|
240
|
+
```tsx
|
|
241
|
+
<PixiGifSprite
|
|
242
|
+
src="animation.gif"
|
|
243
|
+
transformation={{ x: 400, y: 400, width: 200, height: 200, anchor: 0.5 }}
|
|
244
|
+
startAt={0}
|
|
245
|
+
endAt={15}
|
|
246
|
+
/>
|
|
247
|
+
|
|
248
|
+
<PixiLottieSprite
|
|
249
|
+
src="animation.json"
|
|
250
|
+
transformation={{ x: 600, y: 400, width: 300, height: 300, anchor: 0.5 }}
|
|
251
|
+
startAt={0}
|
|
252
|
+
endAt={10}
|
|
253
|
+
/>
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
### 🔄 **PixiSequence**
|
|
257
|
+
|
|
258
|
+
Time-based composition and sequencing.
|
|
259
|
+
|
|
260
|
+
```tsx
|
|
261
|
+
<PixiSequence startAt={0} endAt={30}>
|
|
262
|
+
<PixiImageSprite ... />
|
|
263
|
+
<PixiTextSprite ... />
|
|
264
|
+
<PixiVideoSprite ... />
|
|
265
|
+
</PixiSequence>
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
### 🎛️ **PixiTransformer**
|
|
269
|
+
|
|
270
|
+
Interactive element manipulation with visual handles.
|
|
271
|
+
|
|
272
|
+
```tsx
|
|
273
|
+
<PixiTransformer
|
|
274
|
+
pixiTransformerRef={transformerRef}
|
|
275
|
+
imageRef={imageRef}
|
|
276
|
+
transformCommit={handleTransform}
|
|
277
|
+
transformChange={handleChange}
|
|
278
|
+
/>
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
---
|
|
282
|
+
|
|
283
|
+
## 🎨 **Advanced Features**
|
|
284
|
+
|
|
285
|
+
### 🎞️ Timeline Composition
|
|
286
|
+
|
|
287
|
+
Create complex animations with precise timing:
|
|
288
|
+
|
|
289
|
+
```tsx
|
|
290
|
+
<PixiSequenceWrapper startAt={0} endAt={30}>
|
|
291
|
+
{/* Intro Sequence */}
|
|
292
|
+
<PixiSequence startAt={0} endAt={5}>
|
|
293
|
+
<PixiImageSprite startAt={0} endAt={5} ... />
|
|
294
|
+
</PixiSequence>
|
|
295
|
+
|
|
296
|
+
{/* Main Content */}
|
|
297
|
+
<PixiSequence startAt={5} endAt={25}>
|
|
298
|
+
<PixiVideoSprite startAt={5} endAt={25} ... />
|
|
299
|
+
<PixiTextSprite startAt={10} endAt={20} ... />
|
|
300
|
+
</PixiSequence>
|
|
301
|
+
|
|
302
|
+
{/* Outro Sequence */}
|
|
303
|
+
<PixiSequence startAt={25} endAt={30}>
|
|
304
|
+
<PixiImageSprite startAt={25} endAt={30} ... />
|
|
305
|
+
</PixiSequence>
|
|
306
|
+
</PixiSequenceWrapper>
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
### 🎨 Color Correction & Effects
|
|
310
|
+
|
|
311
|
+
Professional-grade image manipulation:
|
|
312
|
+
|
|
313
|
+
```tsx
|
|
314
|
+
transformation={{
|
|
315
|
+
colorCorrection: {
|
|
316
|
+
temperature: 6500, // White balance
|
|
317
|
+
contrast: 1.2, // Contrast adjustment
|
|
318
|
+
saturation: 1.5, // Color saturation
|
|
319
|
+
exposure: 0, // Brightness exposure
|
|
320
|
+
hue: 0, // Hue shift
|
|
321
|
+
blurRadius: 0, // Gaussian blur
|
|
322
|
+
sharpness: 1, // Edge sharpness
|
|
323
|
+
vignette: 0 // Vignette effect
|
|
324
|
+
},
|
|
325
|
+
effect: {
|
|
326
|
+
// Add particle effects, glows, etc.
|
|
327
|
+
}
|
|
328
|
+
}}
|
|
329
|
+
```
|
|
330
|
+
|
|
331
|
+
### 🔄 GSAP Animation Integration
|
|
332
|
+
|
|
333
|
+
Leverage the full power of GSAP:
|
|
334
|
+
|
|
335
|
+
```tsx
|
|
336
|
+
const { tl } = useContext(GsapPixieContext);
|
|
337
|
+
|
|
338
|
+
// Access the master timeline
|
|
339
|
+
tl.to(spriteRef, {
|
|
340
|
+
x: 1000,
|
|
341
|
+
y: 500,
|
|
342
|
+
rotation: 360,
|
|
343
|
+
duration: 5,
|
|
344
|
+
});
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
---
|
|
348
|
+
|
|
349
|
+
## 📚 **Documentation & Resources**
|
|
350
|
+
|
|
351
|
+
- **[📖 Complete Documentation](https://pixitweenjs.xyz/)** - Interactive Storybook docs
|
|
352
|
+
- **[🎮 Live Playground](https://pixitweenjs.xyz/)** - Try it online
|
|
353
|
+
- **[💡 Installation Guide](https://pixitweenjs.xyz/?path=/docs/getting-started-installation--docs)**
|
|
354
|
+
- **[🎬 Examples](https://pixitweenjs.xyz/?path=/docs/components-imagesprite--docs)**
|
|
355
|
+
|
|
356
|
+
---
|
|
357
|
+
|
|
358
|
+
## 🤝 **Contributing**
|
|
359
|
+
|
|
360
|
+
We welcome contributions! Please read our [Contributing Guide](Contribution.md) before submitting PRs.
|
|
361
|
+
|
|
362
|
+
---
|
|
363
|
+
|
|
364
|
+
## 📄 **License**
|
|
365
|
+
|
|
366
|
+
This library is licensed under the **Apache License 2.0** with additional terms. See [LICENSE.md](LICENSE.md) for complete terms.
|
|
367
|
+
|
|
368
|
+
> **📋 Quick Reference:** Apache 2.0 is an open-source license that allows commercial use, modification, distribution, patent use, private use, and sublicensing. See the full license for all terms and additional restrictions.
|
|
369
|
+
|
|
370
|
+
### What You Can Do
|
|
371
|
+
|
|
372
|
+
✅ **Permitted:**
|
|
373
|
+
|
|
374
|
+
- ✅ Commercial use in any project
|
|
375
|
+
- ✅ Modify and adapt the code
|
|
376
|
+
- ✅ Distribute and sublicense
|
|
377
|
+
- ✅ Private and internal use
|
|
378
|
+
- ✅ Patent grant included
|
|
379
|
+
- ✅ Place warranty
|
|
380
|
+
|
|
381
|
+
❌ **Additional Restrictions:**
|
|
382
|
+
|
|
383
|
+
- ❌ Must include copyright notice
|
|
384
|
+
- ❌ Cannot remove attribution
|
|
385
|
+
- ❌ Must include license file
|
|
386
|
+
- ❌ Commercial deployments should notify author
|
|
387
|
+
|
|
388
|
+
### Commercial Use
|
|
389
|
+
|
|
390
|
+
Apache 2.0 allows commercial use. However, for large-scale enterprise deployments or white-label products, we recommend contacting **reacthub.ai@gmail.com** to discuss licensing options and potential support arrangements.
|
|
32
391
|
|
|
33
|
-
|
|
392
|
+
---
|
|
34
393
|
|
|
35
|
-
##
|
|
394
|
+
## 🌟 **Inspired By**
|
|
36
395
|
|
|
37
|
-
|
|
396
|
+
- **[editly](https://github.com/mifi/editly)** - Declarative video API
|
|
397
|
+
- **[remotion](https://github.com/remotion-dev/remotion)** - Create videos with React
|
|
38
398
|
|
|
39
|
-
|
|
399
|
+
---
|
|
40
400
|
|
|
41
|
-
##
|
|
401
|
+
## 📊 **Stats**
|
|
42
402
|
|
|
43
|
-
|
|
403
|
+
<div align="center">
|
|
44
404
|
|
|
45
|
-
|
|
405
|
+

|
|
406
|
+

|
|
407
|
+

|
|
46
408
|
|
|
47
|
-
|
|
409
|
+
</div>
|
|
48
410
|
|
|
49
|
-
|
|
50
|
-
- Not Allowed: Copying, modification, or commercial use without explicit permission.
|
|
411
|
+
---
|
|
51
412
|
|
|
52
|
-
|
|
413
|
+
<div align="center">
|
|
53
414
|
|
|
54
|
-
|
|
415
|
+
### **Made with ❤️ in 🇦🇺 Australia**
|
|
55
416
|
|
|
56
|
-
|
|
417
|
+
**Built for developers who create beautiful, interactive experiences**
|
|
57
418
|
|
|
58
|
-
|
|
59
|
-
- [remotion](https://github.com/remotion-dev/remotion) - Great inspiration
|
|
419
|
+
[⬆ Back to Top](#-reacthub-pixitweenjs-)
|
|
60
420
|
|
|
61
|
-
|
|
421
|
+
</div>
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare const opacityIcon: () => string;
|
|
2
|
+
export declare const roundCornersIcon: () => string;
|
|
3
|
+
export declare const deleteIcon: () => string;
|
|
4
|
+
export declare const copyIcon: () => string;
|
|
5
|
+
export declare const orderIcon: () => string;
|
|
6
|
+
export declare const saveIcon: () => string;
|
|
7
|
+
export declare const replaceImageIcon: () => string;
|
|
8
|
+
export declare const chevronRightIcon: () => string;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { PixiBaseSpriteProps, ForwardedRefResponse } from '../../types/BaseProps';
|
|
2
2
|
import * as React from "react";
|
|
3
|
+
import * as PIXI from "pixi.js";
|
|
3
4
|
export interface PixiAudioSpriteProps extends PixiBaseSpriteProps {
|
|
4
5
|
uniqueId: string;
|
|
5
6
|
src: string;
|
|
@@ -10,6 +11,8 @@ export interface PixiAudioSpriteProps extends PixiBaseSpriteProps {
|
|
|
10
11
|
mute: boolean;
|
|
11
12
|
speed: number;
|
|
12
13
|
visible: boolean;
|
|
14
|
+
onContainerRefReady?: (uniqueId: string, ref: React.MutableRefObject<PIXI.Container | null>) => void;
|
|
15
|
+
onSpriteRefReady?: (uniqueId: string, ref: React.MutableRefObject<PIXI.Container | null>) => void;
|
|
13
16
|
}
|
|
14
17
|
declare const PixiAudioSprite: React.ForwardRefExoticComponent<PixiAudioSpriteProps & React.RefAttributes<ForwardedRefResponse | null>>;
|
|
15
18
|
export default PixiAudioSprite;
|
|
@@ -1,101 +1,7 @@
|
|
|
1
|
-
import { StoryObj } from '@storybook/react';
|
|
2
|
-
import {
|
|
1
|
+
import { Meta, StoryObj } from '@storybook/react-vite';
|
|
2
|
+
import { PixiAudioSprite } from '.';
|
|
3
3
|
|
|
4
|
-
declare const meta:
|
|
5
|
-
title: string;
|
|
6
|
-
component: import('react').ForwardRefExoticComponent<import('./PixiAudioSprite').PixiAudioSpriteProps & import('react').RefAttributes<import('../..').ForwardedRefResponse | null>>;
|
|
7
|
-
decorators: ((Story: any) => import("react/jsx-runtime").JSX.Element)[];
|
|
8
|
-
tags: string[];
|
|
9
|
-
argTypes: {
|
|
10
|
-
uniqueId: {
|
|
11
|
-
control: string;
|
|
12
|
-
description: string;
|
|
13
|
-
};
|
|
14
|
-
src: {
|
|
15
|
-
control: string;
|
|
16
|
-
description: string;
|
|
17
|
-
};
|
|
18
|
-
startAt: {
|
|
19
|
-
control: string;
|
|
20
|
-
description: string;
|
|
21
|
-
};
|
|
22
|
-
endAt: {
|
|
23
|
-
control: string;
|
|
24
|
-
description: string;
|
|
25
|
-
};
|
|
26
|
-
audioStartAt: {
|
|
27
|
-
control: string;
|
|
28
|
-
description: string;
|
|
29
|
-
};
|
|
30
|
-
audioEndAt: {
|
|
31
|
-
control: string;
|
|
32
|
-
description: string;
|
|
33
|
-
};
|
|
34
|
-
mute: {
|
|
35
|
-
control: string;
|
|
36
|
-
description: string;
|
|
37
|
-
};
|
|
38
|
-
speed: {
|
|
39
|
-
control: string;
|
|
40
|
-
description: string;
|
|
41
|
-
};
|
|
42
|
-
visible: {
|
|
43
|
-
control: string;
|
|
44
|
-
description: string;
|
|
45
|
-
};
|
|
46
|
-
transformation: {
|
|
47
|
-
control: string;
|
|
48
|
-
description: string;
|
|
49
|
-
x: {
|
|
50
|
-
control: string;
|
|
51
|
-
description: string;
|
|
52
|
-
};
|
|
53
|
-
y: {
|
|
54
|
-
control: string;
|
|
55
|
-
description: string;
|
|
56
|
-
};
|
|
57
|
-
width: {
|
|
58
|
-
control: string;
|
|
59
|
-
description: string;
|
|
60
|
-
};
|
|
61
|
-
height: {
|
|
62
|
-
control: string;
|
|
63
|
-
description: string;
|
|
64
|
-
};
|
|
65
|
-
anchor: {
|
|
66
|
-
control: string;
|
|
67
|
-
description: string;
|
|
68
|
-
};
|
|
69
|
-
rotation: {
|
|
70
|
-
control: string;
|
|
71
|
-
description: string;
|
|
72
|
-
};
|
|
73
|
-
alpha: {
|
|
74
|
-
control: string;
|
|
75
|
-
min: number;
|
|
76
|
-
max: number;
|
|
77
|
-
description: string;
|
|
78
|
-
};
|
|
79
|
-
scale: {
|
|
80
|
-
control: string;
|
|
81
|
-
description: string;
|
|
82
|
-
};
|
|
83
|
-
tint: {
|
|
84
|
-
control: string;
|
|
85
|
-
description: string;
|
|
86
|
-
};
|
|
87
|
-
blendMode: {
|
|
88
|
-
control: string;
|
|
89
|
-
description: string;
|
|
90
|
-
};
|
|
91
|
-
waveform: {
|
|
92
|
-
type: string;
|
|
93
|
-
options: Waveforms[];
|
|
94
|
-
description: string;
|
|
95
|
-
};
|
|
96
|
-
};
|
|
97
|
-
};
|
|
98
|
-
};
|
|
4
|
+
declare const meta: Meta<typeof PixiAudioSprite>;
|
|
99
5
|
export default meta;
|
|
100
6
|
type Story = StoryObj<typeof meta>;
|
|
101
7
|
export declare const Normal: Story;
|
|
@@ -103,3 +9,4 @@ export declare const Visualization: Story;
|
|
|
103
9
|
export declare const Speech: Story;
|
|
104
10
|
export declare const Muted: Story;
|
|
105
11
|
export declare const SplitPosition: Story;
|
|
12
|
+
export declare const WithUnifiedTransformer: Story;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { PixiBaseSpriteProps, ForwardedRefResponse } from '../../types/BaseProps';
|
|
2
2
|
import * as React from "react";
|
|
3
|
+
import * as PIXI from "pixi.js";
|
|
3
4
|
export interface PixiGifSpriteProps extends PixiBaseSpriteProps {
|
|
4
5
|
uniqueId: string;
|
|
5
6
|
src: string;
|
|
@@ -9,6 +10,8 @@ export interface PixiGifSpriteProps extends PixiBaseSpriteProps {
|
|
|
9
10
|
frameEndAt: number;
|
|
10
11
|
locked: boolean;
|
|
11
12
|
loop: boolean;
|
|
13
|
+
onContainerRefReady?: (uniqueId: string, ref: React.MutableRefObject<PIXI.Container | null>) => void;
|
|
14
|
+
onSpriteRefReady?: (uniqueId: string, ref: React.MutableRefObject<PIXI.Container | null>) => void;
|
|
12
15
|
}
|
|
13
16
|
/**
|
|
14
17
|
* PixiGifSprite Component is used to render gif image
|
|
@@ -1,21 +1,22 @@
|
|
|
1
|
-
import { StoryObj } from '@storybook/react';
|
|
1
|
+
import { StoryObj } from '@storybook/react-vite';
|
|
2
2
|
|
|
3
|
+
import * as React from "react";
|
|
3
4
|
declare const meta: {
|
|
4
5
|
title: string;
|
|
5
|
-
component:
|
|
6
|
+
component: React.ForwardRefExoticComponent<import('./PixiGifGsapSync').PixiGifSpriteProps & React.RefAttributes<import('../..').ForwardedRefResponse | null>>;
|
|
6
7
|
decorators: ((Story: any) => import("react/jsx-runtime").JSX.Element)[];
|
|
7
8
|
tags: string[];
|
|
8
9
|
argTypes: {
|
|
9
10
|
uniqueId: {
|
|
10
|
-
control:
|
|
11
|
+
control: "text";
|
|
11
12
|
description: string;
|
|
12
13
|
};
|
|
13
14
|
src: {
|
|
14
|
-
control:
|
|
15
|
+
control: "text";
|
|
15
16
|
description: string;
|
|
16
17
|
};
|
|
17
18
|
transformation: {
|
|
18
|
-
control:
|
|
19
|
+
control: "object";
|
|
19
20
|
description: string;
|
|
20
21
|
x: {
|
|
21
22
|
control: string;
|
|
@@ -81,27 +82,27 @@ declare const meta: {
|
|
|
81
82
|
};
|
|
82
83
|
};
|
|
83
84
|
applyTransformer: {
|
|
84
|
-
control:
|
|
85
|
+
control: "boolean";
|
|
85
86
|
description: string;
|
|
86
87
|
};
|
|
87
88
|
startAt: {
|
|
88
|
-
control:
|
|
89
|
+
control: "number";
|
|
89
90
|
description: string;
|
|
90
91
|
};
|
|
91
92
|
endAt: {
|
|
92
|
-
control:
|
|
93
|
+
control: "number";
|
|
93
94
|
description: string;
|
|
94
95
|
};
|
|
95
96
|
frameStartAt: {
|
|
96
|
-
control:
|
|
97
|
+
control: "number";
|
|
97
98
|
description: string;
|
|
98
99
|
};
|
|
99
100
|
frameEndAt: {
|
|
100
|
-
control:
|
|
101
|
+
control: "number";
|
|
101
102
|
description: string;
|
|
102
103
|
};
|
|
103
104
|
visible: {
|
|
104
|
-
control:
|
|
105
|
+
control: "boolean";
|
|
105
106
|
description: string;
|
|
106
107
|
};
|
|
107
108
|
onAnchorTransformationEnd: {
|
|
@@ -140,6 +141,14 @@ declare const meta: {
|
|
|
140
141
|
action: string;
|
|
141
142
|
description: string;
|
|
142
143
|
};
|
|
144
|
+
onContainerRefReady: {
|
|
145
|
+
action: string;
|
|
146
|
+
description: string;
|
|
147
|
+
};
|
|
148
|
+
onSpriteRefReady: {
|
|
149
|
+
action: string;
|
|
150
|
+
description: string;
|
|
151
|
+
};
|
|
143
152
|
};
|
|
144
153
|
};
|
|
145
154
|
export default meta;
|
|
@@ -151,3 +160,4 @@ export declare const Filters: Story;
|
|
|
151
160
|
export declare const SplitPosition: Story;
|
|
152
161
|
export declare const SplitStartPos: Story;
|
|
153
162
|
export declare const StipopGif: Story;
|
|
163
|
+
export declare const WithUnifiedTransformer: Story;
|