@remotion/promo-pages 4.0.317 → 4.0.319

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.
@@ -0,0 +1,5 @@
1
+
2
+ 
3
+ > @remotion/promo-pages@4.0.318 lint /Users/jonathanburger/remotion/packages/promo-pages
4
+ > tsc && eslint src
5
+
@@ -1,8 +1,8 @@
1
1
 
2
2
  
3
- > @remotion/promo-pages@4.0.317 make /Users/jonathanburger/remotion/packages/promo-pages
3
+ > @remotion/promo-pages@4.0.319 make /Users/jonathanburger/remotion/packages/promo-pages
4
4
  > bun --env-file=../.env.bundle bundle.ts
5
5
 
6
6
  ≈ tailwindcss v4.1.1
7
7
 
8
- Done in 37ms
8
+ Done in 26ms
package/dist/Homepage.js CHANGED
@@ -735,7 +735,7 @@ var __defProp2, __export2 = (target, all) => {
735
735
  });
736
736
  }, useIsPlayer = () => {
737
737
  return useContext(IsPlayerContext);
738
- }, VERSION = "4.0.317", checkMultipleRemotionVersions = () => {
738
+ }, VERSION = "4.0.319", checkMultipleRemotionVersions = () => {
739
739
  if (typeof globalThis === "undefined") {
740
740
  return;
741
741
  }
@@ -2561,6 +2561,60 @@ Check that all your Remotion packages are on the same version. If your dependenc
2561
2561
  if (endAt < startFrom) {
2562
2562
  throw new TypeError("endAt prop must be greater than startFrom prop.");
2563
2563
  }
2564
+ }, validateTrimProps = (trimBefore, trimAfter) => {
2565
+ if (typeof trimBefore !== "undefined") {
2566
+ if (typeof trimBefore !== "number") {
2567
+ throw new TypeError(`type of trimBefore prop must be a number, instead got type ${typeof trimBefore}.`);
2568
+ }
2569
+ if (isNaN(trimBefore) || trimBefore === Infinity) {
2570
+ throw new TypeError("trimBefore prop can not be NaN or Infinity.");
2571
+ }
2572
+ if (trimBefore < 0) {
2573
+ throw new TypeError(`trimBefore must be greater than equal to 0 instead got ${trimBefore}.`);
2574
+ }
2575
+ }
2576
+ if (typeof trimAfter !== "undefined") {
2577
+ if (typeof trimAfter !== "number") {
2578
+ throw new TypeError(`type of trimAfter prop must be a number, instead got type ${typeof trimAfter}.`);
2579
+ }
2580
+ if (isNaN(trimAfter)) {
2581
+ throw new TypeError("trimAfter prop can not be NaN.");
2582
+ }
2583
+ if (trimAfter <= 0) {
2584
+ throw new TypeError(`trimAfter must be a positive number, instead got ${trimAfter}.`);
2585
+ }
2586
+ }
2587
+ if (trimAfter < trimBefore) {
2588
+ throw new TypeError("trimAfter prop must be greater than trimBefore prop.");
2589
+ }
2590
+ }, validateMediaTrimProps = ({
2591
+ startFrom,
2592
+ endAt,
2593
+ trimBefore,
2594
+ trimAfter
2595
+ }) => {
2596
+ if (typeof startFrom !== "undefined" && typeof trimBefore !== "undefined") {
2597
+ throw new TypeError("Cannot use both startFrom and trimBefore props. Use trimBefore instead as startFrom is deprecated.");
2598
+ }
2599
+ if (typeof endAt !== "undefined" && typeof trimAfter !== "undefined") {
2600
+ throw new TypeError("Cannot use both endAt and trimAfter props. Use trimAfter instead as endAt is deprecated.");
2601
+ }
2602
+ const hasNewProps = typeof trimBefore !== "undefined" || typeof trimAfter !== "undefined";
2603
+ const hasOldProps = typeof startFrom !== "undefined" || typeof endAt !== "undefined";
2604
+ if (hasNewProps) {
2605
+ validateTrimProps(trimBefore, trimAfter);
2606
+ } else if (hasOldProps) {
2607
+ validateStartFromProps(startFrom, endAt);
2608
+ }
2609
+ }, resolveTrimProps = ({
2610
+ startFrom,
2611
+ endAt,
2612
+ trimBefore,
2613
+ trimAfter
2614
+ }) => {
2615
+ const trimBeforeValue = trimBefore ?? startFrom ?? undefined;
2616
+ const trimAfterValue = trimAfter ?? endAt ?? undefined;
2617
+ return { trimBeforeValue, trimAfterValue };
2564
2618
  }, durationReducer = (state, action) => {
2565
2619
  switch (action.type) {
2566
2620
  case "got-duration": {
@@ -4283,6 +4337,8 @@ Check that all your Remotion packages are on the same version. If your dependenc
4283
4337
  const {
4284
4338
  startFrom,
4285
4339
  endAt,
4340
+ trimBefore,
4341
+ trimAfter,
4286
4342
  name,
4287
4343
  stack,
4288
4344
  pauseWhenBuffering,
@@ -4310,6 +4366,13 @@ Check that all your Remotion packages are on the same version. If your dependenc
4310
4366
  setDurations({ type: "got-duration", durationInSeconds, src });
4311
4367
  }, [setDurations]);
4312
4368
  const durationFetched = durations[getAbsoluteSrc(preloadedSrc)] ?? durations[getAbsoluteSrc(props.src)];
4369
+ validateMediaTrimProps({ startFrom, endAt, trimBefore, trimAfter });
4370
+ const { trimBeforeValue, trimAfterValue } = resolveTrimProps({
4371
+ startFrom,
4372
+ endAt,
4373
+ trimBefore,
4374
+ trimAfter
4375
+ });
4313
4376
  if (loop && durationFetched !== undefined) {
4314
4377
  if (!Number.isFinite(durationFetched)) {
4315
4378
  return /* @__PURE__ */ jsx19(Audio, {
@@ -4322,10 +4385,10 @@ Check that all your Remotion packages are on the same version. If your dependenc
4322
4385
  return /* @__PURE__ */ jsx19(Loop, {
4323
4386
  layout: "none",
4324
4387
  durationInFrames: calculateLoopDuration({
4325
- endAt,
4388
+ endAt: trimAfterValue ?? endAt,
4326
4389
  mediaDuration: duration,
4327
4390
  playbackRate: props.playbackRate ?? 1,
4328
- startFrom
4391
+ startFrom: trimBeforeValue ?? startFrom
4329
4392
  }),
4330
4393
  children: /* @__PURE__ */ jsx19(Audio, {
4331
4394
  ...propsOtherThanLoop,
@@ -4334,15 +4397,12 @@ Check that all your Remotion packages are on the same version. If your dependenc
4334
4397
  })
4335
4398
  });
4336
4399
  }
4337
- if (typeof startFrom !== "undefined" || typeof endAt !== "undefined") {
4338
- validateStartFromProps(startFrom, endAt);
4339
- const startFromFrameNo = startFrom ?? 0;
4340
- const endAtFrameNo = endAt ?? Infinity;
4400
+ if (typeof trimBeforeValue !== "undefined" || typeof trimAfterValue !== "undefined") {
4341
4401
  return /* @__PURE__ */ jsx19(Sequence, {
4342
4402
  layout: "none",
4343
- from: 0 - startFromFrameNo,
4403
+ from: 0 - (trimBeforeValue ?? 0),
4344
4404
  showInTimeline: false,
4345
- durationInFrames: endAtFrameNo,
4405
+ durationInFrames: trimAfterValue,
4346
4406
  name,
4347
4407
  children: /* @__PURE__ */ jsx19(Audio, {
4348
4408
  _remotionInternalNeedsDurationCalculation: Boolean(loop),
@@ -5855,6 +5915,8 @@ Check that all your Remotion packages are on the same version. If your dependenc
5855
5915
  const {
5856
5916
  startFrom,
5857
5917
  endAt,
5918
+ trimBefore,
5919
+ trimAfter,
5858
5920
  name,
5859
5921
  pauseWhenBuffering,
5860
5922
  stack,
@@ -5879,6 +5941,13 @@ Check that all your Remotion packages are on the same version. If your dependenc
5879
5941
  }, [setDurations]);
5880
5942
  const onVideoFrame = useCallback16(() => {}, []);
5881
5943
  const durationFetched = durations[getAbsoluteSrc(preloadedSrc)] ?? durations[getAbsoluteSrc(props2.src)];
5944
+ validateMediaTrimProps({ startFrom, endAt, trimBefore, trimAfter });
5945
+ const { trimBeforeValue, trimAfterValue } = resolveTrimProps({
5946
+ startFrom,
5947
+ endAt,
5948
+ trimBefore,
5949
+ trimAfter
5950
+ });
5882
5951
  if (loop && durationFetched !== undefined) {
5883
5952
  if (!Number.isFinite(durationFetched)) {
5884
5953
  return /* @__PURE__ */ jsx34(Video, {
@@ -5890,10 +5959,10 @@ Check that all your Remotion packages are on the same version. If your dependenc
5890
5959
  const mediaDuration = durationFetched * fps;
5891
5960
  return /* @__PURE__ */ jsx34(Loop, {
5892
5961
  durationInFrames: calculateLoopDuration({
5893
- endAt,
5962
+ endAt: trimAfterValue ?? undefined,
5894
5963
  mediaDuration,
5895
5964
  playbackRate: props2.playbackRate ?? 1,
5896
- startFrom
5965
+ startFrom: trimBeforeValue ?? undefined
5897
5966
  }),
5898
5967
  layout: "none",
5899
5968
  name,
@@ -5904,15 +5973,12 @@ Check that all your Remotion packages are on the same version. If your dependenc
5904
5973
  })
5905
5974
  });
5906
5975
  }
5907
- if (typeof startFrom !== "undefined" || typeof endAt !== "undefined") {
5908
- validateStartFromProps(startFrom, endAt);
5909
- const startFromFrameNo = startFrom ?? 0;
5910
- const endAtFrameNo = endAt ?? Infinity;
5976
+ if (typeof trimBeforeValue !== "undefined" || typeof trimAfterValue !== "undefined") {
5911
5977
  return /* @__PURE__ */ jsx34(Sequence, {
5912
5978
  layout: "none",
5913
- from: 0 - startFromFrameNo,
5979
+ from: 0 - (trimBeforeValue ?? 0),
5914
5980
  showInTimeline: false,
5915
- durationInFrames: endAtFrameNo,
5981
+ durationInFrames: trimAfterValue,
5916
5982
  name,
5917
5983
  children: /* @__PURE__ */ jsx34(Video, {
5918
5984
  pauseWhenBuffering: pauseWhenBuffering ?? false,
@@ -8220,7 +8286,7 @@ var EnterpriseLicense = () => {
8220
8286
  checked: true
8221
8287
  }),
8222
8288
  /* @__PURE__ */ jsx4(PricingBulletPoint, {
8223
- text: "Private support channel",
8289
+ text: "Private Slack or Discord",
8224
8290
  checked: true
8225
8291
  }),
8226
8292
  /* @__PURE__ */ jsx4(PricingBulletPoint, {
@@ -13201,7 +13267,7 @@ var useElementSize = (ref, options) => {
13201
13267
  setSize(null);
13202
13268
  return;
13203
13269
  }
13204
- const probableCssParentScale = contentRect.width === 0 ? 1 : newSize[0].width / contentRect.width;
13270
+ const probableCssParentScale = contentRect.width === 0 || contentRect.width === 0 ? 1 : newSize[0].width / contentRect.width;
13205
13271
  const width = options.shouldApplyCssTransforms ? newSize[0].width : newSize[0].width * (1 / probableCssParentScale);
13206
13272
  const height = options.shouldApplyCssTransforms ? newSize[0].height : newSize[0].height * (1 / probableCssParentScale);
13207
13273
  setSize((prevState) => {
@@ -14995,8 +15061,7 @@ var acknowledgeRemotionLicenseMessage = (acknowledge, logLevel) => {
14995
15061
  return;
14996
15062
  }
14997
15063
  warningShown = true;
14998
- Internals.Log.warn(logLevel, "Note: Some companies are required to obtain a license to use Remotion. See: https://remotion.dev/license");
14999
- Internals.Log.warn(logLevel, "Pass the `acknowledgeRemotionLicense` prop to `<Player />` function to make this message disappear.");
15064
+ Internals.Log.warn(logLevel, "Note: Some companies are required to obtain a license to use Remotion. See: https://remotion.dev/license\nPass the `acknowledgeRemotionLicense` prop to `<Player />` function to make this message disappear.");
15000
15065
  };
15001
15066
  var validateSingleFrame = (frame, variableName) => {
15002
15067
  if (typeof frame === "undefined" || frame === null) {
@@ -55,7 +55,7 @@ declare const data: z.ZodObject<{
55
55
  theme: z.ZodEnum<["light", "dark"]>;
56
56
  cardOrder: z.ZodArray<z.ZodNumber, "many">;
57
57
  }, "strip", z.ZodTypeAny, {
58
- theme: "light" | "dark";
58
+ theme: "dark" | "light";
59
59
  emojiIndex: number;
60
60
  trending: {
61
61
  countryPaths: {
@@ -75,7 +75,7 @@ declare const data: z.ZodObject<{
75
75
  };
76
76
  cardOrder: number[];
77
77
  }, {
78
- theme: "light" | "dark";
78
+ theme: "dark" | "light";
79
79
  emojiIndex: number;
80
80
  trending: {
81
81
  countryPaths: {
@@ -7,4 +7,4 @@ export declare const cardHeight: number;
7
7
  export declare const cardWidth: number;
8
8
  export declare const getPositionForIndex: (index: number) => Position;
9
9
  export declare const getInitialPositions: () => Position[];
10
- export declare const getIndexFromPosition: (clientX: number, clientY: number) => 0 | 2 | 3 | 1 | undefined;
10
+ export declare const getIndexFromPosition: (clientX: number, clientY: number) => 0 | 1 | 3 | 2 | undefined;
@@ -30,7 +30,7 @@ const textUnitWrapper = {
30
30
  flexDirection: 'column',
31
31
  };
32
32
  export const EnterpriseLicense = () => {
33
- return (_jsxs(Container, { children: [_jsx(Audience, { children: "For advanced needs" }), _jsx(Title, { children: "Enterprise License" }), _jsx(PricingBulletPoint, { text: "Everything in Company License", checked: true }), _jsx(PricingBulletPoint, { text: "Custom terms, billing and pricing", checked: true }), _jsx(PricingBulletPoint, { text: "Compliance forms", checked: true }), _jsx(PricingBulletPoint, { text: "Prioritized feature requests", checked: true }), _jsx(PricingBulletPoint, { text: "Private support channel", checked: true }), _jsx(PricingBulletPoint, { text: "Monthly consulting session", checked: true }), _jsx("div", { style: { height: 30 } }), _jsx("div", { className: 'flex flex-row justify-end', children: _jsxs("div", { style: {
33
+ return (_jsxs(Container, { children: [_jsx(Audience, { children: "For advanced needs" }), _jsx(Title, { children: "Enterprise License" }), _jsx(PricingBulletPoint, { text: "Everything in Company License", checked: true }), _jsx(PricingBulletPoint, { text: "Custom terms, billing and pricing", checked: true }), _jsx(PricingBulletPoint, { text: "Compliance forms", checked: true }), _jsx(PricingBulletPoint, { text: "Prioritized feature requests", checked: true }), _jsx(PricingBulletPoint, { text: "Private Slack or Discord", checked: true }), _jsx(PricingBulletPoint, { text: "Monthly consulting session", checked: true }), _jsx("div", { style: { height: 30 } }), _jsx("div", { className: 'flex flex-row justify-end', children: _jsxs("div", { style: {
34
34
  ...textUnitWrapper,
35
35
  alignItems: 'flex-end',
36
36
  }, children: [_jsx(PriceTag, { children: _jsx("a", { className: 'cursor-pointer no-underline text-inherit hover:text-brand', target: '_blank', href: "https://www.remotion.pro/contact", children: "Contact us" }) }), _jsx("div", { className: 'text-[var(--subtitle)] fontbrand text-sm', children: "Starting at $500 per month" })] }) })] }));
@@ -1645,7 +1645,7 @@ var EnterpriseLicense = () => {
1645
1645
  checked: true
1646
1646
  }),
1647
1647
  /* @__PURE__ */ jsx4(PricingBulletPoint, {
1648
- text: "Private support channel",
1648
+ text: "Private Slack or Discord",
1649
1649
  checked: true
1650
1650
  }),
1651
1651
  /* @__PURE__ */ jsx4(PricingBulletPoint, {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remotion/promo-pages",
3
- "version": "4.0.317",
3
+ "version": "4.0.319",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -10,14 +10,14 @@
10
10
  "polished": "4.3.1",
11
11
  "zod": "3.22.3",
12
12
  "bun-plugin-tailwind": "0.0.15",
13
- "@remotion/lambda": "4.0.317",
14
- "@remotion/lottie": "4.0.317",
15
- "@remotion/player": "4.0.317",
16
- "@remotion/animated-emoji": "4.0.317",
17
- "create-video": "4.0.317",
18
- "remotion": "4.0.317",
19
- "@remotion/shapes": "4.0.317",
20
- "@remotion/paths": "4.0.317"
13
+ "@remotion/animated-emoji": "4.0.319",
14
+ "@remotion/shapes": "4.0.319",
15
+ "@remotion/player": "4.0.319",
16
+ "create-video": "4.0.319",
17
+ "remotion": "4.0.319",
18
+ "@remotion/paths": "4.0.319",
19
+ "@remotion/lambda": "4.0.319",
20
+ "@remotion/lottie": "4.0.319"
21
21
  },
22
22
  "devDependencies": {
23
23
  "@eslint/eslintrc": "3.1.0",
@@ -34,7 +34,7 @@
34
34
  "tailwind-merge": "2.5.2",
35
35
  "bun-plugin-tailwind": "0.0.13",
36
36
  "clsx": "2.1.1",
37
- "@remotion/eslint-config-internal": "4.0.317"
37
+ "@remotion/eslint-config-internal": "4.0.319"
38
38
  },
39
39
  "repository": {
40
40
  "url": "https://github.com/remotion-dev/remotion/tree/main/packages/promo-pages"
@@ -103,7 +103,7 @@ export const EnterpriseLicense: React.FC = () => {
103
103
  <PricingBulletPoint text="Custom terms, billing and pricing" checked />
104
104
  <PricingBulletPoint text="Compliance forms" checked />
105
105
  <PricingBulletPoint text="Prioritized feature requests" checked />
106
- <PricingBulletPoint text="Private support channel" checked />
106
+ <PricingBulletPoint text="Private Slack or Discord" checked />
107
107
  <PricingBulletPoint text="Monthly consulting session" checked />
108
108
  <div style={{height: 30}} />
109
109
  <div className={'flex flex-row justify-end'}>