@twick/timeline 0.14.3 → 0.14.4
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/dist/context/timeline-context.d.ts +8 -2
- package/dist/core/addOns/animation.d.ts +3 -0
- package/dist/core/editor/timeline.editor.d.ts +3 -3
- package/dist/core/elements/base.element.d.ts +4 -0
- package/dist/core/elements/circle.element.d.ts +4 -0
- package/dist/core/elements/icon.element.d.ts +8 -3
- package/dist/core/elements/rect.element.d.ts +8 -0
- package/dist/core/track/track.d.ts +4 -3
- package/dist/index.js +123 -24
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +123 -24
- package/dist/index.mjs.map +1 -1
- package/dist/types/index.d.ts +12 -157
- package/dist/types.d.ts +128 -0
- package/package.json +2 -2
package/dist/types/index.d.ts
CHANGED
|
@@ -1,167 +1,22 @@
|
|
|
1
|
-
export type Colors = {
|
|
2
|
-
text?: string;
|
|
3
|
-
background?: string;
|
|
4
|
-
highlight?: string;
|
|
5
|
-
};
|
|
6
|
-
export type Fonts = {
|
|
7
|
-
family?: string;
|
|
8
|
-
size?: number;
|
|
9
|
-
weight?: number;
|
|
10
|
-
style?: string;
|
|
11
|
-
};
|
|
12
|
-
export type Position = {
|
|
13
|
-
x: number;
|
|
14
|
-
y: number;
|
|
15
|
-
};
|
|
16
|
-
export type TextEffect = {
|
|
17
|
-
name: string;
|
|
18
|
-
duration?: number;
|
|
19
|
-
delay?: number;
|
|
20
|
-
bufferTime?: number;
|
|
21
|
-
};
|
|
22
|
-
export type Size = {
|
|
23
|
-
width: number;
|
|
24
|
-
height: number;
|
|
25
|
-
};
|
|
26
|
-
export type SizeArray = [number, number];
|
|
27
|
-
export type Frame = {
|
|
28
|
-
size?: [number, number];
|
|
29
|
-
x?: number;
|
|
30
|
-
y?: number;
|
|
31
|
-
fill?: string;
|
|
32
|
-
stroke?: string;
|
|
33
|
-
strokeWidth?: number;
|
|
34
|
-
};
|
|
35
|
-
export type FrameEffectProps = {
|
|
36
|
-
frameSize: SizeArray;
|
|
37
|
-
frameShape: "circle" | "rect";
|
|
38
|
-
framePosition: Position;
|
|
39
|
-
radius?: number;
|
|
40
|
-
objectFit?: ObjectFit;
|
|
41
|
-
transitionDuration?: number;
|
|
42
|
-
transitionEasing?: string;
|
|
43
|
-
elementPosition?: Position;
|
|
44
|
-
};
|
|
45
|
-
export type FrameEffect = {
|
|
46
|
-
s: number;
|
|
47
|
-
e: number;
|
|
48
|
-
props: FrameEffectProps;
|
|
49
|
-
};
|
|
50
|
-
export type ObjectFit = "cover" | "contain" | "fill" | "none";
|
|
51
|
-
export type TextAlign = "left" | "center" | "right";
|
|
52
|
-
export type AudioProps = {
|
|
53
|
-
src: string;
|
|
54
|
-
volume?: number;
|
|
55
|
-
loop?: boolean;
|
|
56
|
-
playbackRate?: number;
|
|
57
|
-
time?: number;
|
|
58
|
-
};
|
|
59
|
-
export type CaptionProps = {
|
|
60
|
-
font?: {
|
|
61
|
-
family?: string;
|
|
62
|
-
size?: number;
|
|
63
|
-
fill?: string;
|
|
64
|
-
};
|
|
65
|
-
pos?: {
|
|
66
|
-
x: number;
|
|
67
|
-
y: number;
|
|
68
|
-
};
|
|
69
|
-
color?: {
|
|
70
|
-
text?: string;
|
|
71
|
-
background?: string;
|
|
72
|
-
highlight?: string;
|
|
73
|
-
};
|
|
74
|
-
};
|
|
75
|
-
export type CircleProps = {
|
|
76
|
-
radius: number;
|
|
77
|
-
fill: string;
|
|
78
|
-
};
|
|
79
|
-
export type IconProps = {
|
|
80
|
-
src: string;
|
|
81
|
-
size: Size;
|
|
82
|
-
};
|
|
83
|
-
export type ImageProps = {
|
|
84
|
-
src: string;
|
|
85
|
-
mediaFilter?: string;
|
|
86
|
-
};
|
|
87
|
-
export type RectProps = {
|
|
88
|
-
width: number;
|
|
89
|
-
height: number;
|
|
90
|
-
fill: string;
|
|
91
|
-
};
|
|
92
|
-
export type TextProps = {
|
|
93
|
-
text: string;
|
|
94
|
-
fill?: string;
|
|
95
|
-
rotation?: number;
|
|
96
|
-
fontSize?: number;
|
|
97
|
-
fontFamily?: string;
|
|
98
|
-
fontWeight?: number;
|
|
99
|
-
fontStyle?: "normal" | "italic";
|
|
100
|
-
textAlign?: TextAlign;
|
|
101
|
-
stroke?: string;
|
|
102
|
-
lineWidth?: number;
|
|
103
|
-
};
|
|
104
|
-
export type VideoProps = {
|
|
105
|
-
src: string;
|
|
106
|
-
playbackRate?: number;
|
|
107
|
-
time?: number;
|
|
108
|
-
mediaFilter?: string;
|
|
109
|
-
volume?: number;
|
|
110
|
-
};
|
|
111
1
|
export type Animation = {
|
|
112
2
|
name: string;
|
|
113
3
|
interval?: number;
|
|
4
|
+
duration?: number;
|
|
114
5
|
intensity?: number;
|
|
115
6
|
animate?: "enter" | "exit" | "both";
|
|
116
7
|
mode?: "in" | "out";
|
|
117
8
|
direction?: "up" | "down" | "left" | "right" | "center";
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
trackId: string;
|
|
126
|
-
name: string;
|
|
127
|
-
trackType?: string;
|
|
128
|
-
backgroundColor?: string;
|
|
129
|
-
frameEffects?: FrameEffect[];
|
|
130
|
-
animation?: Animation;
|
|
131
|
-
textEffect?: TextEffect;
|
|
132
|
-
objectFit?: ObjectFit;
|
|
133
|
-
mediaDuration?: number;
|
|
134
|
-
props?: {
|
|
135
|
-
playbackRate?: number;
|
|
136
|
-
capStyle?: string;
|
|
137
|
-
time?: number;
|
|
138
|
-
videoFilter?: string;
|
|
139
|
-
text?: string;
|
|
140
|
-
src?: string;
|
|
141
|
-
size?: [number, number];
|
|
142
|
-
play?: boolean;
|
|
143
|
-
mute?: boolean;
|
|
144
|
-
hWords?: Record<string, any>;
|
|
145
|
-
[key: string]: any;
|
|
146
|
-
};
|
|
147
|
-
frame?: Frame;
|
|
148
|
-
};
|
|
149
|
-
export type TrackJSON = {
|
|
150
|
-
id: string;
|
|
151
|
-
name: string;
|
|
152
|
-
type: string;
|
|
153
|
-
allowOverlap?: boolean;
|
|
154
|
-
elements: ElementJSON[];
|
|
155
|
-
props?: {
|
|
156
|
-
capStyle?: string;
|
|
157
|
-
font?: Fonts;
|
|
158
|
-
wordsPerPhrase?: number;
|
|
159
|
-
pos?: Position;
|
|
160
|
-
colors?: Colors;
|
|
161
|
-
hWords?: Record<string, any>;
|
|
9
|
+
options?: {
|
|
10
|
+
animate?: ("enter" | "exit" | "both")[];
|
|
11
|
+
mode?: ("in" | "out")[];
|
|
12
|
+
direction?: ("left" | "right" | "center" | "up" | "down")[];
|
|
13
|
+
intensity?: [number, number];
|
|
14
|
+
interval?: [number, number];
|
|
15
|
+
duration?: [number, number];
|
|
162
16
|
};
|
|
17
|
+
getSample?: (animation?: Animation) => string;
|
|
163
18
|
};
|
|
164
|
-
export type
|
|
165
|
-
|
|
166
|
-
|
|
19
|
+
export type Size = {
|
|
20
|
+
width: number;
|
|
21
|
+
height: number;
|
|
167
22
|
};
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
export interface Position {
|
|
2
|
+
x: number;
|
|
3
|
+
y: number;
|
|
4
|
+
}
|
|
5
|
+
export interface Size {
|
|
6
|
+
width: number;
|
|
7
|
+
height: number;
|
|
8
|
+
}
|
|
9
|
+
export interface Frame {
|
|
10
|
+
x: number;
|
|
11
|
+
y: number;
|
|
12
|
+
width?: number;
|
|
13
|
+
height?: number;
|
|
14
|
+
size?: [number, number];
|
|
15
|
+
}
|
|
16
|
+
export interface ElementJSON {
|
|
17
|
+
id: string;
|
|
18
|
+
type: string;
|
|
19
|
+
s: number;
|
|
20
|
+
e: number;
|
|
21
|
+
position?: Position;
|
|
22
|
+
rotation?: number;
|
|
23
|
+
opacity?: number;
|
|
24
|
+
[key: string]: any;
|
|
25
|
+
}
|
|
26
|
+
export interface TrackJSON {
|
|
27
|
+
id: string;
|
|
28
|
+
name: string;
|
|
29
|
+
type?: string;
|
|
30
|
+
elements: ElementJSON[];
|
|
31
|
+
}
|
|
32
|
+
export interface ProjectJSON {
|
|
33
|
+
tracks: TrackJSON[];
|
|
34
|
+
version: number;
|
|
35
|
+
}
|
|
36
|
+
export interface BaseMediaProps {
|
|
37
|
+
src: string;
|
|
38
|
+
time?: number;
|
|
39
|
+
playbackRate?: number;
|
|
40
|
+
volume?: number;
|
|
41
|
+
autoPlay?: boolean;
|
|
42
|
+
loop?: boolean;
|
|
43
|
+
muted?: boolean;
|
|
44
|
+
controls?: boolean;
|
|
45
|
+
}
|
|
46
|
+
export interface VideoProps extends BaseMediaProps {
|
|
47
|
+
width?: number;
|
|
48
|
+
height?: number;
|
|
49
|
+
mediaFilter?: string;
|
|
50
|
+
src: string;
|
|
51
|
+
time?: number;
|
|
52
|
+
playbackRate?: number;
|
|
53
|
+
volume?: number;
|
|
54
|
+
}
|
|
55
|
+
export interface AudioProps extends BaseMediaProps {
|
|
56
|
+
src: string;
|
|
57
|
+
time?: number;
|
|
58
|
+
playbackRate?: number;
|
|
59
|
+
volume?: number;
|
|
60
|
+
loop?: boolean;
|
|
61
|
+
}
|
|
62
|
+
export interface ImageProps {
|
|
63
|
+
src: string;
|
|
64
|
+
width?: number;
|
|
65
|
+
height?: number;
|
|
66
|
+
objectFit?: ObjectFit;
|
|
67
|
+
mediaFilter?: string;
|
|
68
|
+
}
|
|
69
|
+
export interface TextProps {
|
|
70
|
+
text: string;
|
|
71
|
+
fontSize?: number;
|
|
72
|
+
fontFamily?: string;
|
|
73
|
+
fill?: string;
|
|
74
|
+
stroke?: string;
|
|
75
|
+
strokeWidth?: number;
|
|
76
|
+
textAlign?: TextAlign;
|
|
77
|
+
fontWeight?: number | string;
|
|
78
|
+
lineWidth?: number;
|
|
79
|
+
rotation?: number;
|
|
80
|
+
fontStyle?: string;
|
|
81
|
+
}
|
|
82
|
+
export interface RectProps {
|
|
83
|
+
fill: string;
|
|
84
|
+
width: number;
|
|
85
|
+
height: number;
|
|
86
|
+
radius: number;
|
|
87
|
+
strokeColor?: string;
|
|
88
|
+
lineWidth?: number;
|
|
89
|
+
}
|
|
90
|
+
export interface CircleProps {
|
|
91
|
+
fill: string;
|
|
92
|
+
radius: number;
|
|
93
|
+
strokeColor?: string;
|
|
94
|
+
lineWidth?: number;
|
|
95
|
+
}
|
|
96
|
+
export interface IconProps {
|
|
97
|
+
fill: string;
|
|
98
|
+
size?: number;
|
|
99
|
+
}
|
|
100
|
+
export interface TextEffect {
|
|
101
|
+
duration: number;
|
|
102
|
+
delay?: number;
|
|
103
|
+
bufferTime?: number;
|
|
104
|
+
name: string;
|
|
105
|
+
}
|
|
106
|
+
export interface FrameEffectProps {
|
|
107
|
+
frameSize: [number, number];
|
|
108
|
+
framePosition: Position;
|
|
109
|
+
radius?: number;
|
|
110
|
+
transitionDuration?: number;
|
|
111
|
+
objectFit?: ObjectFit;
|
|
112
|
+
}
|
|
113
|
+
export interface FrameEffect {
|
|
114
|
+
s: number;
|
|
115
|
+
e: number;
|
|
116
|
+
props: FrameEffectProps;
|
|
117
|
+
}
|
|
118
|
+
export interface Animation {
|
|
119
|
+
name: string;
|
|
120
|
+
animate?: 'enter' | 'exit' | 'both';
|
|
121
|
+
interval?: number;
|
|
122
|
+
direction?: 'up' | 'down' | 'left' | 'right' | 'center';
|
|
123
|
+
intensity?: number;
|
|
124
|
+
mode?: 'in' | 'out';
|
|
125
|
+
duration?: number;
|
|
126
|
+
}
|
|
127
|
+
export type ObjectFit = 'contain' | 'cover' | 'fill' | 'none' | 'scale-down';
|
|
128
|
+
export type TextAlign = 'left' | 'center' | 'right' | 'justify';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@twick/timeline",
|
|
3
|
-
"version": "0.14.
|
|
3
|
+
"version": "0.14.4",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.mjs",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"docs": "typedoc"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@twick/media-utils": "0.14.
|
|
26
|
+
"@twick/media-utils": "0.14.4",
|
|
27
27
|
"posthog-js": "^1.258.5"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|