@remotion/studio 4.0.473 → 4.0.475

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 (123) hide show
  1. package/dist/components/AssetSelectorItem.js +30 -6
  2. package/dist/components/Canvas.js +77 -0
  3. package/dist/components/ColorPicker/ColorPicker.js +4 -31
  4. package/dist/components/CompositionSelectorItem.js +4 -4
  5. package/dist/components/Editor.js +4 -1
  6. package/dist/components/Modals.js +2 -2
  7. package/dist/components/NewComposition/ComboBox.js +1 -0
  8. package/dist/components/NewComposition/InputDragger.d.ts +1 -0
  9. package/dist/components/NewComposition/InputDragger.js +9 -6
  10. package/dist/components/PreviewToolbar.js +2 -2
  11. package/dist/components/SelectedOutlineOverlay.d.ts +61 -33
  12. package/dist/components/SelectedOutlineOverlay.js +813 -351
  13. package/dist/components/SelectedOutlineUvControls.d.ts +17 -0
  14. package/dist/components/SelectedOutlineUvControls.js +167 -0
  15. package/dist/components/StudioCanvasCapture.d.ts +5 -0
  16. package/dist/components/StudioCanvasCapture.js +40 -0
  17. package/dist/components/Timeline/EasingEditorModal.d.ts +11 -0
  18. package/dist/components/Timeline/EasingEditorModal.js +247 -0
  19. package/dist/components/Timeline/KeyframeSettingsModal.js +5 -4
  20. package/dist/components/Timeline/SequencePropsObserver.js +3 -3
  21. package/dist/components/Timeline/Timeline.js +10 -7
  22. package/dist/components/Timeline/TimelineClipboardKeybindings.d.ts +7 -7
  23. package/dist/components/Timeline/TimelineClipboardKeybindings.js +19 -16
  24. package/dist/components/Timeline/TimelineDeleteKeybindings.js +71 -40
  25. package/dist/components/Timeline/TimelineDragHandler.js +2 -2
  26. package/dist/components/Timeline/TimelineEffectItem.js +8 -9
  27. package/dist/components/Timeline/TimelineEffectPropItem.js +18 -18
  28. package/dist/components/Timeline/TimelineExpandedKeyframeRow.d.ts +1 -0
  29. package/dist/components/Timeline/TimelineExpandedKeyframeRow.js +7 -2
  30. package/dist/components/Timeline/TimelineExpandedSection.js +5 -5
  31. package/dist/components/Timeline/TimelineExpandedTrackKeyframes.js +1 -1
  32. package/dist/components/Timeline/TimelineHeightContainer.js +2 -0
  33. package/dist/components/Timeline/TimelineItemStack.js +3 -56
  34. package/dist/components/Timeline/TimelineKeyframeControls.d.ts +7 -0
  35. package/dist/components/Timeline/TimelineKeyframeControls.js +265 -68
  36. package/dist/components/Timeline/TimelineKeyframeDiamond.js +4 -3
  37. package/dist/components/Timeline/TimelineKeyframeEasingLine.d.ts +9 -0
  38. package/dist/components/Timeline/TimelineKeyframeEasingLine.js +245 -0
  39. package/dist/components/Timeline/TimelineKeyframeTracksContext.d.ts +7 -0
  40. package/dist/components/Timeline/TimelineKeyframeTracksContext.js +17 -0
  41. package/dist/components/Timeline/TimelineKeyframedValue.js +1 -1
  42. package/dist/components/Timeline/TimelineMediaInfo.js +4 -24
  43. package/dist/components/Timeline/TimelineNumberField.js +15 -7
  44. package/dist/components/Timeline/TimelinePrimitiveFieldValue.js +4 -0
  45. package/dist/components/Timeline/TimelineRotationField.js +22 -34
  46. package/dist/components/Timeline/TimelineScaleField.js +16 -12
  47. package/dist/components/Timeline/TimelineScrollable.js +19 -3
  48. package/dist/components/Timeline/TimelineSelection.d.ts +82 -3
  49. package/dist/components/Timeline/TimelineSelection.js +312 -30
  50. package/dist/components/Timeline/TimelineSequence.js +23 -15
  51. package/dist/components/Timeline/TimelineSequenceItem.js +48 -73
  52. package/dist/components/Timeline/TimelineSequenceName.js +3 -17
  53. package/dist/components/Timeline/TimelineSequencePropItem.js +37 -37
  54. package/dist/components/Timeline/TimelineSequenceRightEdgeDragHandle.d.ts +5 -5
  55. package/dist/components/Timeline/TimelineSequenceRightEdgeDragHandle.js +46 -44
  56. package/dist/components/Timeline/TimelineTimeIndicators.js +4 -2
  57. package/dist/components/Timeline/TimelineTransformOriginField.d.ts +11 -0
  58. package/dist/components/Timeline/TimelineTransformOriginField.js +138 -0
  59. package/dist/components/Timeline/TimelineTranslateField.js +24 -19
  60. package/dist/components/Timeline/TimelineUvCoordinateField.js +18 -12
  61. package/dist/components/Timeline/{apply-effect-response-to-code-values.d.ts → apply-effect-response-to-prop-statuses.d.ts} +1 -1
  62. package/dist/components/Timeline/{apply-effect-response-to-code-values.js → apply-effect-response-to-prop-statuses.js} +3 -3
  63. package/dist/components/Timeline/call-add-keyframe.d.ts +22 -5
  64. package/dist/components/Timeline/call-add-keyframe.js +71 -7
  65. package/dist/components/Timeline/call-delete-keyframe.d.ts +7 -7
  66. package/dist/components/Timeline/call-delete-keyframe.js +7 -7
  67. package/dist/components/Timeline/call-move-keyframe.d.ts +3 -3
  68. package/dist/components/Timeline/call-move-keyframe.js +3 -3
  69. package/dist/components/Timeline/call-update-keyframe-settings.d.ts +5 -5
  70. package/dist/components/Timeline/call-update-keyframe-settings.js +6 -6
  71. package/dist/components/Timeline/delete-selected-keyframe.d.ts +5 -5
  72. package/dist/components/Timeline/delete-selected-keyframe.js +5 -5
  73. package/dist/components/Timeline/delete-selected-timeline-item.d.ts +5 -5
  74. package/dist/components/Timeline/delete-selected-timeline-item.js +28 -16
  75. package/dist/components/Timeline/get-node-keyframes.d.ts +3 -3
  76. package/dist/components/Timeline/get-node-keyframes.js +4 -4
  77. package/dist/components/Timeline/get-timeline-easing-segments.d.ts +9 -0
  78. package/dist/components/Timeline/get-timeline-easing-segments.js +19 -0
  79. package/dist/components/Timeline/reset-selected-timeline-props.d.ts +7 -7
  80. package/dist/components/Timeline/reset-selected-timeline-props.js +23 -15
  81. package/dist/components/Timeline/save-effect-prop.d.ts +2 -2
  82. package/dist/components/Timeline/save-effect-prop.js +5 -5
  83. package/dist/components/Timeline/save-prop-queue.d.ts +3 -3
  84. package/dist/components/Timeline/save-prop-queue.js +3 -3
  85. package/dist/components/Timeline/save-sequence-prop.d.ts +3 -3
  86. package/dist/components/Timeline/save-sequence-prop.js +4 -4
  87. package/dist/components/Timeline/timeline-field-utils.d.ts +10 -0
  88. package/dist/components/Timeline/timeline-field-utils.js +26 -5
  89. package/dist/components/Timeline/timeline-rotation-utils.d.ts +2 -0
  90. package/dist/components/Timeline/timeline-rotation-utils.js +32 -0
  91. package/dist/components/Timeline/timeline-translate-utils.d.ts +1 -1
  92. package/dist/components/Timeline/timeline-translate-utils.js +4 -5
  93. package/dist/components/Timeline/transform-origin-utils.d.ts +24 -0
  94. package/dist/components/Timeline/transform-origin-utils.js +170 -0
  95. package/dist/components/Timeline/update-selected-easing.d.ts +35 -0
  96. package/dist/components/Timeline/update-selected-easing.js +133 -0
  97. package/dist/components/Timeline/use-expanded-track-keyframe-rows.d.ts +1 -0
  98. package/dist/components/Timeline/use-expanded-track-keyframe-rows.js +35 -7
  99. package/dist/components/Timeline/use-sequence-props-subscription.js +3 -3
  100. package/dist/components/Timeline/use-timeline-height.js +3 -3
  101. package/dist/components/Timeline/use-timeline-keyframe-drag.js +13 -11
  102. package/dist/components/canvas-capture-enabled.d.ts +1 -0
  103. package/dist/components/canvas-capture-enabled.js +4 -0
  104. package/dist/components/effect-drag-and-drop.d.ts +11 -0
  105. package/dist/components/effect-drag-and-drop.js +73 -0
  106. package/dist/components/import-assets.d.ts +15 -0
  107. package/dist/components/import-assets.js +63 -1
  108. package/dist/components/selected-outline-geometry.d.ts +20 -0
  109. package/dist/components/selected-outline-geometry.js +18 -0
  110. package/dist/components/selected-outline-uv.d.ts +46 -0
  111. package/dist/components/selected-outline-uv.js +240 -0
  112. package/dist/esm/{chunk-q0jkt0zq.js → chunk-qaqqvw4q.js} +8096 -5307
  113. package/dist/esm/internals.mjs +8096 -5307
  114. package/dist/esm/previewEntry.mjs +8106 -5317
  115. package/dist/esm/renderEntry.mjs +1 -1
  116. package/dist/helpers/colors.d.ts +0 -1
  117. package/dist/helpers/colors.js +1 -2
  118. package/dist/helpers/timeline-layout.d.ts +6 -6
  119. package/dist/helpers/timeline-layout.js +5 -5
  120. package/dist/state/modals.d.ts +2 -4
  121. package/package.json +11 -10
  122. package/dist/components/NewComposition/DeleteStaticFile.d.ts +0 -4
  123. package/dist/components/NewComposition/DeleteStaticFile.js +0 -44
@@ -209,7 +209,7 @@ var renderContent = (Root) => {
209
209
  renderToDOM(/* @__PURE__ */ jsx("div", {
210
210
  children: /* @__PURE__ */ jsx(DelayedSpinner, {})
211
211
  }));
212
- import("./chunk-q0jkt0zq.js").then(({ StudioInternals }) => {
212
+ import("./chunk-qaqqvw4q.js").then(({ StudioInternals }) => {
213
213
  window.remotion_isStudio = true;
214
214
  window.remotion_isReadOnlyStudio = true;
215
215
  window.remotion_inputProps = "{}";
@@ -10,7 +10,6 @@ export declare const VERY_LIGHT_TEXT = "rgba(255, 255, 255, 0.3)";
10
10
  export declare const CLEAR_HOVER = "rgba(255, 255, 255, 0.06)";
11
11
  export declare const INPUT_BORDER_COLOR_UNHOVERED = "rgba(0, 0, 0, 0.6)";
12
12
  export declare const INPUT_BORDER_COLOR_HOVERED = "rgba(255, 255, 255, 0.05)";
13
- export declare const TIMELINE_BACKGROUND = "#111";
14
13
  export declare const FAIL_COLOR = "#ff3232";
15
14
  export declare const TEXT_COLOR = "#fff";
16
15
  export declare const WARNING_COLOR = "#f1c40f";
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getBackgroundFromHoverState = exports.TIMELINE_TRACK_SEPARATOR = exports.LINE_COLOR = exports.SELECTED_GUIDE = exports.UNSELECTED_GUIDE = exports.LIGHT_TRANSPARENT = exports.BLUE_DISABLED = exports.BLUE = exports.WARNING_COLOR = exports.TEXT_COLOR = exports.FAIL_COLOR = exports.TIMELINE_BACKGROUND = exports.INPUT_BORDER_COLOR_HOVERED = exports.INPUT_BORDER_COLOR_UNHOVERED = exports.CLEAR_HOVER = exports.VERY_LIGHT_TEXT = exports.RULER_COLOR = exports.LIGHT_TEXT = exports.SELECTED_BACKGROUND = exports.LIGHT_COLOR = exports.BORDER_COLOR = exports.INPUT_BACKGROUND = exports.BACKGROUND__TRANSPARENT = exports.BACKGROUND = void 0;
3
+ exports.getBackgroundFromHoverState = exports.TIMELINE_TRACK_SEPARATOR = exports.LINE_COLOR = exports.SELECTED_GUIDE = exports.UNSELECTED_GUIDE = exports.LIGHT_TRANSPARENT = exports.BLUE_DISABLED = exports.BLUE = exports.WARNING_COLOR = exports.TEXT_COLOR = exports.FAIL_COLOR = exports.INPUT_BORDER_COLOR_HOVERED = exports.INPUT_BORDER_COLOR_UNHOVERED = exports.CLEAR_HOVER = exports.VERY_LIGHT_TEXT = exports.RULER_COLOR = exports.LIGHT_TEXT = exports.SELECTED_BACKGROUND = exports.LIGHT_COLOR = exports.BORDER_COLOR = exports.INPUT_BACKGROUND = exports.BACKGROUND__TRANSPARENT = exports.BACKGROUND = void 0;
4
4
  exports.BACKGROUND = 'rgb(31,36,40)';
5
5
  exports.BACKGROUND__TRANSPARENT = 'rgba(31,36,40, 0)';
6
6
  exports.INPUT_BACKGROUND = '#2f363d';
@@ -14,7 +14,6 @@ const SELECTED_HOVER_BACKGROUND = 'hsla(0, 0%, 100%, 0.25)';
14
14
  exports.CLEAR_HOVER = 'rgba(255, 255, 255, 0.06)';
15
15
  exports.INPUT_BORDER_COLOR_UNHOVERED = 'rgba(0, 0, 0, 0.6)';
16
16
  exports.INPUT_BORDER_COLOR_HOVERED = 'rgba(255, 255, 255, 0.05)';
17
- exports.TIMELINE_BACKGROUND = '#111';
18
17
  exports.FAIL_COLOR = '#ff3232';
19
18
  exports.TEXT_COLOR = '#fff';
20
19
  exports.WARNING_COLOR = '#f1c40f';
@@ -1,9 +1,9 @@
1
- import { type AnySchemaFieldInfo, type CodeValues, type DragOverrides, type EffectSchemaFieldInfo, type SchemaFieldInfo, type SequenceControls, type SequenceSchemaFieldInfo } from '@remotion/studio-shared';
1
+ import { type AnySchemaFieldInfo, type DragOverrides, type EffectSchemaFieldInfo, type PropStatuses, type SchemaFieldInfo, type SequenceControls, type SequenceSchemaFieldInfo } from '@remotion/studio-shared';
2
2
  import type { GetDragOverrides, GetEffectDragOverrides, SequenceSchema as SequenceSchemaShape, TSequence } from 'remotion';
3
3
  import type { GetIsExpanded } from '../components/ExpandedTracksProvider';
4
4
  import type { SequenceNodePathInfo } from './get-timeline-sequence-sort-key';
5
5
  export { getEffectFieldsToShow, getFieldsToShow, SCHEMA_FIELD_ROW_HEIGHT, } from '@remotion/studio-shared';
6
- export type { AnySchemaFieldInfo, CodeValues, DragOverrides, EffectSchemaFieldInfo, SchemaFieldInfo, SequenceControls, SequenceSchemaFieldInfo, };
6
+ export type { AnySchemaFieldInfo, DragOverrides, EffectSchemaFieldInfo, PropStatuses, SchemaFieldInfo, SequenceControls, SequenceSchemaFieldInfo, };
7
7
  export declare const TIMELINE_PADDING = 16;
8
8
  export declare const TIMELINE_BORDER = 1;
9
9
  export declare const TIMELINE_ITEM_BORDER_BOTTOM = 1;
@@ -29,12 +29,12 @@ export type TimelineTreeNode = {
29
29
  readonly label: string;
30
30
  readonly field: AnySchemaFieldInfo | null;
31
31
  };
32
- export declare const buildTimelineTree: ({ sequence, nodePathInfo, getDragOverrides, getEffectDragOverrides, codeValues, }: {
32
+ export declare const buildTimelineTree: ({ sequence, nodePathInfo, getDragOverrides, getEffectDragOverrides, propStatuses, }: {
33
33
  sequence: TSequence;
34
34
  nodePathInfo: SequenceNodePathInfo;
35
35
  getDragOverrides: GetDragOverrides;
36
36
  getEffectDragOverrides: GetEffectDragOverrides;
37
- codeValues: CodeValues;
37
+ propStatuses: PropStatuses;
38
38
  }) => TimelineTreeNode[];
39
39
  export type FlatTreeRow = {
40
40
  readonly node: TimelineTreeNode;
@@ -46,11 +46,11 @@ export declare const flattenVisibleTreeNodes: ({ nodes, getIsExpanded, depth, }:
46
46
  depth?: number | undefined;
47
47
  }) => FlatTreeRow[];
48
48
  export declare const getTreeRowHeight: (node: TimelineTreeNode) => number;
49
- export declare const getExpandedTrackHeight: ({ sequence, nodePathInfo, getIsExpanded, codeValues, }: {
49
+ export declare const getExpandedTrackHeight: ({ sequence, nodePathInfo, getIsExpanded, propStatuses, }: {
50
50
  sequence: TSequence;
51
51
  nodePathInfo: SequenceNodePathInfo;
52
52
  getIsExpanded: GetIsExpanded;
53
- codeValues: CodeValues;
53
+ propStatuses: PropStatuses;
54
54
  }) => number;
55
55
  export declare const TIMELINE_LAYER_FILMSTRIP_HEIGHT = 26;
56
56
  export declare const TIMELINE_VIDEO_INFO_WAVEFORM_HEIGHT = 17;
@@ -12,7 +12,7 @@ exports.TIMELINE_ITEM_BORDER_BOTTOM = 1;
12
12
  exports.TIMELINE_TRACK_EXPANDED_HEIGHT = 100;
13
13
  exports.TREE_GROUP_ROW_HEIGHT = 22;
14
14
  exports.EXPANDED_SECTION_PADDING_RIGHT = 10;
15
- const buildTimelineTree = ({ sequence, nodePathInfo, getDragOverrides, getEffectDragOverrides, codeValues, }) => {
15
+ const buildTimelineTree = ({ sequence, nodePathInfo, getDragOverrides, getEffectDragOverrides, propStatuses, }) => {
16
16
  var _a;
17
17
  const roots = [];
18
18
  const { sequenceSubscriptionKey, index, auxiliaryKeys, supportsEffects } = nodePathInfo;
@@ -20,7 +20,7 @@ const buildTimelineTree = ({ sequence, nodePathInfo, getDragOverrides, getEffect
20
20
  schema: sequence.controls.schema,
21
21
  currentRuntimeValueDotNotation: sequence.controls.currentRuntimeValueDotNotation,
22
22
  getDragOverrides,
23
- codeValues,
23
+ propStatuses,
24
24
  nodePath: sequenceSubscriptionKey,
25
25
  });
26
26
  if (controlFields && controlFields.length > 0) {
@@ -57,7 +57,7 @@ const buildTimelineTree = ({ sequence, nodePathInfo, getDragOverrides, getEffect
57
57
  effect,
58
58
  effectIndex: i,
59
59
  nodePath: sequenceSubscriptionKey,
60
- codeValues,
60
+ propStatuses,
61
61
  getEffectDragOverrides,
62
62
  });
63
63
  return {
@@ -124,14 +124,14 @@ const getTreeRowHeight = (node) => {
124
124
  return exports.TREE_GROUP_ROW_HEIGHT;
125
125
  };
126
126
  exports.getTreeRowHeight = getTreeRowHeight;
127
- const getExpandedTrackHeight = ({ sequence, nodePathInfo, getIsExpanded, codeValues, }) => {
127
+ const getExpandedTrackHeight = ({ sequence, nodePathInfo, getIsExpanded, propStatuses, }) => {
128
128
  const tree = (0, exports.buildTimelineTree)({
129
129
  sequence,
130
130
  nodePathInfo,
131
131
  // We assume that no drag overrides can change the timeline layout
132
132
  getDragOverrides: () => ({}),
133
133
  getEffectDragOverrides: () => ({}),
134
- codeValues,
134
+ propStatuses,
135
135
  });
136
136
  const flat = (0, exports.flattenVisibleTreeNodes)({ nodes: tree, getIsExpanded });
137
137
  if (flat.length === 0) {
@@ -7,6 +7,7 @@ import type { _InternalTypes } from 'remotion';
7
7
  import type { CompType } from '../components/NewComposition/DuplicateComposition';
8
8
  import type { QuickSwitcherMode } from '../components/QuickSwitcher/NoResults';
9
9
  import type { RenderType } from '../components/RenderModal/RenderModalAdvanced';
10
+ import type { EasingEditorModalState } from '../components/Timeline/EasingEditorModal';
10
11
  import type { KeyframeSettingsModalState } from '../components/Timeline/KeyframeSettingsModal';
11
12
  import type { Bug, UpdateInfo } from '../components/UpdateCheck';
12
13
  export type WebRenderModalState = {
@@ -117,15 +118,12 @@ export type ModalState = {
117
118
  folderName: string;
118
119
  parentName: string | null;
119
120
  stack: string | null;
120
- } | {
121
- type: 'delete-static-file';
122
- relativePath: string;
123
121
  } | {
124
122
  type: 'rename-static-file';
125
123
  relativePath: string;
126
124
  } | {
127
125
  type: 'input-props-override';
128
- } | KeyframeSettingsModalState | RenderModalState | WebRenderModalState | {
126
+ } | EasingEditorModalState | KeyframeSettingsModalState | RenderModalState | WebRenderModalState | {
129
127
  type: 'render-progress';
130
128
  jobId: string;
131
129
  } | {
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "url": "https://github.com/remotion-dev/remotion/tree/main/packages/studio"
4
4
  },
5
5
  "name": "@remotion/studio",
6
- "version": "4.0.473",
6
+ "version": "4.0.475",
7
7
  "description": "APIs for interacting with the Remotion Studio",
8
8
  "main": "dist",
9
9
  "scripts": {
@@ -25,14 +25,15 @@
25
25
  },
26
26
  "dependencies": {
27
27
  "semver": "7.5.3",
28
- "remotion": "4.0.473",
29
- "@remotion/player": "4.0.473",
30
- "@remotion/media-utils": "4.0.473",
31
- "@remotion/renderer": "4.0.473",
32
- "@remotion/web-renderer": "4.0.473",
33
- "@remotion/studio-shared": "4.0.473",
34
- "@remotion/timeline-utils": "4.0.473",
35
- "@remotion/zod-types": "4.0.473",
28
+ "remotion": "4.0.475",
29
+ "@remotion/canvas-capture": "4.0.475",
30
+ "@remotion/player": "4.0.475",
31
+ "@remotion/media-utils": "4.0.475",
32
+ "@remotion/renderer": "4.0.475",
33
+ "@remotion/web-renderer": "4.0.475",
34
+ "@remotion/studio-shared": "4.0.475",
35
+ "@remotion/timeline-utils": "4.0.475",
36
+ "@remotion/zod-types": "4.0.475",
36
37
  "@jridgewell/trace-mapping": "0.3.31",
37
38
  "mediabunny": "1.45.0",
38
39
  "memfs": "3.4.3",
@@ -43,7 +44,7 @@
43
44
  "react": "19.2.3",
44
45
  "react-dom": "19.2.3",
45
46
  "@types/semver": "7.5.3",
46
- "@remotion/eslint-config-internal": "4.0.473",
47
+ "@remotion/eslint-config-internal": "4.0.475",
47
48
  "eslint": "9.19.0",
48
49
  "@typescript/native-preview": "7.0.0-dev.20260217.1"
49
50
  },
@@ -1,4 +0,0 @@
1
- import React from 'react';
2
- export declare const DeleteStaticFileModal: React.FC<{
3
- readonly relativePath: string;
4
- }>;
@@ -1,44 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DeleteStaticFileModal = void 0;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const react_1 = require("react");
6
- const delete_static_file_1 = require("../../api/delete-static-file");
7
- const modals_1 = require("../../state/modals");
8
- const Button_1 = require("../Button");
9
- const layout_1 = require("../layout");
10
- const styles_1 = require("../Menu/styles");
11
- const ModalFooter_1 = require("../ModalFooter");
12
- const ModalHeader_1 = require("../ModalHeader");
13
- const NotificationCenter_1 = require("../Notifications/NotificationCenter");
14
- const DismissableModal_1 = require("./DismissableModal");
15
- const content = {
16
- padding: 16,
17
- fontSize: 14,
18
- flex: 1,
19
- minWidth: 500,
20
- };
21
- const DeleteStaticFileModal = ({ relativePath }) => {
22
- const { setSelectedModal } = (0, react_1.useContext)(modals_1.ModalsContext);
23
- const [submitting, setSubmitting] = (0, react_1.useState)(false);
24
- const onDelete = (0, react_1.useCallback)(() => {
25
- setSubmitting(true);
26
- const notification = (0, NotificationCenter_1.showNotification)(`Deleting ${relativePath}...`, null);
27
- (0, delete_static_file_1.deleteStaticFile)(relativePath)
28
- .then(() => {
29
- setSelectedModal(null);
30
- notification.replaceContent(`Deleted ${relativePath}`, 2000);
31
- })
32
- .catch((err) => {
33
- setSubmitting(false);
34
- notification.replaceContent(`Could not delete ${relativePath}: ${err.message}`, 3000);
35
- });
36
- }, [relativePath, setSelectedModal]);
37
- return (jsx_runtime_1.jsxs(DismissableModal_1.DismissableModal, { children: [
38
- jsx_runtime_1.jsx(ModalHeader_1.ModalHeader, { title: 'Delete asset' }), jsx_runtime_1.jsxs("div", { style: content, children: ["Do you want to delete the asset", ' ', jsx_runtime_1.jsx("code", { style: styles_1.inlineCodeSnippet, children: relativePath }),
39
- " from your public folder?"] }), jsx_runtime_1.jsx(ModalFooter_1.ModalFooterContainer, { children: jsx_runtime_1.jsxs(layout_1.Row, { align: "center", justify: "flex-end", children: [
40
- jsx_runtime_1.jsx(Button_1.Button, { onClick: () => setSelectedModal(null), children: "Cancel" }), jsx_runtime_1.jsx(layout_1.Spacing, { x: 1 }), jsx_runtime_1.jsx(Button_1.Button, { onClick: onDelete, disabled: submitting, children: "Delete" })
41
- ] }) })
42
- ] }));
43
- };
44
- exports.DeleteStaticFileModal = DeleteStaticFileModal;