@atlaskit/editor-core
Version:
A package contains Atlassian editor core functionality
30 lines (28 loc) • 839 B
JavaScript
import React, { useContext, useMemo, useState } from 'react';
// eslint-disable-next-line @typescript-eslint/no-explicit-any
export const EditorAPIContext = /*#__PURE__*/React.createContext({});
export const PresetContextProvider = ({
children
}) => {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const [editorApi, setEditorApi] = useState();
const contextValue = useMemo(() => ({
editorApi,
setEditorApi
}), [editorApi, setEditorApi]);
return /*#__PURE__*/React.createElement(EditorAPIContext.Provider, {
value: contextValue
}, children);
};
export function usePresetContext() {
const {
editorApi
} = useContext(EditorAPIContext);
return editorApi;
}
export const useSetPresetContext = () => {
const {
setEditorApi
} = useContext(EditorAPIContext);
return setEditorApi;
};