@remotion/studio 4.0.438 → 4.0.440

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 (140) hide show
  1. package/dist/Studio.js +2 -2
  2. package/dist/api/helpers/calc-new-props.js +5 -8
  3. package/dist/api/update-default-props.d.ts +7 -3
  4. package/dist/api/update-default-props.js +7 -21
  5. package/dist/api/visual-control.js +6 -0
  6. package/dist/components/DefaultPropsEditor.d.ts +8 -0
  7. package/dist/components/DefaultPropsEditor.js +15 -0
  8. package/dist/components/Editor.js +0 -14
  9. package/dist/components/EditorContexts.js +6 -3
  10. package/dist/components/KeyboardShortcutsExplainer.js +6 -2
  11. package/dist/components/MenuBuildIndicator.js +1 -0
  12. package/dist/components/MenuToolbar.js +3 -1
  13. package/dist/components/NewComposition/InputDragger.js +2 -2
  14. package/dist/components/NewComposition/RemTextarea.js +4 -0
  15. package/dist/components/ObserveDefaultPropsContext.d.ts +11 -0
  16. package/dist/components/ObserveDefaultPropsContext.js +120 -0
  17. package/dist/components/OptionsPanel.js +90 -28
  18. package/dist/components/RenderModal/CrfSetting.d.ts +1 -1
  19. package/dist/components/RenderModal/DataEditor.d.ts +4 -5
  20. package/dist/components/RenderModal/DataEditor.js +9 -111
  21. package/dist/components/RenderModal/RenderModalJSONPropsEditor.d.ts +1 -1
  22. package/dist/components/RenderModal/RenderModalJSONPropsEditor.js +52 -48
  23. package/dist/components/RenderModal/SchemaEditor/Fieldset.d.ts +0 -1
  24. package/dist/components/RenderModal/SchemaEditor/SchemaEditor.d.ts +4 -9
  25. package/dist/components/RenderModal/SchemaEditor/SchemaEditor.js +2 -61
  26. package/dist/components/RenderModal/SchemaEditor/SchemaErrorMessages.d.ts +0 -1
  27. package/dist/components/RenderModal/SchemaEditor/SchemaErrorMessages.js +2 -3
  28. package/dist/components/RenderModal/SchemaEditor/SchemaLabel.d.ts +0 -6
  29. package/dist/components/RenderModal/SchemaEditor/SchemaLabel.js +2 -5
  30. package/dist/components/RenderModal/SchemaEditor/SchemaSeparationLine.d.ts +3 -1
  31. package/dist/components/RenderModal/SchemaEditor/SchemaSeparationLine.js +1 -1
  32. package/dist/components/RenderModal/SchemaEditor/ZodArrayEditor.d.ts +1 -6
  33. package/dist/components/RenderModal/SchemaEditor/ZodArrayEditor.js +15 -26
  34. package/dist/components/RenderModal/SchemaEditor/ZodArrayItemEditor.d.ts +0 -5
  35. package/dist/components/RenderModal/SchemaEditor/ZodArrayItemEditor.js +7 -12
  36. package/dist/components/RenderModal/SchemaEditor/ZodBooleanEditor.d.ts +0 -7
  37. package/dist/components/RenderModal/SchemaEditor/ZodBooleanEditor.js +5 -15
  38. package/dist/components/RenderModal/SchemaEditor/ZodColorEditor.d.ts +1 -6
  39. package/dist/components/RenderModal/SchemaEditor/ZodColorEditor.js +30 -28
  40. package/dist/components/RenderModal/SchemaEditor/ZodDateEditor.d.ts +1 -6
  41. package/dist/components/RenderModal/SchemaEditor/ZodDateEditor.js +13 -17
  42. package/dist/components/RenderModal/SchemaEditor/ZodDefaultEditor.d.ts +0 -5
  43. package/dist/components/RenderModal/SchemaEditor/ZodDefaultEditor.js +2 -2
  44. package/dist/components/RenderModal/SchemaEditor/ZodDiscriminatedUnionEditor.d.ts +1 -6
  45. package/dist/components/RenderModal/SchemaEditor/ZodDiscriminatedUnionEditor.js +13 -28
  46. package/dist/components/RenderModal/SchemaEditor/ZodEffectEditor.d.ts +1 -5
  47. package/dist/components/RenderModal/SchemaEditor/ZodEffectEditor.js +11 -12
  48. package/dist/components/RenderModal/SchemaEditor/ZodEnumEditor.d.ts +1 -5
  49. package/dist/components/RenderModal/SchemaEditor/ZodEnumEditor.js +12 -16
  50. package/dist/components/RenderModal/SchemaEditor/ZodFieldValidation.d.ts +2 -2
  51. package/dist/components/RenderModal/SchemaEditor/ZodFieldValidation.js +1 -2
  52. package/dist/components/RenderModal/SchemaEditor/ZodMatrixEditor.d.ts +1 -6
  53. package/dist/components/RenderModal/SchemaEditor/ZodMatrixEditor.js +20 -30
  54. package/dist/components/RenderModal/SchemaEditor/ZodNonEditableValue.d.ts +0 -2
  55. package/dist/components/RenderModal/SchemaEditor/ZodNonEditableValue.js +3 -6
  56. package/dist/components/RenderModal/SchemaEditor/ZodNullableEditor.d.ts +0 -5
  57. package/dist/components/RenderModal/SchemaEditor/ZodNullableEditor.js +2 -2
  58. package/dist/components/RenderModal/SchemaEditor/ZodNumberEditor.d.ts +1 -6
  59. package/dist/components/RenderModal/SchemaEditor/ZodNumberEditor.js +16 -21
  60. package/dist/components/RenderModal/SchemaEditor/ZodObjectEditor.d.ts +2 -7
  61. package/dist/components/RenderModal/SchemaEditor/ZodObjectEditor.js +27 -49
  62. package/dist/components/RenderModal/SchemaEditor/ZodOptionalEditor.d.ts +0 -5
  63. package/dist/components/RenderModal/SchemaEditor/ZodOptionalEditor.js +2 -2
  64. package/dist/components/RenderModal/SchemaEditor/ZodOrNullishEditor.d.ts +1 -6
  65. package/dist/components/RenderModal/SchemaEditor/ZodOrNullishEditor.js +8 -15
  66. package/dist/components/RenderModal/SchemaEditor/ZodStaticFileEditor.d.ts +1 -6
  67. package/dist/components/RenderModal/SchemaEditor/ZodStaticFileEditor.js +10 -15
  68. package/dist/components/RenderModal/SchemaEditor/ZodStringEditor.d.ts +1 -6
  69. package/dist/components/RenderModal/SchemaEditor/ZodStringEditor.js +13 -17
  70. package/dist/components/RenderModal/SchemaEditor/ZodSwitch.d.ts +3 -6
  71. package/dist/components/RenderModal/SchemaEditor/ZodSwitch.js +27 -27
  72. package/dist/components/RenderModal/SchemaEditor/ZodTextareaEditor.d.ts +0 -5
  73. package/dist/components/RenderModal/SchemaEditor/ZodTextareaEditor.js +45 -17
  74. package/dist/components/RenderModal/SchemaEditor/ZodTupleEditor.d.ts +1 -6
  75. package/dist/components/RenderModal/SchemaEditor/ZodTupleEditor.js +15 -26
  76. package/dist/components/RenderModal/SchemaEditor/ZodTupleItemEditor.d.ts +0 -5
  77. package/dist/components/RenderModal/SchemaEditor/ZodTupleItemEditor.js +4 -11
  78. package/dist/components/RenderModal/SchemaEditor/ZodUnionEditor.d.ts +0 -5
  79. package/dist/components/RenderModal/SchemaEditor/ZodUnionEditor.js +6 -6
  80. package/dist/components/RenderModal/ServerRenderModal.js +9 -3
  81. package/dist/components/RenderModal/WebRenderModal.js +9 -3
  82. package/dist/components/RenderModal/get-default-codecs.d.ts +5 -5
  83. package/dist/components/RenderModal/get-render-modal-warnings.d.ts +1 -2
  84. package/dist/components/RenderModal/get-render-modal-warnings.js +4 -6
  85. package/dist/components/RenderModal/human-readable-codec.d.ts +1 -1
  86. package/dist/components/RenderModal/human-readable-codec.js +3 -0
  87. package/dist/components/RenderModal/out-name-checker.d.ts +1 -1
  88. package/dist/components/RenderQueue/actions.d.ts +2 -3
  89. package/dist/components/RenderQueue/actions.js +1 -13
  90. package/dist/components/Timeline/Timeline.js +1 -1
  91. package/dist/components/Timeline/TimelineExpandedSection.js +7 -1
  92. package/dist/components/Timeline/TimelineFieldRow.d.ts +1 -0
  93. package/dist/components/Timeline/TimelineFieldRow.js +25 -3
  94. package/dist/components/Timeline/TimelineImageInfo.d.ts +5 -0
  95. package/dist/components/Timeline/TimelineImageInfo.js +61 -0
  96. package/dist/components/Timeline/TimelineListItem.js +1 -2
  97. package/dist/components/Timeline/TimelineNumberField.js +4 -6
  98. package/dist/components/Timeline/TimelineRotationField.js +4 -6
  99. package/dist/components/Timeline/TimelineSequence.js +9 -4
  100. package/dist/components/Timeline/TimelineStack/index.js +3 -1
  101. package/dist/components/Timeline/TimelineTracks.js +1 -1
  102. package/dist/components/Timeline/TimelineTranslateField.js +28 -13
  103. package/dist/components/TopPanel.js +10 -5
  104. package/dist/components/UndoRedoButtons.d.ts +2 -0
  105. package/dist/components/UndoRedoButtons.js +116 -0
  106. package/dist/components/VisualControls/VisualControlHandle.js +18 -18
  107. package/dist/components/VisualControls/VisualControlsUndoSync.d.ts +2 -0
  108. package/dist/components/VisualControls/VisualControlsUndoSync.js +23 -0
  109. package/dist/error-overlay/react-overlay/listen-to-runtime-errors.js +0 -1
  110. package/dist/esm/{chunk-ba0scebn.js → chunk-1x2ychmc.js} +4466 -5252
  111. package/dist/esm/index.mjs +25 -28
  112. package/dist/esm/internals.mjs +4466 -5252
  113. package/dist/esm/previewEntry.mjs +4652 -5497
  114. package/dist/esm/renderEntry.mjs +6 -6
  115. package/dist/helpers/client-id.js +13 -1
  116. package/dist/helpers/document-title.d.ts +0 -1
  117. package/dist/helpers/document-title.js +1 -17
  118. package/dist/helpers/render-modal-sections.d.ts +1 -1
  119. package/dist/helpers/timeline-layout.d.ts +1 -1
  120. package/dist/helpers/timeline-layout.js +1 -1
  121. package/dist/hot-middleware-client/client.d.ts +1 -6
  122. package/dist/hot-middleware-client/client.js +22 -73
  123. package/dist/hot-middleware-client/process-update.d.ts +0 -2
  124. package/dist/hot-middleware-client/process-update.js +6 -14
  125. package/dist/icons/redo.d.ts +3 -0
  126. package/dist/icons/redo.js +8 -0
  127. package/dist/icons/undo.d.ts +3 -0
  128. package/dist/icons/undo.js +8 -0
  129. package/dist/renderEntry.js +7 -6
  130. package/dist/visual-controls/VisualControls.js +9 -5
  131. package/dist/visual-controls/get-current-edited-value.js +5 -4
  132. package/dist/visual-controls/visual-control-store.d.ts +7 -0
  133. package/dist/visual-controls/visual-control-store.js +22 -0
  134. package/package.json +9 -9
  135. package/dist/components/GlobalPropsEditorUpdateButton.d.ts +0 -5
  136. package/dist/components/GlobalPropsEditorUpdateButton.js +0 -78
  137. package/dist/components/RenderModal/SchemaEditor/SchemaSaveButton.d.ts +0 -5
  138. package/dist/components/RenderModal/SchemaEditor/SchemaSaveButton.js +0 -18
  139. package/dist/components/RenderModal/SchemaEditor/local-state.d.ts +0 -25
  140. package/dist/components/RenderModal/SchemaEditor/local-state.js +0 -107
@@ -11,7 +11,6 @@ const get_zod_if_possible_1 = require("../get-zod-if-possible");
11
11
  const layout_1 = require("../layout");
12
12
  const NotificationCenter_1 = require("../Notifications/NotificationCenter");
13
13
  const extract_enum_json_paths_1 = require("../RenderModal/SchemaEditor/extract-enum-json-paths");
14
- const local_state_1 = require("../RenderModal/SchemaEditor/local-state");
15
14
  const ZodSwitch_1 = require("../RenderModal/SchemaEditor/ZodSwitch");
16
15
  const actions_1 = require("../RenderQueue/actions");
17
16
  const get_original_stack_trace_1 = require("./get-original-stack-trace");
@@ -25,23 +24,14 @@ const VisualControlHandle = ({ value, keyName }) => {
25
24
  const state = (0, react_1.useContext)(VisualControls_1.VisualControlsContext);
26
25
  const { updateValue } = (0, react_1.useContext)(VisualControls_1.SetVisualControlsContext);
27
26
  const { fastRefreshes, increaseManualRefreshes } = (0, react_1.useContext)(fast_refresh_context_1.FastRefreshContext);
28
- const [saving, setSaving] = (0, react_1.useState)(false);
27
+ const [_saving, setSaving] = (0, react_1.useState)(false);
29
28
  const currentValue = (0, get_current_edited_value_1.getVisualControlEditedValue)({
30
29
  handles: state.handles,
31
30
  key: keyName,
32
31
  });
33
32
  const originalFileName = (0, get_original_stack_trace_1.useOriginalFileName)(value.stack);
34
- const { localValue, RevisionContextProvider, onChange } = (0, local_state_1.useLocalState)({
35
- schema: value.schema,
36
- setValue: (updater) => {
37
- updateValue(keyName, updater(currentValue));
38
- increaseManualRefreshes();
39
- },
40
- unsavedValue: currentValue,
41
- savedValue: value.valueInCode,
42
- });
43
33
  const disableSave = window.remotion_isReadOnlyStudio || originalFileName.type !== 'loaded';
44
- const onSave = (0, react_1.useCallback)((updater) => {
34
+ const saveToFile = (0, react_1.useCallback)((updater) => {
45
35
  if (disableSave) {
46
36
  return;
47
37
  }
@@ -64,11 +54,14 @@ const VisualControlHandle = ({ value, keyName }) => {
64
54
  changes: [
65
55
  {
66
56
  id: keyName,
67
- newValueSerialized: no_react_1.NoReactInternals.serializeJSONWithSpecialTypes({
68
- data: val,
69
- indent: 2,
70
- staticBase: window.remotion_staticBase,
71
- }).serializedString,
57
+ newValueSerialized: val === undefined
58
+ ? ''
59
+ : no_react_1.NoReactInternals.serializeJSONWithSpecialTypes({
60
+ data: val,
61
+ indent: 2,
62
+ staticBase: window.remotion_staticBase,
63
+ }).serializedString,
64
+ newValueIsUndefined: val === undefined,
72
65
  enumPaths,
73
66
  },
74
67
  ],
@@ -90,8 +83,15 @@ const VisualControlHandle = ({ value, keyName }) => {
90
83
  (0, react_1.useEffect)(() => {
91
84
  setSaving(false);
92
85
  }, [fastRefreshes]);
86
+ const setValue = (0, react_1.useCallback)((updater, { shouldSave }) => {
87
+ updateValue(keyName, updater(currentValue));
88
+ increaseManualRefreshes();
89
+ if (shouldSave) {
90
+ saveToFile(updater);
91
+ }
92
+ }, [currentValue, increaseManualRefreshes, keyName, saveToFile, updateValue]);
93
93
  return (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: [
94
- jsx_runtime_1.jsx(VisualControlHandleHeader_1.VisualControlHandleHeader, { originalFileName: originalFileName }), jsx_runtime_1.jsx(layout_1.Spacing, { block: true, y: 0.5 }), jsx_runtime_1.jsx(RevisionContextProvider, { children: jsx_runtime_1.jsx(ZodSwitch_1.ZodSwitch, { mayPad: true, schema: value.schema, showSaveButton: !disableSave, saving: saving, saveDisabledByParent: false, onSave: onSave, jsonPath: [keyName], value: localValue.value, defaultValue: value.valueInCode, setValue: onChange, onRemove: null }) })
94
+ jsx_runtime_1.jsx(VisualControlHandleHeader_1.VisualControlHandleHeader, { originalFileName: originalFileName }), jsx_runtime_1.jsx(layout_1.Spacing, { block: true, y: 0.5 }), jsx_runtime_1.jsx(ZodSwitch_1.ZodSwitch, { mayPad: true, schema: value.schema, jsonPath: [keyName], value: currentValue, setValue: setValue, onRemove: null })
95
95
  ] }));
96
96
  };
97
97
  exports.VisualControlHandle = VisualControlHandle;
@@ -0,0 +1,2 @@
1
+ import type React from 'react';
2
+ export declare const VisualControlsUndoSync: React.FC;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VisualControlsUndoSync = void 0;
4
+ const react_1 = require("react");
5
+ const client_id_1 = require("../../helpers/client-id");
6
+ const VisualControls_1 = require("../../visual-controls/VisualControls");
7
+ const VisualControlsUndoSync = () => {
8
+ const { subscribeToEvent } = (0, react_1.useContext)(client_id_1.StudioServerConnectionCtx);
9
+ const { updateValue } = (0, react_1.useContext)(VisualControls_1.SetVisualControlsContext);
10
+ (0, react_1.useEffect)(() => {
11
+ const unsub = subscribeToEvent('visual-control-values-changed', (event) => {
12
+ if (event.type !== 'visual-control-values-changed') {
13
+ return;
14
+ }
15
+ for (const entry of event.values) {
16
+ updateValue(entry.id, entry.isUndefined ? undefined : entry.value);
17
+ }
18
+ });
19
+ return () => unsub();
20
+ }, [subscribeToEvent, updateValue]);
21
+ return null;
22
+ };
23
+ exports.VisualControlsUndoSync = VisualControlsUndoSync;
@@ -38,7 +38,6 @@ const crashWithFrames = (crash) => (error) => {
38
38
  if (didHookOrderChange && !justRefreshedBecauseOfHooks) {
39
39
  // eslint-disable-next-line no-console
40
40
  console.log('Hook order changed. Reloading app...');
41
- window.remotion_unsavedProps = false;
42
41
  (0, url_state_1.reloadUrl)();
43
42
  }
44
43
  else {