{"version":3,"file":"igniteui-angular-paginator.mjs","sources":["../../../projects/igniteui-angular/paginator/src/paginator/paginator-interfaces.ts","../../../projects/igniteui-angular/paginator/src/paginator/token.ts","../../../projects/igniteui-angular/paginator/src/paginator/paginator.component.ts","../../../projects/igniteui-angular/paginator/src/paginator/paginator.component.html","../../../projects/igniteui-angular/paginator/src/paginator/page-size-selector.component.html","../../../projects/igniteui-angular/paginator/src/paginator/pager.component.html","../../../projects/igniteui-angular/paginator/src/paginator/public_api.ts","../../../projects/igniteui-angular/paginator/src/paginator/paginator.module.ts","../../../projects/igniteui-angular/paginator/src/igniteui-angular-paginator.ts"],"sourcesContent":["import { Directive, TemplateRef, inject } from '@angular/core';\nimport { CancelableEventArgs, IBaseEventArgs } from 'igniteui-angular/core';\n\nexport interface IPageEventArgs extends IBaseEventArgs {\n    previous: number;\n    current: number;\n}\n\nexport interface IPageCancellableEventArgs extends CancelableEventArgs {\n    current: number;\n    next: number;\n}\n\n@Directive({\n    selector: '[igxPaginator]',\n    standalone: true\n})\nexport class IgxPaginatorDirective {\n    public template = inject<TemplateRef<any>>(TemplateRef);\n}\n","import { EventEmitter } from '@angular/core';\n\n/** @hidden @internal */\nexport abstract class IgxPaginatorToken {\n    public abstract page: number;\n    public abstract perPage: number;\n    public abstract totalRecords: number;\n\n    public abstract pageChange: EventEmitter<number>;\n\n    public abstract paginate(val: number): void\n}\n","import { ChangeDetectorRef, Component, ContentChild, DestroyRef, Directive, ElementRef, EventEmitter, HostBinding, Input, Output, forwardRef, inject } from '@angular/core';\nimport { IPageCancellableEventArgs, IPageEventArgs } from './paginator-interfaces';\nimport {\n    IPaginatorResourceStrings,\n    PaginatorResourceStringsEN,\n    OverlaySettings,\n    getCurrentResourceStrings,\n    onResourceChangeHandle\n} from 'igniteui-angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { IgxIconComponent } from 'igniteui-angular/icon';\nimport { IgxRippleDirective, IgxIconButtonDirective } from 'igniteui-angular/directives';\nimport { IgxSelectComponent, IgxSelectItemComponent } from 'igniteui-angular/select';\nimport { IgxPaginatorToken } from './token';\n\n@Directive({\n    selector: '[igxPaginatorContent],igx-paginator-content',\n    standalone: true\n})\nexport class IgxPaginatorContentDirective {\n    /**\n     * @internal\n     * @hidden\n     */\n    @HostBinding('class.igx-paginator-content')\n    public cssClass = 'igx-paginator-content';\n}\n\n/* blazorElement */\n/* mustUseNGParentAnchor */\n/* wcElementTag: igc-paginator */\n/* blazorIndirectRender */\n/* singleInstanceIdentifier */\n/* contentParent: GridBaseDirective */\n/* contentParent: RowIsland */\n/* contentParent: HierarchicalGrid */\n/* jsonAPIManageCollectionInMarkup */\n/**\n * Paginator component description\n * @igxParent IgxGridComponent, IgxTreeGridComponent, IgxHierarchicalGridComponent, IgxPivotGridComponent, *\n */\n@Component({\n    selector: 'igx-paginator',\n    templateUrl: 'paginator.component.html',\n    imports: [forwardRef(() => IgxPageSizeSelectorComponent), forwardRef(() => IgxPageNavigationComponent)],\n    providers: [\n        { provide: IgxPaginatorToken, useExisting: IgxPaginatorComponent }\n    ]\n})\n// switch IgxPaginatorToken to extends once density is dropped\nexport class IgxPaginatorComponent implements IgxPaginatorToken {\n    private elementRef = inject(ElementRef);\n    private cdr = inject(ChangeDetectorRef);\n    private destroyRef = inject(DestroyRef);\n\n    /**\n     * @hidden\n     * @internal\n     */\n    @ContentChild(IgxPaginatorContentDirective)\n    public customContent: IgxPaginatorContentDirective;\n\n    /**\n     * Emitted when `perPage` property value of the paginator is changed.\n     *\n     * @example\n     * ```html\n     * <igx-paginator (perPageChange)=\"onPerPageChange($event)\"></igx-paginator>\n     * ```\n     * ```typescript\n     * public onPerPageChange(perPage: number) {\n     *   this.perPage = perPage;\n     * }\n     * ```\n     */\n    @Output()\n    public perPageChange = new EventEmitter<number>();\n\n    /**\n     * Emitted after the current page is changed.\n     *\n     * @example\n     * ```html\n     * <igx-paginator (pageChange)=\"onPageChange($event)\"></igx-paginator>\n     * ```\n     * ```typescript\n     * public onPageChange(page: number) {\n     *   this.currentPage = page;\n     * }\n     * ```\n     */\n    @Output()\n    public pageChange = new EventEmitter<number>();\n\n    /**\n     * Emitted before paging is performed.\n     *\n     * @remarks\n     * Returns an object consisting of the current and next pages.\n     * @example\n     * ```html\n     * <igx-paginator (paging)=\"pagingHandler($event)\"></igx-paginator>\n     * ```\n     */\n    @Output()\n    public paging = new EventEmitter<IPageCancellableEventArgs>();\n\n    /**\n     * Emitted after paging is performed.\n     *\n     * @remarks\n     * Returns an object consisting of the previous and current pages.\n     * @example\n     * ```html\n     * <igx-paginator (pagingDone)=\"pagingDone($event)\"></igx-paginator>\n     * ```\n     */\n    @Output()\n    public pagingDone = new EventEmitter<IPageEventArgs>();\n\n    /**\n     * Total pages calculated from totalRecords and perPage\n     */\n    public totalPages: number;\n    protected _page = 0;\n    protected _totalRecords: number;\n    protected _selectOptions = [5, 10, 15, 25, 50, 100, 500];\n    protected _perPage = 15;\n\n    private _resourceStrings: IPaginatorResourceStrings = null;\n    private _defaultResourceStrings = getCurrentResourceStrings(PaginatorResourceStringsEN, true);\n    private _overlaySettings: OverlaySettings = {};\n    private defaultSelectValues = [5, 10, 15, 25, 50, 100, 500];\n\n    /** @hidden @internal */\n    @HostBinding('class.igx-paginator')\n    public cssClass = 'igx-paginator';\n\n    /**\n     * Gets/Sets the current page of the paginator.\n     * The default is 0.\n     * ```typescript\n     * let page = this.paginator.page;\n     * ```\n     *\n     * @memberof IgxPaginatorComponent\n     */\n    @Input()\n    public get page() {\n        return this._page;\n    }\n\n    public set page(value: number) {\n        if (this._page === value || value < 0 || value > this.totalPages) {\n            return;\n        }\n        const cancelEventArgs: IPageCancellableEventArgs = { current: this._page, next: value, cancel: false };\n        const eventArgs: IPageEventArgs = { previous: this._page, current: value };\n\n        this.paging.emit(cancelEventArgs);\n        if (cancelEventArgs.cancel) {\n            return;\n        }\n        this._page = value;\n        this.pageChange.emit(this._page);\n\n        this.pagingDone.emit(eventArgs);\n    }\n\n    /**\n     * Gets/Sets the number of visible items per page in the paginator.\n     * The default is 15.\n     * ```typescript\n     * let itemsPerPage = this.paginator.perPage;\n     * ```\n     *\n     * @memberof IgxPaginatorComponent\n     */\n    @Input()\n    public get perPage() {\n        return this._perPage;\n    }\n\n    public set perPage(value: number) {\n        if (value < 0 || this.perPage === value) {\n            return;\n        }\n        this._perPage = Number(value);\n        this.perPageChange.emit(this._perPage);\n        this._selectOptions = this.sortUniqueOptions(this.defaultSelectValues, this._perPage);\n        this.totalPages = Math.ceil(this.totalRecords / this._perPage);\n        if (this.totalPages !== 0 && this.page >= this.totalPages) {\n            this.page = this.totalPages - 1;\n        }\n    }\n\n    /**\n     * Sets the total records.\n     * ```typescript\n     * let totalRecords = this.paginator.totalRecords;\n     * ```\n     *\n     * @memberof IgxPaginatorComponent\n     */\n    @Input()\n    public get totalRecords() {\n        return this._totalRecords;\n    }\n\n    public set totalRecords(value: number) {\n        this._totalRecords = value;\n        this.totalPages = Math.ceil(this.totalRecords / this.perPage);\n        if (this.page > this.totalPages) {\n            this.page = 0;\n        }\n        this.cdr.detectChanges();\n    }\n\n    /**\n     * Sets custom options in the select of the paginator\n     * ```typescript\n     * let options = this.paginator.selectOptions;\n     * ```\n     *\n     * @memberof IgxPaginatorComponent\n     */\n    @Input()\n    public get selectOptions() {\n        return this._selectOptions;\n    }\n\n    public set selectOptions(value: Array<number>) {\n        this._selectOptions = this.sortUniqueOptions(value, this._perPage);\n        this.defaultSelectValues = [...value];\n    }\n\n    /**\n     * Sets custom OverlaySettings.\n     * ```html\n     * <igx-paginator [overlaySettings] = \"customOverlaySettings\"></igx-paginator>\n     * ```\n     */\n    @Input()\n    public get overlaySettings(): OverlaySettings {\n        return this._overlaySettings;\n    }\n\n    public set overlaySettings(value: OverlaySettings) {\n        this._overlaySettings = Object.assign({}, this._overlaySettings, value);\n    }\n\n    /* mustSetInCodePlatforms: WebComponents;Blazor;React */\n    /**\n     * An accessor that sets the resource strings.\n     * By default it uses EN resources.\n     */\n    @Input()\n    public set resourceStrings(value: IPaginatorResourceStrings) {\n        this._resourceStrings = Object.assign({}, this._resourceStrings, value);\n    }\n\n    /**\n     * An accessor that returns the resource strings.\n     */\n    public get resourceStrings(): IPaginatorResourceStrings {\n        return this._resourceStrings || this._defaultResourceStrings;\n    }\n\n    constructor() {\n        onResourceChangeHandle(this.destroyRef, () => {\n            this._defaultResourceStrings = getCurrentResourceStrings(PaginatorResourceStringsEN, false);\n        }, this);\n    }\n\n    /**\n     * Returns if the current page is the last page.\n     * ```typescript\n     * const lastPage = this.paginator.isLastPage;\n     * ```\n     */\n    public get isLastPage(): boolean {\n        return this.page + 1 >= this.totalPages;\n    }\n\n    /**\n     * Returns if the current page is the first page.\n     * ```typescript\n     * const lastPage = this.paginator.isFirstPage;\n     * ```\n     */\n    public get isFirstPage(): boolean {\n        return this.page === 0;\n    }\n\n\n    /**\n     * Returns if the first pager buttons should be disabled\n     * @hidden\n     * @deprecated in version 18.1.0. Use the `isFirstPage` property instead.\n     */\n    public get isFirstPageDisabled(): boolean {\n        return this.isFirstPage;\n    }\n\n    /**\n     * Returns if the last pager buttons should be disabled\n     * @hidden\n     * @deprecated in version 18.1.0. Use the `isLastPage` property instead.\n     */\n    public get isLastPageDisabled(): boolean {\n        return this.isLastPage;\n    }\n\n    public get nativeElement() {\n        return this.elementRef.nativeElement;\n    }\n\n    /**\n     * Goes to the next page of the `IgxPaginatorComponent`, if the paginator is not already at the last page.\n     * ```typescript\n     * this.paginator.nextPage();\n     * ```\n     *\n     * @memberof IgxPaginatorComponent\n     */\n    public nextPage(): void {\n        if (!this.isLastPage) {\n            this.page += 1;\n        }\n    }\n    /**\n     * Goes to the previous page of the `IgxPaginatorComponent`, if the paginator is not already at the first page.\n     * ```typescript\n     * this.paginator.previousPage();\n     * ```\n     *\n     * @memberof IgxPaginatorComponent\n     */\n    public previousPage(): void {\n        if (!this.isFirstPage) {\n            this.page -= 1;\n        }\n    }\n    /**\n     * Goes to the desired page index.\n     * ```typescript\n     * this.paginator.paginate(1);\n     * ```\n     *\n     * @param val\n     * @memberof IgxPaginatorComponent\n     */\n    public paginate(val: number): void {\n        if (val < 0 || val > this.totalPages - 1) {\n            return;\n        }\n        this.page = val;\n    }\n\n    private sortUniqueOptions(values: Array<number>, newOption: number): number[] {\n        return Array.from(new Set([...values, newOption])).sort((a, b) => a - b);\n    }\n}\n\nlet NEXT_ID = 0;\n\n@Component({\n    selector: 'igx-page-size',\n    templateUrl: 'page-size-selector.component.html',\n    imports: [IgxSelectComponent, FormsModule, IgxSelectItemComponent]\n})\nexport class IgxPageSizeSelectorComponent {\n    public paginator = inject(IgxPaginatorComponent, { host: true });\n\n    /**\n     * @internal\n     * @hidden\n     */\n    @HostBinding('class.igx-page-size')\n    public cssClass = 'igx-page-size';\n\n    @HostBinding('attr.id')\n    @Input()\n    public id = `igx-paginator-${NEXT_ID++}`;\n\n    public get labelId() {\n        return `${this.id}-label`;\n    }\n}\n\n\n@Component({\n    selector: 'igx-page-nav',\n    templateUrl: 'pager.component.html',\n    imports: [IgxRippleDirective, IgxIconComponent, IgxIconButtonDirective]\n})\nexport class IgxPageNavigationComponent {\n    public paginator = inject(IgxPaginatorComponent, { host: true });\n\n    /**\n     * @internal\n     * @hidden\n     */\n    @HostBinding('class.igx-page-nav')\n    public cssClass = 'igx-page-nav';\n\n    /**\n     * Sets the `role` attribute of the element.\n     */\n    @HostBinding('attr.role')\n    @Input()\n    public role = 'navigation';\n}\n","<ng-content select=\"[igxPaginatorContent],igx-paginator-content\"></ng-content>\n\n@if (!customContent) {\n    <igx-page-size></igx-page-size>\n}\n@if (!customContent) {\n    <igx-page-nav></igx-page-nav>\n}\n","<label [id]=\"labelId\" class=\"igx-page-size__label\">{{ paginator.resourceStrings.igx_paginator_label }}</label>\n<div class=\"igx-page-size__select\">\n    <igx-select [labelledBy]=\"labelId\" [overlaySettings]=\"paginator.overlaySettings\" [(ngModel)]=\"paginator.perPage\" type=\"border\">\n        @for (val of paginator.selectOptions; track val) {\n            <igx-select-item [value]=\"val\">\n                {{ val }}\n            </igx-select-item>\n        }\n    </igx-select>\n</div>\n","<button\n    [title]=\"paginator.resourceStrings.igx_paginator_first_page_button_text\"\n    [attr.aria-label]=\"paginator.resourceStrings.igx_paginator_first_page_button_text\"\n    [disabled]=\"paginator.isFirstPage\"\n    [attr.aria-disabled]=\"paginator.isFirstPage\"\n    (click)=\"paginator.paginate(0)\"\n    igxIconButton=\"flat\"\n    igxRipple\n    [igxRippleCentered]=\"true\"\n    type=\"button\"\n>\n    <igx-icon family=\"default\" name=\"first_page\"></igx-icon>\n</button>\n<button\n    [title]=\"paginator.resourceStrings.igx_paginator_previous_page_button_text\"\n    [attr.aria-label]=\"paginator.resourceStrings.igx_paginator_previous_page_button_text\"\n    [disabled]=\"paginator.isFirstPage\"\n    [attr.aria-disabled]=\"paginator.isFirstPage\"\n    (click)=\"paginator.previousPage()\"\n    igxIconButton=\"flat\"\n    igxRipple\n    [igxRippleCentered]=\"true\"\n    type=\"button\"\n>\n    <igx-icon family=\"default\" name=\"prev\"></igx-icon>\n</button>\n<div class=\"igx-page-nav__text\" aria-current=\"page\">\n    <span>{{ paginator.page + 1 }}</span>\n    <span\n        >&nbsp;{{\n            paginator.resourceStrings.igx_paginator_pager_text\n        }}&nbsp;</span\n    >\n    <span>{{ paginator.totalPages || 1 }}</span>\n</div>\n<button\n    [title]=\"paginator.resourceStrings.igx_paginator_next_page_button_text\"\n    [attr.aria-label]=\"paginator.resourceStrings.igx_paginator_next_page_button_text\"\n    [disabled]=\"paginator.isLastPage\"\n    [attr.aria-disabled]=\"paginator.isLastPage\"\n    (click)=\"paginator.nextPage()\"\n    igxRipple\n    [igxRippleCentered]=\"true\"\n    igxIconButton=\"flat\"\n    type=\"button\"\n>\n    <igx-icon family=\"default\" name=\"next\"></igx-icon>\n</button>\n<button\n    [title]=\"paginator.resourceStrings.igx_paginator_last_page_button_text\"\n    [attr.aria-label]=\"paginator.resourceStrings.igx_paginator_last_page_button_text\"\n    [disabled]=\"paginator.isLastPage\"\n    [attr.aria-disabled]=\"paginator.isLastPage\"\n    (click)=\"paginator.paginate(paginator.totalPages - 1)\"\n    igxIconButton=\"flat\"\n    igxRipple\n    [igxRippleCentered]=\"true\"\n    type=\"button\"\n>\n    <igx-icon family=\"default\" name=\"last_page\"></igx-icon>\n</button>\n\n","import { IgxPaginatorDirective } from './paginator-interfaces';\nimport { IgxPageNavigationComponent, IgxPageSizeSelectorComponent, IgxPaginatorComponent, IgxPaginatorContentDirective } from './paginator.component';\n\nexport * from './paginator.component';\nexport * from './paginator-interfaces';\nexport { IgxPaginatorToken } from './token';\n\n/* NOTE: Paginator directives collection for ease-of-use import in standalone components scenario */\nexport const IGX_PAGINATOR_DIRECTIVES = [\n    IgxPaginatorComponent,\n    IgxPageNavigationComponent,\n    IgxPageSizeSelectorComponent,\n    IgxPaginatorContentDirective,\n    IgxPaginatorDirective\n] as const;\n","import { NgModule } from '@angular/core';\nimport { IGX_PAGINATOR_DIRECTIVES } from './public_api';\n\n/**\n * @hidden\n * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components\n */\n@NgModule({\n    imports: [\n        ...IGX_PAGINATOR_DIRECTIVES\n    ],\n    exports: [\n        ...IGX_PAGINATOR_DIRECTIVES\n    ]\n})\nexport class IgxPaginatorModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.IgxPaginatorComponent","i1.IgxPageNavigationComponent","i1.IgxPageSizeSelectorComponent","i1.IgxPaginatorContentDirective","i2.IgxPaginatorDirective"],"mappings":"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"}