UNPKG

@wordpress/block-editor

Version:
53 lines (45 loc) 963 B
/** * WordPress dependencies */ import { createContext, useContext, useMemo } from '@wordpress/element'; /** * Internal dependencies */ import useSaveImage from './use-save-image'; import useTransformImage from './use-transform-image'; const ImageEditingContext = createContext( {} ); export const useImageEditingContext = () => useContext( ImageEditingContext ); export default function ImageEditingProvider( { id, url, naturalWidth, naturalHeight, onFinishEditing, onSaveImage, children, } ) { const transformImage = useTransformImage( { url, naturalWidth, naturalHeight, } ); const saveImage = useSaveImage( { id, url, onSaveImage, onFinishEditing, ...transformImage, } ); const providerValue = useMemo( () => ( { ...transformImage, ...saveImage, } ), [ transformImage, saveImage ] ); return ( <ImageEditingContext.Provider value={ providerValue }> { children } </ImageEditingContext.Provider> ); }