@remotion/studio 4.0.434 → 4.0.436
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/components/CompositionSelector.js +36 -2
- package/dist/components/CompositionSelectorItem.js +1 -0
- package/dist/components/CurrentComposition.d.ts +1 -1
- package/dist/components/CurrentComposition.js +2 -3
- package/dist/components/RenderModal/ClientRenderProgress.js +13 -9
- package/dist/components/RenderQueue/ClientRenderQueueProcessor.js +3 -0
- package/dist/components/RenderQueue/RenderQueueItemStatus.js +1 -2
- package/dist/components/RenderQueue/RenderQueueProgressMessage.js +2 -3
- package/dist/components/RenderQueue/client-render-progress.d.ts +3 -0
- package/dist/components/RenderQueue/client-render-progress.js +31 -0
- package/dist/components/RenderQueue/client-side-render-types.d.ts +3 -0
- package/dist/components/RenderQueue/context.js +7 -1
- package/dist/esm/{chunk-t3wtt582.js → chunk-x88z6n54.js} +559 -457
- package/dist/esm/internals.mjs +559 -457
- package/dist/esm/previewEntry.mjs +130 -28
- package/dist/esm/renderEntry.mjs +1 -1
- package/dist/helpers/make-render-command.js +2 -2
- package/package.json +9 -9
package/dist/esm/internals.mjs
CHANGED
|
@@ -1105,9 +1105,46 @@ var SidebarContextProvider = ({ children }) => {
|
|
|
1105
1105
|
};
|
|
1106
1106
|
|
|
1107
1107
|
// src/components/CompositionSelector.tsx
|
|
1108
|
-
import { useCallback as useCallback16, useContext as useContext9, useMemo as
|
|
1108
|
+
import { useCallback as useCallback16, useContext as useContext9, useMemo as useMemo22 } from "react";
|
|
1109
1109
|
import { Internals as Internals7 } from "remotion";
|
|
1110
1110
|
|
|
1111
|
+
// src/error-overlay/remotion-overlay/ShortcutHint.tsx
|
|
1112
|
+
import { useMemo as useMemo9 } from "react";
|
|
1113
|
+
import { jsx as jsx10, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
1114
|
+
var cmdOrCtrlCharacter = window.navigator.platform.startsWith("Mac") ? "⌘" : "Ctrl";
|
|
1115
|
+
var container3 = {
|
|
1116
|
+
display: "inline-block",
|
|
1117
|
+
marginLeft: 6,
|
|
1118
|
+
opacity: 0.6,
|
|
1119
|
+
verticalAlign: "middle",
|
|
1120
|
+
fontSize: 14
|
|
1121
|
+
};
|
|
1122
|
+
var ShortcutHint = ({ keyToPress, cmdOrCtrl }) => {
|
|
1123
|
+
const style = useMemo9(() => {
|
|
1124
|
+
if (keyToPress === "↵") {
|
|
1125
|
+
return {
|
|
1126
|
+
display: "inline-block",
|
|
1127
|
+
transform: `translateY(2px)`,
|
|
1128
|
+
fontSize: 14
|
|
1129
|
+
};
|
|
1130
|
+
}
|
|
1131
|
+
return {};
|
|
1132
|
+
}, [keyToPress]);
|
|
1133
|
+
if (areKeyboardShortcutsDisabled()) {
|
|
1134
|
+
return null;
|
|
1135
|
+
}
|
|
1136
|
+
return /* @__PURE__ */ jsxs3("span", {
|
|
1137
|
+
style: container3,
|
|
1138
|
+
children: [
|
|
1139
|
+
cmdOrCtrl ? `${cmdOrCtrlCharacter}` : "",
|
|
1140
|
+
/* @__PURE__ */ jsx10("span", {
|
|
1141
|
+
style,
|
|
1142
|
+
children: keyToPress.toUpperCase()
|
|
1143
|
+
})
|
|
1144
|
+
]
|
|
1145
|
+
});
|
|
1146
|
+
};
|
|
1147
|
+
|
|
1111
1148
|
// src/helpers/create-folder-tree.ts
|
|
1112
1149
|
var buildAssetFolderStructure = (files, parentFolderName, foldersExpanded) => {
|
|
1113
1150
|
const notInFolder = files.filter((f) => !f.name.includes("/"));
|
|
@@ -1289,36 +1326,45 @@ var sortItemsByNonceHistory = (items) => {
|
|
|
1289
1326
|
return result;
|
|
1290
1327
|
};
|
|
1291
1328
|
|
|
1329
|
+
// src/state/modals.ts
|
|
1330
|
+
import { createContext as createContext9 } from "react";
|
|
1331
|
+
var ModalsContext = createContext9({
|
|
1332
|
+
selectedModal: null,
|
|
1333
|
+
setSelectedModal: () => {
|
|
1334
|
+
return;
|
|
1335
|
+
}
|
|
1336
|
+
});
|
|
1337
|
+
|
|
1292
1338
|
// src/components/CompositionSelectorItem.tsx
|
|
1293
|
-
import { useCallback as useCallback15, useContext as useContext8, useMemo as
|
|
1339
|
+
import { useCallback as useCallback15, useContext as useContext8, useMemo as useMemo21, useState as useState14 } from "react";
|
|
1294
1340
|
|
|
1295
1341
|
// src/icons/folder.tsx
|
|
1296
|
-
import { jsx as
|
|
1342
|
+
import { jsx as jsx11 } from "react/jsx-runtime";
|
|
1297
1343
|
var CollapsedFolderIcon = ({ color, ...props }) => {
|
|
1298
|
-
return /* @__PURE__ */
|
|
1344
|
+
return /* @__PURE__ */ jsx11("svg", {
|
|
1299
1345
|
viewBox: "0 0 512 512",
|
|
1300
1346
|
...props,
|
|
1301
|
-
children: /* @__PURE__ */
|
|
1347
|
+
children: /* @__PURE__ */ jsx11("path", {
|
|
1302
1348
|
fill: color,
|
|
1303
1349
|
d: "M447.1 96H272L226.7 50.75C214.7 38.74 198.5 32 181.5 32H63.1c-35.35 0-64 28.65-64 64v320c0 35.35 28.65 64 64 64h384c35.35 0 64-28.65 64-64V160C511.1 124.7 483.3 96 447.1 96zM480 416c0 17.64-14.36 32-32 32H64c-17.64 0-32-14.36-32-32V96c0-17.64 14.36-32 32-32h117.5c8.549 0 16.58 3.328 22.63 9.375L258.7 128H448c17.64 0 32 14.36 32 32V416z"
|
|
1304
1350
|
})
|
|
1305
1351
|
});
|
|
1306
1352
|
};
|
|
1307
1353
|
var ExpandedFolderIcon = ({ color, ...props }) => {
|
|
1308
|
-
return /* @__PURE__ */
|
|
1354
|
+
return /* @__PURE__ */ jsx11("svg", {
|
|
1309
1355
|
viewBox: "0 0 576 512",
|
|
1310
1356
|
...props,
|
|
1311
|
-
children: /* @__PURE__ */
|
|
1357
|
+
children: /* @__PURE__ */ jsx11("path", {
|
|
1312
1358
|
fill: color,
|
|
1313
1359
|
d: "M566.6 211.6C557.5 199.1 543.4 192 527.1 192H134.2C114.3 192 96.2 204.5 89.23 223.1L32 375.8V96c0-17.64 14.36-32 32-32h117.5c8.549 0 16.58 3.328 22.63 9.375L258.7 128H448c17.64 0 32 14.36 32 32h32c0-35.35-28.65-64-64-64H272L226.7 50.75C214.7 38.74 198.5 32 181.5 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h403.1c21.11 0 39.53-13.53 45.81-33.69l60-192C578.4 239.6 575.8 224 566.6 211.6zM543.2 244.8l-60 192C481.1 443.5 475 448 467.1 448H64c-3.322 0-6.357-.9551-9.373-1.898c-2.184-1.17-4.109-2.832-5.596-4.977c-3.031-4.375-3.703-9.75-1.828-14.73l72-192C121.5 228.2 127.5 224 134.2 224h393.8c5.141 0 9.844 2.375 12.89 6.516C543.9 234.7 544.8 239.9 543.2 244.8z"
|
|
1314
1360
|
})
|
|
1315
1361
|
});
|
|
1316
1362
|
};
|
|
1317
1363
|
var ExpandedFolderIconSolid = ({ color, ...props }) => {
|
|
1318
|
-
return /* @__PURE__ */
|
|
1364
|
+
return /* @__PURE__ */ jsx11("svg", {
|
|
1319
1365
|
viewBox: "0 0 576 512",
|
|
1320
1366
|
...props,
|
|
1321
|
-
children: /* @__PURE__ */
|
|
1367
|
+
children: /* @__PURE__ */ jsx11("path", {
|
|
1322
1368
|
fill: color,
|
|
1323
1369
|
d: "M384 480h48c11.4 0 21.9-6 27.6-15.9l112-192c5.8-9.9 5.8-22.1 .1-32.1S555.5 224 544 224H144c-11.4 0-21.9 6-27.6 15.9L48 357.1V96c0-8.8 7.2-16 16-16H181.5c4.2 0 8.3 1.7 11.3 4.7l26.5 26.5c21 21 49.5 32.8 79.2 32.8H416c8.8 0 16 7.2 16 16v32h48V160c0-35.3-28.7-64-64-64H298.5c-17 0-33.3-6.7-45.3-18.7L226.7 50.7c-12-12-28.3-18.7-45.3-18.7H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H87.7 384z"
|
|
1324
1370
|
})
|
|
@@ -1326,12 +1372,12 @@ var ExpandedFolderIconSolid = ({ color, ...props }) => {
|
|
|
1326
1372
|
};
|
|
1327
1373
|
|
|
1328
1374
|
// src/icons/still.tsx
|
|
1329
|
-
import { jsx as
|
|
1375
|
+
import { jsx as jsx12 } from "react/jsx-runtime";
|
|
1330
1376
|
var StillIcon = ({ color, ...props }) => {
|
|
1331
|
-
return /* @__PURE__ */
|
|
1377
|
+
return /* @__PURE__ */ jsx12("svg", {
|
|
1332
1378
|
...props,
|
|
1333
1379
|
viewBox: "0 0 512 512",
|
|
1334
|
-
children: /* @__PURE__ */
|
|
1380
|
+
children: /* @__PURE__ */ jsx12("path", {
|
|
1335
1381
|
fill: color,
|
|
1336
1382
|
d: "M144 288C144 226.1 194.1 176 256 176C317.9 176 368 226.1 368 288C368 349.9 317.9 400 256 400C194.1 400 144 349.9 144 288zM256 208C211.8 208 176 243.8 176 288C176 332.2 211.8 368 256 368C300.2 368 336 332.2 336 288C336 243.8 300.2 208 256 208zM362.9 64.82L373.3 96H448C483.3 96 512 124.7 512 160V416C512 451.3 483.3 480 448 480H64C28.65 480 0 451.3 0 416V160C0 124.7 28.65 96 64 96H138.7L149.1 64.82C155.6 45.22 173.9 32 194.6 32H317.4C338.1 32 356.4 45.22 362.9 64.82H362.9zM64 128C46.33 128 32 142.3 32 160V416C32 433.7 46.33 448 64 448H448C465.7 448 480 433.7 480 416V160C480 142.3 465.7 128 448 128H350.3L332.6 74.94C330.4 68.41 324.3 64 317.4 64H194.6C187.7 64 181.6 68.41 179.4 74.94L161.7 128H64z"
|
|
1337
1383
|
})
|
|
@@ -1339,33 +1385,24 @@ var StillIcon = ({ color, ...props }) => {
|
|
|
1339
1385
|
};
|
|
1340
1386
|
|
|
1341
1387
|
// src/icons/video.tsx
|
|
1342
|
-
import { jsx as
|
|
1388
|
+
import { jsx as jsx13 } from "react/jsx-runtime";
|
|
1343
1389
|
var FilmIcon = ({ color, ...props }) => {
|
|
1344
|
-
return /* @__PURE__ */
|
|
1390
|
+
return /* @__PURE__ */ jsx13("svg", {
|
|
1345
1391
|
...props,
|
|
1346
1392
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1347
1393
|
viewBox: "0 0 512 512",
|
|
1348
|
-
children: /* @__PURE__ */
|
|
1394
|
+
children: /* @__PURE__ */ jsx13("path", {
|
|
1349
1395
|
fill: color,
|
|
1350
1396
|
d: "M448 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h384c35.35 0 64-28.65 64-64V96C512 60.65 483.3 32 448 32zM384 64v176H128V64H384zM32 96c0-17.64 14.36-32 32-32h32v80H32V96zM32 176h64v64H32V176zM32 272h64v64H32V272zM64 448c-17.64 0-32-14.36-32-32v-48h64V448H64zM128 448V272h256V448H128zM480 416c0 17.64-14.36 32-32 32h-32v-80h64V416zM480 336h-64v-64h64V336zM480 240h-64v-64h64V240zM480 144h-64V64h32c17.64 0 32 14.36 32 32V144z"
|
|
1351
1397
|
})
|
|
1352
1398
|
});
|
|
1353
1399
|
};
|
|
1354
1400
|
|
|
1355
|
-
// src/state/modals.ts
|
|
1356
|
-
import { createContext as createContext9 } from "react";
|
|
1357
|
-
var ModalsContext = createContext9({
|
|
1358
|
-
selectedModal: null,
|
|
1359
|
-
setSelectedModal: () => {
|
|
1360
|
-
return;
|
|
1361
|
-
}
|
|
1362
|
-
});
|
|
1363
|
-
|
|
1364
1401
|
// src/components/CompositionContextButton.tsx
|
|
1365
|
-
import { useCallback as useCallback12, useContext as useContext6, useMemo as
|
|
1402
|
+
import { useCallback as useCallback12, useContext as useContext6, useMemo as useMemo18 } from "react";
|
|
1366
1403
|
|
|
1367
1404
|
// src/helpers/client-id.tsx
|
|
1368
|
-
import
|
|
1405
|
+
import React13, { useCallback as useCallback6, useEffect as useEffect8, useMemo as useMemo11, useRef as useRef6 } from "react";
|
|
1369
1406
|
import { Internals as Internals4 } from "remotion";
|
|
1370
1407
|
|
|
1371
1408
|
// src/components/Notifications/NotificationCenter.tsx
|
|
@@ -1378,7 +1415,7 @@ import {
|
|
|
1378
1415
|
|
|
1379
1416
|
// src/components/Notifications/Notification.tsx
|
|
1380
1417
|
import { useEffect as useEffect6 } from "react";
|
|
1381
|
-
import { jsx as
|
|
1418
|
+
import { jsx as jsx14 } from "react/jsx-runtime";
|
|
1382
1419
|
var notification = {
|
|
1383
1420
|
backgroundColor: "#111111",
|
|
1384
1421
|
color: "white",
|
|
@@ -1405,7 +1442,7 @@ var Notification = ({ children, id, duration, created, onRemove }) => {
|
|
|
1405
1442
|
clearTimeout(timeout);
|
|
1406
1443
|
};
|
|
1407
1444
|
}, [created, duration, id, onRemove]);
|
|
1408
|
-
return /* @__PURE__ */
|
|
1445
|
+
return /* @__PURE__ */ jsx14("div", {
|
|
1409
1446
|
className: "css-reset",
|
|
1410
1447
|
style: notification,
|
|
1411
1448
|
children
|
|
@@ -1413,8 +1450,8 @@ var Notification = ({ children, id, duration, created, onRemove }) => {
|
|
|
1413
1450
|
};
|
|
1414
1451
|
|
|
1415
1452
|
// src/components/Notifications/NotificationCenter.tsx
|
|
1416
|
-
import { jsx as
|
|
1417
|
-
var
|
|
1453
|
+
import { jsx as jsx15 } from "react/jsx-runtime";
|
|
1454
|
+
var container4 = {
|
|
1418
1455
|
position: "absolute",
|
|
1419
1456
|
justifyContent: "center",
|
|
1420
1457
|
alignItems: "center",
|
|
@@ -1468,10 +1505,10 @@ var NotificationCenter = () => {
|
|
|
1468
1505
|
addNotification
|
|
1469
1506
|
};
|
|
1470
1507
|
}, [addNotification]);
|
|
1471
|
-
return /* @__PURE__ */
|
|
1472
|
-
style:
|
|
1508
|
+
return /* @__PURE__ */ jsx15("div", {
|
|
1509
|
+
style: container4,
|
|
1473
1510
|
children: notifications.map((n) => {
|
|
1474
|
-
return /* @__PURE__ */
|
|
1511
|
+
return /* @__PURE__ */ jsx15(Notification, {
|
|
1475
1512
|
created: n.created,
|
|
1476
1513
|
duration: n.duration,
|
|
1477
1514
|
id: n.id,
|
|
@@ -1500,12 +1537,12 @@ var playBeepSound = async (renderId) => {
|
|
|
1500
1537
|
var PlayBeepSound_default = playBeepSound;
|
|
1501
1538
|
|
|
1502
1539
|
// src/components/RenderQueue/context.tsx
|
|
1503
|
-
import
|
|
1540
|
+
import React12, {
|
|
1504
1541
|
createRef as createRef4,
|
|
1505
1542
|
useCallback as useCallback5,
|
|
1506
1543
|
useEffect as useEffect7,
|
|
1507
1544
|
useImperativeHandle as useImperativeHandle3,
|
|
1508
|
-
useMemo as
|
|
1545
|
+
useMemo as useMemo10,
|
|
1509
1546
|
useRef as useRef5,
|
|
1510
1547
|
useState as useState8
|
|
1511
1548
|
} from "react";
|
|
@@ -1544,7 +1581,7 @@ var cancelAbortController = (jobId) => {
|
|
|
1544
1581
|
};
|
|
1545
1582
|
|
|
1546
1583
|
// src/components/RenderQueue/context.tsx
|
|
1547
|
-
import { jsx as
|
|
1584
|
+
import { jsx as jsx16 } from "react/jsx-runtime";
|
|
1548
1585
|
var restorePersistedClientRenders = () => {
|
|
1549
1586
|
const persisted = window.remotion_initialClientRenders ?? [];
|
|
1550
1587
|
return persisted.map((r) => ({ ...r, status: "done" }));
|
|
@@ -1556,7 +1593,7 @@ var noopString = () => "";
|
|
|
1556
1593
|
var noop2 = () => {
|
|
1557
1594
|
return;
|
|
1558
1595
|
};
|
|
1559
|
-
var RenderQueueContext =
|
|
1596
|
+
var RenderQueueContext = React12.createContext({
|
|
1560
1597
|
jobs: [],
|
|
1561
1598
|
serverJobs: [],
|
|
1562
1599
|
clientJobs: [],
|
|
@@ -1593,7 +1630,13 @@ var RenderQueueContextProvider = ({ children }) => {
|
|
|
1593
1630
|
setClientJobs((prev) => prev.map((job) => job.id === nextJob.id ? {
|
|
1594
1631
|
...job,
|
|
1595
1632
|
status: "running",
|
|
1596
|
-
progress: {
|
|
1633
|
+
progress: {
|
|
1634
|
+
encodedFrames: 0,
|
|
1635
|
+
totalFrames: 0,
|
|
1636
|
+
doneIn: null,
|
|
1637
|
+
renderEstimatedTime: 0,
|
|
1638
|
+
progress: 0
|
|
1639
|
+
}
|
|
1597
1640
|
} : job));
|
|
1598
1641
|
processJobCallbackRef.current(nextJob);
|
|
1599
1642
|
}, [clientJobs, currentlyProcessing]);
|
|
@@ -1692,7 +1735,7 @@ var RenderQueueContextProvider = ({ children }) => {
|
|
|
1692
1735
|
});
|
|
1693
1736
|
}
|
|
1694
1737
|
}), []);
|
|
1695
|
-
const value =
|
|
1738
|
+
const value = useMemo10(() => {
|
|
1696
1739
|
return {
|
|
1697
1740
|
jobs: [...serverJobs, ...clientJobs].sort((a, b) => a.startedAt - b.startedAt),
|
|
1698
1741
|
serverJobs,
|
|
@@ -1724,15 +1767,15 @@ var RenderQueueContextProvider = ({ children }) => {
|
|
|
1724
1767
|
cancelClientJob,
|
|
1725
1768
|
setProcessJobCallback
|
|
1726
1769
|
]);
|
|
1727
|
-
return /* @__PURE__ */
|
|
1770
|
+
return /* @__PURE__ */ jsx16(RenderQueueContext.Provider, {
|
|
1728
1771
|
value,
|
|
1729
1772
|
children
|
|
1730
1773
|
});
|
|
1731
1774
|
};
|
|
1732
1775
|
|
|
1733
1776
|
// src/helpers/client-id.tsx
|
|
1734
|
-
import { jsx as
|
|
1735
|
-
var StudioServerConnectionCtx =
|
|
1777
|
+
import { jsx as jsx17 } from "react/jsx-runtime";
|
|
1778
|
+
var StudioServerConnectionCtx = React13.createContext({
|
|
1736
1779
|
previewServerState: {
|
|
1737
1780
|
type: "init"
|
|
1738
1781
|
},
|
|
@@ -1816,28 +1859,28 @@ var PreviewServerConnection = ({ children, readOnlyStudio }) => {
|
|
|
1816
1859
|
close();
|
|
1817
1860
|
};
|
|
1818
1861
|
}, [openEventSource, readOnlyStudio]);
|
|
1819
|
-
const [state, setState] =
|
|
1862
|
+
const [state, setState] = React13.useState({
|
|
1820
1863
|
type: "init"
|
|
1821
1864
|
});
|
|
1822
|
-
const context =
|
|
1865
|
+
const context = useMemo11(() => {
|
|
1823
1866
|
return {
|
|
1824
1867
|
previewServerState: state,
|
|
1825
1868
|
subscribeToEvent
|
|
1826
1869
|
};
|
|
1827
1870
|
}, [state, subscribeToEvent]);
|
|
1828
|
-
return /* @__PURE__ */
|
|
1871
|
+
return /* @__PURE__ */ jsx17(StudioServerConnectionCtx.Provider, {
|
|
1829
1872
|
value: context,
|
|
1830
1873
|
children
|
|
1831
1874
|
});
|
|
1832
1875
|
};
|
|
1833
1876
|
|
|
1834
1877
|
// src/icons/ellipsis.tsx
|
|
1835
|
-
import { jsx as
|
|
1878
|
+
import { jsx as jsx18 } from "react/jsx-runtime";
|
|
1836
1879
|
var EllipsisIcon = (props) => {
|
|
1837
|
-
return /* @__PURE__ */
|
|
1880
|
+
return /* @__PURE__ */ jsx18("svg", {
|
|
1838
1881
|
...props.svgProps,
|
|
1839
1882
|
viewBox: "0 0 448 512",
|
|
1840
|
-
children: /* @__PURE__ */
|
|
1883
|
+
children: /* @__PURE__ */ jsx18("path", {
|
|
1841
1884
|
fill: props.fill,
|
|
1842
1885
|
d: "M8 256a56 56 0 1 1 112 0A56 56 0 1 1 8 256zm160 0a56 56 0 1 1 112 0 56 56 0 1 1 -112 0zm216-56a56 56 0 1 1 0 112 56 56 0 1 1 0-112z"
|
|
1843
1886
|
})
|
|
@@ -1846,12 +1889,12 @@ var EllipsisIcon = (props) => {
|
|
|
1846
1889
|
|
|
1847
1890
|
// src/components/InlineDropdown.tsx
|
|
1848
1891
|
import { PlayerInternals as PlayerInternals3 } from "@remotion/player";
|
|
1849
|
-
import { useCallback as useCallback11, useMemo as
|
|
1892
|
+
import { useCallback as useCallback11, useMemo as useMemo17, useRef as useRef9, useState as useState12 } from "react";
|
|
1850
1893
|
import ReactDOM2 from "react-dom";
|
|
1851
1894
|
|
|
1852
1895
|
// src/components/InlineAction.tsx
|
|
1853
|
-
import { useCallback as useCallback7, useMemo as
|
|
1854
|
-
import { jsx as
|
|
1896
|
+
import { useCallback as useCallback7, useMemo as useMemo12, useState as useState9 } from "react";
|
|
1897
|
+
import { jsx as jsx19 } from "react/jsx-runtime";
|
|
1855
1898
|
var InlineAction = ({
|
|
1856
1899
|
renderAction,
|
|
1857
1900
|
onClick,
|
|
@@ -1866,7 +1909,7 @@ var InlineAction = ({
|
|
|
1866
1909
|
const onPointerLeave = useCallback7(() => {
|
|
1867
1910
|
setHovered(false);
|
|
1868
1911
|
}, []);
|
|
1869
|
-
const style =
|
|
1912
|
+
const style = useMemo12(() => {
|
|
1870
1913
|
return {
|
|
1871
1914
|
border: "none",
|
|
1872
1915
|
background: disabled ? "transparent" : getBackgroundFromHoverState({ hovered, selected: false }),
|
|
@@ -1879,7 +1922,7 @@ var InlineAction = ({
|
|
|
1879
1922
|
pointerEvents: disabled ? "none" : "auto"
|
|
1880
1923
|
};
|
|
1881
1924
|
}, [disabled, hovered]);
|
|
1882
|
-
return /* @__PURE__ */
|
|
1925
|
+
return /* @__PURE__ */ jsx19("button", {
|
|
1883
1926
|
type: "button",
|
|
1884
1927
|
onPointerEnter,
|
|
1885
1928
|
onPointerLeave,
|
|
@@ -1943,7 +1986,7 @@ var inlineCodeSnippet = {
|
|
|
1943
1986
|
};
|
|
1944
1987
|
|
|
1945
1988
|
// src/components/NewComposition/MenuContent.tsx
|
|
1946
|
-
import { useCallback as useCallback10, useEffect as useEffect10, useMemo as
|
|
1989
|
+
import { useCallback as useCallback10, useEffect as useEffect10, useMemo as useMemo16, useRef as useRef8, useState as useState11 } from "react";
|
|
1947
1990
|
|
|
1948
1991
|
// src/components/Menu/is-menu-item.tsx
|
|
1949
1992
|
var MENU_INITIATOR_CLASSNAME = "__remotion-studio-menu-initiator";
|
|
@@ -1955,7 +1998,7 @@ var isMenuItem = (el) => {
|
|
|
1955
1998
|
};
|
|
1956
1999
|
|
|
1957
2000
|
// src/components/Menu/MenuDivider.tsx
|
|
1958
|
-
import { jsx as
|
|
2001
|
+
import { jsx as jsx20 } from "react/jsx-runtime";
|
|
1959
2002
|
var menuDivider = {
|
|
1960
2003
|
marginTop: 4,
|
|
1961
2004
|
marginBottom: 4,
|
|
@@ -1963,19 +2006,19 @@ var menuDivider = {
|
|
|
1963
2006
|
backgroundColor: INPUT_BORDER_COLOR_HOVERED
|
|
1964
2007
|
};
|
|
1965
2008
|
var MenuDivider = () => {
|
|
1966
|
-
return /* @__PURE__ */
|
|
2009
|
+
return /* @__PURE__ */ jsx20("div", {
|
|
1967
2010
|
style: menuDivider
|
|
1968
2011
|
});
|
|
1969
2012
|
};
|
|
1970
2013
|
|
|
1971
2014
|
// src/components/Menu/MenuSubItem.tsx
|
|
1972
2015
|
import { PlayerInternals as PlayerInternals2 } from "@remotion/player";
|
|
1973
|
-
import { useCallback as useCallback9, useEffect as useEffect9, useMemo as
|
|
2016
|
+
import { useCallback as useCallback9, useEffect as useEffect9, useMemo as useMemo15, useRef as useRef7, useState as useState10 } from "react";
|
|
1974
2017
|
import ReactDOM from "react-dom";
|
|
1975
2018
|
|
|
1976
2019
|
// src/icons/caret.tsx
|
|
1977
|
-
import { useMemo as
|
|
1978
|
-
import { jsx as
|
|
2020
|
+
import { useMemo as useMemo13 } from "react";
|
|
2021
|
+
import { jsx as jsx21 } from "react/jsx-runtime";
|
|
1979
2022
|
var caret = {
|
|
1980
2023
|
height: 12
|
|
1981
2024
|
};
|
|
@@ -1985,36 +2028,36 @@ var caretDown = {
|
|
|
1985
2028
|
var angleDown = {
|
|
1986
2029
|
width: 10
|
|
1987
2030
|
};
|
|
1988
|
-
var CaretRight = () => /* @__PURE__ */
|
|
2031
|
+
var CaretRight = () => /* @__PURE__ */ jsx21("svg", {
|
|
1989
2032
|
viewBox: "0 0 192 512",
|
|
1990
2033
|
style: caret,
|
|
1991
|
-
children: /* @__PURE__ */
|
|
2034
|
+
children: /* @__PURE__ */ jsx21("path", {
|
|
1992
2035
|
fill: "currentColor",
|
|
1993
2036
|
d: "M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z"
|
|
1994
2037
|
})
|
|
1995
2038
|
});
|
|
1996
2039
|
var CaretDown = () => {
|
|
1997
|
-
return /* @__PURE__ */
|
|
2040
|
+
return /* @__PURE__ */ jsx21("svg", {
|
|
1998
2041
|
viewBox: "0 0 320 512",
|
|
1999
2042
|
style: caretDown,
|
|
2000
|
-
children: /* @__PURE__ */
|
|
2043
|
+
children: /* @__PURE__ */ jsx21("path", {
|
|
2001
2044
|
fill: "currentColor",
|
|
2002
2045
|
d: "M31.3 192h257.3c17.8 0 26.7 21.5 14.1 34.1L174.1 354.8c-7.8 7.8-20.5 7.8-28.3 0L17.2 226.1C4.6 213.5 13.5 192 31.3 192z"
|
|
2003
2046
|
})
|
|
2004
2047
|
});
|
|
2005
2048
|
};
|
|
2006
2049
|
var AngleDown = ({ down }) => {
|
|
2007
|
-
const style =
|
|
2050
|
+
const style = useMemo13(() => {
|
|
2008
2051
|
return {
|
|
2009
2052
|
...angleDown,
|
|
2010
2053
|
transform: down ? "rotate(180deg)" : "rotate(0deg)",
|
|
2011
2054
|
marginTop: 1
|
|
2012
2055
|
};
|
|
2013
2056
|
}, [down]);
|
|
2014
|
-
return /* @__PURE__ */
|
|
2057
|
+
return /* @__PURE__ */ jsx21("svg", {
|
|
2015
2058
|
style,
|
|
2016
2059
|
viewBox: "0 0 448 512",
|
|
2017
|
-
children: /* @__PURE__ */
|
|
2060
|
+
children: /* @__PURE__ */ jsx21("path", {
|
|
2018
2061
|
fill: LIGHT_TEXT,
|
|
2019
2062
|
d: "M201.4 342.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 274.7 86.6 137.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z"
|
|
2020
2063
|
})
|
|
@@ -2022,11 +2065,11 @@ var AngleDown = ({ down }) => {
|
|
|
2022
2065
|
};
|
|
2023
2066
|
|
|
2024
2067
|
// src/components/layout.tsx
|
|
2025
|
-
import { useMemo as
|
|
2026
|
-
import { jsx as
|
|
2068
|
+
import { useMemo as useMemo14 } from "react";
|
|
2069
|
+
import { jsx as jsx22 } from "react/jsx-runtime";
|
|
2027
2070
|
var SPACING_UNIT = 8;
|
|
2028
2071
|
var Spacing = ({ x = 0, y = 0, block = false }) => {
|
|
2029
|
-
const style =
|
|
2072
|
+
const style = useMemo14(() => {
|
|
2030
2073
|
return {
|
|
2031
2074
|
display: block ? "block" : "inline-block",
|
|
2032
2075
|
width: x * SPACING_UNIT,
|
|
@@ -2034,17 +2077,17 @@ var Spacing = ({ x = 0, y = 0, block = false }) => {
|
|
|
2034
2077
|
flexShrink: 0
|
|
2035
2078
|
};
|
|
2036
2079
|
}, [block, x, y]);
|
|
2037
|
-
return /* @__PURE__ */
|
|
2080
|
+
return /* @__PURE__ */ jsx22("div", {
|
|
2038
2081
|
style
|
|
2039
2082
|
});
|
|
2040
2083
|
};
|
|
2041
2084
|
var flexCss = { flex: 1 };
|
|
2042
|
-
var Flex = ({ children }) => /* @__PURE__ */
|
|
2085
|
+
var Flex = ({ children }) => /* @__PURE__ */ jsx22("div", {
|
|
2043
2086
|
style: flexCss,
|
|
2044
2087
|
children
|
|
2045
2088
|
});
|
|
2046
2089
|
var Row = ({ children, justify, className, align, flex, style = {}, ...other }) => {
|
|
2047
|
-
const finalStyle =
|
|
2090
|
+
const finalStyle = useMemo14(() => {
|
|
2048
2091
|
return {
|
|
2049
2092
|
...style,
|
|
2050
2093
|
display: "flex",
|
|
@@ -2054,7 +2097,7 @@ var Row = ({ children, justify, className, align, flex, style = {}, ...other })
|
|
|
2054
2097
|
flex: flex ?? undefined
|
|
2055
2098
|
};
|
|
2056
2099
|
}, [align, flex, justify, style]);
|
|
2057
|
-
return /* @__PURE__ */
|
|
2100
|
+
return /* @__PURE__ */ jsx22("div", {
|
|
2058
2101
|
className,
|
|
2059
2102
|
style: finalStyle,
|
|
2060
2103
|
...other,
|
|
@@ -2062,7 +2105,7 @@ var Row = ({ children, justify, className, align, flex, style = {}, ...other })
|
|
|
2062
2105
|
});
|
|
2063
2106
|
};
|
|
2064
2107
|
var Column = ({ children, justify, className, align, style = {} }) => {
|
|
2065
|
-
const finalStyle =
|
|
2108
|
+
const finalStyle = useMemo14(() => {
|
|
2066
2109
|
return {
|
|
2067
2110
|
...style,
|
|
2068
2111
|
display: "flex",
|
|
@@ -2071,7 +2114,7 @@ var Column = ({ children, justify, className, align, style = {} }) => {
|
|
|
2071
2114
|
alignItems: align ?? "flex-start"
|
|
2072
2115
|
};
|
|
2073
2116
|
}, [align, justify, style]);
|
|
2074
|
-
return /* @__PURE__ */
|
|
2117
|
+
return /* @__PURE__ */ jsx22("div", {
|
|
2075
2118
|
className,
|
|
2076
2119
|
style: finalStyle,
|
|
2077
2120
|
children
|
|
@@ -2080,7 +2123,7 @@ var Column = ({ children, justify, className, align, style = {} }) => {
|
|
|
2080
2123
|
|
|
2081
2124
|
// src/components/Menu/SubMenu.tsx
|
|
2082
2125
|
import { useCallback as useCallback8 } from "react";
|
|
2083
|
-
import { jsx as
|
|
2126
|
+
import { jsx as jsx23 } from "react/jsx-runtime";
|
|
2084
2127
|
var SubMenuComponent = ({
|
|
2085
2128
|
portalStyle,
|
|
2086
2129
|
subMenuActivated,
|
|
@@ -2096,13 +2139,13 @@ var SubMenuComponent = ({
|
|
|
2096
2139
|
onQuitFullMenu();
|
|
2097
2140
|
}
|
|
2098
2141
|
}, [mobileLayout, onQuitFullMenu, onQuitSubMenu]);
|
|
2099
|
-
return /* @__PURE__ */
|
|
2142
|
+
return /* @__PURE__ */ jsx23(HigherZIndex, {
|
|
2100
2143
|
onEscape: onQuitFullMenu,
|
|
2101
2144
|
onOutsideClick,
|
|
2102
|
-
children: /* @__PURE__ */
|
|
2145
|
+
children: /* @__PURE__ */ jsx23("div", {
|
|
2103
2146
|
style: portalStyle,
|
|
2104
2147
|
className: "css-reset",
|
|
2105
|
-
children: /* @__PURE__ */
|
|
2148
|
+
children: /* @__PURE__ */ jsx23(MenuContent, {
|
|
2106
2149
|
onNextMenu: noop,
|
|
2107
2150
|
onPreviousMenu: onQuitSubMenu,
|
|
2108
2151
|
values: subMenu.items,
|
|
@@ -2117,8 +2160,8 @@ var SubMenuComponent = ({
|
|
|
2117
2160
|
};
|
|
2118
2161
|
|
|
2119
2162
|
// src/components/Menu/MenuSubItem.tsx
|
|
2120
|
-
import { jsx as
|
|
2121
|
-
var
|
|
2163
|
+
import { jsx as jsx24, jsxs as jsxs4, Fragment } from "react/jsx-runtime";
|
|
2164
|
+
var container5 = {
|
|
2122
2165
|
paddingTop: 8,
|
|
2123
2166
|
paddingBottom: 8,
|
|
2124
2167
|
paddingLeft: 12,
|
|
@@ -2167,9 +2210,9 @@ var MenuSubItem = ({
|
|
|
2167
2210
|
});
|
|
2168
2211
|
const mobileLayout = useMobileLayout();
|
|
2169
2212
|
const { currentZIndex } = useZIndex();
|
|
2170
|
-
const style =
|
|
2213
|
+
const style = useMemo15(() => {
|
|
2171
2214
|
return {
|
|
2172
|
-
...
|
|
2215
|
+
...container5,
|
|
2173
2216
|
backgroundColor: selected && !disabled ? CLEAR_HOVER : "transparent",
|
|
2174
2217
|
opacity: disabled ? 0.5 : 1,
|
|
2175
2218
|
cursor: disabled ? "not-allowed" : "default"
|
|
@@ -2199,7 +2242,7 @@ var MenuSubItem = ({
|
|
|
2199
2242
|
const onQuitSubmenu = useCallback9(() => {
|
|
2200
2243
|
setSubMenuActivated(false);
|
|
2201
2244
|
}, [setSubMenuActivated]);
|
|
2202
|
-
const portalStyle =
|
|
2245
|
+
const portalStyle = useMemo15(() => {
|
|
2203
2246
|
if (!selected || !size || !subMenu || !subMenuActivated) {
|
|
2204
2247
|
return null;
|
|
2205
2248
|
}
|
|
@@ -2226,7 +2269,7 @@ var MenuSubItem = ({
|
|
|
2226
2269
|
});
|
|
2227
2270
|
}
|
|
2228
2271
|
}, [selected]);
|
|
2229
|
-
return /* @__PURE__ */
|
|
2272
|
+
return /* @__PURE__ */ jsx24("div", {
|
|
2230
2273
|
ref,
|
|
2231
2274
|
onPointerEnter,
|
|
2232
2275
|
onPointerLeave,
|
|
@@ -2234,35 +2277,35 @@ var MenuSubItem = ({
|
|
|
2234
2277
|
onPointerUp,
|
|
2235
2278
|
role: "button",
|
|
2236
2279
|
className: MENU_ITEM_CLASSNAME,
|
|
2237
|
-
children: /* @__PURE__ */
|
|
2280
|
+
children: /* @__PURE__ */ jsxs4(Row, {
|
|
2238
2281
|
align: "center",
|
|
2239
2282
|
children: [
|
|
2240
|
-
leaveLeftSpace ? /* @__PURE__ */
|
|
2283
|
+
leaveLeftSpace ? /* @__PURE__ */ jsxs4(Fragment, {
|
|
2241
2284
|
children: [
|
|
2242
|
-
/* @__PURE__ */
|
|
2285
|
+
/* @__PURE__ */ jsx24("div", {
|
|
2243
2286
|
style: leftSpace,
|
|
2244
2287
|
children: leftItem
|
|
2245
2288
|
}),
|
|
2246
|
-
/* @__PURE__ */
|
|
2289
|
+
/* @__PURE__ */ jsx24(Spacing, {
|
|
2247
2290
|
x: 1
|
|
2248
2291
|
})
|
|
2249
2292
|
]
|
|
2250
2293
|
}) : null,
|
|
2251
|
-
/* @__PURE__ */
|
|
2294
|
+
/* @__PURE__ */ jsx24("div", {
|
|
2252
2295
|
style: labelStyle,
|
|
2253
2296
|
...{ title: typeof label === "string" ? label : undefined },
|
|
2254
2297
|
children: label
|
|
2255
2298
|
}),
|
|
2256
2299
|
" ",
|
|
2257
|
-
/* @__PURE__ */
|
|
2300
|
+
/* @__PURE__ */ jsx24(Spacing, {
|
|
2258
2301
|
x: 2
|
|
2259
2302
|
}),
|
|
2260
|
-
subMenu ? /* @__PURE__ */
|
|
2261
|
-
keyHint && !areKeyboardShortcutsDisabled() ? /* @__PURE__ */
|
|
2303
|
+
subMenu ? /* @__PURE__ */ jsx24(CaretRight, {}) : null,
|
|
2304
|
+
keyHint && !areKeyboardShortcutsDisabled() ? /* @__PURE__ */ jsx24("span", {
|
|
2262
2305
|
style: keyHintCss,
|
|
2263
2306
|
children: keyHint
|
|
2264
2307
|
}) : null,
|
|
2265
|
-
portalStyle && subMenu ? ReactDOM.createPortal(/* @__PURE__ */
|
|
2308
|
+
portalStyle && subMenu ? ReactDOM.createPortal(/* @__PURE__ */ jsx24(SubMenuComponent, {
|
|
2266
2309
|
onQuitFullMenu: onQuitMenu,
|
|
2267
2310
|
subMenu,
|
|
2268
2311
|
onQuitSubMenu: onQuitSubmenu,
|
|
@@ -2275,9 +2318,9 @@ var MenuSubItem = ({
|
|
|
2275
2318
|
};
|
|
2276
2319
|
|
|
2277
2320
|
// src/components/NewComposition/MenuContent.tsx
|
|
2278
|
-
import { jsx as
|
|
2321
|
+
import { jsx as jsx25 } from "react/jsx-runtime";
|
|
2279
2322
|
var BORDER_SIZE = 1;
|
|
2280
|
-
var
|
|
2323
|
+
var container6 = {
|
|
2281
2324
|
paddingTop: MENU_VERTICAL_PADDING,
|
|
2282
2325
|
paddingBottom: MENU_VERTICAL_PADDING,
|
|
2283
2326
|
border: `${BORDER_SIZE}px solid ${INPUT_BORDER_COLOR_UNHOVERED}`,
|
|
@@ -2384,8 +2427,8 @@ var MenuContent = ({
|
|
|
2384
2427
|
}
|
|
2385
2428
|
setSubMenuActivated("without-mouse");
|
|
2386
2429
|
}, [onNextMenu, selectedItem, values]);
|
|
2387
|
-
const containerWithHeight =
|
|
2388
|
-
const containerStyles = { ...
|
|
2430
|
+
const containerWithHeight = useMemo16(() => {
|
|
2431
|
+
const containerStyles = { ...container6 };
|
|
2389
2432
|
if (fixedHeight === null) {
|
|
2390
2433
|
containerStyles.maxHeight = 600;
|
|
2391
2434
|
} else {
|
|
@@ -2511,13 +2554,13 @@ var MenuContent = ({
|
|
|
2511
2554
|
current.addEventListener("pointerleave", onPointerLeave);
|
|
2512
2555
|
return () => current.removeEventListener("pointerleave", onPointerLeave);
|
|
2513
2556
|
}, [onHide, subMenuActivated]);
|
|
2514
|
-
return /* @__PURE__ */
|
|
2557
|
+
return /* @__PURE__ */ jsx25("div", {
|
|
2515
2558
|
ref: containerRef,
|
|
2516
2559
|
style: containerWithHeight,
|
|
2517
2560
|
className: VERTICAL_SCROLLBAR_CLASSNAME,
|
|
2518
2561
|
children: values.map((item) => {
|
|
2519
2562
|
if (item.type === "divider") {
|
|
2520
|
-
return /* @__PURE__ */
|
|
2563
|
+
return /* @__PURE__ */ jsx25(MenuDivider, {}, item.id);
|
|
2521
2564
|
}
|
|
2522
2565
|
const onClick = (id, e) => {
|
|
2523
2566
|
item.onClick(id, e);
|
|
@@ -2526,7 +2569,7 @@ var MenuContent = ({
|
|
|
2526
2569
|
}
|
|
2527
2570
|
onHide();
|
|
2528
2571
|
};
|
|
2529
|
-
return /* @__PURE__ */
|
|
2572
|
+
return /* @__PURE__ */ jsx25(MenuSubItem, {
|
|
2530
2573
|
selected: item.id === selectedItem,
|
|
2531
2574
|
onActionChosen: onClick,
|
|
2532
2575
|
onItemSelected,
|
|
@@ -2547,7 +2590,7 @@ var MenuContent = ({
|
|
|
2547
2590
|
};
|
|
2548
2591
|
|
|
2549
2592
|
// src/components/InlineDropdown.tsx
|
|
2550
|
-
import { jsx as
|
|
2593
|
+
import { jsx as jsx26, jsxs as jsxs5, Fragment as Fragment2 } from "react/jsx-runtime";
|
|
2551
2594
|
var InlineDropdown = ({
|
|
2552
2595
|
values,
|
|
2553
2596
|
...props
|
|
@@ -2565,19 +2608,19 @@ var InlineDropdown = ({
|
|
|
2565
2608
|
e.stopPropagation();
|
|
2566
2609
|
setOpened({ type: "open", left: e.clientX, top: e.clientY });
|
|
2567
2610
|
}, []);
|
|
2568
|
-
const spaceToBottom =
|
|
2611
|
+
const spaceToBottom = useMemo17(() => {
|
|
2569
2612
|
if (size && opened.type === "open") {
|
|
2570
2613
|
return size.windowSize.height - opened.top;
|
|
2571
2614
|
}
|
|
2572
2615
|
return 0;
|
|
2573
2616
|
}, [opened, size]);
|
|
2574
|
-
const spaceToTop =
|
|
2617
|
+
const spaceToTop = useMemo17(() => {
|
|
2575
2618
|
if (size && opened.type === "open") {
|
|
2576
2619
|
return opened.top;
|
|
2577
2620
|
}
|
|
2578
2621
|
return 0;
|
|
2579
2622
|
}, [opened, size]);
|
|
2580
|
-
const portalStyle =
|
|
2623
|
+
const portalStyle = useMemo17(() => {
|
|
2581
2624
|
if (opened.type === "not-open") {
|
|
2582
2625
|
return;
|
|
2583
2626
|
}
|
|
@@ -2608,26 +2651,26 @@ var InlineDropdown = ({
|
|
|
2608
2651
|
const onHide = useCallback11(() => {
|
|
2609
2652
|
setOpened({ type: "not-open" });
|
|
2610
2653
|
}, []);
|
|
2611
|
-
return /* @__PURE__ */
|
|
2654
|
+
return /* @__PURE__ */ jsxs5(Fragment2, {
|
|
2612
2655
|
children: [
|
|
2613
|
-
/* @__PURE__ */
|
|
2656
|
+
/* @__PURE__ */ jsx26("div", {
|
|
2614
2657
|
ref,
|
|
2615
|
-
children: /* @__PURE__ */
|
|
2658
|
+
children: /* @__PURE__ */ jsx26(InlineAction, {
|
|
2616
2659
|
onClick,
|
|
2617
2660
|
...props
|
|
2618
2661
|
})
|
|
2619
2662
|
}),
|
|
2620
|
-
portalStyle ? ReactDOM2.createPortal(/* @__PURE__ */
|
|
2663
|
+
portalStyle ? ReactDOM2.createPortal(/* @__PURE__ */ jsx26("div", {
|
|
2621
2664
|
style: fullScreenOverlay,
|
|
2622
|
-
children: /* @__PURE__ */
|
|
2665
|
+
children: /* @__PURE__ */ jsx26("div", {
|
|
2623
2666
|
style: outerPortal,
|
|
2624
2667
|
className: "css-reset",
|
|
2625
|
-
children: /* @__PURE__ */
|
|
2668
|
+
children: /* @__PURE__ */ jsx26(HigherZIndex, {
|
|
2626
2669
|
onOutsideClick: onHide,
|
|
2627
2670
|
onEscape: onHide,
|
|
2628
|
-
children: /* @__PURE__ */
|
|
2671
|
+
children: /* @__PURE__ */ jsx26("div", {
|
|
2629
2672
|
style: portalStyle,
|
|
2630
|
-
children: /* @__PURE__ */
|
|
2673
|
+
children: /* @__PURE__ */ jsx26(MenuContent, {
|
|
2631
2674
|
onNextMenu: noop,
|
|
2632
2675
|
onPreviousMenu: noop,
|
|
2633
2676
|
values,
|
|
@@ -2646,9 +2689,9 @@ var InlineDropdown = ({
|
|
|
2646
2689
|
};
|
|
2647
2690
|
|
|
2648
2691
|
// src/components/CompositionContextButton.tsx
|
|
2649
|
-
import { jsx as
|
|
2692
|
+
import { jsx as jsx27 } from "react/jsx-runtime";
|
|
2650
2693
|
var CompositionContextButton = ({ visible, values }) => {
|
|
2651
|
-
const iconStyle =
|
|
2694
|
+
const iconStyle = useMemo18(() => {
|
|
2652
2695
|
return {
|
|
2653
2696
|
style: {
|
|
2654
2697
|
height: 12
|
|
@@ -2657,7 +2700,7 @@ var CompositionContextButton = ({ visible, values }) => {
|
|
|
2657
2700
|
}, []);
|
|
2658
2701
|
const connectionStatus = useContext6(StudioServerConnectionCtx).previewServerState.type;
|
|
2659
2702
|
const renderAction = useCallback12((color) => {
|
|
2660
|
-
return /* @__PURE__ */
|
|
2703
|
+
return /* @__PURE__ */ jsx27(EllipsisIcon, {
|
|
2661
2704
|
fill: color,
|
|
2662
2705
|
svgProps: iconStyle
|
|
2663
2706
|
});
|
|
@@ -2665,7 +2708,7 @@ var CompositionContextButton = ({ visible, values }) => {
|
|
|
2665
2708
|
if (!visible || connectionStatus !== "connected") {
|
|
2666
2709
|
return null;
|
|
2667
2710
|
}
|
|
2668
|
-
return /* @__PURE__ */
|
|
2711
|
+
return /* @__PURE__ */ jsx27(InlineDropdown, {
|
|
2669
2712
|
renderAction,
|
|
2670
2713
|
values
|
|
2671
2714
|
});
|
|
@@ -2673,14 +2716,14 @@ var CompositionContextButton = ({ visible, values }) => {
|
|
|
2673
2716
|
|
|
2674
2717
|
// src/components/ContextMenu.tsx
|
|
2675
2718
|
import { PlayerInternals as PlayerInternals4 } from "@remotion/player";
|
|
2676
|
-
import { useCallback as useCallback13, useEffect as useEffect11, useMemo as
|
|
2719
|
+
import { useCallback as useCallback13, useEffect as useEffect11, useMemo as useMemo19, useRef as useRef10, useState as useState13 } from "react";
|
|
2677
2720
|
import ReactDOM3 from "react-dom";
|
|
2678
|
-
import { jsx as
|
|
2721
|
+
import { jsx as jsx28, jsxs as jsxs6, Fragment as Fragment3 } from "react/jsx-runtime";
|
|
2679
2722
|
var ContextMenu = ({ children, values }) => {
|
|
2680
2723
|
const ref = useRef10(null);
|
|
2681
2724
|
const [opened, setOpened] = useState13({ type: "not-open" });
|
|
2682
2725
|
const { currentZIndex } = useZIndex();
|
|
2683
|
-
const style =
|
|
2726
|
+
const style = useMemo19(() => {
|
|
2684
2727
|
return {};
|
|
2685
2728
|
}, []);
|
|
2686
2729
|
const size = PlayerInternals4.useElementSize(ref, {
|
|
@@ -2704,19 +2747,19 @@ var ContextMenu = ({ children, values }) => {
|
|
|
2704
2747
|
current.removeEventListener("contextmenu", onClick);
|
|
2705
2748
|
};
|
|
2706
2749
|
}, [size]);
|
|
2707
|
-
const spaceToBottom =
|
|
2750
|
+
const spaceToBottom = useMemo19(() => {
|
|
2708
2751
|
if (size && opened.type === "open") {
|
|
2709
2752
|
return size.windowSize.height - opened.top;
|
|
2710
2753
|
}
|
|
2711
2754
|
return 0;
|
|
2712
2755
|
}, [opened, size]);
|
|
2713
|
-
const spaceToTop =
|
|
2756
|
+
const spaceToTop = useMemo19(() => {
|
|
2714
2757
|
if (size && opened.type === "open") {
|
|
2715
2758
|
return opened.top;
|
|
2716
2759
|
}
|
|
2717
2760
|
return 0;
|
|
2718
2761
|
}, [opened, size]);
|
|
2719
|
-
const portalStyle =
|
|
2762
|
+
const portalStyle = useMemo19(() => {
|
|
2720
2763
|
if (opened.type === "not-open") {
|
|
2721
2764
|
return;
|
|
2722
2765
|
}
|
|
@@ -2747,25 +2790,25 @@ var ContextMenu = ({ children, values }) => {
|
|
|
2747
2790
|
const onHide = useCallback13(() => {
|
|
2748
2791
|
setOpened({ type: "not-open" });
|
|
2749
2792
|
}, []);
|
|
2750
|
-
return /* @__PURE__ */
|
|
2793
|
+
return /* @__PURE__ */ jsxs6(Fragment3, {
|
|
2751
2794
|
children: [
|
|
2752
|
-
/* @__PURE__ */
|
|
2795
|
+
/* @__PURE__ */ jsx28("div", {
|
|
2753
2796
|
ref,
|
|
2754
2797
|
onContextMenu: () => false,
|
|
2755
2798
|
style,
|
|
2756
2799
|
children
|
|
2757
2800
|
}),
|
|
2758
|
-
portalStyle ? ReactDOM3.createPortal(/* @__PURE__ */
|
|
2801
|
+
portalStyle ? ReactDOM3.createPortal(/* @__PURE__ */ jsx28("div", {
|
|
2759
2802
|
style: fullScreenOverlay,
|
|
2760
|
-
children: /* @__PURE__ */
|
|
2803
|
+
children: /* @__PURE__ */ jsx28("div", {
|
|
2761
2804
|
style: outerPortal,
|
|
2762
2805
|
className: "css-reset",
|
|
2763
|
-
children: /* @__PURE__ */
|
|
2806
|
+
children: /* @__PURE__ */ jsx28(HigherZIndex, {
|
|
2764
2807
|
onOutsideClick: onHide,
|
|
2765
2808
|
onEscape: onHide,
|
|
2766
|
-
children: /* @__PURE__ */
|
|
2809
|
+
children: /* @__PURE__ */ jsx28("div", {
|
|
2767
2810
|
style: portalStyle,
|
|
2768
|
-
children: /* @__PURE__ */
|
|
2811
|
+
children: /* @__PURE__ */ jsx28(MenuContent, {
|
|
2769
2812
|
onNextMenu: noop,
|
|
2770
2813
|
onPreviousMenu: noop,
|
|
2771
2814
|
values,
|
|
@@ -2784,17 +2827,17 @@ var ContextMenu = ({ children, values }) => {
|
|
|
2784
2827
|
};
|
|
2785
2828
|
|
|
2786
2829
|
// src/components/SidebarRenderButton.tsx
|
|
2787
|
-
import { useCallback as useCallback14, useContext as useContext7, useMemo as
|
|
2830
|
+
import { useCallback as useCallback14, useContext as useContext7, useMemo as useMemo20 } from "react";
|
|
2788
2831
|
import { Internals as Internals5 } from "remotion";
|
|
2789
2832
|
|
|
2790
2833
|
// src/icons/render.tsx
|
|
2791
|
-
import { jsx as
|
|
2834
|
+
import { jsx as jsx29 } from "react/jsx-runtime";
|
|
2792
2835
|
var ThinRenderIcon = (props) => {
|
|
2793
|
-
return /* @__PURE__ */
|
|
2836
|
+
return /* @__PURE__ */ jsx29("svg", {
|
|
2794
2837
|
...props.svgProps,
|
|
2795
2838
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2796
2839
|
viewBox: "0 0 512 512",
|
|
2797
|
-
children: /* @__PURE__ */
|
|
2840
|
+
children: /* @__PURE__ */ jsx29("path", {
|
|
2798
2841
|
fill: props.fill,
|
|
2799
2842
|
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"
|
|
2800
2843
|
})
|
|
@@ -2802,12 +2845,12 @@ var ThinRenderIcon = (props) => {
|
|
|
2802
2845
|
};
|
|
2803
2846
|
|
|
2804
2847
|
// src/components/SidebarRenderButton.tsx
|
|
2805
|
-
import { jsx as
|
|
2848
|
+
import { jsx as jsx30 } from "react/jsx-runtime";
|
|
2806
2849
|
var SidebarRenderButton = ({ composition, visible }) => {
|
|
2807
2850
|
const { setSelectedModal } = useContext7(ModalsContext);
|
|
2808
2851
|
const { setSidebarCollapsedState } = useContext7(SidebarContext);
|
|
2809
2852
|
const isMobileLayout = useMobileLayout();
|
|
2810
|
-
const iconStyle =
|
|
2853
|
+
const iconStyle = useMemo20(() => {
|
|
2811
2854
|
return {
|
|
2812
2855
|
style: {
|
|
2813
2856
|
height: 12
|
|
@@ -2885,7 +2928,7 @@ var SidebarRenderButton = ({ composition, visible }) => {
|
|
|
2885
2928
|
setSidebarCollapsedState
|
|
2886
2929
|
]);
|
|
2887
2930
|
const renderAction = useCallback14((color) => {
|
|
2888
|
-
return /* @__PURE__ */
|
|
2931
|
+
return /* @__PURE__ */ jsx30(ThinRenderIcon, {
|
|
2889
2932
|
fill: color,
|
|
2890
2933
|
svgProps: iconStyle
|
|
2891
2934
|
});
|
|
@@ -2893,14 +2936,14 @@ var SidebarRenderButton = ({ composition, visible }) => {
|
|
|
2893
2936
|
if (!visible || connectionStatus !== "connected") {
|
|
2894
2937
|
return null;
|
|
2895
2938
|
}
|
|
2896
|
-
return /* @__PURE__ */
|
|
2939
|
+
return /* @__PURE__ */ jsx30(InlineAction, {
|
|
2897
2940
|
renderAction,
|
|
2898
2941
|
onClick
|
|
2899
2942
|
});
|
|
2900
2943
|
};
|
|
2901
2944
|
|
|
2902
2945
|
// src/components/CompositionSelectorItem.tsx
|
|
2903
|
-
import { jsx as
|
|
2946
|
+
import { jsx as jsx31, jsxs as jsxs7, Fragment as Fragment4 } from "react/jsx-runtime";
|
|
2904
2947
|
var COMPOSITION_ITEM_HEIGHT = 32;
|
|
2905
2948
|
var itemStyle = {
|
|
2906
2949
|
paddingRight: 10,
|
|
@@ -2917,7 +2960,8 @@ var itemStyle = {
|
|
|
2917
2960
|
width: "100%",
|
|
2918
2961
|
textAlign: "left",
|
|
2919
2962
|
backgroundColor: BACKGROUND,
|
|
2920
|
-
height: COMPOSITION_ITEM_HEIGHT
|
|
2963
|
+
height: COMPOSITION_ITEM_HEIGHT,
|
|
2964
|
+
userSelect: "none"
|
|
2921
2965
|
};
|
|
2922
2966
|
var labelStyle2 = {
|
|
2923
2967
|
textAlign: "left",
|
|
@@ -2941,7 +2985,7 @@ var CompositionSelectorItem = ({
|
|
|
2941
2985
|
selectComposition,
|
|
2942
2986
|
toggleFolder
|
|
2943
2987
|
}) => {
|
|
2944
|
-
const selected =
|
|
2988
|
+
const selected = useMemo21(() => {
|
|
2945
2989
|
if (item.type === "composition") {
|
|
2946
2990
|
return currentComposition === item.composition.id;
|
|
2947
2991
|
}
|
|
@@ -2954,14 +2998,14 @@ var CompositionSelectorItem = ({
|
|
|
2954
2998
|
const onPointerLeave = useCallback15(() => {
|
|
2955
2999
|
setHovered(false);
|
|
2956
3000
|
}, []);
|
|
2957
|
-
const style =
|
|
3001
|
+
const style = useMemo21(() => {
|
|
2958
3002
|
return {
|
|
2959
3003
|
...itemStyle,
|
|
2960
3004
|
backgroundColor: getBackgroundFromHoverState({ hovered, selected }),
|
|
2961
3005
|
paddingLeft: 12 + level * 8
|
|
2962
3006
|
};
|
|
2963
3007
|
}, [hovered, level, selected]);
|
|
2964
|
-
const label =
|
|
3008
|
+
const label = useMemo21(() => {
|
|
2965
3009
|
return {
|
|
2966
3010
|
...labelStyle2,
|
|
2967
3011
|
color: selected || hovered ? "white" : LIGHT_TEXT
|
|
@@ -2981,7 +3025,7 @@ var CompositionSelectorItem = ({
|
|
|
2981
3025
|
}
|
|
2982
3026
|
}, [onClick]);
|
|
2983
3027
|
const { setSelectedModal } = useContext8(ModalsContext);
|
|
2984
|
-
const contextMenu =
|
|
3028
|
+
const contextMenu = useMemo21(() => {
|
|
2985
3029
|
if (item.type === "composition") {
|
|
2986
3030
|
return [
|
|
2987
3031
|
{
|
|
@@ -3059,9 +3103,9 @@ var CompositionSelectorItem = ({
|
|
|
3059
3103
|
return [];
|
|
3060
3104
|
}, [item, setSelectedModal]);
|
|
3061
3105
|
if (item.type === "folder") {
|
|
3062
|
-
return /* @__PURE__ */
|
|
3106
|
+
return /* @__PURE__ */ jsxs7(Fragment4, {
|
|
3063
3107
|
children: [
|
|
3064
|
-
/* @__PURE__ */
|
|
3108
|
+
/* @__PURE__ */ jsxs7("button", {
|
|
3065
3109
|
style,
|
|
3066
3110
|
onPointerEnter,
|
|
3067
3111
|
onPointerLeave,
|
|
@@ -3070,24 +3114,24 @@ var CompositionSelectorItem = ({
|
|
|
3070
3114
|
type: "button",
|
|
3071
3115
|
title: item.folderName,
|
|
3072
3116
|
children: [
|
|
3073
|
-
item.expanded ? /* @__PURE__ */
|
|
3117
|
+
item.expanded ? /* @__PURE__ */ jsx31(ExpandedFolderIcon, {
|
|
3074
3118
|
style: iconStyle,
|
|
3075
3119
|
color: hovered || selected ? "white" : LIGHT_TEXT
|
|
3076
|
-
}) : /* @__PURE__ */
|
|
3120
|
+
}) : /* @__PURE__ */ jsx31(CollapsedFolderIcon, {
|
|
3077
3121
|
color: hovered || selected ? "white" : LIGHT_TEXT,
|
|
3078
3122
|
style: iconStyle
|
|
3079
3123
|
}),
|
|
3080
|
-
/* @__PURE__ */
|
|
3124
|
+
/* @__PURE__ */ jsx31(Spacing, {
|
|
3081
3125
|
x: 1
|
|
3082
3126
|
}),
|
|
3083
|
-
/* @__PURE__ */
|
|
3127
|
+
/* @__PURE__ */ jsx31("div", {
|
|
3084
3128
|
style: label,
|
|
3085
3129
|
children: item.folderName
|
|
3086
3130
|
})
|
|
3087
3131
|
]
|
|
3088
3132
|
}),
|
|
3089
3133
|
item.expanded ? item.items.map((childItem) => {
|
|
3090
|
-
return /* @__PURE__ */
|
|
3134
|
+
return /* @__PURE__ */ jsx31(CompositionSelectorItem, {
|
|
3091
3135
|
currentComposition,
|
|
3092
3136
|
selectComposition,
|
|
3093
3137
|
item: childItem,
|
|
@@ -3099,11 +3143,11 @@ var CompositionSelectorItem = ({
|
|
|
3099
3143
|
]
|
|
3100
3144
|
});
|
|
3101
3145
|
}
|
|
3102
|
-
return /* @__PURE__ */
|
|
3146
|
+
return /* @__PURE__ */ jsx31(ContextMenu, {
|
|
3103
3147
|
values: contextMenu,
|
|
3104
|
-
children: /* @__PURE__ */
|
|
3148
|
+
children: /* @__PURE__ */ jsx31(Row, {
|
|
3105
3149
|
align: "center",
|
|
3106
|
-
children: /* @__PURE__ */
|
|
3150
|
+
children: /* @__PURE__ */ jsxs7("a", {
|
|
3107
3151
|
style,
|
|
3108
3152
|
onPointerEnter,
|
|
3109
3153
|
onPointerLeave,
|
|
@@ -3115,28 +3159,28 @@ var CompositionSelectorItem = ({
|
|
|
3115
3159
|
className: "__remotion-composition",
|
|
3116
3160
|
"data-compname": item.composition.id,
|
|
3117
3161
|
children: [
|
|
3118
|
-
isCompositionStill(item.composition) ? /* @__PURE__ */
|
|
3162
|
+
isCompositionStill(item.composition) ? /* @__PURE__ */ jsx31(StillIcon, {
|
|
3119
3163
|
color: hovered || selected ? "white" : LIGHT_TEXT,
|
|
3120
3164
|
style: iconStyle
|
|
3121
|
-
}) : /* @__PURE__ */
|
|
3165
|
+
}) : /* @__PURE__ */ jsx31(FilmIcon, {
|
|
3122
3166
|
color: hovered || selected ? "white" : LIGHT_TEXT,
|
|
3123
3167
|
style: iconStyle
|
|
3124
3168
|
}),
|
|
3125
|
-
/* @__PURE__ */
|
|
3169
|
+
/* @__PURE__ */ jsx31(Spacing, {
|
|
3126
3170
|
x: 1
|
|
3127
3171
|
}),
|
|
3128
|
-
/* @__PURE__ */
|
|
3172
|
+
/* @__PURE__ */ jsx31("div", {
|
|
3129
3173
|
style: label,
|
|
3130
3174
|
children: item.composition.id
|
|
3131
3175
|
}),
|
|
3132
|
-
/* @__PURE__ */
|
|
3176
|
+
/* @__PURE__ */ jsx31(Spacing, {
|
|
3133
3177
|
x: 0.5
|
|
3134
3178
|
}),
|
|
3135
|
-
/* @__PURE__ */
|
|
3179
|
+
/* @__PURE__ */ jsx31(CompositionContextButton, {
|
|
3136
3180
|
values: contextMenu,
|
|
3137
3181
|
visible: hovered
|
|
3138
3182
|
}),
|
|
3139
|
-
/* @__PURE__ */
|
|
3183
|
+
/* @__PURE__ */ jsx31(SidebarRenderButton, {
|
|
3140
3184
|
visible: hovered,
|
|
3141
3185
|
composition: item.composition
|
|
3142
3186
|
})
|
|
@@ -3168,13 +3212,12 @@ var renderFrame = (frame, fps) => {
|
|
|
3168
3212
|
};
|
|
3169
3213
|
|
|
3170
3214
|
// src/components/CurrentComposition.tsx
|
|
3171
|
-
import { jsx as
|
|
3172
|
-
var CURRENT_COMPOSITION_HEIGHT =
|
|
3173
|
-
var
|
|
3215
|
+
import { jsx as jsx32, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
3216
|
+
var CURRENT_COMPOSITION_HEIGHT = 64;
|
|
3217
|
+
var container7 = {
|
|
3174
3218
|
height: CURRENT_COMPOSITION_HEIGHT,
|
|
3175
3219
|
display: "block",
|
|
3176
|
-
|
|
3177
|
-
padding: 12,
|
|
3220
|
+
padding: "6px 12px",
|
|
3178
3221
|
color: "white",
|
|
3179
3222
|
backgroundColor: BACKGROUND
|
|
3180
3223
|
};
|
|
@@ -3200,17 +3243,17 @@ var row = {
|
|
|
3200
3243
|
};
|
|
3201
3244
|
var CurrentComposition = () => {
|
|
3202
3245
|
const video = Internals6.useVideo();
|
|
3203
|
-
return /* @__PURE__ */
|
|
3204
|
-
style:
|
|
3205
|
-
children: video ? /* @__PURE__ */
|
|
3246
|
+
return /* @__PURE__ */ jsx32("div", {
|
|
3247
|
+
style: container7,
|
|
3248
|
+
children: video ? /* @__PURE__ */ jsx32("div", {
|
|
3206
3249
|
style: row,
|
|
3207
|
-
children: /* @__PURE__ */
|
|
3250
|
+
children: /* @__PURE__ */ jsxs8("div", {
|
|
3208
3251
|
children: [
|
|
3209
|
-
/* @__PURE__ */
|
|
3252
|
+
/* @__PURE__ */ jsx32("div", {
|
|
3210
3253
|
style: title,
|
|
3211
3254
|
children: video.id
|
|
3212
3255
|
}),
|
|
3213
|
-
/* @__PURE__ */
|
|
3256
|
+
/* @__PURE__ */ jsxs8("div", {
|
|
3214
3257
|
style: subtitle,
|
|
3215
3258
|
children: [
|
|
3216
3259
|
video.width,
|
|
@@ -3219,10 +3262,10 @@ var CurrentComposition = () => {
|
|
|
3219
3262
|
isCompositionStill(video) ? null : `, ${video.fps} FPS`
|
|
3220
3263
|
]
|
|
3221
3264
|
}),
|
|
3222
|
-
isCompositionStill(video) ? /* @__PURE__ */
|
|
3265
|
+
isCompositionStill(video) ? /* @__PURE__ */ jsx32("div", {
|
|
3223
3266
|
style: subtitle,
|
|
3224
3267
|
children: "Still"
|
|
3225
|
-
}) : /* @__PURE__ */
|
|
3268
|
+
}) : /* @__PURE__ */ jsxs8("div", {
|
|
3226
3269
|
style: subtitle,
|
|
3227
3270
|
children: [
|
|
3228
3271
|
"Duration ",
|
|
@@ -3236,7 +3279,7 @@ var CurrentComposition = () => {
|
|
|
3236
3279
|
};
|
|
3237
3280
|
|
|
3238
3281
|
// src/components/CompositionSelector.tsx
|
|
3239
|
-
import { jsx as
|
|
3282
|
+
import { jsx as jsx33, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
3240
3283
|
var useCompositionNavigation = () => {
|
|
3241
3284
|
const { compositions, canvasContent } = useContext9(Internals7.CompositionManager);
|
|
3242
3285
|
const selectComposition = useSelectComposition();
|
|
@@ -3264,18 +3307,41 @@ var useCompositionNavigation = () => {
|
|
|
3264
3307
|
const previousComposition = compositions[previousIndex];
|
|
3265
3308
|
selectComposition(previousComposition, true);
|
|
3266
3309
|
}, [canvasContent, compositions, selectComposition]);
|
|
3267
|
-
return
|
|
3310
|
+
return useMemo22(() => ({
|
|
3268
3311
|
navigateToNextComposition,
|
|
3269
3312
|
navigateToPreviousComposition
|
|
3270
3313
|
}), [navigateToNextComposition, navigateToPreviousComposition]);
|
|
3271
3314
|
};
|
|
3272
|
-
var
|
|
3315
|
+
var container8 = {
|
|
3273
3316
|
display: "flex",
|
|
3274
3317
|
flexDirection: "column",
|
|
3275
3318
|
flex: 1,
|
|
3276
3319
|
overflow: "hidden",
|
|
3277
3320
|
backgroundColor: BACKGROUND
|
|
3278
3321
|
};
|
|
3322
|
+
var QUICK_SWITCHER_TRIGGER_HEIGHT = 38;
|
|
3323
|
+
var quickSwitcherArea = {
|
|
3324
|
+
padding: "4px 12px",
|
|
3325
|
+
borderBottom: `1px solid ${BORDER_COLOR}`
|
|
3326
|
+
};
|
|
3327
|
+
var quickSwitcherTrigger = {
|
|
3328
|
+
backgroundColor: "rgba(255, 255, 255, 0.06)",
|
|
3329
|
+
borderRadius: 5,
|
|
3330
|
+
padding: "4px 10px",
|
|
3331
|
+
color: LIGHT_TEXT,
|
|
3332
|
+
fontSize: 12,
|
|
3333
|
+
cursor: "pointer",
|
|
3334
|
+
display: "flex",
|
|
3335
|
+
alignItems: "center",
|
|
3336
|
+
justifyContent: "space-between",
|
|
3337
|
+
border: "none",
|
|
3338
|
+
width: "100%",
|
|
3339
|
+
appearance: "none"
|
|
3340
|
+
};
|
|
3341
|
+
var shortcutLabel = {
|
|
3342
|
+
fontSize: 11,
|
|
3343
|
+
opacity: 0.6
|
|
3344
|
+
};
|
|
3279
3345
|
var getKeysToExpand = (initialFolderName, parentFolderName, initial = []) => {
|
|
3280
3346
|
initial.push(openFolderKey({
|
|
3281
3347
|
folderName: initialFolderName,
|
|
@@ -3290,35 +3356,62 @@ var getKeysToExpand = (initialFolderName, parentFolderName, initial = []) => {
|
|
|
3290
3356
|
var CompositionSelector = () => {
|
|
3291
3357
|
const { compositions, canvasContent, folders } = useContext9(Internals7.CompositionManager);
|
|
3292
3358
|
const { foldersExpanded } = useContext9(ExpandedFoldersContext);
|
|
3359
|
+
const { setSelectedModal } = useContext9(ModalsContext);
|
|
3293
3360
|
const { tabIndex } = useZIndex();
|
|
3294
3361
|
const selectComposition = useSelectComposition();
|
|
3295
|
-
const sortedCompositions =
|
|
3362
|
+
const sortedCompositions = useMemo22(() => {
|
|
3296
3363
|
return sortItemsByNonceHistory(compositions);
|
|
3297
3364
|
}, [compositions]);
|
|
3298
|
-
const sortedFolders =
|
|
3365
|
+
const sortedFolders = useMemo22(() => {
|
|
3299
3366
|
return sortItemsByNonceHistory(folders);
|
|
3300
3367
|
}, [folders]);
|
|
3301
|
-
const items =
|
|
3368
|
+
const items = useMemo22(() => {
|
|
3302
3369
|
return createFolderTree(sortedCompositions, sortedFolders, foldersExpanded);
|
|
3303
3370
|
}, [sortedCompositions, sortedFolders, foldersExpanded]);
|
|
3304
|
-
const list =
|
|
3371
|
+
const list = useMemo22(() => {
|
|
3305
3372
|
return {
|
|
3306
|
-
height: `calc(100% - ${CURRENT_COMPOSITION_HEIGHT}px)`,
|
|
3373
|
+
height: `calc(100% - ${CURRENT_COMPOSITION_HEIGHT}px - ${QUICK_SWITCHER_TRIGGER_HEIGHT}px)`,
|
|
3307
3374
|
overflowY: "auto"
|
|
3308
3375
|
};
|
|
3309
3376
|
}, []);
|
|
3310
3377
|
const toggleFolder = useCallback16((folderName, parentName) => {
|
|
3311
3378
|
Internals7.compositionSelectorRef.current?.toggleFolder(folderName, parentName);
|
|
3312
3379
|
}, []);
|
|
3313
|
-
|
|
3314
|
-
|
|
3380
|
+
const openQuickSwitcher = useCallback16(() => {
|
|
3381
|
+
setSelectedModal({
|
|
3382
|
+
type: "quick-switcher",
|
|
3383
|
+
mode: "compositions",
|
|
3384
|
+
invocationTimestamp: Date.now()
|
|
3385
|
+
});
|
|
3386
|
+
}, [setSelectedModal]);
|
|
3387
|
+
return /* @__PURE__ */ jsxs9("div", {
|
|
3388
|
+
style: container8,
|
|
3315
3389
|
children: [
|
|
3316
|
-
/* @__PURE__ */
|
|
3317
|
-
/* @__PURE__ */
|
|
3390
|
+
/* @__PURE__ */ jsx33(CurrentComposition, {}),
|
|
3391
|
+
/* @__PURE__ */ jsx33("div", {
|
|
3392
|
+
style: quickSwitcherArea,
|
|
3393
|
+
children: /* @__PURE__ */ jsxs9("button", {
|
|
3394
|
+
type: "button",
|
|
3395
|
+
style: quickSwitcherTrigger,
|
|
3396
|
+
onClick: openQuickSwitcher,
|
|
3397
|
+
tabIndex,
|
|
3398
|
+
children: [
|
|
3399
|
+
"Search...",
|
|
3400
|
+
areKeyboardShortcutsDisabled() ? null : /* @__PURE__ */ jsxs9("span", {
|
|
3401
|
+
style: shortcutLabel,
|
|
3402
|
+
children: [
|
|
3403
|
+
cmdOrCtrlCharacter,
|
|
3404
|
+
"+K"
|
|
3405
|
+
]
|
|
3406
|
+
})
|
|
3407
|
+
]
|
|
3408
|
+
})
|
|
3409
|
+
}),
|
|
3410
|
+
/* @__PURE__ */ jsx33("div", {
|
|
3318
3411
|
className: "__remotion-vertical-scrollbar",
|
|
3319
3412
|
style: list,
|
|
3320
3413
|
children: items.map((c) => {
|
|
3321
|
-
return /* @__PURE__ */
|
|
3414
|
+
return /* @__PURE__ */ jsx33(CompositionSelectorItem, {
|
|
3322
3415
|
level: 0,
|
|
3323
3416
|
currentComposition: canvasContent && canvasContent.type === "composition" ? canvasContent.compositionId : null,
|
|
3324
3417
|
selectComposition,
|
|
@@ -3336,7 +3429,7 @@ var CompositionSelector = () => {
|
|
|
3336
3429
|
import { createRef as createRef5, useCallback as useCallback22, useImperativeHandle as useImperativeHandle5, useState as useState21 } from "react";
|
|
3337
3430
|
|
|
3338
3431
|
// src/components/AssetSelector.tsx
|
|
3339
|
-
import { useCallback as useCallback19, useContext as useContext13, useMemo as
|
|
3432
|
+
import { useCallback as useCallback19, useContext as useContext13, useMemo as useMemo26, useState as useState18 } from "react";
|
|
3340
3433
|
import { Internals as Internals10 } from "remotion";
|
|
3341
3434
|
|
|
3342
3435
|
// src/api/write-static-file.ts
|
|
@@ -3365,7 +3458,7 @@ var writeStaticFile = async ({
|
|
|
3365
3458
|
};
|
|
3366
3459
|
|
|
3367
3460
|
// src/helpers/use-asset-drag-events.ts
|
|
3368
|
-
import { useCallback as useCallback17, useEffect as useEffect12, useMemo as
|
|
3461
|
+
import { useCallback as useCallback17, useEffect as useEffect12, useMemo as useMemo23, useRef as useRef11 } from "react";
|
|
3369
3462
|
import { NoReactInternals } from "remotion/no-react";
|
|
3370
3463
|
function useAssetDragEvents({
|
|
3371
3464
|
name,
|
|
@@ -3374,10 +3467,10 @@ function useAssetDragEvents({
|
|
|
3374
3467
|
setDropLocation
|
|
3375
3468
|
}) {
|
|
3376
3469
|
const dragDepthRef = useRef11(0);
|
|
3377
|
-
const combinedParents =
|
|
3470
|
+
const combinedParents = useMemo23(() => {
|
|
3378
3471
|
return [parentFolder, name].filter(NoReactInternals.truthy).join("/");
|
|
3379
3472
|
}, [name, parentFolder]);
|
|
3380
|
-
const isDropDiv =
|
|
3473
|
+
const isDropDiv = useMemo23(() => {
|
|
3381
3474
|
return dropLocation === combinedParents;
|
|
3382
3475
|
}, [combinedParents, dropLocation]);
|
|
3383
3476
|
const onDragEnter = useCallback17(() => {
|
|
@@ -3406,7 +3499,7 @@ function useAssetDragEvents({
|
|
|
3406
3499
|
var use_asset_drag_events_default = useAssetDragEvents;
|
|
3407
3500
|
|
|
3408
3501
|
// src/components/AssetSelectorItem.tsx
|
|
3409
|
-
import
|
|
3502
|
+
import React25, { useCallback as useCallback18, useContext as useContext10, useMemo as useMemo24, useRef as useRef12, useState as useState15 } from "react";
|
|
3410
3503
|
import { Internals as Internals8 } from "remotion";
|
|
3411
3504
|
import { NoReactInternals as NoReactInternals3 } from "remotion/no-react";
|
|
3412
3505
|
|
|
@@ -3428,26 +3521,26 @@ var copyText = (cmd) => {
|
|
|
3428
3521
|
};
|
|
3429
3522
|
|
|
3430
3523
|
// src/icons/clipboard.tsx
|
|
3431
|
-
import { jsx as
|
|
3432
|
-
var ClipboardIcon = ({ color, ...props }) => /* @__PURE__ */
|
|
3524
|
+
import { jsx as jsx34 } from "react/jsx-runtime";
|
|
3525
|
+
var ClipboardIcon = ({ color, ...props }) => /* @__PURE__ */ jsx34("svg", {
|
|
3433
3526
|
viewBox: "0 0 384 512",
|
|
3434
3527
|
...props,
|
|
3435
|
-
children: /* @__PURE__ */
|
|
3528
|
+
children: /* @__PURE__ */ jsx34("path", {
|
|
3436
3529
|
fill: color,
|
|
3437
3530
|
d: "M336 64h-80c0-35.3-28.7-64-64-64s-64 28.7-64 64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM192 40c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm144 418c0 3.3-2.7 6-6 6H54c-3.3 0-6-2.7-6-6V118c0-3.3 2.7-6 6-6h42v36c0 6.6 5.4 12 12 12h168c6.6 0 12-5.4 12-12v-36h42c3.3 0 6 2.7 6 6z"
|
|
3438
3531
|
})
|
|
3439
3532
|
});
|
|
3440
3533
|
|
|
3441
3534
|
// src/icons/file.tsx
|
|
3442
|
-
import { jsx as
|
|
3535
|
+
import { jsx as jsx35 } from "react/jsx-runtime";
|
|
3443
3536
|
var FileIcon = ({
|
|
3444
3537
|
color,
|
|
3445
3538
|
...props
|
|
3446
|
-
}) => /* @__PURE__ */
|
|
3539
|
+
}) => /* @__PURE__ */ jsx35("svg", {
|
|
3447
3540
|
xmlns: "http://www.w3.org/2000/svg",
|
|
3448
3541
|
viewBox: "0 0 384 512",
|
|
3449
3542
|
...props,
|
|
3450
|
-
children: /* @__PURE__ */
|
|
3543
|
+
children: /* @__PURE__ */ jsx35("path", {
|
|
3451
3544
|
fill: color ?? "currentColor",
|
|
3452
3545
|
d: "M0 64C0 28.65 28.65 0 64 0h156.1c12.7 0 25 5.057 34 14.06L369.9 129.9c9 9 14.1 21.3 14.1 34V448c0 35.3-28.7 64-64 64H64c-35.35 0-64-28.7-64-64V64zm352 128H240c-26.5 0-48-21.5-48-48V32H64c-17.67 0-32 14.33-32 32v384c0 17.7 14.33 32 32 32h256c17.7 0 32-14.3 32-32V192zm-4.7-39.4L231.4 36.69c-2-2.07-4.6-3.51-7.4-4.21V144c0 8.8 7.2 16 16 16h111.5c-.7-2.8-2.1-5.4-4.2-7.4z"
|
|
3453
3546
|
})
|
|
@@ -3751,7 +3844,7 @@ var applyVisualControlChange = ({
|
|
|
3751
3844
|
};
|
|
3752
3845
|
|
|
3753
3846
|
// src/components/AssetSelectorItem.tsx
|
|
3754
|
-
import { jsx as
|
|
3847
|
+
import { jsx as jsx36, jsxs as jsxs10, Fragment as Fragment5 } from "react/jsx-runtime";
|
|
3755
3848
|
var ASSET_ITEM_HEIGHT = 32;
|
|
3756
3849
|
var iconStyle2 = {
|
|
3757
3850
|
width: 18,
|
|
@@ -3814,14 +3907,14 @@ var AssetFolderItem = ({
|
|
|
3814
3907
|
const onPointerLeave = useCallback18(() => {
|
|
3815
3908
|
setHovered(false);
|
|
3816
3909
|
}, []);
|
|
3817
|
-
const folderStyle =
|
|
3910
|
+
const folderStyle = useMemo24(() => {
|
|
3818
3911
|
return {
|
|
3819
3912
|
...itemStyle2,
|
|
3820
3913
|
paddingLeft: 4 + level * 8,
|
|
3821
3914
|
backgroundColor: hovered ? CLEAR_HOVER : "transparent"
|
|
3822
3915
|
};
|
|
3823
3916
|
}, [hovered, level]);
|
|
3824
|
-
const label =
|
|
3917
|
+
const label = useMemo24(() => {
|
|
3825
3918
|
return {
|
|
3826
3919
|
...labelStyle3,
|
|
3827
3920
|
color: hovered ? "white" : LIGHT_TEXT
|
|
@@ -3831,14 +3924,14 @@ var AssetFolderItem = ({
|
|
|
3831
3924
|
toggleFolder(item.name, parentFolder);
|
|
3832
3925
|
}, [item.name, parentFolder, toggleFolder]);
|
|
3833
3926
|
const Icon = item.expanded ? ExpandedFolderIcon : CollapsedFolderIcon;
|
|
3834
|
-
return /* @__PURE__ */
|
|
3927
|
+
return /* @__PURE__ */ jsxs10("div", {
|
|
3835
3928
|
onDragEnter,
|
|
3836
3929
|
onDragLeave,
|
|
3837
3930
|
style: {
|
|
3838
3931
|
backgroundColor: isDropDiv ? CLEAR_HOVER : BACKGROUND
|
|
3839
3932
|
},
|
|
3840
3933
|
children: [
|
|
3841
|
-
/* @__PURE__ */
|
|
3934
|
+
/* @__PURE__ */ jsx36("div", {
|
|
3842
3935
|
style: folderStyle,
|
|
3843
3936
|
onPointerEnter,
|
|
3844
3937
|
onPointerLeave,
|
|
@@ -3857,23 +3950,23 @@ var AssetFolderItem = ({
|
|
|
3857
3950
|
clearTimeout(openFolderTimerRef.current);
|
|
3858
3951
|
}
|
|
3859
3952
|
},
|
|
3860
|
-
children: /* @__PURE__ */
|
|
3953
|
+
children: /* @__PURE__ */ jsxs10(Row, {
|
|
3861
3954
|
children: [
|
|
3862
|
-
/* @__PURE__ */
|
|
3955
|
+
/* @__PURE__ */ jsx36(Icon, {
|
|
3863
3956
|
style: iconStyle2,
|
|
3864
3957
|
color: hovered ? "white" : LIGHT_TEXT
|
|
3865
3958
|
}),
|
|
3866
|
-
/* @__PURE__ */
|
|
3959
|
+
/* @__PURE__ */ jsx36(Spacing, {
|
|
3867
3960
|
x: 1
|
|
3868
3961
|
}),
|
|
3869
|
-
/* @__PURE__ */
|
|
3962
|
+
/* @__PURE__ */ jsx36("div", {
|
|
3870
3963
|
style: label,
|
|
3871
3964
|
children: item.name
|
|
3872
3965
|
})
|
|
3873
3966
|
]
|
|
3874
3967
|
})
|
|
3875
3968
|
}),
|
|
3876
|
-
item.expanded ? /* @__PURE__ */
|
|
3969
|
+
item.expanded ? /* @__PURE__ */ jsx36(AssetFolderTree, {
|
|
3877
3970
|
item: item.items,
|
|
3878
3971
|
name: item.name,
|
|
3879
3972
|
level,
|
|
@@ -3898,13 +3991,13 @@ var AssetFolderTree = ({
|
|
|
3898
3991
|
setDropLocation,
|
|
3899
3992
|
readOnlyStudio
|
|
3900
3993
|
}) => {
|
|
3901
|
-
const combinedParents =
|
|
3994
|
+
const combinedParents = useMemo24(() => {
|
|
3902
3995
|
return [parentFolder, name].filter(NoReactInternals3.truthy).join("/");
|
|
3903
3996
|
}, [name, parentFolder]);
|
|
3904
|
-
return /* @__PURE__ */
|
|
3997
|
+
return /* @__PURE__ */ jsxs10("div", {
|
|
3905
3998
|
children: [
|
|
3906
3999
|
item.folders.map((folder) => {
|
|
3907
|
-
return /* @__PURE__ */
|
|
4000
|
+
return /* @__PURE__ */ jsx36(AssetFolderItem, {
|
|
3908
4001
|
item: folder,
|
|
3909
4002
|
tabIndex,
|
|
3910
4003
|
level: level + 1,
|
|
@@ -3916,7 +4009,7 @@ var AssetFolderTree = ({
|
|
|
3916
4009
|
}, folder.name);
|
|
3917
4010
|
}),
|
|
3918
4011
|
item.files.map((file) => {
|
|
3919
|
-
return /* @__PURE__ */
|
|
4012
|
+
return /* @__PURE__ */ jsx36(AssetSelectorItem, {
|
|
3920
4013
|
item: file,
|
|
3921
4014
|
tabIndex,
|
|
3922
4015
|
level,
|
|
@@ -3936,10 +4029,10 @@ var AssetSelectorItem = ({ item, tabIndex, level, parentFolder, readOnlyStudio }
|
|
|
3936
4029
|
}, []);
|
|
3937
4030
|
const { setCanvasContent } = useContext10(Internals8.CompositionSetters);
|
|
3938
4031
|
const { canvasContent } = useContext10(Internals8.CompositionManager);
|
|
3939
|
-
const relativePath =
|
|
4032
|
+
const relativePath = useMemo24(() => {
|
|
3940
4033
|
return parentFolder ? parentFolder + "/" + item.name : item.name;
|
|
3941
4034
|
}, [parentFolder, item.name]);
|
|
3942
|
-
const selected =
|
|
4035
|
+
const selected = useMemo24(() => {
|
|
3943
4036
|
if (canvasContent && canvasContent.type === "asset") {
|
|
3944
4037
|
return canvasContent.asset === relativePath;
|
|
3945
4038
|
}
|
|
@@ -3960,7 +4053,7 @@ var AssetSelectorItem = ({ item, tabIndex, level, parentFolder, readOnlyStudio }
|
|
|
3960
4053
|
setCanvasContent,
|
|
3961
4054
|
setSidebarCollapsedState
|
|
3962
4055
|
]);
|
|
3963
|
-
const style =
|
|
4056
|
+
const style = useMemo24(() => {
|
|
3964
4057
|
return {
|
|
3965
4058
|
...itemStyle2,
|
|
3966
4059
|
color: hovered || selected ? "white" : LIGHT_TEXT,
|
|
@@ -3968,25 +4061,25 @@ var AssetSelectorItem = ({ item, tabIndex, level, parentFolder, readOnlyStudio }
|
|
|
3968
4061
|
paddingLeft: 12 + level * 8
|
|
3969
4062
|
};
|
|
3970
4063
|
}, [hovered, level, selected]);
|
|
3971
|
-
const label =
|
|
4064
|
+
const label = useMemo24(() => {
|
|
3972
4065
|
return {
|
|
3973
4066
|
...labelStyle3,
|
|
3974
4067
|
color: hovered || selected ? "white" : LIGHT_TEXT
|
|
3975
4068
|
};
|
|
3976
4069
|
}, [hovered, selected]);
|
|
3977
4070
|
const renderFileExplorerAction = useCallback18((color) => {
|
|
3978
|
-
return /* @__PURE__ */
|
|
4071
|
+
return /* @__PURE__ */ jsx36(ExpandedFolderIcon, {
|
|
3979
4072
|
style: revealIconStyle,
|
|
3980
4073
|
color
|
|
3981
4074
|
});
|
|
3982
4075
|
}, []);
|
|
3983
4076
|
const renderCopyAction = useCallback18((color) => {
|
|
3984
|
-
return /* @__PURE__ */
|
|
4077
|
+
return /* @__PURE__ */ jsx36(ClipboardIcon, {
|
|
3985
4078
|
style: revealIconStyle,
|
|
3986
4079
|
color
|
|
3987
4080
|
});
|
|
3988
4081
|
}, []);
|
|
3989
|
-
const revealInExplorer =
|
|
4082
|
+
const revealInExplorer = React25.useCallback((e) => {
|
|
3990
4083
|
e.stopPropagation();
|
|
3991
4084
|
openInFileExplorer({
|
|
3992
4085
|
directory: window.remotion_publicFolderExists + "/" + parentFolder + "/" + item.name
|
|
@@ -4003,9 +4096,9 @@ var AssetSelectorItem = ({ item, tabIndex, level, parentFolder, readOnlyStudio }
|
|
|
4003
4096
|
showNotification(`Could not copy: ${err.message}`, 2000);
|
|
4004
4097
|
});
|
|
4005
4098
|
}, [item.name, parentFolder]);
|
|
4006
|
-
return /* @__PURE__ */
|
|
4099
|
+
return /* @__PURE__ */ jsx36(Row, {
|
|
4007
4100
|
align: "center",
|
|
4008
|
-
children: /* @__PURE__ */
|
|
4101
|
+
children: /* @__PURE__ */ jsxs10("div", {
|
|
4009
4102
|
style,
|
|
4010
4103
|
onPointerEnter,
|
|
4011
4104
|
onPointerLeave,
|
|
@@ -4013,33 +4106,33 @@ var AssetSelectorItem = ({ item, tabIndex, level, parentFolder, readOnlyStudio }
|
|
|
4013
4106
|
tabIndex,
|
|
4014
4107
|
title: item.name,
|
|
4015
4108
|
children: [
|
|
4016
|
-
/* @__PURE__ */
|
|
4109
|
+
/* @__PURE__ */ jsx36(FileIcon, {
|
|
4017
4110
|
style: iconStyle2,
|
|
4018
4111
|
color: LIGHT_TEXT
|
|
4019
4112
|
}),
|
|
4020
|
-
/* @__PURE__ */
|
|
4113
|
+
/* @__PURE__ */ jsx36(Spacing, {
|
|
4021
4114
|
x: 1
|
|
4022
4115
|
}),
|
|
4023
|
-
/* @__PURE__ */
|
|
4116
|
+
/* @__PURE__ */ jsx36("div", {
|
|
4024
4117
|
style: label,
|
|
4025
4118
|
children: item.name
|
|
4026
4119
|
}),
|
|
4027
|
-
hovered ? /* @__PURE__ */
|
|
4120
|
+
hovered ? /* @__PURE__ */ jsxs10(Fragment5, {
|
|
4028
4121
|
children: [
|
|
4029
|
-
/* @__PURE__ */
|
|
4122
|
+
/* @__PURE__ */ jsx36(Spacing, {
|
|
4030
4123
|
x: 0.5
|
|
4031
4124
|
}),
|
|
4032
|
-
/* @__PURE__ */
|
|
4125
|
+
/* @__PURE__ */ jsx36(InlineAction, {
|
|
4033
4126
|
title: "Copy staticFile() name",
|
|
4034
4127
|
renderAction: renderCopyAction,
|
|
4035
4128
|
onClick: copyToClipboard
|
|
4036
4129
|
}),
|
|
4037
|
-
readOnlyStudio ? null : /* @__PURE__ */
|
|
4130
|
+
readOnlyStudio ? null : /* @__PURE__ */ jsxs10(Fragment5, {
|
|
4038
4131
|
children: [
|
|
4039
|
-
/* @__PURE__ */
|
|
4132
|
+
/* @__PURE__ */ jsx36(Spacing, {
|
|
4040
4133
|
x: 0.5
|
|
4041
4134
|
}),
|
|
4042
|
-
/* @__PURE__ */
|
|
4135
|
+
/* @__PURE__ */ jsx36(InlineAction, {
|
|
4043
4136
|
title: "Open in Explorer",
|
|
4044
4137
|
renderAction: renderFileExplorerAction,
|
|
4045
4138
|
onClick: revealInExplorer
|
|
@@ -4056,11 +4149,11 @@ var AssetSelectorItem = ({ item, tabIndex, level, parentFolder, readOnlyStudio }
|
|
|
4056
4149
|
// src/components/CurrentAsset.tsx
|
|
4057
4150
|
import { formatBytes } from "@remotion/studio-shared";
|
|
4058
4151
|
import { ALL_FORMATS, Input, UrlSource } from "mediabunny";
|
|
4059
|
-
import { useContext as useContext12, useEffect as useEffect14, useMemo as
|
|
4152
|
+
import { useContext as useContext12, useEffect as useEffect14, useMemo as useMemo25, useState as useState17 } from "react";
|
|
4060
4153
|
import { Internals as Internals9, staticFile } from "remotion";
|
|
4061
4154
|
|
|
4062
4155
|
// src/components/use-static-files.ts
|
|
4063
|
-
import
|
|
4156
|
+
import React26, { createContext as createContext10, useContext as useContext11, useEffect as useEffect13, useState as useState16 } from "react";
|
|
4064
4157
|
import { useRemotionEnvironment } from "remotion";
|
|
4065
4158
|
|
|
4066
4159
|
// src/api/get-static-files.ts
|
|
@@ -4132,16 +4225,16 @@ var StaticFilesProvider = ({ children }) => {
|
|
|
4132
4225
|
});
|
|
4133
4226
|
return cancel;
|
|
4134
4227
|
}, [env.isStudio, env.isReadOnlyStudio]);
|
|
4135
|
-
return
|
|
4228
|
+
return React26.createElement(StaticFilesContext.Provider, { value: files }, children);
|
|
4136
4229
|
};
|
|
4137
4230
|
var useStaticFiles = () => {
|
|
4138
4231
|
return useContext11(StaticFilesContext);
|
|
4139
4232
|
};
|
|
4140
4233
|
|
|
4141
4234
|
// src/components/CurrentAsset.tsx
|
|
4142
|
-
import { jsx as
|
|
4235
|
+
import { jsx as jsx37, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
4143
4236
|
var CURRENT_ASSET_HEIGHT = 80;
|
|
4144
|
-
var
|
|
4237
|
+
var container9 = {
|
|
4145
4238
|
height: CURRENT_ASSET_HEIGHT,
|
|
4146
4239
|
display: "block",
|
|
4147
4240
|
borderBottom: `1px solid ${BORDER_COLOR}`,
|
|
@@ -4183,7 +4276,7 @@ var CurrentAsset = () => {
|
|
|
4183
4276
|
const { canvasContent } = useContext12(Internals9.CompositionManager);
|
|
4184
4277
|
const assetName = canvasContent?.type === "asset" ? canvasContent.asset : null;
|
|
4185
4278
|
const staticFiles = useStaticFiles();
|
|
4186
|
-
const sizeInBytes =
|
|
4279
|
+
const sizeInBytes = useMemo25(() => {
|
|
4187
4280
|
if (!assetName) {
|
|
4188
4281
|
return null;
|
|
4189
4282
|
}
|
|
@@ -4218,8 +4311,8 @@ var CurrentAsset = () => {
|
|
|
4218
4311
|
};
|
|
4219
4312
|
}, [assetName]);
|
|
4220
4313
|
if (!assetName) {
|
|
4221
|
-
return /* @__PURE__ */
|
|
4222
|
-
style:
|
|
4314
|
+
return /* @__PURE__ */ jsx37("div", {
|
|
4315
|
+
style: container9
|
|
4223
4316
|
});
|
|
4224
4317
|
}
|
|
4225
4318
|
const fileName = assetName.split("/").pop() ?? assetName;
|
|
@@ -4233,21 +4326,21 @@ var CurrentAsset = () => {
|
|
|
4233
4326
|
subtitleParts.push(`${mediaMetadata.width}x${mediaMetadata.height}`);
|
|
4234
4327
|
}
|
|
4235
4328
|
}
|
|
4236
|
-
return /* @__PURE__ */
|
|
4237
|
-
style:
|
|
4238
|
-
children: /* @__PURE__ */
|
|
4329
|
+
return /* @__PURE__ */ jsx37("div", {
|
|
4330
|
+
style: container9,
|
|
4331
|
+
children: /* @__PURE__ */ jsx37("div", {
|
|
4239
4332
|
style: row2,
|
|
4240
|
-
children: /* @__PURE__ */
|
|
4333
|
+
children: /* @__PURE__ */ jsxs11("div", {
|
|
4241
4334
|
children: [
|
|
4242
|
-
/* @__PURE__ */
|
|
4335
|
+
/* @__PURE__ */ jsx37("div", {
|
|
4243
4336
|
style: title2,
|
|
4244
4337
|
children: fileName
|
|
4245
4338
|
}),
|
|
4246
|
-
subtitleParts.length > 0 ? /* @__PURE__ */
|
|
4339
|
+
subtitleParts.length > 0 ? /* @__PURE__ */ jsx37("div", {
|
|
4247
4340
|
style: subtitle2,
|
|
4248
4341
|
children: subtitleParts.join(" · ")
|
|
4249
4342
|
}) : null,
|
|
4250
|
-
mediaMetadata ? /* @__PURE__ */
|
|
4343
|
+
mediaMetadata ? /* @__PURE__ */ jsx37("div", {
|
|
4251
4344
|
style: subtitle2,
|
|
4252
4345
|
children: formatDuration(mediaMetadata.duration)
|
|
4253
4346
|
}) : null
|
|
@@ -4258,8 +4351,8 @@ var CurrentAsset = () => {
|
|
|
4258
4351
|
};
|
|
4259
4352
|
|
|
4260
4353
|
// src/components/AssetSelector.tsx
|
|
4261
|
-
import { jsx as
|
|
4262
|
-
var
|
|
4354
|
+
import { jsx as jsx38, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
4355
|
+
var container10 = {
|
|
4263
4356
|
display: "flex",
|
|
4264
4357
|
flexDirection: "column",
|
|
4265
4358
|
flex: 1,
|
|
@@ -4290,7 +4383,7 @@ var AssetSelector = ({ readOnlyStudio }) => {
|
|
|
4290
4383
|
const connectionStatus = useContext13(StudioServerConnectionCtx).previewServerState.type;
|
|
4291
4384
|
const shouldAllowUpload = connectionStatus === "connected" && !readOnlyStudio;
|
|
4292
4385
|
const showCurrentAsset = canvasContent?.type === "asset";
|
|
4293
|
-
const list =
|
|
4386
|
+
const list = useMemo26(() => {
|
|
4294
4387
|
return {
|
|
4295
4388
|
...baseList,
|
|
4296
4389
|
height: showCurrentAsset ? `calc(100% - ${CURRENT_ASSET_HEIGHT}px)` : "100%"
|
|
@@ -4298,7 +4391,7 @@ var AssetSelector = ({ readOnlyStudio }) => {
|
|
|
4298
4391
|
}, [showCurrentAsset]);
|
|
4299
4392
|
const staticFiles = useStaticFiles();
|
|
4300
4393
|
const publicFolderExists = window.remotion_publicFolderExists;
|
|
4301
|
-
const assetTree =
|
|
4394
|
+
const assetTree = useMemo26(() => {
|
|
4302
4395
|
return buildAssetFolderStructure(staticFiles, null, assetFoldersExpanded);
|
|
4303
4396
|
}, [assetFoldersExpanded, staticFiles]);
|
|
4304
4397
|
const toggleFolder = useCallback19((folderName, parentName) => {
|
|
@@ -4349,41 +4442,41 @@ var AssetSelector = ({ readOnlyStudio }) => {
|
|
|
4349
4442
|
setDropLocation(null);
|
|
4350
4443
|
}
|
|
4351
4444
|
}, [dropLocation]);
|
|
4352
|
-
return /* @__PURE__ */
|
|
4353
|
-
style:
|
|
4445
|
+
return /* @__PURE__ */ jsxs12("div", {
|
|
4446
|
+
style: container10,
|
|
4354
4447
|
onDragOver: shouldAllowUpload ? onDragOver : undefined,
|
|
4355
4448
|
onDrop: shouldAllowUpload ? onDrop : undefined,
|
|
4356
4449
|
children: [
|
|
4357
|
-
showCurrentAsset ? /* @__PURE__ */
|
|
4358
|
-
staticFiles.length === 0 ? publicFolderExists ? /* @__PURE__ */
|
|
4450
|
+
showCurrentAsset ? /* @__PURE__ */ jsx38(CurrentAsset, {}) : null,
|
|
4451
|
+
staticFiles.length === 0 ? publicFolderExists ? /* @__PURE__ */ jsx38("div", {
|
|
4359
4452
|
style: emptyState,
|
|
4360
|
-
children: /* @__PURE__ */
|
|
4453
|
+
children: /* @__PURE__ */ jsxs12("div", {
|
|
4361
4454
|
style: label,
|
|
4362
4455
|
children: [
|
|
4363
4456
|
"To add assets, place a file in the",
|
|
4364
4457
|
" ",
|
|
4365
|
-
/* @__PURE__ */
|
|
4458
|
+
/* @__PURE__ */ jsx38("code", {
|
|
4366
4459
|
style: inlineCodeSnippet,
|
|
4367
4460
|
children: "public"
|
|
4368
4461
|
}),
|
|
4369
4462
|
" folder of your project or drag and drop a file here."
|
|
4370
4463
|
]
|
|
4371
4464
|
})
|
|
4372
|
-
}) : /* @__PURE__ */
|
|
4465
|
+
}) : /* @__PURE__ */ jsx38("div", {
|
|
4373
4466
|
style: emptyState,
|
|
4374
|
-
children: /* @__PURE__ */
|
|
4467
|
+
children: /* @__PURE__ */ jsxs12("div", {
|
|
4375
4468
|
style: label,
|
|
4376
4469
|
children: [
|
|
4377
4470
|
"To add assets, create a folder called",
|
|
4378
4471
|
" ",
|
|
4379
|
-
/* @__PURE__ */
|
|
4472
|
+
/* @__PURE__ */ jsx38("code", {
|
|
4380
4473
|
style: inlineCodeSnippet,
|
|
4381
4474
|
children: "public"
|
|
4382
4475
|
}),
|
|
4383
4476
|
" in the root of your project and place a file in it."
|
|
4384
4477
|
]
|
|
4385
4478
|
})
|
|
4386
|
-
}) : /* @__PURE__ */
|
|
4479
|
+
}) : /* @__PURE__ */ jsx38("div", {
|
|
4387
4480
|
className: "__remotion-vertical-scrollbar",
|
|
4388
4481
|
style: {
|
|
4389
4482
|
...list,
|
|
@@ -4391,7 +4484,7 @@ var AssetSelector = ({ readOnlyStudio }) => {
|
|
|
4391
4484
|
},
|
|
4392
4485
|
onDragEnter,
|
|
4393
4486
|
onDragLeave,
|
|
4394
|
-
children: /* @__PURE__ */
|
|
4487
|
+
children: /* @__PURE__ */ jsx38(AssetFolderTree, {
|
|
4395
4488
|
item: assetTree,
|
|
4396
4489
|
level: 0,
|
|
4397
4490
|
parentFolder: null,
|
|
@@ -4412,11 +4505,11 @@ import {
|
|
|
4412
4505
|
useCallback as useCallback20,
|
|
4413
4506
|
useContext as useContext14,
|
|
4414
4507
|
useImperativeHandle as useImperativeHandle4,
|
|
4415
|
-
useMemo as
|
|
4508
|
+
useMemo as useMemo27,
|
|
4416
4509
|
useState as useState19
|
|
4417
4510
|
} from "react";
|
|
4418
4511
|
import { Internals as Internals11 } from "remotion";
|
|
4419
|
-
import { jsx as
|
|
4512
|
+
import { jsx as jsx39 } from "react/jsx-runtime";
|
|
4420
4513
|
var CompSelectorRef = ({ children }) => {
|
|
4421
4514
|
const { compositions } = useContext14(Internals11.CompositionManager);
|
|
4422
4515
|
const [foldersExpanded, setFoldersExpanded] = useState19(loadExpandedFolders("compositions"));
|
|
@@ -4478,34 +4571,34 @@ var CompSelectorRef = ({ children }) => {
|
|
|
4478
4571
|
}
|
|
4479
4572
|
};
|
|
4480
4573
|
}, [compositions, selectComposition, toggleFolder]);
|
|
4481
|
-
const contextValue =
|
|
4574
|
+
const contextValue = useMemo27(() => {
|
|
4482
4575
|
return {
|
|
4483
4576
|
foldersExpanded,
|
|
4484
4577
|
setFoldersExpanded,
|
|
4485
4578
|
toggleFolder
|
|
4486
4579
|
};
|
|
4487
4580
|
}, [foldersExpanded, setFoldersExpanded, toggleFolder]);
|
|
4488
|
-
return /* @__PURE__ */
|
|
4581
|
+
return /* @__PURE__ */ jsx39(ExpandedFoldersContext.Provider, {
|
|
4489
4582
|
value: contextValue,
|
|
4490
4583
|
children
|
|
4491
4584
|
});
|
|
4492
4585
|
};
|
|
4493
4586
|
|
|
4494
4587
|
// src/components/Tabs/index.tsx
|
|
4495
|
-
import { useCallback as useCallback21, useMemo as
|
|
4496
|
-
import { jsx as
|
|
4588
|
+
import { useCallback as useCallback21, useMemo as useMemo28, useState as useState20 } from "react";
|
|
4589
|
+
import { jsx as jsx40 } from "react/jsx-runtime";
|
|
4497
4590
|
var tabsContainer = {
|
|
4498
4591
|
display: "flex",
|
|
4499
4592
|
flexDirection: "row"
|
|
4500
4593
|
};
|
|
4501
4594
|
var Tabs = ({ children, style }) => {
|
|
4502
|
-
const definiteStyle =
|
|
4595
|
+
const definiteStyle = useMemo28(() => {
|
|
4503
4596
|
return {
|
|
4504
4597
|
...tabsContainer,
|
|
4505
4598
|
...style
|
|
4506
4599
|
};
|
|
4507
4600
|
}, [style]);
|
|
4508
|
-
return /* @__PURE__ */
|
|
4601
|
+
return /* @__PURE__ */ jsx40("div", {
|
|
4509
4602
|
style: definiteStyle,
|
|
4510
4603
|
children
|
|
4511
4604
|
});
|
|
@@ -4534,7 +4627,7 @@ var Tab = ({ children, onClick, style, selected }) => {
|
|
|
4534
4627
|
const onPointerLeave = useCallback21(() => {
|
|
4535
4628
|
setHovered(false);
|
|
4536
4629
|
}, []);
|
|
4537
|
-
const definiteStyle =
|
|
4630
|
+
const definiteStyle = useMemo28(() => ({
|
|
4538
4631
|
...selectorButton,
|
|
4539
4632
|
backgroundColor: selected ? BACKGROUND : hovered ? CLEAR_HOVER : INPUT_BACKGROUND,
|
|
4540
4633
|
color: selected ? "white" : LIGHT_TEXT,
|
|
@@ -4542,7 +4635,7 @@ var Tab = ({ children, onClick, style, selected }) => {
|
|
|
4542
4635
|
boxShadow: selected ? "none" : undefined,
|
|
4543
4636
|
...style
|
|
4544
4637
|
}), [hovered, selected, style]);
|
|
4545
|
-
return /* @__PURE__ */
|
|
4638
|
+
return /* @__PURE__ */ jsx40("div", {
|
|
4546
4639
|
style: definiteStyle,
|
|
4547
4640
|
role: "button",
|
|
4548
4641
|
onClick,
|
|
@@ -4554,8 +4647,8 @@ var Tab = ({ children, onClick, style, selected }) => {
|
|
|
4554
4647
|
};
|
|
4555
4648
|
|
|
4556
4649
|
// src/components/ExplorerPanel.tsx
|
|
4557
|
-
import { jsx as
|
|
4558
|
-
var
|
|
4650
|
+
import { jsx as jsx41, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
4651
|
+
var container11 = {
|
|
4559
4652
|
height: "100%",
|
|
4560
4653
|
width: "100%",
|
|
4561
4654
|
maxWidth: "100%",
|
|
@@ -4600,21 +4693,21 @@ var ExplorerPanel = ({ readOnlyStudio }) => {
|
|
|
4600
4693
|
}
|
|
4601
4694
|
};
|
|
4602
4695
|
}, []);
|
|
4603
|
-
return /* @__PURE__ */
|
|
4604
|
-
children: /* @__PURE__ */
|
|
4605
|
-
style:
|
|
4696
|
+
return /* @__PURE__ */ jsx41(CompSelectorRef, {
|
|
4697
|
+
children: /* @__PURE__ */ jsxs13("div", {
|
|
4698
|
+
style: container11,
|
|
4606
4699
|
className: "css-reset",
|
|
4607
4700
|
children: [
|
|
4608
|
-
/* @__PURE__ */
|
|
4701
|
+
/* @__PURE__ */ jsx41("div", {
|
|
4609
4702
|
style: tabsContainer2,
|
|
4610
|
-
children: /* @__PURE__ */
|
|
4703
|
+
children: /* @__PURE__ */ jsxs13(Tabs, {
|
|
4611
4704
|
children: [
|
|
4612
|
-
/* @__PURE__ */
|
|
4705
|
+
/* @__PURE__ */ jsx41(Tab, {
|
|
4613
4706
|
selected: panel === "compositions",
|
|
4614
4707
|
onClick: onCompositionsSelected,
|
|
4615
4708
|
children: "Compositions"
|
|
4616
4709
|
}),
|
|
4617
|
-
/* @__PURE__ */
|
|
4710
|
+
/* @__PURE__ */ jsx41(Tab, {
|
|
4618
4711
|
selected: panel === "assets",
|
|
4619
4712
|
onClick: onAssetsSelected,
|
|
4620
4713
|
children: "Assets"
|
|
@@ -4622,7 +4715,7 @@ var ExplorerPanel = ({ readOnlyStudio }) => {
|
|
|
4622
4715
|
]
|
|
4623
4716
|
})
|
|
4624
4717
|
}),
|
|
4625
|
-
panel === "compositions" ? /* @__PURE__ */
|
|
4718
|
+
panel === "compositions" ? /* @__PURE__ */ jsx41(CompositionSelector, {}) : /* @__PURE__ */ jsx41(AssetSelector, {
|
|
4626
4719
|
readOnlyStudio
|
|
4627
4720
|
})
|
|
4628
4721
|
]
|
|
@@ -4788,7 +4881,7 @@ import {
|
|
|
4788
4881
|
import { AbsoluteFill } from "remotion";
|
|
4789
4882
|
|
|
4790
4883
|
// src/components/ModalContainer.tsx
|
|
4791
|
-
import { jsx as
|
|
4884
|
+
import { jsx as jsx42 } from "react/jsx-runtime";
|
|
4792
4885
|
var padding = 20;
|
|
4793
4886
|
var getMaxModalWidth = (width) => {
|
|
4794
4887
|
return `min(calc(100vw - ${padding * 2}px), calc(${width}px - ${padding * 2}px))`;
|
|
@@ -4812,16 +4905,16 @@ var panel = {
|
|
|
4812
4905
|
margin: "auto"
|
|
4813
4906
|
};
|
|
4814
4907
|
var ModalContainer = ({ children, onEscape, onOutsideClick, noZIndex }) => {
|
|
4815
|
-
return /* @__PURE__ */
|
|
4908
|
+
return /* @__PURE__ */ jsx42("div", {
|
|
4816
4909
|
className: "css-reset",
|
|
4817
4910
|
style: backgroundOverlay,
|
|
4818
4911
|
role: "dialog",
|
|
4819
4912
|
"aria-modal": "true",
|
|
4820
|
-
children: /* @__PURE__ */
|
|
4913
|
+
children: /* @__PURE__ */ jsx42(HigherZIndex, {
|
|
4821
4914
|
disabled: noZIndex,
|
|
4822
4915
|
onOutsideClick,
|
|
4823
4916
|
onEscape,
|
|
4824
|
-
children: /* @__PURE__ */
|
|
4917
|
+
children: /* @__PURE__ */ jsx42("div", {
|
|
4825
4918
|
style: panel,
|
|
4826
4919
|
children
|
|
4827
4920
|
})
|
|
@@ -4833,7 +4926,7 @@ var ModalContainer = ({ children, onEscape, onOutsideClick, noZIndex }) => {
|
|
|
4833
4926
|
import { useCallback as useCallback24, useContext as useContext16 } from "react";
|
|
4834
4927
|
|
|
4835
4928
|
// src/components/NewComposition/CancelButton.tsx
|
|
4836
|
-
import { jsx as
|
|
4929
|
+
import { jsx as jsx43 } from "react/jsx-runtime";
|
|
4837
4930
|
var style = {
|
|
4838
4931
|
appearance: "none",
|
|
4839
4932
|
border: "none",
|
|
@@ -4846,15 +4939,15 @@ var style = {
|
|
|
4846
4939
|
};
|
|
4847
4940
|
var CancelButton = ({ onPress, ...props }) => {
|
|
4848
4941
|
const { tabIndex } = useZIndex();
|
|
4849
|
-
return /* @__PURE__ */
|
|
4942
|
+
return /* @__PURE__ */ jsx43("button", {
|
|
4850
4943
|
tabIndex,
|
|
4851
4944
|
style,
|
|
4852
4945
|
type: "button",
|
|
4853
4946
|
onClick: onPress,
|
|
4854
|
-
children: /* @__PURE__ */
|
|
4947
|
+
children: /* @__PURE__ */ jsx43("svg", {
|
|
4855
4948
|
viewBox: "0 0 320 512",
|
|
4856
4949
|
...props,
|
|
4857
|
-
children: /* @__PURE__ */
|
|
4950
|
+
children: /* @__PURE__ */ jsx43("path", {
|
|
4858
4951
|
fill: "currentColor",
|
|
4859
4952
|
d: "M207.6 256l107.72-107.72c6.23-6.23 6.23-16.34 0-22.58l-25.03-25.03c-6.23-6.23-16.34-6.23-22.58 0L160 208.4 52.28 100.68c-6.23-6.23-16.34-6.23-22.58 0L4.68 125.7c-6.23 6.23-6.23 16.34 0 22.58L112.4 256 4.68 363.72c-6.23 6.23-6.23 16.34 0 22.58l25.03 25.03c6.23 6.23 16.34 6.23 22.58 0L160 303.6l107.72 107.72c6.23 6.23 16.34 6.23 22.58 0l25.03-25.03c6.23-6.23 6.23-16.34 0-22.58L207.6 256z"
|
|
4860
4953
|
})
|
|
@@ -4863,8 +4956,8 @@ var CancelButton = ({ onPress, ...props }) => {
|
|
|
4863
4956
|
};
|
|
4864
4957
|
|
|
4865
4958
|
// src/components/ModalHeader.tsx
|
|
4866
|
-
import { jsx as
|
|
4867
|
-
var
|
|
4959
|
+
import { jsx as jsx44, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
4960
|
+
var container12 = {
|
|
4868
4961
|
display: "flex",
|
|
4869
4962
|
flexDirection: "row",
|
|
4870
4963
|
alignItems: "center",
|
|
@@ -4885,15 +4978,15 @@ var ModalHeader = ({ title: title3, onClose }) => {
|
|
|
4885
4978
|
const onPress = useCallback24(() => {
|
|
4886
4979
|
setSelectedModal(null);
|
|
4887
4980
|
}, [setSelectedModal]);
|
|
4888
|
-
return /* @__PURE__ */
|
|
4889
|
-
style:
|
|
4981
|
+
return /* @__PURE__ */ jsxs14("div", {
|
|
4982
|
+
style: container12,
|
|
4890
4983
|
children: [
|
|
4891
|
-
/* @__PURE__ */
|
|
4984
|
+
/* @__PURE__ */ jsx44("div", {
|
|
4892
4985
|
style: titleStyle,
|
|
4893
4986
|
children: title3
|
|
4894
4987
|
}),
|
|
4895
|
-
/* @__PURE__ */
|
|
4896
|
-
/* @__PURE__ */
|
|
4988
|
+
/* @__PURE__ */ jsx44(Flex, {}),
|
|
4989
|
+
/* @__PURE__ */ jsx44(CancelButton, {
|
|
4897
4990
|
style: icon,
|
|
4898
4991
|
onPress: onClose ?? onPress
|
|
4899
4992
|
})
|
|
@@ -4902,8 +4995,8 @@ var ModalHeader = ({ title: title3, onClose }) => {
|
|
|
4902
4995
|
};
|
|
4903
4996
|
|
|
4904
4997
|
// src/components/AskAiModal.tsx
|
|
4905
|
-
import { jsx as
|
|
4906
|
-
var
|
|
4998
|
+
import { jsx as jsx45, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
4999
|
+
var container13 = {
|
|
4907
5000
|
height: "calc(100vh - 100px)",
|
|
4908
5001
|
width: "calc(100vw - 160px)",
|
|
4909
5002
|
maxWidth: 800,
|
|
@@ -4955,21 +5048,21 @@ var AskAiModal = () => {
|
|
|
4955
5048
|
if (state === "never-opened") {
|
|
4956
5049
|
return null;
|
|
4957
5050
|
}
|
|
4958
|
-
return /* @__PURE__ */
|
|
5051
|
+
return /* @__PURE__ */ jsx45(AbsoluteFill, {
|
|
4959
5052
|
style: { display: state === "visible" ? "block" : "none" },
|
|
4960
|
-
children: /* @__PURE__ */
|
|
5053
|
+
children: /* @__PURE__ */ jsxs15(ModalContainer, {
|
|
4961
5054
|
noZIndex: state === "hidden",
|
|
4962
5055
|
onOutsideClick: onQuit,
|
|
4963
5056
|
onEscape: onQuit,
|
|
4964
5057
|
children: [
|
|
4965
|
-
/* @__PURE__ */
|
|
5058
|
+
/* @__PURE__ */ jsx45(ModalHeader, {
|
|
4966
5059
|
title: "Ask AI",
|
|
4967
5060
|
onClose: onQuit
|
|
4968
5061
|
}),
|
|
4969
|
-
/* @__PURE__ */
|
|
5062
|
+
/* @__PURE__ */ jsx45("iframe", {
|
|
4970
5063
|
ref: iframe,
|
|
4971
5064
|
frameBorder: 0,
|
|
4972
|
-
style:
|
|
5065
|
+
style: container13,
|
|
4973
5066
|
src: "https://www.remotion.dev/ai-embed",
|
|
4974
5067
|
allow: "clipboard-read; clipboard-write"
|
|
4975
5068
|
})
|
|
@@ -4979,32 +5072,32 @@ var AskAiModal = () => {
|
|
|
4979
5072
|
};
|
|
4980
5073
|
|
|
4981
5074
|
// src/components/SizeSelector.tsx
|
|
4982
|
-
import { useContext as useContext20, useMemo as
|
|
5075
|
+
import { useContext as useContext20, useMemo as useMemo35 } from "react";
|
|
4983
5076
|
import { Internals as Internals14 } from "remotion";
|
|
4984
5077
|
|
|
4985
5078
|
// src/icons/Checkmark.tsx
|
|
4986
|
-
import { jsx as
|
|
5079
|
+
import { jsx as jsx46 } from "react/jsx-runtime";
|
|
4987
5080
|
var style2 = {
|
|
4988
5081
|
width: 14,
|
|
4989
5082
|
height: 14
|
|
4990
5083
|
};
|
|
4991
|
-
var Checkmark = () => /* @__PURE__ */
|
|
5084
|
+
var Checkmark = () => /* @__PURE__ */ jsx46("svg", {
|
|
4992
5085
|
focusable: "false",
|
|
4993
5086
|
role: "img",
|
|
4994
5087
|
viewBox: "0 0 512 512",
|
|
4995
5088
|
style: style2,
|
|
4996
|
-
children: /* @__PURE__ */
|
|
5089
|
+
children: /* @__PURE__ */ jsx46("path", {
|
|
4997
5090
|
fill: "currentColor",
|
|
4998
5091
|
d: "M435.848 83.466L172.804 346.51l-96.652-96.652c-4.686-4.686-12.284-4.686-16.971 0l-28.284 28.284c-4.686 4.686-4.686 12.284 0 16.971l133.421 133.421c4.686 4.686 12.284 4.686 16.971 0l299.813-299.813c4.686-4.686 4.686-12.284 0-16.971l-28.284-28.284c-4.686-4.686-12.284-4.686-16.97 0z"
|
|
4999
5092
|
})
|
|
5000
5093
|
});
|
|
5001
5094
|
|
|
5002
5095
|
// src/components/ControlButton.tsx
|
|
5003
|
-
import { useMemo as
|
|
5004
|
-
import { jsx as
|
|
5096
|
+
import { useMemo as useMemo29 } from "react";
|
|
5097
|
+
import { jsx as jsx47 } from "react/jsx-runtime";
|
|
5005
5098
|
var CONTROL_BUTTON_PADDING = 6;
|
|
5006
5099
|
var ControlButton = (props) => {
|
|
5007
|
-
const style3 =
|
|
5100
|
+
const style3 = useMemo29(() => {
|
|
5008
5101
|
return {
|
|
5009
5102
|
opacity: props.disabled ? 0.5 : 1,
|
|
5010
5103
|
display: "inline-flex",
|
|
@@ -5014,7 +5107,7 @@ var ControlButton = (props) => {
|
|
|
5014
5107
|
};
|
|
5015
5108
|
}, [props.disabled]);
|
|
5016
5109
|
const { tabIndex } = useZIndex();
|
|
5017
|
-
return /* @__PURE__ */
|
|
5110
|
+
return /* @__PURE__ */ jsx47("button", {
|
|
5018
5111
|
type: "button",
|
|
5019
5112
|
tabIndex,
|
|
5020
5113
|
...props,
|
|
@@ -5024,10 +5117,10 @@ var ControlButton = (props) => {
|
|
|
5024
5117
|
|
|
5025
5118
|
// src/components/NewComposition/ComboBox.tsx
|
|
5026
5119
|
import { PlayerInternals as PlayerInternals5 } from "@remotion/player";
|
|
5027
|
-
import { useCallback as useCallback26, useEffect as useEffect17, useMemo as
|
|
5120
|
+
import { useCallback as useCallback26, useEffect as useEffect17, useMemo as useMemo30, useRef as useRef14, useState as useState23 } from "react";
|
|
5028
5121
|
import ReactDOM4 from "react-dom";
|
|
5029
|
-
import { jsx as
|
|
5030
|
-
var
|
|
5122
|
+
import { jsx as jsx48, jsxs as jsxs16, Fragment as Fragment6 } from "react/jsx-runtime";
|
|
5123
|
+
var container14 = {
|
|
5031
5124
|
padding: "8px 10px",
|
|
5032
5125
|
display: "inline-block",
|
|
5033
5126
|
backgroundColor: INPUT_BACKGROUND,
|
|
@@ -5101,25 +5194,25 @@ var Combobox = ({ values, selectedId, style: customStyle, title: title3 }) => {
|
|
|
5101
5194
|
current.removeEventListener("click", onClick);
|
|
5102
5195
|
};
|
|
5103
5196
|
}, [refresh]);
|
|
5104
|
-
const spaceToBottom =
|
|
5197
|
+
const spaceToBottom = useMemo30(() => {
|
|
5105
5198
|
const margin2 = 10;
|
|
5106
5199
|
if (size && opened) {
|
|
5107
5200
|
return size.windowSize.height - (size.top + size.height) - margin2;
|
|
5108
5201
|
}
|
|
5109
5202
|
return 0;
|
|
5110
5203
|
}, [opened, size]);
|
|
5111
|
-
const spaceToTop =
|
|
5204
|
+
const spaceToTop = useMemo30(() => {
|
|
5112
5205
|
const margin2 = 10;
|
|
5113
5206
|
if (size && opened) {
|
|
5114
5207
|
return size.top - margin2;
|
|
5115
5208
|
}
|
|
5116
5209
|
return 0;
|
|
5117
5210
|
}, [opened, size]);
|
|
5118
|
-
const derivedMaxHeight =
|
|
5211
|
+
const derivedMaxHeight = useMemo30(() => {
|
|
5119
5212
|
return spaceToTop > spaceToBottom ? spaceToTop : spaceToBottom;
|
|
5120
5213
|
}, [spaceToBottom, spaceToTop]);
|
|
5121
5214
|
const isMobileLayout = useMobileLayout();
|
|
5122
|
-
const portalStyle =
|
|
5215
|
+
const portalStyle = useMemo30(() => {
|
|
5123
5216
|
if (!opened || !size) {
|
|
5124
5217
|
return null;
|
|
5125
5218
|
}
|
|
@@ -5146,9 +5239,9 @@ var Combobox = ({ values, selectedId, style: customStyle, title: title3 }) => {
|
|
|
5146
5239
|
};
|
|
5147
5240
|
}, [isMobileLayout, opened, size, spaceToBottom, spaceToTop]);
|
|
5148
5241
|
const selected = values.find((v) => v.id === selectedId);
|
|
5149
|
-
const style3 =
|
|
5242
|
+
const style3 = useMemo30(() => {
|
|
5150
5243
|
return {
|
|
5151
|
-
...
|
|
5244
|
+
...container14,
|
|
5152
5245
|
...customStyle ?? {},
|
|
5153
5246
|
userSelect: "none",
|
|
5154
5247
|
WebkitUserSelect: "none",
|
|
@@ -5159,9 +5252,9 @@ var Combobox = ({ values, selectedId, style: customStyle, title: title3 }) => {
|
|
|
5159
5252
|
borderColor: opened ? SELECTED_BACKGROUND : hovered ? INPUT_BORDER_COLOR_HOVERED : INPUT_BORDER_COLOR_UNHOVERED
|
|
5160
5253
|
};
|
|
5161
5254
|
}, [customStyle, hovered, opened]);
|
|
5162
|
-
return /* @__PURE__ */
|
|
5255
|
+
return /* @__PURE__ */ jsxs16(Fragment6, {
|
|
5163
5256
|
children: [
|
|
5164
|
-
/* @__PURE__ */
|
|
5257
|
+
/* @__PURE__ */ jsxs16("button", {
|
|
5165
5258
|
ref,
|
|
5166
5259
|
title: title3,
|
|
5167
5260
|
tabIndex,
|
|
@@ -5169,29 +5262,29 @@ var Combobox = ({ values, selectedId, style: customStyle, title: title3 }) => {
|
|
|
5169
5262
|
style: style3,
|
|
5170
5263
|
className: MENU_INITIATOR_CLASSNAME,
|
|
5171
5264
|
children: [
|
|
5172
|
-
selected ? /* @__PURE__ */
|
|
5265
|
+
selected ? /* @__PURE__ */ jsx48("div", {
|
|
5173
5266
|
title: typeof selected.label === "string" ? selected.label : undefined,
|
|
5174
5267
|
style: label2,
|
|
5175
5268
|
children: selected?.label
|
|
5176
5269
|
}) : null,
|
|
5177
|
-
/* @__PURE__ */
|
|
5270
|
+
/* @__PURE__ */ jsx48(Spacing, {
|
|
5178
5271
|
x: 1
|
|
5179
5272
|
}),
|
|
5180
5273
|
" ",
|
|
5181
|
-
/* @__PURE__ */
|
|
5274
|
+
/* @__PURE__ */ jsx48(CaretDown, {})
|
|
5182
5275
|
]
|
|
5183
5276
|
}),
|
|
5184
|
-
portalStyle ? ReactDOM4.createPortal(/* @__PURE__ */
|
|
5277
|
+
portalStyle ? ReactDOM4.createPortal(/* @__PURE__ */ jsx48("div", {
|
|
5185
5278
|
style: fullScreenOverlay,
|
|
5186
|
-
children: /* @__PURE__ */
|
|
5279
|
+
children: /* @__PURE__ */ jsx48("div", {
|
|
5187
5280
|
style: outerPortal,
|
|
5188
5281
|
className: "css-reset",
|
|
5189
|
-
children: /* @__PURE__ */
|
|
5282
|
+
children: /* @__PURE__ */ jsx48(HigherZIndex, {
|
|
5190
5283
|
onOutsideClick: onHide,
|
|
5191
5284
|
onEscape: onHide,
|
|
5192
|
-
children: /* @__PURE__ */
|
|
5285
|
+
children: /* @__PURE__ */ jsx48("div", {
|
|
5193
5286
|
style: portalStyle,
|
|
5194
|
-
children: /* @__PURE__ */
|
|
5287
|
+
children: /* @__PURE__ */ jsx48(MenuContent, {
|
|
5195
5288
|
onNextMenu: noop,
|
|
5196
5289
|
onPreviousMenu: noop,
|
|
5197
5290
|
values,
|
|
@@ -5211,7 +5304,7 @@ var Combobox = ({ values, selectedId, style: customStyle, title: title3 }) => {
|
|
|
5211
5304
|
|
|
5212
5305
|
// src/components/Preview.tsx
|
|
5213
5306
|
import { PlayerInternals as PlayerInternals6 } from "@remotion/player";
|
|
5214
|
-
import { useContext as useContext19, useEffect as useEffect23, useMemo as
|
|
5307
|
+
import { useContext as useContext19, useEffect as useEffect23, useMemo as useMemo34, useRef as useRef17 } from "react";
|
|
5215
5308
|
import { Internals as Internals13 } from "remotion";
|
|
5216
5309
|
|
|
5217
5310
|
// src/helpers/checkerboard-background.ts
|
|
@@ -5343,7 +5436,7 @@ import {
|
|
|
5343
5436
|
forwardRef as forwardRef2,
|
|
5344
5437
|
useEffect as useEffect19,
|
|
5345
5438
|
useImperativeHandle as useImperativeHandle8,
|
|
5346
|
-
useMemo as
|
|
5439
|
+
useMemo as useMemo32,
|
|
5347
5440
|
useRef as useRef16,
|
|
5348
5441
|
useState as useState25
|
|
5349
5442
|
} from "react";
|
|
@@ -5353,17 +5446,17 @@ import {
|
|
|
5353
5446
|
forwardRef,
|
|
5354
5447
|
useEffect as useEffect18,
|
|
5355
5448
|
useImperativeHandle as useImperativeHandle7,
|
|
5356
|
-
useMemo as
|
|
5449
|
+
useMemo as useMemo31,
|
|
5357
5450
|
useRef as useRef15,
|
|
5358
5451
|
useState as useState24
|
|
5359
5452
|
} from "react";
|
|
5360
|
-
import { jsx as
|
|
5453
|
+
import { jsx as jsx49 } from "react/jsx-runtime";
|
|
5361
5454
|
var INPUT_HORIZONTAL_PADDING = 8;
|
|
5362
5455
|
var aligner = {
|
|
5363
5456
|
marginRight: -INPUT_HORIZONTAL_PADDING
|
|
5364
5457
|
};
|
|
5365
5458
|
var RightAlignInput = ({ children }) => {
|
|
5366
|
-
return /* @__PURE__ */
|
|
5459
|
+
return /* @__PURE__ */ jsx49("div", {
|
|
5367
5460
|
style: aligner,
|
|
5368
5461
|
children
|
|
5369
5462
|
});
|
|
@@ -5385,7 +5478,7 @@ var RemInputForwardRef = ({ status, rightAlign, ...props }, ref) => {
|
|
|
5385
5478
|
const [isHovered, setIsHovered] = useState24(false);
|
|
5386
5479
|
const inputRef = useRef15(null);
|
|
5387
5480
|
const { tabIndex } = useZIndex();
|
|
5388
|
-
const style3 =
|
|
5481
|
+
const style3 = useMemo31(() => {
|
|
5389
5482
|
return {
|
|
5390
5483
|
backgroundColor: INPUT_BACKGROUND,
|
|
5391
5484
|
...inputBaseStyle,
|
|
@@ -5418,7 +5511,7 @@ var RemInputForwardRef = ({ status, rightAlign, ...props }, ref) => {
|
|
|
5418
5511
|
current.removeEventListener("mouseleave", onMouseLeave);
|
|
5419
5512
|
};
|
|
5420
5513
|
}, [inputRef]);
|
|
5421
|
-
return /* @__PURE__ */
|
|
5514
|
+
return /* @__PURE__ */ jsx49("input", {
|
|
5422
5515
|
ref: inputRef,
|
|
5423
5516
|
tabIndex,
|
|
5424
5517
|
...props,
|
|
@@ -5428,7 +5521,7 @@ var RemInputForwardRef = ({ status, rightAlign, ...props }, ref) => {
|
|
|
5428
5521
|
var RemotionInput = forwardRef(RemInputForwardRef);
|
|
5429
5522
|
|
|
5430
5523
|
// src/components/NewComposition/RemTextarea.tsx
|
|
5431
|
-
import { jsx as
|
|
5524
|
+
import { jsx as jsx50 } from "react/jsx-runtime";
|
|
5432
5525
|
var inputBaseStyle2 = {
|
|
5433
5526
|
padding: `${INPUT_HORIZONTAL_PADDING}px 10px`,
|
|
5434
5527
|
color: "white",
|
|
@@ -5446,7 +5539,7 @@ var RemTextareaFRFunction = ({ status, ...props }, ref) => {
|
|
|
5446
5539
|
useImperativeHandle8(ref, () => {
|
|
5447
5540
|
return inputRef.current;
|
|
5448
5541
|
}, []);
|
|
5449
|
-
const style3 =
|
|
5542
|
+
const style3 = useMemo32(() => {
|
|
5450
5543
|
return {
|
|
5451
5544
|
backgroundColor: INPUT_BACKGROUND,
|
|
5452
5545
|
...inputBaseStyle2,
|
|
@@ -5509,7 +5602,7 @@ var RemTextareaFRFunction = ({ status, ...props }, ref) => {
|
|
|
5509
5602
|
current.removeEventListener("keydown", onKeyDown);
|
|
5510
5603
|
};
|
|
5511
5604
|
}, [inputRef]);
|
|
5512
|
-
return /* @__PURE__ */
|
|
5605
|
+
return /* @__PURE__ */ jsx50("textarea", {
|
|
5513
5606
|
ref: inputRef,
|
|
5514
5607
|
tabIndex,
|
|
5515
5608
|
...props,
|
|
@@ -5520,7 +5613,7 @@ var RemTextareaFRFunction = ({ status, ...props }, ref) => {
|
|
|
5520
5613
|
var RemTextarea = forwardRef2(RemTextareaFRFunction);
|
|
5521
5614
|
|
|
5522
5615
|
// src/components/JSONViewer.tsx
|
|
5523
|
-
import { jsx as
|
|
5616
|
+
import { jsx as jsx51 } from "react/jsx-runtime";
|
|
5524
5617
|
var jsonStyle = {
|
|
5525
5618
|
marginTop: 14,
|
|
5526
5619
|
marginBottom: 14,
|
|
@@ -5534,7 +5627,7 @@ var JSONViewer = ({ src }) => {
|
|
|
5534
5627
|
setJson(JSON.stringify(jsonRes, null, 2));
|
|
5535
5628
|
});
|
|
5536
5629
|
}, [src]);
|
|
5537
|
-
return /* @__PURE__ */
|
|
5630
|
+
return /* @__PURE__ */ jsx51(RemTextarea, {
|
|
5538
5631
|
value: json ?? undefined,
|
|
5539
5632
|
status: "ok",
|
|
5540
5633
|
onChange: () => {
|
|
@@ -5546,7 +5639,7 @@ var JSONViewer = ({ src }) => {
|
|
|
5546
5639
|
|
|
5547
5640
|
// src/components/TextViewer.tsx
|
|
5548
5641
|
import { useEffect as useEffect21, useState as useState27 } from "react";
|
|
5549
|
-
import { jsxs as
|
|
5642
|
+
import { jsxs as jsxs17 } from "react/jsx-runtime";
|
|
5550
5643
|
var textStyle = {
|
|
5551
5644
|
margin: 14,
|
|
5552
5645
|
fontFamily: "monospace",
|
|
@@ -5565,7 +5658,7 @@ var TextViewer = ({ src }) => {
|
|
|
5565
5658
|
setTxt(text);
|
|
5566
5659
|
});
|
|
5567
5660
|
}, [src]);
|
|
5568
|
-
return /* @__PURE__ */
|
|
5661
|
+
return /* @__PURE__ */ jsxs17("div", {
|
|
5569
5662
|
style: textStyle,
|
|
5570
5663
|
children: [
|
|
5571
5664
|
txt,
|
|
@@ -5575,7 +5668,7 @@ var TextViewer = ({ src }) => {
|
|
|
5575
5668
|
};
|
|
5576
5669
|
|
|
5577
5670
|
// src/components/FilePreview.tsx
|
|
5578
|
-
import { jsx as
|
|
5671
|
+
import { jsx as jsx52, jsxs as jsxs18, Fragment as Fragment7 } from "react/jsx-runtime";
|
|
5579
5672
|
var msgStyle = {
|
|
5580
5673
|
fontSize: 13,
|
|
5581
5674
|
color: "white",
|
|
@@ -5591,42 +5684,42 @@ var FilePreview = ({ fileType, src, currentAsset, assetMetadata }) => {
|
|
|
5591
5684
|
throw new Error('expected to have assetMetadata, got "not-found"');
|
|
5592
5685
|
}
|
|
5593
5686
|
if (fileType === "audio") {
|
|
5594
|
-
return /* @__PURE__ */
|
|
5687
|
+
return /* @__PURE__ */ jsx52("audio", {
|
|
5595
5688
|
src,
|
|
5596
5689
|
controls: true
|
|
5597
5690
|
});
|
|
5598
5691
|
}
|
|
5599
5692
|
if (fileType === "video") {
|
|
5600
|
-
return /* @__PURE__ */
|
|
5693
|
+
return /* @__PURE__ */ jsx52("video", {
|
|
5601
5694
|
src,
|
|
5602
5695
|
controls: true
|
|
5603
5696
|
});
|
|
5604
5697
|
}
|
|
5605
5698
|
if (fileType === "image") {
|
|
5606
|
-
return /* @__PURE__ */
|
|
5699
|
+
return /* @__PURE__ */ jsx52("img", {
|
|
5607
5700
|
src
|
|
5608
5701
|
});
|
|
5609
5702
|
}
|
|
5610
5703
|
if (fileType === "json") {
|
|
5611
|
-
return /* @__PURE__ */
|
|
5704
|
+
return /* @__PURE__ */ jsx52(JSONViewer, {
|
|
5612
5705
|
src
|
|
5613
5706
|
});
|
|
5614
5707
|
}
|
|
5615
5708
|
if (fileType === "txt") {
|
|
5616
|
-
return /* @__PURE__ */
|
|
5709
|
+
return /* @__PURE__ */ jsx52(TextViewer, {
|
|
5617
5710
|
src
|
|
5618
5711
|
});
|
|
5619
5712
|
}
|
|
5620
|
-
return /* @__PURE__ */
|
|
5713
|
+
return /* @__PURE__ */ jsxs18(Fragment7, {
|
|
5621
5714
|
children: [
|
|
5622
|
-
/* @__PURE__ */
|
|
5715
|
+
/* @__PURE__ */ jsx52("div", {
|
|
5623
5716
|
style: msgStyle,
|
|
5624
5717
|
children: currentAsset
|
|
5625
5718
|
}),
|
|
5626
|
-
/* @__PURE__ */
|
|
5719
|
+
/* @__PURE__ */ jsx52(Spacing, {
|
|
5627
5720
|
y: 0.5
|
|
5628
5721
|
}),
|
|
5629
|
-
/* @__PURE__ */
|
|
5722
|
+
/* @__PURE__ */ jsxs18("div", {
|
|
5630
5723
|
style: msgStyle,
|
|
5631
5724
|
children: [
|
|
5632
5725
|
"Size: ",
|
|
@@ -5639,7 +5732,7 @@ var FilePreview = ({ fileType, src, currentAsset, assetMetadata }) => {
|
|
|
5639
5732
|
};
|
|
5640
5733
|
|
|
5641
5734
|
// src/components/RenderPreview.tsx
|
|
5642
|
-
import { jsx as
|
|
5735
|
+
import { jsx as jsx53, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
5643
5736
|
var msgStyle2 = {
|
|
5644
5737
|
fontSize: 13,
|
|
5645
5738
|
color: "white",
|
|
@@ -5688,13 +5781,13 @@ var RenderPreview = ({ path, assetMetadata, getBlob }) => {
|
|
|
5688
5781
|
}, [getBlob]);
|
|
5689
5782
|
const src = blobUrl ?? remotion_outputsBase + path;
|
|
5690
5783
|
if (connectionStatus === "disconnected") {
|
|
5691
|
-
return /* @__PURE__ */
|
|
5784
|
+
return /* @__PURE__ */ jsx53("div", {
|
|
5692
5785
|
style: errMsgStyle,
|
|
5693
5786
|
children: "Studio server disconnected"
|
|
5694
5787
|
});
|
|
5695
5788
|
}
|
|
5696
5789
|
if (getBlob && blobError) {
|
|
5697
|
-
return /* @__PURE__ */
|
|
5790
|
+
return /* @__PURE__ */ jsxs19("div", {
|
|
5698
5791
|
style: errMsgStyle,
|
|
5699
5792
|
children: [
|
|
5700
5793
|
"Failed to load preview: ",
|
|
@@ -5703,12 +5796,12 @@ var RenderPreview = ({ path, assetMetadata, getBlob }) => {
|
|
|
5703
5796
|
});
|
|
5704
5797
|
}
|
|
5705
5798
|
if (getBlob && !blobUrl) {
|
|
5706
|
-
return /* @__PURE__ */
|
|
5799
|
+
return /* @__PURE__ */ jsx53("div", {
|
|
5707
5800
|
style: msgStyle2,
|
|
5708
5801
|
children: "Loading preview..."
|
|
5709
5802
|
});
|
|
5710
5803
|
}
|
|
5711
|
-
return /* @__PURE__ */
|
|
5804
|
+
return /* @__PURE__ */ jsx53(FilePreview, {
|
|
5712
5805
|
assetMetadata,
|
|
5713
5806
|
currentAsset: path,
|
|
5714
5807
|
fileType,
|
|
@@ -5717,23 +5810,23 @@ var RenderPreview = ({ path, assetMetadata, getBlob }) => {
|
|
|
5717
5810
|
};
|
|
5718
5811
|
|
|
5719
5812
|
// src/components/Spinner.tsx
|
|
5720
|
-
import { useMemo as
|
|
5721
|
-
import { jsx as
|
|
5813
|
+
import { useMemo as useMemo33 } from "react";
|
|
5814
|
+
import { jsx as jsx54, jsxs as jsxs20, Fragment as Fragment8 } from "react/jsx-runtime";
|
|
5722
5815
|
var viewBox = 100;
|
|
5723
5816
|
var lines = 8;
|
|
5724
5817
|
var className = "__remotion_spinner_line";
|
|
5725
5818
|
var remotionSpinnerAnimation = "__remotion_spinner_animation";
|
|
5726
5819
|
var translated = "M 44 0 L 50 0 a 6 6 0 0 1 6 6 L 56 26 a 6 6 0 0 1 -6 6 L 50 32 a 6 6 0 0 1 -6 -6 L 44 6 a 6 6 0 0 1 6 -6 Z";
|
|
5727
5820
|
var Spinner = ({ size, duration }) => {
|
|
5728
|
-
const style3 =
|
|
5821
|
+
const style3 = useMemo33(() => {
|
|
5729
5822
|
return {
|
|
5730
5823
|
width: size,
|
|
5731
5824
|
height: size
|
|
5732
5825
|
};
|
|
5733
5826
|
}, [size]);
|
|
5734
|
-
return /* @__PURE__ */
|
|
5827
|
+
return /* @__PURE__ */ jsxs20(Fragment8, {
|
|
5735
5828
|
children: [
|
|
5736
|
-
/* @__PURE__ */
|
|
5829
|
+
/* @__PURE__ */ jsx54("style", {
|
|
5737
5830
|
type: "text/css",
|
|
5738
5831
|
children: `
|
|
5739
5832
|
@keyframes ${remotionSpinnerAnimation} {
|
|
@@ -5750,11 +5843,11 @@ var Spinner = ({ size, duration }) => {
|
|
|
5750
5843
|
}
|
|
5751
5844
|
`
|
|
5752
5845
|
}),
|
|
5753
|
-
/* @__PURE__ */
|
|
5846
|
+
/* @__PURE__ */ jsx54("svg", {
|
|
5754
5847
|
style: style3,
|
|
5755
5848
|
viewBox: `0 0 ${viewBox} ${viewBox}`,
|
|
5756
5849
|
children: new Array(lines).fill(true).map((_, index) => {
|
|
5757
|
-
return /* @__PURE__ */
|
|
5850
|
+
return /* @__PURE__ */ jsx54("path", {
|
|
5758
5851
|
className,
|
|
5759
5852
|
style: {
|
|
5760
5853
|
rotate: `${index * Math.PI * 2 / lines}rad`,
|
|
@@ -5773,7 +5866,7 @@ var Spinner = ({ size, duration }) => {
|
|
|
5773
5866
|
// src/components/StaticFilePreview.tsx
|
|
5774
5867
|
import { useContext as useContext18 } from "react";
|
|
5775
5868
|
import { staticFile as staticFile3 } from "remotion";
|
|
5776
|
-
import { jsx as
|
|
5869
|
+
import { jsx as jsx55, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
5777
5870
|
var msgStyle3 = {
|
|
5778
5871
|
fontSize: 13,
|
|
5779
5872
|
color: "white",
|
|
@@ -5792,13 +5885,13 @@ var StaticFilePreview = ({ currentAsset, assetMetadata }) => {
|
|
|
5792
5885
|
const connectionStatus = useContext18(StudioServerConnectionCtx).previewServerState.type;
|
|
5793
5886
|
const exists = staticFiles.find((file) => file.name === currentAsset);
|
|
5794
5887
|
if (connectionStatus === "disconnected") {
|
|
5795
|
-
return /* @__PURE__ */
|
|
5888
|
+
return /* @__PURE__ */ jsx55("div", {
|
|
5796
5889
|
style: errMsgStyle2,
|
|
5797
5890
|
children: "Studio server disconnected"
|
|
5798
5891
|
});
|
|
5799
5892
|
}
|
|
5800
5893
|
if (!exists) {
|
|
5801
|
-
return /* @__PURE__ */
|
|
5894
|
+
return /* @__PURE__ */ jsxs21("div", {
|
|
5802
5895
|
style: errMsgStyle2,
|
|
5803
5896
|
children: [
|
|
5804
5897
|
currentAsset,
|
|
@@ -5809,7 +5902,7 @@ var StaticFilePreview = ({ currentAsset, assetMetadata }) => {
|
|
|
5809
5902
|
if (!currentAsset) {
|
|
5810
5903
|
return null;
|
|
5811
5904
|
}
|
|
5812
|
-
return /* @__PURE__ */
|
|
5905
|
+
return /* @__PURE__ */ jsx55(FilePreview, {
|
|
5813
5906
|
currentAsset,
|
|
5814
5907
|
fileType,
|
|
5815
5908
|
src: `${staticFileSrc}?date=${assetMetadata && assetMetadata.type === "found" ? assetMetadata.fetchedAt : 0}`,
|
|
@@ -5818,7 +5911,7 @@ var StaticFilePreview = ({ currentAsset, assetMetadata }) => {
|
|
|
5818
5911
|
};
|
|
5819
5912
|
|
|
5820
5913
|
// src/components/Preview.tsx
|
|
5821
|
-
import { jsx as
|
|
5914
|
+
import { jsx as jsx56 } from "react/jsx-runtime";
|
|
5822
5915
|
var centeredContainer = {
|
|
5823
5916
|
display: "flex",
|
|
5824
5917
|
flex: 1,
|
|
@@ -5876,24 +5969,24 @@ var containerStyle = (options) => {
|
|
|
5876
5969
|
};
|
|
5877
5970
|
var VideoPreview = ({ canvasSize, contentDimensions, canvasContent, assetMetadata }) => {
|
|
5878
5971
|
if (assetMetadata && assetMetadata.type === "not-found") {
|
|
5879
|
-
return /* @__PURE__ */
|
|
5972
|
+
return /* @__PURE__ */ jsx56("div", {
|
|
5880
5973
|
style: centeredContainer,
|
|
5881
|
-
children: /* @__PURE__ */
|
|
5974
|
+
children: /* @__PURE__ */ jsx56("div", {
|
|
5882
5975
|
style: label3,
|
|
5883
5976
|
children: "File does not exist"
|
|
5884
5977
|
})
|
|
5885
5978
|
});
|
|
5886
5979
|
}
|
|
5887
5980
|
if (contentDimensions === null) {
|
|
5888
|
-
return /* @__PURE__ */
|
|
5981
|
+
return /* @__PURE__ */ jsx56("div", {
|
|
5889
5982
|
style: centeredContainer,
|
|
5890
|
-
children: /* @__PURE__ */
|
|
5983
|
+
children: /* @__PURE__ */ jsx56(Spinner, {
|
|
5891
5984
|
duration: 0.5,
|
|
5892
5985
|
size: 24
|
|
5893
5986
|
})
|
|
5894
5987
|
});
|
|
5895
5988
|
}
|
|
5896
|
-
return /* @__PURE__ */
|
|
5989
|
+
return /* @__PURE__ */ jsx56(CompWhenItHasDimensions, {
|
|
5897
5990
|
contentDimensions,
|
|
5898
5991
|
canvasSize,
|
|
5899
5992
|
canvasContent,
|
|
@@ -5902,7 +5995,7 @@ var VideoPreview = ({ canvasSize, contentDimensions, canvasContent, assetMetadat
|
|
|
5902
5995
|
};
|
|
5903
5996
|
var CompWhenItHasDimensions = ({ contentDimensions, canvasSize, canvasContent, assetMetadata }) => {
|
|
5904
5997
|
const { size: previewSize } = useContext19(Internals13.PreviewSizeContext);
|
|
5905
|
-
const { centerX, centerY, yCorrection, xCorrection, scale } =
|
|
5998
|
+
const { centerX, centerY, yCorrection, xCorrection, scale } = useMemo34(() => {
|
|
5906
5999
|
if (contentDimensions === "none") {
|
|
5907
6000
|
return {
|
|
5908
6001
|
centerX: 0,
|
|
@@ -5919,7 +6012,7 @@ var CompWhenItHasDimensions = ({ contentDimensions, canvasSize, canvasContent, a
|
|
|
5919
6012
|
previewSize: previewSize.size
|
|
5920
6013
|
});
|
|
5921
6014
|
}, [canvasSize, contentDimensions, previewSize.size]);
|
|
5922
|
-
const outer =
|
|
6015
|
+
const outer = useMemo34(() => {
|
|
5923
6016
|
return {
|
|
5924
6017
|
width: contentDimensions === "none" ? "100%" : contentDimensions.width * scale,
|
|
5925
6018
|
height: contentDimensions === "none" ? "100%" : contentDimensions.height * scale,
|
|
@@ -5942,36 +6035,36 @@ var CompWhenItHasDimensions = ({ contentDimensions, canvasSize, canvasContent, a
|
|
|
5942
6035
|
canvasContent
|
|
5943
6036
|
]);
|
|
5944
6037
|
if (canvasContent.type === "asset") {
|
|
5945
|
-
return /* @__PURE__ */
|
|
6038
|
+
return /* @__PURE__ */ jsx56("div", {
|
|
5946
6039
|
style: outer,
|
|
5947
|
-
children: /* @__PURE__ */
|
|
6040
|
+
children: /* @__PURE__ */ jsx56(StaticFilePreview, {
|
|
5948
6041
|
assetMetadata,
|
|
5949
6042
|
currentAsset: canvasContent.asset
|
|
5950
6043
|
})
|
|
5951
6044
|
});
|
|
5952
6045
|
}
|
|
5953
6046
|
if (canvasContent.type === "output") {
|
|
5954
|
-
return /* @__PURE__ */
|
|
6047
|
+
return /* @__PURE__ */ jsx56("div", {
|
|
5955
6048
|
style: outer,
|
|
5956
|
-
children: /* @__PURE__ */
|
|
6049
|
+
children: /* @__PURE__ */ jsx56(RenderPreview, {
|
|
5957
6050
|
path: canvasContent.path,
|
|
5958
6051
|
assetMetadata
|
|
5959
6052
|
})
|
|
5960
6053
|
});
|
|
5961
6054
|
}
|
|
5962
6055
|
if (canvasContent.type === "output-blob") {
|
|
5963
|
-
return /* @__PURE__ */
|
|
6056
|
+
return /* @__PURE__ */ jsx56("div", {
|
|
5964
6057
|
style: outer,
|
|
5965
|
-
children: /* @__PURE__ */
|
|
6058
|
+
children: /* @__PURE__ */ jsx56(RenderPreview, {
|
|
5966
6059
|
path: canvasContent.displayName,
|
|
5967
6060
|
assetMetadata,
|
|
5968
6061
|
getBlob: canvasContent.getBlob
|
|
5969
6062
|
})
|
|
5970
6063
|
});
|
|
5971
6064
|
}
|
|
5972
|
-
return /* @__PURE__ */
|
|
6065
|
+
return /* @__PURE__ */ jsx56("div", {
|
|
5973
6066
|
style: outer,
|
|
5974
|
-
children: /* @__PURE__ */
|
|
6067
|
+
children: /* @__PURE__ */ jsx56(PortalContainer, {
|
|
5975
6068
|
contentDimensions,
|
|
5976
6069
|
scale,
|
|
5977
6070
|
xCorrection,
|
|
@@ -5981,7 +6074,7 @@ var CompWhenItHasDimensions = ({ contentDimensions, canvasSize, canvasContent, a
|
|
|
5981
6074
|
};
|
|
5982
6075
|
var PortalContainer = ({ scale, xCorrection, yCorrection, contentDimensions }) => {
|
|
5983
6076
|
const { checkerboard } = useContext19(CheckerboardContext);
|
|
5984
|
-
const style3 =
|
|
6077
|
+
const style3 = useMemo34(() => {
|
|
5985
6078
|
return containerStyle({
|
|
5986
6079
|
checkerboard,
|
|
5987
6080
|
scale,
|
|
@@ -6006,14 +6099,14 @@ var PortalContainer = ({ scale, xCorrection, yCorrection, contentDimensions }) =
|
|
|
6006
6099
|
};
|
|
6007
6100
|
}, []);
|
|
6008
6101
|
const portalContainer = useRef17(null);
|
|
6009
|
-
return /* @__PURE__ */
|
|
6102
|
+
return /* @__PURE__ */ jsx56("div", {
|
|
6010
6103
|
ref: portalContainer,
|
|
6011
6104
|
style: style3
|
|
6012
6105
|
});
|
|
6013
6106
|
};
|
|
6014
6107
|
|
|
6015
6108
|
// src/components/SizeSelector.tsx
|
|
6016
|
-
import { jsx as
|
|
6109
|
+
import { jsx as jsx57 } from "react/jsx-runtime";
|
|
6017
6110
|
var commonPreviewSizes = [
|
|
6018
6111
|
{
|
|
6019
6112
|
size: "auto",
|
|
@@ -6074,12 +6167,12 @@ var zoomableFileTypes = ["video", "image"];
|
|
|
6074
6167
|
var SizeSelector = () => {
|
|
6075
6168
|
const { size, setSize } = useContext20(Internals14.PreviewSizeContext);
|
|
6076
6169
|
const { canvasContent } = useContext20(Internals14.CompositionManager);
|
|
6077
|
-
const style3 =
|
|
6170
|
+
const style3 = useMemo35(() => {
|
|
6078
6171
|
return {
|
|
6079
6172
|
padding: CONTROL_BUTTON_PADDING
|
|
6080
6173
|
};
|
|
6081
6174
|
}, []);
|
|
6082
|
-
const zoomable =
|
|
6175
|
+
const zoomable = useMemo35(() => {
|
|
6083
6176
|
if (!canvasContent) {
|
|
6084
6177
|
return null;
|
|
6085
6178
|
}
|
|
@@ -6094,7 +6187,7 @@ var SizeSelector = () => {
|
|
|
6094
6187
|
}
|
|
6095
6188
|
return false;
|
|
6096
6189
|
}, [canvasContent]);
|
|
6097
|
-
const items =
|
|
6190
|
+
const items = useMemo35(() => {
|
|
6098
6191
|
return getUniqueSizes(size).map((newSize) => {
|
|
6099
6192
|
return {
|
|
6100
6193
|
id: String(newSize.size),
|
|
@@ -6107,7 +6200,7 @@ var SizeSelector = () => {
|
|
|
6107
6200
|
type: "item",
|
|
6108
6201
|
value: newSize.size,
|
|
6109
6202
|
keyHint: newSize.size === "auto" ? "0" : null,
|
|
6110
|
-
leftItem: String(size.size) === String(newSize.size) ? /* @__PURE__ */
|
|
6203
|
+
leftItem: String(size.size) === String(newSize.size) ? /* @__PURE__ */ jsx57(Checkmark, {}) : null,
|
|
6111
6204
|
subMenu: null,
|
|
6112
6205
|
quickSwitcherLabel: null
|
|
6113
6206
|
};
|
|
@@ -6116,10 +6209,10 @@ var SizeSelector = () => {
|
|
|
6116
6209
|
if (!zoomable) {
|
|
6117
6210
|
return null;
|
|
6118
6211
|
}
|
|
6119
|
-
return /* @__PURE__ */
|
|
6212
|
+
return /* @__PURE__ */ jsx57("div", {
|
|
6120
6213
|
style: style3,
|
|
6121
6214
|
"aria-label": accessibilityLabel,
|
|
6122
|
-
children: /* @__PURE__ */
|
|
6215
|
+
children: /* @__PURE__ */ jsx57(Combobox, {
|
|
6123
6216
|
title: accessibilityLabel,
|
|
6124
6217
|
style: comboStyle,
|
|
6125
6218
|
selectedId: String(size.size),
|
|
@@ -6140,13 +6233,13 @@ import { Internals as Internals16 } from "remotion";
|
|
|
6140
6233
|
import { NoReactInternals as NoReactInternals4 } from "remotion/no-react";
|
|
6141
6234
|
|
|
6142
6235
|
// src/icons/timelineInOutPointer.tsx
|
|
6143
|
-
import { jsx as
|
|
6236
|
+
import { jsx as jsx58 } from "react/jsx-runtime";
|
|
6144
6237
|
var TimelineInPointer = (props) => {
|
|
6145
|
-
return /* @__PURE__ */
|
|
6238
|
+
return /* @__PURE__ */ jsx58("svg", {
|
|
6146
6239
|
viewBox: "0 0 256 256",
|
|
6147
6240
|
fill: "none",
|
|
6148
6241
|
...props,
|
|
6149
|
-
children: /* @__PURE__ */
|
|
6242
|
+
children: /* @__PURE__ */ jsx58("path", {
|
|
6150
6243
|
d: "M158 25H99V230.5H158",
|
|
6151
6244
|
stroke: props.color,
|
|
6152
6245
|
strokeWidth: "42",
|
|
@@ -6156,11 +6249,11 @@ var TimelineInPointer = (props) => {
|
|
|
6156
6249
|
});
|
|
6157
6250
|
};
|
|
6158
6251
|
var TimelineOutPointer = (props) => {
|
|
6159
|
-
return /* @__PURE__ */
|
|
6252
|
+
return /* @__PURE__ */ jsx58("svg", {
|
|
6160
6253
|
viewBox: "0 0 256 256",
|
|
6161
6254
|
fill: "none",
|
|
6162
6255
|
...props,
|
|
6163
|
-
children: /* @__PURE__ */
|
|
6256
|
+
children: /* @__PURE__ */ jsx58("path", {
|
|
6164
6257
|
d: "M98 25H157V230.5H98",
|
|
6165
6258
|
stroke: props.color,
|
|
6166
6259
|
strokeWidth: "42",
|
|
@@ -6171,7 +6264,7 @@ var TimelineOutPointer = (props) => {
|
|
|
6171
6264
|
};
|
|
6172
6265
|
|
|
6173
6266
|
// src/state/in-out.ts
|
|
6174
|
-
import { createContext as createContext12, useContext as useContext21, useMemo as
|
|
6267
|
+
import { createContext as createContext12, useContext as useContext21, useMemo as useMemo36 } from "react";
|
|
6175
6268
|
import { Internals as Internals15 } from "remotion";
|
|
6176
6269
|
var TimelineInOutContext = createContext12({});
|
|
6177
6270
|
var SetTimelineInOutContext = createContext12({
|
|
@@ -6184,7 +6277,7 @@ var useTimelineInOutFramePosition = () => {
|
|
|
6184
6277
|
const state = useContext21(TimelineInOutContext);
|
|
6185
6278
|
const id = videoConfig?.id;
|
|
6186
6279
|
const durationInFrames = videoConfig?.durationInFrames;
|
|
6187
|
-
return
|
|
6280
|
+
return useMemo36(() => {
|
|
6188
6281
|
if (!id || !durationInFrames) {
|
|
6189
6282
|
return { inFrame: null, outFrame: null };
|
|
6190
6283
|
}
|
|
@@ -6203,7 +6296,7 @@ var useTimelineSetInOutFramePosition = () => {
|
|
|
6203
6296
|
};
|
|
6204
6297
|
|
|
6205
6298
|
// src/components/TimelineInOutToggle.tsx
|
|
6206
|
-
import { jsx as
|
|
6299
|
+
import { jsx as jsx59, jsxs as jsxs22, Fragment as Fragment9 } from "react/jsx-runtime";
|
|
6207
6300
|
var getTooltipText = (pointType, key) => [
|
|
6208
6301
|
`Mark ${pointType}`,
|
|
6209
6302
|
areKeyboardShortcutsDisabled() ? null : `(${key})`,
|
|
@@ -6418,26 +6511,26 @@ var TimelineInOutPointToggle = () => {
|
|
|
6418
6511
|
outMarkClick: onOutMark
|
|
6419
6512
|
};
|
|
6420
6513
|
}, [confId, onInMark, onInOutClear, onOutMark]);
|
|
6421
|
-
return /* @__PURE__ */
|
|
6514
|
+
return /* @__PURE__ */ jsxs22(Fragment9, {
|
|
6422
6515
|
children: [
|
|
6423
|
-
/* @__PURE__ */
|
|
6516
|
+
/* @__PURE__ */ jsx59(ControlButton, {
|
|
6424
6517
|
title: getTooltipText("In", "I"),
|
|
6425
6518
|
"aria-label": getTooltipText("In", "I"),
|
|
6426
6519
|
onClick: onInMark,
|
|
6427
6520
|
onContextMenu: clearInMark,
|
|
6428
6521
|
disabled: !videoConfig || isFirstFrame,
|
|
6429
|
-
children: /* @__PURE__ */
|
|
6522
|
+
children: /* @__PURE__ */ jsx59(TimelineInPointer, {
|
|
6430
6523
|
color: inFrame === null ? "white" : BLUE,
|
|
6431
6524
|
style: style3
|
|
6432
6525
|
})
|
|
6433
6526
|
}),
|
|
6434
|
-
/* @__PURE__ */
|
|
6527
|
+
/* @__PURE__ */ jsx59(ControlButton, {
|
|
6435
6528
|
title: getTooltipText("Out", "O"),
|
|
6436
6529
|
"aria-label": getTooltipText("Out", "O"),
|
|
6437
6530
|
onClick: onOutMark,
|
|
6438
6531
|
onContextMenu: clearOutMark,
|
|
6439
6532
|
disabled: !videoConfig || isLastFrame,
|
|
6440
|
-
children: /* @__PURE__ */
|
|
6533
|
+
children: /* @__PURE__ */ jsx59(TimelineOutPointer, {
|
|
6441
6534
|
color: outFrame === null ? "white" : BLUE,
|
|
6442
6535
|
style: style3
|
|
6443
6536
|
})
|
|
@@ -6446,43 +6539,6 @@ var TimelineInOutPointToggle = () => {
|
|
|
6446
6539
|
});
|
|
6447
6540
|
};
|
|
6448
6541
|
|
|
6449
|
-
// src/error-overlay/remotion-overlay/ShortcutHint.tsx
|
|
6450
|
-
import { useMemo as useMemo36 } from "react";
|
|
6451
|
-
import { jsx as jsx59, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
6452
|
-
var cmdOrCtrlCharacter = window.navigator.platform.startsWith("Mac") ? "⌘" : "Ctrl";
|
|
6453
|
-
var container14 = {
|
|
6454
|
-
display: "inline-block",
|
|
6455
|
-
marginLeft: 6,
|
|
6456
|
-
opacity: 0.6,
|
|
6457
|
-
verticalAlign: "middle",
|
|
6458
|
-
fontSize: 14
|
|
6459
|
-
};
|
|
6460
|
-
var ShortcutHint = ({ keyToPress, cmdOrCtrl }) => {
|
|
6461
|
-
const style4 = useMemo36(() => {
|
|
6462
|
-
if (keyToPress === "↵") {
|
|
6463
|
-
return {
|
|
6464
|
-
display: "inline-block",
|
|
6465
|
-
transform: `translateY(2px)`,
|
|
6466
|
-
fontSize: 14
|
|
6467
|
-
};
|
|
6468
|
-
}
|
|
6469
|
-
return {};
|
|
6470
|
-
}, [keyToPress]);
|
|
6471
|
-
if (areKeyboardShortcutsDisabled()) {
|
|
6472
|
-
return null;
|
|
6473
|
-
}
|
|
6474
|
-
return /* @__PURE__ */ jsxs22("span", {
|
|
6475
|
-
style: container14,
|
|
6476
|
-
children: [
|
|
6477
|
-
cmdOrCtrl ? `${cmdOrCtrlCharacter}` : "",
|
|
6478
|
-
/* @__PURE__ */ jsx59("span", {
|
|
6479
|
-
style: style4,
|
|
6480
|
-
children: keyToPress.toUpperCase()
|
|
6481
|
-
})
|
|
6482
|
-
]
|
|
6483
|
-
});
|
|
6484
|
-
};
|
|
6485
|
-
|
|
6486
6542
|
// src/state/editor-guides.ts
|
|
6487
6543
|
import { createContext as createContext13 } from "react";
|
|
6488
6544
|
var persistEditorShowGuidesOption = (option) => {
|
|
@@ -16637,7 +16693,10 @@ var ClientRenderQueueProcessor = () => {
|
|
|
16637
16693
|
onProgress: (progress) => {
|
|
16638
16694
|
onProgress(job.id, {
|
|
16639
16695
|
encodedFrames: progress.encodedFrames,
|
|
16640
|
-
totalFrames
|
|
16696
|
+
totalFrames,
|
|
16697
|
+
doneIn: progress.doneIn,
|
|
16698
|
+
renderEstimatedTime: progress.renderEstimatedTime,
|
|
16699
|
+
progress: progress.progress
|
|
16641
16700
|
});
|
|
16642
16701
|
},
|
|
16643
16702
|
outputTarget: "web-fs",
|
|
@@ -16928,8 +16987,7 @@ var RenderQueueItemStatus = ({ job }) => {
|
|
|
16928
16987
|
if (job.status === "running") {
|
|
16929
16988
|
let progressValue;
|
|
16930
16989
|
if (isClientJob) {
|
|
16931
|
-
|
|
16932
|
-
progressValue = totalFrames > 0 ? encodedFrames / totalFrames : 0;
|
|
16990
|
+
progressValue = job.progress.progress;
|
|
16933
16991
|
} else {
|
|
16934
16992
|
progressValue = job.progress.value;
|
|
16935
16993
|
}
|
|
@@ -17021,6 +17079,34 @@ var RenderQueueOutputName = ({ job }) => {
|
|
|
17021
17079
|
|
|
17022
17080
|
// src/components/RenderQueue/RenderQueueProgressMessage.tsx
|
|
17023
17081
|
import { useCallback as useCallback77, useContext as useContext43 } from "react";
|
|
17082
|
+
|
|
17083
|
+
// src/components/RenderQueue/client-render-progress.ts
|
|
17084
|
+
var formatEtaString = (timeRemainingInMilliseconds) => {
|
|
17085
|
+
const remainingTime = timeRemainingInMilliseconds / 1000;
|
|
17086
|
+
const remainingTimeHours = Math.floor(remainingTime / 3600);
|
|
17087
|
+
const remainingTimeMinutes = Math.floor(remainingTime % 3600 / 60);
|
|
17088
|
+
const remainingTimeSeconds = Math.floor(remainingTime % 60);
|
|
17089
|
+
return [
|
|
17090
|
+
remainingTimeHours ? `${remainingTimeHours}h` : null,
|
|
17091
|
+
remainingTimeMinutes ? `${remainingTimeMinutes}m` : null,
|
|
17092
|
+
`${remainingTimeSeconds}s`
|
|
17093
|
+
].filter((value) => Boolean(value)).join(" ");
|
|
17094
|
+
};
|
|
17095
|
+
var getClientRenderProgressMessage = (progress) => {
|
|
17096
|
+
if (progress.totalFrames === 0) {
|
|
17097
|
+
return "Getting composition";
|
|
17098
|
+
}
|
|
17099
|
+
if (progress.doneIn !== null) {
|
|
17100
|
+
return `Encoded ${progress.totalFrames}/${progress.totalFrames}`;
|
|
17101
|
+
}
|
|
17102
|
+
if (progress.renderEstimatedTime > 0) {
|
|
17103
|
+
const etaString = `, time remaining: ${formatEtaString(progress.renderEstimatedTime)}`;
|
|
17104
|
+
return `Rendering ${progress.encodedFrames}/${progress.totalFrames}${etaString}`;
|
|
17105
|
+
}
|
|
17106
|
+
return `Encoded ${progress.encodedFrames}/${progress.totalFrames}`;
|
|
17107
|
+
};
|
|
17108
|
+
|
|
17109
|
+
// src/components/RenderQueue/RenderQueueProgressMessage.tsx
|
|
17024
17110
|
import { jsx as jsx153 } from "react/jsx-runtime";
|
|
17025
17111
|
var outputLocation2 = {
|
|
17026
17112
|
...renderQueueItemSubtitleStyle
|
|
@@ -17038,7 +17124,7 @@ var RenderQueueProgressMessage = ({ job }) => {
|
|
|
17038
17124
|
jobId: job.id
|
|
17039
17125
|
});
|
|
17040
17126
|
}, [job.id, setSelectedModal]);
|
|
17041
|
-
const message = isClientJob ? job.progress
|
|
17127
|
+
const message = isClientJob ? getClientRenderProgressMessage(job.progress) : job.progress.message;
|
|
17042
17128
|
return /* @__PURE__ */ jsx153("button", {
|
|
17043
17129
|
onClick,
|
|
17044
17130
|
type: "button",
|
|
@@ -26890,9 +26976,15 @@ var right3 = {
|
|
|
26890
26976
|
textAlign: "right",
|
|
26891
26977
|
flex: 1
|
|
26892
26978
|
};
|
|
26893
|
-
var
|
|
26894
|
-
const done =
|
|
26895
|
-
const
|
|
26979
|
+
var ProgressStatus = ({ encodedFrames, totalFrames, doneIn, renderEstimatedTime, progress }) => {
|
|
26980
|
+
const done = doneIn !== null;
|
|
26981
|
+
const message = getClientRenderProgressMessage({
|
|
26982
|
+
encodedFrames,
|
|
26983
|
+
totalFrames,
|
|
26984
|
+
doneIn,
|
|
26985
|
+
renderEstimatedTime,
|
|
26986
|
+
progress
|
|
26987
|
+
});
|
|
26896
26988
|
return /* @__PURE__ */ jsxs120("div", {
|
|
26897
26989
|
style: progressItem,
|
|
26898
26990
|
children: [
|
|
@@ -26904,8 +26996,15 @@ var EncodingProgress = ({ encodedFrames, totalFrames }) => {
|
|
|
26904
26996
|
}),
|
|
26905
26997
|
/* @__PURE__ */ jsx237("div", {
|
|
26906
26998
|
style: label10,
|
|
26907
|
-
children:
|
|
26908
|
-
})
|
|
26999
|
+
children: message
|
|
27000
|
+
}),
|
|
27001
|
+
doneIn !== null ? /* @__PURE__ */ jsxs120("div", {
|
|
27002
|
+
style: right3,
|
|
27003
|
+
children: [
|
|
27004
|
+
doneIn,
|
|
27005
|
+
"ms"
|
|
27006
|
+
]
|
|
27007
|
+
}) : null
|
|
26909
27008
|
]
|
|
26910
27009
|
});
|
|
26911
27010
|
};
|
|
@@ -26963,15 +27062,18 @@ var ClientRenderProgress = ({ job }) => {
|
|
|
26963
27062
|
]
|
|
26964
27063
|
});
|
|
26965
27064
|
}
|
|
26966
|
-
const { encodedFrames, totalFrames } = job.progress;
|
|
27065
|
+
const { encodedFrames, totalFrames, doneIn, renderEstimatedTime, progress } = job.progress;
|
|
26967
27066
|
return /* @__PURE__ */ jsxs120("div", {
|
|
26968
27067
|
children: [
|
|
26969
27068
|
/* @__PURE__ */ jsx237(Spacing, {
|
|
26970
27069
|
y: 0.5
|
|
26971
27070
|
}),
|
|
26972
|
-
job.type === "client-video" && /* @__PURE__ */ jsx237(
|
|
27071
|
+
job.type === "client-video" && /* @__PURE__ */ jsx237(ProgressStatus, {
|
|
26973
27072
|
encodedFrames,
|
|
26974
|
-
totalFrames
|
|
27073
|
+
totalFrames,
|
|
27074
|
+
doneIn,
|
|
27075
|
+
renderEstimatedTime,
|
|
27076
|
+
progress
|
|
26975
27077
|
}),
|
|
26976
27078
|
/* @__PURE__ */ jsx237(Spacing, {
|
|
26977
27079
|
y: 1
|
|
@@ -27392,7 +27494,7 @@ var addTrueBooleanFlagsIfChanged = (flags, mappings) => {
|
|
|
27392
27494
|
}
|
|
27393
27495
|
};
|
|
27394
27496
|
var getNpmRemotionCommandPrefix = (version) => {
|
|
27395
|
-
return version.trim() === "" ? "
|
|
27497
|
+
return version.trim() === "" ? "bunx --yes --location=global -p @remotion/cli remotion" : `bunx --yes --location=global -p @remotion/cli@${version} remotion`;
|
|
27396
27498
|
};
|
|
27397
27499
|
var normalizeServeUrlForRenderCommand = ({
|
|
27398
27500
|
locationHref,
|