UNPKG

@remotion/studio

Version:

APIs for interacting with the Remotion Studio

31 lines (30 loc) 1.42 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.FolderContextProvider = exports.FolderContext = void 0; const jsx_runtime_1 = require("react/jsx-runtime"); const react_1 = require("react"); const persist_open_folders_1 = require("../helpers/persist-open-folders"); exports.FolderContext = (0, react_1.createContext)({ compositionFoldersExpanded: {}, setCompositionFoldersExpanded: () => { throw new Error('default state'); }, assetFoldersExpanded: {}, setAssetFoldersExpanded: () => { throw new Error('default state'); }, }); const FolderContextProvider = ({ children }) => { const [compositionFoldersExpanded, setCompositionFoldersExpanded] = (0, react_1.useState)(() => (0, persist_open_folders_1.loadExpandedFolders)('compositions')); const [assetFoldersExpanded, setAssetFoldersExpanded] = (0, react_1.useState)(() => (0, persist_open_folders_1.loadExpandedFolders)('assets')); const value = (0, react_1.useMemo)(() => { return { compositionFoldersExpanded, setCompositionFoldersExpanded, assetFoldersExpanded, setAssetFoldersExpanded, }; }, [assetFoldersExpanded, compositionFoldersExpanded]); return (jsx_runtime_1.jsx(exports.FolderContext.Provider, { value: value, children: children })); }; exports.FolderContextProvider = FolderContextProvider;