@depths/waves 0.2.0 → 0.3.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/README.md +118 -19
- package/dist/{chunk-7QPNRHMW.mjs → chunk-QP54QRAP.mjs} +73 -5
- package/dist/{chunk-PKLHVWMD.mjs → chunk-YYS6AVTN.mjs} +792 -604
- package/dist/cli.js +1098 -756
- package/dist/cli.mjs +90 -3
- package/dist/index.d.mts +13 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.js +1010 -755
- package/dist/index.mjs +2 -2
- package/dist/remotion/index.d.mts +5 -0
- package/dist/remotion/index.d.ts +5 -0
- package/dist/remotion/index.js +1032 -807
- package/dist/remotion/index.mjs +49 -8
- package/package.json +1 -1
|
@@ -207,19 +207,77 @@ var AudioComponentMetadata = {
|
|
|
207
207
|
};
|
|
208
208
|
|
|
209
209
|
// src/components/primitives/Box.tsx
|
|
210
|
+
import React from "react";
|
|
210
211
|
import { z as z4 } from "zod";
|
|
212
|
+
|
|
213
|
+
// src/remotion/Fill.tsx
|
|
211
214
|
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
215
|
+
var Fill = ({ style, children }) => {
|
|
216
|
+
return /* @__PURE__ */ jsx2(
|
|
217
|
+
"div",
|
|
218
|
+
{
|
|
219
|
+
style: {
|
|
220
|
+
width: "100%",
|
|
221
|
+
height: "100%",
|
|
222
|
+
position: "relative",
|
|
223
|
+
boxSizing: "border-box",
|
|
224
|
+
...style ?? {}
|
|
225
|
+
},
|
|
226
|
+
children
|
|
227
|
+
}
|
|
228
|
+
);
|
|
229
|
+
};
|
|
230
|
+
|
|
231
|
+
// src/components/primitives/Box.tsx
|
|
232
|
+
import { jsx as jsx3 } from "react/jsx-runtime";
|
|
212
233
|
var BoxPropsSchema = z4.object({
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
width: z4.number().positive().optional().describe("Width in pixels (omit for auto)"),
|
|
216
|
-
height: z4.number().positive().optional().describe("Height in pixels (omit for auto)"),
|
|
234
|
+
width: z4.number().positive().optional().describe("Width in pixels (optional)"),
|
|
235
|
+
height: z4.number().positive().optional().describe("Height in pixels (optional)"),
|
|
217
236
|
padding: z4.number().min(0).default(0).describe("Padding in pixels"),
|
|
218
|
-
backgroundColor: z4.string().optional().describe("CSS color (e.g. #RRGGBB)"),
|
|
237
|
+
backgroundColor: z4.string().optional().describe("CSS color (e.g. #RRGGBB, rgba())"),
|
|
219
238
|
borderRadius: z4.number().min(0).default(0).describe("Border radius in pixels"),
|
|
220
239
|
opacity: z4.number().min(0).max(1).default(1).describe("Opacity 0..1")
|
|
221
240
|
});
|
|
222
|
-
var Box = ({
|
|
241
|
+
var Box = ({ width, height, padding, backgroundColor, borderRadius, opacity, children }) => {
|
|
242
|
+
const layers = React.Children.toArray(children);
|
|
243
|
+
return /* @__PURE__ */ jsx3(
|
|
244
|
+
Fill,
|
|
245
|
+
{
|
|
246
|
+
style: {
|
|
247
|
+
width,
|
|
248
|
+
height,
|
|
249
|
+
padding,
|
|
250
|
+
backgroundColor,
|
|
251
|
+
borderRadius,
|
|
252
|
+
opacity
|
|
253
|
+
},
|
|
254
|
+
children: layers.map((child, i) => /* @__PURE__ */ jsx3("div", { style: { position: "absolute", inset: 0 }, children: child }, i))
|
|
255
|
+
}
|
|
256
|
+
);
|
|
257
|
+
};
|
|
258
|
+
var BoxComponentMetadata = {
|
|
259
|
+
kind: "primitive",
|
|
260
|
+
category: "layout",
|
|
261
|
+
acceptsChildren: true,
|
|
262
|
+
description: "Flow container for layout and backgrounds (layout-safe)",
|
|
263
|
+
llmGuidance: "Use Box as a container inside Grid/Stack. Box participates in layout flow. For x/y positioning, use Frame."
|
|
264
|
+
};
|
|
265
|
+
|
|
266
|
+
// src/components/primitives/Frame.tsx
|
|
267
|
+
import React2 from "react";
|
|
268
|
+
import { z as z5 } from "zod";
|
|
269
|
+
import { jsx as jsx4 } from "react/jsx-runtime";
|
|
270
|
+
var FramePropsSchema = z5.object({
|
|
271
|
+
x: z5.number().default(0).describe("Left offset in pixels"),
|
|
272
|
+
y: z5.number().default(0).describe("Top offset in pixels"),
|
|
273
|
+
width: z5.number().positive().optional().describe("Width in pixels (optional)"),
|
|
274
|
+
height: z5.number().positive().optional().describe("Height in pixels (optional)"),
|
|
275
|
+
padding: z5.number().min(0).default(0).describe("Padding in pixels"),
|
|
276
|
+
backgroundColor: z5.string().optional().describe("CSS color (e.g. #RRGGBB, rgba())"),
|
|
277
|
+
borderRadius: z5.number().min(0).default(0).describe("Border radius in pixels"),
|
|
278
|
+
opacity: z5.number().min(0).max(1).default(1).describe("Opacity 0..1")
|
|
279
|
+
});
|
|
280
|
+
var Frame = ({
|
|
223
281
|
x,
|
|
224
282
|
y,
|
|
225
283
|
width,
|
|
@@ -230,7 +288,8 @@ var Box = ({
|
|
|
230
288
|
opacity,
|
|
231
289
|
children
|
|
232
290
|
}) => {
|
|
233
|
-
|
|
291
|
+
const layers = React2.Children.toArray(children);
|
|
292
|
+
return /* @__PURE__ */ jsx4(
|
|
234
293
|
"div",
|
|
235
294
|
{
|
|
236
295
|
style: {
|
|
@@ -245,29 +304,28 @@ var Box = ({
|
|
|
245
304
|
opacity,
|
|
246
305
|
boxSizing: "border-box"
|
|
247
306
|
},
|
|
248
|
-
children
|
|
307
|
+
children: /* @__PURE__ */ jsx4(Fill, { children: layers.map((child, i) => /* @__PURE__ */ jsx4("div", { style: { position: "absolute", inset: 0 }, children: child }, i)) })
|
|
249
308
|
}
|
|
250
309
|
);
|
|
251
310
|
};
|
|
252
|
-
var
|
|
311
|
+
var FrameComponentMetadata = {
|
|
253
312
|
kind: "primitive",
|
|
254
313
|
category: "layout",
|
|
255
314
|
acceptsChildren: true,
|
|
256
|
-
description: "
|
|
257
|
-
llmGuidance: "Use
|
|
315
|
+
description: "Absolute-positioned container (x/y placement)",
|
|
316
|
+
llmGuidance: "Use Frame for precise pixel placement (x/y). Use Box for normal layout flow inside Grid/Stack."
|
|
258
317
|
};
|
|
259
318
|
|
|
260
319
|
// src/components/primitives/Grid.tsx
|
|
261
|
-
import {
|
|
262
|
-
import {
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
justify: z5.enum(["start", "center", "end", "stretch"]).default("stretch")
|
|
320
|
+
import { z as z6 } from "zod";
|
|
321
|
+
import { jsx as jsx5 } from "react/jsx-runtime";
|
|
322
|
+
var GridPropsSchema = z6.object({
|
|
323
|
+
columns: z6.number().int().min(1).max(12).default(2),
|
|
324
|
+
rows: z6.number().int().min(1).max(12).default(1),
|
|
325
|
+
gap: z6.number().min(0).default(24),
|
|
326
|
+
padding: z6.number().min(0).default(0),
|
|
327
|
+
align: z6.enum(["start", "center", "end", "stretch"]).default("stretch"),
|
|
328
|
+
justify: z6.enum(["start", "center", "end", "stretch"]).default("stretch")
|
|
271
329
|
});
|
|
272
330
|
var mapAlign = (a) => {
|
|
273
331
|
if (a === "start") return "start";
|
|
@@ -282,8 +340,8 @@ var mapJustify = (j) => {
|
|
|
282
340
|
return "stretch";
|
|
283
341
|
};
|
|
284
342
|
var Grid = ({ columns, rows, gap, padding, align, justify, children }) => {
|
|
285
|
-
return /* @__PURE__ */
|
|
286
|
-
|
|
343
|
+
return /* @__PURE__ */ jsx5(
|
|
344
|
+
Fill,
|
|
287
345
|
{
|
|
288
346
|
style: {
|
|
289
347
|
display: "grid",
|
|
@@ -308,18 +366,18 @@ var GridComponentMetadata = {
|
|
|
308
366
|
};
|
|
309
367
|
|
|
310
368
|
// src/components/primitives/Image.tsx
|
|
311
|
-
import {
|
|
312
|
-
import { z as
|
|
313
|
-
import { jsx as
|
|
314
|
-
var ImagePropsSchema =
|
|
315
|
-
src:
|
|
316
|
-
fit:
|
|
317
|
-
borderRadius:
|
|
318
|
-
opacity:
|
|
369
|
+
import { Img, staticFile as staticFile2 } from "remotion";
|
|
370
|
+
import { z as z7 } from "zod";
|
|
371
|
+
import { jsx as jsx6 } from "react/jsx-runtime";
|
|
372
|
+
var ImagePropsSchema = z7.object({
|
|
373
|
+
src: z7.string().min(1),
|
|
374
|
+
fit: z7.enum(["cover", "contain"]).default("cover"),
|
|
375
|
+
borderRadius: z7.number().min(0).default(0),
|
|
376
|
+
opacity: z7.number().min(0).max(1).default(1)
|
|
319
377
|
});
|
|
320
378
|
var resolveAsset = (value) => isRemoteAssetPath(value) ? value : staticFile2(staticFileInputFromAssetPath(value));
|
|
321
379
|
var Image = ({ src, fit, borderRadius, opacity }) => {
|
|
322
|
-
return /* @__PURE__ */
|
|
380
|
+
return /* @__PURE__ */ jsx6(Fill, { style: { opacity }, children: /* @__PURE__ */ jsx6(
|
|
323
381
|
Img,
|
|
324
382
|
{
|
|
325
383
|
src: resolveAsset(src),
|
|
@@ -334,32 +392,91 @@ var ImageComponentMetadata = {
|
|
|
334
392
|
llmGuidance: 'Use Image for pictures and backgrounds. Use fit="cover" for full-bleed, fit="contain" to avoid cropping.'
|
|
335
393
|
};
|
|
336
394
|
|
|
395
|
+
// src/components/primitives/Layer.tsx
|
|
396
|
+
import React3 from "react";
|
|
397
|
+
import { z as z8 } from "zod";
|
|
398
|
+
import { jsx as jsx7 } from "react/jsx-runtime";
|
|
399
|
+
var LayerPropsSchema = z8.object({
|
|
400
|
+
zIndex: z8.number().int().default(0).describe("Higher zIndex renders on top"),
|
|
401
|
+
inset: z8.number().min(0).default(0).describe("Inset from all sides in pixels"),
|
|
402
|
+
opacity: z8.number().min(0).max(1).default(1),
|
|
403
|
+
pointerEvents: z8.enum(["none", "auto"]).default("none")
|
|
404
|
+
});
|
|
405
|
+
var Layer = ({ zIndex, inset, opacity, pointerEvents, children }) => {
|
|
406
|
+
const layers = React3.Children.toArray(children);
|
|
407
|
+
return /* @__PURE__ */ jsx7(
|
|
408
|
+
"div",
|
|
409
|
+
{
|
|
410
|
+
style: {
|
|
411
|
+
position: "absolute",
|
|
412
|
+
left: inset,
|
|
413
|
+
right: inset,
|
|
414
|
+
top: inset,
|
|
415
|
+
bottom: inset,
|
|
416
|
+
zIndex,
|
|
417
|
+
opacity,
|
|
418
|
+
pointerEvents,
|
|
419
|
+
boxSizing: "border-box"
|
|
420
|
+
},
|
|
421
|
+
children: /* @__PURE__ */ jsx7(Fill, { children: layers.map((child, i) => /* @__PURE__ */ jsx7("div", { style: { position: "absolute", inset: 0 }, children: child }, i)) })
|
|
422
|
+
}
|
|
423
|
+
);
|
|
424
|
+
};
|
|
425
|
+
var LayerComponentMetadata = {
|
|
426
|
+
kind: "primitive",
|
|
427
|
+
category: "layout",
|
|
428
|
+
acceptsChildren: true,
|
|
429
|
+
minChildren: 1,
|
|
430
|
+
description: "One overlay layer with explicit zIndex inside Layers",
|
|
431
|
+
llmGuidance: "Use Layer inside Layers to control stacking. Put exactly one child in a Layer (recommended)."
|
|
432
|
+
};
|
|
433
|
+
|
|
434
|
+
// src/components/primitives/Layers.tsx
|
|
435
|
+
import { z as z9 } from "zod";
|
|
436
|
+
import { jsx as jsx8 } from "react/jsx-runtime";
|
|
437
|
+
var LayersPropsSchema = z9.object({
|
|
438
|
+
overflow: z9.enum(["visible", "hidden"]).default("visible").describe("Clip layers to bounds")
|
|
439
|
+
});
|
|
440
|
+
var Layers = ({ overflow, children }) => {
|
|
441
|
+
return /* @__PURE__ */ jsx8(Fill, { style: { overflow }, children });
|
|
442
|
+
};
|
|
443
|
+
var LayersComponentMetadata = {
|
|
444
|
+
kind: "primitive",
|
|
445
|
+
category: "layout",
|
|
446
|
+
acceptsChildren: true,
|
|
447
|
+
minChildren: 1,
|
|
448
|
+
description: "Overlay container for stacking children (use Layer for zIndex)",
|
|
449
|
+
llmGuidance: "Use Layers to stack background/content/overlays. Prefer Layer children with explicit zIndex."
|
|
450
|
+
};
|
|
451
|
+
|
|
337
452
|
// src/components/primitives/Scene.tsx
|
|
338
|
-
import
|
|
339
|
-
import {
|
|
340
|
-
import {
|
|
341
|
-
|
|
453
|
+
import React4 from "react";
|
|
454
|
+
import { AbsoluteFill, Img as Img2, Video, staticFile as staticFile3 } from "remotion";
|
|
455
|
+
import { z as z10 } from "zod";
|
|
456
|
+
import { jsx as jsx9, jsxs } from "react/jsx-runtime";
|
|
457
|
+
var ScenePropsSchema = z10.object({
|
|
342
458
|
background: BackgroundSpecSchema
|
|
343
459
|
});
|
|
344
460
|
var resolveAsset2 = (value) => {
|
|
345
461
|
return isRemoteAssetPath(value) ? value : staticFile3(staticFileInputFromAssetPath(value));
|
|
346
462
|
};
|
|
347
463
|
var Scene = ({ background, children }) => {
|
|
348
|
-
|
|
349
|
-
|
|
464
|
+
const layers = React4.Children.toArray(children);
|
|
465
|
+
return /* @__PURE__ */ jsxs(AbsoluteFill, { children: [
|
|
466
|
+
background.type === "color" ? /* @__PURE__ */ jsx9(AbsoluteFill, { style: { backgroundColor: background.value } }) : background.type === "image" ? /* @__PURE__ */ jsx9(
|
|
350
467
|
Img2,
|
|
351
468
|
{
|
|
352
469
|
src: resolveAsset2(background.value),
|
|
353
470
|
style: { width: "100%", height: "100%", objectFit: "cover" }
|
|
354
471
|
}
|
|
355
|
-
) : /* @__PURE__ */
|
|
472
|
+
) : /* @__PURE__ */ jsx9(
|
|
356
473
|
Video,
|
|
357
474
|
{
|
|
358
475
|
src: resolveAsset2(background.value),
|
|
359
476
|
style: { width: "100%", height: "100%", objectFit: "cover" }
|
|
360
477
|
}
|
|
361
478
|
),
|
|
362
|
-
/* @__PURE__ */
|
|
479
|
+
/* @__PURE__ */ jsx9(AbsoluteFill, { children: layers.map((child, i) => /* @__PURE__ */ jsx9(AbsoluteFill, { children: child }, i)) })
|
|
363
480
|
] });
|
|
364
481
|
};
|
|
365
482
|
var SceneComponentMetadata = {
|
|
@@ -371,37 +488,37 @@ var SceneComponentMetadata = {
|
|
|
371
488
|
};
|
|
372
489
|
|
|
373
490
|
// src/components/primitives/Segment.tsx
|
|
374
|
-
import { AbsoluteFill as
|
|
375
|
-
import { z as
|
|
376
|
-
import { jsx as
|
|
377
|
-
var TransitionPropsSchema =
|
|
378
|
-
type:
|
|
379
|
-
durationInFrames:
|
|
380
|
-
props:
|
|
491
|
+
import { AbsoluteFill as AbsoluteFill2, interpolate as interpolate2, useCurrentFrame as useCurrentFrame2 } from "remotion";
|
|
492
|
+
import { z as z11 } from "zod";
|
|
493
|
+
import { jsx as jsx10 } from "react/jsx-runtime";
|
|
494
|
+
var TransitionPropsSchema = z11.object({
|
|
495
|
+
type: z11.string().min(1),
|
|
496
|
+
durationInFrames: z11.number().int().positive(),
|
|
497
|
+
props: z11.record(z11.string(), z11.unknown()).optional()
|
|
381
498
|
});
|
|
382
|
-
var SegmentPropsSchema =
|
|
499
|
+
var SegmentPropsSchema = z11.object({
|
|
383
500
|
enterTransition: TransitionPropsSchema.optional(),
|
|
384
501
|
exitTransition: TransitionPropsSchema.optional()
|
|
385
502
|
});
|
|
386
503
|
function getSlideOptions(raw) {
|
|
387
|
-
const parsed =
|
|
388
|
-
direction:
|
|
389
|
-
distance:
|
|
504
|
+
const parsed = z11.object({
|
|
505
|
+
direction: z11.enum(["left", "right", "up", "down"]).default("left"),
|
|
506
|
+
distance: z11.number().int().min(1).max(2e3).default(80)
|
|
390
507
|
}).safeParse(raw ?? {});
|
|
391
508
|
if (parsed.success) return parsed.data;
|
|
392
509
|
return { direction: "left", distance: 80 };
|
|
393
510
|
}
|
|
394
511
|
function getZoomOptions(raw) {
|
|
395
|
-
const parsed =
|
|
396
|
-
type:
|
|
512
|
+
const parsed = z11.object({
|
|
513
|
+
type: z11.enum(["zoomIn", "zoomOut"]).default("zoomIn")
|
|
397
514
|
}).safeParse(raw ?? {});
|
|
398
515
|
if (parsed.success) return parsed.data;
|
|
399
516
|
return { type: "zoomIn" };
|
|
400
517
|
}
|
|
401
518
|
function getWipeOptions(raw) {
|
|
402
|
-
const parsed =
|
|
403
|
-
direction:
|
|
404
|
-
softEdge:
|
|
519
|
+
const parsed = z11.object({
|
|
520
|
+
direction: z11.enum(["left", "right", "up", "down", "diagonal"]).default("right"),
|
|
521
|
+
softEdge: z11.boolean().default(false)
|
|
405
522
|
}).safeParse(raw ?? {});
|
|
406
523
|
if (parsed.success) return parsed.data;
|
|
407
524
|
return { direction: "right", softEdge: false };
|
|
@@ -414,11 +531,11 @@ function clipFor(direction, p) {
|
|
|
414
531
|
return `polygon(0 0, ${100 * p}% 0, 0 ${100 * p}%)`;
|
|
415
532
|
}
|
|
416
533
|
function getCircularOptions(raw) {
|
|
417
|
-
const parsed =
|
|
418
|
-
direction:
|
|
419
|
-
center:
|
|
420
|
-
x:
|
|
421
|
-
y:
|
|
534
|
+
const parsed = z11.object({
|
|
535
|
+
direction: z11.enum(["open", "close"]).default("open"),
|
|
536
|
+
center: z11.object({
|
|
537
|
+
x: z11.number().min(0).max(1).default(0.5),
|
|
538
|
+
y: z11.number().min(0).max(1).default(0.5)
|
|
422
539
|
}).default({ x: 0.5, y: 0.5 })
|
|
423
540
|
}).safeParse(raw ?? {});
|
|
424
541
|
if (parsed.success) return parsed.data;
|
|
@@ -507,7 +624,7 @@ var Segment = ({ enterTransition, exitTransition, children, __wavesDurationInFra
|
|
|
507
624
|
}
|
|
508
625
|
}
|
|
509
626
|
const transform = `translate(${translateX}px, ${translateY}px) scale(${scale})`;
|
|
510
|
-
return /* @__PURE__ */
|
|
627
|
+
return /* @__PURE__ */ jsx10(AbsoluteFill2, { style: { opacity, transform, clipPath, filter }, children });
|
|
511
628
|
};
|
|
512
629
|
var SegmentComponentMetadata = {
|
|
513
630
|
kind: "primitive",
|
|
@@ -520,18 +637,18 @@ var SegmentComponentMetadata = {
|
|
|
520
637
|
};
|
|
521
638
|
|
|
522
639
|
// src/components/primitives/Shape.tsx
|
|
523
|
-
import { z as
|
|
524
|
-
import { jsx as
|
|
525
|
-
var ShapePropsSchema =
|
|
526
|
-
shape:
|
|
527
|
-
x:
|
|
528
|
-
y:
|
|
529
|
-
width:
|
|
530
|
-
height:
|
|
531
|
-
fill:
|
|
532
|
-
strokeColor:
|
|
533
|
-
strokeWidth:
|
|
534
|
-
opacity:
|
|
640
|
+
import { z as z12 } from "zod";
|
|
641
|
+
import { jsx as jsx11 } from "react/jsx-runtime";
|
|
642
|
+
var ShapePropsSchema = z12.object({
|
|
643
|
+
shape: z12.enum(["rect", "circle"]).default("rect"),
|
|
644
|
+
x: z12.number().default(0),
|
|
645
|
+
y: z12.number().default(0),
|
|
646
|
+
width: z12.number().positive().default(100),
|
|
647
|
+
height: z12.number().positive().default(100),
|
|
648
|
+
fill: z12.string().default("#FFFFFF"),
|
|
649
|
+
strokeColor: z12.string().optional(),
|
|
650
|
+
strokeWidth: z12.number().min(0).default(0),
|
|
651
|
+
opacity: z12.number().min(0).max(1).default(1)
|
|
535
652
|
});
|
|
536
653
|
var Shape = ({
|
|
537
654
|
shape,
|
|
@@ -544,7 +661,7 @@ var Shape = ({
|
|
|
544
661
|
strokeWidth,
|
|
545
662
|
opacity
|
|
546
663
|
}) => {
|
|
547
|
-
return /* @__PURE__ */
|
|
664
|
+
return /* @__PURE__ */ jsx11(
|
|
548
665
|
"div",
|
|
549
666
|
{
|
|
550
667
|
style: {
|
|
@@ -569,15 +686,14 @@ var ShapeComponentMetadata = {
|
|
|
569
686
|
};
|
|
570
687
|
|
|
571
688
|
// src/components/primitives/Stack.tsx
|
|
572
|
-
import {
|
|
573
|
-
import {
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
justify: z10.enum(["start", "center", "end", "between"]).default("center")
|
|
689
|
+
import { z as z13 } from "zod";
|
|
690
|
+
import { jsx as jsx12 } from "react/jsx-runtime";
|
|
691
|
+
var StackPropsSchema = z13.object({
|
|
692
|
+
direction: z13.enum(["row", "column"]).default("column"),
|
|
693
|
+
gap: z13.number().min(0).default(24),
|
|
694
|
+
padding: z13.number().min(0).default(0),
|
|
695
|
+
align: z13.enum(["start", "center", "end", "stretch"]).default("center"),
|
|
696
|
+
justify: z13.enum(["start", "center", "end", "between"]).default("center")
|
|
581
697
|
});
|
|
582
698
|
var mapAlign2 = (a) => {
|
|
583
699
|
if (a === "start") return "flex-start";
|
|
@@ -592,8 +708,8 @@ var mapJustify2 = (j) => {
|
|
|
592
708
|
return "center";
|
|
593
709
|
};
|
|
594
710
|
var Stack = ({ direction, gap, padding, align, justify, children }) => {
|
|
595
|
-
return /* @__PURE__ */
|
|
596
|
-
|
|
711
|
+
return /* @__PURE__ */ jsx12(
|
|
712
|
+
Fill,
|
|
597
713
|
{
|
|
598
714
|
style: {
|
|
599
715
|
display: "flex",
|
|
@@ -617,17 +733,22 @@ var StackComponentMetadata = {
|
|
|
617
733
|
};
|
|
618
734
|
|
|
619
735
|
// src/components/primitives/Text.tsx
|
|
620
|
-
import {
|
|
621
|
-
import { z as
|
|
622
|
-
import { jsx as
|
|
623
|
-
var TextPropsSchema =
|
|
624
|
-
content:
|
|
625
|
-
fontSize:
|
|
626
|
-
color:
|
|
627
|
-
|
|
628
|
-
|
|
736
|
+
import { interpolate as interpolate3, useCurrentFrame as useCurrentFrame3 } from "remotion";
|
|
737
|
+
import { z as z14 } from "zod";
|
|
738
|
+
import { jsx as jsx13 } from "react/jsx-runtime";
|
|
739
|
+
var TextPropsSchema = z14.object({
|
|
740
|
+
content: z14.string(),
|
|
741
|
+
fontSize: z14.number().default(48),
|
|
742
|
+
color: z14.string().default("#FFFFFF"),
|
|
743
|
+
fontFamily: z14.string().default("Inter"),
|
|
744
|
+
position: z14.enum(["top", "center", "bottom", "left", "right"]).default("center"),
|
|
745
|
+
animation: z14.enum(["none", "fade", "slide", "zoom"]).default("fade"),
|
|
746
|
+
maxWidthPct: z14.number().min(0.1).max(1).default(0.9),
|
|
747
|
+
safeInsetPct: z14.number().min(0).max(0.25).default(0.06),
|
|
748
|
+
textAlign: z14.enum(["left", "center", "right"]).default("center")
|
|
629
749
|
});
|
|
630
|
-
var getPositionStyles = (position) => {
|
|
750
|
+
var getPositionStyles = (position, safeInsetPct) => {
|
|
751
|
+
const inset = `${(safeInsetPct * 100).toFixed(2)}%`;
|
|
631
752
|
const base = {
|
|
632
753
|
display: "flex",
|
|
633
754
|
justifyContent: "center",
|
|
@@ -635,13 +756,13 @@ var getPositionStyles = (position) => {
|
|
|
635
756
|
};
|
|
636
757
|
switch (position) {
|
|
637
758
|
case "top":
|
|
638
|
-
return { ...base, alignItems: "flex-start", paddingTop:
|
|
759
|
+
return { ...base, alignItems: "flex-start", paddingTop: inset };
|
|
639
760
|
case "bottom":
|
|
640
|
-
return { ...base, alignItems: "flex-end", paddingBottom:
|
|
761
|
+
return { ...base, alignItems: "flex-end", paddingBottom: inset };
|
|
641
762
|
case "left":
|
|
642
|
-
return { ...base, justifyContent: "flex-start", paddingLeft:
|
|
763
|
+
return { ...base, justifyContent: "flex-start", paddingLeft: inset };
|
|
643
764
|
case "right":
|
|
644
|
-
return { ...base, justifyContent: "flex-end", paddingRight:
|
|
765
|
+
return { ...base, justifyContent: "flex-end", paddingRight: inset };
|
|
645
766
|
default:
|
|
646
767
|
return base;
|
|
647
768
|
}
|
|
@@ -682,18 +803,32 @@ var getAnimationStyle = (frame, animation) => {
|
|
|
682
803
|
return {};
|
|
683
804
|
}
|
|
684
805
|
};
|
|
685
|
-
var Text = ({
|
|
806
|
+
var Text = ({
|
|
807
|
+
content,
|
|
808
|
+
fontSize,
|
|
809
|
+
color,
|
|
810
|
+
fontFamily,
|
|
811
|
+
position,
|
|
812
|
+
animation,
|
|
813
|
+
maxWidthPct,
|
|
814
|
+
safeInsetPct,
|
|
815
|
+
textAlign
|
|
816
|
+
}) => {
|
|
686
817
|
const frame = useCurrentFrame3();
|
|
687
|
-
const positionStyles6 = getPositionStyles(position);
|
|
818
|
+
const positionStyles6 = getPositionStyles(position, safeInsetPct);
|
|
688
819
|
const animationStyles = getAnimationStyle(frame, animation);
|
|
689
|
-
return /* @__PURE__ */
|
|
820
|
+
return /* @__PURE__ */ jsx13(Fill, { style: positionStyles6, children: /* @__PURE__ */ jsx13(
|
|
690
821
|
"div",
|
|
691
822
|
{
|
|
692
823
|
style: {
|
|
693
824
|
fontSize,
|
|
694
825
|
color,
|
|
826
|
+
fontFamily,
|
|
695
827
|
fontWeight: 600,
|
|
696
|
-
textAlign
|
|
828
|
+
textAlign,
|
|
829
|
+
maxWidth: `${Math.round(maxWidthPct * 100)}%`,
|
|
830
|
+
overflowWrap: "anywhere",
|
|
831
|
+
wordBreak: "break-word",
|
|
697
832
|
...animationStyles
|
|
698
833
|
},
|
|
699
834
|
children: content
|
|
@@ -724,19 +859,19 @@ var TextComponentMetadata = {
|
|
|
724
859
|
};
|
|
725
860
|
|
|
726
861
|
// src/components/primitives/Video.tsx
|
|
727
|
-
import {
|
|
728
|
-
import { z as
|
|
729
|
-
import { jsx as
|
|
730
|
-
var VideoPropsSchema =
|
|
731
|
-
src:
|
|
732
|
-
fit:
|
|
733
|
-
borderRadius:
|
|
734
|
-
opacity:
|
|
735
|
-
muted:
|
|
862
|
+
import { Video as RemotionVideo, staticFile as staticFile4 } from "remotion";
|
|
863
|
+
import { z as z15 } from "zod";
|
|
864
|
+
import { jsx as jsx14 } from "react/jsx-runtime";
|
|
865
|
+
var VideoPropsSchema = z15.object({
|
|
866
|
+
src: z15.string().min(1),
|
|
867
|
+
fit: z15.enum(["cover", "contain"]).default("cover"),
|
|
868
|
+
borderRadius: z15.number().min(0).default(0),
|
|
869
|
+
opacity: z15.number().min(0).max(1).default(1),
|
|
870
|
+
muted: z15.boolean().default(true)
|
|
736
871
|
});
|
|
737
872
|
var resolveAsset3 = (value) => isRemoteAssetPath(value) ? value : staticFile4(staticFileInputFromAssetPath(value));
|
|
738
873
|
var Video2 = ({ src, fit, borderRadius, opacity, muted }) => {
|
|
739
|
-
return /* @__PURE__ */
|
|
874
|
+
return /* @__PURE__ */ jsx14(Fill, { style: { opacity }, children: /* @__PURE__ */ jsx14(
|
|
740
875
|
RemotionVideo,
|
|
741
876
|
{
|
|
742
877
|
src: resolveAsset3(src),
|
|
@@ -753,19 +888,19 @@ var VideoComponentMetadata = {
|
|
|
753
888
|
};
|
|
754
889
|
|
|
755
890
|
// src/components/composites/AnimatedCounter.tsx
|
|
756
|
-
import {
|
|
757
|
-
import { z as
|
|
758
|
-
import { jsx as
|
|
759
|
-
var AnimatedCounterPropsSchema =
|
|
760
|
-
from:
|
|
761
|
-
to:
|
|
762
|
-
fontSize:
|
|
763
|
-
color:
|
|
764
|
-
fontFamily:
|
|
765
|
-
fontWeight:
|
|
766
|
-
icon:
|
|
767
|
-
suffix:
|
|
768
|
-
animationType:
|
|
891
|
+
import { interpolate as interpolate4, spring, useCurrentFrame as useCurrentFrame4, useVideoConfig } from "remotion";
|
|
892
|
+
import { z as z16 } from "zod";
|
|
893
|
+
import { jsx as jsx15, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
894
|
+
var AnimatedCounterPropsSchema = z16.object({
|
|
895
|
+
from: z16.number().default(0),
|
|
896
|
+
to: z16.number().default(100),
|
|
897
|
+
fontSize: z16.number().min(8).max(300).default(96),
|
|
898
|
+
color: z16.string().default("#FFFFFF"),
|
|
899
|
+
fontFamily: z16.string().default("Inter"),
|
|
900
|
+
fontWeight: z16.number().int().min(100).max(900).default(700),
|
|
901
|
+
icon: z16.string().optional(),
|
|
902
|
+
suffix: z16.string().optional(),
|
|
903
|
+
animationType: z16.enum(["spring", "linear"]).default("spring")
|
|
769
904
|
});
|
|
770
905
|
var AnimatedCounter = ({
|
|
771
906
|
from,
|
|
@@ -786,9 +921,9 @@ var AnimatedCounter = ({
|
|
|
786
921
|
const value = from + (to - from) * Math.max(0, Math.min(1, progress));
|
|
787
922
|
const rounded = Math.round(value);
|
|
788
923
|
const label = `${rounded.toLocaleString()}${suffix ?? ""}`;
|
|
789
|
-
return /* @__PURE__ */
|
|
790
|
-
icon ? /* @__PURE__ */
|
|
791
|
-
/* @__PURE__ */
|
|
924
|
+
return /* @__PURE__ */ jsx15(Fill, { style: { display: "flex", alignItems: "center", justifyContent: "center" }, children: /* @__PURE__ */ jsxs2("div", { style: { textAlign: "center" }, children: [
|
|
925
|
+
icon ? /* @__PURE__ */ jsx15("div", { style: { fontSize: Math.round(fontSize * 0.5), marginBottom: 18 }, children: icon }) : null,
|
|
926
|
+
/* @__PURE__ */ jsx15("div", { style: { fontSize, color, fontFamily, fontWeight, lineHeight: 1 }, children: label })
|
|
792
927
|
] }) });
|
|
793
928
|
};
|
|
794
929
|
var AnimatedCounterComponentMetadata = {
|
|
@@ -803,27 +938,27 @@ var AnimatedCounterComponentMetadata = {
|
|
|
803
938
|
};
|
|
804
939
|
|
|
805
940
|
// src/components/composites/BarChart.tsx
|
|
806
|
-
import {
|
|
807
|
-
import { z as
|
|
808
|
-
import { jsx as
|
|
809
|
-
var BarChartPropsSchema =
|
|
810
|
-
data:
|
|
811
|
-
label:
|
|
812
|
-
value:
|
|
813
|
-
color:
|
|
941
|
+
import { spring as spring2, useCurrentFrame as useCurrentFrame5, useVideoConfig as useVideoConfig2 } from "remotion";
|
|
942
|
+
import { z as z17 } from "zod";
|
|
943
|
+
import { jsx as jsx16, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
944
|
+
var BarChartPropsSchema = z17.object({
|
|
945
|
+
data: z17.array(z17.object({
|
|
946
|
+
label: z17.string().min(1),
|
|
947
|
+
value: z17.number(),
|
|
948
|
+
color: z17.string().optional()
|
|
814
949
|
})).min(2).max(8),
|
|
815
|
-
orientation:
|
|
816
|
-
showValues:
|
|
817
|
-
showGrid:
|
|
818
|
-
maxValue:
|
|
950
|
+
orientation: z17.enum(["horizontal", "vertical"]).default("vertical"),
|
|
951
|
+
showValues: z17.boolean().default(true),
|
|
952
|
+
showGrid: z17.boolean().default(false),
|
|
953
|
+
maxValue: z17.number().optional()
|
|
819
954
|
});
|
|
820
955
|
var BarChart = ({ data, orientation, showValues, showGrid, maxValue }) => {
|
|
821
956
|
const frame = useCurrentFrame5();
|
|
822
957
|
const { fps } = useVideoConfig2();
|
|
823
958
|
const max = maxValue ?? Math.max(...data.map((d) => d.value));
|
|
824
|
-
return /* @__PURE__ */ jsxs3(
|
|
825
|
-
showGrid ? /* @__PURE__ */
|
|
826
|
-
/* @__PURE__ */
|
|
959
|
+
return /* @__PURE__ */ jsxs3(Fill, { style: { padding: 90, boxSizing: "border-box" }, children: [
|
|
960
|
+
showGrid ? /* @__PURE__ */ jsx16("div", { style: { position: "absolute", left: 90, right: 90, top: 90, bottom: 90, opacity: 0.15, backgroundImage: "linear-gradient(#fff 1px, transparent 1px)", backgroundSize: "100% 60px" } }) : null,
|
|
961
|
+
/* @__PURE__ */ jsx16(
|
|
827
962
|
"div",
|
|
828
963
|
{
|
|
829
964
|
style: {
|
|
@@ -840,9 +975,9 @@ var BarChart = ({ data, orientation, showValues, showGrid, maxValue }) => {
|
|
|
840
975
|
const ratio = max === 0 ? 0 : d.value / max * p;
|
|
841
976
|
const color = d.color ?? "#0A84FF";
|
|
842
977
|
return /* @__PURE__ */ jsxs3("div", { style: { flex: 1, display: "flex", flexDirection: "column", alignItems: "center", gap: 10 }, children: [
|
|
843
|
-
orientation === "vertical" ? /* @__PURE__ */
|
|
844
|
-
/* @__PURE__ */
|
|
845
|
-
showValues ? /* @__PURE__ */
|
|
978
|
+
orientation === "vertical" ? /* @__PURE__ */ jsx16("div", { style: { width: "100%", flex: 1, display: "flex", alignItems: "flex-end" }, children: /* @__PURE__ */ jsx16("div", { style: { width: "100%", height: `${Math.round(ratio * 100)}%`, backgroundColor: color, borderRadius: 12 } }) }) : /* @__PURE__ */ jsx16("div", { style: { width: "100%", display: "flex", alignItems: "center", gap: 12 }, children: /* @__PURE__ */ jsx16("div", { style: { flex: 1, height: 18, backgroundColor: "rgba(255,255,255,0.15)", borderRadius: 9999, overflow: "hidden" }, children: /* @__PURE__ */ jsx16("div", { style: { width: `${Math.round(ratio * 100)}%`, height: "100%", backgroundColor: color } }) }) }),
|
|
979
|
+
/* @__PURE__ */ jsx16("div", { style: { color: "#FFFFFF", fontWeight: 700, fontSize: 22, opacity: 0.9 }, children: d.label }),
|
|
980
|
+
showValues ? /* @__PURE__ */ jsx16("div", { style: { color: "#FFFFFF", fontWeight: 800, fontSize: 26 }, children: Math.round(d.value).toLocaleString() }) : null
|
|
846
981
|
] }, d.label);
|
|
847
982
|
})
|
|
848
983
|
}
|
|
@@ -857,18 +992,18 @@ var BarChartComponentMetadata = {
|
|
|
857
992
|
};
|
|
858
993
|
|
|
859
994
|
// src/components/composites/CardStack.tsx
|
|
860
|
-
import {
|
|
861
|
-
import { z as
|
|
862
|
-
import { jsx as
|
|
863
|
-
var CardSchema =
|
|
864
|
-
title:
|
|
865
|
-
content:
|
|
866
|
-
backgroundColor:
|
|
995
|
+
import { interpolate as interpolate5, spring as spring3, useCurrentFrame as useCurrentFrame6, useVideoConfig as useVideoConfig3 } from "remotion";
|
|
996
|
+
import { z as z18 } from "zod";
|
|
997
|
+
import { jsx as jsx17, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
998
|
+
var CardSchema = z18.object({
|
|
999
|
+
title: z18.string().min(1),
|
|
1000
|
+
content: z18.string().min(1),
|
|
1001
|
+
backgroundColor: z18.string().optional()
|
|
867
1002
|
});
|
|
868
|
-
var CardStackPropsSchema =
|
|
869
|
-
cards:
|
|
870
|
-
transition:
|
|
871
|
-
displayDuration:
|
|
1003
|
+
var CardStackPropsSchema = z18.object({
|
|
1004
|
+
cards: z18.array(CardSchema).min(2).max(5),
|
|
1005
|
+
transition: z18.enum(["flip", "slide", "fade"]).default("flip"),
|
|
1006
|
+
displayDuration: z18.number().int().min(30).max(150).default(90)
|
|
872
1007
|
});
|
|
873
1008
|
var CardStack = ({ cards, transition, displayDuration }) => {
|
|
874
1009
|
const frame = useCurrentFrame6();
|
|
@@ -881,7 +1016,7 @@ var CardStack = ({ cards, transition, displayDuration }) => {
|
|
|
881
1016
|
const opacity = transition === "fade" ? p : 1;
|
|
882
1017
|
const slideX = transition === "slide" ? interpolate5(p, [0, 1], [80, 0]) : 0;
|
|
883
1018
|
const rotateY = transition === "flip" ? interpolate5(p, [0, 1], [70, 0]) : 0;
|
|
884
|
-
return /* @__PURE__ */
|
|
1019
|
+
return /* @__PURE__ */ jsx17(Fill, { style: { display: "flex", justifyContent: "center", alignItems: "center" }, children: /* @__PURE__ */ jsxs4(
|
|
885
1020
|
"div",
|
|
886
1021
|
{
|
|
887
1022
|
style: {
|
|
@@ -898,8 +1033,8 @@ var CardStack = ({ cards, transition, displayDuration }) => {
|
|
|
898
1033
|
opacity
|
|
899
1034
|
},
|
|
900
1035
|
children: [
|
|
901
|
-
/* @__PURE__ */
|
|
902
|
-
/* @__PURE__ */
|
|
1036
|
+
/* @__PURE__ */ jsx17("div", { style: { fontSize: 56, fontWeight: 900, marginBottom: 22 }, children: card.title }),
|
|
1037
|
+
/* @__PURE__ */ jsx17("div", { style: { fontSize: 30, fontWeight: 700, opacity: 0.9, lineHeight: 1.3 }, children: card.content })
|
|
903
1038
|
]
|
|
904
1039
|
}
|
|
905
1040
|
) });
|
|
@@ -912,18 +1047,19 @@ var CardStackComponentMetadata = {
|
|
|
912
1047
|
};
|
|
913
1048
|
|
|
914
1049
|
// src/components/composites/CircularReveal.tsx
|
|
915
|
-
import
|
|
916
|
-
import {
|
|
917
|
-
import {
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
1050
|
+
import React5 from "react";
|
|
1051
|
+
import { interpolate as interpolate6, useCurrentFrame as useCurrentFrame7 } from "remotion";
|
|
1052
|
+
import { z as z19 } from "zod";
|
|
1053
|
+
import { jsx as jsx18 } from "react/jsx-runtime";
|
|
1054
|
+
var CenterSchema = z19.object({
|
|
1055
|
+
x: z19.number().min(0).max(1).default(0.5),
|
|
1056
|
+
y: z19.number().min(0).max(1).default(0.5)
|
|
921
1057
|
});
|
|
922
|
-
var CircularRevealPropsSchema =
|
|
923
|
-
durationInFrames:
|
|
924
|
-
direction:
|
|
1058
|
+
var CircularRevealPropsSchema = z19.object({
|
|
1059
|
+
durationInFrames: z19.number().int().min(10).max(60).default(30),
|
|
1060
|
+
direction: z19.enum(["open", "close"]).default("open"),
|
|
925
1061
|
center: CenterSchema.optional(),
|
|
926
|
-
phase:
|
|
1062
|
+
phase: z19.enum(["in", "out", "inOut"]).default("inOut")
|
|
927
1063
|
});
|
|
928
1064
|
var CircularReveal = ({
|
|
929
1065
|
durationInFrames,
|
|
@@ -933,6 +1069,7 @@ var CircularReveal = ({
|
|
|
933
1069
|
children,
|
|
934
1070
|
__wavesDurationInFrames
|
|
935
1071
|
}) => {
|
|
1072
|
+
const layers = React5.Children.toArray(children);
|
|
936
1073
|
const frame = useCurrentFrame7();
|
|
937
1074
|
const total = Math.max(1, __wavesDurationInFrames ?? 1);
|
|
938
1075
|
const d = Math.min(durationInFrames, total);
|
|
@@ -948,7 +1085,7 @@ var CircularReveal = ({
|
|
|
948
1085
|
const t = interpolate6(frame, [start, total], [0, 1], { extrapolateLeft: "clamp", extrapolateRight: "clamp" });
|
|
949
1086
|
radiusPct = open ? 150 * (1 - t) : 150 * t;
|
|
950
1087
|
}
|
|
951
|
-
return /* @__PURE__ */
|
|
1088
|
+
return /* @__PURE__ */ jsx18(Fill, { style: { clipPath: `circle(${radiusPct}% at ${Math.round(c.x * 100)}% ${Math.round(c.y * 100)}%)` }, children: layers.map((child, i) => /* @__PURE__ */ jsx18("div", { style: { position: "absolute", inset: 0 }, children: child }, i)) });
|
|
952
1089
|
};
|
|
953
1090
|
var CircularRevealComponentMetadata = {
|
|
954
1091
|
kind: "composite",
|
|
@@ -960,21 +1097,21 @@ var CircularRevealComponentMetadata = {
|
|
|
960
1097
|
};
|
|
961
1098
|
|
|
962
1099
|
// src/components/composites/CountUpText.tsx
|
|
963
|
-
import {
|
|
964
|
-
import { z as
|
|
965
|
-
import { jsx as
|
|
966
|
-
var CountUpTextPropsSchema =
|
|
967
|
-
from:
|
|
968
|
-
to:
|
|
969
|
-
fontSize:
|
|
970
|
-
color:
|
|
971
|
-
fontFamily:
|
|
972
|
-
fontWeight:
|
|
973
|
-
position:
|
|
974
|
-
format:
|
|
975
|
-
decimals:
|
|
976
|
-
prefix:
|
|
977
|
-
suffix:
|
|
1100
|
+
import { interpolate as interpolate7, spring as spring4, useCurrentFrame as useCurrentFrame8, useVideoConfig as useVideoConfig4 } from "remotion";
|
|
1101
|
+
import { z as z20 } from "zod";
|
|
1102
|
+
import { jsx as jsx19 } from "react/jsx-runtime";
|
|
1103
|
+
var CountUpTextPropsSchema = z20.object({
|
|
1104
|
+
from: z20.number().default(0),
|
|
1105
|
+
to: z20.number().default(100),
|
|
1106
|
+
fontSize: z20.number().min(8).max(240).default(72),
|
|
1107
|
+
color: z20.string().default("#FFFFFF"),
|
|
1108
|
+
fontFamily: z20.string().default("Inter"),
|
|
1109
|
+
fontWeight: z20.number().int().min(100).max(900).default(700),
|
|
1110
|
+
position: z20.enum(["top", "center", "bottom"]).default("center"),
|
|
1111
|
+
format: z20.enum(["integer", "decimal", "currency", "percentage"]).default("integer"),
|
|
1112
|
+
decimals: z20.number().int().min(0).max(4).default(0),
|
|
1113
|
+
prefix: z20.string().optional(),
|
|
1114
|
+
suffix: z20.string().optional()
|
|
978
1115
|
});
|
|
979
1116
|
var positionStyles = (position) => {
|
|
980
1117
|
if (position === "top") return { justifyContent: "center", alignItems: "flex-start", paddingTop: 90 };
|
|
@@ -1009,7 +1146,7 @@ var CountUpText = ({
|
|
|
1009
1146
|
const value = from + (to - from) * progress;
|
|
1010
1147
|
const fade = interpolate7(frame, [0, Math.min(12, total)], [0, 1], { extrapolateLeft: "clamp", extrapolateRight: "clamp" });
|
|
1011
1148
|
const label = `${prefix ?? ""}${formatValue(value, format, decimals)}${suffix ?? ""}`;
|
|
1012
|
-
return /* @__PURE__ */
|
|
1149
|
+
return /* @__PURE__ */ jsx19(Fill, { style: { display: "flex", ...positionStyles(position) }, children: /* @__PURE__ */ jsx19("div", { style: { fontSize, color, fontFamily, fontWeight, opacity: fade, lineHeight: 1 }, children: label }) });
|
|
1013
1150
|
};
|
|
1014
1151
|
var CountUpTextComponentMetadata = {
|
|
1015
1152
|
kind: "composite",
|
|
@@ -1019,10 +1156,11 @@ var CountUpTextComponentMetadata = {
|
|
|
1019
1156
|
};
|
|
1020
1157
|
|
|
1021
1158
|
// src/components/composites/FadeTransition.tsx
|
|
1022
|
-
import
|
|
1023
|
-
import {
|
|
1024
|
-
import {
|
|
1025
|
-
|
|
1159
|
+
import React6 from "react";
|
|
1160
|
+
import { interpolate as interpolate8, useCurrentFrame as useCurrentFrame9 } from "remotion";
|
|
1161
|
+
import { z as z21 } from "zod";
|
|
1162
|
+
import { jsx as jsx20 } from "react/jsx-runtime";
|
|
1163
|
+
var EasingSchema = z21.enum(["linear", "easeIn", "easeOut", "easeInOut"]);
|
|
1026
1164
|
function ease(t, easing) {
|
|
1027
1165
|
const x = Math.max(0, Math.min(1, t));
|
|
1028
1166
|
if (easing === "linear") return x;
|
|
@@ -1030,10 +1168,10 @@ function ease(t, easing) {
|
|
|
1030
1168
|
if (easing === "easeOut") return 1 - (1 - x) * (1 - x);
|
|
1031
1169
|
return x < 0.5 ? 2 * x * x : 1 - 2 * (1 - x) * (1 - x);
|
|
1032
1170
|
}
|
|
1033
|
-
var FadeTransitionPropsSchema =
|
|
1034
|
-
durationInFrames:
|
|
1171
|
+
var FadeTransitionPropsSchema = z21.object({
|
|
1172
|
+
durationInFrames: z21.number().int().min(10).max(60).default(30),
|
|
1035
1173
|
easing: EasingSchema.default("easeInOut"),
|
|
1036
|
-
phase:
|
|
1174
|
+
phase: z21.enum(["in", "out", "inOut"]).default("inOut")
|
|
1037
1175
|
});
|
|
1038
1176
|
var FadeTransition = ({
|
|
1039
1177
|
durationInFrames,
|
|
@@ -1042,6 +1180,7 @@ var FadeTransition = ({
|
|
|
1042
1180
|
children,
|
|
1043
1181
|
__wavesDurationInFrames
|
|
1044
1182
|
}) => {
|
|
1183
|
+
const layers = React6.Children.toArray(children);
|
|
1045
1184
|
const frame = useCurrentFrame9();
|
|
1046
1185
|
const total = Math.max(1, __wavesDurationInFrames ?? 1);
|
|
1047
1186
|
const d = Math.min(durationInFrames, total);
|
|
@@ -1055,7 +1194,7 @@ var FadeTransition = ({
|
|
|
1055
1194
|
const t = interpolate8(frame, [start, total], [0, 1], { extrapolateLeft: "clamp", extrapolateRight: "clamp" });
|
|
1056
1195
|
opacity *= 1 - ease(t, easing);
|
|
1057
1196
|
}
|
|
1058
|
-
return /* @__PURE__ */
|
|
1197
|
+
return /* @__PURE__ */ jsx20(Fill, { style: { opacity }, children: layers.map((child, i) => /* @__PURE__ */ jsx20("div", { style: { position: "absolute", inset: 0 }, children: child }, i)) });
|
|
1059
1198
|
};
|
|
1060
1199
|
var FadeTransitionComponentMetadata = {
|
|
1061
1200
|
kind: "composite",
|
|
@@ -1067,17 +1206,17 @@ var FadeTransitionComponentMetadata = {
|
|
|
1067
1206
|
};
|
|
1068
1207
|
|
|
1069
1208
|
// src/components/composites/GlitchText.tsx
|
|
1070
|
-
import {
|
|
1071
|
-
import { z as
|
|
1072
|
-
import { jsx as
|
|
1073
|
-
var GlitchTextPropsSchema =
|
|
1074
|
-
content:
|
|
1075
|
-
fontSize:
|
|
1076
|
-
color:
|
|
1077
|
-
fontFamily:
|
|
1078
|
-
position:
|
|
1079
|
-
intensity:
|
|
1080
|
-
glitchDuration:
|
|
1209
|
+
import { useCurrentFrame as useCurrentFrame10 } from "remotion";
|
|
1210
|
+
import { z as z22 } from "zod";
|
|
1211
|
+
import { jsx as jsx21, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
1212
|
+
var GlitchTextPropsSchema = z22.object({
|
|
1213
|
+
content: z22.string().max(100),
|
|
1214
|
+
fontSize: z22.number().min(8).max(240).default(72),
|
|
1215
|
+
color: z22.string().default("#FFFFFF"),
|
|
1216
|
+
fontFamily: z22.string().default("monospace"),
|
|
1217
|
+
position: z22.enum(["top", "center", "bottom"]).default("center"),
|
|
1218
|
+
intensity: z22.number().int().min(1).max(10).default(5),
|
|
1219
|
+
glitchDuration: z22.number().int().min(5).max(30).default(10)
|
|
1081
1220
|
});
|
|
1082
1221
|
var positionStyles2 = (position) => {
|
|
1083
1222
|
if (position === "top") return { justifyContent: "center", alignItems: "flex-start", paddingTop: 90 };
|
|
@@ -1111,10 +1250,10 @@ var GlitchText = ({
|
|
|
1111
1250
|
textTransform: "uppercase",
|
|
1112
1251
|
textAlign: "center"
|
|
1113
1252
|
};
|
|
1114
|
-
return /* @__PURE__ */
|
|
1115
|
-
/* @__PURE__ */
|
|
1116
|
-
/* @__PURE__ */
|
|
1117
|
-
/* @__PURE__ */
|
|
1253
|
+
return /* @__PURE__ */ jsx21(Fill, { style: { display: "flex", ...positionStyles2(position) }, children: /* @__PURE__ */ jsxs5("div", { style: { position: "relative" }, children: [
|
|
1254
|
+
/* @__PURE__ */ jsx21("div", { style: { ...baseStyle, color, transform: `translate(${jitter}px, ${jitterY}px)` }, children: content }),
|
|
1255
|
+
/* @__PURE__ */ jsx21("div", { style: { ...baseStyle, color: "#FF3B30", transform: `translate(${jitter + 4}px, ${jitterY}px)`, mixBlendMode: "screen", opacity: active ? 0.9 : 0 }, children: content }),
|
|
1256
|
+
/* @__PURE__ */ jsx21("div", { style: { ...baseStyle, color: "#0A84FF", transform: `translate(${jitter - 4}px, ${jitterY}px)`, mixBlendMode: "screen", opacity: active ? 0.9 : 0 }, children: content })
|
|
1118
1257
|
] }) });
|
|
1119
1258
|
};
|
|
1120
1259
|
var GlitchTextComponentMetadata = {
|
|
@@ -1125,17 +1264,16 @@ var GlitchTextComponentMetadata = {
|
|
|
1125
1264
|
};
|
|
1126
1265
|
|
|
1127
1266
|
// src/components/composites/GridLayout.tsx
|
|
1128
|
-
import {
|
|
1129
|
-
import {
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
padding: z20.number().min(0).max(100).default(40)
|
|
1267
|
+
import { z as z23 } from "zod";
|
|
1268
|
+
import { jsx as jsx22 } from "react/jsx-runtime";
|
|
1269
|
+
var GridLayoutPropsSchema = z23.object({
|
|
1270
|
+
columns: z23.number().int().min(1).max(4).default(2),
|
|
1271
|
+
rows: z23.number().int().min(1).max(4).default(2),
|
|
1272
|
+
gap: z23.number().min(0).max(50).default(20),
|
|
1273
|
+
padding: z23.number().min(0).max(100).default(40)
|
|
1136
1274
|
});
|
|
1137
1275
|
var GridLayout = ({ columns, rows, gap, padding, children }) => {
|
|
1138
|
-
return /* @__PURE__ */
|
|
1276
|
+
return /* @__PURE__ */ jsx22(Fill, { style: { padding, boxSizing: "border-box" }, children: /* @__PURE__ */ jsx22(
|
|
1139
1277
|
"div",
|
|
1140
1278
|
{
|
|
1141
1279
|
style: {
|
|
@@ -1160,13 +1298,13 @@ var GridLayoutComponentMetadata = {
|
|
|
1160
1298
|
};
|
|
1161
1299
|
|
|
1162
1300
|
// src/components/composites/ImageCollage.tsx
|
|
1163
|
-
import {
|
|
1164
|
-
import { z as
|
|
1165
|
-
import { jsx as
|
|
1166
|
-
var ImageCollagePropsSchema =
|
|
1167
|
-
images:
|
|
1168
|
-
layout:
|
|
1169
|
-
stagger:
|
|
1301
|
+
import { Img as Img3, spring as spring5, staticFile as staticFile5, useCurrentFrame as useCurrentFrame11, useVideoConfig as useVideoConfig5 } from "remotion";
|
|
1302
|
+
import { z as z24 } from "zod";
|
|
1303
|
+
import { jsx as jsx23, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
1304
|
+
var ImageCollagePropsSchema = z24.object({
|
|
1305
|
+
images: z24.array(z24.object({ src: z24.string().min(1), caption: z24.string().optional() })).min(2).max(9),
|
|
1306
|
+
layout: z24.enum(["grid", "stack", "scatter"]).default("grid"),
|
|
1307
|
+
stagger: z24.number().int().min(2).max(10).default(5)
|
|
1170
1308
|
});
|
|
1171
1309
|
var resolveAsset4 = (value) => isRemoteAssetPath(value) ? value : staticFile5(staticFileInputFromAssetPath(value));
|
|
1172
1310
|
var ImageCollage = ({ images, layout, stagger }) => {
|
|
@@ -1176,7 +1314,7 @@ var ImageCollage = ({ images, layout, stagger }) => {
|
|
|
1176
1314
|
const cols = Math.ceil(Math.sqrt(n));
|
|
1177
1315
|
const rows = Math.ceil(n / cols);
|
|
1178
1316
|
if (layout === "grid") {
|
|
1179
|
-
return /* @__PURE__ */
|
|
1317
|
+
return /* @__PURE__ */ jsx23(Fill, { style: { padding: 80, boxSizing: "border-box" }, children: /* @__PURE__ */ jsx23(
|
|
1180
1318
|
"div",
|
|
1181
1319
|
{
|
|
1182
1320
|
style: {
|
|
@@ -1190,19 +1328,19 @@ var ImageCollage = ({ images, layout, stagger }) => {
|
|
|
1190
1328
|
children: images.map((img, i) => {
|
|
1191
1329
|
const p = spring5({ frame: frame - i * stagger, fps, config: { damping: 14, stiffness: 120, mass: 0.9 } });
|
|
1192
1330
|
return /* @__PURE__ */ jsxs6("div", { style: { position: "relative", overflow: "hidden", borderRadius: 18, opacity: p, transform: `scale(${0.92 + 0.08 * p})` }, children: [
|
|
1193
|
-
/* @__PURE__ */
|
|
1194
|
-
img.caption ? /* @__PURE__ */
|
|
1331
|
+
/* @__PURE__ */ jsx23(Img3, { src: resolveAsset4(img.src), style: { width: "100%", height: "100%", objectFit: "cover" } }),
|
|
1332
|
+
img.caption ? /* @__PURE__ */ jsx23("div", { style: { position: "absolute", left: 0, right: 0, bottom: 0, padding: 12, background: "linear-gradient(transparent, rgba(0,0,0,0.7))", color: "#fff", fontWeight: 700 }, children: img.caption }) : null
|
|
1195
1333
|
] }, i);
|
|
1196
1334
|
})
|
|
1197
1335
|
}
|
|
1198
1336
|
) });
|
|
1199
1337
|
}
|
|
1200
|
-
return /* @__PURE__ */
|
|
1338
|
+
return /* @__PURE__ */ jsx23(Fill, { children: images.map((img, i) => {
|
|
1201
1339
|
const p = spring5({ frame: frame - i * stagger, fps, config: { damping: 14, stiffness: 120, mass: 0.9 } });
|
|
1202
1340
|
const baseRotate = layout === "stack" ? (i - (n - 1) / 2) * 4 : i * 17 % 20 - 10;
|
|
1203
1341
|
const baseX = layout === "scatter" ? i * 137 % 300 - 150 : 0;
|
|
1204
1342
|
const baseY = layout === "scatter" ? (i + 3) * 89 % 200 - 100 : 0;
|
|
1205
|
-
return /* @__PURE__ */
|
|
1343
|
+
return /* @__PURE__ */ jsx23(
|
|
1206
1344
|
"div",
|
|
1207
1345
|
{
|
|
1208
1346
|
style: {
|
|
@@ -1217,7 +1355,7 @@ var ImageCollage = ({ images, layout, stagger }) => {
|
|
|
1217
1355
|
overflow: "hidden",
|
|
1218
1356
|
boxShadow: "0 20px 60px rgba(0,0,0,0.35)"
|
|
1219
1357
|
},
|
|
1220
|
-
children: /* @__PURE__ */
|
|
1358
|
+
children: /* @__PURE__ */ jsx23(Img3, { src: resolveAsset4(img.src), style: { width: "100%", height: "100%", objectFit: "cover" } })
|
|
1221
1359
|
},
|
|
1222
1360
|
i
|
|
1223
1361
|
);
|
|
@@ -1231,13 +1369,13 @@ var ImageCollageComponentMetadata = {
|
|
|
1231
1369
|
};
|
|
1232
1370
|
|
|
1233
1371
|
// src/components/composites/ImageReveal.tsx
|
|
1234
|
-
import {
|
|
1235
|
-
import { z as
|
|
1236
|
-
import { jsx as
|
|
1237
|
-
var ImageRevealPropsSchema =
|
|
1238
|
-
src:
|
|
1239
|
-
direction:
|
|
1240
|
-
revealType:
|
|
1372
|
+
import { Img as Img4, interpolate as interpolate9, staticFile as staticFile6, useCurrentFrame as useCurrentFrame12 } from "remotion";
|
|
1373
|
+
import { z as z25 } from "zod";
|
|
1374
|
+
import { jsx as jsx24 } from "react/jsx-runtime";
|
|
1375
|
+
var ImageRevealPropsSchema = z25.object({
|
|
1376
|
+
src: z25.string().min(1),
|
|
1377
|
+
direction: z25.enum(["left", "right", "top", "bottom", "center"]).default("left"),
|
|
1378
|
+
revealType: z25.enum(["wipe", "expand", "iris"]).default("wipe")
|
|
1241
1379
|
});
|
|
1242
1380
|
var resolveAsset5 = (value) => isRemoteAssetPath(value) ? value : staticFile6(staticFileInputFromAssetPath(value));
|
|
1243
1381
|
var ImageReveal = ({ src, direction, revealType, __wavesDurationInFrames }) => {
|
|
@@ -1267,7 +1405,7 @@ var ImageReveal = ({ src, direction, revealType, __wavesDurationInFrames }) => {
|
|
|
1267
1405
|
clipPath = `circle(${Math.round(150 * p)}% at 50% 50%)`;
|
|
1268
1406
|
}
|
|
1269
1407
|
const opacity = revealType === "expand" ? p : 1;
|
|
1270
|
-
return /* @__PURE__ */
|
|
1408
|
+
return /* @__PURE__ */ jsx24(Fill, { children: /* @__PURE__ */ jsx24(
|
|
1271
1409
|
Img4,
|
|
1272
1410
|
{
|
|
1273
1411
|
src: resolveAsset5(src),
|
|
@@ -1291,14 +1429,14 @@ var ImageRevealComponentMetadata = {
|
|
|
1291
1429
|
};
|
|
1292
1430
|
|
|
1293
1431
|
// src/components/composites/ImageSequence.tsx
|
|
1294
|
-
import {
|
|
1295
|
-
import { z as
|
|
1296
|
-
import { jsx as
|
|
1297
|
-
var ImageSequencePropsSchema =
|
|
1298
|
-
basePath:
|
|
1299
|
-
frameCount:
|
|
1300
|
-
filePattern:
|
|
1301
|
-
fps:
|
|
1432
|
+
import { Img as Img5, staticFile as staticFile7, useCurrentFrame as useCurrentFrame13, useVideoConfig as useVideoConfig6 } from "remotion";
|
|
1433
|
+
import { z as z26 } from "zod";
|
|
1434
|
+
import { jsx as jsx25 } from "react/jsx-runtime";
|
|
1435
|
+
var ImageSequencePropsSchema = z26.object({
|
|
1436
|
+
basePath: z26.string().min(1),
|
|
1437
|
+
frameCount: z26.number().int().positive(),
|
|
1438
|
+
filePattern: z26.string().default("frame_{frame}.png"),
|
|
1439
|
+
fps: z26.number().int().min(1).max(120).default(30)
|
|
1302
1440
|
});
|
|
1303
1441
|
function joinPath(base, file) {
|
|
1304
1442
|
if (base.endsWith("/")) return `${base}${file}`;
|
|
@@ -1311,7 +1449,7 @@ var ImageSequence = ({ basePath, frameCount, filePattern, fps }) => {
|
|
|
1311
1449
|
const index = Math.min(frameCount - 1, Math.max(0, Math.floor(frame * fps / compFps)));
|
|
1312
1450
|
const file = filePattern.replace("{frame}", String(index));
|
|
1313
1451
|
const src = joinPath(basePath, file);
|
|
1314
|
-
return /* @__PURE__ */
|
|
1452
|
+
return /* @__PURE__ */ jsx25(Fill, { children: /* @__PURE__ */ jsx25(Img5, { src: resolveAsset6(src), style: { width: "100%", height: "100%", objectFit: "cover" } }) });
|
|
1315
1453
|
};
|
|
1316
1454
|
var ImageSequenceComponentMetadata = {
|
|
1317
1455
|
kind: "composite",
|
|
@@ -1321,18 +1459,18 @@ var ImageSequenceComponentMetadata = {
|
|
|
1321
1459
|
};
|
|
1322
1460
|
|
|
1323
1461
|
// src/components/composites/ImageWithCaption.tsx
|
|
1324
|
-
import {
|
|
1325
|
-
import { z as
|
|
1326
|
-
import { jsx as
|
|
1327
|
-
var CaptionStyleSchema =
|
|
1328
|
-
fontSize:
|
|
1329
|
-
color:
|
|
1330
|
-
backgroundColor:
|
|
1462
|
+
import { Img as Img6, interpolate as interpolate10, staticFile as staticFile8, useCurrentFrame as useCurrentFrame14 } from "remotion";
|
|
1463
|
+
import { z as z27 } from "zod";
|
|
1464
|
+
import { jsx as jsx26, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
1465
|
+
var CaptionStyleSchema = z27.object({
|
|
1466
|
+
fontSize: z27.number().min(12).max(80).default(32),
|
|
1467
|
+
color: z27.string().default("#FFFFFF"),
|
|
1468
|
+
backgroundColor: z27.string().default("rgba(0,0,0,0.7)")
|
|
1331
1469
|
});
|
|
1332
|
-
var ImageWithCaptionPropsSchema =
|
|
1333
|
-
src:
|
|
1334
|
-
caption:
|
|
1335
|
-
captionPosition:
|
|
1470
|
+
var ImageWithCaptionPropsSchema = z27.object({
|
|
1471
|
+
src: z27.string().min(1),
|
|
1472
|
+
caption: z27.string().max(200),
|
|
1473
|
+
captionPosition: z27.enum(["top", "bottom", "overlay"]).default("bottom"),
|
|
1336
1474
|
captionStyle: CaptionStyleSchema.optional()
|
|
1337
1475
|
});
|
|
1338
1476
|
var resolveAsset7 = (value) => isRemoteAssetPath(value) ? value : staticFile8(staticFileInputFromAssetPath(value));
|
|
@@ -1340,7 +1478,7 @@ var ImageWithCaption = ({ src, caption, captionPosition, captionStyle }) => {
|
|
|
1340
1478
|
const frame = useCurrentFrame14();
|
|
1341
1479
|
const p = interpolate10(frame, [8, 24], [0, 1], { extrapolateLeft: "clamp", extrapolateRight: "clamp" });
|
|
1342
1480
|
const style = captionStyle ?? { fontSize: 32, color: "#FFFFFF", backgroundColor: "rgba(0,0,0,0.7)" };
|
|
1343
|
-
const captionBox = /* @__PURE__ */
|
|
1481
|
+
const captionBox = /* @__PURE__ */ jsx26(
|
|
1344
1482
|
"div",
|
|
1345
1483
|
{
|
|
1346
1484
|
style: {
|
|
@@ -1357,15 +1495,15 @@ var ImageWithCaption = ({ src, caption, captionPosition, captionStyle }) => {
|
|
|
1357
1495
|
}
|
|
1358
1496
|
);
|
|
1359
1497
|
if (captionPosition === "top" || captionPosition === "bottom") {
|
|
1360
|
-
return /* @__PURE__ */ jsxs7(
|
|
1498
|
+
return /* @__PURE__ */ jsxs7(Fill, { style: { display: "flex", flexDirection: "column" }, children: [
|
|
1361
1499
|
captionPosition === "top" ? captionBox : null,
|
|
1362
|
-
/* @__PURE__ */
|
|
1500
|
+
/* @__PURE__ */ jsx26("div", { style: { flex: 1, position: "relative" }, children: /* @__PURE__ */ jsx26(Img6, { src: resolveAsset7(src), style: { width: "100%", height: "100%", objectFit: "cover" } }) }),
|
|
1363
1501
|
captionPosition === "bottom" ? captionBox : null
|
|
1364
1502
|
] });
|
|
1365
1503
|
}
|
|
1366
|
-
return /* @__PURE__ */ jsxs7(
|
|
1367
|
-
/* @__PURE__ */
|
|
1368
|
-
/* @__PURE__ */
|
|
1504
|
+
return /* @__PURE__ */ jsxs7(Fill, { children: [
|
|
1505
|
+
/* @__PURE__ */ jsx26(Img6, { src: resolveAsset7(src), style: { width: "100%", height: "100%", objectFit: "cover" } }),
|
|
1506
|
+
/* @__PURE__ */ jsx26("div", { style: { position: "absolute", left: 0, right: 0, bottom: 0 }, children: captionBox })
|
|
1369
1507
|
] });
|
|
1370
1508
|
};
|
|
1371
1509
|
var ImageWithCaptionComponentMetadata = {
|
|
@@ -1376,17 +1514,17 @@ var ImageWithCaptionComponentMetadata = {
|
|
|
1376
1514
|
};
|
|
1377
1515
|
|
|
1378
1516
|
// src/components/composites/InstagramStory.tsx
|
|
1379
|
-
import {
|
|
1380
|
-
import { z as
|
|
1381
|
-
import { jsx as
|
|
1382
|
-
var InstagramStoryPropsSchema =
|
|
1383
|
-
backgroundImage:
|
|
1384
|
-
backgroundColor:
|
|
1385
|
-
profilePic:
|
|
1386
|
-
username:
|
|
1387
|
-
text:
|
|
1388
|
-
sticker:
|
|
1389
|
-
musicTrack:
|
|
1517
|
+
import { Audio as RemotionAudio2, Img as Img7, interpolate as interpolate11, staticFile as staticFile9, useCurrentFrame as useCurrentFrame15 } from "remotion";
|
|
1518
|
+
import { z as z28 } from "zod";
|
|
1519
|
+
import { jsx as jsx27, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
1520
|
+
var InstagramStoryPropsSchema = z28.object({
|
|
1521
|
+
backgroundImage: z28.string().optional(),
|
|
1522
|
+
backgroundColor: z28.string().default("#000000"),
|
|
1523
|
+
profilePic: z28.string().optional(),
|
|
1524
|
+
username: z28.string().optional(),
|
|
1525
|
+
text: z28.string().max(100).optional(),
|
|
1526
|
+
sticker: z28.enum(["none", "poll", "question", "countdown"]).default("none"),
|
|
1527
|
+
musicTrack: z28.string().optional()
|
|
1390
1528
|
});
|
|
1391
1529
|
var resolveAsset8 = (value) => isRemoteAssetPath(value) ? value : staticFile9(staticFileInputFromAssetPath(value));
|
|
1392
1530
|
var InstagramStory = ({
|
|
@@ -1400,15 +1538,15 @@ var InstagramStory = ({
|
|
|
1400
1538
|
}) => {
|
|
1401
1539
|
const frame = useCurrentFrame15();
|
|
1402
1540
|
const fade = interpolate11(frame, [0, 20], [0, 1], { extrapolateLeft: "clamp", extrapolateRight: "clamp" });
|
|
1403
|
-
return /* @__PURE__ */ jsxs8(
|
|
1404
|
-
musicTrack ? /* @__PURE__ */
|
|
1405
|
-
backgroundImage ? /* @__PURE__ */
|
|
1406
|
-
/* @__PURE__ */ jsxs8(
|
|
1541
|
+
return /* @__PURE__ */ jsxs8(Fill, { style: { backgroundColor }, children: [
|
|
1542
|
+
musicTrack ? /* @__PURE__ */ jsx27(RemotionAudio2, { src: resolveAsset8(musicTrack), volume: 0.6 }) : null,
|
|
1543
|
+
backgroundImage ? /* @__PURE__ */ jsx27(Img7, { src: resolveAsset8(backgroundImage), style: { width: "100%", height: "100%", objectFit: "cover", opacity: fade } }) : null,
|
|
1544
|
+
/* @__PURE__ */ jsxs8(Fill, { style: { padding: 60, boxSizing: "border-box" }, children: [
|
|
1407
1545
|
profilePic || username ? /* @__PURE__ */ jsxs8("div", { style: { display: "flex", alignItems: "center", gap: 18 }, children: [
|
|
1408
|
-
profilePic ? /* @__PURE__ */
|
|
1409
|
-
/* @__PURE__ */
|
|
1546
|
+
profilePic ? /* @__PURE__ */ jsx27(Img7, { src: resolveAsset8(profilePic), style: { width: 78, height: 78, borderRadius: 9999, objectFit: "cover" } }) : /* @__PURE__ */ jsx27("div", { style: { width: 78, height: 78, borderRadius: 9999, backgroundColor: "rgba(255,255,255,0.2)" } }),
|
|
1547
|
+
/* @__PURE__ */ jsx27("div", { style: { color: "#FFFFFF", fontWeight: 800, fontSize: 34 }, children: username ?? "username" })
|
|
1410
1548
|
] }) : null,
|
|
1411
|
-
text ? /* @__PURE__ */
|
|
1549
|
+
text ? /* @__PURE__ */ jsx27(
|
|
1412
1550
|
"div",
|
|
1413
1551
|
{
|
|
1414
1552
|
style: {
|
|
@@ -1422,7 +1560,7 @@ var InstagramStory = ({
|
|
|
1422
1560
|
children: text
|
|
1423
1561
|
}
|
|
1424
1562
|
) : null,
|
|
1425
|
-
sticker !== "none" ? /* @__PURE__ */
|
|
1563
|
+
sticker !== "none" ? /* @__PURE__ */ jsx27(
|
|
1426
1564
|
"div",
|
|
1427
1565
|
{
|
|
1428
1566
|
style: {
|
|
@@ -1451,16 +1589,16 @@ var InstagramStoryComponentMetadata = {
|
|
|
1451
1589
|
};
|
|
1452
1590
|
|
|
1453
1591
|
// src/components/composites/IntroScene.tsx
|
|
1454
|
-
import {
|
|
1455
|
-
import { z as
|
|
1456
|
-
import { jsx as
|
|
1457
|
-
var IntroScenePropsSchema =
|
|
1458
|
-
logoSrc:
|
|
1459
|
-
companyName:
|
|
1460
|
-
tagline:
|
|
1461
|
-
backgroundColor:
|
|
1462
|
-
primaryColor:
|
|
1463
|
-
musicTrack:
|
|
1592
|
+
import { Audio as RemotionAudio3, Img as Img8, interpolate as interpolate12, spring as spring6, staticFile as staticFile10, useCurrentFrame as useCurrentFrame16, useVideoConfig as useVideoConfig7 } from "remotion";
|
|
1593
|
+
import { z as z29 } from "zod";
|
|
1594
|
+
import { jsx as jsx28, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
1595
|
+
var IntroScenePropsSchema = z29.object({
|
|
1596
|
+
logoSrc: z29.string().min(1),
|
|
1597
|
+
companyName: z29.string().min(1),
|
|
1598
|
+
tagline: z29.string().optional(),
|
|
1599
|
+
backgroundColor: z29.string().default("#000000"),
|
|
1600
|
+
primaryColor: z29.string().default("#FFFFFF"),
|
|
1601
|
+
musicTrack: z29.string().optional()
|
|
1464
1602
|
});
|
|
1465
1603
|
var resolveAsset9 = (value) => isRemoteAssetPath(value) ? value : staticFile10(staticFileInputFromAssetPath(value));
|
|
1466
1604
|
var IntroScene = ({
|
|
@@ -1479,18 +1617,18 @@ var IntroScene = ({
|
|
|
1479
1617
|
const nameOpacity = interpolate12(frame, [20, 60], [0, 1], { extrapolateLeft: "clamp", extrapolateRight: "clamp" });
|
|
1480
1618
|
const taglineY = interpolate12(frame, [50, 80], [20, 0], { extrapolateLeft: "clamp", extrapolateRight: "clamp" });
|
|
1481
1619
|
const outroFade = interpolate12(frame, [Math.max(0, total - 20), total], [1, 0], { extrapolateLeft: "clamp", extrapolateRight: "clamp" });
|
|
1482
|
-
return /* @__PURE__ */ jsxs9(
|
|
1483
|
-
musicTrack ? /* @__PURE__ */
|
|
1620
|
+
return /* @__PURE__ */ jsxs9(Fill, { style: { backgroundColor, display: "flex", justifyContent: "center", alignItems: "center" }, children: [
|
|
1621
|
+
musicTrack ? /* @__PURE__ */ jsx28(RemotionAudio3, { src: resolveAsset9(musicTrack), volume: 0.7 }) : null,
|
|
1484
1622
|
/* @__PURE__ */ jsxs9("div", { style: { textAlign: "center", opacity: outroFade }, children: [
|
|
1485
|
-
/* @__PURE__ */
|
|
1623
|
+
/* @__PURE__ */ jsx28(
|
|
1486
1624
|
Img8,
|
|
1487
1625
|
{
|
|
1488
1626
|
src: resolveAsset9(logoSrc),
|
|
1489
1627
|
style: { width: 280, height: 280, objectFit: "contain", transform: `scale(${logoP})` }
|
|
1490
1628
|
}
|
|
1491
1629
|
),
|
|
1492
|
-
/* @__PURE__ */
|
|
1493
|
-
tagline ? /* @__PURE__ */
|
|
1630
|
+
/* @__PURE__ */ jsx28("div", { style: { marginTop: 24, color: primaryColor, fontSize: 64, fontWeight: 900, opacity: nameOpacity }, children: companyName }),
|
|
1631
|
+
tagline ? /* @__PURE__ */ jsx28(
|
|
1494
1632
|
"div",
|
|
1495
1633
|
{
|
|
1496
1634
|
style: {
|
|
@@ -1515,15 +1653,15 @@ var IntroSceneComponentMetadata = {
|
|
|
1515
1653
|
};
|
|
1516
1654
|
|
|
1517
1655
|
// src/components/composites/KenBurnsImage.tsx
|
|
1518
|
-
import {
|
|
1519
|
-
import { z as
|
|
1520
|
-
import { jsx as
|
|
1521
|
-
var KenBurnsImagePropsSchema =
|
|
1522
|
-
src:
|
|
1523
|
-
startScale:
|
|
1524
|
-
endScale:
|
|
1525
|
-
panDirection:
|
|
1526
|
-
panAmount:
|
|
1656
|
+
import { Img as Img9, interpolate as interpolate13, staticFile as staticFile11, useCurrentFrame as useCurrentFrame17 } from "remotion";
|
|
1657
|
+
import { z as z30 } from "zod";
|
|
1658
|
+
import { jsx as jsx29 } from "react/jsx-runtime";
|
|
1659
|
+
var KenBurnsImagePropsSchema = z30.object({
|
|
1660
|
+
src: z30.string().min(1),
|
|
1661
|
+
startScale: z30.number().min(1).max(2).default(1),
|
|
1662
|
+
endScale: z30.number().min(1).max(2).default(1.2),
|
|
1663
|
+
panDirection: z30.enum(["none", "left", "right", "up", "down"]).default("none"),
|
|
1664
|
+
panAmount: z30.number().min(0).max(100).default(50)
|
|
1527
1665
|
});
|
|
1528
1666
|
var resolveAsset10 = (value) => isRemoteAssetPath(value) ? value : staticFile11(staticFileInputFromAssetPath(value));
|
|
1529
1667
|
var KenBurnsImage = ({
|
|
@@ -1540,7 +1678,7 @@ var KenBurnsImage = ({
|
|
|
1540
1678
|
const scale = startScale + (endScale - startScale) * t;
|
|
1541
1679
|
const dx = panDirection === "left" ? -panAmount * t : panDirection === "right" ? panAmount * t : 0;
|
|
1542
1680
|
const dy = panDirection === "up" ? -panAmount * t : panDirection === "down" ? panAmount * t : 0;
|
|
1543
|
-
return /* @__PURE__ */
|
|
1681
|
+
return /* @__PURE__ */ jsx29(Fill, { children: /* @__PURE__ */ jsx29(
|
|
1544
1682
|
Img9,
|
|
1545
1683
|
{
|
|
1546
1684
|
src: resolveAsset10(src),
|
|
@@ -1562,20 +1700,20 @@ var KenBurnsImageComponentMetadata = {
|
|
|
1562
1700
|
};
|
|
1563
1701
|
|
|
1564
1702
|
// src/components/composites/KineticTypography.tsx
|
|
1565
|
-
import {
|
|
1566
|
-
import { z as
|
|
1567
|
-
import { jsx as
|
|
1568
|
-
var WordSchema =
|
|
1569
|
-
text:
|
|
1570
|
-
emphasis:
|
|
1703
|
+
import { spring as spring7, useCurrentFrame as useCurrentFrame18, useVideoConfig as useVideoConfig8 } from "remotion";
|
|
1704
|
+
import { z as z31 } from "zod";
|
|
1705
|
+
import { jsx as jsx30 } from "react/jsx-runtime";
|
|
1706
|
+
var WordSchema = z31.object({
|
|
1707
|
+
text: z31.string().min(1),
|
|
1708
|
+
emphasis: z31.enum(["normal", "bold", "giant"]).default("normal")
|
|
1571
1709
|
});
|
|
1572
|
-
var KineticTypographyPropsSchema =
|
|
1573
|
-
words:
|
|
1574
|
-
fontSize:
|
|
1575
|
-
color:
|
|
1576
|
-
fontFamily:
|
|
1577
|
-
timing:
|
|
1578
|
-
transition:
|
|
1710
|
+
var KineticTypographyPropsSchema = z31.object({
|
|
1711
|
+
words: z31.array(WordSchema).min(1).max(50),
|
|
1712
|
+
fontSize: z31.number().min(12).max(140).default(48),
|
|
1713
|
+
color: z31.string().default("#FFFFFF"),
|
|
1714
|
+
fontFamily: z31.string().default("Inter"),
|
|
1715
|
+
timing: z31.array(z31.number().int().min(0)).min(1).describe("Frame timing for each word"),
|
|
1716
|
+
transition: z31.enum(["fade", "scale", "slideLeft", "slideRight"]).default("scale")
|
|
1579
1717
|
});
|
|
1580
1718
|
var KineticTypography = ({
|
|
1581
1719
|
words,
|
|
@@ -1605,7 +1743,7 @@ var KineticTypography = ({
|
|
|
1605
1743
|
const opacity = transition === "fade" ? progress : 1;
|
|
1606
1744
|
const scale = transition === "scale" ? (0.85 + 0.15 * progress) * scaleBase : 1 * scaleBase;
|
|
1607
1745
|
const tx = transition === "slideLeft" ? 40 * (1 - progress) : transition === "slideRight" ? -40 * (1 - progress) : 0;
|
|
1608
|
-
return /* @__PURE__ */
|
|
1746
|
+
return /* @__PURE__ */ jsx30(Fill, { style: { display: "flex", justifyContent: "center", alignItems: "center" }, children: /* @__PURE__ */ jsx30(
|
|
1609
1747
|
"div",
|
|
1610
1748
|
{
|
|
1611
1749
|
style: {
|
|
@@ -1630,17 +1768,17 @@ var KineticTypographyComponentMetadata = {
|
|
|
1630
1768
|
};
|
|
1631
1769
|
|
|
1632
1770
|
// src/components/composites/LineGraph.tsx
|
|
1633
|
-
import {
|
|
1634
|
-
import { z as
|
|
1635
|
-
import { jsx as
|
|
1636
|
-
var PointSchema =
|
|
1637
|
-
var LineGraphPropsSchema =
|
|
1638
|
-
data:
|
|
1639
|
-
color:
|
|
1640
|
-
strokeWidth:
|
|
1641
|
-
showDots:
|
|
1642
|
-
fillArea:
|
|
1643
|
-
animate:
|
|
1771
|
+
import { interpolate as interpolate14, useCurrentFrame as useCurrentFrame19 } from "remotion";
|
|
1772
|
+
import { z as z32 } from "zod";
|
|
1773
|
+
import { jsx as jsx31, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
1774
|
+
var PointSchema = z32.object({ x: z32.number(), y: z32.number() });
|
|
1775
|
+
var LineGraphPropsSchema = z32.object({
|
|
1776
|
+
data: z32.array(PointSchema).min(2).max(50),
|
|
1777
|
+
color: z32.string().default("#00FF00"),
|
|
1778
|
+
strokeWidth: z32.number().min(1).max(10).default(3),
|
|
1779
|
+
showDots: z32.boolean().default(true),
|
|
1780
|
+
fillArea: z32.boolean().default(false),
|
|
1781
|
+
animate: z32.enum(["draw", "reveal"]).default("draw")
|
|
1644
1782
|
});
|
|
1645
1783
|
function normalize(data, w, h, pad) {
|
|
1646
1784
|
const xs = data.map((d) => d.x);
|
|
@@ -1676,9 +1814,9 @@ var LineGraph = ({
|
|
|
1676
1814
|
const d = toPath(pts);
|
|
1677
1815
|
const dash = 3e3;
|
|
1678
1816
|
const dashOffset = dash * (1 - progress);
|
|
1679
|
-
return /* @__PURE__ */
|
|
1680
|
-
/* @__PURE__ */
|
|
1681
|
-
fillArea ? /* @__PURE__ */
|
|
1817
|
+
return /* @__PURE__ */ jsx31(Fill, { style: { display: "flex", justifyContent: "center", alignItems: "center" }, children: /* @__PURE__ */ jsxs10("svg", { viewBox: `0 0 ${w} ${h}`, style: { width: "100%", height: "100%" }, children: [
|
|
1818
|
+
/* @__PURE__ */ jsx31("defs", { children: /* @__PURE__ */ jsx31("clipPath", { id: "waves-line-reveal", children: /* @__PURE__ */ jsx31("rect", { x: "0", y: "0", width: w * progress, height: h }) }) }),
|
|
1819
|
+
fillArea ? /* @__PURE__ */ jsx31(
|
|
1682
1820
|
"path",
|
|
1683
1821
|
{
|
|
1684
1822
|
d: `${d} L ${pts[pts.length - 1].x} ${h - pad} L ${pts[0].x} ${h - pad} Z`,
|
|
@@ -1687,7 +1825,7 @@ var LineGraph = ({
|
|
|
1687
1825
|
clipPath: animate === "reveal" ? "url(#waves-line-reveal)" : void 0
|
|
1688
1826
|
}
|
|
1689
1827
|
) : null,
|
|
1690
|
-
/* @__PURE__ */
|
|
1828
|
+
/* @__PURE__ */ jsx31(
|
|
1691
1829
|
"path",
|
|
1692
1830
|
{
|
|
1693
1831
|
d,
|
|
@@ -1701,7 +1839,7 @@ var LineGraph = ({
|
|
|
1701
1839
|
clipPath: animate === "reveal" ? "url(#waves-line-reveal)" : void 0
|
|
1702
1840
|
}
|
|
1703
1841
|
),
|
|
1704
|
-
showDots ? /* @__PURE__ */
|
|
1842
|
+
showDots ? /* @__PURE__ */ jsx31("g", { clipPath: animate === "reveal" ? "url(#waves-line-reveal)" : void 0, children: pts.map((p, i) => /* @__PURE__ */ jsx31("circle", { cx: p.x, cy: p.y, r: 6, fill: color }, i)) }) : null
|
|
1705
1843
|
] }) });
|
|
1706
1844
|
};
|
|
1707
1845
|
var LineGraphComponentMetadata = {
|
|
@@ -1712,14 +1850,14 @@ var LineGraphComponentMetadata = {
|
|
|
1712
1850
|
};
|
|
1713
1851
|
|
|
1714
1852
|
// src/components/composites/LogoReveal.tsx
|
|
1715
|
-
import {
|
|
1716
|
-
import { z as
|
|
1717
|
-
import { jsx as
|
|
1718
|
-
var LogoRevealPropsSchema =
|
|
1719
|
-
logoSrc:
|
|
1720
|
-
effect:
|
|
1721
|
-
backgroundColor:
|
|
1722
|
-
soundEffect:
|
|
1853
|
+
import { Audio as RemotionAudio4, Img as Img10, spring as spring8, staticFile as staticFile12, useCurrentFrame as useCurrentFrame20, useVideoConfig as useVideoConfig9 } from "remotion";
|
|
1854
|
+
import { z as z33 } from "zod";
|
|
1855
|
+
import { jsx as jsx32, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
1856
|
+
var LogoRevealPropsSchema = z33.object({
|
|
1857
|
+
logoSrc: z33.string().min(1),
|
|
1858
|
+
effect: z33.enum(["fade", "scale", "rotate", "slide"]).default("scale"),
|
|
1859
|
+
backgroundColor: z33.string().default("#000000"),
|
|
1860
|
+
soundEffect: z33.string().optional()
|
|
1723
1861
|
});
|
|
1724
1862
|
var resolveAsset11 = (value) => isRemoteAssetPath(value) ? value : staticFile12(staticFileInputFromAssetPath(value));
|
|
1725
1863
|
var LogoReveal = ({ logoSrc, effect, backgroundColor, soundEffect }) => {
|
|
@@ -1730,9 +1868,9 @@ var LogoReveal = ({ logoSrc, effect, backgroundColor, soundEffect }) => {
|
|
|
1730
1868
|
const scale = effect === "scale" ? p : 1;
|
|
1731
1869
|
const rotate = effect === "rotate" ? (1 - p) * 360 : 0;
|
|
1732
1870
|
const translateY = effect === "slide" ? -200 * (1 - p) : 0;
|
|
1733
|
-
return /* @__PURE__ */ jsxs11(
|
|
1734
|
-
soundEffect ? /* @__PURE__ */
|
|
1735
|
-
/* @__PURE__ */
|
|
1871
|
+
return /* @__PURE__ */ jsxs11(Fill, { style: { backgroundColor, display: "flex", justifyContent: "center", alignItems: "center" }, children: [
|
|
1872
|
+
soundEffect ? /* @__PURE__ */ jsx32(RemotionAudio4, { src: resolveAsset11(soundEffect), volume: 1 }) : null,
|
|
1873
|
+
/* @__PURE__ */ jsx32(
|
|
1736
1874
|
Img10,
|
|
1737
1875
|
{
|
|
1738
1876
|
src: resolveAsset11(logoSrc),
|
|
@@ -1755,20 +1893,20 @@ var LogoRevealComponentMetadata = {
|
|
|
1755
1893
|
};
|
|
1756
1894
|
|
|
1757
1895
|
// src/components/composites/OutroScene.tsx
|
|
1758
|
-
import {
|
|
1759
|
-
import { z as
|
|
1760
|
-
import { jsx as
|
|
1761
|
-
var CtaSchema =
|
|
1762
|
-
var HandleSchema =
|
|
1763
|
-
platform:
|
|
1764
|
-
handle:
|
|
1896
|
+
import { Img as Img11, spring as spring9, staticFile as staticFile13, useCurrentFrame as useCurrentFrame21, useVideoConfig as useVideoConfig10 } from "remotion";
|
|
1897
|
+
import { z as z34 } from "zod";
|
|
1898
|
+
import { jsx as jsx33, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
1899
|
+
var CtaSchema = z34.object({ text: z34.string().min(1), icon: z34.string().optional() });
|
|
1900
|
+
var HandleSchema = z34.object({
|
|
1901
|
+
platform: z34.enum(["twitter", "instagram", "youtube", "linkedin"]),
|
|
1902
|
+
handle: z34.string().min(1)
|
|
1765
1903
|
});
|
|
1766
|
-
var OutroScenePropsSchema =
|
|
1767
|
-
logoSrc:
|
|
1768
|
-
message:
|
|
1769
|
-
ctaButtons:
|
|
1770
|
-
socialHandles:
|
|
1771
|
-
backgroundColor:
|
|
1904
|
+
var OutroScenePropsSchema = z34.object({
|
|
1905
|
+
logoSrc: z34.string().min(1),
|
|
1906
|
+
message: z34.string().default("Thank You"),
|
|
1907
|
+
ctaButtons: z34.array(CtaSchema).max(3).optional(),
|
|
1908
|
+
socialHandles: z34.array(HandleSchema).max(4).optional(),
|
|
1909
|
+
backgroundColor: z34.string().default("#000000")
|
|
1772
1910
|
});
|
|
1773
1911
|
var resolveAsset12 = (value) => isRemoteAssetPath(value) ? value : staticFile13(staticFileInputFromAssetPath(value));
|
|
1774
1912
|
var OutroScene = ({ logoSrc, message, ctaButtons, socialHandles, backgroundColor }) => {
|
|
@@ -1777,10 +1915,10 @@ var OutroScene = ({ logoSrc, message, ctaButtons, socialHandles, backgroundColor
|
|
|
1777
1915
|
const logoP = spring9({ frame, fps, config: { damping: 14, stiffness: 120, mass: 0.9 } });
|
|
1778
1916
|
const msgP = spring9({ frame: frame - 18, fps, config: { damping: 14, stiffness: 120, mass: 0.9 } });
|
|
1779
1917
|
const ctaP = spring9({ frame: frame - 40, fps, config: { damping: 14, stiffness: 120, mass: 0.9 } });
|
|
1780
|
-
return /* @__PURE__ */
|
|
1781
|
-
/* @__PURE__ */
|
|
1782
|
-
/* @__PURE__ */
|
|
1783
|
-
ctaButtons?.length ? /* @__PURE__ */
|
|
1918
|
+
return /* @__PURE__ */ jsx33(Fill, { style: { backgroundColor, display: "flex", justifyContent: "center", alignItems: "center", padding: 80, boxSizing: "border-box" }, children: /* @__PURE__ */ jsxs12("div", { style: { textAlign: "center" }, children: [
|
|
1919
|
+
/* @__PURE__ */ jsx33(Img11, { src: resolveAsset12(logoSrc), style: { width: 220, height: 220, objectFit: "contain", transform: `scale(${logoP})` } }),
|
|
1920
|
+
/* @__PURE__ */ jsx33("div", { style: { marginTop: 24, color: "#FFFFFF", fontSize: 72, fontWeight: 1e3, opacity: msgP }, children: message }),
|
|
1921
|
+
ctaButtons?.length ? /* @__PURE__ */ jsx33("div", { style: { marginTop: 34, display: "flex", gap: 18, justifyContent: "center", opacity: ctaP }, children: ctaButtons.map((b, i) => /* @__PURE__ */ jsxs12(
|
|
1784
1922
|
"div",
|
|
1785
1923
|
{
|
|
1786
1924
|
style: {
|
|
@@ -1798,7 +1936,7 @@ var OutroScene = ({ logoSrc, message, ctaButtons, socialHandles, backgroundColor
|
|
|
1798
1936
|
},
|
|
1799
1937
|
i
|
|
1800
1938
|
)) }) : null,
|
|
1801
|
-
socialHandles?.length ? /* @__PURE__ */
|
|
1939
|
+
socialHandles?.length ? /* @__PURE__ */ jsx33("div", { style: { marginTop: 50, display: "flex", flexDirection: "column", gap: 10, opacity: ctaP }, children: socialHandles.map((h, i) => /* @__PURE__ */ jsxs12("div", { style: { color: "rgba(255,255,255,0.85)", fontSize: 26, fontWeight: 800 }, children: [
|
|
1802
1940
|
h.platform,
|
|
1803
1941
|
": ",
|
|
1804
1942
|
h.handle
|
|
@@ -1813,19 +1951,19 @@ var OutroSceneComponentMetadata = {
|
|
|
1813
1951
|
};
|
|
1814
1952
|
|
|
1815
1953
|
// src/components/composites/OutlineText.tsx
|
|
1816
|
-
import {
|
|
1817
|
-
import { z as
|
|
1818
|
-
import { jsx as
|
|
1819
|
-
var OutlineTextPropsSchema =
|
|
1820
|
-
content:
|
|
1821
|
-
fontSize:
|
|
1822
|
-
outlineColor:
|
|
1823
|
-
fillColor:
|
|
1824
|
-
fontFamily:
|
|
1825
|
-
fontWeight:
|
|
1826
|
-
position:
|
|
1827
|
-
animation:
|
|
1828
|
-
strokeWidth:
|
|
1954
|
+
import { interpolate as interpolate15, useCurrentFrame as useCurrentFrame22 } from "remotion";
|
|
1955
|
+
import { z as z35 } from "zod";
|
|
1956
|
+
import { jsx as jsx34, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
1957
|
+
var OutlineTextPropsSchema = z35.object({
|
|
1958
|
+
content: z35.string().max(50),
|
|
1959
|
+
fontSize: z35.number().min(8).max(240).default(96),
|
|
1960
|
+
outlineColor: z35.string().default("#FFFFFF"),
|
|
1961
|
+
fillColor: z35.string().default("#000000"),
|
|
1962
|
+
fontFamily: z35.string().default("Inter"),
|
|
1963
|
+
fontWeight: z35.number().int().min(100).max(900).default(800),
|
|
1964
|
+
position: z35.enum(["top", "center", "bottom"]).default("center"),
|
|
1965
|
+
animation: z35.enum(["draw", "fill"]).default("draw"),
|
|
1966
|
+
strokeWidth: z35.number().min(1).max(10).default(3)
|
|
1829
1967
|
});
|
|
1830
1968
|
var positionStyles3 = (position) => {
|
|
1831
1969
|
if (position === "top") return { justifyContent: "center", alignItems: "flex-start", paddingTop: 90 };
|
|
@@ -1847,8 +1985,8 @@ var OutlineText = ({
|
|
|
1847
1985
|
const t = interpolate15(frame, [0, 24], [0, 1], { extrapolateLeft: "clamp", extrapolateRight: "clamp" });
|
|
1848
1986
|
const strokeOpacity = animation === "draw" ? t : 1;
|
|
1849
1987
|
const fillOpacity = animation === "fill" ? t : 0;
|
|
1850
|
-
return /* @__PURE__ */ jsxs13(
|
|
1851
|
-
/* @__PURE__ */
|
|
1988
|
+
return /* @__PURE__ */ jsxs13(Fill, { style: { display: "flex", ...positionStyles3(position) }, children: [
|
|
1989
|
+
/* @__PURE__ */ jsx34(
|
|
1852
1990
|
"div",
|
|
1853
1991
|
{
|
|
1854
1992
|
style: {
|
|
@@ -1865,7 +2003,7 @@ var OutlineText = ({
|
|
|
1865
2003
|
children: content
|
|
1866
2004
|
}
|
|
1867
2005
|
),
|
|
1868
|
-
/* @__PURE__ */
|
|
2006
|
+
/* @__PURE__ */ jsx34(
|
|
1869
2007
|
"div",
|
|
1870
2008
|
{
|
|
1871
2009
|
style: {
|
|
@@ -1892,16 +2030,16 @@ var OutlineTextComponentMetadata = {
|
|
|
1892
2030
|
};
|
|
1893
2031
|
|
|
1894
2032
|
// src/components/composites/ProgressBar.tsx
|
|
1895
|
-
import {
|
|
1896
|
-
import { z as
|
|
1897
|
-
import { jsx as
|
|
1898
|
-
var ProgressBarPropsSchema =
|
|
1899
|
-
label:
|
|
1900
|
-
color:
|
|
1901
|
-
backgroundColor:
|
|
1902
|
-
height:
|
|
1903
|
-
position:
|
|
1904
|
-
showPercentage:
|
|
2033
|
+
import { interpolate as interpolate16, useCurrentFrame as useCurrentFrame23 } from "remotion";
|
|
2034
|
+
import { z as z36 } from "zod";
|
|
2035
|
+
import { jsx as jsx35, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
2036
|
+
var ProgressBarPropsSchema = z36.object({
|
|
2037
|
+
label: z36.string().optional(),
|
|
2038
|
+
color: z36.string().default("#00FF00"),
|
|
2039
|
+
backgroundColor: z36.string().default("rgba(255,255,255,0.2)"),
|
|
2040
|
+
height: z36.number().min(5).max(50).default(10),
|
|
2041
|
+
position: z36.enum(["top", "bottom"]).default("bottom"),
|
|
2042
|
+
showPercentage: z36.boolean().default(true)
|
|
1905
2043
|
});
|
|
1906
2044
|
var ProgressBar = ({
|
|
1907
2045
|
label,
|
|
@@ -1917,12 +2055,12 @@ var ProgressBar = ({
|
|
|
1917
2055
|
const p = interpolate16(frame, [0, total], [0, 1], { extrapolateLeft: "clamp", extrapolateRight: "clamp" });
|
|
1918
2056
|
const pct = Math.round(p * 100);
|
|
1919
2057
|
const yStyle = position === "top" ? { top: 50 } : { bottom: 50 };
|
|
1920
|
-
return /* @__PURE__ */
|
|
2058
|
+
return /* @__PURE__ */ jsx35(Fill, { children: /* @__PURE__ */ jsxs14("div", { style: { position: "absolute", left: 80, right: 80, ...yStyle }, children: [
|
|
1921
2059
|
label || showPercentage ? /* @__PURE__ */ jsxs14("div", { style: { display: "flex", justifyContent: "space-between", marginBottom: 10, color: "#FFFFFF", fontWeight: 700 }, children: [
|
|
1922
|
-
/* @__PURE__ */
|
|
1923
|
-
/* @__PURE__ */
|
|
2060
|
+
/* @__PURE__ */ jsx35("span", { children: label ?? "" }),
|
|
2061
|
+
/* @__PURE__ */ jsx35("span", { children: showPercentage ? `${pct}%` : "" })
|
|
1924
2062
|
] }) : null,
|
|
1925
|
-
/* @__PURE__ */
|
|
2063
|
+
/* @__PURE__ */ jsx35("div", { style: { width: "100%", height, backgroundColor, borderRadius: 9999, overflow: "hidden" }, children: /* @__PURE__ */ jsx35("div", { style: { width: `${pct}%`, height: "100%", backgroundColor: color } }) })
|
|
1926
2064
|
] }) });
|
|
1927
2065
|
};
|
|
1928
2066
|
var ProgressBarComponentMetadata = {
|
|
@@ -1933,16 +2071,16 @@ var ProgressBarComponentMetadata = {
|
|
|
1933
2071
|
};
|
|
1934
2072
|
|
|
1935
2073
|
// src/components/composites/ProgressRing.tsx
|
|
1936
|
-
import {
|
|
1937
|
-
import { z as
|
|
1938
|
-
import { jsx as
|
|
1939
|
-
var ProgressRingPropsSchema =
|
|
1940
|
-
percentage:
|
|
1941
|
-
size:
|
|
1942
|
-
strokeWidth:
|
|
1943
|
-
color:
|
|
1944
|
-
backgroundColor:
|
|
1945
|
-
showLabel:
|
|
2074
|
+
import { interpolate as interpolate17, useCurrentFrame as useCurrentFrame24 } from "remotion";
|
|
2075
|
+
import { z as z37 } from "zod";
|
|
2076
|
+
import { jsx as jsx36, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
2077
|
+
var ProgressRingPropsSchema = z37.object({
|
|
2078
|
+
percentage: z37.number().min(0).max(100),
|
|
2079
|
+
size: z37.number().min(100).max(500).default(200),
|
|
2080
|
+
strokeWidth: z37.number().min(5).max(50).default(20),
|
|
2081
|
+
color: z37.string().default("#00FF00"),
|
|
2082
|
+
backgroundColor: z37.string().default("rgba(255,255,255,0.2)"),
|
|
2083
|
+
showLabel: z37.boolean().default(true)
|
|
1946
2084
|
});
|
|
1947
2085
|
var ProgressRing = ({
|
|
1948
2086
|
percentage,
|
|
@@ -1961,9 +2099,9 @@ var ProgressRing = ({
|
|
|
1961
2099
|
const c = 2 * Math.PI * r;
|
|
1962
2100
|
const dash = c;
|
|
1963
2101
|
const offset = c - current / 100 * c;
|
|
1964
|
-
return /* @__PURE__ */ jsxs15(
|
|
2102
|
+
return /* @__PURE__ */ jsxs15(Fill, { style: { display: "flex", justifyContent: "center", alignItems: "center" }, children: [
|
|
1965
2103
|
/* @__PURE__ */ jsxs15("svg", { width: size, height: size, viewBox: `0 0 ${size} ${size}`, children: [
|
|
1966
|
-
/* @__PURE__ */
|
|
2104
|
+
/* @__PURE__ */ jsx36(
|
|
1967
2105
|
"circle",
|
|
1968
2106
|
{
|
|
1969
2107
|
cx: size / 2,
|
|
@@ -1974,7 +2112,7 @@ var ProgressRing = ({
|
|
|
1974
2112
|
fill: "transparent"
|
|
1975
2113
|
}
|
|
1976
2114
|
),
|
|
1977
|
-
/* @__PURE__ */
|
|
2115
|
+
/* @__PURE__ */ jsx36(
|
|
1978
2116
|
"circle",
|
|
1979
2117
|
{
|
|
1980
2118
|
cx: size / 2,
|
|
@@ -2004,14 +2142,15 @@ var ProgressRingComponentMetadata = {
|
|
|
2004
2142
|
};
|
|
2005
2143
|
|
|
2006
2144
|
// src/components/composites/SlideTransition.tsx
|
|
2007
|
-
import
|
|
2008
|
-
import {
|
|
2009
|
-
import {
|
|
2010
|
-
|
|
2011
|
-
|
|
2012
|
-
|
|
2013
|
-
|
|
2014
|
-
|
|
2145
|
+
import React7 from "react";
|
|
2146
|
+
import { interpolate as interpolate18, useCurrentFrame as useCurrentFrame25 } from "remotion";
|
|
2147
|
+
import { z as z38 } from "zod";
|
|
2148
|
+
import { jsx as jsx37 } from "react/jsx-runtime";
|
|
2149
|
+
var SlideTransitionPropsSchema = z38.object({
|
|
2150
|
+
durationInFrames: z38.number().int().min(10).max(60).default(30),
|
|
2151
|
+
direction: z38.enum(["left", "right", "up", "down"]).default("left"),
|
|
2152
|
+
distance: z38.number().int().min(1).max(2e3).default(160),
|
|
2153
|
+
phase: z38.enum(["in", "out", "inOut"]).default("inOut")
|
|
2015
2154
|
});
|
|
2016
2155
|
function translateFor(direction, delta) {
|
|
2017
2156
|
if (direction === "left") return { x: -delta, y: 0 };
|
|
@@ -2027,6 +2166,7 @@ var SlideTransition = ({
|
|
|
2027
2166
|
children,
|
|
2028
2167
|
__wavesDurationInFrames
|
|
2029
2168
|
}) => {
|
|
2169
|
+
const layers = React7.Children.toArray(children);
|
|
2030
2170
|
const frame = useCurrentFrame25();
|
|
2031
2171
|
const total = Math.max(1, __wavesDurationInFrames ?? 1);
|
|
2032
2172
|
const d = Math.min(durationInFrames, total);
|
|
@@ -2049,7 +2189,7 @@ var SlideTransition = ({
|
|
|
2049
2189
|
ty += y;
|
|
2050
2190
|
opacity *= interpolate18(frame, [start, total], [1, 0], { extrapolateLeft: "clamp", extrapolateRight: "clamp" });
|
|
2051
2191
|
}
|
|
2052
|
-
return /* @__PURE__ */
|
|
2192
|
+
return /* @__PURE__ */ jsx37(Fill, { style: { opacity, transform: `translate(${tx}px, ${ty}px)` }, children: layers.map((child, i) => /* @__PURE__ */ jsx37("div", { style: { position: "absolute", inset: 0 }, children: child }, i)) });
|
|
2053
2193
|
};
|
|
2054
2194
|
var SlideTransitionComponentMetadata = {
|
|
2055
2195
|
kind: "composite",
|
|
@@ -2061,16 +2201,15 @@ var SlideTransitionComponentMetadata = {
|
|
|
2061
2201
|
};
|
|
2062
2202
|
|
|
2063
2203
|
// src/components/composites/SplitScreen.tsx
|
|
2064
|
-
import
|
|
2065
|
-
import {
|
|
2066
|
-
import {
|
|
2067
|
-
|
|
2068
|
-
|
|
2069
|
-
|
|
2070
|
-
|
|
2071
|
-
|
|
2072
|
-
|
|
2073
|
-
dividerColor: z36.string().optional()
|
|
2204
|
+
import React8 from "react";
|
|
2205
|
+
import { z as z39 } from "zod";
|
|
2206
|
+
import { jsx as jsx38, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
2207
|
+
var SplitScreenPropsSchema = z39.object({
|
|
2208
|
+
orientation: z39.enum(["vertical", "horizontal"]).default("vertical"),
|
|
2209
|
+
split: z39.number().min(0.1).max(0.9).default(0.5),
|
|
2210
|
+
gap: z39.number().min(0).default(48),
|
|
2211
|
+
padding: z39.number().min(0).default(80),
|
|
2212
|
+
dividerColor: z39.string().optional()
|
|
2074
2213
|
});
|
|
2075
2214
|
var SplitScreen = ({
|
|
2076
2215
|
orientation,
|
|
@@ -2080,14 +2219,14 @@ var SplitScreen = ({
|
|
|
2080
2219
|
dividerColor,
|
|
2081
2220
|
children
|
|
2082
2221
|
}) => {
|
|
2083
|
-
const items =
|
|
2222
|
+
const items = React8.Children.toArray(children);
|
|
2084
2223
|
const first = items[0] ?? null;
|
|
2085
2224
|
const second = items[1] ?? null;
|
|
2086
2225
|
const isVertical = orientation === "vertical";
|
|
2087
2226
|
const flexDirection = isVertical ? "row" : "column";
|
|
2088
|
-
return /* @__PURE__ */
|
|
2089
|
-
/* @__PURE__ */
|
|
2090
|
-
dividerColor ? /* @__PURE__ */
|
|
2227
|
+
return /* @__PURE__ */ jsx38(Fill, { style: { padding, boxSizing: "border-box" }, children: /* @__PURE__ */ jsxs16("div", { style: { display: "flex", flexDirection, gap, width: "100%", height: "100%" }, children: [
|
|
2228
|
+
/* @__PURE__ */ jsx38("div", { style: { flex: split, position: "relative" }, children: first }),
|
|
2229
|
+
dividerColor ? /* @__PURE__ */ jsx38(
|
|
2091
2230
|
"div",
|
|
2092
2231
|
{
|
|
2093
2232
|
style: {
|
|
@@ -2098,7 +2237,7 @@ var SplitScreen = ({
|
|
|
2098
2237
|
}
|
|
2099
2238
|
}
|
|
2100
2239
|
) : null,
|
|
2101
|
-
/* @__PURE__ */
|
|
2240
|
+
/* @__PURE__ */ jsx38("div", { style: { flex: 1 - split, position: "relative" }, children: second })
|
|
2102
2241
|
] }) });
|
|
2103
2242
|
};
|
|
2104
2243
|
var SplitScreenComponentMetadata = {
|
|
@@ -2112,22 +2251,25 @@ var SplitScreenComponentMetadata = {
|
|
|
2112
2251
|
};
|
|
2113
2252
|
|
|
2114
2253
|
// src/components/composites/SplitText.tsx
|
|
2115
|
-
import {
|
|
2116
|
-
import { z as
|
|
2117
|
-
import { jsx as
|
|
2118
|
-
var SplitTextPropsSchema =
|
|
2119
|
-
content:
|
|
2120
|
-
fontSize:
|
|
2121
|
-
color:
|
|
2122
|
-
fontFamily:
|
|
2123
|
-
position:
|
|
2124
|
-
splitBy:
|
|
2125
|
-
stagger:
|
|
2126
|
-
animation:
|
|
2254
|
+
import { spring as spring10, useCurrentFrame as useCurrentFrame26, useVideoConfig as useVideoConfig11 } from "remotion";
|
|
2255
|
+
import { z as z40 } from "zod";
|
|
2256
|
+
import { jsx as jsx39 } from "react/jsx-runtime";
|
|
2257
|
+
var SplitTextPropsSchema = z40.object({
|
|
2258
|
+
content: z40.string().max(200),
|
|
2259
|
+
fontSize: z40.number().min(8).max(200).default(48),
|
|
2260
|
+
color: z40.string().default("#FFFFFF"),
|
|
2261
|
+
fontFamily: z40.string().default("Inter"),
|
|
2262
|
+
position: z40.enum(["top", "center", "bottom"]).default("center"),
|
|
2263
|
+
splitBy: z40.enum(["word", "letter"]).default("word"),
|
|
2264
|
+
stagger: z40.number().int().min(1).max(10).default(3),
|
|
2265
|
+
animation: z40.enum(["fade", "slideUp", "slideDown", "scale", "rotate"]).default("slideUp"),
|
|
2266
|
+
maxWidthPct: z40.number().min(0.1).max(1).default(0.9),
|
|
2267
|
+
safeInsetPct: z40.number().min(0).max(0.25).default(0.06)
|
|
2127
2268
|
});
|
|
2128
|
-
var positionStyles4 = (position) => {
|
|
2129
|
-
|
|
2130
|
-
if (position === "
|
|
2269
|
+
var positionStyles4 = (position, safeInsetPct) => {
|
|
2270
|
+
const inset = `${(safeInsetPct * 100).toFixed(2)}%`;
|
|
2271
|
+
if (position === "top") return { justifyContent: "center", alignItems: "flex-start", paddingTop: inset };
|
|
2272
|
+
if (position === "bottom") return { justifyContent: "center", alignItems: "flex-end", paddingBottom: inset };
|
|
2131
2273
|
return { justifyContent: "center", alignItems: "center" };
|
|
2132
2274
|
};
|
|
2133
2275
|
function getItemStyle(progress, animation) {
|
|
@@ -2154,12 +2296,14 @@ var SplitText = ({
|
|
|
2154
2296
|
position,
|
|
2155
2297
|
splitBy,
|
|
2156
2298
|
stagger,
|
|
2157
|
-
animation
|
|
2299
|
+
animation,
|
|
2300
|
+
maxWidthPct,
|
|
2301
|
+
safeInsetPct
|
|
2158
2302
|
}) => {
|
|
2159
2303
|
const frame = useCurrentFrame26();
|
|
2160
2304
|
const { fps } = useVideoConfig11();
|
|
2161
2305
|
const items = splitBy === "letter" ? content.split("") : content.trim().split(/\s+/);
|
|
2162
|
-
return /* @__PURE__ */
|
|
2306
|
+
return /* @__PURE__ */ jsx39(Fill, { style: { display: "flex", ...positionStyles4(position, safeInsetPct) }, children: /* @__PURE__ */ jsx39(
|
|
2163
2307
|
"div",
|
|
2164
2308
|
{
|
|
2165
2309
|
style: {
|
|
@@ -2167,11 +2311,14 @@ var SplitText = ({
|
|
|
2167
2311
|
flexWrap: "wrap",
|
|
2168
2312
|
justifyContent: "center",
|
|
2169
2313
|
gap: splitBy === "letter" ? 0 : 12,
|
|
2314
|
+
maxWidth: `${Math.round(maxWidthPct * 100)}%`,
|
|
2170
2315
|
fontSize,
|
|
2171
2316
|
color,
|
|
2172
2317
|
fontFamily,
|
|
2173
2318
|
fontWeight: 700,
|
|
2174
|
-
textAlign: "center"
|
|
2319
|
+
textAlign: "center",
|
|
2320
|
+
overflowWrap: "anywhere",
|
|
2321
|
+
wordBreak: "break-word"
|
|
2175
2322
|
},
|
|
2176
2323
|
children: items.map((t, i) => {
|
|
2177
2324
|
const progress = spring10({
|
|
@@ -2179,7 +2326,7 @@ var SplitText = ({
|
|
|
2179
2326
|
fps,
|
|
2180
2327
|
config: { damping: 14, stiffness: 120, mass: 0.9 }
|
|
2181
2328
|
});
|
|
2182
|
-
return /* @__PURE__ */
|
|
2329
|
+
return /* @__PURE__ */ jsx39(
|
|
2183
2330
|
"span",
|
|
2184
2331
|
{
|
|
2185
2332
|
style: {
|
|
@@ -2207,19 +2354,19 @@ var SplitTextComponentMetadata = {
|
|
|
2207
2354
|
};
|
|
2208
2355
|
|
|
2209
2356
|
// src/components/composites/SubtitleText.tsx
|
|
2210
|
-
import {
|
|
2211
|
-
import { z as
|
|
2212
|
-
import { jsx as
|
|
2213
|
-
var SubtitleTextPropsSchema =
|
|
2214
|
-
text:
|
|
2215
|
-
fontSize:
|
|
2216
|
-
color:
|
|
2217
|
-
backgroundColor:
|
|
2218
|
-
fontFamily:
|
|
2219
|
-
position:
|
|
2220
|
-
maxWidth:
|
|
2221
|
-
padding:
|
|
2222
|
-
highlightWords:
|
|
2357
|
+
import { interpolate as interpolate19, useCurrentFrame as useCurrentFrame27 } from "remotion";
|
|
2358
|
+
import { z as z41 } from "zod";
|
|
2359
|
+
import { jsx as jsx40 } from "react/jsx-runtime";
|
|
2360
|
+
var SubtitleTextPropsSchema = z41.object({
|
|
2361
|
+
text: z41.string().max(200),
|
|
2362
|
+
fontSize: z41.number().min(12).max(80).default(36),
|
|
2363
|
+
color: z41.string().default("#FFFFFF"),
|
|
2364
|
+
backgroundColor: z41.string().default("rgba(0,0,0,0.7)"),
|
|
2365
|
+
fontFamily: z41.string().default("Inter"),
|
|
2366
|
+
position: z41.enum(["top", "bottom"]).default("bottom"),
|
|
2367
|
+
maxWidth: z41.number().min(200).max(1200).default(800),
|
|
2368
|
+
padding: z41.number().min(0).max(80).default(20),
|
|
2369
|
+
highlightWords: z41.array(z41.string()).optional()
|
|
2223
2370
|
});
|
|
2224
2371
|
function normalizeWord(w) {
|
|
2225
2372
|
return w.toLowerCase().replace(/[^a-z0-9]/g, "");
|
|
@@ -2244,7 +2391,7 @@ var SubtitleText = ({
|
|
|
2244
2391
|
const highlights = new Set((highlightWords ?? []).map(normalizeWord));
|
|
2245
2392
|
const tokens = text.split(/\s+/);
|
|
2246
2393
|
const yStyle = position === "top" ? { top: 70 } : { bottom: 90 };
|
|
2247
|
-
return /* @__PURE__ */
|
|
2394
|
+
return /* @__PURE__ */ jsx40(Fill, { children: /* @__PURE__ */ jsx40("div", { style: { position: "absolute", left: "50%", transform: "translateX(-50%)", maxWidth, width: "100%", ...yStyle }, children: /* @__PURE__ */ jsx40(
|
|
2248
2395
|
"div",
|
|
2249
2396
|
{
|
|
2250
2397
|
style: {
|
|
@@ -2263,7 +2410,7 @@ var SubtitleText = ({
|
|
|
2263
2410
|
children: tokens.map((t, i) => {
|
|
2264
2411
|
const n = normalizeWord(t);
|
|
2265
2412
|
const isHighlighted = highlights.has(n);
|
|
2266
|
-
return /* @__PURE__ */
|
|
2413
|
+
return /* @__PURE__ */ jsx40("span", { style: { color: isHighlighted ? "#FFD60A" : color, marginRight: 8 }, children: t }, i);
|
|
2267
2414
|
})
|
|
2268
2415
|
}
|
|
2269
2416
|
) }) });
|
|
@@ -2276,17 +2423,19 @@ var SubtitleTextComponentMetadata = {
|
|
|
2276
2423
|
};
|
|
2277
2424
|
|
|
2278
2425
|
// src/components/composites/TikTokCaption.tsx
|
|
2279
|
-
import {
|
|
2280
|
-
import { z as
|
|
2281
|
-
import { jsx as
|
|
2282
|
-
var TikTokCaptionPropsSchema =
|
|
2283
|
-
text:
|
|
2284
|
-
fontSize:
|
|
2285
|
-
color:
|
|
2286
|
-
strokeColor:
|
|
2287
|
-
strokeWidth:
|
|
2288
|
-
position:
|
|
2289
|
-
highlightStyle:
|
|
2426
|
+
import { interpolate as interpolate20, useCurrentFrame as useCurrentFrame28 } from "remotion";
|
|
2427
|
+
import { z as z42 } from "zod";
|
|
2428
|
+
import { jsx as jsx41 } from "react/jsx-runtime";
|
|
2429
|
+
var TikTokCaptionPropsSchema = z42.object({
|
|
2430
|
+
text: z42.string().max(150),
|
|
2431
|
+
fontSize: z42.number().min(12).max(120).default(48),
|
|
2432
|
+
color: z42.string().default("#FFFFFF"),
|
|
2433
|
+
strokeColor: z42.string().default("#000000"),
|
|
2434
|
+
strokeWidth: z42.number().min(0).max(10).default(3),
|
|
2435
|
+
position: z42.enum(["center", "bottom"]).default("center"),
|
|
2436
|
+
highlightStyle: z42.enum(["word", "bounce", "none"]).default("word"),
|
|
2437
|
+
maxWidthPct: z42.number().min(0.1).max(1).default(0.92),
|
|
2438
|
+
safeInsetPct: z42.number().min(0).max(0.25).default(0.06)
|
|
2290
2439
|
});
|
|
2291
2440
|
var TikTokCaption = ({
|
|
2292
2441
|
text,
|
|
@@ -2296,6 +2445,8 @@ var TikTokCaption = ({
|
|
|
2296
2445
|
strokeWidth,
|
|
2297
2446
|
position,
|
|
2298
2447
|
highlightStyle,
|
|
2448
|
+
maxWidthPct,
|
|
2449
|
+
safeInsetPct,
|
|
2299
2450
|
__wavesDurationInFrames
|
|
2300
2451
|
}) => {
|
|
2301
2452
|
const frame = useCurrentFrame28();
|
|
@@ -2303,11 +2454,12 @@ var TikTokCaption = ({
|
|
|
2303
2454
|
const p = interpolate20(frame, [0, total], [0, 1], { extrapolateLeft: "clamp", extrapolateRight: "clamp" });
|
|
2304
2455
|
const words = text.trim().split(/\s+/);
|
|
2305
2456
|
const idx = highlightStyle === "none" ? -1 : Math.min(words.length - 1, Math.floor(p * words.length));
|
|
2306
|
-
const
|
|
2307
|
-
|
|
2457
|
+
const inset = `${(safeInsetPct * 100).toFixed(2)}%`;
|
|
2458
|
+
const yStyle = position === "bottom" ? { alignItems: "flex-end", paddingBottom: inset } : { alignItems: "center" };
|
|
2459
|
+
return /* @__PURE__ */ jsx41(Fill, { style: { display: "flex", justifyContent: "center", ...yStyle }, children: /* @__PURE__ */ jsx41("div", { style: { textAlign: "center", paddingLeft: inset, paddingRight: inset, maxWidth: `${Math.round(maxWidthPct * 100)}%`, fontWeight: 900, lineHeight: 1.1, overflowWrap: "anywhere", wordBreak: "break-word" }, children: words.map((w, i) => {
|
|
2308
2460
|
const isActive = i === idx && highlightStyle !== "none";
|
|
2309
2461
|
const bounce = isActive && highlightStyle === "bounce" ? interpolate20(frame % 18, [0, 9, 18], [1, 1.08, 1], { extrapolateLeft: "clamp", extrapolateRight: "clamp" }) : 1;
|
|
2310
|
-
return /* @__PURE__ */
|
|
2462
|
+
return /* @__PURE__ */ jsx41(
|
|
2311
2463
|
"span",
|
|
2312
2464
|
{
|
|
2313
2465
|
style: {
|
|
@@ -2332,18 +2484,18 @@ var TikTokCaptionComponentMetadata = {
|
|
|
2332
2484
|
};
|
|
2333
2485
|
|
|
2334
2486
|
// src/components/composites/ThirdLowerBanner.tsx
|
|
2335
|
-
import {
|
|
2336
|
-
import { z as
|
|
2337
|
-
import { jsx as
|
|
2338
|
-
var ThirdLowerBannerPropsSchema =
|
|
2339
|
-
name:
|
|
2340
|
-
title:
|
|
2341
|
-
backgroundColor:
|
|
2342
|
-
primaryColor:
|
|
2343
|
-
secondaryColor:
|
|
2344
|
-
accentColor:
|
|
2345
|
-
showAvatar:
|
|
2346
|
-
avatarSrc:
|
|
2487
|
+
import { Img as Img12, interpolate as interpolate21, staticFile as staticFile14, useCurrentFrame as useCurrentFrame29 } from "remotion";
|
|
2488
|
+
import { z as z43 } from "zod";
|
|
2489
|
+
import { jsx as jsx42, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
2490
|
+
var ThirdLowerBannerPropsSchema = z43.object({
|
|
2491
|
+
name: z43.string().max(50),
|
|
2492
|
+
title: z43.string().max(100),
|
|
2493
|
+
backgroundColor: z43.string().default("rgba(0,0,0,0.8)"),
|
|
2494
|
+
primaryColor: z43.string().default("#FFFFFF"),
|
|
2495
|
+
secondaryColor: z43.string().default("#CCCCCC"),
|
|
2496
|
+
accentColor: z43.string().default("#FF0000"),
|
|
2497
|
+
showAvatar: z43.boolean().default(false),
|
|
2498
|
+
avatarSrc: z43.string().optional()
|
|
2347
2499
|
});
|
|
2348
2500
|
var resolveAsset13 = (value) => isRemoteAssetPath(value) ? value : staticFile14(staticFileInputFromAssetPath(value));
|
|
2349
2501
|
var ThirdLowerBanner = ({
|
|
@@ -2360,7 +2512,7 @@ var ThirdLowerBanner = ({
|
|
|
2360
2512
|
const slide = interpolate21(frame, [0, 18], [-600, 0], { extrapolateLeft: "clamp", extrapolateRight: "clamp" });
|
|
2361
2513
|
const opacity = interpolate21(frame, [0, 10], [0, 1], { extrapolateLeft: "clamp", extrapolateRight: "clamp" });
|
|
2362
2514
|
const avatar = showAvatar && typeof avatarSrc === "string" && avatarSrc.length > 0 ? avatarSrc : null;
|
|
2363
|
-
return /* @__PURE__ */
|
|
2515
|
+
return /* @__PURE__ */ jsx42(Fill, { children: /* @__PURE__ */ jsxs17(
|
|
2364
2516
|
"div",
|
|
2365
2517
|
{
|
|
2366
2518
|
style: {
|
|
@@ -2377,8 +2529,8 @@ var ThirdLowerBanner = ({
|
|
|
2377
2529
|
backgroundColor
|
|
2378
2530
|
},
|
|
2379
2531
|
children: [
|
|
2380
|
-
/* @__PURE__ */
|
|
2381
|
-
avatar ? /* @__PURE__ */
|
|
2532
|
+
/* @__PURE__ */ jsx42("div", { style: { width: 10, backgroundColor: accentColor } }),
|
|
2533
|
+
avatar ? /* @__PURE__ */ jsx42("div", { style: { width: 160, display: "flex", alignItems: "center", justifyContent: "center" }, children: /* @__PURE__ */ jsx42(
|
|
2382
2534
|
Img12,
|
|
2383
2535
|
{
|
|
2384
2536
|
src: resolveAsset13(avatar),
|
|
@@ -2386,8 +2538,8 @@ var ThirdLowerBanner = ({
|
|
|
2386
2538
|
}
|
|
2387
2539
|
) }) : null,
|
|
2388
2540
|
/* @__PURE__ */ jsxs17("div", { style: { padding: "28px 36px", display: "flex", flexDirection: "column", justifyContent: "center" }, children: [
|
|
2389
|
-
/* @__PURE__ */
|
|
2390
|
-
/* @__PURE__ */
|
|
2541
|
+
/* @__PURE__ */ jsx42("div", { style: { color: primaryColor, fontSize: 54, fontWeight: 800, lineHeight: 1 }, children: name }),
|
|
2542
|
+
/* @__PURE__ */ jsx42("div", { style: { marginTop: 10, color: secondaryColor, fontSize: 28, fontWeight: 600 }, children: title })
|
|
2391
2543
|
] })
|
|
2392
2544
|
]
|
|
2393
2545
|
}
|
|
@@ -2405,22 +2557,25 @@ var ThirdLowerBannerComponentMetadata = {
|
|
|
2405
2557
|
};
|
|
2406
2558
|
|
|
2407
2559
|
// src/components/composites/TypewriterText.tsx
|
|
2408
|
-
import {
|
|
2409
|
-
import { z as
|
|
2410
|
-
import { jsx as
|
|
2411
|
-
var TypewriterTextPropsSchema =
|
|
2412
|
-
content:
|
|
2413
|
-
fontSize:
|
|
2414
|
-
color:
|
|
2415
|
-
fontFamily:
|
|
2416
|
-
position:
|
|
2417
|
-
speed:
|
|
2418
|
-
showCursor:
|
|
2419
|
-
cursorColor:
|
|
2560
|
+
import { interpolate as interpolate22, useCurrentFrame as useCurrentFrame30 } from "remotion";
|
|
2561
|
+
import { z as z44 } from "zod";
|
|
2562
|
+
import { jsx as jsx43, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
2563
|
+
var TypewriterTextPropsSchema = z44.object({
|
|
2564
|
+
content: z44.string().max(500),
|
|
2565
|
+
fontSize: z44.number().min(8).max(200).default(48),
|
|
2566
|
+
color: z44.string().default("#FFFFFF"),
|
|
2567
|
+
fontFamily: z44.string().default("Inter"),
|
|
2568
|
+
position: z44.enum(["top", "center", "bottom"]).default("center"),
|
|
2569
|
+
speed: z44.number().min(0.5).max(5).default(2),
|
|
2570
|
+
showCursor: z44.boolean().default(true),
|
|
2571
|
+
cursorColor: z44.string().default("#FFFFFF"),
|
|
2572
|
+
maxWidthPct: z44.number().min(0.1).max(1).default(0.9),
|
|
2573
|
+
safeInsetPct: z44.number().min(0).max(0.25).default(0.06)
|
|
2420
2574
|
});
|
|
2421
|
-
var positionStyles5 = (position) => {
|
|
2422
|
-
|
|
2423
|
-
if (position === "
|
|
2575
|
+
var positionStyles5 = (position, safeInsetPct) => {
|
|
2576
|
+
const inset = `${(safeInsetPct * 100).toFixed(2)}%`;
|
|
2577
|
+
if (position === "top") return { justifyContent: "center", alignItems: "flex-start", paddingTop: inset };
|
|
2578
|
+
if (position === "bottom") return { justifyContent: "center", alignItems: "flex-end", paddingBottom: inset };
|
|
2424
2579
|
return { justifyContent: "center", alignItems: "center" };
|
|
2425
2580
|
};
|
|
2426
2581
|
var TypewriterText = ({
|
|
@@ -2431,7 +2586,9 @@ var TypewriterText = ({
|
|
|
2431
2586
|
position,
|
|
2432
2587
|
speed,
|
|
2433
2588
|
showCursor,
|
|
2434
|
-
cursorColor
|
|
2589
|
+
cursorColor,
|
|
2590
|
+
maxWidthPct,
|
|
2591
|
+
safeInsetPct
|
|
2435
2592
|
}) => {
|
|
2436
2593
|
const frame = useCurrentFrame30();
|
|
2437
2594
|
const charCount = Math.min(content.length, Math.max(0, Math.floor(frame * speed)));
|
|
@@ -2439,9 +2596,9 @@ var TypewriterText = ({
|
|
|
2439
2596
|
const cursorVisible = showCursor && charCount < content.length ? frame % 30 < 15 : false;
|
|
2440
2597
|
const cursorOpacity = cursorVisible ? 1 : 0;
|
|
2441
2598
|
const cursorFade = interpolate22(frame % 30, [0, 5], [0, 1], { extrapolateLeft: "clamp", extrapolateRight: "clamp" });
|
|
2442
|
-
return /* @__PURE__ */
|
|
2599
|
+
return /* @__PURE__ */ jsx43(Fill, { style: { display: "flex", ...positionStyles5(position, safeInsetPct) }, children: /* @__PURE__ */ jsxs18("div", { style: { fontSize, color, fontFamily, fontWeight: 600, textAlign: "center", whiteSpace: "pre-wrap", maxWidth: `${Math.round(maxWidthPct * 100)}%`, overflowWrap: "anywhere", wordBreak: "break-word" }, children: [
|
|
2443
2600
|
shown,
|
|
2444
|
-
showCursor ? /* @__PURE__ */
|
|
2601
|
+
showCursor ? /* @__PURE__ */ jsx43("span", { style: { color: cursorColor, opacity: cursorOpacity * cursorFade }, children: "|" }) : null
|
|
2445
2602
|
] }) });
|
|
2446
2603
|
};
|
|
2447
2604
|
var TypewriterTextComponentMetadata = {
|
|
@@ -2456,21 +2613,21 @@ var TypewriterTextComponentMetadata = {
|
|
|
2456
2613
|
};
|
|
2457
2614
|
|
|
2458
2615
|
// src/components/composites/TwitterCard.tsx
|
|
2459
|
-
import {
|
|
2460
|
-
import { z as
|
|
2461
|
-
import { jsx as
|
|
2462
|
-
var TwitterCardPropsSchema =
|
|
2463
|
-
author:
|
|
2464
|
-
handle:
|
|
2465
|
-
avatarSrc:
|
|
2466
|
-
tweet:
|
|
2467
|
-
image:
|
|
2468
|
-
timestamp:
|
|
2469
|
-
verified:
|
|
2616
|
+
import { Img as Img13, staticFile as staticFile15 } from "remotion";
|
|
2617
|
+
import { z as z45 } from "zod";
|
|
2618
|
+
import { jsx as jsx44, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
2619
|
+
var TwitterCardPropsSchema = z45.object({
|
|
2620
|
+
author: z45.string().min(1),
|
|
2621
|
+
handle: z45.string().min(1),
|
|
2622
|
+
avatarSrc: z45.string().optional(),
|
|
2623
|
+
tweet: z45.string().max(280),
|
|
2624
|
+
image: z45.string().optional(),
|
|
2625
|
+
timestamp: z45.string().optional(),
|
|
2626
|
+
verified: z45.boolean().default(false)
|
|
2470
2627
|
});
|
|
2471
2628
|
var resolveAsset14 = (value) => isRemoteAssetPath(value) ? value : staticFile15(staticFileInputFromAssetPath(value));
|
|
2472
2629
|
var TwitterCard = ({ author, handle, avatarSrc, tweet, image, timestamp, verified }) => {
|
|
2473
|
-
return /* @__PURE__ */
|
|
2630
|
+
return /* @__PURE__ */ jsx44(Fill, { style: { backgroundColor: "#0B0F14", display: "flex", justifyContent: "center", alignItems: "center" }, children: /* @__PURE__ */ jsxs19(
|
|
2474
2631
|
"div",
|
|
2475
2632
|
{
|
|
2476
2633
|
style: {
|
|
@@ -2483,18 +2640,18 @@ var TwitterCard = ({ author, handle, avatarSrc, tweet, image, timestamp, verifie
|
|
|
2483
2640
|
},
|
|
2484
2641
|
children: [
|
|
2485
2642
|
/* @__PURE__ */ jsxs19("div", { style: { display: "flex", gap: 18, alignItems: "center" }, children: [
|
|
2486
|
-
avatarSrc ? /* @__PURE__ */
|
|
2643
|
+
avatarSrc ? /* @__PURE__ */ jsx44(Img13, { src: resolveAsset14(avatarSrc), style: { width: 78, height: 78, borderRadius: 9999, objectFit: "cover" } }) : /* @__PURE__ */ jsx44("div", { style: { width: 78, height: 78, borderRadius: 9999, backgroundColor: "#E5E7EB" } }),
|
|
2487
2644
|
/* @__PURE__ */ jsxs19("div", { style: { display: "flex", flexDirection: "column" }, children: [
|
|
2488
2645
|
/* @__PURE__ */ jsxs19("div", { style: { display: "flex", gap: 10, alignItems: "center" }, children: [
|
|
2489
|
-
/* @__PURE__ */
|
|
2490
|
-
verified ? /* @__PURE__ */
|
|
2646
|
+
/* @__PURE__ */ jsx44("div", { style: { fontSize: 34, fontWeight: 900, color: "#111827" }, children: author }),
|
|
2647
|
+
verified ? /* @__PURE__ */ jsx44("div", { style: { fontSize: 26, color: "#1D9BF0", fontWeight: 900 }, children: "\u2713" }) : null
|
|
2491
2648
|
] }),
|
|
2492
|
-
/* @__PURE__ */
|
|
2649
|
+
/* @__PURE__ */ jsx44("div", { style: { fontSize: 26, color: "#6B7280", fontWeight: 800 }, children: handle })
|
|
2493
2650
|
] })
|
|
2494
2651
|
] }),
|
|
2495
|
-
/* @__PURE__ */
|
|
2496
|
-
image ? /* @__PURE__ */
|
|
2497
|
-
timestamp ? /* @__PURE__ */
|
|
2652
|
+
/* @__PURE__ */ jsx44("div", { style: { marginTop: 28, fontSize: 36, lineHeight: 1.25, color: "#111827", fontWeight: 700 }, children: tweet }),
|
|
2653
|
+
image ? /* @__PURE__ */ jsx44("div", { style: { marginTop: 28, width: "100%", height: 520, overflow: "hidden", borderRadius: 22, backgroundColor: "#F3F4F6" }, children: /* @__PURE__ */ jsx44(Img13, { src: resolveAsset14(image), style: { width: "100%", height: "100%", objectFit: "cover" } }) }) : null,
|
|
2654
|
+
timestamp ? /* @__PURE__ */ jsx44("div", { style: { marginTop: 22, fontSize: 22, color: "#6B7280", fontWeight: 700 }, children: timestamp }) : null
|
|
2498
2655
|
]
|
|
2499
2656
|
}
|
|
2500
2657
|
) });
|
|
@@ -2507,17 +2664,17 @@ var TwitterCardComponentMetadata = {
|
|
|
2507
2664
|
};
|
|
2508
2665
|
|
|
2509
2666
|
// src/components/composites/Watermark.tsx
|
|
2510
|
-
import {
|
|
2511
|
-
import { z as
|
|
2512
|
-
import { jsx as
|
|
2513
|
-
var WatermarkPropsSchema =
|
|
2514
|
-
type:
|
|
2515
|
-
src:
|
|
2516
|
-
text:
|
|
2517
|
-
position:
|
|
2518
|
-
opacity:
|
|
2519
|
-
size:
|
|
2520
|
-
color:
|
|
2667
|
+
import { Img as Img14, staticFile as staticFile16 } from "remotion";
|
|
2668
|
+
import { z as z46 } from "zod";
|
|
2669
|
+
import { jsx as jsx45 } from "react/jsx-runtime";
|
|
2670
|
+
var WatermarkPropsSchema = z46.object({
|
|
2671
|
+
type: z46.enum(["logo", "text"]).default("logo"),
|
|
2672
|
+
src: z46.string().optional(),
|
|
2673
|
+
text: z46.string().optional(),
|
|
2674
|
+
position: z46.enum(["topLeft", "topRight", "bottomLeft", "bottomRight"]).default("bottomRight"),
|
|
2675
|
+
opacity: z46.number().min(0.1).max(1).default(0.5),
|
|
2676
|
+
size: z46.number().min(30).max(150).default(60),
|
|
2677
|
+
color: z46.string().default("#FFFFFF")
|
|
2521
2678
|
});
|
|
2522
2679
|
var resolveAsset15 = (value) => isRemoteAssetPath(value) ? value : staticFile16(staticFileInputFromAssetPath(value));
|
|
2523
2680
|
function posStyle(position) {
|
|
@@ -2534,7 +2691,7 @@ var Watermark = ({ type, src, text, position, opacity, size, color }) => {
|
|
|
2534
2691
|
opacity,
|
|
2535
2692
|
pointerEvents: "none"
|
|
2536
2693
|
};
|
|
2537
|
-
return /* @__PURE__ */
|
|
2694
|
+
return /* @__PURE__ */ jsx45(Fill, { children: type === "text" ? /* @__PURE__ */ jsx45("div", { style: { ...style, fontSize: Math.round(size * 0.6), color, fontWeight: 700 }, children: text ?? "" }) : src ? /* @__PURE__ */ jsx45(
|
|
2538
2695
|
Img14,
|
|
2539
2696
|
{
|
|
2540
2697
|
src: resolveAsset15(src),
|
|
@@ -2549,19 +2706,20 @@ var WatermarkComponentMetadata = {
|
|
|
2549
2706
|
llmGuidance: "Use subtle opacity (0.3-0.6). bottomRight is standard.",
|
|
2550
2707
|
examples: [
|
|
2551
2708
|
{ type: "text", text: "@depths.ai", position: "bottomRight", opacity: 0.4, size: 60 },
|
|
2552
|
-
{ type: "logo", src: "/assets/logo.
|
|
2709
|
+
{ type: "logo", src: "/assets/logo.svg", position: "topLeft", opacity: 0.5, size: 70 }
|
|
2553
2710
|
]
|
|
2554
2711
|
};
|
|
2555
2712
|
|
|
2556
2713
|
// src/components/composites/WipeTransition.tsx
|
|
2557
|
-
import
|
|
2558
|
-
import {
|
|
2559
|
-
import {
|
|
2560
|
-
|
|
2561
|
-
|
|
2562
|
-
|
|
2563
|
-
|
|
2564
|
-
|
|
2714
|
+
import React9 from "react";
|
|
2715
|
+
import { interpolate as interpolate23, useCurrentFrame as useCurrentFrame31 } from "remotion";
|
|
2716
|
+
import { z as z47 } from "zod";
|
|
2717
|
+
import { jsx as jsx46 } from "react/jsx-runtime";
|
|
2718
|
+
var WipeTransitionPropsSchema = z47.object({
|
|
2719
|
+
durationInFrames: z47.number().int().min(10).max(60).default(30),
|
|
2720
|
+
direction: z47.enum(["left", "right", "up", "down", "diagonal"]).default("right"),
|
|
2721
|
+
softEdge: z47.boolean().default(false),
|
|
2722
|
+
phase: z47.enum(["in", "out", "inOut"]).default("inOut")
|
|
2565
2723
|
});
|
|
2566
2724
|
function clipFor2(direction, p) {
|
|
2567
2725
|
if (direction === "left") return `inset(0 ${100 * (1 - p)}% 0 0)`;
|
|
@@ -2578,6 +2736,7 @@ var WipeTransition = ({
|
|
|
2578
2736
|
children,
|
|
2579
2737
|
__wavesDurationInFrames
|
|
2580
2738
|
}) => {
|
|
2739
|
+
const layers = React9.Children.toArray(children);
|
|
2581
2740
|
const frame = useCurrentFrame31();
|
|
2582
2741
|
const total = Math.max(1, __wavesDurationInFrames ?? 1);
|
|
2583
2742
|
const d = Math.min(durationInFrames, total);
|
|
@@ -2591,7 +2750,7 @@ var WipeTransition = ({
|
|
|
2591
2750
|
const t = interpolate23(frame, [start, total], [1, 0], { extrapolateLeft: "clamp", extrapolateRight: "clamp" });
|
|
2592
2751
|
clipPath = clipFor2(direction, t);
|
|
2593
2752
|
}
|
|
2594
|
-
return /* @__PURE__ */
|
|
2753
|
+
return /* @__PURE__ */ jsx46(Fill, { style: { clipPath, filter: softEdge ? "blur(0.4px)" : void 0 }, children: layers.map((child, i) => /* @__PURE__ */ jsx46("div", { style: { position: "absolute", inset: 0 }, children: child }, i)) });
|
|
2595
2754
|
};
|
|
2596
2755
|
var WipeTransitionComponentMetadata = {
|
|
2597
2756
|
kind: "composite",
|
|
@@ -2603,16 +2762,16 @@ var WipeTransitionComponentMetadata = {
|
|
|
2603
2762
|
};
|
|
2604
2763
|
|
|
2605
2764
|
// src/components/composites/YouTubeThumbnail.tsx
|
|
2606
|
-
import {
|
|
2607
|
-
import { z as
|
|
2608
|
-
import { jsx as
|
|
2609
|
-
var YouTubeThumbnailPropsSchema =
|
|
2610
|
-
backgroundImage:
|
|
2611
|
-
title:
|
|
2612
|
-
subtitle:
|
|
2613
|
-
thumbnailFace:
|
|
2614
|
-
accentColor:
|
|
2615
|
-
style:
|
|
2765
|
+
import { Img as Img15, staticFile as staticFile17 } from "remotion";
|
|
2766
|
+
import { z as z48 } from "zod";
|
|
2767
|
+
import { jsx as jsx47, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
2768
|
+
var YouTubeThumbnailPropsSchema = z48.object({
|
|
2769
|
+
backgroundImage: z48.string().min(1),
|
|
2770
|
+
title: z48.string().max(60),
|
|
2771
|
+
subtitle: z48.string().max(40).optional(),
|
|
2772
|
+
thumbnailFace: z48.string().optional(),
|
|
2773
|
+
accentColor: z48.string().default("#FF0000"),
|
|
2774
|
+
style: z48.enum(["bold", "minimal", "dramatic"]).default("bold")
|
|
2616
2775
|
});
|
|
2617
2776
|
var resolveAsset16 = (value) => isRemoteAssetPath(value) ? value : staticFile17(staticFileInputFromAssetPath(value));
|
|
2618
2777
|
var YouTubeThumbnail = ({
|
|
@@ -2623,10 +2782,10 @@ var YouTubeThumbnail = ({
|
|
|
2623
2782
|
accentColor,
|
|
2624
2783
|
style
|
|
2625
2784
|
}) => {
|
|
2626
|
-
return /* @__PURE__ */ jsxs20(
|
|
2627
|
-
/* @__PURE__ */
|
|
2628
|
-
style === "dramatic" ? /* @__PURE__ */
|
|
2629
|
-
thumbnailFace ? /* @__PURE__ */
|
|
2785
|
+
return /* @__PURE__ */ jsxs20(Fill, { children: [
|
|
2786
|
+
/* @__PURE__ */ jsx47(Img15, { src: resolveAsset16(backgroundImage), style: { width: "100%", height: "100%", objectFit: "cover" } }),
|
|
2787
|
+
style === "dramatic" ? /* @__PURE__ */ jsx47("div", { style: { position: "absolute", inset: 0, backgroundColor: "rgba(0,0,0,0.35)" } }) : null,
|
|
2788
|
+
thumbnailFace ? /* @__PURE__ */ jsx47(
|
|
2630
2789
|
Img15,
|
|
2631
2790
|
{
|
|
2632
2791
|
src: resolveAsset16(thumbnailFace),
|
|
@@ -2634,7 +2793,7 @@ var YouTubeThumbnail = ({
|
|
|
2634
2793
|
}
|
|
2635
2794
|
) : null,
|
|
2636
2795
|
/* @__PURE__ */ jsxs20("div", { style: { position: "absolute", left: 70, top: 90, width: 1100 }, children: [
|
|
2637
|
-
/* @__PURE__ */
|
|
2796
|
+
/* @__PURE__ */ jsx47(
|
|
2638
2797
|
"div",
|
|
2639
2798
|
{
|
|
2640
2799
|
style: {
|
|
@@ -2649,9 +2808,9 @@ var YouTubeThumbnail = ({
|
|
|
2649
2808
|
children: title
|
|
2650
2809
|
}
|
|
2651
2810
|
),
|
|
2652
|
-
subtitle ? /* @__PURE__ */
|
|
2811
|
+
subtitle ? /* @__PURE__ */ jsx47("div", { style: { marginTop: 26, fontSize: 52, fontWeight: 900, color: accentColor, textShadow: "0 10px 30px rgba(0,0,0,0.6)" }, children: subtitle }) : null
|
|
2653
2812
|
] }),
|
|
2654
|
-
style !== "minimal" ? /* @__PURE__ */
|
|
2813
|
+
style !== "minimal" ? /* @__PURE__ */ jsx47("div", { style: { position: "absolute", left: 70, bottom: 80, width: 260, height: 18, backgroundColor: accentColor, borderRadius: 9999 } }) : null
|
|
2655
2814
|
] });
|
|
2656
2815
|
};
|
|
2657
2816
|
var YouTubeThumbnailComponentMetadata = {
|
|
@@ -2662,36 +2821,38 @@ var YouTubeThumbnailComponentMetadata = {
|
|
|
2662
2821
|
};
|
|
2663
2822
|
|
|
2664
2823
|
// src/components/composites/VideoWithOverlay.tsx
|
|
2665
|
-
import {
|
|
2666
|
-
import { z as
|
|
2667
|
-
import { jsx as
|
|
2668
|
-
var OverlaySchema =
|
|
2669
|
-
type:
|
|
2670
|
-
content:
|
|
2671
|
-
opacity:
|
|
2672
|
-
position:
|
|
2824
|
+
import { Img as Img16, Video as RemotionVideo2, interpolate as interpolate24, staticFile as staticFile18, useCurrentFrame as useCurrentFrame32 } from "remotion";
|
|
2825
|
+
import { z as z49 } from "zod";
|
|
2826
|
+
import { jsx as jsx48, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
2827
|
+
var OverlaySchema = z49.object({
|
|
2828
|
+
type: z49.enum(["text", "logo", "gradient"]),
|
|
2829
|
+
content: z49.string().optional(),
|
|
2830
|
+
opacity: z49.number().min(0).max(1).default(0.3),
|
|
2831
|
+
position: z49.enum(["top", "bottom", "center", "full"]).default("bottom")
|
|
2673
2832
|
});
|
|
2674
|
-
var VideoWithOverlayPropsSchema =
|
|
2675
|
-
src:
|
|
2833
|
+
var VideoWithOverlayPropsSchema = z49.object({
|
|
2834
|
+
src: z49.string().min(1),
|
|
2676
2835
|
overlay: OverlaySchema.optional(),
|
|
2677
|
-
volume:
|
|
2678
|
-
playbackRate:
|
|
2836
|
+
volume: z49.number().min(0).max(1).default(1),
|
|
2837
|
+
playbackRate: z49.number().min(0.5).max(2).default(1)
|
|
2679
2838
|
});
|
|
2680
2839
|
var resolveAsset17 = (value) => isRemoteAssetPath(value) ? value : staticFile18(staticFileInputFromAssetPath(value));
|
|
2681
2840
|
var VideoWithOverlay = ({ src, overlay, volume, playbackRate }) => {
|
|
2682
2841
|
const frame = useCurrentFrame32();
|
|
2683
2842
|
const fade = interpolate24(frame, [0, 20], [0, 1], { extrapolateLeft: "clamp", extrapolateRight: "clamp" });
|
|
2684
|
-
const
|
|
2685
|
-
|
|
2843
|
+
const overlayFill = { position: "absolute", inset: 0 };
|
|
2844
|
+
const overlayNode = overlay ? overlay.type === "gradient" ? /* @__PURE__ */ jsx48(
|
|
2845
|
+
"div",
|
|
2686
2846
|
{
|
|
2687
2847
|
style: {
|
|
2848
|
+
...overlayFill,
|
|
2688
2849
|
opacity: overlay.opacity,
|
|
2689
2850
|
background: overlay.position === "top" ? "linear-gradient(rgba(0,0,0,0.85), transparent)" : overlay.position === "bottom" ? "linear-gradient(transparent, rgba(0,0,0,0.85))" : "linear-gradient(rgba(0,0,0,0.6), rgba(0,0,0,0.6))"
|
|
2690
2851
|
}
|
|
2691
2852
|
}
|
|
2692
|
-
) : overlay.type === "logo" && overlay.content ? /* @__PURE__ */
|
|
2693
|
-
return /* @__PURE__ */ jsxs21(
|
|
2694
|
-
/* @__PURE__ */
|
|
2853
|
+
) : overlay.type === "logo" && overlay.content ? /* @__PURE__ */ jsx48("div", { style: { ...overlayFill, display: "flex", justifyContent: "center", alignItems: "center", opacity: overlay.opacity }, children: /* @__PURE__ */ jsx48(Img16, { src: resolveAsset17(overlay.content), style: { width: 220, height: 220, objectFit: "contain" } }) }) : overlay.type === "text" && overlay.content ? /* @__PURE__ */ jsx48("div", { style: { ...overlayFill, display: "flex", justifyContent: "center", alignItems: "center", opacity: overlay.opacity }, children: /* @__PURE__ */ jsx48("div", { style: { color: "#FFFFFF", fontSize: 56, fontWeight: 900, textAlign: "center", padding: "0 80px" }, children: overlay.content }) }) : null : null;
|
|
2854
|
+
return /* @__PURE__ */ jsxs21(Fill, { children: [
|
|
2855
|
+
/* @__PURE__ */ jsx48(
|
|
2695
2856
|
RemotionVideo2,
|
|
2696
2857
|
{
|
|
2697
2858
|
src: resolveAsset17(src),
|
|
@@ -2711,13 +2872,14 @@ var VideoWithOverlayComponentMetadata = {
|
|
|
2711
2872
|
};
|
|
2712
2873
|
|
|
2713
2874
|
// src/components/composites/ZoomTransition.tsx
|
|
2714
|
-
import
|
|
2715
|
-
import {
|
|
2716
|
-
import {
|
|
2717
|
-
|
|
2718
|
-
|
|
2719
|
-
|
|
2720
|
-
|
|
2875
|
+
import React10 from "react";
|
|
2876
|
+
import { interpolate as interpolate25, useCurrentFrame as useCurrentFrame33 } from "remotion";
|
|
2877
|
+
import { z as z50 } from "zod";
|
|
2878
|
+
import { jsx as jsx49 } from "react/jsx-runtime";
|
|
2879
|
+
var ZoomTransitionPropsSchema = z50.object({
|
|
2880
|
+
durationInFrames: z50.number().int().min(10).max(60).default(30),
|
|
2881
|
+
type: z50.enum(["zoomIn", "zoomOut"]).default("zoomIn"),
|
|
2882
|
+
phase: z50.enum(["in", "out", "inOut"]).default("inOut")
|
|
2721
2883
|
});
|
|
2722
2884
|
var ZoomTransition = ({
|
|
2723
2885
|
durationInFrames,
|
|
@@ -2726,6 +2888,7 @@ var ZoomTransition = ({
|
|
|
2726
2888
|
children,
|
|
2727
2889
|
__wavesDurationInFrames
|
|
2728
2890
|
}) => {
|
|
2891
|
+
const layers = React10.Children.toArray(children);
|
|
2729
2892
|
const frame = useCurrentFrame33();
|
|
2730
2893
|
const total = Math.max(1, __wavesDurationInFrames ?? 1);
|
|
2731
2894
|
const d = Math.min(durationInFrames, total);
|
|
@@ -2744,7 +2907,7 @@ var ZoomTransition = ({
|
|
|
2744
2907
|
scale *= 1 + (exitTo - 1) * t;
|
|
2745
2908
|
opacity *= 1 - t;
|
|
2746
2909
|
}
|
|
2747
|
-
return /* @__PURE__ */
|
|
2910
|
+
return /* @__PURE__ */ jsx49(Fill, { style: { opacity, transform: `scale(${scale})` }, children: layers.map((child, i) => /* @__PURE__ */ jsx49("div", { style: { position: "absolute", inset: 0 }, children: child }, i)) });
|
|
2748
2911
|
};
|
|
2749
2912
|
var ZoomTransitionComponentMetadata = {
|
|
2750
2913
|
kind: "composite",
|
|
@@ -2773,6 +2936,14 @@ function registerBuiltInComponents() {
|
|
|
2773
2936
|
metadata: BoxComponentMetadata
|
|
2774
2937
|
});
|
|
2775
2938
|
}
|
|
2939
|
+
if (!globalRegistry.has("Frame")) {
|
|
2940
|
+
globalRegistry.register({
|
|
2941
|
+
type: "Frame",
|
|
2942
|
+
component: Frame,
|
|
2943
|
+
propsSchema: FramePropsSchema,
|
|
2944
|
+
metadata: FrameComponentMetadata
|
|
2945
|
+
});
|
|
2946
|
+
}
|
|
2776
2947
|
if (!globalRegistry.has("Stack")) {
|
|
2777
2948
|
globalRegistry.register({
|
|
2778
2949
|
type: "Stack",
|
|
@@ -2789,6 +2960,22 @@ function registerBuiltInComponents() {
|
|
|
2789
2960
|
metadata: GridComponentMetadata
|
|
2790
2961
|
});
|
|
2791
2962
|
}
|
|
2963
|
+
if (!globalRegistry.has("Layers")) {
|
|
2964
|
+
globalRegistry.register({
|
|
2965
|
+
type: "Layers",
|
|
2966
|
+
component: Layers,
|
|
2967
|
+
propsSchema: LayersPropsSchema,
|
|
2968
|
+
metadata: LayersComponentMetadata
|
|
2969
|
+
});
|
|
2970
|
+
}
|
|
2971
|
+
if (!globalRegistry.has("Layer")) {
|
|
2972
|
+
globalRegistry.register({
|
|
2973
|
+
type: "Layer",
|
|
2974
|
+
component: Layer,
|
|
2975
|
+
propsSchema: LayerPropsSchema,
|
|
2976
|
+
metadata: LayerComponentMetadata
|
|
2977
|
+
});
|
|
2978
|
+
}
|
|
2792
2979
|
if (!globalRegistry.has("Image")) {
|
|
2793
2980
|
globalRegistry.register({
|
|
2794
2981
|
type: "Image",
|
|
@@ -3151,6 +3338,7 @@ export {
|
|
|
3151
3338
|
VideoIRSchema,
|
|
3152
3339
|
ComponentRegistry,
|
|
3153
3340
|
globalRegistry,
|
|
3341
|
+
Fill,
|
|
3154
3342
|
registerBuiltInComponents,
|
|
3155
3343
|
WavesError,
|
|
3156
3344
|
WavesValidationError,
|