UNPKG

@easyx.ai/dumi-theme-easyxai

Version:

@easyx.ai/dumi-theme-easyxai 是为 dumi2 打造的一款文档站主题包,提供了更加美观、易用的研发与阅读体验

35 lines (34 loc) 1.77 kB
/// <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 };