{"version":3,"file":"ngx-bootstrap-pagination.mjs","sources":["../../../../src/pagination/pagination.config.ts","../../../../src/pagination/pager.component.ts","../../../../src/pagination/pager.component.html","../../../../src/pagination/pagination.component.ts","../../../../src/pagination/pagination.component.html","../../../../src/pagination/pagination.module.ts","../../../../src/pagination/ngx-bootstrap-pagination.ts"],"sourcesContent":["// todo: split\nimport { Injectable } from '@angular/core';\n\nimport { ConfigModel, PagerModel } from './models';\n\n/** Provides default values for Pagination and pager components */\n@Injectable({\n  providedIn: 'root'\n})\nexport class PaginationConfig {\n  main: Partial<ConfigModel> = {\n    itemsPerPage: 10,\n    boundaryLinks: false,\n    directionLinks: true,\n    firstText: 'First',\n    previousText: 'Previous',\n    nextText: 'Next',\n    lastText: 'Last',\n    pageBtnClass: '',\n    rotate: true\n  };\n  pager: PagerModel = {\n    itemsPerPage: 15,\n    previousText: '« Previous',\n    nextText: 'Next »',\n    pageBtnClass: '',\n    align: true\n  };\n}\n","import {\n  ChangeDetectorRef,\n  Component,\n  ElementRef,\n  forwardRef,\n  OnInit,\n  Provider,\n  input,\n  output,\n  effect\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { ConfigModel, PagesModel } from './models';\n\nimport { PageChangedEvent } from './pagination.component';\nimport { PaginationConfig } from './pagination.config';\nimport { NgClass } from '@angular/common';\n\nexport const PAGER_CONTROL_VALUE_ACCESSOR: Provider = {\n  provide: NG_VALUE_ACCESSOR,\n  useExisting: forwardRef(() => PagerComponent),\n  multi: true\n};\n\n@Component({\n    selector: 'pager',\n    templateUrl: './pager.component.html',\n    providers: [PAGER_CONTROL_VALUE_ACCESSOR],\n    standalone: true,\n    imports: [NgClass]\n})\nexport class PagerComponent implements ControlValueAccessor, OnInit {\n  config?: Partial<ConfigModel>;\n  /** if `true` aligns each link to the sides of pager */\n  align = input<boolean>(false);\n  /** limit number for page links in pager */\n  maxSize = input<number | undefined>();\n  /** if false first and last buttons will be hidden */\n  boundaryLinks = input<boolean>(false);\n  /** if false previous and next buttons will be hidden */\n  directionLinks = input<boolean>(true);\n  // labels\n  /** first button text */\n  firstText = input<string>('First');\n  /** previous button text */\n  previousText = input<string>('« Previous');\n  /** next button text */\n  nextText = input<string>('Next »');\n  /** last button text */\n  lastText = input<string>('Last');\n  /** if true current page will in the middle of pages list */\n  rotate = input<boolean>(true);\n  // css\n  /** add class to <code><li\\></code> */\n  pageBtnClass = input<string>('');\n\n  /** if true pagination component will be disabled */\n  disabled = input<boolean>(false);\n\n  /** maximum number of items per page. If value less than 1 will display all items on one page */\n  // eslint-disable-next-line @angular-eslint/no-input-rename\n  itemsPerPageInput = input<number>(15, { alias: 'itemsPerPage' });\n  /** total number of items in all pages */\n  // eslint-disable-next-line @angular-eslint/no-input-rename\n  totalItemsInput = input<number>(0, { alias: 'totalItems' });\n\n  /** fired when total pages count changes, $event:number equals to total pages count */\n  numPages = output<number>();\n  /** fired when page was changed, $event:{page, itemsPerPage} equals to\n   * object with current page index and number of items per page\n   */\n  pageChanged = output<PageChangedEvent>();\n  onChange = Function.prototype;\n  onTouched = Function.prototype;\n  classMap = '';\n  pages?: PagesModel[];\n  protected inited = false;\n\n  constructor(private elementRef: ElementRef,\n              paginationConfig: PaginationConfig,\n              private changeDetection: ChangeDetectorRef) {\n    this.elementRef = elementRef;\n    if (!this.config) {\n      this.configureOptions(\n        Object.assign({}, paginationConfig.main, paginationConfig.pager)\n      );\n    }\n\n    // Watch for itemsPerPage changes\n    effect(() => {\n      this._itemsPerPage = this.itemsPerPageInput();\n      this.totalPages = this.calculateTotalPages();\n    });\n\n    // Watch for totalItems changes\n    effect(() => {\n      this._totalItems = this.totalItemsInput();\n      this.totalPages = this.calculateTotalPages();\n    });\n  }\n\n  protected _itemsPerPage = 15;\n\n  get itemsPerPage(): number {\n    return this._itemsPerPage;\n  }\n\n  protected _totalItems = 0;\n\n  get totalItems(): number {\n    return this._totalItems;\n  }\n\n  protected _totalPages = 0;\n\n  get totalPages(): number {\n    return this._totalPages;\n  }\n\n  set totalPages(v: number) {\n    this._totalPages = v;\n    this.numPages.emit(v);\n    if (this.inited) {\n      this.selectPage(this.page);\n    }\n  }\n\n  protected _page = 1;\n\n  get page(): number {\n    return this._page;\n  }\n\n  set page(value: number) {\n    const _previous = this._page;\n    this._page = value > this.totalPages ? this.totalPages : value || 1;\n    this.changeDetection.markForCheck();\n\n    if (_previous === this._page || typeof _previous === 'undefined') {\n      return;\n    }\n\n    this.pageChanged.emit({\n      page: this._page,\n      itemsPerPage: this.itemsPerPage\n    });\n  }\n\n  configureOptions(config: Partial<ConfigModel>): void {\n    this.config = Object.assign({}, config);\n  }\n\n  // Resolved configuration values\n  protected _maxSize = 0;\n  protected _rotate = true;\n  protected _boundaryLinks = false;\n  protected _directionLinks = true;\n  protected _pageBtnClass = '';\n\n  ngOnInit(): void {\n    if (typeof window !== 'undefined') {\n      this.classMap = this.elementRef.nativeElement.getAttribute('class') || '';\n    }\n    // watch for maxSize\n    const maxSizeVal = this.maxSize();\n    this._maxSize = typeof maxSizeVal === 'undefined' ? this.config?.maxSize || 0 : maxSizeVal;\n\n    const rotateVal = this.rotate();\n    this._rotate = typeof rotateVal === 'undefined' ? !!this.config?.rotate : rotateVal;\n\n    const boundaryLinksVal = this.boundaryLinks();\n    this._boundaryLinks = typeof boundaryLinksVal === 'undefined' ? !!this.config?.boundaryLinks : boundaryLinksVal;\n\n    const directionLinksVal = this.directionLinks();\n    this._directionLinks = typeof directionLinksVal === 'undefined' ? !!this.config?.directionLinks : directionLinksVal;\n\n    const pageBtnClassVal = this.pageBtnClass();\n    this._pageBtnClass = typeof pageBtnClassVal === 'undefined' ? this.config?.pageBtnClass || '' : pageBtnClassVal;\n\n    // base class\n    if (typeof this.itemsPerPage === 'undefined') {\n      this._itemsPerPage = this.config?.itemsPerPage || 0;\n    }\n\n    this.totalPages = this.calculateTotalPages();\n    // this class\n    this.pages = this.getPages(this.page, this.totalPages);\n    this.inited = true;\n  }\n\n  writeValue(value: number): void {\n    this.page = value;\n    this.pages = this.getPages(this.page, this.totalPages);\n  }\n\n  getText(key: string): string {\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    const inputVal = (this as any)[`${key}Text`]?.();\n    return inputVal || (this as any).config[`${key}Text`];\n  }\n\n  noPrevious(): boolean {\n    return this.page === 1;\n  }\n\n  noNext(): boolean {\n    return this.page === this.totalPages;\n  }\n\n  registerOnChange(fn: () => void): void {\n    this.onChange = fn;\n  }\n\n  registerOnTouched(fn: () => void): void {\n    this.onTouched = fn;\n  }\n\n  selectPage(page: number, event?: Event): void {\n    if (event) {\n      event.preventDefault();\n    }\n\n    if (!this.disabled()) {\n      if (event && event.target) {\n        // eslint-disable-next-line @typescript-eslint/no-explicit-any\n        const target: any = event.target;\n        target.blur();\n      }\n      this.writeValue(page);\n      this.onChange(this.page);\n    }\n  }\n\n  // Create page object used in template\n  protected makePage(num: number,\n                     text: string,\n                     active: boolean): { number: number; text: string; active: boolean } {\n    return { text, number: num, active };\n  }\n\n  protected getPages(currentPage: number, totalPages: number): PagesModel[] {\n    const pages: PagesModel[] = [];\n    const maxSize = this._maxSize;\n    const rotate = this._rotate;\n\n    // Default page limits\n    let startPage = 1;\n    let endPage = totalPages;\n    const isMaxSized =\n      typeof maxSize !== 'undefined' && maxSize < totalPages;\n\n    // recompute if maxSize\n    if (isMaxSized && maxSize) {\n      if (rotate) {\n        // Current page is displayed in the middle of the visible ones\n        startPage = Math.max(currentPage - Math.floor(maxSize / 2), 1);\n        endPage = startPage + maxSize - 1;\n\n        // Adjust if limit is exceeded\n        if (endPage > totalPages) {\n          endPage = totalPages;\n          startPage = endPage - maxSize + 1;\n        }\n      } else {\n        // Visible pages are paginated with maxSize\n        startPage =\n          (Math.ceil(currentPage / maxSize) - 1) * maxSize + 1;\n\n        // Adjust last page if limit is exceeded\n        endPage = Math.min(startPage + maxSize - 1, totalPages);\n      }\n    }\n\n    // Add page number links\n    for (let num = startPage; num <= endPage; num++) {\n      const page = this.makePage(num, num.toString(), num === currentPage);\n      pages.push(page);\n    }\n\n    // Add links to move between page sets\n    if (isMaxSized && !rotate) {\n      if (startPage > 1) {\n        const previousPageSet = this.makePage(startPage - 1, '...', false);\n        pages.unshift(previousPageSet);\n      }\n\n      if (endPage < totalPages) {\n        const nextPageSet = this.makePage(endPage + 1, '...', false);\n        pages.push(nextPageSet);\n      }\n    }\n\n    return pages;\n  }\n\n  // base class\n  protected calculateTotalPages(): number {\n    const totalPages =\n      this.itemsPerPage < 1\n        ? 1\n        : Math.ceil(this.totalItems / this.itemsPerPage);\n\n    return Math.max(totalPages || 0, 1);\n  }\n}\n","<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","import {\n  ChangeDetectorRef,\n  Component,\n  ElementRef,\n  forwardRef,\n  OnInit,\n  Provider,\n  TemplateRef,\n  input,\n  output,\n  effect\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ConfigModel, PagesModel, PaginationLinkContext, PaginationNumberLinkContext } from './models';\n\nimport { PaginationConfig } from './pagination.config';\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\n\nexport interface PageChangedEvent {\n  itemsPerPage: number;\n  page: number;\n}\n\nexport const PAGINATION_CONTROL_VALUE_ACCESSOR: Provider = {\n  provide: NG_VALUE_ACCESSOR,\n  useExisting: forwardRef(() => PaginationComponent),\n  multi: true\n};\n\n@Component({\n    selector: 'pagination',\n    templateUrl: './pagination.component.html',\n    providers: [PAGINATION_CONTROL_VALUE_ACCESSOR],\n    standalone: true,\n    imports: [NgClass, NgTemplateOutlet]\n})\nexport class PaginationComponent implements ControlValueAccessor, OnInit {\n  config?: Partial<ConfigModel>;\n  /** if `true` aligns each link to the sides of pager */\n  align = input<boolean>(true);\n  /** limit number for page links in pager */\n  maxSize = input<number | undefined>();\n  /** if false first and last buttons will be hidden */\n  boundaryLinks = input<boolean>(false);\n  /** if false previous and next buttons will be hidden */\n  directionLinks = input<boolean>(true);\n  // labels\n  /** first button text */\n  firstText = input<string | undefined>();\n  /** previous button text */\n  previousText = input<string | undefined>();\n  /** next button text */\n  nextText = input<string | undefined>();\n  /** last button text */\n  lastText = input<string | undefined>();\n  /** if true current page will in the middle of pages list */\n  rotate = input<boolean>(true);\n  // css\n  /** add class to <code><li\\></code> */\n  pageBtnClass = input<string>('');\n  /** if true pagination component will be disabled */\n  disabled = input<boolean>(false);\n  /** custom template for page link */\n  customPageTemplate = input<TemplateRef<PaginationNumberLinkContext> | undefined>();\n  /** custom template for next link */\n  customNextTemplate = input<TemplateRef<PaginationLinkContext> | undefined>();\n  /** custom template for previous link */\n  customPreviousTemplate = input<TemplateRef<PaginationLinkContext> | undefined>();\n  /** custom template for first link */\n  customFirstTemplate = input<TemplateRef<PaginationLinkContext> | undefined>();\n  /** custom template for last link */\n  customLastTemplate = input<TemplateRef<PaginationLinkContext> | undefined>();\n\n  /** maximum number of items per page. If value less than 1 will display all items on one page */\n  // eslint-disable-next-line @angular-eslint/no-input-rename\n  itemsPerPageInput = input<number>(10, { alias: 'itemsPerPage' });\n  /** total number of items in all pages */\n  // eslint-disable-next-line @angular-eslint/no-input-rename\n  totalItemsInput = input<number>(0, { alias: 'totalItems' });\n\n  /** fired when total pages count changes, $event:number equals to total pages count */\n  numPages = output<number>();\n  /** fired when page was changed, $event:{page, itemsPerPage} equals to object\n   * with current page index and number of items per page\n   */\n  pageChanged = output<PageChangedEvent>();\n  onChange = Function.prototype;\n  onTouched = Function.prototype;\n  classMap = '';\n  pages?: PagesModel[];\n  protected inited = false;\n\n  constructor(\n    private elementRef: ElementRef,\n    paginationConfig: PaginationConfig,\n    private changeDetection: ChangeDetectorRef\n  ) {\n    this.elementRef = elementRef;\n    if (!this.config) {\n      this.configureOptions(paginationConfig.main);\n    }\n\n    // Watch for itemsPerPage changes\n    effect(() => {\n      this._itemsPerPage = this.itemsPerPageInput();\n      this.totalPages = this.calculateTotalPages();\n    });\n\n    // Watch for totalItems changes\n    effect(() => {\n      this._totalItems = this.totalItemsInput();\n      this.totalPages = this.calculateTotalPages();\n    });\n\n    // Watch for rotate/maxSize changes\n    effect(() => {\n      const rotateVal = this.rotate();\n      const maxSizeVal = this.maxSize();\n      this._rotate = typeof rotateVal === 'undefined' ? !!this.config?.rotate : rotateVal;\n      this._maxSize = typeof maxSizeVal === 'undefined' ? this.config?.maxSize || 0 : maxSizeVal;\n      if (this.inited) {\n        this.pages = this.getPages(this.page, this.totalPages);\n        this.changeDetection.markForCheck();\n      }\n    });\n  }\n\n  protected _itemsPerPage = 10;\n\n  get itemsPerPage(): number {\n    return this._itemsPerPage;\n  }\n\n  protected _totalItems = 0;\n\n  get totalItems(): number {\n    return this._totalItems;\n  }\n\n  protected _totalPages = 0;\n\n  get totalPages(): number {\n    return this._totalPages;\n  }\n\n  set totalPages(v: number) {\n    this._totalPages = v;\n    this.numPages.emit(v);\n    if (this.inited) {\n      this.selectPage(this.page);\n    }\n  }\n\n  protected _page = 1;\n\n  get page(): number {\n    return this._page;\n  }\n\n  set page(value: number) {\n    const _previous = this._page;\n    this._page = value > this.totalPages ? this.totalPages : value || 1;\n    this.changeDetection.markForCheck();\n\n    if (_previous === this._page || typeof _previous === 'undefined') {\n      return;\n    }\n\n    this.pageChanged.emit({\n      page: this._page,\n      itemsPerPage: this.itemsPerPage\n    });\n  }\n\n  configureOptions(config: Partial<ConfigModel>): void {\n    this.config = Object.assign({}, config);\n  }\n\n  ngOnInit(): void {\n    if (typeof window !== 'undefined') {\n      this.classMap = this.elementRef.nativeElement.getAttribute('class') || '';\n    }\n\n    // watch for maxSize\n    const maxSizeVal = this.maxSize();\n    const _maxSize = typeof maxSizeVal === 'undefined' ? this.config?.maxSize || 0 : maxSizeVal;\n\n    const rotateVal = this.rotate();\n    const _rotate = typeof rotateVal === 'undefined' ? !!this.config?.rotate : rotateVal;\n\n    const boundaryLinksVal = this.boundaryLinks();\n    const _boundaryLinks = typeof boundaryLinksVal === 'undefined' ? !!this.config?.boundaryLinks : boundaryLinksVal;\n\n    const directionLinksVal = this.directionLinks();\n    const _directionLinks = typeof directionLinksVal === 'undefined' ? !!this.config?.directionLinks : directionLinksVal;\n\n    const pageBtnClassVal = this.pageBtnClass();\n    const _pageBtnClass = typeof pageBtnClassVal === 'undefined' ? this.config?.pageBtnClass || '' : pageBtnClassVal;\n\n    // Store resolved values for use\n    this._maxSize = _maxSize;\n    this._rotate = _rotate;\n    this._boundaryLinks = _boundaryLinks;\n    this._directionLinks = _directionLinks;\n    this._pageBtnClass = _pageBtnClass;\n\n    // base class\n    if (typeof this.itemsPerPage === 'undefined') {\n      this._itemsPerPage = this.config?.itemsPerPage || 0;\n    }\n\n    this.totalPages = this.calculateTotalPages();\n    // this class\n    this.pages = this.getPages(this.page, this.totalPages);\n    this.inited = true;\n  }\n\n  // Resolved configuration values\n  protected _maxSize = 0;\n  protected _rotate = true;\n  protected _boundaryLinks = false;\n  protected _directionLinks = true;\n  protected _pageBtnClass = '';\n\n  writeValue(value: number): void {\n    this.page = value;\n    this.pages = this.getPages(this.page, this.totalPages);\n  }\n\n  getText(key: string): string {\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    const inputVal = (this as any)[`${key}Text`]?.();\n    return inputVal || (this as any).config[`${key}Text`];\n  }\n\n  noPrevious(): boolean {\n    return this.page === 1;\n  }\n\n  noNext(): boolean {\n    return this.page === this.totalPages;\n  }\n\n  registerOnChange(fn: () => void): void {\n    this.onChange = fn;\n  }\n\n  registerOnTouched(fn: () => void): void {\n    this.onTouched = fn;\n  }\n\n  selectPage(page: number, event?: Event): void {\n    if (event) {\n      event.preventDefault();\n    }\n\n    if (!this.disabled()) {\n      if (event && event.target) {\n        // eslint-disable-next-line @typescript-eslint/no-explicit-any\n        const target: any = event.target;\n        target.blur();\n      }\n      this.writeValue(page);\n      this.onChange(this.page);\n    }\n  }\n\n  // Create page object used in template\n  protected makePage(\n    num: number,\n    text: string,\n    active: boolean\n  ): { number: number; text: string; active: boolean } {\n    return { text, number: num, active };\n  }\n\n  protected getPages(currentPage: number, totalPages: number): PagesModel[] {\n    const pages: PagesModel[] = [];\n    const maxSize = this._maxSize;\n    const rotate = this._rotate;\n\n\n    // Default page limits\n    let startPage = 1;\n    let endPage = totalPages;\n    const isMaxSized =\n      typeof maxSize !== 'undefined' && maxSize < totalPages;\n\n    // recompute if maxSize\n    if (isMaxSized && maxSize) {\n      if (rotate) {\n        // Current page is displayed in the middle of the visible ones\n        startPage = Math.max(currentPage - Math.floor(maxSize / 2), 1);\n        endPage = startPage + maxSize - 1;\n\n        // Adjust if limit is exceeded\n        if (endPage > totalPages) {\n          endPage = totalPages;\n          startPage = endPage - maxSize + 1;\n        }\n      } else {\n        // Visible pages are paginated with maxSize\n        startPage =\n          (Math.ceil(currentPage / maxSize) - 1) * maxSize + 1;\n\n        // Adjust last page if limit is exceeded\n        endPage = Math.min(startPage + maxSize - 1, totalPages);\n      }\n    }\n\n    // Add page number links\n    for (let num = startPage; num <= endPage; num++) {\n      const page = this.makePage(num, num.toString(), num === currentPage);\n      pages.push(page);\n    }\n\n    // Add links to move between page sets\n    if (isMaxSized && !rotate) {\n      if (startPage > 1) {\n        const previousPageSet = this.makePage(startPage - 1, '...', false);\n        pages.unshift(previousPageSet);\n      }\n\n      if (endPage < totalPages) {\n        const nextPageSet = this.makePage(endPage + 1, '...', false);\n        pages.push(nextPageSet);\n      }\n    }\n\n    return pages;\n  }\n\n  // base class\n  protected calculateTotalPages(): number {\n    const totalPages =\n      this.itemsPerPage < 1\n        ? 1\n        : Math.ceil(this.totalItems / this.itemsPerPage);\n\n    return Math.max(totalPages || 0, 1);\n  }\n}\n","<ul class=\"pagination\" [ngClass]=\"classMap\">\n  @if (boundaryLinks()) {\n    <li class=\"pagination-first page-item\"\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\n  @if (directionLinks()) {\n    <li class=\"pagination-prev page-item\"\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\n  @for (pg of pages; track pg) {\n    <li\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\n  @if (directionLinks()) {\n    <li class=\"pagination-next page-item\"\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\n  @if (boundaryLinks()) {\n    <li class=\"pagination-last page-item\"\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  }\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","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { PagerComponent } from './pager.component';\nimport { PaginationComponent } from './pagination.component';\n\n@NgModule({\n    imports: [CommonModule, PagerComponent, PaginationComponent],\n    exports: [PagerComponent, PaginationComponent]\n})\nexport class PaginationModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.PaginationConfig"],"mappings":"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"}