mt-flowbite-react
Version:
Official React components built for Flowbite and Tailwind CSS
91 lines (90 loc) • 4.25 kB
TypeScript
import type { StateCreator } from 'zustand';
import type { ISimpleListItem } from '../validations/list-item';
import type { ResForm, ResView } from '../validations/res';
import React from 'react';
export interface ResListState {
resView: ResView;
res: string;
queryParams?: any;
parentItemId?: number | string;
depth: number;
}
export interface ResViewSlice<T = any> extends ResListState {
setDepth: (depth: number) => void;
activateId?: string | number;
LoadViewConfig: () => void;
isLoadingDetail: boolean;
isLoadingList: boolean;
isOpenNewForm: boolean;
debug: boolean;
setDebug: (debug: boolean) => void;
isOpenDebug: boolean;
editFormId?: string;
activateItem?: ISimpleListItem;
cleanItems: () => void;
setActivateId: (acitvateId?: string | number) => void;
handleBacktoList: () => void;
loadDetailData: () => Promise<void>;
setOpenDebug: (open: boolean) => void;
items: ISimpleListItem[];
setIsLoadingList: (isLoadingList: boolean) => void;
setQueryParams: (params: any) => void;
openQuery?: boolean;
setOpenQuery: (openQuery: boolean) => void;
queryForm?: ResForm;
listQuery: (queryFormValues?: any) => Promise<void>;
newItemForm?: ResForm;
addItem: (item: T) => void;
setOpenNewForm: (isOpenNewForm: any) => void;
updateItem: (item: any) => void;
editForm?: ResForm;
isOpenDeleteConfrom?: boolean;
deleteItemId?: string | number;
setDeleteItemId: (deleteItemId: any) => void;
setOpenDeleteConfrom: (isOpenDeleteConfrom: boolean) => void;
deleteItem: (id: any) => Promise<void>;
isLoadingResView: boolean;
setLoadingResView: (isLoadingResView: any) => void;
loadResView: () => void;
setResView: (resView: ResView) => void;
activatedSubView?: ResView;
setActivatedSubView: (activatedSubView: ResView) => void;
setParentItemId: (parentItemId?: number | string) => void;
activatedTagId: string;
setActivatedTagId: (activatedTagId: string) => void;
activateSubViewId?: string;
setActivateSubViewId: (activateSubViewId: string) => void;
activateSubView?: ResView;
}
export declare const createResViewSlice: StateCreator<ResAppStoreType, [], [], ResViewSlice>;
export type ResAppStoreType = ResViewSlice;
export type ResAppInitStateType = ResListState;
export type ResAppType = ReturnType<typeof createResAppStore>;
export declare const createResAppStore: (initProps?: Partial<ResAppInitStateType>) => import("zustand").UseBoundStore<Omit<Omit<Omit<import("zustand").StoreApi<ResAppStoreType>, "setState"> & {
setState<A extends string | {
type: unknown;
}>(partial: ResAppStoreType | Partial<ResAppStoreType> | ((state: ResAppStoreType) => ResAppStoreType | Partial<ResAppStoreType>), replace?: boolean | undefined, action?: A | undefined): void;
}, "persist"> & {
persist: {
setOptions: (options: Partial<import("zustand/middleware").PersistOptions<ResAppStoreType, ResAppStoreType>>) => void;
clearStorage: () => void;
rehydrate: () => void | Promise<void>;
hasHydrated: () => boolean;
onHydrate: (fn: (state: ResAppStoreType) => void) => () => void;
onFinishHydration: (fn: (state: ResAppStoreType) => void) => () => void;
getOptions: () => Partial<import("zustand/middleware").PersistOptions<ResAppStoreType, ResAppStoreType>>;
};
}, "subscribe"> & {
subscribe: {
(listener: (selectedState: ResAppStoreType, previousSelectedState: ResAppStoreType) => void): () => void;
<U>(selector: (state: ResAppStoreType) => U, listener: (selectedState: U, previousSelectedState: U) => void, options?: {
equalityFn?: ((a: U, b: U) => boolean) | undefined;
fireImmediately?: boolean | undefined;
} | undefined): () => void;
};
}>;
type ResAppProviderProps = React.PropsWithChildren<Partial<ResAppInitStateType>>;
export declare function ResApp2Provider({ children, ...props }: ResAppProviderProps): import("react/jsx-runtime").JSX.Element;
export declare function useResV2Store<T>(): ReturnType<typeof createResAppStore>;
export declare function useResV2Store<T>(selector: (state: ResAppStoreType) => T): T;
export {};