@remotion/studio 4.0.229 → 4.0.231

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.
@@ -1,5 +1,5 @@
1
1
 
2
2
  
3
- > @remotion/studio@4.0.228 make /Users/jonathanburger/remotion/packages/studio
3
+ > @remotion/studio@4.0.230 make /Users/jonathanburger/remotion/packages/studio
4
4
  > tsc -d && bun --env-file=../.env.bundle bundle.ts
5
5
 
@@ -15,6 +15,10 @@ const updateDefaultProps = ({ compositionId, defaultProps, }) => {
15
15
  [composition.id]: generatedDefaultProps,
16
16
  };
17
17
  });
18
- window.dispatchEvent(new CustomEvent(remotion_1.Internals.PROPS_UPDATED_EXTERNALLY));
18
+ window.dispatchEvent(new CustomEvent(remotion_1.Internals.PROPS_UPDATED_EXTERNALLY, {
19
+ detail: {
20
+ resetUnsaved: false,
21
+ },
22
+ }));
19
23
  };
20
24
  exports.updateDefaultProps = updateDefaultProps;
@@ -122,16 +122,19 @@ const AssetSelector = ({ readOnlyStudio }) => {
122
122
  e.preventDefault();
123
123
  e.stopPropagation();
124
124
  const { files } = e.dataTransfer;
125
- const assetPath = dropLocation || '/';
125
+ const assetPath = dropLocation !== null && dropLocation !== void 0 ? dropLocation : null;
126
+ const makePath = (file) => {
127
+ return [assetPath, file.name].filter(Boolean).join('/');
128
+ };
126
129
  for (const file of files) {
127
130
  const body = await file.arrayBuffer();
128
131
  await (0, write_static_file_1.writeStaticFile)({
129
132
  contents: body,
130
- filePath: file.name,
133
+ filePath: makePath(file),
131
134
  });
132
135
  }
133
136
  if (files.length === 1) {
134
- (0, NotificationCenter_1.showNotification)(`Added ${files[0].name} to ${assetPath}`, 3000);
137
+ (0, NotificationCenter_1.showNotification)(`Created ${makePath(files[0])}`, 3000);
135
138
  }
136
139
  else {
137
140
  (0, NotificationCenter_1.showNotification)(`Added ${files.length} files to ${assetPath}`, 3000);
@@ -96,8 +96,10 @@ const OptionsPanel = ({ readOnlyStudio }) => {
96
96
  }
97
97
  return !(0, deep_equal_1.deepEqual)(composition.defaultProps, currentDefaultProps);
98
98
  }, [currentDefaultProps, composition]);
99
- const reset = (0, react_1.useCallback)(() => {
100
- resetUnsaved();
99
+ const reset = (0, react_1.useCallback)((e) => {
100
+ if (e.detail.resetUnsaved) {
101
+ resetUnsaved();
102
+ }
101
103
  }, [resetUnsaved]);
102
104
  (0, react_1.useEffect)(() => {
103
105
  window.addEventListener(remotion_1.Internals.PROPS_UPDATED_EXTERNALLY, reset);
@@ -21,7 +21,8 @@ const useLocalState = ({ unsavedValue, schema, setValue, savedValue, }) => {
21
21
  };
22
22
  });
23
23
  const localUnsavedValue = (0, react_1.useMemo)(() => {
24
- if (localValueOrNull[parentRevision] === null) {
24
+ var _a;
25
+ if (((_a = localValueOrNull[parentRevision]) !== null && _a !== void 0 ? _a : null) === null) {
25
26
  return {
26
27
  value: unsavedValue,
27
28
  keyStabilityRevision: 0,
@@ -4041,7 +4041,11 @@ var updateDefaultProps = ({
4041
4041
  [composition.id]: generatedDefaultProps
4042
4042
  };
4043
4043
  });
4044
- window.dispatchEvent(new CustomEvent(Internals3.PROPS_UPDATED_EXTERNALLY));
4044
+ window.dispatchEvent(new CustomEvent(Internals3.PROPS_UPDATED_EXTERNALLY, {
4045
+ detail: {
4046
+ resetUnsaved: false
4047
+ }
4048
+ }));
4045
4049
  };
4046
4050
  // src/api/watch-public-folder.ts
4047
4051
  import { getRemotionEnvironment as getRemotionEnvironment5 } from "remotion";
@@ -3812,16 +3812,19 @@ var AssetSelector = ({ readOnlyStudio }) => {
3812
3812
  e.preventDefault();
3813
3813
  e.stopPropagation();
3814
3814
  const { files } = e.dataTransfer;
3815
- const assetPath = dropLocation || "/";
3815
+ const assetPath = dropLocation ?? null;
3816
+ const makePath = (file) => {
3817
+ return [assetPath, file.name].filter(Boolean).join("/");
3818
+ };
3816
3819
  for (const file of files) {
3817
3820
  const body = await file.arrayBuffer();
3818
3821
  await writeStaticFile({
3819
3822
  contents: body,
3820
- filePath: file.name
3823
+ filePath: makePath(file)
3821
3824
  });
3822
3825
  }
3823
3826
  if (files.length === 1) {
3824
- showNotification(`Added ${files[0].name} to ${assetPath}`, 3000);
3827
+ showNotification(`Created ${makePath(files[0])}`, 3000);
3825
3828
  } else {
3826
3829
  showNotification(`Added ${files.length} files to ${assetPath}`, 3000);
3827
3830
  }
@@ -11896,7 +11899,7 @@ var useLocalState = ({
11896
11899
  };
11897
11900
  });
11898
11901
  const localUnsavedValue = useMemo61(() => {
11899
- if (localValueOrNull[parentRevision] === null) {
11902
+ if ((localValueOrNull[parentRevision] ?? null) === null) {
11900
11903
  return {
11901
11904
  value: unsavedValue,
11902
11905
  keyStabilityRevision: 0,
@@ -15451,8 +15454,10 @@ var OptionsPanel = ({ readOnlyStudio }) => {
15451
15454
  }
15452
15455
  return !deepEqual(composition.defaultProps, currentDefaultProps);
15453
15456
  }, [currentDefaultProps, composition]);
15454
- const reset = useCallback73(() => {
15455
- resetUnsaved();
15457
+ const reset = useCallback73((e) => {
15458
+ if (e.detail.resetUnsaved) {
15459
+ resetUnsaved();
15460
+ }
15456
15461
  }, [resetUnsaved]);
15457
15462
  useEffect45(() => {
15458
15463
  window.addEventListener(Internals34.PROPS_UPDATED_EXTERNALLY, reset);
@@ -24,4 +24,4 @@ export declare const TIMELINE_TRACK_SEPARATOR = "rgba(0, 0, 0, 0.3)";
24
24
  export declare const getBackgroundFromHoverState: ({ selected, hovered, }: {
25
25
  selected: boolean;
26
26
  hovered: boolean;
27
- }) => "transparent" | "hsla(0, 0%, 100%, 0.15)" | "hsla(0, 0%, 100%, 0.25)" | "rgba(255, 255, 255, 0.06)";
27
+ }) => "hsla(0, 0%, 100%, 0.15)" | "rgba(255, 255, 255, 0.06)" | "hsla(0, 0%, 100%, 0.25)" | "transparent";
@@ -1,2 +1,2 @@
1
1
  import type { X264Preset } from '@remotion/renderer';
2
- export declare const labelx264Preset: (profile: X264Preset) => "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo";
2
+ export declare const labelx264Preset: (profile: X264Preset) => "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo";
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "url": "https://github.com/remotion-dev/remotion/tree/main/packages/studio"
4
4
  },
5
5
  "name": "@remotion/studio",
6
- "version": "4.0.229",
6
+ "version": "4.0.231",
7
7
  "description": "APIs for interacting with the Remotion Studio",
8
8
  "main": "dist",
9
9
  "sideEffects": false,
@@ -18,11 +18,11 @@
18
18
  "memfs": "3.4.3",
19
19
  "source-map": "0.7.3",
20
20
  "open": "^8.4.2",
21
- "remotion": "4.0.229",
22
- "@remotion/player": "4.0.229",
23
- "@remotion/media-utils": "4.0.229",
24
- "@remotion/studio-shared": "4.0.229",
25
- "@remotion/renderer": "4.0.229"
21
+ "remotion": "4.0.231",
22
+ "@remotion/renderer": "4.0.231",
23
+ "@remotion/player": "4.0.231",
24
+ "@remotion/media-utils": "4.0.231",
25
+ "@remotion/studio-shared": "4.0.231"
26
26
  },
27
27
  "devDependencies": {
28
28
  "react": "18.3.1",
@@ -30,8 +30,8 @@
30
30
  "@types/semver": "^7.3.4",
31
31
  "zod": "3.22.3",
32
32
  "eslint": "9.14.0",
33
- "@remotion/zod-types": "4.0.229",
34
- "@remotion/eslint-config-internal": "4.0.229"
33
+ "@remotion/zod-types": "4.0.231",
34
+ "@remotion/eslint-config-internal": "4.0.231"
35
35
  },
36
36
  "publishConfig": {
37
37
  "access": "public"