@remotion/studio 4.0.235 → 4.0.237

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 (35) hide show
  1. package/.turbo/turbo-formatting.log +7 -0
  2. package/.turbo/turbo-lint.log +15 -0
  3. package/.turbo/turbo-make.log +1 -1
  4. package/.turbo/turbo-test.log +86 -0
  5. package/dist/components/CompositionSelector.d.ts +1 -1
  6. package/dist/components/EditorRuler/index.d.ts +1 -1
  7. package/dist/components/ExplorerPanel.d.ts +1 -1
  8. package/dist/components/OptionsPanel.d.ts +1 -1
  9. package/dist/components/RenderModal/SchemaEditor/SchemaSeparationLine.d.ts +1 -0
  10. package/dist/components/RenderModal/SchemaEditor/SchemaSeparationLine.js +17 -4
  11. package/dist/components/RenderModal/SchemaEditor/ZodArrayEditor.js +2 -2
  12. package/dist/components/RenderModal/SchemaEditor/ZodSwitch.js +4 -0
  13. package/dist/components/RenderModal/SchemaEditor/ZodTupleEditor.d.ts +17 -0
  14. package/dist/components/RenderModal/SchemaEditor/ZodTupleEditor.js +75 -0
  15. package/dist/components/RenderModal/SchemaEditor/ZodTupleItemEditor.d.ts +15 -0
  16. package/dist/components/RenderModal/SchemaEditor/ZodTupleItemEditor.js +30 -0
  17. package/dist/components/RenderModal/SchemaEditor/scroll-to-default-props-path.d.ts +1 -1
  18. package/dist/components/RenderQueue/context.d.ts +1 -1
  19. package/dist/components/Splitter/SplitterContext.d.ts +1 -1
  20. package/dist/components/TimeValue.d.ts +1 -1
  21. package/dist/components/Timeline/TimelineInOutPointer.d.ts +2 -2
  22. package/dist/components/Timeline/TimelineInOutPointerHandle.d.ts +2 -2
  23. package/dist/components/Timeline/TimelineSlider.d.ts +1 -1
  24. package/dist/components/Timeline/timeline-refs.d.ts +3 -3
  25. package/dist/components/TimelineInOutToggle.d.ts +1 -1
  26. package/dist/components/TopPanel.d.ts +1 -1
  27. package/dist/error-overlay/remotion-overlay/Overlay.d.ts +1 -1
  28. package/dist/error-overlay/remotion-overlay/index.js +5 -0
  29. package/dist/esm/internals.mjs +2087 -1891
  30. package/dist/helpers/editor-ruler.d.ts +1 -1
  31. package/dist/previewEntry.js +1 -0
  32. package/dist/state/canvas-ref.d.ts +2 -2
  33. package/dist/state/timeline-ref.d.ts +1 -1
  34. package/package.json +10 -10
  35. package/tsconfig.tsbuildinfo +1 -1
@@ -0,0 +1,7 @@
1
+
2
+ 
3
+ > @remotion/studio@4.0.235 formatting /Users/jonathanburger/remotion/packages/studio
4
+ > prettier src --check
5
+
6
+ Checking formatting...
7
+ src/api/delete-static-file.tssrc/api/focus-default-props-path.tssrc/api/get-static-files.tssrc/api/helpers/calc-new-props.tssrc/api/install-package.tssrc/api/reevaluate-composition.tssrc/api/restart-studio.tssrc/api/save-default-props.tssrc/api/update-default-props.tssrc/api/watch-public-folder.tssrc/api/watch-static-file.tssrc/api/write-static-file.tssrc/components/.DS_Storesrc/components/AssetSelector.tsxsrc/components/AssetSelectorItem.tsxsrc/components/AudioWaveform.tsxsrc/components/AudioWaveformBar.tsxsrc/components/Button.tsxsrc/components/call-api.tssrc/components/Canvas.tsxsrc/components/CanvasIfSizeIsAvailable.tsxsrc/components/CanvasOrLoading.tsxsrc/components/CheckboardToggle.tsxsrc/components/Checkbox.tsxsrc/components/CheckerboardProvider.tsxsrc/components/CompositionContextButton.tsxsrc/components/CompositionSelector.tsxsrc/components/CompositionSelectorItem.tsxsrc/components/ContextMenu.tsxsrc/components/ControlButton.tsxsrc/components/CopyButton.tsxsrc/components/CurrentComposition.tsxsrc/components/CurrentCompositionSideEffects.tsxsrc/components/Editor.tsxsrc/components/EditorContent.tsxsrc/components/EditorContexts.tsxsrc/components/EditorGuides/Guide.tsxsrc/components/EditorGuides/index.tsxsrc/components/EditorRuler/index.tsxsrc/components/EditorRuler/Ruler.tsxsrc/components/EditorRuler/use-is-ruler-visible.tssrc/components/ExplorerPanel.tsxsrc/components/FilePreview.tsxsrc/components/FpsCounter.tsxsrc/components/FramePersistor.tsxsrc/components/FullscreenToggle.tsxsrc/components/get-zod-if-possible.tsxsrc/components/GlobalKeybindings.tsxsrc/components/GlobalPropsEditorUpdateButton.tsxsrc/components/InitialCompositionLoader.tsxsrc/components/InlineAction.tsxsrc/components/InlineDropdown.tsxsrc/components/InstallablePackage.tsxsrc/components/InstallPackage.tsxsrc/components/JSONViewer.tsxsrc/components/KeyboardShortcutsExplainer.tsxsrc/components/KnownBugs.tsxsrc/components/layout.tsxsrc/components/load-canvas-content-from-url.tssrc/components/LoopToggle.tsxsrc/components/MediaVolumeProvider.tsxsrc/components/Menu/is-menu-item.tsxsrc/components/Menu/MenuDivider.tsxsrc/components/Menu/MenuItem.tsxsrc/components/Menu/MenuSubItem.tsxsrc/components/Menu/portals.tssrc/components/Menu/styles.tssrc/components/Menu/SubMenu.tsxsrc/components/MenuBuildIndicator.tsxsrc/components/MenuToolbar.tsxsrc/components/MobilePanel.tsxsrc/components/ModalButton.tsxsrc/components/ModalContainer.tsxsrc/components/ModalFooter.tsxsrc/components/ModalHeader.tsxsrc/components/Modals.tsxsrc/components/ModalsProvider.tsxsrc/components/MuteToggle.tsxsrc/components/NewComposition/CancelButton.tsxsrc/components/NewComposition/CodemodFooter.tsxsrc/components/NewComposition/ComboBox.tsxsrc/components/NewComposition/DeleteComposition.tsxsrc/components/NewComposition/DiffPreview.tsxsrc/components/NewComposition/DismissableModal.tsxsrc/components/NewComposition/DuplicateComposition.tsxsrc/components/NewComposition/InputDragger.tsxsrc/components/NewComposition/MenuContent.tsxsrc/components/NewComposition/NewCompDuration.tsxsrc/components/NewComposition/RemInput.tsxsrc/components/NewComposition/RemInputTypeColor.tsxsrc/components/NewComposition/RemTextarea.tsxsrc/components/NewComposition/RenameComposition.tsxsrc/components/NewComposition/render-aspect-ratio.tsxsrc/components/NewComposition/ValidationMessage.tsxsrc/components/NoRegisterRoot.tsxsrc/components/Notifications/ColorDot.tsxsrc/components/Notifications/Notification.tsxsrc/components/Notifications/NotificationCenter.tsxsrc/components/Notifications/ServerDisconnected.tsxsrc/components/OpenEditorButton.tsxsrc/components/OptionsPanel.tsxsrc/components/PlaybackKeyboardShortcutsManager.tsxsrc/components/PlaybackRatePersistor.tsxsrc/components/PlaybackRateSelector.tsxsrc/components/PlayBeepSound.tsxsrc/components/PlayPause.tsxsrc/components/Preview.tsxsrc/components/PreviewToolbar.tsxsrc/components/QuickSwitcher/algolia-search.tssrc/components/QuickSwitcher/AlgoliaCredit.tsxsrc/components/QuickSwitcher/fuzzy-search.tssrc/components/QuickSwitcher/NoResults.tsxsrc/components/QuickSwitcher/QuickSwitcher.tsxsrc/components/QuickSwitcher/QuickSwitcherContent.tsxsrc/components/QuickSwitcher/QuickSwitcherResult.tsxsrc/components/RefreshCompositionOverlay.tsxsrc/components/RenderButton.tsxsrc/components/RenderModal/CliCopyButton.tsxsrc/components/RenderModal/CrfSetting.tsxsrc/components/RenderModal/DataEditor.tsxsrc/components/RenderModal/EnforceAudioTrackSetting.tsxsrc/components/RenderModal/EnvInput.tsxsrc/components/RenderModal/FrameRangeSetting.tsxsrc/components/RenderModal/get-default-codecs.tssrc/components/RenderModal/get-render-modal-warnings.tssrc/components/RenderModal/get-string-before-suffix.tssrc/components/RenderModal/GuiRenderStatus.tsxsrc/components/RenderModal/human-readable-audio-codecs.tssrc/components/RenderModal/human-readable-codec.tssrc/components/RenderModal/InfoBubble.tsxsrc/components/RenderModal/InfoTooltip.tsxsrc/components/RenderModal/InlineEyeIcon.tsxsrc/components/RenderModal/InlineRemoveButton.tsxsrc/components/RenderModal/JpegQualitySetting.tsxsrc/components/RenderModal/layout.tssrc/components/RenderModal/MultiRangeSlider.tsxsrc/components/RenderModal/MutedSetting.tsxsrc/components/RenderModal/NumberOfLoopsSetting.tsxsrc/components/RenderModal/NumberSetting.tsxsrc/components/RenderModal/OptionExplainer.tsxsrc/components/RenderModal/OptionExplainerBubble.tsxsrc/components/RenderModal/out-name-checker.tssrc/components/RenderModal/RenderModal.tsxsrc/components/RenderModal/RenderModalAdvanced.tsxsrc/components/RenderModal/RenderModalAudio.tsxsrc/components/RenderModal/RenderModalBasic.tsxsrc/components/RenderModal/RenderModalEnvironmentVariables.tsxsrc/components/RenderModal/RenderModalGif.tsxsrc/components/RenderModal/RenderModalHr.tsxsrc/components/RenderModal/RenderModalJSONPropsEditor.tsxsrc/components/RenderModal/RenderModalOutputName.tsxsrc/components/RenderModal/RenderModalPicture.tsxsrc/components/RenderModal/RenderStatusModal.tsxsrc/components/RenderModal/ResolveCompositionBeforeModal.tsxsrc/components/RenderModal/ScaleSetting.tsxsrc/components/RenderModal/SchemaEditor/create-zod-values.tssrc/components/RenderModal/SchemaEditor/deep-equal.tssrc/components/RenderModal/SchemaEditor/extract-enum-json-paths.tssrc/components/RenderModal/SchemaEditor/Fieldset.tsxsrc/components/RenderModal/SchemaEditor/get-schema-label.tssrc/components/RenderModal/SchemaEditor/local-state.tsxsrc/components/RenderModal/SchemaEditor/SchemaEditor.tsxsrc/components/RenderModal/SchemaEditor/SchemaErrorMessages.tsxsrc/components/RenderModal/SchemaEditor/SchemaLabel.tsxsrc/components/RenderModal/SchemaEditor/SchemaResetButton.tsxsrc/components/RenderModal/SchemaEditor/SchemaSaveButton.tsxsrc/components/RenderModal/SchemaEditor/SchemaSeparationLine.tsxsrc/components/RenderModal/SchemaEditor/SchemaVerticalGuide.tsxsrc/components/RenderModal/SchemaEditor/scroll-to-default-props-path.tssrc/components/RenderModal/SchemaEditor/zod-types.tssrc/components/RenderModal/SchemaEditor/ZodArrayEditor.tsxsrc/components/RenderModal/SchemaEditor/ZodArrayItemEditor.tsxsrc/components/RenderModal/SchemaEditor/ZodBooleanEditor.tsxsrc/components/RenderModal/SchemaEditor/ZodColorEditor.tsxsrc/components/RenderModal/SchemaEditor/ZodDateEditor.tsxsrc/components/RenderModal/SchemaEditor/ZodDefaultEditor.tsxsrc/components/RenderModal/SchemaEditor/ZodDiscriminatedUnionEditor.tsxsrc/components/RenderModal/SchemaEditor/ZodEffectEditor.tsxsrc/components/RenderModal/SchemaEditor/ZodEnumEditor.tsxsrc/components/RenderModal/SchemaEditor/ZodErrorMessages.tsxsrc/components/RenderModal/SchemaEditor/ZodFieldValidation.tsxsrc/components/RenderModal/SchemaEditor/ZodNonEditableValue.tsxsrc/components/RenderModal/SchemaEditor/ZodNullableEditor.tsxsrc/components/RenderModal/SchemaEditor/ZodNumberEditor.tsxsrc/components/RenderModal/SchemaEditor/ZodObjectEditor.tsxsrc/components/RenderModal/SchemaEditor/ZodOptionalEditor.tsxsrc/components/RenderModal/SchemaEditor/ZodOrNullishEditor.tsxsrc/components/RenderModal/SchemaEditor/ZodStaticFileEditor.tsxsrc/components/RenderModal/SchemaEditor/ZodStringEditor.tsxsrc/components/RenderModal/SchemaEditor/ZodSwitch.tsxsrc/components/RenderModal/SchemaEditor/ZodTextareaEditor.tsxsrc/components/RenderModal/SchemaEditor/ZodUnionEditor.tsxsrc/components/RenderModal/SeparateAudioOption.tsxsrc/components/RenderModal/WarningIndicatorButton.tsxsrc/components/RenderPreview.tsxsrc/components/RenderQueue/actions.tssrc/components/RenderQueue/CircularProgress.tsxsrc/components/RenderQueue/context.tsxsrc/components/RenderQueue/index.tsxsrc/components/RenderQueue/item-style.tssrc/components/RenderQueue/RenderQueueCopyToClipboard.tsxsrc/components/RenderQueue/RenderQueueError.tsxsrc/components/RenderQueue/RenderQueueItem.tsxsrc/components/RenderQueue/RenderQueueItemCancelButton.tsxsrc/components/RenderQueue/RenderQueueItemStatus.tsxsrc/components/RenderQueue/RenderQueueOpenInFolder.tsxsrc/components/RenderQueue/RenderQueueOutputName.tsxsrc/components/RenderQueue/RenderQueueProgressMessage.tsxsrc/components/RenderQueue/RenderQueueRemoveItem.tsxsrc/components/RenderQueue/RenderQueueRepeat.tsxsrc/components/RenderQueue/SuccessIcon.tsxsrc/components/RendersTab.tsxsrc/components/ResetZoomButton.tsxsrc/components/RunningCalculateMetadata.tsxsrc/components/SegmentedControl.tsxsrc/components/SetTimelineInOutProvider.tsxsrc/components/ShowGuidesProvider.tsxsrc/components/ShowRulersProvider.tsxsrc/components/SidebarCollapserControls.tsxsrc/components/SidebarRenderButton.tsxsrc/components/SizeSelector.tsxsrc/components/Spinner.tsxsrc/components/Splitter/SplitterContainer.tsxsrc/components/Splitter/SplitterContext.tsxsrc/components/Splitter/SplitterElement.tsxsrc/components/Splitter/SplitterHandle.tsxsrc/components/StaticFilePreview.tsxsrc/components/Tabs/index.tsxsrc/components/Tabs/vertical.tsxsrc/components/TextViewer.tsxsrc/components/Timeline/imperative-state.tssrc/components/Timeline/is-collapsed.tssrc/components/Timeline/LoopedIndicator.tsxsrc/components/Timeline/LoopedTimelineIndicators.tsxsrc/components/Timeline/MaxTimelineTracks.tsxsrc/components/Timeline/timeline-refs.tssrc/components/Timeline/timeline-scroll-logic.tssrc/components/Timeline/Timeline.tsxsrc/components/Timeline/TimelineCollapseToggle.tsxsrc/components/Timeline/TimelineDragHandler.tsxsrc/components/Timeline/TimelineInOutPointer.tsxsrc/components/Timeline/TimelineInOutPointerHandle.tsxsrc/components/Timeline/TimelineLayerEye.tsxsrc/components/Timeline/TimelineList.tsxsrc/components/Timeline/TimelineListItem.tsxsrc/components/Timeline/TimelinePlayCursorSyncer.tsxsrc/components/Timeline/TimelineScrollable.tsxsrc/components/Timeline/TimelineSequence.tsxsrc/components/Timeline/TimelineSequenceFrame.tsxsrc/components/Timeline/TimelineSlider.tsxsrc/components/Timeline/TimelineSliderHandle.tsxsrc/components/Timeline/TimelineStack/get-stack.tssrc/components/Timeline/TimelineStack/index.tsxsrc/components/Timeline/TimelineStack/source-attribution.tssrc/components/Timeline/TimelineTimeIndicators.tsxsrc/components/Timeline/TimelineTracks.tsxsrc/components/Timeline/TimelineVideoInfo.tsxsrc/components/Timeline/TimelineWidthProvider.tsxsrc/components/Timeline/TimelineZoomControls.tsxsrc/components/TimelineInOutToggle.tsxsrc/components/TimeValue.tsxsrc/components/TopPanel.tsxsrc/components/UpdateCheck.tsxsrc/components/UpdateModal/OpenIssueButton.tsxsrc/components/UpdateModal/UpdateModal.tsxsrc/components/ZoomGesturesProvider.tsxsrc/components/ZoomPersistor.tsxsrc/error-overlay/entry-basic.tssrc/error-overlay/react-overlay/effects/format-warning.tssrc/error-overlay/react-overlay/effects/proxy-console.tssrc/error-overlay/react-overlay/effects/resolve-file-source.tssrc/error-overlay/react-overlay/effects/stack-trace-limit.tssrc/error-overlay/react-overlay/effects/unhandled-error.tssrc/error-overlay/react-overlay/effects/unhandled-rejection.tssrc/error-overlay/react-overlay/index.tssrc/error-overlay/react-overlay/listen-to-runtime-errors.tssrc/error-overlay/react-overlay/utils/get-lines-around.tssrc/error-overlay/react-overlay/utils/get-source-map.tssrc/error-overlay/react-overlay/utils/get-stack-frames.tssrc/error-overlay/react-overlay/utils/make-stack-frame.tssrc/error-overlay/react-overlay/utils/parser.tssrc/error-overlay/react-overlay/utils/unmapper.tssrc/error-overlay/remotion-overlay/AskOnDiscord.tsxsrc/error-overlay/remotion-overlay/CalculateMetadataErrorExplainer.tsxsrc/error-overlay/remotion-overlay/carets.tsxsrc/error-overlay/remotion-overlay/CodeFrame.tsxsrc/error-overlay/remotion-overlay/DismissButton.tsxsrc/error-overlay/remotion-overlay/ErrorDisplay.tsxsrc/error-overlay/remotion-overlay/ErrorLoader.tsxsrc/error-overlay/remotion-overlay/ErrorMessage.tsxsrc/error-overlay/remotion-overlay/ErrorTitle.tsxsrc/error-overlay/remotion-overlay/format-location.tssrc/error-overlay/remotion-overlay/get-help-link.tssrc/error-overlay/remotion-overlay/HelpLink.tsxsrc/error-overlay/remotion-overlay/index.tsxsrc/error-overlay/remotion-overlay/OpenInEditor.tsxsrc/error-overlay/remotion-overlay/Overlay.tsxsrc/error-overlay/remotion-overlay/Retry.tsxsrc/error-overlay/remotion-overlay/SearchGitHubIssues.tsxsrc/error-overlay/remotion-overlay/ShortcutHint.tsxsrc/error-overlay/remotion-overlay/StackFrame.tsxsrc/error-overlay/remotion-overlay/Symbolicating.tsxsrc/helpers/calculate-timeline.tssrc/helpers/check-fullscreen-support.tssrc/helpers/checkerboard-background.tssrc/helpers/client-id.tsxsrc/helpers/color-math.tssrc/helpers/colors.tssrc/helpers/convert-env-variables.tssrc/helpers/copy-text.tssrc/helpers/create-folder-tree.tssrc/helpers/document-title.tssrc/helpers/editor-ruler.tssrc/helpers/get-asset-metadata.tssrc/helpers/get-effective-translation.tssrc/helpers/get-git-menu-item.tssrc/helpers/get-left-of-timeline-slider.tssrc/helpers/get-location-of-sequence.tssrc/helpers/get-sequence-visible-range.tssrc/helpers/get-timeline-nestedness.tssrc/helpers/get-timeline-sequence-hash.tssrc/helpers/get-timeline-sequence-layout.tssrc/helpers/get-timeline-sequence-sort-key.tssrc/helpers/inject-css.tssrc/helpers/is-composition-still.tssrc/helpers/is-current-selected-still.tssrc/helpers/mobile-layout.tssrc/helpers/noop.tssrc/helpers/open-in-editor.tssrc/helpers/persist-open-folders.tssrc/helpers/pick-color.tsxsrc/helpers/presets-labels.tssrc/helpers/prores-labels.tssrc/helpers/render-modal-sections.tssrc/helpers/retry-payload.tssrc/helpers/smooth-zoom.tssrc/helpers/timeline-layout.tssrc/helpers/url-state.tssrc/helpers/use-asset-drag-events.tssrc/helpers/use-breakpoint.tssrc/helpers/use-file-existence.tssrc/helpers/use-keybinding.tssrc/helpers/use-menu-structure.tsxsrc/helpers/use-studio-canvas-dimensions.tssrc/helpers/validate-new-comp-data.tssrc/hot-middleware-client/client.tssrc/hot-middleware-client/process-update.tssrc/icons/audio.tsxsrc/icons/caret.tsxsrc/icons/Checkmark.tsxsrc/icons/clipboard.tsxsrc/icons/data.tsxsrc/icons/ellipsis.tsxsrc/icons/file.tsxsrc/icons/folder.tsxsrc/icons/frame.tsxsrc/icons/gear.tsxsrc/icons/gif.tsxsrc/icons/jump-to-start.tsxsrc/icons/keys.tsxsrc/icons/media-volume.tsxsrc/icons/minus.tsxsrc/icons/pause.tsxsrc/icons/play.tsxsrc/icons/plus.tsxsrc/icons/render.tsxsrc/icons/step-back.tsxsrc/icons/step-forward.tsxsrc/icons/still.tsxsrc/icons/timelineInOutPointer.tsxsrc/icons/video.tsxsrc/index.tssrc/internals.tssrc/previewEntry.tsxsrc/state/canvas-ref.tssrc/state/checkerboard.tssrc/state/editor-guides.tssrc/state/editor-rulers.tssrc/state/editor-zoom-gestures.tssrc/state/folders.tsxsrc/state/highest-z-index.tsxsrc/state/in-out.tssrc/state/input-dragger-click-lock.tssrc/state/keybindings.tsxsrc/state/loop.tssrc/state/marks.tssrc/state/modals.tssrc/state/mute.tssrc/state/playbackrate.tssrc/state/preview-size.tsxsrc/state/render-frame.tssrc/state/sidebar.tsxsrc/state/timeline-ref.tssrc/state/timeline-zoom.tsxsrc/state/timeline.tssrc/state/z-index.tsxsrc/Studio.tsxsrc/test/big-timeline.test.tssrc/test/color-math.test.tssrc/test/create-zod-values.test.tssrc/test/extract-zod-enums.test.tssrc/test/folder-tree.test.tssrc/test/format-time.test.tssrc/test/sequenced-timeline.test.tssrc/test/smooth-zoom.test.tssrc/test/stringify-default-props.test.tssrc/test/timeline-sequence-layout.test.tssrc/test/timeline.test.tssrc/test/validate-gui-output-filename.test.tsAll matched files use Prettier code style!
@@ -0,0 +1,15 @@
1
+
2
+ 
3
+ > @remotion/studio@4.0.235 lint /Users/jonathanburger/remotion/packages/studio
4
+ > eslint src
5
+
6
+ 
7
+ /Users/jonathanburger/remotion/packages/studio/src/components/QuickSwitcher/fuzzy-search.ts
8
+  23:3 warning Unused eslint-disable directive (no problems were reported from 'no-bitwise')
9
+ 
10
+ /Users/jonathanburger/remotion/packages/studio/src/error-overlay/react-overlay/utils/get-source-map.ts
11
+  54:1 warning Unexpected 'todo' comment: 'TODO: Can import this from...' no-warning-comments
12
+ 
13
+ ✖ 2 problems (0 errors, 2 warnings)
14
+  0 errors and 1 warning potentially fixable with the `--fix` option.
15
+ 
@@ -1,5 +1,5 @@
1
1
 
2
2
  
3
- > @remotion/studio@4.0.232 make /Users/jonathanburger/remotion/packages/studio
3
+ > @remotion/studio@4.0.236 make /Users/jonathanburger/remotion/packages/studio
4
4
  > tsc -d && bun --env-file=../.env.bundle bundle.ts
5
5
 
@@ -0,0 +1,86 @@
1
+
2
+ 
3
+ > @remotion/studio@4.0.235 test /Users/jonathanburger/remotion/packages/studio
4
+ > bun test src
5
+
6
+ bun test v1.1.38 (bf2f153f)
7
+ 
8
+ src/test/stringify-default-props.test.ts:
9
+ ✓ Should stringify default props correctly [0.67ms]
10
+ ✓ Should stringify default props correctly [0.81ms]
11
+ 
12
+ src/test/sequenced-timeline.test.ts:
13
+ ✓ Should calculate sequences correctly [1.97ms]
14
+ 
15
+ src/test/create-zod-values.test.ts:
16
+ ✓ Should be able to create a string [2.43ms]
17
+ ✓ Should be able to create a number [0.09ms]
18
+ ✓ Should be able to create an object [0.09ms]
19
+ ✓ Should be able to create an array [0.07ms]
20
+ ✓ Should be able to create a union [0.08ms]
21
+ ✓ Zod literal [0.06ms]
22
+ ✓ Should be able to create a discriminated union [0.39ms]
23
+ ✓ Zod instanceof [0.09ms]
24
+ ✓ Zod intersection [0.18ms]
25
+ ✓ Zod tuples [0.09ms]
26
+ ✓ Zod record [0.07ms]
27
+ ✓ Zod map [0.08ms]
28
+ ✓ Zod lazy [0.03ms]
29
+ ✓ Zod set [0.09ms]
30
+ ✓ Zod function [0.09ms]
31
+ ✓ Zod undefined [0.04ms]
32
+ ✓ Zod null [0.05ms]
33
+ ✓ Zod enum [0.05ms]
34
+ ✓ Zod nativeEnum [0.05ms]
35
+ ✓ Zod optional [0.06ms]
36
+ ✓ Zod nullable [0.06ms]
37
+ ✓ Zod undefined [0.05ms]
38
+ ✓ Zod catch [0.05ms]
39
+ ✓ Zod promise [0.05ms]
40
+ ✓ Zod transform [0.04ms]
41
+ ✓ Zod branded [0.05ms]
42
+ ✓ Zod lazy [0.05ms]
43
+ ✓ Zod coerce [0.05ms]
44
+ ✓ Zod strict [0.05ms]
45
+ ✓ Should create a color [0.06ms]
46
+ ✓ Should create a textarea [0.04ms]
47
+ 
48
+ src/test/folder-tree.test.ts:
49
+ ✓ Should create a good folder tree with 1 item inside and 1 item outside
50
+ ✓ Should handle nested folders well [0.52ms]
51
+ ✓ Should throw if two folders with the same name [0.16ms]
52
+ 
53
+ src/test/big-timeline.test.ts:
54
+ ✓ Should calculate timeline as expected [1.77ms]
55
+ 
56
+ src/test/smooth-zoom.test.ts:
57
+ ✓ Smoothen zoom
58
+ ✓ Unsmoothen zoom [0.02ms]
59
+ 
60
+ src/test/validate-gui-output-filename.test.ts:
61
+ ✓ Should catch dot after slash [0.29ms]
62
+ ✓ Should catch dot in front  [0.09ms]
63
+ 
64
+ src/test/timeline-sequence-layout.test.ts:
65
+ ✓ Should test timeline sequence layout without max media duration [0.32ms]
66
+ ✓ Should test timeline sequence layout with max media duration [0.07ms]
67
+ 
68
+ src/test/extract-zod-enums.test.ts:
69
+ ✓ Extract Zod enums [0.19ms]
70
+ ✓ Extract Zod enums #2 [0.82ms]
71
+ 
72
+ src/test/color-math.test.ts:
73
+ ✓ Color math [0.46ms]
74
+ 
75
+ src/test/format-time.test.ts:
76
+ ✓ Format time [0.10ms]
77
+ 
78
+ src/test/timeline.test.ts:
79
+ ✓ Should calculate timeline with no sequences [0.03ms]
80
+ ✓ Should calculate a basic timeline [0.07ms]
81
+ ✓ Should follow order of nesting [0.10ms]
82
+
83
+  51 pass
84
+  0 fail
85
+ 67 expect() calls
86
+ Ran 51 tests across 12 files. [57.00ms]
@@ -2,5 +2,5 @@ import React from 'react';
2
2
  export declare const getKeysToExpand: (initialFolderName: string, parentFolderName: string | null, initial?: string[]) => string[];
3
3
  export declare const compositionSelectorRef: React.RefObject<{
4
4
  expandComposition: (compName: string) => void;
5
- }>;
5
+ } | null>;
6
6
  export declare const CompositionSelector: React.FC;
@@ -6,5 +6,5 @@ export declare const EditorRulers: React.FC<{
6
6
  readonly canvasSize: Size;
7
7
  readonly contentDimensions: Dimensions | 'none' | null;
8
8
  readonly assetMetadata: AssetMetadata | null;
9
- readonly containerRef: React.RefObject<HTMLDivElement>;
9
+ readonly containerRef: React.RefObject<HTMLDivElement | null>;
10
10
  }>;
@@ -1,7 +1,7 @@
1
1
  export declare const explorerSidebarTabs: import("react").RefObject<{
2
2
  selectAssetsPanel: () => void;
3
3
  selectCompositionPanel: () => void;
4
- }>;
4
+ } | null>;
5
5
  export declare const ExplorerPanel: React.FC<{
6
6
  readOnlyStudio: boolean;
7
7
  }>;
@@ -3,7 +3,7 @@ type OptionsSidebarPanel = 'input-props' | 'renders';
3
3
  export declare const persistSelectedOptionsSidebarPanel: (panel: OptionsSidebarPanel) => void;
4
4
  export declare const optionsSidebarTabs: React.RefObject<{
5
5
  selectRendersPanel: () => void;
6
- }>;
6
+ } | null>;
7
7
  export declare const OptionsPanel: React.FC<{
8
8
  readonly readOnlyStudio: boolean;
9
9
  }>;
@@ -6,5 +6,6 @@ export declare const SchemaArrayItemSeparationLine: React.FC<{
6
6
  readonly onChange: (updater: (oldV: unknown[]) => unknown[], forceApply: boolean, increment: boolean) => void;
7
7
  readonly index: number;
8
8
  readonly schema: z.ZodTypeAny;
9
+ readonly showAddButton: boolean;
9
10
  readonly isLast: boolean;
10
11
  }>;
@@ -22,8 +22,9 @@ const arraySeparationLine = {
22
22
  marginTop: -exports.VERTICAL_GUIDE_HEIGHT / 2,
23
23
  pointerEvents: 'none',
24
24
  width: '100%',
25
+ flexBasis: '100%',
25
26
  };
26
- const SchemaArrayItemSeparationLine = ({ onChange, index, schema, isLast }) => {
27
+ const SchemaArrayItemSeparationLine = ({ onChange, index, schema, isLast, showAddButton }) => {
27
28
  const [outerHovered, setOuterHovered] = (0, react_1.useState)(false);
28
29
  const [innerHovered, setInnerHovered] = (0, react_1.useState)(false);
29
30
  const zodTypes = (0, get_zod_if_possible_1.useZodTypesIfPossible)();
@@ -47,8 +48,10 @@ const SchemaArrayItemSeparationLine = ({ onChange, index, schema, isLast }) => {
47
48
  justifyContent: 'center',
48
49
  height: exports.VERTICAL_GUIDE_HEIGHT,
49
50
  opacity: outerHovered || isLast ? 1 : 0,
50
- position: 'relative',
51
- marginTop: -4,
51
+ position: 'absolute',
52
+ top: '50%',
53
+ left: '50%',
54
+ transform: 'translate(-50%, -50%)',
52
55
  };
53
56
  }, [isLast, outerHovered]);
54
57
  const inner = (0, react_1.useMemo)(() => {
@@ -70,7 +73,17 @@ const SchemaArrayItemSeparationLine = ({ onChange, index, schema, isLast }) => {
70
73
  const onInnerMouseLeave = (0, react_1.useCallback)(() => {
71
74
  setInnerHovered(false);
72
75
  }, []);
73
- return ((0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', flexDirection: 'row' }, children: [(0, jsx_runtime_1.jsxs)("div", { style: { flex: 1 }, children: [(0, jsx_runtime_1.jsx)("div", { style: dynamicAddButtonStyle, onMouseEnter: onOuterMouseEnter, onMouseLeave: onOuterMouseLeave, children: (0, jsx_runtime_1.jsx)("div", { onClick: onAdd, style: inner, onMouseEnter: onInnerMouseEnter, onMouseLeave: onInnerMouseLeave, children: (0, jsx_runtime_1.jsx)(plus_1.Plus, { color: innerHovered ? 'white' : colors_1.LIGHT_TEXT, style: { height: exports.VERTICAL_GUIDE_HEIGHT / 2 } }) }) }), (0, jsx_runtime_1.jsx)("div", { style: arraySeparationLine })] }), isLast ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 1 }), (0, jsx_runtime_1.jsx)("div", { style: {
76
+ return ((0, jsx_runtime_1.jsxs)("div", { style: {
77
+ display: 'flex',
78
+ flexDirection: 'row',
79
+ height: exports.VERTICAL_GUIDE_HEIGHT,
80
+ }, children: [(0, jsx_runtime_1.jsxs)("div", { style: {
81
+ flex: 1,
82
+ position: 'relative',
83
+ display: 'flex',
84
+ flexDirection: 'column',
85
+ alignItems: 'flex-end',
86
+ }, children: [showAddButton && ((0, jsx_runtime_1.jsx)("div", { style: dynamicAddButtonStyle, onMouseEnter: onOuterMouseEnter, onMouseLeave: onOuterMouseLeave, children: (0, jsx_runtime_1.jsx)("div", { onClick: onAdd, style: inner, onMouseEnter: onInnerMouseEnter, onMouseLeave: onInnerMouseLeave, children: (0, jsx_runtime_1.jsx)(plus_1.Plus, { color: innerHovered ? 'white' : colors_1.LIGHT_TEXT, style: { height: exports.VERTICAL_GUIDE_HEIGHT / 2 } }) }) })), (0, jsx_runtime_1.jsx)("div", { style: arraySeparationLine })] }), isLast ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 1 }), (0, jsx_runtime_1.jsx)("div", { style: {
74
87
  ...layout_2.fieldSetText,
75
88
  alignItems: 'center',
76
89
  display: 'flex',
@@ -69,7 +69,7 @@ const ZodArrayEditor = ({ schema, jsonPath, setValue, defaultValue, value, onSav
69
69
  var _a;
70
70
  return (
71
71
  // eslint-disable-next-line react/no-array-index-key
72
- (0, jsx_runtime_1.jsxs)(react_1.default.Fragment, { children: [(0, jsx_runtime_1.jsx)(ZodArrayItemEditor_1.ZodArrayItemEditor, { onChange: onChange, value: child, def: def, index: i, jsonPath: jsonPath, defaultValue: (_a = defaultValue === null || defaultValue === void 0 ? void 0 : defaultValue[i]) !== null && _a !== void 0 ? _a : (0, create_zod_values_1.createZodValues)(def.type, z, zodTypes), onSave: onSave, showSaveButton: showSaveButton, saving: saving, saveDisabledByParent: saveDisabledByParent, mayPad: mayPad }), (0, jsx_runtime_1.jsx)(SchemaSeparationLine_1.SchemaArrayItemSeparationLine, { schema: schema, index: i, onChange: onChange, isLast: i === localValue.value.length - 1 })] }, `${i}${localValue.keyStabilityRevision}`));
73
- }), value.length === 0 ? ((0, jsx_runtime_1.jsx)(SchemaSeparationLine_1.SchemaArrayItemSeparationLine, { schema: schema, index: 0, onChange: onChange, isLast: true })) : null] }) })) : null, (0, jsx_runtime_1.jsx)(ZodFieldValidation_1.ZodFieldValidation, { path: jsonPath, localValue: localValue })] }));
72
+ (0, jsx_runtime_1.jsxs)(react_1.default.Fragment, { children: [(0, jsx_runtime_1.jsx)(ZodArrayItemEditor_1.ZodArrayItemEditor, { onChange: onChange, value: child, def: def, index: i, jsonPath: jsonPath, defaultValue: (_a = defaultValue === null || defaultValue === void 0 ? void 0 : defaultValue[i]) !== null && _a !== void 0 ? _a : (0, create_zod_values_1.createZodValues)(def.type, z, zodTypes), onSave: onSave, showSaveButton: showSaveButton, saving: saving, saveDisabledByParent: saveDisabledByParent, mayPad: mayPad }), (0, jsx_runtime_1.jsx)(SchemaSeparationLine_1.SchemaArrayItemSeparationLine, { schema: schema, index: i, onChange: onChange, isLast: i === localValue.value.length - 1, showAddButton: true })] }, `${i}${localValue.keyStabilityRevision}`));
73
+ }), value.length === 0 ? ((0, jsx_runtime_1.jsx)(SchemaSeparationLine_1.SchemaArrayItemSeparationLine, { schema: schema, index: 0, onChange: onChange, isLast: true, showAddButton: true })) : null] }) })) : null, (0, jsx_runtime_1.jsx)(ZodFieldValidation_1.ZodFieldValidation, { path: jsonPath, localValue: localValue })] }));
74
74
  };
75
75
  exports.ZodArrayEditor = ZodArrayEditor;
@@ -19,6 +19,7 @@ const ZodOptionalEditor_1 = require("./ZodOptionalEditor");
19
19
  const ZodStaticFileEditor_1 = require("./ZodStaticFileEditor");
20
20
  const ZodStringEditor_1 = require("./ZodStringEditor");
21
21
  const ZodTextareaEditor_1 = require("./ZodTextareaEditor");
22
+ const ZodTupleEditor_1 = require("./ZodTupleEditor");
22
23
  const ZodUnionEditor_1 = require("./ZodUnionEditor");
23
24
  const ZodSwitch = ({ schema, jsonPath, value, setValue, defaultValue, onSave, showSaveButton, onRemove, saving, saveDisabledByParent, mayPad, }) => {
24
25
  const def = schema._def;
@@ -96,6 +97,9 @@ const ZodSwitch = ({ schema, jsonPath, value, setValue, defaultValue, onSave, sh
96
97
  if (typeName === z.ZodFirstPartyTypeKind.ZodDiscriminatedUnion) {
97
98
  return ((0, jsx_runtime_1.jsx)(ZodDiscriminatedUnionEditor_1.ZodDiscriminatedUnionEditor, { defaultValue: defaultValue, mayPad: mayPad, schema: schema, setValue: setValue, value: value, jsonPath: jsonPath, onRemove: onRemove, onSave: onSave, saving: saving, saveDisabledByParent: saveDisabledByParent, showSaveButton: showSaveButton }));
98
99
  }
100
+ if (typeName === z.ZodFirstPartyTypeKind.ZodTuple) {
101
+ return ((0, jsx_runtime_1.jsx)(ZodTupleEditor_1.ZodTupleEditor, { setValue: setValue, value: value, jsonPath: jsonPath, schema: schema, defaultValue: defaultValue, onSave: onSave, showSaveButton: showSaveButton, onRemove: onRemove, saving: saving, saveDisabledByParent: saveDisabledByParent, mayPad: mayPad }));
102
+ }
99
103
  return ((0, jsx_runtime_1.jsx)(ZodNonEditableValue_1.ZonNonEditableValue, { jsonPath: jsonPath, showSaveButton: showSaveButton, label: `${typeName} (not editable)`, saving: saving, mayPad: mayPad }));
100
104
  };
101
105
  exports.ZodSwitch = ZodSwitch;
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ import type { z } from 'zod';
3
+ import type { JSONPath } from './zod-types';
4
+ import type { UpdaterFunction } from './ZodSwitch';
5
+ export declare const ZodTupleEditor: React.FC<{
6
+ readonly schema: z.ZodTypeAny;
7
+ readonly jsonPath: JSONPath;
8
+ readonly value: unknown[];
9
+ readonly defaultValue: unknown[];
10
+ readonly setValue: UpdaterFunction<unknown[]>;
11
+ readonly onSave: UpdaterFunction<unknown[]>;
12
+ readonly showSaveButton: boolean;
13
+ readonly onRemove: null | (() => void);
14
+ readonly saving: boolean;
15
+ readonly saveDisabledByParent: boolean;
16
+ readonly mayPad: boolean;
17
+ }>;
@@ -0,0 +1,75 @@
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.ZodTupleEditor = void 0;
27
+ const jsx_runtime_1 = require("react/jsx-runtime");
28
+ const react_1 = __importStar(require("react"));
29
+ const get_zod_if_possible_1 = require("../../get-zod-if-possible");
30
+ const create_zod_values_1 = require("./create-zod-values");
31
+ const deep_equal_1 = require("./deep-equal");
32
+ const Fieldset_1 = require("./Fieldset");
33
+ const local_state_1 = require("./local-state");
34
+ const SchemaLabel_1 = require("./SchemaLabel");
35
+ const SchemaSeparationLine_1 = require("./SchemaSeparationLine");
36
+ const SchemaVerticalGuide_1 = require("./SchemaVerticalGuide");
37
+ const ZodFieldValidation_1 = require("./ZodFieldValidation");
38
+ const ZodTupleItemEditor_1 = require("./ZodTupleItemEditor");
39
+ const ZodTupleEditor = ({ schema, jsonPath, setValue, defaultValue, value, onSave, showSaveButton, onRemove, saving, saveDisabledByParent, mayPad, }) => {
40
+ const { localValue, onChange, RevisionContextProvider, reset } = (0, local_state_1.useLocalState)({
41
+ unsavedValue: value,
42
+ schema,
43
+ setValue,
44
+ savedValue: defaultValue,
45
+ });
46
+ const [expanded, setExpanded] = (0, react_1.useState)(true);
47
+ const def = schema._def;
48
+ const suffix = (0, react_1.useMemo)(() => {
49
+ return expanded ? ' [' : ' [...] ';
50
+ }, [expanded]);
51
+ const z = (0, get_zod_if_possible_1.useZodIfPossible)();
52
+ if (!z) {
53
+ throw new Error('expected zod');
54
+ }
55
+ const zodTypes = (0, get_zod_if_possible_1.useZodTypesIfPossible)();
56
+ const typeName = def.typeName;
57
+ if (typeName !== z.ZodFirstPartyTypeKind.ZodTuple) {
58
+ throw new Error('expected object');
59
+ }
60
+ const isDefaultValue = (0, react_1.useMemo)(() => {
61
+ return (0, deep_equal_1.deepEqual)(localValue.value, defaultValue);
62
+ }, [defaultValue, localValue]);
63
+ return ((0, jsx_runtime_1.jsxs)(Fieldset_1.Fieldset, { shouldPad: mayPad, success: localValue.zodValidation.success, children: [(0, jsx_runtime_1.jsx)("div", { style: {
64
+ display: 'flex',
65
+ flexDirection: 'row',
66
+ }, children: (0, jsx_runtime_1.jsx)(SchemaLabel_1.SchemaLabel, { onReset: reset, isDefaultValue: isDefaultValue, jsonPath: jsonPath, onRemove: onRemove, suffix: suffix, onSave: () => {
67
+ onSave(() => localValue.value, false, false);
68
+ }, saveDisabledByParent: saveDisabledByParent, saving: saving, showSaveButton: showSaveButton, valid: localValue.zodValidation.success, handleClick: () => setExpanded(!expanded) }) }), expanded ? ((0, jsx_runtime_1.jsx)(RevisionContextProvider, { children: (0, jsx_runtime_1.jsxs)(SchemaVerticalGuide_1.SchemaVerticalGuide, { isRoot: false, children: [localValue.value.map((child, i) => {
69
+ var _a;
70
+ return (
71
+ // eslint-disable-next-line react/no-array-index-key
72
+ (0, jsx_runtime_1.jsxs)(react_1.default.Fragment, { children: [(0, jsx_runtime_1.jsx)(ZodTupleItemEditor_1.ZodTupleItemEditor, { onChange: onChange, value: child, def: def, index: i, jsonPath: jsonPath, defaultValue: (_a = defaultValue === null || defaultValue === void 0 ? void 0 : defaultValue[i]) !== null && _a !== void 0 ? _a : (0, create_zod_values_1.createZodValues)(def.items[i], z, zodTypes), onSave: onSave, showSaveButton: showSaveButton, saving: saving, saveDisabledByParent: saveDisabledByParent, mayPad: mayPad }), (0, jsx_runtime_1.jsx)(SchemaSeparationLine_1.SchemaArrayItemSeparationLine, { schema: schema, index: i, onChange: onChange, isLast: i === localValue.value.length - 1, showAddButton: false })] }, `${i}${localValue.keyStabilityRevision}`));
73
+ }), value.length === 0 ? ((0, jsx_runtime_1.jsx)(SchemaSeparationLine_1.SchemaArrayItemSeparationLine, { schema: schema, index: 0, onChange: onChange, isLast: true, showAddButton: false })) : null] }) })) : null, (0, jsx_runtime_1.jsx)(ZodFieldValidation_1.ZodFieldValidation, { path: jsonPath, localValue: localValue })] }));
74
+ };
75
+ exports.ZodTupleEditor = ZodTupleEditor;
@@ -0,0 +1,15 @@
1
+ import type { UpdaterFunction } from './ZodSwitch';
2
+ import type { JSONPath } from './zod-types';
3
+ export declare const ZodTupleItemEditor: React.FC<{
4
+ jsonPath: JSONPath;
5
+ onChange: UpdaterFunction<unknown[]>;
6
+ def: any;
7
+ index: number;
8
+ value: unknown;
9
+ defaultValue: unknown;
10
+ onSave: UpdaterFunction<unknown[]>;
11
+ showSaveButton: boolean;
12
+ saving: boolean;
13
+ saveDisabledByParent: boolean;
14
+ mayPad: boolean;
15
+ }>;
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ZodTupleItemEditor = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_1 = require("react");
6
+ const get_zod_if_possible_1 = require("../../get-zod-if-possible");
7
+ const ZodSwitch_1 = require("./ZodSwitch");
8
+ const ZodTupleItemEditor = ({ def, onChange, jsonPath, index, value, defaultValue, onSave: onSaveObject, showSaveButton, saving, saveDisabledByParent, mayPad, }) => {
9
+ const z = (0, get_zod_if_possible_1.useZodIfPossible)();
10
+ if (!z) {
11
+ throw new Error('expected zod');
12
+ }
13
+ const setValue = (0, react_1.useCallback)((val) => {
14
+ onChange((oldV) => [
15
+ ...oldV.slice(0, index),
16
+ typeof val === 'function' ? val(oldV[index]) : val,
17
+ ...oldV.slice(index + 1),
18
+ ], false, false);
19
+ }, [index, onChange]);
20
+ const newJsonPath = (0, react_1.useMemo)(() => [...jsonPath, index], [index, jsonPath]);
21
+ const onSave = (0, react_1.useCallback)((updater) => {
22
+ onSaveObject((oldV) => [
23
+ ...oldV.slice(0, index),
24
+ updater(oldV[index]),
25
+ ...oldV.slice(index + 1),
26
+ ], false, false);
27
+ }, [index, onSaveObject]);
28
+ return ((0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsx)(ZodSwitch_1.ZodSwitch, { jsonPath: newJsonPath, schema: def.items[index], value: value, setValue: setValue, defaultValue: defaultValue, onSave: onSave, showSaveButton: showSaveButton, onRemove: null, saving: saving, saveDisabledByParent: saveDisabledByParent, mayPad: mayPad }) }));
29
+ };
30
+ exports.ZodTupleItemEditor = ZodTupleItemEditor;
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
2
  export declare const DEFAULT_PROPS_PATH_CLASSNAME = "__remotion-default-props-editor-label";
3
3
  export declare const DEFAULT_PROPS_PATH_ACTIVE_CLASSNAME = "__remotion-default-props-editor-label-active";
4
- export declare const defaultPropsEditorScrollableAreaRef: React.RefObject<HTMLDivElement>;
4
+ export declare const defaultPropsEditorScrollableAreaRef: React.RefObject<HTMLDivElement | null>;
@@ -11,7 +11,7 @@ type RenderQueueContextType = {
11
11
  export declare const RenderQueueContext: React.Context<RenderQueueContextType>;
12
12
  export declare const renderJobsRef: React.RefObject<{
13
13
  updateRenderJobs: (jobs: RenderJob[]) => void;
14
- }>;
14
+ } | null>;
15
15
  export declare const RenderQueueContextProvider: React.FC<{
16
16
  readonly children: React.ReactNode;
17
17
  }>;
@@ -8,7 +8,7 @@ export type TSplitterContext = {
8
8
  flexValue: number;
9
9
  setFlexValue: React.Dispatch<React.SetStateAction<number>>;
10
10
  orientation: SplitterOrientation;
11
- ref: React.RefObject<HTMLDivElement>;
11
+ ref: React.RefObject<HTMLDivElement | null>;
12
12
  maxFlex: number;
13
13
  minFlex: number;
14
14
  defaultFlex: number;
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
2
  export declare const timeValueRef: React.RefObject<{
3
3
  goToFrame: () => void;
4
- }>;
4
+ } | null>;
5
5
  export declare const TimeValue: React.FC;
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
- export declare const inMarkerAreaRef: React.RefObject<HTMLDivElement>;
3
- export declare const outMarkerAreaRef: React.RefObject<HTMLDivElement>;
2
+ export declare const inMarkerAreaRef: React.RefObject<HTMLDivElement | null>;
3
+ export declare const outMarkerAreaRef: React.RefObject<HTMLDivElement | null>;
4
4
  export declare const TimelineInOutPointer: React.FC;
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
- export declare const inPointerHandle: React.RefObject<HTMLDivElement>;
3
- export declare const outPointerHandle: React.RefObject<HTMLDivElement>;
2
+ export declare const inPointerHandle: React.RefObject<HTMLDivElement | null>;
3
+ export declare const outPointerHandle: React.RefObject<HTMLDivElement | null>;
4
4
  type Props = {
5
5
  readonly dragging: boolean;
6
6
  readonly type: 'in' | 'out';
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
2
  export declare const redrawTimelineSliderFast: React.RefObject<{
3
3
  draw: (frame: number, width?: number) => void;
4
- }>;
4
+ } | null>;
5
5
  export declare const TimelineSlider: React.FC;
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
- export declare const sliderAreaRef: React.RefObject<HTMLDivElement>;
3
- export declare const scrollableRef: React.RefObject<HTMLDivElement>;
4
- export declare const timelineVerticalScroll: React.RefObject<HTMLDivElement>;
2
+ export declare const sliderAreaRef: React.RefObject<HTMLDivElement | null>;
3
+ export declare const scrollableRef: React.RefObject<HTMLDivElement | null>;
4
+ export declare const timelineVerticalScroll: React.RefObject<HTMLDivElement | null>;
@@ -4,6 +4,6 @@ export declare const inOutHandles: React.RefObject<{
4
4
  inMarkClick: (e: KeyboardEvent | null) => void;
5
5
  outMarkClick: (e: KeyboardEvent | null) => void;
6
6
  clearMarks: () => void;
7
- }>;
7
+ } | null>;
8
8
  export declare const defaultInOutValue: InOutValue;
9
9
  export declare const TimelineInOutPointToggle: React.FC;
@@ -3,6 +3,6 @@ export declare const useResponsiveSidebarStatus: () => "collapsed" | "expanded";
3
3
  export declare const TopPanel: React.FC<{
4
4
  readonly readOnlyStudio: boolean;
5
5
  readonly onMounted: () => void;
6
- readonly drawRef: React.RefObject<HTMLDivElement>;
6
+ readonly drawRef: React.RefObject<HTMLDivElement | null>;
7
7
  readonly bufferStateDelayInMilliseconds: number;
8
8
  }>;
@@ -3,7 +3,7 @@ type SetErrors = {
3
3
  setErrors: (errs: State) => void;
4
4
  addError: (err: Error) => void;
5
5
  };
6
- export declare const setErrorsRef: React.RefObject<SetErrors>;
6
+ export declare const setErrorsRef: React.RefObject<SetErrors | null>;
7
7
  type State = {
8
8
  type: 'clear';
9
9
  } | {
@@ -5,6 +5,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.mountRemotionOverlay = void 0;
7
7
  const jsx_runtime_1 = require("react/jsx-runtime");
8
+ // In React 18, you should use createRoot() from "react-dom/client".
9
+ // In React 18, you should use render from "react-dom".
10
+ // We support both, but Webpack chooses both of them and normalizes them to "react-dom/client",
11
+ // hence why we import the right thing all the time but need to differentiate here
8
12
  const client_1 = __importDefault(require("react-dom/client"));
9
13
  const Overlay_1 = require("./Overlay");
10
14
  const mountRemotionOverlay = () => {
@@ -12,6 +16,7 @@ const mountRemotionOverlay = () => {
12
16
  client_1.default.createRoot(document.getElementById('remotion-error-overlay')).render((0, jsx_runtime_1.jsx)(Overlay_1.Overlay, {}));
13
17
  }
14
18
  else {
19
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
15
20
  client_1.default.render((0, jsx_runtime_1.jsx)(Overlay_1.Overlay, {}), document.getElementById('remotion-error-overlay'));
16
21
  }
17
22
  };