@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
@@ -1791,6 +1791,7 @@ import { useMemo as useMemo8 } from "react";
1791
1791
  import { jsx as jsx10 } from "react/jsx-runtime";
1792
1792
  var SPACING_UNIT = 8;
1793
1793
  var COMPACT_CONTROL_ROW_HEIGHT = 28;
1794
+ var COMPACT_INLINE_ROW_HEIGHT = 22;
1794
1795
  var Spacing = ({ x = 0, y = 0, block = false }) => {
1795
1796
  const style = useMemo8(() => {
1796
1797
  return {
@@ -4714,6 +4715,30 @@ var getFolderMenuItems = ({
4714
4715
  ].filter(NoReactInternals2.truthy);
4715
4716
  };
4716
4717
 
4718
+ // src/components/open-in-new-window.ts
4719
+ var getOpenInNewWindowMenuItem = (route) => {
4720
+ return {
4721
+ id: "open-in-new-window",
4722
+ keyHint: null,
4723
+ label: "Open in new window",
4724
+ leftItem: null,
4725
+ onClick: () => {
4726
+ const screen = window.screen;
4727
+ const width = Math.min(1200, Math.floor(screen.availWidth * 0.8));
4728
+ const height = Math.min(800, Math.floor(screen.availHeight * 0.8));
4729
+ const displayLeft = screen.availLeft ?? 0;
4730
+ const displayTop = screen.availTop ?? 0;
4731
+ const left = Math.round(Math.min(Math.max(window.screenX + (window.outerWidth - width) / 2, displayLeft), displayLeft + screen.availWidth - width));
4732
+ const top = Math.round(Math.min(Math.max(window.screenY + (window.outerHeight - height) / 2, displayTop), displayTop + screen.availHeight - height));
4733
+ window.open(getUrlForRoute(route), "_blank", `popup,width=${width},height=${height},left=${left},top=${top}`);
4734
+ },
4735
+ quickSwitcherLabel: null,
4736
+ subMenu: null,
4737
+ type: "item",
4738
+ value: "open-in-new-window"
4739
+ };
4740
+ };
4741
+
4717
4742
  // src/components/RenderQueue/actions.ts
4718
4743
  import { NoReactInternals as NoReactInternals3 } from "remotion/no-react";
4719
4744
  var addStillRenderJob = ({
@@ -5570,7 +5595,7 @@ var CompositionSelectorItem = ({
5570
5595
  const style2 = useMemo21(() => {
5571
5596
  return {
5572
5597
  ...itemStyle,
5573
- backgroundColor: dragHovered ? WHITE_ALPHA_12 : getBackgroundFromHoverState({ hovered, selected }),
5598
+ backgroundColor: dragHovered ? WHITE_ALPHA_12 : hovered || selected ? WHITE_ALPHA_06 : TRANSPARENT,
5574
5599
  paddingLeft: 12 + level * 8
5575
5600
  };
5576
5601
  }, [dragHovered, hovered, level, selected]);
@@ -5608,26 +5633,7 @@ var CompositionSelectorItem = ({
5608
5633
  readOnlyStudio: window.remotion_isReadOnlyStudio
5609
5634
  });
5610
5635
  return [
5611
- {
5612
- id: "open-in-new-window",
5613
- keyHint: null,
5614
- label: "Open in new window",
5615
- leftItem: null,
5616
- onClick: () => {
5617
- const screen = window.screen;
5618
- const width = Math.min(1200, Math.floor(screen.availWidth * 0.8));
5619
- const height = Math.min(800, Math.floor(screen.availHeight * 0.8));
5620
- const displayLeft = screen.availLeft ?? 0;
5621
- const displayTop = screen.availTop ?? 0;
5622
- const left = Math.round(Math.min(Math.max(window.screenX + (window.outerWidth - width) / 2, displayLeft), displayLeft + screen.availWidth - width));
5623
- const top = Math.round(Math.min(Math.max(window.screenY + (window.outerHeight - height) / 2, displayTop), displayTop + screen.availHeight - height));
5624
- window.open(getUrlForRoute(`/${item.composition.id}`), "_blank", `popup,width=${width},height=${height},left=${left},top=${top}`);
5625
- },
5626
- quickSwitcherLabel: null,
5627
- subMenu: null,
5628
- type: "item",
5629
- value: "open-in-new-window"
5630
- },
5636
+ getOpenInNewWindowMenuItem(`/${item.composition.id}`),
5631
5637
  {
5632
5638
  type: "divider",
5633
5639
  id: "open-in-new-window-divider"
@@ -11597,8 +11603,17 @@ var container10 = {
11597
11603
  backgroundColor: INPUT_BACKGROUND,
11598
11604
  borderWidth: 1,
11599
11605
  borderStyle: "solid",
11606
+ borderRadius: 4,
11607
+ fontFamily: "inherit",
11600
11608
  maxWidth: "100%"
11601
11609
  };
11610
+ var compactContainer = {
11611
+ ...container10,
11612
+ boxSizing: "border-box",
11613
+ borderRadius: 0,
11614
+ height: COMPACT_CONTROL_ROW_HEIGHT + 2,
11615
+ padding: "5px 6px"
11616
+ };
11602
11617
  var smallContainer = {
11603
11618
  ...container10,
11604
11619
  padding: "3px 4px"
@@ -11607,16 +11622,31 @@ var label = {
11607
11622
  flex: 1,
11608
11623
  overflow: "hidden",
11609
11624
  textOverflow: "ellipsis",
11625
+ color: "inherit",
11626
+ fontFamily: "inherit",
11610
11627
  fontSize: 14,
11628
+ lineHeight: "21px",
11629
+ minWidth: 0,
11611
11630
  textAlign: "left",
11612
11631
  whiteSpace: "nowrap"
11613
11632
  };
11633
+ var compactLabel = {
11634
+ ...label,
11635
+ fontSize: 12,
11636
+ lineHeight: "16px"
11637
+ };
11614
11638
  var smallLabel = {
11615
11639
  ...label,
11616
11640
  fontSize: 11,
11617
- lineHeight: 1
11641
+ lineHeight: "12px"
11618
11642
  };
11619
- var Combobox = ({ values, selectedId, style: customStyle, title, small = false }) => {
11643
+ var Combobox = ({
11644
+ values,
11645
+ selectedId,
11646
+ style: customStyle,
11647
+ title,
11648
+ size: controlSize = "default"
11649
+ }) => {
11620
11650
  const [hovered, setIsHovered] = useState22(false);
11621
11651
  const [opened, setOpened] = useState22(false);
11622
11652
  const ref = useRef18(null);
@@ -11726,7 +11756,7 @@ var Combobox = ({ values, selectedId, style: customStyle, title, small = false }
11726
11756
  const selected = values.find((v) => v.id === selectedId);
11727
11757
  const style2 = useMemo31(() => {
11728
11758
  return {
11729
- ...small ? smallContainer : container10,
11759
+ ...controlSize === "small" ? smallContainer : controlSize === "compact" ? compactContainer : container10,
11730
11760
  ...customStyle ?? {},
11731
11761
  userSelect: "none",
11732
11762
  WebkitUserSelect: "none",
@@ -11736,7 +11766,8 @@ var Combobox = ({ values, selectedId, style: customStyle, title, small = false }
11736
11766
  alignItems: "center",
11737
11767
  borderColor: opened ? SELECTED_BACKGROUND : hovered ? WHITE_ALPHA_05 : BLACK_ALPHA_60
11738
11768
  };
11739
- }, [customStyle, hovered, opened, small]);
11769
+ }, [controlSize, customStyle, hovered, opened]);
11770
+ const selectedLabelStyle = controlSize === "small" ? smallLabel : controlSize === "compact" ? compactLabel : label;
11740
11771
  return /* @__PURE__ */ jsxs13(Fragment5, {
11741
11772
  children: [
11742
11773
  /* @__PURE__ */ jsxs13("button", {
@@ -11749,15 +11780,15 @@ var Combobox = ({ values, selectedId, style: customStyle, title, small = false }
11749
11780
  children: [
11750
11781
  selected ? /* @__PURE__ */ jsx47("div", {
11751
11782
  title: typeof selected.label === "string" ? selected.label : undefined,
11752
- style: small ? smallLabel : label,
11783
+ style: selectedLabelStyle,
11753
11784
  children: selected?.label
11754
11785
  }) : null,
11755
11786
  /* @__PURE__ */ jsx47(Spacing, {
11756
- x: small ? 0.5 : 1
11787
+ x: controlSize === "default" ? 1 : 0.5
11757
11788
  }),
11758
11789
  " ",
11759
11790
  /* @__PURE__ */ jsx47(CaretDown, {
11760
- small
11791
+ small: controlSize === "small"
11761
11792
  })
11762
11793
  ]
11763
11794
  }),
@@ -11829,7 +11860,7 @@ var getPreviewSizeLabel = (previewSize) => {
11829
11860
  return `${(previewSize.size * 100).toFixed(0)}%`;
11830
11861
  };
11831
11862
  var accessibilityLabel = "Preview Size";
11832
- var comboStyle = { width: 80 };
11863
+ var comboStyle = { width: 64 };
11833
11864
  var getUniqueSizes = (size) => {
11834
11865
  const customPreviewSizes = [size, ...commonPreviewSizes];
11835
11866
  const uniqueSizes = [];
@@ -11854,7 +11885,7 @@ var SizeSelector = () => {
11854
11885
  const { canvasContent } = useContext20(Internals24.CompositionManager);
11855
11886
  const style2 = useMemo32(() => {
11856
11887
  return {
11857
- padding: CONTROL_BUTTON_PADDING
11888
+ padding: CONTROL_BUTTON_PADDING - 2
11858
11889
  };
11859
11890
  }, []);
11860
11891
  const zoomable = useMemo32(() => {
@@ -11898,6 +11929,7 @@ var SizeSelector = () => {
11898
11929
  style: style2,
11899
11930
  "aria-label": accessibilityLabel,
11900
11931
  children: /* @__PURE__ */ jsx48(Combobox, {
11932
+ size: "compact",
11901
11933
  title: accessibilityLabel,
11902
11934
  style: comboStyle,
11903
11935
  selectedId: String(size.size),
@@ -27790,7 +27822,7 @@ var AssetSelectorItem = ({ item, tabIndex, level, parentFolder, readOnlyStudio }
27790
27822
  return {
27791
27823
  ...itemStyle2,
27792
27824
  color: hovered || selected ? WHITE : LIGHT_TEXT,
27793
- backgroundColor: hovered ? selected ? SELECTED_BACKGROUND : WHITE_ALPHA_06 : selected ? SELECTED_BACKGROUND : TRANSPARENT,
27825
+ backgroundColor: hovered || selected ? WHITE_ALPHA_06 : TRANSPARENT,
27794
27826
  paddingLeft: 12 + level * 8
27795
27827
  };
27796
27828
  }, [hovered, level, selected]);
@@ -27870,6 +27902,11 @@ var AssetSelectorItem = ({ item, tabIndex, level, parentFolder, readOnlyStudio }
27870
27902
  }, [confirm, relativePath]);
27871
27903
  const contextMenu = useMemo61(() => {
27872
27904
  return [
27905
+ getOpenInNewWindowMenuItem(`/assets/${relativePath}`),
27906
+ {
27907
+ type: "divider",
27908
+ id: "open-in-new-window-divider"
27909
+ },
27873
27910
  {
27874
27911
  id: "copy-asset-file-name",
27875
27912
  keyHint: null,
@@ -28941,7 +28978,47 @@ var titleInput = {
28941
28978
  WebkitAppearance: "none",
28942
28979
  width: "100%"
28943
28980
  };
28944
- var InlineEditableTitle = ({ value, canRename, getInitialSelection, onClick, onCommit, title: title2 }) => {
28981
+ var inspectorTitleWrapper = {
28982
+ ...titleWrapper,
28983
+ fontFamily: "sans-serif",
28984
+ fontSize: 13,
28985
+ height: COMPACT_INLINE_ROW_HEIGHT,
28986
+ margin: "0 4px",
28987
+ width: "calc(100% - 8px)"
28988
+ };
28989
+ var inspectorTitleInner = {
28990
+ ...titleInner,
28991
+ alignItems: "center",
28992
+ fontFamily: "sans-serif",
28993
+ fontSize: 13,
28994
+ height: COMPACT_INLINE_ROW_HEIGHT,
28995
+ paddingBottom: 0,
28996
+ paddingLeft: 8,
28997
+ paddingRight: 8,
28998
+ paddingTop: 0,
28999
+ width: "100%"
29000
+ };
29001
+ var inspectorTitleGridItem = {
29002
+ ...titleGridItem,
29003
+ color: "inherit",
29004
+ fontFamily: "sans-serif",
29005
+ fontSize: 13,
29006
+ lineHeight: "18px"
29007
+ };
29008
+ var inspectorTitleInput = {
29009
+ ...titleInput,
29010
+ fontFamily: "sans-serif",
29011
+ fontSize: 13
29012
+ };
29013
+ var InlineEditableTitle = ({
29014
+ value,
29015
+ canRename,
29016
+ getInitialSelection,
29017
+ onClick,
29018
+ onCommit,
29019
+ size: size2 = "default",
29020
+ title: title2
29021
+ }) => {
28945
29022
  const [isEditing, setIsEditing] = useState51(false);
28946
29023
  const [isHovered, setIsHovered] = useState51(false);
28947
29024
  const [draftValue, setDraftValue] = useState51(value);
@@ -29003,18 +29080,24 @@ var InlineEditableTitle = ({ value, canRename, getInitialSelection, onClick, onC
29003
29080
  }
29004
29081
  }, [value]);
29005
29082
  const isInteractive = canRename || onClick !== undefined;
29006
- const backgroundColor = isEditing ? INPUT_BACKGROUND : isHovered && isInteractive ? WHITE_ALPHA_06 : TRANSPARENT;
29083
+ const backgroundColor = isEditing ? INPUT_BACKGROUND : getBackgroundFromHoverState({
29084
+ hovered: isHovered && isInteractive,
29085
+ selected: false
29086
+ });
29087
+ const isInspectorSize = size2 === "inspector";
29007
29088
  const innerStyle = useMemo67(() => {
29008
29089
  return {
29009
- ...titleInner,
29090
+ ...isInspectorSize ? inspectorTitleInner : titleInner,
29010
29091
  backgroundColor,
29011
- cursor: isEditing ? "text" : isInteractive ? "pointer" : "default",
29092
+ cursor: isEditing ? "text" : isInspectorSize ? "text" : isInteractive ? "pointer" : "default",
29012
29093
  userSelect: isEditing ? "text" : "none",
29013
- width: isEditing ? "100%" : undefined
29094
+ width: isEditing || isInspectorSize ? "100%" : undefined
29014
29095
  };
29015
- }, [backgroundColor, isEditing, isInteractive]);
29096
+ }, [backgroundColor, isEditing, isInspectorSize, isInteractive]);
29097
+ const gridItemStyle = isInspectorSize ? inspectorTitleGridItem : titleGridItem;
29098
+ const inputStyle = isInspectorSize ? inspectorTitleInput : titleInput;
29016
29099
  return /* @__PURE__ */ jsx116("div", {
29017
- style: titleWrapper,
29100
+ style: isInspectorSize ? inspectorTitleWrapper : titleWrapper,
29018
29101
  title: title2 ?? value,
29019
29102
  children: /* @__PURE__ */ jsxs51("span", {
29020
29103
  style: innerStyle,
@@ -29025,14 +29108,14 @@ var InlineEditableTitle = ({ value, canRename, getInitialSelection, onClick, onC
29025
29108
  /* @__PURE__ */ jsx116("span", {
29026
29109
  "aria-hidden": isEditing,
29027
29110
  style: {
29028
- ...titleGridItem,
29111
+ ...gridItemStyle,
29029
29112
  visibility: isEditing ? "hidden" : "visible"
29030
29113
  },
29031
29114
  children: value
29032
29115
  }),
29033
29116
  isEditing ? /* @__PURE__ */ jsx116("input", {
29034
29117
  ref: focusInput,
29035
- style: { ...titleGridItem, ...titleInput },
29118
+ style: { ...gridItemStyle, ...inputStyle },
29036
29119
  value: draftValue,
29037
29120
  onChange,
29038
29121
  onBlur,
@@ -29079,8 +29162,20 @@ var subtitle = {
29079
29162
  textOverflow: "ellipsis",
29080
29163
  whiteSpace: "nowrap"
29081
29164
  };
29082
- var InspectorInfoHeader = ({ children, contentSized = false, minHeight }) => {
29083
- const style5 = contentSized ? containerBase : minHeight === undefined ? container23 : { ...containerBase, minHeight };
29165
+ var inspectorSubtitle = {
29166
+ ...subtitle,
29167
+ boxSizing: "border-box",
29168
+ fontFamily: "sans-serif",
29169
+ fontSize: 13,
29170
+ height: 28,
29171
+ lineHeight: "18px",
29172
+ margin: "0 4px",
29173
+ padding: "5px 8px",
29174
+ width: "calc(100% - 8px)"
29175
+ };
29176
+ var InspectorInfoHeader = ({ children, contentSized = false, minHeight, padding: padding2 }) => {
29177
+ const sizeStyle = contentSized ? containerBase : minHeight === undefined ? container23 : { ...containerBase, minHeight };
29178
+ const style5 = padding2 === undefined ? sizeStyle : { ...sizeStyle, padding: padding2 };
29084
29179
  return /* @__PURE__ */ jsx117("div", {
29085
29180
  style: style5,
29086
29181
  children: children === undefined || children === null ? null : /* @__PURE__ */ jsx117("div", {
@@ -29092,9 +29187,9 @@ var InspectorInfoHeader = ({ children, contentSized = false, minHeight }) => {
29092
29187
  })
29093
29188
  });
29094
29189
  };
29095
- var InspectorInfoSubtitle = ({ children }) => {
29190
+ var InspectorInfoSubtitle = ({ children, size: size2 = "default" }) => {
29096
29191
  return /* @__PURE__ */ jsx117("div", {
29097
- style: subtitle,
29192
+ style: size2 === "inspector" ? inspectorSubtitle : subtitle,
29098
29193
  children
29099
29194
  });
29100
29195
  };
@@ -29299,6 +29394,7 @@ var AssetInfo = ({ assetName, contentSized = false, onAssetClick, readOnlyStudio
29299
29394
  const mediaDetailLines = mediaMetadata ? getCurrentAssetMediaDetailLines(mediaMetadata) : [];
29300
29395
  return /* @__PURE__ */ jsxs52(InspectorInfoHeader, {
29301
29396
  contentSized,
29397
+ padding: contentSized ? `0 ${INSPECTOR_PANEL_HORIZONTAL_PADDING}px 6px` : "4px 0",
29302
29398
  children: [
29303
29399
  /* @__PURE__ */ jsx118(InlineEditableTitle, {
29304
29400
  value: fileName,
@@ -29306,16 +29402,20 @@ var AssetInfo = ({ assetName, contentSized = false, onAssetClick, readOnlyStudio
29306
29402
  getInitialSelection: getStaticFileRenameSelection,
29307
29403
  onClick: onAssetClick,
29308
29404
  onCommit: onRename,
29405
+ size: contentSized ? "default" : "inspector",
29309
29406
  title: assetName
29310
29407
  }),
29311
29408
  subtitleParts.length > 0 ? /* @__PURE__ */ jsx118(InspectorInfoSubtitle, {
29409
+ size: contentSized ? "default" : "inspector",
29312
29410
  children: subtitleParts.join(" · ")
29313
29411
  }) : null,
29314
29412
  mediaMetadata ? /* @__PURE__ */ jsx118(InspectorInfoSubtitle, {
29413
+ size: contentSized ? "default" : "inspector",
29315
29414
  children: formatMediaDuration(mediaMetadata.duration)
29316
29415
  }) : null,
29317
29416
  mediaDetailLines.map((line2) => {
29318
29417
  return /* @__PURE__ */ jsx118(InspectorInfoSubtitle, {
29418
+ size: contentSized ? "default" : "inspector",
29319
29419
  children: line2
29320
29420
  }, line2);
29321
29421
  })
@@ -29373,31 +29473,6 @@ var inspectorSectionBody = {
29373
29473
  minWidth: 0,
29374
29474
  paddingBottom: 8
29375
29475
  };
29376
- var sequenceHeader = {
29377
- backgroundColor: BACKGROUND,
29378
- display: "flex",
29379
- flexDirection: "column",
29380
- minWidth: 0,
29381
- padding: `6px ${INSPECTOR_PANEL_HORIZONTAL_PADDING}px 4px`
29382
- };
29383
- var sequenceHeaderTitle = {
29384
- alignSelf: "stretch",
29385
- backgroundColor: BACKGROUND,
29386
- border: "none",
29387
- color: WHITE,
29388
- display: "flex",
29389
- fontFamily: "sans-serif",
29390
- fontSize: 12,
29391
- lineHeight: "18px",
29392
- margin: 0,
29393
- maxWidth: "100%",
29394
- minWidth: 0,
29395
- overflow: "hidden",
29396
- padding: 0,
29397
- textAlign: "left",
29398
- textOverflow: "ellipsis",
29399
- whiteSpace: "nowrap"
29400
- };
29401
29476
  var sequenceHeaderSubtitle = {
29402
29477
  alignSelf: "flex-start",
29403
29478
  backgroundColor: BACKGROUND,
@@ -29504,7 +29579,11 @@ var detailRow = {
29504
29579
  };
29505
29580
  var detailLabel = {
29506
29581
  color: LIGHT_TEXT,
29507
- fontSize: 13
29582
+ fontSize: 13,
29583
+ minWidth: 0,
29584
+ overflow: "hidden",
29585
+ textOverflow: "ellipsis",
29586
+ whiteSpace: "nowrap"
29508
29587
  };
29509
29588
  var detailValue = {
29510
29589
  color: WHITE,
@@ -29515,22 +29594,8 @@ var detailValue = {
29515
29594
  wordBreak: "break-word"
29516
29595
  };
29517
29596
  var keyframeEditorRow = {
29518
- alignItems: "flex-start",
29519
- display: "flex",
29520
- gap: 12,
29521
- justifyContent: "space-between",
29522
- minWidth: 0,
29523
29597
  padding: "10px 0"
29524
29598
  };
29525
- var keyframeEditorLabel = {
29526
- color: LIGHT_TEXT,
29527
- fontSize: 13,
29528
- lineHeight: "22px",
29529
- minWidth: 0,
29530
- overflow: "hidden",
29531
- textOverflow: "ellipsis",
29532
- whiteSpace: "nowrap"
29533
- };
29534
29599
  var keyframeEditorValue = {
29535
29600
  alignItems: "center",
29536
29601
  display: "flex",
@@ -29596,13 +29661,13 @@ var label4 = {
29596
29661
  whiteSpace: "normal",
29597
29662
  overflowWrap: "anywhere"
29598
29663
  };
29599
- var compactLabel = {
29664
+ var compactLabel2 = {
29600
29665
  ...label4,
29601
29666
  fontSize: 12
29602
29667
  };
29603
29668
  var ValidationMessage = ({ message, align, type, action, size: size2 = "default" }) => {
29604
29669
  const iconStyle3 = size2 === "compact" ? compactStyle : style5;
29605
- const labelStyle4 = size2 === "compact" ? compactLabel : label4;
29670
+ const labelStyle4 = size2 === "compact" ? compactLabel2 : label4;
29606
29671
  const finalStyle = useMemo69(() => {
29607
29672
  return {
29608
29673
  ...iconStyle3,
@@ -29671,45 +29736,32 @@ var InspectorSection = ({ children, header: header2 }) => {
29671
29736
  ]
29672
29737
  });
29673
29738
  };
29674
- var backIcon = {
29675
- alignItems: "center",
29676
- display: "flex",
29677
- height: 12,
29678
- justifyContent: "center",
29679
- width: 12
29739
+ var backArrowIcon = {
29740
+ display: "block",
29741
+ height: 15,
29742
+ width: 15
29680
29743
  };
29681
- var BackChevron = ({ color }) => {
29744
+ var BackArrow = ({ color }) => {
29682
29745
  return /* @__PURE__ */ jsx121("svg", {
29683
- viewBox: "0 0 8 12",
29684
- style: backIcon,
29746
+ viewBox: "0 0 512 512",
29747
+ style: backArrowIcon,
29685
29748
  children: /* @__PURE__ */ jsx121("path", {
29686
- d: "M6 1L2 6L6 11",
29687
- fill: "none",
29688
- stroke: color,
29689
- strokeLinecap: "round",
29690
- strokeLinejoin: "round",
29691
- strokeWidth: "1.5"
29749
+ 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",
29750
+ fill: color
29692
29751
  })
29693
29752
  });
29694
29753
  };
29695
- var InspectorBackHeader = ({ children, disabled, onClick, title: title2 }) => {
29696
- return /* @__PURE__ */ jsx121(InspectorSectionHeader, {
29697
- children: /* @__PURE__ */ jsx121("div", {
29698
- style: sectionHeaderRow,
29699
- children: /* @__PURE__ */ jsxs54("div", {
29700
- style: sectionHeaderStart,
29701
- children: [
29702
- /* @__PURE__ */ jsx121(InlineAction, {
29703
- disabled,
29704
- onClick,
29705
- title: title2,
29706
- renderAction: (color) => /* @__PURE__ */ jsx121(BackChevron, {
29707
- color
29708
- })
29709
- }),
29710
- children
29711
- ]
29712
- })
29754
+ var InspectorBackAction = ({ children, disabled, onClick, title: title2 }) => {
29755
+ return /* @__PURE__ */ jsx121("div", {
29756
+ style: inspectorActionSection,
29757
+ children: /* @__PURE__ */ jsx121(InspectorInlineAction, {
29758
+ disabled,
29759
+ onClick,
29760
+ renderIcon: (color) => /* @__PURE__ */ jsx121(BackArrow, {
29761
+ color
29762
+ }),
29763
+ title: title2,
29764
+ children
29713
29765
  })
29714
29766
  });
29715
29767
  };
@@ -29747,7 +29799,7 @@ var inlineLabelButton = {
29747
29799
  height: COMPACT_CONTROL_ROW_HEIGHT,
29748
29800
  lineHeight: "18px",
29749
29801
  margin: `0 ${INLINE_LABEL_BUTTON_MARGIN}px`,
29750
- padding: `5px ${INSPECTOR_PANEL_HORIZONTAL_PADDING - INLINE_LABEL_BUTTON_MARGIN}px`,
29802
+ padding: `0 ${INSPECTOR_PANEL_HORIZONTAL_PADDING - INLINE_LABEL_BUTTON_MARGIN}px`,
29751
29803
  textAlign: "left",
29752
29804
  width: `calc(100% - ${INLINE_LABEL_BUTTON_MARGIN * 2}px)`
29753
29805
  };
@@ -29755,6 +29807,9 @@ var inlineLabelButtonDisabled = {
29755
29807
  ...inlineLabelButton,
29756
29808
  opacity: 0.35
29757
29809
  };
29810
+ var compactInlineLabelButton = {
29811
+ height: COMPACT_INLINE_ROW_HEIGHT
29812
+ };
29758
29813
  var inlineLabelText = {
29759
29814
  color: LIGHT_TEXT,
29760
29815
  flex: 1,
@@ -29774,7 +29829,15 @@ var inlineLabelIcon = {
29774
29829
  justifyContent: "center",
29775
29830
  width: 18
29776
29831
  };
29777
- var InspectorInlineAction = ({ children, disabled, onClick, renderIcon, style: style6 }) => {
29832
+ var InspectorInlineAction = ({
29833
+ children,
29834
+ disabled,
29835
+ onClick,
29836
+ renderIcon,
29837
+ size: size2 = "default",
29838
+ style: style6,
29839
+ title: title2
29840
+ }) => {
29778
29841
  const [hovered, setHovered] = React81.useState(false);
29779
29842
  const color = hovered && !disabled ? WHITE : LIGHT_TEXT;
29780
29843
  const buttonStyle3 = React81.useMemo(() => ({
@@ -29784,8 +29847,9 @@ var InspectorInlineAction = ({ children, disabled, onClick, renderIcon, style: s
29784
29847
  selected: false
29785
29848
  }),
29786
29849
  color,
29850
+ ...size2 === "compact" ? compactInlineLabelButton : null,
29787
29851
  ...style6
29788
- }), [color, disabled, hovered, style6]);
29852
+ }), [color, disabled, hovered, size2, style6]);
29789
29853
  const textStyle2 = React81.useMemo(() => ({
29790
29854
  ...inlineLabelText,
29791
29855
  color
@@ -29797,17 +29861,19 @@ var InspectorInlineAction = ({ children, disabled, onClick, renderIcon, style: s
29797
29861
  setHovered(false);
29798
29862
  }, []);
29799
29863
  return /* @__PURE__ */ jsxs54("button", {
29864
+ className: "__remotion-inspector-inline-action",
29800
29865
  type: "button",
29801
29866
  disabled,
29802
29867
  style: buttonStyle3,
29868
+ title: title2,
29803
29869
  onClick,
29804
29870
  onPointerEnter: disabled ? undefined : onPointerEnter,
29805
29871
  onPointerLeave,
29806
29872
  children: [
29807
- /* @__PURE__ */ jsx121("span", {
29873
+ renderIcon ? /* @__PURE__ */ jsx121("span", {
29808
29874
  style: inlineLabelIcon,
29809
29875
  children: renderIcon(color)
29810
- }),
29876
+ }) : null,
29811
29877
  /* @__PURE__ */ jsx121("span", {
29812
29878
  style: textStyle2,
29813
29879
  children
@@ -33302,7 +33368,7 @@ var ZodEnumEditor = ({ schema, jsonPath, setValue, value, onRemove }) => {
33302
33368
  values: comboBoxValues,
33303
33369
  selectedId: value,
33304
33370
  title: value,
33305
- small: true
33371
+ size: "small"
33306
33372
  })
33307
33373
  }),
33308
33374
  /* @__PURE__ */ jsx152(ZodFieldValidation, {
@@ -33705,7 +33771,7 @@ var ZodStaticFileEditor = ({ schema, jsonPath, setValue, value, onRemove, mayPad
33705
33771
  values: comboBoxValues,
33706
33772
  selectedId: value,
33707
33773
  title: value,
33708
- small: true
33774
+ size: "small"
33709
33775
  })
33710
33776
  }),
33711
33777
  /* @__PURE__ */ jsx159(ZodFieldValidation, {
@@ -34362,7 +34428,7 @@ var ZodDiscriminatedUnionEditor = ({ schema, setValue, value, mayPad, jsonPath,
34362
34428
  title: "Select type",
34363
34429
  values: comboBoxValues,
34364
34430
  selectedId: value[discriminator],
34365
- small: true
34431
+ size: "small"
34366
34432
  })
34367
34433
  ]
34368
34434
  }, "replacement")
@@ -35507,7 +35573,8 @@ var InlineCompositionName = ({ compositionId, stack: stack2, compositions }) =>
35507
35573
  return /* @__PURE__ */ jsx177(InlineEditableTitle, {
35508
35574
  value: compositionId,
35509
35575
  canRename,
35510
- onCommit: commit
35576
+ onCommit: commit,
35577
+ size: "inspector"
35511
35578
  });
35512
35579
  };
35513
35580
 
@@ -35531,8 +35598,8 @@ var content5 = {
35531
35598
  var action = {
35532
35599
  flexShrink: 0,
35533
35600
  height: 24,
35534
- marginLeft: 4,
35535
- marginRight: -4
35601
+ marginLeft: 0,
35602
+ marginRight: 4
35536
35603
  };
35537
35604
  var icon3 = {
35538
35605
  flexShrink: 0,
@@ -35629,7 +35696,7 @@ var sourceLocationLabelStyle = {
35629
35696
  textOverflow: "ellipsis",
35630
35697
  whiteSpace: "nowrap"
35631
35698
  };
35632
- var InspectorSourceLocation = ({ location: location2, canOpen, onOpen, renderIcon }) => {
35699
+ var InspectorSourceLocation = ({ location: location2, canOpen, onOpen, renderIcon, size: size2 = "default" }) => {
35633
35700
  const [hovered, setHovered] = useState69(false);
35634
35701
  const validLocation = useMemo107(() => {
35635
35702
  if (!location2?.source || location2.line === null) {
@@ -35669,6 +35736,16 @@ var InspectorSourceLocation = ({ location: location2, canOpen, onOpen, renderIco
35669
35736
  if (!label6) {
35670
35737
  return null;
35671
35738
  }
35739
+ if (size2 === "inline-action") {
35740
+ return /* @__PURE__ */ jsx179(InspectorInlineAction, {
35741
+ disabled: !canOpen,
35742
+ onClick,
35743
+ renderIcon: (iconColor) => renderIcon?.(iconColor),
35744
+ size: "compact",
35745
+ title: fileLocation ?? undefined,
35746
+ children: label6
35747
+ });
35748
+ }
35672
35749
  return /* @__PURE__ */ jsxs91("button", {
35673
35750
  type: "button",
35674
35751
  style: style8,
@@ -35687,12 +35764,16 @@ var InspectorSourceLocation = ({ location: location2, canOpen, onOpen, renderIco
35687
35764
  };
35688
35765
 
35689
35766
  // src/components/InspectorPanel/CompositionInspectorHeader.tsx
35690
- import { jsx as jsx180, jsxs as jsxs92, Fragment as Fragment28 } from "react/jsx-runtime";
35767
+ import { jsx as jsx180, jsxs as jsxs92 } from "react/jsx-runtime";
35691
35768
  var COMPOSITION_INSPECTOR_HEADER_HEIGHT = 66;
35692
35769
  var sourceLocationIconStyle = {
35693
35770
  flexShrink: 0,
35694
- height: 13,
35695
- width: 13
35771
+ height: 18,
35772
+ width: 18
35773
+ };
35774
+ var componentLocationPlaceholder = {
35775
+ flexShrink: 0,
35776
+ height: COMPACT_INLINE_ROW_HEIGHT
35696
35777
  };
35697
35778
  var renderReactIcon = (color) => {
35698
35779
  return /* @__PURE__ */ jsx180(ReactIcon, {
@@ -35766,34 +35847,33 @@ var CompositionInspectorHeader = () => {
35766
35847
  }, [video]);
35767
35848
  return /* @__PURE__ */ jsx180(InspectorInfoHeader, {
35768
35849
  minHeight: COMPOSITION_INSPECTOR_HEADER_HEIGHT,
35769
- children: video ? /* @__PURE__ */ jsxs92(Fragment28, {
35850
+ padding: "4px 0",
35851
+ children: video ? /* @__PURE__ */ jsxs92(InspectorLocationCopy, {
35852
+ location: validatedLocation,
35853
+ name: video.id,
35770
35854
  children: [
35771
- /* @__PURE__ */ jsxs92(InspectorLocationCopy, {
35855
+ /* @__PURE__ */ jsx180(InlineCompositionName, {
35856
+ compositionId: video.id,
35857
+ stack: currentComposition?.stack ?? null,
35858
+ compositions
35859
+ }, video.id),
35860
+ /* @__PURE__ */ jsx180(InspectorSourceLocation, {
35772
35861
  location: validatedLocation,
35773
- name: video.id,
35774
- children: [
35775
- /* @__PURE__ */ jsx180(InlineCompositionName, {
35776
- compositionId: video.id,
35777
- stack: currentComposition?.stack ?? null,
35778
- compositions
35779
- }, video.id),
35780
- /* @__PURE__ */ jsx180(InspectorSourceLocation, {
35781
- location: validatedLocation,
35782
- canOpen: validatedLocation !== null,
35783
- onOpen: openFileLocation,
35784
- renderIcon: renderCompositionIcon
35785
- }),
35786
- /* @__PURE__ */ jsx180(InspectorSourceLocation, {
35787
- location: componentLocation,
35788
- canOpen: componentLocation !== null,
35789
- onOpen: openComponentLocation,
35790
- renderIcon: renderReactIcon
35791
- })
35792
- ]
35862
+ canOpen: validatedLocation !== null,
35863
+ onOpen: openFileLocation,
35864
+ renderIcon: renderCompositionIcon,
35865
+ size: "inline-action"
35793
35866
  }),
35794
- isCompositionStill(video) ? /* @__PURE__ */ jsx180(InspectorInfoSubtitle, {
35795
- children: "Still"
35796
- }) : null
35867
+ compositionComponentInfo === null && compositionFile !== null && compositionId !== null ? /* @__PURE__ */ jsx180("div", {
35868
+ "aria-hidden": true,
35869
+ style: componentLocationPlaceholder
35870
+ }) : /* @__PURE__ */ jsx180(InspectorSourceLocation, {
35871
+ location: componentLocation,
35872
+ canOpen: componentLocation !== null,
35873
+ onOpen: openComponentLocation,
35874
+ renderIcon: renderReactIcon,
35875
+ size: "inline-action"
35876
+ })
35797
35877
  ]
35798
35878
  }) : null
35799
35879
  });
@@ -35856,7 +35936,7 @@ var reconcilePendingCompositionMetadata = ({
35856
35936
  };
35857
35937
 
35858
35938
  // src/components/InspectorPanel/CompositionMetadata.tsx
35859
- import { jsx as jsx181, jsxs as jsxs93, Fragment as Fragment29 } from "react/jsx-runtime";
35939
+ import { jsx as jsx181, jsxs as jsxs93, Fragment as Fragment28 } from "react/jsx-runtime";
35860
35940
  var compositionMetadataContainer = {
35861
35941
  ...detailsContainer,
35862
35942
  paddingBottom: 4,
@@ -36076,7 +36156,7 @@ var CompositionMetadata = ({ compositionId, disabled, stack: stack2 }) => {
36076
36156
  ]
36077
36157
  })
36078
36158
  }),
36079
- isStill ? null : /* @__PURE__ */ jsxs93(Fragment29, {
36159
+ isStill ? null : /* @__PURE__ */ jsxs93(Fragment28, {
36080
36160
  children: [
36081
36161
  /* @__PURE__ */ jsx181(InspectorDetailRow, {
36082
36162
  label: "Frame rate",
@@ -36204,7 +36284,7 @@ var useCompositionActions = () => {
36204
36284
  };
36205
36285
 
36206
36286
  // src/components/InspectorPanel/CompositionInspector.tsx
36207
- import { jsx as jsx182, jsxs as jsxs94, Fragment as Fragment30 } from "react/jsx-runtime";
36287
+ import { jsx as jsx182, jsxs as jsxs94, Fragment as Fragment29 } from "react/jsx-runtime";
36208
36288
  var actionIconStyle = {
36209
36289
  height: 18,
36210
36290
  width: 18
@@ -36292,7 +36372,7 @@ var CompositionDefaultPropsSection = ({ composition, currentDefaultProps, setDef
36292
36372
  if (!canShowDefaultPropsSection) {
36293
36373
  return null;
36294
36374
  }
36295
- return /* @__PURE__ */ jsxs94(Fragment30, {
36375
+ return /* @__PURE__ */ jsxs94(Fragment29, {
36296
36376
  children: [
36297
36377
  /* @__PURE__ */ jsx182(InspectorSectionDivider, {}),
36298
36378
  /* @__PURE__ */ jsxs94("div", {
@@ -36360,7 +36440,7 @@ var CompositionVisualControlsSection = () => {
36360
36440
  if (!hasVisualControls) {
36361
36441
  return null;
36362
36442
  }
36363
- return /* @__PURE__ */ jsxs94(Fragment30, {
36443
+ return /* @__PURE__ */ jsxs94(Fragment29, {
36364
36444
  children: [
36365
36445
  /* @__PURE__ */ jsx182(InspectorSectionDivider, {}),
36366
36446
  /* @__PURE__ */ jsxs94("div", {
@@ -36463,7 +36543,7 @@ import {
36463
36543
  useState as useState73
36464
36544
  } from "react";
36465
36545
  import { Easing, Internals as Internals57 } from "remotion";
36466
- import { jsx as jsx183, jsxs as jsxs95, Fragment as Fragment31 } from "react/jsx-runtime";
36546
+ import { jsx as jsx183, jsxs as jsxs95, Fragment as Fragment30 } from "react/jsx-runtime";
36467
36547
  var SVG_WIDTH = 560;
36468
36548
  var SVG_HEIGHT = 320;
36469
36549
  var PLOT_LEFT = 42;
@@ -36803,7 +36883,7 @@ var EasingGraphScaffold = ({ labels }) => {
36803
36883
  const yOne = yToSvg(1);
36804
36884
  const bottomLabelWidth = getEasingGraphLabelWidth(labels.start);
36805
36885
  const topLabelWidth = getEasingGraphLabelWidth(labels.end);
36806
- return /* @__PURE__ */ jsxs95(Fragment31, {
36886
+ return /* @__PURE__ */ jsxs95(Fragment30, {
36807
36887
  children: [
36808
36888
  /* @__PURE__ */ jsx183("line", {
36809
36889
  x1: PLOT_LEFT,
@@ -37221,7 +37301,7 @@ var EasingEditor = ({ state, renderHeader }) => {
37221
37301
  preset
37222
37302
  }, preset.id))
37223
37303
  }),
37224
- mode === "bezier" ? /* @__PURE__ */ jsxs95(Fragment31, {
37304
+ mode === "bezier" ? /* @__PURE__ */ jsxs95(Fragment30, {
37225
37305
  children: [
37226
37306
  /* @__PURE__ */ jsxs95("svg", {
37227
37307
  ref: svgRef,
@@ -37421,7 +37501,7 @@ var EasingEditor = ({ state, renderHeader }) => {
37421
37501
  ]
37422
37502
  })
37423
37503
  ]
37424
- }) : /* @__PURE__ */ jsxs95(Fragment31, {
37504
+ }) : /* @__PURE__ */ jsxs95(Fragment30, {
37425
37505
  children: [
37426
37506
  /* @__PURE__ */ jsxs95("svg", {
37427
37507
  width: SVG_WIDTH,
@@ -38453,7 +38533,7 @@ var useTimelineEasingKeyframeDrag = ({
38453
38533
  };
38454
38534
 
38455
38535
  // src/components/Timeline/TimelineKeyframeEasingLine.tsx
38456
- import { jsx as jsx186, jsxs as jsxs97, Fragment as Fragment32 } from "react/jsx-runtime";
38536
+ import { jsx as jsx186, jsxs as jsxs97, Fragment as Fragment31 } from "react/jsx-runtime";
38457
38537
  var hitTargetHeight = 12;
38458
38538
  var lineHeight2 = 2;
38459
38539
  var easingLineButton = {
@@ -38604,7 +38684,7 @@ var TimelineKeyframeEasingLineUnmemoized = ({ fromFrame, toFrame, rowHeight, nod
38604
38684
  if (style8 === null) {
38605
38685
  return null;
38606
38686
  }
38607
- return /* @__PURE__ */ jsxs97(Fragment32, {
38687
+ return /* @__PURE__ */ jsxs97(Fragment31, {
38608
38688
  children: [
38609
38689
  /* @__PURE__ */ jsx186("button", {
38610
38690
  ref: buttonRef,
@@ -38888,7 +38968,7 @@ import {
38888
38968
  useState as useState75
38889
38969
  } from "react";
38890
38970
  import { Internals as Internals61 } from "remotion";
38891
- import { jsx as jsx188, jsxs as jsxs99, Fragment as Fragment33 } from "react/jsx-runtime";
38971
+ import { jsx as jsx188, jsxs as jsxs99, Fragment as Fragment32 } from "react/jsx-runtime";
38892
38972
  var comboStyle2 = {
38893
38973
  minWidth: 120
38894
38974
  };
@@ -39016,7 +39096,7 @@ var KeyframeSettings = ({ update }) => {
39016
39096
  const posterizeFormatter = useCallback107((value) => {
39017
39097
  return String(Math.round(Number(value)));
39018
39098
  }, []);
39019
- return /* @__PURE__ */ jsxs99(Fragment33, {
39099
+ return /* @__PURE__ */ jsxs99(Fragment32, {
39020
39100
  children: [
39021
39101
  /* @__PURE__ */ jsx188(InspectorSectionHeader, {
39022
39102
  children: "Keyframe settings"
@@ -39024,7 +39104,7 @@ var KeyframeSettings = ({ update }) => {
39024
39104
  /* @__PURE__ */ jsxs99("div", {
39025
39105
  style: keyframeSettingsContainer,
39026
39106
  children: [
39027
- canEditInterpolationSettings ? /* @__PURE__ */ jsxs99(Fragment33, {
39107
+ canEditInterpolationSettings ? /* @__PURE__ */ jsxs99(Fragment32, {
39028
39108
  children: [
39029
39109
  /* @__PURE__ */ jsx188(InspectorDetailRow, {
39030
39110
  label: "Extrapolate left",
@@ -39033,7 +39113,7 @@ var KeyframeSettings = ({ update }) => {
39033
39113
  selectedId: propStatus.clamping.left,
39034
39114
  title: "Extrapolate left",
39035
39115
  style: comboStyle2,
39036
- small: true
39116
+ size: "small"
39037
39117
  })
39038
39118
  }),
39039
39119
  /* @__PURE__ */ jsx188(InspectorDetailRow, {
@@ -39043,7 +39123,7 @@ var KeyframeSettings = ({ update }) => {
39043
39123
  selectedId: propStatus.clamping.right,
39044
39124
  title: "Extrapolate right",
39045
39125
  style: comboStyle2,
39046
- small: true
39126
+ size: "small"
39047
39127
  })
39048
39128
  }),
39049
39129
  /* @__PURE__ */ jsx188(InspectorDetailRow, {
@@ -39053,7 +39133,7 @@ var KeyframeSettings = ({ update }) => {
39053
39133
  selectedId: propStatus.output ?? "linear",
39054
39134
  title: "Output",
39055
39135
  style: comboStyle2,
39056
- small: true
39136
+ size: "small"
39057
39137
  })
39058
39138
  })
39059
39139
  ]
@@ -39303,7 +39383,32 @@ var ConnectedCompositionsSection = ({ connectedCompositions }) => {
39303
39383
  };
39304
39384
 
39305
39385
  // src/components/InspectorPanel/SequenceInspectorHeader.tsx
39306
- import { jsx as jsx190, jsxs as jsxs100, Fragment as Fragment34 } from "react/jsx-runtime";
39386
+ import { jsx as jsx190, jsxs as jsxs100, Fragment as Fragment33 } from "react/jsx-runtime";
39387
+ var sourceLocationIconStyle2 = {
39388
+ flexShrink: 0,
39389
+ height: 18,
39390
+ width: 18
39391
+ };
39392
+ var renderReactIcon2 = (color) => {
39393
+ return /* @__PURE__ */ jsx190(ReactIcon, {
39394
+ color,
39395
+ style: sourceLocationIconStyle2
39396
+ });
39397
+ };
39398
+ var sequenceInspectorSubtitle = {
39399
+ ...sequenceHeaderSubtitle,
39400
+ alignItems: "center",
39401
+ boxSizing: "border-box",
39402
+ fontSize: 13,
39403
+ height: COMPACT_INLINE_ROW_HEIGHT,
39404
+ lineHeight: "18px",
39405
+ margin: "0 4px",
39406
+ padding: "0 8px",
39407
+ width: "calc(100% - 8px)"
39408
+ };
39409
+ var defaultCursor = {
39410
+ cursor: "default"
39411
+ };
39307
39412
  var useSequenceInspectorSourceLocation = (sequence) => {
39308
39413
  const { canOpenInEditor, openInEditor: openInEditor2, originalLocation } = useOpenSequenceInEditor(sequence);
39309
39414
  const validatedLocation = useMemo120(() => {
@@ -39346,7 +39451,7 @@ var SequenceInspectorHeader = ({ sourceLocation, track }) => {
39346
39451
  }, [documentationLink]);
39347
39452
  const subtitleStyle = useMemo120(() => {
39348
39453
  return {
39349
- ...sequenceHeaderSubtitle,
39454
+ ...sequenceInspectorSubtitle,
39350
39455
  cursor: documentationLink ? "pointer" : "default"
39351
39456
  };
39352
39457
  }, [documentationLink]);
@@ -39356,23 +39461,23 @@ var SequenceInspectorHeader = ({ sourceLocation, track }) => {
39356
39461
  return;
39357
39462
  });
39358
39463
  }, [saveName]);
39359
- return /* @__PURE__ */ jsx190("div", {
39360
- style: sequenceHeader,
39464
+ return /* @__PURE__ */ jsx190(InspectorInfoHeader, {
39465
+ contentSized: true,
39466
+ padding: "4px 0",
39361
39467
  children: /* @__PURE__ */ jsxs100(InspectorLocationCopy, {
39362
39468
  location: sourceLocation.validatedLocation,
39363
39469
  name: componentName ?? null,
39364
39470
  children: [
39365
- /* @__PURE__ */ jsx190("div", {
39366
- style: sequenceHeaderTitle,
39367
- children: /* @__PURE__ */ jsx190(InlineEditableTitle, {
39368
- value: sequenceDisplayName,
39369
- canRename,
39370
- onCommit: onRename
39371
- })
39471
+ /* @__PURE__ */ jsx190(InlineEditableTitle, {
39472
+ value: sequenceDisplayName,
39473
+ canRename,
39474
+ onCommit: onRename,
39475
+ size: "inspector"
39372
39476
  }),
39373
- documentationLink ? /* @__PURE__ */ jsx190("button", {
39374
- type: "button",
39375
- style: subtitleStyle,
39477
+ documentationLink ? /* @__PURE__ */ jsx190(InspectorInlineAction, {
39478
+ disabled: false,
39479
+ style: defaultCursor,
39480
+ size: "compact",
39376
39481
  title: "Open component docs",
39377
39482
  onClick: openDocumentationLink,
39378
39483
  children: componentName
@@ -39383,7 +39488,9 @@ var SequenceInspectorHeader = ({ sourceLocation, track }) => {
39383
39488
  /* @__PURE__ */ jsx190(InspectorSourceLocation, {
39384
39489
  location: sourceLocation.validatedLocation,
39385
39490
  canOpen: sourceLocation.canOpenInEditor,
39386
- onOpen: sourceLocation.openFileLocation
39491
+ onOpen: sourceLocation.openFileLocation,
39492
+ renderIcon: renderReactIcon2,
39493
+ size: "inline-action"
39387
39494
  })
39388
39495
  ]
39389
39496
  })
@@ -39392,13 +39499,13 @@ var SequenceInspectorHeader = ({ sourceLocation, track }) => {
39392
39499
  var SequenceInspectorSections = ({ track }) => {
39393
39500
  const sourceLocation = useSequenceInspectorSourceLocation(track.sequence);
39394
39501
  const connectedCompositions = useConnectedCompositions({ track });
39395
- return /* @__PURE__ */ jsxs100(Fragment34, {
39502
+ return /* @__PURE__ */ jsxs100(Fragment33, {
39396
39503
  children: [
39397
39504
  /* @__PURE__ */ jsx190(SequenceInspectorHeader, {
39398
39505
  sourceLocation,
39399
39506
  track
39400
39507
  }),
39401
- connectedCompositions.length > 0 ? /* @__PURE__ */ jsxs100(Fragment34, {
39508
+ connectedCompositions.length > 0 ? /* @__PURE__ */ jsxs100(Fragment33, {
39402
39509
  children: [
39403
39510
  /* @__PURE__ */ jsx190(InspectorSectionDivider, {}),
39404
39511
  /* @__PURE__ */ jsx190(ConnectedCompositionsSection, {
@@ -39429,7 +39536,7 @@ var useTrackForSelection = (selection) => {
39429
39536
  };
39430
39537
 
39431
39538
  // src/components/InspectorPanel/EasingInspector.tsx
39432
- import { jsx as jsx191, jsxs as jsxs101, Fragment as Fragment35 } from "react/jsx-runtime";
39539
+ import { jsx as jsx191, jsxs as jsxs101, Fragment as Fragment34 } from "react/jsx-runtime";
39433
39540
  var addKeyframeIcon = {
39434
39541
  display: "block",
39435
39542
  height: 18,
@@ -39599,16 +39706,13 @@ var EasingInspector = ({ selection }) => {
39599
39706
  timelinePosition,
39600
39707
  track
39601
39708
  ]);
39602
- const renderHeader = useCallback111(() => /* @__PURE__ */ jsxs101(Fragment35, {
39709
+ const renderHeader = useCallback111(() => /* @__PURE__ */ jsxs101(Fragment34, {
39603
39710
  children: [
39604
- /* @__PURE__ */ jsx191(InspectorBackHeader, {
39711
+ /* @__PURE__ */ jsx191(InspectorBackAction, {
39605
39712
  disabled: parentSelection === null,
39606
39713
  onClick: onSelectParent,
39607
39714
  title: "Back to property",
39608
- children: /* @__PURE__ */ jsx191("div", {
39609
- style: sectionHeaderTitle,
39610
- children: fieldLabel
39611
- })
39715
+ children: fieldLabel
39612
39716
  }),
39613
39717
  /* @__PURE__ */ jsx191(InspectorSectionDivider, {}),
39614
39718
  easingUpdate === null || track === null ? null : /* @__PURE__ */ jsx191(KeyframeEasingNavigator, {
@@ -39957,11 +40061,17 @@ import { useContext as useContext72, useMemo as useMemo124 } from "react";
39957
40061
  import { createContext as createContext26 } from "react";
39958
40062
  var INSPECTOR_TIMELINE_ROW_LAYOUT = {
39959
40063
  basePadding: INSPECTOR_ROW_BASE_PADDING,
39960
- keyframeControlsPadding: 0
40064
+ highlightSelectedLabel: false,
40065
+ keyframeControlsPadding: 0,
40066
+ rowBorderRadius: 4,
40067
+ rowHorizontalMargin: 4
39961
40068
  };
39962
40069
  var TimelineRowLayoutContext = createContext26({
39963
40070
  basePadding: TIMELINE_ROW_BASE_PADDING,
39964
- keyframeControlsPadding: TIMELINE_ROW_BASE_PADDING
40071
+ highlightSelectedLabel: true,
40072
+ keyframeControlsPadding: TIMELINE_ROW_BASE_PADDING,
40073
+ rowBorderRadius: 0,
40074
+ rowHorizontalMargin: 0
39965
40075
  });
39966
40076
 
39967
40077
  // src/components/Timeline/TimelineFieldLabel.tsx
@@ -39977,13 +40087,13 @@ var fieldNameBase = {
39977
40087
  minWidth: 0
39978
40088
  };
39979
40089
  var TimelineFieldLabel = ({ rowDepth, selected, label: label6, stacked = false }) => {
39980
- const { basePadding } = useContext72(TimelineRowLayoutContext);
40090
+ const { basePadding, highlightSelectedLabel } = useContext72(TimelineRowLayoutContext);
39981
40091
  const labelRowStyle = useMemo124(() => ({
39982
40092
  ...getTimelineFieldLabelRowStyle(rowDepth, basePadding),
39983
- ...getTimelineSelectedLabelStyle(selected, true),
40093
+ ...getTimelineSelectedLabelStyle(selected && highlightSelectedLabel, true),
39984
40094
  ...stacked ? { flex: `0 0 ${SCHEMA_FIELD_ROW_HEIGHT}px` } : null,
39985
40095
  alignSelf: "stretch"
39986
- }), [basePadding, rowDepth, selected, stacked]);
40096
+ }), [basePadding, highlightSelectedLabel, rowDepth, selected, stacked]);
39987
40097
  const fieldNameStyle = useMemo124(() => ({
39988
40098
  ...fieldNameBase,
39989
40099
  color: getTimelineColor(selected, true)
@@ -39999,7 +40109,7 @@ var TimelineFieldLabel = ({ rowDepth, selected, label: label6, stacked = false }
39999
40109
  };
40000
40110
 
40001
40111
  // src/components/Timeline/TimelineFieldRowContent.tsx
40002
- import { jsx as jsx195, jsxs as jsxs103, Fragment as Fragment36 } from "react/jsx-runtime";
40112
+ import { jsx as jsx195, jsxs as jsxs103, Fragment as Fragment35 } from "react/jsx-runtime";
40003
40113
  var TimelineFieldRowContent = ({ field, rowDepth, selected, children }) => {
40004
40114
  const label6 = /* @__PURE__ */ jsx195(TimelineFieldLabel, {
40005
40115
  rowDepth,
@@ -40020,7 +40130,7 @@ var TimelineFieldRowContent = ({ field, rowDepth, selected, children }) => {
40020
40130
  ]
40021
40131
  });
40022
40132
  }
40023
- return /* @__PURE__ */ jsxs103(Fragment36, {
40133
+ return /* @__PURE__ */ jsxs103(Fragment35, {
40024
40134
  children: [
40025
40135
  label6,
40026
40136
  value
@@ -40075,6 +40185,9 @@ var useTimelineKeyframeTracks = () => {
40075
40185
 
40076
40186
  // src/components/Timeline/TimelineKeyframeControls.tsx
40077
40187
  import { jsx as jsx197, jsxs as jsxs104 } from "react/jsx-runtime";
40188
+ var NAV_BUTTON_SIZE = 14;
40189
+ var INSPECTOR_NAV_BUTTON_WIDTH = NAV_BUTTON_SIZE / 2;
40190
+ var INSPECTOR_PREVIOUS_BUTTON_EXTRA_GAP = 1;
40078
40191
  var controlsContainerStyle = {
40079
40192
  alignItems: "center",
40080
40193
  display: "flex",
@@ -40082,6 +40195,10 @@ var controlsContainerStyle = {
40082
40195
  gap: 1,
40083
40196
  marginRight: 4
40084
40197
  };
40198
+ var inspectorControlsContainerStyle = {
40199
+ ...controlsContainerStyle,
40200
+ paddingLeft: NAV_BUTTON_SIZE - INSPECTOR_NAV_BUTTON_WIDTH - INSPECTOR_PREVIOUS_BUTTON_EXTRA_GAP
40201
+ };
40085
40202
  var navButtonStyle = {
40086
40203
  alignItems: "center",
40087
40204
  background: "none",
@@ -40090,13 +40207,20 @@ var navButtonStyle = {
40090
40207
  cursor: "pointer",
40091
40208
  display: "flex",
40092
40209
  flexShrink: 0,
40093
- height: 14,
40210
+ height: NAV_BUTTON_SIZE,
40094
40211
  justifyContent: "center",
40095
40212
  lineHeight: 1,
40096
40213
  outline: "none",
40097
40214
  padding: 0,
40098
40215
  userSelect: "none",
40099
- width: 14
40216
+ width: NAV_BUTTON_SIZE
40217
+ };
40218
+ var inspectorNavButtonStyle = {
40219
+ width: INSPECTOR_NAV_BUTTON_WIDTH
40220
+ };
40221
+ var inspectorPreviousNavButtonStyle = {
40222
+ ...inspectorNavButtonStyle,
40223
+ marginRight: INSPECTOR_PREVIOUS_BUTTON_EXTRA_GAP
40100
40224
  };
40101
40225
  var isKeyframedStatus = (status) => {
40102
40226
  return status.status === "keyframed";
@@ -40105,7 +40229,7 @@ var diamondButtonStyle = {
40105
40229
  ...navButtonStyle,
40106
40230
  background: "none"
40107
40231
  };
40108
- var svgStyle4 = { display: "block" };
40232
+ var svgStyle4 = { display: "block", flexShrink: 0 };
40109
40233
  var isKeyframeControlSelection = (selection) => {
40110
40234
  return selection.type === "sequence-prop" || selection.type === "sequence-effect-prop";
40111
40235
  };
@@ -40524,16 +40648,18 @@ var TimelineKeyframeControls = ({
40524
40648
  const nextDisabled = nextDisplayFrame === null;
40525
40649
  const previousStyle = useMemo125(() => ({
40526
40650
  ...navButtonStyle,
40651
+ ...mode === "inspector" ? inspectorPreviousNavButtonStyle : null,
40527
40652
  cursor: previousDisabled ? "default" : "pointer",
40528
40653
  opacity: previousDisabled ? 0.35 : 1,
40529
40654
  visibility: showNavigationButtons ? "visible" : "hidden"
40530
- }), [previousDisabled, showNavigationButtons]);
40655
+ }), [mode, previousDisabled, showNavigationButtons]);
40531
40656
  const nextStyle = useMemo125(() => ({
40532
40657
  ...navButtonStyle,
40658
+ ...mode === "inspector" ? inspectorNavButtonStyle : null,
40533
40659
  cursor: nextDisabled ? "default" : "pointer",
40534
40660
  opacity: nextDisabled ? 0.35 : 1,
40535
40661
  visibility: showNavigationButtons ? "visible" : "hidden"
40536
- }), [nextDisabled, showNavigationButtons]);
40662
+ }), [mode, nextDisabled, showNavigationButtons]);
40537
40663
  const diamondStyle = useMemo125(() => ({
40538
40664
  ...diamondButtonStyle,
40539
40665
  cursor: canToggleKeyframe && clientId ? "pointer" : "default",
@@ -40541,7 +40667,7 @@ var TimelineKeyframeControls = ({
40541
40667
  }), [canToggleKeyframe, clientId]);
40542
40668
  const diamondColor = hasKeyframeAtCurrentFrame ? BLUE : LIGHT_TEXT;
40543
40669
  return /* @__PURE__ */ jsxs104("div", {
40544
- style: controlsContainerStyle,
40670
+ style: mode === "inspector" ? inspectorControlsContainerStyle : controlsContainerStyle,
40545
40671
  children: [
40546
40672
  /* @__PURE__ */ jsx197("button", {
40547
40673
  type: "button",
@@ -40712,7 +40838,7 @@ var TimelineStaticFileAssetField = ({
40712
40838
  ];
40713
40839
  }, [current, onSelect, staticFiles, upload]);
40714
40840
  return /* @__PURE__ */ jsx198(Combobox, {
40715
- small: true,
40841
+ size: "small",
40716
40842
  title: current,
40717
40843
  selectedId: current,
40718
40844
  values: items,
@@ -40856,7 +40982,7 @@ var TimelineEnumField = ({
40856
40982
  }));
40857
40983
  }, [variantKeys, onSelect]);
40858
40984
  return /* @__PURE__ */ jsx201(Combobox, {
40859
- small: true,
40985
+ size: "small",
40860
40986
  title: field.key,
40861
40987
  selectedId: current,
40862
40988
  values: items,
@@ -42380,7 +42506,7 @@ var GOOGLE_FONTS_LIST = [
42380
42506
  ];
42381
42507
 
42382
42508
  // src/components/Timeline/TimelineFontFamilyField.tsx
42383
- import { jsx as jsx202, jsxs as jsxs105, Fragment as Fragment37 } from "react/jsx-runtime";
42509
+ import { jsx as jsx202, jsxs as jsxs105, Fragment as Fragment36 } from "react/jsx-runtime";
42384
42510
  var ROW_HEIGHT = 30;
42385
42511
  var LIST_HEIGHT = 280;
42386
42512
  var OVERSCAN = 10;
@@ -42870,7 +42996,7 @@ var TimelineFontFamilyField = ({
42870
42996
  };
42871
42997
  }, [hovered, opened]);
42872
42998
  const selectedPreviewStyle = getOptionPreviewStyle(selected);
42873
- return /* @__PURE__ */ jsxs105(Fragment37, {
42999
+ return /* @__PURE__ */ jsxs105(Fragment36, {
42874
43000
  children: [
42875
43001
  /* @__PURE__ */ jsxs105("button", {
42876
43002
  ref: buttonRef,
@@ -44361,7 +44487,7 @@ var Padder = ({ depth }) => {
44361
44487
  };
44362
44488
 
44363
44489
  // src/components/Timeline/TimelineRowChrome.tsx
44364
- import { jsx as jsx214, jsxs as jsxs111, Fragment as Fragment38 } from "react/jsx-runtime";
44490
+ import { jsx as jsx214, jsxs as jsxs111, Fragment as Fragment37 } from "react/jsx-runtime";
44365
44491
  var rowBase = {
44366
44492
  alignItems: "stretch",
44367
44493
  display: "flex"
@@ -44398,7 +44524,12 @@ var TimelineRowChrome = ({
44398
44524
  onDoubleClick
44399
44525
  }) => {
44400
44526
  const ref2 = useRef53(null);
44401
- const { basePadding, keyframeControlsPadding } = useContext75(TimelineRowLayoutContext);
44527
+ const {
44528
+ basePadding,
44529
+ keyframeControlsPadding,
44530
+ rowBorderRadius,
44531
+ rowHorizontalMargin
44532
+ } = useContext75(TimelineRowLayoutContext);
44402
44533
  const indentWidth = getTimelineRowIndentWidth(depth);
44403
44534
  useTimelineFocusableItem(selectionItem, ref2);
44404
44535
  const keyframeControlsColumnStyle = useMemo137(() => ({
@@ -44435,8 +44566,16 @@ var TimelineRowChrome = ({
44435
44566
  const innerRowStyle = useMemo137(() => ({
44436
44567
  ...rowBase,
44437
44568
  ...style8,
44438
- backgroundColor: outerHeight === null ? highlightBackground : undefined
44439
- }), [style8, outerHeight, highlightBackground]);
44569
+ backgroundColor: outerHeight === null ? highlightBackground : undefined,
44570
+ borderRadius: rowBorderRadius,
44571
+ margin: `0 ${rowHorizontalMargin}px`
44572
+ }), [
44573
+ style8,
44574
+ outerHeight,
44575
+ highlightBackground,
44576
+ rowBorderRadius,
44577
+ rowHorizontalMargin
44578
+ ]);
44440
44579
  const outerStyle = useMemo137(() => {
44441
44580
  if (outerHeight === null) {
44442
44581
  return;
@@ -44450,7 +44589,7 @@ var TimelineRowChrome = ({
44450
44589
  backgroundColor: highlightBackground
44451
44590
  };
44452
44591
  }, [outerHeight, highlightBackground]);
44453
- const chrome = /* @__PURE__ */ jsxs111(Fragment38, {
44592
+ const chrome = /* @__PURE__ */ jsxs111(Fragment37, {
44454
44593
  children: [
44455
44594
  /* @__PURE__ */ jsx214("div", {
44456
44595
  style: leftChromeStyle,
@@ -45357,8 +45496,8 @@ var makeMovedKeyframedDragOverride2 = ({
45357
45496
  var removeKeyframeIcon = {
45358
45497
  display: "block",
45359
45498
  flexShrink: 0,
45360
- height: 18,
45361
- width: 18
45499
+ height: 16,
45500
+ width: 16
45362
45501
  };
45363
45502
  var TrashIcon = ({ color }) => {
45364
45503
  return /* @__PURE__ */ jsx217("svg", {
@@ -45366,7 +45505,7 @@ var TrashIcon = ({ color }) => {
45366
45505
  style: removeKeyframeIcon,
45367
45506
  children: /* @__PURE__ */ jsx217("path", {
45368
45507
  fill: color,
45369
- 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"
45508
+ 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"
45370
45509
  })
45371
45510
  });
45372
45511
  };
@@ -45652,14 +45791,11 @@ var KeyframeInspector = ({ selection }) => {
45652
45791
  track
45653
45792
  }),
45654
45793
  /* @__PURE__ */ jsx217(InspectorSectionDivider, {}),
45655
- /* @__PURE__ */ jsx217(InspectorBackHeader, {
45794
+ /* @__PURE__ */ jsx217(InspectorBackAction, {
45656
45795
  disabled: parentSelection === null,
45657
45796
  onClick: onSelectParent,
45658
45797
  title: "Back to property",
45659
- children: /* @__PURE__ */ jsx217("div", {
45660
- style: sectionHeaderTitle,
45661
- children: details.fieldLabel
45662
- })
45798
+ children: details.fieldLabel
45663
45799
  }),
45664
45800
  /* @__PURE__ */ jsx217(InspectorSectionDivider, {}),
45665
45801
  /* @__PURE__ */ jsx217(KeyframeEasingNavigator, {
@@ -45696,14 +45832,11 @@ var KeyframeInspector = ({ selection }) => {
45696
45832
  small: true
45697
45833
  })
45698
45834
  }),
45699
- /* @__PURE__ */ jsxs112("div", {
45835
+ /* @__PURE__ */ jsx217("div", {
45700
45836
  style: keyframeEditorRow,
45701
- children: [
45702
- /* @__PURE__ */ jsx217("div", {
45703
- style: keyframeEditorLabel,
45704
- children: details.fieldLabel
45705
- }),
45706
- /* @__PURE__ */ jsx217("div", {
45837
+ children: /* @__PURE__ */ jsx217(InspectorDetailRow, {
45838
+ label: details.fieldLabel,
45839
+ children: /* @__PURE__ */ jsx217("div", {
45707
45840
  style: keyframeEditorValue,
45708
45841
  children: details.type === "sequence" ? /* @__PURE__ */ jsx217(TimelineSequenceKeyframedValue, {
45709
45842
  field: details.field,
@@ -45719,17 +45852,19 @@ var KeyframeInspector = ({ selection }) => {
45719
45852
  sourceFrame: details.sourceFrame
45720
45853
  })
45721
45854
  })
45722
- ]
45855
+ })
45723
45856
  })
45724
45857
  ]
45725
45858
  }),
45726
- /* @__PURE__ */ jsx217(InspectorInlineAction, {
45727
- disabled: removeDisabled,
45728
- onClick: onRemoveKeyframe,
45729
- renderIcon: (color) => /* @__PURE__ */ jsx217(TrashIcon, {
45730
- color
45731
- }),
45732
- children: "Remove keyframe"
45859
+ /* @__PURE__ */ jsx217(InspectorActionSection, {
45860
+ children: /* @__PURE__ */ jsx217(InspectorInlineAction, {
45861
+ disabled: removeDisabled,
45862
+ onClick: onRemoveKeyframe,
45863
+ renderIcon: (color) => /* @__PURE__ */ jsx217(TrashIcon, {
45864
+ color
45865
+ }),
45866
+ children: "Remove keyframe"
45867
+ })
45733
45868
  })
45734
45869
  ]
45735
45870
  })
@@ -45750,7 +45885,7 @@ var ScissorsIcon = ({ color, ...props }) => {
45750
45885
  ...props,
45751
45886
  children: /* @__PURE__ */ jsx218("path", {
45752
45887
  fill: color,
45753
- 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"
45888
+ 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"
45754
45889
  })
45755
45890
  });
45756
45891
  };
@@ -46319,6 +46454,11 @@ var plusIcon = {
46319
46454
  width: 15,
46320
46455
  height: 15
46321
46456
  };
46457
+ var assetSelectorIcon = {
46458
+ flexShrink: 0,
46459
+ height: 18,
46460
+ width: 18
46461
+ };
46322
46462
  var remoteSourceLabel = {
46323
46463
  color: LIGHT_TEXT,
46324
46464
  display: "flex",
@@ -46432,6 +46572,7 @@ var InspectorSequenceSection = ({
46432
46572
  openTimelineAssetLink(localAsset, selectAsset);
46433
46573
  }
46434
46574
  }, [localAsset, selectAsset]);
46575
+ const localAssetFileName = localAsset ? localAsset.assetPath.split("/").pop() ?? localAsset.assetPath : null;
46435
46576
  const getIsExpanded = useCallback132((candidate) => {
46436
46577
  return !collapsedKeys.has(getInspectorExpansionKey(candidate));
46437
46578
  }, [collapsedKeys]);
@@ -46548,11 +46689,17 @@ var InspectorSequenceSection = ({
46548
46689
  children: controlGroups.map((group) => /* @__PURE__ */ jsxs114(InspectorSection, {
46549
46690
  header: group.label,
46550
46691
  children: [
46551
- group.id === "source" && localAsset ? /* @__PURE__ */ jsx221(AssetInfo, {
46552
- assetName: localAsset.assetPath,
46553
- contentSized: true,
46554
- onAssetClick: jumpToAsset,
46555
- readOnlyStudio: true
46692
+ group.id === "source" && localAsset ? /* @__PURE__ */ jsx221(InspectorInlineAction, {
46693
+ disabled: false,
46694
+ onClick: jumpToAsset,
46695
+ renderIcon: (color) => /* @__PURE__ */ jsx221(AssetFileIcon, {
46696
+ color,
46697
+ fileType: getPreviewFileType(localAsset.assetPath),
46698
+ style: assetSelectorIcon
46699
+ }),
46700
+ size: "compact",
46701
+ title: localAsset.assetPath,
46702
+ children: localAssetFileName
46556
46703
  }) : null,
46557
46704
  group.id === "source" && remoteAsset && remoteSourceParts ? /* @__PURE__ */ jsxs114("div", {
46558
46705
  style: remoteSourceLabel,
@@ -46992,10 +47139,10 @@ var AlignmentControls = ({ track }) => {
46992
47139
  };
46993
47140
 
46994
47141
  // src/components/InspectorPanel/SequenceSelectionInspector.tsx
46995
- import { jsx as jsx229, jsxs as jsxs119, Fragment as Fragment39 } from "react/jsx-runtime";
47142
+ import { jsx as jsx229, jsxs as jsxs119, Fragment as Fragment38 } from "react/jsx-runtime";
46996
47143
  var splitIconStyle = {
46997
- height: 18,
46998
- width: 18
47144
+ height: 16,
47145
+ width: 16
46999
47146
  };
47000
47147
  var SplitSequenceAction = ({ selection, track }) => {
47001
47148
  const timelinePosition = Internals74.Timeline.useTimelinePosition();
@@ -47083,7 +47230,7 @@ var SequenceExpandedInspector = ({ track }) => {
47083
47230
  sourceLocation,
47084
47231
  track
47085
47232
  }),
47086
- connectedCompositions.length > 0 ? /* @__PURE__ */ jsxs119(Fragment39, {
47233
+ connectedCompositions.length > 0 ? /* @__PURE__ */ jsxs119(Fragment38, {
47087
47234
  children: [
47088
47235
  /* @__PURE__ */ jsx229(InspectorSectionDivider, {}),
47089
47236
  /* @__PURE__ */ jsx229(ConnectedCompositionsSection, {
@@ -48476,7 +48623,7 @@ var RenderQueue = () => {
48476
48623
 
48477
48624
  // src/components/RendersTab.tsx
48478
48625
  import { useContext as useContext94, useMemo as useMemo155 } from "react";
48479
- import { jsx as jsx248, jsxs as jsxs123, Fragment as Fragment40 } from "react/jsx-runtime";
48626
+ import { jsx as jsx248, jsxs as jsxs123, Fragment as Fragment39 } from "react/jsx-runtime";
48480
48627
  var row5 = {
48481
48628
  display: "flex",
48482
48629
  flexDirection: "row",
@@ -48515,7 +48662,7 @@ var RendersTab = ({ selected, onClick }) => {
48515
48662
  style: row5,
48516
48663
  children: [
48517
48664
  "Renders",
48518
- jobCount > 0 ? /* @__PURE__ */ jsxs123(Fragment40, {
48665
+ jobCount > 0 ? /* @__PURE__ */ jsxs123(Fragment39, {
48519
48666
  children: [
48520
48667
  /* @__PURE__ */ jsx248(Flex, {}),
48521
48668
  /* @__PURE__ */ jsx248("div", {
@@ -49167,13 +49314,13 @@ var getPlaybackRateLabel = (playbackRate) => {
49167
49314
  return `${playbackRate}x`;
49168
49315
  };
49169
49316
  var accessibilityLabel5 = "Change the playback rate";
49170
- var comboStyle3 = { width: 80 };
49317
+ var comboStyle3 = { width: 64 };
49171
49318
  var PlaybackRateSelector = ({ playbackRate, setPlaybackRate }) => {
49172
49319
  const { canvasContent } = useContext100(Internals84.CompositionManager);
49173
49320
  const isStill = useIsStill();
49174
49321
  const style8 = useMemo158(() => {
49175
49322
  return {
49176
- padding: CONTROL_BUTTON_PADDING
49323
+ padding: CONTROL_BUTTON_PADDING - 2
49177
49324
  };
49178
49325
  }, []);
49179
49326
  const items = useMemo158(() => {
@@ -49209,6 +49356,7 @@ var PlaybackRateSelector = ({ playbackRate, setPlaybackRate }) => {
49209
49356
  style: style8,
49210
49357
  "aria-label": accessibilityLabel5,
49211
49358
  children: /* @__PURE__ */ jsx256(Combobox, {
49359
+ size: "compact",
49212
49360
  title: accessibilityLabel5,
49213
49361
  style: comboStyle3,
49214
49362
  selectedId: String(playbackRate),
@@ -49299,7 +49447,7 @@ var StepForward = (props) => {
49299
49447
  };
49300
49448
 
49301
49449
  // src/components/PlayPause.tsx
49302
- import { jsx as jsx262, jsxs as jsxs126, Fragment as Fragment41 } from "react/jsx-runtime";
49450
+ import { jsx as jsx262, jsxs as jsxs126, Fragment as Fragment40 } from "react/jsx-runtime";
49303
49451
  var backStyle = {
49304
49452
  height: 18,
49305
49453
  color: WHITE
@@ -49491,7 +49639,7 @@ var PlayPause = ({ playbackRate, loop, bufferStateDelayInMilliseconds, muted })
49491
49639
  stopped = true;
49492
49640
  };
49493
49641
  }, [bufferStateDelayInMilliseconds, emitter]);
49494
- return /* @__PURE__ */ jsxs126(Fragment41, {
49642
+ return /* @__PURE__ */ jsxs126(Fragment40, {
49495
49643
  children: [
49496
49644
  /* @__PURE__ */ jsx262(ControlButton, {
49497
49645
  "aria-label": "Jump to beginning",
@@ -49542,7 +49690,7 @@ import { PlayerInternals as PlayerInternals17 } from "@remotion/player";
49542
49690
  import { useCallback as useCallback155, useContext as useContext101, useMemo as useMemo159, useRef as useRef55, useState as useState90 } from "react";
49543
49691
  import ReactDOM10 from "react-dom";
49544
49692
  import { Internals as Internals86 } from "remotion";
49545
- import { jsx as jsx263, jsxs as jsxs127, Fragment as Fragment42 } from "react/jsx-runtime";
49693
+ import { jsx as jsx263, jsxs as jsxs127, Fragment as Fragment41 } from "react/jsx-runtime";
49546
49694
  var splitButtonContainer = {
49547
49695
  display: "inline-flex",
49548
49696
  flexDirection: "row",
@@ -49585,10 +49733,48 @@ var dropdownTriggerStyle = {
49585
49733
  };
49586
49734
  var mainButtonContent = {
49587
49735
  paddingLeft: 4,
49588
- paddingRight: 6
49736
+ paddingRight: 6,
49737
+ minWidth: 0
49589
49738
  };
49590
49739
  var label7 = {
49591
- fontSize: 14
49740
+ color: "inherit",
49741
+ fontFamily: "inherit",
49742
+ fontSize: 14,
49743
+ lineHeight: "21px",
49744
+ minWidth: 0,
49745
+ overflow: "hidden",
49746
+ textOverflow: "ellipsis",
49747
+ whiteSpace: "nowrap"
49748
+ };
49749
+ var compactSplitButtonSegmentHeight = COMPACT_CONTROL_ROW_HEIGHT;
49750
+ var compactMainButtonStyle = {
49751
+ ...mainButtonStyle,
49752
+ boxSizing: "border-box",
49753
+ height: compactSplitButtonSegmentHeight,
49754
+ paddingLeft: 6,
49755
+ paddingRight: 6,
49756
+ paddingTop: 6,
49757
+ paddingBottom: 6,
49758
+ fontSize: 12
49759
+ };
49760
+ var compactDropdownTriggerStyle = {
49761
+ ...dropdownTriggerStyle,
49762
+ boxSizing: "border-box",
49763
+ height: compactSplitButtonSegmentHeight,
49764
+ paddingLeft: 5,
49765
+ paddingRight: 5,
49766
+ paddingTop: 6,
49767
+ paddingBottom: 6
49768
+ };
49769
+ var compactMainButtonContent = {
49770
+ ...mainButtonContent,
49771
+ paddingLeft: 2,
49772
+ paddingRight: 4
49773
+ };
49774
+ var compactLabel3 = {
49775
+ ...label7,
49776
+ fontSize: 12,
49777
+ lineHeight: "16px"
49592
49778
  };
49593
49779
  var RENDER_TYPE_STORAGE_KEY = "remotion.renderType";
49594
49780
  var getInitialRenderType = (readOnlyStudio) => {
@@ -49603,9 +49789,7 @@ var getInitialRenderType = (readOnlyStudio) => {
49603
49789
  } catch {}
49604
49790
  return "server-render";
49605
49791
  };
49606
- var RenderButton = ({
49607
- readOnlyStudio
49608
- }) => {
49792
+ var RenderButton = ({ readOnlyStudio, size: controlSize = "default" }) => {
49609
49793
  const { inFrame, outFrame } = useTimelineInOutFramePosition();
49610
49794
  const { setSelectedModal } = useContext101(ModalsContext);
49611
49795
  const [preferredRenderType, setPreferredRenderType] = useState90(() => getInitialRenderType(readOnlyStudio));
@@ -49666,11 +49850,12 @@ var RenderButton = ({
49666
49850
  const iconStyle5 = useMemo159(() => {
49667
49851
  return {
49668
49852
  style: {
49669
- height: 16,
49670
- color: CURRENT_COLOR
49853
+ height: controlSize === "compact" ? 14 : 16,
49854
+ color: CURRENT_COLOR,
49855
+ flexShrink: 0
49671
49856
  }
49672
49857
  };
49673
- }, []);
49858
+ }, [controlSize]);
49674
49859
  const video = Internals86.useVideo();
49675
49860
  const { getCurrentFrame: getCurrentFrame2 } = PlayerInternals17.usePlayer();
49676
49861
  const { props } = useContext101(Internals86.EditorPropsContext);
@@ -49887,15 +50072,16 @@ var RenderButton = ({
49887
50072
  return {
49888
50073
  ...splitButtonContainer,
49889
50074
  borderColor: BLACK_ALPHA_60,
50075
+ borderRadius: controlSize === "compact" ? 0 : 4,
49890
50076
  opacity: 1,
49891
50077
  cursor: "pointer"
49892
50078
  };
49893
- }, []);
50079
+ }, [controlSize]);
49894
50080
  const renderLabel = renderType === "server-render" ? "Render" : renderType === "render-command" ? "Render via CLI" : "Render on web";
49895
50081
  if (!video) {
49896
50082
  return null;
49897
50083
  }
49898
- return /* @__PURE__ */ jsxs127(Fragment42, {
50084
+ return /* @__PURE__ */ jsxs127(Fragment41, {
49899
50085
  children: [
49900
50086
  /* @__PURE__ */ jsx263("button", {
49901
50087
  style: { display: "none" },
@@ -49918,22 +50104,22 @@ var RenderButton = ({
49918
50104
  children: [
49919
50105
  /* @__PURE__ */ jsx263("button", {
49920
50106
  type: "button",
49921
- style: mainButtonStyle,
50107
+ style: controlSize === "compact" ? compactMainButtonStyle : mainButtonStyle,
49922
50108
  onClick,
49923
50109
  id: "render-modal-button",
49924
50110
  children: /* @__PURE__ */ jsxs127(Row, {
49925
50111
  align: "center",
49926
- style: mainButtonContent,
50112
+ style: controlSize === "compact" ? compactMainButtonContent : mainButtonContent,
49927
50113
  children: [
49928
50114
  /* @__PURE__ */ jsx263(ThinRenderIcon, {
49929
50115
  fill: CURRENT_COLOR_LOWERCASE,
49930
50116
  svgProps: iconStyle5
49931
50117
  }),
49932
50118
  /* @__PURE__ */ jsx263(Spacing, {
49933
- x: 1
50119
+ x: controlSize === "compact" ? 0.75 : 1
49934
50120
  }),
49935
50121
  /* @__PURE__ */ jsx263("span", {
49936
- style: label7,
50122
+ style: controlSize === "compact" ? compactLabel3 : label7,
49937
50123
  children: renderLabel
49938
50124
  })
49939
50125
  ]
@@ -49945,7 +50131,7 @@ var RenderButton = ({
49945
50131
  /* @__PURE__ */ jsx263("button", {
49946
50132
  ref: dropdownRef,
49947
50133
  type: "button",
49948
- style: dropdownTriggerStyle,
50134
+ style: controlSize === "compact" ? compactDropdownTriggerStyle : dropdownTriggerStyle,
49949
50135
  className: MENU_INITIATOR_CLASSNAME,
49950
50136
  onPointerDown,
49951
50137
  onClick: onClickDropdown,
@@ -50140,8 +50326,8 @@ var TimelineZoomControls = () => {
50140
50326
  };
50141
50327
 
50142
50328
  // src/components/PreviewToolbar.tsx
50143
- import { jsx as jsx268, jsxs as jsxs129, Fragment as Fragment43 } from "react/jsx-runtime";
50144
- var TOOLBAR_HEIGHT = 50;
50329
+ import { jsx as jsx268, jsxs as jsxs129, Fragment as Fragment42 } from "react/jsx-runtime";
50330
+ var TOOLBAR_HEIGHT = 40;
50145
50331
  var container38 = {
50146
50332
  display: "flex",
50147
50333
  justifyContent: "center",
@@ -50179,7 +50365,7 @@ var scrollIndicatorRight = {
50179
50365
  };
50180
50366
  var sideContainer = {
50181
50367
  width: 300,
50182
- height: 36,
50368
+ height: 30,
50183
50369
  display: "flex",
50184
50370
  flexDirection: "row",
50185
50371
  alignItems: "center"
@@ -50277,7 +50463,7 @@ var PreviewToolbar = ({ readOnlyStudio, bufferStateDelayInMilliseconds }) => {
50277
50463
  ref: leftScrollIndicatorRef,
50278
50464
  style: scrollIndicatorLeft
50279
50465
  }),
50280
- isMobileLayout ? null : /* @__PURE__ */ jsxs129(Fragment43, {
50466
+ isMobileLayout ? null : /* @__PURE__ */ jsxs129(Fragment42, {
50281
50467
  children: [
50282
50468
  /* @__PURE__ */ jsxs129("div", {
50283
50469
  style: sideContainer,
@@ -50302,7 +50488,7 @@ var PreviewToolbar = ({ readOnlyStudio, bufferStateDelayInMilliseconds }) => {
50302
50488
  }) : null
50303
50489
  ]
50304
50490
  }),
50305
- isVideoComposition ? /* @__PURE__ */ jsxs129(Fragment43, {
50491
+ isVideoComposition ? /* @__PURE__ */ jsxs129(Fragment42, {
50306
50492
  children: [
50307
50493
  /* @__PURE__ */ jsx268(Spacing, {
50308
50494
  x: 2
@@ -50341,7 +50527,7 @@ var PreviewToolbar = ({ readOnlyStudio, bufferStateDelayInMilliseconds }) => {
50341
50527
  })
50342
50528
  ]
50343
50529
  }) : null,
50344
- canvasContent?.type === "composition" ? /* @__PURE__ */ jsxs129(Fragment43, {
50530
+ canvasContent?.type === "composition" ? /* @__PURE__ */ jsxs129(Fragment42, {
50345
50531
  children: [
50346
50532
  /* @__PURE__ */ jsx268(PreviewToolbarControl, {
50347
50533
  children: /* @__PURE__ */ jsx268(CheckboardToggle, {})
@@ -50365,7 +50551,7 @@ var PreviewToolbar = ({ readOnlyStudio, bufferStateDelayInMilliseconds }) => {
50365
50551
  children: /* @__PURE__ */ jsx268(FullScreenToggle, {})
50366
50552
  }) : null,
50367
50553
  /* @__PURE__ */ jsx268(Flex, {}),
50368
- isMobileLayout && /* @__PURE__ */ jsxs129(Fragment43, {
50554
+ isMobileLayout && /* @__PURE__ */ jsxs129(Fragment42, {
50369
50555
  children: [
50370
50556
  /* @__PURE__ */ jsx268(Flex, {}),
50371
50557
  /* @__PURE__ */ jsx268(PreviewToolbarControl, {
@@ -50391,7 +50577,8 @@ var PreviewToolbar = ({ readOnlyStudio, bufferStateDelayInMilliseconds }) => {
50391
50577
  }),
50392
50578
  /* @__PURE__ */ jsx268(PreviewToolbarControl, {
50393
50579
  children: /* @__PURE__ */ jsx268(RenderButton, {
50394
- readOnlyStudio
50580
+ readOnlyStudio,
50581
+ size: "compact"
50395
50582
  })
50396
50583
  }),
50397
50584
  /* @__PURE__ */ jsx268(Spacing, {
@@ -50514,7 +50701,7 @@ var SplitterContainer = ({ orientation, children, defaultFlex, maxFlex, minFlex,
50514
50701
  // src/components/Splitter/SplitterElement.tsx
50515
50702
  import { useContext as useContext105, useMemo as useMemo161 } from "react";
50516
50703
  import { interpolateColors, random } from "remotion";
50517
- import { jsx as jsx270, jsxs as jsxs130, Fragment as Fragment44 } from "react/jsx-runtime";
50704
+ import { jsx as jsx270, jsxs as jsxs130, Fragment as Fragment43 } from "react/jsx-runtime";
50518
50705
  var SplitterElement = ({ children, type, sticky }) => {
50519
50706
  const context = useContext105(SplitterContext);
50520
50707
  const style8 = useMemo161(() => {
@@ -50534,7 +50721,7 @@ var SplitterElement = ({ children, type, sticky }) => {
50534
50721
  backgroundColor: interpolateColors(random(context.flexValue), [0, 1], [RED, "blue"])
50535
50722
  };
50536
50723
  }, [context.flexValue, type]);
50537
- return /* @__PURE__ */ jsxs130(Fragment44, {
50724
+ return /* @__PURE__ */ jsxs130(Fragment43, {
50538
50725
  children: [
50539
50726
  /* @__PURE__ */ jsx270("div", {
50540
50727
  style: style8,
@@ -50829,7 +51016,7 @@ var TopPanelInner = ({ readOnlyStudio, onMounted, drawRef: drawRef2, bufferState
50829
51016
  var TopPanel = React186.memo(TopPanelInner);
50830
51017
 
50831
51018
  // src/components/SidebarCollapserControls.tsx
50832
- import { jsx as jsx273, jsxs as jsxs132, Fragment as Fragment45 } from "react/jsx-runtime";
51019
+ import { jsx as jsx273, jsxs as jsxs132, Fragment as Fragment44 } from "react/jsx-runtime";
50833
51020
  var style8 = {
50834
51021
  width: 16,
50835
51022
  height: 16,
@@ -50961,7 +51148,7 @@ var SidebarCollapserControls = () => {
50961
51148
  })
50962
51149
  });
50963
51150
  }, [colorStyle, rightIcon, toggleRightTooltip]);
50964
- return /* @__PURE__ */ jsxs132(Fragment45, {
51151
+ return /* @__PURE__ */ jsxs132(Fragment44, {
50965
51152
  children: [
50966
51153
  /* @__PURE__ */ jsx273(InlineAction, {
50967
51154
  onClick: toggleLeft,
@@ -51011,7 +51198,7 @@ var UndoIcon = (props) => {
51011
51198
  };
51012
51199
 
51013
51200
  // src/components/UndoRedoButtons.tsx
51014
- import { jsx as jsx276, jsxs as jsxs133, Fragment as Fragment46 } from "react/jsx-runtime";
51201
+ import { jsx as jsx276, jsxs as jsxs133, Fragment as Fragment45 } from "react/jsx-runtime";
51015
51202
  var iconStyle6 = {
51016
51203
  width: 16,
51017
51204
  height: 16
@@ -51103,7 +51290,7 @@ var UndoRedoButtons = () => {
51103
51290
  if (!canUndo && !canRedo) {
51104
51291
  return null;
51105
51292
  }
51106
- return /* @__PURE__ */ jsxs133(Fragment46, {
51293
+ return /* @__PURE__ */ jsxs133(Fragment45, {
51107
51294
  children: [
51108
51295
  /* @__PURE__ */ jsx276(InlineAction, {
51109
51296
  onClick: onUndo,
@@ -52270,7 +52457,7 @@ import { Internals as Internals98, useVideoConfig as useVideoConfig13 } from "re
52270
52457
  // src/components/Timeline/TimelineInOutPointer.tsx
52271
52458
  import { createRef as createRef11, useContext as useContext116 } from "react";
52272
52459
  import { Internals as Internals97 } from "remotion";
52273
- import { jsx as jsx283, jsxs as jsxs137, Fragment as Fragment47 } from "react/jsx-runtime";
52460
+ import { jsx as jsx283, jsxs as jsxs137, Fragment as Fragment46 } from "react/jsx-runtime";
52274
52461
  var areaHighlight = {
52275
52462
  position: "absolute",
52276
52463
  backgroundColor: BLACK_ALPHA_50,
@@ -52288,7 +52475,7 @@ var TimelineInOutPointer = () => {
52288
52475
  if (!videoConfig || timelineWidth === null) {
52289
52476
  return null;
52290
52477
  }
52291
- return /* @__PURE__ */ jsxs137(Fragment47, {
52478
+ return /* @__PURE__ */ jsxs137(Fragment46, {
52292
52479
  children: [
52293
52480
  inFrame !== null && /* @__PURE__ */ jsx283("div", {
52294
52481
  ref: inMarkerAreaRef,
@@ -52362,7 +52549,7 @@ var TimelineInOutPointerHandle = ({
52362
52549
  };
52363
52550
 
52364
52551
  // src/components/Timeline/TimelineInOutDragHandler.tsx
52365
- import { jsx as jsx285, jsxs as jsxs138, Fragment as Fragment48 } from "react/jsx-runtime";
52552
+ import { jsx as jsx285, jsxs as jsxs138, Fragment as Fragment47 } from "react/jsx-runtime";
52366
52553
  var getClientXWithScroll2 = (x) => {
52367
52554
  return x + scrollableRef.current?.scrollLeft;
52368
52555
  };
@@ -52607,7 +52794,7 @@ var TimelineInOutDragHandlerInner = () => {
52607
52794
  }
52608
52795
  ];
52609
52796
  }, [setInAndOutFrames, videoConfig.id]);
52610
- return /* @__PURE__ */ jsxs138(Fragment48, {
52797
+ return /* @__PURE__ */ jsxs138(Fragment47, {
52611
52798
  children: [
52612
52799
  inFrame !== null && /* @__PURE__ */ jsx285(ContextMenu, {
52613
52800
  values: inContextMenu,
@@ -52775,7 +52962,7 @@ var TimelineMediaInfo = ({ src }) => {
52775
52962
 
52776
52963
  // src/components/Timeline/TimelineSequenceName.tsx
52777
52964
  import { useCallback as useCallback167, useEffect as useEffect90, useMemo as useMemo175, useRef as useRef64, useState as useState98 } from "react";
52778
- import { jsx as jsx288, jsxs as jsxs140, Fragment as Fragment49 } from "react/jsx-runtime";
52965
+ import { jsx as jsx288, jsxs as jsxs140, Fragment as Fragment48 } from "react/jsx-runtime";
52779
52966
  var MAX_DISPLAY_NAME_LENGTH = 1000;
52780
52967
  var MAX_RENAME_INPUT_WIDTH = 240;
52781
52968
  var RENAME_INPUT_CLASS_NAME = "remotion-timeline-sequence-name-input";
@@ -52875,7 +53062,7 @@ var TimelineSequenceName = ({
52875
53062
  save();
52876
53063
  }, [save]);
52877
53064
  if (editing) {
52878
- return /* @__PURE__ */ jsxs140(Fragment49, {
53065
+ return /* @__PURE__ */ jsxs140(Fragment48, {
52879
53066
  children: [
52880
53067
  /* @__PURE__ */ jsx288("style", {
52881
53068
  children: `.${RENAME_INPUT_CLASS_NAME}::selection { background: ${WHITE_ALPHA_72}; color: ${BLACK}; }`
@@ -52970,7 +53157,7 @@ var useSequenceFreezeFrameMenuItem = ({
52970
53157
  };
52971
53158
 
52972
53159
  // src/components/Timeline/TimelineSequenceItem.tsx
52973
- import { jsx as jsx289, jsxs as jsxs141, Fragment as Fragment50 } from "react/jsx-runtime";
53160
+ import { jsx as jsx289, jsxs as jsxs141, Fragment as Fragment49 } from "react/jsx-runtime";
52974
53161
  var labelContainerStyle = {
52975
53162
  alignItems: "center",
52976
53163
  alignSelf: "stretch",
@@ -53674,7 +53861,7 @@ var TimelineSequenceItem = ({
53674
53861
  children: /* @__PURE__ */ jsxs141("div", {
53675
53862
  style: labelContainerStyle,
53676
53863
  children: [
53677
- connectedCompositions.length > 0 ? /* @__PURE__ */ jsxs141(Fragment50, {
53864
+ connectedCompositions.length > 0 ? /* @__PURE__ */ jsxs141(Fragment49, {
53678
53865
  children: [
53679
53866
  /* @__PURE__ */ jsx289(CompositionOrStillIcon, {
53680
53867
  color: getTimelineColor(false, false),
@@ -53695,7 +53882,7 @@ var TimelineSequenceItem = ({
53695
53882
  onCancelEditing: onCancelRenaming,
53696
53883
  onSaveName
53697
53884
  }),
53698
- mediaSrc ? /* @__PURE__ */ jsxs141(Fragment50, {
53885
+ mediaSrc ? /* @__PURE__ */ jsxs141(Fragment49, {
53699
53886
  children: [
53700
53887
  /* @__PURE__ */ jsx289(Spacing, {
53701
53888
  x: 0.5
@@ -53728,7 +53915,7 @@ var TimelineSequenceItem = ({
53728
53915
  trackRow
53729
53916
  ]
53730
53917
  }) : trackRow;
53731
- return /* @__PURE__ */ jsxs141(Fragment50, {
53918
+ return /* @__PURE__ */ jsxs141(Fragment49, {
53732
53919
  children: [
53733
53920
  previewConnected ? /* @__PURE__ */ jsx289(ContextMenu, {
53734
53921
  values: contextMenuValues,
@@ -54197,7 +54384,7 @@ var TimelineKeyframeDiamondUnmemoized = ({ frame: frame2, rowHeight, nodePathInf
54197
54384
  var TimelineKeyframeDiamond = React204.memo(TimelineKeyframeDiamondUnmemoized);
54198
54385
 
54199
54386
  // src/components/Timeline/TimelineExpandedKeyframeRow.tsx
54200
- import { jsx as jsx293, jsxs as jsxs144, Fragment as Fragment51 } from "react/jsx-runtime";
54387
+ import { jsx as jsx293, jsxs as jsxs144, Fragment as Fragment50 } from "react/jsx-runtime";
54201
54388
  var row8 = {
54202
54389
  position: "relative"
54203
54390
  };
@@ -54208,7 +54395,7 @@ var TimelineExpandedKeyframeRowUnmemoized = ({ height, keyframes, canEditEasing,
54208
54395
  const timelineWidth = useContext123(TimelineWidthContext);
54209
54396
  const rowHighlightBackground = useTimelineRowHighlightBackground(nodePathInfo);
54210
54397
  const easingSegments = canEditEasing ? getTimelineEasingSegments(keyframes) : [];
54211
- return /* @__PURE__ */ jsxs144(Fragment51, {
54398
+ return /* @__PURE__ */ jsxs144(Fragment50, {
54212
54399
  children: [
54213
54400
  showSeparator ? /* @__PURE__ */ jsx293("div", {
54214
54401
  style: rowSeparator
@@ -58120,7 +58307,7 @@ var CodemodFooter = ({
58120
58307
  };
58121
58308
 
58122
58309
  // src/components/NewComposition/DeleteComposition.tsx
58123
- import { jsx as jsx315, jsxs as jsxs161, Fragment as Fragment52 } from "react/jsx-runtime";
58310
+ import { jsx as jsx315, jsxs as jsxs161, Fragment as Fragment51 } from "react/jsx-runtime";
58124
58311
  var content8 = {
58125
58312
  padding: 16,
58126
58313
  fontSize: 14,
@@ -58143,7 +58330,7 @@ var DeleteCompositionLoaded = ({ compositionId }) => {
58143
58330
  const onSubmit = useCallback179((e) => {
58144
58331
  e.preventDefault();
58145
58332
  }, []);
58146
- return /* @__PURE__ */ jsxs161(Fragment52, {
58333
+ return /* @__PURE__ */ jsxs161(Fragment51, {
58147
58334
  children: [
58148
58335
  /* @__PURE__ */ jsx315(ModalHeader, {
58149
58336
  title: "Delete composition"
@@ -58306,7 +58493,7 @@ var InputAndValidationContainer = ({
58306
58493
 
58307
58494
  // src/components/NewComposition/NewCompDuration.tsx
58308
58495
  import { useCallback as useCallback181 } from "react";
58309
- import { jsx as jsx318, jsxs as jsxs163, Fragment as Fragment53 } from "react/jsx-runtime";
58496
+ import { jsx as jsx318, jsxs as jsxs163, Fragment as Fragment52 } from "react/jsx-runtime";
58310
58497
  var NewCompDuration = ({ durationInFrames, setDurationInFrames }) => {
58311
58498
  const onDurationInFramesChanged = useCallback181((newValue) => {
58312
58499
  setDurationInFrames(Number(newValue));
@@ -58340,7 +58527,7 @@ var NewCompDuration = ({ durationInFrames, setDurationInFrames }) => {
58340
58527
  onValueChange: onDurationChangedDirectly,
58341
58528
  rightAlign: false
58342
58529
  }),
58343
- compDurationErrMessage ? /* @__PURE__ */ jsxs163(Fragment53, {
58530
+ compDurationErrMessage ? /* @__PURE__ */ jsxs163(Fragment52, {
58344
58531
  children: [
58345
58532
  /* @__PURE__ */ jsx318(Spacing, {
58346
58533
  y: 1,
@@ -58361,7 +58548,7 @@ var NewCompDuration = ({ durationInFrames, setDurationInFrames }) => {
58361
58548
  };
58362
58549
 
58363
58550
  // src/components/NewComposition/DuplicateComposition.tsx
58364
- import { jsx as jsx319, jsxs as jsxs164, Fragment as Fragment54 } from "react/jsx-runtime";
58551
+ import { jsx as jsx319, jsxs as jsxs164, Fragment as Fragment53 } from "react/jsx-runtime";
58365
58552
  var content10 = {
58366
58553
  padding: 12,
58367
58554
  paddingRight: 12,
@@ -58515,7 +58702,7 @@ var DuplicateCompositionLoaded = ({ initialType }) => {
58515
58702
  const onSubmit = useCallback182((e) => {
58516
58703
  e.preventDefault();
58517
58704
  }, []);
58518
- return /* @__PURE__ */ jsxs164(Fragment54, {
58705
+ return /* @__PURE__ */ jsxs164(Fragment53, {
58519
58706
  children: [
58520
58707
  /* @__PURE__ */ jsx319(ModalHeader, {
58521
58708
  title: `Duplicate ${resolved.result.id}`
@@ -58564,7 +58751,7 @@ var DuplicateCompositionLoaded = ({ initialType }) => {
58564
58751
  status: "ok",
58565
58752
  rightAlign: true
58566
58753
  }),
58567
- compNameErrMessage ? /* @__PURE__ */ jsxs164(Fragment54, {
58754
+ compNameErrMessage ? /* @__PURE__ */ jsxs164(Fragment53, {
58568
58755
  children: [
58569
58756
  /* @__PURE__ */ jsx319(Spacing, {
58570
58757
  y: 1,
@@ -58582,7 +58769,7 @@ var DuplicateCompositionLoaded = ({ initialType }) => {
58582
58769
  })
58583
58770
  ]
58584
58771
  }),
58585
- hadDimensionsDefined ? /* @__PURE__ */ jsxs164(Fragment54, {
58772
+ hadDimensionsDefined ? /* @__PURE__ */ jsxs164(Fragment53, {
58586
58773
  children: [
58587
58774
  /* @__PURE__ */ jsxs164("div", {
58588
58775
  style: optionRow,
@@ -58610,7 +58797,7 @@ var DuplicateCompositionLoaded = ({ initialType }) => {
58610
58797
  onValueChange: onWidthDirectlyChanged,
58611
58798
  rightAlign: false
58612
58799
  }),
58613
- compWidthErrMessage ? /* @__PURE__ */ jsxs164(Fragment54, {
58800
+ compWidthErrMessage ? /* @__PURE__ */ jsxs164(Fragment53, {
58614
58801
  children: [
58615
58802
  /* @__PURE__ */ jsx319(Spacing, {
58616
58803
  y: 1,
@@ -58654,7 +58841,7 @@ var DuplicateCompositionLoaded = ({ initialType }) => {
58654
58841
  onValueChange: onHeightDirectlyChanged,
58655
58842
  rightAlign: false
58656
58843
  }),
58657
- compHeightErrMessage ? /* @__PURE__ */ jsxs164(Fragment54, {
58844
+ compHeightErrMessage ? /* @__PURE__ */ jsxs164(Fragment53, {
58658
58845
  children: [
58659
58846
  /* @__PURE__ */ jsx319(Spacing, {
58660
58847
  y: 1,
@@ -58871,7 +59058,7 @@ var getNewCompositionDefaults = (composition) => {
58871
59058
  };
58872
59059
 
58873
59060
  // src/components/NewComposition/NewComposition.tsx
58874
- import { jsx as jsx320, jsxs as jsxs165, Fragment as Fragment55 } from "react/jsx-runtime";
59061
+ import { jsx as jsx320, jsxs as jsxs165, Fragment as Fragment54 } from "react/jsx-runtime";
58875
59062
  var content11 = {
58876
59063
  padding: 12,
58877
59064
  paddingRight: 12,
@@ -58962,7 +59149,7 @@ var NewCompositionLoaded = ({ folderName, parentName, stack: stack2 }) => {
58962
59149
  e.preventDefault();
58963
59150
  }, []);
58964
59151
  const folderPath = [parentName, folderName].filter(Boolean).join("/");
58965
- return /* @__PURE__ */ jsxs165(Fragment55, {
59152
+ return /* @__PURE__ */ jsxs165(Fragment54, {
58966
59153
  children: [
58967
59154
  /* @__PURE__ */ jsx320(ModalHeader, {
58968
59155
  title: "New composition"
@@ -59010,7 +59197,7 @@ var NewCompositionLoaded = ({ folderName, parentName, stack: stack2 }) => {
59010
59197
  status: "ok",
59011
59198
  rightAlign: true
59012
59199
  }),
59013
- compNameErrMessage ? /* @__PURE__ */ jsxs165(Fragment55, {
59200
+ compNameErrMessage ? /* @__PURE__ */ jsxs165(Fragment54, {
59014
59201
  children: [
59015
59202
  /* @__PURE__ */ jsx320(Spacing, {
59016
59203
  y: 1,
@@ -59054,7 +59241,7 @@ var NewCompositionLoaded = ({ folderName, parentName, stack: stack2 }) => {
59054
59241
  onValueChange: onWidthDirectlyChanged,
59055
59242
  rightAlign: false
59056
59243
  }),
59057
- compWidthErrMessage ? /* @__PURE__ */ jsxs165(Fragment55, {
59244
+ compWidthErrMessage ? /* @__PURE__ */ jsxs165(Fragment54, {
59058
59245
  children: [
59059
59246
  /* @__PURE__ */ jsx320(Spacing, {
59060
59247
  y: 1,
@@ -59098,7 +59285,7 @@ var NewCompositionLoaded = ({ folderName, parentName, stack: stack2 }) => {
59098
59285
  onValueChange: onHeightDirectlyChanged,
59099
59286
  rightAlign: false
59100
59287
  }),
59101
- compHeightErrMessage ? /* @__PURE__ */ jsxs165(Fragment55, {
59288
+ compHeightErrMessage ? /* @__PURE__ */ jsxs165(Fragment54, {
59102
59289
  children: [
59103
59290
  /* @__PURE__ */ jsx320(Spacing, {
59104
59291
  y: 1,
@@ -59211,7 +59398,7 @@ var validateNewFolderName = ({
59211
59398
  };
59212
59399
 
59213
59400
  // src/components/NewComposition/NewFolder.tsx
59214
- import { jsx as jsx321, jsxs as jsxs166, Fragment as Fragment56 } from "react/jsx-runtime";
59401
+ import { jsx as jsx321, jsxs as jsxs166, Fragment as Fragment55 } from "react/jsx-runtime";
59215
59402
  var content12 = {
59216
59403
  padding: 12,
59217
59404
  paddingRight: 12,
@@ -59308,7 +59495,7 @@ var NewFolder = ({ parentName, stack: stack2 }) => {
59308
59495
  status: "ok",
59309
59496
  rightAlign: true
59310
59497
  }),
59311
- folderNameErrMessage ? /* @__PURE__ */ jsxs166(Fragment56, {
59498
+ folderNameErrMessage ? /* @__PURE__ */ jsxs166(Fragment55, {
59312
59499
  children: [
59313
59500
  /* @__PURE__ */ jsx321(Spacing, {
59314
59501
  y: 1,
@@ -59363,7 +59550,7 @@ import {
59363
59550
  useState as useState110
59364
59551
  } from "react";
59365
59552
  import { Internals as Internals115 } from "remotion";
59366
- import { jsx as jsx322, jsxs as jsxs167, Fragment as Fragment57 } from "react/jsx-runtime";
59553
+ import { jsx as jsx322, jsxs as jsxs167, Fragment as Fragment56 } from "react/jsx-runtime";
59367
59554
  var content13 = {
59368
59555
  padding: 12,
59369
59556
  paddingRight: 12,
@@ -59405,7 +59592,7 @@ var RenameCompositionLoaded = () => {
59405
59592
  const onSubmit = useCallback186((e) => {
59406
59593
  e.preventDefault();
59407
59594
  }, []);
59408
- return /* @__PURE__ */ jsxs167(Fragment57, {
59595
+ return /* @__PURE__ */ jsxs167(Fragment56, {
59409
59596
  children: [
59410
59597
  /* @__PURE__ */ jsx322(ModalHeader, {
59411
59598
  title: `Rename ${resolved.result.id}`
@@ -59436,7 +59623,7 @@ var RenameCompositionLoaded = () => {
59436
59623
  status: "ok",
59437
59624
  rightAlign: true
59438
59625
  }),
59439
- compNameErrMessage ? /* @__PURE__ */ jsxs167(Fragment57, {
59626
+ compNameErrMessage ? /* @__PURE__ */ jsxs167(Fragment56, {
59440
59627
  children: [
59441
59628
  /* @__PURE__ */ jsx322(Spacing, {
59442
59629
  y: 1,
@@ -59512,7 +59699,7 @@ var validateFolderRename = ({
59512
59699
  };
59513
59700
 
59514
59701
  // src/components/NewComposition/RenameFolder.tsx
59515
- import { jsx as jsx323, jsxs as jsxs168, Fragment as Fragment58 } from "react/jsx-runtime";
59702
+ import { jsx as jsx323, jsxs as jsxs168, Fragment as Fragment57 } from "react/jsx-runtime";
59516
59703
  var content14 = {
59517
59704
  padding: 12,
59518
59705
  paddingRight: 12,
@@ -59583,7 +59770,7 @@ var RenameFolder = ({ folderName, parentName, stack: stack2 }) => {
59583
59770
  status: "ok",
59584
59771
  rightAlign: true
59585
59772
  }),
59586
- folderNameErrMessage ? /* @__PURE__ */ jsxs168(Fragment58, {
59773
+ folderNameErrMessage ? /* @__PURE__ */ jsxs168(Fragment57, {
59587
59774
  children: [
59588
59775
  /* @__PURE__ */ jsx323(Spacing, {
59589
59776
  y: 1,
@@ -59636,7 +59823,7 @@ import {
59636
59823
  useRef as useRef77,
59637
59824
  useState as useState112
59638
59825
  } from "react";
59639
- import { jsx as jsx324, jsxs as jsxs169, Fragment as Fragment59 } from "react/jsx-runtime";
59826
+ import { jsx as jsx324, jsxs as jsxs169, Fragment as Fragment58 } from "react/jsx-runtime";
59640
59827
  var content15 = {
59641
59828
  padding: 12,
59642
59829
  paddingRight: 12,
@@ -59726,7 +59913,7 @@ var RenameStaticFileModal = ({ relativePath }) => {
59726
59913
  status: validationMessage ? "error" : "ok",
59727
59914
  rightAlign: true
59728
59915
  }),
59729
- validationMessage ? /* @__PURE__ */ jsxs169(Fragment59, {
59916
+ validationMessage ? /* @__PURE__ */ jsxs169(Fragment58, {
59730
59917
  children: [
59731
59918
  /* @__PURE__ */ jsx324(Spacing, {
59732
59919
  y: 1,
@@ -59942,7 +60129,7 @@ var ArrowRight = () => {
59942
60129
  };
59943
60130
 
59944
60131
  // src/components/KeyboardShortcutsExplainer.tsx
59945
- import { jsx as jsx327, jsxs as jsxs171, Fragment as Fragment60 } from "react/jsx-runtime";
60132
+ import { jsx as jsx327, jsxs as jsxs171, Fragment as Fragment59 } from "react/jsx-runtime";
59946
60133
  var left3 = {
59947
60134
  width: 85,
59948
60135
  paddingTop: 8,
@@ -60903,7 +61090,7 @@ var KeyboardShortcutsExplainer = () => {
60903
61090
  })
60904
61091
  ]
60905
61092
  }),
60906
- getStudioAskAIEnabled() && /* @__PURE__ */ jsxs171(Fragment60, {
61093
+ getStudioAskAIEnabled() && /* @__PURE__ */ jsxs171(Fragment59, {
60907
61094
  children: [
60908
61095
  /* @__PURE__ */ jsx327("br", {}),
60909
61096
  /* @__PURE__ */ jsx327("div", {
@@ -61074,7 +61261,7 @@ var QuickSwitcherNoResults = ({ query, mode }) => {
61074
61261
 
61075
61262
  // src/components/QuickSwitcher/QuickSwitcherResult.tsx
61076
61263
  import { useEffect as useEffect108, useMemo as useMemo199, useRef as useRef78, useState as useState114 } from "react";
61077
- import { jsx as jsx329, jsxs as jsxs173, Fragment as Fragment61 } from "react/jsx-runtime";
61264
+ import { jsx as jsx329, jsxs as jsxs173, Fragment as Fragment60 } from "react/jsx-runtime";
61078
61265
  var container52 = {
61079
61266
  paddingLeft: 16,
61080
61267
  paddingRight: 16,
@@ -61170,7 +61357,7 @@ var QuickSwitcherResult = ({ result, selected }) => {
61170
61357
  }),
61171
61358
  /* @__PURE__ */ jsx329("div", {
61172
61359
  style: labelContainer2,
61173
- children: result.type === "search-result" ? /* @__PURE__ */ jsxs173(Fragment61, {
61360
+ children: result.type === "search-result" ? /* @__PURE__ */ jsxs173(Fragment60, {
61174
61361
  children: [
61175
61362
  /* @__PURE__ */ jsx329("div", {
61176
61363
  dangerouslySetInnerHTML: {
@@ -61195,7 +61382,7 @@ var QuickSwitcherResult = ({ result, selected }) => {
61195
61382
  };
61196
61383
 
61197
61384
  // src/components/QuickSwitcher/QuickSwitcherContent.tsx
61198
- import { jsx as jsx330, jsxs as jsxs174, Fragment as Fragment62 } from "react/jsx-runtime";
61385
+ import { jsx as jsx330, jsxs as jsxs174, Fragment as Fragment61 } from "react/jsx-runtime";
61199
61386
  var input2 = {
61200
61387
  width: "100%"
61201
61388
  };
@@ -61480,7 +61667,7 @@ var QuickSwitcherContent = ({ initialMode, invocationTimestamp, readOnlyStudio }
61480
61667
  placeholder: "Search compositions...",
61481
61668
  rightAlign: false
61482
61669
  }),
61483
- showKeyboardShortcuts ? /* @__PURE__ */ jsxs174(Fragment62, {
61670
+ showKeyboardShortcuts ? /* @__PURE__ */ jsxs174(Fragment61, {
61484
61671
  children: [
61485
61672
  /* @__PURE__ */ jsx330(Spacing, {
61486
61673
  x: 2
@@ -61903,7 +62090,7 @@ var GuiRenderStatus = ({ job }) => {
61903
62090
  };
61904
62091
 
61905
62092
  // src/components/RenderModal/RenderStatusModal.tsx
61906
- import { jsx as jsx335, jsxs as jsxs177, Fragment as Fragment63 } from "react/jsx-runtime";
62093
+ import { jsx as jsx335, jsxs as jsxs177, Fragment as Fragment62 } from "react/jsx-runtime";
61907
62094
  var container53 = {
61908
62095
  padding: 20,
61909
62096
  maxWidth: 900,
@@ -61985,7 +62172,7 @@ var RenderStatusModal = ({
61985
62172
  /* @__PURE__ */ jsxs177("div", {
61986
62173
  style: container53,
61987
62174
  children: [
61988
- job.status === "failed" ? /* @__PURE__ */ jsxs177(Fragment63, {
62175
+ job.status === "failed" ? /* @__PURE__ */ jsxs177(Fragment62, {
61989
62176
  children: [
61990
62177
  /* @__PURE__ */ jsx335("p", {
61991
62178
  children: "The render failed because of the following error:"
@@ -62550,7 +62737,7 @@ var CliCopyButton = ({
62550
62737
  };
62551
62738
 
62552
62739
  // src/components/RenderModal/OptionExplainer.tsx
62553
- import { jsx as jsx341, jsxs as jsxs178, Fragment as Fragment64 } from "react/jsx-runtime";
62740
+ import { jsx as jsx341, jsxs as jsxs178, Fragment as Fragment63 } from "react/jsx-runtime";
62554
62741
  var container54 = {
62555
62742
  fontSize: 14,
62556
62743
  paddingTop: 10,
@@ -62621,7 +62808,7 @@ var OptionExplainer = ({
62621
62808
  style: title4,
62622
62809
  children: option.name
62623
62810
  }),
62624
- option.docLink ? /* @__PURE__ */ jsxs178(Fragment64, {
62811
+ option.docLink ? /* @__PURE__ */ jsxs178(Fragment63, {
62625
62812
  children: [
62626
62813
  /* @__PURE__ */ jsx341(Spacing, {
62627
62814
  x: 1
@@ -62667,7 +62854,7 @@ var OptionExplainer = ({
62667
62854
  })
62668
62855
  ]
62669
62856
  }),
62670
- hasInfoRows ? /* @__PURE__ */ jsxs178(Fragment64, {
62857
+ hasInfoRows ? /* @__PURE__ */ jsxs178(Fragment63, {
62671
62858
  children: [
62672
62859
  /* @__PURE__ */ jsx341(Spacing, {
62673
62860
  y: 0.5,
@@ -62795,7 +62982,7 @@ var WebRendererCustomOptionExplainerBubble = ({ apiName, description: descriptio
62795
62982
  };
62796
62983
 
62797
62984
  // src/components/RenderModal/NumberSetting.tsx
62798
- import { jsx as jsx343, jsxs as jsxs179, Fragment as Fragment65 } from "react/jsx-runtime";
62985
+ import { jsx as jsx343, jsxs as jsxs179, Fragment as Fragment64 } from "react/jsx-runtime";
62799
62986
  var NumberSetting = ({ name, value, step, hint, onValueChanged, max, min, formatter }) => {
62800
62987
  const onTextChanged = useCallback195((e) => {
62801
62988
  onValueChanged((q) => {
@@ -62816,7 +63003,7 @@ var NumberSetting = ({ name, value, step, hint, onValueChanged, max, min, format
62816
63003
  style: label5,
62817
63004
  children: [
62818
63005
  name,
62819
- hint ? /* @__PURE__ */ jsxs179(Fragment65, {
63006
+ hint ? /* @__PURE__ */ jsxs179(Fragment64, {
62820
63007
  children: [
62821
63008
  /* @__PURE__ */ jsx343(Spacing, {
62822
63009
  x: 0.5
@@ -63807,7 +63994,7 @@ var useFileExistence = (outName) => {
63807
63994
 
63808
63995
  // src/components/RenderModal/RenderModalOutputName.tsx
63809
63996
  import { useCallback as useCallback199 } from "react";
63810
- import { jsx as jsx349, jsxs as jsxs183, Fragment as Fragment66 } from "react/jsx-runtime";
63997
+ import { jsx as jsx349, jsxs as jsxs183, Fragment as Fragment65 } from "react/jsx-runtime";
63811
63998
  var existsMessageStyle = {
63812
63999
  display: "inline-flex",
63813
64000
  alignItems: "center",
@@ -63864,7 +64051,7 @@ var RenderModalOutputName = ({
63864
64051
  onChange: onValueChange,
63865
64052
  rightAlign: true
63866
64053
  }),
63867
- validationMessage ? /* @__PURE__ */ jsxs183(Fragment66, {
64054
+ validationMessage ? /* @__PURE__ */ jsxs183(Fragment65, {
63868
64055
  children: [
63869
64056
  /* @__PURE__ */ jsx349(Spacing, {
63870
64057
  y: 1,
@@ -63876,7 +64063,7 @@ var RenderModalOutputName = ({
63876
64063
  type: "error"
63877
64064
  })
63878
64065
  ]
63879
- }) : existence ? /* @__PURE__ */ jsxs183(Fragment66, {
64066
+ }) : existence ? /* @__PURE__ */ jsxs183(Fragment65, {
63880
64067
  children: [
63881
64068
  /* @__PURE__ */ jsx349(Spacing, {
63882
64069
  y: 1,
@@ -63907,7 +64094,7 @@ var RenderModalOutputName = ({
63907
64094
  };
63908
64095
 
63909
64096
  // src/components/RenderModal/SeparateAudioOption.tsx
63910
- import { jsx as jsx350, jsxs as jsxs184, Fragment as Fragment67 } from "react/jsx-runtime";
64097
+ import { jsx as jsx350, jsxs as jsxs184, Fragment as Fragment66 } from "react/jsx-runtime";
63911
64098
  var SeparateAudioOptionInput = ({ separateAudioTo, setSeparateAudioTo, audioCodec }) => {
63912
64099
  const existence = useFileExistence(separateAudioTo);
63913
64100
  const onValueChange = useCallback200((e) => {
@@ -63939,7 +64126,7 @@ var SeparateAudioOption = ({ separateAudioTo, setSeparateAudioTo, audioCodec, ou
63939
64126
  setSeparateAudioTo(null);
63940
64127
  }
63941
64128
  }, [audioCodec, outName, setSeparateAudioTo]);
63942
- return /* @__PURE__ */ jsxs184(Fragment67, {
64129
+ return /* @__PURE__ */ jsxs184(Fragment66, {
63943
64130
  children: [
63944
64131
  /* @__PURE__ */ jsxs184("div", {
63945
64132
  style: optionRow,
@@ -63977,7 +64164,7 @@ var SeparateAudioOption = ({ separateAudioTo, setSeparateAudioTo, audioCodec, ou
63977
64164
  };
63978
64165
 
63979
64166
  // src/components/RenderModal/RenderModalAudio.tsx
63980
- import { jsx as jsx351, jsxs as jsxs185, Fragment as Fragment68 } from "react/jsx-runtime";
64167
+ import { jsx as jsx351, jsxs as jsxs185, Fragment as Fragment67 } from "react/jsx-runtime";
63981
64168
  var container57 = {
63982
64169
  flex: 1,
63983
64170
  overflowY: "auto"
@@ -64047,7 +64234,7 @@ var RenderModalAudio = ({
64047
64234
  style: container57,
64048
64235
  className: VERTICAL_SCROLLBAR_CLASSNAME,
64049
64236
  children: [
64050
- renderMode === "video" ? /* @__PURE__ */ jsxs185(Fragment68, {
64237
+ renderMode === "video" ? /* @__PURE__ */ jsxs185(Fragment67, {
64051
64238
  children: [
64052
64239
  /* @__PURE__ */ jsx351(MutedSetting, {
64053
64240
  enforceAudioTrack,
@@ -64082,7 +64269,7 @@ var RenderModalAudio = ({
64082
64269
  })
64083
64270
  ]
64084
64271
  }) : null,
64085
- (renderMode === "video" || renderMode === "audio") && !muted && /* @__PURE__ */ jsxs185(Fragment68, {
64272
+ (renderMode === "video" || renderMode === "audio") && !muted && /* @__PURE__ */ jsxs185(Fragment67, {
64086
64273
  children: [
64087
64274
  /* @__PURE__ */ jsx351(EnforceAudioTrackSetting, {
64088
64275
  muted,
@@ -64701,7 +64888,7 @@ var labelx264Preset = (profile) => {
64701
64888
  };
64702
64889
 
64703
64890
  // src/components/RenderModal/RenderModalEncoding.tsx
64704
- import { jsx as jsx355, jsxs as jsxs189, Fragment as Fragment69 } from "react/jsx-runtime";
64891
+ import { jsx as jsx355, jsxs as jsxs189, Fragment as Fragment68 } from "react/jsx-runtime";
64705
64892
  var qualityControlModes = ["crf", "bitrate"];
64706
64893
  var container60 = {
64707
64894
  flex: 1,
@@ -64886,7 +65073,7 @@ var RenderModalEncoding = ({
64886
65073
  })
64887
65074
  ]
64888
65075
  }) : null,
64889
- renderMode === "video" ? /* @__PURE__ */ jsxs189(Fragment69, {
65076
+ renderMode === "video" ? /* @__PURE__ */ jsxs189(Fragment68, {
64890
65077
  children: [
64891
65078
  /* @__PURE__ */ jsxs189("div", {
64892
65079
  style: optionRow,
@@ -65110,7 +65297,7 @@ var RenderModalEncoding = ({
65110
65297
  })
65111
65298
  ]
65112
65299
  }) : null,
65113
- renderMode === "still" ? null : /* @__PURE__ */ jsxs189(Fragment69, {
65300
+ renderMode === "still" ? null : /* @__PURE__ */ jsxs189(Fragment68, {
65114
65301
  children: [
65115
65302
  renderMode === "video" ? /* @__PURE__ */ jsx355(RenderModalHr, {}) : null,
65116
65303
  /* @__PURE__ */ jsxs189("div", {
@@ -65174,7 +65361,7 @@ var InlineEyeButton = ({ onClick, enabled }) => {
65174
65361
  };
65175
65362
 
65176
65363
  // src/components/RenderModal/EnvInput.tsx
65177
- import { jsx as jsx357, jsxs as jsxs190, Fragment as Fragment70 } from "react/jsx-runtime";
65364
+ import { jsx as jsx357, jsxs as jsxs190, Fragment as Fragment69 } from "react/jsx-runtime";
65178
65365
  var input3 = {
65179
65366
  flex: 1,
65180
65367
  width: "100%"
@@ -65221,7 +65408,7 @@ var EnvInput = ({
65221
65408
  setValueWarningEligible(true);
65222
65409
  }, []);
65223
65410
  const isNodeEnvKey = envKey.trim() === "NODE_ENV";
65224
- return /* @__PURE__ */ jsxs190(Fragment70, {
65411
+ return /* @__PURE__ */ jsxs190(Fragment69, {
65225
65412
  children: [
65226
65413
  /* @__PURE__ */ jsxs190(Row, {
65227
65414
  align: "center",
@@ -65501,7 +65688,7 @@ var JpegQualitySetting = ({ jpegQuality, setJpegQuality }) => {
65501
65688
 
65502
65689
  // src/components/RenderModal/ScaleSetting.tsx
65503
65690
  import { useMemo as useMemo211 } from "react";
65504
- import { jsx as jsx362, jsxs as jsxs194, Fragment as Fragment71 } from "react/jsx-runtime";
65691
+ import { jsx as jsx362, jsxs as jsxs194, Fragment as Fragment70 } from "react/jsx-runtime";
65505
65692
  var MIN_SCALE = 0.1;
65506
65693
  var MAX_SCALE = 10;
65507
65694
  var outputDimensionsStyle = {
@@ -65519,7 +65706,7 @@ var ScaleSetting = ({ scale, setScale, compositionWidth, compositionHeight }) =>
65519
65706
  const outputHeight = Math.round(compositionHeight * scale);
65520
65707
  return `${outputWidth}×${outputHeight}`;
65521
65708
  }, [compositionWidth, compositionHeight, scale]);
65522
- return /* @__PURE__ */ jsxs194(Fragment71, {
65709
+ return /* @__PURE__ */ jsxs194(Fragment70, {
65523
65710
  children: [
65524
65711
  /* @__PURE__ */ jsx362(NumberSetting, {
65525
65712
  min: MIN_SCALE,
@@ -66958,7 +67145,7 @@ var useEncodableVideoCodecs = (container64) => {
66958
67145
 
66959
67146
  // src/components/RenderModal/WebRenderModalAdvanced.tsx
66960
67147
  import { useCallback as useCallback212, useMemo as useMemo213 } from "react";
66961
- import { jsx as jsx366, jsxs as jsxs197, Fragment as Fragment72 } from "react/jsx-runtime";
67148
+ import { jsx as jsx366, jsxs as jsxs197, Fragment as Fragment71 } from "react/jsx-runtime";
66962
67149
  var tabContainer = {
66963
67150
  flex: 1
66964
67151
  };
@@ -66970,7 +67157,7 @@ var lastParagraph = {
66970
67157
  margin: 0
66971
67158
  };
66972
67159
  var PageResponsivenessDescription = () => {
66973
- return /* @__PURE__ */ jsxs197(Fragment72, {
67160
+ return /* @__PURE__ */ jsxs197(Fragment71, {
66974
67161
  children: [
66975
67162
  /* @__PURE__ */ jsx366("p", {
66976
67163
  style: paragraph,
@@ -67202,7 +67389,7 @@ var WebRenderModalAdvanced = ({
67202
67389
  })
67203
67390
  ]
67204
67391
  }) : null,
67205
- renderMode === "still" ? null : /* @__PURE__ */ jsxs197(Fragment72, {
67392
+ renderMode === "still" ? null : /* @__PURE__ */ jsxs197(Fragment71, {
67206
67393
  children: [
67207
67394
  /* @__PURE__ */ jsxs197("div", {
67208
67395
  style: optionRow,
@@ -67275,7 +67462,7 @@ var getQualityOptions = (selectedQuality, setQuality) => {
67275
67462
  };
67276
67463
 
67277
67464
  // src/components/RenderModal/WebRenderModalAudio.tsx
67278
- import { jsx as jsx368, jsxs as jsxs198, Fragment as Fragment73 } from "react/jsx-runtime";
67465
+ import { jsx as jsx368, jsxs as jsxs198, Fragment as Fragment72 } from "react/jsx-runtime";
67279
67466
  var container64 = {
67280
67467
  flex: 1,
67281
67468
  overflowY: "auto"
@@ -67353,7 +67540,7 @@ var WebRenderModalAudio = ({
67353
67540
  muted,
67354
67541
  setMuted
67355
67542
  }),
67356
- showAudioSettings ? /* @__PURE__ */ jsxs198(Fragment73, {
67543
+ showAudioSettings ? /* @__PURE__ */ jsxs198(Fragment72, {
67357
67544
  children: [
67358
67545
  isAudioOnly ? null : /* @__PURE__ */ jsx368(RenderModalHr, {}),
67359
67546
  /* @__PURE__ */ jsxs198("div", {
@@ -67418,7 +67605,7 @@ var WebRenderModalAudio = ({
67418
67605
 
67419
67606
  // src/components/RenderModal/WebRenderModalBasic.tsx
67420
67607
  import { useMemo as useMemo215 } from "react";
67421
- import { jsx as jsx369, jsxs as jsxs199, Fragment as Fragment74 } from "react/jsx-runtime";
67608
+ import { jsx as jsx369, jsxs as jsxs199, Fragment as Fragment73 } from "react/jsx-runtime";
67422
67609
  var tabContainer2 = {
67423
67610
  flex: 1
67424
67611
  };
@@ -67538,7 +67725,7 @@ var WebRenderModalBasic = ({
67538
67725
  return /* @__PURE__ */ jsxs199("div", {
67539
67726
  style: tabContainer2,
67540
67727
  children: [
67541
- renderMode === "still" ? /* @__PURE__ */ jsxs199(Fragment74, {
67728
+ renderMode === "still" ? /* @__PURE__ */ jsxs199(Fragment73, {
67542
67729
  children: [
67543
67730
  /* @__PURE__ */ jsxs199("div", {
67544
67731
  style: optionRow,
@@ -67583,7 +67770,7 @@ var WebRenderModalBasic = ({
67583
67770
  ]
67584
67771
  }) : null
67585
67772
  ]
67586
- }) : /* @__PURE__ */ jsxs199(Fragment74, {
67773
+ }) : /* @__PURE__ */ jsxs199(Fragment73, {
67587
67774
  children: [
67588
67775
  /* @__PURE__ */ jsxs199("div", {
67589
67776
  style: optionRow,
@@ -67788,7 +67975,7 @@ var WebRenderModalLicenseKeyDetails = ({ details }) => {
67788
67975
  };
67789
67976
 
67790
67977
  // src/components/RenderModal/WebRenderModalLicense.tsx
67791
- import { jsx as jsx372, jsxs as jsxs201, Fragment as Fragment75 } from "react/jsx-runtime";
67978
+ import { jsx as jsx372, jsxs as jsxs201, Fragment as Fragment74 } from "react/jsx-runtime";
67792
67979
  var row11 = {
67793
67980
  display: "flex",
67794
67981
  flexDirection: "row",
@@ -68041,7 +68228,7 @@ var WebRenderModalLicense = ({
68041
68228
  style: inputStyle3,
68042
68229
  autoFocus: true
68043
68230
  }),
68044
- licenseValidation.message ? /* @__PURE__ */ jsxs201(Fragment75, {
68231
+ licenseValidation.message ? /* @__PURE__ */ jsxs201(Fragment74, {
68045
68232
  children: [
68046
68233
  /* @__PURE__ */ jsx372(Spacing, {
68047
68234
  y: 1,
@@ -68054,7 +68241,7 @@ var WebRenderModalLicense = ({
68054
68241
  })
68055
68242
  ]
68056
68243
  }) : null,
68057
- licenseValidation.valid && licenseKey.length > 0 ? /* @__PURE__ */ jsxs201(Fragment75, {
68244
+ licenseValidation.valid && licenseKey.length > 0 ? /* @__PURE__ */ jsxs201(Fragment74, {
68058
68245
  children: [
68059
68246
  /* @__PURE__ */ jsx372(Spacing, {
68060
68247
  y: 1,
@@ -68073,7 +68260,7 @@ var WebRenderModalLicense = ({
68073
68260
  })
68074
68261
  ]
68075
68262
  }) : null,
68076
- isLoading && /* @__PURE__ */ jsxs201(Fragment75, {
68263
+ isLoading && /* @__PURE__ */ jsxs201(Fragment74, {
68077
68264
  children: [
68078
68265
  /* @__PURE__ */ jsx372(Spacing, {
68079
68266
  y: 1,
@@ -68082,7 +68269,7 @@ var WebRenderModalLicense = ({
68082
68269
  "Loading license key details..."
68083
68270
  ]
68084
68271
  }),
68085
- licenseValidation.details && /* @__PURE__ */ jsxs201(Fragment75, {
68272
+ licenseValidation.details && /* @__PURE__ */ jsxs201(Fragment74, {
68086
68273
  children: [
68087
68274
  /* @__PURE__ */ jsx372(Spacing, {
68088
68275
  y: 1,
@@ -68115,7 +68302,7 @@ var WebRenderModalLicense = ({
68115
68302
 
68116
68303
  // src/components/RenderModal/WebRenderModalPicture.tsx
68117
68304
  import { useCallback as useCallback214, useMemo as useMemo216 } from "react";
68118
- import { jsx as jsx373, jsxs as jsxs202, Fragment as Fragment76 } from "react/jsx-runtime";
68305
+ import { jsx as jsx373, jsxs as jsxs202, Fragment as Fragment75 } from "react/jsx-runtime";
68119
68306
  var tabContainer4 = {
68120
68307
  flex: 1
68121
68308
  };
@@ -68145,7 +68332,7 @@ var WebRenderModalPicture = ({
68145
68332
  compositionWidth,
68146
68333
  compositionHeight
68147
68334
  }),
68148
- renderMode !== "video" ? null : /* @__PURE__ */ jsxs202(Fragment76, {
68335
+ renderMode !== "video" ? null : /* @__PURE__ */ jsxs202(Fragment75, {
68149
68336
  children: [
68150
68337
  /* @__PURE__ */ jsxs202("div", {
68151
68338
  style: optionRow,
@@ -68926,7 +69113,7 @@ var KnownBugs = ({ bugs }) => {
68926
69113
  };
68927
69114
 
68928
69115
  // src/components/UpdateModal/UpdateModal.tsx
68929
- import { jsx as jsx378, jsxs as jsxs206, Fragment as Fragment77 } from "react/jsx-runtime";
69116
+ import { jsx as jsx378, jsxs as jsxs206, Fragment as Fragment76 } from "react/jsx-runtime";
68930
69117
  var container66 = {
68931
69118
  padding: 20,
68932
69119
  paddingTop: 0
@@ -68977,7 +69164,7 @@ var UpdateModal = ({ info, knownBugs }) => {
68977
69164
  /* @__PURE__ */ jsxs206("div", {
68978
69165
  style: container66,
68979
69166
  children: [
68980
- hasKnownBugs ? /* @__PURE__ */ jsxs206(Fragment77, {
69167
+ hasKnownBugs ? /* @__PURE__ */ jsxs206(Fragment76, {
68981
69168
  children: [
68982
69169
  /* @__PURE__ */ jsxs206("div", {
68983
69170
  style: title6,
@@ -69057,11 +69244,11 @@ var UpdateModal = ({ info, knownBugs }) => {
69057
69244
  };
69058
69245
 
69059
69246
  // src/components/Modals.tsx
69060
- import { jsx as jsx379, jsxs as jsxs207, Fragment as Fragment78 } from "react/jsx-runtime";
69247
+ import { jsx as jsx379, jsxs as jsxs207, Fragment as Fragment77 } from "react/jsx-runtime";
69061
69248
  var Modals = ({ readOnlyStudio }) => {
69062
69249
  const { selectedModal: modalContextType } = useContext149(ModalsContext);
69063
69250
  const canRender = useContext149(StudioServerConnectionCtx).previewServerState.type === "connected";
69064
- return /* @__PURE__ */ jsxs207(Fragment78, {
69251
+ return /* @__PURE__ */ jsxs207(Fragment77, {
69065
69252
  children: [
69066
69253
  modalContextType && modalContextType.type === "new-comp" && /* @__PURE__ */ jsx379(NewComposition, {
69067
69254
  folderName: modalContextType.folderName,
@@ -69910,12 +70097,14 @@ var makeDefaultGlobalCSS = () => {
69910
70097
  box-shadow: ${FOCUS_BOX_SHADOW};
69911
70098
  }
69912
70099
 
69913
- .__remotion-composition-selector-item:focus {
70100
+ .__remotion-composition-selector-item:focus,
70101
+ .__remotion-inspector-inline-action:focus {
69914
70102
  outline: none;
69915
70103
  box-shadow: none;
69916
70104
  }
69917
70105
 
69918
- .__remotion-composition-selector-item:focus-visible {
70106
+ .__remotion-composition-selector-item:focus-visible,
70107
+ .__remotion-inspector-inline-action:focus-visible {
69919
70108
  box-shadow: ${FOCUS_BOX_SHADOW};
69920
70109
  }
69921
70110