@remotion/studio 4.0.528 → 4.0.529
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.
- package/dist/Studio.js +2 -0
- package/dist/components/AgentPrompt.js +2 -2
- package/dist/components/AppLaunchButton.d.ts +0 -1
- package/dist/components/AppLaunchButton.js +2 -5
- package/dist/components/AssetAudioVolume.js +2 -2
- package/dist/components/AssetSelectorItem.js +5 -5
- package/dist/components/Button.d.ts +1 -1
- package/dist/components/Button.js +2 -2
- package/dist/components/CaptionInspector.js +1 -1
- package/dist/components/CaptionTextEditor.js +1 -1
- package/dist/components/CheckboardToggle.js +1 -1
- package/dist/components/CodingAgentButton.js +1 -1
- package/dist/components/ColorPicker/ColorPicker.d.ts +1 -1
- package/dist/components/ColorPicker/ColorPicker.js +2 -2
- package/dist/components/ColorPicker/ColorPickerPopup.js +1 -1
- package/dist/components/CompactExplanation.js +3 -3
- package/dist/components/CompositionSelectorItem.js +2 -2
- package/dist/components/ConfigSelect.js +1 -1
- package/dist/components/ConfigureDefaultEditorModal.js +2 -2
- package/dist/components/ControlButton.d.ts +0 -1
- package/dist/components/ControlButton.js +2 -2
- package/dist/components/CurrentAsset.js +1 -1
- package/dist/components/ElementLibrariesSettings.js +1 -1
- package/dist/components/ElementLibraryModal.js +1 -1
- package/dist/components/FramePersistor.js +3 -3
- package/dist/components/FullscreenToggle.js +1 -1
- package/dist/components/InitialCompositionLoader.js +3 -3
- package/dist/components/InlineAction.d.ts +2 -2
- package/dist/components/InlineAction.js +2 -3
- package/dist/components/InlineEditableTitle.d.ts +1 -1
- package/dist/components/InlineEditableTitle.js +3 -3
- package/dist/components/InspectorLocationCopy.js +1 -1
- package/dist/components/InspectorOpenInEditor.js +1 -3
- package/dist/components/InspectorPanel/AlignmentControls.js +3 -3
- package/dist/components/InspectorPanel/CompositionInspector.js +1 -5
- package/dist/components/InspectorPanel/CompositionMetadata.js +4 -4
- package/dist/components/InspectorPanel/EasingInspector.js +1 -1
- package/dist/components/InspectorPanel/ElementLibraryButton.js +3 -14
- package/dist/components/InspectorPanel/KeyframeEasingNavigator.js +6 -8
- package/dist/components/InspectorPanel/KeyframeInspector.js +1 -1
- package/dist/components/InspectorPanel/KeyframeSettings.js +16 -11
- package/dist/components/InspectorPanel/MultiSequenceField.js +1 -1
- package/dist/components/InspectorPanel/MultiSequenceInspector.js +2 -7
- package/dist/components/InspectorPanel/MultiSequenceNumberField.js +2 -2
- package/dist/components/InspectorPanel/SequenceInspectorHeader.js +1 -1
- package/dist/components/InspectorPanel/SequenceSelectionInspector.js +4 -13
- package/dist/components/InspectorPanel/SequenceWrapAction.js +6 -14
- package/dist/components/InspectorPanel/common.d.ts +6 -2
- package/dist/components/InspectorPanel/common.js +25 -9
- package/dist/components/InspectorSequenceSection.js +5 -5
- package/dist/components/InspectorSourceLocation.js +2 -2
- package/dist/components/KeyboardShortcutsSettings.js +1 -1
- package/dist/components/LicenseKeyValidation.js +2 -2
- package/dist/components/LoopToggle.js +1 -1
- package/dist/components/Menu/MenuSubItem.js +4 -2
- package/dist/components/MenuBuildIndicator.js +1 -1
- package/dist/components/MenuCompositionName.js +1 -1
- package/dist/components/ModelManager.js +1 -1
- package/dist/components/MuteToggle.js +1 -1
- package/dist/components/NewComposition/ComboBox.d.ts +1 -1
- package/dist/components/NewComposition/ComboBox.js +2 -2
- package/dist/components/NewComposition/DuplicateComposition.js +1 -1
- package/dist/components/NewComposition/InputDragger.d.ts +1 -1
- package/dist/components/NewComposition/InputDragger.js +1 -1
- package/dist/components/NewComposition/NewComposition.js +1 -1
- package/dist/components/OpenIssueButton.js +1 -1
- package/dist/components/OutlineToggle.js +1 -1
- package/dist/components/PlayPause.js +1 -1
- package/dist/components/PlaybackRateSelector.js +1 -1
- package/dist/components/Preview.js +2 -3
- package/dist/components/PreviewToolbarOverflowButton.js +1 -1
- package/dist/components/QuickSwitcher/ExplorerQuickSwitcherTrigger.js +1 -1
- package/dist/components/RenderButton.js +2 -4
- package/dist/components/RenderModal/InfoBubble.d.ts +1 -1
- package/dist/components/RenderModal/InfoBubble.js +2 -2
- package/dist/components/RenderModal/NumberSetting.js +1 -1
- package/dist/components/RenderModal/OptionExplainerBubble.js +2 -2
- package/dist/components/RenderModal/RenderModalAdvanced.js +2 -2
- package/dist/components/RenderModal/RenderModalAudio.js +2 -2
- package/dist/components/RenderModal/RenderModalBasic.js +3 -3
- package/dist/components/RenderModal/RenderModalEncoding.js +4 -4
- package/dist/components/RenderModal/RenderModalOutputName.js +1 -1
- package/dist/components/RenderModal/SchemaEditor/SchemaLabel.js +1 -1
- package/dist/components/RenderModal/SchemaEditor/ZodDiscriminatedUnionEditor.js +1 -1
- package/dist/components/RenderModal/SchemaEditor/ZodEnumEditor.js +1 -1
- package/dist/components/RenderModal/SchemaEditor/ZodFieldValidation.js +1 -1
- package/dist/components/RenderModal/SchemaEditor/ZodStaticFileEditor.js +1 -1
- package/dist/components/RenderModal/WebRenderModalAdvanced.js +2 -2
- package/dist/components/RenderModal/WebRenderModalAudio.js +2 -2
- package/dist/components/RenderModal/WebRenderModalBasic.js +3 -3
- package/dist/components/RenderModal/WebRenderModalPicture.js +1 -1
- package/dist/components/RenderQueue/CaptionQueueItem.js +1 -1
- package/dist/components/RenderQueue/QueueJobError.js +1 -1
- package/dist/components/RenderQueue/RenderQueueError.js +1 -1
- package/dist/components/RenderQueue/RenderQueueOutputName.js +1 -1
- package/dist/components/RenderQueue/RenderQueueProgressMessage.js +1 -1
- package/dist/components/RenderQueue/VideoMattingQueueItem.js +1 -1
- package/dist/components/RenderingSettings.js +6 -6
- package/dist/components/RulersAndGuidesToggle.js +1 -1
- package/dist/components/SegmentedButton.d.ts +0 -2
- package/dist/components/SegmentedButton.js +6 -6
- package/dist/components/SelectedOutlineOverlay.js +15 -2
- package/dist/components/SelectedOutlinePathPoints.js +45 -21
- package/dist/components/SelectedOutlineRenderer.js +1 -1
- package/dist/components/SettingsButton.js +1 -1
- package/dist/components/SettingsModalFooter.js +1 -1
- package/dist/components/SizeSelector.js +1 -1
- package/dist/components/SkillsSettings.js +2 -2
- package/dist/components/SnappingToggle.js +1 -1
- package/dist/components/StudioSettings.js +2 -2
- package/dist/components/TimeValue.js +1 -3
- package/dist/components/Timeline/EasingEditorModal.js +3 -3
- package/dist/components/Timeline/TimelineArrayField.js +2 -2
- package/dist/components/Timeline/TimelineAssetField.js +3 -3
- package/dist/components/Timeline/TimelineColorField.js +2 -2
- package/dist/components/Timeline/TimelineDragHandler.js +3 -3
- package/dist/components/Timeline/TimelineDuplicateCount.js +1 -1
- package/dist/components/Timeline/TimelineEffectItem.js +1 -1
- package/dist/components/Timeline/TimelineEnumField.js +1 -1
- package/dist/components/Timeline/TimelineFieldLabel.js +1 -1
- package/dist/components/Timeline/TimelineFontFamilyField.js +2 -2
- package/dist/components/Timeline/TimelineFontWeightField.js +1 -1
- package/dist/components/Timeline/TimelineKeyframeControls.js +4 -4
- package/dist/components/Timeline/TimelineKeyframeDiamond.js +1 -1
- package/dist/components/Timeline/TimelineKeyframeEasingLine.js +1 -1
- package/dist/components/Timeline/TimelineLayerChildren.js +1 -1
- package/dist/components/Timeline/TimelineList.js +15 -7
- package/dist/components/Timeline/TimelineMediaInfo.js +1 -1
- package/dist/components/Timeline/TimelineScaleField.js +1 -1
- package/dist/components/Timeline/TimelineSchemaField.js +2 -2
- package/dist/components/Timeline/TimelineSequence.js +1 -1
- package/dist/components/Timeline/TimelineSequenceItem.js +34 -16
- package/dist/components/Timeline/TimelineSequenceName.d.ts +1 -0
- package/dist/components/Timeline/TimelineSequenceName.js +38 -6
- package/dist/components/Timeline/TimelineSequencePropItem.js +6 -4
- package/dist/components/Timeline/TimelineSequenceRightEdgeDragHandle.js +2 -2
- package/dist/components/Timeline/TimelineZoomControls.js +2 -2
- package/dist/components/Timeline/get-sequence-split-menu-item.js +2 -2
- package/dist/components/Timeline/use-timeline-expanded-tree.d.ts +1 -1
- package/dist/components/Timeline/use-timeline-expanded-tree.js +3 -0
- package/dist/components/TimelineCombobox.d.ts +1 -1
- package/dist/components/TimelineCombobox.js +5 -6
- package/dist/components/TimelineInOutToggle.js +1 -1
- package/dist/components/Transcription/TranscriptionModal.js +6 -6
- package/dist/components/UndoRedoButtons.js +1 -1
- package/dist/components/UpdatesSettings.js +2 -2
- package/dist/components/VideoMatting/VideoMattingModal.js +4 -4
- package/dist/components/selected-outline-types.d.ts +2 -0
- package/dist/error-overlay/remotion-overlay/CompositionIdListItem.js +1 -1
- package/dist/error-overlay/remotion-overlay/OpenInEditor.js +1 -1
- package/dist/error-overlay/remotion-overlay/StackFrame.js +1 -1
- package/dist/esm/{CaptionQueueProcessor-nr7hjcga.mjs → CaptionQueueProcessor-qj37c6r2.mjs} +2 -2
- package/dist/esm/{LazyModels-ajkn7fs3.mjs → LazyModels-rjsrgap5.mjs} +4 -4
- package/dist/esm/{LazyModels-g1g7cf4e.mjs → LazyModels-rnbjx98t.mjs} +4 -4
- package/dist/esm/{TranscriptionModal-e18bzbkb.mjs → TranscriptionModal-y7zeqj2d.mjs} +15 -15
- package/dist/esm/{VideoMattingModal-5bz2s4rs.mjs → VideoMattingModal-jzrkhah1.mjs} +13 -13
- package/dist/esm/{index-s6qya2gg.mjs → index-19d05w9e.mjs} +1 -1
- package/dist/esm/{index-t7tbt980.mjs → index-24wge6y5.mjs} +2 -3
- package/dist/esm/{index-wqc43mw0.mjs → index-3qb54r5j.mjs} +4 -5
- package/dist/esm/{index-c2wabcdt.mjs → index-cakcjjy2.mjs} +6 -6
- package/dist/esm/{index-9q9w8v9p.mjs → index-f9hxt5yh.mjs} +1 -1
- package/dist/esm/{index-8nt6a0mw.mjs → index-jc22b2wb.mjs} +1 -1
- package/dist/esm/{index-890dd9b3.mjs → index-m01zjph7.mjs} +3 -5
- package/dist/esm/{index-x6r9bn12.mjs → index-m2a95v3p.mjs} +925 -237
- package/dist/esm/{index-xac20sv4.mjs → index-r9bj4tta.mjs} +7 -7
- package/dist/esm/{index-t7xnxdf8.mjs → index-vnc2wdfd.mjs} +4 -5
- package/dist/esm/{index-dh3zk2hv.mjs → index-vtr5qzam.mjs} +1 -1
- package/dist/esm/{index-dpyss74p.mjs → index-x7kg7jqv.mjs} +814 -723
- package/dist/esm/index.mjs +2 -2
- package/dist/esm/internals.mjs +9 -9
- package/dist/esm/previewEntry.mjs +9 -9
- package/dist/esm/renderEntry.mjs +2 -2
- package/dist/helpers/checkerboard-background.d.ts +2 -2
- package/dist/helpers/checkerboard-background.js +1 -1
- package/dist/helpers/colors.d.ts +1 -2
- package/dist/helpers/colors.js +7 -8
- package/dist/helpers/studio-css-variables.d.ts +1 -1
- package/dist/helpers/studio-css-variables.js +2 -3
- package/dist/icons/snowflake.js +1 -3
- package/dist/icons/{scissors.d.ts → split.d.ts} +1 -1
- package/dist/icons/split.js +8 -0
- package/dist/icons/trash.js +2 -2
- package/dist/icons/wrap.js +1 -1
- package/package.json +20 -20
- package/dist/icons/scissors.js +0 -8
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
installRequiredPackages,
|
|
3
3
|
showNotification
|
|
4
|
-
} from "./index-
|
|
4
|
+
} from "./index-vtr5qzam.mjs";
|
|
5
5
|
import {
|
|
6
6
|
RenderQueueContext,
|
|
7
7
|
isClientRenderJob,
|
|
@@ -60,7 +60,7 @@ import {
|
|
|
60
60
|
useZodTypesIfPossible,
|
|
61
61
|
watchPublicFolder,
|
|
62
62
|
zodSafeParse
|
|
63
|
-
} from "./index-
|
|
63
|
+
} from "./index-19d05w9e.mjs";
|
|
64
64
|
import {
|
|
65
65
|
BROWSER_STUDIO_OPERATIONS_READY_EVENT,
|
|
66
66
|
callApi,
|
|
@@ -73,7 +73,7 @@ import {
|
|
|
73
73
|
} from "./index-dfy1t576.mjs";
|
|
74
74
|
import {
|
|
75
75
|
studioCssVariables
|
|
76
|
-
} from "./index-
|
|
76
|
+
} from "./index-24wge6y5.mjs";
|
|
77
77
|
import {
|
|
78
78
|
ActionTooltip,
|
|
79
79
|
COMPACT_CONTROL_ROW_HEIGHT,
|
|
@@ -106,7 +106,7 @@ import {
|
|
|
106
106
|
menuContainerTowardsBottom,
|
|
107
107
|
menuContainerTowardsTop,
|
|
108
108
|
outerPortal
|
|
109
|
-
} from "./index-
|
|
109
|
+
} from "./index-m01zjph7.mjs";
|
|
110
110
|
import {
|
|
111
111
|
HigherZIndex,
|
|
112
112
|
areKeyboardShortcutsDisabled,
|
|
@@ -181,7 +181,7 @@ import {
|
|
|
181
181
|
WHITE_ALPHA_80,
|
|
182
182
|
WHITE_HEX,
|
|
183
183
|
getBackgroundFromHoverState
|
|
184
|
-
} from "./index-
|
|
184
|
+
} from "./index-3qb54r5j.mjs";
|
|
185
185
|
import {
|
|
186
186
|
__require,
|
|
187
187
|
__toESM
|
|
@@ -690,7 +690,7 @@ var button = {
|
|
|
690
690
|
var ButtonRefForwardFunction = ({
|
|
691
691
|
children,
|
|
692
692
|
onClick,
|
|
693
|
-
|
|
693
|
+
"aria-label": ariaLabel,
|
|
694
694
|
disabled,
|
|
695
695
|
size = "default",
|
|
696
696
|
style: style2,
|
|
@@ -735,7 +735,7 @@ var ButtonRefForwardFunction = ({
|
|
|
735
735
|
onClick,
|
|
736
736
|
onPointerDown,
|
|
737
737
|
autoFocus,
|
|
738
|
-
|
|
738
|
+
"aria-label": ariaLabel,
|
|
739
739
|
children: /* @__PURE__ */ jsx6("div", {
|
|
740
740
|
className: "css-reset",
|
|
741
741
|
style: buttonContainer,
|
|
@@ -1258,6 +1258,7 @@ var MenuSubItem = ({
|
|
|
1258
1258
|
}, [selected]);
|
|
1259
1259
|
return /* @__PURE__ */ jsx15("div", {
|
|
1260
1260
|
ref,
|
|
1261
|
+
"aria-label": typeof label === "string" ? label : undefined,
|
|
1261
1262
|
onPointerEnter,
|
|
1262
1263
|
onPointerLeave,
|
|
1263
1264
|
style: style2,
|
|
@@ -1280,7 +1281,6 @@ var MenuSubItem = ({
|
|
|
1280
1281
|
}) : null,
|
|
1281
1282
|
/* @__PURE__ */ jsx15("div", {
|
|
1282
1283
|
style: labelStyle,
|
|
1283
|
-
...{ title: typeof label === "string" ? label : undefined },
|
|
1284
1284
|
children: label
|
|
1285
1285
|
}),
|
|
1286
1286
|
" ",
|
|
@@ -1717,7 +1717,7 @@ var Combobox = ({
|
|
|
1717
1717
|
values,
|
|
1718
1718
|
selectedId,
|
|
1719
1719
|
style: customStyle,
|
|
1720
|
-
|
|
1720
|
+
"aria-label": ariaLabel,
|
|
1721
1721
|
size: controlSize = "default",
|
|
1722
1722
|
unhoveredIconColor = LIGHT_TEXT
|
|
1723
1723
|
}) => {
|
|
@@ -1846,14 +1846,15 @@ var Combobox = ({
|
|
|
1846
1846
|
children: [
|
|
1847
1847
|
/* @__PURE__ */ jsxs3("button", {
|
|
1848
1848
|
ref,
|
|
1849
|
-
|
|
1849
|
+
"aria-label": ariaLabel,
|
|
1850
1850
|
tabIndex,
|
|
1851
1851
|
type: "button",
|
|
1852
1852
|
style: style2,
|
|
1853
1853
|
className: MENU_INITIATOR_CLASSNAME,
|
|
1854
1854
|
children: [
|
|
1855
1855
|
selected ? /* @__PURE__ */ jsx17("div", {
|
|
1856
|
-
|
|
1856
|
+
role: "group",
|
|
1857
|
+
"aria-label": typeof selected.label === "string" ? selected.label : undefined,
|
|
1857
1858
|
style: selectedLabelStyle,
|
|
1858
1859
|
children: selected?.label
|
|
1859
1860
|
}) : null,
|
|
@@ -1978,7 +1979,7 @@ var container5 = {
|
|
|
1978
1979
|
fontSize: 14,
|
|
1979
1980
|
verticalAlign: "text-bottom"
|
|
1980
1981
|
};
|
|
1981
|
-
var InfoBubble = ({
|
|
1982
|
+
var InfoBubble = ({ "aria-label": ariaLabel, children, horizontalAlignment = "left" }) => {
|
|
1982
1983
|
const [hovered, setIsHovered] = useState8(false);
|
|
1983
1984
|
const [opened, setOpened] = useState8(false);
|
|
1984
1985
|
const ref = useRef7(null);
|
|
@@ -2069,7 +2070,7 @@ var InfoBubble = ({ title, children, horizontalAlignment = "left" }) => {
|
|
|
2069
2070
|
ref,
|
|
2070
2071
|
tabIndex,
|
|
2071
2072
|
style: style2,
|
|
2072
|
-
|
|
2073
|
+
"aria-label": ariaLabel,
|
|
2073
2074
|
type: "button",
|
|
2074
2075
|
children: /* @__PURE__ */ jsx19("svg", {
|
|
2075
2076
|
style: icon2,
|
|
@@ -2968,13 +2969,14 @@ var AssetAudioVolume = ({ src, waveformSampleRate }) => {
|
|
|
2968
2969
|
});
|
|
2969
2970
|
}, [src, waveformSampleRate]);
|
|
2970
2971
|
return /* @__PURE__ */ jsx23("span", {
|
|
2972
|
+
role: "group",
|
|
2971
2973
|
style: {
|
|
2972
2974
|
fontFamily: "sans-serif",
|
|
2973
2975
|
fontSize: 13,
|
|
2974
2976
|
lineHeight: "20px",
|
|
2975
2977
|
color: LIGHT_TEXT
|
|
2976
2978
|
},
|
|
2977
|
-
|
|
2979
|
+
"aria-label": "RMS level across all channels over the full audio track, including silence.",
|
|
2978
2980
|
children: value
|
|
2979
2981
|
});
|
|
2980
2982
|
};
|
|
@@ -3078,7 +3080,7 @@ var InlineEditableTitle = ({
|
|
|
3078
3080
|
onClick,
|
|
3079
3081
|
onCommit,
|
|
3080
3082
|
size = "default",
|
|
3081
|
-
|
|
3083
|
+
"aria-label": ariaLabel
|
|
3082
3084
|
}) => {
|
|
3083
3085
|
const [isEditing, setIsEditing] = useState12(false);
|
|
3084
3086
|
const [isHovered, setIsHovered] = useState12(false);
|
|
@@ -3159,7 +3161,8 @@ var InlineEditableTitle = ({
|
|
|
3159
3161
|
const inputStyle = isInspectorSize ? inspectorTitleInput : titleInput;
|
|
3160
3162
|
return /* @__PURE__ */ jsx24("div", {
|
|
3161
3163
|
style: isInspectorSize ? inspectorTitleWrapper : titleWrapper,
|
|
3162
|
-
|
|
3164
|
+
"aria-label": ariaLabel ?? value,
|
|
3165
|
+
role: "group",
|
|
3163
3166
|
children: /* @__PURE__ */ jsxs7("span", {
|
|
3164
3167
|
style: innerStyle,
|
|
3165
3168
|
onMouseEnter: () => setIsHovered(true),
|
|
@@ -3176,6 +3179,7 @@ var InlineEditableTitle = ({
|
|
|
3176
3179
|
}),
|
|
3177
3180
|
isEditing ? /* @__PURE__ */ jsx24("input", {
|
|
3178
3181
|
ref: focusInput,
|
|
3182
|
+
"aria-label": ariaLabel ?? value,
|
|
3179
3183
|
style: { ...gridItemStyle, ...inputStyle },
|
|
3180
3184
|
value: draftValue,
|
|
3181
3185
|
onChange,
|
|
@@ -3531,7 +3535,7 @@ var BackArrow = ({ color }) => {
|
|
|
3531
3535
|
})
|
|
3532
3536
|
});
|
|
3533
3537
|
};
|
|
3534
|
-
var InspectorBackAction = ({ children, disabled, onClick,
|
|
3538
|
+
var InspectorBackAction = ({ children, disabled, onClick, "aria-label": ariaLabel }) => {
|
|
3535
3539
|
return /* @__PURE__ */ jsx27("div", {
|
|
3536
3540
|
style: inspectorQuickActionsSection,
|
|
3537
3541
|
children: /* @__PURE__ */ jsx27(InspectorQuickAction, {
|
|
@@ -3540,7 +3544,7 @@ var InspectorBackAction = ({ children, disabled, onClick, title }) => {
|
|
|
3540
3544
|
renderIcon: (color) => /* @__PURE__ */ jsx27(BackArrow, {
|
|
3541
3545
|
color
|
|
3542
3546
|
}),
|
|
3543
|
-
|
|
3547
|
+
"aria-label": ariaLabel,
|
|
3544
3548
|
children
|
|
3545
3549
|
})
|
|
3546
3550
|
});
|
|
@@ -3605,13 +3609,29 @@ var inlineLabelText = {
|
|
|
3605
3609
|
WebkitUserSelect: "none",
|
|
3606
3610
|
whiteSpace: "nowrap"
|
|
3607
3611
|
};
|
|
3608
|
-
var
|
|
3612
|
+
var INSPECTOR_ACTION_ICON_SIZE = 18;
|
|
3613
|
+
var inspectorActionIconStyle = {
|
|
3614
|
+
display: "block",
|
|
3615
|
+
height: INSPECTOR_ACTION_ICON_SIZE,
|
|
3616
|
+
width: INSPECTOR_ACTION_ICON_SIZE
|
|
3617
|
+
};
|
|
3618
|
+
var inspectorActionIconContainerStyle = {
|
|
3609
3619
|
alignItems: "center",
|
|
3610
3620
|
display: "flex",
|
|
3611
3621
|
flexShrink: 0,
|
|
3612
|
-
height:
|
|
3622
|
+
height: INSPECTOR_ACTION_ICON_SIZE,
|
|
3613
3623
|
justifyContent: "center",
|
|
3614
|
-
width:
|
|
3624
|
+
width: INSPECTOR_ACTION_ICON_SIZE
|
|
3625
|
+
};
|
|
3626
|
+
var largeInspectorActionIconStyle = {
|
|
3627
|
+
height: 22,
|
|
3628
|
+
width: 22
|
|
3629
|
+
};
|
|
3630
|
+
var largeInspectorActionIconContainerStyle = {
|
|
3631
|
+
height: 22,
|
|
3632
|
+
marginLeft: -2,
|
|
3633
|
+
marginRight: -2,
|
|
3634
|
+
width: 22
|
|
3615
3635
|
};
|
|
3616
3636
|
var InspectorQuickAction = ({
|
|
3617
3637
|
children,
|
|
@@ -3621,7 +3641,7 @@ var InspectorQuickAction = ({
|
|
|
3621
3641
|
renderIcon,
|
|
3622
3642
|
size = "default",
|
|
3623
3643
|
style: style2,
|
|
3624
|
-
|
|
3644
|
+
"aria-label": ariaLabel
|
|
3625
3645
|
}) => {
|
|
3626
3646
|
const showsHover = !disabled && onClick !== null;
|
|
3627
3647
|
const buttonStyle = React16.useMemo(() => ({
|
|
@@ -3638,7 +3658,7 @@ var InspectorQuickAction = ({
|
|
|
3638
3658
|
const mainContent = /* @__PURE__ */ jsxs9(Fragment4, {
|
|
3639
3659
|
children: [
|
|
3640
3660
|
renderIcon ? /* @__PURE__ */ jsx27("span", {
|
|
3641
|
-
style: { ...
|
|
3661
|
+
style: { ...inspectorActionIconContainerStyle, ...iconContainerStyle },
|
|
3642
3662
|
children: renderIcon(CURRENT_COLOR)
|
|
3643
3663
|
}) : null,
|
|
3644
3664
|
/* @__PURE__ */ jsx27("span", {
|
|
@@ -3652,13 +3672,14 @@ var InspectorQuickAction = ({
|
|
|
3652
3672
|
type: "button",
|
|
3653
3673
|
disabled,
|
|
3654
3674
|
style: buttonStyle,
|
|
3655
|
-
|
|
3675
|
+
"aria-label": ariaLabel,
|
|
3656
3676
|
onClick,
|
|
3657
3677
|
children: mainContent
|
|
3658
3678
|
}) : /* @__PURE__ */ jsx27("div", {
|
|
3659
3679
|
className: HOVERABLE_CLASS_NAME,
|
|
3660
3680
|
style: buttonStyle,
|
|
3661
|
-
|
|
3681
|
+
"aria-label": ariaLabel,
|
|
3682
|
+
role: "group",
|
|
3662
3683
|
children: mainContent
|
|
3663
3684
|
});
|
|
3664
3685
|
return mainAction;
|
|
@@ -4350,7 +4371,7 @@ var AssetInfo = ({ assetName, contentSized = false, onAssetClick, readOnlyStudio
|
|
|
4350
4371
|
onClick: onAssetClick,
|
|
4351
4372
|
onCommit: onRename,
|
|
4352
4373
|
size: contentSized ? "default" : "inspector",
|
|
4353
|
-
|
|
4374
|
+
"aria-label": assetName
|
|
4354
4375
|
})
|
|
4355
4376
|
}),
|
|
4356
4377
|
fileDetails.length > 0 ? /* @__PURE__ */ jsx34(CollapsibleInspectorSection, {
|
|
@@ -4751,8 +4772,7 @@ var compactHelpIconPath = {
|
|
|
4751
4772
|
};
|
|
4752
4773
|
var CompactHelpLink = ({
|
|
4753
4774
|
href,
|
|
4754
|
-
ariaLabel
|
|
4755
|
-
title
|
|
4775
|
+
ariaLabel
|
|
4756
4776
|
}) => {
|
|
4757
4777
|
const [hovered, setHovered] = useState15(false);
|
|
4758
4778
|
return /* @__PURE__ */ jsx41("a", {
|
|
@@ -4761,7 +4781,6 @@ var CompactHelpLink = ({
|
|
|
4761
4781
|
rel: "noopener noreferrer",
|
|
4762
4782
|
style: hovered ? compactHelpLinkHovered : compactHelpLink,
|
|
4763
4783
|
"aria-label": ariaLabel,
|
|
4764
|
-
title,
|
|
4765
4784
|
onMouseEnter: () => setHovered(true),
|
|
4766
4785
|
onMouseLeave: () => setHovered(false),
|
|
4767
4786
|
children: /* @__PURE__ */ jsx41("svg", {
|
|
@@ -4789,8 +4808,7 @@ var CompactExplanation = ({
|
|
|
4789
4808
|
children,
|
|
4790
4809
|
learnMoreHref ? /* @__PURE__ */ jsx41(CompactHelpLink, {
|
|
4791
4810
|
href: learnMoreHref,
|
|
4792
|
-
ariaLabel: learnMoreAriaLabel ?? learnMoreTitle
|
|
4793
|
-
title: learnMoreTitle
|
|
4811
|
+
ariaLabel: learnMoreAriaLabel ?? learnMoreTitle
|
|
4794
4812
|
}) : null
|
|
4795
4813
|
]
|
|
4796
4814
|
});
|
|
@@ -6079,7 +6097,7 @@ var SchemaLabel = ({ jsonPath, onRemove, valid, suffix, handleClick, description
|
|
|
6079
6097
|
children: labelContent
|
|
6080
6098
|
}) : labelContent,
|
|
6081
6099
|
displayedDescription ? /* @__PURE__ */ jsx49(InfoBubble, {
|
|
6082
|
-
|
|
6100
|
+
"aria-label": "Field description",
|
|
6083
6101
|
horizontalAlignment: "right",
|
|
6084
6102
|
children: /* @__PURE__ */ jsx49("div", {
|
|
6085
6103
|
style: descriptionStyle,
|
|
@@ -6349,7 +6367,7 @@ var ZodFieldValidation = ({ zodValidation, path }) => {
|
|
|
6349
6367
|
x: 0.5
|
|
6350
6368
|
}),
|
|
6351
6369
|
/* @__PURE__ */ jsx54(InfoBubble, {
|
|
6352
|
-
|
|
6370
|
+
"aria-label": "Zod validation failure",
|
|
6353
6371
|
children: /* @__PURE__ */ jsxs22("div", {
|
|
6354
6372
|
style: stackTrace,
|
|
6355
6373
|
children: [
|
|
@@ -7199,7 +7217,6 @@ var ColorPickerPopup = ({ value, onChange, onChangeComplete }) => {
|
|
|
7199
7217
|
style: eyedropperButtonStyle,
|
|
7200
7218
|
onClick: onPickWithEyeDropper,
|
|
7201
7219
|
tabIndex,
|
|
7202
|
-
title: "Pick color from screen",
|
|
7203
7220
|
"aria-label": "Pick color from screen",
|
|
7204
7221
|
children: /* @__PURE__ */ jsx61(EyedropperIcon, {
|
|
7205
7222
|
style: { width: 14, height: 14 },
|
|
@@ -7207,8 +7224,9 @@ var ColorPickerPopup = ({ value, onChange, onChangeComplete }) => {
|
|
|
7207
7224
|
})
|
|
7208
7225
|
}) : null,
|
|
7209
7226
|
/* @__PURE__ */ jsx61("div", {
|
|
7227
|
+
role: "group",
|
|
7210
7228
|
style: previewSwatchStyle,
|
|
7211
|
-
|
|
7229
|
+
"aria-label": formatted,
|
|
7212
7230
|
children: /* @__PURE__ */ jsx61("div", {
|
|
7213
7231
|
style: previewFill
|
|
7214
7232
|
})
|
|
@@ -7325,7 +7343,7 @@ var ColorPicker = ({
|
|
|
7325
7343
|
width = 45,
|
|
7326
7344
|
height = 25,
|
|
7327
7345
|
borderRadius = 3,
|
|
7328
|
-
|
|
7346
|
+
"aria-label": ariaLabel,
|
|
7329
7347
|
name,
|
|
7330
7348
|
className,
|
|
7331
7349
|
style: customStyle
|
|
@@ -7468,7 +7486,7 @@ var ColorPicker = ({
|
|
|
7468
7486
|
className: [MENU_INITIATOR_CLASSNAME, SWATCH_CLASSNAME, className].filter(Boolean).join(" "),
|
|
7469
7487
|
disabled,
|
|
7470
7488
|
name,
|
|
7471
|
-
|
|
7489
|
+
"aria-label": ariaLabel ?? value,
|
|
7472
7490
|
tabIndex,
|
|
7473
7491
|
style: swatchStyle,
|
|
7474
7492
|
onPointerDown: onTriggerPointerDown,
|
|
@@ -7484,7 +7502,6 @@ var ColorPicker = ({
|
|
|
7484
7502
|
onPointerDown: onEyeDropperPointerDown,
|
|
7485
7503
|
onClick: onPickWithEyeDropper,
|
|
7486
7504
|
tabIndex,
|
|
7487
|
-
title: "Pick color from screen",
|
|
7488
7505
|
"aria-label": "Pick color from screen",
|
|
7489
7506
|
children: /* @__PURE__ */ jsx62(EyedropperIcon, {
|
|
7490
7507
|
style: eyedropperIconStyle,
|
|
@@ -7764,7 +7781,7 @@ var ZodEnumEditor = ({ schema, jsonPath, setValue, value, onRemove, mayPad }) =>
|
|
|
7764
7781
|
children: /* @__PURE__ */ jsx67(Combobox, {
|
|
7765
7782
|
values: comboBoxValues,
|
|
7766
7783
|
selectedId: value,
|
|
7767
|
-
|
|
7784
|
+
"aria-label": value,
|
|
7768
7785
|
size: "small"
|
|
7769
7786
|
})
|
|
7770
7787
|
}),
|
|
@@ -8631,7 +8648,6 @@ var InputDraggerForwardRefFn = ({
|
|
|
8631
8648
|
ref: ref2,
|
|
8632
8649
|
type: "button",
|
|
8633
8650
|
"aria-label": props["aria-label"],
|
|
8634
|
-
title: props.title,
|
|
8635
8651
|
className: "__remotion_input_dragger",
|
|
8636
8652
|
style: buttonStyle2 ? {
|
|
8637
8653
|
...small ? compactInputDraggerContainerStyle : inputDraggerContainerStyle,
|
|
@@ -8828,7 +8844,7 @@ var ZodStaticFileEditor = ({ schema, jsonPath, setValue, value, onRemove, mayPad
|
|
|
8828
8844
|
children: /* @__PURE__ */ jsx76(Combobox, {
|
|
8829
8845
|
values: comboBoxValues,
|
|
8830
8846
|
selectedId: value,
|
|
8831
|
-
|
|
8847
|
+
"aria-label": value,
|
|
8832
8848
|
size: "small"
|
|
8833
8849
|
})
|
|
8834
8850
|
}),
|
|
@@ -9490,7 +9506,7 @@ var ZodDiscriminatedUnionEditor = ({ schema, setValue, value, mayPad, jsonPath,
|
|
|
9490
9506
|
valid: zodValidation.success
|
|
9491
9507
|
}),
|
|
9492
9508
|
/* @__PURE__ */ jsx84(Combobox, {
|
|
9493
|
-
|
|
9509
|
+
"aria-label": "Select type",
|
|
9494
9510
|
values: comboBoxValues,
|
|
9495
9511
|
selectedId: value[discriminator],
|
|
9496
9512
|
size: "small"
|
|
@@ -12156,7 +12172,6 @@ var SegmentedButtonAction = ({ index, segment, segmentCount }) => {
|
|
|
12156
12172
|
onPointerDown,
|
|
12157
12173
|
style: style4,
|
|
12158
12174
|
tabIndex,
|
|
12159
|
-
title: segment.title ?? undefined,
|
|
12160
12175
|
type: "button",
|
|
12161
12176
|
children: segment.renderContent(CURRENT_COLOR)
|
|
12162
12177
|
});
|
|
@@ -12269,7 +12284,6 @@ var SegmentedButtonMenu = ({ index, segment, segmentCount }) => {
|
|
|
12269
12284
|
onPointerDown,
|
|
12270
12285
|
style: style4,
|
|
12271
12286
|
tabIndex,
|
|
12272
|
-
title: segment.title ?? undefined,
|
|
12273
12287
|
type: "button",
|
|
12274
12288
|
children: segment.renderContent(CURRENT_COLOR)
|
|
12275
12289
|
});
|
|
@@ -12311,10 +12325,9 @@ var SegmentedButtonMenu = ({ index, segment, segmentCount }) => {
|
|
|
12311
12325
|
]
|
|
12312
12326
|
});
|
|
12313
12327
|
};
|
|
12314
|
-
var SegmentedButton = ({ segments, style: style4
|
|
12328
|
+
var SegmentedButton = ({ segments, style: style4 }) => {
|
|
12315
12329
|
return /* @__PURE__ */ jsx104("div", {
|
|
12316
12330
|
style: { ...containerStyle3, ...style4 },
|
|
12317
|
-
title: title ?? undefined,
|
|
12318
12331
|
children: segments.map((segment, index) => {
|
|
12319
12332
|
if (segment.type === "action") {
|
|
12320
12333
|
return /* @__PURE__ */ jsx104(SegmentedButtonAction, {
|
|
@@ -12520,7 +12533,6 @@ var InspectorOpenInEditor = ({
|
|
|
12520
12533
|
}),
|
|
12521
12534
|
segmentId: "default-editor",
|
|
12522
12535
|
style: mainSegmentStyle,
|
|
12523
|
-
title: showTooltips ? "" : `Open in ${defaultAppName}`,
|
|
12524
12536
|
tooltipLabel: showTooltips ? `Open in ${defaultAppName}` : null,
|
|
12525
12537
|
type: "action"
|
|
12526
12538
|
}
|
|
@@ -12539,7 +12551,6 @@ var InspectorOpenInEditor = ({
|
|
|
12539
12551
|
segmentId: "another-app",
|
|
12540
12552
|
selectedId: null,
|
|
12541
12553
|
style: dropdownSegmentStyle,
|
|
12542
|
-
title: showTooltips ? "" : "Open in another app",
|
|
12543
12554
|
tooltipLabel: showTooltips ? "Open in another app" : null,
|
|
12544
12555
|
type: "menu",
|
|
12545
12556
|
values: menuItems
|
|
@@ -12564,8 +12575,7 @@ var InspectorOpenInEditor = ({
|
|
|
12564
12575
|
}
|
|
12565
12576
|
return /* @__PURE__ */ jsx105(SegmentedButton, {
|
|
12566
12577
|
segments,
|
|
12567
|
-
style: null
|
|
12568
|
-
title: null
|
|
12578
|
+
style: null
|
|
12569
12579
|
});
|
|
12570
12580
|
};
|
|
12571
12581
|
|
|
@@ -12656,7 +12666,7 @@ var InspectorLocationCopy = ({ children, location, name, openInEditorLocation })
|
|
|
12656
12666
|
variant: null,
|
|
12657
12667
|
onClick: onCopy,
|
|
12658
12668
|
renderAction: renderCopyAction,
|
|
12659
|
-
|
|
12669
|
+
"aria-label": "Copy context for agents"
|
|
12660
12670
|
}) : null
|
|
12661
12671
|
]
|
|
12662
12672
|
}) : null
|
|
@@ -12755,14 +12765,14 @@ var InspectorSourceLocation = ({ location, canOpen, onOpen, renderIcon, size = "
|
|
|
12755
12765
|
onClick,
|
|
12756
12766
|
renderIcon: (iconColor) => renderIcon?.(iconColor),
|
|
12757
12767
|
style: quickActionStyle,
|
|
12758
|
-
|
|
12768
|
+
"aria-label": fileLocation ?? undefined,
|
|
12759
12769
|
children: label3
|
|
12760
12770
|
});
|
|
12761
12771
|
}
|
|
12762
12772
|
return /* @__PURE__ */ jsxs52("button", {
|
|
12763
12773
|
type: "button",
|
|
12764
12774
|
style: style4,
|
|
12765
|
-
|
|
12775
|
+
"aria-label": fileLocation ?? undefined,
|
|
12766
12776
|
onClick,
|
|
12767
12777
|
onPointerEnter: () => setHovered(true),
|
|
12768
12778
|
onPointerLeave: () => setHovered(false),
|
|
@@ -13221,7 +13231,7 @@ var dimensionPresets = [
|
|
|
13221
13231
|
{ height: 1080, label: "Square", width: 1080 }
|
|
13222
13232
|
];
|
|
13223
13233
|
var frameRatePresets = [23.976, 24, 25, 29.97, 30, 50, 60];
|
|
13224
|
-
var PresetDropdown = ({ disabled,
|
|
13234
|
+
var PresetDropdown = ({ disabled, "aria-label": ariaLabel, values, visible }) => {
|
|
13225
13235
|
const renderAction = useCallback58((color) => {
|
|
13226
13236
|
return /* @__PURE__ */ jsx110("span", {
|
|
13227
13237
|
style: presetButtonIcon,
|
|
@@ -13238,7 +13248,7 @@ var PresetDropdown = ({ disabled, title, values, visible }) => {
|
|
|
13238
13248
|
children: /* @__PURE__ */ jsx110(InlineDropdown, {
|
|
13239
13249
|
disabled,
|
|
13240
13250
|
renderAction,
|
|
13241
|
-
|
|
13251
|
+
"aria-label": ariaLabel,
|
|
13242
13252
|
values,
|
|
13243
13253
|
variant: "compact"
|
|
13244
13254
|
})
|
|
@@ -13446,7 +13456,7 @@ var CompositionMetadata = ({ compositionId, disabled, stack }) => {
|
|
|
13446
13456
|
}),
|
|
13447
13457
|
disabled || widthIsComputed || heightIsComputed ? null : /* @__PURE__ */ jsx110(PresetDropdown, {
|
|
13448
13458
|
disabled: pendingValues.width !== undefined || pendingValues.height !== undefined,
|
|
13449
|
-
|
|
13459
|
+
"aria-label": "Choose dimension preset",
|
|
13450
13460
|
values: dimensionPresetValues,
|
|
13451
13461
|
visible: hovered
|
|
13452
13462
|
})
|
|
@@ -13486,7 +13496,7 @@ var CompositionMetadata = ({ compositionId, disabled, stack }) => {
|
|
|
13486
13496
|
}),
|
|
13487
13497
|
disabled || fpsIsComputed ? null : /* @__PURE__ */ jsx110(PresetDropdown, {
|
|
13488
13498
|
disabled: pendingValues.fps !== undefined,
|
|
13489
|
-
|
|
13499
|
+
"aria-label": "Choose frame rate preset",
|
|
13490
13500
|
values: frameRatePresetValues,
|
|
13491
13501
|
visible: hovered
|
|
13492
13502
|
})
|
|
@@ -13541,16 +13551,6 @@ var BrowseElementsIcon = ({ color, ...props }) => {
|
|
|
13541
13551
|
// src/components/InspectorPanel/ElementLibraryButton.tsx
|
|
13542
13552
|
import { jsx as jsx112, jsxs as jsxs56, Fragment as Fragment15 } from "react/jsx-runtime";
|
|
13543
13553
|
var noElementLibraries = [];
|
|
13544
|
-
var browseElementsIconStyle = {
|
|
13545
|
-
height: 22,
|
|
13546
|
-
width: 22
|
|
13547
|
-
};
|
|
13548
|
-
var browseElementsIconContainerStyle = {
|
|
13549
|
-
height: 22,
|
|
13550
|
-
marginLeft: -2,
|
|
13551
|
-
marginRight: -2,
|
|
13552
|
-
width: 22
|
|
13553
|
-
};
|
|
13554
13554
|
var elementLibraryDropdownStyle = {
|
|
13555
13555
|
borderRadius: 4,
|
|
13556
13556
|
height: 28,
|
|
@@ -13607,10 +13607,10 @@ var ElementLibraryButton = () => {
|
|
|
13607
13607
|
renderContent: (color) => /* @__PURE__ */ jsxs56(Fragment15, {
|
|
13608
13608
|
children: [
|
|
13609
13609
|
/* @__PURE__ */ jsx112("span", {
|
|
13610
|
-
style:
|
|
13610
|
+
style: largeInspectorActionIconContainerStyle,
|
|
13611
13611
|
children: /* @__PURE__ */ jsx112(BrowseElementsIcon, {
|
|
13612
13612
|
color,
|
|
13613
|
-
style:
|
|
13613
|
+
style: largeInspectorActionIconStyle
|
|
13614
13614
|
})
|
|
13615
13615
|
}),
|
|
13616
13616
|
/* @__PURE__ */ jsx112("span", {
|
|
@@ -13628,7 +13628,6 @@ var ElementLibraryButton = () => {
|
|
|
13628
13628
|
segmentId: "element-library",
|
|
13629
13629
|
selectedId: null,
|
|
13630
13630
|
style: elementLibraryDropdownSegmentStyle,
|
|
13631
|
-
title: "Choose an Element Library to browse inside Studio.",
|
|
13632
13631
|
tooltipLabel: null,
|
|
13633
13632
|
type: "menu",
|
|
13634
13633
|
values: [
|
|
@@ -13667,19 +13666,18 @@ var ElementLibraryButton = () => {
|
|
|
13667
13666
|
if (elementLibraries.length > 0) {
|
|
13668
13667
|
return /* @__PURE__ */ jsx112(SegmentedButton, {
|
|
13669
13668
|
segments: elementLibraryDropdownSegments,
|
|
13670
|
-
style: elementLibraryDropdownStyle
|
|
13671
|
-
title: null
|
|
13669
|
+
style: elementLibraryDropdownStyle
|
|
13672
13670
|
});
|
|
13673
13671
|
}
|
|
13674
13672
|
return /* @__PURE__ */ jsx112(InspectorQuickAction, {
|
|
13675
13673
|
disabled: false,
|
|
13676
|
-
iconContainerStyle:
|
|
13674
|
+
iconContainerStyle: largeInspectorActionIconContainerStyle,
|
|
13677
13675
|
onClick: openElementsLibrary,
|
|
13678
13676
|
renderIcon: (color) => /* @__PURE__ */ jsx112(BrowseElementsIcon, {
|
|
13679
13677
|
color,
|
|
13680
|
-
style:
|
|
13678
|
+
style: largeInspectorActionIconStyle
|
|
13681
13679
|
}),
|
|
13682
|
-
|
|
13680
|
+
"aria-label": "Browse the Remotion Elements library inside Studio.",
|
|
13683
13681
|
children: "Browse Elements"
|
|
13684
13682
|
});
|
|
13685
13683
|
};
|
|
@@ -14864,10 +14862,6 @@ var useCompositionActions = () => {
|
|
|
14864
14862
|
|
|
14865
14863
|
// src/components/InspectorPanel/CompositionInspector.tsx
|
|
14866
14864
|
import { jsx as jsx113, jsxs as jsxs57, Fragment as Fragment16 } from "react/jsx-runtime";
|
|
14867
|
-
var actionIconStyle = {
|
|
14868
|
-
height: 18,
|
|
14869
|
-
width: 18
|
|
14870
|
-
};
|
|
14871
14865
|
var downloadLicenseAgreement = {
|
|
14872
14866
|
color: LIGHT_TEXT,
|
|
14873
14867
|
fontFamily: "sans-serif",
|
|
@@ -14952,7 +14946,7 @@ var CompositionActions = () => {
|
|
|
14952
14946
|
onClick: insertSolid,
|
|
14953
14947
|
renderIcon: (color) => /* @__PURE__ */ jsx113(SolidIcon, {
|
|
14954
14948
|
color,
|
|
14955
|
-
style:
|
|
14949
|
+
style: inspectorActionIconStyle
|
|
14956
14950
|
}),
|
|
14957
14951
|
children: "Add Solid"
|
|
14958
14952
|
}) : null,
|
|
@@ -14961,7 +14955,7 @@ var CompositionActions = () => {
|
|
|
14961
14955
|
onClick: insertAsset,
|
|
14962
14956
|
renderIcon: (color) => /* @__PURE__ */ jsx113(PicIcon, {
|
|
14963
14957
|
color,
|
|
14964
|
-
style:
|
|
14958
|
+
style: inspectorActionIconStyle
|
|
14965
14959
|
}),
|
|
14966
14960
|
children: "Add asset..."
|
|
14967
14961
|
}) : null,
|
|
@@ -14970,16 +14964,17 @@ var CompositionActions = () => {
|
|
|
14970
14964
|
onClick: insertComposition2,
|
|
14971
14965
|
renderIcon: (color) => /* @__PURE__ */ jsx113(FilmIcon, {
|
|
14972
14966
|
color,
|
|
14973
|
-
style:
|
|
14967
|
+
style: inspectorActionIconStyle
|
|
14974
14968
|
}),
|
|
14975
14969
|
children: "Add composition..."
|
|
14976
14970
|
}) : null,
|
|
14977
14971
|
canShowGenerateWithAgent ? /* @__PURE__ */ jsx113(InspectorQuickAction, {
|
|
14978
14972
|
disabled: false,
|
|
14973
|
+
iconContainerStyle: largeInspectorActionIconContainerStyle,
|
|
14979
14974
|
onClick: generateWithAgent,
|
|
14980
14975
|
renderIcon: (color) => /* @__PURE__ */ jsx113(SparklesIcon, {
|
|
14981
14976
|
color,
|
|
14982
|
-
style:
|
|
14977
|
+
style: largeInspectorActionIconStyle
|
|
14983
14978
|
}),
|
|
14984
14979
|
children: "Generate with agent..."
|
|
14985
14980
|
}) : null,
|
|
@@ -14989,7 +14984,7 @@ var CompositionActions = () => {
|
|
|
14989
14984
|
onClick: onDownloadProject,
|
|
14990
14985
|
renderIcon: (color) => /* @__PURE__ */ jsx113(CloudDownloadIcon, {
|
|
14991
14986
|
color,
|
|
14992
|
-
style:
|
|
14987
|
+
style: inspectorActionIconStyle
|
|
14993
14988
|
}),
|
|
14994
14989
|
children: "Download project"
|
|
14995
14990
|
}) : null
|
|
@@ -21276,16 +21271,19 @@ import {
|
|
|
21276
21271
|
} from "react";
|
|
21277
21272
|
import { Internals as Internals32 } from "remotion";
|
|
21278
21273
|
|
|
21279
|
-
// src/icons/
|
|
21274
|
+
// src/icons/split.tsx
|
|
21280
21275
|
import { jsx as jsx122 } from "react/jsx-runtime";
|
|
21281
|
-
var
|
|
21276
|
+
var SplitIcon = ({ color, ...props }) => {
|
|
21282
21277
|
return /* @__PURE__ */ jsx122("svg", {
|
|
21283
|
-
|
|
21284
|
-
viewBox: "0 0 512 512",
|
|
21278
|
+
viewBox: "0 0 640 640",
|
|
21285
21279
|
...props,
|
|
21286
21280
|
children: /* @__PURE__ */ jsx122("path", {
|
|
21287
|
-
|
|
21288
|
-
|
|
21281
|
+
d: "M152 112h72c26.5 0 48 21.5 48 48v320c0 26.5-21.5 48-48 48h-72M488 112h-72c-26.5 0-48 21.5-48 48v320c0 26.5 21.5 48 48 48h72",
|
|
21282
|
+
fill: "none",
|
|
21283
|
+
stroke: color,
|
|
21284
|
+
strokeWidth: 32,
|
|
21285
|
+
strokeLinecap: "round",
|
|
21286
|
+
strokeLinejoin: "round"
|
|
21289
21287
|
})
|
|
21290
21288
|
});
|
|
21291
21289
|
};
|
|
@@ -21470,8 +21468,9 @@ var TimelineFieldLabel = ({ rowDepth, selected, label: label3, stacked = false }
|
|
|
21470
21468
|
return /* @__PURE__ */ jsx124("div", {
|
|
21471
21469
|
style: labelRowStyle,
|
|
21472
21470
|
children: /* @__PURE__ */ jsx124("span", {
|
|
21471
|
+
role: "group",
|
|
21473
21472
|
style: fieldNameStyle,
|
|
21474
|
-
|
|
21473
|
+
"aria-label": label3,
|
|
21475
21474
|
children: label3
|
|
21476
21475
|
})
|
|
21477
21476
|
});
|
|
@@ -23452,7 +23451,7 @@ var TimelineAssetField = ({
|
|
|
23452
23451
|
variant: null,
|
|
23453
23452
|
onClick: openAssetSelection,
|
|
23454
23453
|
disabled: window.remotion_isReadOnlyStudio,
|
|
23455
|
-
|
|
23454
|
+
"aria-label": "Change source",
|
|
23456
23455
|
renderAction: (color) => /* @__PURE__ */ jsx131(PenIcon, {
|
|
23457
23456
|
color,
|
|
23458
23457
|
style: penIcon
|
|
@@ -23480,7 +23479,7 @@ var TimelineAssetField = ({
|
|
|
23480
23479
|
}
|
|
23481
23480
|
}
|
|
23482
23481
|
const opensSource = linkInfo.kind === "local" && inlineSourceAction !== null && inlineSourceAction.onClick !== null;
|
|
23483
|
-
const
|
|
23482
|
+
const sourceDescription = inlineSourceAction?.["aria-label"] ?? linkInfo.title;
|
|
23484
23483
|
const onPreviewClick = opensSource ? inlineSourceAction.onClick : openAssetSelection;
|
|
23485
23484
|
const previewLabel = `${opensSource ? "Open" : "Replace"} ${name}`;
|
|
23486
23485
|
const previewDisabled = opensSource ? inlineSourceAction.disabled : window.remotion_isReadOnlyStudio;
|
|
@@ -23495,11 +23494,11 @@ var TimelineAssetField = ({
|
|
|
23495
23494
|
};
|
|
23496
23495
|
const previewAction = /* @__PURE__ */ jsxs63("button", {
|
|
23497
23496
|
"aria-label": previewLabel,
|
|
23497
|
+
"aria-description": sourceDescription,
|
|
23498
23498
|
className: `${HOVERABLE_CLASS_NAME} ${FOCUS_VISIBLE_ONLY_CLASS_NAME}`,
|
|
23499
23499
|
disabled: previewDisabled,
|
|
23500
23500
|
onClick: onPreviewClick,
|
|
23501
23501
|
style: previewButtonStyle,
|
|
23502
|
-
title,
|
|
23503
23502
|
type: "button",
|
|
23504
23503
|
children: [
|
|
23505
23504
|
/* @__PURE__ */ jsx131("span", {
|
|
@@ -23632,7 +23631,7 @@ var TimelineColorField = ({
|
|
|
23632
23631
|
/* @__PURE__ */ jsx133("button", {
|
|
23633
23632
|
type: "button",
|
|
23634
23633
|
style: setButtonStyle,
|
|
23635
|
-
|
|
23634
|
+
"aria-label": `Set ${field.description ?? field.key} to gray`,
|
|
23636
23635
|
onClick: () => onChangeComplete(DEFAULT_SET_COLOR),
|
|
23637
23636
|
children: "Set"
|
|
23638
23637
|
})
|
|
@@ -23650,7 +23649,7 @@ var TimelineColorField = ({
|
|
|
23650
23649
|
height: SWATCH_HEIGHT,
|
|
23651
23650
|
disabled: false,
|
|
23652
23651
|
name: field.key,
|
|
23653
|
-
|
|
23652
|
+
"aria-label": currentValue
|
|
23654
23653
|
})
|
|
23655
23654
|
});
|
|
23656
23655
|
};
|
|
@@ -23697,7 +23696,7 @@ var TimelineEnumField = ({
|
|
|
23697
23696
|
}, [variantKeys, onSelect]);
|
|
23698
23697
|
return /* @__PURE__ */ jsx134(Combobox, {
|
|
23699
23698
|
size: "small",
|
|
23700
|
-
|
|
23699
|
+
"aria-label": field.key,
|
|
23701
23700
|
selectedId: current,
|
|
23702
23701
|
values: items
|
|
23703
23702
|
});
|
|
@@ -25714,7 +25713,7 @@ var TimelineFontFamilyField = ({
|
|
|
25714
25713
|
children: [
|
|
25715
25714
|
/* @__PURE__ */ jsxs65("button", {
|
|
25716
25715
|
ref: buttonRef,
|
|
25717
|
-
|
|
25716
|
+
"aria-label": field.key,
|
|
25718
25717
|
tabIndex,
|
|
25719
25718
|
type: "button",
|
|
25720
25719
|
style: style4,
|
|
@@ -25733,7 +25732,8 @@ var TimelineFontFamilyField = ({
|
|
|
25733
25732
|
onMouseLeave: () => setHovered(false),
|
|
25734
25733
|
children: [
|
|
25735
25734
|
/* @__PURE__ */ jsx135("div", {
|
|
25736
|
-
|
|
25735
|
+
role: "group",
|
|
25736
|
+
"aria-label": selected.label,
|
|
25737
25737
|
style: { ...triggerLabel, ...selectedPreviewStyle },
|
|
25738
25738
|
children: selected.label
|
|
25739
25739
|
}),
|
|
@@ -25968,7 +25968,7 @@ var TimelineFontWeightField = ({
|
|
|
25968
25968
|
if (FONT_WEIGHT_KEYWORDS.includes(sourceValue)) {
|
|
25969
25969
|
return /* @__PURE__ */ jsx137(Combobox, {
|
|
25970
25970
|
size: "small",
|
|
25971
|
-
|
|
25971
|
+
"aria-label": field.key,
|
|
25972
25972
|
selectedId: String(currentValue),
|
|
25973
25973
|
values: keywordItems
|
|
25974
25974
|
});
|
|
@@ -26296,7 +26296,6 @@ var LinkToggle = ({ linked, onToggle }) => {
|
|
|
26296
26296
|
type: "button",
|
|
26297
26297
|
style: toggleStyle,
|
|
26298
26298
|
onPointerDown,
|
|
26299
|
-
title: linked ? "Unlink scale axes" : "Link scale axes",
|
|
26300
26299
|
"aria-label": linked ? "Unlink scale axes" : "Link scale axes",
|
|
26301
26300
|
children: linked ? /* @__PURE__ */ jsx140("svg", {
|
|
26302
26301
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -26649,6 +26648,9 @@ var TimelineScaleField = ({
|
|
|
26649
26648
|
};
|
|
26650
26649
|
|
|
26651
26650
|
// ../paths/dist/esm/index.mjs
|
|
26651
|
+
import {
|
|
26652
|
+
interpolate as interpolate3
|
|
26653
|
+
} from "remotion/no-react";
|
|
26652
26654
|
var length = {
|
|
26653
26655
|
a: 7,
|
|
26654
26656
|
A: 7,
|
|
@@ -26922,7 +26924,352 @@ var parsePath = (path) => {
|
|
|
26922
26924
|
throw new Error(`Invalid path element ${segmentString}`);
|
|
26923
26925
|
}, []).flat(1);
|
|
26924
26926
|
};
|
|
26927
|
+
var convertQToCInstruction = (instruction, startPoint) => {
|
|
26928
|
+
const cp1x = startPoint.x + 2 / 3 * (instruction.cpx - startPoint.x);
|
|
26929
|
+
const cp1y = startPoint.y + 2 / 3 * (instruction.cpy - startPoint.y);
|
|
26930
|
+
const cp2x = instruction.x + 2 / 3 * (instruction.cpx - instruction.x);
|
|
26931
|
+
const cp2y = instruction.y + 2 / 3 * (instruction.cpy - instruction.y);
|
|
26932
|
+
return {
|
|
26933
|
+
type: "C",
|
|
26934
|
+
cp1x,
|
|
26935
|
+
cp1y,
|
|
26936
|
+
cp2x,
|
|
26937
|
+
cp2y,
|
|
26938
|
+
x: instruction.x,
|
|
26939
|
+
y: instruction.y
|
|
26940
|
+
};
|
|
26941
|
+
};
|
|
26942
|
+
var iterateOverSegments = ({
|
|
26943
|
+
segments,
|
|
26944
|
+
iterate
|
|
26945
|
+
}) => {
|
|
26946
|
+
let x = 0;
|
|
26947
|
+
let y = 0;
|
|
26948
|
+
let initialX = 0;
|
|
26949
|
+
let initialY = 0;
|
|
26950
|
+
let cpX = null;
|
|
26951
|
+
let cpY = null;
|
|
26952
|
+
const newSegments = segments.map((s, i) => {
|
|
26953
|
+
const newSeg = iterate({
|
|
26954
|
+
segment: s,
|
|
26955
|
+
x,
|
|
26956
|
+
y,
|
|
26957
|
+
prevSegment: segments[i - 1] ?? null,
|
|
26958
|
+
initialX,
|
|
26959
|
+
initialY,
|
|
26960
|
+
cpX,
|
|
26961
|
+
cpY
|
|
26962
|
+
});
|
|
26963
|
+
switch (s.type) {
|
|
26964
|
+
case "M":
|
|
26965
|
+
initialX = s.x;
|
|
26966
|
+
initialY = s.y;
|
|
26967
|
+
x = s.x;
|
|
26968
|
+
y = s.y;
|
|
26969
|
+
cpX = null;
|
|
26970
|
+
cpY = null;
|
|
26971
|
+
break;
|
|
26972
|
+
case "Q":
|
|
26973
|
+
x = s.x;
|
|
26974
|
+
y = s.y;
|
|
26975
|
+
cpX = s.cpx;
|
|
26976
|
+
cpY = s.cpy;
|
|
26977
|
+
break;
|
|
26978
|
+
case "A":
|
|
26979
|
+
x = s.x;
|
|
26980
|
+
y = s.y;
|
|
26981
|
+
cpX = null;
|
|
26982
|
+
cpY = null;
|
|
26983
|
+
break;
|
|
26984
|
+
case "C":
|
|
26985
|
+
x = s.x;
|
|
26986
|
+
y = s.y;
|
|
26987
|
+
cpX = s.cp2x;
|
|
26988
|
+
cpY = s.cp2y;
|
|
26989
|
+
break;
|
|
26990
|
+
case "S":
|
|
26991
|
+
x = s.x;
|
|
26992
|
+
y = s.y;
|
|
26993
|
+
cpX = s.cpx;
|
|
26994
|
+
cpY = s.cpy;
|
|
26995
|
+
break;
|
|
26996
|
+
case "T":
|
|
26997
|
+
if (cpX !== null && cpY !== null) {
|
|
26998
|
+
cpX = x - (cpX - x);
|
|
26999
|
+
cpY = y - (cpY - y);
|
|
27000
|
+
}
|
|
27001
|
+
x = s.x;
|
|
27002
|
+
y = s.y;
|
|
27003
|
+
break;
|
|
27004
|
+
case "L":
|
|
27005
|
+
x = s.x;
|
|
27006
|
+
y = s.y;
|
|
27007
|
+
cpX = null;
|
|
27008
|
+
cpY = null;
|
|
27009
|
+
break;
|
|
27010
|
+
case "V":
|
|
27011
|
+
y = s.y;
|
|
27012
|
+
cpX = null;
|
|
27013
|
+
cpY = null;
|
|
27014
|
+
break;
|
|
27015
|
+
case "H":
|
|
27016
|
+
x = s.x;
|
|
27017
|
+
cpX = null;
|
|
27018
|
+
cpY = null;
|
|
27019
|
+
break;
|
|
27020
|
+
case "Z":
|
|
27021
|
+
x = initialX;
|
|
27022
|
+
y = initialY;
|
|
27023
|
+
cpX = null;
|
|
27024
|
+
cpY = null;
|
|
27025
|
+
break;
|
|
27026
|
+
default:
|
|
27027
|
+
throw new Error(`Unexpected instruction ${s.type}`);
|
|
27028
|
+
}
|
|
27029
|
+
return newSeg;
|
|
27030
|
+
});
|
|
27031
|
+
return newSegments.flat(1);
|
|
27032
|
+
};
|
|
26925
27033
|
var TAU = Math.PI * 2;
|
|
27034
|
+
function approximate_unit_arc(theta1, delta_theta) {
|
|
27035
|
+
const alpha = 4 / 3 * Math.tan(delta_theta / 4);
|
|
27036
|
+
const x1 = Math.cos(theta1);
|
|
27037
|
+
const y1 = Math.sin(theta1);
|
|
27038
|
+
const x2 = Math.cos(theta1 + delta_theta);
|
|
27039
|
+
const y2 = Math.sin(theta1 + delta_theta);
|
|
27040
|
+
return [
|
|
27041
|
+
x1,
|
|
27042
|
+
y1,
|
|
27043
|
+
x1 - y1 * alpha,
|
|
27044
|
+
y1 + x1 * alpha,
|
|
27045
|
+
x2 + y2 * alpha,
|
|
27046
|
+
y2 - x2 * alpha,
|
|
27047
|
+
x2,
|
|
27048
|
+
y2
|
|
27049
|
+
];
|
|
27050
|
+
}
|
|
27051
|
+
function unit_vector_angle(ux, uy, vx, vy) {
|
|
27052
|
+
const sign = ux * vy - uy * vx < 0 ? -1 : 1;
|
|
27053
|
+
let dot = ux * vx + uy * vy;
|
|
27054
|
+
if (dot > 1) {
|
|
27055
|
+
dot = 1;
|
|
27056
|
+
}
|
|
27057
|
+
if (dot < -1) {
|
|
27058
|
+
dot = -1;
|
|
27059
|
+
}
|
|
27060
|
+
return sign * Math.acos(dot);
|
|
27061
|
+
}
|
|
27062
|
+
function get_arc_center({
|
|
27063
|
+
x1,
|
|
27064
|
+
y1,
|
|
27065
|
+
x2,
|
|
27066
|
+
y2,
|
|
27067
|
+
largeArcFlag,
|
|
27068
|
+
sweepFlag,
|
|
27069
|
+
rx,
|
|
27070
|
+
ry,
|
|
27071
|
+
sin_phi,
|
|
27072
|
+
cos_phi
|
|
27073
|
+
}) {
|
|
27074
|
+
const x1p = cos_phi * (x1 - x2) / 2 + sin_phi * (y1 - y2) / 2;
|
|
27075
|
+
const y1p = -sin_phi * (x1 - x2) / 2 + cos_phi * (y1 - y2) / 2;
|
|
27076
|
+
const rx_sq = rx * rx;
|
|
27077
|
+
const ry_sq = ry * ry;
|
|
27078
|
+
const x1p_sq = x1p * x1p;
|
|
27079
|
+
const y1p_sq = y1p * y1p;
|
|
27080
|
+
let radicant = rx_sq * ry_sq - rx_sq * y1p_sq - ry_sq * x1p_sq;
|
|
27081
|
+
if (radicant < 0) {
|
|
27082
|
+
radicant = 0;
|
|
27083
|
+
}
|
|
27084
|
+
radicant /= rx_sq * y1p_sq + ry_sq * x1p_sq;
|
|
27085
|
+
radicant = Math.sqrt(radicant) * (largeArcFlag === sweepFlag ? -1 : 1);
|
|
27086
|
+
const cxp = radicant * rx / ry * y1p;
|
|
27087
|
+
const cyp = radicant * -ry / rx * x1p;
|
|
27088
|
+
const cx = cos_phi * cxp - sin_phi * cyp + (x1 + x2) / 2;
|
|
27089
|
+
const cy = sin_phi * cxp + cos_phi * cyp + (y1 + y2) / 2;
|
|
27090
|
+
const v1x = (x1p - cxp) / rx;
|
|
27091
|
+
const v1y = (y1p - cyp) / ry;
|
|
27092
|
+
const v2x = (-x1p - cxp) / rx;
|
|
27093
|
+
const v2y = (-y1p - cyp) / ry;
|
|
27094
|
+
const theta1 = unit_vector_angle(1, 0, v1x, v1y);
|
|
27095
|
+
let delta_theta = unit_vector_angle(v1x, v1y, v2x, v2y);
|
|
27096
|
+
if (sweepFlag === false && delta_theta > 0) {
|
|
27097
|
+
delta_theta -= TAU;
|
|
27098
|
+
}
|
|
27099
|
+
if (sweepFlag === true && delta_theta < 0) {
|
|
27100
|
+
delta_theta += TAU;
|
|
27101
|
+
}
|
|
27102
|
+
return [cx, cy, theta1, delta_theta];
|
|
27103
|
+
}
|
|
27104
|
+
function arcToCircle({
|
|
27105
|
+
x1,
|
|
27106
|
+
y1,
|
|
27107
|
+
x2,
|
|
27108
|
+
y2,
|
|
27109
|
+
largeArcFlag,
|
|
27110
|
+
sweepFlag,
|
|
27111
|
+
rx,
|
|
27112
|
+
ry,
|
|
27113
|
+
phi
|
|
27114
|
+
}) {
|
|
27115
|
+
const sin_phi = Math.sin(phi * TAU / 360);
|
|
27116
|
+
const cos_phi = Math.cos(phi * TAU / 360);
|
|
27117
|
+
const x1p = cos_phi * (x1 - x2) / 2 + sin_phi * (y1 - y2) / 2;
|
|
27118
|
+
const y1p = -sin_phi * (x1 - x2) / 2 + cos_phi * (y1 - y2) / 2;
|
|
27119
|
+
if (x1p === 0 && y1p === 0) {
|
|
27120
|
+
return [];
|
|
27121
|
+
}
|
|
27122
|
+
if (rx === 0 || ry === 0) {
|
|
27123
|
+
return [];
|
|
27124
|
+
}
|
|
27125
|
+
rx = Math.abs(rx);
|
|
27126
|
+
ry = Math.abs(ry);
|
|
27127
|
+
const lambda = x1p * x1p / (rx * rx) + y1p * y1p / (ry * ry);
|
|
27128
|
+
if (lambda > 1) {
|
|
27129
|
+
rx *= Math.sqrt(lambda);
|
|
27130
|
+
ry *= Math.sqrt(lambda);
|
|
27131
|
+
}
|
|
27132
|
+
const cc = get_arc_center({
|
|
27133
|
+
x1,
|
|
27134
|
+
y1,
|
|
27135
|
+
x2,
|
|
27136
|
+
y2,
|
|
27137
|
+
largeArcFlag,
|
|
27138
|
+
sweepFlag,
|
|
27139
|
+
rx,
|
|
27140
|
+
ry,
|
|
27141
|
+
sin_phi,
|
|
27142
|
+
cos_phi
|
|
27143
|
+
});
|
|
27144
|
+
const result = [];
|
|
27145
|
+
let theta1 = cc[2];
|
|
27146
|
+
let delta_theta = cc[3];
|
|
27147
|
+
const segments = Math.max(Math.ceil(Math.abs(delta_theta) / (TAU / 4)), 1);
|
|
27148
|
+
delta_theta /= segments;
|
|
27149
|
+
for (let i = 0;i < segments; i++) {
|
|
27150
|
+
result.push(approximate_unit_arc(theta1, delta_theta));
|
|
27151
|
+
theta1 += delta_theta;
|
|
27152
|
+
}
|
|
27153
|
+
return result.map((curve) => {
|
|
27154
|
+
for (let i = 0;i < curve.length; i += 2) {
|
|
27155
|
+
let x = curve[i + 0];
|
|
27156
|
+
let y = curve[i + 1];
|
|
27157
|
+
x *= rx;
|
|
27158
|
+
y *= ry;
|
|
27159
|
+
const xp = cos_phi * x - sin_phi * y;
|
|
27160
|
+
const yp = sin_phi * x + cos_phi * y;
|
|
27161
|
+
curve[i + 0] = xp + cc[0];
|
|
27162
|
+
curve[i + 1] = yp + cc[1];
|
|
27163
|
+
}
|
|
27164
|
+
return curve;
|
|
27165
|
+
});
|
|
27166
|
+
}
|
|
27167
|
+
var removeATSHVQInstructions = (segments) => {
|
|
27168
|
+
return iterateOverSegments({
|
|
27169
|
+
segments,
|
|
27170
|
+
iterate: ({ segment, prevSegment, x, y, cpX, cpY }) => {
|
|
27171
|
+
if (segment.type === "H") {
|
|
27172
|
+
return [{ type: "L", x: segment.x, y }];
|
|
27173
|
+
}
|
|
27174
|
+
if (segment.type === "V") {
|
|
27175
|
+
return [{ type: "L", x, y: segment.y }];
|
|
27176
|
+
}
|
|
27177
|
+
if (segment.type === "A") {
|
|
27178
|
+
const nextX = segment.x;
|
|
27179
|
+
const nextY = segment.y;
|
|
27180
|
+
const new_segments = arcToCircle({
|
|
27181
|
+
x1: x,
|
|
27182
|
+
y1: y,
|
|
27183
|
+
x2: nextX,
|
|
27184
|
+
y2: nextY,
|
|
27185
|
+
largeArcFlag: segment.largeArcFlag,
|
|
27186
|
+
sweepFlag: segment.sweepFlag,
|
|
27187
|
+
rx: segment.rx,
|
|
27188
|
+
ry: segment.ry,
|
|
27189
|
+
phi: segment.xAxisRotation
|
|
27190
|
+
});
|
|
27191
|
+
if (new_segments.length === 0) {
|
|
27192
|
+
return [
|
|
27193
|
+
{
|
|
27194
|
+
type: "L",
|
|
27195
|
+
x: segment.x,
|
|
27196
|
+
y: segment.y
|
|
27197
|
+
}
|
|
27198
|
+
];
|
|
27199
|
+
}
|
|
27200
|
+
const result = new_segments.map((_s) => {
|
|
27201
|
+
return {
|
|
27202
|
+
type: "C",
|
|
27203
|
+
cp1x: _s[2],
|
|
27204
|
+
cp1y: _s[3],
|
|
27205
|
+
cp2x: _s[4],
|
|
27206
|
+
cp2y: _s[5],
|
|
27207
|
+
x: _s[6],
|
|
27208
|
+
y: _s[7]
|
|
27209
|
+
};
|
|
27210
|
+
});
|
|
27211
|
+
return result;
|
|
27212
|
+
}
|
|
27213
|
+
if (segment.type === "T") {
|
|
27214
|
+
let prevControlX = 0;
|
|
27215
|
+
let prevControlY = 0;
|
|
27216
|
+
if (prevSegment && (prevSegment.type === "Q" || prevSegment.type === "T")) {
|
|
27217
|
+
prevControlX = cpX;
|
|
27218
|
+
prevControlY = cpY;
|
|
27219
|
+
} else {
|
|
27220
|
+
prevControlX = x;
|
|
27221
|
+
prevControlY = y;
|
|
27222
|
+
}
|
|
27223
|
+
const vectorX = prevControlX - x;
|
|
27224
|
+
const vectorY = prevControlY - y;
|
|
27225
|
+
const newControlX = x - vectorX;
|
|
27226
|
+
const newControlY = y - vectorY;
|
|
27227
|
+
return [
|
|
27228
|
+
convertQToCInstruction({
|
|
27229
|
+
type: "Q",
|
|
27230
|
+
cpx: newControlX,
|
|
27231
|
+
cpy: newControlY,
|
|
27232
|
+
x: segment.x,
|
|
27233
|
+
y: segment.y
|
|
27234
|
+
}, { x, y })
|
|
27235
|
+
];
|
|
27236
|
+
}
|
|
27237
|
+
if (segment.type === "S") {
|
|
27238
|
+
let prevControlX = 0;
|
|
27239
|
+
let prevControlY = 0;
|
|
27240
|
+
if (prevSegment && prevSegment.type === "C") {
|
|
27241
|
+
prevControlX = prevSegment.cp2x;
|
|
27242
|
+
prevControlY = prevSegment.cp2y;
|
|
27243
|
+
} else if (prevSegment && prevSegment.type === "S") {
|
|
27244
|
+
prevControlX = prevSegment.cpx;
|
|
27245
|
+
prevControlY = prevSegment.cpy;
|
|
27246
|
+
} else {
|
|
27247
|
+
prevControlX = x;
|
|
27248
|
+
prevControlY = y;
|
|
27249
|
+
}
|
|
27250
|
+
const vectorX = prevControlX - x;
|
|
27251
|
+
const vectorY = prevControlY - y;
|
|
27252
|
+
const newControlX = x - vectorX;
|
|
27253
|
+
const newControlY = y - vectorY;
|
|
27254
|
+
return [
|
|
27255
|
+
{
|
|
27256
|
+
type: "C",
|
|
27257
|
+
cp1x: newControlX,
|
|
27258
|
+
cp1y: newControlY,
|
|
27259
|
+
cp2x: segment.cpx,
|
|
27260
|
+
cp2y: segment.cpy,
|
|
27261
|
+
x: segment.x,
|
|
27262
|
+
y: segment.y
|
|
27263
|
+
}
|
|
27264
|
+
];
|
|
27265
|
+
}
|
|
27266
|
+
if (segment.type === "Q") {
|
|
27267
|
+
return [convertQToCInstruction(segment, { x, y })];
|
|
27268
|
+
}
|
|
27269
|
+
return [segment];
|
|
27270
|
+
}
|
|
27271
|
+
});
|
|
27272
|
+
};
|
|
26926
27273
|
var serializeInstruction = (instruction) => {
|
|
26927
27274
|
if (instruction.type === "A") {
|
|
26928
27275
|
return `A ${instruction.rx} ${instruction.ry} ${instruction.xAxisRotation} ${Number(instruction.largeArcFlag)} ${Number(instruction.sweepFlag)} ${instruction.x} ${instruction.y}`;
|
|
@@ -27125,6 +27472,337 @@ var normalizePath = (path) => {
|
|
|
27125
27472
|
const normalized = normalizeInstructions(instructions);
|
|
27126
27473
|
return serializeInstructions(normalized);
|
|
27127
27474
|
};
|
|
27475
|
+
var reduceInstructions = (instruction) => {
|
|
27476
|
+
const simplified = normalizeInstructions(instruction);
|
|
27477
|
+
return removeATSHVQInstructions(simplified);
|
|
27478
|
+
};
|
|
27479
|
+
var getEndPosition = (instructions) => {
|
|
27480
|
+
let x = 0;
|
|
27481
|
+
let y = 0;
|
|
27482
|
+
let moveX = 0;
|
|
27483
|
+
let moveY = 0;
|
|
27484
|
+
for (let i = 0;i < instructions.length; i++) {
|
|
27485
|
+
const instruction = instructions[i];
|
|
27486
|
+
if (instruction.type === "M") {
|
|
27487
|
+
moveX = instruction.x;
|
|
27488
|
+
moveY = instruction.y;
|
|
27489
|
+
} else if (instruction.type === "m") {
|
|
27490
|
+
moveX += instruction.dx;
|
|
27491
|
+
moveY += instruction.dy;
|
|
27492
|
+
}
|
|
27493
|
+
if (instruction.type === "A" || instruction.type === "C" || instruction.type === "L" || instruction.type === "M" || instruction.type === "Q" || instruction.type === "S" || instruction.type === "T") {
|
|
27494
|
+
x = instruction.x;
|
|
27495
|
+
y = instruction.y;
|
|
27496
|
+
continue;
|
|
27497
|
+
}
|
|
27498
|
+
if (instruction.type === "a" || instruction.type === "c" || instruction.type === "l" || instruction.type === "m" || instruction.type === "q" || instruction.type === "s" || instruction.type === "t") {
|
|
27499
|
+
x += instruction.dx;
|
|
27500
|
+
y += instruction.dy;
|
|
27501
|
+
continue;
|
|
27502
|
+
}
|
|
27503
|
+
if (instruction.type === "H") {
|
|
27504
|
+
x = instruction.x;
|
|
27505
|
+
continue;
|
|
27506
|
+
}
|
|
27507
|
+
if (instruction.type === "V") {
|
|
27508
|
+
y = instruction.y;
|
|
27509
|
+
continue;
|
|
27510
|
+
}
|
|
27511
|
+
if (instruction.type === "Z") {
|
|
27512
|
+
x = moveX;
|
|
27513
|
+
y = moveY;
|
|
27514
|
+
continue;
|
|
27515
|
+
}
|
|
27516
|
+
if (instruction.type === "h") {
|
|
27517
|
+
x += instruction.dx;
|
|
27518
|
+
continue;
|
|
27519
|
+
}
|
|
27520
|
+
if (instruction.type === "v") {
|
|
27521
|
+
y += instruction.dy;
|
|
27522
|
+
continue;
|
|
27523
|
+
}
|
|
27524
|
+
throw new Error("Unknown instruction type: " + instruction.type);
|
|
27525
|
+
}
|
|
27526
|
+
return {
|
|
27527
|
+
x,
|
|
27528
|
+
y
|
|
27529
|
+
};
|
|
27530
|
+
};
|
|
27531
|
+
var convertToLCommand = (command) => {
|
|
27532
|
+
if (command.type === "M" || command.type === "L" || command.type === "Z") {
|
|
27533
|
+
throw new Error("unexpected");
|
|
27534
|
+
}
|
|
27535
|
+
return {
|
|
27536
|
+
type: "L",
|
|
27537
|
+
x: command.x,
|
|
27538
|
+
y: command.y
|
|
27539
|
+
};
|
|
27540
|
+
};
|
|
27541
|
+
var convertToCCommand = (command, currentPoint) => {
|
|
27542
|
+
if (command.type === "M" || command.type === "C" || command.type === "Z") {
|
|
27543
|
+
throw new Error("unexpected");
|
|
27544
|
+
}
|
|
27545
|
+
if (command.type === "L") {
|
|
27546
|
+
return {
|
|
27547
|
+
type: "C",
|
|
27548
|
+
cp1x: currentPoint.x,
|
|
27549
|
+
cp1y: currentPoint.y,
|
|
27550
|
+
cp2x: command.x,
|
|
27551
|
+
cp2y: command.y,
|
|
27552
|
+
x: command.x,
|
|
27553
|
+
y: command.y
|
|
27554
|
+
};
|
|
27555
|
+
}
|
|
27556
|
+
throw new Error("all types should be handled");
|
|
27557
|
+
};
|
|
27558
|
+
function convertToSameInstructionType(aCommand, bCommand, currentPoint) {
|
|
27559
|
+
if (aCommand.type === "M" || bCommand.type === "M") {
|
|
27560
|
+
return { ...aCommand };
|
|
27561
|
+
}
|
|
27562
|
+
if (aCommand.type === bCommand.type) {
|
|
27563
|
+
return { ...aCommand };
|
|
27564
|
+
}
|
|
27565
|
+
if (bCommand.type === "C") {
|
|
27566
|
+
return convertToCCommand(aCommand, currentPoint);
|
|
27567
|
+
}
|
|
27568
|
+
if (bCommand.type === "L") {
|
|
27569
|
+
return convertToLCommand(aCommand);
|
|
27570
|
+
}
|
|
27571
|
+
if (bCommand.type === "Z") {
|
|
27572
|
+
return {
|
|
27573
|
+
type: "Z"
|
|
27574
|
+
};
|
|
27575
|
+
}
|
|
27576
|
+
throw new TypeError("unhandled");
|
|
27577
|
+
}
|
|
27578
|
+
function pointsToInstruction(points) {
|
|
27579
|
+
const x = points[points.length - 1][0];
|
|
27580
|
+
const y = points[points.length - 1][1];
|
|
27581
|
+
if (points.length === 4) {
|
|
27582
|
+
const x1 = points[1][0];
|
|
27583
|
+
const y1 = points[1][1];
|
|
27584
|
+
const x2 = points[2][0];
|
|
27585
|
+
const y2 = points[2][1];
|
|
27586
|
+
return {
|
|
27587
|
+
type: "C",
|
|
27588
|
+
cp1x: x1,
|
|
27589
|
+
cp1y: y1,
|
|
27590
|
+
cp2x: x2,
|
|
27591
|
+
cp2y: y2,
|
|
27592
|
+
x,
|
|
27593
|
+
y
|
|
27594
|
+
};
|
|
27595
|
+
}
|
|
27596
|
+
if (points.length === 3) {
|
|
27597
|
+
const x1 = points[1][0];
|
|
27598
|
+
const y1 = points[1][1];
|
|
27599
|
+
return convertQToCInstruction({
|
|
27600
|
+
type: "Q",
|
|
27601
|
+
cpx: x1,
|
|
27602
|
+
cpy: y1,
|
|
27603
|
+
x,
|
|
27604
|
+
y
|
|
27605
|
+
}, {
|
|
27606
|
+
x: points[0][0],
|
|
27607
|
+
y: points[0][1]
|
|
27608
|
+
});
|
|
27609
|
+
}
|
|
27610
|
+
return {
|
|
27611
|
+
type: "L",
|
|
27612
|
+
x,
|
|
27613
|
+
y
|
|
27614
|
+
};
|
|
27615
|
+
}
|
|
27616
|
+
function decasteljau(points, t) {
|
|
27617
|
+
const left = [];
|
|
27618
|
+
const right = [];
|
|
27619
|
+
function decasteljauRecurse(_points, _t) {
|
|
27620
|
+
if (_points.length === 1) {
|
|
27621
|
+
left.push(_points[0]);
|
|
27622
|
+
right.push(_points[0]);
|
|
27623
|
+
} else {
|
|
27624
|
+
const newPoints = Array(_points.length - 1);
|
|
27625
|
+
for (let i = 0;i < newPoints.length; i++) {
|
|
27626
|
+
if (i === 0) {
|
|
27627
|
+
left.push(_points[0]);
|
|
27628
|
+
}
|
|
27629
|
+
if (i === newPoints.length - 1) {
|
|
27630
|
+
right.push(_points[i + 1]);
|
|
27631
|
+
}
|
|
27632
|
+
newPoints[i] = [
|
|
27633
|
+
(1 - _t) * _points[i][0] + _t * _points[i + 1][0],
|
|
27634
|
+
(1 - _t) * _points[i][1] + _t * _points[i + 1][1]
|
|
27635
|
+
];
|
|
27636
|
+
}
|
|
27637
|
+
decasteljauRecurse(newPoints, _t);
|
|
27638
|
+
}
|
|
27639
|
+
}
|
|
27640
|
+
if (points.length) {
|
|
27641
|
+
decasteljauRecurse(points, t);
|
|
27642
|
+
}
|
|
27643
|
+
return { left, right: right.reverse() };
|
|
27644
|
+
}
|
|
27645
|
+
function splitCurveAsPoints(points, segmentCount = 2) {
|
|
27646
|
+
const segments = [];
|
|
27647
|
+
let remainingCurve = points;
|
|
27648
|
+
const tIncrement = 1 / segmentCount;
|
|
27649
|
+
for (let i = 0;i < segmentCount - 1; i++) {
|
|
27650
|
+
const tRelative = tIncrement / (1 - tIncrement * i);
|
|
27651
|
+
const split = decasteljau(remainingCurve, tRelative);
|
|
27652
|
+
segments.push(split.left);
|
|
27653
|
+
remainingCurve = split.right;
|
|
27654
|
+
}
|
|
27655
|
+
segments.push(remainingCurve);
|
|
27656
|
+
return segments;
|
|
27657
|
+
}
|
|
27658
|
+
var splitCurveInstructions = (instructionStartX, instructionStartY, instructionEnd, segmentCount) => {
|
|
27659
|
+
const points = [[instructionStartX, instructionStartY]];
|
|
27660
|
+
if (instructionEnd.type === "Q") {
|
|
27661
|
+
points.push([instructionEnd.cpx, instructionEnd.cpy]);
|
|
27662
|
+
}
|
|
27663
|
+
if (instructionEnd.type === "C") {
|
|
27664
|
+
points.push([instructionEnd.cp1x, instructionEnd.cp1y]);
|
|
27665
|
+
points.push([instructionEnd.cp2x, instructionEnd.cp2y]);
|
|
27666
|
+
}
|
|
27667
|
+
points.push([instructionEnd.x, instructionEnd.y]);
|
|
27668
|
+
return splitCurveAsPoints(points, segmentCount).map((p) => {
|
|
27669
|
+
return pointsToInstruction(p);
|
|
27670
|
+
});
|
|
27671
|
+
};
|
|
27672
|
+
function splitSegmentInstructions(commandStart, commandEnd, segmentCount) {
|
|
27673
|
+
let segments = [];
|
|
27674
|
+
if (commandEnd.type === "L" || commandEnd.type === "C") {
|
|
27675
|
+
if (commandStart.type !== "Z") {
|
|
27676
|
+
segments = segments.concat(splitCurveInstructions(commandStart.x, commandStart.y, commandEnd, segmentCount));
|
|
27677
|
+
}
|
|
27678
|
+
} else {
|
|
27679
|
+
const copyCommand = commandStart.type === "M" ? {
|
|
27680
|
+
type: "L",
|
|
27681
|
+
x: commandStart.x,
|
|
27682
|
+
y: commandStart.y
|
|
27683
|
+
} : commandStart;
|
|
27684
|
+
segments = segments.concat(new Array(segmentCount - 1).fill(true).map(() => copyCommand));
|
|
27685
|
+
segments.push(commandEnd);
|
|
27686
|
+
}
|
|
27687
|
+
return segments;
|
|
27688
|
+
}
|
|
27689
|
+
function extendInstruction(commandsToExtend, referenceCommands) {
|
|
27690
|
+
const numSegmentsToExtend = commandsToExtend.length - 1;
|
|
27691
|
+
const numReferenceSegments = referenceCommands.length - 1;
|
|
27692
|
+
const segmentRatio = numSegmentsToExtend / numReferenceSegments;
|
|
27693
|
+
const countPointsPerSegment = new Array(numReferenceSegments).fill(undefined).reduce((accum, _d, i) => {
|
|
27694
|
+
const insertIndex = Math.floor(segmentRatio * i);
|
|
27695
|
+
accum[insertIndex] = (accum[insertIndex] || 0) + 1;
|
|
27696
|
+
return accum;
|
|
27697
|
+
}, []);
|
|
27698
|
+
const extended = countPointsPerSegment.reduce((_extended, segmentCount, i) => {
|
|
27699
|
+
if (i === commandsToExtend.length - 1) {
|
|
27700
|
+
const lastCommandCopies = new Array(segmentCount).fill({
|
|
27701
|
+
...commandsToExtend[commandsToExtend.length - 1]
|
|
27702
|
+
});
|
|
27703
|
+
if (lastCommandCopies[0].type === "M") {
|
|
27704
|
+
lastCommandCopies.forEach((d) => {
|
|
27705
|
+
d.type = "L";
|
|
27706
|
+
});
|
|
27707
|
+
}
|
|
27708
|
+
return _extended.concat(lastCommandCopies);
|
|
27709
|
+
}
|
|
27710
|
+
return _extended.concat(splitSegmentInstructions(commandsToExtend[i], commandsToExtend[i + 1], segmentCount));
|
|
27711
|
+
}, []);
|
|
27712
|
+
extended.unshift(commandsToExtend[0]);
|
|
27713
|
+
return extended;
|
|
27714
|
+
}
|
|
27715
|
+
var normalizeInterpolatedPath = (path) => {
|
|
27716
|
+
return path.replace(/-?\d*\.?\d+(?:e[+-]?\d+)?/gi, (value) => {
|
|
27717
|
+
const number = Number(value);
|
|
27718
|
+
return Number.isInteger(number) ? value : String(Number(number.toPrecision(15)));
|
|
27719
|
+
});
|
|
27720
|
+
};
|
|
27721
|
+
var interpolatePaths = (input2, inputRange, outputRange, options) => {
|
|
27722
|
+
if (!Array.isArray(outputRange)) {
|
|
27723
|
+
throw new TypeError("outputRange must be an array of SVG path strings");
|
|
27724
|
+
}
|
|
27725
|
+
for (const path of outputRange) {
|
|
27726
|
+
if (typeof path !== "string") {
|
|
27727
|
+
throw new TypeError("outputRange must contain only SVG path strings");
|
|
27728
|
+
}
|
|
27729
|
+
}
|
|
27730
|
+
for (const side of ["extrapolateLeft", "extrapolateRight"]) {
|
|
27731
|
+
const extrapolation = options?.[side];
|
|
27732
|
+
if (extrapolation !== undefined && extrapolation !== "extend" && extrapolation !== "clamp" && extrapolation !== "wrap") {
|
|
27733
|
+
throw new TypeError(`${side} must be "extend", "clamp", or "wrap" for interpolatePaths()`);
|
|
27734
|
+
}
|
|
27735
|
+
}
|
|
27736
|
+
const weights = interpolate3(input2, inputRange, outputRange.map((_, pathIndex) => outputRange.map((__, index) => index === pathIndex ? 1 : 0)), options);
|
|
27737
|
+
const exactPathIndex = weights.findIndex((weight, index) => weight === 1 && weights.every((otherWeight, otherIndex) => otherIndex === index ? true : otherWeight === 0));
|
|
27738
|
+
if (exactPathIndex !== -1) {
|
|
27739
|
+
return outputRange[exactPathIndex];
|
|
27740
|
+
}
|
|
27741
|
+
const contributingPaths = outputRange.map((path, index) => ({ path, weight: weights[index] })).filter(({ weight }) => weight !== 0);
|
|
27742
|
+
const paths = contributingPaths.map(({ path }) => {
|
|
27743
|
+
const commands = reduceInstructions(parsePath(path));
|
|
27744
|
+
if (commands.length === 0) {
|
|
27745
|
+
throw new TypeError(`SVG Path "${path}" is not valid`);
|
|
27746
|
+
}
|
|
27747
|
+
return commands;
|
|
27748
|
+
});
|
|
27749
|
+
const closed = paths.every((commands) => commands[commands.length - 1].type === "Z");
|
|
27750
|
+
const openPaths = paths.map((commands) => commands[commands.length - 1].type === "Z" ? commands.slice(0, -1) : commands);
|
|
27751
|
+
const reference = openPaths.reduce((longest, commands) => commands.length > longest.length ? commands : longest);
|
|
27752
|
+
const extendedPaths = openPaths.map((commands) => commands.length < reference.length ? extendInstruction(commands, reference) : commands);
|
|
27753
|
+
const result = reference.map((_, instructionIndex) => {
|
|
27754
|
+
const commands = extendedPaths.map((path) => path[instructionIndex]);
|
|
27755
|
+
if (commands.some((command) => command.type === "Z")) {
|
|
27756
|
+
if (commands.every((command) => command.type === "Z")) {
|
|
27757
|
+
return { type: "Z" };
|
|
27758
|
+
}
|
|
27759
|
+
throw new TypeError("Cannot interpolate SVG paths with different subpath structures");
|
|
27760
|
+
}
|
|
27761
|
+
const target = commands.find((command) => command.type === "C") ?? commands[0];
|
|
27762
|
+
const normalized = commands.map((command, pathIndex) => {
|
|
27763
|
+
if (command.type === "M" !== (target.type === "M")) {
|
|
27764
|
+
throw new TypeError("Cannot interpolate SVG paths with different subpath structures");
|
|
27765
|
+
}
|
|
27766
|
+
return convertToSameInstructionType(command, target, getEndPosition(extendedPaths[pathIndex].slice(0, instructionIndex)));
|
|
27767
|
+
});
|
|
27768
|
+
const coordinates = normalized.map((command) => {
|
|
27769
|
+
if (command.type === "Z") {
|
|
27770
|
+
return [];
|
|
27771
|
+
}
|
|
27772
|
+
return command.type === "C" ? [
|
|
27773
|
+
command.x,
|
|
27774
|
+
command.y,
|
|
27775
|
+
command.cp1x,
|
|
27776
|
+
command.cp1y,
|
|
27777
|
+
command.cp2x,
|
|
27778
|
+
command.cp2y
|
|
27779
|
+
] : [command.x, command.y];
|
|
27780
|
+
});
|
|
27781
|
+
const values = coordinates[0].map((base, coordinateIndex) => {
|
|
27782
|
+
const interpolated = coordinates.reduce((value, path, pathIndex) => value + (path[coordinateIndex] - base) * contributingPaths[pathIndex].weight, base);
|
|
27783
|
+
if (Number.isFinite(interpolated)) {
|
|
27784
|
+
return interpolated;
|
|
27785
|
+
}
|
|
27786
|
+
return coordinates.reduce((sum, path, pathIndex) => sum + path[coordinateIndex] * contributingPaths[pathIndex].weight, 0);
|
|
27787
|
+
});
|
|
27788
|
+
if (target.type === "C") {
|
|
27789
|
+
return {
|
|
27790
|
+
type: "C",
|
|
27791
|
+
x: values[0],
|
|
27792
|
+
y: values[1],
|
|
27793
|
+
cp1x: values[2],
|
|
27794
|
+
cp1y: values[3],
|
|
27795
|
+
cp2x: values[4],
|
|
27796
|
+
cp2y: values[5]
|
|
27797
|
+
};
|
|
27798
|
+
}
|
|
27799
|
+
return { type: target.type, x: values[0], y: values[1] };
|
|
27800
|
+
});
|
|
27801
|
+
if (closed) {
|
|
27802
|
+
result.push({ type: "Z" });
|
|
27803
|
+
}
|
|
27804
|
+
return normalizeInterpolatedPath(serializeInstructions(result));
|
|
27805
|
+
};
|
|
27128
27806
|
|
|
27129
27807
|
// src/components/Timeline/TimelineTextContentField.tsx
|
|
27130
27808
|
import { useCallback as useCallback82, useRef as useRef28, useState as useState52 } from "react";
|
|
@@ -28374,7 +29052,7 @@ var TimelineArrayField = ({ field, effectiveValue, onSave, onDragValueChange, on
|
|
|
28374
29052
|
disabled: !canRemove,
|
|
28375
29053
|
onClick: () => onRemove(index),
|
|
28376
29054
|
style: canRemove ? button2 : disabledButton,
|
|
28377
|
-
|
|
29055
|
+
"aria-label": `Remove item ${index}`,
|
|
28378
29056
|
type: "button",
|
|
28379
29057
|
children: "-"
|
|
28380
29058
|
})
|
|
@@ -28387,7 +29065,7 @@ var TimelineArrayField = ({ field, effectiveValue, onSave, onDragValueChange, on
|
|
|
28387
29065
|
type: "button",
|
|
28388
29066
|
style: button2,
|
|
28389
29067
|
onClick: onAdd,
|
|
28390
|
-
|
|
29068
|
+
"aria-label": "Add item",
|
|
28391
29069
|
children: "+"
|
|
28392
29070
|
})
|
|
28393
29071
|
}) : null
|
|
@@ -28463,10 +29141,11 @@ var UnsupportedStatus = ({ label: label3, onFix, formattedValue }) => {
|
|
|
28463
29141
|
event.stopPropagation();
|
|
28464
29142
|
};
|
|
28465
29143
|
return /* @__PURE__ */ jsxs71("span", {
|
|
29144
|
+
role: "group",
|
|
28466
29145
|
style: unsupportedStatusWrapper,
|
|
28467
29146
|
onPointerEnter: () => setHovered(true),
|
|
28468
29147
|
onPointerLeave: () => setHovered(false),
|
|
28469
|
-
|
|
29148
|
+
"aria-label": formattedValue && typeof label3 === "string" ? label3 : undefined,
|
|
28470
29149
|
children: [
|
|
28471
29150
|
/* @__PURE__ */ jsx147("span", {
|
|
28472
29151
|
style: formattedValue ? computedValue : unsupportedLabel,
|
|
@@ -28477,7 +29156,7 @@ var UnsupportedStatus = ({ label: label3, onFix, formattedValue }) => {
|
|
|
28477
29156
|
type: "button",
|
|
28478
29157
|
className: `${FOCUS_VISIBLE_ONLY_CLASS_NAME} ${HOVERABLE_CLASS_NAME}`,
|
|
28479
29158
|
style: fixLink,
|
|
28480
|
-
|
|
29159
|
+
"aria-label": "Fix computed Studio value",
|
|
28481
29160
|
onClick: (event) => {
|
|
28482
29161
|
stopMousePropagation(event);
|
|
28483
29162
|
onFix();
|
|
@@ -28595,9 +29274,9 @@ var NumericAxis = ({ field, values, axis, onPreview, onSave, onClear }) => {
|
|
|
28595
29274
|
},
|
|
28596
29275
|
children: /* @__PURE__ */ jsx148(InputDragger, {
|
|
28597
29276
|
type: "number",
|
|
29277
|
+
"aria-description": "Type to set all values; drag to adjust each value",
|
|
28598
29278
|
value: dragValue ?? coordinates[0],
|
|
28599
29279
|
"aria-label": axis === null ? field.description ?? field.key : `Offset ${["X", "Y", "Z"][axis]}`,
|
|
28600
|
-
title: "Type to set all values; drag to adjust each value",
|
|
28601
29280
|
status: "ok",
|
|
28602
29281
|
small: true,
|
|
28603
29282
|
rightAlign: false,
|
|
@@ -28723,7 +29402,7 @@ var MultiSequenceField = ({ field, targets, readOnlyStudio }) => {
|
|
|
28723
29402
|
fontSize: 12,
|
|
28724
29403
|
padding: 0
|
|
28725
29404
|
},
|
|
28726
|
-
|
|
29405
|
+
"aria-label": "Set a value for all selected sequences",
|
|
28727
29406
|
onClick: () => setEditingMixed(true),
|
|
28728
29407
|
children: "Mixed"
|
|
28729
29408
|
});
|
|
@@ -28783,11 +29462,6 @@ var selectionCountStyle = {
|
|
|
28783
29462
|
textOverflow: "ellipsis",
|
|
28784
29463
|
whiteSpace: "nowrap"
|
|
28785
29464
|
};
|
|
28786
|
-
var actionIconStyle2 = {
|
|
28787
|
-
display: "block",
|
|
28788
|
-
height: 16,
|
|
28789
|
-
width: 16
|
|
28790
|
-
};
|
|
28791
29465
|
var MultiSequenceInspector = ({ selections, readOnlyStudio }) => {
|
|
28792
29466
|
const { sequences } = useContext45(Internals32.SequenceManager);
|
|
28793
29467
|
const timelinePosition = Internals32.Timeline.useTimelinePosition();
|
|
@@ -28914,10 +29588,11 @@ var MultiSequenceInspector = ({ selections, readOnlyStudio }) => {
|
|
|
28914
29588
|
children: /* @__PURE__ */ jsx150(InspectorQuickActionsSection, {
|
|
28915
29589
|
children: /* @__PURE__ */ jsx150(InspectorQuickAction, {
|
|
28916
29590
|
disabled: !canSplit,
|
|
29591
|
+
iconContainerStyle: largeInspectorActionIconContainerStyle,
|
|
28917
29592
|
onClick: onSplit,
|
|
28918
|
-
|
|
28919
|
-
renderIcon: (color) => /* @__PURE__ */ jsx150(
|
|
28920
|
-
style:
|
|
29593
|
+
"aria-label": canSplit ? undefined : "Studio is read-only",
|
|
29594
|
+
renderIcon: (color) => /* @__PURE__ */ jsx150(SplitIcon, {
|
|
29595
|
+
style: largeInspectorActionIconStyle,
|
|
28921
29596
|
color
|
|
28922
29597
|
}),
|
|
28923
29598
|
children: "Split selected"
|
|
@@ -29420,8 +30095,9 @@ var EasingGraphScaffold = ({ labels }) => {
|
|
|
29420
30095
|
width: topLabelWidth,
|
|
29421
30096
|
height: EASING_GRAPH_LABEL_HEIGHT,
|
|
29422
30097
|
children: /* @__PURE__ */ jsx151("div", {
|
|
30098
|
+
role: "group",
|
|
29423
30099
|
style: getEasingGraphLabelStyle("left"),
|
|
29424
|
-
|
|
30100
|
+
"aria-label": labels.end,
|
|
29425
30101
|
children: labels.end
|
|
29426
30102
|
})
|
|
29427
30103
|
}),
|
|
@@ -29431,8 +30107,9 @@ var EasingGraphScaffold = ({ labels }) => {
|
|
|
29431
30107
|
width: bottomLabelWidth,
|
|
29432
30108
|
height: EASING_GRAPH_LABEL_HEIGHT,
|
|
29433
30109
|
children: /* @__PURE__ */ jsx151("div", {
|
|
30110
|
+
role: "group",
|
|
29434
30111
|
style: getEasingGraphLabelStyle("right"),
|
|
29435
|
-
|
|
30112
|
+
"aria-label": labels.start,
|
|
29436
30113
|
children: labels.start
|
|
29437
30114
|
})
|
|
29438
30115
|
})
|
|
@@ -29460,7 +30137,6 @@ var EasingPresetButton = ({ currentEasing, disabled, onClick, preset }) => {
|
|
|
29460
30137
|
return /* @__PURE__ */ jsx151("button", {
|
|
29461
30138
|
type: "button",
|
|
29462
30139
|
style: style4,
|
|
29463
|
-
title: preset.label,
|
|
29464
30140
|
"aria-label": `Apply ${preset.label} easing`,
|
|
29465
30141
|
disabled,
|
|
29466
30142
|
onClick: handleClick,
|
|
@@ -31276,7 +31952,6 @@ var TimelineKeyframeEasingLineInteraction = ({ fromFrame, toFrame, nodePathInfo,
|
|
|
31276
31952
|
...{ [TIMELINE_MARQUEE_ITEM_ATTR]: true },
|
|
31277
31953
|
type: "button",
|
|
31278
31954
|
style: interactiveStyle,
|
|
31279
|
-
title: `Easing from frame ${fromFrame} to ${toFrame}`,
|
|
31280
31955
|
"aria-label": `Select easing from frame ${fromFrame} to ${toFrame}`,
|
|
31281
31956
|
onPointerDown: selectable ? onPointerDown : undefined,
|
|
31282
31957
|
children: /* @__PURE__ */ jsx154(TimelineKeyframeEasingLineVisual, {
|
|
@@ -31472,7 +32147,6 @@ var TimelineNavigatorItem = ({ extendLineLeft, extendLineRight, item: item2, onS
|
|
|
31472
32147
|
type: "button",
|
|
31473
32148
|
style: buttonStyle2,
|
|
31474
32149
|
onClick,
|
|
31475
|
-
title: item2.type === "keyframe" ? `Keyframe at frame ${item2.selection.frame}` : `Easing from frame ${item2.selection.fromFrame} to ${item2.selection.toFrame}`,
|
|
31476
32150
|
"aria-label": item2.type === "keyframe" ? `Select keyframe at frame ${item2.selection.frame}` : `Select easing from frame ${item2.selection.fromFrame} to ${item2.selection.toFrame}`,
|
|
31477
32151
|
children: item2.type === "keyframe" ? /* @__PURE__ */ jsx155(TimelineKeyframeDiamondIcon, {
|
|
31478
32152
|
color: LIGHT_TEXT,
|
|
@@ -31491,7 +32165,7 @@ var TimelineNavigatorItem = ({ extendLineLeft, extendLineRight, item: item2, onS
|
|
|
31491
32165
|
};
|
|
31492
32166
|
var KeyframeEasingNavigator = ({ currentSelection, includeEasings, keyframes, nodePathInfo }) => {
|
|
31493
32167
|
const { isSelected, selectItems } = useTimelineSelection();
|
|
31494
|
-
const
|
|
32168
|
+
const seekFrame = Internals36.Timeline.useTimelineSeekFrame();
|
|
31495
32169
|
const videoConfig = useVideoConfig4();
|
|
31496
32170
|
const items = useMemo91(() => getKeyframeEasingNavigatorItems({
|
|
31497
32171
|
includeEasings,
|
|
@@ -31508,7 +32182,7 @@ var KeyframeEasingNavigator = ({ currentSelection, includeEasings, keyframes, no
|
|
|
31508
32182
|
}, [selectItems]);
|
|
31509
32183
|
const seekToItem = useCallback95((item2, direction) => {
|
|
31510
32184
|
const frame = getNavigatorItemPlayheadFrame(item2);
|
|
31511
|
-
|
|
32185
|
+
seekFrame((current) => {
|
|
31512
32186
|
const next = { ...current, [videoConfig.id]: frame };
|
|
31513
32187
|
Internals36.persistCurrentFrame(next);
|
|
31514
32188
|
return next;
|
|
@@ -31518,7 +32192,7 @@ var KeyframeEasingNavigator = ({ currentSelection, includeEasings, keyframes, no
|
|
|
31518
32192
|
durationInFrames: videoConfig.durationInFrames,
|
|
31519
32193
|
frame
|
|
31520
32194
|
});
|
|
31521
|
-
}, [
|
|
32195
|
+
}, [seekFrame, videoConfig.durationInFrames, videoConfig.id]);
|
|
31522
32196
|
const selectPrevious = useCallback95(() => {
|
|
31523
32197
|
if (previousItem === null) {
|
|
31524
32198
|
return;
|
|
@@ -31543,7 +32217,7 @@ var KeyframeEasingNavigator = ({ currentSelection, includeEasings, keyframes, no
|
|
|
31543
32217
|
variant: null,
|
|
31544
32218
|
disabled: previousItem === null,
|
|
31545
32219
|
onClick: selectPrevious,
|
|
31546
|
-
|
|
32220
|
+
"aria-label": "Previous animation item",
|
|
31547
32221
|
renderAction: (color) => /* @__PURE__ */ jsx155(NavigationChevron, {
|
|
31548
32222
|
color: previousItem === null ? disabledChevronColor : color,
|
|
31549
32223
|
direction: "left"
|
|
@@ -31579,7 +32253,7 @@ var KeyframeEasingNavigator = ({ currentSelection, includeEasings, keyframes, no
|
|
|
31579
32253
|
variant: null,
|
|
31580
32254
|
disabled: nextItem === null,
|
|
31581
32255
|
onClick: selectNext,
|
|
31582
|
-
|
|
32256
|
+
"aria-label": "Next animation item",
|
|
31583
32257
|
renderAction: (color) => /* @__PURE__ */ jsx155(NavigationChevron, {
|
|
31584
32258
|
color: nextItem === null ? disabledChevronColor : color,
|
|
31585
32259
|
direction: "right"
|
|
@@ -31613,8 +32287,8 @@ var extrapolateOptions = [
|
|
|
31613
32287
|
"wrap"
|
|
31614
32288
|
];
|
|
31615
32289
|
var labelForExtrapolate = (value) => value[0].toUpperCase() + value.slice(1);
|
|
31616
|
-
var getExtrapolateValues = (onSelect, disabled) => {
|
|
31617
|
-
return extrapolateOptions.map((value) => ({
|
|
32290
|
+
var getExtrapolateValues = (onSelect, disabled, allowIdentity) => {
|
|
32291
|
+
return extrapolateOptions.filter((value) => allowIdentity || value !== "identity").map((value) => ({
|
|
31618
32292
|
type: "item",
|
|
31619
32293
|
id: value,
|
|
31620
32294
|
keyHint: null,
|
|
@@ -31653,7 +32327,8 @@ var KeyframeSettings = ({ update }) => {
|
|
|
31653
32327
|
const { previewServerState } = useContext50(StudioServerConnectionCtx);
|
|
31654
32328
|
const { propStatus } = update;
|
|
31655
32329
|
const [posterize, setPosterize] = useState60(propStatus.posterize ?? 0);
|
|
31656
|
-
const
|
|
32330
|
+
const canEditExtrapolation = propStatus.interpolationFunction === "interpolate" || propStatus.interpolationFunction === "interpolatePaths";
|
|
32331
|
+
const canEditOutput = propStatus.interpolationFunction === "interpolate";
|
|
31657
32332
|
const disabled = previewServerState.type !== "connected";
|
|
31658
32333
|
useEffect39(() => {
|
|
31659
32334
|
setPosterize(propStatus.posterize ?? 0);
|
|
@@ -31697,12 +32372,13 @@ var KeyframeSettings = ({ update }) => {
|
|
|
31697
32372
|
}) => {
|
|
31698
32373
|
save({
|
|
31699
32374
|
type: "settings",
|
|
31700
|
-
clamping:
|
|
31701
|
-
output:
|
|
32375
|
+
clamping: canEditExtrapolation ? { left, right } : undefined,
|
|
32376
|
+
output: canEditOutput ? output : undefined,
|
|
31702
32377
|
posterize: nextPosterize <= 0 ? undefined : nextPosterize
|
|
31703
32378
|
});
|
|
31704
32379
|
}, [
|
|
31705
|
-
|
|
32380
|
+
canEditExtrapolation,
|
|
32381
|
+
canEditOutput,
|
|
31706
32382
|
propStatus.clamping.left,
|
|
31707
32383
|
propStatus.clamping.right,
|
|
31708
32384
|
propStatus.output,
|
|
@@ -31712,8 +32388,8 @@ var KeyframeSettings = ({ update }) => {
|
|
|
31712
32388
|
const onSelectLeft = useCallback96((left) => saveSettings({ left }), [saveSettings]);
|
|
31713
32389
|
const onSelectRight = useCallback96((right) => saveSettings({ right }), [saveSettings]);
|
|
31714
32390
|
const onSelectOutput = useCallback96((output) => saveSettings({ output }), [saveSettings]);
|
|
31715
|
-
const leftValues = useMemo92(() => getExtrapolateValues(onSelectLeft, disabled), [disabled, onSelectLeft]);
|
|
31716
|
-
const rightValues = useMemo92(() => getExtrapolateValues(onSelectRight, disabled), [disabled, onSelectRight]);
|
|
32391
|
+
const leftValues = useMemo92(() => getExtrapolateValues(onSelectLeft, disabled, canEditOutput), [canEditOutput, disabled, onSelectLeft]);
|
|
32392
|
+
const rightValues = useMemo92(() => getExtrapolateValues(onSelectRight, disabled, canEditOutput), [canEditOutput, disabled, onSelectRight]);
|
|
31717
32393
|
const outputValues = useMemo92(() => getOutputValues(onSelectOutput, disabled), [disabled, onSelectOutput]);
|
|
31718
32394
|
const onPosterizeChange = useCallback96((value) => {
|
|
31719
32395
|
setPosterize(Math.max(0, Math.round(value)));
|
|
@@ -31733,14 +32409,14 @@ var KeyframeSettings = ({ update }) => {
|
|
|
31733
32409
|
children: /* @__PURE__ */ jsxs78("div", {
|
|
31734
32410
|
style: keyframeSettingsContainer,
|
|
31735
32411
|
children: [
|
|
31736
|
-
|
|
32412
|
+
canEditExtrapolation ? /* @__PURE__ */ jsxs78(Fragment28, {
|
|
31737
32413
|
children: [
|
|
31738
32414
|
/* @__PURE__ */ jsx156(InspectorDetailRow, {
|
|
31739
32415
|
label: "Extrapolate left",
|
|
31740
32416
|
children: /* @__PURE__ */ jsx156(Combobox, {
|
|
31741
32417
|
values: leftValues,
|
|
31742
32418
|
selectedId: propStatus.clamping.left,
|
|
31743
|
-
|
|
32419
|
+
"aria-label": "Extrapolate left",
|
|
31744
32420
|
style: comboStyle,
|
|
31745
32421
|
size: "small"
|
|
31746
32422
|
})
|
|
@@ -31750,23 +32426,23 @@ var KeyframeSettings = ({ update }) => {
|
|
|
31750
32426
|
children: /* @__PURE__ */ jsx156(Combobox, {
|
|
31751
32427
|
values: rightValues,
|
|
31752
32428
|
selectedId: propStatus.clamping.right,
|
|
31753
|
-
|
|
31754
|
-
style: comboStyle,
|
|
31755
|
-
size: "small"
|
|
31756
|
-
})
|
|
31757
|
-
}),
|
|
31758
|
-
/* @__PURE__ */ jsx156(InspectorDetailRow, {
|
|
31759
|
-
label: "Output",
|
|
31760
|
-
children: /* @__PURE__ */ jsx156(Combobox, {
|
|
31761
|
-
values: outputValues,
|
|
31762
|
-
selectedId: propStatus.output ?? "linear",
|
|
31763
|
-
title: "Output",
|
|
32429
|
+
"aria-label": "Extrapolate right",
|
|
31764
32430
|
style: comboStyle,
|
|
31765
32431
|
size: "small"
|
|
31766
32432
|
})
|
|
31767
32433
|
})
|
|
31768
32434
|
]
|
|
31769
32435
|
}) : null,
|
|
32436
|
+
canEditOutput ? /* @__PURE__ */ jsx156(InspectorDetailRow, {
|
|
32437
|
+
label: "Output",
|
|
32438
|
+
children: /* @__PURE__ */ jsx156(Combobox, {
|
|
32439
|
+
values: outputValues,
|
|
32440
|
+
selectedId: propStatus.output ?? "linear",
|
|
32441
|
+
"aria-label": "Output",
|
|
32442
|
+
style: comboStyle,
|
|
32443
|
+
size: "small"
|
|
32444
|
+
})
|
|
32445
|
+
}) : null,
|
|
31770
32446
|
/* @__PURE__ */ jsx156(InspectorDetailRow, {
|
|
31771
32447
|
label: "Posterize",
|
|
31772
32448
|
children: /* @__PURE__ */ jsx156(InputDragger, {
|
|
@@ -32793,14 +33469,14 @@ var useSelectAsset = () => {
|
|
|
32793
33469
|
var useSelectComposition = () => {
|
|
32794
33470
|
const { setCompositionFoldersExpanded } = useContext55(FolderContext);
|
|
32795
33471
|
const { setCanvasContent } = useContext55(Internals40.CompositionSetters);
|
|
32796
|
-
const
|
|
33472
|
+
const seekFrame = Internals40.Timeline.useTimelineSeekFrame();
|
|
32797
33473
|
return useCallback101((c, push, frame = null) => {
|
|
32798
33474
|
if (push) {
|
|
32799
33475
|
pushUrl(`/${c.id}`);
|
|
32800
33476
|
}
|
|
32801
33477
|
explorerSidebarTabs.current?.selectCompositionPanel();
|
|
32802
33478
|
if (frame !== null) {
|
|
32803
|
-
|
|
33479
|
+
seekFrame((current) => ({ ...current, [c.id]: frame }));
|
|
32804
33480
|
}
|
|
32805
33481
|
setCanvasContent({ type: "composition", compositionId: c.id });
|
|
32806
33482
|
const { folderName, parentFolderName } = c;
|
|
@@ -32817,7 +33493,7 @@ var useSelectComposition = () => {
|
|
|
32817
33493
|
return newState;
|
|
32818
33494
|
});
|
|
32819
33495
|
}
|
|
32820
|
-
}, [setCanvasContent, setCompositionFoldersExpanded,
|
|
33496
|
+
}, [setCanvasContent, setCompositionFoldersExpanded, seekFrame]);
|
|
32821
33497
|
};
|
|
32822
33498
|
var InitialCompositionLoader = () => {
|
|
32823
33499
|
const { compositions, canvasContent } = useContext55(Internals40.CompositionManager);
|
|
@@ -33117,7 +33793,7 @@ var SequenceInspectorHeader = ({ sourceLocation, track }) => {
|
|
|
33117
33793
|
documentationLink ? /* @__PURE__ */ jsxs79(InspectorQuickAction, {
|
|
33118
33794
|
disabled: false,
|
|
33119
33795
|
style: defaultCursor,
|
|
33120
|
-
|
|
33796
|
+
"aria-label": "Open component docs",
|
|
33121
33797
|
onClick: openDocumentationLink,
|
|
33122
33798
|
children: [
|
|
33123
33799
|
componentName,
|
|
@@ -33396,7 +34072,7 @@ var EasingInspector = ({ selection }) => {
|
|
|
33396
34072
|
/* @__PURE__ */ jsx162(InspectorBackAction, {
|
|
33397
34073
|
disabled: parentSelection === null,
|
|
33398
34074
|
onClick: onSelectParent,
|
|
33399
|
-
|
|
34075
|
+
"aria-label": "Back to property",
|
|
33400
34076
|
children: fieldLabel
|
|
33401
34077
|
}),
|
|
33402
34078
|
easingUpdate === null || track === null ? null : /* @__PURE__ */ jsx162(KeyframeEasingNavigator, {
|
|
@@ -33973,7 +34649,7 @@ var TimelineKeyframeControls = ({
|
|
|
33973
34649
|
}) => {
|
|
33974
34650
|
const videoConfig = useVideoConfig6();
|
|
33975
34651
|
const timelinePosition = Internals44.Timeline.useTimelinePosition();
|
|
33976
|
-
const
|
|
34652
|
+
const seekFrame = Internals44.Timeline.useTimelineSeekFrame();
|
|
33977
34653
|
const { setPropStatuses } = useContext63(Internals44.VisualModeSettersContext);
|
|
33978
34654
|
const { propStatuses } = useContext63(Internals44.VisualModePropStatusesContext);
|
|
33979
34655
|
const { getDragOverrides, getEffectDragOverrides } = useContext63(Internals44.VisualModeDragOverridesContext);
|
|
@@ -34078,7 +34754,7 @@ var TimelineKeyframeControls = ({
|
|
|
34078
34754
|
tracks
|
|
34079
34755
|
]);
|
|
34080
34756
|
const seekToDisplayFrame = useCallback106((frame, direction) => {
|
|
34081
|
-
|
|
34757
|
+
seekFrame((current) => {
|
|
34082
34758
|
const next = { ...current, [videoConfig.id]: frame };
|
|
34083
34759
|
Internals44.persistCurrentFrame(next);
|
|
34084
34760
|
return next;
|
|
@@ -34088,7 +34764,7 @@ var TimelineKeyframeControls = ({
|
|
|
34088
34764
|
durationInFrames: videoConfig.durationInFrames,
|
|
34089
34765
|
frame
|
|
34090
34766
|
});
|
|
34091
|
-
}, [
|
|
34767
|
+
}, [seekFrame, videoConfig.durationInFrames, videoConfig.id]);
|
|
34092
34768
|
const onPrevious = useCallback106((e) => {
|
|
34093
34769
|
e.stopPropagation();
|
|
34094
34770
|
if (previousDisplayFrame !== null) {
|
|
@@ -34192,7 +34868,6 @@ var TimelineKeyframeControls = ({
|
|
|
34192
34868
|
disabled: previousDisabled,
|
|
34193
34869
|
onPointerDown: previousDisabled ? undefined : onPrevious,
|
|
34194
34870
|
"aria-label": "Go to previous keyframe",
|
|
34195
|
-
title: "Previous keyframe",
|
|
34196
34871
|
children: /* @__PURE__ */ jsx165("svg", {
|
|
34197
34872
|
width: "14",
|
|
34198
34873
|
height: "14",
|
|
@@ -34210,7 +34885,6 @@ var TimelineKeyframeControls = ({
|
|
|
34210
34885
|
disabled: !canToggleKeyframe || !clientId,
|
|
34211
34886
|
onPointerDown: canToggleKeyframe && clientId ? onToggleKeyframe : undefined,
|
|
34212
34887
|
"aria-label": hasKeyframeAtCurrentFrame ? "Remove keyframe" : "Add keyframe",
|
|
34213
|
-
title: hasKeyframeAtCurrentFrame ? "Remove keyframe" : "Add keyframe",
|
|
34214
34888
|
children: /* @__PURE__ */ jsx165(TimelineKeyframeDiamondIcon, {
|
|
34215
34889
|
color: diamondColor,
|
|
34216
34890
|
size: 12
|
|
@@ -34222,7 +34896,6 @@ var TimelineKeyframeControls = ({
|
|
|
34222
34896
|
disabled: nextDisabled,
|
|
34223
34897
|
onPointerDown: nextDisabled ? undefined : onNext,
|
|
34224
34898
|
"aria-label": "Go to next keyframe",
|
|
34225
|
-
title: "Next keyframe",
|
|
34226
34899
|
children: /* @__PURE__ */ jsx165("svg", {
|
|
34227
34900
|
width: "14",
|
|
34228
34901
|
height: "14",
|
|
@@ -35330,9 +36003,10 @@ var TimelineSequencePropItem = ({
|
|
|
35330
36003
|
nodePathInfo,
|
|
35331
36004
|
mode: keyframeControlsMode
|
|
35332
36005
|
}) : null;
|
|
36006
|
+
const hidePathValue = keyframeControlsMode === "timeline" && field.typeName === "svg-path";
|
|
35333
36007
|
const style4 = useMemo105(() => {
|
|
35334
|
-
return isTimelineFieldStacked({ field, transform3DMode }) ? fieldRowBase2 : { ...fieldRowBase2, height: field.rowHeight };
|
|
35335
|
-
}, [field, transform3DMode]);
|
|
36008
|
+
return !hidePathValue && isTimelineFieldStacked({ field, transform3DMode }) ? fieldRowBase2 : { ...fieldRowBase2, height: field.rowHeight };
|
|
36009
|
+
}, [field, hidePathValue, transform3DMode]);
|
|
35336
36010
|
const canResetToDefault = useMemo105(() => {
|
|
35337
36011
|
if (!propStatus || propStatus.status === "computed") {
|
|
35338
36012
|
return false;
|
|
@@ -35505,7 +36179,11 @@ var TimelineSequencePropItem = ({
|
|
|
35505
36179
|
showSelectedBackground: true,
|
|
35506
36180
|
containsSelection,
|
|
35507
36181
|
outerHeight: null,
|
|
35508
|
-
children: /* @__PURE__ */ jsx168(
|
|
36182
|
+
children: hidePathValue ? /* @__PURE__ */ jsx168(TimelineFieldLabel, {
|
|
36183
|
+
rowDepth,
|
|
36184
|
+
selected: selection.selected || containsSelection,
|
|
36185
|
+
label: field.description ?? field.key
|
|
36186
|
+
}) : /* @__PURE__ */ jsx168(TimelineFieldRowContent, {
|
|
35509
36187
|
field,
|
|
35510
36188
|
rowDepth,
|
|
35511
36189
|
selected: selection.selected || containsSelection,
|
|
@@ -35874,7 +36552,7 @@ var KeyframeInspector = ({ selection }) => {
|
|
|
35874
36552
|
/* @__PURE__ */ jsx169(InspectorBackAction, {
|
|
35875
36553
|
disabled: parentSelection === null,
|
|
35876
36554
|
onClick: onSelectParent,
|
|
35877
|
-
|
|
36555
|
+
"aria-label": "Back to property",
|
|
35878
36556
|
children: details.fieldLabel
|
|
35879
36557
|
}),
|
|
35880
36558
|
/* @__PURE__ */ jsx169(KeyframeEasingNavigator, {
|
|
@@ -36002,8 +36680,12 @@ var SnowflakeIcon = ({ color, ...props }) => {
|
|
|
36002
36680
|
viewBox: "0 0 640 640",
|
|
36003
36681
|
...props,
|
|
36004
36682
|
children: /* @__PURE__ */ jsx172("path", {
|
|
36005
|
-
|
|
36006
|
-
|
|
36683
|
+
d: "M320 80V560M112 200L528 440M112 440L528 200M272 112L320 160L368 112M272 528L320 480L368 528M181 184L181 240L128 264M459 184L459 240L512 264M181 456L181 400L128 376M459 456L459 400L512 376",
|
|
36684
|
+
fill: "none",
|
|
36685
|
+
stroke: color,
|
|
36686
|
+
strokeWidth: 28,
|
|
36687
|
+
strokeLinecap: "round",
|
|
36688
|
+
strokeLinejoin: "round"
|
|
36007
36689
|
})
|
|
36008
36690
|
});
|
|
36009
36691
|
};
|
|
@@ -36407,7 +37089,7 @@ var CaptionTextEditor = ({ captions, onChange, onSave, onCancel, readOnly }) =>
|
|
|
36407
37089
|
focusable: "false",
|
|
36408
37090
|
style: { height: 16, width: 16 }
|
|
36409
37091
|
}),
|
|
36410
|
-
|
|
37092
|
+
"aria-label": pageBreakTitle,
|
|
36411
37093
|
variant: null
|
|
36412
37094
|
})
|
|
36413
37095
|
]
|
|
@@ -36580,6 +37262,7 @@ var CaptionInspector = ({
|
|
|
36580
37262
|
}),
|
|
36581
37263
|
/* @__PURE__ */ jsx185(InlineAction, {
|
|
36582
37264
|
"aria-label": "Import captions",
|
|
37265
|
+
"aria-description": importTooltip,
|
|
36583
37266
|
className: FOCUS_VISIBLE_ONLY_CLASS_NAME,
|
|
36584
37267
|
disabled: isImporting,
|
|
36585
37268
|
onClick: openCaptionSelection,
|
|
@@ -36589,14 +37272,14 @@ var CaptionInspector = ({
|
|
|
36589
37272
|
focusable: "false",
|
|
36590
37273
|
style: { height: 14, width: 14 }
|
|
36591
37274
|
}),
|
|
36592
|
-
title: importTooltip,
|
|
36593
37275
|
variant: null
|
|
36594
37276
|
})
|
|
36595
37277
|
]
|
|
36596
37278
|
}),
|
|
36597
37279
|
readOnly ? /* @__PURE__ */ jsx185("div", {
|
|
37280
|
+
role: "group",
|
|
36598
37281
|
style: readOnlyStatus,
|
|
36599
|
-
|
|
37282
|
+
"aria-label": readOnlyTitle ?? undefined,
|
|
36600
37283
|
children: "Read only"
|
|
36601
37284
|
}) : null
|
|
36602
37285
|
]
|
|
@@ -37346,7 +38029,8 @@ var TimelineEffectItem = ({
|
|
|
37346
38029
|
style: labelContainerStyle,
|
|
37347
38030
|
children: [
|
|
37348
38031
|
/* @__PURE__ */ jsx187("span", {
|
|
37349
|
-
|
|
38032
|
+
role: "group",
|
|
38033
|
+
"aria-label": label3,
|
|
37350
38034
|
style: labelStyle4,
|
|
37351
38035
|
children: label3
|
|
37352
38036
|
}),
|
|
@@ -37561,6 +38245,9 @@ var useTimelineSequenceHasExpandableContent = ({
|
|
|
37561
38245
|
const { getDragOverrides, getEffectDragOverrides } = useContext69(Internals53.VisualModeDragOverridesContext);
|
|
37562
38246
|
const selectedRowKeys = useMemo110(() => getSelectedTimelineExpandedRowKeys(selectedItems), [selectedItems]);
|
|
37563
38247
|
const selectHasExpandableContent = useCallback116((runtimeValues) => {
|
|
38248
|
+
if (nodePathInfo === null) {
|
|
38249
|
+
return false;
|
|
38250
|
+
}
|
|
37564
38251
|
const tree = buildTimelineTree({
|
|
37565
38252
|
sequence,
|
|
37566
38253
|
nodePathInfo,
|
|
@@ -37867,7 +38554,7 @@ var InspectorSequenceSection = ({
|
|
|
37867
38554
|
fileType: getPreviewFileType(linkInfo.assetPath),
|
|
37868
38555
|
style: assetSelectorIcon
|
|
37869
38556
|
}),
|
|
37870
|
-
|
|
38557
|
+
"aria-label": linkInfo.assetPath
|
|
37871
38558
|
};
|
|
37872
38559
|
}
|
|
37873
38560
|
if (linkInfo?.kind === "remote") {
|
|
@@ -37888,7 +38575,7 @@ var InspectorSequenceSection = ({
|
|
|
37888
38575
|
}),
|
|
37889
38576
|
disabled: false,
|
|
37890
38577
|
onClick: () => openTimelineAssetLink(linkInfo, selectAsset),
|
|
37891
|
-
|
|
38578
|
+
"aria-label": linkInfo.href
|
|
37892
38579
|
};
|
|
37893
38580
|
}
|
|
37894
38581
|
return null;
|
|
@@ -38170,7 +38857,7 @@ var InspectorSequenceSection = ({
|
|
|
38170
38857
|
variant: null,
|
|
38171
38858
|
disabled: borderRadiusConversion === null || previewServerState.type !== "connected",
|
|
38172
38859
|
onClick: onConvertBorderRadius,
|
|
38173
|
-
|
|
38860
|
+
"aria-label": borderRadiusConversion === null ? borderRadiusUsesShorthand ? "A static border radius is required to use individual corners" : "All four corners must have the same static value" : borderRadiusUsesShorthand ? "Use individual corner radii" : "Use one border radius value",
|
|
38174
38861
|
renderAction: (color) => borderRadiusUsesShorthand ? /* @__PURE__ */ jsx189(FullscreenIcon, {
|
|
38175
38862
|
color,
|
|
38176
38863
|
style: borderRadiusToggleIcon
|
|
@@ -38183,7 +38870,7 @@ var InspectorSequenceSection = ({
|
|
|
38183
38870
|
variant: null,
|
|
38184
38871
|
disabled: automaticallyEnabled3DTransform,
|
|
38185
38872
|
onClick: onToggle3DTransform,
|
|
38186
|
-
|
|
38873
|
+
"aria-label": automaticallyEnabled3DTransform ? "3D controls are required by the current transform values" : show3DTransformControls ? "Hide 3D transform controls" : "Show 3D transform controls",
|
|
38187
38874
|
hoveredColor: show3DTransformControls ? BLUE : undefined,
|
|
38188
38875
|
unhoveredColor: show3DTransformControls ? BLUE : LIGHT_TEXT,
|
|
38189
38876
|
renderAction: (color) => /* @__PURE__ */ jsx189(CubeIcon, {
|
|
@@ -38196,7 +38883,7 @@ var InspectorSequenceSection = ({
|
|
|
38196
38883
|
variant: null,
|
|
38197
38884
|
disabled: !canAddEffect,
|
|
38198
38885
|
onClick: onAddEffect,
|
|
38199
|
-
|
|
38886
|
+
"aria-label": canAddEffect ? "Add effect" : undefined,
|
|
38200
38887
|
renderAction: (color) => /* @__PURE__ */ jsx189(Plus, {
|
|
38201
38888
|
color,
|
|
38202
38889
|
style: plusIcon
|
|
@@ -40176,10 +40863,10 @@ var verticalSpacer = {
|
|
|
40176
40863
|
height: 16,
|
|
40177
40864
|
margin: "0 8px"
|
|
40178
40865
|
};
|
|
40179
|
-
var AlignmentButton = ({ onClick,
|
|
40866
|
+
var AlignmentButton = ({ onClick, "aria-label": ariaLabel, Icon, disabled }) => {
|
|
40180
40867
|
return /* @__PURE__ */ jsx196(InlineAction, {
|
|
40181
40868
|
variant: null,
|
|
40182
|
-
|
|
40869
|
+
"aria-label": ariaLabel,
|
|
40183
40870
|
onClick,
|
|
40184
40871
|
renderAction: (color) => /* @__PURE__ */ jsx196(Icon, {
|
|
40185
40872
|
style: iconStyle,
|
|
@@ -40362,19 +41049,19 @@ var AlignmentControls = ({ track }) => {
|
|
|
40362
41049
|
style: container19,
|
|
40363
41050
|
children: [
|
|
40364
41051
|
/* @__PURE__ */ jsx196(AlignmentButton, {
|
|
40365
|
-
|
|
41052
|
+
"aria-label": "Align left",
|
|
40366
41053
|
onClick: () => handleAlign("left"),
|
|
40367
41054
|
Icon: AlignLeftIcon,
|
|
40368
41055
|
disabled: alignmentDisabled
|
|
40369
41056
|
}),
|
|
40370
41057
|
/* @__PURE__ */ jsx196(AlignmentButton, {
|
|
40371
|
-
|
|
41058
|
+
"aria-label": "Align center horizontally",
|
|
40372
41059
|
onClick: () => handleAlign("center-h"),
|
|
40373
41060
|
Icon: AlignCenterHorizontalIcon,
|
|
40374
41061
|
disabled: alignmentDisabled
|
|
40375
41062
|
}),
|
|
40376
41063
|
/* @__PURE__ */ jsx196(AlignmentButton, {
|
|
40377
|
-
|
|
41064
|
+
"aria-label": "Align right",
|
|
40378
41065
|
onClick: () => handleAlign("right"),
|
|
40379
41066
|
Icon: AlignRightIcon,
|
|
40380
41067
|
disabled: alignmentDisabled
|
|
@@ -40383,19 +41070,19 @@ var AlignmentControls = ({ track }) => {
|
|
|
40383
41070
|
style: verticalSpacer
|
|
40384
41071
|
}),
|
|
40385
41072
|
/* @__PURE__ */ jsx196(AlignmentButton, {
|
|
40386
|
-
|
|
41073
|
+
"aria-label": "Align top",
|
|
40387
41074
|
onClick: () => handleAlign("top"),
|
|
40388
41075
|
Icon: AlignTopIcon,
|
|
40389
41076
|
disabled: alignmentDisabled
|
|
40390
41077
|
}),
|
|
40391
41078
|
/* @__PURE__ */ jsx196(AlignmentButton, {
|
|
40392
|
-
|
|
41079
|
+
"aria-label": "Align center vertically",
|
|
40393
41080
|
onClick: () => handleAlign("center-v"),
|
|
40394
41081
|
Icon: AlignCenterVerticalIcon,
|
|
40395
41082
|
disabled: alignmentDisabled
|
|
40396
41083
|
}),
|
|
40397
41084
|
/* @__PURE__ */ jsx196(AlignmentButton, {
|
|
40398
|
-
|
|
41085
|
+
"aria-label": "Align bottom",
|
|
40399
41086
|
onClick: () => handleAlign("bottom"),
|
|
40400
41087
|
Icon: AlignBottomIcon,
|
|
40401
41088
|
disabled: alignmentDisabled
|
|
@@ -40416,8 +41103,12 @@ var WrapIcon = ({ color, ...props }) => {
|
|
|
40416
41103
|
xmlns: "http://www.w3.org/2000/svg",
|
|
40417
41104
|
viewBox: "0 0 640 640",
|
|
40418
41105
|
children: /* @__PURE__ */ jsx197("path", {
|
|
40419
|
-
|
|
40420
|
-
|
|
41106
|
+
d: "M160 112h320c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H160c-26.5 0-48-21.5-48-48v-64c0-26.5 21.5-48 48-48ZM192 272v112c0 35.3 28.7 64 64 64h48M352 368h128c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H352c-26.5 0-48-21.5-48-48v-64c0-26.5 21.5-48 48-48Z",
|
|
41107
|
+
fill: "none",
|
|
41108
|
+
stroke: color,
|
|
41109
|
+
strokeWidth: 28,
|
|
41110
|
+
strokeLinecap: "round",
|
|
41111
|
+
strokeLinejoin: "round"
|
|
40421
41112
|
})
|
|
40422
41113
|
});
|
|
40423
41114
|
};
|
|
@@ -40447,14 +41138,6 @@ var segmentStyle2 = {
|
|
|
40447
41138
|
padding: `0 ${INSPECTOR_PANEL_HORIZONTAL_PADDING - 4}px`,
|
|
40448
41139
|
width: "100%"
|
|
40449
41140
|
};
|
|
40450
|
-
var iconStyle2 = { height: 22, width: 22 };
|
|
40451
|
-
var iconContainerStyle = {
|
|
40452
|
-
flexShrink: 0,
|
|
40453
|
-
height: 22,
|
|
40454
|
-
marginLeft: -2,
|
|
40455
|
-
marginRight: -2,
|
|
40456
|
-
width: 22
|
|
40457
|
-
};
|
|
40458
41141
|
var labelStyle4 = {
|
|
40459
41142
|
flex: 1,
|
|
40460
41143
|
fontFamily: "sans-serif",
|
|
@@ -40540,7 +41223,7 @@ var SequenceWrapAction = ({ nodePathInfo, sequence, sourceActionsDisabled }) =>
|
|
|
40540
41223
|
})), [busy, eligibility, onWrap]);
|
|
40541
41224
|
const segments = useMemo113(() => [
|
|
40542
41225
|
{
|
|
40543
|
-
ariaLabel: "Wrap",
|
|
41226
|
+
ariaLabel: nodePathInfo.numberOfSequencesWithThisNodePath > 1 ? `Wrap all ${nodePathInfo.numberOfSequencesWithThisNodePath} instances of this JSX element` : "Wrap this JSX element",
|
|
40544
41227
|
buttonId: null,
|
|
40545
41228
|
disabled: busy,
|
|
40546
41229
|
idleColor: LIGHT_TEXT,
|
|
@@ -40549,10 +41232,10 @@ var SequenceWrapAction = ({ nodePathInfo, sequence, sourceActionsDisabled }) =>
|
|
|
40549
41232
|
renderContent: (color) => /* @__PURE__ */ jsxs91(Fragment32, {
|
|
40550
41233
|
children: [
|
|
40551
41234
|
/* @__PURE__ */ jsx198("span", {
|
|
40552
|
-
style:
|
|
41235
|
+
style: largeInspectorActionIconContainerStyle,
|
|
40553
41236
|
children: /* @__PURE__ */ jsx198(WrapIcon, {
|
|
40554
41237
|
color,
|
|
40555
|
-
style:
|
|
41238
|
+
style: largeInspectorActionIconStyle
|
|
40556
41239
|
})
|
|
40557
41240
|
}),
|
|
40558
41241
|
/* @__PURE__ */ jsx198("span", {
|
|
@@ -40570,7 +41253,6 @@ var SequenceWrapAction = ({ nodePathInfo, sequence, sourceActionsDisabled }) =>
|
|
|
40570
41253
|
segmentId: "wrap",
|
|
40571
41254
|
selectedId: null,
|
|
40572
41255
|
style: segmentStyle2,
|
|
40573
|
-
title: nodePathInfo.numberOfSequencesWithThisNodePath > 1 ? `Wrap all ${nodePathInfo.numberOfSequencesWithThisNodePath} instances of this JSX element` : "Wrap this JSX element",
|
|
40574
41256
|
tooltipLabel: null,
|
|
40575
41257
|
type: "menu",
|
|
40576
41258
|
values
|
|
@@ -40581,23 +41263,12 @@ var SequenceWrapAction = ({ nodePathInfo, sequence, sourceActionsDisabled }) =>
|
|
|
40581
41263
|
}
|
|
40582
41264
|
return /* @__PURE__ */ jsx198(SegmentedButton, {
|
|
40583
41265
|
segments,
|
|
40584
|
-
style: buttonStyle2
|
|
40585
|
-
title: null
|
|
41266
|
+
style: buttonStyle2
|
|
40586
41267
|
});
|
|
40587
41268
|
};
|
|
40588
41269
|
|
|
40589
41270
|
// src/components/InspectorPanel/SequenceSelectionInspector.tsx
|
|
40590
41271
|
import { jsx as jsx199, jsxs as jsxs92, Fragment as Fragment33 } from "react/jsx-runtime";
|
|
40591
|
-
var actionIconStyle3 = {
|
|
40592
|
-
display: "block",
|
|
40593
|
-
height: 16,
|
|
40594
|
-
width: 16
|
|
40595
|
-
};
|
|
40596
|
-
var largeActionIconStyle = {
|
|
40597
|
-
...actionIconStyle3,
|
|
40598
|
-
height: 20,
|
|
40599
|
-
width: 20
|
|
40600
|
-
};
|
|
40601
41272
|
var SplitSequenceQuickAction = ({ selection, track }) => {
|
|
40602
41273
|
const timelinePosition = Internals58.Timeline.useTimelinePosition();
|
|
40603
41274
|
const { propStatuses } = useContext72(Internals58.VisualModePropStatusesContext);
|
|
@@ -40623,10 +41294,11 @@ var SplitSequenceQuickAction = ({ selection, track }) => {
|
|
|
40623
41294
|
const disabledReason = !isStudioInteractivityEnabled() ? "Studio is read-only" : sequencePropStatuses === undefined ? "Waiting for sequence prop status" : eligibility.canSplit ? undefined : eligibility.reason;
|
|
40624
41295
|
return /* @__PURE__ */ jsx199(InspectorQuickAction, {
|
|
40625
41296
|
disabled: !canSplit,
|
|
41297
|
+
iconContainerStyle: largeInspectorActionIconContainerStyle,
|
|
40626
41298
|
onClick: onSplit,
|
|
40627
|
-
|
|
40628
|
-
renderIcon: (color) => /* @__PURE__ */ jsx199(
|
|
40629
|
-
style:
|
|
41299
|
+
"aria-label": disabledReason,
|
|
41300
|
+
renderIcon: (color) => /* @__PURE__ */ jsx199(SplitIcon, {
|
|
41301
|
+
style: largeInspectorActionIconStyle,
|
|
40630
41302
|
color
|
|
40631
41303
|
}),
|
|
40632
41304
|
children: "Split clip"
|
|
@@ -40734,49 +41406,60 @@ var SequenceSourceQuickActions = ({ selection, track, validatedSource }) => {
|
|
|
40734
41406
|
children: [
|
|
40735
41407
|
freezeFrameMenuItem?.type === "item" ? /* @__PURE__ */ jsx199(InspectorQuickAction, {
|
|
40736
41408
|
disabled: Boolean(freezeFrameMenuItem.disabled),
|
|
41409
|
+
iconContainerStyle: largeInspectorActionIconContainerStyle,
|
|
40737
41410
|
onClick: () => freezeFrameMenuItem.onClick(freezeFrameMenuItem.id, null),
|
|
40738
41411
|
renderIcon: (color) => /* @__PURE__ */ jsx199(SnowflakeIcon, {
|
|
40739
|
-
style:
|
|
41412
|
+
style: largeInspectorActionIconStyle,
|
|
40740
41413
|
color
|
|
40741
41414
|
}),
|
|
40742
41415
|
children: freezeFrameMenuItem.label
|
|
40743
41416
|
}) : null,
|
|
40744
41417
|
track.sequence.type === "video" ? /* @__PURE__ */ jsx199(InspectorQuickAction, {
|
|
40745
41418
|
disabled: videoMattingDisabledReason !== undefined,
|
|
41419
|
+
iconContainerStyle: largeInspectorActionIconContainerStyle,
|
|
40746
41420
|
onClick: onRemoveBackground,
|
|
40747
|
-
|
|
41421
|
+
"aria-label": videoMattingDisabledReason,
|
|
40748
41422
|
renderIcon: (color) => /* @__PURE__ */ jsx199(BackgroundRemovalIcon, {
|
|
40749
|
-
style:
|
|
40750
|
-
color
|
|
41423
|
+
style: largeInspectorActionIconStyle,
|
|
41424
|
+
color,
|
|
41425
|
+
viewBox: "-32 -32 704 704"
|
|
40751
41426
|
}),
|
|
40752
41427
|
children: "Remove background"
|
|
40753
41428
|
}) : null,
|
|
40754
41429
|
track.sequence.type === "video" ? /* @__PURE__ */ jsx199(InspectorQuickAction, {
|
|
40755
41430
|
disabled: splitVideoFromAudioDisabledReason !== undefined,
|
|
41431
|
+
iconContainerStyle: largeInspectorActionIconContainerStyle,
|
|
40756
41432
|
onClick: onSplitVideoFromAudio,
|
|
40757
|
-
|
|
41433
|
+
"aria-label": splitVideoFromAudioDisabledReason,
|
|
40758
41434
|
renderIcon: (color) => /* @__PURE__ */ jsx199(AudioIcon, {
|
|
40759
|
-
style:
|
|
40760
|
-
color
|
|
41435
|
+
style: largeInspectorActionIconStyle,
|
|
41436
|
+
color,
|
|
41437
|
+
viewBox: "-96 -64 704 640",
|
|
41438
|
+
preserveAspectRatio: "none"
|
|
40761
41439
|
}),
|
|
40762
41440
|
children: "Split video from audio"
|
|
40763
41441
|
}) : null,
|
|
40764
41442
|
mediaSequence !== null && mediaMetadata?.hasAudioTrack !== false ? /* @__PURE__ */ jsx199(InspectorQuickAction, {
|
|
40765
41443
|
disabled: transcriptionDisabledReason !== undefined,
|
|
41444
|
+
iconContainerStyle: largeInspectorActionIconContainerStyle,
|
|
40766
41445
|
onClick: onGenerateCaptions,
|
|
40767
|
-
|
|
41446
|
+
"aria-label": transcriptionDisabledReason,
|
|
40768
41447
|
renderIcon: (color) => /* @__PURE__ */ jsx199(TranscriptionIcon, {
|
|
40769
|
-
style:
|
|
40770
|
-
color
|
|
41448
|
+
style: largeInspectorActionIconStyle,
|
|
41449
|
+
color,
|
|
41450
|
+
viewBox: "-96 -16 704 544",
|
|
41451
|
+
preserveAspectRatio: "none"
|
|
40771
41452
|
}),
|
|
40772
41453
|
children: "Generate captions"
|
|
40773
41454
|
}) : null,
|
|
40774
41455
|
/* @__PURE__ */ jsx199(InspectorQuickAction, {
|
|
40775
41456
|
disabled: sourceActionsDisabled,
|
|
41457
|
+
iconContainerStyle: largeInspectorActionIconContainerStyle,
|
|
40776
41458
|
onClick: onDuplicate,
|
|
40777
41459
|
renderIcon: (color) => /* @__PURE__ */ jsx199(DuplicateIcon, {
|
|
40778
|
-
style:
|
|
40779
|
-
color
|
|
41460
|
+
style: largeInspectorActionIconStyle,
|
|
41461
|
+
color,
|
|
41462
|
+
viewBox: "-32 -32 704 704"
|
|
40780
41463
|
}),
|
|
40781
41464
|
children: "Duplicate"
|
|
40782
41465
|
}),
|
|
@@ -40787,10 +41470,12 @@ var SequenceSourceQuickActions = ({ selection, track, validatedSource }) => {
|
|
|
40787
41470
|
}),
|
|
40788
41471
|
/* @__PURE__ */ jsx199(InspectorQuickAction, {
|
|
40789
41472
|
disabled: sourceActionsDisabled,
|
|
41473
|
+
iconContainerStyle: largeInspectorActionIconContainerStyle,
|
|
40790
41474
|
onClick: onDelete,
|
|
40791
41475
|
renderIcon: (color) => /* @__PURE__ */ jsx199(TrashIcon, {
|
|
40792
|
-
style:
|
|
40793
|
-
color
|
|
41476
|
+
style: largeInspectorActionIconStyle,
|
|
41477
|
+
color,
|
|
41478
|
+
viewBox: "-120 -96 688 688"
|
|
40794
41479
|
}),
|
|
40795
41480
|
children: "Delete"
|
|
40796
41481
|
})
|
|
@@ -41103,7 +41788,7 @@ var QueueJobError = ({ error, modalTitle }) => {
|
|
|
41103
41788
|
onClick,
|
|
41104
41789
|
type: "button",
|
|
41105
41790
|
style: errorStyle,
|
|
41106
|
-
|
|
41791
|
+
"aria-label": error.message,
|
|
41107
41792
|
children: error.message
|
|
41108
41793
|
});
|
|
41109
41794
|
};
|
|
@@ -41435,13 +42120,13 @@ var RenderQueueRepeatItem = ({ job }) => {
|
|
|
41435
42120
|
|
|
41436
42121
|
// src/components/RenderQueue/SuccessIcon.tsx
|
|
41437
42122
|
import { jsx as jsx208 } from "react/jsx-runtime";
|
|
41438
|
-
var
|
|
42123
|
+
var iconStyle2 = {
|
|
41439
42124
|
height: RENDER_STATUS_INDICATOR_SIZE,
|
|
41440
42125
|
width: RENDER_STATUS_INDICATOR_SIZE
|
|
41441
42126
|
};
|
|
41442
42127
|
var SuccessIcon = () => {
|
|
41443
42128
|
return /* @__PURE__ */ jsx208("svg", {
|
|
41444
|
-
style:
|
|
42129
|
+
style: iconStyle2,
|
|
41445
42130
|
viewBox: "0 0 512 512",
|
|
41446
42131
|
children: /* @__PURE__ */ jsx208("path", {
|
|
41447
42132
|
fill: LIGHT_TEXT,
|
|
@@ -41625,8 +42310,9 @@ var CaptionQueueItem = ({ job, selected }) => {
|
|
|
41625
42310
|
error: job.error,
|
|
41626
42311
|
modalTitle: "Transcription failed"
|
|
41627
42312
|
}) : /* @__PURE__ */ jsx209("span", {
|
|
42313
|
+
role: "group",
|
|
41628
42314
|
style: subtitle2,
|
|
41629
|
-
|
|
42315
|
+
"aria-label": message,
|
|
41630
42316
|
children: message
|
|
41631
42317
|
})
|
|
41632
42318
|
})
|
|
@@ -41951,7 +42637,7 @@ var RenderQueueError = ({ job }) => {
|
|
|
41951
42637
|
type: "button",
|
|
41952
42638
|
style: outputLocation,
|
|
41953
42639
|
tabIndex,
|
|
41954
|
-
|
|
42640
|
+
"aria-label": job.error.message,
|
|
41955
42641
|
children: job.error.message
|
|
41956
42642
|
});
|
|
41957
42643
|
};
|
|
@@ -41959,7 +42645,7 @@ var RenderQueueError = ({ job }) => {
|
|
|
41959
42645
|
// src/components/RenderQueue/RenderQueueItemStatus.tsx
|
|
41960
42646
|
import React130, { useCallback as useCallback129, useContext as useContext79 } from "react";
|
|
41961
42647
|
import { jsx as jsx213 } from "react/jsx-runtime";
|
|
41962
|
-
var
|
|
42648
|
+
var iconStyle3 = {
|
|
41963
42649
|
height: RENDER_STATUS_INDICATOR_SIZE,
|
|
41964
42650
|
width: RENDER_STATUS_INDICATOR_SIZE
|
|
41965
42651
|
};
|
|
@@ -41993,7 +42679,7 @@ var RenderQueueItemStatus = ({ job }) => {
|
|
|
41993
42679
|
style: invisibleStyle,
|
|
41994
42680
|
onClick,
|
|
41995
42681
|
children: /* @__PURE__ */ jsx213("svg", {
|
|
41996
|
-
style:
|
|
42682
|
+
style: iconStyle3,
|
|
41997
42683
|
viewBox: "0 0 512 512",
|
|
41998
42684
|
children: /* @__PURE__ */ jsx213("path", {
|
|
41999
42685
|
fill: FAIL_COLOR,
|
|
@@ -42004,7 +42690,7 @@ var RenderQueueItemStatus = ({ job }) => {
|
|
|
42004
42690
|
}
|
|
42005
42691
|
if (job.status === "idle") {
|
|
42006
42692
|
return /* @__PURE__ */ jsx213("svg", {
|
|
42007
|
-
style:
|
|
42693
|
+
style: iconStyle3,
|
|
42008
42694
|
viewBox: "0 0 512 512",
|
|
42009
42695
|
children: /* @__PURE__ */ jsx213("path", {
|
|
42010
42696
|
fill: LIGHT_TEXT,
|
|
@@ -42020,7 +42706,7 @@ var RenderQueueItemStatus = ({ job }) => {
|
|
|
42020
42706
|
onPointerLeave,
|
|
42021
42707
|
onClick,
|
|
42022
42708
|
children: /* @__PURE__ */ jsx213("svg", {
|
|
42023
|
-
style:
|
|
42709
|
+
style: iconStyle3,
|
|
42024
42710
|
viewBox: "0 0 512 512",
|
|
42025
42711
|
children: /* @__PURE__ */ jsx213("path", {
|
|
42026
42712
|
fill: hovered ? WHITE : LIGHT_TEXT,
|
|
@@ -42057,7 +42743,7 @@ var RenderQueueItemStatus = ({ job }) => {
|
|
|
42057
42743
|
}
|
|
42058
42744
|
if (job.status === "cancelled") {
|
|
42059
42745
|
return /* @__PURE__ */ jsx213("svg", {
|
|
42060
|
-
style:
|
|
42746
|
+
style: iconStyle3,
|
|
42061
42747
|
viewBox: "0 0 512 512",
|
|
42062
42748
|
children: /* @__PURE__ */ jsx213("path", {
|
|
42063
42749
|
fill: FAIL_COLOR,
|
|
@@ -42125,8 +42811,9 @@ var RenderQueueOutputName = ({ job }) => {
|
|
|
42125
42811
|
return job.outName;
|
|
42126
42812
|
};
|
|
42127
42813
|
return /* @__PURE__ */ jsx215("span", {
|
|
42814
|
+
role: "group",
|
|
42128
42815
|
style: style4,
|
|
42129
|
-
|
|
42816
|
+
"aria-label": getTitle(),
|
|
42130
42817
|
children: job.outName
|
|
42131
42818
|
});
|
|
42132
42819
|
};
|
|
@@ -42184,7 +42871,7 @@ var RenderQueueProgressMessage = ({ job }) => {
|
|
|
42184
42871
|
type: "button",
|
|
42185
42872
|
style: outputLocation2,
|
|
42186
42873
|
tabIndex,
|
|
42187
|
-
|
|
42874
|
+
"aria-label": message,
|
|
42188
42875
|
children: message
|
|
42189
42876
|
});
|
|
42190
42877
|
};
|
|
@@ -46147,8 +46834,9 @@ var VideoMattingQueueItem = ({ job, selected }) => {
|
|
|
46147
46834
|
children: job.displayName
|
|
46148
46835
|
}),
|
|
46149
46836
|
/* @__PURE__ */ jsx221("div", {
|
|
46837
|
+
role: "group",
|
|
46150
46838
|
style: subtitles,
|
|
46151
|
-
|
|
46839
|
+
"aria-label": tooltip,
|
|
46152
46840
|
children: job.status === "cancelled" ? /* @__PURE__ */ jsx221(RenderQueueCancelledMessage, {}) : job.status === "failed" ? /* @__PURE__ */ jsx221(QueueJobError, {
|
|
46153
46841
|
error: job.error,
|
|
46154
46842
|
modalTitle: "Background removal failed"
|
|
@@ -46739,4 +47427,4 @@ var RenderModalHr = () => {
|
|
|
46739
47427
|
});
|
|
46740
47428
|
};
|
|
46741
47429
|
|
|
46742
|
-
export { subscribeToPreviewServerEvents, getNavigationWindow, pushUrl, clearUrl, reloadUrl, getRoute, StudioServerConnectionCtx, PreviewServerConnection, useStudioConfigRevision, noop, compositionListRenderedRef, CompositionListContext, CompositionListProvider, ScaleLockContext, ScaleLockProvider, getCurrentZoom, setCurrentZoom, getCurrentFrame, setCurrentFrame, getCurrentDuration, setCurrentDuration, getCurrentFps, setCurrentFps, sliderAreaRef, scrollableRef, timelineVerticalScroll, TIMELINE_PADDING, TIMELINE_BORDER, TIMELINE_ITEM_BORDER_BOTTOM, buildTimelineTree, flattenVisibleTreeNodes, getTreeRowHeight, TIMELINE_LAYER_FILMSTRIP_HEIGHT, TIMELINE_VIDEO_INFO_WAVEFORM_HEIGHT, TIMELINE_LAYER_HEIGHT_AUDIO, TIMELINE_LIST_ITEM_ROW_HEIGHT, getTimelineLayerHeight, getXPositionOfItemInTimelineImperatively, TIMELINE_FRAME_WIDTH_AT_MAX_ZOOM, getTimelineMinZoom, clampTimelineZoom, getTimelineZoom, getTimelineWidth, timelineZoomToNormalized, timelineZoomToSliderValue, normalizedToTimelineZoom, sliderValueToTimelineZoom, TIMELINE_ZOOM_SLIDER_PROPS, TimelineWidthContext, TimelineWidthProvider, redrawTimelineSliderFast, TimelineSlider, getTimelineContentWidth, EDGE_SCROLL_VERTICAL_INCREMENT, startTimelineEdgeAutoScroll, getFrameWhileScrollingLeft, isCursorInViewport, ensureFrameIsInViewport, scrollToTimelineXOffset, getScrollPositionForCursorOnLeftEdge, getScrollPositionForCursorOnRightEdge, getFrameIncrementFromWidth, getFrameWhileScrollingRight, getFrameFromX, getFrameFromTimelineDrop, viewportClientXToScrollContentX, TimelineViewportContext, TimelineViewportProvider, deriveCanvasContentFromUrl, ZoomPersistor, TimelineZoomCtx, TimelineZoomContext, SelectedModalContext, SetSelectedModalContext, StudioProtocolInternals, Transform3DModeStateContext, Transform3DModeStateProvider, calculateTimeline, getPreviewFileType, copyText, timelineSequenceNodePathToKey, timelineNodePathInfoToKey, persistEditorShowGuidesOption, loadEditorShowGuidesOption, persistGuidesList, loadGuidesList, EditorShowGuidesContext, ModalHeader, toggleBooleanMapKey, openFolderKey, persistExpandedFolders, ExpandedFoldersContext, buildAssetFolderStructure, splitParentIntoNameAndParent, getKeysToExpand, createFolderTree, sortFolderTreeAlphabetically, FolderContext, FolderContextProvider, CollapsedFolderIcon, ExpandedFolderIcon, ExpandedFolderIconSolid, getRelativeFileLocation, formatFileLocation, formatContextForAgents, getGitSourceName, getDefaultOpenInTarget, openGitSource, getGitMenuItem, getOriginalPosition, getSourceMap, resolveFileSource, parseError, getOriginalLocationFromStack, openInEditor, openInCodingAgent, openOriginalPositionInEditor, findOriginalPositionInFileAtProperty, useCachedCompositionComponentInfo, preloadCompositionComponentInfo, getFileManagerName, ClipboardIcon, getConfigureDefaultAppsMenuItems, getOpenInMenuItems, getCompositionMenuItems, getCompositionContextMenuItems, EllipsisIcon, useMobileLayout, MenuDivider, CaretDown, MenuContent, InlineDropdown, isCompositionStill, StillIcon, FilmIcon, CompositionOrStillIcon, ContextMenu, ContextMenuForTarget, hasResolvedStack, useResolvedStack, canShowUpdates, useUpdateStatus, SettingsProvider, useSettings, getPreferredEditorId, useEditorOpening, useDefaultCodingAgentInfo, useConfigureDefaultApps, useOpenInMenuApps, explorerSidebarTabs, useSelectAsset, StaticFilesProvider, useStaticFiles, useSelectComposition, InitialCompositionLoader, Checkmark, ExpandedTracksGetterContext, ExpandedTracksSetterContext, ExpandedTracksProvider, optionsSidebarTabs, getKeyframeSourceFrame, resolveKeyframeSourceFrame, getKeyframeDisplayOffset, getNodeKeyframes, getNodeHasKeyframes, getTimelineEasingSegments, parseKeyframeFieldFromNodePath, filterTimelineExpandedTree, getSelectedTimelineExpandedRowKeys, isTimelineExpandedNodeSelected, getClipboardFigmaHtml, getClipboardImageFiles, getClipboardSvgMarkup, ShortcutHint, Button, ModalButton, ModalFooterContainer, useConfirmationDialog, ConfirmationDialog, addEffect, callAddKeyframes, callAddEffectKeyframe, findTrackForNodePathInfo, saveEffectProp, subscribeToSequenceProps, unsubscribeFromSequenceProps, saveSequenceProps2 as saveSequenceProps, OverrideIdToNodePathMappingsRefContext, SequencePropsSubscriptionProvider, duplicateSequencesFromSource, getTimelineSequenceSplitEligibility, splitTimelineSequenceFromSource, splitSelectedTimelineItems, useDeleteTimelineItems, TIMELINE_SELECTED_BACKGROUND, TIMELINE_EXPANDED_SELECTED_BACKGROUND, TIMELINE_SELECTED_LABEL_BACKGROUND, getTimelineSelectedLabelStyle, getTimelineColor, getTimelineSelectedTrackHighlightStyle, TIMELINE_BACKGROUND, TIMELINE_TICKS_BACKGROUND, isTimelineSelectionModifierEvent, shouldSelectTimelineRowOnPointerDown, getTimelineSelectionFromNodePathInfo, getTimelineSequenceSelectionKey, TimelineSelectAllKeybindings, TimelineSelectableItemsProvider, TimelineSelectionProvider, useTimelineSelection, TIMELINE_MARQUEE_ITEM_ATTR, TIMELINE_SCRUBBER_ATTR, useCurrentTimelineSelectionStateAsRef, useTimelineMarqueeSelection, useTimelineMarqueeSelectableItem, useTimelineRowSelection, useTimelineKeyframeSelection, useTimelineGuideSelection, useTimelineRowContainsSelection, useTimelineRowHighlightBackground, SegmentedButton, SidebarContext, SidebarContextProvider, InspectorOpenInEditor, GearIcon, useBreakpoint, addAssetCacheBust, getCachedMediaMetadata, useMediaMetadata, remotion_outputsBase, getAssetPreviewMetadata, getAssetMetadata, prepareElementInstall, getFromForDrop, getAssetElementFromPath, hasSvgFile, getElementPositionForDrop, getCompositionPositionForDrop, pickFilesToImport, importAssets, importFigmaClipboard, insertSvgMarkup, importRemoteAsset, insertRemoteAudio, insertExistingAssets, insertComponent, insertComposition, insertElement, forceSpecificCursor, stopForcingSpecificCursor, ForceSpecificCursor, AudioIcon, AudioFileIcon, RightAlignInput, RemotionInput, RemTextarea, useRuntimeValue, useRuntimeValueSelector, useRuntimeValueSnapshots, cropFieldKeys, canEditSelectedOutlineCrop, translateFieldKey, scaleFieldKey, rotateFieldKey, transformOriginFieldKey, getUvHandlePosition, getUvCoordinateForPoint, tuplesEqual2 as tuplesEqual, getUvHandleConnectionLines, getUvHandleConnectionEllipses, getUvEllipseInteractiveControls, constrainUv, roundUvCoordinate, roundNumericUvEllipseValue, getSelectedUvHandles, parseTransformOrigin, parsedTransformOriginToUv, serializeTransformOrigin, getOutlineSelectionInteraction, getSelectedSequenceKeys, getSequenceKeysContainingSelection, measureOutlineTargets, midpoint, dot, vectorLength, vectorBetween, getAngleDegrees, getSelectedOutlineRotationDeltaDegrees, getRotationCursor, getSelectedOutlineRotationCornerInfo, getSelectedOutlineRotationPivot, getSelectedEffectFieldsBySequenceKey, getSelectedCropInfo, getSelectedTransformOriginInfo, getSelectedRotationInfo, getSequencesWithSelectableOutlines, parseCssRotation, parseTranslate, serializeTranslate, InputDragger, TimelineLayerEye, TimelineLayerEyeSpacer, getSelectedOutlineActiveSchema, getSelectedOutlineDragStates, getSelectedOutlineDragValues, applySelectedOutlineDragAxisLock, isSelectedOutlineDragPastThreshold, getSelectedOutlineDragChanges, getSelectedOutlineCropFollowingTransformOrigin, getSelectedOutlineCropDragValues, getSelectedOutlineCropDragChanges, getSelectedOutlineKeyboardNudgeDeltas, getSelectedOutlineScaleEdgeInfo, getSelectedOutlineScaleDragStates, getSelectedOutlineScaleDragValues, getSelectedOutlineScaleDragChanges, getSelectedOutlineRotationDragStates, getSelectedOutline3DRotationDragValues, getSelectedOutlineRotationDragValues, selectedOutlineRotationSnapStepDegrees, snapSelectedOutlineRotationDeltaDegrees, getSelectedOutlineRotationDragChanges, clearSelectedOutlineDragOverrides, getSelectedOutlineKeyboardNudgeDirection, clearSelectedOutlineScaleDragOverrides, clearSelectedOutlineRotationDragOverrides, compensateTranslateForTransformOrigin, getSelectedOutlineTransformOriginDragChanges, uvsEqual, getSelectedOutlineTransformOriginLockedAxis, applySelectedOutlineTransformOriginAxisLock, snapSelectedOutlineUv, snapSelectedOutlineTransformOriginUv, commitPendingInspectorFields, getConnectedCompositions, createDragAwareDoubleClickTracker, getCopyContextForAgentsMenuItem, getTimelineAssetLinkInfo, openTimelineAssetLink, parsePath, serializeInstructions, normalizePath, propStatusHas3DTransformValue, getCachedImageMetadata, getAssetActionAvailability, useAssetContextMenuItems, FileIcon, PicIcon, AssetFileIcon, Tabs, Tab, ObserveDefaultProps, TranscriptionIcon, sectionHeader2 as sectionHeader, InspectorQuickAction, getStaticFileBaseName, getStaticFileRenameSelection, getRenamedStaticFilePath, validateStaticFileRename, useRenameStaticFile, downloadBlob, SegmentedControl, Combobox, InfoBubble, InlineRemoveButton, optionRow, label2 as label, rightRow, input, Checkbox, DataEditor, LicenseExplanation, FastRefreshContext, resolvedStackToSymbolicated, slugifyName, validateCompositionName, validateCompositionDimension, validateCompositionDuration, useRenameComposition, useCopyFeedback, CopyIcon, BrowseElementsIcon, TimelineExpandArrowButton, TimelineExpandArrowSpacer, TimelineRowSelectedBackgroundContext, TimelineRowChrome, renderFrame, TimelineKeyframeDiamondIcon, TimelineKeyframeDragStateProvider, useTimelineKeyframeDragState, useTimelineKeyframeDrag, TimelineKeyframeEasingLine, useResolveStackAndReactToChange, useOpenSequenceInApps, useRenameSequence, TimelineKeyframeTracksProvider, getKeyframedSequenceDragTargets, SnowflakeIcon, FullscreenIcon, UploadIcon, TimelineExpandedRow, useTimelineSequenceHasExpandableContent, useTimelineExpandedTree, getDefaultOutputBaseName, validatePublicOutputName, getSequenceFreezeFrameMenuItem, CircularProgress, makeRetryPayload, makeClientRetryPayload, SuccessIcon, isRestoredClientJob, RenderQueueOpenInFinderItem, getClientRenderProgressMessage, saveOutputFile, registerClientRender, persistSelectedOptionsSidebarPanel, OptionsPanel, DismissableModal, VerticalTab, RenderModalHr };
|
|
47430
|
+
export { parsePath, serializeInstructions, normalizePath, interpolatePaths, subscribeToPreviewServerEvents, getNavigationWindow, pushUrl, clearUrl, reloadUrl, getRoute, StudioServerConnectionCtx, PreviewServerConnection, useStudioConfigRevision, noop, compositionListRenderedRef, CompositionListContext, CompositionListProvider, ScaleLockContext, ScaleLockProvider, getCurrentZoom, setCurrentZoom, getCurrentFrame, setCurrentFrame, getCurrentDuration, setCurrentDuration, getCurrentFps, setCurrentFps, sliderAreaRef, scrollableRef, timelineVerticalScroll, TIMELINE_PADDING, TIMELINE_BORDER, TIMELINE_ITEM_BORDER_BOTTOM, buildTimelineTree, flattenVisibleTreeNodes, getTreeRowHeight, TIMELINE_LAYER_FILMSTRIP_HEIGHT, TIMELINE_VIDEO_INFO_WAVEFORM_HEIGHT, TIMELINE_LAYER_HEIGHT_AUDIO, TIMELINE_LIST_ITEM_ROW_HEIGHT, getTimelineLayerHeight, getXPositionOfItemInTimelineImperatively, TIMELINE_FRAME_WIDTH_AT_MAX_ZOOM, getTimelineMinZoom, clampTimelineZoom, getTimelineZoom, getTimelineWidth, timelineZoomToNormalized, timelineZoomToSliderValue, normalizedToTimelineZoom, sliderValueToTimelineZoom, TIMELINE_ZOOM_SLIDER_PROPS, TimelineWidthContext, TimelineWidthProvider, redrawTimelineSliderFast, TimelineSlider, getTimelineContentWidth, EDGE_SCROLL_VERTICAL_INCREMENT, startTimelineEdgeAutoScroll, getFrameWhileScrollingLeft, isCursorInViewport, ensureFrameIsInViewport, scrollToTimelineXOffset, getScrollPositionForCursorOnLeftEdge, getScrollPositionForCursorOnRightEdge, getFrameIncrementFromWidth, getFrameWhileScrollingRight, getFrameFromX, getFrameFromTimelineDrop, viewportClientXToScrollContentX, TimelineViewportContext, TimelineViewportProvider, deriveCanvasContentFromUrl, ZoomPersistor, TimelineZoomCtx, TimelineZoomContext, SelectedModalContext, SetSelectedModalContext, StudioProtocolInternals, Transform3DModeStateContext, Transform3DModeStateProvider, calculateTimeline, getPreviewFileType, copyText, timelineSequenceNodePathToKey, timelineNodePathInfoToKey, persistEditorShowGuidesOption, loadEditorShowGuidesOption, persistGuidesList, loadGuidesList, EditorShowGuidesContext, ModalHeader, toggleBooleanMapKey, openFolderKey, persistExpandedFolders, ExpandedFoldersContext, buildAssetFolderStructure, splitParentIntoNameAndParent, getKeysToExpand, createFolderTree, sortFolderTreeAlphabetically, FolderContext, FolderContextProvider, CollapsedFolderIcon, ExpandedFolderIcon, ExpandedFolderIconSolid, getRelativeFileLocation, formatFileLocation, formatContextForAgents, getGitSourceName, getDefaultOpenInTarget, openGitSource, getGitMenuItem, getOriginalPosition, getSourceMap, resolveFileSource, parseError, getOriginalLocationFromStack, openInEditor, openInCodingAgent, openOriginalPositionInEditor, findOriginalPositionInFileAtProperty, useCachedCompositionComponentInfo, preloadCompositionComponentInfo, getFileManagerName, ClipboardIcon, getConfigureDefaultAppsMenuItems, getOpenInMenuItems, getCompositionMenuItems, getCompositionContextMenuItems, EllipsisIcon, useMobileLayout, MenuDivider, CaretDown, MenuContent, InlineDropdown, isCompositionStill, StillIcon, FilmIcon, CompositionOrStillIcon, ContextMenu, ContextMenuForTarget, hasResolvedStack, useResolvedStack, canShowUpdates, useUpdateStatus, SettingsProvider, useSettings, getPreferredEditorId, useEditorOpening, useDefaultCodingAgentInfo, useConfigureDefaultApps, useOpenInMenuApps, explorerSidebarTabs, useSelectAsset, StaticFilesProvider, useStaticFiles, useSelectComposition, InitialCompositionLoader, Checkmark, ExpandedTracksGetterContext, ExpandedTracksSetterContext, ExpandedTracksProvider, optionsSidebarTabs, getKeyframeSourceFrame, resolveKeyframeSourceFrame, getKeyframeDisplayOffset, getNodeKeyframes, getNodeHasKeyframes, getTimelineEasingSegments, parseKeyframeFieldFromNodePath, filterTimelineExpandedTree, getSelectedTimelineExpandedRowKeys, isTimelineExpandedNodeSelected, getClipboardFigmaHtml, getClipboardImageFiles, getClipboardSvgMarkup, ShortcutHint, Button, ModalButton, ModalFooterContainer, useConfirmationDialog, ConfirmationDialog, addEffect, callAddSequenceKeyframe, callAddKeyframes, callAddEffectKeyframe, findTrackForNodePathInfo, saveEffectProp, subscribeToSequenceProps, unsubscribeFromSequenceProps, saveSequenceProps2 as saveSequenceProps, OverrideIdToNodePathMappingsRefContext, SequencePropsSubscriptionProvider, duplicateSequencesFromSource, getTimelineSequenceSplitEligibility, splitTimelineSequenceFromSource, splitSelectedTimelineItems, useDeleteTimelineItems, TIMELINE_SELECTED_BACKGROUND, TIMELINE_EXPANDED_SELECTED_BACKGROUND, TIMELINE_SELECTED_LABEL_BACKGROUND, getTimelineSelectedLabelStyle, getTimelineColor, getTimelineSelectedTrackHighlightStyle, TIMELINE_BACKGROUND, TIMELINE_TICKS_BACKGROUND, isTimelineSelectionModifierEvent, shouldSelectTimelineRowOnPointerDown, getTimelineSelectionFromNodePathInfo, getTimelineSequenceSelectionKey, TimelineSelectAllKeybindings, TimelineSelectableItemsProvider, TimelineSelectionProvider, useTimelineSelection, TIMELINE_MARQUEE_ITEM_ATTR, TIMELINE_SCRUBBER_ATTR, useCurrentTimelineSelectionStateAsRef, useTimelineMarqueeSelection, useTimelineMarqueeSelectableItem, useTimelineRowSelection, useTimelineKeyframeSelection, useTimelineGuideSelection, useTimelineRowContainsSelection, useTimelineRowHighlightBackground, SegmentedButton, SidebarContext, SidebarContextProvider, InspectorOpenInEditor, GearIcon, useBreakpoint, addAssetCacheBust, getCachedMediaMetadata, useMediaMetadata, remotion_outputsBase, getAssetPreviewMetadata, getAssetMetadata, prepareElementInstall, getFromForDrop, getAssetElementFromPath, hasSvgFile, getElementPositionForDrop, getCompositionPositionForDrop, pickFilesToImport, importAssets, importFigmaClipboard, insertSvgMarkup, importRemoteAsset, insertRemoteAudio, insertExistingAssets, insertComponent, insertComposition, insertElement, forceSpecificCursor, stopForcingSpecificCursor, ForceSpecificCursor, AudioIcon, AudioFileIcon, RightAlignInput, RemotionInput, RemTextarea, useRuntimeValue, useRuntimeValueSelector, useRuntimeValueSnapshots, cropFieldKeys, canEditSelectedOutlineCrop, translateFieldKey, scaleFieldKey, rotateFieldKey, transformOriginFieldKey, getUvHandlePosition, getUvCoordinateForPoint, tuplesEqual2 as tuplesEqual, getUvHandleConnectionLines, getUvHandleConnectionEllipses, getUvEllipseInteractiveControls, constrainUv, roundUvCoordinate, roundNumericUvEllipseValue, getSelectedUvHandles, parseTransformOrigin, parsedTransformOriginToUv, serializeTransformOrigin, getOutlineSelectionInteraction, getSelectedSequenceKeys, getSequenceKeysContainingSelection, measureOutlineTargets, midpoint, dot, vectorLength, vectorBetween, getAngleDegrees, getSelectedOutlineRotationDeltaDegrees, getRotationCursor, getSelectedOutlineRotationCornerInfo, getSelectedOutlineRotationPivot, getSelectedEffectFieldsBySequenceKey, getSelectedCropInfo, getSelectedTransformOriginInfo, getSelectedRotationInfo, getSequencesWithSelectableOutlines, parseCssRotation, parseTranslate, serializeTranslate, InputDragger, TimelineLayerEye, TimelineLayerEyeSpacer, getSelectedOutlineActiveSchema, getSelectedOutlineDragStates, getSelectedOutlineDragValues, applySelectedOutlineDragAxisLock, isSelectedOutlineDragPastThreshold, getSelectedOutlineDragChanges, getSelectedOutlineCropFollowingTransformOrigin, getSelectedOutlineCropDragValues, getSelectedOutlineCropDragChanges, getSelectedOutlineKeyboardNudgeDeltas, getSelectedOutlineScaleEdgeInfo, getSelectedOutlineScaleDragStates, getSelectedOutlineScaleDragValues, getSelectedOutlineScaleDragChanges, getSelectedOutlineRotationDragStates, getSelectedOutline3DRotationDragValues, getSelectedOutlineRotationDragValues, selectedOutlineRotationSnapStepDegrees, snapSelectedOutlineRotationDeltaDegrees, getSelectedOutlineRotationDragChanges, clearSelectedOutlineDragOverrides, getSelectedOutlineKeyboardNudgeDirection, clearSelectedOutlineScaleDragOverrides, clearSelectedOutlineRotationDragOverrides, compensateTranslateForTransformOrigin, getSelectedOutlineTransformOriginDragChanges, uvsEqual, getSelectedOutlineTransformOriginLockedAxis, applySelectedOutlineTransformOriginAxisLock, snapSelectedOutlineUv, snapSelectedOutlineTransformOriginUv, commitPendingInspectorFields, getConnectedCompositions, createDragAwareDoubleClickTracker, getCopyContextForAgentsMenuItem, getTimelineAssetLinkInfo, openTimelineAssetLink, propStatusHas3DTransformValue, getCachedImageMetadata, getAssetActionAvailability, useAssetContextMenuItems, FileIcon, PicIcon, AssetFileIcon, Tabs, Tab, ObserveDefaultProps, TranscriptionIcon, sectionHeader2 as sectionHeader, InspectorQuickAction, getStaticFileBaseName, getStaticFileRenameSelection, getRenamedStaticFilePath, validateStaticFileRename, useRenameStaticFile, downloadBlob, SegmentedControl, Combobox, InfoBubble, InlineRemoveButton, optionRow, label2 as label, rightRow, input, Checkbox, DataEditor, LicenseExplanation, FastRefreshContext, resolvedStackToSymbolicated, slugifyName, validateCompositionName, validateCompositionDimension, validateCompositionDuration, useRenameComposition, useCopyFeedback, CopyIcon, BrowseElementsIcon, TimelineExpandArrowButton, TimelineExpandArrowSpacer, TimelineRowSelectedBackgroundContext, TimelineRowChrome, renderFrame, TimelineKeyframeDiamondIcon, TimelineKeyframeDragStateProvider, useTimelineKeyframeDragState, useTimelineKeyframeDrag, TimelineKeyframeEasingLine, useResolveStackAndReactToChange, useOpenSequenceInApps, useRenameSequence, TimelineKeyframeTracksProvider, getKeyframedSequenceDragTargets, SnowflakeIcon, FullscreenIcon, UploadIcon, TimelineExpandedRow, useTimelineSequenceHasExpandableContent, useTimelineExpandedTree, getDefaultOutputBaseName, validatePublicOutputName, getSequenceFreezeFrameMenuItem, CircularProgress, makeRetryPayload, makeClientRetryPayload, SuccessIcon, isRestoredClientJob, RenderQueueOpenInFinderItem, getClientRenderProgressMessage, saveOutputFile, registerClientRender, persistSelectedOptionsSidebarPanel, OptionsPanel, DismissableModal, VerticalTab, RenderModalHr };
|