{"version":3,"file":"ng-devui-pagination.mjs","sources":["../../devui/pagination/pagination.component.ts","../../devui/pagination/pagination.component.html","../../devui/pagination/pagination.module.ts","../../devui/pagination/ng-devui-pagination.ts"],"sourcesContent":["import { ConnectedPosition } from '@angular/cdk/overlay';\r\nimport {\r\n  AfterViewInit,\r\n  ApplicationRef,\r\n  ChangeDetectionStrategy,\r\n  ChangeDetectorRef,\r\n  Component,\r\n  ElementRef,\r\n  EventEmitter,\r\n  Input,\r\n  OnChanges,\r\n  OnDestroy,\r\n  OnInit,\r\n  Output,\r\n  SimpleChanges,\r\n  ViewChild,\r\n} from '@angular/core';\r\nimport { DropDownAppendToBodyComponent } from 'ng-devui/dropdown';\r\nimport { I18nInterface, I18nService } from 'ng-devui/i18n';\r\nimport { AppendToBodyDirection } from 'ng-devui/utils';\r\nimport { Subscription, fromEvent } from 'rxjs';\r\n\r\n@Component({\r\n  selector: 'd-pagination',\r\n  styleUrls: ['./pagination.component.scss'],\r\n  templateUrl: './pagination.component.html',\r\n  exportAs: 'pagination',\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n  preserveWhitespaces: false,\r\n})\r\nexport class PaginationComponent implements OnChanges, AfterViewInit, OnDestroy, OnInit {\r\n  static EFFECT_PAGE_RANGE_KEYS = ['total', 'pageSize', 'pageIndex', 'maxItems', 'pageSizeOptions'];\r\n\r\n  /**\r\n   * 【可选】每页显示最大条目数量，默认10条\r\n   */\r\n  @Input() pageSize = 10;\r\n  /**\r\n   * 【可选】用于选择更改分页每页最大条目数量的下拉框的数据源，默认为`[5, 10, 20, 50]`\r\n   */\r\n  @Input() pageSizeOptions: number[] = [5, 10, 20, 50];\r\n  @Input() pageSizeDirection: Array<AppendToBodyDirection | ConnectedPosition> = ['rightDown', 'rightUp'];\r\n  /**\r\n   * 【可选】初始化页码\r\n   */\r\n  @Input() pageIndex = 1;\r\n  /**\r\n   * 页码变化的回调\r\n   */\r\n  @Output() pageIndexChange = new EventEmitter<number>();\r\n  /**\r\n   * 每页最大条目数量变更时的回调\r\n   */\r\n  @Output() pageSizeChange = new EventEmitter<number>();\r\n  /**\r\n   * 分页最多显示几个按钮，默认10个\r\n   */\r\n  @Input() maxItems = 10;\r\n  /**\r\n   * @depreted 存在xxs风险，后续将替换为模板，使用方需根据自身场景做好防护\r\n   * 【可选】前一页按钮文字，默认为左箭头图标\r\n   */\r\n  @Input() preLink: string;\r\n  /**\r\n   * @depreted 存在xxs风险，后续将替换为模板，使用方需根据自身场景做好防护\r\n   * 【可选】后一页按钮文字，默认为左箭头图标\r\n   */\r\n  @Input() nextLink: string;\r\n  /**\r\n   * 【可选】分页组件尺寸\r\n   */\r\n  @Input() size: '' | 'sm' | 'lg' = '';\r\n  /**\r\n   * 【可选】是否显示分页输入跳转\r\n   */\r\n  @Input() canJumpPage: boolean;\r\n  /**\r\n   * 【可选】是否显示用于选择更改分页每页最大条目数量的下拉框\r\n   */\r\n  @Input() canChangePageSize: boolean;\r\n  /**\r\n   * 【可选】是否显示总条目\r\n   */\r\n  @Input() canViewTotal: boolean;\r\n  /**\r\n   * @deprecated\r\n   */\r\n  @Input() cssClass: string;\r\n  // 是否显示跳转按钮，默认不显示\r\n  @Input() showJumpButton = false;\r\n  // 翻过了页的需求要显示当前真实页面\r\n  @Input() showTruePageIndex = false;\r\n  /**\r\n   * @deprecated\r\n   */\r\n  @Input() id;\r\n  showPages = [];\r\n  totalPage = 1;\r\n  _total = 0;\r\n  jumpPage = null;\r\n  rotateDegrees = 0;\r\n\r\n  @Input() totalItemText: string;\r\n  @Input() goToText: string;\r\n  /**\r\n   * @deprecated\r\n   * 下拉菜单默认方向\r\n   */\r\n  @Input() selectDirection: 'auto' | 'up' | 'down' = 'auto';\r\n\r\n  /**\r\n   * 极简模式开关\r\n   */\r\n  @Input() lite = false;\r\n  @Input() showPageSelector = true;\r\n  @Input() haveConfigMenu = false;\r\n  @Input() autoFixPageIndex = true;\r\n  /**\r\n   * 是否自动隐藏\r\n   */\r\n  @Input() autoHide = false;\r\n  minPageSizeOptions: number;\r\n  litePaginatorIndex: { value: number; label: string } | null;\r\n  litePaginatorOptions: any[] = [];\r\n  private litePaginatorOptionsLengthCache = 0;\r\n  showConfig = false;\r\n  @ViewChild('litePaginator') litePaginator: ElementRef;\r\n  @ViewChild('dropDownElement') dropDownElement: DropDownAppendToBodyComponent;\r\n  @ViewChild('activeBlock') activeBlock: ElementRef;\r\n  private configButtonLoseFocusHandler: Subscription | null = null;\r\n  private loseFocusListener: any = null;\r\n  i18nText: I18nInterface['pagination'];\r\n  i18nLocale: I18nInterface['locale'];\r\n  i18nSubscription: Subscription;\r\n  activeBlockInfo;\r\n  constructor(private ref: ChangeDetectorRef, private i18n: I18nService, private appRef: ApplicationRef) {}\r\n\r\n  ngOnInit(): void {\r\n    this.i18nText = this.i18n.getI18nText().pagination;\r\n    this.i18nLocale = this.i18n.getI18nText().locale;\r\n    this.i18nSubscription = this.i18n.langChange().subscribe((data) => {\r\n      this.i18nText = data.pagination;\r\n      this.i18nLocale = data.locale;\r\n      this.ref.markForCheck();\r\n    });\r\n    if (this.lite && this.showPageSelector) {\r\n      this.constructLitePaginatorOptions();\r\n    }\r\n  }\r\n\r\n  @Input() set total(total: any) {\r\n    if (total === undefined) {\r\n      this._total = 0;\r\n    } else {\r\n      if (!isNaN(parseInt(total, 10))) {\r\n        this._total = parseInt(total, 10);\r\n      }\r\n    }\r\n  }\r\n\r\n  get total() {\r\n    return this._total;\r\n  }\r\n\r\n  first() {\r\n    if (this.pageIndex !== 1) {\r\n      this.onPageIndexChange(1);\r\n    }\r\n  }\r\n\r\n  last() {\r\n    const last = Math.max(this.totalPage, 1);\r\n    if (this.pageIndex !== last) {\r\n      this.onPageIndexChange(last);\r\n    }\r\n  }\r\n\r\n  prev(): void {\r\n    if (this.hasPrev()) {\r\n      this.onPageIndexChange(this.pageIndex - 1);\r\n    }\r\n  }\r\n\r\n  next(): void {\r\n    if (this.hasNext()) {\r\n      this.onPageIndexChange(this.pageIndex + 1);\r\n    }\r\n  }\r\n\r\n  jump() {\r\n    let pageInput = parseInt(this.jumpPage, 10);\r\n    if (pageInput && (pageInput < this.totalPage || this.pageIndex < this.totalPage)) {\r\n      if (pageInput > this.totalPage) {\r\n        this.jumpPage = this.totalPage;\r\n        pageInput = this.totalPage;\r\n      }\r\n      this.onPageIndexChange(pageInput);\r\n    }\r\n  }\r\n\r\n  validateInput() {\r\n    if (this.jumpPage === '') {\r\n      return;\r\n    }\r\n    const value = parseInt(this.jumpPage, 10);\r\n    this.jumpPage = value;\r\n    if (isNaN(value)) {\r\n      this.jumpPage = this.pageIndex;\r\n    }\r\n  }\r\n\r\n  preRange() {\r\n    const pre = this.showPages[0] - 1;\r\n    this.onPageIndexChange(Math.max(pre, 1));\r\n  }\r\n\r\n  nextRange() {\r\n    const next = this.showPages[this.showPages.length - 1] + 1;\r\n    this.onPageIndexChange(Math.min(next, this.totalPage));\r\n  }\r\n\r\n  onPageIndexChange(pageIndex: number) {\r\n    if (this.pageIndex !== pageIndex) {\r\n      if (this.lite) {\r\n        this.litePaginatorIndex = {\r\n          value: this.pageIndex,\r\n          label: `${this.pageIndex}/${this.totalPage}`,\r\n        };\r\n      }\r\n      this.pageIndexChange.emit(pageIndex);\r\n    }\r\n  }\r\n\r\n  onPageSizeChange(size) {\r\n    if (this.pageSize !== size) {\r\n      this.pageSize = size;\r\n      this.pageSizeChange.emit(size);\r\n      if (this.autoFixPageIndex && Math.ceil(this.total / size) < this.totalPage) {\r\n        this.totalPage = Math.ceil(this.total / size);\r\n        this.onPageIndexChange(this.totalPage <= this.pageIndex ? this.totalPage : this.pageIndex);\r\n      }\r\n      this.adjustPaginatorWidth();\r\n    }\r\n    if (this.dropDownElement) {\r\n      this.dropDownElement.dropDown.toggle();\r\n    }\r\n  }\r\n\r\n  hasPrev(): boolean {\r\n    return this.pageIndex > 1;\r\n  }\r\n\r\n  hasNext(): boolean {\r\n    return this.pageIndex < this.totalPage;\r\n  }\r\n\r\n  private getTotalPage(): number {\r\n    return Math.ceil(this.total / this.pageSize);\r\n  }\r\n\r\n  ngOnChanges(changes: SimpleChanges): void {\r\n    this.activeBlockInfo = this.activeBlock?.nativeElement.getBoundingClientRect();\r\n    const shouldUpdateRanges = PaginationComponent.EFFECT_PAGE_RANGE_KEYS.some((key) => !!changes[key]);\r\n    if (shouldUpdateRanges) {\r\n      this.minPageSizeOptions = Math.min(...this.pageSizeOptions);\r\n      this.totalPage = this.getTotalPage();\r\n      if (!this.showTruePageIndex) {\r\n        this.pageIndex = Math.max(Math.min(this.pageIndex, this.totalPage), 1);\r\n      }\r\n      this.jumpPage = this.pageIndex;\r\n      this.updateShowPageRange();\r\n      if (this.lite && this.showPageSelector) {\r\n        this.constructLitePaginatorOptions();\r\n      }\r\n      this.adjustPaginatorWidth();\r\n      if (this.activeBlockInfo && changes.pageIndex) {\r\n        this.setActiveAnimation();\r\n      }\r\n    }\r\n  }\r\n\r\n  ngAfterViewInit() {\r\n    this.adjustPaginatorWidth();\r\n  }\r\n\r\n  setActiveAnimation() {\r\n    new Promise((resolve, reject) => {\r\n      resolve(true);\r\n    }).then(() => {\r\n      const curInfo = this.activeBlock.nativeElement.getBoundingClientRect();\r\n      const element = this.activeBlock.nativeElement;\r\n      this.activeBlock.nativeElement.style.opacity = 1;\r\n      element.style.transform = `translate(${this.activeBlockInfo.left - curInfo.left}px)`;\r\n      setTimeout(() => {\r\n        element.style.transition = 'transform .25s ease-in-out';\r\n        element.style.transform = 'translate(0, 0)';\r\n      });\r\n    });\r\n  }\r\n\r\n  private updateShowPageRange() {\r\n    if (!this.totalPage) {\r\n      this.showPages = [1];\r\n      return;\r\n    }\r\n\r\n    if (this.totalPage <= this.maxItems) {\r\n      this.showPages = new Array<number>(this.totalPage).fill(0).map((_, i) => i + 1);\r\n      return;\r\n    }\r\n    this.showPages = this.extractRange();\r\n  }\r\n\r\n  private extractRange() {\r\n    const showPages = [this.pageIndex];\r\n    let start = this.pageIndex - 1;\r\n    let end = this.pageIndex + 1;\r\n\r\n    const arriveLeftBound = (index) => index < 1;\r\n    const arriveRightBound = (index) => index > this.totalPage;\r\n    const fullPageRang = (pages) => pages.length >= this.maxItems - 2;\r\n\r\n    while (!(fullPageRang(showPages) || (arriveLeftBound(start) && arriveRightBound(end)))) {\r\n      if (!arriveLeftBound(start)) {\r\n        showPages.unshift(start--);\r\n      }\r\n\r\n      if (!fullPageRang(showPages) && !arriveRightBound(end)) {\r\n        showPages.push(end++);\r\n      }\r\n    }\r\n    return showPages;\r\n  }\r\n\r\n  private constructLitePaginatorOptions(): void {\r\n    if (this.litePaginatorOptions.length === 0 || this.litePaginatorOptions.length !== this.litePaginatorOptionsLengthCache) {\r\n      this.litePaginatorOptions = Array.from({ length: this.totalPage }).map((v, index: number) => {\r\n        return {\r\n          label: `${index + 1}/${this.totalPage}`,\r\n          value: index + 1,\r\n        };\r\n      });\r\n    }\r\n    this.litePaginatorIndex = {\r\n      value: this.pageIndex,\r\n      label: `${this.pageIndex}/${this.totalPage}`,\r\n    };\r\n  }\r\n\r\n  private adjustPaginatorWidth() {\r\n    if (this.litePaginator && this.litePaginator.nativeElement && this.litePaginatorOptions.length > 0) {\r\n      const lastOption = this.litePaginatorOptions[this.litePaginatorOptions.length - 1];\r\n      const lastLabel = lastOption ? lastOption.label : '';\r\n      const minWidth = 100;\r\n      const width = lastLabel.length * 4 + 80;\r\n      this.litePaginator.nativeElement.style.width = `${Math.max(minWidth, width)}px`;\r\n    }\r\n  }\r\n\r\n  onToggle(event) {\r\n    this.rotateDegrees = event ? 180 : 0;\r\n  }\r\n\r\n  toggleMenu(force: boolean = null) {\r\n    if (force !== null) {\r\n      this.showConfig = force;\r\n    } else {\r\n      this.showConfig = !this.showConfig;\r\n    }\r\n    this.ref.markForCheck();\r\n    if (this.showConfig) {\r\n      this.subscribeLoseFocusHandler();\r\n    } else {\r\n      this.unsubscribeLoseFocusHandler();\r\n    }\r\n  }\r\n\r\n  private closeMenu() {\r\n    this.toggleMenu(false);\r\n  }\r\n\r\n  private unsubscribeLoseFocusHandler() {\r\n    if (this.configButtonLoseFocusHandler) {\r\n      this.configButtonLoseFocusHandler.unsubscribe();\r\n      this.configButtonLoseFocusHandler = null;\r\n    }\r\n  }\r\n\r\n  ngOnDestroy(): void {\r\n    this.unsubscribeLoseFocusHandler();\r\n    if (this.i18nSubscription) {\r\n      this.i18nSubscription.unsubscribe();\r\n    }\r\n  }\r\n\r\n  private subscribeLoseFocusHandler() {\r\n    if (this.loseFocusListener === null) {\r\n      this.loseFocusListener = fromEvent(document, 'click');\r\n    }\r\n    if (this.configButtonLoseFocusHandler === null) {\r\n      this.configButtonLoseFocusHandler = this.loseFocusListener.subscribe(this.closeMenu.bind(this));\r\n    }\r\n  }\r\n}\r\n","<div class=\"devui-pagination\" [class.devui-pagination-hidden]=\"autoHide && total < minPageSizeOptions\">\r\n  <ng-container *ngIf=\"canChangePageSize && !lite\">\r\n    <div dDropDown (toggleEvent)=\"onToggle($event)\" appendToBody [appendToBodyDirections]=\"pageSizeDirection\" #dropDownElement>\r\n      <d-icon\r\n        class=\"devui-dropdown-default devui-dropdown-origin devui-page-size {{ size ? 'devui-page-size-' + size : '' }}\"\r\n        dDropDownToggle\r\n        [icon]=\"'icon-chevron-down-2'\"\r\n        [rotate]=\"rotateDegrees\"\r\n      >\r\n        <span iconPrefix>{{ pageSize }}</span>\r\n      </d-icon>\r\n      <ul dDropDownMenu class=\"devui-dropdown-menu devui-pagination-dropdown-menu\" role=\"menu\" (click)=\"$event.stopPropagation()\">\r\n        <li\r\n          *ngFor=\"let item of pageSizeOptions\"\r\n          class=\"devui-dropdown-item\"\r\n          [class.devui-pagination-acitve-item]=\"item === pageSize\"\r\n          (click)=\"onPageSizeChange(item)\"\r\n        >\r\n          {{ item }}\r\n        </li>\r\n      </ul>\r\n    </div>\r\n    <span class=\"devui-per-page\">{{ i18nText?.perPage }},</span>\r\n  </ng-container>\r\n  <div *ngIf=\"canViewTotal\" class=\"devui-total-size\">\r\n    {{ totalItemText ? totalItemText + ': ' + (total | number) : i18nText?.totalItem(total | number) }}\r\n  </div>\r\n  <div *ngIf=\"lite && showPageSelector\" class=\"devui-lite-paginator\" #litePaginator>\r\n    <d-select\r\n      [scrollHight]=\"'200px'\"\r\n      [size]=\"size\"\r\n      [isSearch]=\"false\"\r\n      [ngModel]=\"litePaginatorIndex\"\r\n      [appendToBody]=\"true\"\r\n      [appendToBodyDirections]=\"pageSizeDirection\"\r\n      [options]=\"litePaginatorOptions\"\r\n      [filterKey]=\"'label'\"\r\n      [disabled]=\"!litePaginatorOptions.length\"\r\n      (valueChange)=\"onPageIndexChange($event.value)\"\r\n    ></d-select>\r\n  </div>\r\n  <ul class=\"devui-pagination-list {{ size ? 'devui-pagination-' + size : '' }}\">\r\n    <ng-container *ngIf=\"!lite\">\r\n      <li *ngIf=\"preLink\" [ngClass]=\"{ disabled: pageIndex == totalPage }\">\r\n        <a (click)=\"prev()\" class=\"devui-pagination-link\" [innerHTML]=\"preLink | safe : 'html'\"></a>\r\n      </li>\r\n      <li *ngIf=\"!preLink\" [ngClass]=\"{ disabled: pageIndex == 1 }\">\r\n        <a (click)=\"prev()\" class=\"devui-pagination-link\">\r\n          <svg width=\"1em\" height=\"1.5em\" viewBox=\"0 0 16 16\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\">\r\n            <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\r\n              <polygon\r\n                fill=\"#293040\"\r\n                fill-rule=\"nonzero\"\r\n                points=\"10.7071068 12.2928932 9.29289322 13.7071068 3.58578644 8 9.29289322 2.29289322 10.7071068 3.70710678 6.41421356 8\"\r\n              ></polygon>\r\n            </g>\r\n          </svg>\r\n        </a>\r\n      </li>\r\n      <li *ngIf=\"showPages[0] > 1\" (click)=\"first()\">\r\n        <a>1</a>\r\n      </li>\r\n      <li *ngIf=\"showPages[0] > 2\" (click)=\"preRange()\">\r\n        <a>...</a>\r\n      </li>\r\n      <li *ngFor=\"let item of showPages\" [ngClass]=\"{ active: item == pageIndex }\">\r\n        <div #activeBlock class=\"devui-pagination-active-block\" *ngIf=\"item == pageIndex\"></div>\r\n        <a (click)=\"onPageIndexChange(item)\" style=\"position: relative\">{{ item }}</a>\r\n      </li>\r\n      <li *ngIf=\"showPages[showPages.length - 1] < totalPage - 1\" (click)=\"nextRange()\">\r\n        <a>...</a>\r\n      </li>\r\n      <li *ngIf=\"showPages[showPages.length - 1] < totalPage\" (click)=\"last()\">\r\n        <a>{{ totalPage | number }}</a>\r\n      </li>\r\n      <ng-container *ngIf=\"showTruePageIndex && pageIndex > totalPage && totalPage > 0\">\r\n        <li *ngIf=\"pageIndex > totalPage + 1\" class=\"disabled\"><a>...</a></li>\r\n        <li class=\"active disabled\">\r\n          <a>{{ pageIndex }}</a>\r\n        </li>\r\n      </ng-container>\r\n      <li *ngIf=\"nextLink\" [ngClass]=\"{ disabled: pageIndex == totalPage }\">\r\n        <a (click)=\"next()\" class=\"devui-pagination-link\" [innerHTML]=\"nextLink | safe : 'html'\"></a>\r\n      </li>\r\n      <li *ngIf=\"!nextLink\" [ngClass]=\"{ disabled: pageIndex == totalPage || !total }\">\r\n        <a (click)=\"next()\" class=\"devui-pagination-link\">\r\n          <svg width=\"1em\" height=\"1.5em\" viewBox=\"0 0 16 16\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\">\r\n            <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\r\n              <polygon\r\n                fill=\"#293040\"\r\n                fill-rule=\"nonzero\"\r\n                transform=\"translate(8.146447, 8.000000) scale(-1, 1) translate(-8.146447, -8.000000) \"\r\n                points=\"11.7071068 12.2928932 10.2928932 13.7071068 4.58578644 8 10.2928932 2.29289322 11.7071068 3.70710678 7.41421356 8\"\r\n              ></polygon>\r\n            </g>\r\n          </svg>\r\n        </a>\r\n      </li>\r\n    </ng-container>\r\n    <ng-container *ngIf=\"lite\">\r\n      <li *ngIf=\"preLink\" [ngClass]=\"{ disabled: pageIndex == totalPage }\">\r\n        <a\r\n          (click)=\"prev()\"\r\n          [attr.aria-label]=\"nextLink\"\r\n          class=\"devui-pagination-link devui-pagination-link-lite\"\r\n          [innerHTML]=\"preLink | safe : 'html'\"\r\n        ></a>\r\n      </li>\r\n      <li *ngIf=\"!preLink\" [ngClass]=\"{ disabled: pageIndex == 1 }\">\r\n        <a (click)=\"prev()\" [attr.aria-label]=\"nextLink\" class=\"devui-pagination-link devui-pagination-link-lite\">\r\n          <svg width=\"1em\" height=\"1.5em\" viewBox=\"0 0 16 16\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\">\r\n            <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\r\n              <polygon\r\n                fill=\"#293040\"\r\n                fill-rule=\"nonzero\"\r\n                points=\"10.7071068 12.2928932 9.29289322 13.7071068 3.58578644 8 9.29289322 2.29289322 10.7071068 3.70710678 6.41421356 8\"\r\n              ></polygon>\r\n            </g>\r\n          </svg>\r\n        </a>\r\n      </li>\r\n      <li *ngIf=\"nextLink\" [ngClass]=\"{ disabled: pageIndex >= totalPage }\">\r\n        <a\r\n          (click)=\"next()\"\r\n          [attr.aria-label]=\"nextLink\"\r\n          class=\"devui-pagination-link devui-pagination-link-lite\"\r\n          [innerHTML]=\"nextLink | safe : 'html'\"\r\n        ></a>\r\n      </li>\r\n      <li *ngIf=\"!nextLink\" [ngClass]=\"{ disabled: pageIndex >= totalPage }\">\r\n        <a (click)=\"next()\" [attr.aria-label]=\"nextLink\" class=\"devui-pagination-link devui-pagination-link-lite\">\r\n          <svg width=\"1em\" height=\"1.5em\" viewBox=\"0 0 16 16\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\">\r\n            <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\r\n              <polygon\r\n                fill=\"#293040\"\r\n                fill-rule=\"nonzero\"\r\n                transform=\"translate(8.146447, 8.000000) scale(-1, 1) translate(-8.146447, -8.000000) \"\r\n                points=\"11.7071068 12.2928932 10.2928932 13.7071068 4.58578644 8 10.2928932 2.29289322 11.7071068 3.70710678 7.41421356 8\"\r\n              ></polygon>\r\n            </g>\r\n          </svg>\r\n        </a>\r\n      </li>\r\n    </ng-container>\r\n  </ul>\r\n  <div *ngIf=\"canJumpPage\" class=\"devui-jump-container\">\r\n    {{ goToText ? goToText : i18nText?.goTo }}\r\n    <input\r\n      dTextInput\r\n      type=\"text\"\r\n      autocomplete=\"off\"\r\n      class=\"devui-input {{ size ? 'devui-input-' + size : '' }}\"\r\n      [class.error]=\"jumpPage < 1 || (jumpPage > totalPage && pageIndex === totalPage)\"\r\n      name=\"pageIndex\"\r\n      [(ngModel)]=\"jumpPage\"\r\n      (keyup.enter)=\"jump()\"\r\n      (keyup)=\"validateInput()\"\r\n    />\r\n    {{ i18nLocale === 'zh-cn' && !goToText ? i18nText.page : '' }}\r\n    <div\r\n      *ngIf=\"showJumpButton\"\r\n      class=\"devui-jump-button {{ size ? 'devui-jump-size-' + size : 'devui-jump-size-default' }}\"\r\n      title=\"{{ goToText ? goToText : i18nText?.goTo }}\"\r\n      (click)=\"jump()\"\r\n    >\r\n      <div class=\"devui-pagination-go\"></div>\r\n    </div>\r\n  </div>\r\n  <div class=\"devui-pagination-config\" *ngIf=\"haveConfigMenu\">\r\n    <div class=\"devui-setup-icon\" (click)=\"$event.stopPropagation(); toggleMenu()\">\r\n      <svg\r\n        width=\"16px\"\r\n        height=\"16px\"\r\n        viewBox=\"0 0 16 16\"\r\n        version=\"1.1\"\r\n        xmlns=\"http://www.w3.org/2000/svg\"\r\n        xmlns:xlink=\"http://www.w3.org/1999/xlink\"\r\n      >\r\n        <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\r\n          <path\r\n            d=\"M8,12 C10.209139,12 12,10.209139 12,8 C12,5.790861 10.209139,4 8,4 C5.790861,4 4,5.790861 4,8 C4,10.209139 5.790861,12 8,12 Z M4.52067059,3.11124369 C5.24511171,2.59473146 6.08922816,2.23522497 7.00334609,2.08239805 C7.00112987,2.05522493 7,2.02774441 7,2 L7,1 C7,0.44771525 7.44771525,1.01453063e-16 8,0 C8.55228475,-1.01453063e-16 9,0.44771525 9,1 L9,2 C9,2.02774441 8.99887013,2.05522493 8.99665391,2.08239805 C9.91077184,2.23522497 10.7548883,2.59473146 11.4793294,3.11124369 C11.4970673,3.09033559 11.5158021,3.06998434 11.5355339,3.05025253 L12.2426407,2.34314575 C12.633165,1.95262146 13.26633,1.95262146 13.6568542,2.34314575 C14.0473785,2.73367004 14.0473785,3.36683502 13.6568542,3.75735931 L12.9497475,4.46446609 C12.9300157,4.4841979 12.9096644,4.50293273 12.8887563,4.52067059 C13.4052685,5.24511171 13.764775,6.08922816 13.917602,7.00334609 C13.9447751,7.00112987 13.9722556,7 14,7 L15,7 C15.5522847,7 16,7.44771525 16,8 C16,8.55228475 15.5522847,9 15,9 L14,9 C13.9722556,9 13.9447751,8.99887013 13.917602,8.99665391 C13.764775,9.91077184 13.4052685,10.7548883 12.8887563,11.4793294 C12.9096644,11.4970673 12.9300157,11.5158021 12.9497475,11.5355339 L13.6568542,12.2426407 C14.0473785,12.633165 14.0473785,13.26633 13.6568542,13.6568542 C13.26633,14.0473785 12.633165,14.0473785 12.2426407,13.6568542 L11.5355339,12.9497475 C11.5158021,12.9300157 11.4970673,12.9096644 11.4793294,12.8887563 C10.7548883,13.4052685 9.91077184,13.764775 8.99665391,13.917602 C8.99887013,13.9447751 9,13.9722556 9,14 L9,15 C9,15.5522847 8.55228475,16 8,16 C7.44771525,16 7,15.5522847 7,15 L7,14 C7,13.9722556 7.00112987,13.9447751 7.00334609,13.917602 C6.08922816,13.764775 5.24511171,13.4052685 4.52067059,12.8887563 C4.50293273,12.9096644 4.4841979,12.9300157 4.46446609,12.9497475 L3.75735931,13.6568542 C3.36683502,14.0473785 2.73367004,14.0473785 2.34314575,13.6568542 C1.95262146,13.26633 1.95262146,12.633165 2.34314575,12.2426407 L3.05025253,11.5355339 C3.06998434,11.5158021 3.09033559,11.4970673 3.11124369,11.4793294 C2.59473146,10.7548883 2.23522497,9.91077184 2.08239805,8.99665391 C2.05522493,8.99887013 2.02774441,9 2,9 L1,9 C0.44771525,9 2.4125371e-16,8.55228475 3.83475851e-17,8 C-1.6455854e-16,7.44771525 0.44771525,7 1,7 L2,7 C2.02774441,7 2.05522493,7.00112987 2.08239805,7.00334609 C2.23522497,6.08922816 2.59473146,5.24511171 3.11124369,4.52067059 C3.09033559,4.50293273 3.06998434,4.4841979 3.05025253,4.46446609 L2.34314575,3.75735931 C1.95262146,3.36683502 1.95262146,2.73367004 2.34314575,2.34314575 C2.73367004,1.95262146 3.36683502,1.95262146 3.75735931,2.34314575 L4.46446609,3.05025253 C4.4841979,3.06998434 4.50293273,3.09033559 4.52067059,3.11124369 Z M8,9 C7.44771525,9 7,8.55228475 7,8 C7,7.44771525 7.44771525,7 8,7 C8.55228475,7 9,7.44771525 9,8 C9,8.55228475 8.55228475,9 8,9 Z\"\r\n            fill=\"#293040\"\r\n            fill-rule=\"nonzero\"\r\n          ></path>\r\n        </g>\r\n      </svg>\r\n    </div>\r\n    <div *ngIf=\"showConfig\" class=\"devui-config-container\">\r\n      <ng-content></ng-content>\r\n      <div class=\"devui-pagination-config-item devui-page-size-config\" *ngIf=\"canChangePageSize\">\r\n        <div class=\"devui-config-item-title\">{{ i18nText?.pageSize }}</div>\r\n        <div class=\"devui-page-number\">\r\n          <ng-container *ngFor=\"let size of pageSizeOptions\">\r\n            <div class=\"number\" [ngClass]=\"{ choosed: size === pageSize }\" (click)=\"onPageSizeChange(size)\">\r\n              {{ size }}\r\n            </div>\r\n          </ng-container>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { DropDownModule } from 'ng-devui/dropdown';\nimport { IconModule } from 'ng-devui/icon';\nimport { SelectModule } from 'ng-devui/select';\nimport { TextInputModule } from 'ng-devui/text-input';\nimport { SafePipeModule } from 'ng-devui/utils';\nimport { PaginationComponent } from './pagination.component';\n\n@NgModule({\n  imports: [\n    CommonModule,\n    SelectModule,\n    FormsModule,\n    SafePipeModule,\n    TextInputModule,\n    IconModule,\n    DropDownModule\n  ],\n  declarations: [PaginationComponent],\n  exports: [PaginationComponent]\n})\nexport class PaginationModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}