ugcinc-render 1.8.55 → 1.8.57

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/dist/index.js +138 -86
  2. package/dist/index.mjs +145 -93
  3. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -4341,8 +4341,12 @@ function IgMessageList({
4341
4341
  // src/compositions/InstagramDmComposition/components/DebugOverlay.tsx
4342
4342
  var import_react7 = require("react");
4343
4343
  var import_jsx_runtime22 = require("react/jsx-runtime");
4344
- function DebugOverlay({ width, height }) {
4344
+ function DebugOverlay({ width, height, onZoomChange, initialZoom = 100 }) {
4345
4345
  const [mousePos, setMousePos] = (0, import_react7.useState)(null);
4346
+ const [zoom, setZoom] = (0, import_react7.useState)(initialZoom);
4347
+ (0, import_react7.useEffect)(() => {
4348
+ onZoomChange?.(zoom);
4349
+ }, [zoom, onZoomChange]);
4346
4350
  const handleMouseMove = (0, import_react7.useCallback)(
4347
4351
  (e) => {
4348
4352
  const rect = e.currentTarget.getBoundingClientRect();
@@ -4357,6 +4361,15 @@ function DebugOverlay({ width, height }) {
4357
4361
  const handleMouseLeave = (0, import_react7.useCallback)(() => {
4358
4362
  setMousePos(null);
4359
4363
  }, []);
4364
+ const handleWheel = (0, import_react7.useCallback)((e) => {
4365
+ e.preventDefault();
4366
+ e.stopPropagation();
4367
+ const delta = e.deltaY > 0 ? -5 : 5;
4368
+ setZoom((prev) => {
4369
+ const newZoom = Math.max(10, Math.min(500, prev + delta));
4370
+ return newZoom;
4371
+ });
4372
+ }, []);
4360
4373
  return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
4361
4374
  "div",
4362
4375
  {
@@ -4371,6 +4384,7 @@ function DebugOverlay({ width, height }) {
4371
4384
  },
4372
4385
  onMouseMove: handleMouseMove,
4373
4386
  onMouseLeave: handleMouseLeave,
4387
+ onWheel: handleWheel,
4374
4388
  children: [
4375
4389
  mousePos && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(import_jsx_runtime22.Fragment, { children: [
4376
4390
  /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
@@ -4432,7 +4446,7 @@ function DebugOverlay({ width, height }) {
4432
4446
  ] }) : /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { children: "Move mouse over preview" })
4433
4447
  }
4434
4448
  ),
4435
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
4449
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
4436
4450
  "div",
4437
4451
  {
4438
4452
  style: {
@@ -4449,11 +4463,19 @@ function DebugOverlay({ width, height }) {
4449
4463
  pointerEvents: "none",
4450
4464
  border: "2px solid rgba(255, 255, 0, 0.5)"
4451
4465
  },
4452
- children: /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { children: [
4453
- width,
4454
- " x ",
4455
- height
4456
- ] })
4466
+ children: [
4467
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { children: [
4468
+ width,
4469
+ " x ",
4470
+ height
4471
+ ] }),
4472
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { style: { color: "#00FFFF", marginTop: 8 }, children: [
4473
+ "Zoom: ",
4474
+ zoom,
4475
+ "%"
4476
+ ] }),
4477
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { style: { color: "#888", fontSize: 16, marginTop: 4 }, children: "(scroll to zoom)" })
4478
+ ]
4457
4479
  }
4458
4480
  )
4459
4481
  ]
@@ -4516,6 +4538,10 @@ function InstagramDmComposition({
4516
4538
  scrollOffset
4517
4539
  }) {
4518
4540
  const [fontsLoaded, setFontsLoaded] = (0, import_react8.useState)(false);
4541
+ const [zoom, setZoom] = (0, import_react8.useState)(100);
4542
+ const handleZoomChange = (0, import_react8.useCallback)((newZoom) => {
4543
+ setZoom(newZoom);
4544
+ }, []);
4519
4545
  (0, import_react8.useEffect)(() => {
4520
4546
  const handle = (0, import_remotion14.delayRender)("Loading fonts...");
4521
4547
  preloadFonts().then(() => {
@@ -4541,102 +4567,128 @@ function InstagramDmComposition({
4541
4567
  const footerHeight = mergedFooter.height;
4542
4568
  const contentTop = headerHeight;
4543
4569
  const contentHeight = height - headerHeight - footerHeight;
4570
+ const zoomScale = zoom / 100;
4544
4571
  return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
4545
4572
  import_remotion14.AbsoluteFill,
4546
4573
  {
4547
4574
  style: {
4548
4575
  backgroundColor: colors.background,
4549
- fontFamily: '"SF Pro", "SF Pro Display", -apple-system, BlinkMacSystemFont, "Apple Color Emoji", sans-serif'
4576
+ fontFamily: '"SF Pro", "SF Pro Display", -apple-system, BlinkMacSystemFont, "Apple Color Emoji", sans-serif',
4577
+ overflow: "hidden"
4550
4578
  },
4551
4579
  children: [
4552
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(IgStatusBar, { config: mergedStatusBar, theme, width }),
4553
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4554
- IgHeader,
4555
- {
4556
- config: mergedHeader,
4557
- theme,
4558
- recipient,
4559
- avatarUrl: recipientAvatarUrl
4560
- }
4561
- ),
4562
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4563
- "div",
4564
- {
4565
- style: {
4566
- position: "absolute",
4567
- top: contentTop,
4568
- left: 0,
4569
- right: 0,
4570
- height: contentHeight,
4571
- overflow: "hidden"
4572
- },
4573
- children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4574
- "div",
4575
- {
4576
- style: {
4577
- position: "absolute",
4578
- top: 0,
4579
- left: 0,
4580
- right: 0,
4581
- bottom: 0,
4582
- display: "flex",
4583
- flexDirection: "column",
4584
- justifyContent: "flex-end",
4585
- paddingBottom: 16
4586
- },
4587
- children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4588
- IgMessageList,
4589
- {
4590
- messages,
4591
- imageUrls,
4592
- style: mergedStyle,
4593
- theme,
4594
- containerWidth: width - mergedStyle.sideMargin * 2,
4595
- showTypingIndicator,
4596
- readReceipt,
4597
- recipientAvatarUrl,
4598
- scrollOffset
4599
- }
4600
- )
4601
- }
4602
- )
4603
- }
4604
- ),
4605
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4606
- IgFooter,
4607
- {
4608
- config: mergedFooter,
4609
- theme,
4610
- compositionHeight: height
4611
- }
4612
- ),
4613
- referenceImageUrl && referenceOpacity > 0 && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4580
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
4614
4581
  "div",
4615
4582
  {
4616
4583
  style: {
4617
4584
  position: "absolute",
4618
4585
  top: 0,
4619
4586
  left: 0,
4620
- right: 0,
4621
- bottom: 0,
4622
- zIndex: 100,
4623
- pointerEvents: "none",
4624
- opacity: referenceOpacity / 100
4587
+ width,
4588
+ height,
4589
+ transform: `scale(${zoomScale})`,
4590
+ transformOrigin: "top left"
4625
4591
  },
4626
- children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4627
- import_remotion14.Img,
4628
- {
4629
- src: referenceImageUrl,
4630
- style: {
4631
- width: "100%",
4632
- height: "100%",
4633
- objectFit: "cover"
4592
+ children: [
4593
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(IgStatusBar, { config: mergedStatusBar, theme, width }),
4594
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4595
+ IgHeader,
4596
+ {
4597
+ config: mergedHeader,
4598
+ theme,
4599
+ recipient,
4600
+ avatarUrl: recipientAvatarUrl
4634
4601
  }
4635
- }
4636
- )
4602
+ ),
4603
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4604
+ "div",
4605
+ {
4606
+ style: {
4607
+ position: "absolute",
4608
+ top: contentTop,
4609
+ left: 0,
4610
+ right: 0,
4611
+ height: contentHeight,
4612
+ overflow: "hidden"
4613
+ },
4614
+ children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4615
+ "div",
4616
+ {
4617
+ style: {
4618
+ position: "absolute",
4619
+ top: 0,
4620
+ left: 0,
4621
+ right: 0,
4622
+ bottom: 0,
4623
+ display: "flex",
4624
+ flexDirection: "column",
4625
+ justifyContent: "flex-end",
4626
+ paddingBottom: 16
4627
+ },
4628
+ children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4629
+ IgMessageList,
4630
+ {
4631
+ messages,
4632
+ imageUrls,
4633
+ style: mergedStyle,
4634
+ theme,
4635
+ containerWidth: width - mergedStyle.sideMargin * 2,
4636
+ showTypingIndicator,
4637
+ readReceipt,
4638
+ recipientAvatarUrl,
4639
+ scrollOffset
4640
+ }
4641
+ )
4642
+ }
4643
+ )
4644
+ }
4645
+ ),
4646
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4647
+ IgFooter,
4648
+ {
4649
+ config: mergedFooter,
4650
+ theme,
4651
+ compositionHeight: height
4652
+ }
4653
+ ),
4654
+ referenceImageUrl && referenceOpacity > 0 && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4655
+ "div",
4656
+ {
4657
+ style: {
4658
+ position: "absolute",
4659
+ top: 0,
4660
+ left: 0,
4661
+ right: 0,
4662
+ bottom: 0,
4663
+ zIndex: 100,
4664
+ pointerEvents: "none",
4665
+ opacity: referenceOpacity / 100
4666
+ },
4667
+ children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4668
+ import_remotion14.Img,
4669
+ {
4670
+ src: referenceImageUrl,
4671
+ style: {
4672
+ width: "100%",
4673
+ height: "100%",
4674
+ objectFit: "cover"
4675
+ }
4676
+ }
4677
+ )
4678
+ }
4679
+ )
4680
+ ]
4637
4681
  }
4638
4682
  ),
4639
- showDebugOverlay && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(DebugOverlay, { width, height })
4683
+ showDebugOverlay && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4684
+ DebugOverlay,
4685
+ {
4686
+ width,
4687
+ height,
4688
+ onZoomChange: handleZoomChange,
4689
+ initialZoom: zoom
4690
+ }
4691
+ )
4640
4692
  ]
4641
4693
  }
4642
4694
  );
package/dist/index.mjs CHANGED
@@ -1833,7 +1833,7 @@ function ScreenshotAnimation({
1833
1833
  }
1834
1834
 
1835
1835
  // src/compositions/InstagramDmComposition/index.tsx
1836
- import { useEffect as useEffect2, useState as useState3 } from "react";
1836
+ import { useCallback as useCallback2, useEffect as useEffect3, useState as useState3 } from "react";
1837
1837
  import { AbsoluteFill as AbsoluteFill5, Img as Img9, continueRender as continueRender2, delayRender as delayRender2 } from "remotion";
1838
1838
 
1839
1839
  // src/compositions/InstagramDmComposition/theme.ts
@@ -3443,10 +3443,14 @@ function IgMessageList({
3443
3443
  }
3444
3444
 
3445
3445
  // src/compositions/InstagramDmComposition/components/DebugOverlay.tsx
3446
- import { useState as useState2, useCallback } from "react";
3446
+ import { useState as useState2, useCallback, useEffect as useEffect2 } from "react";
3447
3447
  import { Fragment, jsx as jsx22, jsxs as jsxs15 } from "react/jsx-runtime";
3448
- function DebugOverlay({ width, height }) {
3448
+ function DebugOverlay({ width, height, onZoomChange, initialZoom = 100 }) {
3449
3449
  const [mousePos, setMousePos] = useState2(null);
3450
+ const [zoom, setZoom] = useState2(initialZoom);
3451
+ useEffect2(() => {
3452
+ onZoomChange?.(zoom);
3453
+ }, [zoom, onZoomChange]);
3450
3454
  const handleMouseMove = useCallback(
3451
3455
  (e) => {
3452
3456
  const rect = e.currentTarget.getBoundingClientRect();
@@ -3461,6 +3465,15 @@ function DebugOverlay({ width, height }) {
3461
3465
  const handleMouseLeave = useCallback(() => {
3462
3466
  setMousePos(null);
3463
3467
  }, []);
3468
+ const handleWheel = useCallback((e) => {
3469
+ e.preventDefault();
3470
+ e.stopPropagation();
3471
+ const delta = e.deltaY > 0 ? -5 : 5;
3472
+ setZoom((prev) => {
3473
+ const newZoom = Math.max(10, Math.min(500, prev + delta));
3474
+ return newZoom;
3475
+ });
3476
+ }, []);
3464
3477
  return /* @__PURE__ */ jsxs15(
3465
3478
  "div",
3466
3479
  {
@@ -3475,6 +3488,7 @@ function DebugOverlay({ width, height }) {
3475
3488
  },
3476
3489
  onMouseMove: handleMouseMove,
3477
3490
  onMouseLeave: handleMouseLeave,
3491
+ onWheel: handleWheel,
3478
3492
  children: [
3479
3493
  mousePos && /* @__PURE__ */ jsxs15(Fragment, { children: [
3480
3494
  /* @__PURE__ */ jsx22(
@@ -3536,7 +3550,7 @@ function DebugOverlay({ width, height }) {
3536
3550
  ] }) : /* @__PURE__ */ jsx22("div", { children: "Move mouse over preview" })
3537
3551
  }
3538
3552
  ),
3539
- /* @__PURE__ */ jsx22(
3553
+ /* @__PURE__ */ jsxs15(
3540
3554
  "div",
3541
3555
  {
3542
3556
  style: {
@@ -3553,11 +3567,19 @@ function DebugOverlay({ width, height }) {
3553
3567
  pointerEvents: "none",
3554
3568
  border: "2px solid rgba(255, 255, 0, 0.5)"
3555
3569
  },
3556
- children: /* @__PURE__ */ jsxs15("div", { children: [
3557
- width,
3558
- " x ",
3559
- height
3560
- ] })
3570
+ children: [
3571
+ /* @__PURE__ */ jsxs15("div", { children: [
3572
+ width,
3573
+ " x ",
3574
+ height
3575
+ ] }),
3576
+ /* @__PURE__ */ jsxs15("div", { style: { color: "#00FFFF", marginTop: 8 }, children: [
3577
+ "Zoom: ",
3578
+ zoom,
3579
+ "%"
3580
+ ] }),
3581
+ /* @__PURE__ */ jsx22("div", { style: { color: "#888", fontSize: 16, marginTop: 4 }, children: "(scroll to zoom)" })
3582
+ ]
3561
3583
  }
3562
3584
  )
3563
3585
  ]
@@ -3620,7 +3642,11 @@ function InstagramDmComposition({
3620
3642
  scrollOffset
3621
3643
  }) {
3622
3644
  const [fontsLoaded, setFontsLoaded] = useState3(false);
3623
- useEffect2(() => {
3645
+ const [zoom, setZoom] = useState3(100);
3646
+ const handleZoomChange = useCallback2((newZoom) => {
3647
+ setZoom(newZoom);
3648
+ }, []);
3649
+ useEffect3(() => {
3624
3650
  const handle = delayRender2("Loading fonts...");
3625
3651
  preloadFonts().then(() => {
3626
3652
  setFontsLoaded(true);
@@ -3645,112 +3671,138 @@ function InstagramDmComposition({
3645
3671
  const footerHeight = mergedFooter.height;
3646
3672
  const contentTop = headerHeight;
3647
3673
  const contentHeight = height - headerHeight - footerHeight;
3674
+ const zoomScale = zoom / 100;
3648
3675
  return /* @__PURE__ */ jsxs16(
3649
3676
  AbsoluteFill5,
3650
3677
  {
3651
3678
  style: {
3652
3679
  backgroundColor: colors.background,
3653
- fontFamily: '"SF Pro", "SF Pro Display", -apple-system, BlinkMacSystemFont, "Apple Color Emoji", sans-serif'
3680
+ fontFamily: '"SF Pro", "SF Pro Display", -apple-system, BlinkMacSystemFont, "Apple Color Emoji", sans-serif',
3681
+ overflow: "hidden"
3654
3682
  },
3655
3683
  children: [
3656
- /* @__PURE__ */ jsx23(IgStatusBar, { config: mergedStatusBar, theme, width }),
3657
- /* @__PURE__ */ jsx23(
3658
- IgHeader,
3659
- {
3660
- config: mergedHeader,
3661
- theme,
3662
- recipient,
3663
- avatarUrl: recipientAvatarUrl
3664
- }
3665
- ),
3666
- /* @__PURE__ */ jsx23(
3667
- "div",
3668
- {
3669
- style: {
3670
- position: "absolute",
3671
- top: contentTop,
3672
- left: 0,
3673
- right: 0,
3674
- height: contentHeight,
3675
- overflow: "hidden"
3676
- },
3677
- children: /* @__PURE__ */ jsx23(
3678
- "div",
3679
- {
3680
- style: {
3681
- position: "absolute",
3682
- top: 0,
3683
- left: 0,
3684
- right: 0,
3685
- bottom: 0,
3686
- display: "flex",
3687
- flexDirection: "column",
3688
- justifyContent: "flex-end",
3689
- paddingBottom: 16
3690
- },
3691
- children: /* @__PURE__ */ jsx23(
3692
- IgMessageList,
3693
- {
3694
- messages,
3695
- imageUrls,
3696
- style: mergedStyle,
3697
- theme,
3698
- containerWidth: width - mergedStyle.sideMargin * 2,
3699
- showTypingIndicator,
3700
- readReceipt,
3701
- recipientAvatarUrl,
3702
- scrollOffset
3703
- }
3704
- )
3705
- }
3706
- )
3707
- }
3708
- ),
3709
- /* @__PURE__ */ jsx23(
3710
- IgFooter,
3711
- {
3712
- config: mergedFooter,
3713
- theme,
3714
- compositionHeight: height
3715
- }
3716
- ),
3717
- referenceImageUrl && referenceOpacity > 0 && /* @__PURE__ */ jsx23(
3684
+ /* @__PURE__ */ jsxs16(
3718
3685
  "div",
3719
3686
  {
3720
3687
  style: {
3721
3688
  position: "absolute",
3722
3689
  top: 0,
3723
3690
  left: 0,
3724
- right: 0,
3725
- bottom: 0,
3726
- zIndex: 100,
3727
- pointerEvents: "none",
3728
- opacity: referenceOpacity / 100
3691
+ width,
3692
+ height,
3693
+ transform: `scale(${zoomScale})`,
3694
+ transformOrigin: "top left"
3729
3695
  },
3730
- children: /* @__PURE__ */ jsx23(
3731
- Img9,
3732
- {
3733
- src: referenceImageUrl,
3734
- style: {
3735
- width: "100%",
3736
- height: "100%",
3737
- objectFit: "cover"
3696
+ children: [
3697
+ /* @__PURE__ */ jsx23(IgStatusBar, { config: mergedStatusBar, theme, width }),
3698
+ /* @__PURE__ */ jsx23(
3699
+ IgHeader,
3700
+ {
3701
+ config: mergedHeader,
3702
+ theme,
3703
+ recipient,
3704
+ avatarUrl: recipientAvatarUrl
3738
3705
  }
3739
- }
3740
- )
3706
+ ),
3707
+ /* @__PURE__ */ jsx23(
3708
+ "div",
3709
+ {
3710
+ style: {
3711
+ position: "absolute",
3712
+ top: contentTop,
3713
+ left: 0,
3714
+ right: 0,
3715
+ height: contentHeight,
3716
+ overflow: "hidden"
3717
+ },
3718
+ children: /* @__PURE__ */ jsx23(
3719
+ "div",
3720
+ {
3721
+ style: {
3722
+ position: "absolute",
3723
+ top: 0,
3724
+ left: 0,
3725
+ right: 0,
3726
+ bottom: 0,
3727
+ display: "flex",
3728
+ flexDirection: "column",
3729
+ justifyContent: "flex-end",
3730
+ paddingBottom: 16
3731
+ },
3732
+ children: /* @__PURE__ */ jsx23(
3733
+ IgMessageList,
3734
+ {
3735
+ messages,
3736
+ imageUrls,
3737
+ style: mergedStyle,
3738
+ theme,
3739
+ containerWidth: width - mergedStyle.sideMargin * 2,
3740
+ showTypingIndicator,
3741
+ readReceipt,
3742
+ recipientAvatarUrl,
3743
+ scrollOffset
3744
+ }
3745
+ )
3746
+ }
3747
+ )
3748
+ }
3749
+ ),
3750
+ /* @__PURE__ */ jsx23(
3751
+ IgFooter,
3752
+ {
3753
+ config: mergedFooter,
3754
+ theme,
3755
+ compositionHeight: height
3756
+ }
3757
+ ),
3758
+ referenceImageUrl && referenceOpacity > 0 && /* @__PURE__ */ jsx23(
3759
+ "div",
3760
+ {
3761
+ style: {
3762
+ position: "absolute",
3763
+ top: 0,
3764
+ left: 0,
3765
+ right: 0,
3766
+ bottom: 0,
3767
+ zIndex: 100,
3768
+ pointerEvents: "none",
3769
+ opacity: referenceOpacity / 100
3770
+ },
3771
+ children: /* @__PURE__ */ jsx23(
3772
+ Img9,
3773
+ {
3774
+ src: referenceImageUrl,
3775
+ style: {
3776
+ width: "100%",
3777
+ height: "100%",
3778
+ objectFit: "cover"
3779
+ }
3780
+ }
3781
+ )
3782
+ }
3783
+ )
3784
+ ]
3741
3785
  }
3742
3786
  ),
3743
- showDebugOverlay && /* @__PURE__ */ jsx23(DebugOverlay, { width, height })
3787
+ showDebugOverlay && /* @__PURE__ */ jsx23(
3788
+ DebugOverlay,
3789
+ {
3790
+ width,
3791
+ height,
3792
+ onZoomChange: handleZoomChange,
3793
+ initialZoom: zoom
3794
+ }
3795
+ )
3744
3796
  ]
3745
3797
  }
3746
3798
  );
3747
3799
  }
3748
3800
 
3749
3801
  // src/hooks/index.ts
3750
- import { useEffect as useEffect3, useState as useState4, useMemo as useMemo7 } from "react";
3802
+ import { useEffect as useEffect4, useState as useState4, useMemo as useMemo7 } from "react";
3751
3803
  function useFontsLoaded() {
3752
3804
  const [loaded, setLoaded] = useState4(areFontsLoaded());
3753
- useEffect3(() => {
3805
+ useEffect4(() => {
3754
3806
  if (!loaded) {
3755
3807
  preloadFonts().then(() => setLoaded(true)).catch(console.error);
3756
3808
  }
@@ -3759,7 +3811,7 @@ function useFontsLoaded() {
3759
3811
  }
3760
3812
  function useImageLoader(src) {
3761
3813
  const [image, setImage] = useState4(null);
3762
- useEffect3(() => {
3814
+ useEffect4(() => {
3763
3815
  if (!src) {
3764
3816
  setImage(null);
3765
3817
  return;
@@ -3781,7 +3833,7 @@ function useImageLoader(src) {
3781
3833
  function useImagePreloader(sources) {
3782
3834
  const [images, setImages] = useState4({});
3783
3835
  const [loaded, setLoaded] = useState4(false);
3784
- useEffect3(() => {
3836
+ useEffect4(() => {
3785
3837
  const entries = Object.entries(sources);
3786
3838
  if (entries.length === 0) {
3787
3839
  setLoaded(true);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ugcinc-render",
3
- "version": "1.8.55",
3
+ "version": "1.8.57",
4
4
  "description": "Unified rendering package for UGC Inc - shared types, components, and compositions for pixel-perfect client/server rendering",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",