{"version":3,"file":"ui-vts-kit-ng-vts-pagination.mjs","sources":["../../components/pagination/pagination-item.component.ts","../../components/pagination/pagination-simple.component.ts","../../components/pagination/pagination-options.component.ts","../../components/pagination/pagination-default.component.ts","../../components/pagination/pagination.component.ts","../../components/pagination/pagination.module.ts","../../components/pagination/pagination.types.ts","../../components/pagination/public-api.ts","../../components/pagination/ui-vts-kit-ng-vts-pagination.ts"],"sourcesContent":["/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  EventEmitter,\n  Input,\n  OnChanges,\n  Output,\n  SimpleChanges,\n  TemplateRef,\n  ViewEncapsulation\n} from '@angular/core';\nimport { VtsSafeAny } from '@ui-vts-kit/ng-vts/core/types';\nimport { VtsPaginationI18nInterface } from '@ui-vts-kit/ng-vts/i18n';\nimport { PaginationItemRenderContext, PaginationItemType } from './pagination.types';\n\n@Component({\n  selector: 'li[vts-pagination-item]',\n  preserveWhitespaces: false,\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: `\n    <ng-template #renderItemTemplate let-type let-page=\"page\">\n      <ng-container [ngSwitch]=\"type\">\n        <a *ngSwitchCase=\"'page'\">{{ page }}</a>\n        <button [disabled]=\"disabled\" class=\"vts-pagination-item-link\" *ngSwitchCase=\"'begin'\">\n          <ng-container [ngSwitch]=\"direction\">\n            <i *ngSwitchCase=\"'rtl'\" vts-icon vtsType=\"DoubleArrowLeft:radix\"></i>\n            <i *ngSwitchDefault vts-icon vtsType=\"DoubleArrowLeft:radix\"></i>\n          </ng-container>\n        </button>\n        <button [disabled]=\"disabled\" class=\"vts-pagination-item-link\" *ngSwitchCase=\"'prev'\">\n          <ng-container [ngSwitch]=\"direction\">\n            <i *ngSwitchCase=\"'rtl'\" vts-icon vtsType=\"ChevronLeft:radix\"></i>\n            <i *ngSwitchDefault vts-icon vtsType=\"ChevronLeft:radix\"></i>\n          </ng-container>\n        </button>\n        <button [disabled]=\"disabled\" class=\"vts-pagination-item-link\" *ngSwitchCase=\"'next'\">\n          <ng-container [ngSwitch]=\"direction\">\n            <i *ngSwitchCase=\"'rtl'\" vts-icon vtsType=\"ChevronRight:radix\"></i>\n            <i *ngSwitchDefault vts-icon vtsType=\"ChevronRight:radix\"></i>\n          </ng-container>\n        </button>\n        <button [disabled]=\"disabled\" class=\"vts-pagination-item-link\" *ngSwitchCase=\"'last'\">\n          <ng-container [ngSwitch]=\"direction\">\n            <i *ngSwitchCase=\"'rtl'\" vts-icon vtsType=\"DoubleArrowRight:radix\"></i>\n            <i *ngSwitchDefault vts-icon vtsType=\"DoubleArrowRight:radix\"></i>\n          </ng-container>\n        </button>\n        <ng-container *ngSwitchDefault>\n          <a class=\"vts-pagination-item-link\" [ngSwitch]=\"type\">\n            <div class=\"vts-pagination-item-container\" *ngSwitchDefault>\n              <ng-container [ngSwitch]=\"type\">\n                <ng-container *ngSwitchCase=\"'prev_5'\" [ngSwitch]=\"direction\">\n                  <i\n                    *ngSwitchCase=\"'rtl'\"\n                    vts-icon\n                    vtsType=\"DoubleArrowRight:radix\"\n                    class=\"vts-pagination-item-link-icon\"\n                  ></i>\n                  <i\n                    *ngSwitchDefault\n                    vts-icon\n                    vtsType=\"DoubleArrowLeft:radix\"\n                    class=\"vts-pagination-item-link-icon\"\n                  ></i>\n                </ng-container>\n                <ng-container *ngSwitchCase=\"'next_5'\" [ngSwitch]=\"direction\">\n                  <i\n                    *ngSwitchCase=\"'rtl'\"\n                    vts-icon\n                    vtsType=\"DoubleArrowLeft:radix\"\n                    class=\"vts-pagination-item-link-icon\"\n                  ></i>\n                  <i\n                    *ngSwitchDefault\n                    vts-icon\n                    vtsType=\"DoubleArrowRight:radix\"\n                    class=\"vts-pagination-item-link-icon\"\n                  ></i>\n                </ng-container>\n              </ng-container>\n              <span class=\"vts-pagination-item-ellipsis\">...</span>\n            </div>\n          </a>\n        </ng-container>\n      </ng-container>\n    </ng-template>\n    <ng-template\n      [ngTemplateOutlet]=\"itemRender || renderItemTemplate\"\n      [ngTemplateOutletContext]=\"{\n        $implicit: type,\n        page: index\n      }\"\n    ></ng-template>\n  `,\n  host: {\n    '[class.vts-pagination-prev]': `type === 'prev'`,\n    '[class.vts-pagination-next]': `type === 'next'`,\n    '[class.vts-pagination-begin]': `type === 'begin'`,\n    '[class.vts-pagination-last]': `type === 'last'`,\n    '[class.vts-pagination-item]': `type === 'page'`,\n    '[class.vts-pagination-jump-prev]': `type === 'prev_5'`,\n    '[class.vts-pagination-jump-prev-custom-icon]': `type === 'prev_5'`,\n    '[class.vts-pagination-jump-next]': `type === 'next_5'`,\n    '[class.vts-pagination-jump-next-custom-icon]': `type === 'next_5'`,\n    '[class.vts-pagination-disabled]': 'disabled',\n    '[class.vts-pagination-item-active]': 'active',\n    '[attr.title]': 'title',\n    '(click)': 'clickItem()'\n  }\n})\nexport class VtsPaginationItemComponent implements OnChanges {\n  static ngAcceptInputType_type: PaginationItemType | string | null | undefined;\n  static ngAcceptInputType_index: number | null | undefined;\n\n  @Input() active = false;\n  @Input() locale!: VtsPaginationI18nInterface;\n  @Input() index: number | null = null;\n  @Input() disabled = false;\n  @Input() direction = 'ltr';\n  @Input() type: PaginationItemType | string | null = null;\n  @Input() itemRender: TemplateRef<PaginationItemRenderContext> | null = null;\n  @Output() readonly diffIndex = new EventEmitter<number>();\n  @Output() readonly gotoIndex = new EventEmitter<number>();\n  title: string | null = null;\n  clickItem(): void {\n    if (!this.disabled) {\n      if (this.type === 'page' || this.type === 'begin' || this.type === 'last') {\n        this.gotoIndex.emit(this.index!);\n      } else {\n        this.diffIndex.emit(\n          (\n            {\n              next: 1,\n              prev: -1,\n              prev_5: -5,\n              next_5: 5\n            } as VtsSafeAny\n          )[this.type!]\n        );\n      }\n    }\n  }\n  ngOnChanges(changes: SimpleChanges): void {\n    const { locale, index, type } = changes;\n    if (locale || index || type) {\n      this.title = (\n        {\n          page: `${this.index}`,\n          next: this.locale?.next_page,\n          prev: this.locale?.prev_page,\n          prev_5: this.locale?.prev_5,\n          next_5: this.locale?.next_5,\n          begin: this.locale?.begin,\n          last: this.locale?.last\n        } as VtsSafeAny\n      )[this.type!];\n    }\n  }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Direction, Directionality } from '@angular/cdk/bidi';\nimport {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ElementRef,\n  EventEmitter,\n  Input,\n  OnChanges,\n  OnDestroy,\n  OnInit,\n  Optional,\n  Output,\n  Renderer2,\n  SimpleChanges,\n  TemplateRef,\n  ViewChild,\n  ViewEncapsulation\n} from '@angular/core';\nimport { VtsSafeAny } from '@ui-vts-kit/ng-vts/core/types';\nimport { toNumber } from '@ui-vts-kit/ng-vts/core/util';\nimport { VtsPaginationI18nInterface } from '@ui-vts-kit/ng-vts/i18n';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { PaginationItemRenderContext } from './pagination.types';\n\n@Component({\n  selector: 'vts-pagination-simple',\n  preserveWhitespaces: false,\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: `\n    <ng-template #containerTemplate>\n      <li\n        vts-pagination-item\n        [attr.title]=\"locale.begin\"\n        [disabled]=\"isFirstIndex\"\n        [direction]=\"dir\"\n        (click)=\"begin()\"\n        type=\"begin\"\n        [itemRender]=\"itemRender\"\n      ></li>\n      <li\n        vts-pagination-item\n        [attr.title]=\"locale.prev_page\"\n        [disabled]=\"isFirstIndex\"\n        [direction]=\"dir\"\n        (click)=\"prePage()\"\n        type=\"prev\"\n        [itemRender]=\"itemRender\"\n      ></li>\n      <li [attr.title]=\"pageIndex + '/' + lastIndex\" class=\"vts-pagination-simple-pager\">\n        <input\n          [disabled]=\"disabled\"\n          [value]=\"pageIndex\"\n          (keydown.enter)=\"jumpToPageViaInput($event)\"\n          size=\"3\"\n        />\n        <span class=\"vts-pagination-slash\">/</span>\n        {{ lastIndex }}\n      </li>\n      <li\n        vts-pagination-item\n        [attr.title]=\"locale?.next_page\"\n        [disabled]=\"isLastIndex\"\n        [direction]=\"dir\"\n        (click)=\"nextPage()\"\n        type=\"next\"\n        [itemRender]=\"itemRender\"\n      ></li>\n      <li\n        vts-pagination-item\n        [attr.title]=\"locale?.last\"\n        [disabled]=\"isLastIndex\"\n        [direction]=\"dir\"\n        (click)=\"last()\"\n        type=\"last\"\n        [itemRender]=\"itemRender\"\n      ></li>\n    </ng-template>\n  `\n})\nexport class VtsPaginationSimpleComponent implements OnChanges, OnDestroy, OnInit {\n  @ViewChild('containerTemplate', { static: true })\n  template!: TemplateRef<VtsSafeAny>;\n  @Input() itemRender: TemplateRef<PaginationItemRenderContext> | null = null;\n  @Input() disabled = false;\n  @Input() locale!: VtsPaginationI18nInterface;\n  @Input() total = 0;\n  @Input() pageIndex = 1;\n  @Input() pageSize = 10;\n  @Output() readonly pageIndexChange = new EventEmitter<number>();\n  lastIndex = 0;\n  isFirstIndex = false;\n  isLastIndex = false;\n\n  dir: Direction = 'ltr';\n  private destroy$ = new Subject<void>();\n\n  constructor(\n    private cdr: ChangeDetectorRef,\n    private renderer: Renderer2,\n    private elementRef: ElementRef,\n    @Optional() private directionality: Directionality\n  ) {\n    renderer.removeChild(renderer.parentNode(elementRef.nativeElement), elementRef.nativeElement);\n  }\n  ngOnInit(): void {\n    this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction: Direction) => {\n      this.dir = direction;\n      this.updateRtlStyle();\n      this.cdr.detectChanges();\n    });\n    this.dir = this.directionality.value;\n    this.updateRtlStyle();\n  }\n\n  private updateRtlStyle(): void {\n    if (this.dir === 'rtl') {\n      this.renderer.addClass(this.elementRef.nativeElement, 'vts-pagination-rtl');\n    } else {\n      this.renderer.removeClass(this.elementRef.nativeElement, 'vts-pagination-rtl');\n    }\n  }\n\n  ngOnDestroy(): void {\n    this.destroy$.next();\n    this.destroy$.complete();\n  }\n\n  jumpToPageViaInput($event: Event): void {\n    const target = $event.target as HTMLInputElement;\n    const index = toNumber(target.value, this.pageIndex);\n    this.onPageIndexChange(index);\n    target.value = `${this.pageIndex}`;\n  }\n\n  prePage(): void {\n    this.onPageIndexChange(this.pageIndex - 1);\n  }\n  nextPage(): void {\n    this.onPageIndexChange(this.pageIndex + 1);\n  }\n  begin(): void {\n    this.onPageIndexChange(1);\n  }\n  last(): void {\n    this.onPageIndexChange(this.lastIndex);\n  }\n\n  onPageIndexChange(index: number): void {\n    this.pageIndexChange.next(index);\n  }\n\n  updateBindingValue(): void {\n    this.lastIndex = Math.ceil(this.total / this.pageSize);\n    this.isFirstIndex = this.pageIndex === 1;\n    this.isLastIndex = this.pageIndex === this.lastIndex;\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    const { pageIndex, total, pageSize } = changes;\n    if (pageIndex || total || pageSize) {\n      this.updateBindingValue();\n    }\n  }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  ElementRef,\n  EventEmitter,\n  Input,\n  OnChanges,\n  Output,\n  SimpleChanges,\n  ViewEncapsulation\n} from '@angular/core';\nimport { toNumber } from '@ui-vts-kit/ng-vts/core/util';\nimport { VtsPaginationI18nInterface } from '@ui-vts-kit/ng-vts/i18n';\n\n@Component({\n  selector: 'div[vts-pagination-options]',\n  preserveWhitespaces: false,\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: `\n    <vts-select\n      class=\"vts-pagination-options-size-changer\"\n      *ngIf=\"showSizeChanger\"\n      [vtsAllowClear]=\"false\"\n      [vtsDisabled]=\"disabled\"\n      [ngModel]=\"pageSize\"\n      (ngModelChange)=\"onPageSizeChange($event)\"\n    >\n      <vts-option\n        *ngFor=\"let option of listOfPageSizeOption; trackBy: trackByOption\"\n        [vtsLabel]=\"option.label\"\n        [vtsValue]=\"option.value\"\n      ></vts-option>\n    </vts-select>\n    <div class=\"vts-pagination-options-quick-jumper\" *ngIf=\"showQuickJumper\">\n      {{ locale.jump_to }}\n      <input [disabled]=\"disabled\" (keydown.enter)=\"jumpToPageViaInput($event)\" />\n      {{ locale.page }}\n    </div>\n  `\n})\nexport class VtsPaginationOptionsComponent implements OnChanges {\n  @Input() disabled = false;\n  @Input() showSizeChanger = false;\n  @Input() showQuickJumper = false;\n  @Input() locale!: VtsPaginationI18nInterface;\n  @Input() total = 0;\n  @Input() pageIndex = 1;\n  @Input() pageSize = 10;\n  @Input() pageSizeOptions: number[] = [];\n  @Output() readonly pageIndexChange = new EventEmitter<number>();\n  @Output() readonly pageSizeChange = new EventEmitter<number>();\n  listOfPageSizeOption: Array<{ value: number; label: string }> = [];\n  vtsSize = 'md';\n\n  constructor(private elementRef: ElementRef) {\n    // TODO: move to host after View Engine deprecation\n    this.elementRef.nativeElement.classList.add('vts-pagination-options');\n  }\n\n  onPageSizeChange(size: number): void {\n    if (this.pageSize !== size) {\n      this.pageSizeChange.next(size);\n    }\n  }\n\n  jumpToPageViaInput($event: Event): void {\n    const target = $event.target as HTMLInputElement;\n    const index = Math.floor(toNumber(target.value, this.pageIndex));\n    this.pageIndexChange.next(index);\n    target.value = '';\n  }\n\n  trackByOption(_: number, option: { value: number; label: string }): number {\n    return option.value;\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    const { pageSize, pageSizeOptions, locale } = changes;\n    if (pageSize || pageSizeOptions || locale) {\n      this.listOfPageSizeOption = [...new Set([...this.pageSizeOptions, this.pageSize])].map(\n        item => {\n          return {\n            value: item,\n            label: `${item} ${this.locale.items_per_page}`\n          };\n        }\n      );\n    }\n  }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Direction, Directionality } from '@angular/cdk/bidi';\nimport {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ElementRef,\n  EventEmitter,\n  Input,\n  OnChanges,\n  OnDestroy,\n  OnInit,\n  Optional,\n  Output,\n  Renderer2,\n  SimpleChanges,\n  TemplateRef,\n  ViewChild,\n  ViewEncapsulation\n} from '@angular/core';\nimport { VtsSafeAny } from '@ui-vts-kit/ng-vts/core/types';\nimport { VtsPaginationI18nInterface } from '@ui-vts-kit/ng-vts/i18n';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { VtsPaginationItemComponent } from './pagination-item.component';\nimport { PaginationItemRenderContext } from './pagination.types';\n\n@Component({\n  selector: 'vts-pagination-default',\n  preserveWhitespaces: false,\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: `\n    <ng-template #containerTemplate>\n      <li class=\"vts-pagination-total-text\" *ngIf=\"showTotal\">\n        <ng-template\n          [ngTemplateOutlet]=\"showTotal\"\n          [ngTemplateOutletContext]=\"{\n            $implicit: total,\n            range: ranges\n          }\"\n        ></ng-template>\n      </li>\n      <li\n        *ngFor=\"let page of listOfPageItem; trackBy: trackByPageItem\"\n        vts-pagination-item\n        [locale]=\"locale\"\n        [type]=\"page.type\"\n        [index]=\"page.index\"\n        [disabled]=\"!!page.disabled\"\n        [itemRender]=\"itemRender\"\n        [active]=\"page.type === 'page' && pageIndex === page.index\"\n        (gotoIndex)=\"jumpPage($event)\"\n        (diffIndex)=\"jumpDiff($event)\"\n        [direction]=\"dir\"\n      ></li>\n      <div\n        vts-pagination-options\n        *ngIf=\"showQuickJumper || showSizeChanger\"\n        [total]=\"total\"\n        [locale]=\"locale\"\n        [disabled]=\"disabled\"\n        [showSizeChanger]=\"showSizeChanger\"\n        [showQuickJumper]=\"showQuickJumper\"\n        [pageIndex]=\"pageIndex\"\n        [pageSize]=\"pageSize\"\n        [pageSizeOptions]=\"pageSizeOptions\"\n        (pageIndexChange)=\"onPageIndexChange($event)\"\n        (pageSizeChange)=\"onPageSizeChange($event)\"\n      ></div>\n    </ng-template>\n  `\n})\nexport class VtsPaginationDefaultComponent implements OnChanges, OnDestroy, OnInit {\n  @ViewChild('containerTemplate', { static: true })\n  template!: TemplateRef<VtsSafeAny>;\n  @Input() itemRender: TemplateRef<PaginationItemRenderContext> | null = null;\n  @Input() showTotal: TemplateRef<{\n    $implicit: number;\n    range: [number, number];\n  }> | null = null;\n  @Input() disabled = false;\n  @Input() locale!: VtsPaginationI18nInterface;\n  @Input() showSizeChanger = false;\n  @Input() showQuickJumper = false;\n  @Input() showShortJump = false;\n  @Input() total = 0;\n  @Input() pageIndex = 1;\n  @Input() pageSize = 10;\n  @Input() pageSizeOptions: number[] = [10, 20, 30, 40];\n  @Input() itemLimit: number = 5;\n  @Output() readonly pageIndexChange = new EventEmitter<number>();\n  @Output() readonly pageSizeChange = new EventEmitter<number>();\n  ranges = [0, 0];\n  listOfPageItem: Array<Partial<VtsPaginationItemComponent>> = [];\n\n  dir: Direction = 'ltr';\n  private destroy$ = new Subject<void>();\n\n  constructor(\n    private cdr: ChangeDetectorRef,\n    private renderer: Renderer2,\n    private elementRef: ElementRef,\n    @Optional() private directionality: Directionality\n  ) {\n    renderer.removeChild(renderer.parentNode(elementRef.nativeElement), elementRef.nativeElement);\n  }\n  ngOnInit(): void {\n    this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction: Direction) => {\n      this.dir = direction;\n      this.updateRtlStyle();\n      this.cdr.detectChanges();\n    });\n    this.dir = this.directionality.value;\n    this.updateRtlStyle();\n  }\n\n  private updateRtlStyle(): void {\n    if (this.dir === 'rtl') {\n      this.renderer.addClass(this.elementRef.nativeElement, 'vts-pagination-rtl');\n    } else {\n      this.renderer.removeClass(this.elementRef.nativeElement, 'vts-pagination-rtl');\n    }\n  }\n\n  ngOnDestroy(): void {\n    this.destroy$.next();\n    this.destroy$.complete();\n  }\n\n  jumpPage(index: number): void {\n    this.onPageIndexChange(index);\n  }\n\n  jumpDiff(diff: number): void {\n    this.jumpPage(this.pageIndex + diff);\n  }\n\n  trackByPageItem(_: number, value: Partial<VtsPaginationItemComponent>): string {\n    return `${value.type}-${value.index}`;\n  }\n\n  onPageIndexChange(index: number): void {\n    this.pageIndexChange.next(index);\n  }\n\n  onPageSizeChange(size: number): void {\n    this.pageSizeChange.next(size);\n  }\n\n  getLastIndex(total: number, pageSize: number): number {\n    return Math.ceil(total / pageSize);\n  }\n\n  buildIndexes(): void {\n    const lastIndex = this.getLastIndex(this.total, this.pageSize);\n    this.listOfPageItem = this.getListOfPageItem(this.pageIndex, lastIndex, this.itemLimit);\n    if (!this.showShortJump)\n      this.listOfPageItem = this.listOfPageItem.filter(\n        i => !(i.type === 'prev_5' || i.type === 'next_5')\n      );\n  }\n\n  getListOfPageItem(\n    pageIndex: number,\n    lastIndex: number,\n    limit: number\n  ): Array<Partial<VtsPaginationItemComponent>> {\n    const concatWithPrevNext = (listOfPage: Array<Partial<VtsPaginationItemComponent>>) => {\n      const beginItem = {\n        type: 'begin',\n        disabled: pageIndex === 1,\n        index: 1\n      };\n      const prevItem = {\n        type: 'prev',\n        disabled: pageIndex === 1\n      };\n      const nextItem = {\n        type: 'next',\n        disabled: pageIndex === lastIndex\n      };\n      const lastItem = {\n        type: 'last',\n        disabled: pageIndex === lastIndex,\n        index: this.getLastIndex(this.total, this.pageSize)\n      };\n      return [beginItem, prevItem, ...listOfPage, nextItem, lastItem];\n    };\n    const generatePage = (\n      start: number,\n      end: number\n    ): Array<Partial<VtsPaginationItemComponent>> => {\n      const list = [];\n      for (let i = start; i <= end; i++) {\n        list.push({\n          index: i,\n          type: 'page'\n        });\n      }\n      return list;\n    };\n    if (lastIndex <= limit) {\n      return concatWithPrevNext(generatePage(1, lastIndex));\n    } else {\n      // const generateRangeItem = (selected: number, last: number) => {\n      //   let listOfRange = [];\n      //   const prevFiveItem = {\n      //     type: 'prev_5'\n      //   };\n      //   const nextFiveItem = {\n      //     type: 'next_5'\n      //   };\n\n      //   const firstPageItem = generatePage(1, 1);\n      //   const lastPageItem = generatePage(lastIndex, lastIndex);\n      //   if (selected < 4) {\n      //     listOfRange = [...generatePage(2, 5), nextFiveItem];\n      //   } else if (selected < last - 3) {\n      //     listOfRange = [prevFiveItem, ...generatePage(selected - 2, selected + 2), nextFiveItem];\n      //   } else {\n      //     listOfRange = [prevFiveItem, ...generatePage(last - 4, last - 1)];\n      //   }\n      //   return [...firstPageItem, ...listOfRange, ...lastPageItem];\n      // };\n      // return concatWithPrevNext(generateRangeItem(pageIndex, lastIndex));\n\n      const halfBefore = Math.ceil(limit / 2);\n      let begin = 1;\n      let end = 1;\n      if (pageIndex - halfBefore >= 0) {\n        begin = pageIndex - halfBefore + 1;\n      }\n      const leftAfter = limit - (pageIndex - begin + 1);\n      end = pageIndex + leftAfter > lastIndex ? lastIndex : pageIndex + leftAfter;\n      const addBefore = leftAfter - (end - pageIndex);\n      begin = begin - addBefore >= 1 ? begin - addBefore : 1;\n\n      const listOfRange = [...generatePage(begin, end)];\n      return concatWithPrevNext(listOfRange);\n    }\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    const { pageIndex, pageSize, total, itemLimit } = changes;\n    if (pageIndex || pageSize || total || itemLimit) {\n      this.ranges = [\n        (this.pageIndex - 1) * this.pageSize + 1,\n        Math.min(this.pageIndex * this.pageSize, this.total)\n      ];\n      this.buildIndexes();\n    }\n  }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Direction, Directionality } from '@angular/cdk/bidi';\nimport {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ElementRef,\n  EventEmitter,\n  Input,\n  OnChanges,\n  OnDestroy,\n  OnInit,\n  Optional,\n  Output,\n  SimpleChanges,\n  TemplateRef,\n  ViewEncapsulation\n} from '@angular/core';\nimport { VtsConfigKey, VtsConfigService, WithConfig } from '@ui-vts-kit/ng-vts/core/config';\nimport { gridResponsiveMap, VtsBreakpointService } from '@ui-vts-kit/ng-vts/core/services';\nimport { BooleanInput, NumberInput } from '@ui-vts-kit/ng-vts/core/types';\nimport { InputBoolean, InputNumber } from '@ui-vts-kit/ng-vts/core/util';\nimport { VtsI18nService, VtsPaginationI18nInterface } from '@ui-vts-kit/ng-vts/i18n';\nimport { ReplaySubject, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { PaginationItemRenderContext } from './pagination.types';\n\nconst VTS_CONFIG_MODULE_NAME: VtsConfigKey = 'pagination';\n\n@Component({\n  selector: 'vts-pagination',\n  exportAs: 'vtsPagination',\n  preserveWhitespaces: false,\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: `\n    <ng-container *ngIf=\"showPagination\">\n      <ng-container *ngIf=\"vtsSimple; else defaultPagination.template\">\n        <ng-template [ngTemplateOutlet]=\"simplePagination.template\"></ng-template>\n      </ng-container>\n    </ng-container>\n    <vts-pagination-simple\n      #simplePagination\n      [disabled]=\"vtsDisabled\"\n      [itemRender]=\"vtsItemRender\"\n      [locale]=\"locale\"\n      [pageSize]=\"vtsPageSize\"\n      [total]=\"vtsTotal\"\n      [pageIndex]=\"vtsPageIndex\"\n      (pageIndexChange)=\"onPageIndexChange($event)\"\n    ></vts-pagination-simple>\n    <vts-pagination-default\n      #defaultPagination\n      [itemRender]=\"vtsItemRender\"\n      [showTotal]=\"vtsShowTotal\"\n      [disabled]=\"vtsDisabled\"\n      [locale]=\"locale\"\n      [showSizeChanger]=\"vtsShowSizeChanger\"\n      [showQuickJumper]=\"vtsShowQuickJumper\"\n      [showShortJump]=\"vtsShowShortJump\"\n      [total]=\"vtsTotal\"\n      [pageIndex]=\"vtsPageIndex\"\n      [pageSize]=\"vtsPageSize\"\n      [pageSizeOptions]=\"vtsPageSizeOptions\"\n      [itemLimit]=\"vtsItemLimit\"\n      (pageIndexChange)=\"onPageIndexChange($event)\"\n      (pageSizeChange)=\"onPageSizeChange($event)\"\n    ></vts-pagination-default>\n  `,\n  host: {\n    '[class.vts-pagination-outline]': 'vtsOutline',\n    '[class.vts-pagination-rounded]': 'vtsRounded',\n    '[class.vts-pagination-simple]': 'vtsSimple',\n    '[class.vts-pagination-disabled]': 'vtsDisabled',\n    '[class.mini]': `!vtsSimple && (miniByBp || vtsMini)`,\n    '[class.vts-pagination-rtl]': `dir === 'rtl'`\n  }\n})\nexport class VtsPaginationComponent implements OnInit, OnDestroy, OnChanges {\n  readonly _vtsModuleName: VtsConfigKey = VTS_CONFIG_MODULE_NAME;\n\n  static ngAcceptInputType_vtsDisabled: BooleanInput;\n  static ngAcceptInputType_vtsShowSizeChanger: BooleanInput;\n  static ngAcceptInputType_vtsHidePaginationOnSinglePage: BooleanInput;\n  static ngAcceptInputType_vtsShowQuickJumper: BooleanInput;\n  static ngAcceptInputType_vtsShowShortJumper: BooleanInput;\n  static ngAcceptInputType_vtsMini: BooleanInput;\n  static ngAcceptInputType_vtsSimple: BooleanInput;\n  static ngAcceptInputType_vtsResponsive: BooleanInput;\n  static ngAcceptInputType_vtsTotal: NumberInput;\n  static ngAcceptInputType_vtsPageIndex: NumberInput;\n  static ngAcceptInputType_vtsPageSize: NumberInput;\n  static ngAcceptInputType_vtsRounded: BooleanInput;\n  static ngAcceptInputType_vtsOutline: BooleanInput;\n\n  @Output()\n  readonly vtsPageSizeChange: EventEmitter<number> = new EventEmitter();\n  @Output()\n  readonly vtsPageIndexChange: EventEmitter<number> = new EventEmitter();\n  @Input() vtsShowTotal: TemplateRef<{\n    $implicit: number;\n    range: [number, number];\n  }> | null = null;\n  @Input()\n  vtsItemRender: TemplateRef<PaginationItemRenderContext> | null = null;\n  @Input() @WithConfig() vtsPageSizeOptions: number[] = [10, 20, 30, 40];\n  @Input() @WithConfig() @InputBoolean() vtsShowSizeChanger = false;\n  @Input() @WithConfig() @InputBoolean() vtsShowQuickJumper = false;\n  @Input() @WithConfig() @InputBoolean() vtsSimple = false;\n  @Input() @InputBoolean() vtsMini = false;\n  @Input() @InputBoolean() vtsDisabled = false;\n  @Input() @InputBoolean() vtsResponsive = false;\n  @Input() @InputBoolean() vtsHidePaginationOnSinglePage = false;\n  @Input() @InputNumber() vtsTotal = 0;\n  @Input() @InputNumber() vtsPageIndex = 1;\n  @Input() @InputNumber() vtsPageSize = 10;\n  @Input() @InputBoolean() vtsRounded = false;\n  @Input() @InputBoolean() vtsOutline = false;\n  vtsShowShortJump = false;\n  @Input() vtsItemLimit: number = 5;\n\n  showPagination = true;\n  locale!: VtsPaginationI18nInterface;\n  dir: Direction = 'ltr';\n  miniByBp = false;\n\n  private destroy$ = new Subject<void>();\n  private total$ = new ReplaySubject<number>(1);\n\n  validatePageIndex(value: number, lastIndex: number): number {\n    if (value > lastIndex) {\n      return lastIndex;\n    } else if (value < 1) {\n      return 1;\n    } else {\n      return value;\n    }\n  }\n\n  onPageIndexChange(index: number): void {\n    const lastIndex = this.getLastIndex(this.vtsTotal, this.vtsPageSize);\n    const validIndex = this.validatePageIndex(index, lastIndex);\n    if (validIndex !== this.vtsPageIndex && !this.vtsDisabled) {\n      this.vtsPageIndex = validIndex;\n      this.vtsPageIndexChange.emit(this.vtsPageIndex);\n    }\n  }\n\n  onPageSizeChange(size: number): void {\n    this.vtsPageSize = size;\n    this.vtsPageSizeChange.emit(size);\n    const lastIndex = this.getLastIndex(this.vtsTotal, this.vtsPageSize);\n    if (this.vtsPageIndex > lastIndex) {\n      this.onPageIndexChange(lastIndex);\n    }\n  }\n\n  onTotalChange(total: number): void {\n    const lastIndex = this.getLastIndex(total, this.vtsPageSize);\n    if (this.vtsPageIndex > lastIndex) {\n      Promise.resolve().then(() => this.onPageIndexChange(lastIndex));\n    }\n  }\n\n  getLastIndex(total: number, pageSize: number): number {\n    return Math.ceil(total / pageSize);\n  }\n\n  get index() {\n    return this.vtsPageIndex;\n  }\n\n  get lastIndex() {\n    return this.getLastIndex(this.vtsTotal, this.vtsPageSize);\n  }\n\n  get range() {\n    return [\n      (this.vtsPageIndex - 1) * this.vtsPageSize + 1,\n      Math.min(this.vtsPageIndex * this.vtsPageSize, this.vtsTotal)\n    ];\n  }\n\n  get total() {\n    return this.vtsTotal;\n  }\n\n  constructor(\n    private i18n: VtsI18nService,\n    private cdr: ChangeDetectorRef,\n    private breakpointService: VtsBreakpointService,\n    protected vtsConfigService: VtsConfigService,\n    @Optional() private directionality: Directionality,\n    private elementRef: ElementRef\n  ) {\n    // TODO: move to host after View Engine deprecation\n    this.elementRef.nativeElement.classList.add('vts-pagination');\n  }\n\n  ngOnInit(): void {\n    this.i18n.localeChange.pipe(takeUntil(this.destroy$)).subscribe(() => {\n      this.locale = this.i18n.getLocaleData('Pagination');\n      this.cdr.markForCheck();\n    });\n\n    this.total$.pipe(takeUntil(this.destroy$)).subscribe(total => {\n      this.onTotalChange(total);\n    });\n\n    this.breakpointService\n      .subscribe(gridResponsiveMap, true)\n      .pipe(takeUntil(this.destroy$))\n      .subscribe(bp => {\n        if (this.vtsResponsive) {\n          this.miniByBp = !bp.sm;\n          this.cdr.markForCheck();\n        }\n      });\n\n    this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction: Direction) => {\n      this.dir = direction;\n      this.cdr.detectChanges();\n    });\n\n    this.dir = this.directionality.value;\n  }\n\n  ngOnDestroy(): void {\n    this.destroy$.next();\n    this.destroy$.complete();\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    const { vtsHidePaginationOnSinglePage, vtsTotal, vtsPageSize } = changes;\n    if (vtsTotal) {\n      this.total$.next(this.vtsTotal);\n    }\n    if (vtsHidePaginationOnSinglePage || vtsTotal || vtsPageSize) {\n      this.showPagination =\n        (this.vtsHidePaginationOnSinglePage && this.vtsTotal > this.vtsPageSize) ||\n        (this.vtsTotal > 0 && !this.vtsHidePaginationOnSinglePage);\n    }\n  }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { BidiModule } from '@angular/cdk/bidi';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { VtsI18nModule } from '@ui-vts-kit/ng-vts/i18n';\nimport { VtsIconModule } from '@ui-vts-kit/ng-vts/icon';\nimport { VtsSelectModule } from '@ui-vts-kit/ng-vts/select';\nimport { VtsPaginationDefaultComponent } from './pagination-default.component';\nimport { VtsPaginationItemComponent } from './pagination-item.component';\nimport { VtsPaginationOptionsComponent } from './pagination-options.component';\nimport { VtsPaginationSimpleComponent } from './pagination-simple.component';\nimport { VtsPaginationComponent } from './pagination.component';\nimport {\n  ChevronLeft,\n  ChevronRight,\n  DoubleArrowLeft,\n  DoubleArrowRight\n} from '@ui-vts/icons-angular/icons/radix';\n\nconst icons = [ChevronLeft, ChevronRight, DoubleArrowLeft, DoubleArrowRight];\n@NgModule({\n  declarations: [\n    VtsPaginationComponent,\n    VtsPaginationSimpleComponent,\n    VtsPaginationOptionsComponent,\n    VtsPaginationItemComponent,\n    VtsPaginationDefaultComponent\n  ],\n  exports: [VtsPaginationComponent],\n  imports: [\n    BidiModule,\n    CommonModule,\n    FormsModule,\n    VtsSelectModule,\n    VtsI18nModule,\n    VtsIconModule.forChild(icons)\n  ]\n})\nexport class VtsPaginationModule {}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nexport interface PaginationItemRenderContext {\n  $implicit: PaginationItemType;\n  page: number;\n}\n\nexport type PaginationItemType = 'page' | 'prev' | 'next' | 'prev_5' | 'next_5';\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nexport * from './pagination.component';\nexport * from './pagination.module';\nexport * from './pagination.types';\nexport * from './pagination-simple.component';\nexport * from './pagination-options.component';\nexport * from './pagination-item.component';\nexport * from './pagination-default.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2.VtsPaginationItemComponent","i2","i3.VtsPaginationOptionsComponent","i4.VtsPaginationItemComponent","i3","i4","i5","i6.VtsPaginationSimpleComponent","i7.VtsPaginationDefaultComponent"],"mappings":"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"}