thebe-react
Version:
React providers and components for thebe-core
52 lines (51 loc) • 1.82 kB
TypeScript
import React from 'react';
import type { Config, CoreOptions, RepoProviderSpec, ThebeEventData, ThebeEvents, ThebeServer } from 'thebe-core';
type ListenerFn = (data: ThebeEventData) => void;
export declare const ThebeServerContext: React.Context<{
connecting: boolean;
ready: boolean;
config?: Config | undefined;
events?: ThebeEvents | undefined;
server?: ThebeServer | undefined;
error?: string | undefined;
connect?: (() => void) | undefined;
disconnect?: (() => Promise<void>) | undefined;
} | undefined>;
export declare function ThebeServerProvider({ connect, config, options, useBinder, useJupyterLite, customConnectFn, customRepoProviders, events, children, }: React.PropsWithChildren<{
connect: boolean;
config?: Config;
options?: CoreOptions;
useBinder?: boolean;
useJupyterLite?: boolean;
events?: ThebeEvents;
customConnectFn?: (server: ThebeServer) => Promise<void>;
customRepoProviders?: RepoProviderSpec[];
}>): import("react/jsx-runtime").JSX.Element;
export declare function useThebeConfig(): {
config: Config | undefined;
};
export declare function useDisposeThebeServer(): boolean;
export declare function useThebeServer(): {
config: Config | undefined;
events: ThebeEvents | undefined;
server: ThebeServer | undefined;
connecting: boolean;
ready: boolean;
error: string | undefined;
connect: (() => void) | undefined;
disconnect: (() => Promise<void>) | undefined;
subscribe: (fn: ListenerFn) => void;
unsubAll: () => void;
} | {
connecting: boolean;
ready: boolean;
config?: undefined;
events?: undefined;
server?: undefined;
error?: undefined;
connect?: undefined;
disconnect?: undefined;
subscribe?: undefined;
unsubAll?: undefined;
};
export {};