///
import { SvelteComponentTyped } from "svelte";
export interface PaginationProps
extends svelte.JSX.HTMLAttributes {
/**
* Specify the current page index
* @default 1
*/
page?: number;
/**
* Specify the total number of items
* @default 0
*/
totalItems?: number;
/**
* Set to `true` to disable the pagination
* @default false
*/
disabled?: boolean;
/**
* Specify the forward button text
* @default "Next page"
*/
forwardText?: string;
/**
* Specify the backward button text
* @default "Previous page"
*/
backwardText?: string;
/**
* Specify the items per page text
* @default "Items per page:"
*/
itemsPerPageText?: string;
/**
* Override the item text
* @default (min, max) => `${min}–${max} items`
*/
itemText?: (min: number, max: number) => string;
/**
* Override the item range text
* @default (min, max, total) => `${min}–${max} of ${total} items`
*/
itemRangeText?: (min: number, max: number, total: number) => string;
/**
* Set to `true` to disable the page input
* @default false
*/
pageInputDisabled?: boolean;
/**
* Set to `true` to disable the page size input
* @default false
*/
pageSizeInputDisabled?: boolean;
/**
* Specify the number of items to display in a page
* @default 10
*/
pageSize?: number;
/**
* Specify the available page sizes
* @default [10]
*/
pageSizes?: number[];
/**
* Set to `true` if the number of pages is unknown
* @default false
*/
pagesUnknown?: boolean;
/**
* Override the page text
* @default (page) => `page ${page}`
*/
pageText?: (page: number) => string;
/**
* Override the page range text
* @default (current, total) => `of ${total} page${total === 1 ? "" : "s"}`
*/
pageRangeText?: (current: number, total: number) => string;
/**
* Set an id for the top-level element
* @default "ccs-" + Math.random().toString(36)
*/
id?: string;
}
export default class Pagination extends SvelteComponentTyped<
PaginationProps,
{ update: CustomEvent<{ pageSize: number; page: number }> },
{}
> {}