@ng-bootstrap/ng-bootstrap
Version:
Angular powered Bootstrap
666 lines (660 loc) • 27.9 kB
JavaScript
import * as i0 from '@angular/core';
import { Injectable, inject, TemplateRef, Directive, EventEmitter, Input, Output, ContentChild, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
import { getValueInRange, isNumber } from './_ngb-ngbootstrap-utilities.mjs';
import { NgTemplateOutlet } from '@angular/common';
/**
* A configuration service for the [`NgbPagination`](#/components/pagination/api#NgbPagination) component.
*
* You can inject this service, typically in your root component, and customize the values of its properties in
* order to provide default values for all the paginations used in the application.
*/
class NgbPaginationConfig {
constructor() {
this.disabled = false;
this.boundaryLinks = false;
this.directionLinks = true;
this.ellipses = true;
this.maxSize = 0;
this.pageSize = 10;
this.rotate = false;
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: NgbPaginationConfig, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: NgbPaginationConfig, providedIn: 'root' }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: NgbPaginationConfig, decorators: [{
type: Injectable,
args: [{ providedIn: 'root' }]
}] });
/**
* A directive to match the 'ellipsis' link template
*
* @since 4.1.0
*/
class NgbPaginationEllipsis {
constructor() {
this.templateRef = inject((TemplateRef));
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: NgbPaginationEllipsis, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.4", type: NgbPaginationEllipsis, isStandalone: true, selector: "ng-template[ngbPaginationEllipsis]", ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: NgbPaginationEllipsis, decorators: [{
type: Directive,
args: [{ selector: 'ng-template[ngbPaginationEllipsis]' }]
}] });
/**
* A directive to match the 'first' link template
*
* @since 4.1.0
*/
class NgbPaginationFirst {
constructor() {
this.templateRef = inject((TemplateRef));
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: NgbPaginationFirst, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.4", type: NgbPaginationFirst, isStandalone: true, selector: "ng-template[ngbPaginationFirst]", ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: NgbPaginationFirst, decorators: [{
type: Directive,
args: [{ selector: 'ng-template[ngbPaginationFirst]' }]
}] });
/**
* A directive to match the 'last' link template
*
* @since 4.1.0
*/
class NgbPaginationLast {
constructor() {
this.templateRef = inject((TemplateRef));
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: NgbPaginationLast, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.4", type: NgbPaginationLast, isStandalone: true, selector: "ng-template[ngbPaginationLast]", ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: NgbPaginationLast, decorators: [{
type: Directive,
args: [{ selector: 'ng-template[ngbPaginationLast]' }]
}] });
/**
* A directive to match the 'next' link template
*
* @since 4.1.0
*/
class NgbPaginationNext {
constructor() {
this.templateRef = inject((TemplateRef));
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: NgbPaginationNext, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.4", type: NgbPaginationNext, isStandalone: true, selector: "ng-template[ngbPaginationNext]", ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: NgbPaginationNext, decorators: [{
type: Directive,
args: [{ selector: 'ng-template[ngbPaginationNext]' }]
}] });
/**
* A directive to match the page 'number' link template
*
* @since 4.1.0
*/
class NgbPaginationNumber {
constructor() {
this.templateRef = inject((TemplateRef));
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: NgbPaginationNumber, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.4", type: NgbPaginationNumber, isStandalone: true, selector: "ng-template[ngbPaginationNumber]", ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: NgbPaginationNumber, decorators: [{
type: Directive,
args: [{ selector: 'ng-template[ngbPaginationNumber]' }]
}] });
/**
* A directive to match the 'previous' link template
*
* @since 4.1.0
*/
class NgbPaginationPrevious {
constructor() {
this.templateRef = inject((TemplateRef));
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: NgbPaginationPrevious, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.4", type: NgbPaginationPrevious, isStandalone: true, selector: "ng-template[ngbPaginationPrevious]", ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: NgbPaginationPrevious, decorators: [{
type: Directive,
args: [{ selector: 'ng-template[ngbPaginationPrevious]' }]
}] });
/**
* A directive to match the 'pages' whole content
*
* @since 9.1.0
*/
class NgbPaginationPages {
constructor() {
this.templateRef = inject((TemplateRef));
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: NgbPaginationPages, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.4", type: NgbPaginationPages, isStandalone: true, selector: "ng-template[ngbPaginationPages]", ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: NgbPaginationPages, decorators: [{
type: Directive,
args: [{ selector: 'ng-template[ngbPaginationPages]' }]
}] });
/**
* A component that displays page numbers and allows to customize them in several ways.
*/
class NgbPagination {
constructor() {
this._config = inject(NgbPaginationConfig);
this.pageCount = 0;
this.pages = [];
/**
* If `true`, pagination links will be disabled.
*/
this.disabled = this._config.disabled;
/**
* If `true`, the "First" and "Last" page links are shown.
*/
this.boundaryLinks = this._config.boundaryLinks;
/**
* If `true`, the "Next" and "Previous" page links are shown.
*/
this.directionLinks = this._config.directionLinks;
/**
* If `true`, the ellipsis symbols and first/last page numbers will be shown when `maxSize` > number of pages.
*/
this.ellipses = this._config.ellipses;
/**
* Whether to rotate pages when `maxSize` > number of pages.
*
* The current page always stays in the middle if `true`.
*/
this.rotate = this._config.rotate;
/**
* The maximum number of pages to display.
*/
this.maxSize = this._config.maxSize;
/**
* The current page.
*
* Page numbers start with `1`.
*/
this.page = 1;
/**
* The number of items per page.
*/
this.pageSize = this._config.pageSize;
/**
* An event fired when the page is changed. Will fire only if collection size is set and all values are valid.
*
* Event payload is the number of the newly selected page.
*
* Page numbers start with `1`.
*/
this.pageChange = new EventEmitter(true);
/**
* The pagination display size.
*
* Bootstrap currently supports small and large sizes.
*
* If the passed value is a string (ex. 'custom'), it will just add the `pagination-custom` css class
*/
this.size = this._config.size;
}
hasPrevious() {
return this.page > 1;
}
hasNext() {
return this.page < this.pageCount;
}
nextDisabled() {
return !this.hasNext() || this.disabled;
}
previousDisabled() {
return !this.hasPrevious() || this.disabled;
}
selectPage(pageNumber) {
this._updatePages(pageNumber);
}
ngOnChanges(changes) {
this._updatePages(this.page);
}
isEllipsis(pageNumber) {
return pageNumber === -1;
}
/**
* Appends ellipses and first/last page number to the displayed pages
*/
_applyEllipses(start, end) {
if (this.ellipses) {
if (start > 0) {
// The first page will always be included. If the displayed range
// starts after the third page, then add ellipsis. But if the range
// starts on the third page, then add the second page instead of
// an ellipsis, because the ellipsis would only hide a single page.
if (start > 2) {
this.pages.unshift(-1);
}
else if (start === 2) {
this.pages.unshift(2);
}
this.pages.unshift(1);
}
if (end < this.pageCount) {
// The last page will always be included. If the displayed range
// ends before the third-last page, then add ellipsis. But if the range
// ends on third-last page, then add the second-last page instead of
// an ellipsis, because the ellipsis would only hide a single page.
if (end < this.pageCount - 2) {
this.pages.push(-1);
}
else if (end === this.pageCount - 2) {
this.pages.push(this.pageCount - 1);
}
this.pages.push(this.pageCount);
}
}
}
/**
* Rotates page numbers based on maxSize items visible.
* Currently selected page stays in the middle:
*
* Ex. for selected page = 6:
* [5,*6*,7] for maxSize = 3
* [4,5,*6*,7] for maxSize = 4
*/
_applyRotation() {
let start = 0;
let end = this.pageCount;
let leftOffset = Math.floor(this.maxSize / 2);
let rightOffset = this.maxSize % 2 === 0 ? leftOffset - 1 : leftOffset;
if (this.page <= leftOffset) {
// very beginning, no rotation -> [0..maxSize]
end = this.maxSize;
}
else if (this.pageCount - this.page < leftOffset) {
// very end, no rotation -> [len-maxSize..len]
start = this.pageCount - this.maxSize;
}
else {
// rotate
start = this.page - leftOffset - 1;
end = this.page + rightOffset;
}
return [start, end];
}
/**
* Paginates page numbers based on maxSize items per page.
*/
_applyPagination() {
let page = Math.ceil(this.page / this.maxSize) - 1;
let start = page * this.maxSize;
let end = start + this.maxSize;
return [start, end];
}
_setPageInRange(newPageNo) {
const prevPageNo = this.page;
this.page = getValueInRange(newPageNo, this.pageCount, 1);
if (this.page !== prevPageNo && isNumber(this.collectionSize)) {
this.pageChange.emit(this.page);
}
}
_updatePages(newPage) {
this.pageCount = Math.ceil(this.collectionSize / this.pageSize);
if (!isNumber(this.pageCount)) {
this.pageCount = 0;
}
// fill-in model needed to render pages
this.pages.length = 0;
for (let i = 1; i <= this.pageCount; i++) {
this.pages.push(i);
}
// set page within 1..max range
this._setPageInRange(newPage);
// apply maxSize if necessary
if (this.maxSize > 0 && this.pageCount > this.maxSize) {
let start = 0;
let end = this.pageCount;
// either paginating or rotating page numbers
if (this.rotate) {
[start, end] = this._applyRotation();
}
else {
[start, end] = this._applyPagination();
}
this.pages = this.pages.slice(start, end);
// adding ellipses
this._applyEllipses(start, end);
}
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: NgbPagination, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.4", type: NgbPagination, isStandalone: true, selector: "ngb-pagination", inputs: { disabled: "disabled", boundaryLinks: "boundaryLinks", directionLinks: "directionLinks", ellipses: "ellipses", rotate: "rotate", collectionSize: "collectionSize", maxSize: "maxSize", page: "page", pageSize: "pageSize", size: "size" }, outputs: { pageChange: "pageChange" }, host: { attributes: { "role": "navigation" } }, queries: [{ propertyName: "tplEllipsis", first: true, predicate: NgbPaginationEllipsis, descendants: true }, { propertyName: "tplFirst", first: true, predicate: NgbPaginationFirst, descendants: true }, { propertyName: "tplLast", first: true, predicate: NgbPaginationLast, descendants: true }, { propertyName: "tplNext", first: true, predicate: NgbPaginationNext, descendants: true }, { propertyName: "tplNumber", first: true, predicate: NgbPaginationNumber, descendants: true }, { propertyName: "tplPrevious", first: true, predicate: NgbPaginationPrevious, descendants: true }, { propertyName: "tplPages", first: true, predicate: NgbPaginationPages, descendants: true }], usesOnChanges: true, ngImport: i0, template: `
<ng-template #first><span aria-hidden="true" i18n="@@ngb.pagination.first">««</span></ng-template>
<ng-template #previous><span aria-hidden="true" i18n="@@ngb.pagination.previous">«</span></ng-template>
<ng-template #next><span aria-hidden="true" i18n="@@ngb.pagination.next">»</span></ng-template>
<ng-template #last><span aria-hidden="true" i18n="@@ngb.pagination.last">»»</span></ng-template>
<ng-template #ellipsis>...</ng-template>
<ng-template #defaultNumber let-page let-currentPage="currentPage">{{ page }}</ng-template>
<ng-template #defaultPages let-page let-pages="pages" let-disabled="disabled">
(pageNumber of pages; track $index) {
<li
class="page-item"
[class.active]="pageNumber === page"
[class.disabled]="isEllipsis(pageNumber) || disabled"
>
(isEllipsis(pageNumber)) {
<a class="page-link" tabindex="-1" aria-disabled="true">
<ng-template
[ngTemplateOutlet]="tplEllipsis?.templateRef || ellipsis"
[ngTemplateOutletContext]="{ disabled: true, currentPage: page }"
/>
</a>
} {
<a
class="page-link"
href
(click)="selectPage(pageNumber); $event.preventDefault()"
[attr.tabindex]="disabled ? '-1' : null"
[attr.aria-disabled]="disabled ? 'true' : null"
[attr.aria-current]="pageNumber === page ? 'page' : null"
>
<ng-template
[ngTemplateOutlet]="tplNumber?.templateRef || defaultNumber"
[ngTemplateOutletContext]="{ disabled: disabled, $implicit: pageNumber, currentPage: page }"
/>
</a>
}
</li>
}
</ng-template>
<ul [class]="'pagination' + (size ? ' pagination-' + size : '')">
(boundaryLinks) {
<li class="page-item" [class.disabled]="previousDisabled()">
<a
aria-label="First"
i18n-aria-label="@@ngb.pagination.first-aria"
class="page-link"
href
(click)="selectPage(1); $event.preventDefault()"
[attr.tabindex]="previousDisabled() ? '-1' : null"
[attr.aria-disabled]="previousDisabled() ? 'true' : null"
>
<ng-template
[ngTemplateOutlet]="tplFirst?.templateRef || first"
[ngTemplateOutletContext]="{ disabled: previousDisabled(), currentPage: page }"
/>
</a>
</li>
}
(directionLinks) {
<li class="page-item" [class.disabled]="previousDisabled()">
<a
aria-label="Previous"
i18n-aria-label="@@ngb.pagination.previous-aria"
class="page-link"
href
(click)="selectPage(page - 1); $event.preventDefault()"
[attr.tabindex]="previousDisabled() ? '-1' : null"
[attr.aria-disabled]="previousDisabled() ? 'true' : null"
>
<ng-template
[ngTemplateOutlet]="tplPrevious?.templateRef || previous"
[ngTemplateOutletContext]="{ disabled: previousDisabled() }"
/>
</a>
</li>
}
<ng-template
[ngTemplateOutlet]="tplPages?.templateRef || defaultPages"
[ngTemplateOutletContext]="{ $implicit: page, pages: pages, disabled: disabled }"
/>
(directionLinks) {
<li class="page-item" [class.disabled]="nextDisabled()">
<a
aria-label="Next"
i18n-aria-label="@@ngb.pagination.next-aria"
class="page-link"
href
(click)="selectPage(page + 1); $event.preventDefault()"
[attr.tabindex]="nextDisabled() ? '-1' : null"
[attr.aria-disabled]="nextDisabled() ? 'true' : null"
>
<ng-template
[ngTemplateOutlet]="tplNext?.templateRef || next"
[ngTemplateOutletContext]="{ disabled: nextDisabled(), currentPage: page }"
/>
</a>
</li>
}
(boundaryLinks) {
<li class="page-item" [class.disabled]="nextDisabled()">
<a
aria-label="Last"
i18n-aria-label="@@ngb.pagination.last-aria"
class="page-link"
href
(click)="selectPage(pageCount); $event.preventDefault()"
[attr.tabindex]="nextDisabled() ? '-1' : null"
[attr.aria-disabled]="nextDisabled() ? 'true' : null"
>
<ng-template
[ngTemplateOutlet]="tplLast?.templateRef || last"
[ngTemplateOutletContext]="{ disabled: nextDisabled(), currentPage: page }"
/>
</a>
</li>
}
</ul>
`, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: NgbPagination, decorators: [{
type: Component,
args: [{
selector: 'ngb-pagination',
imports: [NgTemplateOutlet],
changeDetection: ChangeDetectionStrategy.OnPush,
host: {
role: 'navigation',
},
template: `
<ng-template #first><span aria-hidden="true" i18n="@@ngb.pagination.first">««</span></ng-template>
<ng-template #previous><span aria-hidden="true" i18n="@@ngb.pagination.previous">«</span></ng-template>
<ng-template #next><span aria-hidden="true" i18n="@@ngb.pagination.next">»</span></ng-template>
<ng-template #last><span aria-hidden="true" i18n="@@ngb.pagination.last">»»</span></ng-template>
<ng-template #ellipsis>...</ng-template>
<ng-template #defaultNumber let-page let-currentPage="currentPage">{{ page }}</ng-template>
<ng-template #defaultPages let-page let-pages="pages" let-disabled="disabled">
(pageNumber of pages; track $index) {
<li
class="page-item"
[class.active]="pageNumber === page"
[class.disabled]="isEllipsis(pageNumber) || disabled"
>
(isEllipsis(pageNumber)) {
<a class="page-link" tabindex="-1" aria-disabled="true">
<ng-template
[ngTemplateOutlet]="tplEllipsis?.templateRef || ellipsis"
[ngTemplateOutletContext]="{ disabled: true, currentPage: page }"
/>
</a>
} {
<a
class="page-link"
href
(click)="selectPage(pageNumber); $event.preventDefault()"
[attr.tabindex]="disabled ? '-1' : null"
[attr.aria-disabled]="disabled ? 'true' : null"
[attr.aria-current]="pageNumber === page ? 'page' : null"
>
<ng-template
[ngTemplateOutlet]="tplNumber?.templateRef || defaultNumber"
[ngTemplateOutletContext]="{ disabled: disabled, $implicit: pageNumber, currentPage: page }"
/>
</a>
}
</li>
}
</ng-template>
<ul [class]="'pagination' + (size ? ' pagination-' + size : '')">
(boundaryLinks) {
<li class="page-item" [class.disabled]="previousDisabled()">
<a
aria-label="First"
i18n-aria-label="@@ngb.pagination.first-aria"
class="page-link"
href
(click)="selectPage(1); $event.preventDefault()"
[attr.tabindex]="previousDisabled() ? '-1' : null"
[attr.aria-disabled]="previousDisabled() ? 'true' : null"
>
<ng-template
[ngTemplateOutlet]="tplFirst?.templateRef || first"
[ngTemplateOutletContext]="{ disabled: previousDisabled(), currentPage: page }"
/>
</a>
</li>
}
(directionLinks) {
<li class="page-item" [class.disabled]="previousDisabled()">
<a
aria-label="Previous"
i18n-aria-label="@@ngb.pagination.previous-aria"
class="page-link"
href
(click)="selectPage(page - 1); $event.preventDefault()"
[attr.tabindex]="previousDisabled() ? '-1' : null"
[attr.aria-disabled]="previousDisabled() ? 'true' : null"
>
<ng-template
[ngTemplateOutlet]="tplPrevious?.templateRef || previous"
[ngTemplateOutletContext]="{ disabled: previousDisabled() }"
/>
</a>
</li>
}
<ng-template
[ngTemplateOutlet]="tplPages?.templateRef || defaultPages"
[ngTemplateOutletContext]="{ $implicit: page, pages: pages, disabled: disabled }"
/>
(directionLinks) {
<li class="page-item" [class.disabled]="nextDisabled()">
<a
aria-label="Next"
i18n-aria-label="@@ngb.pagination.next-aria"
class="page-link"
href
(click)="selectPage(page + 1); $event.preventDefault()"
[attr.tabindex]="nextDisabled() ? '-1' : null"
[attr.aria-disabled]="nextDisabled() ? 'true' : null"
>
<ng-template
[ngTemplateOutlet]="tplNext?.templateRef || next"
[ngTemplateOutletContext]="{ disabled: nextDisabled(), currentPage: page }"
/>
</a>
</li>
}
(boundaryLinks) {
<li class="page-item" [class.disabled]="nextDisabled()">
<a
aria-label="Last"
i18n-aria-label="@@ngb.pagination.last-aria"
class="page-link"
href
(click)="selectPage(pageCount); $event.preventDefault()"
[attr.tabindex]="nextDisabled() ? '-1' : null"
[attr.aria-disabled]="nextDisabled() ? 'true' : null"
>
<ng-template
[ngTemplateOutlet]="tplLast?.templateRef || last"
[ngTemplateOutletContext]="{ disabled: nextDisabled(), currentPage: page }"
/>
</a>
</li>
}
</ul>
`,
}]
}], propDecorators: { tplEllipsis: [{
type: ContentChild,
args: [NgbPaginationEllipsis, { static: false }]
}], tplFirst: [{
type: ContentChild,
args: [NgbPaginationFirst, { static: false }]
}], tplLast: [{
type: ContentChild,
args: [NgbPaginationLast, { static: false }]
}], tplNext: [{
type: ContentChild,
args: [NgbPaginationNext, { static: false }]
}], tplNumber: [{
type: ContentChild,
args: [NgbPaginationNumber, { static: false }]
}], tplPrevious: [{
type: ContentChild,
args: [NgbPaginationPrevious, { static: false }]
}], tplPages: [{
type: ContentChild,
args: [NgbPaginationPages, { static: false }]
}], disabled: [{
type: Input
}], boundaryLinks: [{
type: Input
}], directionLinks: [{
type: Input
}], ellipses: [{
type: Input
}], rotate: [{
type: Input
}], collectionSize: [{
type: Input,
args: [{ required: true }]
}], maxSize: [{
type: Input
}], page: [{
type: Input
}], pageSize: [{
type: Input
}], pageChange: [{
type: Output
}], size: [{
type: Input
}] } });
const NGB_PAGINATION_DIRECTIVES = [
NgbPagination,
NgbPaginationEllipsis,
NgbPaginationFirst,
NgbPaginationLast,
NgbPaginationNext,
NgbPaginationNumber,
NgbPaginationPrevious,
NgbPaginationPages,
];
class NgbPaginationModule {
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: NgbPaginationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.4", ngImport: i0, type: NgbPaginationModule, imports: [NgbPagination,
NgbPaginationEllipsis,
NgbPaginationFirst,
NgbPaginationLast,
NgbPaginationNext,
NgbPaginationNumber,
NgbPaginationPrevious,
NgbPaginationPages], exports: [NgbPagination,
NgbPaginationEllipsis,
NgbPaginationFirst,
NgbPaginationLast,
NgbPaginationNext,
NgbPaginationNumber,
NgbPaginationPrevious,
NgbPaginationPages] }); }
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: NgbPaginationModule }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: NgbPaginationModule, decorators: [{
type: NgModule,
args: [{
imports: NGB_PAGINATION_DIRECTIVES,
exports: NGB_PAGINATION_DIRECTIVES,
}]
}] });
/**
* Generated bundle index. Do not edit.
*/
export { NgbPagination, NgbPaginationConfig, NgbPaginationEllipsis, NgbPaginationFirst, NgbPaginationLast, NgbPaginationModule, NgbPaginationNext, NgbPaginationNumber, NgbPaginationPages, NgbPaginationPrevious };
//# sourceMappingURL=ng-bootstrap-ng-bootstrap-pagination.mjs.map