@remotion/promo-pages 4.0.430 → 4.0.432

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 (304) hide show
  1. package/dist/Homepage.js +52617 -50097
  2. package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/Homepage.js +52617 -50097
  3. package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/design.js +410 -219
  4. package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/experts/experts-data.js +15 -0
  5. package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/experts.js +264 -74
  6. package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/homepage/Pricing.js +410 -219
  7. package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/prompts/PromptsGallery.js +410 -219
  8. package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/prompts/PromptsShow.js +410 -219
  9. package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/prompts/PromptsSubmit.js +410 -219
  10. package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/team.js +15 -0
  11. package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/template-modal-content.js +410 -219
  12. package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/templates.js +410 -219
  13. package/dist/design.js +410 -219
  14. package/dist/experts/experts-data.js +15 -0
  15. package/dist/experts.js +264 -74
  16. package/dist/homepage/Pricing.js +410 -219
  17. package/dist/prompts/PromptsGallery.js +410 -219
  18. package/dist/prompts/PromptsShow.js +410 -219
  19. package/dist/prompts/PromptsSubmit.js +410 -219
  20. package/dist/team.js +15 -0
  21. package/dist/template-modal-content.js +410 -219
  22. package/dist/templates.js +410 -219
  23. package/package.json +13 -13
  24. package/dist/Users/jonathanburger/remotion2/packages/promo-pages/dist/Homepage.css +0 -32
  25. package/dist/Users/jonathanburger/remotion2/packages/promo-pages/dist/Homepage.js +0 -63571
  26. package/dist/Users/jonathanburger/remotion2/packages/promo-pages/dist/design.js +0 -20053
  27. package/dist/Users/jonathanburger/remotion2/packages/promo-pages/dist/experts/experts-data.js +0 -689
  28. package/dist/Users/jonathanburger/remotion2/packages/promo-pages/dist/experts.js +0 -8378
  29. package/dist/Users/jonathanburger/remotion2/packages/promo-pages/dist/homepage/Pricing.js +0 -21502
  30. package/dist/Users/jonathanburger/remotion2/packages/promo-pages/dist/prompts/PromptsGallery.js +0 -19934
  31. package/dist/Users/jonathanburger/remotion2/packages/promo-pages/dist/prompts/PromptsShow.css +0 -2578
  32. package/dist/Users/jonathanburger/remotion2/packages/promo-pages/dist/prompts/PromptsShow.js +0 -39755
  33. package/dist/Users/jonathanburger/remotion2/packages/promo-pages/dist/prompts/PromptsSubmit.css +0 -2578
  34. package/dist/Users/jonathanburger/remotion2/packages/promo-pages/dist/prompts/PromptsSubmit.js +0 -39846
  35. package/dist/Users/jonathanburger/remotion2/packages/promo-pages/dist/prompts/prompt-types.js +0 -0
  36. package/dist/Users/jonathanburger/remotion2/packages/promo-pages/dist/team.js +0 -292
  37. package/dist/Users/jonathanburger/remotion2/packages/promo-pages/dist/template-modal-content.css +0 -32
  38. package/dist/Users/jonathanburger/remotion2/packages/promo-pages/dist/template-modal-content.js +0 -21671
  39. package/dist/Users/jonathanburger/remotion2/packages/promo-pages/dist/templates.js +0 -21014
  40. package/dist/cn.d.ts +0 -2
  41. package/dist/cn.js +0 -5
  42. package/dist/components/3DEngine/ButtonDemo.d.ts +0 -2
  43. package/dist/components/3DEngine/ButtonDemo.js +0 -43
  44. package/dist/components/3DEngine/Faces.d.ts +0 -5
  45. package/dist/components/3DEngine/Faces.js +0 -7
  46. package/dist/components/3DEngine/Outer.d.ts +0 -8
  47. package/dist/components/3DEngine/Outer.js +0 -56
  48. package/dist/components/3DEngine/Switch.d.ts +0 -4
  49. package/dist/components/3DEngine/Switch.js +0 -4
  50. package/dist/components/3DEngine/get-child-node-from.d.ts +0 -1
  51. package/dist/components/3DEngine/get-child-node-from.js +0 -14
  52. package/dist/components/3DEngine/hover-transforms.d.ts +0 -9
  53. package/dist/components/3DEngine/hover-transforms.js +0 -177
  54. package/dist/components/BackButton.d.ts +0 -6
  55. package/dist/components/BackButton.js +0 -9
  56. package/dist/components/CommandCopyButton.d.ts +0 -5
  57. package/dist/components/CommandCopyButton.js +0 -4
  58. package/dist/components/Homepage.d.ts +0 -6
  59. package/dist/components/Homepage.js +0 -20
  60. package/dist/components/ManageTeamMembers.d.ts +0 -2
  61. package/dist/components/ManageTeamMembers.js +0 -42
  62. package/dist/components/Spinner.d.ts +0 -3
  63. package/dist/components/Spinner.js +0 -4
  64. package/dist/components/TeamPicture.d.ts +0 -1
  65. package/dist/components/TeamPicture.js +0 -4
  66. package/dist/components/design.d.ts +0 -1
  67. package/dist/components/design.js +0 -33
  68. package/dist/components/experts/ExpertsPage.d.ts +0 -11
  69. package/dist/components/experts/ExpertsPage.js +0 -50
  70. package/dist/components/experts/experts-data.d.ts +0 -15
  71. package/dist/components/experts/experts-data.js +0 -263
  72. package/dist/components/experts/experts-icons.d.ts +0 -7
  73. package/dist/components/experts/experts-icons.js +0 -36
  74. package/dist/components/experts.d.ts +0 -3
  75. package/dist/components/experts.js +0 -2
  76. package/dist/components/homepage/BackgroundAnimation.d.ts +0 -2
  77. package/dist/components/homepage/BackgroundAnimation.js +0 -66
  78. package/dist/components/homepage/ChooseTemplate.d.ts +0 -2
  79. package/dist/components/homepage/ChooseTemplate.js +0 -25
  80. package/dist/components/homepage/CommunityStats.d.ts +0 -3
  81. package/dist/components/homepage/CommunityStats.js +0 -6
  82. package/dist/components/homepage/CommunityStatsItems.d.ts +0 -7
  83. package/dist/components/homepage/CommunityStatsItems.js +0 -58
  84. package/dist/components/homepage/Demo/Card.d.ts +0 -15
  85. package/dist/components/homepage/Demo/Card.js +0 -174
  86. package/dist/components/homepage/Demo/Cards.d.ts +0 -15
  87. package/dist/components/homepage/Demo/Cards.js +0 -57
  88. package/dist/components/homepage/Demo/Comp.d.ts +0 -38
  89. package/dist/components/homepage/Demo/Comp.js +0 -72
  90. package/dist/components/homepage/Demo/CurrentCountry.d.ts +0 -9
  91. package/dist/components/homepage/Demo/CurrentCountry.js +0 -48
  92. package/dist/components/homepage/Demo/DemoError.d.ts +0 -2
  93. package/dist/components/homepage/Demo/DemoError.js +0 -10
  94. package/dist/components/homepage/Demo/DemoErrorIcon.d.ts +0 -2
  95. package/dist/components/homepage/Demo/DemoErrorIcon.js +0 -16
  96. package/dist/components/homepage/Demo/DemoRender.d.ts +0 -33
  97. package/dist/components/homepage/Demo/DemoRender.js +0 -107
  98. package/dist/components/homepage/Demo/DigitWheel.d.ts +0 -9
  99. package/dist/components/homepage/Demo/DigitWheel.js +0 -94
  100. package/dist/components/homepage/Demo/DisplayedEmoji.d.ts +0 -5
  101. package/dist/components/homepage/Demo/DisplayedEmoji.js +0 -59
  102. package/dist/components/homepage/Demo/DoneCheckmark.d.ts +0 -2
  103. package/dist/components/homepage/Demo/DoneCheckmark.js +0 -20
  104. package/dist/components/homepage/Demo/DownloadNudge.d.ts +0 -2
  105. package/dist/components/homepage/Demo/DownloadNudge.js +0 -27
  106. package/dist/components/homepage/Demo/DragAndDropNudge.d.ts +0 -3
  107. package/dist/components/homepage/Demo/DragAndDropNudge.js +0 -26
  108. package/dist/components/homepage/Demo/EmojiCard.d.ts +0 -10
  109. package/dist/components/homepage/Demo/EmojiCard.js +0 -120
  110. package/dist/components/homepage/Demo/Minus.d.ts +0 -5
  111. package/dist/components/homepage/Demo/Minus.js +0 -11
  112. package/dist/components/homepage/Demo/PlayPauseButton.d.ts +0 -5
  113. package/dist/components/homepage/Demo/PlayPauseButton.js +0 -47
  114. package/dist/components/homepage/Demo/PlayerControls.d.ts +0 -8
  115. package/dist/components/homepage/Demo/PlayerControls.js +0 -15
  116. package/dist/components/homepage/Demo/PlayerSeekBar.d.ts +0 -11
  117. package/dist/components/homepage/Demo/PlayerSeekBar.js +0 -216
  118. package/dist/components/homepage/Demo/PlayerVolume.d.ts +0 -5
  119. package/dist/components/homepage/Demo/PlayerVolume.js +0 -53
  120. package/dist/components/homepage/Demo/Progress.d.ts +0 -4
  121. package/dist/components/homepage/Demo/Progress.js +0 -14
  122. package/dist/components/homepage/Demo/Spinner.d.ts +0 -5
  123. package/dist/components/homepage/Demo/Spinner.js +0 -37
  124. package/dist/components/homepage/Demo/Switcher.d.ts +0 -6
  125. package/dist/components/homepage/Demo/Switcher.js +0 -25
  126. package/dist/components/homepage/Demo/Temperature.d.ts +0 -6
  127. package/dist/components/homepage/Demo/Temperature.js +0 -21
  128. package/dist/components/homepage/Demo/TemperatureNumber.d.ts +0 -5
  129. package/dist/components/homepage/Demo/TemperatureNumber.js +0 -36
  130. package/dist/components/homepage/Demo/ThemeNudge.d.ts +0 -3
  131. package/dist/components/homepage/Demo/ThemeNudge.js +0 -35
  132. package/dist/components/homepage/Demo/TimeDisplay.d.ts +0 -6
  133. package/dist/components/homepage/Demo/TimeDisplay.js +0 -27
  134. package/dist/components/homepage/Demo/TrendingRepos.d.ts +0 -6
  135. package/dist/components/homepage/Demo/TrendingRepos.js +0 -65
  136. package/dist/components/homepage/Demo/icons.d.ts +0 -10
  137. package/dist/components/homepage/Demo/icons.js +0 -22
  138. package/dist/components/homepage/Demo/index.d.ts +0 -2
  139. package/dist/components/homepage/Demo/index.js +0 -95
  140. package/dist/components/homepage/Demo/math.d.ts +0 -10
  141. package/dist/components/homepage/Demo/math.js +0 -29
  142. package/dist/components/homepage/Demo/types.d.ts +0 -6
  143. package/dist/components/homepage/Demo/types.js +0 -0
  144. package/dist/components/homepage/EditorStarterSection.d.ts +0 -3
  145. package/dist/components/homepage/EditorStarterSection.js +0 -8
  146. package/dist/components/homepage/EvaluateRemotion.d.ts +0 -3
  147. package/dist/components/homepage/EvaluateRemotion.js +0 -21
  148. package/dist/components/homepage/FreePricing.d.ts +0 -4
  149. package/dist/components/homepage/FreePricing.js +0 -134
  150. package/dist/components/homepage/GetStartedStrip.d.ts +0 -2
  151. package/dist/components/homepage/GetStartedStrip.js +0 -14
  152. package/dist/components/homepage/GitHubButton.d.ts +0 -2
  153. package/dist/components/homepage/GitHubButton.js +0 -7
  154. package/dist/components/homepage/IconForTemplate.d.ts +0 -6
  155. package/dist/components/homepage/IconForTemplate.js +0 -101
  156. package/dist/components/homepage/IfYouKnowReact.d.ts +0 -3
  157. package/dist/components/homepage/IfYouKnowReact.js +0 -23
  158. package/dist/components/homepage/InfoTooltip.d.ts +0 -6
  159. package/dist/components/homepage/InfoTooltip.js +0 -6
  160. package/dist/components/homepage/MoreTemplatesButton.d.ts +0 -2
  161. package/dist/components/homepage/MoreTemplatesButton.js +0 -11
  162. package/dist/components/homepage/MuxVideo.d.ts +0 -7
  163. package/dist/components/homepage/MuxVideo.js +0 -45
  164. package/dist/components/homepage/NewsletterButton.d.ts +0 -2
  165. package/dist/components/homepage/NewsletterButton.js +0 -38
  166. package/dist/components/homepage/ParameterizeAndEdit.d.ts +0 -2
  167. package/dist/components/homepage/ParameterizeAndEdit.js +0 -22
  168. package/dist/components/homepage/Pricing.d.ts +0 -2
  169. package/dist/components/homepage/Pricing.js +0 -15
  170. package/dist/components/homepage/PricingBulletPoint.d.ts +0 -6
  171. package/dist/components/homepage/PricingBulletPoint.js +0 -19
  172. package/dist/components/homepage/RealMp4Videos.d.ts +0 -2
  173. package/dist/components/homepage/RealMp4Videos.js +0 -41
  174. package/dist/components/homepage/Spacer.d.ts +0 -2
  175. package/dist/components/homepage/Spacer.js +0 -4
  176. package/dist/components/homepage/TemplateIcon.d.ts +0 -5
  177. package/dist/components/homepage/TemplateIcon.js +0 -24
  178. package/dist/components/homepage/TextInput.d.ts +0 -7
  179. package/dist/components/homepage/TextInput.js +0 -34
  180. package/dist/components/homepage/TrustedByBanner.d.ts +0 -2
  181. package/dist/components/homepage/TrustedByBanner.js +0 -27
  182. package/dist/components/homepage/VideoApps.d.ts +0 -4
  183. package/dist/components/homepage/VideoApps.js +0 -72
  184. package/dist/components/homepage/VideoAppsShowcase.d.ts +0 -3
  185. package/dist/components/homepage/VideoAppsShowcase.js +0 -139
  186. package/dist/components/homepage/VideoAppsTitle.d.ts +0 -4
  187. package/dist/components/homepage/VideoAppsTitle.js +0 -4
  188. package/dist/components/homepage/VideoPlayerWithControls.d.ts +0 -20
  189. package/dist/components/homepage/VideoPlayerWithControls.js +0 -105
  190. package/dist/components/homepage/WriteInReact.d.ts +0 -2
  191. package/dist/components/homepage/WriteInReact.js +0 -10
  192. package/dist/components/homepage/YouAreHere.d.ts +0 -2
  193. package/dist/components/homepage/YouAreHere.js +0 -23
  194. package/dist/components/homepage/layout/Button.d.ts +0 -22
  195. package/dist/components/homepage/layout/Button.js +0 -30
  196. package/dist/components/homepage/layout/colors.d.ts +0 -13
  197. package/dist/components/homepage/layout/colors.js +0 -14
  198. package/dist/components/homepage/layout/use-color-mode.d.ts +0 -21
  199. package/dist/components/homepage/layout/use-color-mode.js +0 -22
  200. package/dist/components/homepage/layout/use-el-size.d.ts +0 -5
  201. package/dist/components/homepage/layout/use-el-size.js +0 -40
  202. package/dist/components/homepage/layout/use-mobile-layout.d.ts +0 -1
  203. package/dist/components/homepage/layout/use-mobile-layout.js +0 -6
  204. package/dist/components/icons/blank.d.ts +0 -3
  205. package/dist/components/icons/blank.js +0 -4
  206. package/dist/components/icons/brain.d.ts +0 -2
  207. package/dist/components/icons/brain.js +0 -4
  208. package/dist/components/icons/clone.d.ts +0 -2
  209. package/dist/components/icons/clone.js +0 -2
  210. package/dist/components/icons/code-hike.d.ts +0 -3
  211. package/dist/components/icons/code-hike.js +0 -4
  212. package/dist/components/icons/cubes.d.ts +0 -3
  213. package/dist/components/icons/cubes.js +0 -4
  214. package/dist/components/icons/editor.d.ts +0 -3
  215. package/dist/components/icons/editor.js +0 -4
  216. package/dist/components/icons/js.d.ts +0 -3
  217. package/dist/components/icons/js.js +0 -4
  218. package/dist/components/icons/music.d.ts +0 -2
  219. package/dist/components/icons/music.js +0 -4
  220. package/dist/components/icons/next.d.ts +0 -4
  221. package/dist/components/icons/next.js +0 -4
  222. package/dist/components/icons/overlay.d.ts +0 -3
  223. package/dist/components/icons/overlay.js +0 -4
  224. package/dist/components/icons/prompt-to-video.d.ts +0 -2
  225. package/dist/components/icons/prompt-to-video.js +0 -4
  226. package/dist/components/icons/recorder.d.ts +0 -3
  227. package/dist/components/icons/recorder.js +0 -4
  228. package/dist/components/icons/remix.d.ts +0 -3
  229. package/dist/components/icons/remix.js +0 -4
  230. package/dist/components/icons/render-server.d.ts +0 -3
  231. package/dist/components/icons/render-server.js +0 -4
  232. package/dist/components/icons/skia.d.ts +0 -3
  233. package/dist/components/icons/skia.js +0 -4
  234. package/dist/components/icons/stargazer.d.ts +0 -3
  235. package/dist/components/icons/stargazer.js +0 -4
  236. package/dist/components/icons/still.d.ts +0 -3
  237. package/dist/components/icons/still.js +0 -4
  238. package/dist/components/icons/tailwind.d.ts +0 -3
  239. package/dist/components/icons/tailwind.js +0 -4
  240. package/dist/components/icons/tiktok.d.ts +0 -3
  241. package/dist/components/icons/tiktok.js +0 -4
  242. package/dist/components/icons/timeline.d.ts +0 -3
  243. package/dist/components/icons/timeline.js +0 -4
  244. package/dist/components/icons/ts.d.ts +0 -3
  245. package/dist/components/icons/ts.js +0 -4
  246. package/dist/components/icons/tts.d.ts +0 -3
  247. package/dist/components/icons/tts.js +0 -4
  248. package/dist/components/icons/undo.d.ts +0 -3
  249. package/dist/components/icons/undo.js +0 -2
  250. package/dist/components/icons/vercel.d.ts +0 -4
  251. package/dist/components/icons/vercel.js +0 -4
  252. package/dist/components/icons/waveform.d.ts +0 -3
  253. package/dist/components/icons/waveform.js +0 -4
  254. package/dist/components/prompts/CardLikeButton.d.ts +0 -5
  255. package/dist/components/prompts/CardLikeButton.js +0 -49
  256. package/dist/components/prompts/ClipboardIcon.d.ts +0 -5
  257. package/dist/components/prompts/ClipboardIcon.js +0 -4
  258. package/dist/components/prompts/CopyPromptButton.d.ts +0 -4
  259. package/dist/components/prompts/CopyPromptButton.js +0 -13
  260. package/dist/components/prompts/LikeButton.d.ts +0 -5
  261. package/dist/components/prompts/LikeButton.js +0 -49
  262. package/dist/components/prompts/MuxPlayer.d.ts +0 -8
  263. package/dist/components/prompts/MuxPlayer.js +0 -21
  264. package/dist/components/prompts/NewBackButton.d.ts +0 -5
  265. package/dist/components/prompts/NewBackButton.js +0 -8
  266. package/dist/components/prompts/Page.d.ts +0 -8
  267. package/dist/components/prompts/Page.js +0 -7
  268. package/dist/components/prompts/PromptsGallery.d.ts +0 -7
  269. package/dist/components/prompts/PromptsGallery.js +0 -60
  270. package/dist/components/prompts/PromptsShow.d.ts +0 -5
  271. package/dist/components/prompts/PromptsShow.js +0 -17
  272. package/dist/components/prompts/PromptsSubmit.d.ts +0 -2
  273. package/dist/components/prompts/PromptsSubmit.js +0 -173
  274. package/dist/components/prompts/config.d.ts +0 -1
  275. package/dist/components/prompts/config.js +0 -1
  276. package/dist/components/prompts/prompt-helpers.d.ts +0 -8
  277. package/dist/components/prompts/prompt-helpers.js +0 -76
  278. package/dist/components/prompts/prompt-types.d.ts +0 -14
  279. package/dist/components/prompts/prompt-types.js +0 -0
  280. package/dist/components/prompts/use-heart-animation.d.ts +0 -5
  281. package/dist/components/prompts/use-heart-animation.js +0 -29
  282. package/dist/components/team/TeamCards.d.ts +0 -6
  283. package/dist/components/team/TeamCards.js +0 -19
  284. package/dist/components/team/TitleTeamCards.d.ts +0 -2
  285. package/dist/components/team/TitleTeamCards.js +0 -6
  286. package/dist/components/team.d.ts +0 -3
  287. package/dist/components/team.js +0 -14
  288. package/dist/components/template-modal-content.d.ts +0 -5
  289. package/dist/components/template-modal-content.js +0 -73
  290. package/dist/components/templates.d.ts +0 -2
  291. package/dist/components/templates.js +0 -27
  292. package/dist/helpers/mobile-layout.d.ts +0 -1
  293. package/dist/helpers/mobile-layout.js +0 -6
  294. package/dist/helpers/use-el-size.d.ts +0 -5
  295. package/dist/helpers/use-el-size.js +0 -40
  296. package/dist/main.d.ts +0 -1
  297. package/dist/main.js +0 -6
  298. package/dist/prompts-show.d.ts +0 -1
  299. package/dist/prompts-show.js +0 -20
  300. package/dist/prompts-submit.d.ts +0 -1
  301. package/dist/prompts-submit.js +0 -6
  302. package/dist/prompts.d.ts +0 -1
  303. package/dist/prompts.js +0 -6
  304. package/dist/team.d.ts +0 -1
@@ -1,174 +0,0 @@
1
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useCallback, useRef } from 'react';
3
- import { AbsoluteFill, spring } from 'remotion';
4
- import { cardHeight, cardWidth, getIndexFromPosition, getInitialPositions, getPositionForIndex, } from './math';
5
- import { Switcher } from './Switcher';
6
- const arePositionsEqual = (a, b) => {
7
- return a.every((pos, i) => {
8
- return pos.x === b[i].x && pos.y === b[i].y;
9
- });
10
- };
11
- export const Card = ({ positions, shouldBePositions, index, refsToUse, onUpdate, content, indices, theme, withSwitcher, onClickLeft, onClickRight, }) => {
12
- const refToUse = refsToUse[index];
13
- const stopPrevious = useRef([]);
14
- // eslint-disable-next-line react-hooks/exhaustive-deps
15
- let newIndices = [...indices];
16
- const applyPositions = useCallback((except) => {
17
- let stopped = false;
18
- stopPrevious.current.forEach((s) => {
19
- s();
20
- });
21
- stopPrevious.current.push(() => {
22
- stopped = true;
23
- });
24
- positions.current.forEach((_, i) => {
25
- const shouldBe = shouldBePositions.current[i];
26
- const ref = refsToUse[i].current;
27
- if (!ref) {
28
- return;
29
- }
30
- if (except === null) {
31
- ref.style.pointerEvents = 'none';
32
- }
33
- if (i === except) {
34
- ref.style.left = getPositionForIndex(i).x + 'px';
35
- ref.style.top = getPositionForIndex(i).y + 'px';
36
- return;
37
- }
38
- let animationI = 1;
39
- const duration = 20;
40
- const releasePositionX = positions.current[i].x;
41
- const releasePositionY = positions.current[i].y;
42
- const finishAnimation = () => {
43
- refsToUse.forEach((r) => {
44
- r.current.style.zIndex = '1';
45
- r.current.style.scale = '1';
46
- r.current.style.opacity = '1';
47
- });
48
- if (i === 0) {
49
- setTimeout(() => {
50
- onUpdate([...newIndices]);
51
- }, 200);
52
- }
53
- };
54
- if (releasePositionX === shouldBe.x &&
55
- releasePositionY === shouldBe.y &&
56
- animationI === duration &&
57
- except === null) {
58
- finishAnimation();
59
- return;
60
- }
61
- const update = () => {
62
- if (stopped) {
63
- return;
64
- }
65
- const progress = spring({
66
- fps: 60,
67
- frame: animationI,
68
- config: {
69
- damping: 200,
70
- },
71
- durationInFrames: duration,
72
- durationRestThreshold: 0.001,
73
- });
74
- const newX = progress * (shouldBe.x - releasePositionX) + releasePositionX;
75
- const newY = progress * (shouldBe.y - releasePositionY) + releasePositionY;
76
- ref.style.left = `${newX}px`;
77
- ref.style.top = `${newY}px`;
78
- positions.current[i] = {
79
- x: newX,
80
- y: newY,
81
- };
82
- animationI++;
83
- if (animationI === duration && except === null) {
84
- finishAnimation();
85
- return;
86
- }
87
- requestAnimationFrame(update);
88
- };
89
- update();
90
- });
91
- }, [newIndices, onUpdate, positions, refsToUse, shouldBePositions]);
92
- const onPointerDown = useCallback((e) => {
93
- e.currentTarget.setPointerCapture(e.pointerId);
94
- const cardLeft = refToUse.current.offsetLeft;
95
- const cardTop = refToUse.current.offsetTop;
96
- const startX = e.clientX;
97
- const startY = e.clientY;
98
- if (e.button === 2) {
99
- return;
100
- }
101
- let translateX = 0;
102
- let translateY = 0;
103
- refToUse.current.style.scale = '1.05';
104
- refToUse.current.style.cursor = 'grabbing';
105
- const onMove = (evt) => {
106
- refsToUse.forEach((r) => {
107
- if (r !== refToUse) {
108
- r.current.style.opacity = '0';
109
- }
110
- });
111
- const scale = refToUse.current.getBoundingClientRect().width / cardWidth;
112
- translateX = (evt.clientX - startX) * (1 / scale);
113
- translateY = (evt.clientY - startY) * (1 / scale);
114
- const position = getIndexFromPosition(cardLeft + translateX, cardTop + translateY);
115
- if (position === undefined) {
116
- throw new Error('pos');
117
- }
118
- if (position === index) {
119
- if (!arePositionsEqual(getInitialPositions(), shouldBePositions.current)) {
120
- shouldBePositions.current = getInitialPositions();
121
- applyPositions(index);
122
- }
123
- }
124
- else {
125
- const newPos = getInitialPositions();
126
- newPos[position] = getPositionForIndex(index);
127
- newPos[index] = getPositionForIndex(position);
128
- // eslint-disable-next-line react-hooks/exhaustive-deps
129
- newIndices = [...indices];
130
- const prevIndexPosition = newIndices[position];
131
- newIndices[position] = newIndices[index];
132
- newIndices[index] = prevIndexPosition;
133
- if (!arePositionsEqual(newPos, shouldBePositions.current)) {
134
- shouldBePositions.current = newPos;
135
- applyPositions(index);
136
- }
137
- }
138
- refToUse.current.style.transform = `translateX(${translateX}px) translateY(${translateY}px)`;
139
- refToUse.current.style.zIndex = '2';
140
- };
141
- refToUse.current.addEventListener('pointerup', () => {
142
- positions.current[index] = {
143
- x: cardLeft + translateX,
144
- y: cardTop + translateY,
145
- };
146
- refToUse.current.style.left = `${cardLeft + translateX}px`;
147
- refToUse.current.style.top = `${cardTop + translateY}px`;
148
- refToUse.current.style.transform = `translateX(0px) translateY(0px)`;
149
- refToUse.current.style.cursor = 'grab';
150
- refToUse.current.removeEventListener('pointermove', onMove);
151
- applyPositions(null);
152
- }, { once: true });
153
- refToUse.current.addEventListener('pointermove', onMove);
154
- }, [applyPositions, index, positions, refToUse, shouldBePositions]);
155
- const onPointerUp = useCallback((e) => {
156
- e.currentTarget.releasePointerCapture(e.pointerId);
157
- }, []);
158
- const { x, y } = getPositionForIndex(index);
159
- const color = theme === 'light' ? ' #EAEAEA' : '#333';
160
- return (_jsx("div", { ref: refToUse, className: 'transition-opacity duration-200', onPointerDown: onPointerDown, onPointerUp: onPointerUp, style: {
161
- width: cardWidth,
162
- height: cardHeight,
163
- position: 'absolute',
164
- left: x,
165
- top: y,
166
- userSelect: 'none',
167
- border: `1px solid ${color}`,
168
- borderRadius: 13,
169
- cursor: 'grab',
170
- }, children: _jsxs(AbsoluteFill, { style: {
171
- backgroundColor: color,
172
- borderRadius: 12,
173
- }, className: 'transition-opacity duration-200', children: [content, withSwitcher ? (_jsxs(_Fragment, { children: [_jsx(Switcher, { onTap: onClickLeft, type: "left", theme: theme }), _jsx(Switcher, { onTap: onClickRight, type: "right", theme: theme })] })) : null] }) }));
174
- };
@@ -1,15 +0,0 @@
1
- import type { EmojiName } from '@remotion/animated-emoji';
2
- import React from 'react';
3
- import type { RemoteData } from './Comp';
4
- import type { Location } from './types';
5
- export declare const Cards: React.FC<{
6
- readonly onUpdate: (newIndices: number[]) => void;
7
- readonly indices: number[];
8
- readonly theme: 'dark' | 'light';
9
- readonly location: Location | null;
10
- readonly trending: RemoteData | null;
11
- readonly onToggle: () => void;
12
- readonly onLeft: () => void;
13
- readonly onRight: () => void;
14
- readonly emojiName: EmojiName;
15
- }>;
@@ -1,57 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { createRef, useCallback, useEffect, useRef, useState, } from 'react';
3
- import { AbsoluteFill, useRemotionEnvironment } from 'remotion';
4
- import { Card } from './Card';
5
- import { CurrentCountry } from './CurrentCountry';
6
- import { EmojiCard } from './EmojiCard';
7
- import { getInitialPositions } from './math';
8
- import { Temperature } from './Temperature';
9
- import { TrendingRepos } from './TrendingRepos';
10
- export const Cards = ({ onUpdate, indices, theme, onToggle, onLeft: onLeftPress, onRight: onRightPress, emojiName, location, trending, }) => {
11
- const container = useRef(null);
12
- const [refs] = useState(() => {
13
- return new Array(4).fill(true).map(() => {
14
- return createRef();
15
- });
16
- });
17
- const positions = useRef(getInitialPositions());
18
- const shouldBePositions = useRef(getInitialPositions());
19
- const { isRendering } = useRemotionEnvironment();
20
- useEffect(() => {
21
- const { current } = container;
22
- if (!current) {
23
- return;
24
- }
25
- const onClick = (e) => {
26
- if (e.target !== current) {
27
- return;
28
- }
29
- onToggle();
30
- };
31
- current.addEventListener('click', onClick);
32
- return () => {
33
- current.removeEventListener('click', onClick);
34
- };
35
- }, [onToggle]);
36
- const ref = useRef(null);
37
- const onLeft = useCallback(() => {
38
- var _a;
39
- (_a = ref.current) === null || _a === void 0 ? void 0 : _a.onRight();
40
- onRightPress();
41
- }, [onRightPress]);
42
- const onRight = useCallback(() => {
43
- var _a;
44
- (_a = ref.current) === null || _a === void 0 ? void 0 : _a.onLeft();
45
- onLeftPress();
46
- }, [onLeftPress]);
47
- return (_jsx(AbsoluteFill, { ref: container, children: new Array(4).fill(true).map((_, i) => {
48
- var _a, _b, _c;
49
- const index = indices[i];
50
- const content = index === 0 ? (_jsx(TrendingRepos, { trending: trending, theme: theme })) : index === 1 ? (_jsx(Temperature, { city: (location === null || location === void 0 ? void 0 : location.city) ? decodeURIComponent(location === null || location === void 0 ? void 0 : location.city) : null, theme: theme, temperatureInCelsius: (_a = trending === null || trending === void 0 ? void 0 : trending.temperatureInCelsius) !== null && _a !== void 0 ? _a : null })) : index === 2 ? (_jsx(CurrentCountry, { countryPaths: (_b = trending === null || trending === void 0 ? void 0 : trending.countryPaths) !== null && _b !== void 0 ? _b : null, countryLabel: (_c = trending === null || trending === void 0 ? void 0 : trending.countryLabel) !== null && _c !== void 0 ? _c : null, theme: theme })) : (_jsx(EmojiCard, { ref: ref, emojiIndex: emojiName }));
51
- return (_jsx(Card
52
- // eslint-disable-next-line react/no-array-index-key
53
- , { onUpdate: onUpdate,
54
- // @ts-expect-error
55
- refsToUse: refs, index: i, content: content, positions: positions, shouldBePositions: shouldBePositions, indices: indices, theme: theme, withSwitcher: index === 3 && !isRendering, onClickLeft: onLeft, onClickRight: onRight }, i));
56
- }) }));
57
- };
@@ -1,38 +0,0 @@
1
- import React from 'react';
2
- import { type CalculateMetadataFunction } from 'remotion';
3
- import type { Location } from './types';
4
- export type RemoteData = {
5
- repos: string[];
6
- date: string | number;
7
- temperatureInCelsius: number;
8
- countryLabel: string;
9
- countryPaths: {
10
- d: string;
11
- class: string;
12
- }[];
13
- };
14
- export type LocationAndTrending = {
15
- readonly location: Location | null;
16
- readonly trending: RemoteData | null;
17
- };
18
- export declare const getDataAndProps: () => Promise<{
19
- trending: {
20
- repos: any;
21
- date: any;
22
- temperatureInCelsius: number;
23
- countryLabel: any;
24
- countryPaths: any;
25
- };
26
- location: Location;
27
- }>;
28
- export declare const calculateMetadata: CalculateMetadataFunction<DemoPlayerProps>;
29
- export type DemoPlayerProps = {
30
- readonly onToggle: () => void;
31
- readonly cardOrder: number[];
32
- readonly updateCardOrder: (newCardOrder: number[]) => void;
33
- readonly theme: 'dark' | 'light';
34
- readonly onClickLeft: () => void;
35
- readonly onClickRight: () => void;
36
- readonly emojiIndex: number;
37
- } & LocationAndTrending;
38
- export declare const HomepageVideoComp: React.FC<DemoPlayerProps>;
@@ -1,72 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Audio } from '@remotion/media';
3
- import { useCallback, useEffect, useMemo, useState } from 'react';
4
- import { AbsoluteFill, prefetch, staticFile, } from 'remotion';
5
- import { Cards } from './Cards';
6
- export const getDataAndProps = async () => {
7
- const location = (await fetch('https://bugs-five.vercel.app/api/location').then((res) => res.json()));
8
- const trending = await fetch(`https://bugs.remotion.dev/trending?lat=${location.latitude}&lng=${location.longitude}&country=${location.country}`)
9
- .then((res) => res.json())
10
- .then((data) => {
11
- return {
12
- repos: data.trending.repos.slice(0, 3),
13
- date: data.trending.dateFetched,
14
- temperatureInCelsius: Math.round(data.temperature),
15
- countryLabel: data.countryLabel,
16
- countryPaths: data.countryPaths,
17
- };
18
- });
19
- return { trending, location };
20
- };
21
- export const calculateMetadata = ({ props, }) => {
22
- return {
23
- durationInFrames: 120,
24
- fps: 30,
25
- height: 360,
26
- width: 640,
27
- props: {
28
- ...props,
29
- },
30
- };
31
- };
32
- const fireAudio = staticFile('fire.mp3');
33
- const partyHornAudio = staticFile('partyhorn.mp3');
34
- const sadAudio = staticFile('sad.mp3');
35
- export const HomepageVideoComp = ({ theme, onToggle, cardOrder, updateCardOrder, location, trending, emojiIndex, onClickLeft, onClickRight, }) => {
36
- const [rerenders, setRerenders] = useState(0);
37
- const onUpdate = useCallback((newIndices) => {
38
- setRerenders(rerenders + 1);
39
- updateCardOrder(newIndices);
40
- }, [rerenders, updateCardOrder]);
41
- const emoji = useMemo(() => {
42
- if ((emojiIndex + 10000 * 3) % 3 === 1) {
43
- return 'melting';
44
- }
45
- if ((emojiIndex + 10000 * 3) % 3 === 2) {
46
- return 'fire';
47
- }
48
- return 'partying-face';
49
- }, [emojiIndex]);
50
- const audioSrc = useMemo(() => {
51
- if (emoji === 'fire') {
52
- return fireAudio;
53
- }
54
- if (emoji === 'partying-face') {
55
- return partyHornAudio;
56
- }
57
- return sadAudio;
58
- }, [emoji]);
59
- useEffect(() => {
60
- const a = prefetch(fireAudio);
61
- const b = prefetch(partyHornAudio);
62
- const c = prefetch(sadAudio);
63
- return () => {
64
- a.free();
65
- b.free();
66
- c.free();
67
- };
68
- }, []);
69
- return (_jsxs(AbsoluteFill, { style: {
70
- backgroundColor: theme === 'dark' ? '#222' : '#fafafa',
71
- }, children: [_jsx(Cards, { onUpdate: onUpdate, indices: cardOrder, theme: theme, location: location, trending: trending, onToggle: onToggle, onLeft: onClickLeft, onRight: onClickRight, emojiName: emoji }, rerenders), audioSrc ? _jsx(Audio, { src: audioSrc }) : null] }));
72
- };
@@ -1,9 +0,0 @@
1
- import React from 'react';
2
- export declare const CurrentCountry: React.FC<{
3
- readonly theme: 'dark' | 'light';
4
- readonly countryPaths: {
5
- d: string;
6
- class: string;
7
- }[] | null;
8
- readonly countryLabel: string | null;
9
- }>;
@@ -1,48 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { getBoundingBox, resetPath } from '@remotion/paths';
3
- import { AbsoluteFill, interpolate, spring, useCurrentFrame, useVideoConfig, } from 'remotion';
4
- export const CurrentCountry = ({ theme, countryPaths, countryLabel }) => {
5
- const { fps } = useVideoConfig();
6
- const frame = useCurrentFrame();
7
- if (!countryPaths) {
8
- return null;
9
- }
10
- const joined = countryPaths.map((p) => p.d).join(' ');
11
- const reset = resetPath(joined);
12
- const boundingBox = getBoundingBox(reset);
13
- const progress = spring({
14
- fps,
15
- frame,
16
- delay: 10,
17
- });
18
- return (_jsxs(AbsoluteFill, { style: { overflow: 'hidden' }, children: [_jsx(AbsoluteFill, { style: {
19
- transform: `scale(${progress})`,
20
- }, children: _jsx("svg", { viewBox: boundingBox.viewBox, style: {
21
- scale: '0.8',
22
- }, children: _jsx("path", { fill: theme === 'light' ? '#bbb' : '#222', d: reset }) }) }), _jsxs(AbsoluteFill, { style: {
23
- alignItems: 'center',
24
- justifyContent: 'center',
25
- }, children: [_jsx("div", { style: {
26
- color: '#0b84f3',
27
- fontFamily: 'GTPlanar',
28
- fontWeight: '500',
29
- fontSize: 13,
30
- textAlign: 'center',
31
- marginTop: -10,
32
- width: '100%',
33
- paddingLeft: 20,
34
- paddingRight: 20,
35
- transform: 'translateX(' + interpolate(progress, [0, 1], [-100, 0]) + '%)',
36
- }, children: "Your country" }), _jsx("div", { style: {
37
- lineHeight: 1.1,
38
- fontFamily: 'GTPlanar',
39
- textAlign: 'center',
40
- fontWeight: '500',
41
- fontSize: 30,
42
- color: theme === 'dark' ? 'white' : 'black',
43
- width: '100%',
44
- paddingLeft: 20,
45
- paddingRight: 20,
46
- transform: 'translateX(' + interpolate(progress, [0, 1], [100, 0]) + '%)',
47
- }, children: countryLabel })] })] }));
48
- };
@@ -1,2 +0,0 @@
1
- import React from 'react';
2
- export declare const DemoError: React.FC;
@@ -1,10 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { FONTS, RED } from '../layout/colors';
3
- export const DemoError = () => {
4
- return (_jsx("div", { style: {
5
- color: RED,
6
- fontFamily: FONTS.GTPLANAR,
7
- position: 'absolute',
8
- paddingTop: 15,
9
- }, children: "Sorry, we limit the amount of renders possible per day on this page. Come back tomorrow!" }));
10
- };
@@ -1,2 +0,0 @@
1
- import React from 'react';
2
- export declare const DemoErrorIcon: React.FC;
@@ -1,16 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { RED } from '../layout/colors';
3
- export const DemoErrorIcon = () => {
4
- return (_jsx("div", { style: {
5
- height: 26,
6
- width: 26,
7
- borderRadius: 13,
8
- display: 'flex',
9
- alignItems: 'center',
10
- justifyContent: 'center',
11
- animation: 'jump 0.2s ease-out',
12
- }, children: _jsx("svg", { style: {
13
- flexShrink: 0,
14
- width: 26,
15
- }, xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 512 512", children: _jsx("path", { fill: RED, d: "M17.1 292c-12.9-22.3-12.9-49.7 0-72L105.4 67.1c12.9-22.3 36.6-36 62.4-36l176.6 0c25.7 0 49.5 13.7 62.4 36L494.9 220c12.9 22.3 12.9 49.7 0 72L406.6 444.9c-12.9 22.3-36.6 36-62.4 36l-176.6 0c-25.7 0-49.5-13.7-62.4-36L17.1 292zM256 128c-13.3 0-24 10.7-24 24l0 112c0 13.3 10.7 24 24 24s24-10.7 24-24l0-112c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z" }) }) }));
16
- };
@@ -1,33 +0,0 @@
1
- import type { PlayerRef } from '@remotion/player';
2
- import React from 'react';
3
- import { z } from 'zod';
4
- declare const data: z.ZodObject<{
5
- trending: z.ZodObject<{
6
- repos: z.ZodArray<z.ZodString>;
7
- date: z.ZodUnion<[z.ZodString, z.ZodNumber]>;
8
- temperatureInCelsius: z.ZodNumber;
9
- countryLabel: z.ZodString;
10
- countryPaths: z.ZodArray<z.ZodObject<{
11
- d: z.ZodString;
12
- class: z.ZodString;
13
- }, z.core.$strip>>;
14
- }, z.core.$strip>;
15
- location: z.ZodObject<{
16
- country: z.ZodString;
17
- city: z.ZodString;
18
- latitude: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
19
- longitude: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
20
- }, z.core.$strip>;
21
- emojiIndex: z.ZodNumber;
22
- theme: z.ZodEnum<{
23
- light: "light";
24
- dark: "dark";
25
- }>;
26
- cardOrder: z.ZodArray<z.ZodNumber>;
27
- }, z.core.$strip>;
28
- export declare const RenderButton: React.FC<{
29
- readonly renderData: z.infer<typeof data> | null;
30
- readonly onError: () => void;
31
- readonly playerRef: React.RefObject<PlayerRef | null>;
32
- }>;
33
- export {};
@@ -1,107 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { renderMediaOnWeb } from '@remotion/web-renderer';
3
- import React, { useCallback } from 'react';
4
- import { z } from 'zod';
5
- import { PALETTE } from '../layout/colors';
6
- import { HomepageVideoComp } from './Comp';
7
- import { DemoErrorIcon } from './DemoErrorIcon';
8
- import { DoneCheckmark } from './DoneCheckmark';
9
- import { Progress } from './Progress';
10
- import { Spinner } from './Spinner';
11
- const countryPath = z.object({
12
- d: z.string(),
13
- class: z.string(),
14
- });
15
- const remoteData = z.object({
16
- repos: z.array(z.string()),
17
- date: z.string().or(z.number()),
18
- temperatureInCelsius: z.number(),
19
- countryLabel: z.string(),
20
- countryPaths: z.array(countryPath),
21
- });
22
- const location = z.object({
23
- country: z.string(),
24
- city: z.string(),
25
- latitude: z.number().or(z.string()),
26
- longitude: z.number().or(z.string()),
27
- });
28
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
29
- const data = z.object({
30
- trending: remoteData,
31
- location,
32
- emojiIndex: z.number(),
33
- theme: z.enum(['light', 'dark']),
34
- cardOrder: z.array(z.number()),
35
- });
36
- const style = {
37
- appearance: 'none',
38
- border: 'none',
39
- outline: 'none',
40
- backgroundColor: 'transparent',
41
- cursor: 'pointer',
42
- width: 55,
43
- height: 50,
44
- display: 'flex',
45
- alignItems: 'center',
46
- justifyContent: 'center',
47
- };
48
- export const RenderButton = ({ renderData, onError, playerRef }) => {
49
- const [state, setState] = React.useState({
50
- type: 'idle',
51
- });
52
- const triggerRender = useCallback(async () => {
53
- if (renderData === null) {
54
- return;
55
- }
56
- try {
57
- setState({ type: 'invoking' });
58
- const durationInFrames = 120;
59
- const inputProps = {
60
- ...renderData,
61
- onToggle: () => { },
62
- updateCardOrder: () => { },
63
- onClickLeft: () => { },
64
- onClickRight: () => { },
65
- };
66
- playerRef.current.pause();
67
- const { getBlob } = await renderMediaOnWeb({
68
- composition: {
69
- component: HomepageVideoComp,
70
- durationInFrames,
71
- fps: 30,
72
- width: 640,
73
- height: 360,
74
- id: 'homepage-demo',
75
- defaultProps: inputProps,
76
- },
77
- muted: typeof AudioEncoder === 'undefined',
78
- scale: 1,
79
- inputProps,
80
- onProgress: ({ renderedFrames }) => {
81
- setState({
82
- type: 'progress',
83
- progress: renderedFrames / durationInFrames,
84
- });
85
- },
86
- });
87
- const blob = await getBlob();
88
- const url = URL.createObjectURL(blob);
89
- const a = document.createElement('a');
90
- a.href = url;
91
- a.download = 'remotion.dev.mp4';
92
- a.click();
93
- URL.revokeObjectURL(url);
94
- setState({ type: 'done' });
95
- }
96
- catch (error) {
97
- // eslint-disable-next-line no-console
98
- console.error(error);
99
- setState({ type: 'error' });
100
- onError();
101
- }
102
- }, [onError, renderData, playerRef]);
103
- return (_jsx("button", { type: "button", onClick: triggerRender, style: style, disabled: !renderData || state.type !== 'idle', children: state.type === 'error' ? (_jsx(DemoErrorIcon, {})) : state.type === 'done' ? (_jsx(DoneCheckmark, {})) : state.type === 'progress' ? (_jsx(Progress, { progress: state.progress })) : state.type === 'invoking' ? (_jsx(Spinner, { size: 20, duration: 1 })) : (_jsx("svg", { style: {
104
- width: 18,
105
- opacity: renderData ? 1 : 0.5,
106
- }, xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 384 512", children: _jsx("path", { fill: PALETTE.TEXT_COLOR, d: "M214.6 342.6L192 365.3l-22.6-22.6-128-128L18.7 192 64 146.7l22.6 22.6L160 242.7 160 64l0-32 64 0 0 32 0 178.7 73.4-73.4L320 146.7 365.3 192l-22.6 22.6-128 128zM32 416l320 0 32 0 0 64-32 0L32 480 0 480l0-64 32 0z" }) })) }));
107
- };
@@ -1,9 +0,0 @@
1
- import React from 'react';
2
- export declare const NUM_WIDTH = 36;
3
- export declare const Wheel: React.FC<{
4
- readonly delay: number;
5
- readonly digits: number[];
6
- readonly renderDigit: (i: number) => React.ReactNode;
7
- readonly isLeadingDigit: boolean;
8
- readonly isNegative: boolean[];
9
- }>;