@remotion/studio 4.0.484 → 4.0.486

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (288) hide show
  1. package/dist/ResolveCompositionConfigInStudio.js +42 -0
  2. package/dist/components/AssetSelector.js +1 -1
  3. package/dist/components/AssetSelectorItem.js +9 -9
  4. package/dist/components/AudioWaveform.js +3 -3
  5. package/dist/components/Button.js +2 -2
  6. package/dist/components/Canvas.js +28 -0
  7. package/dist/components/CanvasOrLoading.js +1 -1
  8. package/dist/components/CheckboardToggle.js +1 -1
  9. package/dist/components/Checkbox.js +3 -3
  10. package/dist/components/ColorPicker/AlphaSlider.js +4 -3
  11. package/dist/components/ColorPicker/ColorPicker.js +4 -4
  12. package/dist/components/ColorPicker/ColorPickerPopup.js +10 -10
  13. package/dist/components/ColorPicker/HueSlider.js +4 -3
  14. package/dist/components/ColorPicker/SaturationValueArea.js +5 -4
  15. package/dist/components/ColorPicker/checker.d.ts +1 -1
  16. package/dist/components/ColorPicker/checker.js +3 -3
  17. package/dist/components/CompactExplanation.js +3 -3
  18. package/dist/components/CompositionSelector.js +141 -5
  19. package/dist/components/CompositionSelectorItem.d.ts +1 -0
  20. package/dist/components/CompositionSelectorItem.js +103 -11
  21. package/dist/components/ContextMenu.js +75 -1
  22. package/dist/components/CopyButton.js +3 -2
  23. package/dist/components/CurrentAsset.d.ts +3 -1
  24. package/dist/components/CurrentAsset.js +15 -2
  25. package/dist/components/CurrentComposition.js +3 -2
  26. package/dist/components/EffectPickerModal.js +1 -1
  27. package/dist/components/FilePreview.js +2 -1
  28. package/dist/components/FpsCounter.js +3 -2
  29. package/dist/components/FullscreenToggle.js +2 -1
  30. package/dist/components/GlobalKeybindings.js +0 -12
  31. package/dist/components/InlineAction.js +2 -2
  32. package/dist/components/InlineCompositionName.d.ts +7 -0
  33. package/dist/components/InlineCompositionName.js +58 -0
  34. package/dist/components/InlineEditableTitle.d.ts +8 -0
  35. package/dist/components/InlineEditableTitle.js +134 -0
  36. package/dist/components/InspectorInfoHeader.js +2 -2
  37. package/dist/components/InspectorPanel/DefaultInspector.d.ts +1 -0
  38. package/dist/components/InspectorPanel/DefaultInspector.js +2 -2
  39. package/dist/components/InspectorPanel/KeyframeEasingNavigator.js +1 -1
  40. package/dist/components/InspectorPanel/KeyframeInspector.js +1 -0
  41. package/dist/components/InspectorPanel/SequenceInspectorHeader.js +17 -30
  42. package/dist/components/InspectorPanel/common.js +2 -2
  43. package/dist/components/InspectorPanel/styles.js +5 -5
  44. package/dist/components/InspectorPanel.d.ts +1 -0
  45. package/dist/components/InspectorPanel.js +2 -2
  46. package/dist/components/InspectorSequenceSection.js +35 -2
  47. package/dist/components/InstallablePackage.js +1 -1
  48. package/dist/components/KeyboardShortcutsExplainer.js +5 -5
  49. package/dist/components/LoopToggle.js +1 -1
  50. package/dist/components/Menu/MenuDivider.js +1 -1
  51. package/dist/components/Menu/MenuItem.js +1 -1
  52. package/dist/components/Menu/MenuSubItem.js +1 -1
  53. package/dist/components/Menu/styles.js +3 -3
  54. package/dist/components/MenuToolbar.js +2 -2
  55. package/dist/components/ModalButton.js +1 -1
  56. package/dist/components/ModalContainer.js +3 -3
  57. package/dist/components/ModalFooter.js +2 -1
  58. package/dist/components/ModalHeader.js +3 -2
  59. package/dist/components/Modals.js +2 -1
  60. package/dist/components/NewComposition/CancelButton.js +4 -3
  61. package/dist/components/NewComposition/CodemodFooter.d.ts +7 -1
  62. package/dist/components/NewComposition/CodemodFooter.js +17 -12
  63. package/dist/components/NewComposition/ComboBox.js +3 -3
  64. package/dist/components/NewComposition/DeleteComposition.js +7 -1
  65. package/dist/components/NewComposition/DeleteFolder.js +7 -1
  66. package/dist/components/NewComposition/DuplicateComposition.js +17 -10
  67. package/dist/components/NewComposition/InputAndValidationContainer.d.ts +3 -0
  68. package/dist/components/NewComposition/InputAndValidationContainer.js +15 -0
  69. package/dist/components/NewComposition/InputDragger.js +11 -3
  70. package/dist/components/NewComposition/MenuContent.js +1 -1
  71. package/dist/components/NewComposition/NewCompDuration.js +7 -6
  72. package/dist/components/NewComposition/NewComposition.d.ts +5 -1
  73. package/dist/components/NewComposition/NewComposition.js +31 -85
  74. package/dist/components/NewComposition/NewFolder.d.ts +5 -0
  75. package/dist/components/NewComposition/NewFolder.js +86 -0
  76. package/dist/components/NewComposition/RemInput.js +3 -3
  77. package/dist/components/NewComposition/RemTextarea.js +1 -1
  78. package/dist/components/NewComposition/RenameComposition.js +13 -14
  79. package/dist/components/NewComposition/RenameFolder.js +9 -2
  80. package/dist/components/NewComposition/RenameStaticFile.js +22 -60
  81. package/dist/components/NewComposition/ValidationMessage.js +10 -2
  82. package/dist/components/NewComposition/use-rename-static-file.d.ts +18 -0
  83. package/dist/components/NewComposition/use-rename-static-file.js +90 -0
  84. package/dist/components/NoRegisterRoot.js +3 -2
  85. package/dist/components/Notifications/ColorDot.js +3 -2
  86. package/dist/components/Notifications/Notification.js +4 -4
  87. package/dist/components/Notifications/NotificationCenter.js +2 -1
  88. package/dist/components/Notifications/ServerDisconnected.js +5 -4
  89. package/dist/components/OptionsPanel.d.ts +0 -3
  90. package/dist/components/OptionsPanel.js +8 -4
  91. package/dist/components/OutlineToggle.js +1 -1
  92. package/dist/components/PlayPause.js +4 -3
  93. package/dist/components/PreviewToolbar.js +1 -1
  94. package/dist/components/QuickSwitcher/AlgoliaCredit.js +2 -1
  95. package/dist/components/QuickSwitcher/QuickSwitcherContent.js +1 -1
  96. package/dist/components/QuickSwitcher/QuickSwitcherResult.js +2 -2
  97. package/dist/components/RefreshCompositionOverlay.js +2 -1
  98. package/dist/components/RenderButton.js +9 -9
  99. package/dist/components/RenderModal/CliCopyButton.js +1 -1
  100. package/dist/components/RenderModal/ClientRenderProgress.js +1 -1
  101. package/dist/components/RenderModal/DataEditor.js +1 -1
  102. package/dist/components/RenderModal/GuiRenderStatus.js +1 -1
  103. package/dist/components/RenderModal/InfoBubble.js +2 -2
  104. package/dist/components/RenderModal/InfoTooltip.js +3 -3
  105. package/dist/components/RenderModal/InlineEyeIcon.js +2 -1
  106. package/dist/components/RenderModal/InlineRemoveButton.js +2 -1
  107. package/dist/components/RenderModal/MultiRangeSlider.js +1 -1
  108. package/dist/components/RenderModal/OptionExplainer.js +2 -2
  109. package/dist/components/RenderModal/RenderModalHr.js +2 -1
  110. package/dist/components/RenderModal/RenderStatusModal.js +2 -1
  111. package/dist/components/RenderModal/SchemaEditor/SchemaLabel.js +1 -5
  112. package/dist/components/RenderModal/SchemaEditor/SchemaResetButton.js +2 -1
  113. package/dist/components/RenderModal/SchemaEditor/SchemaSeparationLine.js +1 -1
  114. package/dist/components/RenderModal/SchemaEditor/SchemaVerticalGuide.js +2 -1
  115. package/dist/components/RenderModal/SchemaEditor/ZodDateEditor.js +1 -1
  116. package/dist/components/RenderModal/SchemaEditor/ZodErrorMessages.js +1 -1
  117. package/dist/components/RenderModal/SchemaEditor/ZodNonEditableValue.js +1 -1
  118. package/dist/components/RenderModal/SchemaEditor/create-zod-values.js +2 -1
  119. package/dist/components/RenderModal/ServerRenderModal.js +5 -4
  120. package/dist/components/RenderModal/WarningIndicatorButton.js +4 -6
  121. package/dist/components/RenderModal/WebRenderModal.js +2 -1
  122. package/dist/components/RenderModal/WebRenderModalAudio.js +4 -3
  123. package/dist/components/RenderModal/WebRenderModalLicense.js +2 -2
  124. package/dist/components/RenderModal/WebRenderModalPicture.js +2 -1
  125. package/dist/components/RenderModal/render-modals.js +3 -3
  126. package/dist/components/RenderPreview.js +1 -1
  127. package/dist/components/RenderQueue/RenderQueueCopyToClipboard.js +2 -1
  128. package/dist/components/RenderQueue/RenderQueueDownloadItem.js +2 -1
  129. package/dist/components/RenderQueue/RenderQueueItemCancelButton.js +2 -1
  130. package/dist/components/RenderQueue/RenderQueueItemStatus.js +1 -1
  131. package/dist/components/RenderQueue/RenderQueueOpenInFolder.js +2 -1
  132. package/dist/components/RenderQueue/RenderQueueRemoveItem.js +2 -1
  133. package/dist/components/RenderQueue/RenderQueueRepeat.js +2 -1
  134. package/dist/components/RenderQueue/index.js +1 -1
  135. package/dist/components/RendersTab.js +2 -2
  136. package/dist/components/SegmentedControl.js +3 -3
  137. package/dist/components/SelectedOutlineElement.d.ts +5 -0
  138. package/dist/components/SelectedOutlineElement.js +52 -10
  139. package/dist/components/SelectedOutlineOverlay.d.ts +1 -1
  140. package/dist/components/SelectedOutlineOverlay.js +16 -4
  141. package/dist/components/SelectedOutlineUvControls.js +5 -5
  142. package/dist/components/SidebarCollapserControls.js +5 -4
  143. package/dist/components/Splitter/SplitterElement.js +2 -1
  144. package/dist/components/StaticFilePreview.js +1 -1
  145. package/dist/components/Tabs/index.js +3 -3
  146. package/dist/components/Tabs/vertical.js +3 -3
  147. package/dist/components/TextViewer.js +2 -1
  148. package/dist/components/TimeValue.js +1 -1
  149. package/dist/components/Timeline/EasingEditorModal.js +8 -8
  150. package/dist/components/Timeline/KeyframeSettingsModal.js +1 -1
  151. package/dist/components/Timeline/LoopedIndicator.js +2 -2
  152. package/dist/components/Timeline/MaxTimelineTracks.js +3 -2
  153. package/dist/components/Timeline/TimelineArrayField.js +6 -5
  154. package/dist/components/Timeline/TimelineColorField.js +2 -1
  155. package/dist/components/Timeline/TimelineDeleteKeybindings.js +34 -1
  156. package/dist/components/Timeline/TimelineEffectItem.js +3 -2
  157. package/dist/components/Timeline/TimelineEffectPropItem.js +2 -2
  158. package/dist/components/Timeline/TimelineExpandArrowButton.js +3 -2
  159. package/dist/components/Timeline/TimelineExpandedRow.js +2 -1
  160. package/dist/components/Timeline/TimelineExpandedSection.js +2 -1
  161. package/dist/components/Timeline/TimelineFieldLabel.js +2 -1
  162. package/dist/components/Timeline/TimelineFontFamilyField.d.ts +11 -0
  163. package/dist/components/Timeline/TimelineFontFamilyField.js +545 -0
  164. package/dist/components/Timeline/TimelineImageInfo.js +2 -1
  165. package/dist/components/Timeline/TimelineInOutPointer.js +2 -1
  166. package/dist/components/Timeline/TimelineInOutPointerHandle.js +4 -5
  167. package/dist/components/Timeline/TimelineKeyframeControls.d.ts +1 -1
  168. package/dist/components/Timeline/TimelineKeyframeControls.js +3 -2
  169. package/dist/components/Timeline/TimelineKeyframeDiamondIcon.js +1 -1
  170. package/dist/components/Timeline/TimelineKeyframeEasingLine.js +1 -1
  171. package/dist/components/Timeline/TimelineLayerEye.js +3 -3
  172. package/dist/components/Timeline/TimelineMediaInfo.js +2 -2
  173. package/dist/components/Timeline/TimelinePrimitiveFieldValue.js +8 -0
  174. package/dist/components/Timeline/TimelineRotationField.js +4 -3
  175. package/dist/components/Timeline/TimelineScaleField.js +1 -1
  176. package/dist/components/Timeline/TimelineSchemaField.d.ts +2 -0
  177. package/dist/components/Timeline/TimelineSchemaField.js +47 -7
  178. package/dist/components/Timeline/TimelineScrollable.js +3 -2
  179. package/dist/components/Timeline/TimelineSelection.js +7 -6
  180. package/dist/components/Timeline/TimelineSequence.js +17 -20
  181. package/dist/components/Timeline/TimelineSequenceFrame.js +3 -2
  182. package/dist/components/Timeline/TimelineSequenceItem.js +27 -108
  183. package/dist/components/Timeline/TimelineSequenceName.js +3 -2
  184. package/dist/components/Timeline/TimelineSequencePropItem.js +8 -4
  185. package/dist/components/Timeline/TimelineSequenceRightEdgeDragHandle.d.ts +20 -1
  186. package/dist/components/Timeline/TimelineSequenceRightEdgeDragHandle.js +128 -11
  187. package/dist/components/Timeline/TimelineSlider.js +2 -1
  188. package/dist/components/Timeline/TimelineSliderHandle.js +2 -1
  189. package/dist/components/Timeline/TimelineTextContentField.d.ts +12 -0
  190. package/dist/components/Timeline/TimelineTextContentField.js +100 -0
  191. package/dist/components/Timeline/TimelineTimeIndicators.js +1 -1
  192. package/dist/components/Timeline/TimelineVideoInfo.js +2 -1
  193. package/dist/components/Timeline/TimelineWidthProvider.js +18 -3
  194. package/dist/components/Timeline/TimelineZoomControls.js +4 -3
  195. package/dist/components/Timeline/call-move-keyframe.d.ts +5 -0
  196. package/dist/components/Timeline/call-move-keyframe.js +14 -3
  197. package/dist/components/Timeline/focus-inspector-field.d.ts +16 -0
  198. package/dist/components/Timeline/focus-inspector-field.js +49 -0
  199. package/dist/components/Timeline/google-fonts-list.d.ts +6 -0
  200. package/dist/components/Timeline/google-fonts-list.js +1512 -0
  201. package/dist/components/Timeline/save-sequence-prop.d.ts +8 -1
  202. package/dist/components/Timeline/save-sequence-prop.js +63 -19
  203. package/dist/components/Timeline/split-selected-timeline-item.d.ts +38 -0
  204. package/dist/components/Timeline/split-selected-timeline-item.js +156 -0
  205. package/dist/components/Timeline/timeline-field-display-utils.js +2 -0
  206. package/dist/components/Timeline/timeline-rotation-field-utils.d.ts +5 -0
  207. package/dist/components/Timeline/timeline-rotation-field-utils.js +16 -0
  208. package/dist/components/Timeline/timeline-scroll-logic.js +5 -2
  209. package/dist/components/Timeline/use-expanded-track-keyframe-rows.js +1 -0
  210. package/dist/components/Timeline/use-rename-sequence.d.ts +30 -0
  211. package/dist/components/Timeline/use-rename-sequence.js +115 -0
  212. package/dist/components/Timeline/use-timeline-expanded-tree.d.ts +2 -1
  213. package/dist/components/Timeline/use-timeline-expanded-tree.js +3 -1
  214. package/dist/components/Timeline/use-timeline-height.js +1 -0
  215. package/dist/components/TimelineInOutToggle.js +1 -1
  216. package/dist/components/UpdateCheck.js +2 -2
  217. package/dist/components/UpdateModal/OpenIssueButton.js +1 -1
  218. package/dist/components/VisualControls/ClickableFileName.js +2 -2
  219. package/dist/components/composition-menu-items.js +3 -0
  220. package/dist/components/effect-drag-and-drop.js +1 -0
  221. package/dist/components/folder-menu-items.js +20 -0
  222. package/dist/components/import-assets.d.ts +7 -1
  223. package/dist/components/import-assets.js +55 -1
  224. package/dist/components/options-sidebar-tabs.d.ts +4 -0
  225. package/dist/components/options-sidebar-tabs.js +5 -0
  226. package/dist/components/selected-outline-measurement.js +2 -1
  227. package/dist/components/selected-outline-types.d.ts +6 -1
  228. package/dist/error-overlay/remotion-overlay/CalculateMetadataErrorExplainer.js +2 -2
  229. package/dist/error-overlay/remotion-overlay/CodeFrame.js +7 -5
  230. package/dist/error-overlay/remotion-overlay/CompositionIdListItem.js +2 -2
  231. package/dist/error-overlay/remotion-overlay/DismissButton.js +3 -2
  232. package/dist/error-overlay/remotion-overlay/ErrorLoader.js +3 -2
  233. package/dist/error-overlay/remotion-overlay/ErrorMessage.js +4 -4
  234. package/dist/error-overlay/remotion-overlay/HelpLink.js +1 -1
  235. package/dist/error-overlay/remotion-overlay/MediaPlaybackErrorExplainer.js +4 -4
  236. package/dist/error-overlay/remotion-overlay/Overlay.js +3 -2
  237. package/dist/error-overlay/remotion-overlay/StackFrame.js +4 -3
  238. package/dist/error-overlay/remotion-overlay/Symbolicating.js +2 -1
  239. package/dist/error-overlay/remotion-overlay/carets.js +3 -2
  240. package/dist/esm/{chunk-9erwh79m.js → chunk-975rp13y.js} +11165 -7032
  241. package/dist/esm/chunk-jefhcs5z.js +164 -0
  242. package/dist/esm/internals.mjs +11166 -6999
  243. package/dist/esm/previewEntry.mjs +10697 -6526
  244. package/dist/esm/renderEntry.mjs +8 -5
  245. package/dist/helpers/checkerboard-background.js +4 -12
  246. package/dist/helpers/colors.d.ts +99 -7
  247. package/dist/helpers/colors.js +118 -10
  248. package/dist/helpers/inject-css.js +85 -83
  249. package/dist/helpers/render-codec-label.d.ts +1 -1
  250. package/dist/helpers/timeline-layout.d.ts +7 -4
  251. package/dist/helpers/timeline-layout.js +3 -1
  252. package/dist/helpers/use-create-composition.d.ts +35 -0
  253. package/dist/helpers/use-create-composition.js +111 -0
  254. package/dist/helpers/use-menu-structure.js +31 -3
  255. package/dist/helpers/use-rename-composition.d.ts +16 -0
  256. package/dist/helpers/use-rename-composition.js +49 -0
  257. package/dist/helpers/validate-folder-rename.js +2 -10
  258. package/dist/helpers/validate-new-folder-name.d.ts +5 -0
  259. package/dist/helpers/validate-new-folder-name.js +16 -0
  260. package/dist/hot-middleware-client/client.js +3 -2
  261. package/dist/icons/Checkmark.js +2 -1
  262. package/dist/icons/audio.js +2 -1
  263. package/dist/icons/caret.js +2 -2
  264. package/dist/icons/certificate.js +2 -1
  265. package/dist/icons/data.js +2 -1
  266. package/dist/icons/eyedropper.js +2 -1
  267. package/dist/icons/file.js +2 -1
  268. package/dist/icons/frame.js +2 -1
  269. package/dist/icons/gear.js +2 -1
  270. package/dist/icons/gif.js +2 -1
  271. package/dist/icons/jump-to-start.js +2 -1
  272. package/dist/icons/keys.js +4 -3
  273. package/dist/icons/media-volume.js +1 -1
  274. package/dist/icons/minus.js +2 -1
  275. package/dist/icons/pause.js +2 -1
  276. package/dist/icons/play.js +2 -1
  277. package/dist/icons/redo.js +2 -1
  278. package/dist/icons/step-back.js +2 -1
  279. package/dist/icons/step-forward.js +2 -1
  280. package/dist/icons/undo.js +2 -1
  281. package/dist/previewEntry.js +2 -1
  282. package/dist/renderEntry.js +4 -3
  283. package/dist/state/modals.d.ts +7 -0
  284. package/dist/state/timeline-zoom.js +17 -14
  285. package/dist/state/z-index.d.ts +1 -0
  286. package/dist/state/z-index.js +11 -2
  287. package/package.json +12 -12
  288. package/dist/esm/chunk-6jf1natv.js +0 -25
@@ -127,11 +127,52 @@ const ResolveCompositionConfigInStudio = ({ children }) => {
127
127
  return controller;
128
128
  }, [hasResolution]);
129
129
  const currentComposition = (canvasContent === null || canvasContent === void 0 ? void 0 : canvasContent.type) === 'composition' ? canvasContent.compositionId : null;
130
+ const resolveComposition = (0, react_1.useCallback)(async (compositionId) => {
131
+ var _a, _b, _c, _d, _e, _f;
132
+ const composition = compositions.find((c) => c.id === compositionId);
133
+ if (!composition) {
134
+ throw new Error(`Could not find composition with id ${compositionId}`);
135
+ }
136
+ const editorProps = (_a = allEditorProps[composition.id]) !== null && _a !== void 0 ? _a : {};
137
+ const defaultProps = {
138
+ ...((_b = composition.defaultProps) !== null && _b !== void 0 ? _b : {}),
139
+ ...(editorProps !== null && editorProps !== void 0 ? editorProps : {}),
140
+ };
141
+ const combinedProps = {
142
+ ...defaultProps,
143
+ ...(inputProps !== null && inputProps !== void 0 ? inputProps : {}),
144
+ };
145
+ const controller = new AbortController();
146
+ const result = remotion_1.Internals.resolveVideoConfigOrCatch({
147
+ compositionId: composition.id,
148
+ calculateMetadata: composition.calculateMetadata,
149
+ inputProps: combinedProps,
150
+ signal: controller.signal,
151
+ defaultProps,
152
+ compositionDurationInFrames: (_c = composition.durationInFrames) !== null && _c !== void 0 ? _c : null,
153
+ compositionFps: (_d = composition.fps) !== null && _d !== void 0 ? _d : null,
154
+ compositionHeight: (_e = composition.height) !== null && _e !== void 0 ? _e : null,
155
+ compositionWidth: (_f = composition.width) !== null && _f !== void 0 ? _f : null,
156
+ });
157
+ if (result.type === 'error') {
158
+ throw result.error;
159
+ }
160
+ const resolved = await Promise.resolve(result.result);
161
+ setResolvedConfigs((configs) => ({
162
+ ...configs,
163
+ [composition.id]: {
164
+ type: 'success',
165
+ result: resolved,
166
+ },
167
+ }));
168
+ return resolved;
169
+ }, [allEditorProps, compositions, inputProps]);
130
170
  (0, react_1.useImperativeHandle)(remotion_1.Internals.resolveCompositionsRef, () => {
131
171
  return {
132
172
  setCurrentRenderModalComposition: (id) => {
133
173
  setCurrentRenderModalComposition(id);
134
174
  },
175
+ resolveComposition,
135
176
  reloadCurrentlySelectedComposition: () => {
136
177
  var _a, _b, _c, _d, _e, _f;
137
178
  if (!currentComposition) {
@@ -168,6 +209,7 @@ const ResolveCompositionConfigInStudio = ({ children }) => {
168
209
  currentComposition,
169
210
  doResolution,
170
211
  inputProps,
212
+ resolveComposition,
171
213
  ]);
172
214
  const isTheSame = (selectedComposition === null || selectedComposition === void 0 ? void 0 : selectedComposition.id) === (renderModalComposition === null || renderModalComposition === void 0 ? void 0 : renderModalComposition.id);
173
215
  const currentDefaultProps = (0, react_1.useMemo)(() => {
@@ -162,7 +162,7 @@ const AssetSelector = ({ readOnlyStudio }) => {
162
162
  " folder of your project or drag and drop a file here."] }) })) : (jsx_runtime_1.jsx("div", { style: emptyState, children: jsx_runtime_1.jsxs("div", { style: label, children: ["To add assets, create a folder called", ' ', jsx_runtime_1.jsx("code", { style: styles_1.inlineCodeSnippet, children: "public" }),
163
163
  " in the root of your project and place a file in it."] }) }))) : (jsx_runtime_1.jsx("div", { className: "__remotion-vertical-scrollbar", style: {
164
164
  ...list,
165
- backgroundColor: isDropDiv ? colors_1.CLEAR_HOVER : colors_1.BACKGROUND,
165
+ backgroundColor: isDropDiv ? colors_1.WHITE_ALPHA_06 : colors_1.BACKGROUND,
166
166
  }, onDragEnter: onDragEnter, onDragLeave: onDragLeave, children: jsx_runtime_1.jsx(AssetSelectorItem_1.AssetFolderTree, { item: assetTree, level: 0, parentFolder: null, name: null, tabIndex: tabIndex, toggleFolder: toggleFolder, dropLocation: dropLocation, setDropLocation: setDropLocation, readOnlyStudio: readOnlyStudio }) })) }));
167
167
  };
168
168
  exports.AssetSelector = AssetSelector;
@@ -96,7 +96,7 @@ const labelStyle = {
96
96
  };
97
97
  const revealIconStyle = {
98
98
  height: 12,
99
- color: 'currentColor',
99
+ color: colors_1.CURRENT_COLOR,
100
100
  };
101
101
  const AssetFolderItem = ({ tabIndex, item, level, parentFolder, toggleFolder, dropLocation, setDropLocation, readOnlyStudio, }) => {
102
102
  const [hovered, setHovered] = (0, react_1.useState)(false);
@@ -117,13 +117,13 @@ const AssetFolderItem = ({ tabIndex, item, level, parentFolder, toggleFolder, dr
117
117
  return {
118
118
  ...itemStyle,
119
119
  paddingLeft: 4 + level * 8,
120
- backgroundColor: hovered ? colors_1.CLEAR_HOVER : 'transparent',
120
+ backgroundColor: hovered ? colors_1.WHITE_ALPHA_06 : colors_1.TRANSPARENT,
121
121
  };
122
122
  }, [hovered, level]);
123
123
  const label = (0, react_1.useMemo)(() => {
124
124
  return {
125
125
  ...labelStyle,
126
- color: hovered ? 'white' : colors_1.LIGHT_TEXT,
126
+ color: hovered ? colors_1.WHITE : colors_1.LIGHT_TEXT,
127
127
  };
128
128
  }, [hovered]);
129
129
  const onClick = (0, react_1.useCallback)(() => {
@@ -131,7 +131,7 @@ const AssetFolderItem = ({ tabIndex, item, level, parentFolder, toggleFolder, dr
131
131
  }, [item.name, parentFolder, toggleFolder]);
132
132
  const Icon = item.expanded ? folder_1.ExpandedFolderIcon : folder_1.CollapsedFolderIcon;
133
133
  return (jsx_runtime_1.jsxs("div", { onDragEnter: onDragEnter, onDragLeave: onDragLeave, style: {
134
- backgroundColor: isDropDiv ? colors_1.CLEAR_HOVER : colors_1.BACKGROUND,
134
+ backgroundColor: isDropDiv ? colors_1.WHITE_ALPHA_06 : colors_1.BACKGROUND,
135
135
  }, children: [
136
136
  jsx_runtime_1.jsx("div", { style: folderStyle, onPointerEnter: onPointerEnter, onPointerLeave: onPointerLeave, tabIndex: tabIndex, title: item.name, onClick: onClick, onDragEnter: (event) => {
137
137
  if (!(0, use_asset_drag_events_1.isFileDragEvent)(event)) {
@@ -150,7 +150,7 @@ const AssetFolderItem = ({ tabIndex, item, level, parentFolder, toggleFolder, dr
150
150
  clearTimeout(openFolderTimerRef.current);
151
151
  }
152
152
  }, children: jsx_runtime_1.jsxs(layout_1.Row, { children: [
153
- jsx_runtime_1.jsx(Icon, { style: iconStyle, color: hovered ? 'white' : colors_1.LIGHT_TEXT }), jsx_runtime_1.jsx(layout_1.Spacing, { x: 1 }), jsx_runtime_1.jsx("div", { style: label, children: item.name })
153
+ jsx_runtime_1.jsx(Icon, { style: iconStyle, color: hovered ? colors_1.WHITE : colors_1.LIGHT_TEXT }), jsx_runtime_1.jsx(layout_1.Spacing, { x: 1 }), jsx_runtime_1.jsx("div", { style: label, children: item.name })
154
154
  ] }) }), item.expanded ? (jsx_runtime_1.jsx(exports.AssetFolderTree, { item: item.items, name: item.name, level: level, parentFolder: parentFolder, tabIndex: tabIndex, toggleFolder: toggleFolder, dropLocation: dropLocation, setDropLocation: setDropLocation, readOnlyStudio: readOnlyStudio }, item.name)) : null] }));
155
155
  };
156
156
  const AssetFolderTree = ({ item, level, name, parentFolder, toggleFolder, tabIndex, dropLocation, setDropLocation, readOnlyStudio, }) => {
@@ -229,21 +229,21 @@ const AssetSelectorItem = ({ item, tabIndex, level, parentFolder, readOnlyStudio
229
229
  const style = (0, react_1.useMemo)(() => {
230
230
  return {
231
231
  ...itemStyle,
232
- color: hovered || selected ? 'white' : colors_1.LIGHT_TEXT,
232
+ color: hovered || selected ? colors_1.WHITE : colors_1.LIGHT_TEXT,
233
233
  backgroundColor: hovered
234
234
  ? selected
235
235
  ? colors_1.SELECTED_BACKGROUND
236
- : colors_1.CLEAR_HOVER
236
+ : colors_1.WHITE_ALPHA_06
237
237
  : selected
238
238
  ? colors_1.SELECTED_BACKGROUND
239
- : 'transparent',
239
+ : colors_1.TRANSPARENT,
240
240
  paddingLeft: 12 + level * 8,
241
241
  };
242
242
  }, [hovered, level, selected]);
243
243
  const label = (0, react_1.useMemo)(() => {
244
244
  return {
245
245
  ...labelStyle,
246
- color: hovered || selected ? 'white' : colors_1.LIGHT_TEXT,
246
+ color: hovered || selected ? colors_1.WHITE : colors_1.LIGHT_TEXT,
247
247
  };
248
248
  }, [hovered, selected]);
249
249
  const renderFileExplorerAction = (0, react_1.useCallback)((color) => {
@@ -67,7 +67,7 @@ const drawLoopedWaveform = ({ canvas, peaks, volume, visualizationWidth, loopWid
67
67
  (0, timeline_utils_1.drawBars)({
68
68
  canvas: targetCanvas,
69
69
  peaks,
70
- color: 'rgba(255, 255, 255, 0.6)',
70
+ color: colors_1.WHITE_ALPHA_60,
71
71
  volume,
72
72
  width: targetCanvas.width,
73
73
  });
@@ -246,7 +246,7 @@ const AudioWaveform = ({ src, height, startFrom, durationInFrames, visualization
246
246
  (0, timeline_utils_1.drawBars)({
247
247
  canvas: canvasElement,
248
248
  peaks: portionPeaks !== null && portionPeaks !== void 0 ? portionPeaks : EMPTY_PEAKS,
249
- color: 'rgba(255, 255, 255, 0.6)',
249
+ color: colors_1.WHITE_ALPHA_60,
250
250
  volume: parsedVolume,
251
251
  width: w,
252
252
  });
@@ -298,7 +298,7 @@ const AudioWaveform = ({ src, height, startFrom, durationInFrames, visualization
298
298
  context.lineTo(x, y);
299
299
  }
300
300
  });
301
- context.strokeStyle = colors_1.LIGHT_TRANSPARENT;
301
+ context.strokeStyle = colors_1.WHITE_ALPHA_70;
302
302
  context.stroke();
303
303
  }, [height, parsedVolume, shouldRenderVolumeOverlay, visualizationWidth]);
304
304
  if (error) {
@@ -5,13 +5,13 @@ const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const react_1 = require("react");
6
6
  const colors_1 = require("../helpers/colors");
7
7
  const button = {
8
- border: `1px solid ${colors_1.INPUT_BORDER_COLOR_UNHOVERED}`,
8
+ border: `1px solid ${colors_1.BLACK_ALPHA_60}`,
9
9
  borderRadius: 4,
10
10
  backgroundColor: colors_1.INPUT_BACKGROUND,
11
11
  appearance: 'none',
12
12
  fontFamily: 'inherit',
13
13
  fontSize: 14,
14
- color: 'white',
14
+ color: colors_1.WHITE,
15
15
  flexDirection: 'row',
16
16
  };
17
17
  const ButtonRefForwardFunction = ({ children, onClick, title, disabled, size = 'default', style, id, autoFocus, buttonContainerStyle, onPointerDown, }, ref) => {
@@ -58,6 +58,11 @@ const isComponentDragEvent = (event) => {
58
58
  var _b;
59
59
  return Array.from((_b = (_a = event.dataTransfer) === null || _a === void 0 ? void 0 : _a.types) !== null && _b !== void 0 ? _b : []).includes(studio_shared_1.COMPONENT_DRAG_MIME_TYPE);
60
60
  };
61
+ const isCompositionDragEvent = (event) => {
62
+ var _a;
63
+ var _b;
64
+ return Array.from((_b = (_a = event.dataTransfer) === null || _a === void 0 ? void 0 : _a.types) !== null && _b !== void 0 ? _b : []).includes(studio_shared_1.COMPOSITION_DRAG_MIME_TYPE);
65
+ };
61
66
  const isElementDragEvent = (event) => {
62
67
  var _a;
63
68
  var _b;
@@ -71,6 +76,7 @@ const isSfxDragEvent = (event) => {
71
76
  const isRemoteAssetDragEvent = (event) => {
72
77
  return (!isFileDragEvent(event) &&
73
78
  !isAssetDragEvent(event) &&
79
+ !isCompositionDragEvent(event) &&
74
80
  !isComponentDragEvent(event) &&
75
81
  !isElementDragEvent(event) &&
76
82
  !isSfxDragEvent(event) &&
@@ -85,6 +91,14 @@ const getAssetDragPath = (event) => {
85
91
  }
86
92
  return (_c = (_b = (0, studio_shared_1.parseAssetDragData)(value)) === null || _b === void 0 ? void 0 : _b.assetPath) !== null && _c !== void 0 ? _c : null;
87
93
  };
94
+ const getCompositionDragData = (event) => {
95
+ var _a;
96
+ const value = (_a = event.dataTransfer) === null || _a === void 0 ? void 0 : _a.getData(studio_shared_1.COMPOSITION_DRAG_MIME_TYPE);
97
+ if (!value) {
98
+ return null;
99
+ }
100
+ return (0, studio_shared_1.parseCompositionDragData)(value);
101
+ };
88
102
  const getComponentDragData = (event) => {
89
103
  var _a;
90
104
  for (const type of [
@@ -566,6 +580,7 @@ const Canvas = ({ canvasContent, size }) => {
566
580
  if (!canDropAssets ||
567
581
  (!isFileDragEvent(event) &&
568
582
  !isAssetDragEvent(event) &&
583
+ !isCompositionDragEvent(event) &&
569
584
  !isComponentDragEvent(event) &&
570
585
  !isElementDragEvent(event) &&
571
586
  !isSfxDragEvent(event) &&
@@ -586,6 +601,7 @@ const Canvas = ({ canvasContent, size }) => {
586
601
  currentCompositionId === null ||
587
602
  (!isFileDragEvent(event) &&
588
603
  !isAssetDragEvent(event) &&
604
+ !isCompositionDragEvent(event) &&
589
605
  !isComponentDragEvent(event) &&
590
606
  !isElementDragEvent(event) &&
591
607
  !isSfxDragEvent(event) &&
@@ -644,6 +660,18 @@ const Canvas = ({ canvasContent, size }) => {
644
660
  compositionId: currentCompositionId,
645
661
  });
646
662
  }
663
+ else if (isCompositionDragEvent(event)) {
664
+ const compositionDragData = getCompositionDragData(event);
665
+ if (compositionDragData === null) {
666
+ return;
667
+ }
668
+ await (0, import_assets_1.insertComposition)({
669
+ composition: compositionDragData,
670
+ compositionFile,
671
+ compositionId: currentCompositionId,
672
+ dropPosition,
673
+ });
674
+ }
647
675
  else {
648
676
  const elementDragData = (0, element_drag_and_drop_1.getElementDragData)(event.dataTransfer);
649
677
  if (elementDragData !== null) {
@@ -17,7 +17,7 @@ const imperative_state_1 = require("./Timeline/imperative-state");
17
17
  const timeline_scroll_logic_1 = require("./Timeline/timeline-scroll-logic");
18
18
  const ZoomPersistor_1 = require("./ZoomPersistor");
19
19
  const container = {
20
- color: 'white',
20
+ color: colors_1.WHITE,
21
21
  flex: 1,
22
22
  justifyContent: 'center',
23
23
  alignItems: 'center',
@@ -21,6 +21,6 @@ const CheckboardToggle = () => {
21
21
  return !c;
22
22
  });
23
23
  }, [setCheckerboard]);
24
- return (jsx_runtime_1.jsx(ControlButton_1.ControlButton, { title: accessibilityLabel, "aria-label": accessibilityLabel, onClick: onClick, children: jsx_runtime_1.jsx("svg", { "aria-hidden": "true", focusable: "false", "data-prefix": "fas", "data-icon": "game-board-alt", className: "svg-inline--fa fa-game-board-alt fa-w-16", role: "img", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 512 512", style: { width: 16, height: 16 }, children: jsx_runtime_1.jsx("path", { fill: checkerboard ? colors_1.BLUE : 'white', d: "M480 0H32A32 32 0 0 0 0 32v448a32 32 0 0 0 32 32h448a32 32 0 0 0 32-32V32a32 32 0 0 0-32-32zm-32 256H256v192H64V256h192V64h192z" }) }) }));
24
+ return (jsx_runtime_1.jsx(ControlButton_1.ControlButton, { title: accessibilityLabel, "aria-label": accessibilityLabel, onClick: onClick, children: jsx_runtime_1.jsx("svg", { "aria-hidden": "true", focusable: "false", "data-prefix": "fas", "data-icon": "game-board-alt", className: "svg-inline--fa fa-game-board-alt fa-w-16", role: "img", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 512 512", style: { width: 16, height: 16 }, children: jsx_runtime_1.jsx("path", { fill: checkerboard ? colors_1.BLUE : colors_1.WHITE, d: "M480 0H32A32 32 0 0 0 0 32v448a32 32 0 0 0 32 32h448a32 32 0 0 0 32-32V32a32 32 0 0 0-32-32zm-32 256H256v192H64V256h192V64h192z" }) }) }));
25
25
  };
26
26
  exports.CheckboardToggle = CheckboardToggle;
@@ -43,13 +43,13 @@ const Checkbox = ({ checked, onChange, disabled, name, rounded, variant = 'defau
43
43
  top: 0,
44
44
  left: 0,
45
45
  pointerEvents: 'none',
46
- color: 'white',
46
+ color: colors_1.WHITE,
47
47
  }), [size]);
48
48
  const input = (0, react_1.useMemo)(() => {
49
49
  return {
50
50
  appearance: 'none',
51
- background: disabled ? 'transparent' : colors_1.INPUT_BACKGROUND,
52
- border: '1px solid ' + colors_1.INPUT_BORDER_COLOR_UNHOVERED,
51
+ background: disabled ? colors_1.TRANSPARENT : colors_1.INPUT_BACKGROUND,
52
+ border: '1px solid ' + colors_1.BLACK_ALPHA_60,
53
53
  height: size,
54
54
  width: size,
55
55
  top: 0,
@@ -4,6 +4,7 @@ exports.AlphaSlider = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const react_1 = require("react");
6
6
  const color_conversion_1 = require("../../helpers/color-conversion");
7
+ const colors_1 = require("../../helpers/colors");
7
8
  const checker_1 = require("./checker");
8
9
  const SLIDER_HEIGHT = 12;
9
10
  const HANDLE_WIDTH = 8;
@@ -33,7 +34,7 @@ const AlphaSlider = ({ hue, saturation, value, alpha, onChange, onChangeComplete
33
34
  const gradientStyle = (0, react_1.useMemo)(() => {
34
35
  return {
35
36
  ...innerStyle,
36
- background: `linear-gradient(to right, rgba(0, 0, 0, 0), ${opaqueColor})`,
37
+ background: `linear-gradient(to right, ${colors_1.COLOR_PICKER_ALPHA_TRANSPARENT}, ${opaqueColor})`,
37
38
  };
38
39
  }, [opaqueColor]);
39
40
  const updateFromEvent = (0, react_1.useCallback)((clientX, isFinal) => {
@@ -76,8 +77,8 @@ const AlphaSlider = ({ hue, saturation, value, alpha, onChange, onChangeComplete
76
77
  width: HANDLE_WIDTH,
77
78
  height: SLIDER_HEIGHT + 4,
78
79
  borderRadius: 2,
79
- border: '2px solid #fff',
80
- boxShadow: '0 0 0 1px rgba(0, 0, 0, 0.6)',
80
+ border: colors_1.BORDER_WHITE_2PX,
81
+ boxShadow: colors_1.COLOR_PICKER_HANDLE_SHADOW,
81
82
  pointerEvents: 'none',
82
83
  };
83
84
  }, [alpha]);
@@ -46,7 +46,7 @@ const controlStyle = {
46
46
  flex: '0 0 auto',
47
47
  };
48
48
  const eyedropperButtonBaseStyle = {
49
- background: 'transparent',
49
+ background: colors_1.TRANSPARENT,
50
50
  border: 'none',
51
51
  padding: 0,
52
52
  margin: 0,
@@ -179,7 +179,7 @@ const ColorPicker = ({ value, onChange, onChangeComplete, disabled, width = 45,
179
179
  ...styles_1.menuContainerTowardsBottom,
180
180
  top: size.top + size.height + margin,
181
181
  left,
182
- background: 'transparent',
182
+ background: colors_1.TRANSPARENT,
183
183
  boxShadow: 'none',
184
184
  };
185
185
  }
@@ -187,7 +187,7 @@ const ColorPicker = ({ value, onChange, onChangeComplete, disabled, width = 45,
187
187
  ...styles_1.menuContainerTowardsTop,
188
188
  bottom: size.windowSize.height - size.top + margin,
189
189
  left,
190
- background: 'transparent',
190
+ background: colors_1.TRANSPARENT,
191
191
  boxShadow: 'none',
192
192
  };
193
193
  }, [opened, size]);
@@ -204,7 +204,7 @@ const ColorPicker = ({ value, onChange, onChangeComplete, disabled, width = 45,
204
204
  jsx_runtime_1.jsxs("span", { style: controlStyle, children: [
205
205
  jsx_runtime_1.jsx("button", { ref: triggerRef, type: "button", className: [is_menu_item_1.MENU_INITIATOR_CLASSNAME, SWATCH_CLASSNAME, className]
206
206
  .filter(Boolean)
207
- .join(' '), disabled: disabled, name: name, title: title !== null && title !== void 0 ? title : value, tabIndex: tabIndex, style: swatchStyle, onPointerDown: onTriggerPointerDown, onClick: onTriggerClick, children: jsx_runtime_1.jsx("span", { style: swatchFill }) }), showEyeDropper ? (jsx_runtime_1.jsx("button", { type: "button", disabled: disabled, style: eyedropperButtonStyle, onPointerDown: onEyeDropperPointerDown, onClick: onPickWithEyeDropper, tabIndex: tabIndex, title: "Pick color from screen", "aria-label": "Pick color from screen", children: jsx_runtime_1.jsx(eyedropper_1.EyedropperIcon, { style: eyedropperIconStyle, color: "currentColor" }) })) : null] }), portalStyle
207
+ .join(' '), disabled: disabled, name: name, title: title !== null && title !== void 0 ? title : value, tabIndex: tabIndex, style: swatchStyle, onPointerDown: onTriggerPointerDown, onClick: onTriggerClick, children: jsx_runtime_1.jsx("span", { style: swatchFill }) }), showEyeDropper ? (jsx_runtime_1.jsx("button", { type: "button", disabled: disabled, style: eyedropperButtonStyle, onPointerDown: onEyeDropperPointerDown, onClick: onPickWithEyeDropper, tabIndex: tabIndex, title: "Pick color from screen", "aria-label": "Pick color from screen", children: jsx_runtime_1.jsx(eyedropper_1.EyedropperIcon, { style: eyedropperIconStyle, color: colors_1.CURRENT_COLOR }) })) : null] }), portalStyle
208
208
  ? react_dom_1.default.createPortal(jsx_runtime_1.jsx("div", { style: styles_1.fullScreenOverlay, children: jsx_runtime_1.jsx("div", { style: styles_1.outerPortal, className: "css-reset", children: jsx_runtime_1.jsx(z_index_1.HigherZIndex, { onOutsideClick: onHide, onEscape: onHide, children: jsx_runtime_1.jsx("div", { style: portalStyle, children: jsx_runtime_1.jsx(ColorPickerPopup_1.ColorPickerPopup, { value: value, onChange: onChange, onChangeComplete: onChangeComplete }) }) }) }) }), (0, portals_1.getPortal)(currentZIndex))
209
209
  : null] }));
210
210
  };
@@ -16,14 +16,14 @@ const POPUP_PADDING = 12;
16
16
  const popupShellStyle = {
17
17
  width: exports.POPUP_WIDTH,
18
18
  padding: POPUP_PADDING,
19
- background: '#1f2428',
20
- border: '1px solid rgba(0, 0, 0, 0.6)',
19
+ background: colors_1.BACKGROUND_HEX,
20
+ border: colors_1.BORDER_BLACK_ALPHA_60,
21
21
  borderRadius: 4,
22
- boxShadow: '0 4px 16px rgba(0, 0, 0, 0.5)',
22
+ boxShadow: colors_1.COLOR_PICKER_POPUP_SHADOW,
23
23
  display: 'flex',
24
24
  flexDirection: 'column',
25
25
  gap: 10,
26
- color: 'white',
26
+ color: colors_1.WHITE,
27
27
  fontSize: 12,
28
28
  userSelect: 'none',
29
29
  WebkitUserSelect: 'none',
@@ -40,7 +40,7 @@ const previewSwatchStyle = {
40
40
  flex: '0 0 auto',
41
41
  borderRadius: 14,
42
42
  overflow: 'hidden',
43
- border: '1px solid rgba(0, 0, 0, 0.6)',
43
+ border: colors_1.BORDER_BLACK_ALPHA_60,
44
44
  backgroundColor: checker_1.CHECKER_BACKGROUND_COLOR,
45
45
  backgroundImage: checker_1.CHECKER_BACKGROUND_IMAGE,
46
46
  backgroundSize: checker_1.CHECKER_BACKGROUND_SIZE,
@@ -77,17 +77,17 @@ const labelStyle = {
77
77
  const baseInputStyle = {
78
78
  width: '100%',
79
79
  background: colors_1.INPUT_BACKGROUND,
80
- border: '1px solid rgba(0, 0, 0, 0.6)',
80
+ border: colors_1.BORDER_BLACK_ALPHA_60,
81
81
  borderRadius: 3,
82
- color: 'white',
82
+ color: colors_1.WHITE,
83
83
  padding: '4px 6px',
84
84
  fontSize: 12,
85
85
  textAlign: 'center',
86
86
  boxSizing: 'border-box',
87
87
  };
88
88
  const eyedropperButtonStyle = {
89
- background: 'transparent',
90
- border: '1px solid rgba(0, 0, 0, 0.6)',
89
+ background: colors_1.TRANSPARENT,
90
+ border: colors_1.BORDER_BLACK_ALPHA_60,
91
91
  borderRadius: 3,
92
92
  padding: 0,
93
93
  cursor: 'pointer',
@@ -271,7 +271,7 @@ const ColorPickerPopup = ({ value, onChange, onChangeComplete }) => {
271
271
  }, [formatted]);
272
272
  const showEyeDropper = (0, exports.hasEyeDropper)();
273
273
  return (jsx_runtime_1.jsxs("div", { style: popupShellStyle, children: [
274
- jsx_runtime_1.jsx(SaturationValueArea_1.SaturationValueArea, { hue: hsva.h, saturation: hsva.s, value: hsva.v, onChange: onSvChange, onChangeComplete: onSvComplete }), jsx_runtime_1.jsxs("div", { style: sliderRowStyle, children: [showEyeDropper ? (jsx_runtime_1.jsx("button", { type: "button", style: eyedropperButtonStyle, onClick: onPickWithEyeDropper, tabIndex: tabIndex, title: "Pick color from screen", "aria-label": "Pick color from screen", children: jsx_runtime_1.jsx(eyedropper_1.EyedropperIcon, { style: { width: 14, height: 14 }, color: "currentColor" }) })) : null, jsx_runtime_1.jsx("div", { style: previewSwatchStyle, title: formatted, children: jsx_runtime_1.jsx("div", { style: previewFill }) }), jsx_runtime_1.jsxs("div", { style: slidersColumnStyle, children: [
274
+ jsx_runtime_1.jsx(SaturationValueArea_1.SaturationValueArea, { hue: hsva.h, saturation: hsva.s, value: hsva.v, onChange: onSvChange, onChangeComplete: onSvComplete }), jsx_runtime_1.jsxs("div", { style: sliderRowStyle, children: [showEyeDropper ? (jsx_runtime_1.jsx("button", { type: "button", style: eyedropperButtonStyle, onClick: onPickWithEyeDropper, tabIndex: tabIndex, title: "Pick color from screen", "aria-label": "Pick color from screen", children: jsx_runtime_1.jsx(eyedropper_1.EyedropperIcon, { style: { width: 14, height: 14 }, color: colors_1.CURRENT_COLOR }) })) : null, jsx_runtime_1.jsx("div", { style: previewSwatchStyle, title: formatted, children: jsx_runtime_1.jsx("div", { style: previewFill }) }), jsx_runtime_1.jsxs("div", { style: slidersColumnStyle, children: [
275
275
  jsx_runtime_1.jsx(HueSlider_1.HueSlider, { hue: hsva.h, onChange: onHueChange, onChangeComplete: onHueComplete }), jsx_runtime_1.jsx(AlphaSlider_1.AlphaSlider, { hue: hsva.h, saturation: hsva.s, value: hsva.v, alpha: hsva.a, onChange: onAlphaChange, onChangeComplete: onAlphaComplete })
276
276
  ] })
277
277
  ] }), jsx_runtime_1.jsxs("div", { style: inputsRowStyle, children: [
@@ -4,6 +4,7 @@ exports.HueSlider = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const react_1 = require("react");
6
6
  const color_conversion_1 = require("../../helpers/color-conversion");
7
+ const colors_1 = require("../../helpers/colors");
7
8
  const SLIDER_HEIGHT = 12;
8
9
  const HANDLE_WIDTH = 8;
9
10
  const containerStyle = {
@@ -12,7 +13,7 @@ const containerStyle = {
12
13
  width: '100%',
13
14
  borderRadius: 3,
14
15
  cursor: 'ew-resize',
15
- background: 'linear-gradient(to right, #f00 0%, #ff0 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%)',
16
+ background: colors_1.COLOR_PICKER_HUE_GRADIENT,
16
17
  touchAction: 'none',
17
18
  };
18
19
  const HueSlider = ({ hue, onChange, onChangeComplete }) => {
@@ -58,8 +59,8 @@ const HueSlider = ({ hue, onChange, onChangeComplete }) => {
58
59
  width: HANDLE_WIDTH,
59
60
  height: SLIDER_HEIGHT + 4,
60
61
  borderRadius: 2,
61
- border: '2px solid #fff',
62
- boxShadow: '0 0 0 1px rgba(0, 0, 0, 0.6)',
62
+ border: colors_1.BORDER_WHITE_2PX,
63
+ boxShadow: colors_1.COLOR_PICKER_HANDLE_SHADOW,
63
64
  pointerEvents: 'none',
64
65
  };
65
66
  }, [hue]);
@@ -4,6 +4,7 @@ exports.SaturationValueArea = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const react_1 = require("react");
6
6
  const color_conversion_1 = require("../../helpers/color-conversion");
7
+ const colors_1 = require("../../helpers/colors");
7
8
  const AREA_HEIGHT = 140;
8
9
  const containerStyle = {
9
10
  position: 'relative',
@@ -17,12 +18,12 @@ const containerStyle = {
17
18
  const valueOverlay = {
18
19
  position: 'absolute',
19
20
  inset: 0,
20
- background: 'linear-gradient(to top, #000, transparent)',
21
+ background: colors_1.COLOR_PICKER_SATURATION_BLACK_GRADIENT,
21
22
  };
22
23
  const saturationOverlay = {
23
24
  position: 'absolute',
24
25
  inset: 0,
25
- background: 'linear-gradient(to right, #fff, transparent)',
26
+ background: colors_1.COLOR_PICKER_SATURATION_VALUE_GRADIENT,
26
27
  };
27
28
  const SaturationValueArea = ({ hue, saturation, value, onChange, onChangeComplete }) => {
28
29
  const containerRef = (0, react_1.useRef)(null);
@@ -81,8 +82,8 @@ const SaturationValueArea = ({ hue, saturation, value, onChange, onChangeComplet
81
82
  marginLeft: -6,
82
83
  marginTop: -6,
83
84
  borderRadius: '50%',
84
- border: '2px solid #fff',
85
- boxShadow: '0 0 0 1px rgba(0, 0, 0, 0.6)',
85
+ border: colors_1.BORDER_WHITE_2PX,
86
+ boxShadow: colors_1.COLOR_PICKER_HANDLE_SHADOW,
86
87
  pointerEvents: 'none',
87
88
  };
88
89
  }, [saturation, value]);
@@ -1,4 +1,4 @@
1
- export declare const CHECKER_BACKGROUND_IMAGE = "linear-gradient(45deg, #888 25%, transparent 25%), linear-gradient(-45deg, #888 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #888 75%), linear-gradient(-45deg, transparent 75%, #888 75%)";
1
+ export declare const CHECKER_BACKGROUND_IMAGE: string;
2
2
  export declare const CHECKER_BACKGROUND_SIZE = "8px 8px";
3
3
  export declare const CHECKER_BACKGROUND_POSITION = "0 0, 0 4px, 4px -4px, -4px 0";
4
4
  export declare const CHECKER_BACKGROUND_COLOR = "#444";
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CHECKER_BACKGROUND_COLOR = exports.CHECKER_BACKGROUND_POSITION = exports.CHECKER_BACKGROUND_SIZE = exports.CHECKER_BACKGROUND_IMAGE = void 0;
4
- // Checkerboard background used to indicate transparency in color swatches
4
+ const colors_1 = require("../../helpers/colors"); // Checkerboard background used to indicate transparency in color swatches
5
5
  // and the alpha slider. Rendered as a CSS gradient so we don't need an asset.
6
- exports.CHECKER_BACKGROUND_IMAGE = 'linear-gradient(45deg, #888 25%, transparent 25%), linear-gradient(-45deg, #888 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #888 75%), linear-gradient(-45deg, transparent 75%, #888 75%)';
6
+ exports.CHECKER_BACKGROUND_IMAGE = colors_1.COLOR_PICKER_CHECKER_BACKGROUND_IMAGE;
7
7
  exports.CHECKER_BACKGROUND_SIZE = '8px 8px';
8
8
  exports.CHECKER_BACKGROUND_POSITION = '0 0, 0 4px, 4px -4px, -4px 0';
9
- exports.CHECKER_BACKGROUND_COLOR = '#444';
9
+ exports.CHECKER_BACKGROUND_COLOR = colors_1.COLOR_PICKER_CHECKER_BACKGROUND_COLOR;
@@ -26,12 +26,12 @@ const compactHelpLink = {
26
26
  };
27
27
  const compactHelpLinkHovered = {
28
28
  ...compactHelpLink,
29
- color: 'white',
29
+ color: colors_1.WHITE,
30
30
  };
31
31
  const compactHelpIcon = {
32
32
  color: 'inherit',
33
33
  display: 'block',
34
- fill: 'currentColor',
34
+ fill: colors_1.CURRENT_COLOR,
35
35
  height: 13,
36
36
  width: 13,
37
37
  };
@@ -40,7 +40,7 @@ const compactHelpIconPath = {
40
40
  };
41
41
  const CompactHelpLink = ({ href, ariaLabel, title, }) => {
42
42
  const [hovered, setHovered] = (0, react_1.useState)(false);
43
- return (jsx_runtime_1.jsx("a", { href: href, target: "_blank", rel: "noopener noreferrer", style: hovered ? compactHelpLinkHovered : compactHelpLink, "aria-label": ariaLabel, title: title, onMouseEnter: () => setHovered(true), onMouseLeave: () => setHovered(false), children: jsx_runtime_1.jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 512 512", style: compactHelpIcon, "aria-hidden": "true", children: jsx_runtime_1.jsx("path", { style: compactHelpIconPath, fill: "currentColor", d: "M464 256a208 208 0 1 0 -416 0 208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0 256 256 0 1 1 -512 0zm256-80c-17.7 0-32 14.3-32 32l-48 0c0-44.2 35.8-80 80-80s80 35.8 80 80c0 35.1-20.5 57.5-38.2 70-6.3 4.4-12.5 7.8-17.8 10.4l0 21.9-48 0 0-56.7c1.4-.4 2.7-.7 4.1-1.1 12.2-3.2 23.3-6.1 34.1-13.7 10.4-7.3 17.8-16.9 17.8-30.8 0-17.7-14.3-32-32-32zM232 344l48 0 0 48-48 0 0-48z" }) }) }));
43
+ return (jsx_runtime_1.jsx("a", { href: href, target: "_blank", rel: "noopener noreferrer", style: hovered ? compactHelpLinkHovered : compactHelpLink, "aria-label": ariaLabel, title: title, onMouseEnter: () => setHovered(true), onMouseLeave: () => setHovered(false), children: jsx_runtime_1.jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 512 512", style: compactHelpIcon, "aria-hidden": "true", children: jsx_runtime_1.jsx("path", { style: compactHelpIconPath, fill: colors_1.CURRENT_COLOR, d: "M464 256a208 208 0 1 0 -416 0 208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0 256 256 0 1 1 -512 0zm256-80c-17.7 0-32 14.3-32 32l-48 0c0-44.2 35.8-80 80-80s80 35.8 80 80c0 35.1-20.5 57.5-38.2 70-6.3 4.4-12.5 7.8-17.8 10.4l0 21.9-48 0 0-56.7c1.4-.4 2.7-.7 4.1-1.1 12.2-3.2 23.3-6.1 34.1-13.7 10.4-7.3 17.8-16.9 17.8-30.8 0-17.7-14.3-32-32-32zM232 344l48 0 0 48-48 0 0-48z" }) }) }));
44
44
  };
45
45
  const CompactExplanation = ({ children, learnMoreAriaLabel, learnMoreHref, learnMoreTitle = 'Learn more', }) => {
46
46
  return (jsx_runtime_1.jsxs("div", { style: compactExplanation, children: [children, learnMoreHref ? (jsx_runtime_1.jsx(CompactHelpLink, { href: learnMoreHref, ariaLabel: learnMoreAriaLabel !== null && learnMoreAriaLabel !== void 0 ? learnMoreAriaLabel : learnMoreTitle, title: learnMoreTitle })) : null] }));