UNPKG

@remotion/studio

Version:

APIs for interacting with the Remotion Studio

22 lines (21 loc) 1.09 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.visualControl = void 0; const react_1 = require("react"); const remotion_1 = require("remotion"); const visual_control_store_1 = require("../visual-controls/visual-control-store"); const VisualControls_1 = require("../visual-controls/VisualControls"); const visualControl = (key, value, schema) => { // Subscribe to store changes so the calling component // re-renders when a visual control value is edited in the sidebar. // eslint-disable-next-line react-hooks/rules-of-hooks (0, react_1.useSyncExternalStore)(visual_control_store_1.visualControlStore.subscribe, visual_control_store_1.visualControlStore.getSnapshot, visual_control_store_1.visualControlStore.getSnapshot); if ((0, remotion_1.getRemotionEnvironment)().isRendering) { return value; } if (!VisualControls_1.visualControlRef.current) { return value; } return VisualControls_1.visualControlRef.current.globalVisualControl(key, value, schema); }; exports.visualControl = visualControl;