pagination-ui-less
Version:
A Pagination manager library without UI.
136 lines (135 loc) • 3.3 kB
TypeScript
export declare type TCreatePaginationProps = {
pagesLength: number;
onChange: (pages: TPages) => void;
currentPage?: number;
};
export declare type TPages = {
currentPage: number;
pages: {
action: string | null;
value: number | string;
isActive?: boolean;
}[];
};
export default function createPagination({ pagesLength, currentPage, onChange }: TCreatePaginationProps): {
setPage: (n: number) => {
currentPage: number;
pages: ({
action: string;
value: string;
} | {
isActive: boolean;
action: string;
value: any;
} | {
action: string;
value: number;
} | {
action: null;
value: string;
})[];
};
setPagesLength: (newPagesLength: number, newCurrentPage: number) => {
currentPage: number;
pages: ({
action: string;
value: string;
} | {
isActive: boolean;
action: string;
value: any;
} | {
action: string;
value: number;
} | {
action: null;
value: string;
})[];
};
getPages: () => {
currentPage: number;
pages: ({
action: string;
value: string;
} | {
isActive: boolean;
action: string;
value: any;
} | {
action: string;
value: number;
} | {
action: null;
value: string;
})[];
};
getCurrentPage: () => number;
nextPage: () => {
currentPage: number;
pages: ({
action: string;
value: string;
} | {
isActive: boolean;
action: string;
value: any;
} | {
action: string;
value: number;
} | {
action: null;
value: string;
})[];
};
previousPage: () => {
currentPage: number;
pages: ({
action: string;
value: string;
} | {
isActive: boolean;
action: string;
value: any;
} | {
action: string;
value: number;
} | {
action: null;
value: string;
})[];
};
firstPage: () => {
currentPage: number;
pages: ({
action: string;
value: string;
} | {
isActive: boolean;
action: string;
value: any;
} | {
action: string;
value: number;
} | {
action: null;
value: string;
})[];
};
lastPage: () => {
currentPage: number;
pages: ({
action: string;
value: string;
} | {
isActive: boolean;
action: string;
value: any;
} | {
action: string;
value: number;
} | {
action: null;
value: string;
})[];
};
};