@higgsfield/video-editor-mcp 1.0.7 → 1.1.1-dev.0
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/THIRD_PARTY_NOTICES.md +24 -24
- package/dist/cli.mjs +134 -125
- package/dist/index.html +136 -133
- package/dist/launcher.mjs +90 -90
- package/dist/server.mjs +1553 -1389
- package/node_modules/@higgsfield/higgsedit/README.md +181 -1
- package/node_modules/@higgsfield/higgsedit/dist/capture-page.js +902 -314
- package/node_modules/@higgsfield/higgsedit/dist/chunk-2JYLVSVV.mjs +1594 -0
- package/node_modules/@higgsfield/higgsedit/dist/chunk-2WKNH7OL.mjs +16 -0
- package/node_modules/@higgsfield/higgsedit/dist/{chunk-OMKZ5BXM.mjs → chunk-5LTTL3Q3.mjs} +1 -1
- package/node_modules/@higgsfield/higgsedit/dist/chunk-7PYXSJS7.mjs +717 -0
- package/node_modules/@higgsfield/higgsedit/dist/{chunk-MLJAIZGP.mjs → chunk-BH2QF635.mjs} +33 -326
- package/node_modules/@higgsfield/higgsedit/dist/{chunk-WZR5PZM7.mjs → chunk-BV5COOQZ.mjs} +250 -161
- package/node_modules/@higgsfield/higgsedit/dist/{chunk-HTCYVKFX.mjs → chunk-C3GSB3XZ.mjs} +8 -7
- package/node_modules/@higgsfield/higgsedit/dist/{chunk-CYH2EUQV.mjs → chunk-DVN4LUXV.mjs} +13 -4
- package/node_modules/@higgsfield/higgsedit/dist/chunk-F4CMIG5G.mjs +36 -0
- package/node_modules/@higgsfield/higgsedit/dist/chunk-IEPPEDEU.mjs +33 -0
- package/node_modules/@higgsfield/higgsedit/dist/{chunk-UVAZ6I6U.mjs → chunk-KIWGVAPJ.mjs} +16 -12
- package/node_modules/@higgsfield/higgsedit/dist/{chunk-L6QDNSL3.mjs → chunk-L5LWBA6A.mjs} +5 -5
- package/node_modules/@higgsfield/higgsedit/dist/chunk-LMQR3DHT.mjs +37 -0
- package/node_modules/@higgsfield/higgsedit/dist/chunk-LTKMGZ6T.mjs +58 -0
- package/node_modules/@higgsfield/higgsedit/dist/{chunk-VI6IV6JP.mjs → chunk-MV2JTTBQ.mjs} +65 -47
- package/node_modules/@higgsfield/higgsedit/dist/{chunk-4D6AXU4B.mjs → chunk-NARTAWRN.mjs} +50 -30
- package/node_modules/@higgsfield/higgsedit/dist/{chunk-27NBQ5FA.mjs → chunk-NUXTKQNM.mjs} +33 -21
- package/node_modules/@higgsfield/higgsedit/dist/chunk-OCIZ36XD.mjs +40 -0
- package/node_modules/@higgsfield/higgsedit/dist/{chunk-MK6PL7N4.mjs → chunk-OF6RMSM2.mjs} +19 -17
- package/node_modules/@higgsfield/higgsedit/dist/{chunk-6BETMESC.mjs → chunk-P2BGHTRR.mjs} +2 -2
- package/node_modules/@higgsfield/higgsedit/dist/{chunk-EKFC4S4M.mjs → chunk-PAHMD6SU.mjs} +5 -0
- package/node_modules/@higgsfield/higgsedit/dist/{chunk-QVLAEV3U.mjs → chunk-PFQYUJQL.mjs} +3 -4
- package/node_modules/@higgsfield/higgsedit/dist/chunk-QJTILFBS.mjs +335 -0
- package/node_modules/@higgsfield/higgsedit/dist/chunk-QQ3GGKDN.mjs +21 -0
- package/node_modules/@higgsfield/higgsedit/dist/chunk-TH7TK67K.mjs +23 -0
- package/node_modules/@higgsfield/higgsedit/dist/{chunk-SIMO6I3D.mjs → chunk-UDL5AHKO.mjs} +163 -158
- package/node_modules/@higgsfield/higgsedit/dist/chunk-UMWOUQN3.mjs +60 -0
- package/node_modules/@higgsfield/higgsedit/dist/{chunk-3AIM3THH.mjs → chunk-VLM5EOWJ.mjs} +4 -4
- package/node_modules/@higgsfield/higgsedit/dist/chunk-WENFTPXQ.mjs +403 -0
- package/node_modules/@higgsfield/higgsedit/dist/chunk-YLVXQIPX.mjs +464 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/.vite/manifest.json +559 -506
- package/node_modules/@higgsfield/higgsedit/dist/editor/assets/agent-corner-bottom-q4hZltI-.svg +431 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/assets/agent-corner-top-BJYI-I24.svg +431 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/assets/confirmation-BTnwl3LS.css +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/assets/drag-Bt_t4HZO.css +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/assets/local-B3OTAV_A.css +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/assets/menubar-2Y1Y2XJt.css +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/assets/model-DdE4hCgf.css +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/assets/{IconText1-CzbCrP7v.css → notifications-B08L1jSe.css} +1 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/assets/{panel-g852pZf_.css → panel-BRN_AbBM.css} +1 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/assets/panel-CYELNqrv.css +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/assets/panel-DYLpT6oA.css +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/assets/panel-v84HaGTZ.css +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/IconChainLink1-Bxb1Or0F.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/{IconCheckmark2Medium-daaES9uF.js → IconCheckmark2Medium-hegaz9mQ.js} +1 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/{IconChevronDownSmall-BhTBJk26.js → IconChevronDownSmall-DaruzJwU.js} +1 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/IconClosedCaptioning-BPqcqKsD.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/{IconCrossMedium-acfnCXOM.js → IconCrossMedium-BsPFJzc6.js} +1 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/IconOpenaiFilled-D1fzthmi.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/{IconPause-pTeVSvUe.js → IconPause-ClNg8pao.js} +1 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/{IconPlayFilled-CwdgIuDG.js → IconPlayFilled-CHb-7GSx.js} +1 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/IconSparklesSoftFilled-o7o33KRn.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/ai-composer-B9h-eaki.js +567 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/auto-layout-BO20Tg4B.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/{button-CjG6GcgF.js → button-Cg0U0zpV.js} +1 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/canvas-Bw4CVzfw.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/capabilities-BCd4-zPF.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/commands-QeSqAbCt.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/components-tXMtIZNL.js +51 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/confirmation-CO2PHR_z.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/dom-6aoQn29n.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/drag-Dw8b_vO2.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/{editing-CjWbiCxv.js → editing-Cy-SaOyB.js} +1 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/edits-CqLBqir0.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/export-dialog-BjBskOe3.js +2 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/factories-Bw_iQrUL.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/id3-CSR0NCRI.js +2 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/import-DP49i4ke.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/import-error-CMz9sLPe.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/ingest-DsmIc415.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/jsx-runtime-B5yqYJvp.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/{media-Bwjxu-0U.js → media-DQw6vU_T.js} +1 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/menubar-D31srALX.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/meters-D0nZVEJs.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/mode-DEG6doKF.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/model-Duf9fszJ.js +2 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/model-DyAkLA69.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/notifications-DqWZNIrK.js +9 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/palette-HT83gWgL.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-B5Mvm6dg.js +7 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-BC90wyvd.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-Bw_ZJ2JI.js +3 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-DNS060Nt.js +3 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-DSgxIrEq.js +2 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-DgBttE5O.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-assets-_T2bHsHW.js +771 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-inspector-DfHvAt5X.js +2 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-nBZvHlkA.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-timeline-DsCpJVSt.js +327 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-viewport-CEhZwZ67.js +280 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/projects-2_tW9Do7.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/react-dom-1uB7Vbbb.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/schemas-CddYAOcj.js +64 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/session-BpFeKAI2.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/src-BLG3tYBa.js +2 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/styles-e2n2A_JN.js +284 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/supercomputer-CuV0zYKd.js +24 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/tabs-XeAgs9cs.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/toggle-DbNEaSIl.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/transport-C8Ll3qFl.js +69 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/transport-bar-Dv1LPFbu.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/useOpenInteractionType-HWSfSsp2.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/useRenderElement-D4SOg3N_.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/value-EB7YmAdS.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/writeback-support-fj5rA9k3.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/editor-B-WAkLt7.js +372 -0
- package/node_modules/@higgsfield/higgsedit/dist/higgsedit.mjs +39 -24
- package/node_modules/@higgsfield/higgsedit/dist/jsx/hooks.d.ts +26 -0
- package/node_modules/@higgsfield/higgsedit/dist/jsx/index.d.ts +17 -0
- package/node_modules/@higgsfield/higgsedit/dist/jsx/inspect.d.ts +42 -0
- package/node_modules/@higgsfield/higgsedit/dist/jsx/jsx-runtime.d.ts +28 -0
- package/node_modules/@higgsfield/higgsedit/dist/jsx/svg.d.ts +9 -0
- package/node_modules/@higgsfield/higgsedit/dist/jsx/time.d.ts +6 -0
- package/node_modules/@higgsfield/higgsedit/dist/jsx/types.d.ts +420 -0
- package/node_modules/@higgsfield/higgsedit/package.json +28 -20
- package/package.json +4 -3
- package/plugin/.codex-plugin/plugin.json +1 -1
- package/plugin/plugin.json +1 -1
- package/plugin/skills/video-editing/references/caption-titling.md +1 -1
- package/plugin/skills/video-editing/references/local-setup.md +3 -3
- package/node_modules/@higgsfield/higgsedit/dist/chunk-C6SASQHE.mjs +0 -424
- package/node_modules/@higgsfield/higgsedit/dist/chunk-FZ5U36SQ.mjs +0 -83
- package/node_modules/@higgsfield/higgsedit/dist/chunk-QLPCYN6K.mjs +0 -292
- package/node_modules/@higgsfield/higgsedit/dist/editor/assets/edit-drag-D2EV5ddd.css +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/assets/editor-CuRHT75g.css +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/assets/panel-DnuQD7ja.css +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/FieldControl-B0fenhBJ.js +0 -2
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/IconChainLink1-Cwv1X7hi.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/IconEyeOpen-BqTT9_VV.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/IconEyeSlash-Whv58c1m.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/IconPencil-Dr17k_7e.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/IconPlay-BroH3ziH.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/IconPlusSmall-43T9aE3d.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/IconText1-BaP_p9DW.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/IconTrashCan-DX2w2AIC.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/ai-composer-C-l0eIdP.js +0 -560
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/captions-Cd-bDG3G.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/clip-highlight-DpAvcA4x.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/components-e3ZbUVns.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/disposables-CwUPjcuA.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/drag-HLBkto5o.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/dropdown-BJ04G_X3.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/edit-drag-Bg6LggKC.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/edits-a2IixhrN.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/export-dialog-4I4gqI5V.js +0 -2
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/face-tracker-DzVfjVOO.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/fit-imported-media-CaCB0x0b.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/generation-queue-DuL2F4-_.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/import-error-CMARA0Hy.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/jsx-runtime-B-hcVAMW.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/menubar-Bs26OdwP.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/meters-YEr9OQjq.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/paints-DS2Msf91.js +0 -67
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/palette-CcS9IcAC.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-7M3uQokX.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-BBK1NyG-.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-CHZTs7By.js +0 -4
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-DaSOa3MP.js +0 -2
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-DlK3RYVo.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-Dst5OKWu.js +0 -2
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-H_ZoDiKK.js +0 -2
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-Rn9Z7Eek.js +0 -3
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-assets-FAghGFG3.js +0 -678
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-inspector-DEqULBNF.js +0 -260
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-timeline-0GYNz1uc.js +0 -333
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-viewport-DOWjJi5-.js +0 -317
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/projects-BBJc7h5_.js +0 -2
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/session-B9sZaFKC.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/supercomputer-CX-LCL6Y.js +0 -24
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/tabs-CvKQ-eas.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/toggle-CrzrwiDZ.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/transport-BgRfk-Qq.js +0 -69
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/transport-bar-C9nqAfE2.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/typography-C5-w9LOu-kD3uLKkf.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/useOpenInteractionType-DbrQ6Ehu.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/useRenderElement-bbxXdYq0.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/writeback-support-BZfNpkmB.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/editor-Csn2_T_e.js +0 -293
- package/node_modules/@higgsfield/higgsedit/dist/export-settings.mjs +0 -75
- package/node_modules/@higgsfield/higgsedit/dist/history.mjs +0 -295
- package/node_modules/@higgsfield/higgsedit/dist/media-upload.mjs +0 -381
- package/node_modules/@higgsfield/higgsedit/dist/proxy.mjs +0 -170
|
@@ -0,0 +1,284 @@
|
|
|
1
|
+
import{t as e}from"./dom-6aoQn29n.js";var t=`fable-panel-inspector-styles`,n=`
|
|
2
|
+
.fable-inspector {
|
|
3
|
+
height: 100%;
|
|
4
|
+
overflow: hidden;
|
|
5
|
+
display: flex;
|
|
6
|
+
flex-direction: column;
|
|
7
|
+
min-height: 0;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.fable-inspector .panel-header {
|
|
11
|
+
flex: none;
|
|
12
|
+
border-bottom: 1px solid var(--hf-color-border-subtle);
|
|
13
|
+
display: flex;
|
|
14
|
+
align-items: center;
|
|
15
|
+
justify-content: space-between;
|
|
16
|
+
padding: 10px 14px 8px;
|
|
17
|
+
}
|
|
18
|
+
.fable-inspector .zoom-readout {
|
|
19
|
+
font-variant-numeric: tabular-nums;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.fable-inspector .inspector-body {
|
|
23
|
+
flex: 1;
|
|
24
|
+
min-height: 0;
|
|
25
|
+
overflow-y: auto;
|
|
26
|
+
padding-bottom: 24px;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.fable-inspector .muted { color: var(--hf-color-text-tertiary); }
|
|
30
|
+
.fable-inspector fieldset.contents {
|
|
31
|
+
display: contents;
|
|
32
|
+
min-inline-size: 0;
|
|
33
|
+
margin: 0;
|
|
34
|
+
border: 0;
|
|
35
|
+
padding: 0;
|
|
36
|
+
}
|
|
37
|
+
.fable-inspector .alignment-buttons {
|
|
38
|
+
display: grid;
|
|
39
|
+
grid-template-columns: repeat(6, minmax(0, 1fr));
|
|
40
|
+
gap: 2px;
|
|
41
|
+
}
|
|
42
|
+
.fable-inspector .alignment-buttons > button { width: 100%; min-width: 0; }
|
|
43
|
+
.fable-inspector .num-readout {
|
|
44
|
+
width: 38px;
|
|
45
|
+
flex: none;
|
|
46
|
+
text-align: right;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.fable-inspector .section-head {
|
|
50
|
+
display: flex;
|
|
51
|
+
align-items: center;
|
|
52
|
+
justify-content: space-between;
|
|
53
|
+
gap: 8px;
|
|
54
|
+
margin-bottom: 4px;
|
|
55
|
+
min-height: 22px;
|
|
56
|
+
}
|
|
57
|
+
.fable-inspector .section-title.clip-name {
|
|
58
|
+
overflow: hidden;
|
|
59
|
+
white-space: nowrap;
|
|
60
|
+
text-overflow: ellipsis;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.fable-inspector .picker { flex: 1; min-width: 0; }
|
|
64
|
+
.fable-inspector .picker .fui-menu-wrap { width: 100%; }
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
.fable-inspector .ai-edit-grid {
|
|
68
|
+
display: grid;
|
|
69
|
+
grid-template-columns: 1fr 1fr;
|
|
70
|
+
gap: 6px;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
.fable-inspector .axis-field {
|
|
75
|
+
display: flex;
|
|
76
|
+
align-items: center;
|
|
77
|
+
gap: 4px;
|
|
78
|
+
flex: 1;
|
|
79
|
+
min-width: 0;
|
|
80
|
+
}
|
|
81
|
+
.fable-inspector .axis-field .fui-number { width: 100%; flex: 1; }
|
|
82
|
+
.fable-inspector .axis-label {
|
|
83
|
+
flex: none;
|
|
84
|
+
width: 10px;
|
|
85
|
+
text-align: center;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
.fable-inspector .angle-field { width: 52px; flex: none; }
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
.fable-inspector .reset-btn {
|
|
93
|
+
width: 20px;
|
|
94
|
+
height: 20px;
|
|
95
|
+
flex: none;
|
|
96
|
+
border: none;
|
|
97
|
+
background: transparent;
|
|
98
|
+
color: var(--hf-color-text-tertiary);
|
|
99
|
+
display: inline-flex;
|
|
100
|
+
align-items: center;
|
|
101
|
+
justify-content: center;
|
|
102
|
+
cursor: pointer;
|
|
103
|
+
padding: 0;
|
|
104
|
+
}
|
|
105
|
+
.fable-inspector .reset-btn:hover:not(:disabled) { color: var(--hf-color-text-primary); }
|
|
106
|
+
.fable-inspector .reset-btn:disabled { opacity: 0.35; cursor: default; }
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
.fable-inspector .link-btn {
|
|
110
|
+
width: 16px;
|
|
111
|
+
height: 20px;
|
|
112
|
+
flex: none;
|
|
113
|
+
border: none;
|
|
114
|
+
background: transparent;
|
|
115
|
+
color: var(--hf-color-text-tertiary);
|
|
116
|
+
display: inline-flex;
|
|
117
|
+
align-items: center;
|
|
118
|
+
justify-content: center;
|
|
119
|
+
cursor: pointer;
|
|
120
|
+
padding: 0;
|
|
121
|
+
}
|
|
122
|
+
.fable-inspector .link-btn:hover { color: var(--hf-color-text-primary); }
|
|
123
|
+
.fable-inspector .link-btn.active { color: var(--hf-color-brand-primary); }
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
.fable-inspector .ctl-spacer { width: 20px; flex: none; }
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
.fable-inspector .text-area {
|
|
130
|
+
width: 100%;
|
|
131
|
+
resize: vertical;
|
|
132
|
+
min-height: 56px;
|
|
133
|
+
font-family: inherit;
|
|
134
|
+
margin-bottom: 4px;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
.fable-inspector .style-btn { background: var(--hf-color-background-tertiary); }
|
|
139
|
+
.fable-inspector .italic-btn { font-style: italic; font-family: Georgia, serif; }
|
|
140
|
+
.fable-inspector .bold-btn { font-weight: 700; }
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
.fable-inspector .effect { padding: 4px 0; border-bottom: 1px solid var(--hf-color-border-subtle); }
|
|
144
|
+
.fable-inspector .effect:last-child { border-bottom: none; }
|
|
145
|
+
.fable-inspector .effect-row { display: flex; align-items: center; gap: 8px; padding: 2px 0; }
|
|
146
|
+
.fable-inspector .effect-row .fx-label { flex: 1; }
|
|
147
|
+
.fable-inspector .anim-entry { padding: 4px 0; border-bottom: 1px solid var(--hf-color-border-subtle); }
|
|
148
|
+
.fable-inspector .anim-entry:last-child { border-bottom: none; }
|
|
149
|
+
.fable-inspector .anim-dir { width: 58px; flex: none; padding: 4px 6px; }
|
|
150
|
+
.fable-inspector .anim-hint { padding: 6px 0 2px; }
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
.fable-inspector .easing-picker {
|
|
154
|
+
position: relative;
|
|
155
|
+
display: flex;
|
|
156
|
+
align-items: center;
|
|
157
|
+
gap: 6px;
|
|
158
|
+
flex: 1;
|
|
159
|
+
min-width: 0;
|
|
160
|
+
}
|
|
161
|
+
.fable-inspector .easing-picker .fui-number { width: 48px; }
|
|
162
|
+
.fable-inspector .bezier-pop {
|
|
163
|
+
position: absolute;
|
|
164
|
+
top: calc(100% + 4px);
|
|
165
|
+
right: 0;
|
|
166
|
+
z-index: 1000;
|
|
167
|
+
min-width: 0;
|
|
168
|
+
padding: 10px;
|
|
169
|
+
}
|
|
170
|
+
.fable-inspector .bezier-canvas { width: 200px; height: 168px; }
|
|
171
|
+
.fable-inspector .bezier-canvas canvas {
|
|
172
|
+
border-radius: var(--hf-radius-200);
|
|
173
|
+
background: var(--hf-color-background-primary);
|
|
174
|
+
cursor: crosshair;
|
|
175
|
+
}
|
|
176
|
+
.fable-inspector .bezier-footer {
|
|
177
|
+
display: flex;
|
|
178
|
+
align-items: center;
|
|
179
|
+
justify-content: space-between;
|
|
180
|
+
gap: 8px;
|
|
181
|
+
margin-top: 8px;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
|
|
185
|
+
.fable-inspector .grad-strip {
|
|
186
|
+
position: relative;
|
|
187
|
+
height: 18px;
|
|
188
|
+
margin: 6px 0 10px;
|
|
189
|
+
border-radius: 6px;
|
|
190
|
+
border: 1px solid var(--hf-color-border-subtle);
|
|
191
|
+
cursor: copy;
|
|
192
|
+
background-color: var(--hf-color-background-tertiary);
|
|
193
|
+
}
|
|
194
|
+
.fable-inspector .grad-handle {
|
|
195
|
+
position: absolute;
|
|
196
|
+
top: -3px;
|
|
197
|
+
bottom: -3px;
|
|
198
|
+
width: 10px;
|
|
199
|
+
transform: translateX(-50%);
|
|
200
|
+
border: 2px solid var(--hf-color-text-primary);
|
|
201
|
+
border-radius: 4px;
|
|
202
|
+
padding: 0;
|
|
203
|
+
cursor: ew-resize;
|
|
204
|
+
}
|
|
205
|
+
.fable-inspector .grad-handle.active { border-color: var(--hf-color-brand-primary); }
|
|
206
|
+
|
|
207
|
+
.fable-inspector.inspector-properties { flex: 1; height: auto; min-width: 0; font-size: 14px; line-height: 16px; }
|
|
208
|
+
.inspector-properties .inspector-body { padding: 8px 12px 16px; scrollbar-width: thin; scrollbar-color: var(--hf-color-border-subtle) transparent; }
|
|
209
|
+
.inspector-properties .fui-section { padding: 0 0 16px; border: 0; }
|
|
210
|
+
.inspector-properties .fui-section-head { min-height: 36px; padding: 8px 6px 12px; margin: 0; font-size: 14px; line-height: 16px; }
|
|
211
|
+
.inspector-properties .fui-row { min-height: 36px; padding: 2px 6px; gap: 8px; }
|
|
212
|
+
.inspector-properties .fui-row-label { width: 86px; color: var(--hf-color-text-secondary, #828282); font-size: 14px; font-weight: 500; white-space: nowrap; }
|
|
213
|
+
.inspector-properties .fui-row-controls { justify-content: flex-end; gap: 4px; }
|
|
214
|
+
.inspector-properties .fui-number { width: 64px; min-width: 0; }
|
|
215
|
+
.inspector-properties .fui-number { text-align: right; }
|
|
216
|
+
.inspector-properties .fui-select { width: 100%; }
|
|
217
|
+
.inspector-properties .fui-number:disabled { opacity: .4; }
|
|
218
|
+
.inspector-properties .axis-field { gap: 0; }
|
|
219
|
+
.inspector-properties .axis-label { color: var(--hf-color-text-secondary); }
|
|
220
|
+
.inspector-properties .alignment-buttons { padding: 0 6px; gap: 8px; }
|
|
221
|
+
.inspector-properties .properties-corners { display: flex; width: 100%; min-width: 0; }
|
|
222
|
+
.inspector-properties .properties-corner { display: flex; align-items: center; gap: 1px; flex: 1; min-width: 0; }
|
|
223
|
+
.inspector-properties .properties-corner img { width: 12px; height: 12px; flex: none; }
|
|
224
|
+
.inspector-properties .properties-corner img[data-corner="tl"] { transform: rotate(180deg) scaleY(-1); }
|
|
225
|
+
.inspector-properties .properties-corner img[data-corner="tr"] { transform: scaleX(-1); }
|
|
226
|
+
.inspector-properties .properties-corner img[data-corner="br"] { transform: scaleY(-1); }
|
|
227
|
+
.inspector-properties .properties-corner img[data-corner="bl"] { transform: rotate(180deg); }
|
|
228
|
+
.inspector-properties .properties-corner .fui-number { width: 100%; padding-inline: 0; text-align: center; }
|
|
229
|
+
.properties-switch { position: relative; width: 24px; height: 16px; padding: 0; border: 0; border-radius: 16px; background: var(--hf-color-transparent-light-20); cursor: pointer; }
|
|
230
|
+
.properties-switch::after { content: ""; position: absolute; width: 12px; height: 12px; top: 2px; left: 2px; border-radius: 50%; background: var(--hf-color-text-primary); transition: transform 140ms ease; }
|
|
231
|
+
.properties-switch[aria-checked="true"] { background: var(--hf-color-brand-primary); }
|
|
232
|
+
.properties-switch[aria-checked="true"]::after { transform: translateX(8px); background: var(--hf-color-background-primary); }
|
|
233
|
+
.properties-switch:focus-visible { outline: 1px solid var(--hf-color-brand-primary); outline-offset: 3px; }
|
|
234
|
+
.properties-switch:disabled { opacity: .4; cursor: default; }
|
|
235
|
+
|
|
236
|
+
.inspector-properties { color-scheme: dark; container: editor-properties / inline-size; }
|
|
237
|
+
.inspector-properties .fui-input { max-width: 100%; height: 28px; border-radius: 6px; padding: 4px 6px; border-color: transparent; background-color: transparent; color: var(--hf-color-text-primary); font: inherit; box-shadow: none; }
|
|
238
|
+
.inspector-properties .fui-input:hover:not(:disabled) { background-color: var(--hf-color-transparent-light-05); border-color: transparent; }
|
|
239
|
+
.inspector-properties .fui-input:focus { border-color: var(--hf-color-border-focus, var(--hf-color-brand-primary)); background-color: var(--hf-color-transparent-light-05); }
|
|
240
|
+
.inspector-properties .fui-text-field { width: 100%; }
|
|
241
|
+
.inspector-properties .fui-text-area { height: auto; min-height: 76px; padding: 8px; background: var(--hf-color-transparent-light-05); line-height: 20px; }
|
|
242
|
+
.inspector-properties .fui-time-field { text-align: right; }
|
|
243
|
+
.inspector-properties .fui-color-field { flex: 1; min-width: 0; height: 28px; border: 1px solid transparent; border-radius: 6px; padding: 4px; background: transparent; }
|
|
244
|
+
.inspector-properties .fui-color-field:hover { background: var(--hf-color-transparent-light-05); }
|
|
245
|
+
.inspector-properties .fui-color-field:focus-within { border-color: var(--hf-color-border-focus, var(--hf-color-brand-primary)); }
|
|
246
|
+
.inspector-properties .fui-hex { width: 100%; min-width: 0; font: inherit; }
|
|
247
|
+
.inspector-properties .q-button, .inspector-properties .q-dropdown-trigger { min-width: 0; min-height: 28px; height: auto; padding: 6px 8px; border: 0; border-radius: 6px; color: var(--hf-color-text-primary); font: inherit; line-height: 16px; }
|
|
248
|
+
.inspector-properties .q-dropdown-trigger { display: flex; align-items: center; justify-content: space-between; gap: 6px; width: 100%; background: var(--hf-color-transparent-light-05); cursor: pointer; }
|
|
249
|
+
.inspector-properties .q-dropdown-trigger > span:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
250
|
+
.inspector-properties .q-dropdown-trigger > span:last-child:not(:first-child) { flex: none; }
|
|
251
|
+
.inspector-properties .q-button-secondary { background: var(--hf-color-transparent-light-05); }
|
|
252
|
+
.inspector-properties .q-button-tertiary { background: transparent; color: var(--hf-color-text-secondary); }
|
|
253
|
+
.inspector-properties .q-button-brand-soft { background: var(--hf-color-transparent-light-10); color: var(--hf-color-text-primary); }
|
|
254
|
+
.inspector-properties .q-button-ghost, .inspector-properties .q-button-icon-only { background: transparent; color: var(--hf-color-text-secondary); }
|
|
255
|
+
.inspector-properties .q-button:hover:not(:disabled), .inspector-properties .q-dropdown-trigger:hover:not(:disabled), .inspector-properties .q-dropdown-trigger[data-popup-open] { background: var(--hf-color-transparent-light-05); color: var(--hf-color-text-primary); }
|
|
256
|
+
.inspector-properties .q-button:focus-visible, .inspector-properties .q-dropdown-trigger:focus-visible, .inspector-properties summary:focus-visible { outline: 1px solid var(--hf-color-brand-primary); outline-offset: 2px; }
|
|
257
|
+
.inspector-properties .q-button:disabled, .inspector-properties .q-dropdown-trigger:disabled { opacity: .35; cursor: default; }
|
|
258
|
+
.inspector-properties .q-button-icon-only, .inspector-properties .q-dropdown-trigger.icon-btn { width: 28px; min-width: 28px; height: 28px; padding: 6px; flex: none; justify-content: center; }
|
|
259
|
+
.inspector-properties .alignment-buttons > button { width: 100%; min-width: 0; padding: 4px; }
|
|
260
|
+
.inspector-properties .q-button.active { color: var(--hf-color-brand-primary); }
|
|
261
|
+
.inspector-properties .q-button[aria-pressed="true"]:not(.link-btn) { color: var(--hf-color-text-primary); background: var(--hf-color-transparent-light-10); }
|
|
262
|
+
.inspector-properties .properties-dimensions > .link-btn { position: absolute; right: 0; top: calc(50% - 14px); }
|
|
263
|
+
.inspector-properties .properties-dimensions { position: relative; padding-right: 28px; }
|
|
264
|
+
.inspector-properties .properties-segmented { display: flex; flex: 1; min-width: 0; gap: 2px; padding: 2px; background: var(--hf-color-transparent-light-05); border-radius: 8px; }
|
|
265
|
+
.inspector-properties .properties-segmented > button { flex: 1; padding-inline: 4px; font-size: 12px; }
|
|
266
|
+
.inspector-properties .fui-slider { appearance: none; height: 4px; border: 0; border-radius: 4px; background: var(--hf-color-transparent-light-20); cursor: pointer; }
|
|
267
|
+
.inspector-properties .fui-slider::-webkit-slider-thumb { appearance: none; width: 12px; height: 12px; border: 0; border-radius: 50%; background: var(--hf-color-text-primary); }
|
|
268
|
+
.inspector-properties .fui-slider::-moz-range-thumb { width: 12px; height: 12px; border: 0; border-radius: 50%; background: var(--hf-color-text-primary); }
|
|
269
|
+
.inspector-properties .fui-slider:focus-visible { outline: 1px solid var(--hf-color-brand-primary); outline-offset: 4px; }
|
|
270
|
+
.inspector-properties .fui-slider:disabled { opacity: .35; cursor: default; }
|
|
271
|
+
.inspector-properties .effect, .inspector-properties .anim-entry { padding: 8px 6px; }
|
|
272
|
+
.inspector-properties .effect-row { min-width: 0; gap: 6px; }
|
|
273
|
+
.inspector-properties .fx-label { min-width: 0; overflow-wrap: anywhere; }
|
|
274
|
+
.inspector-properties .anim-dir { width: 60px; flex: none; }
|
|
275
|
+
.inspector-properties .fui-note, .inspector-properties .anim-hint { padding: 4px 6px; color: var(--hf-color-text-secondary); font-size: 12px; line-height: 18px; }
|
|
276
|
+
.inspector-properties .ai-edit-grid > button { white-space: normal; text-align: center; }
|
|
277
|
+
@container editor-properties (max-width: 240px) {
|
|
278
|
+
.inspector-properties .fui-row { flex-wrap: wrap; row-gap: 4px; padding-block: 6px; }
|
|
279
|
+
.inspector-properties .fui-row-label { width: 100%; font-size: 12px; }
|
|
280
|
+
.inspector-properties .fui-row-controls { flex-basis: 100%; flex-wrap: wrap; justify-content: flex-start; }
|
|
281
|
+
.inspector-properties .alignment-buttons { gap: 2px; }
|
|
282
|
+
}
|
|
283
|
+
@media (prefers-reduced-motion: reduce) { .properties-switch::after { transition: none; } }
|
|
284
|
+
`;function r(r){e(r,t,n)}export{t as STYLE_ELEMENT_ID,r as injectInspectorStyles};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["chunks/panel-BC90wyvd.js","chunks/jsx-runtime-B5yqYJvp.js","chunks/useRenderElement-D4SOg3N_.js","editor-B-WAkLt7.js","chunks/notifications-DqWZNIrK.js","chunks/react-dom-1uB7Vbbb.js","assets/notifications-B08L1jSe.css","chunks/capabilities-BCd4-zPF.js","chunks/session-BpFeKAI2.js","chunks/src-BLG3tYBa.js","chunks/factories-Bw_iQrUL.js","chunks/ingest-DsmIc415.js","chunks/value-EB7YmAdS.js","chunks/schemas-CddYAOcj.js","chunks/import-error-CMz9sLPe.js","chunks/IconCheckmark2Medium-hegaz9mQ.js","chunks/edits-CqLBqir0.js","chunks/asset-op-C6YhYJcd.js","chunks/dom-6aoQn29n.js","chunks/import-DP49i4ke.js","chunks/editing-Cy-SaOyB.js","chunks/model-Duf9fszJ.js","chunks/useOpenInteractionType-HWSfSsp2.js","assets/local-B3OTAV_A.css","chunks/button-Cg0U0zpV.js","chunks/IconCrossMedium-BsPFJzc6.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{n as e,t}from"./capabilities-BCd4-zPF.js";import{t as n}from"./session-BpFeKAI2.js";import{t as r}from"./value-EB7YmAdS.js";import{t as i}from"./dom-6aoQn29n.js";import{St as a,Ut as o}from"../editor-B-WAkLt7.js";import{t as s}from"./panel-4DTzhYdA.js";var c=`capability:storage/local`,l=[{id:`document.undo`,title:`Undo`,category:`Edit`},{id:`document.redo`,title:`Redo`,category:`Edit`},{id:`fable.session.play`,title:`Play`,category:`Transport`},{id:`fable.session.pause`,title:`Pause`,category:`Transport`},{id:`fable.session.seekStart`,title:`Seek to start`,category:`Transport`},{id:`fable.session.seekEnd`,title:`Seek to end`,category:`Transport`},{id:`fable.transport.delete`,title:`Delete selection`,category:`Edit`},{id:`fable.transport.duplicate`,title:`Duplicate selection`,category:`Edit`},{id:`fable.transport.selectAll`,title:`Select all`,category:`Edit`},{id:`fable.transport.deselect`,title:`Deselect`,category:`Edit`},{id:`fable.panel-timeline.splitAtPlayhead`,title:`Split at playhead`,category:`Timeline`},{id:`fable.panel-timeline.addMarkerAtPlayhead`,title:`Add marker`,category:`Timeline`}],u=new Set([`queued`,`in_progress`,`completed`,`failed`,`canceled`]);function d(e){if(typeof e!=`object`||!e||Array.isArray(e))throw Error(`Invalid generation payload`);let t=e;if(typeof t.jobId!=`string`||typeof t.modelId!=`string`||typeof t.label!=`string`)throw Error(`Generation payload needs jobId, modelId, and label`);if(t.kind!==`video`&&t.kind!==`image`)throw Error(`Generation kind must be video or image`);if(typeof t.status!=`string`||!u.has(t.status))throw Error(`Invalid generation status`);if(typeof t.duration!=`number`||!Number.isFinite(t.duration)||t.duration<0)throw Error(`Generation duration must be non-negative seconds`);if(t.start!==void 0&&(typeof t.start!=`number`||!Number.isFinite(t.start)||t.start<0))throw Error(`Generation start must be non-negative seconds`);if(t.createdAt!==void 0&&(typeof t.createdAt!=`number`||!Number.isFinite(t.createdAt)))throw Error(`Generation createdAt must be finite`);if(t.projectId!==void 0&&(typeof t.projectId!=`string`||t.projectId.length===0))throw Error(`Generation projectId must be a non-empty string`);return t}var f={x:0,y:0,scaleX:1,scaleY:1,rotation:0,skewX:0,skewY:0,anchorX:.5,anchorY:.5,flipX:!1,flipY:!1},p=()=>crypto.randomUUID(),m=e=>JSON.parse(JSON.stringify(e));function h(e,t,n){let r=e.kind===`image`?5:e.duration??5,i=e.width!=null&&e.width>0?e.width:t.width,a=e.height!=null&&e.height>0?e.height:t.height,o=Math.min(t.width/i,t.height/a),s={id:p(),name:e.name,transform:{...f,x:t.width/2,y:t.height/2,scaleX:o,scaleY:o},size:{width:i,height:a},opacity:1,blendMode:`normal`,effects:[],timeRange:{start:n,duration:r},animations:[],presetAnimations:[],mask:null,locked:!1,hidden:!1};return e.kind===`audio`?{...s,kind:`audio`,size:{width:0,height:0},transform:{...f},assetId:e.id,trim:{start:0,end:e.duration??r},speed:1,preservePitch:!0,volume:1,muted:!1}:{...s,kind:`media`,assetId:e.id,trim:{start:0,end:e.duration??r},speed:1,preservePitch:!0,volume:1,muted:!1,cornerRadius:{mixed:!1,uniform:0,tl:0,tr:0,br:0,bl:0}}}function g(e,t){let n=decodeURIComponent(e.pathname.split(`/`).pop()??``).trim();if(n.includes(`.`))return n;let r=t===`video/mp4`?`mp4`:t===`image/png`?`png`:t===`image/jpeg`?`jpg`:`bin`;return`higgsfield-${Date.now()}.${r}`}function _(e,t){let n=(t??``).split(`;`)[0].trim().toLowerCase();return/^(video|image|audio)\//.test(n)?n:{mp4:`video/mp4`,webm:`video/webm`,mov:`video/quicktime`,m4v:`video/x-m4v`,mkv:`video/x-matroska`,png:`image/png`,jpg:`image/jpeg`,jpeg:`image/jpeg`,webp:`image/webp`,gif:`image/gif`,avif:`image/avif`,mp3:`audio/mpeg`,wav:`audio/wav`,ogg:`audio/ogg`,m4a:`audio/mp4`,aac:`audio/aac`,flac:`audio/flac`}[e.pathname.split(`.`).pop()?.toLowerCase()??``]??null}function v(e){if(e!==void 0)return m(e)}function y(i){let a=new r(!1),o=Promise.all([i.require(e),i.require(n),i.require(t),i.require(c)]);async function s(e,t){try{let n=new URL(e);if(n.protocol!==`https:`&&!(n.protocol===`http:`&&[`localhost`,`127.0.0.1`].includes(n.hostname)))return{ok:!1,reason:`unsupported-url`};let r=await fetch(n.href);if(!r.ok)return{ok:!1,reason:`download-failed`};let a=_(n,r.headers.get(`content-type`));if(!a)return{ok:!1,reason:`unsupported-format`};let[s,c,l,u]=await o,d=new File([await r.blob()],g(n,a),{type:a}),f=await u.importFile(d,{sourceUrl:n.href}),v=s.snapshot(),y=v?.scenes.find(e=>e.id===v.activeSceneId);if(!v||!y)return{ok:!1,reason:`no-active-sequence`};let b=h(f,y,Number.isFinite(t)?Math.max(0,t):Math.max(0,c.currentTime.get())),x=l.planClipPlacement(v,y.id,b);return x?(await i.commands.execute(`document.apply`,{id:p(),name:`Import Supercomputer result`,ops:[{op:`insert`,path:[`assets`],index:v.assets.length,value:m(f)},...x.ops],coalesceKey:null}),c.setSelection({clipIds:[b.id]}),{ok:!0,clipId:b.id}):{ok:!1,reason:`no-active-sequence`}}catch(e){return i.log.warn(`Supercomputer import failed: ${e instanceof Error?e.message:String(e)}`),{ok:!1,reason:`import-failed`}}}async function u(){let[e,t]=await o,n=e.snapshot(),r=new Set(t.selection.get().clipIds),i=n?.scenes.find(e=>e.id===n.activeSceneId)??null,a=i?.tracks.flatMap(e=>e.clips).filter(e=>r.has(e.id))??[];return{host:`fable`,documentId:n?.id??null,sceneId:i?.id??null,playhead:t.currentTime.get(),playing:t.playing.get(),selection:a}}function f(e){return e.flatMap(e=>[e.id,...e.kind===`group`?f(e.children):[]])}async function y(e,t){let[n,r,a]=await o,s=n.snapshot(),c=s?.scenes.find(e=>e.id===s.activeSceneId),l=s?.assets.find(t=>t.id===e);if(!s||!c)throw Error(`No active timeline`);if(!l)throw Error(`Unknown document asset: ${e}`);let u=h(l,c,Number.isFinite(t)?Math.max(0,t):Math.max(0,r.currentTime.get())),d=a.planClipPlacement(s,c.id,u);if(!d)throw Error(`No valid timeline placement`);return await i.commands.execute(`document.apply`,{id:p(),name:`Add asset from MCP`,ops:d.ops,coalesceKey:null}),r.setSelection({clipIds:[u.id]}),{clipId:u.id,trackId:d.trackId,start:u.timeRange.start,duration:u.timeRange.duration}}async function b(e,t=[]){switch(e){case`editor.getState`:return u().then(async e=>({context:e,document:(await o)[0].snapshot()}));case`editor.getTimeline`:{let[e,t]=await o,n=e.snapshot(),r=n?.scenes.find(e=>e.id===n.activeSceneId)??null;return{documentId:n?.id??null,documentName:n?.name??null,scene:r,playhead:t.currentTime.get(),playing:t.playing.get(),selection:t.selection.get(),undo:e.undoState()}}case`editor.listCommands`:return l;case`editor.listProjects`:return(await o)[3].listProjects();case`editor.createProject`:case`editor.openProject`:throw Error(`This editor edits one project folder; open or create another with video_editing_open_project or video_editing_create_project.`);case`editor.executeCommand`:{let e=t[0];if(typeof e!=`string`)throw Error(`editor.executeCommand expects a command id`);return await i.commands.execute(e,v(t[1]))??null}case`editor.listAssets`:return i.assets.list();case`editor.selectClips`:{let e=t[0];if(!Array.isArray(e)||e.some(e=>typeof e!=`string`))throw Error(`editor.selectClips expects an array of clip ids`);let[n,r]=await o,i=n.snapshot(),a=i?.scenes.find(e=>e.id===i.activeSceneId);if(!a)throw Error(`No active timeline`);let s=new Set(a.tracks.flatMap(e=>f(e.clips))),c=e.filter(e=>!s.has(e));if(c.length)throw Error(`Unknown clip ids: ${c.join(`, `)}`);return r.setSelection({clipIds:e}),r.selection.get()}case`editor.seek`:{let e=t[0];if(typeof e!=`number`||!Number.isFinite(e))throw Error(`editor.seek expects finite seconds`);let n=(await o)[1];return n.seek(e),{playhead:n.currentTime.get()}}case`editor.transport`:{let e=t[0],[n,r]=await o;if(e===`play`)r.play();else if(e===`pause`)r.pause();else if(e===`toggle`)r.togglePlayback();else if(e===`start`)r.seek(0);else if(e===`end`){let e=n.snapshot(),t=e?.scenes.find(t=>t.id===e.activeSceneId);r.seek(t?.duration??0)}else throw Error(`Unsupported transport action: ${String(e)}`);return{playhead:r.currentTime.get(),playing:r.playing.get()}}case`editor.editSelection`:{let e=t[0],n=e===`delete`?`fable.transport.delete`:e===`duplicate`?`fable.transport.duplicate`:e===`split`?`fable.panel-timeline.splitAtPlayhead`:null;if(!n)throw Error(`Unsupported selection edit: ${String(e)}`);return await i.commands.execute(n)??{ok:!0}}case`editor.history`:{let e=t[0],n=e===`undo`?`document.undo`:e===`redo`?`document.redo`:null;if(!n)throw Error(`Unsupported history action: ${String(e)}`);return await i.commands.execute(n)??{ok:!0}}case`editor.addMarker`:{let e=t[0],n=(await o)[1];if(e!==void 0){if(typeof e!=`number`||!Number.isFinite(e))throw Error(`Marker time must be finite seconds`);n.seek(e)}return await i.commands.execute(`fable.panel-timeline.addMarkerAtPlayhead`)??{ok:!0}}case`editor.addAssetToTimeline`:{let e=t[0];if(typeof e!=`string`)throw Error(`editor.addAssetToTimeline expects an asset id`);let n=t[1];if(n!==void 0&&(typeof n!=`number`||!Number.isFinite(n)))throw Error(`Asset start must be finite seconds`);return y(e,n)}case`editor.importUrl`:{let e=t[0];if(typeof e!=`string`)throw Error(`editor.importUrl expects a URL`);let n=t[1];if(n!==void 0&&(typeof n!=`number`||!Number.isFinite(n)))throw Error(`Import start must be finite seconds`);return s(e,n)}case`editor.trackGeneration`:{let e=d(t[0]),[n,r]=await o,a=e.projectId??n.snapshot()?.id;if(!a)throw Error(`No open project for generation`);let s=e.start??Math.max(0,r.currentTime.get());return await i.commands.execute(`fable.ai-composer.trackExternalGeneration`,m({...e,projectId:a,start:s}))??{jobId:e.jobId,start:s,duration:e.duration}}case`editor.importTrackedGeneration`:{let e=t[0],n=t[1];if(typeof e!=`string`||e.length===0)throw Error(`Generation import expects a job id`);if(n!==void 0&&(typeof n!=`number`||!Number.isFinite(n)||n<0))throw Error(`Generation import start must be non-negative seconds`);return await i.commands.execute(`fable.ai-composer.importTrackedGeneration`,m(n===void 0?{jobId:e}:{jobId:e,start:n}))??{ok:!0}}default:throw Error(`Unsupported editor bridge method: ${e}`)}}return{open:a,iframeUrl:`/supercomputer/plugin/`,importToTimeline:s,timelineContext:u,executeBridgeCommand:b,dispose:()=>void 0}}var b=`fable-supercomputer-styles`;function x(e){i(e,b,S)}var S=`
|
|
3
|
+
.sc-overlay {
|
|
4
|
+
position: fixed;
|
|
5
|
+
inset: 0;
|
|
6
|
+
z-index: var(--hf-z-index-modal);
|
|
7
|
+
display: grid;
|
|
8
|
+
grid-template-rows: 48px minmax(0, 1fr);
|
|
9
|
+
padding-top: env(safe-area-inset-top, 0px);
|
|
10
|
+
background: var(--hf-color-background-primary);
|
|
11
|
+
}
|
|
12
|
+
.sc-header {
|
|
13
|
+
display: flex;
|
|
14
|
+
align-items: center;
|
|
15
|
+
gap: 10px;
|
|
16
|
+
padding: 0 12px 0 16px;
|
|
17
|
+
border-bottom: 1px solid var(--hf-color-border-subtle);
|
|
18
|
+
}
|
|
19
|
+
.sc-status {
|
|
20
|
+
flex: 1;
|
|
21
|
+
}
|
|
22
|
+
.sc-overlay iframe { width: 100%; height: 100%; border: 0; background: var(--hf-color-background-primary); }
|
|
23
|
+
.sc-unavailable { align-self: center; justify-self: center; color: var(--hf-color-text-tertiary); }
|
|
24
|
+
`;function C(e){let t=new o,n=y(e);return t.add({dispose:()=>n.dispose()}),t.add(e.commands.register(`fable.supercomputer.open`,()=>n.open.set(!0))),t.add(e.extensions.register(`panel`,`fable.supercomputer.main`,s(()=>a(()=>import(`./panel-BC90wyvd.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25])),{props:()=>({controller:n}),styles:x}))),t}export{C as activate};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e,s as t,t as n}from"./jsx-runtime-B5yqYJvp.js";import{c as r,f as i,l as a,o,r as s,s as c,t as l}from"./useRenderElement-D4SOg3N_.js";import{$n as u,Bt as d,Gt as f,H as p,Hn as m,Ht as h,Mt as g,On as _,Or as v,Ot as y,Un as b,Vn as x,Vt as S,Wt as C,Zn as w,_ as T,an as E,b as D,c as O,cn as k,d as A,en as j,f as M,g as N,h as P,in as F,jt as I,l as L,ln as R,mt as z,nn as B,on as V,p as H,pt as U,rn as W,s as G,tn as ee,u as te,ur as K,v as ne,vr as q,wt as re,x as ie,xr as ae,xt as J,y as oe}from"./useOpenInteractionType-HWSfSsp2.js";import{G as se,J as ce,V as le,Z as ue,et as de,nt as fe}from"./components-tXMtIZNL.js";var Y=n(),X=t(e());function pe(){let[,e]=X.useState({});return X.useCallback(()=>{e({})},[])}function me(e){let t=u(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=K(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r;return(_(n)!==a||_(r)!==o)&&(n=a,r=o),{width:n,height:r}}var he=p();function ge(e){return e==null||e.hasAttribute(`disabled`)||e.getAttribute(`aria-disabled`)===`true`}var _e=X.createContext(void 0);function Z(){let e=X.useContext(_e);if(e===void 0)throw Error(a(64));return e}var ve=function(e){return e.activationDirection=`data-activation-direction`,e.orientation=`data-orientation`,e}({}),Q={tabActivationDirection:e=>({[ve.activationDirection]:e})},ye=X.forwardRef(function(e,t){let{className:n,defaultValue:r=0,onValueChange:i,orientation:a=`horizontal`,render:o,value:s,style:c,...u}=e,f=e.defaultValue!==void 0,p=X.useRef([]),[m,h]=X.useState(()=>new Map),[g,_]=d({controlled:s,default:r,name:`Tabs`,state:`value`}),b=s!==void 0,[x,S]=X.useState(()=>new Map),C=X.useCallback(e=>{if(e===void 0)return null;for(let[t,n]of x.entries())if(n!=null&&e===(n.value??n.index))return t;return null},[x]),[w,T]=X.useState(()=>({previousValue:g,tabActivationDirection:`none`})),{previousValue:E,tabActivationDirection:D}=w,O=D,k=!1;E!==g&&(O=be(E,g,a,x),k=E!=null&&g!=null&&C(g)==null);let A=k?E:g,j=E!==A||D!==O;q(()=>{j&&T({previousValue:A,tabActivationDirection:O})},[A,j,O]);let M=v((e,t)=>{t.activationDirection=be(g,e,a,x),i?.(e,t),!t.isCanceled&&_(e)}),N=v((e,t)=>{i?.(e,J(t,void 0,void 0,{activationDirection:`none`}))}),P=v((e,t)=>{h(n=>{if(n.get(e)===t)return n;let r=new Map(n);return r.set(e,t),r})}),F=v((e,t)=>{h(n=>{if(!n.has(e)||n.get(e)!==t)return n;let r=new Map(n);return r.delete(e),r})}),L=X.useCallback(e=>m.get(e),[m]),R=X.useCallback(e=>{for(let t of x.values())if(e===t?.value)return t?.id},[x]),z=X.useMemo(()=>({getTabElementBySelectedValue:C,getTabIdByPanelValue:R,getTabPanelIdByValue:L,onValueChange:M,orientation:a,registerMountedTabPanel:P,setTabMap:S,unregisterMountedTabPanel:F,tabActivationDirection:O,value:g}),[C,R,L,M,a,P,S,F,O,g]),B=X.useMemo(()=>{for(let e of x.values())if(e!=null&&e.value===g)return e},[x,g]),V=X.useMemo(()=>{for(let e of x.values())if(e!=null&&!e.disabled)return e.value},[x]),H=X.useRef(!f),U=X.useRef(f),W=X.useRef(!1);q(()=>{if(b)return;function e(e,t){_(e),T(t=>t.previousValue===e&&t.tabActivationDirection===`none`?t:{previousValue:e,tabActivationDirection:`none`}),N(e,t),H.current=!1}if(x.size===0){if(!W.current||g===null)return;e(null,I);return}W.current=!0;let t=B?.disabled,n=B==null&&g!==null;if(!t&&g===r&&(U.current=!1),U.current&&t&&g===r)return;let i=H.current;if(t||n){let n=V??null;if(g===n){H.current=!1;return}let r=I;i?r=y:t&&(r=re),e(n,r);return}i&&B!=null&&(N(g,y),H.current=!1)},[r,V,b,N,B,_,x,g]);let G=l(`div`,e,{state:{orientation:a,tabActivationDirection:O},ref:t,props:u,stateAttributesMapping:Q});return(0,Y.jsx)(_e.Provider,{value:z,children:(0,Y.jsx)(ce,{elementsRef:p,children:G})})});function be(e,t,n,r){if(e==null||t==null)return`none`;let i=null,a=null;for(let[n,o]of r.entries()){if(o==null)continue;let r=o.value??o.index;if(e===r&&(i=n),t===r&&(a=n),i!=null&&a!=null)break}if(i==null||a==null)return i!==a&&(typeof e==`number`||typeof e==`string`)&&typeof e==typeof t?n===`horizontal`?t>e?`right`:`left`:t>e?`down`:`up`:`none`;let o=i.getBoundingClientRect(),s=a.getBoundingClientRect();if(n===`horizontal`){if(s.left<o.left)return`left`;if(s.left>o.left)return`right`}else{if(s.top<o.top)return`up`;if(s.top>o.top)return`down`}return`none`}var xe=`data-composite-item-active`,Se=X.createContext(void 0);function Ce(){let e=X.useContext(Se);if(e===void 0)throw Error(a(65));return e}var we=X.forwardRef(function(e,t){let{className:n,disabled:r=!1,render:i,value:a,id:o,nativeButton:s=!0,style:c,...u}=e,{value:d,getTabPanelIdByValue:f,orientation:p}=Z(),{activateOnFocus:h,highlightedTabIndex:_,onTabActivation:v,registerTabResizeObserverElement:y,setHighlightedTabIndex:b,tabsListElement:S}=Ce(),C=ae(o),T=X.useMemo(()=>({disabled:r,id:C,value:a}),[r,C,a]),{compositeProps:E,compositeRef:D,index:O}=se({metadata:T}),k=a===d,A=X.useRef(!1),j=X.useRef(null);X.useEffect(()=>{let e=j.current;if(e)return y(e)},[y]),q(()=>{if(A.current){A.current=!1;return}if(!(k&&O>-1&&_!==O))return;let e=S;if(e!=null){let t=x(w(e));if(t&&m(e,t))return}r||b(O)},[k,O,_,b,r,S]);let{getButtonProps:M,buttonRef:N}=U({disabled:r,native:s,focusableWhenDisabled:!0}),P=f(a),F=X.useRef(!1),I=X.useRef(!1);function L(e){k||r||v(a,J(g,e.nativeEvent,void 0,{activationDirection:`none`}))}function R(e){k||(O>-1&&!r&&b(O),!r&&h&&(!F.current||F.current&&I.current)&&v(a,J(g,e.nativeEvent,void 0,{activationDirection:`none`})))}function z(e){if(k||r)return;F.current=!0;function t(){F.current=!1,I.current=!1}(!e.button||e.button===0)&&(I.current=!0,w(e.currentTarget).addEventListener(`pointerup`,t,{once:!0}))}return l(`button`,e,{state:{disabled:r,active:k,orientation:p},ref:[t,N,D,j],props:[E,{role:`tab`,"aria-controls":P,"aria-selected":k,id:C,onClick:L,onFocus:R,onPointerDown:z,[xe]:k?``:void 0,onKeyDownCapture(){A.current=!0}},u,M]})});function Te(){return r}function Ee(){return!1}function De(){return!0}function Oe(){return(0,he.useSyncExternalStore)(Te,Ee,De)}var $=function(e){return e.activeTabLeft=`--active-tab-left`,e.activeTabRight=`--active-tab-right`,e.activeTabTop=`--active-tab-top`,e.activeTabBottom=`--active-tab-bottom`,e.activeTabWidth=`--active-tab-width`,e.activeTabHeight=`--active-tab-height`,e}({}),ke={...Q,activeTabPosition:()=>null,activeTabSize:()=>null},Ae=X.forwardRef(function(e,t){let{className:n,render:r,renderBeforeHydration:i=!1,style:a,...o}=e,{nonce:s}=le(),{getTabElementBySelectedValue:c,orientation:u,tabActivationDirection:d,value:f}=Z(),{tabsListElement:p,registerIndicatorUpdateListener:m}=Ce(),h=Oe(),g=pe();X.useEffect(()=>m(g),[m,g]);let _=0,v=0,y=0,b=0,x=0,S=0,C=!1;if(f!=null&&p!=null){let e=c(f);if(C=!0,e!=null){let{width:t,height:n}=me(e),{width:r,height:i}=me(p),a=e.getBoundingClientRect(),o=p.getBoundingClientRect(),s=r>0?o.width/r:1,c=i>0?o.height/i:1;if(Math.abs(s)>2**-52&&Math.abs(c)>2**-52){let e=a.left-o.left,t=a.top-o.top;_=e/s+p.scrollLeft-p.clientLeft,y=t/c+p.scrollTop-p.clientTop}else _=e.offsetLeft,y=e.offsetTop;x=t,S=n,v=p.scrollWidth-_-x,b=p.scrollHeight-y-S}}let w=C?{left:_,right:v,top:y,bottom:b}:null,T=C?{width:x,height:S}:null,E=C?{[$.activeTabLeft]:`${_}px`,[$.activeTabRight]:`${v}px`,[$.activeTabTop]:`${y}px`,[$.activeTabBottom]:`${b}px`,[$.activeTabWidth]:`${x}px`,[$.activeTabHeight]:`${S}px`}:void 0,D=l(`span`,e,{state:{orientation:u,activeTabPosition:w,activeTabSize:T,tabActivationDirection:d},ref:t,props:[{role:`presentation`,style:E,hidden:!(C&&x>0&&S>0)},o,{suppressHydrationWarning:!0}],stateAttributesMapping:ke});return f==null?null:(0,Y.jsxs)(X.Fragment,{children:[D,h&&i&&(0,Y.jsx)(`script`,{nonce:s,dangerouslySetInnerHTML:{__html:'!function(){const t=document.currentScript.previousElementSibling;if(!t)return;const e=t.closest(\'[role="tablist"]\');if(!e)return;const i=e.querySelector("[data-active]");if(!i)return;if(0===i.offsetWidth||0===e.offsetWidth)return;let o=0,n=0,h=0,l=0,r=0,f=0;function s(t){const e=getComputedStyle(t);let i=parseFloat(e.width)||0,o=parseFloat(e.height)||0;return(Math.round(i)!==t.offsetWidth||Math.round(o)!==t.offsetHeight)&&(i=t.offsetWidth,o=t.offsetHeight),{width:i,height:o}}if(null!=i&&null!=e){const{width:t,height:c}=s(i),{width:u,height:d}=s(e),a=i.getBoundingClientRect(),g=e.getBoundingClientRect(),p=u>0?g.width/u:1,b=d>0?g.height/d:1;if(Math.abs(p)>Number.EPSILON&&Math.abs(b)>Number.EPSILON){const t=a.left-g.left,i=a.top-g.top;o=t/p+e.scrollLeft-e.clientLeft,h=i/b+e.scrollTop-e.clientTop}else o=i.offsetLeft,h=i.offsetTop;r=t,f=c,n=e.scrollWidth-o-r,l=e.scrollHeight-h-f}function c(e,i){t.style.setProperty(`--active-tab-${e}`,`${i}px`)}c("left",o),c("right",n),c("top",h),c("bottom",l),c("width",r),c("height",f),r>0&&f>0&&t.removeAttribute("hidden")}();'},suppressHydrationWarning:!0})]})}),je=function(e){return e.index=`data-index`,e.activationDirection=`data-activation-direction`,e.orientation=`data-orientation`,e.hidden=`data-hidden`,e[e.startingStyle=C.startingStyle]=`startingStyle`,e[e.endingStyle=C.endingStyle]=`endingStyle`,e}({}),Me={...Q,...f},Ne=X.forwardRef(function(e,t){let{className:n,value:r,render:i,keepMounted:a=!1,style:o,...s}=e,{value:c,getTabIdByPanelValue:u,orientation:d,tabActivationDirection:f,registerMountedTabPanel:p,unregisterMountedTabPanel:m}=Z(),g=ae(),_=X.useMemo(()=>({id:g,value:r}),[g,r]),{ref:v,index:y}=de({metadata:_}),b=r===c,{mounted:x,transitionStatus:C,setMounted:w}=S(b),T=!x,E=u(r),D={hidden:T,orientation:d,tabActivationDirection:f,transitionStatus:C},O=X.useRef(null),k=l(`div`,e,{state:D,ref:[t,v,O],props:[{"aria-labelledby":E,hidden:T,id:g,role:`tabpanel`,tabIndex:b?0:-1,inert:G(!b),[je.index]:y},s],stateAttributesMapping:Me});return h({open:b,ref:O,onComplete(){b||w(!1)}}),q(()=>{if((!T||a)&&g!=null)return p(r,g),()=>{m(r,g)}},[T,a,r,g,p,m]),a||x?k:null}),Pe=[];function Fe(e){let{itemSizes:t,cols:n=1,loopFocus:r=!0,onLoop:i,dense:a=!1,orientation:o=`both`,direction:c,highlightedIndex:l,onHighlightedIndexChange:u,rootRef:d,enableHomeAndEndKeys:f=!1,stopEventPropagation:p=!1,disabledIndices:m,modifierKeys:h=Pe}=e,[g,_]=X.useState(0),y=n>1,x=X.useRef(null),S=s(x,d),C=X.useRef([]),w=X.useRef(!1),T=l??g,I=v((e,t=!1)=>{if((u??_)(e),t){let t=C.current[e];ie(x.current,t,c,o)}}),z=v(e=>{if(e.size===0||w.current)return;w.current=!0;let t=Array.from(e.keys()),n=t.find(e=>e?.hasAttribute(`data-composite-item-active`))??null,r=n?t.indexOf(n):-1;r!==-1&&I(r),ie(x.current,n,c,o)}),U=v((e,t,n)=>i?i?.(e,t,n,C):n),G=X.useMemo(()=>({"aria-orientation":o===`both`?void 0:o,ref:S,onFocus(e){let t=x.current,n=b(e.nativeEvent);t&&n!=null&&D(n)&&n.setSelectionRange(0,n.value.length??0)},onKeyDown(e){let s=f?H:L;if(!s.has(e.key)||Ie(e,h)||!x.current)return;let l=c===`rtl`,u=l?te:A,d={horizontal:u,vertical:O,both:u}[o],g=l?A:te,_={horizontal:g,vertical:M,both:g}[o],v=b(e.nativeEvent);if(v!=null&&D(v)&&!ge(v)){let t=v.selectionStart,n=v.selectionEnd,r=v.value??``;if(t==null||e.shiftKey||t!==n||e.key!==_&&t<r.length||e.key!==d&&t>0)return}let S=T,w=V(C,m),z=E(C,m);if(y){let i=t||Array.from({length:C.current.length},()=>({width:1,height:1})),s=j(i,n,a),c=s.findIndex(e=>e!=null&&!R(C.current,e,m)),u=s.reduce((e,t,n)=>t!=null&&!R(C.current,t,m)?n:e,-1);S=s[F(s.map(e=>e==null?null:C.current[e]),{event:e,orientation:o,loopFocus:r,onLoop:U,cols:n,disabledIndices:W([...m||C.current.map((e,t)=>R(C.current,t)?t:void 0),void 0],s),minIndex:c,maxIndex:u,prevIndex:B(T>z?w:T,i,s,n,e.key===`ArrowDown`?`bl`:e.key===`ArrowRight`?`tr`:`tl`),rtl:l})]}let G={horizontal:[u],vertical:[O],both:[u,O]}[o],K={horizontal:[g],vertical:[M],both:[g,M]}[o],q=y?s:{horizontal:f?N:P,vertical:f?oe:ne,both:s}[o];f&&(e.key===`Home`?S=w:e.key===`End`&&(S=z)),S===T&&(G.includes(e.key)||K.includes(e.key))&&(r&&S===z&&G.includes(e.key)?(S=w,i&&(S=i(e,T,S,C))):r&&S===w&&K.includes(e.key)?(S=z,i&&(S=i(e,T,S,C))):S=ee(C.current,{startingIndex:S,decrement:K.includes(e.key),disabledIndices:m})),S!==T&&!k(C.current,S)&&(p&&e.stopPropagation(),q.has(e.key)&&e.preventDefault(),I(S,!0),queueMicrotask(()=>{C.current[S]?.focus()}))}}),[n,a,c,m,C,f,T,y,t,r,i,U,S,h,I,o,p]);return X.useMemo(()=>({props:G,highlightedIndex:T,onHighlightedIndexChange:I,elementsRef:C,disabledIndices:m,onMapChange:z,relayKeyboardEvent:G.onKeyDown}),[G,T,I,C,m,z])}function Ie(e,t){for(let n of T.values())if(!t.includes(n)&&e.getModifierState(n))return!0;return!1}function Le(e){let{render:t,className:n,style:r,refs:i=o,props:a=o,state:s=c,stateAttributesMapping:u,highlightedIndex:d,onHighlightedIndexChange:f,orientation:p,dense:m,itemSizes:h,loopFocus:g,onLoop:_,cols:v,enableHomeAndEndKeys:y,onMapChange:b,stopEventPropagation:x=!0,rootRef:S,disabledIndices:C,modifierKeys:w,highlightItemOnHover:T=!1,tag:E=`div`,...D}=e,{props:O,highlightedIndex:k,onHighlightedIndexChange:A,elementsRef:j,onMapChange:M,relayKeyboardEvent:N}=Fe({itemSizes:h,cols:v,loopFocus:g,onLoop:_,dense:m,orientation:p,highlightedIndex:d,onHighlightedIndexChange:f,rootRef:S,stopEventPropagation:x,enableHomeAndEndKeys:y,direction:ue(),disabledIndices:C,modifierKeys:w}),P=l(E,e,{state:s,ref:i,props:[O,...a,D],stateAttributesMapping:u}),F=X.useMemo(()=>({highlightedIndex:k,onHighlightedIndexChange:A,highlightItemOnHover:T,relayKeyboardEvent:N}),[k,A,T,N]);return(0,Y.jsx)(z.Provider,{value:F,children:(0,Y.jsx)(ce,{elementsRef:j,onMapChange:e=>{b?.(e),M(e)},children:P})})}var Re=X.forwardRef(function(e,t){let{activateOnFocus:n=!1,className:r,loopFocus:i=!0,render:a,style:s,...c}=e,{onValueChange:l,orientation:u,value:d,setTabMap:f,tabActivationDirection:p}=Z(),[m,h]=X.useState(0),[g,_]=X.useState(null),y=X.useRef(new Set),b=X.useRef(new Set),x=X.useRef(null);X.useEffect(()=>{if(typeof ResizeObserver>`u`)return;let e=new ResizeObserver(()=>{y.current.forEach(e=>{e()})});return x.current=e,g&&e.observe(g),b.current.forEach(t=>{e.observe(t)}),()=>{e.disconnect(),x.current=null}},[g]);let S=v(e=>(y.current.add(e),()=>{y.current.delete(e)})),C=v(e=>(b.current.add(e),x.current?.observe(e),()=>{b.current.delete(e),x.current?.unobserve(e)})),w=v((e,t)=>{e!==d&&l(e,t)}),T={orientation:u,tabActivationDirection:p},E={"aria-orientation":u===`vertical`?`vertical`:void 0,role:`tablist`},D=X.useMemo(()=>({activateOnFocus:n,highlightedTabIndex:m,registerIndicatorUpdateListener:S,registerTabResizeObserverElement:C,onTabActivation:w,setHighlightedTabIndex:h,tabsListElement:g}),[n,m,S,C,w,h,g]);return(0,Y.jsx)(Se.Provider,{value:D,children:(0,Y.jsx)(Le,{render:a,className:r,style:s,state:T,refs:[t,_],props:[E,c],stateAttributesMapping:Q,highlightedIndex:m,enableHomeAndEndKeys:!0,loopFocus:i,orientation:u,onHighlightedIndexChange:h,onMapChange:f,disabledIndices:o})})}),ze={underline:`q-tabs-underline`,pill:`q-tabs-pill`,segmented:`q-tabs-segmented`,soft:`q-tabs-soft`},Be={rounded:`q-tabs-shape-rounded`,pill:`q-tabs-shape-pill`,icon:`q-tabs-shape-icon`},Ve={glass:`q-tabs-surface-glass`,flat:`q-tabs-surface-flat`},He={default:`q-tabs-tone-default`,accent:`q-tabs-tone-accent`,glass:`q-tabs-tone-glass`,solid:`q-tabs-tone-solid`,brandSoft:`q-tabs-tone-brand-soft`,brand:`q-tabs-tone-brand`};function Ue({color:e=`brand`,className:t,shape:n=`rounded`,style:r,surface:a=`glass`,tone:o,variant:s=`underline`,...c}){let l=o??(s===`segmented`?`glass`:`default`);return(0,Y.jsx)(ye,{style:{...fe(e),...r},className:e=>i(`q-tabs`,ze[s],Be[n],Ve[a],He[l],typeof t==`function`?t(e):t),...c})}function We({children:e,items:t,className:n,indicator:r=!0,fullWidth:a=!1,...o}){return(0,Y.jsxs)(Re,{className:e=>i(`q-tabs-list`,a&&`q-tabs-list-fill`,typeof n==`function`?n(e):n),...o,children:[t==null?e:t.map(({label:e,...t},n)=>(0,Y.jsx)(Ke,{...t,children:e},t.value==null?n:String(t.value))),r?(0,Y.jsx)(Ae,{className:`q-tabs-indicator`,renderBeforeHydration:!0}):null]})}function Ge(e){return X.Children.map(e,e=>typeof e==`string`||typeof e==`number`?(0,Y.jsx)(`span`,{className:`q-tabs-tab-text`,"data-text":String(e),children:e}):e)}function Ke({children:e,className:t,iconOnly:n=!1,start:r,end:a,subtitle:o,icon:s,iconEnd:c,secondaryText:l,contentClassName:u,...d}){let f=r??s,p=a??c,m=o??l,h=f!=null||p!=null||m!=null;return(0,Y.jsx)(we,{className:e=>i(`q-tabs-tab`,n&&`q-tabs-tab-icon-only`,typeof t==`function`?t(e):t),...d,children:(0,Y.jsx)(`span`,{className:i(`q-tabs-tab-content`,u),children:h?(0,Y.jsxs)(Y.Fragment,{children:[f==null?null:(0,Y.jsx)(`span`,{className:`q-tabs-tab-icon`,children:f}),e==null?null:(0,Y.jsx)(`span`,{className:`q-tabs-tab-label`,children:Ge(e)}),m==null?null:(0,Y.jsx)(`span`,{className:`q-tabs-tab-secondary`,children:m}),p==null?null:(0,Y.jsx)(`span`,{className:`q-tabs-tab-icon`,children:p})]}):Ge(e)})})}function qe({className:e,...t}){return(0,Y.jsx)(Ne,{className:t=>i(`q-tabs-panel`,typeof e==`function`?e(t):e),...t})}var Je={Root:Ue,List:We,Tab:Ke,Panel:qe};export{Je as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e,s as t,t as n}from"./jsx-runtime-B5yqYJvp.js";import{f as r,l as i,t as a}from"./useRenderElement-D4SOg3N_.js";import{Bt as o,Mt as s,pt as c,xr as l,xt as u}from"./useOpenInteractionType-HWSfSsp2.js";import{W as d,nt as f}from"./components-tXMtIZNL.js";var p=n(),m=t(e(),1),h={horizontal:`q-button-group-horizontal`,vertical:`q-button-group-vertical`};function g(e={},...t){let{orientation:n=`horizontal`,attached:i=!0}=e;return r(`q-button-group`,h[n],i?`q-button-group-attached`:`q-button-group-spaced`,...t)}function _(e,t){return t.size===void 0&&t.variant===void 0?e:m.Children.map(e,e=>{if(!(0,m.isValidElement)(e))return e;let n=e.props,r={};return t.size!==void 0&&n.size===void 0&&(r.size=t.size),t.variant!==void 0&&n.variant===void 0&&(r.variant=t.variant),Object.keys(r).length?(0,m.cloneElement)(e,r):e})}function v({orientation:e=`horizontal`,attached:t=!0,size:n,variant:r,className:i,children:a,...o}){return(0,p.jsx)(`div`,{role:`group`,className:g({orientation:e,attached:t},i),...o,children:_(a,{size:n,variant:r})})}var y=m.createContext(void 0);function b(e=!0){let t=m.useContext(y);if(t===void 0&&!e)throw Error(i(7));return t}var x=m.forwardRef(function(e,t){let{className:n,defaultPressed:r=!1,disabled:i=!1,form:f,onPressedChange:m,pressed:h,render:g,type:_,value:v,nativeButton:y=!0,style:x,...S}=e,C=l(v||void 0),w=b(),T=w?.value??[],E=w?void 0:r,D=(i||w?.disabled)??!1,[O,k]=o({controlled:w?C!==void 0&&T.indexOf(C)>-1:h,default:E,name:`Toggle`,state:`pressed`}),{getButtonProps:A,buttonRef:j}=c({disabled:D,native:y}),M={disabled:D,pressed:O},N=[j,t],P=[{"aria-pressed":O,onClick(e){let t=!O,n=u(s,e.nativeEvent);C&&w?.setGroupValue?.(C,t,n),m?.(t,n),!n.isCanceled&&k(t)}},S,A],F=a(`button`,e,{enabled:!w,state:M,ref:N,props:P});return w?(0,p.jsx)(d,{tag:`button`,render:g,className:n,style:x,state:M,refs:N,props:P}):F}),S={sm:`q-toggle-sm`,md:`q-toggle-md`,lg:`q-toggle-lg`};function C({color:e=`brand`,size:t=`md`,start:n,end:i,className:a,style:o,children:s,...c}){let l=n!=null||i!=null?(0,p.jsxs)(p.Fragment,{children:[n,s,i]}):s;return(0,p.jsx)(x,{style:typeof o==`function`?t=>({...f(e),...o(t)}):{...f(e),...o},className:e=>r(`q-toggle`,S[t],typeof a==`function`?a(e):a),...c,children:l})}export{v as n,C as t};
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["chunks/menubar-D31srALX.js","chunks/jsx-runtime-B5yqYJvp.js","chunks/import-error-CMz9sLPe.js","chunks/notifications-DqWZNIrK.js","chunks/react-dom-1uB7Vbbb.js","assets/notifications-B08L1jSe.css","chunks/IconCheckmark2Medium-hegaz9mQ.js","chunks/useRenderElement-D4SOg3N_.js","chunks/components-tXMtIZNL.js","chunks/dom-6aoQn29n.js","chunks/useOpenInteractionType-HWSfSsp2.js","chunks/button-Cg0U0zpV.js","editor-B-WAkLt7.js","chunks/capabilities-BCd4-zPF.js","chunks/session-BpFeKAI2.js","chunks/src-BLG3tYBa.js","chunks/factories-Bw_iQrUL.js","chunks/ingest-DsmIc415.js","chunks/value-EB7YmAdS.js","chunks/schemas-CddYAOcj.js","chunks/edits-CqLBqir0.js","chunks/asset-op-C6YhYJcd.js","chunks/import-DP49i4ke.js","chunks/editing-Cy-SaOyB.js","chunks/model-Duf9fszJ.js","assets/local-B3OTAV_A.css","chunks/writeback-support-fj5rA9k3.js","chunks/IconSparklesSoftFilled-o7o33KRn.js","chunks/IconPlayFilled-CHb-7GSx.js","assets/menubar-2Y1Y2XJt.css","chunks/transport-bar-Dv1LPFbu.js","chunks/IconPause-ClNg8pao.js","chunks/meters-D0nZVEJs.js","chunks/canvas-Bw4CVzfw.js","chunks/palette-HT83gWgL.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{i as e,n as t,t as n}from"./capabilities-BCd4-zPF.js";import{l as r,t as i}from"./session-BpFeKAI2.js";import{i as a,o}from"./import-error-CMz9sLPe.js";import{n as s,t as c}from"./dom-6aoQn29n.js";import{a as l,c as u,d,f,i as p,l as m,n as h,o as g,p as _,r as v,s as y,t as b,u as x}from"./editing-Cy-SaOyB.js";import{n as S}from"./import-DP49i4ke.js";import{St as C,Ut as w}from"../editor-B-WAkLt7.js";import{t as T}from"./panel-4DTzhYdA.js";import{t as E}from"./writeback-support-fj5rA9k3.js";var D=2e3;async function O(t,n,r,i){if(typeof document>`u`)return t.log.warn(`exportFramePng needs a DOM host`),!1;let a=await t.require(e),o=await new Promise(e=>{let t=!1,r=n=>{t||(t=!0,i.dispose(),clearTimeout(o),e(n))},i=n.onFrame(e=>{let t=a.toNative(e),n=a.info(e);if(!t||!n)return r(null);let i=document.createElement(`canvas`);i.width=Math.max(1,n.width),i.height=Math.max(1,n.height);let o=i.getContext(`2d`);if(!o)return r(null);o.drawImage(t,0,0),r(i)}),o=setTimeout(()=>r(null),D);n.requestRender()});if(!o)return t.log.warn(`exportFramePng: no frame arrived`),!1;let s=await new Promise(e=>o.toBlob(e,`image/png`));return s?(await i(s,`${(r.snapshot()?.name??`frame`).trim().replace(/[\\/:*?"<>|]/g,`-`)||`frame`}.png`),!0):!1}var k=e=>e;function A(e,t){return[`scenes`,e,`tracks`,t,`clips`]}function j(e){return{x:e.width/2,y:e.height/2,scaleX:1,scaleY:1,rotation:0,skewX:0,skewY:0,anchorX:.5,anchorY:.5,flipX:!1,flipY:!1}}function M(e){let{transform:t,size:n}=e;if(t.rotation!==0||t.skewX!==0||t.skewY!==0||!(t.scaleX>0)||!(t.scaleY>0))return null;let r=t.flipX?-t.scaleX:t.scaleX,i=t.flipY?-t.scaleY:t.scaleY,a=t.x-t.anchorX*n.width*r,o=a+n.width*r,s=t.y-t.anchorY*n.height*i,c=s+n.height*i;return[a,o,s,c].some(e=>!Number.isFinite(e))?null:{left:Math.min(a,o),top:Math.min(s,c),right:Math.max(a,o),bottom:Math.max(s,c)}}function N(e){let t=e.map(M);if(t.some(e=>e===null))return null;let n=t;return{left:Math.min(...n.map(e=>e.left)),top:Math.min(...n.map(e=>e.top)),right:Math.max(...n.map(e=>e.right)),bottom:Math.max(...n.map(e=>e.bottom))}}function P(e,t,n){return{...e,transform:{...e.transform,x:e.transform.x-t,y:e.transform.y-n},animations:e.animations.map(e=>{let r=e.property===`positionX`?t:e.property===`positionY`?n:null;return r===null?e:{...e,keyframes:e.keyframes.map(e=>typeof e.value==`number`?{...e,value:e.value-r}:e)}})}}function F(e){let t=N(e);return t?{children:e.map(e=>P(e,t.left,t.top)),transform:{x:t.left,y:t.top,scaleX:1,scaleY:1,rotation:0,skewX:0,skewY:0,anchorX:0,anchorY:0,flipX:!1,flipY:!1},size:{width:Math.max(t.right-t.left,.001),height:Math.max(t.bottom-t.top,.001)}}:null}function I(e){let t=e.map(e=>{let t=M(e);if(!t)throw Error(`Auto Layout requires unrotated layers with positive scale.`);return{id:e.id,bounds:t}}),n=e=>Math.max(...e)-Math.min(...e),r=n(t.map(({bounds:e})=>(e.left+e.right)/2))>=n(t.map(({bounds:e})=>(e.top+e.bottom)/2))?`row`:`column`,i=r===`row`?`left`:`top`,a=r===`row`?`right`:`bottom`,o=r===`row`?`top`:`left`,s=r===`row`?`bottom`:`right`,c=[...t].sort((e,t)=>e.bounds[i]-t.bounds[i]),l=c.slice(1).map((e,t)=>e.bounds[i]-c[t].bounds[a]).sort((e,t)=>e-t),u=Math.max(0,(l[Math.floor((l.length-1)/2)]+l[Math.floor(l.length/2)])/2),d=.5,f=`start`;return n(t.map(({bounds:e})=>e[o]))>d&&(n(t.map(({bounds:e})=>(e[o]+e[s])/2))<=d?f=`center`:n(t.map(({bounds:e})=>e[s]))<=d&&(f=`end`)),{direction:r,gap:u,padding:{top:0,right:0,bottom:0,left:0},align:f,justify:`start`,initialization:`preserve`,order:c.map(e=>e.id)}}async function L(e,t={}){let n=e.docs.snapshot(),r=b(n);if(!n||!r)return null;let i=[...new Set(t.clipIds??e.session.selection.get().clipIds)],a=y(n,i).filter(e=>e.sceneIndex===r.sceneIndex);if(t.requireAll&&(a.length!==i.length||a.some(e=>e.clip.locked||e.trackLocked)))return null;let o=a.filter(e=>!e.clip.locked&&!e.trackLocked);if(o.length<2)return null;let s=Math.min(...o.map(e=>e.clip.timeRange.start)),c=Math.max(...o.map(e=>e.clip.timeRange.start+e.clip.timeRange.duration)),l=o.map(e=>{let t=structuredClone(e.clip);return t.timeRange={...t.timeRange,start:t.timeRange.start-s},t}),d=t.autoLayout===`infer`?I(l):t.autoLayout,f=d?F(l):null,p=1,m=new Set(r.scene.tracks.flatMap(e=>e.clips.map(e=>e.name)));for(;m.has(`Group ${p}`);)p++;let h={id:u(),name:`Group ${p}`,kind:`group`,children:f?.children??l,transform:f?.transform??j(r.scene),size:f?.size??{width:r.scene.width,height:r.scene.height},opacity:1,blendMode:`normal`,effects:[],timeRange:{start:s,duration:Math.max(c-s,.001)},animations:[],presetAnimations:[],mask:null,locked:!1,hidden:!1,...d?{autoLayout:structuredClone(d)}:{},...t.autoLayout===`infer`?{layoutSizing:{width:`hug`,height:`hug`}}:{}},_=[...o].sort((e,t)=>e.trackIndex-t.trackIndex||t.clipIndex-e.clipIndex),v=_.map(e=>({op:`remove`,path:A(e.sceneIndex,e.trackIndex),index:e.clipIndex})),x=structuredClone(n);for(let e of _)x.scenes[e.sceneIndex].tracks[e.trackIndex].clips.splice(e.clipIndex,1);let S=r.scene.tracks[Math.max(...o.map(e=>e.trackIndex))].id,C=e.placement.planClipPlacement(x,r.scene.id,h,{preferredTrackId:S});if(!C)return null;let w=t.autoLayout?`Add Auto Layout`:`Group`;return await e.host.commands.execute(`document.apply`,k(g(w,[...v,...C.ops]))),e.session.setSelection({clipIds:[h.id]}),h.id}var R=Math.PI/180;function z(e,t,n){let r=e.rotation*R,i=Math.cos(r),a=Math.sin(r),o=Math.tan(e.skewX*R),s=Math.tan(e.skewY*R),c=e.flipX?-e.scaleX:e.scaleX,l=e.flipY?-e.scaleY:e.scaleY,u=(i-a*s)*c,d=(a+i*s)*c,f=(i*o-a)*l,p=(a*o+i)*l,m=-e.anchorX*t,h=-e.anchorY*n;return{a:u,b:d,c:f,d:p,e:u*m+f*h+e.x,f:d*m+p*h+e.y}}function B(e,t){return{a:e.a*t.a+e.c*t.b,b:e.b*t.a+e.d*t.b,c:e.a*t.c+e.c*t.d,d:e.b*t.c+e.d*t.d,e:e.a*t.e+e.c*t.f+e.e,f:e.b*t.e+e.d*t.f+e.f}}function V(e,t){let n=t.transform,r=e.a*e.d-e.b*e.c,i=Math.hypot(e.a,e.b)||1e-9,a=Math.atan2(e.b,e.a)/R,o=r/i,s=Math.atan2(e.a*e.c+e.b*e.d,r)/R,c=-n.anchorX*t.size.width,l=-n.anchorY*t.size.height;return{...n,x:e.e-e.a*c-e.c*l,y:e.f-e.b*c-e.d*l,scaleX:i,scaleY:Math.abs(o),rotation:a,skewX:s,skewY:0,flipX:!1,flipY:o<0}}async function H(e){let t=e.docs.snapshot();if(!t)return 0;let n=y(t,e.session.selection.get().clipIds).filter(e=>e.clip.kind===`group`&&!e.clip.locked&&!e.trackLocked);if(n.length===0)return 0;let r=[...n].sort((e,t)=>e.trackIndex-t.trackIndex||t.clipIndex-e.clipIndex).map(e=>({op:`remove`,path:A(e.sceneIndex,e.trackIndex),index:e.clipIndex})),i=`fable.transport:ungroup:${u()}`;await e.host.commands.execute(`document.apply`,k({...g(`Ungroup`,r),coalesceKey:i}));let a=[];for(let t of n){let n=t.clip,r=z(n.transform,n.size.width,n.size.height);for(let o of n.children){let s=structuredClone(o);s.timeRange={...s.timeRange,start:s.timeRange.start+n.timeRange.start};let c=s.transform;s.transform=V(B(r,z(c,s.size.width,s.size.height)),s);let l=s.transform.x-c.x,u=s.transform.y-c.y;if(l!==0||u!==0)for(let e of s.animations){if(e.property!==`positionX`&&e.property!==`positionY`)continue;let t=e.property===`positionX`?l:u;e.keyframes=e.keyframes.map(e=>typeof e.value==`number`?{...e,value:e.value+t}:e)}await h(e,`Ungroup`,i,t.sceneId,s,t.trackId)&&a.push(s.id)}}return e.session.setSelection({clipIds:a}),n.length}function U(e,t){let n=e.metaKey||e.ctrlKey;if(e.altKey)return null;if(n){switch(e.key.toLowerCase()){case`s`:return e.shiftKey?null:{command:`fable.transport.save`};case`o`:return e.shiftKey?null:{command:`fable.projects.open`};case`z`:return{command:e.shiftKey?`fable.transport.redo`:`fable.transport.undo`};case`d`:return{command:`fable.transport.duplicate`};case`c`:return e.shiftKey?null:{command:`fable.transport.copy`};case`v`:return e.shiftKey?null:{command:`fable.transport.paste`};case`a`:return e.shiftKey?{command:`fable.panel-timeline.addAdjustmentLayer`}:{command:`fable.transport.selectAll`};case`j`:return e.shiftKey?null:{command:t.hasSelection?`fable.ai-composer.edit`:`fable.ai-composer.open`};case`g`:return{command:e.shiftKey?`fable.transport.ungroup`:`fable.transport.group`};case`h`:return e.shiftKey?{command:`fable.transport.toggleHidden`}:null;case`e`:return e.shiftKey?{command:`fable.transport.exportFramePng`}:{command:`fable.export-dialog.open`,args:{sceneId:null}};case`i`:return{command:`fable.transport.import`};case`1`:return{command:`fable.panel-viewport.zoomToFit`};case`0`:return{command:`fable.panel-viewport.zoomToActual`}}return null}let r=e.shiftKey?10:1;switch(e.key){case`a`:return t.hasSelection&&!e.shiftKey?{command:`fable.transport.attachSelection`}:null;case` `:return{command:`fable.session.togglePlayback`};case`Escape`:return{command:`fable.transport.deselect`};case`Delete`:case`Backspace`:return e.shiftKey?{command:`fable.panel-timeline.rippleDelete`}:{command:`fable.transport.delete`};case`m`:case`M`:return E(`markers`)?{command:`fable.panel-timeline.addMarkerAtPlayhead`}:null;case`j`:case`J`:return{command:`fable.transport.shuttle`,args:{dir:-1}};case`k`:case`K`:return{command:`fable.transport.shuttle`,args:{dir:0}};case`l`:case`L`:return{command:`fable.transport.shuttle`,args:{dir:1}};case`Home`:return{command:`fable.session.seekStart`};case`End`:return{command:`fable.session.seekEnd`};case`ArrowLeft`:return t.hasSelection?{command:`fable.transport.nudge`,args:{dx:-r,dy:0}}:{command:`fable.transport.stepFrame`,args:{direction:-1}};case`ArrowRight`:return t.hasSelection?{command:`fable.transport.nudge`,args:{dx:r,dy:0}}:{command:`fable.transport.stepFrame`,args:{direction:1}};case`ArrowUp`:return e.shiftKey&&!t.hasSelection?{command:`fable.panel-timeline.prevMarker`}:{command:`fable.transport.nudge`,args:{dx:0,dy:-r}};case`ArrowDown`:return e.shiftKey&&!t.hasSelection?{command:`fable.panel-timeline.nextMarker`}:{command:`fable.transport.nudge`,args:{dx:0,dy:r}}}return null}function W(e){function t(t){if(t===0){e.session.pause();return}let n=e.session.playing.get()?e.session.speed.get():0,i=Math.sign(n)===t?r[Math.min(r.indexOf(Math.abs(n))+1,r.length-1)]:r[0];e.session.playAt(t*i)}return{set:t,dispose(){}}}var G=`fable-transport-styles`;function K(e){c(e,G,q)}var q=`
|
|
3
|
+
.ftr-topbar {
|
|
4
|
+
display: flex;
|
|
5
|
+
align-items: center;
|
|
6
|
+
height: 36px;
|
|
7
|
+
padding: 0;
|
|
8
|
+
background: transparent;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.ftr-menubar { display: flex; align-items: center; gap: 2px; margin-left: 6px; }
|
|
12
|
+
.ftr-transport {
|
|
13
|
+
display: flex;
|
|
14
|
+
align-items: center;
|
|
15
|
+
gap: 10px;
|
|
16
|
+
padding: 8px 12px;
|
|
17
|
+
color: var(--hf-color-text-tertiary);
|
|
18
|
+
background: var(--hf-color-background-secondary);
|
|
19
|
+
}
|
|
20
|
+
.ftr-transport-btn {
|
|
21
|
+
width: 26px;
|
|
22
|
+
height: 26px;
|
|
23
|
+
flex: none;
|
|
24
|
+
border-radius: 6px;
|
|
25
|
+
}
|
|
26
|
+
.ftr-loop { display: inline-flex; align-items: center; opacity: 0.35; cursor: default; }
|
|
27
|
+
.ftr-loop.active { opacity: 1; color: var(--hf-color-icon-accent); }
|
|
28
|
+
.ftr-timecode {
|
|
29
|
+
margin-left: auto;
|
|
30
|
+
color: var(--hf-color-text-primary);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.fshell[data-design="higgsfield"] .ftr-transport {
|
|
34
|
+
position: absolute;
|
|
35
|
+
top: -48px;
|
|
36
|
+
left: 0;
|
|
37
|
+
z-index: 20;
|
|
38
|
+
height: 48px;
|
|
39
|
+
width: 100%;
|
|
40
|
+
padding: 12px;
|
|
41
|
+
transform: none;
|
|
42
|
+
background: transparent;
|
|
43
|
+
}
|
|
44
|
+
.fshell[data-design="higgsfield"] .ftr-transport-btn {
|
|
45
|
+
width: 24px;
|
|
46
|
+
height: 24px;
|
|
47
|
+
border-radius: 50%;
|
|
48
|
+
background: transparent;
|
|
49
|
+
color: var(--hf-color-icon-primary);
|
|
50
|
+
}
|
|
51
|
+
.fshell[data-design="higgsfield"] .ftr-loop { display: none; }
|
|
52
|
+
.fshell[data-design="higgsfield"] .ftr-timecode {
|
|
53
|
+
position: absolute;
|
|
54
|
+
left: 50%;
|
|
55
|
+
margin-left: 0;
|
|
56
|
+
transform: translateX(-50%);
|
|
57
|
+
font-variant-numeric: tabular-nums;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.ftr-meters {
|
|
61
|
+
background: var(--hf-color-background-secondary);
|
|
62
|
+
padding: 10px 14px;
|
|
63
|
+
box-sizing: border-box;
|
|
64
|
+
height: 100%;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.ftr-meters-canvas { position: relative; height: 100%; min-height: 96px; }
|
|
68
|
+
.ftr-meters-canvas > canvas { position: absolute; inset: 0; }
|
|
69
|
+
`;function J(e,r){let c=new w,u=null,h=null,g=!1,y=Promise.all([e.require(i),e.require(t),e.require(n)]).then(([t,n,r])=>{u=t;let i={host:e,session:t,docs:n,placement:r};return h=W(i),c.add({dispose:()=>h?.dispose()}),i}),b=(t,n)=>e.commands.register(t,async e=>await n(await y,e)),E=e=>e&&typeof e==`object`&&!Array.isArray(e)?e:null,D=(e,t)=>{let n=E(e)?.[t];return typeof n==`number`?n:0},k=(e,t)=>{let n=E(e)?.[t];return Array.isArray(n)?n.filter(e=>typeof e==`string`):[]};if(c.add(e.commands.register(`fable.transport.undo`,()=>e.commands.execute(`document.undo`))),c.add(e.commands.register(`fable.transport.redo`,()=>e.commands.execute(`document.redo`))),c.add(b(`fable.transport.copy`,e=>v(e))),c.add(b(`fable.transport.paste`,e=>x(e))),c.add(b(`fable.transport.duplicate`,e=>l(e))),c.add(b(`fable.transport.delete`,e=>p(e))),c.add(b(`fable.transport.toggleHidden`,e=>_(e))),c.add(b(`fable.transport.selectAll`,e=>d(e))),c.add(b(`fable.transport.deselect`,e=>e.session.clearSelection())),c.add(b(`fable.transport.attachSelection`,async({docs:e,session:t})=>{if(g)return;let n=e.snapshot(),i=[...t.selection.get().clipIds];if(n&&i.length){g=!0;try{if(!r.attachSelection)throw Error(`Adding clips to chat is unavailable in this host.`);await r.attachSelection({projectId:n.id,sceneId:n.activeSceneId,clipIds:i}),o(i.length===1?`Clip added to chat`:`Clips added to chat`)}catch(e){a(e)}finally{g=!1}}})),c.add(b(`fable.transport.nudge`,(e,t)=>m(e,D(t,`dx`),D(t,`dy`)))),c.add(b(`fable.transport.stepFrame`,(e,t)=>f(e,D(t,`direction`)<0?-1:1))),c.add(b(`fable.transport.shuttle`,(e,t)=>{let n=D(t,`dir`);h?.set(n<0?-1:+(n>0))})),c.add(b(`fable.transport.import`,t=>S(e,t.docs))),c.add(b(`fable.transport.save`,()=>r.saveProject())),c.add(b(`fable.transport.exportFramePng`,t=>O(e,t.session,t.docs,r.saveFile))),c.add(b(`fable.transport.group`,e=>L(e))),c.add(b(`fable.transport.groupAutoLayout`,(e,t)=>L(e,{autoLayout:`infer`,requireAll:!0,clipIds:k(t,`clipIds`)}))),c.add(b(`fable.transport.ungroup`,e=>H(e))),c.add(e.extensions.register(`panel`,`fable.transport.menubar`,T(()=>C(()=>import(`./menubar-D31srALX.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29])),{styles:K}))),c.add(e.extensions.register(`panel`,`fable.transport.bar`,T(()=>C(()=>import(`./transport-bar-Dv1LPFbu.js`),__vite__mapDeps([30,1,23,7,8,4,6,9,10,11,12,3,5,13,14,15,16,17,18,19,2,20,21,22,24,25,31])),{styles:K}))),c.add(e.extensions.register(`panel`,`fable.transport.meters`,T(()=>C(()=>import(`./meters-D0nZVEJs.js`),__vite__mapDeps([32,1,23,12,3,4,5,13,14,15,16,17,18,19,2,6,20,21,9,22,24,7,10,25,33,34])),{styles:K}))),typeof window<`u`){let t=t=>{if(t.defaultPrevented||s(t.target))return;let n=U(t,{hasSelection:(u?.selection.get().clipIds.length??0)>0});n&&(t.preventDefault(),e.commands.execute(n.command,n.args).catch(t=>{e.log.warn(`shortcut "${n.command}" failed: ${t instanceof Error?t.message:String(t)}`)}))};window.addEventListener(`keydown`,t),c.add({dispose:()=>window.removeEventListener(`keydown`,t)})}return c}export{J as activate};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e,s as t,t as n}from"./jsx-runtime-B5yqYJvp.js";import{t as r}from"./editing-Cy-SaOyB.js";import{d as i}from"./useRenderElement-D4SOg3N_.js";import{I as a,o}from"./components-tXMtIZNL.js";import{_ as s,f as c,g as l,m as u,p as d}from"../editor-B-WAkLt7.js";import{t as f}from"./button-Cg0U0zpV.js";import{t as p}from"./IconPause-ClNg8pao.js";var m=t(e(),1),h=e=>{let t=m.useId();return m.createElement(y,{...e,instanceId:t})},g=0,_=typeof m.useId==`function`?void 0:class extends m.Component{state={};componentDidMount(){this.setState({instanceId:`legacy-${++g}`})}render(){return m.createElement(y,{...this.props.iconProps,instanceId:this.state.instanceId})}},v=m.forwardRef((e,t)=>_?m.createElement(_,{iconProps:{...e,svgRef:t}}):m.createElement(h,{...e,svgRef:t}));v.displayName=`CentralIconBase`;var y=({children:e,size:t=24,ariaLabel:n,color:r,ariaHidden:i,"aria-hidden":a,"aria-label":o,role:s,svgRef:c,renderShapes:l,style:u,mode:d=`masked`,maskId:f,instanceId:p,...h})=>{let g=p?`${f}-${p}`:f,_=d!==`raw`&&!!f,v=a??i??!0,y=v===!0||v===`true`,b=o??n,x=l?l(g??p??`icon`):e;return m.createElement(`svg`,{...h,ref:c,"aria-hidden":v,"aria-label":o,role:s??(y?void 0:`img`),width:typeof t==`number`?`${t}px`:t,height:typeof t==`number`?`${t}px`:t,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,style:{color:r,...u}},b&&!y&&m.createElement(`title`,null,b),_?m.createElement(m.Fragment,null,m.createElement(`mask`,{id:g,maskUnits:`userSpaceOnUse`,x:`0`,y:`0`,width:`24`,height:`24`},m.createElement(`rect`,{width:`24`,height:`24`,fill:`#000`}),m.createElement(`g`,{fill:`none`,style:{color:`#fff`}},x)),m.createElement(`rect`,{width:`24`,height:`24`,fill:`currentColor`,mask:`url(#${g})`})):x)},b=m.memo(m.forwardRef((e,t)=>m.createElement(v,{...e,ref:t,ariaLabel:`repeat`,maskId:`round-filled-radius-2-stroke-1.5-IconRepeat`},m.createElement(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M4.75 4.5C4.05964 4.5 3.5 5.05964 3.5 5.75V16.25C3.5 16.9404 4.05964 17.5 4.75 17.5H7.25C7.66421 17.5 8 17.8358 8 18.25C8 18.6642 7.66421 19 7.25 19H4.75C3.23122 19 2 17.7688 2 16.25V5.75C2 4.23122 3.23122 3 4.75 3H19.25C20.7688 3 22 4.23122 22 5.75V16.25C22 17.7688 20.7688 19 19.25 19H13.6682L15.5087 20.6989C15.8131 20.9799 15.8321 21.4543 15.5511 21.7587C15.2702 22.0631 14.7957 22.0821 14.4913 21.8011L11.2413 18.8011C11.0913 18.6627 11.0042 18.4691 11.0001 18.265C10.9961 18.0609 11.0753 17.864 11.2197 17.7197L14.4697 14.4697C14.7626 14.1768 15.2374 14.1768 15.5303 14.4697C15.8232 14.7626 15.8232 15.2374 15.5303 15.5303L13.5607 17.5H19.25C19.9404 17.5 20.5 16.9404 20.5 16.25V5.75C20.5 5.05964 19.9404 4.5 19.25 4.5H4.75Z`,fill:`currentColor`}))));function x(e,t){let n=Math.max(0,e),r=e=>String(e).padStart(2,`0`),i=Math.floor(n/60),a=Math.floor(n%60),o=Math.min(Math.max(t-1,0),Math.floor((n-Math.floor(n))*t));return`${r(i)}:${r(a)}.${r(o)}`}var S=n();function C(e,t){return e?.fps===t?.fps&&e?.duration===t?.duration}function w(e){let t=r(e)?.scene;return t?{fps:t.fps,duration:t.duration}:null}function T(){let e=u(),t=s(e?.playing,!1),n=d(w,C),r=n?.fps??30,m=n?.duration??0,h=c(`fable.session.togglePlayback`),g=l();return(0,S.jsxs)(`div`,{className:`ftr-transport`,children:[(0,S.jsx)(f,{variant:`ghost`,size:`xxs`,iconOnly:!0,className:`ftr-transport-btn`,"aria-label":`Play or pause`,title:`Play/Pause (Space)`,onClick:()=>void h(),children:t?(0,S.jsx)(p,{mode:`raw`,size:14,className:`icon-pause`}):(0,S.jsx)(a,{mode:`raw`,size:14,className:`icon-play`})}),(0,S.jsx)(`span`,{className:`ftr-loop active`,title:`Looping at scene end`,children:(0,S.jsx)(b,{mode:`raw`,size:13})}),(0,S.jsxs)(i,{as:`span`,variant:`mono-xs-medium`,className:`ftr-timecode tabular-nums`,children:[(0,S.jsx)(o,{source:g,format:e=>x(e,r),initial:x(0,r),className:`ftr-current text-q-text-primary`}),(0,S.jsx)(`span`,{className:`text-q-text-tertiary`,children:` / ${x(m,r)}`})]})]})}export{T as default};
|