@wordpress/block-editor
Version:
55 lines (52 loc) • 1.49 kB
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = ImageEditingProvider;
exports.useImageEditingContext = void 0;
var _element = require("@wordpress/element");
var _useSaveImage = _interopRequireDefault(require("./use-save-image"));
var _useTransformImage = _interopRequireDefault(require("./use-transform-image"));
var _jsxRuntime = require("react/jsx-runtime");
/**
* WordPress dependencies
*/
/**
* Internal dependencies
*/
const ImageEditingContext = (0, _element.createContext)({});
ImageEditingContext.displayName = 'ImageEditingContext';
const useImageEditingContext = () => (0, _element.useContext)(ImageEditingContext);
exports.useImageEditingContext = useImageEditingContext;
function ImageEditingProvider({
id,
url,
naturalWidth,
naturalHeight,
onFinishEditing,
onSaveImage,
children
}) {
const transformImage = (0, _useTransformImage.default)({
url,
naturalWidth,
naturalHeight
});
const saveImage = (0, _useSaveImage.default)({
id,
url,
onSaveImage,
onFinishEditing,
...transformImage
});
const providerValue = (0, _element.useMemo)(() => ({
...transformImage,
...saveImage
}), [transformImage, saveImage]);
return /*#__PURE__*/(0, _jsxRuntime.jsx)(ImageEditingContext.Provider, {
value: providerValue,
children: children
});
}
//# sourceMappingURL=context.js.map
;