/** * @license *------------------------------------------------------------------------------------------- * Copyright © 2026 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the package root for more information *------------------------------------------------------------------------------------------- */ import { GridPagerSettings } from '../GridPagerSettings'; /** * A Pager target event. */ export interface PagerTargetEvent { [key: string]: any; /** * An event target. */ target?: any; /** * An event value. */ value?: any; } /** * Represents the object of the `onPageChange` event. */ export interface PageChangeEvent { /** * An event target. */ target: any; /** * A native DOM event. */ event: any; /** * The number of records that will be skipped. */ skip: number; /** * The number of records that will be taken. */ take: number; } export interface PagerProps extends GridPagerSettings { total: number; skip: number; take: number; pageSize: number; settings?: GridPagerSettings | boolean; responsive?: boolean; pagerRender?: any; width?: number | string; /** * Configures the `size` of the Pager. * * The available options are: * - small * - medium * - large * - null—Does not set a size `class`. * * @default `medium` */ size?: null | 'small' | 'medium' | 'large'; /** * A map with the messages. */ messagesMap?: (messageKey: string) => ({ messageKey: string; defaultMessage: string; }); /** * The event that is emited when the page size is changed. */ onPagesizechange?: (event: any) => any; /** * The event that is emited when the page is changed. */ onPagechange?: (event: any) => any; /** * Defines the `id` of the element that is being controlled by the pager - for example a Grid. */ ariaControls?: string; } /** * @hidden */ export interface PagerComputed { [key: string]: any; totalPages: number; currentPage: number; currentTake: number; wrapperClass: object; }