@memori.ai/memori-react
Version:
[](https://www.npmjs.com/package/@memori.ai/memori-react)  ;
export const ArtifactProvider = ({ children }) => {
const [state, setState] = useState({
currentArtifact: null,
isDrawerOpen: false,
isFullscreen: false,
});
const openArtifact = useCallback((artifact) => {
setState(() => {
return {
currentArtifact: artifact,
isDrawerOpen: true,
isFullscreen: false,
};
});
}, []);
const closeArtifact = useCallback(() => {
setState(prev => {
return {
...prev,
currentArtifact: null,
isDrawerOpen: false,
isFullscreen: false,
};
});
}, []);
const toggleFullscreen = useCallback(() => {
setState(prev => ({
...prev,
isFullscreen: !prev.isFullscreen,
}));
}, []);
const contextValue = useMemo(() => ({
state,
openArtifact,
closeArtifact,
toggleFullscreen,
}), [state, openArtifact, closeArtifact, toggleFullscreen]);
return (_jsx(ArtifactContext.Provider, { value: contextValue, children: children }));
};
export const useArtifact = () => {
const context = useContext(ArtifactContext);
if (!context) {
throw new Error('useArtifact must be used within ArtifactProvider');
}
return context;
};
//# sourceMappingURL=ArtifactContext.js.map