@microfox/remotion 1.0.2 → 1.2.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/dist/index.d.mts DELETED
@@ -1,931 +0,0 @@
1
- import * as React$1 from 'react';
2
- import React__default, { CSSProperties, ReactNode, ComponentType as ComponentType$1 } from 'react';
3
- import { z } from 'zod';
4
- import { VideoConfig, CalculateMetadataFunction } from 'remotion';
5
-
6
- type Boundaries = {
7
- left?: number | string;
8
- top?: number | string;
9
- width?: number | string;
10
- height?: number | string;
11
- right?: number | string;
12
- bottom?: number | string;
13
- zIndex?: number;
14
- };
15
- type Timing = {
16
- start?: number;
17
- duration?: number;
18
- };
19
- type CalculatedBoundaries = {
20
- left?: number;
21
- top?: number;
22
- right?: number;
23
- bottom?: number;
24
- width?: number;
25
- height?: number;
26
- zIndex?: number;
27
- };
28
- type CalculatedTiming = {
29
- startInFrames?: number;
30
- durationInFrames?: number;
31
- start?: number;
32
- duration?: number;
33
- fitDurationTo?: string[] | string;
34
- };
35
- type Hierarchy = {
36
- depth: number;
37
- parentIds: string[];
38
- };
39
- interface BaseRenderableContext {
40
- overrideStyle?: CSSProperties;
41
- }
42
- interface RenderableContext extends BaseRenderableContext {
43
- boundaries?: CalculatedBoundaries;
44
- timing?: CalculatedTiming;
45
- hierarchy?: Hierarchy;
46
- }
47
- interface InternalRenderableContext extends BaseRenderableContext {
48
- boundaries: CalculatedBoundaries;
49
- timing?: CalculatedTiming;
50
- hierarchy: Hierarchy;
51
- }
52
- type RenderableData = {
53
- [key: string]: any;
54
- };
55
- interface BaseComponentData {
56
- id: string;
57
- componentId: string;
58
- type: ComponentType;
59
- data?: RenderableData;
60
- context?: RenderableContext;
61
- childrenData?: RenderableComponentData[];
62
- effects?: BaseEffect[];
63
- }
64
- type BaseEffect = string | {
65
- id: string;
66
- componentId: string;
67
- data?: RenderableData;
68
- context?: RenderableContext;
69
- };
70
- type ComponentType = 'atom' | 'layout' | 'frame' | 'scene' | 'transition';
71
- interface AtomComponentData extends BaseComponentData {
72
- type: 'atom';
73
- data?: RenderableData & {
74
- boundaries?: Boundaries;
75
- };
76
- context?: RenderableContext;
77
- }
78
- interface LayoutComponentData extends BaseComponentData {
79
- type: 'layout';
80
- data?: RenderableData & {
81
- boundaries?: Boundaries;
82
- timing?: Timing;
83
- };
84
- context?: RenderableContext;
85
- }
86
- interface FrameComponentData extends BaseComponentData {
87
- type: 'frame';
88
- data?: RenderableData & {
89
- boundaries?: Boundaries;
90
- timing?: Timing;
91
- };
92
- context?: RenderableContext;
93
- }
94
- interface SceneComponentData extends BaseComponentData {
95
- type: 'scene';
96
- data?: RenderableData & {
97
- timing?: Timing;
98
- };
99
- }
100
- interface TransitionComponentData extends BaseComponentData {
101
- type: 'transition';
102
- data?: RenderableData & {
103
- timing?: Timing;
104
- };
105
- }
106
- type RenderableComponentData = AtomComponentData | LayoutComponentData | FrameComponentData | SceneComponentData | TransitionComponentData;
107
- interface BaseRenderableProps {
108
- id: string;
109
- componentId: string;
110
- type: ComponentType;
111
- data?: RenderableData;
112
- context?: InternalRenderableContext;
113
- children?: ReactNode;
114
- }
115
- interface BaseRenderableData extends BaseComponentData {
116
- childrenData?: RenderableComponentData[];
117
- context?: RenderableContext;
118
- }
119
-
120
- interface BoundaryConstraints {
121
- x?: number | string;
122
- y?: number | string;
123
- width?: number | string;
124
- height?: number | string;
125
- zIndex?: number;
126
- }
127
- interface TimingConstraints {
128
- startFrame?: number;
129
- durationFrames?: number;
130
- delay?: number;
131
- }
132
- interface LayoutConstraints {
133
- alignment?: 'top-left' | 'top-center' | 'top-right' | 'center-left' | 'center' | 'center-right' | 'bottom-left' | 'bottom-center' | 'bottom-right';
134
- padding?: number;
135
- spacing?: number;
136
- columns?: number;
137
- rows?: number;
138
- }
139
-
140
- interface CompositionContext {
141
- childrenData?: RenderableComponentData[];
142
- width: number;
143
- height: number;
144
- duration: number;
145
- fps: number;
146
- currentFrame: number;
147
- }
148
-
149
- interface ComponentConfig {
150
- displayName: string;
151
- type?: ComponentType;
152
- isInnerSequence?: boolean;
153
- [key: string]: any;
154
- }
155
- interface ComponentRegistry {
156
- [key: string]: {
157
- component: React.ComponentType<BaseRenderableProps>;
158
- config: ComponentConfig;
159
- };
160
- }
161
- interface RegistryEntry {
162
- type: ComponentType;
163
- component: React.ComponentType<BaseRenderableProps>;
164
- config: ComponentConfig;
165
- package?: string;
166
- }
167
- interface PackageRegistry {
168
- [packageName: string]: {
169
- [componentName: string]: {
170
- component: React.ComponentType<BaseRenderableProps>;
171
- config: ComponentConfig;
172
- };
173
- };
174
- }
175
-
176
- declare class ComponentRegistryManager {
177
- private registry;
178
- private packageRegistry;
179
- registerComponent(name: string, component: React.ComponentType<any>, type: 'frame' | 'layout' | 'atom', config?: ComponentConfig, packageName?: string): void;
180
- registerEffect(name: string, component: React.ComponentType<any>, config?: ComponentConfig, packageName?: string): void;
181
- getComponent(name: string): React.ComponentType<any> | undefined;
182
- getComponentConfig(name: string): ComponentConfig | undefined;
183
- getComponentWithConfig(name: string): {
184
- component: React.ComponentType<any>;
185
- config: ComponentConfig;
186
- } | undefined;
187
- registerPackage(packageName: string, components: Record<string, {
188
- component: React.ComponentType<any>;
189
- config: ComponentConfig;
190
- }>): void;
191
- getPackageComponents(packageName: string): Record<string, {
192
- component: React.ComponentType<any>;
193
- config: ComponentConfig;
194
- }> | undefined;
195
- getAllComponents(): ComponentRegistry;
196
- clear(): void;
197
- }
198
- declare const componentRegistry: ComponentRegistryManager;
199
- declare const registerComponent: (name: string, component: React.ComponentType<any>, type: "frame" | "layout" | "atom", config?: ComponentConfig, packageName?: string) => void;
200
- declare const registerEffect: (name: string, component: React.ComponentType<any>, config?: ComponentConfig, packageName?: string) => void;
201
- declare const registerPackage: (packageName: string, components: Record<string, {
202
- component: React.ComponentType<any>;
203
- config: ComponentConfig;
204
- }>) => void;
205
- declare const getComponent: (name: string) => React$1.ComponentType<any>;
206
- declare const getComponentConfig: (name: string) => ComponentConfig;
207
- declare const getComponentWithConfig: (name: string) => {
208
- component: React.ComponentType<any>;
209
- config: ComponentConfig;
210
- };
211
-
212
- interface CompositionContextValue {
213
- root?: RenderableComponentData[];
214
- duration: number;
215
- }
216
- interface CompositionProviderProps {
217
- children: React__default.ReactNode;
218
- value: CompositionContextValue;
219
- }
220
- declare const CompositionProvider: React__default.FC<CompositionProviderProps>;
221
- declare const useComposition: () => CompositionContextValue;
222
-
223
- declare const useRenderContext: () => RenderableContext;
224
- declare const ComponentRenderer: React__default.FC<BaseRenderableData>;
225
-
226
- interface FrameProps extends BaseRenderableProps {
227
- data?: {
228
- style?: React__default.CSSProperties;
229
- };
230
- }
231
- declare const Frame: ({ children, data }: FrameProps) => React__default.JSX.Element;
232
-
233
- interface SceneFrameProps extends BaseRenderableProps {
234
- children?: ReactNode;
235
- }
236
- declare const SceneFrame: React__default.FC<SceneFrameProps>;
237
-
238
- interface BaseLayoutProps extends BaseRenderableProps {
239
- children?: ReactNode;
240
- }
241
- declare const Layout: ComponentType$1<BaseLayoutProps>;
242
- declare const config$a: ComponentConfig;
243
-
244
- type Shape = 'circle' | 'rectangle' | 'star' | 'triangle';
245
- interface ShapeAtomProps extends BaseRenderableProps {
246
- data: {
247
- shape: Shape;
248
- color: string;
249
- rotation?: {
250
- duration: number;
251
- };
252
- style?: React__default.CSSProperties;
253
- };
254
- }
255
- declare const Atom$5: React__default.FC<ShapeAtomProps>;
256
- declare const config$9: ComponentConfig;
257
-
258
- interface ImageAtomProps extends BaseRenderableProps {
259
- data: {
260
- src: string;
261
- style?: React__default.CSSProperties;
262
- className?: string;
263
- };
264
- }
265
- declare const Atom$4: React__default.FC<ImageAtomProps>;
266
- declare const config$8: ComponentConfig;
267
-
268
- interface TextAtomData {
269
- text: string;
270
- style?: React__default.CSSProperties;
271
- className?: string;
272
- font?: {
273
- family: string;
274
- weights?: string[];
275
- subsets?: string[];
276
- display?: 'auto' | 'block' | 'swap' | 'fallback' | 'optional';
277
- preload?: boolean;
278
- };
279
- fallbackFonts?: string[];
280
- }
281
- interface TextAtomProps$1 extends BaseRenderableProps {
282
- data: TextAtomData;
283
- }
284
- declare const Atom$3: React__default.FC<TextAtomProps$1>;
285
- declare const config$7: ComponentConfig;
286
-
287
- declare const VideoAtomDataProps: z.ZodObject<{
288
- src: z.ZodString;
289
- style: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
290
- className: z.ZodOptional<z.ZodString>;
291
- startFrom: z.ZodOptional<z.ZodNumber>;
292
- endAt: z.ZodOptional<z.ZodNumber>;
293
- playbackRate: z.ZodOptional<z.ZodNumber>;
294
- volume: z.ZodOptional<z.ZodNumber>;
295
- muted: z.ZodOptional<z.ZodBoolean>;
296
- loop: z.ZodOptional<z.ZodBoolean>;
297
- fit: z.ZodOptional<z.ZodEnum<{
298
- fill: "fill";
299
- none: "none";
300
- contain: "contain";
301
- cover: "cover";
302
- "scale-down": "scale-down";
303
- }>>;
304
- }, z.core.$strip>;
305
- type VideoAtomDataProps = z.infer<typeof VideoAtomDataProps>;
306
- /**
307
- * Props interface for the VideoAtom component
308
- * Extends base renderable props with video-specific data
309
- */
310
- interface VideoAtomProps extends BaseRenderableProps {
311
- data: VideoAtomDataProps;
312
- }
313
- /**
314
- * VideoAtom Component
315
- *
316
- * A Remotion component that renders video with advanced control features:
317
- * - Time-based trimming (start/end points)
318
- * - Playback rate and volume control
319
- * - Flexible styling and object fit options
320
- * - Loop functionality
321
- *
322
- * @param data - Video configuration object containing all playback and styling settings
323
- * @returns Remotion Video component with applied configurations
324
- */
325
- declare const Atom$2: React__default.FC<VideoAtomProps>;
326
- declare const config$6: ComponentConfig;
327
-
328
- declare const AudioAtomDataProps: z.ZodObject<{
329
- src: z.ZodString;
330
- startFrom: z.ZodOptional<z.ZodNumber>;
331
- endAt: z.ZodOptional<z.ZodNumber>;
332
- volume: z.ZodOptional<z.ZodNumber>;
333
- playbackRate: z.ZodOptional<z.ZodNumber>;
334
- muted: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
335
- type: z.ZodLiteral<"full">;
336
- value: z.ZodBoolean;
337
- }, z.core.$strip>, z.ZodObject<{
338
- type: z.ZodLiteral<"range">;
339
- values: z.ZodArray<z.ZodObject<{
340
- start: z.ZodNumber;
341
- end: z.ZodNumber;
342
- }, z.core.$strip>>;
343
- }, z.core.$strip>]>>;
344
- }, z.core.$strip>;
345
- type AudioAtomDataProps = z.infer<typeof AudioAtomDataProps>;
346
- /**
347
- * Props interface for the AudioAtom component
348
- * Extends base renderable props with audio-specific data
349
- */
350
- interface AudioAtomProps extends BaseRenderableProps {
351
- data: AudioAtomDataProps;
352
- }
353
- /**
354
- * AudioAtom Component
355
- *
356
- * A Remotion component that renders audio with advanced control features:
357
- * - Time-based trimming (start/end points)
358
- * - Volume and playback rate control
359
- * - Flexible muting (full track or specific time ranges)
360
- *
361
- * @param data - Audio configuration object containing all playback settings
362
- * @returns Remotion Audio component with applied configurations
363
- */
364
- declare const Atom$1: React__default.FC<AudioAtomProps>;
365
- declare const config$5: ComponentConfig;
366
-
367
- interface FontConfig$1 {
368
- family: string;
369
- weights?: string[];
370
- subsets?: string[];
371
- display?: 'auto' | 'block' | 'swap' | 'fallback' | 'optional';
372
- preload?: boolean;
373
- }
374
- interface TextAtomDataWithFonts {
375
- text: string;
376
- style?: React__default.CSSProperties;
377
- className?: string;
378
- font?: FontConfig$1;
379
- fallbackFonts?: string[];
380
- loadingState?: {
381
- showLoadingIndicator?: boolean;
382
- loadingText?: string;
383
- loadingStyle?: React__default.CSSProperties;
384
- };
385
- errorState?: {
386
- showErrorIndicator?: boolean;
387
- errorText?: string;
388
- errorStyle?: React__default.CSSProperties;
389
- };
390
- }
391
- interface TextAtomProps extends BaseRenderableProps {
392
- data: TextAtomDataWithFonts;
393
- }
394
- /**
395
- * Enhanced TextAtom with comprehensive dynamic font loading capabilities
396
- *
397
- * Features:
398
- * - Dynamic Google Font loading with simplified API
399
- * - Loading states with visual indicators
400
- * - Error handling with fallbacks
401
- * - Multiple font weights and subsets support
402
- * - Font preloading for performance
403
- * - Graceful degradation to system fonts
404
- */
405
- declare const Atom: React__default.FC<TextAtomProps>;
406
- declare const config$4: ComponentConfig;
407
-
408
- declare const BlurEffect: React__default.FC<BaseRenderableProps>;
409
- declare const config$3: {
410
- displayName: string;
411
- description: string;
412
- category: string;
413
- props: {
414
- blur: {
415
- type: string;
416
- description: string;
417
- default: number;
418
- };
419
- };
420
- };
421
-
422
- declare const LoopEffect: React__default.FC<BaseRenderableProps>;
423
- declare const config$2: ComponentConfig;
424
-
425
- interface PanEffectData {
426
- effectTiming?: 'start' | 'end';
427
- panDuration?: number | string;
428
- panStart?: number;
429
- panEnd?: number;
430
- panStartDelay?: number | string;
431
- panEndDelay?: number | string;
432
- panDirection?: 'left' | 'right' | 'up' | 'down' | 'diagonal' | 'custom';
433
- panDistance?: number | [number, number][];
434
- loopTimes?: number;
435
- panStartPosition?: [number, number] | string;
436
- panEndPosition?: [number, number] | string;
437
- animationType?: 'linear' | 'spring' | 'ease-in' | 'ease-out' | 'ease-in-out';
438
- }
439
- declare const PanEffect: React__default.FC<BaseRenderableProps>;
440
- declare const config$1: ComponentConfig;
441
-
442
- interface ZoomEffectData {
443
- effectTiming?: 'start' | 'end';
444
- zoomDuration?: number | string;
445
- zoomStart?: number;
446
- zoomEnd?: number;
447
- zoomStartDelay?: number | string;
448
- zoomEndDelay?: number | string;
449
- zoomDirection?: 'in' | 'out';
450
- zoomDepth?: number | [number, number][];
451
- loopTimes?: number;
452
- zoomPosition?: [number, number] | string;
453
- animationType?: 'linear' | 'spring' | 'ease-in' | 'ease-out' | 'ease-in-out';
454
- }
455
- declare const ZoomEffect: React__default.FC<BaseRenderableProps>;
456
- declare const config: ComponentConfig;
457
-
458
- declare const useComponentRegistry: () => {
459
- registerComponent: any;
460
- registerPackage: any;
461
- getComponent: any;
462
- getAllComponents: any;
463
- };
464
-
465
- interface UseBoundaryCalculationProps {
466
- parentBoundaries: {
467
- x: number;
468
- y: number;
469
- width: number;
470
- height: number;
471
- };
472
- constraints: BoundaryConstraints;
473
- layout?: LayoutConstraints;
474
- }
475
- declare const useBoundaryCalculation: ({ parentBoundaries, constraints, layout, }: UseBoundaryCalculationProps) => {
476
- x: number;
477
- y: number;
478
- width: number;
479
- height: number;
480
- zIndex: number;
481
- };
482
-
483
- declare function buildLayoutHook<T extends z.ZodSchema>(schema: T, defaultValue: z.infer<T>): () => z.core.output<T>;
484
-
485
- interface FontConfig {
486
- family: string;
487
- weights?: string[];
488
- subsets?: string[];
489
- display?: 'auto' | 'block' | 'swap' | 'fallback' | 'optional';
490
- preload?: boolean;
491
- }
492
- interface FontLoadingOptions {
493
- subsets?: string[];
494
- weights?: string[];
495
- display?: 'auto' | 'block' | 'swap' | 'fallback' | 'optional';
496
- preload?: boolean;
497
- }
498
- /**
499
- * Load a Google Font dynamically using dynamic imports
500
- * @param fontFamily - The font family name (e.g., 'Inter', 'Roboto')
501
- * @param options - Font loading options
502
- * @returns Promise that resolves with the fontFamily CSS value
503
- */
504
- declare const loadGoogleFont: (fontFamily: string, options?: FontLoadingOptions) => Promise<string>;
505
- /**
506
- * Load multiple fonts in parallel
507
- * @param fonts - Array of font configurations
508
- * @returns Promise that resolves with a map of font family names to CSS values
509
- */
510
- declare const loadMultipleFonts: (fonts: Array<{
511
- family: string;
512
- options?: FontLoadingOptions;
513
- }>) => Promise<Map<string, string>>;
514
- /**
515
- * Get font family CSS value from cache
516
- * @param fontFamily - The font family name
517
- * @param options - Font loading options
518
- * @returns CSS font-family value or undefined if not loaded
519
- */
520
- declare const getLoadedFontFamily: (fontFamily: string, options?: FontLoadingOptions) => string | undefined;
521
- /**
522
- * Preload common fonts for better performance
523
- */
524
- declare const preloadCommonFonts: () => Promise<Map<string, string>>;
525
- /**
526
- * Check if a font is already loaded
527
- * @param fontFamily - The font family name
528
- * @param options - Font loading options
529
- * @returns boolean indicating if font is loaded
530
- */
531
- declare const isFontLoaded: (fontFamily: string, options?: FontLoadingOptions) => boolean;
532
- /**
533
- * Clear font cache (useful for testing or memory management)
534
- */
535
- declare const clearFontCache: () => void;
536
- /**
537
- * Get all loaded fonts
538
- * @returns Map of loaded fonts
539
- */
540
- declare const getLoadedFonts: () => Map<string, string>;
541
- /**
542
- * Check if a font is available in @remotion/google-fonts
543
- * @param fontFamily - The font family name to check
544
- * @returns Promise that resolves to boolean indicating if font is available
545
- */
546
- declare const isFontAvailable: (fontFamily: string) => Promise<boolean>;
547
- /**
548
- * Get normalized font name for import
549
- * @param fontFamily - The font family name
550
- * @returns Normalized font name suitable for import
551
- */
552
- declare const getNormalizedFontName: (fontFamily: string) => string;
553
-
554
- interface UseFontLoaderOptions {
555
- preload?: boolean;
556
- onLoad?: (fontFamily: string, cssValue: string) => void;
557
- onError?: (fontFamily: string, error: Error) => void;
558
- }
559
- interface FontLoaderState {
560
- loadedFonts: Map<string, string>;
561
- loadingFonts: Set<string>;
562
- errorFonts: Map<string, Error>;
563
- }
564
- /**
565
- * Hook for managing dynamic font loading in Remotion components
566
- */
567
- declare const useFontLoader: (options?: UseFontLoaderOptions) => {
568
- loadedFonts: Map<string, string>;
569
- loadingFonts: Set<string>;
570
- errorFonts: Map<string, Error>;
571
- loadFont: (fontFamily: string, fontOptions?: FontLoadingOptions) => Promise<string>;
572
- loadMultipleFonts: (fonts: Array<{
573
- family: string;
574
- options?: FontLoadingOptions;
575
- }>) => Promise<Map<string, string>>;
576
- isFontReady: (fontFamily: string, options?: FontLoadingOptions) => boolean;
577
- areFontsReady: (fontFamilies: Array<{
578
- family: string;
579
- options?: FontLoadingOptions;
580
- }>) => boolean;
581
- getFontFamily: (fontFamily: string, options?: FontLoadingOptions) => string | undefined;
582
- getFontError: (fontFamily: string) => Error | undefined;
583
- clearErrors: () => void;
584
- };
585
- /**
586
- * Hook for loading a single font with automatic loading
587
- */
588
- declare const useFont: (fontFamily: string, options?: FontLoadingOptions & UseFontLoaderOptions) => {
589
- loadedFonts: Map<string, string>;
590
- loadingFonts: Set<string>;
591
- errorFonts: Map<string, Error>;
592
- loadMultipleFonts: (fonts: Array<{
593
- family: string;
594
- options?: FontLoadingOptions;
595
- }>) => Promise<Map<string, string>>;
596
- areFontsReady: (fontFamilies: Array<{
597
- family: string;
598
- options?: FontLoadingOptions;
599
- }>) => boolean;
600
- clearErrors: () => void;
601
- isLoaded: boolean;
602
- error: Error;
603
- isReady: boolean;
604
- fontFamily: string;
605
- };
606
-
607
- declare const createRootContext: (width: number, height: number, duration: number, fps: number) => RenderableContext;
608
- declare const mergeContexts: (parent: RenderableContext, child: Partial<RenderableContext>) => RenderableContext;
609
-
610
- declare const calculateGridPosition: (index: number, columns: number, cellWidth: number, cellHeight: number, spacing: number) => {
611
- x: number;
612
- y: number;
613
- width: number;
614
- height: number;
615
- };
616
- declare const calculateCircularPosition: (index: number, total: number, radius: number, centerX: number, centerY: number) => {
617
- x: number;
618
- y: number;
619
- };
620
-
621
- /**
622
- * Finds a component in the root data by its ID
623
- */
624
- declare const findComponentById: (root: RenderableComponentData[] | undefined, targetId: string) => RenderableComponentData | null;
625
- /**
626
- * Finds the parent component of a given component
627
- */
628
- declare const findParentComponent: (root: RenderableComponentData[] | undefined, targetId: string) => RenderableComponentData | null;
629
- /**
630
- * Calculates the hierarchy for a component based on its position in the root data
631
- */
632
- declare const calculateHierarchy: (root: RenderableComponentData[] | undefined, componentId: string, currentContext?: RenderableContext) => Hierarchy;
633
- /**
634
- * Calculates timing for a component, inheriting from parent if duration is not provided
635
- */
636
- declare const calculateTimingWithInheritance: (component: RenderableComponentData, root: RenderableComponentData[] | undefined, videoConfig: VideoConfig) => CalculatedTiming;
637
-
638
- declare const NextjsLogo: React__default.FC;
639
- declare const nextjsLogoConfig: ComponentConfig;
640
-
641
- declare const Rings: React__default.FC<{
642
- context?: RenderableContext;
643
- data?: RenderableData;
644
- }>;
645
- declare const ringsConfig: ComponentConfig;
646
-
647
- interface LayoutProps$1 extends BaseRenderableProps {
648
- children: React__default.ReactNode | React__default.ReactNode[];
649
- }
650
-
651
- declare const RippleOutTransitionSchema: z.ZodObject<{
652
- progress: z.ZodNumber;
653
- logoOut: z.ZodNumber;
654
- }, z.core.$strip>;
655
- declare const useRippleOutLayout: () => {
656
- progress: number;
657
- logoOut: number;
658
- };
659
- type RippleOutTransitionData = z.infer<typeof RippleOutTransitionSchema>;
660
- declare const RippleOutLayout: React__default.FC<LayoutProps$1>;
661
- declare const rippleOutLayoutConfig: ComponentConfig;
662
-
663
- interface LayoutProps extends BaseRenderableProps {
664
- children?: React__default.ReactNode;
665
- }
666
- declare const TextFade: (props: LayoutProps) => React__default.JSX.Element;
667
- declare const textFadeConfig: ComponentConfig;
668
-
669
- interface WaveformConfig {
670
- audioSrc: string;
671
- useFrequencyData?: boolean;
672
- numberOfSamples?: number;
673
- windowInSeconds?: number;
674
- dataOffsetInSeconds?: number;
675
- normalize?: boolean;
676
- height?: number;
677
- width?: number;
678
- color?: string;
679
- strokeWidth?: number;
680
- backgroundColor?: string;
681
- amplitude?: number;
682
- smoothing?: boolean;
683
- posterize?: number;
684
- }
685
- interface WaveformContextType {
686
- waveformData: number[] | null;
687
- frequencyData: number[] | null;
688
- amplitudes: number[] | null;
689
- audioData: any;
690
- frame: number;
691
- fps: number;
692
- config: WaveformConfig;
693
- width: number;
694
- height: number;
695
- bass: number | null;
696
- mid: number | null;
697
- treble: number | null;
698
- bassValues?: number[] | null;
699
- midValues?: number[] | null;
700
- trebleValues?: number[] | null;
701
- }
702
- declare const useWaveformContext: () => WaveformContextType;
703
- interface WaveformProps {
704
- config: WaveformConfig;
705
- children?: ReactNode;
706
- className?: string;
707
- style?: React__default.CSSProperties;
708
- }
709
- declare const Waveform: React__default.FC<WaveformProps>;
710
-
711
- interface UseWaveformDataConfig {
712
- audioSrc: string;
713
- numberOfSamples: number;
714
- windowInSeconds: number;
715
- dataOffsetInSeconds?: number;
716
- normalize?: boolean;
717
- frame: number;
718
- fps: number;
719
- posterize?: number;
720
- includeFrequencyData?: boolean;
721
- minDb?: number;
722
- maxDb?: number;
723
- }
724
- interface UseWaveformDataReturn {
725
- waveformData: number[] | null;
726
- frequencyData: number[] | null;
727
- amplitudes: number[] | null;
728
- audioData: any;
729
- isLoading: boolean;
730
- error: string | null;
731
- bass: number | null;
732
- bassValues?: number[] | null;
733
- mid: number | null;
734
- midValues?: number[] | null;
735
- treble: number | null;
736
- trebleValues?: number[] | null;
737
- }
738
- declare const useWaveformData: (config: UseWaveformDataConfig) => UseWaveformDataReturn;
739
-
740
- interface WaveformLineDataProps {
741
- config: WaveformConfig & {
742
- useFrequencyData?: boolean;
743
- };
744
- className?: string;
745
- style?: React__default.CSSProperties;
746
- strokeColor?: string;
747
- strokeWidth?: number;
748
- strokeLinecap?: 'butt' | 'round' | 'square';
749
- strokeLinejoin?: 'miter' | 'round' | 'bevel';
750
- fill?: string;
751
- opacity?: number;
752
- centerLine?: boolean;
753
- centerLineColor?: string;
754
- centerLineWidth?: number;
755
- beatSync?: boolean;
756
- bpm?: number;
757
- beatThreshold?: number;
758
- beatAmplitudeMultiplier?: number;
759
- beatAnimationDuration?: number;
760
- smoothAnimation?: boolean;
761
- waveSpacing?: number;
762
- waveSegments?: number;
763
- waveOffset?: number;
764
- waveDirection?: 'horizontal' | 'vertical';
765
- amplitudeCurve?: 'linear' | 'ease-in' | 'ease-out' | 'ease-in-out' | 'bounce';
766
- animationSpeed?: number;
767
- pulseOnBeat?: boolean;
768
- pulseColor?: string;
769
- pulseScale?: number;
770
- }
771
- interface WaveformLineProps extends BaseRenderableData {
772
- data: WaveformLineDataProps;
773
- }
774
- declare const WaveformLine: React__default.FC<WaveformLineProps>;
775
-
776
- interface WaveformHistogramDataProps {
777
- config: any;
778
- className?: string;
779
- style?: React__default.CSSProperties;
780
- barColor?: string;
781
- barWidth?: number;
782
- barSpacing?: number;
783
- barBorderRadius?: number;
784
- opacity?: number;
785
- multiplier?: number;
786
- horizontalSymmetry?: boolean;
787
- verticalMirror?: boolean;
788
- waveDirection?: 'right-to-left' | 'left-to-right';
789
- histogramStyle?: 'centered' | 'full-width';
790
- amplitude?: number;
791
- gradientStartColor?: string;
792
- gradientEndColor?: string;
793
- gradientDirection?: 'vertical' | 'horizontal';
794
- gradientStyle?: 'mirrored' | 'normal';
795
- }
796
- interface WaveformHistogramProps extends BaseRenderableData {
797
- data: WaveformHistogramDataProps;
798
- }
799
- declare const WaveformHistogram: React__default.FC<WaveformHistogramProps>;
800
-
801
- interface WaveformHistogramRangedDataProps {
802
- config: any;
803
- className?: string;
804
- style?: React__default.CSSProperties;
805
- barColor?: string;
806
- barWidth?: number;
807
- barSpacing?: number;
808
- barBorderRadius?: number;
809
- opacity?: number;
810
- horizontalSymmetry?: boolean;
811
- verticalMirror?: boolean;
812
- histogramStyle?: 'centered' | 'full-width';
813
- waveDirection?: 'right-to-left' | 'left-to-right';
814
- amplitude?: number;
815
- showFrequencyRanges?: boolean;
816
- rangeDividerColor?: string;
817
- rangeLabels?: boolean;
818
- bassBarColor?: string;
819
- midBarColor?: string;
820
- trebleBarColor?: string;
821
- gradientStartColor?: string;
822
- gradientEndColor?: string;
823
- gradientDirection?: 'vertical' | 'horizontal';
824
- gradientStyle?: 'mirrored' | 'normal';
825
- }
826
- interface WaveformHistogramRangedProps extends BaseRenderableData {
827
- data: WaveformHistogramRangedDataProps;
828
- }
829
- declare const WaveformHistogramRanged: React__default.FC<WaveformHistogramRangedProps>;
830
-
831
- interface WaveformCircleDataProps {
832
- config: any;
833
- className?: string;
834
- style?: React__default.CSSProperties;
835
- strokeColor?: string;
836
- strokeWidth?: number;
837
- fill?: string;
838
- opacity?: number;
839
- radius?: number;
840
- centerX?: number;
841
- centerY?: number;
842
- startAngle?: number;
843
- endAngle?: number;
844
- amplitude?: number;
845
- rotationSpeed?: number;
846
- gradientStartColor?: string;
847
- gradientEndColor?: string;
848
- }
849
- interface WaveformCircleProps extends BaseRenderableData {
850
- data: WaveformCircleDataProps;
851
- }
852
- declare const WaveformCircle: React__default.FC<WaveformCircleProps>;
853
-
854
- declare const WaveformPresets: {
855
- stopgapLine: (props: WaveformLineDataProps) => {
856
- componentId: string;
857
- type: string;
858
- data: {
859
- config: {
860
- audioSrc: string;
861
- useFrequencyData?: boolean;
862
- numberOfSamples: number;
863
- windowInSeconds: number;
864
- dataOffsetInSeconds?: number;
865
- normalize?: boolean;
866
- height: number;
867
- width: number;
868
- color?: string;
869
- strokeWidth?: number;
870
- backgroundColor?: string;
871
- amplitude: number;
872
- smoothing?: boolean;
873
- posterize: number;
874
- };
875
- className?: string;
876
- style?: React.CSSProperties;
877
- strokeColor: string;
878
- strokeWidth: number;
879
- strokeLinecap: string;
880
- strokeLinejoin?: "miter" | "round" | "bevel";
881
- fill?: string;
882
- opacity: number;
883
- centerLine?: boolean;
884
- centerLineColor?: string;
885
- centerLineWidth?: number;
886
- beatSync?: boolean;
887
- bpm?: number;
888
- beatThreshold?: number;
889
- beatAmplitudeMultiplier?: number;
890
- beatAnimationDuration?: number;
891
- smoothAnimation: boolean;
892
- waveSpacing?: number;
893
- waveSegments?: number;
894
- waveOffset?: number;
895
- waveDirection?: "horizontal" | "vertical";
896
- amplitudeCurve: string;
897
- animationSpeed: number;
898
- pulseOnBeat?: boolean;
899
- pulseColor?: string;
900
- pulseScale?: number;
901
- };
902
- };
903
- };
904
-
905
- interface CompositionProps extends BaseRenderableData {
906
- id: string;
907
- style?: React__default.CSSProperties;
908
- config: {
909
- width: number;
910
- height: number;
911
- fps: number;
912
- duration: number;
913
- fitDurationTo?: string | string[];
914
- };
915
- }
916
- type InputCompositionProps = {
917
- childrenData?: RenderableComponentData[];
918
- style?: React__default.CSSProperties;
919
- config?: {
920
- width?: number;
921
- height?: number;
922
- fps?: number;
923
- duration?: number;
924
- fitDurationTo?: string;
925
- };
926
- };
927
- declare const CompositionLayout: ({ childrenData, style, config }: InputCompositionProps) => React__default.JSX.Element;
928
- declare const calculateCompositionLayoutMetadata: CalculateMetadataFunction<InputCompositionProps>;
929
- declare const Composition: ({ id, childrenData, config, style }: CompositionProps) => React__default.JSX.Element;
930
-
931
- export { Atom$1 as AudioAtom, config$5 as AudioAtomConfig, type BaseComponentData, type BaseEffect, Layout as BaseLayout, config$a as BaseLayoutConfig, type BaseRenderableData, type BaseRenderableProps, BlurEffect, config$3 as BlurEffectConfig, type Boundaries, type BoundaryConstraints, type CalculatedBoundaries, type CalculatedTiming, type ComponentConfig, type ComponentRegistry, ComponentRenderer, type ComponentType, Composition, type CompositionContext, CompositionLayout, CompositionProvider, type FontConfig, type FontLoaderState, type FontLoadingOptions, Frame, type Hierarchy, Atom$4 as ImageAtom, config$8 as ImageAtomConfig, type InputCompositionProps, type InternalRenderableContext, type LayoutConstraints, LoopEffect, config$2 as LoopEffectConfig, NextjsLogo, type PackageRegistry, PanEffect, config$1 as PanEffectConfig, type PanEffectData, type RegistryEntry, type RenderableComponentData, type RenderableContext, type RenderableData, Rings, RippleOutLayout, type RippleOutTransitionData, SceneFrame, Atom$5 as ShapeAtom, config$9 as ShapeAtomConfig, Atom$3 as TextAtom, config$7 as TextAtomConfig, type TextAtomDataWithFonts, Atom as TextAtomWithFonts, config$4 as TextAtomWithFontsConfig, TextFade, type Timing, type TimingConstraints, type UseFontLoaderOptions, type UseWaveformDataConfig, type UseWaveformDataReturn, Atom$2 as VideoAtom, config$6 as VideoAtomConfig, Waveform, WaveformCircle, type WaveformCircleDataProps, type WaveformCircleProps, type WaveformConfig, type WaveformContextType, WaveformHistogram, type WaveformHistogramDataProps, type WaveformHistogramProps, WaveformHistogramRanged, type WaveformHistogramRangedDataProps, type WaveformHistogramRangedProps, WaveformLine, type WaveformLineDataProps, type WaveformLineProps, WaveformPresets, type WaveformProps, ZoomEffect, config as ZoomEffectConfig, type ZoomEffectData, buildLayoutHook, calculateCircularPosition, calculateCompositionLayoutMetadata, calculateGridPosition, calculateHierarchy, calculateTimingWithInheritance, clearFontCache, componentRegistry, createRootContext, findComponentById, findParentComponent, getComponent, getComponentConfig, getComponentWithConfig, getLoadedFontFamily, getLoadedFonts, getNormalizedFontName, isFontAvailable, isFontLoaded, loadGoogleFont, loadMultipleFonts, mergeContexts, nextjsLogoConfig, preloadCommonFonts, registerComponent, registerEffect, registerPackage, ringsConfig, rippleOutLayoutConfig, textFadeConfig, useBoundaryCalculation, useComponentRegistry, useComposition, useFont, useFontLoader, useRenderContext, useRippleOutLayout, useWaveformContext, useWaveformData };