@remotion/studio 4.0.495 → 4.0.496

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 (50) hide show
  1. package/dist/components/AssetSelectorItem.js +7 -7
  2. package/dist/components/CompositionSelectorItem.js +5 -23
  3. package/dist/components/CurrentAsset.js +4 -3
  4. package/dist/components/InlineCompositionName.js +1 -1
  5. package/dist/components/InlineEditableTitle.d.ts +1 -0
  6. package/dist/components/InlineEditableTitle.js +56 -11
  7. package/dist/components/InspectorInfoHeader.d.ts +2 -0
  8. package/dist/components/InspectorInfoHeader.js +16 -4
  9. package/dist/components/InspectorLocationCopy.js +2 -2
  10. package/dist/components/InspectorPanel/CompositionInspectorHeader.js +11 -6
  11. package/dist/components/InspectorPanel/EasingInspector.js +1 -1
  12. package/dist/components/InspectorPanel/KeyframeInspector.js +7 -8
  13. package/dist/components/InspectorPanel/KeyframeSettings.js +1 -1
  14. package/dist/components/InspectorPanel/SequenceInspectorHeader.js +28 -3
  15. package/dist/components/InspectorPanel/SequenceSelectionInspector.js +2 -2
  16. package/dist/components/InspectorPanel/common.d.ts +4 -2
  17. package/dist/components/InspectorPanel/common.js +18 -18
  18. package/dist/components/InspectorPanel/styles.d.ts +0 -3
  19. package/dist/components/InspectorPanel/styles.js +5 -40
  20. package/dist/components/InspectorSequenceSection.js +12 -2
  21. package/dist/components/InspectorSourceLocation.d.ts +1 -0
  22. package/dist/components/InspectorSourceLocation.js +5 -1
  23. package/dist/components/NewComposition/ComboBox.d.ts +2 -1
  24. package/dist/components/NewComposition/ComboBox.js +32 -7
  25. package/dist/components/PlaybackRateSelector.js +3 -3
  26. package/dist/components/PreviewToolbar.js +3 -3
  27. package/dist/components/RenderButton.d.ts +1 -0
  28. package/dist/components/RenderButton.js +51 -7
  29. package/dist/components/RenderModal/SchemaEditor/ZodDiscriminatedUnionEditor.js +1 -1
  30. package/dist/components/RenderModal/SchemaEditor/ZodEnumEditor.js +1 -1
  31. package/dist/components/RenderModal/SchemaEditor/ZodStaticFileEditor.js +1 -1
  32. package/dist/components/SizeSelector.js +3 -3
  33. package/dist/components/Timeline/TimelineAssetField.js +1 -1
  34. package/dist/components/Timeline/TimelineEnumField.js +1 -1
  35. package/dist/components/Timeline/TimelineFieldLabel.js +3 -3
  36. package/dist/components/Timeline/TimelineKeyframeControls.js +26 -6
  37. package/dist/components/Timeline/TimelineRowChrome.js +10 -2
  38. package/dist/components/Timeline/TimelineRowLayoutContext.d.ts +3 -0
  39. package/dist/components/Timeline/TimelineRowLayoutContext.js +6 -0
  40. package/dist/components/layout.d.ts +1 -0
  41. package/dist/components/layout.js +2 -1
  42. package/dist/components/open-in-new-window.d.ts +2 -0
  43. package/dist/components/open-in-new-window.js +28 -0
  44. package/dist/esm/{chunk-784jbkzs.js → chunk-0v4n7nkh.js} +565 -376
  45. package/dist/esm/internals.mjs +565 -376
  46. package/dist/esm/previewEntry.mjs +565 -376
  47. package/dist/esm/renderEntry.mjs +1 -1
  48. package/dist/helpers/inject-css.js +4 -2
  49. package/dist/icons/scissors.js +1 -1
  50. package/package.json +11 -11
@@ -1738,6 +1738,7 @@ import { useMemo as useMemo8 } from "react";
1738
1738
  import { jsx as jsx10 } from "react/jsx-runtime";
1739
1739
  var SPACING_UNIT = 8;
1740
1740
  var COMPACT_CONTROL_ROW_HEIGHT = 28;
1741
+ var COMPACT_INLINE_ROW_HEIGHT = 22;
1741
1742
  var Spacing = ({ x = 0, y = 0, block = false }) => {
1742
1743
  const style = useMemo8(() => {
1743
1744
  return {
@@ -4661,6 +4662,30 @@ var getFolderMenuItems = ({
4661
4662
  ].filter(NoReactInternals2.truthy);
4662
4663
  };
4663
4664
 
4665
+ // src/components/open-in-new-window.ts
4666
+ var getOpenInNewWindowMenuItem = (route) => {
4667
+ return {
4668
+ id: "open-in-new-window",
4669
+ keyHint: null,
4670
+ label: "Open in new window",
4671
+ leftItem: null,
4672
+ onClick: () => {
4673
+ const screen = window.screen;
4674
+ const width = Math.min(1200, Math.floor(screen.availWidth * 0.8));
4675
+ const height = Math.min(800, Math.floor(screen.availHeight * 0.8));
4676
+ const displayLeft = screen.availLeft ?? 0;
4677
+ const displayTop = screen.availTop ?? 0;
4678
+ const left = Math.round(Math.min(Math.max(window.screenX + (window.outerWidth - width) / 2, displayLeft), displayLeft + screen.availWidth - width));
4679
+ const top = Math.round(Math.min(Math.max(window.screenY + (window.outerHeight - height) / 2, displayTop), displayTop + screen.availHeight - height));
4680
+ window.open(getUrlForRoute(route), "_blank", `popup,width=${width},height=${height},left=${left},top=${top}`);
4681
+ },
4682
+ quickSwitcherLabel: null,
4683
+ subMenu: null,
4684
+ type: "item",
4685
+ value: "open-in-new-window"
4686
+ };
4687
+ };
4688
+
4664
4689
  // src/components/RenderQueue/actions.ts
4665
4690
  import { NoReactInternals as NoReactInternals3 } from "remotion/no-react";
4666
4691
  var addStillRenderJob = ({
@@ -5517,7 +5542,7 @@ var CompositionSelectorItem = ({
5517
5542
  const style2 = useMemo21(() => {
5518
5543
  return {
5519
5544
  ...itemStyle,
5520
- backgroundColor: dragHovered ? WHITE_ALPHA_12 : getBackgroundFromHoverState({ hovered, selected }),
5545
+ backgroundColor: dragHovered ? WHITE_ALPHA_12 : hovered || selected ? WHITE_ALPHA_06 : TRANSPARENT,
5521
5546
  paddingLeft: 12 + level * 8
5522
5547
  };
5523
5548
  }, [dragHovered, hovered, level, selected]);
@@ -5555,26 +5580,7 @@ var CompositionSelectorItem = ({
5555
5580
  readOnlyStudio: window.remotion_isReadOnlyStudio
5556
5581
  });
5557
5582
  return [
5558
- {
5559
- id: "open-in-new-window",
5560
- keyHint: null,
5561
- label: "Open in new window",
5562
- leftItem: null,
5563
- onClick: () => {
5564
- const screen = window.screen;
5565
- const width = Math.min(1200, Math.floor(screen.availWidth * 0.8));
5566
- const height = Math.min(800, Math.floor(screen.availHeight * 0.8));
5567
- const displayLeft = screen.availLeft ?? 0;
5568
- const displayTop = screen.availTop ?? 0;
5569
- const left = Math.round(Math.min(Math.max(window.screenX + (window.outerWidth - width) / 2, displayLeft), displayLeft + screen.availWidth - width));
5570
- const top = Math.round(Math.min(Math.max(window.screenY + (window.outerHeight - height) / 2, displayTop), displayTop + screen.availHeight - height));
5571
- window.open(getUrlForRoute(`/${item.composition.id}`), "_blank", `popup,width=${width},height=${height},left=${left},top=${top}`);
5572
- },
5573
- quickSwitcherLabel: null,
5574
- subMenu: null,
5575
- type: "item",
5576
- value: "open-in-new-window"
5577
- },
5583
+ getOpenInNewWindowMenuItem(`/${item.composition.id}`),
5578
5584
  {
5579
5585
  type: "divider",
5580
5586
  id: "open-in-new-window-divider"
@@ -11544,8 +11550,17 @@ var container10 = {
11544
11550
  backgroundColor: INPUT_BACKGROUND,
11545
11551
  borderWidth: 1,
11546
11552
  borderStyle: "solid",
11553
+ borderRadius: 4,
11554
+ fontFamily: "inherit",
11547
11555
  maxWidth: "100%"
11548
11556
  };
11557
+ var compactContainer = {
11558
+ ...container10,
11559
+ boxSizing: "border-box",
11560
+ borderRadius: 0,
11561
+ height: COMPACT_CONTROL_ROW_HEIGHT + 2,
11562
+ padding: "5px 6px"
11563
+ };
11549
11564
  var smallContainer = {
11550
11565
  ...container10,
11551
11566
  padding: "3px 4px"
@@ -11554,16 +11569,31 @@ var label = {
11554
11569
  flex: 1,
11555
11570
  overflow: "hidden",
11556
11571
  textOverflow: "ellipsis",
11572
+ color: "inherit",
11573
+ fontFamily: "inherit",
11557
11574
  fontSize: 14,
11575
+ lineHeight: "21px",
11576
+ minWidth: 0,
11558
11577
  textAlign: "left",
11559
11578
  whiteSpace: "nowrap"
11560
11579
  };
11580
+ var compactLabel = {
11581
+ ...label,
11582
+ fontSize: 12,
11583
+ lineHeight: "16px"
11584
+ };
11561
11585
  var smallLabel = {
11562
11586
  ...label,
11563
11587
  fontSize: 11,
11564
- lineHeight: 1
11588
+ lineHeight: "12px"
11565
11589
  };
11566
- var Combobox = ({ values, selectedId, style: customStyle, title, small = false }) => {
11590
+ var Combobox = ({
11591
+ values,
11592
+ selectedId,
11593
+ style: customStyle,
11594
+ title,
11595
+ size: controlSize = "default"
11596
+ }) => {
11567
11597
  const [hovered, setIsHovered] = useState22(false);
11568
11598
  const [opened, setOpened] = useState22(false);
11569
11599
  const ref = useRef18(null);
@@ -11673,7 +11703,7 @@ var Combobox = ({ values, selectedId, style: customStyle, title, small = false }
11673
11703
  const selected = values.find((v) => v.id === selectedId);
11674
11704
  const style2 = useMemo31(() => {
11675
11705
  return {
11676
- ...small ? smallContainer : container10,
11706
+ ...controlSize === "small" ? smallContainer : controlSize === "compact" ? compactContainer : container10,
11677
11707
  ...customStyle ?? {},
11678
11708
  userSelect: "none",
11679
11709
  WebkitUserSelect: "none",
@@ -11683,7 +11713,8 @@ var Combobox = ({ values, selectedId, style: customStyle, title, small = false }
11683
11713
  alignItems: "center",
11684
11714
  borderColor: opened ? SELECTED_BACKGROUND : hovered ? WHITE_ALPHA_05 : BLACK_ALPHA_60
11685
11715
  };
11686
- }, [customStyle, hovered, opened, small]);
11716
+ }, [controlSize, customStyle, hovered, opened]);
11717
+ const selectedLabelStyle = controlSize === "small" ? smallLabel : controlSize === "compact" ? compactLabel : label;
11687
11718
  return /* @__PURE__ */ jsxs13(Fragment5, {
11688
11719
  children: [
11689
11720
  /* @__PURE__ */ jsxs13("button", {
@@ -11696,15 +11727,15 @@ var Combobox = ({ values, selectedId, style: customStyle, title, small = false }
11696
11727
  children: [
11697
11728
  selected ? /* @__PURE__ */ jsx47("div", {
11698
11729
  title: typeof selected.label === "string" ? selected.label : undefined,
11699
- style: small ? smallLabel : label,
11730
+ style: selectedLabelStyle,
11700
11731
  children: selected?.label
11701
11732
  }) : null,
11702
11733
  /* @__PURE__ */ jsx47(Spacing, {
11703
- x: small ? 0.5 : 1
11734
+ x: controlSize === "default" ? 1 : 0.5
11704
11735
  }),
11705
11736
  " ",
11706
11737
  /* @__PURE__ */ jsx47(CaretDown, {
11707
- small
11738
+ small: controlSize === "small"
11708
11739
  })
11709
11740
  ]
11710
11741
  }),
@@ -11776,7 +11807,7 @@ var getPreviewSizeLabel = (previewSize) => {
11776
11807
  return `${(previewSize.size * 100).toFixed(0)}%`;
11777
11808
  };
11778
11809
  var accessibilityLabel = "Preview Size";
11779
- var comboStyle = { width: 80 };
11810
+ var comboStyle = { width: 64 };
11780
11811
  var getUniqueSizes = (size) => {
11781
11812
  const customPreviewSizes = [size, ...commonPreviewSizes];
11782
11813
  const uniqueSizes = [];
@@ -11801,7 +11832,7 @@ var SizeSelector = () => {
11801
11832
  const { canvasContent } = useContext20(Internals24.CompositionManager);
11802
11833
  const style2 = useMemo32(() => {
11803
11834
  return {
11804
- padding: CONTROL_BUTTON_PADDING
11835
+ padding: CONTROL_BUTTON_PADDING - 2
11805
11836
  };
11806
11837
  }, []);
11807
11838
  const zoomable = useMemo32(() => {
@@ -11845,6 +11876,7 @@ var SizeSelector = () => {
11845
11876
  style: style2,
11846
11877
  "aria-label": accessibilityLabel,
11847
11878
  children: /* @__PURE__ */ jsx48(Combobox, {
11879
+ size: "compact",
11848
11880
  title: accessibilityLabel,
11849
11881
  style: comboStyle,
11850
11882
  selectedId: String(size.size),
@@ -27737,7 +27769,7 @@ var AssetSelectorItem = ({ item, tabIndex, level, parentFolder, readOnlyStudio }
27737
27769
  return {
27738
27770
  ...itemStyle2,
27739
27771
  color: hovered || selected ? WHITE : LIGHT_TEXT,
27740
- backgroundColor: hovered ? selected ? SELECTED_BACKGROUND : WHITE_ALPHA_06 : selected ? SELECTED_BACKGROUND : TRANSPARENT,
27772
+ backgroundColor: hovered || selected ? WHITE_ALPHA_06 : TRANSPARENT,
27741
27773
  paddingLeft: 12 + level * 8
27742
27774
  };
27743
27775
  }, [hovered, level, selected]);
@@ -27817,6 +27849,11 @@ var AssetSelectorItem = ({ item, tabIndex, level, parentFolder, readOnlyStudio }
27817
27849
  }, [confirm, relativePath]);
27818
27850
  const contextMenu = useMemo61(() => {
27819
27851
  return [
27852
+ getOpenInNewWindowMenuItem(`/assets/${relativePath}`),
27853
+ {
27854
+ type: "divider",
27855
+ id: "open-in-new-window-divider"
27856
+ },
27820
27857
  {
27821
27858
  id: "copy-asset-file-name",
27822
27859
  keyHint: null,
@@ -28888,7 +28925,47 @@ var titleInput = {
28888
28925
  WebkitAppearance: "none",
28889
28926
  width: "100%"
28890
28927
  };
28891
- var InlineEditableTitle = ({ value, canRename, getInitialSelection, onClick, onCommit, title: title2 }) => {
28928
+ var inspectorTitleWrapper = {
28929
+ ...titleWrapper,
28930
+ fontFamily: "sans-serif",
28931
+ fontSize: 13,
28932
+ height: COMPACT_INLINE_ROW_HEIGHT,
28933
+ margin: "0 4px",
28934
+ width: "calc(100% - 8px)"
28935
+ };
28936
+ var inspectorTitleInner = {
28937
+ ...titleInner,
28938
+ alignItems: "center",
28939
+ fontFamily: "sans-serif",
28940
+ fontSize: 13,
28941
+ height: COMPACT_INLINE_ROW_HEIGHT,
28942
+ paddingBottom: 0,
28943
+ paddingLeft: 8,
28944
+ paddingRight: 8,
28945
+ paddingTop: 0,
28946
+ width: "100%"
28947
+ };
28948
+ var inspectorTitleGridItem = {
28949
+ ...titleGridItem,
28950
+ color: "inherit",
28951
+ fontFamily: "sans-serif",
28952
+ fontSize: 13,
28953
+ lineHeight: "18px"
28954
+ };
28955
+ var inspectorTitleInput = {
28956
+ ...titleInput,
28957
+ fontFamily: "sans-serif",
28958
+ fontSize: 13
28959
+ };
28960
+ var InlineEditableTitle = ({
28961
+ value,
28962
+ canRename,
28963
+ getInitialSelection,
28964
+ onClick,
28965
+ onCommit,
28966
+ size: size2 = "default",
28967
+ title: title2
28968
+ }) => {
28892
28969
  const [isEditing, setIsEditing] = useState51(false);
28893
28970
  const [isHovered, setIsHovered] = useState51(false);
28894
28971
  const [draftValue, setDraftValue] = useState51(value);
@@ -28950,18 +29027,24 @@ var InlineEditableTitle = ({ value, canRename, getInitialSelection, onClick, onC
28950
29027
  }
28951
29028
  }, [value]);
28952
29029
  const isInteractive = canRename || onClick !== undefined;
28953
- const backgroundColor = isEditing ? INPUT_BACKGROUND : isHovered && isInteractive ? WHITE_ALPHA_06 : TRANSPARENT;
29030
+ const backgroundColor = isEditing ? INPUT_BACKGROUND : getBackgroundFromHoverState({
29031
+ hovered: isHovered && isInteractive,
29032
+ selected: false
29033
+ });
29034
+ const isInspectorSize = size2 === "inspector";
28954
29035
  const innerStyle = useMemo67(() => {
28955
29036
  return {
28956
- ...titleInner,
29037
+ ...isInspectorSize ? inspectorTitleInner : titleInner,
28957
29038
  backgroundColor,
28958
- cursor: isEditing ? "text" : isInteractive ? "pointer" : "default",
29039
+ cursor: isEditing ? "text" : isInspectorSize ? "text" : isInteractive ? "pointer" : "default",
28959
29040
  userSelect: isEditing ? "text" : "none",
28960
- width: isEditing ? "100%" : undefined
29041
+ width: isEditing || isInspectorSize ? "100%" : undefined
28961
29042
  };
28962
- }, [backgroundColor, isEditing, isInteractive]);
29043
+ }, [backgroundColor, isEditing, isInspectorSize, isInteractive]);
29044
+ const gridItemStyle = isInspectorSize ? inspectorTitleGridItem : titleGridItem;
29045
+ const inputStyle = isInspectorSize ? inspectorTitleInput : titleInput;
28963
29046
  return /* @__PURE__ */ jsx116("div", {
28964
- style: titleWrapper,
29047
+ style: isInspectorSize ? inspectorTitleWrapper : titleWrapper,
28965
29048
  title: title2 ?? value,
28966
29049
  children: /* @__PURE__ */ jsxs51("span", {
28967
29050
  style: innerStyle,
@@ -28972,14 +29055,14 @@ var InlineEditableTitle = ({ value, canRename, getInitialSelection, onClick, onC
28972
29055
  /* @__PURE__ */ jsx116("span", {
28973
29056
  "aria-hidden": isEditing,
28974
29057
  style: {
28975
- ...titleGridItem,
29058
+ ...gridItemStyle,
28976
29059
  visibility: isEditing ? "hidden" : "visible"
28977
29060
  },
28978
29061
  children: value
28979
29062
  }),
28980
29063
  isEditing ? /* @__PURE__ */ jsx116("input", {
28981
29064
  ref: focusInput,
28982
- style: { ...titleGridItem, ...titleInput },
29065
+ style: { ...gridItemStyle, ...inputStyle },
28983
29066
  value: draftValue,
28984
29067
  onChange,
28985
29068
  onBlur,
@@ -29026,8 +29109,20 @@ var subtitle = {
29026
29109
  textOverflow: "ellipsis",
29027
29110
  whiteSpace: "nowrap"
29028
29111
  };
29029
- var InspectorInfoHeader = ({ children, contentSized = false, minHeight }) => {
29030
- const style5 = contentSized ? containerBase : minHeight === undefined ? container23 : { ...containerBase, minHeight };
29112
+ var inspectorSubtitle = {
29113
+ ...subtitle,
29114
+ boxSizing: "border-box",
29115
+ fontFamily: "sans-serif",
29116
+ fontSize: 13,
29117
+ height: 28,
29118
+ lineHeight: "18px",
29119
+ margin: "0 4px",
29120
+ padding: "5px 8px",
29121
+ width: "calc(100% - 8px)"
29122
+ };
29123
+ var InspectorInfoHeader = ({ children, contentSized = false, minHeight, padding: padding2 }) => {
29124
+ const sizeStyle = contentSized ? containerBase : minHeight === undefined ? container23 : { ...containerBase, minHeight };
29125
+ const style5 = padding2 === undefined ? sizeStyle : { ...sizeStyle, padding: padding2 };
29031
29126
  return /* @__PURE__ */ jsx117("div", {
29032
29127
  style: style5,
29033
29128
  children: children === undefined || children === null ? null : /* @__PURE__ */ jsx117("div", {
@@ -29039,9 +29134,9 @@ var InspectorInfoHeader = ({ children, contentSized = false, minHeight }) => {
29039
29134
  })
29040
29135
  });
29041
29136
  };
29042
- var InspectorInfoSubtitle = ({ children }) => {
29137
+ var InspectorInfoSubtitle = ({ children, size: size2 = "default" }) => {
29043
29138
  return /* @__PURE__ */ jsx117("div", {
29044
- style: subtitle,
29139
+ style: size2 === "inspector" ? inspectorSubtitle : subtitle,
29045
29140
  children
29046
29141
  });
29047
29142
  };
@@ -29246,6 +29341,7 @@ var AssetInfo = ({ assetName, contentSized = false, onAssetClick, readOnlyStudio
29246
29341
  const mediaDetailLines = mediaMetadata ? getCurrentAssetMediaDetailLines(mediaMetadata) : [];
29247
29342
  return /* @__PURE__ */ jsxs52(InspectorInfoHeader, {
29248
29343
  contentSized,
29344
+ padding: contentSized ? `0 ${INSPECTOR_PANEL_HORIZONTAL_PADDING}px 6px` : "4px 0",
29249
29345
  children: [
29250
29346
  /* @__PURE__ */ jsx118(InlineEditableTitle, {
29251
29347
  value: fileName,
@@ -29253,16 +29349,20 @@ var AssetInfo = ({ assetName, contentSized = false, onAssetClick, readOnlyStudio
29253
29349
  getInitialSelection: getStaticFileRenameSelection,
29254
29350
  onClick: onAssetClick,
29255
29351
  onCommit: onRename,
29352
+ size: contentSized ? "default" : "inspector",
29256
29353
  title: assetName
29257
29354
  }),
29258
29355
  subtitleParts.length > 0 ? /* @__PURE__ */ jsx118(InspectorInfoSubtitle, {
29356
+ size: contentSized ? "default" : "inspector",
29259
29357
  children: subtitleParts.join(" · ")
29260
29358
  }) : null,
29261
29359
  mediaMetadata ? /* @__PURE__ */ jsx118(InspectorInfoSubtitle, {
29360
+ size: contentSized ? "default" : "inspector",
29262
29361
  children: formatMediaDuration(mediaMetadata.duration)
29263
29362
  }) : null,
29264
29363
  mediaDetailLines.map((line2) => {
29265
29364
  return /* @__PURE__ */ jsx118(InspectorInfoSubtitle, {
29365
+ size: contentSized ? "default" : "inspector",
29266
29366
  children: line2
29267
29367
  }, line2);
29268
29368
  })
@@ -29320,31 +29420,6 @@ var inspectorSectionBody = {
29320
29420
  minWidth: 0,
29321
29421
  paddingBottom: 8
29322
29422
  };
29323
- var sequenceHeader = {
29324
- backgroundColor: BACKGROUND,
29325
- display: "flex",
29326
- flexDirection: "column",
29327
- minWidth: 0,
29328
- padding: `6px ${INSPECTOR_PANEL_HORIZONTAL_PADDING}px 4px`
29329
- };
29330
- var sequenceHeaderTitle = {
29331
- alignSelf: "stretch",
29332
- backgroundColor: BACKGROUND,
29333
- border: "none",
29334
- color: WHITE,
29335
- display: "flex",
29336
- fontFamily: "sans-serif",
29337
- fontSize: 12,
29338
- lineHeight: "18px",
29339
- margin: 0,
29340
- maxWidth: "100%",
29341
- minWidth: 0,
29342
- overflow: "hidden",
29343
- padding: 0,
29344
- textAlign: "left",
29345
- textOverflow: "ellipsis",
29346
- whiteSpace: "nowrap"
29347
- };
29348
29423
  var sequenceHeaderSubtitle = {
29349
29424
  alignSelf: "flex-start",
29350
29425
  backgroundColor: BACKGROUND,
@@ -29451,7 +29526,11 @@ var detailRow = {
29451
29526
  };
29452
29527
  var detailLabel = {
29453
29528
  color: LIGHT_TEXT,
29454
- fontSize: 13
29529
+ fontSize: 13,
29530
+ minWidth: 0,
29531
+ overflow: "hidden",
29532
+ textOverflow: "ellipsis",
29533
+ whiteSpace: "nowrap"
29455
29534
  };
29456
29535
  var detailValue = {
29457
29536
  color: WHITE,
@@ -29462,22 +29541,8 @@ var detailValue = {
29462
29541
  wordBreak: "break-word"
29463
29542
  };
29464
29543
  var keyframeEditorRow = {
29465
- alignItems: "flex-start",
29466
- display: "flex",
29467
- gap: 12,
29468
- justifyContent: "space-between",
29469
- minWidth: 0,
29470
29544
  padding: "10px 0"
29471
29545
  };
29472
- var keyframeEditorLabel = {
29473
- color: LIGHT_TEXT,
29474
- fontSize: 13,
29475
- lineHeight: "22px",
29476
- minWidth: 0,
29477
- overflow: "hidden",
29478
- textOverflow: "ellipsis",
29479
- whiteSpace: "nowrap"
29480
- };
29481
29546
  var keyframeEditorValue = {
29482
29547
  alignItems: "center",
29483
29548
  display: "flex",
@@ -29543,13 +29608,13 @@ var label4 = {
29543
29608
  whiteSpace: "normal",
29544
29609
  overflowWrap: "anywhere"
29545
29610
  };
29546
- var compactLabel = {
29611
+ var compactLabel2 = {
29547
29612
  ...label4,
29548
29613
  fontSize: 12
29549
29614
  };
29550
29615
  var ValidationMessage = ({ message, align, type, action, size: size2 = "default" }) => {
29551
29616
  const iconStyle3 = size2 === "compact" ? compactStyle : style5;
29552
- const labelStyle4 = size2 === "compact" ? compactLabel : label4;
29617
+ const labelStyle4 = size2 === "compact" ? compactLabel2 : label4;
29553
29618
  const finalStyle = useMemo69(() => {
29554
29619
  return {
29555
29620
  ...iconStyle3,
@@ -29618,45 +29683,32 @@ var InspectorSection = ({ children, header: header2 }) => {
29618
29683
  ]
29619
29684
  });
29620
29685
  };
29621
- var backIcon = {
29622
- alignItems: "center",
29623
- display: "flex",
29624
- height: 12,
29625
- justifyContent: "center",
29626
- width: 12
29686
+ var backArrowIcon = {
29687
+ display: "block",
29688
+ height: 15,
29689
+ width: 15
29627
29690
  };
29628
- var BackChevron = ({ color }) => {
29691
+ var BackArrow = ({ color }) => {
29629
29692
  return /* @__PURE__ */ jsx121("svg", {
29630
- viewBox: "0 0 8 12",
29631
- style: backIcon,
29693
+ viewBox: "0 0 512 512",
29694
+ style: backArrowIcon,
29632
29695
  children: /* @__PURE__ */ jsx121("path", {
29633
- d: "M6 1L2 6L6 11",
29634
- fill: "none",
29635
- stroke: color,
29636
- strokeLinecap: "round",
29637
- strokeLinejoin: "round",
29638
- strokeWidth: "1.5"
29696
+ d: "M7 239c-9.4 9.4-9.4 24.6 0 33.9L175 441c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L81.9 280 488 280c13.3 0 24-10.7 24-24s-10.7-24-24-24L81.9 232 209 105c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L7 239z",
29697
+ fill: color
29639
29698
  })
29640
29699
  });
29641
29700
  };
29642
- var InspectorBackHeader = ({ children, disabled, onClick, title: title2 }) => {
29643
- return /* @__PURE__ */ jsx121(InspectorSectionHeader, {
29644
- children: /* @__PURE__ */ jsx121("div", {
29645
- style: sectionHeaderRow,
29646
- children: /* @__PURE__ */ jsxs54("div", {
29647
- style: sectionHeaderStart,
29648
- children: [
29649
- /* @__PURE__ */ jsx121(InlineAction, {
29650
- disabled,
29651
- onClick,
29652
- title: title2,
29653
- renderAction: (color) => /* @__PURE__ */ jsx121(BackChevron, {
29654
- color
29655
- })
29656
- }),
29657
- children
29658
- ]
29659
- })
29701
+ var InspectorBackAction = ({ children, disabled, onClick, title: title2 }) => {
29702
+ return /* @__PURE__ */ jsx121("div", {
29703
+ style: inspectorActionSection,
29704
+ children: /* @__PURE__ */ jsx121(InspectorInlineAction, {
29705
+ disabled,
29706
+ onClick,
29707
+ renderIcon: (color) => /* @__PURE__ */ jsx121(BackArrow, {
29708
+ color
29709
+ }),
29710
+ title: title2,
29711
+ children
29660
29712
  })
29661
29713
  });
29662
29714
  };
@@ -29694,7 +29746,7 @@ var inlineLabelButton = {
29694
29746
  height: COMPACT_CONTROL_ROW_HEIGHT,
29695
29747
  lineHeight: "18px",
29696
29748
  margin: `0 ${INLINE_LABEL_BUTTON_MARGIN}px`,
29697
- padding: `5px ${INSPECTOR_PANEL_HORIZONTAL_PADDING - INLINE_LABEL_BUTTON_MARGIN}px`,
29749
+ padding: `0 ${INSPECTOR_PANEL_HORIZONTAL_PADDING - INLINE_LABEL_BUTTON_MARGIN}px`,
29698
29750
  textAlign: "left",
29699
29751
  width: `calc(100% - ${INLINE_LABEL_BUTTON_MARGIN * 2}px)`
29700
29752
  };
@@ -29702,6 +29754,9 @@ var inlineLabelButtonDisabled = {
29702
29754
  ...inlineLabelButton,
29703
29755
  opacity: 0.35
29704
29756
  };
29757
+ var compactInlineLabelButton = {
29758
+ height: COMPACT_INLINE_ROW_HEIGHT
29759
+ };
29705
29760
  var inlineLabelText = {
29706
29761
  color: LIGHT_TEXT,
29707
29762
  flex: 1,
@@ -29721,7 +29776,15 @@ var inlineLabelIcon = {
29721
29776
  justifyContent: "center",
29722
29777
  width: 18
29723
29778
  };
29724
- var InspectorInlineAction = ({ children, disabled, onClick, renderIcon, style: style6 }) => {
29779
+ var InspectorInlineAction = ({
29780
+ children,
29781
+ disabled,
29782
+ onClick,
29783
+ renderIcon,
29784
+ size: size2 = "default",
29785
+ style: style6,
29786
+ title: title2
29787
+ }) => {
29725
29788
  const [hovered, setHovered] = React81.useState(false);
29726
29789
  const color = hovered && !disabled ? WHITE : LIGHT_TEXT;
29727
29790
  const buttonStyle3 = React81.useMemo(() => ({
@@ -29731,8 +29794,9 @@ var InspectorInlineAction = ({ children, disabled, onClick, renderIcon, style: s
29731
29794
  selected: false
29732
29795
  }),
29733
29796
  color,
29797
+ ...size2 === "compact" ? compactInlineLabelButton : null,
29734
29798
  ...style6
29735
- }), [color, disabled, hovered, style6]);
29799
+ }), [color, disabled, hovered, size2, style6]);
29736
29800
  const textStyle2 = React81.useMemo(() => ({
29737
29801
  ...inlineLabelText,
29738
29802
  color
@@ -29744,17 +29808,19 @@ var InspectorInlineAction = ({ children, disabled, onClick, renderIcon, style: s
29744
29808
  setHovered(false);
29745
29809
  }, []);
29746
29810
  return /* @__PURE__ */ jsxs54("button", {
29811
+ className: "__remotion-inspector-inline-action",
29747
29812
  type: "button",
29748
29813
  disabled,
29749
29814
  style: buttonStyle3,
29815
+ title: title2,
29750
29816
  onClick,
29751
29817
  onPointerEnter: disabled ? undefined : onPointerEnter,
29752
29818
  onPointerLeave,
29753
29819
  children: [
29754
- /* @__PURE__ */ jsx121("span", {
29820
+ renderIcon ? /* @__PURE__ */ jsx121("span", {
29755
29821
  style: inlineLabelIcon,
29756
29822
  children: renderIcon(color)
29757
- }),
29823
+ }) : null,
29758
29824
  /* @__PURE__ */ jsx121("span", {
29759
29825
  style: textStyle2,
29760
29826
  children
@@ -33249,7 +33315,7 @@ var ZodEnumEditor = ({ schema, jsonPath, setValue, value, onRemove }) => {
33249
33315
  values: comboBoxValues,
33250
33316
  selectedId: value,
33251
33317
  title: value,
33252
- small: true
33318
+ size: "small"
33253
33319
  })
33254
33320
  }),
33255
33321
  /* @__PURE__ */ jsx152(ZodFieldValidation, {
@@ -33652,7 +33718,7 @@ var ZodStaticFileEditor = ({ schema, jsonPath, setValue, value, onRemove, mayPad
33652
33718
  values: comboBoxValues,
33653
33719
  selectedId: value,
33654
33720
  title: value,
33655
- small: true
33721
+ size: "small"
33656
33722
  })
33657
33723
  }),
33658
33724
  /* @__PURE__ */ jsx159(ZodFieldValidation, {
@@ -34309,7 +34375,7 @@ var ZodDiscriminatedUnionEditor = ({ schema, setValue, value, mayPad, jsonPath,
34309
34375
  title: "Select type",
34310
34376
  values: comboBoxValues,
34311
34377
  selectedId: value[discriminator],
34312
- small: true
34378
+ size: "small"
34313
34379
  })
34314
34380
  ]
34315
34381
  }, "replacement")
@@ -35454,7 +35520,8 @@ var InlineCompositionName = ({ compositionId, stack: stack2, compositions }) =>
35454
35520
  return /* @__PURE__ */ jsx177(InlineEditableTitle, {
35455
35521
  value: compositionId,
35456
35522
  canRename,
35457
- onCommit: commit
35523
+ onCommit: commit,
35524
+ size: "inspector"
35458
35525
  });
35459
35526
  };
35460
35527
 
@@ -35478,8 +35545,8 @@ var content5 = {
35478
35545
  var action = {
35479
35546
  flexShrink: 0,
35480
35547
  height: 24,
35481
- marginLeft: 4,
35482
- marginRight: -4
35548
+ marginLeft: 0,
35549
+ marginRight: 4
35483
35550
  };
35484
35551
  var icon3 = {
35485
35552
  flexShrink: 0,
@@ -35576,7 +35643,7 @@ var sourceLocationLabelStyle = {
35576
35643
  textOverflow: "ellipsis",
35577
35644
  whiteSpace: "nowrap"
35578
35645
  };
35579
- var InspectorSourceLocation = ({ location: location2, canOpen, onOpen, renderIcon }) => {
35646
+ var InspectorSourceLocation = ({ location: location2, canOpen, onOpen, renderIcon, size: size2 = "default" }) => {
35580
35647
  const [hovered, setHovered] = useState69(false);
35581
35648
  const validLocation = useMemo107(() => {
35582
35649
  if (!location2?.source || location2.line === null) {
@@ -35616,6 +35683,16 @@ var InspectorSourceLocation = ({ location: location2, canOpen, onOpen, renderIco
35616
35683
  if (!label6) {
35617
35684
  return null;
35618
35685
  }
35686
+ if (size2 === "inline-action") {
35687
+ return /* @__PURE__ */ jsx179(InspectorInlineAction, {
35688
+ disabled: !canOpen,
35689
+ onClick,
35690
+ renderIcon: (iconColor) => renderIcon?.(iconColor),
35691
+ size: "compact",
35692
+ title: fileLocation ?? undefined,
35693
+ children: label6
35694
+ });
35695
+ }
35619
35696
  return /* @__PURE__ */ jsxs91("button", {
35620
35697
  type: "button",
35621
35698
  style: style8,
@@ -35634,12 +35711,16 @@ var InspectorSourceLocation = ({ location: location2, canOpen, onOpen, renderIco
35634
35711
  };
35635
35712
 
35636
35713
  // src/components/InspectorPanel/CompositionInspectorHeader.tsx
35637
- import { jsx as jsx180, jsxs as jsxs92, Fragment as Fragment28 } from "react/jsx-runtime";
35714
+ import { jsx as jsx180, jsxs as jsxs92 } from "react/jsx-runtime";
35638
35715
  var COMPOSITION_INSPECTOR_HEADER_HEIGHT = 66;
35639
35716
  var sourceLocationIconStyle = {
35640
35717
  flexShrink: 0,
35641
- height: 13,
35642
- width: 13
35718
+ height: 18,
35719
+ width: 18
35720
+ };
35721
+ var componentLocationPlaceholder = {
35722
+ flexShrink: 0,
35723
+ height: COMPACT_INLINE_ROW_HEIGHT
35643
35724
  };
35644
35725
  var renderReactIcon = (color) => {
35645
35726
  return /* @__PURE__ */ jsx180(ReactIcon, {
@@ -35713,34 +35794,33 @@ var CompositionInspectorHeader = () => {
35713
35794
  }, [video]);
35714
35795
  return /* @__PURE__ */ jsx180(InspectorInfoHeader, {
35715
35796
  minHeight: COMPOSITION_INSPECTOR_HEADER_HEIGHT,
35716
- children: video ? /* @__PURE__ */ jsxs92(Fragment28, {
35797
+ padding: "4px 0",
35798
+ children: video ? /* @__PURE__ */ jsxs92(InspectorLocationCopy, {
35799
+ location: validatedLocation,
35800
+ name: video.id,
35717
35801
  children: [
35718
- /* @__PURE__ */ jsxs92(InspectorLocationCopy, {
35802
+ /* @__PURE__ */ jsx180(InlineCompositionName, {
35803
+ compositionId: video.id,
35804
+ stack: currentComposition?.stack ?? null,
35805
+ compositions
35806
+ }, video.id),
35807
+ /* @__PURE__ */ jsx180(InspectorSourceLocation, {
35719
35808
  location: validatedLocation,
35720
- name: video.id,
35721
- children: [
35722
- /* @__PURE__ */ jsx180(InlineCompositionName, {
35723
- compositionId: video.id,
35724
- stack: currentComposition?.stack ?? null,
35725
- compositions
35726
- }, video.id),
35727
- /* @__PURE__ */ jsx180(InspectorSourceLocation, {
35728
- location: validatedLocation,
35729
- canOpen: validatedLocation !== null,
35730
- onOpen: openFileLocation,
35731
- renderIcon: renderCompositionIcon
35732
- }),
35733
- /* @__PURE__ */ jsx180(InspectorSourceLocation, {
35734
- location: componentLocation,
35735
- canOpen: componentLocation !== null,
35736
- onOpen: openComponentLocation,
35737
- renderIcon: renderReactIcon
35738
- })
35739
- ]
35809
+ canOpen: validatedLocation !== null,
35810
+ onOpen: openFileLocation,
35811
+ renderIcon: renderCompositionIcon,
35812
+ size: "inline-action"
35740
35813
  }),
35741
- isCompositionStill(video) ? /* @__PURE__ */ jsx180(InspectorInfoSubtitle, {
35742
- children: "Still"
35743
- }) : null
35814
+ compositionComponentInfo === null && compositionFile !== null && compositionId !== null ? /* @__PURE__ */ jsx180("div", {
35815
+ "aria-hidden": true,
35816
+ style: componentLocationPlaceholder
35817
+ }) : /* @__PURE__ */ jsx180(InspectorSourceLocation, {
35818
+ location: componentLocation,
35819
+ canOpen: componentLocation !== null,
35820
+ onOpen: openComponentLocation,
35821
+ renderIcon: renderReactIcon,
35822
+ size: "inline-action"
35823
+ })
35744
35824
  ]
35745
35825
  }) : null
35746
35826
  });
@@ -35803,7 +35883,7 @@ var reconcilePendingCompositionMetadata = ({
35803
35883
  };
35804
35884
 
35805
35885
  // src/components/InspectorPanel/CompositionMetadata.tsx
35806
- import { jsx as jsx181, jsxs as jsxs93, Fragment as Fragment29 } from "react/jsx-runtime";
35886
+ import { jsx as jsx181, jsxs as jsxs93, Fragment as Fragment28 } from "react/jsx-runtime";
35807
35887
  var compositionMetadataContainer = {
35808
35888
  ...detailsContainer,
35809
35889
  paddingBottom: 4,
@@ -36023,7 +36103,7 @@ var CompositionMetadata = ({ compositionId, disabled, stack: stack2 }) => {
36023
36103
  ]
36024
36104
  })
36025
36105
  }),
36026
- isStill ? null : /* @__PURE__ */ jsxs93(Fragment29, {
36106
+ isStill ? null : /* @__PURE__ */ jsxs93(Fragment28, {
36027
36107
  children: [
36028
36108
  /* @__PURE__ */ jsx181(InspectorDetailRow, {
36029
36109
  label: "Frame rate",
@@ -36151,7 +36231,7 @@ var useCompositionActions = () => {
36151
36231
  };
36152
36232
 
36153
36233
  // src/components/InspectorPanel/CompositionInspector.tsx
36154
- import { jsx as jsx182, jsxs as jsxs94, Fragment as Fragment30 } from "react/jsx-runtime";
36234
+ import { jsx as jsx182, jsxs as jsxs94, Fragment as Fragment29 } from "react/jsx-runtime";
36155
36235
  var actionIconStyle = {
36156
36236
  height: 18,
36157
36237
  width: 18
@@ -36239,7 +36319,7 @@ var CompositionDefaultPropsSection = ({ composition, currentDefaultProps, setDef
36239
36319
  if (!canShowDefaultPropsSection) {
36240
36320
  return null;
36241
36321
  }
36242
- return /* @__PURE__ */ jsxs94(Fragment30, {
36322
+ return /* @__PURE__ */ jsxs94(Fragment29, {
36243
36323
  children: [
36244
36324
  /* @__PURE__ */ jsx182(InspectorSectionDivider, {}),
36245
36325
  /* @__PURE__ */ jsxs94("div", {
@@ -36307,7 +36387,7 @@ var CompositionVisualControlsSection = () => {
36307
36387
  if (!hasVisualControls) {
36308
36388
  return null;
36309
36389
  }
36310
- return /* @__PURE__ */ jsxs94(Fragment30, {
36390
+ return /* @__PURE__ */ jsxs94(Fragment29, {
36311
36391
  children: [
36312
36392
  /* @__PURE__ */ jsx182(InspectorSectionDivider, {}),
36313
36393
  /* @__PURE__ */ jsxs94("div", {
@@ -36410,7 +36490,7 @@ import {
36410
36490
  useState as useState73
36411
36491
  } from "react";
36412
36492
  import { Easing, Internals as Internals57 } from "remotion";
36413
- import { jsx as jsx183, jsxs as jsxs95, Fragment as Fragment31 } from "react/jsx-runtime";
36493
+ import { jsx as jsx183, jsxs as jsxs95, Fragment as Fragment30 } from "react/jsx-runtime";
36414
36494
  var SVG_WIDTH = 560;
36415
36495
  var SVG_HEIGHT = 320;
36416
36496
  var PLOT_LEFT = 42;
@@ -36750,7 +36830,7 @@ var EasingGraphScaffold = ({ labels }) => {
36750
36830
  const yOne = yToSvg(1);
36751
36831
  const bottomLabelWidth = getEasingGraphLabelWidth(labels.start);
36752
36832
  const topLabelWidth = getEasingGraphLabelWidth(labels.end);
36753
- return /* @__PURE__ */ jsxs95(Fragment31, {
36833
+ return /* @__PURE__ */ jsxs95(Fragment30, {
36754
36834
  children: [
36755
36835
  /* @__PURE__ */ jsx183("line", {
36756
36836
  x1: PLOT_LEFT,
@@ -37168,7 +37248,7 @@ var EasingEditor = ({ state, renderHeader }) => {
37168
37248
  preset
37169
37249
  }, preset.id))
37170
37250
  }),
37171
- mode === "bezier" ? /* @__PURE__ */ jsxs95(Fragment31, {
37251
+ mode === "bezier" ? /* @__PURE__ */ jsxs95(Fragment30, {
37172
37252
  children: [
37173
37253
  /* @__PURE__ */ jsxs95("svg", {
37174
37254
  ref: svgRef,
@@ -37368,7 +37448,7 @@ var EasingEditor = ({ state, renderHeader }) => {
37368
37448
  ]
37369
37449
  })
37370
37450
  ]
37371
- }) : /* @__PURE__ */ jsxs95(Fragment31, {
37451
+ }) : /* @__PURE__ */ jsxs95(Fragment30, {
37372
37452
  children: [
37373
37453
  /* @__PURE__ */ jsxs95("svg", {
37374
37454
  width: SVG_WIDTH,
@@ -38400,7 +38480,7 @@ var useTimelineEasingKeyframeDrag = ({
38400
38480
  };
38401
38481
 
38402
38482
  // src/components/Timeline/TimelineKeyframeEasingLine.tsx
38403
- import { jsx as jsx186, jsxs as jsxs97, Fragment as Fragment32 } from "react/jsx-runtime";
38483
+ import { jsx as jsx186, jsxs as jsxs97, Fragment as Fragment31 } from "react/jsx-runtime";
38404
38484
  var hitTargetHeight = 12;
38405
38485
  var lineHeight2 = 2;
38406
38486
  var easingLineButton = {
@@ -38551,7 +38631,7 @@ var TimelineKeyframeEasingLineUnmemoized = ({ fromFrame, toFrame, rowHeight, nod
38551
38631
  if (style8 === null) {
38552
38632
  return null;
38553
38633
  }
38554
- return /* @__PURE__ */ jsxs97(Fragment32, {
38634
+ return /* @__PURE__ */ jsxs97(Fragment31, {
38555
38635
  children: [
38556
38636
  /* @__PURE__ */ jsx186("button", {
38557
38637
  ref: buttonRef,
@@ -38835,7 +38915,7 @@ import {
38835
38915
  useState as useState75
38836
38916
  } from "react";
38837
38917
  import { Internals as Internals61 } from "remotion";
38838
- import { jsx as jsx188, jsxs as jsxs99, Fragment as Fragment33 } from "react/jsx-runtime";
38918
+ import { jsx as jsx188, jsxs as jsxs99, Fragment as Fragment32 } from "react/jsx-runtime";
38839
38919
  var comboStyle2 = {
38840
38920
  minWidth: 120
38841
38921
  };
@@ -38963,7 +39043,7 @@ var KeyframeSettings = ({ update }) => {
38963
39043
  const posterizeFormatter = useCallback107((value) => {
38964
39044
  return String(Math.round(Number(value)));
38965
39045
  }, []);
38966
- return /* @__PURE__ */ jsxs99(Fragment33, {
39046
+ return /* @__PURE__ */ jsxs99(Fragment32, {
38967
39047
  children: [
38968
39048
  /* @__PURE__ */ jsx188(InspectorSectionHeader, {
38969
39049
  children: "Keyframe settings"
@@ -38971,7 +39051,7 @@ var KeyframeSettings = ({ update }) => {
38971
39051
  /* @__PURE__ */ jsxs99("div", {
38972
39052
  style: keyframeSettingsContainer,
38973
39053
  children: [
38974
- canEditInterpolationSettings ? /* @__PURE__ */ jsxs99(Fragment33, {
39054
+ canEditInterpolationSettings ? /* @__PURE__ */ jsxs99(Fragment32, {
38975
39055
  children: [
38976
39056
  /* @__PURE__ */ jsx188(InspectorDetailRow, {
38977
39057
  label: "Extrapolate left",
@@ -38980,7 +39060,7 @@ var KeyframeSettings = ({ update }) => {
38980
39060
  selectedId: propStatus.clamping.left,
38981
39061
  title: "Extrapolate left",
38982
39062
  style: comboStyle2,
38983
- small: true
39063
+ size: "small"
38984
39064
  })
38985
39065
  }),
38986
39066
  /* @__PURE__ */ jsx188(InspectorDetailRow, {
@@ -38990,7 +39070,7 @@ var KeyframeSettings = ({ update }) => {
38990
39070
  selectedId: propStatus.clamping.right,
38991
39071
  title: "Extrapolate right",
38992
39072
  style: comboStyle2,
38993
- small: true
39073
+ size: "small"
38994
39074
  })
38995
39075
  }),
38996
39076
  /* @__PURE__ */ jsx188(InspectorDetailRow, {
@@ -39000,7 +39080,7 @@ var KeyframeSettings = ({ update }) => {
39000
39080
  selectedId: propStatus.output ?? "linear",
39001
39081
  title: "Output",
39002
39082
  style: comboStyle2,
39003
- small: true
39083
+ size: "small"
39004
39084
  })
39005
39085
  })
39006
39086
  ]
@@ -39250,7 +39330,32 @@ var ConnectedCompositionsSection = ({ connectedCompositions }) => {
39250
39330
  };
39251
39331
 
39252
39332
  // src/components/InspectorPanel/SequenceInspectorHeader.tsx
39253
- import { jsx as jsx190, jsxs as jsxs100, Fragment as Fragment34 } from "react/jsx-runtime";
39333
+ import { jsx as jsx190, jsxs as jsxs100, Fragment as Fragment33 } from "react/jsx-runtime";
39334
+ var sourceLocationIconStyle2 = {
39335
+ flexShrink: 0,
39336
+ height: 18,
39337
+ width: 18
39338
+ };
39339
+ var renderReactIcon2 = (color) => {
39340
+ return /* @__PURE__ */ jsx190(ReactIcon, {
39341
+ color,
39342
+ style: sourceLocationIconStyle2
39343
+ });
39344
+ };
39345
+ var sequenceInspectorSubtitle = {
39346
+ ...sequenceHeaderSubtitle,
39347
+ alignItems: "center",
39348
+ boxSizing: "border-box",
39349
+ fontSize: 13,
39350
+ height: COMPACT_INLINE_ROW_HEIGHT,
39351
+ lineHeight: "18px",
39352
+ margin: "0 4px",
39353
+ padding: "0 8px",
39354
+ width: "calc(100% - 8px)"
39355
+ };
39356
+ var defaultCursor = {
39357
+ cursor: "default"
39358
+ };
39254
39359
  var useSequenceInspectorSourceLocation = (sequence) => {
39255
39360
  const { canOpenInEditor, openInEditor: openInEditor2, originalLocation } = useOpenSequenceInEditor(sequence);
39256
39361
  const validatedLocation = useMemo120(() => {
@@ -39293,7 +39398,7 @@ var SequenceInspectorHeader = ({ sourceLocation, track }) => {
39293
39398
  }, [documentationLink]);
39294
39399
  const subtitleStyle = useMemo120(() => {
39295
39400
  return {
39296
- ...sequenceHeaderSubtitle,
39401
+ ...sequenceInspectorSubtitle,
39297
39402
  cursor: documentationLink ? "pointer" : "default"
39298
39403
  };
39299
39404
  }, [documentationLink]);
@@ -39303,23 +39408,23 @@ var SequenceInspectorHeader = ({ sourceLocation, track }) => {
39303
39408
  return;
39304
39409
  });
39305
39410
  }, [saveName]);
39306
- return /* @__PURE__ */ jsx190("div", {
39307
- style: sequenceHeader,
39411
+ return /* @__PURE__ */ jsx190(InspectorInfoHeader, {
39412
+ contentSized: true,
39413
+ padding: "4px 0",
39308
39414
  children: /* @__PURE__ */ jsxs100(InspectorLocationCopy, {
39309
39415
  location: sourceLocation.validatedLocation,
39310
39416
  name: componentName ?? null,
39311
39417
  children: [
39312
- /* @__PURE__ */ jsx190("div", {
39313
- style: sequenceHeaderTitle,
39314
- children: /* @__PURE__ */ jsx190(InlineEditableTitle, {
39315
- value: sequenceDisplayName,
39316
- canRename,
39317
- onCommit: onRename
39318
- })
39418
+ /* @__PURE__ */ jsx190(InlineEditableTitle, {
39419
+ value: sequenceDisplayName,
39420
+ canRename,
39421
+ onCommit: onRename,
39422
+ size: "inspector"
39319
39423
  }),
39320
- documentationLink ? /* @__PURE__ */ jsx190("button", {
39321
- type: "button",
39322
- style: subtitleStyle,
39424
+ documentationLink ? /* @__PURE__ */ jsx190(InspectorInlineAction, {
39425
+ disabled: false,
39426
+ style: defaultCursor,
39427
+ size: "compact",
39323
39428
  title: "Open component docs",
39324
39429
  onClick: openDocumentationLink,
39325
39430
  children: componentName
@@ -39330,7 +39435,9 @@ var SequenceInspectorHeader = ({ sourceLocation, track }) => {
39330
39435
  /* @__PURE__ */ jsx190(InspectorSourceLocation, {
39331
39436
  location: sourceLocation.validatedLocation,
39332
39437
  canOpen: sourceLocation.canOpenInEditor,
39333
- onOpen: sourceLocation.openFileLocation
39438
+ onOpen: sourceLocation.openFileLocation,
39439
+ renderIcon: renderReactIcon2,
39440
+ size: "inline-action"
39334
39441
  })
39335
39442
  ]
39336
39443
  })
@@ -39339,13 +39446,13 @@ var SequenceInspectorHeader = ({ sourceLocation, track }) => {
39339
39446
  var SequenceInspectorSections = ({ track }) => {
39340
39447
  const sourceLocation = useSequenceInspectorSourceLocation(track.sequence);
39341
39448
  const connectedCompositions = useConnectedCompositions({ track });
39342
- return /* @__PURE__ */ jsxs100(Fragment34, {
39449
+ return /* @__PURE__ */ jsxs100(Fragment33, {
39343
39450
  children: [
39344
39451
  /* @__PURE__ */ jsx190(SequenceInspectorHeader, {
39345
39452
  sourceLocation,
39346
39453
  track
39347
39454
  }),
39348
- connectedCompositions.length > 0 ? /* @__PURE__ */ jsxs100(Fragment34, {
39455
+ connectedCompositions.length > 0 ? /* @__PURE__ */ jsxs100(Fragment33, {
39349
39456
  children: [
39350
39457
  /* @__PURE__ */ jsx190(InspectorSectionDivider, {}),
39351
39458
  /* @__PURE__ */ jsx190(ConnectedCompositionsSection, {
@@ -39376,7 +39483,7 @@ var useTrackForSelection = (selection) => {
39376
39483
  };
39377
39484
 
39378
39485
  // src/components/InspectorPanel/EasingInspector.tsx
39379
- import { jsx as jsx191, jsxs as jsxs101, Fragment as Fragment35 } from "react/jsx-runtime";
39486
+ import { jsx as jsx191, jsxs as jsxs101, Fragment as Fragment34 } from "react/jsx-runtime";
39380
39487
  var addKeyframeIcon = {
39381
39488
  display: "block",
39382
39489
  height: 18,
@@ -39546,16 +39653,13 @@ var EasingInspector = ({ selection }) => {
39546
39653
  timelinePosition,
39547
39654
  track
39548
39655
  ]);
39549
- const renderHeader = useCallback111(() => /* @__PURE__ */ jsxs101(Fragment35, {
39656
+ const renderHeader = useCallback111(() => /* @__PURE__ */ jsxs101(Fragment34, {
39550
39657
  children: [
39551
- /* @__PURE__ */ jsx191(InspectorBackHeader, {
39658
+ /* @__PURE__ */ jsx191(InspectorBackAction, {
39552
39659
  disabled: parentSelection === null,
39553
39660
  onClick: onSelectParent,
39554
39661
  title: "Back to property",
39555
- children: /* @__PURE__ */ jsx191("div", {
39556
- style: sectionHeaderTitle,
39557
- children: fieldLabel
39558
- })
39662
+ children: fieldLabel
39559
39663
  }),
39560
39664
  /* @__PURE__ */ jsx191(InspectorSectionDivider, {}),
39561
39665
  easingUpdate === null || track === null ? null : /* @__PURE__ */ jsx191(KeyframeEasingNavigator, {
@@ -39904,11 +40008,17 @@ import { useContext as useContext72, useMemo as useMemo124 } from "react";
39904
40008
  import { createContext as createContext26 } from "react";
39905
40009
  var INSPECTOR_TIMELINE_ROW_LAYOUT = {
39906
40010
  basePadding: INSPECTOR_ROW_BASE_PADDING,
39907
- keyframeControlsPadding: 0
40011
+ highlightSelectedLabel: false,
40012
+ keyframeControlsPadding: 0,
40013
+ rowBorderRadius: 4,
40014
+ rowHorizontalMargin: 4
39908
40015
  };
39909
40016
  var TimelineRowLayoutContext = createContext26({
39910
40017
  basePadding: TIMELINE_ROW_BASE_PADDING,
39911
- keyframeControlsPadding: TIMELINE_ROW_BASE_PADDING
40018
+ highlightSelectedLabel: true,
40019
+ keyframeControlsPadding: TIMELINE_ROW_BASE_PADDING,
40020
+ rowBorderRadius: 0,
40021
+ rowHorizontalMargin: 0
39912
40022
  });
39913
40023
 
39914
40024
  // src/components/Timeline/TimelineFieldLabel.tsx
@@ -39924,13 +40034,13 @@ var fieldNameBase = {
39924
40034
  minWidth: 0
39925
40035
  };
39926
40036
  var TimelineFieldLabel = ({ rowDepth, selected, label: label6, stacked = false }) => {
39927
- const { basePadding } = useContext72(TimelineRowLayoutContext);
40037
+ const { basePadding, highlightSelectedLabel } = useContext72(TimelineRowLayoutContext);
39928
40038
  const labelRowStyle = useMemo124(() => ({
39929
40039
  ...getTimelineFieldLabelRowStyle(rowDepth, basePadding),
39930
- ...getTimelineSelectedLabelStyle(selected, true),
40040
+ ...getTimelineSelectedLabelStyle(selected && highlightSelectedLabel, true),
39931
40041
  ...stacked ? { flex: `0 0 ${SCHEMA_FIELD_ROW_HEIGHT}px` } : null,
39932
40042
  alignSelf: "stretch"
39933
- }), [basePadding, rowDepth, selected, stacked]);
40043
+ }), [basePadding, highlightSelectedLabel, rowDepth, selected, stacked]);
39934
40044
  const fieldNameStyle = useMemo124(() => ({
39935
40045
  ...fieldNameBase,
39936
40046
  color: getTimelineColor(selected, true)
@@ -39946,7 +40056,7 @@ var TimelineFieldLabel = ({ rowDepth, selected, label: label6, stacked = false }
39946
40056
  };
39947
40057
 
39948
40058
  // src/components/Timeline/TimelineFieldRowContent.tsx
39949
- import { jsx as jsx195, jsxs as jsxs103, Fragment as Fragment36 } from "react/jsx-runtime";
40059
+ import { jsx as jsx195, jsxs as jsxs103, Fragment as Fragment35 } from "react/jsx-runtime";
39950
40060
  var TimelineFieldRowContent = ({ field, rowDepth, selected, children }) => {
39951
40061
  const label6 = /* @__PURE__ */ jsx195(TimelineFieldLabel, {
39952
40062
  rowDepth,
@@ -39967,7 +40077,7 @@ var TimelineFieldRowContent = ({ field, rowDepth, selected, children }) => {
39967
40077
  ]
39968
40078
  });
39969
40079
  }
39970
- return /* @__PURE__ */ jsxs103(Fragment36, {
40080
+ return /* @__PURE__ */ jsxs103(Fragment35, {
39971
40081
  children: [
39972
40082
  label6,
39973
40083
  value
@@ -40022,6 +40132,9 @@ var useTimelineKeyframeTracks = () => {
40022
40132
 
40023
40133
  // src/components/Timeline/TimelineKeyframeControls.tsx
40024
40134
  import { jsx as jsx197, jsxs as jsxs104 } from "react/jsx-runtime";
40135
+ var NAV_BUTTON_SIZE = 14;
40136
+ var INSPECTOR_NAV_BUTTON_WIDTH = NAV_BUTTON_SIZE / 2;
40137
+ var INSPECTOR_PREVIOUS_BUTTON_EXTRA_GAP = 1;
40025
40138
  var controlsContainerStyle = {
40026
40139
  alignItems: "center",
40027
40140
  display: "flex",
@@ -40029,6 +40142,10 @@ var controlsContainerStyle = {
40029
40142
  gap: 1,
40030
40143
  marginRight: 4
40031
40144
  };
40145
+ var inspectorControlsContainerStyle = {
40146
+ ...controlsContainerStyle,
40147
+ paddingLeft: NAV_BUTTON_SIZE - INSPECTOR_NAV_BUTTON_WIDTH - INSPECTOR_PREVIOUS_BUTTON_EXTRA_GAP
40148
+ };
40032
40149
  var navButtonStyle = {
40033
40150
  alignItems: "center",
40034
40151
  background: "none",
@@ -40037,13 +40154,20 @@ var navButtonStyle = {
40037
40154
  cursor: "pointer",
40038
40155
  display: "flex",
40039
40156
  flexShrink: 0,
40040
- height: 14,
40157
+ height: NAV_BUTTON_SIZE,
40041
40158
  justifyContent: "center",
40042
40159
  lineHeight: 1,
40043
40160
  outline: "none",
40044
40161
  padding: 0,
40045
40162
  userSelect: "none",
40046
- width: 14
40163
+ width: NAV_BUTTON_SIZE
40164
+ };
40165
+ var inspectorNavButtonStyle = {
40166
+ width: INSPECTOR_NAV_BUTTON_WIDTH
40167
+ };
40168
+ var inspectorPreviousNavButtonStyle = {
40169
+ ...inspectorNavButtonStyle,
40170
+ marginRight: INSPECTOR_PREVIOUS_BUTTON_EXTRA_GAP
40047
40171
  };
40048
40172
  var isKeyframedStatus = (status) => {
40049
40173
  return status.status === "keyframed";
@@ -40052,7 +40176,7 @@ var diamondButtonStyle = {
40052
40176
  ...navButtonStyle,
40053
40177
  background: "none"
40054
40178
  };
40055
- var svgStyle4 = { display: "block" };
40179
+ var svgStyle4 = { display: "block", flexShrink: 0 };
40056
40180
  var isKeyframeControlSelection = (selection) => {
40057
40181
  return selection.type === "sequence-prop" || selection.type === "sequence-effect-prop";
40058
40182
  };
@@ -40471,16 +40595,18 @@ var TimelineKeyframeControls = ({
40471
40595
  const nextDisabled = nextDisplayFrame === null;
40472
40596
  const previousStyle = useMemo125(() => ({
40473
40597
  ...navButtonStyle,
40598
+ ...mode === "inspector" ? inspectorPreviousNavButtonStyle : null,
40474
40599
  cursor: previousDisabled ? "default" : "pointer",
40475
40600
  opacity: previousDisabled ? 0.35 : 1,
40476
40601
  visibility: showNavigationButtons ? "visible" : "hidden"
40477
- }), [previousDisabled, showNavigationButtons]);
40602
+ }), [mode, previousDisabled, showNavigationButtons]);
40478
40603
  const nextStyle = useMemo125(() => ({
40479
40604
  ...navButtonStyle,
40605
+ ...mode === "inspector" ? inspectorNavButtonStyle : null,
40480
40606
  cursor: nextDisabled ? "default" : "pointer",
40481
40607
  opacity: nextDisabled ? 0.35 : 1,
40482
40608
  visibility: showNavigationButtons ? "visible" : "hidden"
40483
- }), [nextDisabled, showNavigationButtons]);
40609
+ }), [mode, nextDisabled, showNavigationButtons]);
40484
40610
  const diamondStyle = useMemo125(() => ({
40485
40611
  ...diamondButtonStyle,
40486
40612
  cursor: canToggleKeyframe && clientId ? "pointer" : "default",
@@ -40488,7 +40614,7 @@ var TimelineKeyframeControls = ({
40488
40614
  }), [canToggleKeyframe, clientId]);
40489
40615
  const diamondColor = hasKeyframeAtCurrentFrame ? BLUE : LIGHT_TEXT;
40490
40616
  return /* @__PURE__ */ jsxs104("div", {
40491
- style: controlsContainerStyle,
40617
+ style: mode === "inspector" ? inspectorControlsContainerStyle : controlsContainerStyle,
40492
40618
  children: [
40493
40619
  /* @__PURE__ */ jsx197("button", {
40494
40620
  type: "button",
@@ -40659,7 +40785,7 @@ var TimelineStaticFileAssetField = ({
40659
40785
  ];
40660
40786
  }, [current, onSelect, staticFiles, upload]);
40661
40787
  return /* @__PURE__ */ jsx198(Combobox, {
40662
- small: true,
40788
+ size: "small",
40663
40789
  title: current,
40664
40790
  selectedId: current,
40665
40791
  values: items,
@@ -40803,7 +40929,7 @@ var TimelineEnumField = ({
40803
40929
  }));
40804
40930
  }, [variantKeys, onSelect]);
40805
40931
  return /* @__PURE__ */ jsx201(Combobox, {
40806
- small: true,
40932
+ size: "small",
40807
40933
  title: field.key,
40808
40934
  selectedId: current,
40809
40935
  values: items,
@@ -42327,7 +42453,7 @@ var GOOGLE_FONTS_LIST = [
42327
42453
  ];
42328
42454
 
42329
42455
  // src/components/Timeline/TimelineFontFamilyField.tsx
42330
- import { jsx as jsx202, jsxs as jsxs105, Fragment as Fragment37 } from "react/jsx-runtime";
42456
+ import { jsx as jsx202, jsxs as jsxs105, Fragment as Fragment36 } from "react/jsx-runtime";
42331
42457
  var ROW_HEIGHT = 30;
42332
42458
  var LIST_HEIGHT = 280;
42333
42459
  var OVERSCAN = 10;
@@ -42817,7 +42943,7 @@ var TimelineFontFamilyField = ({
42817
42943
  };
42818
42944
  }, [hovered, opened]);
42819
42945
  const selectedPreviewStyle = getOptionPreviewStyle(selected);
42820
- return /* @__PURE__ */ jsxs105(Fragment37, {
42946
+ return /* @__PURE__ */ jsxs105(Fragment36, {
42821
42947
  children: [
42822
42948
  /* @__PURE__ */ jsxs105("button", {
42823
42949
  ref: buttonRef,
@@ -44308,7 +44434,7 @@ var Padder = ({ depth }) => {
44308
44434
  };
44309
44435
 
44310
44436
  // src/components/Timeline/TimelineRowChrome.tsx
44311
- import { jsx as jsx214, jsxs as jsxs111, Fragment as Fragment38 } from "react/jsx-runtime";
44437
+ import { jsx as jsx214, jsxs as jsxs111, Fragment as Fragment37 } from "react/jsx-runtime";
44312
44438
  var rowBase = {
44313
44439
  alignItems: "stretch",
44314
44440
  display: "flex"
@@ -44345,7 +44471,12 @@ var TimelineRowChrome = ({
44345
44471
  onDoubleClick
44346
44472
  }) => {
44347
44473
  const ref2 = useRef53(null);
44348
- const { basePadding, keyframeControlsPadding } = useContext75(TimelineRowLayoutContext);
44474
+ const {
44475
+ basePadding,
44476
+ keyframeControlsPadding,
44477
+ rowBorderRadius,
44478
+ rowHorizontalMargin
44479
+ } = useContext75(TimelineRowLayoutContext);
44349
44480
  const indentWidth = getTimelineRowIndentWidth(depth);
44350
44481
  useTimelineFocusableItem(selectionItem, ref2);
44351
44482
  const keyframeControlsColumnStyle = useMemo137(() => ({
@@ -44382,8 +44513,16 @@ var TimelineRowChrome = ({
44382
44513
  const innerRowStyle = useMemo137(() => ({
44383
44514
  ...rowBase,
44384
44515
  ...style8,
44385
- backgroundColor: outerHeight === null ? highlightBackground : undefined
44386
- }), [style8, outerHeight, highlightBackground]);
44516
+ backgroundColor: outerHeight === null ? highlightBackground : undefined,
44517
+ borderRadius: rowBorderRadius,
44518
+ margin: `0 ${rowHorizontalMargin}px`
44519
+ }), [
44520
+ style8,
44521
+ outerHeight,
44522
+ highlightBackground,
44523
+ rowBorderRadius,
44524
+ rowHorizontalMargin
44525
+ ]);
44387
44526
  const outerStyle = useMemo137(() => {
44388
44527
  if (outerHeight === null) {
44389
44528
  return;
@@ -44397,7 +44536,7 @@ var TimelineRowChrome = ({
44397
44536
  backgroundColor: highlightBackground
44398
44537
  };
44399
44538
  }, [outerHeight, highlightBackground]);
44400
- const chrome = /* @__PURE__ */ jsxs111(Fragment38, {
44539
+ const chrome = /* @__PURE__ */ jsxs111(Fragment37, {
44401
44540
  children: [
44402
44541
  /* @__PURE__ */ jsx214("div", {
44403
44542
  style: leftChromeStyle,
@@ -45304,8 +45443,8 @@ var makeMovedKeyframedDragOverride2 = ({
45304
45443
  var removeKeyframeIcon = {
45305
45444
  display: "block",
45306
45445
  flexShrink: 0,
45307
- height: 18,
45308
- width: 18
45446
+ height: 16,
45447
+ width: 16
45309
45448
  };
45310
45449
  var TrashIcon = ({ color }) => {
45311
45450
  return /* @__PURE__ */ jsx217("svg", {
@@ -45313,7 +45452,7 @@ var TrashIcon = ({ color }) => {
45313
45452
  style: removeKeyframeIcon,
45314
45453
  children: /* @__PURE__ */ jsx217("path", {
45315
45454
  fill: color,
45316
- d: "M136.7 5.9C141.1-7.2 153.3-16 167.1-16l113.9 0c13.8 0 26 8.8 30.4 21.9L320 32 416 32c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 96C14.3 96 0 81.7 0 64S14.3 32 32 32l96 0 8.7-26.1zM32 144l384 0 0 304c0 35.3-28.7 64-64 64L96 512c-35.3 0-64-28.7-64-64l0-304zm88 64c-13.3 0-24 10.7-24 24l0 192c0 13.3 10.7 24 24 24s24-10.7 24-24l0-192c0-13.3-10.7-24-24-24zm104 0c-13.3 0-24 10.7-24 24l0 192c0 13.3 10.7 24 24 24s24-10.7 24-24l0-192c0-13.3-10.7-24-24-24zm104 0c-13.3 0-24 10.7-24 24l0 192c0 13.3 10.7 24 24 24s24-10.7 24-24l0-192c0-13.3-10.7-24-24-24z"
45455
+ d: "M160.5 27.4c2-6.8 8.3-11.4 15.3-11.4l96.4 0c7.1 0 13.3 4.6 15.3 11.4l11 36.6-149 0 11-36.6zM116.1 64L16 64C7.2 64 0 71.2 0 80S7.2 96 16 96l416 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-100.1 0-13.7-45.8C312.1-2.1 293.4-16 272.2-16l-96.4 0c-21.2 0-39.9 13.9-46 34.2L116.1 64zM28.7 144L51.6 452.7c2.5 33.4 30.3 59.3 63.8 59.3l217.1 0c33.5 0 61.3-25.9 63.8-59.3l22.9-308.7-32.1 0-22.7 306.4c-1.2 16.7-15.2 29.6-31.9 29.6l-217.1 0c-16.8 0-30.7-12.9-31.9-29.6L60.8 144 28.7 144z"
45317
45456
  })
45318
45457
  });
45319
45458
  };
@@ -45599,14 +45738,11 @@ var KeyframeInspector = ({ selection }) => {
45599
45738
  track
45600
45739
  }),
45601
45740
  /* @__PURE__ */ jsx217(InspectorSectionDivider, {}),
45602
- /* @__PURE__ */ jsx217(InspectorBackHeader, {
45741
+ /* @__PURE__ */ jsx217(InspectorBackAction, {
45603
45742
  disabled: parentSelection === null,
45604
45743
  onClick: onSelectParent,
45605
45744
  title: "Back to property",
45606
- children: /* @__PURE__ */ jsx217("div", {
45607
- style: sectionHeaderTitle,
45608
- children: details.fieldLabel
45609
- })
45745
+ children: details.fieldLabel
45610
45746
  }),
45611
45747
  /* @__PURE__ */ jsx217(InspectorSectionDivider, {}),
45612
45748
  /* @__PURE__ */ jsx217(KeyframeEasingNavigator, {
@@ -45643,14 +45779,11 @@ var KeyframeInspector = ({ selection }) => {
45643
45779
  small: true
45644
45780
  })
45645
45781
  }),
45646
- /* @__PURE__ */ jsxs112("div", {
45782
+ /* @__PURE__ */ jsx217("div", {
45647
45783
  style: keyframeEditorRow,
45648
- children: [
45649
- /* @__PURE__ */ jsx217("div", {
45650
- style: keyframeEditorLabel,
45651
- children: details.fieldLabel
45652
- }),
45653
- /* @__PURE__ */ jsx217("div", {
45784
+ children: /* @__PURE__ */ jsx217(InspectorDetailRow, {
45785
+ label: details.fieldLabel,
45786
+ children: /* @__PURE__ */ jsx217("div", {
45654
45787
  style: keyframeEditorValue,
45655
45788
  children: details.type === "sequence" ? /* @__PURE__ */ jsx217(TimelineSequenceKeyframedValue, {
45656
45789
  field: details.field,
@@ -45666,17 +45799,19 @@ var KeyframeInspector = ({ selection }) => {
45666
45799
  sourceFrame: details.sourceFrame
45667
45800
  })
45668
45801
  })
45669
- ]
45802
+ })
45670
45803
  })
45671
45804
  ]
45672
45805
  }),
45673
- /* @__PURE__ */ jsx217(InspectorInlineAction, {
45674
- disabled: removeDisabled,
45675
- onClick: onRemoveKeyframe,
45676
- renderIcon: (color) => /* @__PURE__ */ jsx217(TrashIcon, {
45677
- color
45678
- }),
45679
- children: "Remove keyframe"
45806
+ /* @__PURE__ */ jsx217(InspectorActionSection, {
45807
+ children: /* @__PURE__ */ jsx217(InspectorInlineAction, {
45808
+ disabled: removeDisabled,
45809
+ onClick: onRemoveKeyframe,
45810
+ renderIcon: (color) => /* @__PURE__ */ jsx217(TrashIcon, {
45811
+ color
45812
+ }),
45813
+ children: "Remove keyframe"
45814
+ })
45680
45815
  })
45681
45816
  ]
45682
45817
  })
@@ -45697,7 +45832,7 @@ var ScissorsIcon = ({ color, ...props }) => {
45697
45832
  ...props,
45698
45833
  children: /* @__PURE__ */ jsx218("path", {
45699
45834
  fill: color,
45700
- d: "M112 32a80 80 0 1 0 0 160 80 80 0 1 0 0-160zm0-32c61.9 0 112 50.1 112 112 0 12.4-2 24.4-5.8 35.6L256 185.4 383.9 57.5c31-31 81.2-31 112.2 0 12.4 12.4 12.4 32.6 0 45L221.6 377c1.6 7.4 2.4 15.1 2.4 23 0 61.9-50.1 112-112 112S0 461.9 0 400s50.1-112 112-112c12.4 0 24.4 2 35.6 5.8L177.4 264 135 221.6c-7.4 1.6-15.1 2.4-23 2.4-61.9 0-112-50.1-112-112S50.1 0 112 0zm55.8 209.1l32.2 32.2 33.4-33.4-30.5-30.5c-9.3 12.9-21.3 23.7-35.1 31.7zm238.7-129-229 229c12.9 9.3 23.7 21.3 31.7 35.1L473.4 80c-18.5-18.4-48.4-18.3-66.9.1zM192 400a80 80 0 1 0-160 0 80 80 0 1 0 160 0zm206.5 39.9c18.5 18.5 48.4 18.5 66.9.1L346 320.6l22.6-22.6 119.5 119.5c12.4 12.4 12.4 32.6 0 45-31 31-81.2 31-112.2 0L290 376.6l22.6-22.6 85.9 85.9z"
45835
+ d: "M48 112a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zm176 0C224 50.1 173.9 0 112 0S0 50.1 0 112 50.1 224 112 224c24 0 46.3-7.6 64.5-20.4l57.3 52.4-57.3 52.4C158.3 295.6 136 288 112 288 50.1 288 0 338.1 0 400s50.1 112 112 112 112-50.1 112-112c0-20.5-5.5-39.6-15.1-56.2L504.2 73.7c9.8-8.9 10.5-24.1 1.5-33.9s-24.1-10.5-33.9-1.5l-202.4 185.2-60.5-55.3c9.6-16.5 15.1-35.7 15.1-56.2zM471.8 473.7c9.8 8.9 25 8.3 33.9-1.5s8.3-25-1.5-33.9L338.6 286.8 302.7 319 471.8 473.7zM48 400a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z"
45701
45836
  })
45702
45837
  });
45703
45838
  };
@@ -46266,6 +46401,11 @@ var plusIcon = {
46266
46401
  width: 15,
46267
46402
  height: 15
46268
46403
  };
46404
+ var assetSelectorIcon = {
46405
+ flexShrink: 0,
46406
+ height: 18,
46407
+ width: 18
46408
+ };
46269
46409
  var remoteSourceLabel = {
46270
46410
  color: LIGHT_TEXT,
46271
46411
  display: "flex",
@@ -46379,6 +46519,7 @@ var InspectorSequenceSection = ({
46379
46519
  openTimelineAssetLink(localAsset, selectAsset);
46380
46520
  }
46381
46521
  }, [localAsset, selectAsset]);
46522
+ const localAssetFileName = localAsset ? localAsset.assetPath.split("/").pop() ?? localAsset.assetPath : null;
46382
46523
  const getIsExpanded = useCallback132((candidate) => {
46383
46524
  return !collapsedKeys.has(getInspectorExpansionKey(candidate));
46384
46525
  }, [collapsedKeys]);
@@ -46495,11 +46636,17 @@ var InspectorSequenceSection = ({
46495
46636
  children: controlGroups.map((group) => /* @__PURE__ */ jsxs114(InspectorSection, {
46496
46637
  header: group.label,
46497
46638
  children: [
46498
- group.id === "source" && localAsset ? /* @__PURE__ */ jsx221(AssetInfo, {
46499
- assetName: localAsset.assetPath,
46500
- contentSized: true,
46501
- onAssetClick: jumpToAsset,
46502
- readOnlyStudio: true
46639
+ group.id === "source" && localAsset ? /* @__PURE__ */ jsx221(InspectorInlineAction, {
46640
+ disabled: false,
46641
+ onClick: jumpToAsset,
46642
+ renderIcon: (color) => /* @__PURE__ */ jsx221(AssetFileIcon, {
46643
+ color,
46644
+ fileType: getPreviewFileType(localAsset.assetPath),
46645
+ style: assetSelectorIcon
46646
+ }),
46647
+ size: "compact",
46648
+ title: localAsset.assetPath,
46649
+ children: localAssetFileName
46503
46650
  }) : null,
46504
46651
  group.id === "source" && remoteAsset && remoteSourceParts ? /* @__PURE__ */ jsxs114("div", {
46505
46652
  style: remoteSourceLabel,
@@ -46939,10 +47086,10 @@ var AlignmentControls = ({ track }) => {
46939
47086
  };
46940
47087
 
46941
47088
  // src/components/InspectorPanel/SequenceSelectionInspector.tsx
46942
- import { jsx as jsx229, jsxs as jsxs119, Fragment as Fragment39 } from "react/jsx-runtime";
47089
+ import { jsx as jsx229, jsxs as jsxs119, Fragment as Fragment38 } from "react/jsx-runtime";
46943
47090
  var splitIconStyle = {
46944
- height: 18,
46945
- width: 18
47091
+ height: 16,
47092
+ width: 16
46946
47093
  };
46947
47094
  var SplitSequenceAction = ({ selection, track }) => {
46948
47095
  const timelinePosition = Internals74.Timeline.useTimelinePosition();
@@ -47030,7 +47177,7 @@ var SequenceExpandedInspector = ({ track }) => {
47030
47177
  sourceLocation,
47031
47178
  track
47032
47179
  }),
47033
- connectedCompositions.length > 0 ? /* @__PURE__ */ jsxs119(Fragment39, {
47180
+ connectedCompositions.length > 0 ? /* @__PURE__ */ jsxs119(Fragment38, {
47034
47181
  children: [
47035
47182
  /* @__PURE__ */ jsx229(InspectorSectionDivider, {}),
47036
47183
  /* @__PURE__ */ jsx229(ConnectedCompositionsSection, {
@@ -48423,7 +48570,7 @@ var RenderQueue = () => {
48423
48570
 
48424
48571
  // src/components/RendersTab.tsx
48425
48572
  import { useContext as useContext94, useMemo as useMemo155 } from "react";
48426
- import { jsx as jsx248, jsxs as jsxs123, Fragment as Fragment40 } from "react/jsx-runtime";
48573
+ import { jsx as jsx248, jsxs as jsxs123, Fragment as Fragment39 } from "react/jsx-runtime";
48427
48574
  var row5 = {
48428
48575
  display: "flex",
48429
48576
  flexDirection: "row",
@@ -48462,7 +48609,7 @@ var RendersTab = ({ selected, onClick }) => {
48462
48609
  style: row5,
48463
48610
  children: [
48464
48611
  "Renders",
48465
- jobCount > 0 ? /* @__PURE__ */ jsxs123(Fragment40, {
48612
+ jobCount > 0 ? /* @__PURE__ */ jsxs123(Fragment39, {
48466
48613
  children: [
48467
48614
  /* @__PURE__ */ jsx248(Flex, {}),
48468
48615
  /* @__PURE__ */ jsx248("div", {
@@ -49114,13 +49261,13 @@ var getPlaybackRateLabel = (playbackRate) => {
49114
49261
  return `${playbackRate}x`;
49115
49262
  };
49116
49263
  var accessibilityLabel5 = "Change the playback rate";
49117
- var comboStyle3 = { width: 80 };
49264
+ var comboStyle3 = { width: 64 };
49118
49265
  var PlaybackRateSelector = ({ playbackRate, setPlaybackRate }) => {
49119
49266
  const { canvasContent } = useContext100(Internals84.CompositionManager);
49120
49267
  const isStill = useIsStill();
49121
49268
  const style8 = useMemo158(() => {
49122
49269
  return {
49123
- padding: CONTROL_BUTTON_PADDING
49270
+ padding: CONTROL_BUTTON_PADDING - 2
49124
49271
  };
49125
49272
  }, []);
49126
49273
  const items = useMemo158(() => {
@@ -49156,6 +49303,7 @@ var PlaybackRateSelector = ({ playbackRate, setPlaybackRate }) => {
49156
49303
  style: style8,
49157
49304
  "aria-label": accessibilityLabel5,
49158
49305
  children: /* @__PURE__ */ jsx256(Combobox, {
49306
+ size: "compact",
49159
49307
  title: accessibilityLabel5,
49160
49308
  style: comboStyle3,
49161
49309
  selectedId: String(playbackRate),
@@ -49246,7 +49394,7 @@ var StepForward = (props) => {
49246
49394
  };
49247
49395
 
49248
49396
  // src/components/PlayPause.tsx
49249
- import { jsx as jsx262, jsxs as jsxs126, Fragment as Fragment41 } from "react/jsx-runtime";
49397
+ import { jsx as jsx262, jsxs as jsxs126, Fragment as Fragment40 } from "react/jsx-runtime";
49250
49398
  var backStyle = {
49251
49399
  height: 18,
49252
49400
  color: WHITE
@@ -49438,7 +49586,7 @@ var PlayPause = ({ playbackRate, loop, bufferStateDelayInMilliseconds, muted })
49438
49586
  stopped = true;
49439
49587
  };
49440
49588
  }, [bufferStateDelayInMilliseconds, emitter]);
49441
- return /* @__PURE__ */ jsxs126(Fragment41, {
49589
+ return /* @__PURE__ */ jsxs126(Fragment40, {
49442
49590
  children: [
49443
49591
  /* @__PURE__ */ jsx262(ControlButton, {
49444
49592
  "aria-label": "Jump to beginning",
@@ -49489,7 +49637,7 @@ import { PlayerInternals as PlayerInternals17 } from "@remotion/player";
49489
49637
  import { useCallback as useCallback155, useContext as useContext101, useMemo as useMemo159, useRef as useRef55, useState as useState90 } from "react";
49490
49638
  import ReactDOM10 from "react-dom";
49491
49639
  import { Internals as Internals86 } from "remotion";
49492
- import { jsx as jsx263, jsxs as jsxs127, Fragment as Fragment42 } from "react/jsx-runtime";
49640
+ import { jsx as jsx263, jsxs as jsxs127, Fragment as Fragment41 } from "react/jsx-runtime";
49493
49641
  var splitButtonContainer = {
49494
49642
  display: "inline-flex",
49495
49643
  flexDirection: "row",
@@ -49532,10 +49680,48 @@ var dropdownTriggerStyle = {
49532
49680
  };
49533
49681
  var mainButtonContent = {
49534
49682
  paddingLeft: 4,
49535
- paddingRight: 6
49683
+ paddingRight: 6,
49684
+ minWidth: 0
49536
49685
  };
49537
49686
  var label7 = {
49538
- fontSize: 14
49687
+ color: "inherit",
49688
+ fontFamily: "inherit",
49689
+ fontSize: 14,
49690
+ lineHeight: "21px",
49691
+ minWidth: 0,
49692
+ overflow: "hidden",
49693
+ textOverflow: "ellipsis",
49694
+ whiteSpace: "nowrap"
49695
+ };
49696
+ var compactSplitButtonSegmentHeight = COMPACT_CONTROL_ROW_HEIGHT;
49697
+ var compactMainButtonStyle = {
49698
+ ...mainButtonStyle,
49699
+ boxSizing: "border-box",
49700
+ height: compactSplitButtonSegmentHeight,
49701
+ paddingLeft: 6,
49702
+ paddingRight: 6,
49703
+ paddingTop: 6,
49704
+ paddingBottom: 6,
49705
+ fontSize: 12
49706
+ };
49707
+ var compactDropdownTriggerStyle = {
49708
+ ...dropdownTriggerStyle,
49709
+ boxSizing: "border-box",
49710
+ height: compactSplitButtonSegmentHeight,
49711
+ paddingLeft: 5,
49712
+ paddingRight: 5,
49713
+ paddingTop: 6,
49714
+ paddingBottom: 6
49715
+ };
49716
+ var compactMainButtonContent = {
49717
+ ...mainButtonContent,
49718
+ paddingLeft: 2,
49719
+ paddingRight: 4
49720
+ };
49721
+ var compactLabel3 = {
49722
+ ...label7,
49723
+ fontSize: 12,
49724
+ lineHeight: "16px"
49539
49725
  };
49540
49726
  var RENDER_TYPE_STORAGE_KEY = "remotion.renderType";
49541
49727
  var getInitialRenderType = (readOnlyStudio) => {
@@ -49550,9 +49736,7 @@ var getInitialRenderType = (readOnlyStudio) => {
49550
49736
  } catch {}
49551
49737
  return "server-render";
49552
49738
  };
49553
- var RenderButton = ({
49554
- readOnlyStudio
49555
- }) => {
49739
+ var RenderButton = ({ readOnlyStudio, size: controlSize = "default" }) => {
49556
49740
  const { inFrame, outFrame } = useTimelineInOutFramePosition();
49557
49741
  const { setSelectedModal } = useContext101(ModalsContext);
49558
49742
  const [preferredRenderType, setPreferredRenderType] = useState90(() => getInitialRenderType(readOnlyStudio));
@@ -49613,11 +49797,12 @@ var RenderButton = ({
49613
49797
  const iconStyle5 = useMemo159(() => {
49614
49798
  return {
49615
49799
  style: {
49616
- height: 16,
49617
- color: CURRENT_COLOR
49800
+ height: controlSize === "compact" ? 14 : 16,
49801
+ color: CURRENT_COLOR,
49802
+ flexShrink: 0
49618
49803
  }
49619
49804
  };
49620
- }, []);
49805
+ }, [controlSize]);
49621
49806
  const video = Internals86.useVideo();
49622
49807
  const { getCurrentFrame: getCurrentFrame2 } = PlayerInternals17.usePlayer();
49623
49808
  const { props } = useContext101(Internals86.EditorPropsContext);
@@ -49834,15 +50019,16 @@ var RenderButton = ({
49834
50019
  return {
49835
50020
  ...splitButtonContainer,
49836
50021
  borderColor: BLACK_ALPHA_60,
50022
+ borderRadius: controlSize === "compact" ? 0 : 4,
49837
50023
  opacity: 1,
49838
50024
  cursor: "pointer"
49839
50025
  };
49840
- }, []);
50026
+ }, [controlSize]);
49841
50027
  const renderLabel = renderType === "server-render" ? "Render" : renderType === "render-command" ? "Render via CLI" : "Render on web";
49842
50028
  if (!video) {
49843
50029
  return null;
49844
50030
  }
49845
- return /* @__PURE__ */ jsxs127(Fragment42, {
50031
+ return /* @__PURE__ */ jsxs127(Fragment41, {
49846
50032
  children: [
49847
50033
  /* @__PURE__ */ jsx263("button", {
49848
50034
  style: { display: "none" },
@@ -49865,22 +50051,22 @@ var RenderButton = ({
49865
50051
  children: [
49866
50052
  /* @__PURE__ */ jsx263("button", {
49867
50053
  type: "button",
49868
- style: mainButtonStyle,
50054
+ style: controlSize === "compact" ? compactMainButtonStyle : mainButtonStyle,
49869
50055
  onClick,
49870
50056
  id: "render-modal-button",
49871
50057
  children: /* @__PURE__ */ jsxs127(Row, {
49872
50058
  align: "center",
49873
- style: mainButtonContent,
50059
+ style: controlSize === "compact" ? compactMainButtonContent : mainButtonContent,
49874
50060
  children: [
49875
50061
  /* @__PURE__ */ jsx263(ThinRenderIcon, {
49876
50062
  fill: CURRENT_COLOR_LOWERCASE,
49877
50063
  svgProps: iconStyle5
49878
50064
  }),
49879
50065
  /* @__PURE__ */ jsx263(Spacing, {
49880
- x: 1
50066
+ x: controlSize === "compact" ? 0.75 : 1
49881
50067
  }),
49882
50068
  /* @__PURE__ */ jsx263("span", {
49883
- style: label7,
50069
+ style: controlSize === "compact" ? compactLabel3 : label7,
49884
50070
  children: renderLabel
49885
50071
  })
49886
50072
  ]
@@ -49892,7 +50078,7 @@ var RenderButton = ({
49892
50078
  /* @__PURE__ */ jsx263("button", {
49893
50079
  ref: dropdownRef,
49894
50080
  type: "button",
49895
- style: dropdownTriggerStyle,
50081
+ style: controlSize === "compact" ? compactDropdownTriggerStyle : dropdownTriggerStyle,
49896
50082
  className: MENU_INITIATOR_CLASSNAME,
49897
50083
  onPointerDown,
49898
50084
  onClick: onClickDropdown,
@@ -50087,8 +50273,8 @@ var TimelineZoomControls = () => {
50087
50273
  };
50088
50274
 
50089
50275
  // src/components/PreviewToolbar.tsx
50090
- import { jsx as jsx268, jsxs as jsxs129, Fragment as Fragment43 } from "react/jsx-runtime";
50091
- var TOOLBAR_HEIGHT = 50;
50276
+ import { jsx as jsx268, jsxs as jsxs129, Fragment as Fragment42 } from "react/jsx-runtime";
50277
+ var TOOLBAR_HEIGHT = 40;
50092
50278
  var container38 = {
50093
50279
  display: "flex",
50094
50280
  justifyContent: "center",
@@ -50126,7 +50312,7 @@ var scrollIndicatorRight = {
50126
50312
  };
50127
50313
  var sideContainer = {
50128
50314
  width: 300,
50129
- height: 36,
50315
+ height: 30,
50130
50316
  display: "flex",
50131
50317
  flexDirection: "row",
50132
50318
  alignItems: "center"
@@ -50224,7 +50410,7 @@ var PreviewToolbar = ({ readOnlyStudio, bufferStateDelayInMilliseconds }) => {
50224
50410
  ref: leftScrollIndicatorRef,
50225
50411
  style: scrollIndicatorLeft
50226
50412
  }),
50227
- isMobileLayout ? null : /* @__PURE__ */ jsxs129(Fragment43, {
50413
+ isMobileLayout ? null : /* @__PURE__ */ jsxs129(Fragment42, {
50228
50414
  children: [
50229
50415
  /* @__PURE__ */ jsxs129("div", {
50230
50416
  style: sideContainer,
@@ -50249,7 +50435,7 @@ var PreviewToolbar = ({ readOnlyStudio, bufferStateDelayInMilliseconds }) => {
50249
50435
  }) : null
50250
50436
  ]
50251
50437
  }),
50252
- isVideoComposition ? /* @__PURE__ */ jsxs129(Fragment43, {
50438
+ isVideoComposition ? /* @__PURE__ */ jsxs129(Fragment42, {
50253
50439
  children: [
50254
50440
  /* @__PURE__ */ jsx268(Spacing, {
50255
50441
  x: 2
@@ -50288,7 +50474,7 @@ var PreviewToolbar = ({ readOnlyStudio, bufferStateDelayInMilliseconds }) => {
50288
50474
  })
50289
50475
  ]
50290
50476
  }) : null,
50291
- canvasContent?.type === "composition" ? /* @__PURE__ */ jsxs129(Fragment43, {
50477
+ canvasContent?.type === "composition" ? /* @__PURE__ */ jsxs129(Fragment42, {
50292
50478
  children: [
50293
50479
  /* @__PURE__ */ jsx268(PreviewToolbarControl, {
50294
50480
  children: /* @__PURE__ */ jsx268(CheckboardToggle, {})
@@ -50312,7 +50498,7 @@ var PreviewToolbar = ({ readOnlyStudio, bufferStateDelayInMilliseconds }) => {
50312
50498
  children: /* @__PURE__ */ jsx268(FullScreenToggle, {})
50313
50499
  }) : null,
50314
50500
  /* @__PURE__ */ jsx268(Flex, {}),
50315
- isMobileLayout && /* @__PURE__ */ jsxs129(Fragment43, {
50501
+ isMobileLayout && /* @__PURE__ */ jsxs129(Fragment42, {
50316
50502
  children: [
50317
50503
  /* @__PURE__ */ jsx268(Flex, {}),
50318
50504
  /* @__PURE__ */ jsx268(PreviewToolbarControl, {
@@ -50338,7 +50524,8 @@ var PreviewToolbar = ({ readOnlyStudio, bufferStateDelayInMilliseconds }) => {
50338
50524
  }),
50339
50525
  /* @__PURE__ */ jsx268(PreviewToolbarControl, {
50340
50526
  children: /* @__PURE__ */ jsx268(RenderButton, {
50341
- readOnlyStudio
50527
+ readOnlyStudio,
50528
+ size: "compact"
50342
50529
  })
50343
50530
  }),
50344
50531
  /* @__PURE__ */ jsx268(Spacing, {
@@ -50461,7 +50648,7 @@ var SplitterContainer = ({ orientation, children, defaultFlex, maxFlex, minFlex,
50461
50648
  // src/components/Splitter/SplitterElement.tsx
50462
50649
  import { useContext as useContext105, useMemo as useMemo161 } from "react";
50463
50650
  import { interpolateColors, random } from "remotion";
50464
- import { jsx as jsx270, jsxs as jsxs130, Fragment as Fragment44 } from "react/jsx-runtime";
50651
+ import { jsx as jsx270, jsxs as jsxs130, Fragment as Fragment43 } from "react/jsx-runtime";
50465
50652
  var SplitterElement = ({ children, type, sticky }) => {
50466
50653
  const context = useContext105(SplitterContext);
50467
50654
  const style8 = useMemo161(() => {
@@ -50481,7 +50668,7 @@ var SplitterElement = ({ children, type, sticky }) => {
50481
50668
  backgroundColor: interpolateColors(random(context.flexValue), [0, 1], [RED, "blue"])
50482
50669
  };
50483
50670
  }, [context.flexValue, type]);
50484
- return /* @__PURE__ */ jsxs130(Fragment44, {
50671
+ return /* @__PURE__ */ jsxs130(Fragment43, {
50485
50672
  children: [
50486
50673
  /* @__PURE__ */ jsx270("div", {
50487
50674
  style: style8,
@@ -50776,7 +50963,7 @@ var TopPanelInner = ({ readOnlyStudio, onMounted, drawRef: drawRef2, bufferState
50776
50963
  var TopPanel = React186.memo(TopPanelInner);
50777
50964
 
50778
50965
  // src/components/SidebarCollapserControls.tsx
50779
- import { jsx as jsx273, jsxs as jsxs132, Fragment as Fragment45 } from "react/jsx-runtime";
50966
+ import { jsx as jsx273, jsxs as jsxs132, Fragment as Fragment44 } from "react/jsx-runtime";
50780
50967
  var style8 = {
50781
50968
  width: 16,
50782
50969
  height: 16,
@@ -50908,7 +51095,7 @@ var SidebarCollapserControls = () => {
50908
51095
  })
50909
51096
  });
50910
51097
  }, [colorStyle, rightIcon, toggleRightTooltip]);
50911
- return /* @__PURE__ */ jsxs132(Fragment45, {
51098
+ return /* @__PURE__ */ jsxs132(Fragment44, {
50912
51099
  children: [
50913
51100
  /* @__PURE__ */ jsx273(InlineAction, {
50914
51101
  onClick: toggleLeft,
@@ -50958,7 +51145,7 @@ var UndoIcon = (props) => {
50958
51145
  };
50959
51146
 
50960
51147
  // src/components/UndoRedoButtons.tsx
50961
- import { jsx as jsx276, jsxs as jsxs133, Fragment as Fragment46 } from "react/jsx-runtime";
51148
+ import { jsx as jsx276, jsxs as jsxs133, Fragment as Fragment45 } from "react/jsx-runtime";
50962
51149
  var iconStyle6 = {
50963
51150
  width: 16,
50964
51151
  height: 16
@@ -51050,7 +51237,7 @@ var UndoRedoButtons = () => {
51050
51237
  if (!canUndo && !canRedo) {
51051
51238
  return null;
51052
51239
  }
51053
- return /* @__PURE__ */ jsxs133(Fragment46, {
51240
+ return /* @__PURE__ */ jsxs133(Fragment45, {
51054
51241
  children: [
51055
51242
  /* @__PURE__ */ jsx276(InlineAction, {
51056
51243
  onClick: onUndo,
@@ -52217,7 +52404,7 @@ import { Internals as Internals98, useVideoConfig as useVideoConfig13 } from "re
52217
52404
  // src/components/Timeline/TimelineInOutPointer.tsx
52218
52405
  import { createRef as createRef11, useContext as useContext116 } from "react";
52219
52406
  import { Internals as Internals97 } from "remotion";
52220
- import { jsx as jsx283, jsxs as jsxs137, Fragment as Fragment47 } from "react/jsx-runtime";
52407
+ import { jsx as jsx283, jsxs as jsxs137, Fragment as Fragment46 } from "react/jsx-runtime";
52221
52408
  var areaHighlight = {
52222
52409
  position: "absolute",
52223
52410
  backgroundColor: BLACK_ALPHA_50,
@@ -52235,7 +52422,7 @@ var TimelineInOutPointer = () => {
52235
52422
  if (!videoConfig || timelineWidth === null) {
52236
52423
  return null;
52237
52424
  }
52238
- return /* @__PURE__ */ jsxs137(Fragment47, {
52425
+ return /* @__PURE__ */ jsxs137(Fragment46, {
52239
52426
  children: [
52240
52427
  inFrame !== null && /* @__PURE__ */ jsx283("div", {
52241
52428
  ref: inMarkerAreaRef,
@@ -52309,7 +52496,7 @@ var TimelineInOutPointerHandle = ({
52309
52496
  };
52310
52497
 
52311
52498
  // src/components/Timeline/TimelineInOutDragHandler.tsx
52312
- import { jsx as jsx285, jsxs as jsxs138, Fragment as Fragment48 } from "react/jsx-runtime";
52499
+ import { jsx as jsx285, jsxs as jsxs138, Fragment as Fragment47 } from "react/jsx-runtime";
52313
52500
  var getClientXWithScroll2 = (x) => {
52314
52501
  return x + scrollableRef.current?.scrollLeft;
52315
52502
  };
@@ -52554,7 +52741,7 @@ var TimelineInOutDragHandlerInner = () => {
52554
52741
  }
52555
52742
  ];
52556
52743
  }, [setInAndOutFrames, videoConfig.id]);
52557
- return /* @__PURE__ */ jsxs138(Fragment48, {
52744
+ return /* @__PURE__ */ jsxs138(Fragment47, {
52558
52745
  children: [
52559
52746
  inFrame !== null && /* @__PURE__ */ jsx285(ContextMenu, {
52560
52747
  values: inContextMenu,
@@ -52722,7 +52909,7 @@ var TimelineMediaInfo = ({ src }) => {
52722
52909
 
52723
52910
  // src/components/Timeline/TimelineSequenceName.tsx
52724
52911
  import { useCallback as useCallback167, useEffect as useEffect90, useMemo as useMemo175, useRef as useRef64, useState as useState98 } from "react";
52725
- import { jsx as jsx288, jsxs as jsxs140, Fragment as Fragment49 } from "react/jsx-runtime";
52912
+ import { jsx as jsx288, jsxs as jsxs140, Fragment as Fragment48 } from "react/jsx-runtime";
52726
52913
  var MAX_DISPLAY_NAME_LENGTH = 1000;
52727
52914
  var MAX_RENAME_INPUT_WIDTH = 240;
52728
52915
  var RENAME_INPUT_CLASS_NAME = "remotion-timeline-sequence-name-input";
@@ -52822,7 +53009,7 @@ var TimelineSequenceName = ({
52822
53009
  save();
52823
53010
  }, [save]);
52824
53011
  if (editing) {
52825
- return /* @__PURE__ */ jsxs140(Fragment49, {
53012
+ return /* @__PURE__ */ jsxs140(Fragment48, {
52826
53013
  children: [
52827
53014
  /* @__PURE__ */ jsx288("style", {
52828
53015
  children: `.${RENAME_INPUT_CLASS_NAME}::selection { background: ${WHITE_ALPHA_72}; color: ${BLACK}; }`
@@ -52917,7 +53104,7 @@ var useSequenceFreezeFrameMenuItem = ({
52917
53104
  };
52918
53105
 
52919
53106
  // src/components/Timeline/TimelineSequenceItem.tsx
52920
- import { jsx as jsx289, jsxs as jsxs141, Fragment as Fragment50 } from "react/jsx-runtime";
53107
+ import { jsx as jsx289, jsxs as jsxs141, Fragment as Fragment49 } from "react/jsx-runtime";
52921
53108
  var labelContainerStyle = {
52922
53109
  alignItems: "center",
52923
53110
  alignSelf: "stretch",
@@ -53621,7 +53808,7 @@ var TimelineSequenceItem = ({
53621
53808
  children: /* @__PURE__ */ jsxs141("div", {
53622
53809
  style: labelContainerStyle,
53623
53810
  children: [
53624
- connectedCompositions.length > 0 ? /* @__PURE__ */ jsxs141(Fragment50, {
53811
+ connectedCompositions.length > 0 ? /* @__PURE__ */ jsxs141(Fragment49, {
53625
53812
  children: [
53626
53813
  /* @__PURE__ */ jsx289(CompositionOrStillIcon, {
53627
53814
  color: getTimelineColor(false, false),
@@ -53642,7 +53829,7 @@ var TimelineSequenceItem = ({
53642
53829
  onCancelEditing: onCancelRenaming,
53643
53830
  onSaveName
53644
53831
  }),
53645
- mediaSrc ? /* @__PURE__ */ jsxs141(Fragment50, {
53832
+ mediaSrc ? /* @__PURE__ */ jsxs141(Fragment49, {
53646
53833
  children: [
53647
53834
  /* @__PURE__ */ jsx289(Spacing, {
53648
53835
  x: 0.5
@@ -53675,7 +53862,7 @@ var TimelineSequenceItem = ({
53675
53862
  trackRow
53676
53863
  ]
53677
53864
  }) : trackRow;
53678
- return /* @__PURE__ */ jsxs141(Fragment50, {
53865
+ return /* @__PURE__ */ jsxs141(Fragment49, {
53679
53866
  children: [
53680
53867
  previewConnected ? /* @__PURE__ */ jsx289(ContextMenu, {
53681
53868
  values: contextMenuValues,
@@ -54144,7 +54331,7 @@ var TimelineKeyframeDiamondUnmemoized = ({ frame: frame2, rowHeight, nodePathInf
54144
54331
  var TimelineKeyframeDiamond = React204.memo(TimelineKeyframeDiamondUnmemoized);
54145
54332
 
54146
54333
  // src/components/Timeline/TimelineExpandedKeyframeRow.tsx
54147
- import { jsx as jsx293, jsxs as jsxs144, Fragment as Fragment51 } from "react/jsx-runtime";
54334
+ import { jsx as jsx293, jsxs as jsxs144, Fragment as Fragment50 } from "react/jsx-runtime";
54148
54335
  var row8 = {
54149
54336
  position: "relative"
54150
54337
  };
@@ -54155,7 +54342,7 @@ var TimelineExpandedKeyframeRowUnmemoized = ({ height, keyframes, canEditEasing,
54155
54342
  const timelineWidth = useContext123(TimelineWidthContext);
54156
54343
  const rowHighlightBackground = useTimelineRowHighlightBackground(nodePathInfo);
54157
54344
  const easingSegments = canEditEasing ? getTimelineEasingSegments(keyframes) : [];
54158
- return /* @__PURE__ */ jsxs144(Fragment51, {
54345
+ return /* @__PURE__ */ jsxs144(Fragment50, {
54159
54346
  children: [
54160
54347
  showSeparator ? /* @__PURE__ */ jsx293("div", {
54161
54348
  style: rowSeparator
@@ -58067,7 +58254,7 @@ var CodemodFooter = ({
58067
58254
  };
58068
58255
 
58069
58256
  // src/components/NewComposition/DeleteComposition.tsx
58070
- import { jsx as jsx315, jsxs as jsxs161, Fragment as Fragment52 } from "react/jsx-runtime";
58257
+ import { jsx as jsx315, jsxs as jsxs161, Fragment as Fragment51 } from "react/jsx-runtime";
58071
58258
  var content8 = {
58072
58259
  padding: 16,
58073
58260
  fontSize: 14,
@@ -58090,7 +58277,7 @@ var DeleteCompositionLoaded = ({ compositionId }) => {
58090
58277
  const onSubmit = useCallback179((e) => {
58091
58278
  e.preventDefault();
58092
58279
  }, []);
58093
- return /* @__PURE__ */ jsxs161(Fragment52, {
58280
+ return /* @__PURE__ */ jsxs161(Fragment51, {
58094
58281
  children: [
58095
58282
  /* @__PURE__ */ jsx315(ModalHeader, {
58096
58283
  title: "Delete composition"
@@ -58253,7 +58440,7 @@ var InputAndValidationContainer = ({
58253
58440
 
58254
58441
  // src/components/NewComposition/NewCompDuration.tsx
58255
58442
  import { useCallback as useCallback181 } from "react";
58256
- import { jsx as jsx318, jsxs as jsxs163, Fragment as Fragment53 } from "react/jsx-runtime";
58443
+ import { jsx as jsx318, jsxs as jsxs163, Fragment as Fragment52 } from "react/jsx-runtime";
58257
58444
  var NewCompDuration = ({ durationInFrames, setDurationInFrames }) => {
58258
58445
  const onDurationInFramesChanged = useCallback181((newValue) => {
58259
58446
  setDurationInFrames(Number(newValue));
@@ -58287,7 +58474,7 @@ var NewCompDuration = ({ durationInFrames, setDurationInFrames }) => {
58287
58474
  onValueChange: onDurationChangedDirectly,
58288
58475
  rightAlign: false
58289
58476
  }),
58290
- compDurationErrMessage ? /* @__PURE__ */ jsxs163(Fragment53, {
58477
+ compDurationErrMessage ? /* @__PURE__ */ jsxs163(Fragment52, {
58291
58478
  children: [
58292
58479
  /* @__PURE__ */ jsx318(Spacing, {
58293
58480
  y: 1,
@@ -58308,7 +58495,7 @@ var NewCompDuration = ({ durationInFrames, setDurationInFrames }) => {
58308
58495
  };
58309
58496
 
58310
58497
  // src/components/NewComposition/DuplicateComposition.tsx
58311
- import { jsx as jsx319, jsxs as jsxs164, Fragment as Fragment54 } from "react/jsx-runtime";
58498
+ import { jsx as jsx319, jsxs as jsxs164, Fragment as Fragment53 } from "react/jsx-runtime";
58312
58499
  var content10 = {
58313
58500
  padding: 12,
58314
58501
  paddingRight: 12,
@@ -58462,7 +58649,7 @@ var DuplicateCompositionLoaded = ({ initialType }) => {
58462
58649
  const onSubmit = useCallback182((e) => {
58463
58650
  e.preventDefault();
58464
58651
  }, []);
58465
- return /* @__PURE__ */ jsxs164(Fragment54, {
58652
+ return /* @__PURE__ */ jsxs164(Fragment53, {
58466
58653
  children: [
58467
58654
  /* @__PURE__ */ jsx319(ModalHeader, {
58468
58655
  title: `Duplicate ${resolved.result.id}`
@@ -58511,7 +58698,7 @@ var DuplicateCompositionLoaded = ({ initialType }) => {
58511
58698
  status: "ok",
58512
58699
  rightAlign: true
58513
58700
  }),
58514
- compNameErrMessage ? /* @__PURE__ */ jsxs164(Fragment54, {
58701
+ compNameErrMessage ? /* @__PURE__ */ jsxs164(Fragment53, {
58515
58702
  children: [
58516
58703
  /* @__PURE__ */ jsx319(Spacing, {
58517
58704
  y: 1,
@@ -58529,7 +58716,7 @@ var DuplicateCompositionLoaded = ({ initialType }) => {
58529
58716
  })
58530
58717
  ]
58531
58718
  }),
58532
- hadDimensionsDefined ? /* @__PURE__ */ jsxs164(Fragment54, {
58719
+ hadDimensionsDefined ? /* @__PURE__ */ jsxs164(Fragment53, {
58533
58720
  children: [
58534
58721
  /* @__PURE__ */ jsxs164("div", {
58535
58722
  style: optionRow,
@@ -58557,7 +58744,7 @@ var DuplicateCompositionLoaded = ({ initialType }) => {
58557
58744
  onValueChange: onWidthDirectlyChanged,
58558
58745
  rightAlign: false
58559
58746
  }),
58560
- compWidthErrMessage ? /* @__PURE__ */ jsxs164(Fragment54, {
58747
+ compWidthErrMessage ? /* @__PURE__ */ jsxs164(Fragment53, {
58561
58748
  children: [
58562
58749
  /* @__PURE__ */ jsx319(Spacing, {
58563
58750
  y: 1,
@@ -58601,7 +58788,7 @@ var DuplicateCompositionLoaded = ({ initialType }) => {
58601
58788
  onValueChange: onHeightDirectlyChanged,
58602
58789
  rightAlign: false
58603
58790
  }),
58604
- compHeightErrMessage ? /* @__PURE__ */ jsxs164(Fragment54, {
58791
+ compHeightErrMessage ? /* @__PURE__ */ jsxs164(Fragment53, {
58605
58792
  children: [
58606
58793
  /* @__PURE__ */ jsx319(Spacing, {
58607
58794
  y: 1,
@@ -58818,7 +59005,7 @@ var getNewCompositionDefaults = (composition) => {
58818
59005
  };
58819
59006
 
58820
59007
  // src/components/NewComposition/NewComposition.tsx
58821
- import { jsx as jsx320, jsxs as jsxs165, Fragment as Fragment55 } from "react/jsx-runtime";
59008
+ import { jsx as jsx320, jsxs as jsxs165, Fragment as Fragment54 } from "react/jsx-runtime";
58822
59009
  var content11 = {
58823
59010
  padding: 12,
58824
59011
  paddingRight: 12,
@@ -58909,7 +59096,7 @@ var NewCompositionLoaded = ({ folderName, parentName, stack: stack2 }) => {
58909
59096
  e.preventDefault();
58910
59097
  }, []);
58911
59098
  const folderPath = [parentName, folderName].filter(Boolean).join("/");
58912
- return /* @__PURE__ */ jsxs165(Fragment55, {
59099
+ return /* @__PURE__ */ jsxs165(Fragment54, {
58913
59100
  children: [
58914
59101
  /* @__PURE__ */ jsx320(ModalHeader, {
58915
59102
  title: "New composition"
@@ -58957,7 +59144,7 @@ var NewCompositionLoaded = ({ folderName, parentName, stack: stack2 }) => {
58957
59144
  status: "ok",
58958
59145
  rightAlign: true
58959
59146
  }),
58960
- compNameErrMessage ? /* @__PURE__ */ jsxs165(Fragment55, {
59147
+ compNameErrMessage ? /* @__PURE__ */ jsxs165(Fragment54, {
58961
59148
  children: [
58962
59149
  /* @__PURE__ */ jsx320(Spacing, {
58963
59150
  y: 1,
@@ -59001,7 +59188,7 @@ var NewCompositionLoaded = ({ folderName, parentName, stack: stack2 }) => {
59001
59188
  onValueChange: onWidthDirectlyChanged,
59002
59189
  rightAlign: false
59003
59190
  }),
59004
- compWidthErrMessage ? /* @__PURE__ */ jsxs165(Fragment55, {
59191
+ compWidthErrMessage ? /* @__PURE__ */ jsxs165(Fragment54, {
59005
59192
  children: [
59006
59193
  /* @__PURE__ */ jsx320(Spacing, {
59007
59194
  y: 1,
@@ -59045,7 +59232,7 @@ var NewCompositionLoaded = ({ folderName, parentName, stack: stack2 }) => {
59045
59232
  onValueChange: onHeightDirectlyChanged,
59046
59233
  rightAlign: false
59047
59234
  }),
59048
- compHeightErrMessage ? /* @__PURE__ */ jsxs165(Fragment55, {
59235
+ compHeightErrMessage ? /* @__PURE__ */ jsxs165(Fragment54, {
59049
59236
  children: [
59050
59237
  /* @__PURE__ */ jsx320(Spacing, {
59051
59238
  y: 1,
@@ -59158,7 +59345,7 @@ var validateNewFolderName = ({
59158
59345
  };
59159
59346
 
59160
59347
  // src/components/NewComposition/NewFolder.tsx
59161
- import { jsx as jsx321, jsxs as jsxs166, Fragment as Fragment56 } from "react/jsx-runtime";
59348
+ import { jsx as jsx321, jsxs as jsxs166, Fragment as Fragment55 } from "react/jsx-runtime";
59162
59349
  var content12 = {
59163
59350
  padding: 12,
59164
59351
  paddingRight: 12,
@@ -59255,7 +59442,7 @@ var NewFolder = ({ parentName, stack: stack2 }) => {
59255
59442
  status: "ok",
59256
59443
  rightAlign: true
59257
59444
  }),
59258
- folderNameErrMessage ? /* @__PURE__ */ jsxs166(Fragment56, {
59445
+ folderNameErrMessage ? /* @__PURE__ */ jsxs166(Fragment55, {
59259
59446
  children: [
59260
59447
  /* @__PURE__ */ jsx321(Spacing, {
59261
59448
  y: 1,
@@ -59310,7 +59497,7 @@ import {
59310
59497
  useState as useState110
59311
59498
  } from "react";
59312
59499
  import { Internals as Internals115 } from "remotion";
59313
- import { jsx as jsx322, jsxs as jsxs167, Fragment as Fragment57 } from "react/jsx-runtime";
59500
+ import { jsx as jsx322, jsxs as jsxs167, Fragment as Fragment56 } from "react/jsx-runtime";
59314
59501
  var content13 = {
59315
59502
  padding: 12,
59316
59503
  paddingRight: 12,
@@ -59352,7 +59539,7 @@ var RenameCompositionLoaded = () => {
59352
59539
  const onSubmit = useCallback186((e) => {
59353
59540
  e.preventDefault();
59354
59541
  }, []);
59355
- return /* @__PURE__ */ jsxs167(Fragment57, {
59542
+ return /* @__PURE__ */ jsxs167(Fragment56, {
59356
59543
  children: [
59357
59544
  /* @__PURE__ */ jsx322(ModalHeader, {
59358
59545
  title: `Rename ${resolved.result.id}`
@@ -59383,7 +59570,7 @@ var RenameCompositionLoaded = () => {
59383
59570
  status: "ok",
59384
59571
  rightAlign: true
59385
59572
  }),
59386
- compNameErrMessage ? /* @__PURE__ */ jsxs167(Fragment57, {
59573
+ compNameErrMessage ? /* @__PURE__ */ jsxs167(Fragment56, {
59387
59574
  children: [
59388
59575
  /* @__PURE__ */ jsx322(Spacing, {
59389
59576
  y: 1,
@@ -59459,7 +59646,7 @@ var validateFolderRename = ({
59459
59646
  };
59460
59647
 
59461
59648
  // src/components/NewComposition/RenameFolder.tsx
59462
- import { jsx as jsx323, jsxs as jsxs168, Fragment as Fragment58 } from "react/jsx-runtime";
59649
+ import { jsx as jsx323, jsxs as jsxs168, Fragment as Fragment57 } from "react/jsx-runtime";
59463
59650
  var content14 = {
59464
59651
  padding: 12,
59465
59652
  paddingRight: 12,
@@ -59530,7 +59717,7 @@ var RenameFolder = ({ folderName, parentName, stack: stack2 }) => {
59530
59717
  status: "ok",
59531
59718
  rightAlign: true
59532
59719
  }),
59533
- folderNameErrMessage ? /* @__PURE__ */ jsxs168(Fragment58, {
59720
+ folderNameErrMessage ? /* @__PURE__ */ jsxs168(Fragment57, {
59534
59721
  children: [
59535
59722
  /* @__PURE__ */ jsx323(Spacing, {
59536
59723
  y: 1,
@@ -59583,7 +59770,7 @@ import {
59583
59770
  useRef as useRef77,
59584
59771
  useState as useState112
59585
59772
  } from "react";
59586
- import { jsx as jsx324, jsxs as jsxs169, Fragment as Fragment59 } from "react/jsx-runtime";
59773
+ import { jsx as jsx324, jsxs as jsxs169, Fragment as Fragment58 } from "react/jsx-runtime";
59587
59774
  var content15 = {
59588
59775
  padding: 12,
59589
59776
  paddingRight: 12,
@@ -59673,7 +59860,7 @@ var RenameStaticFileModal = ({ relativePath }) => {
59673
59860
  status: validationMessage ? "error" : "ok",
59674
59861
  rightAlign: true
59675
59862
  }),
59676
- validationMessage ? /* @__PURE__ */ jsxs169(Fragment59, {
59863
+ validationMessage ? /* @__PURE__ */ jsxs169(Fragment58, {
59677
59864
  children: [
59678
59865
  /* @__PURE__ */ jsx324(Spacing, {
59679
59866
  y: 1,
@@ -59889,7 +60076,7 @@ var ArrowRight = () => {
59889
60076
  };
59890
60077
 
59891
60078
  // src/components/KeyboardShortcutsExplainer.tsx
59892
- import { jsx as jsx327, jsxs as jsxs171, Fragment as Fragment60 } from "react/jsx-runtime";
60079
+ import { jsx as jsx327, jsxs as jsxs171, Fragment as Fragment59 } from "react/jsx-runtime";
59893
60080
  var left3 = {
59894
60081
  width: 85,
59895
60082
  paddingTop: 8,
@@ -60850,7 +61037,7 @@ var KeyboardShortcutsExplainer = () => {
60850
61037
  })
60851
61038
  ]
60852
61039
  }),
60853
- getStudioAskAIEnabled() && /* @__PURE__ */ jsxs171(Fragment60, {
61040
+ getStudioAskAIEnabled() && /* @__PURE__ */ jsxs171(Fragment59, {
60854
61041
  children: [
60855
61042
  /* @__PURE__ */ jsx327("br", {}),
60856
61043
  /* @__PURE__ */ jsx327("div", {
@@ -61021,7 +61208,7 @@ var QuickSwitcherNoResults = ({ query, mode }) => {
61021
61208
 
61022
61209
  // src/components/QuickSwitcher/QuickSwitcherResult.tsx
61023
61210
  import { useEffect as useEffect108, useMemo as useMemo199, useRef as useRef78, useState as useState114 } from "react";
61024
- import { jsx as jsx329, jsxs as jsxs173, Fragment as Fragment61 } from "react/jsx-runtime";
61211
+ import { jsx as jsx329, jsxs as jsxs173, Fragment as Fragment60 } from "react/jsx-runtime";
61025
61212
  var container52 = {
61026
61213
  paddingLeft: 16,
61027
61214
  paddingRight: 16,
@@ -61117,7 +61304,7 @@ var QuickSwitcherResult = ({ result, selected }) => {
61117
61304
  }),
61118
61305
  /* @__PURE__ */ jsx329("div", {
61119
61306
  style: labelContainer2,
61120
- children: result.type === "search-result" ? /* @__PURE__ */ jsxs173(Fragment61, {
61307
+ children: result.type === "search-result" ? /* @__PURE__ */ jsxs173(Fragment60, {
61121
61308
  children: [
61122
61309
  /* @__PURE__ */ jsx329("div", {
61123
61310
  dangerouslySetInnerHTML: {
@@ -61142,7 +61329,7 @@ var QuickSwitcherResult = ({ result, selected }) => {
61142
61329
  };
61143
61330
 
61144
61331
  // src/components/QuickSwitcher/QuickSwitcherContent.tsx
61145
- import { jsx as jsx330, jsxs as jsxs174, Fragment as Fragment62 } from "react/jsx-runtime";
61332
+ import { jsx as jsx330, jsxs as jsxs174, Fragment as Fragment61 } from "react/jsx-runtime";
61146
61333
  var input2 = {
61147
61334
  width: "100%"
61148
61335
  };
@@ -61427,7 +61614,7 @@ var QuickSwitcherContent = ({ initialMode, invocationTimestamp, readOnlyStudio }
61427
61614
  placeholder: "Search compositions...",
61428
61615
  rightAlign: false
61429
61616
  }),
61430
- showKeyboardShortcuts ? /* @__PURE__ */ jsxs174(Fragment62, {
61617
+ showKeyboardShortcuts ? /* @__PURE__ */ jsxs174(Fragment61, {
61431
61618
  children: [
61432
61619
  /* @__PURE__ */ jsx330(Spacing, {
61433
61620
  x: 2
@@ -61850,7 +62037,7 @@ var GuiRenderStatus = ({ job }) => {
61850
62037
  };
61851
62038
 
61852
62039
  // src/components/RenderModal/RenderStatusModal.tsx
61853
- import { jsx as jsx335, jsxs as jsxs177, Fragment as Fragment63 } from "react/jsx-runtime";
62040
+ import { jsx as jsx335, jsxs as jsxs177, Fragment as Fragment62 } from "react/jsx-runtime";
61854
62041
  var container53 = {
61855
62042
  padding: 20,
61856
62043
  maxWidth: 900,
@@ -61932,7 +62119,7 @@ var RenderStatusModal = ({
61932
62119
  /* @__PURE__ */ jsxs177("div", {
61933
62120
  style: container53,
61934
62121
  children: [
61935
- job.status === "failed" ? /* @__PURE__ */ jsxs177(Fragment63, {
62122
+ job.status === "failed" ? /* @__PURE__ */ jsxs177(Fragment62, {
61936
62123
  children: [
61937
62124
  /* @__PURE__ */ jsx335("p", {
61938
62125
  children: "The render failed because of the following error:"
@@ -62497,7 +62684,7 @@ var CliCopyButton = ({
62497
62684
  };
62498
62685
 
62499
62686
  // src/components/RenderModal/OptionExplainer.tsx
62500
- import { jsx as jsx341, jsxs as jsxs178, Fragment as Fragment64 } from "react/jsx-runtime";
62687
+ import { jsx as jsx341, jsxs as jsxs178, Fragment as Fragment63 } from "react/jsx-runtime";
62501
62688
  var container54 = {
62502
62689
  fontSize: 14,
62503
62690
  paddingTop: 10,
@@ -62568,7 +62755,7 @@ var OptionExplainer = ({
62568
62755
  style: title4,
62569
62756
  children: option.name
62570
62757
  }),
62571
- option.docLink ? /* @__PURE__ */ jsxs178(Fragment64, {
62758
+ option.docLink ? /* @__PURE__ */ jsxs178(Fragment63, {
62572
62759
  children: [
62573
62760
  /* @__PURE__ */ jsx341(Spacing, {
62574
62761
  x: 1
@@ -62614,7 +62801,7 @@ var OptionExplainer = ({
62614
62801
  })
62615
62802
  ]
62616
62803
  }),
62617
- hasInfoRows ? /* @__PURE__ */ jsxs178(Fragment64, {
62804
+ hasInfoRows ? /* @__PURE__ */ jsxs178(Fragment63, {
62618
62805
  children: [
62619
62806
  /* @__PURE__ */ jsx341(Spacing, {
62620
62807
  y: 0.5,
@@ -62742,7 +62929,7 @@ var WebRendererCustomOptionExplainerBubble = ({ apiName, description: descriptio
62742
62929
  };
62743
62930
 
62744
62931
  // src/components/RenderModal/NumberSetting.tsx
62745
- import { jsx as jsx343, jsxs as jsxs179, Fragment as Fragment65 } from "react/jsx-runtime";
62932
+ import { jsx as jsx343, jsxs as jsxs179, Fragment as Fragment64 } from "react/jsx-runtime";
62746
62933
  var NumberSetting = ({ name, value, step, hint, onValueChanged, max, min, formatter }) => {
62747
62934
  const onTextChanged = useCallback195((e) => {
62748
62935
  onValueChanged((q) => {
@@ -62763,7 +62950,7 @@ var NumberSetting = ({ name, value, step, hint, onValueChanged, max, min, format
62763
62950
  style: label5,
62764
62951
  children: [
62765
62952
  name,
62766
- hint ? /* @__PURE__ */ jsxs179(Fragment65, {
62953
+ hint ? /* @__PURE__ */ jsxs179(Fragment64, {
62767
62954
  children: [
62768
62955
  /* @__PURE__ */ jsx343(Spacing, {
62769
62956
  x: 0.5
@@ -63754,7 +63941,7 @@ var useFileExistence = (outName) => {
63754
63941
 
63755
63942
  // src/components/RenderModal/RenderModalOutputName.tsx
63756
63943
  import { useCallback as useCallback199 } from "react";
63757
- import { jsx as jsx349, jsxs as jsxs183, Fragment as Fragment66 } from "react/jsx-runtime";
63944
+ import { jsx as jsx349, jsxs as jsxs183, Fragment as Fragment65 } from "react/jsx-runtime";
63758
63945
  var existsMessageStyle = {
63759
63946
  display: "inline-flex",
63760
63947
  alignItems: "center",
@@ -63811,7 +63998,7 @@ var RenderModalOutputName = ({
63811
63998
  onChange: onValueChange,
63812
63999
  rightAlign: true
63813
64000
  }),
63814
- validationMessage ? /* @__PURE__ */ jsxs183(Fragment66, {
64001
+ validationMessage ? /* @__PURE__ */ jsxs183(Fragment65, {
63815
64002
  children: [
63816
64003
  /* @__PURE__ */ jsx349(Spacing, {
63817
64004
  y: 1,
@@ -63823,7 +64010,7 @@ var RenderModalOutputName = ({
63823
64010
  type: "error"
63824
64011
  })
63825
64012
  ]
63826
- }) : existence ? /* @__PURE__ */ jsxs183(Fragment66, {
64013
+ }) : existence ? /* @__PURE__ */ jsxs183(Fragment65, {
63827
64014
  children: [
63828
64015
  /* @__PURE__ */ jsx349(Spacing, {
63829
64016
  y: 1,
@@ -63854,7 +64041,7 @@ var RenderModalOutputName = ({
63854
64041
  };
63855
64042
 
63856
64043
  // src/components/RenderModal/SeparateAudioOption.tsx
63857
- import { jsx as jsx350, jsxs as jsxs184, Fragment as Fragment67 } from "react/jsx-runtime";
64044
+ import { jsx as jsx350, jsxs as jsxs184, Fragment as Fragment66 } from "react/jsx-runtime";
63858
64045
  var SeparateAudioOptionInput = ({ separateAudioTo, setSeparateAudioTo, audioCodec }) => {
63859
64046
  const existence = useFileExistence(separateAudioTo);
63860
64047
  const onValueChange = useCallback200((e) => {
@@ -63886,7 +64073,7 @@ var SeparateAudioOption = ({ separateAudioTo, setSeparateAudioTo, audioCodec, ou
63886
64073
  setSeparateAudioTo(null);
63887
64074
  }
63888
64075
  }, [audioCodec, outName, setSeparateAudioTo]);
63889
- return /* @__PURE__ */ jsxs184(Fragment67, {
64076
+ return /* @__PURE__ */ jsxs184(Fragment66, {
63890
64077
  children: [
63891
64078
  /* @__PURE__ */ jsxs184("div", {
63892
64079
  style: optionRow,
@@ -63924,7 +64111,7 @@ var SeparateAudioOption = ({ separateAudioTo, setSeparateAudioTo, audioCodec, ou
63924
64111
  };
63925
64112
 
63926
64113
  // src/components/RenderModal/RenderModalAudio.tsx
63927
- import { jsx as jsx351, jsxs as jsxs185, Fragment as Fragment68 } from "react/jsx-runtime";
64114
+ import { jsx as jsx351, jsxs as jsxs185, Fragment as Fragment67 } from "react/jsx-runtime";
63928
64115
  var container57 = {
63929
64116
  flex: 1,
63930
64117
  overflowY: "auto"
@@ -63994,7 +64181,7 @@ var RenderModalAudio = ({
63994
64181
  style: container57,
63995
64182
  className: VERTICAL_SCROLLBAR_CLASSNAME,
63996
64183
  children: [
63997
- renderMode === "video" ? /* @__PURE__ */ jsxs185(Fragment68, {
64184
+ renderMode === "video" ? /* @__PURE__ */ jsxs185(Fragment67, {
63998
64185
  children: [
63999
64186
  /* @__PURE__ */ jsx351(MutedSetting, {
64000
64187
  enforceAudioTrack,
@@ -64029,7 +64216,7 @@ var RenderModalAudio = ({
64029
64216
  })
64030
64217
  ]
64031
64218
  }) : null,
64032
- (renderMode === "video" || renderMode === "audio") && !muted && /* @__PURE__ */ jsxs185(Fragment68, {
64219
+ (renderMode === "video" || renderMode === "audio") && !muted && /* @__PURE__ */ jsxs185(Fragment67, {
64033
64220
  children: [
64034
64221
  /* @__PURE__ */ jsx351(EnforceAudioTrackSetting, {
64035
64222
  muted,
@@ -64648,7 +64835,7 @@ var labelx264Preset = (profile) => {
64648
64835
  };
64649
64836
 
64650
64837
  // src/components/RenderModal/RenderModalEncoding.tsx
64651
- import { jsx as jsx355, jsxs as jsxs189, Fragment as Fragment69 } from "react/jsx-runtime";
64838
+ import { jsx as jsx355, jsxs as jsxs189, Fragment as Fragment68 } from "react/jsx-runtime";
64652
64839
  var qualityControlModes = ["crf", "bitrate"];
64653
64840
  var container60 = {
64654
64841
  flex: 1,
@@ -64833,7 +65020,7 @@ var RenderModalEncoding = ({
64833
65020
  })
64834
65021
  ]
64835
65022
  }) : null,
64836
- renderMode === "video" ? /* @__PURE__ */ jsxs189(Fragment69, {
65023
+ renderMode === "video" ? /* @__PURE__ */ jsxs189(Fragment68, {
64837
65024
  children: [
64838
65025
  /* @__PURE__ */ jsxs189("div", {
64839
65026
  style: optionRow,
@@ -65057,7 +65244,7 @@ var RenderModalEncoding = ({
65057
65244
  })
65058
65245
  ]
65059
65246
  }) : null,
65060
- renderMode === "still" ? null : /* @__PURE__ */ jsxs189(Fragment69, {
65247
+ renderMode === "still" ? null : /* @__PURE__ */ jsxs189(Fragment68, {
65061
65248
  children: [
65062
65249
  renderMode === "video" ? /* @__PURE__ */ jsx355(RenderModalHr, {}) : null,
65063
65250
  /* @__PURE__ */ jsxs189("div", {
@@ -65121,7 +65308,7 @@ var InlineEyeButton = ({ onClick, enabled }) => {
65121
65308
  };
65122
65309
 
65123
65310
  // src/components/RenderModal/EnvInput.tsx
65124
- import { jsx as jsx357, jsxs as jsxs190, Fragment as Fragment70 } from "react/jsx-runtime";
65311
+ import { jsx as jsx357, jsxs as jsxs190, Fragment as Fragment69 } from "react/jsx-runtime";
65125
65312
  var input3 = {
65126
65313
  flex: 1,
65127
65314
  width: "100%"
@@ -65168,7 +65355,7 @@ var EnvInput = ({
65168
65355
  setValueWarningEligible(true);
65169
65356
  }, []);
65170
65357
  const isNodeEnvKey = envKey.trim() === "NODE_ENV";
65171
- return /* @__PURE__ */ jsxs190(Fragment70, {
65358
+ return /* @__PURE__ */ jsxs190(Fragment69, {
65172
65359
  children: [
65173
65360
  /* @__PURE__ */ jsxs190(Row, {
65174
65361
  align: "center",
@@ -65448,7 +65635,7 @@ var JpegQualitySetting = ({ jpegQuality, setJpegQuality }) => {
65448
65635
 
65449
65636
  // src/components/RenderModal/ScaleSetting.tsx
65450
65637
  import { useMemo as useMemo211 } from "react";
65451
- import { jsx as jsx362, jsxs as jsxs194, Fragment as Fragment71 } from "react/jsx-runtime";
65638
+ import { jsx as jsx362, jsxs as jsxs194, Fragment as Fragment70 } from "react/jsx-runtime";
65452
65639
  var MIN_SCALE = 0.1;
65453
65640
  var MAX_SCALE = 10;
65454
65641
  var outputDimensionsStyle = {
@@ -65466,7 +65653,7 @@ var ScaleSetting = ({ scale, setScale, compositionWidth, compositionHeight }) =>
65466
65653
  const outputHeight = Math.round(compositionHeight * scale);
65467
65654
  return `${outputWidth}×${outputHeight}`;
65468
65655
  }, [compositionWidth, compositionHeight, scale]);
65469
- return /* @__PURE__ */ jsxs194(Fragment71, {
65656
+ return /* @__PURE__ */ jsxs194(Fragment70, {
65470
65657
  children: [
65471
65658
  /* @__PURE__ */ jsx362(NumberSetting, {
65472
65659
  min: MIN_SCALE,
@@ -66905,7 +67092,7 @@ var useEncodableVideoCodecs = (container64) => {
66905
67092
 
66906
67093
  // src/components/RenderModal/WebRenderModalAdvanced.tsx
66907
67094
  import { useCallback as useCallback212, useMemo as useMemo213 } from "react";
66908
- import { jsx as jsx366, jsxs as jsxs197, Fragment as Fragment72 } from "react/jsx-runtime";
67095
+ import { jsx as jsx366, jsxs as jsxs197, Fragment as Fragment71 } from "react/jsx-runtime";
66909
67096
  var tabContainer = {
66910
67097
  flex: 1
66911
67098
  };
@@ -66917,7 +67104,7 @@ var lastParagraph = {
66917
67104
  margin: 0
66918
67105
  };
66919
67106
  var PageResponsivenessDescription = () => {
66920
- return /* @__PURE__ */ jsxs197(Fragment72, {
67107
+ return /* @__PURE__ */ jsxs197(Fragment71, {
66921
67108
  children: [
66922
67109
  /* @__PURE__ */ jsx366("p", {
66923
67110
  style: paragraph,
@@ -67149,7 +67336,7 @@ var WebRenderModalAdvanced = ({
67149
67336
  })
67150
67337
  ]
67151
67338
  }) : null,
67152
- renderMode === "still" ? null : /* @__PURE__ */ jsxs197(Fragment72, {
67339
+ renderMode === "still" ? null : /* @__PURE__ */ jsxs197(Fragment71, {
67153
67340
  children: [
67154
67341
  /* @__PURE__ */ jsxs197("div", {
67155
67342
  style: optionRow,
@@ -67222,7 +67409,7 @@ var getQualityOptions = (selectedQuality, setQuality) => {
67222
67409
  };
67223
67410
 
67224
67411
  // src/components/RenderModal/WebRenderModalAudio.tsx
67225
- import { jsx as jsx368, jsxs as jsxs198, Fragment as Fragment73 } from "react/jsx-runtime";
67412
+ import { jsx as jsx368, jsxs as jsxs198, Fragment as Fragment72 } from "react/jsx-runtime";
67226
67413
  var container64 = {
67227
67414
  flex: 1,
67228
67415
  overflowY: "auto"
@@ -67300,7 +67487,7 @@ var WebRenderModalAudio = ({
67300
67487
  muted,
67301
67488
  setMuted
67302
67489
  }),
67303
- showAudioSettings ? /* @__PURE__ */ jsxs198(Fragment73, {
67490
+ showAudioSettings ? /* @__PURE__ */ jsxs198(Fragment72, {
67304
67491
  children: [
67305
67492
  isAudioOnly ? null : /* @__PURE__ */ jsx368(RenderModalHr, {}),
67306
67493
  /* @__PURE__ */ jsxs198("div", {
@@ -67365,7 +67552,7 @@ var WebRenderModalAudio = ({
67365
67552
 
67366
67553
  // src/components/RenderModal/WebRenderModalBasic.tsx
67367
67554
  import { useMemo as useMemo215 } from "react";
67368
- import { jsx as jsx369, jsxs as jsxs199, Fragment as Fragment74 } from "react/jsx-runtime";
67555
+ import { jsx as jsx369, jsxs as jsxs199, Fragment as Fragment73 } from "react/jsx-runtime";
67369
67556
  var tabContainer2 = {
67370
67557
  flex: 1
67371
67558
  };
@@ -67485,7 +67672,7 @@ var WebRenderModalBasic = ({
67485
67672
  return /* @__PURE__ */ jsxs199("div", {
67486
67673
  style: tabContainer2,
67487
67674
  children: [
67488
- renderMode === "still" ? /* @__PURE__ */ jsxs199(Fragment74, {
67675
+ renderMode === "still" ? /* @__PURE__ */ jsxs199(Fragment73, {
67489
67676
  children: [
67490
67677
  /* @__PURE__ */ jsxs199("div", {
67491
67678
  style: optionRow,
@@ -67530,7 +67717,7 @@ var WebRenderModalBasic = ({
67530
67717
  ]
67531
67718
  }) : null
67532
67719
  ]
67533
- }) : /* @__PURE__ */ jsxs199(Fragment74, {
67720
+ }) : /* @__PURE__ */ jsxs199(Fragment73, {
67534
67721
  children: [
67535
67722
  /* @__PURE__ */ jsxs199("div", {
67536
67723
  style: optionRow,
@@ -67735,7 +67922,7 @@ var WebRenderModalLicenseKeyDetails = ({ details }) => {
67735
67922
  };
67736
67923
 
67737
67924
  // src/components/RenderModal/WebRenderModalLicense.tsx
67738
- import { jsx as jsx372, jsxs as jsxs201, Fragment as Fragment75 } from "react/jsx-runtime";
67925
+ import { jsx as jsx372, jsxs as jsxs201, Fragment as Fragment74 } from "react/jsx-runtime";
67739
67926
  var row11 = {
67740
67927
  display: "flex",
67741
67928
  flexDirection: "row",
@@ -67988,7 +68175,7 @@ var WebRenderModalLicense = ({
67988
68175
  style: inputStyle3,
67989
68176
  autoFocus: true
67990
68177
  }),
67991
- licenseValidation.message ? /* @__PURE__ */ jsxs201(Fragment75, {
68178
+ licenseValidation.message ? /* @__PURE__ */ jsxs201(Fragment74, {
67992
68179
  children: [
67993
68180
  /* @__PURE__ */ jsx372(Spacing, {
67994
68181
  y: 1,
@@ -68001,7 +68188,7 @@ var WebRenderModalLicense = ({
68001
68188
  })
68002
68189
  ]
68003
68190
  }) : null,
68004
- licenseValidation.valid && licenseKey.length > 0 ? /* @__PURE__ */ jsxs201(Fragment75, {
68191
+ licenseValidation.valid && licenseKey.length > 0 ? /* @__PURE__ */ jsxs201(Fragment74, {
68005
68192
  children: [
68006
68193
  /* @__PURE__ */ jsx372(Spacing, {
68007
68194
  y: 1,
@@ -68020,7 +68207,7 @@ var WebRenderModalLicense = ({
68020
68207
  })
68021
68208
  ]
68022
68209
  }) : null,
68023
- isLoading && /* @__PURE__ */ jsxs201(Fragment75, {
68210
+ isLoading && /* @__PURE__ */ jsxs201(Fragment74, {
68024
68211
  children: [
68025
68212
  /* @__PURE__ */ jsx372(Spacing, {
68026
68213
  y: 1,
@@ -68029,7 +68216,7 @@ var WebRenderModalLicense = ({
68029
68216
  "Loading license key details..."
68030
68217
  ]
68031
68218
  }),
68032
- licenseValidation.details && /* @__PURE__ */ jsxs201(Fragment75, {
68219
+ licenseValidation.details && /* @__PURE__ */ jsxs201(Fragment74, {
68033
68220
  children: [
68034
68221
  /* @__PURE__ */ jsx372(Spacing, {
68035
68222
  y: 1,
@@ -68062,7 +68249,7 @@ var WebRenderModalLicense = ({
68062
68249
 
68063
68250
  // src/components/RenderModal/WebRenderModalPicture.tsx
68064
68251
  import { useCallback as useCallback214, useMemo as useMemo216 } from "react";
68065
- import { jsx as jsx373, jsxs as jsxs202, Fragment as Fragment76 } from "react/jsx-runtime";
68252
+ import { jsx as jsx373, jsxs as jsxs202, Fragment as Fragment75 } from "react/jsx-runtime";
68066
68253
  var tabContainer4 = {
68067
68254
  flex: 1
68068
68255
  };
@@ -68092,7 +68279,7 @@ var WebRenderModalPicture = ({
68092
68279
  compositionWidth,
68093
68280
  compositionHeight
68094
68281
  }),
68095
- renderMode !== "video" ? null : /* @__PURE__ */ jsxs202(Fragment76, {
68282
+ renderMode !== "video" ? null : /* @__PURE__ */ jsxs202(Fragment75, {
68096
68283
  children: [
68097
68284
  /* @__PURE__ */ jsxs202("div", {
68098
68285
  style: optionRow,
@@ -68873,7 +69060,7 @@ var KnownBugs = ({ bugs }) => {
68873
69060
  };
68874
69061
 
68875
69062
  // src/components/UpdateModal/UpdateModal.tsx
68876
- import { jsx as jsx378, jsxs as jsxs206, Fragment as Fragment77 } from "react/jsx-runtime";
69063
+ import { jsx as jsx378, jsxs as jsxs206, Fragment as Fragment76 } from "react/jsx-runtime";
68877
69064
  var container66 = {
68878
69065
  padding: 20,
68879
69066
  paddingTop: 0
@@ -68924,7 +69111,7 @@ var UpdateModal = ({ info, knownBugs }) => {
68924
69111
  /* @__PURE__ */ jsxs206("div", {
68925
69112
  style: container66,
68926
69113
  children: [
68927
- hasKnownBugs ? /* @__PURE__ */ jsxs206(Fragment77, {
69114
+ hasKnownBugs ? /* @__PURE__ */ jsxs206(Fragment76, {
68928
69115
  children: [
68929
69116
  /* @__PURE__ */ jsxs206("div", {
68930
69117
  style: title6,
@@ -69004,11 +69191,11 @@ var UpdateModal = ({ info, knownBugs }) => {
69004
69191
  };
69005
69192
 
69006
69193
  // src/components/Modals.tsx
69007
- import { jsx as jsx379, jsxs as jsxs207, Fragment as Fragment78 } from "react/jsx-runtime";
69194
+ import { jsx as jsx379, jsxs as jsxs207, Fragment as Fragment77 } from "react/jsx-runtime";
69008
69195
  var Modals = ({ readOnlyStudio }) => {
69009
69196
  const { selectedModal: modalContextType } = useContext149(ModalsContext);
69010
69197
  const canRender = useContext149(StudioServerConnectionCtx).previewServerState.type === "connected";
69011
- return /* @__PURE__ */ jsxs207(Fragment78, {
69198
+ return /* @__PURE__ */ jsxs207(Fragment77, {
69012
69199
  children: [
69013
69200
  modalContextType && modalContextType.type === "new-comp" && /* @__PURE__ */ jsx379(NewComposition, {
69014
69201
  folderName: modalContextType.folderName,
@@ -69857,12 +70044,14 @@ var makeDefaultGlobalCSS = () => {
69857
70044
  box-shadow: ${FOCUS_BOX_SHADOW};
69858
70045
  }
69859
70046
 
69860
- .__remotion-composition-selector-item:focus {
70047
+ .__remotion-composition-selector-item:focus,
70048
+ .__remotion-inspector-inline-action:focus {
69861
70049
  outline: none;
69862
70050
  box-shadow: none;
69863
70051
  }
69864
70052
 
69865
- .__remotion-composition-selector-item:focus-visible {
70053
+ .__remotion-composition-selector-item:focus-visible,
70054
+ .__remotion-inspector-inline-action:focus-visible {
69866
70055
  box-shadow: ${FOCUS_BOX_SHADOW};
69867
70056
  }
69868
70057