UNPKG

phx-react

Version:

PHX REACT

60 lines (59 loc) 1.63 kB
import { ReactNode } from 'react'; import { SelectedButtonIcon } from '../TableV3/SelectedAction'; import { ComplexAction } from '../types'; import { AppRouterInstance } from 'next/dist/shared/lib/app-router-context.shared-runtime'; import { ReadonlyURLSearchParams } from 'next/navigation'; export interface THeader { name: string | ReactNode; col: number; row: number; children?: Array<THeader>; } export type TTableData = Record<string, any>; export interface RowChildrenData { headers: Array<string>; body: Array<string>; data: Array<Record<string, any>>; } export interface TBodyComponent { [key: string]: (value: any, itemBody: any) => { value: any; row?: number; children?: RowChildrenData; }; } export interface TMergeConfig { isMergeRowData: boolean; columnPosition: Array<{ key: string; position: number; }>; } export interface TSearch { enable: boolean; loading?: boolean; onChange?(searchValue: string): void; } export interface TPagination { enable: boolean; dataAggregate: number; setRowNumberInPage?(rowNumber: number): void; rowNumberInPage: number; loading?: boolean; onChange?(page: number): void; } export interface TSelectedAllPeople { enable: boolean; selectedAction: { label: string; actions: Array<ComplexAction & { icon?: SelectedButtonIcon; }>; }; maxSelectedPeople?: number; hideSelectedAction?: boolean; } export interface NavigationUrlApply { router?: AppRouterInstance; searchParams: ReadonlyURLSearchParams; }