@easyx.ai/dumi-theme-easyxai
Version:
@easyx.ai/dumi-theme-easyxai 是为 dumi2 打造的一款文档站主题包,提供了更加美观、易用的研发与阅读体验
35 lines (34 loc) • 1.77 kB
TypeScript
/// <reference types="react" />
import type { ISiteContext } from 'dumi/dist/client/theme-api/context';
import { ILocale, INavItem, IRouteMeta, ISidebarGroup } from 'dumi/dist/client/theme-api/types';
import type { Location } from 'history';
import { StoreApi } from 'zustand';
export type NavData = (INavItem & {
children?: INavItem[] | undefined;
})[];
export type ISiteData = ISiteContext;
export interface SiteStore {
siteData: ISiteData;
sidebar?: ISidebarGroup[];
routeMeta: IRouteMeta;
tabMeta?: NonNullable<IRouteMeta['tabs']>[0]['meta'];
navData: NavData;
location: Location;
locale: ILocale;
}
export declare const createStore: (initState: SiteStore) => import("zustand/traditional").UseBoundStoreWithEqualityFn<Omit<StoreApi<SiteStore>, "setState"> & {
setState<A extends string | {
type: string;
}>(partial: SiteStore | Partial<SiteStore> | ((state: SiteStore) => SiteStore | Partial<SiteStore>), replace?: boolean | undefined, action?: A | undefined): void;
}>;
declare const useStore: import("zustand-utils").UseContextStore<StoreApi<SiteStore>>, useStoreApi: () => {
setState: (partial: SiteStore | Partial<SiteStore> | ((state: SiteStore) => SiteStore | Partial<SiteStore>), replace?: boolean | undefined) => void;
getState: () => SiteStore;
getInitialState: () => SiteStore;
subscribe: (listener: (state: SiteStore, prevState: SiteStore) => void) => () => void;
destroy: () => void;
}, Provider: ({ createStore, children }: {
createStore: () => StoreApi<SiteStore>;
children: import("react").ReactNode;
}) => import("react").FunctionComponentElement<import("react").ProviderProps<StoreApi<SiteStore> | undefined>>;
export { Provider, useStore as useSiteStore, useStoreApi };