@remotion/studio 4.0.396 → 4.0.398

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 (30) hide show
  1. package/dist/components/Checkbox.d.ts +1 -0
  2. package/dist/components/Checkbox.js +14 -2
  3. package/dist/components/Modals.js +1 -1
  4. package/dist/components/PreviewToolbar.js +2 -3
  5. package/dist/components/RenderButton.d.ts +4 -1
  6. package/dist/components/RenderButton.js +253 -5
  7. package/dist/components/RenderModal/WebRenderModal.js +17 -3
  8. package/dist/components/RenderModal/WebRenderModalAudio.d.ts +5 -0
  9. package/dist/components/RenderModal/WebRenderModalAudio.js +14 -0
  10. package/dist/components/RenderModal/WebRenderModalBasic.d.ts +5 -5
  11. package/dist/components/RenderModal/WebRenderModalLicense.d.ts +9 -0
  12. package/dist/components/RenderModal/WebRenderModalLicense.js +130 -0
  13. package/dist/components/RenderModal/WebRendererExperimentalBadge.d.ts +1 -0
  14. package/dist/components/RenderModal/WebRendererExperimentalBadge.js +33 -0
  15. package/dist/esm/{chunk-khjn7st6.js → chunk-qrhc345b.js} +2493 -1810
  16. package/dist/esm/internals.mjs +2493 -1810
  17. package/dist/esm/previewEntry.mjs +2524 -1841
  18. package/dist/esm/renderEntry.mjs +1 -1
  19. package/dist/helpers/inject-css.js +0 -1
  20. package/dist/helpers/should-show-render-button.d.ts +1 -0
  21. package/dist/helpers/should-show-render-button.js +11 -0
  22. package/dist/helpers/use-menu-structure.js +19 -1
  23. package/dist/icons/certificate.d.ts +1 -0
  24. package/dist/icons/certificate.js +6 -0
  25. package/dist/icons/render.d.ts +0 -3
  26. package/dist/icons/render.js +1 -5
  27. package/dist/state/modals.d.ts +1 -0
  28. package/package.json +9 -9
  29. package/dist/components/WebRender/TriggerWebRender.d.ts +0 -1
  30. package/dist/components/WebRender/TriggerWebRender.js +0 -56
@@ -206,7 +206,7 @@ var renderContent = (Root) => {
206
206
  renderToDOM(/* @__PURE__ */ jsx("div", {
207
207
  children: /* @__PURE__ */ jsx(DelayedSpinner, {})
208
208
  }));
209
- import("./chunk-khjn7st6.js").then(({ StudioInternals }) => {
209
+ import("./chunk-qrhc345b.js").then(({ StudioInternals }) => {
210
210
  window.remotion_isStudio = true;
211
211
  window.remotion_isReadOnlyStudio = true;
212
212
  window.remotion_inputProps = "{}";
@@ -90,7 +90,6 @@ const makeDefaultGlobalCSS = () => {
90
90
  inset -1px -1px #555,
91
91
  inset 1px -1px #555,
92
92
  inset -1px 1px #555;
93
- border-radius: 0 !important;
94
93
  }
95
94
 
96
95
  input[type='color'].__remotion_color_picker::-webkit-color-swatch-wrapper {
@@ -0,0 +1 @@
1
+ export declare const shouldShowRenderButton: (readOnlyStudio: boolean) => boolean;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.shouldShowRenderButton = void 0;
4
+ const show_browser_rendering_1 = require("./show-browser-rendering");
5
+ const shouldShowRenderButton = (readOnlyStudio) => {
6
+ if (readOnlyStudio) {
7
+ return show_browser_rendering_1.SHOW_BROWSER_RENDERING;
8
+ }
9
+ return true;
10
+ };
11
+ exports.shouldShowRenderButton = shouldShowRenderButton;
@@ -26,6 +26,7 @@ const get_git_menu_item_1 = require("./get-git-menu-item");
26
26
  const mobile_layout_1 = require("./mobile-layout");
27
27
  const open_in_editor_1 = require("./open-in-editor");
28
28
  const pick_color_1 = require("./pick-color");
29
+ const show_browser_rendering_1 = require("./show-browser-rendering");
29
30
  const use_keybinding_1 = require("./use-keybinding");
30
31
  const openExternal = (link) => {
31
32
  window.open(link, '_blank');
@@ -66,7 +67,7 @@ const getFileMenu = ({ readOnlyStudio, closeMenu, previewServerState, setSelecte
66
67
  (0, NotificationCenter_1.showNotification)('Restart the studio to render', 2000);
67
68
  return;
68
69
  }
69
- const renderButton = document.getElementById('render-modal-button');
70
+ const renderButton = document.getElementById('render-modal-button-server');
70
71
  renderButton.click();
71
72
  },
72
73
  type: 'item',
@@ -75,6 +76,23 @@ const getFileMenu = ({ readOnlyStudio, closeMenu, previewServerState, setSelecte
75
76
  subMenu: null,
76
77
  quickSwitcherLabel: 'Render...',
77
78
  },
79
+ show_browser_rendering_1.SHOW_BROWSER_RENDERING && !readOnlyStudio
80
+ ? {
81
+ id: 'render-on-web',
82
+ value: 'render-on-web',
83
+ label: 'Render on web...',
84
+ onClick: () => {
85
+ closeMenu();
86
+ const renderButton = document.getElementById('render-modal-button-client');
87
+ renderButton.click();
88
+ },
89
+ type: 'item',
90
+ keyHint: null,
91
+ leftItem: null,
92
+ subMenu: null,
93
+ quickSwitcherLabel: 'Render on web...',
94
+ }
95
+ : null,
78
96
  window.remotion_editorName && !readOnlyStudio
79
97
  ? {
80
98
  type: 'divider',
@@ -0,0 +1 @@
1
+ export declare const CertificateIcon: (props: React.SVGProps<SVGSVGElement>) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CertificateIcon = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const CertificateIcon = (props) => ((0, jsx_runtime_1.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 576 512", ...props, children: (0, jsx_runtime_1.jsx)("path", { fill: "currentcolor", d: "M192 32l128 0 0 96c0 35.3 28.7 64 64 64l96 0 0 256c0 17.7-14.3 32-32 32l-192 0 0 32 192 0c35.3 0 64-28.7 64-64l0-261.5c0-17-6.7-33.3-18.7-45.3L370.7 18.7C358.7 6.7 342.5 0 325.5 0L192 0c-35.3 0-64 28.7-64 64l0 80c10.9 0 21.6 1 32 2.9L160 64c0-17.7 14.3-32 32-32zM352 45.3L466.7 160 384 160c-17.7 0-32-14.3-32-32l0-82.7zM32 320a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zM176 438.7l0 66.3-40.1-22.9c-4.9-2.8-11-2.8-15.9 0L80 505 80 438.7c14.8 6 31 9.3 48 9.3s33.2-3.3 48-9.3zm32-18.8c29.3-23.5 48-59.5 48-99.9 0-70.7-57.3-128-128-128S0 249.3 0 320c0 40.4 18.7 76.5 48 99.9l0 101.8c0 12.3 10 22.3 22.3 22.3 3.9 0 7.7-1 11.1-2.9l46.6-26.6 46.6 26.6c3.4 1.9 7.2 2.9 11.1 2.9 12.3 0 22.3-10 22.3-22.3l0-101.8zM128 344a24 24 0 1 1 0-48 24 24 0 1 1 0 48zm0-80a56 56 0 1 0 0 112 56 56 0 1 0 0-112z" }) }));
6
+ exports.CertificateIcon = CertificateIcon;
@@ -1,8 +1,5 @@
1
1
  import type { SVGProps } from 'react';
2
2
  import React from 'react';
3
- export declare const RenderIcon: React.FC<{
4
- readonly svgProps: SVGProps<SVGSVGElement>;
5
- }>;
6
3
  export declare const ThinRenderIcon: React.FC<{
7
4
  readonly svgProps: SVGProps<SVGSVGElement>;
8
5
  readonly fill: string;
@@ -1,11 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ThinRenderIcon = exports.RenderIcon = void 0;
3
+ exports.ThinRenderIcon = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
- const RenderIcon = (props) => {
6
- return ((0, jsx_runtime_1.jsx)("svg", { ...props.svgProps, xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 512 512", children: (0, jsx_runtime_1.jsx)("path", { fill: 'currentColor', d: "M156.6 384.9L125.7 354c-8.5-8.5-11.5-20.8-7.7-32.2c3-8.9 7-20.5 11.8-33.8L24 288c-8.6 0-16.6-4.6-20.9-12.1s-4.2-16.7 .2-24.1l52.5-88.5c13-21.9 36.5-35.3 61.9-35.3l82.3 0c2.4-4 4.8-7.7 7.2-11.3C289.1-4.1 411.1-8.1 483.9 5.3c11.6 2.1 20.6 11.2 22.8 22.8c13.4 72.9 9.3 194.8-111.4 276.7c-3.5 2.4-7.3 4.8-11.3 7.2v82.3c0 25.4-13.4 49-35.3 61.9l-88.5 52.5c-7.4 4.4-16.6 4.5-24.1 .2s-12.1-12.2-12.1-20.9V380.8c-14.1 4.9-26.4 8.9-35.7 11.9c-11.2 3.6-23.4 .5-31.8-7.8zM384 168a40 40 0 1 0 0-80 40 40 0 1 0 0 80z" }) }));
7
- };
8
- exports.RenderIcon = RenderIcon;
9
5
  const ThinRenderIcon = (props) => {
10
6
  return ((0, jsx_runtime_1.jsx)("svg", { ...props.svgProps, xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 512 512", children: (0, jsx_runtime_1.jsx)("path", { fill: props.fill, d: "M188.9 372l-50.4-50.4c18.6-42.6 61.7-137.7 95.1-187C304.6 30.1 409 24.6 475.7 36.3c11.7 66.7 6.2 171.1-98.4 242c-49.4 33.5-145.5 75.6-188.4 93.7zm-79.9-62.8c-5.2 11.9-2.5 25.7 6.7 34.9l50.7 50.7c9.1 9.1 22.7 11.9 34.5 6.9c6.5-2.7 14.3-6 23-9.8L224 496c0 5.5 2.9 10.7 7.6 13.6s10.6 3.2 15.6 .7l101.5-50.7c21.7-10.8 35.4-33 35.4-57.2V312.1c4-2.5 7.7-4.9 11.3-7.3C516.1 222.9 520.1 100.9 506.7 28.1c-2.1-11.6-11.2-20.6-22.8-22.8C411.1-8.1 289.1-4.1 207.2 116.7c-2.4 3.6-4.9 7.3-7.3 11.3l-90.2 0c-24.2 0-46.4 13.7-57.2 35.4L1.7 264.8c-2.5 5-2.2 10.8 .7 15.6s8.1 7.6 13.6 7.6H118.5c-3.6 8-6.8 15.2-9.4 21.2zM256 470.1l0-92.5c30.3-13.7 65.4-30.3 96-47v71.7c0 12.1-6.8 23.2-17.7 28.6L256 470.1zM109.7 160h71.5c-16.9 30.7-34 65.8-48.1 96H41.9L81 177.7c5.4-10.8 16.5-17.7 28.6-17.7zM392 144a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zM368 88a56 56 0 1 0 0 112 56 56 0 1 0 0-112z" }) }));
11
7
  };
@@ -15,6 +15,7 @@ export type WebRenderModalState = {
15
15
  inFrameMark: number | null;
16
16
  outFrameMark: number | null;
17
17
  initialLogLevel: LogLevel;
18
+ initialLicenseKey: string | null;
18
19
  };
19
20
  export type RenderModalState = {
20
21
  type: 'server-render';
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.396",
6
+ "version": "4.0.398",
7
7
  "description": "APIs for interacting with the Remotion Studio",
8
8
  "main": "dist",
9
9
  "sideEffects": false,
@@ -25,13 +25,13 @@
25
25
  },
26
26
  "dependencies": {
27
27
  "semver": "7.5.3",
28
- "remotion": "4.0.396",
29
- "@remotion/player": "4.0.396",
30
- "@remotion/media-utils": "4.0.396",
31
- "@remotion/renderer": "4.0.396",
32
- "@remotion/web-renderer": "4.0.396",
33
- "@remotion/studio-shared": "4.0.396",
34
- "@remotion/zod-types": "4.0.396",
28
+ "remotion": "4.0.398",
29
+ "@remotion/player": "4.0.398",
30
+ "@remotion/media-utils": "4.0.398",
31
+ "@remotion/renderer": "4.0.398",
32
+ "@remotion/web-renderer": "4.0.398",
33
+ "@remotion/studio-shared": "4.0.398",
34
+ "@remotion/zod-types": "4.0.398",
35
35
  "mediabunny": "1.27.2",
36
36
  "memfs": "3.4.3",
37
37
  "source-map": "0.7.3",
@@ -42,7 +42,7 @@
42
42
  "react": "19.2.3",
43
43
  "react-dom": "19.2.3",
44
44
  "@types/semver": "^7.3.4",
45
- "@remotion/eslint-config-internal": "4.0.396",
45
+ "@remotion/eslint-config-internal": "4.0.398",
46
46
  "eslint": "9.19.0"
47
47
  },
48
48
  "publishConfig": {
@@ -1 +0,0 @@
1
- export declare const TriggerWebRender: () => import("react/jsx-runtime").JSX.Element | null;
@@ -1,56 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TriggerWebRender = void 0;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const player_1 = require("@remotion/player");
6
- const react_1 = require("react");
7
- const remotion_1 = require("remotion");
8
- const in_out_1 = require("../../state/in-out");
9
- const modals_1 = require("../../state/modals");
10
- const Button_1 = require("../Button");
11
- const button = {
12
- paddingLeft: 7,
13
- paddingRight: 7,
14
- paddingTop: 7,
15
- paddingBottom: 7,
16
- };
17
- const label = {
18
- fontSize: 14,
19
- };
20
- const TriggerWebRender = () => {
21
- const video = remotion_1.Internals.useVideo();
22
- const getCurrentFrame = player_1.PlayerInternals.useFrameImperative();
23
- const { inFrame, outFrame } = (0, in_out_1.useTimelineInOutFramePosition)();
24
- const { setSelectedModal } = (0, react_1.useContext)(modals_1.ModalsContext);
25
- const onClick = (0, react_1.useCallback)(() => {
26
- if (!(video === null || video === void 0 ? void 0 : video.id)) {
27
- return null;
28
- }
29
- const defaults = window.remotion_renderDefaults;
30
- if (!defaults) {
31
- throw new TypeError('Expected defaults');
32
- }
33
- const frame = getCurrentFrame();
34
- setSelectedModal({
35
- type: 'web-render',
36
- initialFrame: frame,
37
- compositionId: video.id,
38
- defaultProps: video.defaultProps,
39
- inFrameMark: inFrame,
40
- outFrameMark: outFrame,
41
- initialLogLevel: defaults.logLevel,
42
- });
43
- }, [
44
- getCurrentFrame,
45
- inFrame,
46
- outFrame,
47
- setSelectedModal,
48
- video === null || video === void 0 ? void 0 : video.defaultProps,
49
- video === null || video === void 0 ? void 0 : video.id,
50
- ]);
51
- if (!video) {
52
- return null;
53
- }
54
- return ((0, jsx_runtime_1.jsx)(Button_1.Button, { onClick: onClick, buttonContainerStyle: button, disabled: false, children: (0, jsx_runtime_1.jsx)("span", { style: label, children: "Render on web" }) }));
55
- };
56
- exports.TriggerWebRender = TriggerWebRender;