thebe-react
Version:
React providers and components for thebe-core
23 lines • 1.49 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.useRenderMimeRegistry = exports.ThebeRenderMimeRegistryProvider = void 0;
const tslib_1 = require("tslib");
const jsx_runtime_1 = require("react/jsx-runtime");
const react_1 = tslib_1.__importDefault(require("react"));
const ThebeLoaderProvider_1 = require("./ThebeLoaderProvider");
const ThebeServerProvider_1 = require("./ThebeServerProvider");
const RenderMimeRegistryContext = react_1.default.createContext(undefined);
/* future: could allow for renderer configuration here */
function ThebeRenderMimeRegistryProvider({ children }) {
const { core } = (0, ThebeLoaderProvider_1.useThebeLoader)();
const { config } = (0, ThebeServerProvider_1.useThebeConfig)();
const rendermime = react_1.default.useMemo(() => core === null || core === void 0 ? void 0 : core.makeRenderMimeRegistry(config === null || config === void 0 ? void 0 : config.mathjax), [core, config]);
return ((0, jsx_runtime_1.jsx)(RenderMimeRegistryContext.Provider, Object.assign({ value: { rendermime } }, { children: children })));
}
exports.ThebeRenderMimeRegistryProvider = ThebeRenderMimeRegistryProvider;
function useRenderMimeRegistry() {
const context = react_1.default.useContext(RenderMimeRegistryContext);
return context === null || context === void 0 ? void 0 : context.rendermime;
}
exports.useRenderMimeRegistry = useRenderMimeRegistry;
//# sourceMappingURL=ThebeRenderMimeRegistryProvider.js.map