UNPKG

@etsoo/materialui

Version:

TypeScript Material-UI Implementation

62 lines (61 loc) 1.81 kB
import { DataTypes } from "@etsoo/shared"; import React from "react"; import { CommonPageProps } from "./CommonPage"; import type { OperationMessageHandlerAll } from "../messages/OperationMessageHandler"; import { ViewContainerProps } from "../ViewContainer"; import { StackProps } from "@mui/material/Stack"; /** * View page action bar * @param props Props * @returns Component */ export declare function ViewPageActionBar(props: StackProps & { actionPaddings?: number | Record<string, string | number>; }): import("react/jsx-runtime").JSX.Element; /** * View page props */ export interface ViewPageProps<T extends DataTypes.StringRecord> extends Omit<CommonPageProps, "children">, Omit<ViewContainerProps<T>, "data" | "refresh"> { /** * Actions */ actions?: React.ReactNode | ((data: T, refresh: () => PromiseLike<void>) => React.ReactNode); /** * Paddings between actions */ actionPaddings?: number | Record<string, string | number>; /** * Children */ children?: React.ReactNode | ((data: T, refresh: () => PromiseLike<void>) => React.ReactNode); /** * Load data */ loadData: () => PromiseLike<T | undefined>; /** * Pull to refresh data */ pullToRefresh?: boolean; /** * Support refresh */ supportRefresh?: boolean; /** * Operation message handler */ operationMessageHandler?: OperationMessageHandlerAll | { id: number; types: string[]; }; /** * Title bar * @param data Data to render * @returns */ titleBar?: (data: T) => React.ReactNode; } /** * View page * @param props Props */ export declare function ViewPage<T extends DataTypes.StringRecord>(props: ViewPageProps<T>): import("react/jsx-runtime").JSX.Element;