@remotion/promo-pages 4.0.314 → 4.0.317

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 (50) hide show
  1. package/.turbo/turbo-make.log +2 -2
  2. package/dist/Homepage.js +11958 -12155
  3. package/dist/components/Homepage.js +4 -4
  4. package/dist/components/homepage/BackgroundAnimation.js +1 -1
  5. package/dist/components/homepage/CommunityStats.js +1 -1
  6. package/dist/components/homepage/CommunityStatsItems.js +1 -1
  7. package/dist/components/homepage/Counter.d.ts +1 -0
  8. package/dist/components/homepage/Counter.js +15 -7
  9. package/dist/components/homepage/Demo/DisplayedEmoji.js +17 -3
  10. package/dist/components/homepage/FreePricing.js +20 -25
  11. package/dist/components/homepage/GitHubButton.js +1 -1
  12. package/dist/components/homepage/IconForTemplate.js +4 -0
  13. package/dist/components/homepage/IfYouKnowReact.js +5 -2
  14. package/dist/components/homepage/MoreVideoPowerSection.d.ts +2 -0
  15. package/dist/components/homepage/MoreVideoPowerSection.js +16 -0
  16. package/dist/components/homepage/NewsletterButton.js +3 -2
  17. package/dist/components/homepage/ParameterizeAndEdit.d.ts +2 -0
  18. package/dist/components/homepage/ParameterizeAndEdit.js +22 -0
  19. package/dist/components/homepage/RealMp4Videos.js +10 -1
  20. package/dist/components/homepage/VideoAppsShowcase.js +6 -3
  21. package/dist/components/homepage/VideoAppsTitle.d.ts +0 -1
  22. package/dist/components/homepage/VideoAppsTitle.js +1 -4
  23. package/dist/components/icons/recorder.d.ts +3 -0
  24. package/dist/components/icons/recorder.js +4 -0
  25. package/dist/homepage/Pricing.js +131 -90
  26. package/dist/tailwind.css +115 -55
  27. package/package.json +10 -10
  28. package/public/img/editing-safari.mp4 +0 -0
  29. package/public/img/editing-vp9-chrome.webm +0 -0
  30. package/public/img/media-parser.png +0 -0
  31. package/public/img/recorder.png +0 -0
  32. package/public/img/webcodecs.png +0 -0
  33. package/src/components/Homepage.tsx +12 -12
  34. package/src/components/homepage/CommunityStats.tsx +1 -1
  35. package/src/components/homepage/Counter.tsx +17 -7
  36. package/src/components/homepage/Demo/DisplayedEmoji.tsx +22 -4
  37. package/src/components/homepage/FreePricing.tsx +88 -65
  38. package/src/components/homepage/IconForTemplate.tsx +5 -0
  39. package/src/components/homepage/IfYouKnowReact.tsx +26 -14
  40. package/src/components/homepage/MoreVideoPowerSection.tsx +95 -0
  41. package/src/components/homepage/NewsletterButton.tsx +6 -5
  42. package/src/components/homepage/ParameterizeAndEdit.tsx +89 -0
  43. package/src/components/homepage/RealMp4Videos.tsx +55 -13
  44. package/src/components/homepage/VideoAppsShowcase.tsx +21 -10
  45. package/src/components/homepage/VideoAppsTitle.tsx +0 -13
  46. package/src/components/icons/recorder.tsx +23 -0
  47. package/dist/components/homepage/Editor.d.ts +0 -2
  48. package/dist/components/homepage/Editor.js +0 -37
  49. package/public/img/player-demo.mp4 +0 -0
  50. package/src/components/homepage/Editor.tsx +0 -67
@@ -1,3 +1,14 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __export = (target, all) => {
3
+ for (var name in all)
4
+ __defProp(target, name, {
5
+ get: all[name],
6
+ enumerable: true,
7
+ configurable: true,
8
+ set: (newValue) => all[name] = () => newValue
9
+ });
10
+ };
11
+ var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
1
12
  var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
2
13
  get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
3
14
  }) : x)(function(x) {
@@ -1384,32 +1395,39 @@ var buttonContainer = {
1384
1395
  var Counter = ({
1385
1396
  count,
1386
1397
  setCount,
1387
- minCount = 0
1398
+ minCount = 0,
1399
+ step = 1
1388
1400
  }) => {
1389
1401
  const decrement = () => {
1390
1402
  if (count > minCount) {
1391
- setCount(count - 1);
1403
+ setCount(Math.max(minCount, count - step));
1392
1404
  }
1393
1405
  };
1394
1406
  const increment = () => {
1395
- setCount(count + 1);
1407
+ setCount(count + step);
1396
1408
  };
1397
1409
  return /* @__PURE__ */ jsxs("div", {
1398
1410
  style: container,
1399
- className: cn("border-effect w-[110px] text-text"),
1411
+ className: cn("border-effect w-[140px] text-text"),
1400
1412
  children: [
1401
1413
  /* @__PURE__ */ jsx("input", {
1402
- className: "fontbrand text-2xl font-medium min-w-[60px] border-0 text-end bg-transparent outline-0 text-text",
1414
+ className: "fontbrand text-2xl font-medium min-w-[80px] border-0 text-end bg-transparent outline-0 text-text",
1403
1415
  type: "number",
1404
1416
  onClick: (e) => e.currentTarget.select(),
1405
1417
  value: count,
1406
1418
  onChange: (e) => {
1407
1419
  if (e.target.value.trim() === "") {
1408
- setCount(1);
1420
+ setCount(step === 1 ? 1 : minCount);
1409
1421
  return;
1410
1422
  }
1411
- const max = Math.max(parseInt(e.target.value, 10), 1);
1412
- setCount(max);
1423
+ const inputValue = parseInt(e.target.value, 10);
1424
+ const validValue = Math.max(inputValue, minCount);
1425
+ if (step > 1) {
1426
+ const roundedValue = Math.round(validValue / step) * step;
1427
+ setCount(Math.max(roundedValue, minCount));
1428
+ } else {
1429
+ setCount(validValue);
1430
+ }
1413
1431
  }
1414
1432
  }),
1415
1433
  /* @__PURE__ */ jsxs("div", {
@@ -1565,7 +1583,7 @@ var PriceTag = ({ children }) => {
1565
1583
  };
1566
1584
  var SmallPriceTag = ({ children }) => {
1567
1585
  return /* @__PURE__ */ jsx4("div", {
1568
- className: "fontbrand text-2xl font-medium w-auto min-w-[80px] text-right shrink-0 ml-4",
1586
+ className: "fontbrand text-2xl font-medium w-auto min-w-[80px] text-right shrink-0",
1569
1587
  children
1570
1588
  });
1571
1589
  };
@@ -1666,10 +1684,14 @@ var EnterpriseLicense = () => {
1666
1684
  var SEAT_PRICE = 25;
1667
1685
  var RENDER_UNIT_PRICE = 10;
1668
1686
  var WEBCODECS_UNIT_PRICE = 10;
1687
+ var icon = {
1688
+ height: 16,
1689
+ marginLeft: 4
1690
+ };
1669
1691
  var CompanyPricing = () => {
1670
1692
  const [devSeatCount, setDevSeatCount] = React2.useState(1);
1671
- const [cloudUnitCount, setCloudUnitCount] = React2.useState(1);
1672
- const [webcodecsUnits, setWebcodecsUnits] = React2.useState(1);
1693
+ const [cloudRenders, setCloudRenders] = React2.useState(1000);
1694
+ const [creations, setCreations] = React2.useState(1000);
1673
1695
  const formatPrice = useCallback((price) => {
1674
1696
  const formatter = new Intl.NumberFormat("en-US", {
1675
1697
  style: "currency",
@@ -1679,23 +1701,11 @@ var CompanyPricing = () => {
1679
1701
  return formatter.format(price);
1680
1702
  }, []);
1681
1703
  const totalPrice = useMemo(() => {
1682
- return Math.max(100, devSeatCount * SEAT_PRICE + cloudUnitCount * RENDER_UNIT_PRICE + webcodecsUnits * WEBCODECS_UNIT_PRICE);
1683
- }, [cloudUnitCount, devSeatCount, webcodecsUnits]);
1704
+ return Math.max(100, devSeatCount * SEAT_PRICE + cloudRenders / 1000 * RENDER_UNIT_PRICE + creations / 1000 * WEBCODECS_UNIT_PRICE);
1705
+ }, [cloudRenders, devSeatCount, creations]);
1684
1706
  const totalPriceString = useMemo(() => {
1685
1707
  return formatPrice(totalPrice);
1686
1708
  }, [formatPrice, totalPrice]);
1687
- const rendersPerMonth = useMemo(() => {
1688
- const formatter = new Intl.NumberFormat("en-US", {
1689
- maximumFractionDigits: 0
1690
- });
1691
- return formatter.format(cloudUnitCount * 1000);
1692
- }, [cloudUnitCount]);
1693
- const conversionsPerMonth = useMemo(() => {
1694
- const formatter = new Intl.NumberFormat("en-US", {
1695
- maximumFractionDigits: 0
1696
- });
1697
- return formatter.format(webcodecsUnits * 1000);
1698
- }, [webcodecsUnits]);
1699
1709
  return /* @__PURE__ */ jsxs4(Container, {
1700
1710
  children: [
1701
1711
  /* @__PURE__ */ jsx4(Audience, {
@@ -1727,7 +1737,7 @@ var CompanyPricing = () => {
1727
1737
  style: { height: 30 }
1728
1738
  }),
1729
1739
  /* @__PURE__ */ jsxs4("div", {
1730
- className: "flex flex-row items-center",
1740
+ className: "flex flex-col md:flex-row md:items-center",
1731
1741
  children: [
1732
1742
  /* @__PURE__ */ jsxs4("div", {
1733
1743
  style: textUnitWrapper,
@@ -1743,19 +1753,25 @@ var CompanyPricing = () => {
1743
1753
  ]
1744
1754
  }),
1745
1755
  /* @__PURE__ */ jsx4("div", {
1746
- style: { flex: 3 }
1747
- }),
1748
- /* @__PURE__ */ jsx4(Counter, {
1749
- count: devSeatCount,
1750
- setCount: setDevSeatCount,
1751
- minCount: 1
1756
+ style: { flex: 3 },
1757
+ className: "hidden md:block"
1752
1758
  }),
1753
- /* @__PURE__ */ jsxs4(SmallPriceTag, {
1759
+ /* @__PURE__ */ jsxs4("div", {
1760
+ className: "flex flex-row items-center justify-between mt-3 md:mt-0",
1754
1761
  children: [
1755
- "$",
1756
- new Intl.NumberFormat("en-US", {
1757
- maximumFractionDigits: 0
1758
- }).format(SEAT_PRICE * devSeatCount)
1762
+ /* @__PURE__ */ jsx4(Counter, {
1763
+ count: devSeatCount,
1764
+ setCount: setDevSeatCount,
1765
+ minCount: 1
1766
+ }),
1767
+ /* @__PURE__ */ jsxs4(SmallPriceTag, {
1768
+ children: [
1769
+ "$",
1770
+ new Intl.NumberFormat("en-US", {
1771
+ maximumFractionDigits: 0
1772
+ }).format(SEAT_PRICE * devSeatCount)
1773
+ ]
1774
+ })
1759
1775
  ]
1760
1776
  })
1761
1777
  ]
@@ -1764,46 +1780,46 @@ var CompanyPricing = () => {
1764
1780
  style: { height: 14 }
1765
1781
  }),
1766
1782
  /* @__PURE__ */ jsxs4("div", {
1767
- className: "flex flex-row items-center",
1783
+ className: "flex flex-col md:flex-row md:items-center",
1768
1784
  children: [
1769
1785
  /* @__PURE__ */ jsxs4("div", {
1770
1786
  style: textUnitWrapper,
1771
1787
  children: [
1772
1788
  /* @__PURE__ */ jsx4("div", {
1773
1789
  className: "fontbrand font-bold text-lg",
1774
- children: "Cloud Rendering Units"
1790
+ children: "Server renders"
1775
1791
  }),
1776
- /* @__PURE__ */ jsxs4("div", {
1792
+ /* @__PURE__ */ jsx4("div", {
1777
1793
  className: "text-muted fontbrand text-sm",
1778
- children: [
1779
- "Allows for ",
1780
- rendersPerMonth,
1781
- " ",
1782
- /* @__PURE__ */ jsx4("a", {
1783
- href: "https://www.remotion.dev/docs/compare-ssr",
1784
- className: "underline underline-offset-4 text-inherit",
1785
- children: "self-hosted renders per month"
1786
- }),
1787
- " ",
1788
- "each"
1789
- ]
1794
+ children: /* @__PURE__ */ jsx4("a", {
1795
+ href: "https://www.remotion.dev/docs/compare-ssr",
1796
+ className: "underline underline-offset-4 text-inherit",
1797
+ children: "Renders per month (self-hosted)"
1798
+ })
1790
1799
  })
1791
1800
  ]
1792
1801
  }),
1793
1802
  /* @__PURE__ */ jsx4("div", {
1794
- style: { flex: 3 }
1795
- }),
1796
- /* @__PURE__ */ jsx4(Counter, {
1797
- count: cloudUnitCount,
1798
- setCount: setCloudUnitCount,
1799
- minCount: 0
1803
+ style: { flex: 3 },
1804
+ className: "hidden md:block"
1800
1805
  }),
1801
- /* @__PURE__ */ jsxs4(SmallPriceTag, {
1806
+ /* @__PURE__ */ jsxs4("div", {
1807
+ className: "flex flex-row items-center justify-between mt-3 md:mt-0",
1802
1808
  children: [
1803
- "$",
1804
- new Intl.NumberFormat("en-US", {
1805
- maximumFractionDigits: 0
1806
- }).format(RENDER_UNIT_PRICE * cloudUnitCount)
1809
+ /* @__PURE__ */ jsx4(Counter, {
1810
+ count: cloudRenders,
1811
+ setCount: setCloudRenders,
1812
+ minCount: 0,
1813
+ step: 1000
1814
+ }),
1815
+ /* @__PURE__ */ jsxs4(SmallPriceTag, {
1816
+ children: [
1817
+ "$",
1818
+ new Intl.NumberFormat("en-US", {
1819
+ maximumFractionDigits: 0
1820
+ }).format(cloudRenders / 1000 * RENDER_UNIT_PRICE)
1821
+ ]
1822
+ })
1807
1823
  ]
1808
1824
  })
1809
1825
  ]
@@ -1812,47 +1828,46 @@ var CompanyPricing = () => {
1812
1828
  style: { height: 14 }
1813
1829
  }),
1814
1830
  /* @__PURE__ */ jsxs4("div", {
1815
- className: "flex flex-row items-center",
1831
+ className: "flex flex-col md:flex-row md:items-center",
1816
1832
  children: [
1817
1833
  /* @__PURE__ */ jsxs4("div", {
1818
1834
  style: textUnitWrapper,
1819
1835
  children: [
1820
1836
  /* @__PURE__ */ jsx4("div", {
1821
1837
  className: "fontbrand font-bold text-lg",
1822
- children: "WebCodecs Creation Units"
1838
+ children: "WebCodecs video creations"
1823
1839
  }),
1824
- /* @__PURE__ */ jsxs4("div", {
1840
+ /* @__PURE__ */ jsx4("div", {
1825
1841
  className: "text-muted fontbrand text-sm",
1826
- children: [
1827
- "Allows for",
1828
- " ",
1829
- /* @__PURE__ */ jsxs4("a", {
1830
- className: "underline underline-offset-4 text-inherit",
1831
- href: "https://remotion.dev/webcodecs",
1832
- children: [
1833
- conversionsPerMonth,
1834
- " client-side video creations",
1835
- " "
1836
- ]
1837
- })
1838
- ]
1842
+ children: /* @__PURE__ */ jsx4("a", {
1843
+ className: "underline underline-offset-4 text-inherit",
1844
+ href: "https://remotion.dev/webcodecs",
1845
+ children: "Client-side video creations per month"
1846
+ })
1839
1847
  })
1840
1848
  ]
1841
1849
  }),
1842
1850
  /* @__PURE__ */ jsx4("div", {
1843
- style: { flex: 3 }
1844
- }),
1845
- /* @__PURE__ */ jsx4(Counter, {
1846
- count: webcodecsUnits,
1847
- setCount: setWebcodecsUnits,
1848
- minCount: 0
1851
+ style: { flex: 3 },
1852
+ className: "hidden md:block"
1849
1853
  }),
1850
- /* @__PURE__ */ jsxs4(SmallPriceTag, {
1854
+ /* @__PURE__ */ jsxs4("div", {
1855
+ className: "flex flex-row items-center justify-between mt-3 md:mt-0",
1851
1856
  children: [
1852
- "$",
1853
- new Intl.NumberFormat("en-US", {
1854
- maximumFractionDigits: 0
1855
- }).format(RENDER_UNIT_PRICE * webcodecsUnits)
1857
+ /* @__PURE__ */ jsx4(Counter, {
1858
+ count: creations,
1859
+ setCount: setCreations,
1860
+ minCount: 0,
1861
+ step: 1000
1862
+ }),
1863
+ /* @__PURE__ */ jsxs4(SmallPriceTag, {
1864
+ children: [
1865
+ "$",
1866
+ new Intl.NumberFormat("en-US", {
1867
+ maximumFractionDigits: 0
1868
+ }).format(creations / 1000 * WEBCODECS_UNIT_PRICE)
1869
+ ]
1870
+ })
1856
1871
  ]
1857
1872
  })
1858
1873
  ]
@@ -1878,6 +1893,32 @@ var CompanyPricing = () => {
1878
1893
  })
1879
1894
  ]
1880
1895
  })
1896
+ }),
1897
+ /* @__PURE__ */ jsx4("div", {
1898
+ className: "flex flex-row justify-end mt-4",
1899
+ children: /* @__PURE__ */ jsx4("div", {
1900
+ style: {
1901
+ ...textUnitWrapper,
1902
+ alignItems: "flex-end"
1903
+ },
1904
+ children: /* @__PURE__ */ jsxs4("a", {
1905
+ href: "https://remotion.pro/dashboard",
1906
+ className: "font-brand text-brand flex flex-row items-center gap-1 no-underline",
1907
+ children: [
1908
+ "Buy now",
1909
+ " ",
1910
+ /* @__PURE__ */ jsx4("svg", {
1911
+ style: icon,
1912
+ xmlns: "http://www.w3.org/2000/svg",
1913
+ viewBox: "0 0 448 512",
1914
+ children: /* @__PURE__ */ jsx4("path", {
1915
+ fill: "currentColor",
1916
+ d: "M438.6 278.6l-160 160C272.4 444.9 264.2 448 256 448s-16.38-3.125-22.62-9.375c-12.5-12.5-12.5-32.75 0-45.25L338.8 288H32C14.33 288 .0016 273.7 .0016 256S14.33 224 32 224h306.8l-105.4-105.4c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0l160 160C451.1 245.9 451.1 266.1 438.6 278.6z"
1917
+ })
1918
+ })
1919
+ ]
1920
+ })
1921
+ })
1881
1922
  })
1882
1923
  ]
1883
1924
  });