remotion 3.3.51 → 3.3.52

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 (198) hide show
  1. package/dist/AbsoluteFill.d.ts +6 -0
  2. package/dist/AbsoluteFill.js +28 -0
  3. package/dist/CanUseRemotionHooks.d.ts +5 -0
  4. package/dist/CanUseRemotionHooks.js +10 -0
  5. package/dist/Clipper.d.ts +7 -0
  6. package/dist/Clipper.js +24 -0
  7. package/dist/Composition.d.ts +23 -0
  8. package/dist/Composition.js +113 -0
  9. package/dist/CompositionManager.d.ts +82 -0
  10. package/dist/CompositionManager.js +164 -0
  11. package/dist/Folder.d.ts +15 -0
  12. package/dist/Folder.js +33 -0
  13. package/dist/IFrame.d.ts +2 -0
  14. package/dist/IFrame.js +24 -0
  15. package/dist/Img.d.ts +2 -0
  16. package/dist/Img.js +52 -0
  17. package/dist/NativeLayers.d.ts +13 -0
  18. package/dist/NativeLayers.js +29 -0
  19. package/dist/Null.d.ts +2 -0
  20. package/dist/Null.js +25 -0
  21. package/dist/RemotionRoot.d.ts +5 -0
  22. package/dist/RemotionRoot.js +73 -0
  23. package/dist/Sequence.d.ts +29 -0
  24. package/dist/Sequence.js +131 -0
  25. package/dist/Still.d.ts +2 -0
  26. package/dist/Still.js +9 -0
  27. package/dist/absolute-src.d.ts +1 -0
  28. package/dist/absolute-src.js +7 -0
  29. package/dist/asset-types.d.ts +50 -0
  30. package/dist/asset-types.js +1 -0
  31. package/dist/audio/Audio.d.ts +8 -0
  32. package/dist/audio/Audio.js +52 -0
  33. package/dist/audio/AudioForDevelopment.d.ts +11 -0
  34. package/dist/audio/AudioForDevelopment.js +94 -0
  35. package/dist/audio/AudioForRendering.d.ts +10 -0
  36. package/dist/audio/AudioForRendering.js +111 -0
  37. package/dist/audio/index.d.ts +2 -0
  38. package/dist/audio/index.js +18 -0
  39. package/dist/audio/props.d.ts +12 -0
  40. package/dist/audio/props.js +2 -0
  41. package/dist/audio/shared-audio-tags.d.ts +37 -0
  42. package/dist/audio/shared-audio-tags.js +222 -0
  43. package/dist/audio/use-audio-frame.d.ts +6 -0
  44. package/dist/audio/use-audio-frame.js +23 -0
  45. package/dist/bezier.d.ts +1 -0
  46. package/dist/bezier.js +114 -0
  47. package/dist/cancel-render.d.ts +1 -0
  48. package/dist/cancel-render.js +43 -0
  49. package/dist/cjs/series/index.js +5 -2
  50. package/dist/cjs/test/series.test.js +32 -27
  51. package/dist/cjs/version.d.ts +1 -1
  52. package/dist/cjs/version.js +1 -1
  53. package/dist/config/input-props.d.ts +1 -0
  54. package/dist/config/input-props.js +31 -0
  55. package/dist/config.d.ts +285 -0
  56. package/dist/config.js +21 -0
  57. package/dist/default-css.d.ts +3 -0
  58. package/dist/default-css.js +49 -0
  59. package/dist/delay-render.d.ts +14 -0
  60. package/dist/delay-render.js +77 -0
  61. package/dist/easing.d.ts +19 -0
  62. package/dist/easing.js +77 -0
  63. package/dist/esm/series/index.js +5 -2
  64. package/dist/esm/test/series.test.js +32 -27
  65. package/dist/esm/version.d.ts +1 -1
  66. package/dist/esm/version.js +1 -1
  67. package/dist/freeze.d.ts +7 -0
  68. package/dist/freeze.js +34 -0
  69. package/dist/get-asset-file-name.d.ts +1 -0
  70. package/dist/get-asset-file-name.js +14 -0
  71. package/dist/get-environment.d.ts +3 -0
  72. package/dist/get-environment.js +34 -0
  73. package/dist/get-preview-dom-element.d.ts +1 -0
  74. package/dist/get-preview-dom-element.js +7 -0
  75. package/dist/get-static-files.d.ts +17 -0
  76. package/dist/get-static-files.js +31 -0
  77. package/dist/get-timeline-clip-name.d.ts +1 -0
  78. package/dist/get-timeline-clip-name.js +25 -0
  79. package/dist/index.d.ts +92 -0
  80. package/dist/index.js +73 -0
  81. package/dist/internals.d.ts +97 -0
  82. package/dist/internals.js +99 -0
  83. package/dist/interpolate-colors.d.ts +5 -0
  84. package/dist/interpolate-colors.js +401 -0
  85. package/dist/interpolate.d.ts +18 -0
  86. package/dist/interpolate.js +123 -0
  87. package/dist/is-approximately-the-same.d.ts +1 -0
  88. package/dist/is-approximately-the-same.js +8 -0
  89. package/dist/is-player.d.ts +3 -0
  90. package/dist/is-player.js +14 -0
  91. package/dist/loading-indicator.d.ts +2 -0
  92. package/dist/loading-indicator.js +35 -0
  93. package/dist/loop/index.d.ts +9 -0
  94. package/dist/loop/index.js +29 -0
  95. package/dist/multiple-versions-warning.d.ts +1 -0
  96. package/dist/multiple-versions-warning.js +32 -0
  97. package/dist/nonce.d.ts +7 -0
  98. package/dist/nonce.js +17 -0
  99. package/dist/play-and-handle-not-allowed-error.d.ts +2 -0
  100. package/dist/play-and-handle-not-allowed-error.js +44 -0
  101. package/dist/portal-node.d.ts +1 -0
  102. package/dist/portal-node.js +23 -0
  103. package/dist/prefetch-state.d.ts +8 -0
  104. package/dist/prefetch-state.js +27 -0
  105. package/dist/prefetch.d.ts +9 -0
  106. package/dist/prefetch.js +108 -0
  107. package/dist/random.d.ts +7 -0
  108. package/dist/random.js +41 -0
  109. package/dist/register-root.d.ts +4 -0
  110. package/dist/register-root.js +33 -0
  111. package/dist/series/flatten-children.d.ts +2 -0
  112. package/dist/series/flatten-children.js +19 -0
  113. package/dist/series/index.d.ts +13 -0
  114. package/dist/series/index.js +60 -0
  115. package/dist/setup-env-variables.d.ts +2 -0
  116. package/dist/setup-env-variables.js +36 -0
  117. package/dist/spring/index.d.ts +27 -0
  118. package/dist/spring/index.js +51 -0
  119. package/dist/spring/measure-spring.d.ts +8 -0
  120. package/dist/spring/measure-spring.js +64 -0
  121. package/dist/spring/spring-utils.d.ts +21 -0
  122. package/dist/spring/spring-utils.js +103 -0
  123. package/dist/static-file.d.ts +5 -0
  124. package/dist/static-file.js +33 -0
  125. package/dist/timeline-position-state.d.ts +29 -0
  126. package/dist/timeline-position-state.js +41 -0
  127. package/dist/truthy.d.ts +3 -0
  128. package/dist/truthy.js +7 -0
  129. package/dist/tsconfig-cjs.tsbuildinfo +1 -1
  130. package/dist/use-current-frame.d.ts +6 -0
  131. package/dist/use-current-frame.js +28 -0
  132. package/dist/use-lazy-component.d.ts +7 -0
  133. package/dist/use-lazy-component.js +49 -0
  134. package/dist/use-media-in-timeline.d.ts +10 -0
  135. package/dist/use-media-in-timeline.js +129 -0
  136. package/dist/use-media-playback.d.ts +10 -0
  137. package/dist/use-media-playback.js +77 -0
  138. package/dist/use-media-tag-volume.d.ts +2 -0
  139. package/dist/use-media-tag-volume.js +31 -0
  140. package/dist/use-sync-volume-with-media-tag.d.ts +10 -0
  141. package/dist/use-sync-volume-with-media-tag.js +21 -0
  142. package/dist/use-unsafe-video-config.d.ts +2 -0
  143. package/dist/use-unsafe-video-config.js +27 -0
  144. package/dist/use-video-config.d.ts +7 -0
  145. package/dist/use-video-config.js +29 -0
  146. package/dist/use-video.d.ts +12 -0
  147. package/dist/use-video.js +28 -0
  148. package/dist/validate-media-props.d.ts +4 -0
  149. package/dist/validate-media-props.js +24 -0
  150. package/dist/validate-start-from-props.d.ts +1 -0
  151. package/dist/validate-start-from-props.js +31 -0
  152. package/dist/validation/validate-composition-id.d.ts +3 -0
  153. package/dist/validation/validate-composition-id.js +13 -0
  154. package/dist/validation/validate-dimensions.d.ts +1 -0
  155. package/dist/validation/validate-dimensions.js +21 -0
  156. package/dist/validation/validate-duration-in-frames.d.ts +1 -0
  157. package/dist/validation/validate-duration-in-frames.js +15 -0
  158. package/dist/validation/validate-folder-name.d.ts +3 -0
  159. package/dist/validation/validate-folder-name.js +19 -0
  160. package/dist/validation/validate-fps.d.ts +1 -0
  161. package/dist/validation/validate-fps.js +21 -0
  162. package/dist/validation/validate-offthreadvideo-image-format.d.ts +1 -0
  163. package/dist/validation/validate-offthreadvideo-image-format.js +15 -0
  164. package/dist/validation/validation-spring-duration.d.ts +1 -0
  165. package/dist/validation/validation-spring-duration.js +21 -0
  166. package/dist/version.d.ts +1 -0
  167. package/dist/version.js +5 -0
  168. package/dist/video/OffthreadVideo.d.ts +3 -0
  169. package/dist/video/OffthreadVideo.js +33 -0
  170. package/dist/video/OffthreadVideoForRendering.d.ts +3 -0
  171. package/dist/video/OffthreadVideoForRendering.js +104 -0
  172. package/dist/video/Video.d.ts +8 -0
  173. package/dist/video/Video.js +50 -0
  174. package/dist/video/VideoForDevelopment.d.ts +11 -0
  175. package/dist/video/VideoForDevelopment.js +113 -0
  176. package/dist/video/VideoForRendering.d.ts +10 -0
  177. package/dist/video/VideoForRendering.js +203 -0
  178. package/dist/video/duration-state.d.ts +17 -0
  179. package/dist/video/duration-state.js +34 -0
  180. package/dist/video/get-current-time.d.ts +13 -0
  181. package/dist/video/get-current-time.js +31 -0
  182. package/dist/video/index.d.ts +3 -0
  183. package/dist/video/index.js +7 -0
  184. package/dist/video/props.d.ts +25 -0
  185. package/dist/video/props.js +2 -0
  186. package/dist/video/video-fragment.d.ts +12 -0
  187. package/dist/video/video-fragment.js +60 -0
  188. package/dist/video-config.d.ts +8 -0
  189. package/dist/video-config.js +2 -0
  190. package/dist/volume-position-state.d.ts +19 -0
  191. package/dist/volume-position-state.js +32 -0
  192. package/dist/volume-prop.d.ts +7 -0
  193. package/dist/volume-prop.js +24 -0
  194. package/dist/warn-about-non-seekable-media.d.ts +1 -0
  195. package/dist/warn-about-non-seekable-media.js +34 -0
  196. package/dist/wrap-remotion-context.d.ts +18 -0
  197. package/dist/wrap-remotion-context.js +73 -0
  198. package/package.json +4 -5
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.Internals = void 0;
27
+ const config_1 = require("./config");
28
+ const shared_audio_tags_1 = require("./audio/shared-audio-tags");
29
+ const CanUseRemotionHooks_1 = require("./CanUseRemotionHooks");
30
+ const CompositionManager_1 = require("./CompositionManager");
31
+ const CSSUtils = __importStar(require("./default-css"));
32
+ const delay_render_1 = require("./delay-render");
33
+ const get_environment_1 = require("./get-environment");
34
+ const get_preview_dom_element_1 = require("./get-preview-dom-element");
35
+ const is_player_1 = require("./is-player");
36
+ const portal_node_1 = require("./portal-node");
37
+ const prefetch_state_1 = require("./prefetch-state");
38
+ const register_root_1 = require("./register-root");
39
+ const RemotionRoot_1 = require("./RemotionRoot");
40
+ const Sequence_1 = require("./Sequence");
41
+ const setup_env_variables_1 = require("./setup-env-variables");
42
+ const TimelinePosition = __importStar(require("./timeline-position-state"));
43
+ const truthy_1 = require("./truthy");
44
+ const use_lazy_component_1 = require("./use-lazy-component");
45
+ const use_unsafe_video_config_1 = require("./use-unsafe-video-config");
46
+ const use_video_1 = require("./use-video");
47
+ const validate_composition_id_1 = require("./validation/validate-composition-id");
48
+ const validate_dimensions_1 = require("./validation/validate-dimensions");
49
+ const validate_duration_in_frames_1 = require("./validation/validate-duration-in-frames");
50
+ const validate_fps_1 = require("./validation/validate-fps");
51
+ const validate_offthreadvideo_image_format_1 = require("./validation/validate-offthreadvideo-image-format");
52
+ const duration_state_1 = require("./video/duration-state");
53
+ const volume_position_state_1 = require("./volume-position-state");
54
+ const wrap_remotion_context_1 = require("./wrap-remotion-context");
55
+ const Timeline = TimelinePosition;
56
+ // Mark them as Internals so use don't assume this is public
57
+ // API and are less likely to use it
58
+ exports.Internals = {
59
+ useUnsafeVideoConfig: use_unsafe_video_config_1.useUnsafeVideoConfig,
60
+ Timeline,
61
+ CompositionManager: CompositionManager_1.CompositionManager,
62
+ RemotionRoot: RemotionRoot_1.RemotionRoot,
63
+ useVideo: use_video_1.useVideo,
64
+ getRoot: register_root_1.getRoot,
65
+ useMediaVolumeState: volume_position_state_1.useMediaVolumeState,
66
+ useMediaMutedState: volume_position_state_1.useMediaMutedState,
67
+ useLazyComponent: use_lazy_component_1.useLazyComponent,
68
+ truthy: truthy_1.truthy,
69
+ SequenceContext: Sequence_1.SequenceContext,
70
+ useRemotionContexts: wrap_remotion_context_1.useRemotionContexts,
71
+ RemotionContextProvider: wrap_remotion_context_1.RemotionContextProvider,
72
+ CSSUtils,
73
+ setupEnvVariables: setup_env_variables_1.setupEnvVariables,
74
+ ENV_VARIABLES_ENV_NAME: setup_env_variables_1.ENV_VARIABLES_ENV_NAME,
75
+ MediaVolumeContext: volume_position_state_1.MediaVolumeContext,
76
+ SetMediaVolumeContext: volume_position_state_1.SetMediaVolumeContext,
77
+ validateDurationInFrames: validate_duration_in_frames_1.validateDurationInFrames,
78
+ validateFps: validate_fps_1.validateFps,
79
+ validateDimension: validate_dimensions_1.validateDimension,
80
+ getRemotionEnvironment: get_environment_1.getRemotionEnvironment,
81
+ SharedAudioContext: shared_audio_tags_1.SharedAudioContext,
82
+ SharedAudioContextProvider: shared_audio_tags_1.SharedAudioContextProvider,
83
+ invalidCompositionErrorMessage: validate_composition_id_1.invalidCompositionErrorMessage,
84
+ isCompositionIdValid: validate_composition_id_1.isCompositionIdValid,
85
+ getPreviewDomElement: get_preview_dom_element_1.getPreviewDomElement,
86
+ compositionsRef: CompositionManager_1.compositionsRef,
87
+ DELAY_RENDER_CALLSTACK_TOKEN: delay_render_1.DELAY_RENDER_CALLSTACK_TOKEN,
88
+ portalNode: portal_node_1.portalNode,
89
+ waitForRoot: register_root_1.waitForRoot,
90
+ validateOffthreadVideoImageFormat: validate_offthreadvideo_image_format_1.validateOffthreadVideoImageFormat,
91
+ CanUseRemotionHooksProvider: CanUseRemotionHooks_1.CanUseRemotionHooksProvider,
92
+ CanUseRemotionHooks: CanUseRemotionHooks_1.CanUseRemotionHooks,
93
+ enableLegacyRemotionConfig: config_1.enableLegacyRemotionConfig,
94
+ PrefetchProvider: prefetch_state_1.PrefetchProvider,
95
+ DurationsContextProvider: duration_state_1.DurationsContextProvider,
96
+ IsPlayerContextProvider: is_player_1.IsPlayerContextProvider,
97
+ useIsPlayer: is_player_1.useIsPlayer,
98
+ useRemotionEnvironment: get_environment_1.useRemotionEnvironment,
99
+ };
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Copied from:
3
+ * https://github.com/software-mansion/react-native-reanimated/blob/master/src/reanimated2/Colors.ts
4
+ */
5
+ export declare const interpolateColors: (input: number, inputRange: readonly number[], outputRange: readonly string[]) => string;
@@ -0,0 +1,401 @@
1
+ "use strict";
2
+ /**
3
+ * Copied from:
4
+ * https://github.com/software-mansion/react-native-reanimated/blob/master/src/reanimated2/Colors.ts
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.interpolateColors = void 0;
8
+ /* eslint no-bitwise: 0 */
9
+ const interpolate_1 = require("./interpolate");
10
+ // var INTEGER = '[-+]?\\d+';
11
+ const NUMBER = '[-+]?\\d*\\.?\\d+';
12
+ const PERCENTAGE = NUMBER + '%';
13
+ function call(...args) {
14
+ return '\\(\\s*(' + args.join(')\\s*,\\s*(') + ')\\s*\\)';
15
+ }
16
+ function getMatchers() {
17
+ const cachedMatchers = {
18
+ rgb: undefined,
19
+ rgba: undefined,
20
+ hsl: undefined,
21
+ hsla: undefined,
22
+ hex3: undefined,
23
+ hex4: undefined,
24
+ hex5: undefined,
25
+ hex6: undefined,
26
+ hex8: undefined,
27
+ };
28
+ if (cachedMatchers.rgb === undefined) {
29
+ cachedMatchers.rgb = new RegExp('rgb' + call(NUMBER, NUMBER, NUMBER));
30
+ cachedMatchers.rgba = new RegExp('rgba' + call(NUMBER, NUMBER, NUMBER, NUMBER));
31
+ cachedMatchers.hsl = new RegExp('hsl' + call(NUMBER, PERCENTAGE, PERCENTAGE));
32
+ cachedMatchers.hsla = new RegExp('hsla' + call(NUMBER, PERCENTAGE, PERCENTAGE, NUMBER));
33
+ cachedMatchers.hex3 = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/;
34
+ cachedMatchers.hex4 =
35
+ /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/;
36
+ cachedMatchers.hex6 = /^#([0-9a-fA-F]{6})$/;
37
+ cachedMatchers.hex8 = /^#([0-9a-fA-F]{8})$/;
38
+ }
39
+ return cachedMatchers;
40
+ }
41
+ function hue2rgb(p, q, t) {
42
+ if (t < 0) {
43
+ t += 1;
44
+ }
45
+ if (t > 1) {
46
+ t -= 1;
47
+ }
48
+ if (t < 1 / 6) {
49
+ return p + (q - p) * 6 * t;
50
+ }
51
+ if (t < 1 / 2) {
52
+ return q;
53
+ }
54
+ if (t < 2 / 3) {
55
+ return p + (q - p) * (2 / 3 - t) * 6;
56
+ }
57
+ return p;
58
+ }
59
+ function hslToRgb(h, s, l) {
60
+ const q = l < 0.5 ? l * (1 + s) : l + s - l * s;
61
+ const p = 2 * l - q;
62
+ const r = hue2rgb(p, q, h + 1 / 3);
63
+ const g = hue2rgb(p, q, h);
64
+ const b = hue2rgb(p, q, h - 1 / 3);
65
+ return ((Math.round(r * 255) << 24) |
66
+ (Math.round(g * 255) << 16) |
67
+ (Math.round(b * 255) << 8));
68
+ }
69
+ function parse255(str) {
70
+ const int = Number.parseInt(str, 10);
71
+ if (int < 0) {
72
+ return 0;
73
+ }
74
+ if (int > 255) {
75
+ return 255;
76
+ }
77
+ return int;
78
+ }
79
+ function parse360(str) {
80
+ const int = Number.parseFloat(str);
81
+ return (((int % 360) + 360) % 360) / 360;
82
+ }
83
+ function parse1(str) {
84
+ const num = Number.parseFloat(str);
85
+ if (num < 0) {
86
+ return 0;
87
+ }
88
+ if (num > 1) {
89
+ return 255;
90
+ }
91
+ return Math.round(num * 255);
92
+ }
93
+ function parsePercentage(str) {
94
+ // parseFloat conveniently ignores the final %
95
+ const int = Number.parseFloat(str);
96
+ if (int < 0) {
97
+ return 0;
98
+ }
99
+ if (int > 100) {
100
+ return 1;
101
+ }
102
+ return int / 100;
103
+ }
104
+ const names = {
105
+ transparent: 0x00000000,
106
+ // http://www.w3.org/TR/css3-color/#svg-color
107
+ aliceblue: 0xf0f8ffff,
108
+ antiquewhite: 0xfaebd7ff,
109
+ aqua: 0x00ffffff,
110
+ aquamarine: 0x7fffd4ff,
111
+ azure: 0xf0ffffff,
112
+ beige: 0xf5f5dcff,
113
+ bisque: 0xffe4c4ff,
114
+ black: 0x000000ff,
115
+ blanchedalmond: 0xffebcdff,
116
+ blue: 0x0000ffff,
117
+ blueviolet: 0x8a2be2ff,
118
+ brown: 0xa52a2aff,
119
+ burlywood: 0xdeb887ff,
120
+ burntsienna: 0xea7e5dff,
121
+ cadetblue: 0x5f9ea0ff,
122
+ chartreuse: 0x7fff00ff,
123
+ chocolate: 0xd2691eff,
124
+ coral: 0xff7f50ff,
125
+ cornflowerblue: 0x6495edff,
126
+ cornsilk: 0xfff8dcff,
127
+ crimson: 0xdc143cff,
128
+ cyan: 0x00ffffff,
129
+ darkblue: 0x00008bff,
130
+ darkcyan: 0x008b8bff,
131
+ darkgoldenrod: 0xb8860bff,
132
+ darkgray: 0xa9a9a9ff,
133
+ darkgreen: 0x006400ff,
134
+ darkgrey: 0xa9a9a9ff,
135
+ darkkhaki: 0xbdb76bff,
136
+ darkmagenta: 0x8b008bff,
137
+ darkolivegreen: 0x556b2fff,
138
+ darkorange: 0xff8c00ff,
139
+ darkorchid: 0x9932ccff,
140
+ darkred: 0x8b0000ff,
141
+ darksalmon: 0xe9967aff,
142
+ darkseagreen: 0x8fbc8fff,
143
+ darkslateblue: 0x483d8bff,
144
+ darkslategray: 0x2f4f4fff,
145
+ darkslategrey: 0x2f4f4fff,
146
+ darkturquoise: 0x00ced1ff,
147
+ darkviolet: 0x9400d3ff,
148
+ deeppink: 0xff1493ff,
149
+ deepskyblue: 0x00bfffff,
150
+ dimgray: 0x696969ff,
151
+ dimgrey: 0x696969ff,
152
+ dodgerblue: 0x1e90ffff,
153
+ firebrick: 0xb22222ff,
154
+ floralwhite: 0xfffaf0ff,
155
+ forestgreen: 0x228b22ff,
156
+ fuchsia: 0xff00ffff,
157
+ gainsboro: 0xdcdcdcff,
158
+ ghostwhite: 0xf8f8ffff,
159
+ gold: 0xffd700ff,
160
+ goldenrod: 0xdaa520ff,
161
+ gray: 0x808080ff,
162
+ green: 0x008000ff,
163
+ greenyellow: 0xadff2fff,
164
+ grey: 0x808080ff,
165
+ honeydew: 0xf0fff0ff,
166
+ hotpink: 0xff69b4ff,
167
+ indianred: 0xcd5c5cff,
168
+ indigo: 0x4b0082ff,
169
+ ivory: 0xfffff0ff,
170
+ khaki: 0xf0e68cff,
171
+ lavender: 0xe6e6faff,
172
+ lavenderblush: 0xfff0f5ff,
173
+ lawngreen: 0x7cfc00ff,
174
+ lemonchiffon: 0xfffacdff,
175
+ lightblue: 0xadd8e6ff,
176
+ lightcoral: 0xf08080ff,
177
+ lightcyan: 0xe0ffffff,
178
+ lightgoldenrodyellow: 0xfafad2ff,
179
+ lightgray: 0xd3d3d3ff,
180
+ lightgreen: 0x90ee90ff,
181
+ lightgrey: 0xd3d3d3ff,
182
+ lightpink: 0xffb6c1ff,
183
+ lightsalmon: 0xffa07aff,
184
+ lightseagreen: 0x20b2aaff,
185
+ lightskyblue: 0x87cefaff,
186
+ lightslategray: 0x778899ff,
187
+ lightslategrey: 0x778899ff,
188
+ lightsteelblue: 0xb0c4deff,
189
+ lightyellow: 0xffffe0ff,
190
+ lime: 0x00ff00ff,
191
+ limegreen: 0x32cd32ff,
192
+ linen: 0xfaf0e6ff,
193
+ magenta: 0xff00ffff,
194
+ maroon: 0x800000ff,
195
+ mediumaquamarine: 0x66cdaaff,
196
+ mediumblue: 0x0000cdff,
197
+ mediumorchid: 0xba55d3ff,
198
+ mediumpurple: 0x9370dbff,
199
+ mediumseagreen: 0x3cb371ff,
200
+ mediumslateblue: 0x7b68eeff,
201
+ mediumspringgreen: 0x00fa9aff,
202
+ mediumturquoise: 0x48d1ccff,
203
+ mediumvioletred: 0xc71585ff,
204
+ midnightblue: 0x191970ff,
205
+ mintcream: 0xf5fffaff,
206
+ mistyrose: 0xffe4e1ff,
207
+ moccasin: 0xffe4b5ff,
208
+ navajowhite: 0xffdeadff,
209
+ navy: 0x000080ff,
210
+ oldlace: 0xfdf5e6ff,
211
+ olive: 0x808000ff,
212
+ olivedrab: 0x6b8e23ff,
213
+ orange: 0xffa500ff,
214
+ orangered: 0xff4500ff,
215
+ orchid: 0xda70d6ff,
216
+ palegoldenrod: 0xeee8aaff,
217
+ palegreen: 0x98fb98ff,
218
+ paleturquoise: 0xafeeeeff,
219
+ palevioletred: 0xdb7093ff,
220
+ papayawhip: 0xffefd5ff,
221
+ peachpuff: 0xffdab9ff,
222
+ peru: 0xcd853fff,
223
+ pink: 0xffc0cbff,
224
+ plum: 0xdda0ddff,
225
+ powderblue: 0xb0e0e6ff,
226
+ purple: 0x800080ff,
227
+ rebeccapurple: 0x663399ff,
228
+ red: 0xff0000ff,
229
+ rosybrown: 0xbc8f8fff,
230
+ royalblue: 0x4169e1ff,
231
+ saddlebrown: 0x8b4513ff,
232
+ salmon: 0xfa8072ff,
233
+ sandybrown: 0xf4a460ff,
234
+ seagreen: 0x2e8b57ff,
235
+ seashell: 0xfff5eeff,
236
+ sienna: 0xa0522dff,
237
+ silver: 0xc0c0c0ff,
238
+ skyblue: 0x87ceebff,
239
+ slateblue: 0x6a5acdff,
240
+ slategray: 0x708090ff,
241
+ slategrey: 0x708090ff,
242
+ snow: 0xfffafaff,
243
+ springgreen: 0x00ff7fff,
244
+ steelblue: 0x4682b4ff,
245
+ tan: 0xd2b48cff,
246
+ teal: 0x008080ff,
247
+ thistle: 0xd8bfd8ff,
248
+ tomato: 0xff6347ff,
249
+ turquoise: 0x40e0d0ff,
250
+ violet: 0xee82eeff,
251
+ wheat: 0xf5deb3ff,
252
+ white: 0xffffffff,
253
+ whitesmoke: 0xf5f5f5ff,
254
+ yellow: 0xffff00ff,
255
+ yellowgreen: 0x9acd32ff,
256
+ };
257
+ function normalizeColor(color) {
258
+ const matchers = getMatchers();
259
+ let match;
260
+ // Ordered based on occurrences on Facebook codebase
261
+ if (matchers.hex6) {
262
+ if ((match = matchers.hex6.exec(color))) {
263
+ return Number.parseInt(match[1] + 'ff', 16) >>> 0;
264
+ }
265
+ }
266
+ if (names[color] !== undefined) {
267
+ return names[color];
268
+ }
269
+ if (matchers.rgb) {
270
+ if ((match = matchers.rgb.exec(color))) {
271
+ return (
272
+ // b
273
+ ((parse255(match[1]) << 24) | // r
274
+ (parse255(match[2]) << 16) | // g
275
+ (parse255(match[3]) << 8) |
276
+ 0x000000ff) >>> // a
277
+ 0);
278
+ }
279
+ }
280
+ if (matchers.rgba) {
281
+ if ((match = matchers.rgba.exec(color))) {
282
+ return (
283
+ // b
284
+ ((parse255(match[1]) << 24) | // r
285
+ (parse255(match[2]) << 16) | // g
286
+ (parse255(match[3]) << 8) |
287
+ parse1(match[4])) >>> // a
288
+ 0);
289
+ }
290
+ }
291
+ if (matchers.hex3) {
292
+ if ((match = matchers.hex3.exec(color))) {
293
+ return (Number.parseInt(match[1] +
294
+ match[1] + // r
295
+ match[2] +
296
+ match[2] + // g
297
+ match[3] +
298
+ match[3] + // b
299
+ 'ff', // a
300
+ 16) >>> 0);
301
+ }
302
+ }
303
+ // https://drafts.csswg.org/css-color-4/#hex-notation
304
+ if (matchers.hex8) {
305
+ if ((match = matchers.hex8.exec(color))) {
306
+ return Number.parseInt(match[1], 16) >>> 0;
307
+ }
308
+ }
309
+ if (matchers.hex4) {
310
+ if ((match = matchers.hex4.exec(color))) {
311
+ return (Number.parseInt(match[1] +
312
+ match[1] + // r
313
+ match[2] +
314
+ match[2] + // g
315
+ match[3] +
316
+ match[3] + // b
317
+ match[4] +
318
+ match[4], // a
319
+ 16) >>> 0);
320
+ }
321
+ }
322
+ if (matchers.hsl) {
323
+ if ((match = matchers.hsl.exec(color))) {
324
+ return ((hslToRgb(parse360(match[1]), // h
325
+ parsePercentage(match[2]), // s
326
+ parsePercentage(match[3]) // l
327
+ ) |
328
+ 0x000000ff) >>> // a
329
+ 0);
330
+ }
331
+ }
332
+ if (matchers.hsla) {
333
+ if ((match = matchers.hsla.exec(color))) {
334
+ return ((hslToRgb(parse360(match[1]), // h
335
+ parsePercentage(match[2]), // s
336
+ parsePercentage(match[3]) // l
337
+ ) |
338
+ parse1(match[4])) >>> // a
339
+ 0);
340
+ }
341
+ }
342
+ throw new Error(`invalid color string ${color} provided`);
343
+ }
344
+ const opacity = (c) => {
345
+ return ((c >> 24) & 255) / 255;
346
+ };
347
+ const red = (c) => {
348
+ return (c >> 16) & 255;
349
+ };
350
+ const green = (c) => {
351
+ return (c >> 8) & 255;
352
+ };
353
+ const blue = (c) => {
354
+ return c & 255;
355
+ };
356
+ const rgbaColor = (r, g, b, alpha) => {
357
+ return `rgba(${r}, ${g}, ${b}, ${alpha})`;
358
+ };
359
+ function processColorInitially(color) {
360
+ let normalizedColor = normalizeColor(color);
361
+ normalizedColor = ((normalizedColor << 24) | (normalizedColor >>> 8)) >>> 0; // argb
362
+ return normalizedColor;
363
+ }
364
+ function processColor(color) {
365
+ const normalizedColor = processColorInitially(color);
366
+ return normalizedColor;
367
+ }
368
+ const interpolateColorsRGB = (value, inputRange, colors) => {
369
+ const [r, g, b, a] = [red, green, blue, opacity].map((f) => {
370
+ const unrounded = (0, interpolate_1.interpolate)(value, inputRange, colors.map((c) => f(c)), {
371
+ extrapolateLeft: 'clamp',
372
+ extrapolateRight: 'clamp',
373
+ });
374
+ if (f === opacity) {
375
+ return Number(unrounded.toFixed(3));
376
+ }
377
+ return Math.round(unrounded);
378
+ });
379
+ return rgbaColor(r, g, b, a);
380
+ };
381
+ const interpolateColors = (input, inputRange, outputRange) => {
382
+ if (typeof input === 'undefined') {
383
+ throw new TypeError('input can not be undefined');
384
+ }
385
+ if (typeof inputRange === 'undefined') {
386
+ throw new TypeError('inputRange can not be undefined');
387
+ }
388
+ if (typeof outputRange === 'undefined') {
389
+ throw new TypeError('outputRange can not be undefined');
390
+ }
391
+ if (inputRange.length !== outputRange.length) {
392
+ throw new TypeError('inputRange (' +
393
+ inputRange.length +
394
+ ' values provided) and outputRange (' +
395
+ outputRange.length +
396
+ ' values provided) must have the same length');
397
+ }
398
+ const processedOutputRange = outputRange.map((c) => processColor(c));
399
+ return interpolateColorsRGB(input, inputRange, processedOutputRange);
400
+ };
401
+ exports.interpolateColors = interpolateColors;
@@ -0,0 +1,18 @@
1
+ declare type ExtrapolateType = 'extend' | 'identity' | 'clamp';
2
+ /**
3
+ * Map a value from an input range to an output range.
4
+ * @link https://www.remotion.dev/docs/interpolate
5
+ * @param {!number} input value to interpolate
6
+ * @param {!number[]} inputRange range of values that you expect the input to assume.
7
+ * @param {!number[]} outputRange range of output values that you want the input to map to.
8
+ * @param {?object} options
9
+ * @param {?Function} options.easing easing function which allows you to customize the input, for example to apply a certain easing function. By default, the input is left unmodified, resulting in a pure linear interpolation {@link https://www.remotion.dev/docs/easing}
10
+ * @param {string=} [options.extrapolateLeft="extend"] What should happen if the input value is outside left the input range, default: "extend" {@link https://www.remotion.dev/docs/interpolate#extrapolateleft}
11
+ * @param {string=} [options.extrapolateRight="extend"] Same as extrapolateLeft, except for values outside right the input range {@link https://www.remotion.dev/docs/interpolate#extrapolateright}
12
+ */
13
+ export declare function interpolate(input: number, inputRange: readonly number[], outputRange: readonly number[], options?: {
14
+ easing?: (input: number) => number;
15
+ extrapolateLeft?: ExtrapolateType;
16
+ extrapolateRight?: ExtrapolateType;
17
+ }): number;
18
+ export {};
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+ // Taken from https://github.com/facebook/react-native/blob/0b9ea60b4fee8cacc36e7160e31b91fc114dbc0d/Libraries/Animated/src/nodes/AnimatedInterpolation.js
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.interpolate = void 0;
5
+ function interpolateFunction(input, inputRange, outputRange, options) {
6
+ const { extrapolateLeft, extrapolateRight, easing } = options;
7
+ let result = input;
8
+ const [inputMin, inputMax] = inputRange;
9
+ const [outputMin, outputMax] = outputRange;
10
+ if (result < inputMin) {
11
+ if (extrapolateLeft === 'identity') {
12
+ return result;
13
+ }
14
+ if (extrapolateLeft === 'clamp') {
15
+ result = inputMin;
16
+ }
17
+ else if (extrapolateLeft === 'extend') {
18
+ // noop
19
+ }
20
+ }
21
+ if (result > inputMax) {
22
+ if (extrapolateRight === 'identity') {
23
+ return result;
24
+ }
25
+ if (extrapolateRight === 'clamp') {
26
+ result = inputMax;
27
+ }
28
+ else if (extrapolateRight === 'extend') {
29
+ // noop
30
+ }
31
+ }
32
+ if (outputMin === outputMax) {
33
+ return outputMin;
34
+ }
35
+ // Input Range
36
+ result = (result - inputMin) / (inputMax - inputMin);
37
+ // Easing
38
+ result = easing(result);
39
+ // Output Range
40
+ result = result * (outputMax - outputMin) + outputMin;
41
+ return result;
42
+ }
43
+ function findRange(input, inputRange) {
44
+ let i;
45
+ for (i = 1; i < inputRange.length - 1; ++i) {
46
+ if (inputRange[i] >= input) {
47
+ break;
48
+ }
49
+ }
50
+ return i - 1;
51
+ }
52
+ function checkValidInputRange(arr) {
53
+ for (let i = 1; i < arr.length; ++i) {
54
+ if (!(arr[i] > arr[i - 1])) {
55
+ throw new Error(`inputRange must be strictly monotonically non-decreasing but got [${arr.join(',')}]`);
56
+ }
57
+ }
58
+ }
59
+ function checkInfiniteRange(name, arr) {
60
+ if (arr.length < 2) {
61
+ throw new Error(name + ' must have at least 2 elements');
62
+ }
63
+ for (const index in arr) {
64
+ if (typeof arr[index] !== 'number') {
65
+ throw new Error(`${name} must contain only numbers`);
66
+ }
67
+ if (arr[index] === -Infinity || arr[index] === Infinity) {
68
+ throw new Error(`${name} must contain only finite numbers, but got [${arr.join(',')}]`);
69
+ }
70
+ }
71
+ }
72
+ /**
73
+ * Map a value from an input range to an output range.
74
+ * @link https://www.remotion.dev/docs/interpolate
75
+ * @param {!number} input value to interpolate
76
+ * @param {!number[]} inputRange range of values that you expect the input to assume.
77
+ * @param {!number[]} outputRange range of output values that you want the input to map to.
78
+ * @param {?object} options
79
+ * @param {?Function} options.easing easing function which allows you to customize the input, for example to apply a certain easing function. By default, the input is left unmodified, resulting in a pure linear interpolation {@link https://www.remotion.dev/docs/easing}
80
+ * @param {string=} [options.extrapolateLeft="extend"] What should happen if the input value is outside left the input range, default: "extend" {@link https://www.remotion.dev/docs/interpolate#extrapolateleft}
81
+ * @param {string=} [options.extrapolateRight="extend"] Same as extrapolateLeft, except for values outside right the input range {@link https://www.remotion.dev/docs/interpolate#extrapolateright}
82
+ */
83
+ function interpolate(input, inputRange, outputRange, options) {
84
+ var _a;
85
+ if (typeof input === 'undefined') {
86
+ throw new Error('input can not be undefined');
87
+ }
88
+ if (typeof inputRange === 'undefined') {
89
+ throw new Error('inputRange can not be undefined');
90
+ }
91
+ if (typeof outputRange === 'undefined') {
92
+ throw new Error('outputRange can not be undefined');
93
+ }
94
+ if (inputRange.length !== outputRange.length) {
95
+ throw new Error('inputRange (' +
96
+ inputRange.length +
97
+ ') and outputRange (' +
98
+ outputRange.length +
99
+ ') must have the same length');
100
+ }
101
+ checkInfiniteRange('inputRange', inputRange);
102
+ checkInfiniteRange('outputRange', outputRange);
103
+ checkValidInputRange(inputRange);
104
+ const easing = (_a = options === null || options === void 0 ? void 0 : options.easing) !== null && _a !== void 0 ? _a : ((num) => num);
105
+ let extrapolateLeft = 'extend';
106
+ if ((options === null || options === void 0 ? void 0 : options.extrapolateLeft) !== undefined) {
107
+ extrapolateLeft = options.extrapolateLeft;
108
+ }
109
+ let extrapolateRight = 'extend';
110
+ if ((options === null || options === void 0 ? void 0 : options.extrapolateRight) !== undefined) {
111
+ extrapolateRight = options.extrapolateRight;
112
+ }
113
+ if (typeof input !== 'number') {
114
+ throw new TypeError('Cannot interpolate an input which is not a number');
115
+ }
116
+ const range = findRange(input, inputRange);
117
+ return interpolateFunction(input, [inputRange[range], inputRange[range + 1]], [outputRange[range], outputRange[range + 1]], {
118
+ easing,
119
+ extrapolateLeft,
120
+ extrapolateRight,
121
+ });
122
+ }
123
+ exports.interpolate = interpolate;
@@ -0,0 +1 @@
1
+ export declare const isApproximatelyTheSame: (num1: number, num2: number) => boolean;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isApproximatelyTheSame = void 0;
4
+ const FLOATING_POINT_ERROR_THRESHOLD = 0.00001;
5
+ const isApproximatelyTheSame = (num1, num2) => {
6
+ return Math.abs(num1 - num2) < FLOATING_POINT_ERROR_THRESHOLD;
7
+ };
8
+ exports.isApproximatelyTheSame = isApproximatelyTheSame;
@@ -0,0 +1,3 @@
1
+ import type { PropsWithChildren } from 'react';
2
+ export declare const IsPlayerContextProvider: React.FC<PropsWithChildren>;
3
+ export declare const useIsPlayer: () => boolean;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useIsPlayer = exports.IsPlayerContextProvider = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_1 = require("react");
6
+ const IsPlayerContext = (0, react_1.createContext)(false);
7
+ const IsPlayerContextProvider = ({ children, }) => {
8
+ return (0, jsx_runtime_1.jsx)(IsPlayerContext.Provider, { value: true, children: children });
9
+ };
10
+ exports.IsPlayerContextProvider = IsPlayerContextProvider;
11
+ const useIsPlayer = () => {
12
+ return (0, react_1.useContext)(IsPlayerContext);
13
+ };
14
+ exports.useIsPlayer = useIsPlayer;
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export declare const Loading: React.FC;