@gechiui/block-editor
Version:
60 lines (50 loc) • 1.43 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("@gechiui/element");
var _useSaveImage = _interopRequireDefault(require("./use-save-image"));
var _useTransformImage = _interopRequireDefault(require("./use-transform-image"));
/**
* GeChiUI dependencies
*/
/**
* Internal dependencies
*/
const ImageEditingContext = (0, _element.createContext)({});
const useImageEditingContext = () => (0, _element.useContext)(ImageEditingContext);
exports.useImageEditingContext = useImageEditingContext;
function ImageEditingProvider(_ref) {
let {
id,
url,
naturalWidth,
naturalHeight,
isEditing,
onFinishEditing,
onSaveImage,
children
} = _ref;
const transformImage = (0, _useTransformImage.default)({
url,
naturalWidth,
naturalHeight
}, isEditing);
const saveImage = (0, _useSaveImage.default)({
id,
url,
onSaveImage,
onFinishEditing,
...transformImage
});
const providerValue = (0, _element.useMemo)(() => ({ ...transformImage,
...saveImage
}), [transformImage, saveImage]);
return (0, _element.createElement)(ImageEditingContext.Provider, {
value: providerValue
}, children);
}
//# sourceMappingURL=context.js.map