@revideo/2d 0.4.7-two.1024 → 0.4.8-alpha.1032

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.
Files changed (170) hide show
  1. package/editor/editor/tsconfig.build.tsbuildinfo +1 -1
  2. package/editor/index.js +151 -380
  3. package/editor/index.js.map +1 -1
  4. package/lib/code/CodeCursor.d.ts +74 -74
  5. package/lib/code/CodeDiffer.d.ts +16 -21
  6. package/lib/code/CodeDiffer.js +41 -39
  7. package/lib/code/CodeFragment.d.ts +8 -16
  8. package/lib/code/CodeFragment.js +36 -36
  9. package/lib/code/CodeHighlighter.d.ts +59 -59
  10. package/lib/code/CodeHighlighter.js +1 -1
  11. package/lib/code/CodeMetrics.d.ts +8 -12
  12. package/lib/code/CodeMetrics.js +24 -26
  13. package/lib/code/CodeRange.d.ts +5 -21
  14. package/lib/code/CodeRange.js +124 -131
  15. package/lib/code/CodeScope.d.ts +8 -18
  16. package/lib/code/CodeSelection.d.ts +4 -9
  17. package/lib/code/CodeSelection.js +8 -8
  18. package/lib/code/CodeSignal.d.ts +47 -74
  19. package/lib/code/CodeTokenizer.d.ts +1 -1
  20. package/lib/code/CodeTokenizer.js +41 -41
  21. package/lib/code/DefaultHighlightStyle.d.ts +2 -2
  22. package/lib/code/DefaultHighlightStyle.js +96 -96
  23. package/lib/code/LezerHighlighter.d.ts +19 -21
  24. package/lib/code/diff.d.ts +9 -12
  25. package/lib/code/diff.js +205 -218
  26. package/lib/code/extractRange.d.ts +4 -7
  27. package/lib/code/extractRange.js +71 -79
  28. package/lib/code/index.d.ts +1 -1
  29. package/lib/code/index.js +1 -1
  30. package/lib/components/Audio.d.ts +11 -11
  31. package/lib/components/Bezier.d.ts +18 -18
  32. package/lib/components/Circle.d.ts +90 -95
  33. package/lib/components/Code.d.ts +211 -244
  34. package/lib/components/CodeBlock.d.ts +1 -1
  35. package/lib/components/CubicBezier.d.ts +36 -36
  36. package/lib/components/Curve.d.ts +198 -208
  37. package/lib/components/Grid.d.ts +42 -47
  38. package/lib/components/Icon.d.ts +50 -55
  39. package/lib/components/Img.d.ts +79 -86
  40. package/lib/components/Knot.d.ts +78 -97
  41. package/lib/components/Latex.d.ts +12 -12
  42. package/lib/components/Layout.d.ts +413 -455
  43. package/lib/components/Line.d.ts +49 -61
  44. package/lib/components/Media.d.ts +37 -37
  45. package/lib/components/Node.d.ts +1 -1
  46. package/lib/components/Path.d.ts +1 -1
  47. package/lib/components/Polygon.d.ts +55 -60
  48. package/lib/components/QuadBezier.d.ts +29 -29
  49. package/lib/components/Ray.d.ts +28 -28
  50. package/lib/components/Rect.d.ts +108 -115
  51. package/lib/components/SVG.d.ts +1 -1
  52. package/lib/components/Shape.d.ts +1 -1
  53. package/lib/components/Spline.d.ts +40 -46
  54. package/lib/components/Txt.d.ts +44 -55
  55. package/lib/components/TxtLeaf.d.ts +16 -20
  56. package/lib/components/Video.d.ts +1 -0
  57. package/lib/components/Video.d.ts.map +1 -1
  58. package/lib/components/Video.js +9 -3
  59. package/lib/components/View2D.d.ts +22 -22
  60. package/lib/components/index.d.ts +2 -1
  61. package/lib/components/index.d.ts.map +1 -1
  62. package/lib/components/index.js +2 -1
  63. package/lib/components/types.d.ts +9 -22
  64. package/lib/curves/ArcSegment.d.ts +24 -36
  65. package/lib/curves/CircleSegment.d.ts +16 -26
  66. package/lib/curves/CubicBezierSegment.d.ts +13 -18
  67. package/lib/curves/CurveDrawingInfo.d.ts +9 -9
  68. package/lib/curves/CurvePoint.d.ts +13 -13
  69. package/lib/curves/CurveProfile.d.ts +5 -5
  70. package/lib/curves/CurveProfile.js +1 -1
  71. package/lib/curves/KnotInfo.d.ts +8 -8
  72. package/lib/curves/LineSegment.d.ts +14 -19
  73. package/lib/curves/Polynomial.d.ts +110 -110
  74. package/lib/curves/Polynomial2D.d.ts +20 -20
  75. package/lib/curves/PolynomialSegment.d.ts +37 -42
  76. package/lib/curves/QuadBezierSegment.d.ts +12 -12
  77. package/lib/curves/Segment.d.ts +7 -12
  78. package/lib/curves/UniformPolynomialCurveSampler.d.ts +34 -34
  79. package/lib/curves/createCurveProfileLerp.d.ts +6 -17
  80. package/lib/curves/getBezierSplineProfile.d.ts +4 -8
  81. package/lib/curves/getCircleProfile.d.ts +4 -10
  82. package/lib/curves/getPathProfile.d.ts +2 -2
  83. package/lib/curves/getPointAtDistance.d.ts +4 -7
  84. package/lib/curves/getPolylineProfile.d.ts +4 -8
  85. package/lib/curves/getRectProfile.d.ts +4 -9
  86. package/lib/curves/index.d.ts +1 -1
  87. package/lib/curves/index.js +1 -1
  88. package/lib/decorators/canvasStyleSignal.d.ts +3 -3
  89. package/lib/decorators/colorSignal.d.ts +1 -1
  90. package/lib/decorators/compound.d.ts +2 -4
  91. package/lib/decorators/computed.d.ts +1 -1
  92. package/lib/decorators/defaultStyle.d.ts +2 -5
  93. package/lib/decorators/filtersSignal.d.ts +8 -28
  94. package/lib/decorators/index.d.ts +1 -1
  95. package/lib/decorators/index.js +1 -1
  96. package/lib/decorators/initializers.d.ts +2 -5
  97. package/lib/decorators/initializers.js +19 -18
  98. package/lib/decorators/nodeName.d.ts +1 -1
  99. package/lib/decorators/nodeName.js +4 -4
  100. package/lib/decorators/signal.d.ts +20 -40
  101. package/lib/decorators/spacingSignal.d.ts +1 -1
  102. package/lib/decorators/vector2Signal.d.ts +7 -13
  103. package/lib/index.d.ts +1 -1
  104. package/lib/index.js +1 -1
  105. package/lib/jsx-dev-runtime.d.ts +3 -3
  106. package/lib/jsx-dev-runtime.js +3 -3
  107. package/lib/jsx-runtime.d.ts +9 -19
  108. package/lib/jsx-runtime.js +18 -18
  109. package/lib/partials/Filter.d.ts +16 -24
  110. package/lib/partials/Gradient.d.ts +24 -30
  111. package/lib/partials/Pattern.d.ts +9 -14
  112. package/lib/partials/ShaderConfig.d.ts +74 -81
  113. package/lib/partials/index.d.ts +1 -1
  114. package/lib/partials/index.js +1 -1
  115. package/lib/partials/types.d.ts +6 -19
  116. package/lib/scenes/Scene2D.d.ts +24 -42
  117. package/lib/scenes/Scene2D.d.ts.map +1 -1
  118. package/lib/scenes/Scene2D.js +10 -2
  119. package/lib/scenes/index.d.ts +1 -1
  120. package/lib/scenes/index.js +1 -1
  121. package/lib/scenes/makeScene2D.d.ts +5 -7
  122. package/lib/scenes/useScene2D.d.ts +2 -2
  123. package/lib/tsconfig.build.tsbuildinfo +1 -1
  124. package/lib/utils/diff.d.ts +18 -25
  125. package/lib/utils/diff.js +87 -84
  126. package/lib/utils/index.d.ts +1 -1
  127. package/lib/utils/index.js +1 -1
  128. package/lib/utils/is.d.ts +2 -4
  129. package/lib/utils/is.js +2 -2
  130. package/lib/utils/makeSignalExtensions.d.ts +4 -11
  131. package/lib/utils/video/mp4-parser-manager.d.ts +1 -0
  132. package/lib/utils/video/mp4-parser-manager.d.ts.map +1 -1
  133. package/lib/utils/video/mp4-parser-manager.js +21 -4
  134. package/lib/utils/video/parser/index.d.ts +2 -0
  135. package/lib/utils/video/parser/index.d.ts.map +1 -0
  136. package/lib/utils/video/parser/index.js +2 -0
  137. package/lib/utils/video/parser/parser.d.ts +21 -0
  138. package/lib/utils/video/parser/parser.d.ts.map +1 -0
  139. package/lib/utils/video/parser/parser.js +168 -0
  140. package/lib/utils/video/parser/sampler.d.ts +16 -0
  141. package/lib/utils/video/parser/sampler.d.ts.map +1 -0
  142. package/lib/utils/video/parser/sampler.js +56 -0
  143. package/lib/utils/video/parser/segment.d.ts +44 -0
  144. package/lib/utils/video/parser/segment.d.ts.map +1 -0
  145. package/lib/utils/video/parser/segment.js +195 -0
  146. package/lib/utils/video/parser/sink.d.ts +9 -0
  147. package/lib/utils/video/parser/sink.d.ts.map +1 -0
  148. package/lib/utils/video/parser/sink.js +22 -0
  149. package/lib/utils/video/parser/utils.d.ts +10 -0
  150. package/lib/utils/video/parser/utils.d.ts.map +1 -0
  151. package/lib/utils/video/parser/utils.js +22 -0
  152. package/package.json +4 -4
  153. package/src/lib/components/Video.ts +9 -2
  154. package/src/lib/components/index.ts +1 -0
  155. package/src/lib/scenes/Scene2D.ts +11 -1
  156. package/src/lib/utils/video/mp4-parser-manager.ts +24 -5
  157. package/src/lib/utils/video/parser/index.ts +1 -0
  158. package/src/lib/utils/video/parser/parser.ts +256 -0
  159. package/src/lib/utils/video/parser/sampler.ts +72 -0
  160. package/src/lib/utils/video/parser/segment.ts +252 -0
  161. package/src/lib/utils/video/parser/sink.ts +29 -0
  162. package/src/lib/utils/video/parser/utils.ts +31 -0
  163. package/lib/components/HlsVideo.d.ts +0 -62
  164. package/lib/components/HlsVideo.d.ts.map +0 -1
  165. package/lib/components/HlsVideo.js +0 -169
  166. package/lib/tsconfig.tsbuildinfo +0 -1
  167. package/lib/utils/video/mp4-parser.d.ts +0 -63
  168. package/lib/utils/video/mp4-parser.d.ts.map +0 -1
  169. package/lib/utils/video/mp4-parser.js +0 -264
  170. package/src/lib/utils/video/mp4-parser.ts +0 -340
@@ -1,119 +1,112 @@
1
- import {
2
- BBox,
3
- PossibleSpacing,
4
- SerializedVector2,
5
- SignalValue,
6
- SimpleSignal,
7
- SpacingSignal,
8
- } from '@revideo/core';
9
- import {DesiredLength} from '../partials';
10
- import {Curve, CurveProps} from './Curve';
1
+ import { BBox, PossibleSpacing, SerializedVector2, SignalValue, SimpleSignal, SpacingSignal } from '@revideo/core';
2
+ import { DesiredLength } from '../partials';
3
+ import { Curve, CurveProps } from './Curve';
11
4
  export interface RectProps extends CurveProps {
12
- /**
13
- * {@inheritDoc Rect.radius}
14
- */
15
- radius?: SignalValue<PossibleSpacing>;
16
- /**
17
- * {@inheritDoc Rect.smoothCorners}
18
- */
19
- smoothCorners?: SignalValue<boolean>;
20
- /**
21
- * {@inheritDoc Rect.cornerSharpness}
22
- */
23
- cornerSharpness?: SignalValue<number>;
5
+ /**
6
+ * {@inheritDoc Rect.radius}
7
+ */
8
+ radius?: SignalValue<PossibleSpacing>;
9
+ /**
10
+ * {@inheritDoc Rect.smoothCorners}
11
+ */
12
+ smoothCorners?: SignalValue<boolean>;
13
+ /**
14
+ * {@inheritDoc Rect.cornerSharpness}
15
+ */
16
+ cornerSharpness?: SignalValue<number>;
24
17
  }
25
18
  export declare class Rect extends Curve {
26
- /**
27
- * Rounds the corners of this rectangle.
28
- *
29
- * @remarks
30
- * The value represents the radius of the quarter circle that is used to round
31
- * the corners. If the value is a number, the same radius is used for all
32
- * corners. Passing an array of two to four numbers will set individual radii
33
- * for each corner. Individual radii correspond to different corners depending
34
- * on the number of values passed:
35
- *
36
- * ```ts
37
- * // top-left-and-bottom-right | top-right-and-bottom-left
38
- * [10, 30]
39
- * // top-left | top-right-and-bottom-left | bottom-right
40
- * [10, 20, 30]
41
- * // top-left | top-right | bottom-right | bottom-left
42
- * [10, 20, 30, 40]
43
- * ```
44
- *
45
- * @example
46
- * One uniform radius:
47
- * ```tsx
48
- * <Rect
49
- * size={320}
50
- * radius={40}
51
- * fill={'white'}
52
- * />
53
- * ```
54
- * @example
55
- * Individual radii for each corner:
56
- * ```tsx
57
- * <Rect
58
- * size={320}
59
- * radius={[10, 20, 30, 40]}
60
- * fill={'white'}
61
- * />
62
- * ```
63
- */
64
- readonly radius: SpacingSignal<this>;
65
- /**
66
- * Enables corner smoothing.
67
- *
68
- * @remarks
69
- * This property only affects the way rounded corners are drawn. To control
70
- * the corner radius use the {@link radius} property.
71
- *
72
- * When enabled, rounded corners are drawn continuously using Bézier curves
73
- * rather than quarter circles. The sharpness of the curve can be controlled
74
- * with {@link cornerSharpness}.
75
- *
76
- * You can read more about corner smoothing in
77
- * [this article by Nick Lawrence](https://uxplanet.org/ui-ux-design-corner-smoothing-720509d1ae48).
78
- *
79
- * @example
80
- * ```tsx
81
- * <Rect
82
- * width={300}
83
- * height={300}
84
- * smoothCorners={true}
85
- * />
86
- * ```
87
- */
88
- readonly smoothCorners: SimpleSignal<boolean, this>;
89
- /**
90
- * Controls the sharpness of {@link smoothCorners}.
91
- *
92
- * @remarks
93
- * This property only affects the way rounded corners are drawn. To control
94
- * the corner radius use the {@link radius} property.
95
- *
96
- * Requires {@link smoothCorners} to be enabled to have any effect.
97
- * By default, corner sharpness is set to `0.6` which represents a smooth,
98
- * circle-like rounding. At `0` the edges are squared off.
99
- *
100
- * @example
101
- * ```tsx
102
- * <Rect
103
- * size={300}
104
- * smoothCorners={true}
105
- * cornerSharpness={0.7}
106
- * />
107
- * ```
108
- */
109
- readonly cornerSharpness: SimpleSignal<number, this>;
110
- constructor(props: RectProps);
111
- profile(): import('..').CurveProfile;
112
- protected desiredSize(): SerializedVector2<DesiredLength>;
113
- protected offsetComputedLayout(box: BBox): BBox;
114
- protected childrenBBox(): BBox;
115
- protected getPath(): Path2D;
116
- protected getCacheBBox(): BBox;
117
- protected getRipplePath(): Path2D;
19
+ /**
20
+ * Rounds the corners of this rectangle.
21
+ *
22
+ * @remarks
23
+ * The value represents the radius of the quarter circle that is used to round
24
+ * the corners. If the value is a number, the same radius is used for all
25
+ * corners. Passing an array of two to four numbers will set individual radii
26
+ * for each corner. Individual radii correspond to different corners depending
27
+ * on the number of values passed:
28
+ *
29
+ * ```ts
30
+ * // top-left-and-bottom-right | top-right-and-bottom-left
31
+ * [10, 30]
32
+ * // top-left | top-right-and-bottom-left | bottom-right
33
+ * [10, 20, 30]
34
+ * // top-left | top-right | bottom-right | bottom-left
35
+ * [10, 20, 30, 40]
36
+ * ```
37
+ *
38
+ * @example
39
+ * One uniform radius:
40
+ * ```tsx
41
+ * <Rect
42
+ * size={320}
43
+ * radius={40}
44
+ * fill={'white'}
45
+ * />
46
+ * ```
47
+ * @example
48
+ * Individual radii for each corner:
49
+ * ```tsx
50
+ * <Rect
51
+ * size={320}
52
+ * radius={[10, 20, 30, 40]}
53
+ * fill={'white'}
54
+ * />
55
+ * ```
56
+ */
57
+ readonly radius: SpacingSignal<this>;
58
+ /**
59
+ * Enables corner smoothing.
60
+ *
61
+ * @remarks
62
+ * This property only affects the way rounded corners are drawn. To control
63
+ * the corner radius use the {@link radius} property.
64
+ *
65
+ * When enabled, rounded corners are drawn continuously using Bézier curves
66
+ * rather than quarter circles. The sharpness of the curve can be controlled
67
+ * with {@link cornerSharpness}.
68
+ *
69
+ * You can read more about corner smoothing in
70
+ * [this article by Nick Lawrence](https://uxplanet.org/ui-ux-design-corner-smoothing-720509d1ae48).
71
+ *
72
+ * @example
73
+ * ```tsx
74
+ * <Rect
75
+ * width={300}
76
+ * height={300}
77
+ * smoothCorners={true}
78
+ * />
79
+ * ```
80
+ */
81
+ readonly smoothCorners: SimpleSignal<boolean, this>;
82
+ /**
83
+ * Controls the sharpness of {@link smoothCorners}.
84
+ *
85
+ * @remarks
86
+ * This property only affects the way rounded corners are drawn. To control
87
+ * the corner radius use the {@link radius} property.
88
+ *
89
+ * Requires {@link smoothCorners} to be enabled to have any effect.
90
+ * By default, corner sharpness is set to `0.6` which represents a smooth,
91
+ * circle-like rounding. At `0` the edges are squared off.
92
+ *
93
+ * @example
94
+ * ```tsx
95
+ * <Rect
96
+ * size={300}
97
+ * smoothCorners={true}
98
+ * cornerSharpness={0.7}
99
+ * />
100
+ * ```
101
+ */
102
+ readonly cornerSharpness: SimpleSignal<number, this>;
103
+ constructor(props: RectProps);
104
+ profile(): import("..").CurveProfile;
105
+ protected desiredSize(): SerializedVector2<DesiredLength>;
106
+ protected offsetComputedLayout(box: BBox): BBox;
107
+ protected childrenBBox(): BBox;
108
+ protected getPath(): Path2D;
109
+ protected getCacheBBox(): BBox;
110
+ protected getRipplePath(): Path2D;
118
111
  }
119
- //# sourceMappingURL=Rect.d.ts.map
112
+ //# sourceMappingURL=Rect.d.ts.map
@@ -95,7 +95,7 @@ export declare class SVG extends Shape {
95
95
  * @param timing - The timing function.
96
96
  */
97
97
  protected generateTransformer(from: Node, to: Node, duration: number, timing: TimingFunction): Generator<ThreadGenerator>;
98
- protected tweenSvg(value: SignalValue<string>, time: number, timingFunction: TimingFunction): Generator<void | Promise<any> | ThreadGenerator | import("@revideo/core").Promisable<any>, void, any>;
98
+ protected tweenSvg(value: SignalValue<string>, time: number, timingFunction: TimingFunction): Generator<void | ThreadGenerator | Promise<any> | import("@revideo/core").Promisable<any>, void, any>;
99
99
  private wrapperScale;
100
100
  /**
101
101
  * Get the current `SVGDocument`.
@@ -34,6 +34,6 @@ export declare abstract class Shape extends Layout {
34
34
  protected getPath(): Path2D;
35
35
  protected getRipplePath(): Path2D;
36
36
  protected drawRipple(context: CanvasRenderingContext2D): void;
37
- ripple(duration?: number): Generator<void | Promise<any> | import("@revideo/core").ThreadGenerator | import("@revideo/core").Promisable<any>, void, any>;
37
+ ripple(duration?: number): Generator<void | import("@revideo/core").ThreadGenerator | Promise<any> | import("@revideo/core").Promisable<any>, void, any>;
38
38
  }
39
39
  //# sourceMappingURL=Shape.d.ts.map
@@ -1,22 +1,16 @@
1
- import {
2
- BBox,
3
- PossibleVector2,
4
- SerializedVector2,
5
- SignalValue,
6
- SimpleSignal,
7
- } from '@revideo/core';
8
- import {CurveProfile, KnotInfo} from '../curves';
9
- import {DesiredLength} from '../partials';
10
- import {Curve, CurveProps} from './Curve';
1
+ import { BBox, PossibleVector2, SerializedVector2, SignalValue, SimpleSignal } from '@revideo/core';
2
+ import { CurveProfile, KnotInfo } from '../curves';
3
+ import { DesiredLength } from '../partials';
4
+ import { Curve, CurveProps } from './Curve';
11
5
  export interface SplineProps extends CurveProps {
12
- /**
13
- * {@inheritDoc Spline.smoothness}
14
- */
15
- smoothness?: SignalValue<number>;
16
- /**
17
- * {@inheritDoc Spline.points}
18
- */
19
- points?: SignalValue<SignalValue<PossibleVector2[]>>;
6
+ /**
7
+ * {@inheritDoc Spline.smoothness}
8
+ */
9
+ smoothness?: SignalValue<number>;
10
+ /**
11
+ * {@inheritDoc Spline.points}
12
+ */
13
+ points?: SignalValue<SignalValue<PossibleVector2[]>>;
20
14
  }
21
15
  /**
22
16
  * A node for drawing a smooth line through a number of points.
@@ -62,32 +56,32 @@ export interface SplineProps extends CurveProps {
62
56
  * ```
63
57
  */
64
58
  export declare class Spline extends Curve {
65
- /**
66
- * The smoothness of the spline when using auto-calculated handles.
67
- *
68
- * @remarks
69
- * This property is only applied to knots that don't use explicit handles.
70
- *
71
- * @defaultValue 0.4
72
- */
73
- readonly smoothness: SimpleSignal<number>;
74
- /**
75
- * The knots of the spline as an array of knots with auto-calculated handles.
76
- *
77
- * @remarks
78
- * You can control the smoothness of the resulting curve
79
- * via the {@link smoothness} property.
80
- */
81
- readonly points: SimpleSignal<SignalValue<PossibleVector2>[] | null, this>;
82
- constructor(props: SplineProps);
83
- profile(): CurveProfile;
84
- knots(): KnotInfo[];
85
- protected childrenBBox(): BBox;
86
- protected lineWidthCoefficient(): number;
87
- protected desiredSize(): SerializedVector2<DesiredLength>;
88
- protected offsetComputedLayout(box: BBox): BBox;
89
- private getTightBBox;
90
- drawOverlay(context: CanvasRenderingContext2D, matrix: DOMMatrix): void;
91
- private isKnot;
59
+ /**
60
+ * The smoothness of the spline when using auto-calculated handles.
61
+ *
62
+ * @remarks
63
+ * This property is only applied to knots that don't use explicit handles.
64
+ *
65
+ * @defaultValue 0.4
66
+ */
67
+ readonly smoothness: SimpleSignal<number>;
68
+ /**
69
+ * The knots of the spline as an array of knots with auto-calculated handles.
70
+ *
71
+ * @remarks
72
+ * You can control the smoothness of the resulting curve
73
+ * via the {@link smoothness} property.
74
+ */
75
+ readonly points: SimpleSignal<SignalValue<PossibleVector2>[] | null, this>;
76
+ constructor(props: SplineProps);
77
+ profile(): CurveProfile;
78
+ knots(): KnotInfo[];
79
+ protected childrenBBox(): BBox;
80
+ protected lineWidthCoefficient(): number;
81
+ protected desiredSize(): SerializedVector2<DesiredLength>;
82
+ protected offsetComputedLayout(box: BBox): BBox;
83
+ private getTightBBox;
84
+ drawOverlay(context: CanvasRenderingContext2D, matrix: DOMMatrix): void;
85
+ private isKnot;
92
86
  }
93
- //# sourceMappingURL=Spline.d.ts.map
87
+ //# sourceMappingURL=Spline.d.ts.map
@@ -1,62 +1,51 @@
1
- import {
2
- InterpolationFunction,
3
- SignalValue,
4
- SimpleSignal,
5
- ThreadGenerator,
6
- TimingFunction,
7
- } from '@revideo/core';
8
- import {Node} from './Node';
9
- import {Shape, ShapeProps} from './Shape';
10
- import {TxtLeaf} from './TxtLeaf';
11
- import {ComponentChildren} from './types';
1
+ import { InterpolationFunction, SignalValue, SimpleSignal, ThreadGenerator, TimingFunction } from '@revideo/core';
2
+ import { Node } from './Node';
3
+ import { Shape, ShapeProps } from './Shape';
4
+ import { TxtLeaf } from './TxtLeaf';
5
+ import { ComponentChildren } from './types';
12
6
  type TxtChildren = string | Node | (string | Node)[];
13
7
  type AnyTxt = Txt | TxtLeaf;
14
8
  export interface TxtProps extends ShapeProps {
15
- children?: TxtChildren;
16
- text?: SignalValue<string>;
9
+ children?: TxtChildren;
10
+ text?: SignalValue<string>;
17
11
  }
18
12
  export declare class Txt extends Shape {
19
- /**
20
- * Create a bold text node.
21
- *
22
- * @remarks
23
- * This is a shortcut for
24
- * ```tsx
25
- * <Txt fontWeight={700} />
26
- * ```
27
- *
28
- * @param props - Additional text properties.
29
- */
30
- static b(props: TxtProps): Txt;
31
- /**
32
- * Create an italic text node.
33
- *
34
- * @remarks
35
- * This is a shortcut for
36
- * ```tsx
37
- * <Txt fontStyle={'italic'} />
38
- * ```
39
- *
40
- * @param props - Additional text properties.
41
- */
42
- static i(props: TxtProps): Txt;
43
- readonly text: SimpleSignal<string, this>;
44
- protected getText(): string;
45
- protected setText(value: SignalValue<string>): void;
46
- protected setChildren(value: SignalValue<ComponentChildren>): void;
47
- protected tweenText(
48
- value: SignalValue<string>,
49
- time: number,
50
- timingFunction: TimingFunction,
51
- interpolationFunction: InterpolationFunction<string>,
52
- ): ThreadGenerator;
53
- protected getLayout(): boolean;
54
- constructor({children, text, ...props}: TxtProps);
55
- protected innerText(): string;
56
- protected parentTxt(): Txt | null;
57
- protected parseChildren(children: ComponentChildren): AnyTxt[];
58
- protected applyFlex(): void;
59
- protected draw(context: CanvasRenderingContext2D): Promise<void>;
13
+ /**
14
+ * Create a bold text node.
15
+ *
16
+ * @remarks
17
+ * This is a shortcut for
18
+ * ```tsx
19
+ * <Txt fontWeight={700} />
20
+ * ```
21
+ *
22
+ * @param props - Additional text properties.
23
+ */
24
+ static b(props: TxtProps): Txt;
25
+ /**
26
+ * Create an italic text node.
27
+ *
28
+ * @remarks
29
+ * This is a shortcut for
30
+ * ```tsx
31
+ * <Txt fontStyle={'italic'} />
32
+ * ```
33
+ *
34
+ * @param props - Additional text properties.
35
+ */
36
+ static i(props: TxtProps): Txt;
37
+ readonly text: SimpleSignal<string, this>;
38
+ protected getText(): string;
39
+ protected setText(value: SignalValue<string>): void;
40
+ protected setChildren(value: SignalValue<ComponentChildren>): void;
41
+ protected tweenText(value: SignalValue<string>, time: number, timingFunction: TimingFunction, interpolationFunction: InterpolationFunction<string>): ThreadGenerator;
42
+ protected getLayout(): boolean;
43
+ constructor({ children, text, ...props }: TxtProps);
44
+ protected innerText(): string;
45
+ protected parentTxt(): Txt | null;
46
+ protected parseChildren(children: ComponentChildren): AnyTxt[];
47
+ protected applyFlex(): void;
48
+ protected draw(context: CanvasRenderingContext2D): Promise<void>;
60
49
  }
61
50
  export {};
62
- //# sourceMappingURL=Txt.d.ts.map
51
+ //# sourceMappingURL=Txt.d.ts.map
@@ -1,24 +1,20 @@
1
- import {BBox, SignalValue, SimpleSignal} from '@revideo/core';
2
- import {Shape, ShapeProps} from './Shape';
3
- import {Txt} from './Txt';
1
+ import { BBox, SignalValue, SimpleSignal } from '@revideo/core';
2
+ import { Shape, ShapeProps } from './Shape';
3
+ import { Txt } from './Txt';
4
4
  export interface TxtLeafProps extends ShapeProps {
5
- children?: string;
6
- text?: SignalValue<string>;
5
+ children?: string;
6
+ text?: SignalValue<string>;
7
7
  }
8
8
  export declare class TxtLeaf extends Shape {
9
- protected static formatter: HTMLDivElement;
10
- protected static readonly segmenter: any;
11
- readonly text: SimpleSignal<string, this>;
12
- constructor({children, ...rest}: TxtLeafProps);
13
- protected parentTxt(): Txt | null;
14
- protected draw(context: CanvasRenderingContext2D): Promise<void>;
15
- protected drawText(
16
- context: CanvasRenderingContext2D,
17
- text: string,
18
- box: BBox,
19
- ): Promise<void>;
20
- protected getCacheBBox(): BBox;
21
- protected applyFlex(): void;
22
- protected updateLayout(): void;
9
+ protected static formatter: HTMLDivElement;
10
+ protected static readonly segmenter: any;
11
+ readonly text: SimpleSignal<string, this>;
12
+ constructor({ children, ...rest }: TxtLeafProps);
13
+ protected parentTxt(): Txt | null;
14
+ protected draw(context: CanvasRenderingContext2D): Promise<void>;
15
+ protected drawText(context: CanvasRenderingContext2D, text: string, box: BBox): Promise<void>;
16
+ protected getCacheBBox(): BBox;
17
+ protected applyFlex(): void;
18
+ protected updateLayout(): void;
23
19
  }
24
- //# sourceMappingURL=TxtLeaf.d.ts.map
20
+ //# sourceMappingURL=TxtLeaf.d.ts.map
@@ -61,6 +61,7 @@ export declare class Video extends Media {
61
61
  protected seekFunction(): Promise<CanvasImageSource>;
62
62
  protected draw(context: CanvasRenderingContext2D): Promise<void>;
63
63
  protected applyFlex(): void;
64
+ remove(): this;
64
65
  private detectFileType;
65
66
  }
66
67
  //# sourceMappingURL=Video.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Video.d.ts","sourceRoot":"","sources":["../../src/lib/components/Video.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,iBAAiB,EACjB,WAAW,EACX,YAAY,EAEb,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAC,aAAa,EAAC,MAAM,aAAa,CAAC;AAI1C,OAAO,EAAC,KAAK,EAAE,UAAU,EAAC,MAAM,SAAS,CAAC;AAE1C,MAAM,WAAW,UAAW,SAAQ,UAAU;IAC5C;;OAEG;IACH,KAAK,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5B;;OAEG;IACH,SAAS,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IACjC;;OAEG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,IAAI,CAAC,CAAC;CACzD;AAED,qBACa,KAAM,SAAQ,KAAK;IAC9B;;;;;;OAMG;IACH,SAEwB,KAAK,EAAE,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAE1D;;;;;;;;OAQG;IACH,SAEwB,SAAS,EAAE,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAE/D;;;;;;;OAOG;IACH,SAEwB,OAAO,EAAE,YAAY,CAC3C,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,IAAI,EAChC,IAAI,CACL,CAAC;IAEK,gBAAgB,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,GAAG,SAAS,CACvD;IACZ,OAAO,CAAC,mBAAmB,CAAkB;IAE7C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAwC;IAEpE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAEb;gBAEV,KAAK,EAAE,UAAU;cAIjB,WAAW,IAAI,iBAAiB,CAAC,aAAa,CAAC;IAalE,SAAS,CAAC,YAAY,IAAI,gBAAgB;IAI1C,SAAS,CAAC,WAAW,IAAI,gBAAgB;IAIzC,SAAS,CAAC,eAAe,IAAI,gBAAgB;IAK7C,OAAO,CAAC,KAAK;IA0Cb,SAAS,CAAC,WAAW,IAAI,gBAAgB;IAoBzC,SAAS,CAAC,eAAe,IAAI,gBAAgB;IA+B7C,SAAS,CAAC,SAAS,EAAE,gBAAgB,GAAG,IAAI,CAAQ;cAEpC,mBAAmB,IAAI,OAAO,CAAC,iBAAiB,CAAC;cAcjD,iBAAiB,IAAI,OAAO,CAAC,gBAAgB,CAAC;cA8B9C,YAAY;cA4CH,IAAI,CAAC,OAAO,EAAE,wBAAwB;cAwB5C,SAAS;YAQd,cAAc;CAqC7B"}
1
+ {"version":3,"file":"Video.d.ts","sourceRoot":"","sources":["../../src/lib/components/Video.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,iBAAiB,EACjB,WAAW,EACX,YAAY,EAEb,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAC,aAAa,EAAC,MAAM,aAAa,CAAC;AAI1C,OAAO,EAAC,KAAK,EAAE,UAAU,EAAC,MAAM,SAAS,CAAC;AAE1C,MAAM,WAAW,UAAW,SAAQ,UAAU;IAC5C;;OAEG;IACH,KAAK,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5B;;OAEG;IACH,SAAS,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IACjC;;OAEG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,IAAI,CAAC,CAAC;CACzD;AAED,qBACa,KAAM,SAAQ,KAAK;IAC9B;;;;;;OAMG;IACH,SAEwB,KAAK,EAAE,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAE1D;;;;;;;;OAQG;IACH,SAEwB,SAAS,EAAE,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAE/D;;;;;;;OAOG;IACH,SAEwB,OAAO,EAAE,YAAY,CAC3C,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,IAAI,EAChC,IAAI,CACL,CAAC;IAEK,gBAAgB,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,GAAG,SAAS,CACvD;IACZ,OAAO,CAAC,mBAAmB,CAAkB;IAE7C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAwC;IAEpE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAEb;gBAEV,KAAK,EAAE,UAAU;cAIjB,WAAW,IAAI,iBAAiB,CAAC,aAAa,CAAC;IAalE,SAAS,CAAC,YAAY,IAAI,gBAAgB;IAI1C,SAAS,CAAC,WAAW,IAAI,gBAAgB;IAIzC,SAAS,CAAC,eAAe,IAAI,gBAAgB;IAK7C,OAAO,CAAC,KAAK;IA0Cb,SAAS,CAAC,WAAW,IAAI,gBAAgB;IAoBzC,SAAS,CAAC,eAAe,IAAI,gBAAgB;IAgC7C,SAAS,CAAC,SAAS,EAAE,gBAAgB,GAAG,IAAI,CAAQ;cAEpC,mBAAmB,IAAI,OAAO,CAAC,iBAAiB,CAAC;cAcjD,iBAAiB,IAAI,OAAO,CAAC,gBAAgB,CAAC;cA8B9C,YAAY;cA4CH,IAAI,CAAC,OAAO,EAAE,wBAAwB;cAwB5C,SAAS;IAQZ,MAAM;YAMR,cAAc;CAqC7B"}
@@ -10,7 +10,7 @@ import Hls from 'hls.js';
10
10
  import { computed, initial, nodeName, signal } from '../decorators';
11
11
  import { drawImage } from '../utils';
12
12
  import { ImageCommunication } from '../utils/video/ffmpeg-client';
13
- import { getFrame } from '../utils/video/mp4-parser-manager';
13
+ import { dropExtractor, getFrame } from '../utils/video/mp4-parser-manager';
14
14
  import { Media } from './Media';
15
15
  let Video = Video_1 = class Video extends Media {
16
16
  constructor(props) {
@@ -103,7 +103,8 @@ let Video = Video_1 = class Video extends Media {
103
103
  video.pause();
104
104
  }
105
105
  }
106
- if (Math.abs(video.currentTime - time) > 0.3) {
106
+ // reseek when video is out of sync by more than one second
107
+ if (Math.abs(video.currentTime - time) > 1) {
107
108
  this.setCurrentTime(time);
108
109
  }
109
110
  else if (!playing) {
@@ -196,6 +197,11 @@ let Video = Video_1 = class Video extends Media {
196
197
  const video = this.video();
197
198
  this.element.style.aspectRatio = (this.ratio() ?? video.videoWidth / video.videoHeight).toString();
198
199
  }
200
+ remove() {
201
+ super.remove();
202
+ dropExtractor(this.key, this.video().src);
203
+ return this;
204
+ }
199
205
  async detectFileType() {
200
206
  if (this.fullSource().split('?')[0].endsWith('.mp4'))
201
207
  return 'mp4';
@@ -260,4 +266,4 @@ Video = Video_1 = __decorate([
260
266
  nodeName('Video')
261
267
  ], Video);
262
268
  export { Video };
263
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVmlkZW8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvVmlkZW8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLE9BQU8sRUFDTCxJQUFJLEVBQ0osaUJBQWlCLEVBQ2pCLGFBQWEsRUFJYixRQUFRLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxHQUFHLE1BQU0sUUFBUSxDQUFDO0FBQ3pCLE9BQU8sRUFBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFbEUsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUNuQyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDM0QsT0FBTyxFQUFDLEtBQUssRUFBYSxNQUFNLFNBQVMsQ0FBQztBQWtCbkMsSUFBTSxLQUFLLGFBQVgsTUFBTSxLQUFNLFNBQVEsS0FBSztJQWtEOUIsWUFBbUIsS0FBaUI7UUFDbEMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBWFIscUJBQWdCLEdBQ3JCLFNBQVMsQ0FBQztRQUNKLHdCQUFtQixHQUFZLEtBQUssQ0FBQztRQW1JbkMsY0FBUyxHQUE0QixJQUFJLENBQUM7SUF6SHBELENBQUM7SUFFa0IsV0FBVztRQUM1QixNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkMsSUFBSSxNQUFNLENBQUMsQ0FBQyxLQUFLLElBQUksSUFBSSxNQUFNLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQzNDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUMzQixPQUFPO2dCQUNMLENBQUMsRUFBRSxLQUFLLENBQUMsVUFBVTtnQkFDbkIsQ0FBQyxFQUFFLEtBQUss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
269
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVmlkZW8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvVmlkZW8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLE9BQU8sRUFDTCxJQUFJLEVBQ0osaUJBQWlCLEVBQ2pCLGFBQWEsRUFJYixRQUFRLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxHQUFHLE1BQU0sUUFBUSxDQUFDO0FBQ3pCLE9BQU8sRUFBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFbEUsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUNuQyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsYUFBYSxFQUFFLFFBQVEsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQzFFLE9BQU8sRUFBQyxLQUFLLEVBQWEsTUFBTSxTQUFTLENBQUM7QUFrQm5DLElBQU0sS0FBSyxhQUFYLE1BQU0sS0FBTSxTQUFRLEtBQUs7SUFrRDlCLFlBQW1CLEtBQWlCO1FBQ2xDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQVhSLHFCQUFnQixHQUNyQixTQUFTLENBQUM7UUFDSix3QkFBbUIsR0FBWSxLQUFLLENBQUM7UUFvSW5DLGNBQVMsR0FBNEIsSUFBSSxDQUFDO0lBMUhwRCxDQUFDO0lBRWtCLFdBQVc7UUFDNUIsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25DLElBQUksTUFBTSxDQUFDLENBQUMsS0FBSyxJQUFJLElBQUksTUFBTSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUMzQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDM0IsT0FBTztnQkFDTCxDQUFDLEVBQUUsS0FBSyxDQUFDLFVBQVU7Z0JBQ25CLENBQUMs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