UNPKG

ngx-bootstrap-fix-datepicker

Version:
995 lines (987 loc) 30.7 kB
import { Injectable, forwardRef, EventEmitter, Component, ElementRef, ChangeDetectorRef, Input, Output, NgModule } from '@angular/core'; import { NG_VALUE_ACCESSOR } from '@angular/forms'; import { CommonModule } from '@angular/common'; /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** * Provides default values for Pagination and pager components */ class PaginationConfig { constructor() { this.main = { maxSize: void 0, itemsPerPage: 10, boundaryLinks: false, directionLinks: true, firstText: 'First', previousText: 'Previous', nextText: 'Next', lastText: 'Last', pageBtnClass: '', rotate: true }; this.pager = { itemsPerPage: 15, previousText: '« Previous', nextText: 'Next »', pageBtnClass: '', align: true }; } } PaginationConfig.decorators = [ { type: Injectable } ]; if (false) { /** @type {?} */ PaginationConfig.prototype.main; /** @type {?} */ PaginationConfig.prototype.pager; } /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** @type {?} */ const PAGER_CONTROL_VALUE_ACCESSOR = { provide: NG_VALUE_ACCESSOR, /* tslint:disable-next-line: no-use-before-declare */ useExisting: forwardRef((/** * @return {?} */ () => PagerComponent)), multi: true }; class PagerComponent { /** * @param {?} elementRef * @param {?} paginationConfig * @param {?} changeDetection */ constructor(elementRef, paginationConfig, changeDetection) { this.elementRef = elementRef; this.changeDetection = changeDetection; /** * fired when total pages count changes, $event:number equals to total pages count */ this.numPages = new EventEmitter(); /** * fired when page was changed, $event:{page, itemsPerPage} equals to * object with current page index and number of items per page */ this.pageChanged = new EventEmitter(); this.onChange = Function.prototype; this.onTouched = Function.prototype; this.inited = false; this._page = 1; this.elementRef = elementRef; if (!this.config) { this.configureOptions(Object.assign({}, paginationConfig.main, paginationConfig.pager)); } } /** * maximum number of items per page. If value less than 1 will display all items on one page * @return {?} */ get itemsPerPage() { return this._itemsPerPage; } /** * @param {?} v * @return {?} */ set itemsPerPage(v) { this._itemsPerPage = v; this.totalPages = this.calculateTotalPages(); } /** * total number of items in all pages * @return {?} */ get totalItems() { return this._totalItems; } /** * @param {?} v * @return {?} */ set totalItems(v) { this._totalItems = v; this.totalPages = this.calculateTotalPages(); } /** * @return {?} */ get totalPages() { return this._totalPages; } /** * @param {?} v * @return {?} */ set totalPages(v) { this._totalPages = v; this.numPages.emit(v); if (this.inited) { this.selectPage(this.page); } } /** * @param {?} value * @return {?} */ set page(value) { /** @type {?} */ const _previous = this._page; this._page = value > this.totalPages ? this.totalPages : value || 1; this.changeDetection.markForCheck(); if (_previous === this._page || typeof _previous === 'undefined') { return; } this.pageChanged.emit({ page: this._page, itemsPerPage: this.itemsPerPage }); } /** * @return {?} */ get page() { return this._page; } /** * @param {?} config * @return {?} */ configureOptions(config) { this.config = Object.assign({}, config); } /** * @return {?} */ ngOnInit() { if (typeof window !== 'undefined') { this.classMap = this.elementRef.nativeElement.getAttribute('class') || ''; } // watch for maxSize this.maxSize = typeof this.maxSize !== 'undefined' ? this.maxSize : this.config.maxSize; this.rotate = typeof this.rotate !== 'undefined' ? this.rotate : this.config.rotate; this.boundaryLinks = typeof this.boundaryLinks !== 'undefined' ? this.boundaryLinks : this.config.boundaryLinks; this.directionLinks = typeof this.directionLinks !== 'undefined' ? this.directionLinks : this.config.directionLinks; this.pageBtnClass = typeof this.pageBtnClass !== 'undefined' ? this.pageBtnClass : this.config.pageBtnClass; // base class this.itemsPerPage = typeof this.itemsPerPage !== 'undefined' ? this.itemsPerPage : this.config.itemsPerPage; this.totalPages = this.calculateTotalPages(); // this class this.pages = this.getPages(this.page, this.totalPages); this.inited = true; } /** * @param {?} value * @return {?} */ writeValue(value) { this.page = value; this.pages = this.getPages(this.page, this.totalPages); } /** * @param {?} key * @return {?} */ getText(key) { // tslint:disable-next-line:no-any return ((/** @type {?} */ (this)))[`${key}Text`] || ((/** @type {?} */ (this))).config[`${key}Text`]; } /** * @return {?} */ noPrevious() { return this.page === 1; } /** * @return {?} */ noNext() { return this.page === this.totalPages; } /** * @param {?} fn * @return {?} */ registerOnChange(fn) { this.onChange = fn; } /** * @param {?} fn * @return {?} */ registerOnTouched(fn) { this.onTouched = fn; } /** * @param {?} page * @param {?=} event * @return {?} */ selectPage(page, event) { if (event) { event.preventDefault(); } if (!this.disabled) { if (event && event.target) { // tslint:disable-next-line:no-any /** @type {?} */ const target = event.target; target.blur(); } this.writeValue(page); this.onChange(this.page); } } // Create page object used in template /** * @protected * @param {?} num * @param {?} text * @param {?} active * @return {?} */ makePage(num, text, active) { return { text, number: num, active }; } /** * @protected * @param {?} currentPage * @param {?} totalPages * @return {?} */ getPages(currentPage, totalPages) { /** @type {?} */ const pages = []; // Default page limits /** @type {?} */ let startPage = 1; /** @type {?} */ let endPage = totalPages; /** @type {?} */ const isMaxSized = typeof this.maxSize !== 'undefined' && this.maxSize < totalPages; // recompute if maxSize if (isMaxSized) { if (this.rotate) { // Current page is displayed in the middle of the visible ones startPage = Math.max(currentPage - Math.floor(this.maxSize / 2), 1); endPage = startPage + this.maxSize - 1; // Adjust if limit is exceeded if (endPage > totalPages) { endPage = totalPages; startPage = endPage - this.maxSize + 1; } } else { // Visible pages are paginated with maxSize startPage = (Math.ceil(currentPage / this.maxSize) - 1) * this.maxSize + 1; // Adjust last page if limit is exceeded endPage = Math.min(startPage + this.maxSize - 1, totalPages); } } // Add page number links for (let num = startPage; num <= endPage; num++) { /** @type {?} */ const page = this.makePage(num, num.toString(), num === currentPage); pages.push(page); } // Add links to move between page sets if (isMaxSized && !this.rotate) { if (startPage > 1) { /** @type {?} */ const previousPageSet = this.makePage(startPage - 1, '...', false); pages.unshift(previousPageSet); } if (endPage < totalPages) { /** @type {?} */ const nextPageSet = this.makePage(endPage + 1, '...', false); pages.push(nextPageSet); } } return pages; } // base class /** * @protected * @return {?} */ calculateTotalPages() { /** @type {?} */ const totalPages = this.itemsPerPage < 1 ? 1 : Math.ceil(this.totalItems / this.itemsPerPage); return Math.max(totalPages || 0, 1); } } PagerComponent.decorators = [ { type: Component, args: [{ selector: 'pager', template: "<ul class=\"pager\">\n <li [class.disabled]=\"noPrevious()\" [class.previous]=\"align\"\n [ngClass]=\"{'pull-left': align, 'float-left': align}\"\n class=\"{{ pageBtnClass }}\">\n <a href (click)=\"selectPage(page - 1, $event)\">{{ getText('previous') }}</a>\n </li>\n <li [class.disabled]=\"noNext()\" [class.next]=\"align\"\n [ngClass]=\"{'pull-right': align, 'float-right': align}\"\n class=\"{{ pageBtnClass }}\">\n <a href (click)=\"selectPage(page + 1, $event)\">{{ getText('next') }}</a>\n </li>\n</ul>\n", providers: [PAGER_CONTROL_VALUE_ACCESSOR] }] } ]; /** @nocollapse */ PagerComponent.ctorParameters = () => [ { type: ElementRef }, { type: PaginationConfig }, { type: ChangeDetectorRef } ]; PagerComponent.propDecorators = { align: [{ type: Input }], maxSize: [{ type: Input }], boundaryLinks: [{ type: Input }], directionLinks: [{ type: Input }], firstText: [{ type: Input }], previousText: [{ type: Input }], nextText: [{ type: Input }], lastText: [{ type: Input }], rotate: [{ type: Input }], pageBtnClass: [{ type: Input }], disabled: [{ type: Input }], numPages: [{ type: Output }], pageChanged: [{ type: Output }], itemsPerPage: [{ type: Input }], totalItems: [{ type: Input }] }; if (false) { /** @type {?} */ PagerComponent.prototype.config; /** * if `true` aligns each link to the sides of pager * @type {?} */ PagerComponent.prototype.align; /** * limit number for page links in pager * @type {?} */ PagerComponent.prototype.maxSize; /** * if false first and last buttons will be hidden * @type {?} */ PagerComponent.prototype.boundaryLinks; /** * if false previous and next buttons will be hidden * @type {?} */ PagerComponent.prototype.directionLinks; /** * first button text * @type {?} */ PagerComponent.prototype.firstText; /** * previous button text * @type {?} */ PagerComponent.prototype.previousText; /** * next button text * @type {?} */ PagerComponent.prototype.nextText; /** * last button text * @type {?} */ PagerComponent.prototype.lastText; /** * if true current page will in the middle of pages list * @type {?} */ PagerComponent.prototype.rotate; /** * add class to <code><li\></code> * @type {?} */ PagerComponent.prototype.pageBtnClass; /** * if true pagination component will be disabled * @type {?} */ PagerComponent.prototype.disabled; /** * fired when total pages count changes, $event:number equals to total pages count * @type {?} */ PagerComponent.prototype.numPages; /** * fired when page was changed, $event:{page, itemsPerPage} equals to * object with current page index and number of items per page * @type {?} */ PagerComponent.prototype.pageChanged; /** @type {?} */ PagerComponent.prototype.onChange; /** @type {?} */ PagerComponent.prototype.onTouched; /** @type {?} */ PagerComponent.prototype.classMap; /** @type {?} */ PagerComponent.prototype.pages; /** * @type {?} * @protected */ PagerComponent.prototype._itemsPerPage; /** * @type {?} * @protected */ PagerComponent.prototype._totalItems; /** * @type {?} * @protected */ PagerComponent.prototype._totalPages; /** * @type {?} * @protected */ PagerComponent.prototype.inited; /** * @type {?} * @protected */ PagerComponent.prototype._page; /** * @type {?} * @private */ PagerComponent.prototype.elementRef; /** * @type {?} * @private */ PagerComponent.prototype.changeDetection; } /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** * @record */ function PageChangedEvent() { } if (false) { /** @type {?} */ PageChangedEvent.prototype.itemsPerPage; /** @type {?} */ PageChangedEvent.prototype.page; } /** @type {?} */ const PAGINATION_CONTROL_VALUE_ACCESSOR = { provide: NG_VALUE_ACCESSOR, /* tslint:disable-next-line: no-use-before-declare */ useExisting: forwardRef((/** * @return {?} */ () => PaginationComponent)), multi: true }; class PaginationComponent { /** * @param {?} elementRef * @param {?} paginationConfig * @param {?} changeDetection */ constructor(elementRef, paginationConfig, changeDetection) { this.elementRef = elementRef; this.changeDetection = changeDetection; /** * fired when total pages count changes, $event:number equals to total pages count */ this.numPages = new EventEmitter(); /** * fired when page was changed, $event:{page, itemsPerPage} equals to object * with current page index and number of items per page */ this.pageChanged = new EventEmitter(); this.onChange = Function.prototype; this.onTouched = Function.prototype; this.inited = false; this._page = 1; this.elementRef = elementRef; if (!this.config) { this.configureOptions(paginationConfig.main); } } /** * maximum number of items per page. If value less than 1 will display all items on one page * @return {?} */ get itemsPerPage() { return this._itemsPerPage; } /** * @param {?} v * @return {?} */ set itemsPerPage(v) { this._itemsPerPage = v; this.totalPages = this.calculateTotalPages(); } /** * total number of items in all pages * @return {?} */ get totalItems() { return this._totalItems; } /** * @param {?} v * @return {?} */ set totalItems(v) { this._totalItems = v; this.totalPages = this.calculateTotalPages(); } /** * @return {?} */ get totalPages() { return this._totalPages; } /** * @param {?} v * @return {?} */ set totalPages(v) { this._totalPages = v; this.numPages.emit(v); if (this.inited) { this.selectPage(this.page); } } /** * @param {?} value * @return {?} */ set page(value) { /** @type {?} */ const _previous = this._page; this._page = value > this.totalPages ? this.totalPages : value || 1; this.changeDetection.markForCheck(); if (_previous === this._page || typeof _previous === 'undefined') { return; } this.pageChanged.emit({ page: this._page, itemsPerPage: this.itemsPerPage }); } /** * @return {?} */ get page() { return this._page; } /** * @param {?} config * @return {?} */ configureOptions(config) { this.config = Object.assign({}, config); } /** * @return {?} */ ngOnInit() { if (typeof window !== 'undefined') { this.classMap = this.elementRef.nativeElement.getAttribute('class') || ''; } // watch for maxSize this.maxSize = typeof this.maxSize !== 'undefined' ? this.maxSize : this.config.maxSize; this.rotate = typeof this.rotate !== 'undefined' ? this.rotate : this.config.rotate; this.boundaryLinks = typeof this.boundaryLinks !== 'undefined' ? this.boundaryLinks : this.config.boundaryLinks; this.directionLinks = typeof this.directionLinks !== 'undefined' ? this.directionLinks : this.config.directionLinks; this.pageBtnClass = typeof this.pageBtnClass !== 'undefined' ? this.pageBtnClass : this.config.pageBtnClass; // base class this.itemsPerPage = typeof this.itemsPerPage !== 'undefined' ? this.itemsPerPage : this.config.itemsPerPage; this.totalPages = this.calculateTotalPages(); // this class this.pages = this.getPages(this.page, this.totalPages); this.inited = true; } /** * @param {?} value * @return {?} */ writeValue(value) { this.page = value; this.pages = this.getPages(this.page, this.totalPages); } /** * @param {?} key * @return {?} */ getText(key) { // tslint:disable-next-line:no-any return ((/** @type {?} */ (this)))[`${key}Text`] || ((/** @type {?} */ (this))).config[`${key}Text`]; } /** * @return {?} */ noPrevious() { return this.page === 1; } /** * @return {?} */ noNext() { return this.page === this.totalPages; } /** * @param {?} fn * @return {?} */ registerOnChange(fn) { this.onChange = fn; } /** * @param {?} fn * @return {?} */ registerOnTouched(fn) { this.onTouched = fn; } /** * @param {?} page * @param {?=} event * @return {?} */ selectPage(page, event) { if (event) { event.preventDefault(); } if (!this.disabled) { if (event && event.target) { // tslint:disable-next-line:no-any /** @type {?} */ const target = event.target; target.blur(); } this.writeValue(page); this.onChange(this.page); } } // Create page object used in template /** * @protected * @param {?} num * @param {?} text * @param {?} active * @return {?} */ makePage(num, text, active) { return { text, number: num, active }; } /** * @protected * @param {?} currentPage * @param {?} totalPages * @return {?} */ getPages(currentPage, totalPages) { /** @type {?} */ const pages = []; // Default page limits /** @type {?} */ let startPage = 1; /** @type {?} */ let endPage = totalPages; /** @type {?} */ const isMaxSized = typeof this.maxSize !== 'undefined' && this.maxSize < totalPages; // recompute if maxSize if (isMaxSized) { if (this.rotate) { // Current page is displayed in the middle of the visible ones startPage = Math.max(currentPage - Math.floor(this.maxSize / 2), 1); endPage = startPage + this.maxSize - 1; // Adjust if limit is exceeded if (endPage > totalPages) { endPage = totalPages; startPage = endPage - this.maxSize + 1; } } else { // Visible pages are paginated with maxSize startPage = (Math.ceil(currentPage / this.maxSize) - 1) * this.maxSize + 1; // Adjust last page if limit is exceeded endPage = Math.min(startPage + this.maxSize - 1, totalPages); } } // Add page number links for (let num = startPage; num <= endPage; num++) { /** @type {?} */ const page = this.makePage(num, num.toString(), num === currentPage); pages.push(page); } // Add links to move between page sets if (isMaxSized && !this.rotate) { if (startPage > 1) { /** @type {?} */ const previousPageSet = this.makePage(startPage - 1, '...', false); pages.unshift(previousPageSet); } if (endPage < totalPages) { /** @type {?} */ const nextPageSet = this.makePage(endPage + 1, '...', false); pages.push(nextPageSet); } } return pages; } // base class /** * @protected * @return {?} */ calculateTotalPages() { /** @type {?} */ const totalPages = this.itemsPerPage < 1 ? 1 : Math.ceil(this.totalItems / this.itemsPerPage); return Math.max(totalPages || 0, 1); } } PaginationComponent.decorators = [ { type: Component, args: [{ selector: 'pagination', template: "<ul class=\"pagination\" [ngClass]=\"classMap\">\n <li class=\"pagination-first page-item\"\n *ngIf=\"boundaryLinks\"\n [class.disabled]=\"noPrevious() || disabled\">\n <a class=\"page-link\" href (click)=\"selectPage(1, $event)\">\n <ng-container [ngTemplateOutlet]=\"customFirstTemplate || defaultFirstTemplate\"\n [ngTemplateOutletContext]=\"{disabled: noPrevious() || disabled, currentPage: page}\">\n </ng-container>\n </a>\n </li>\n\n <li class=\"pagination-prev page-item\"\n *ngIf=\"directionLinks\"\n [class.disabled]=\"noPrevious() || disabled\">\n <a class=\"page-link\" href (click)=\"selectPage(page - 1, $event)\">\n <ng-container [ngTemplateOutlet]=\"customPreviousTemplate || defaultPreviousTemplate\"\n [ngTemplateOutletContext]=\"{disabled: noPrevious() || disabled, currentPage: page}\">\n </ng-container>\n </a>\n </li>\n\n <li *ngFor=\"let pg of pages\"\n [class.active]=\"pg.active\"\n [class.disabled]=\"disabled && !pg.active\"\n class=\"pagination-page page-item\">\n <a class=\"page-link\" href (click)=\"selectPage(pg.number, $event)\">\n <ng-container [ngTemplateOutlet]=\"customPageTemplate || defaultPageTemplate\"\n [ngTemplateOutletContext]=\"{disabled: disabled, $implicit: pg, currentPage: page}\">\n </ng-container>\n </a>\n </li>\n\n <li class=\"pagination-next page-item\"\n *ngIf=\"directionLinks\"\n [class.disabled]=\"noNext() || disabled\">\n <a class=\"page-link\" href (click)=\"selectPage(page + 1, $event)\">\n <ng-container [ngTemplateOutlet]=\"customNextTemplate || defaultNextTemplate\"\n [ngTemplateOutletContext]=\"{disabled: noNext() || disabled, currentPage: page}\">\n </ng-container>\n </a>\n </li>\n\n <li class=\"pagination-last page-item\"\n *ngIf=\"boundaryLinks\"\n [class.disabled]=\"noNext() || disabled\">\n <a class=\"page-link\" href (click)=\"selectPage(totalPages, $event)\">\n <ng-container [ngTemplateOutlet]=\"customLastTemplate || defaultLastTemplate\"\n [ngTemplateOutletContext]=\"{disabled: noNext() || disabled, currentPage: page}\">\n </ng-container>\n </a>\n </li>\n</ul>\n\n<ng-template #defaultPageTemplate let-page>{{ page.text }}</ng-template>\n\n<ng-template #defaultNextTemplate>{{ getText('next') }}</ng-template>\n\n<ng-template #defaultPreviousTemplate>{{ getText('previous') }}</ng-template>\n\n<ng-template #defaultFirstTemplate>{{ getText('first') }}</ng-template>\n\n<ng-template #defaultLastTemplate>{{ getText('last') }}</ng-template>\n", providers: [PAGINATION_CONTROL_VALUE_ACCESSOR] }] } ]; /** @nocollapse */ PaginationComponent.ctorParameters = () => [ { type: ElementRef }, { type: PaginationConfig }, { type: ChangeDetectorRef } ]; PaginationComponent.propDecorators = { align: [{ type: Input }], maxSize: [{ type: Input }], boundaryLinks: [{ type: Input }], directionLinks: [{ type: Input }], firstText: [{ type: Input }], previousText: [{ type: Input }], nextText: [{ type: Input }], lastText: [{ type: Input }], rotate: [{ type: Input }], pageBtnClass: [{ type: Input }], disabled: [{ type: Input }], customPageTemplate: [{ type: Input }], customNextTemplate: [{ type: Input }], customPreviousTemplate: [{ type: Input }], customFirstTemplate: [{ type: Input }], customLastTemplate: [{ type: Input }], numPages: [{ type: Output }], pageChanged: [{ type: Output }], itemsPerPage: [{ type: Input }], totalItems: [{ type: Input }] }; if (false) { /** @type {?} */ PaginationComponent.prototype.config; /** * if `true` aligns each link to the sides of pager * @type {?} */ PaginationComponent.prototype.align; /** * limit number for page links in pager * @type {?} */ PaginationComponent.prototype.maxSize; /** * if false first and last buttons will be hidden * @type {?} */ PaginationComponent.prototype.boundaryLinks; /** * if false previous and next buttons will be hidden * @type {?} */ PaginationComponent.prototype.directionLinks; /** * first button text * @type {?} */ PaginationComponent.prototype.firstText; /** * previous button text * @type {?} */ PaginationComponent.prototype.previousText; /** * next button text * @type {?} */ PaginationComponent.prototype.nextText; /** * last button text * @type {?} */ PaginationComponent.prototype.lastText; /** * if true current page will in the middle of pages list * @type {?} */ PaginationComponent.prototype.rotate; /** * add class to <code><li\></code> * @type {?} */ PaginationComponent.prototype.pageBtnClass; /** * if true pagination component will be disabled * @type {?} */ PaginationComponent.prototype.disabled; /** * custom template for page link * @type {?} */ PaginationComponent.prototype.customPageTemplate; /** * custom template for next link * @type {?} */ PaginationComponent.prototype.customNextTemplate; /** * custom template for previous link * @type {?} */ PaginationComponent.prototype.customPreviousTemplate; /** * custom template for first link * @type {?} */ PaginationComponent.prototype.customFirstTemplate; /** * custom template for last link * @type {?} */ PaginationComponent.prototype.customLastTemplate; /** * fired when total pages count changes, $event:number equals to total pages count * @type {?} */ PaginationComponent.prototype.numPages; /** * fired when page was changed, $event:{page, itemsPerPage} equals to object * with current page index and number of items per page * @type {?} */ PaginationComponent.prototype.pageChanged; /** @type {?} */ PaginationComponent.prototype.onChange; /** @type {?} */ PaginationComponent.prototype.onTouched; /** @type {?} */ PaginationComponent.prototype.classMap; /** @type {?} */ PaginationComponent.prototype.pages; /** * @type {?} * @protected */ PaginationComponent.prototype._itemsPerPage; /** * @type {?} * @protected */ PaginationComponent.prototype._totalItems; /** * @type {?} * @protected */ PaginationComponent.prototype._totalPages; /** * @type {?} * @protected */ PaginationComponent.prototype.inited; /** * @type {?} * @protected */ PaginationComponent.prototype._page; /** * @type {?} * @private */ PaginationComponent.prototype.elementRef; /** * @type {?} * @private */ PaginationComponent.prototype.changeDetection; } /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ class PaginationModule { /** * @return {?} */ static forRoot() { return { ngModule: PaginationModule, providers: [PaginationConfig] }; } } PaginationModule.decorators = [ { type: NgModule, args: [{ imports: [CommonModule], declarations: [PagerComponent, PaginationComponent], exports: [PagerComponent, PaginationComponent] },] } ]; /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ export { PagerComponent, PaginationComponent, PaginationConfig, PaginationModule, PAGER_CONTROL_VALUE_ACCESSOR as ɵa, PAGINATION_CONTROL_VALUE_ACCESSOR as ɵb }; //# sourceMappingURL=ngx-bootstrap-pagination.js.map