@alauda/ui 6.5.10-beta.14 → 6.5.10-beta.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -18,7 +18,7 @@ export declare class BackTopComponent {
18
18
  isDisplayed$: import("rxjs").Observable<boolean>;
19
19
  getTargetScrollTop(target: Element | Window): number;
20
20
  handleClick(event: Event): void;
21
- smoothScrollToTop(duration: number): void;
21
+ scrollToTop(duration: number): void;
22
22
  getTarget(target: TargetType): Element | Window;
23
23
  static ɵfac: i0.ɵɵFactoryDeclaration<BackTopComponent, [{ optional: true; }]>;
24
24
  static ɵcmp: i0.ɵɵComponentDeclaration<BackTopComponent, "aui-back-top", never, { "visibilityHeight": { "alias": "visibilityHeight"; "required": false; }; "target": { "alias": "target"; "required": false; }; }, { "click": "click"; }, never, never, false, never>;
@@ -40,19 +40,23 @@ export class BackTopComponent {
40
40
  return target.scrollTop;
41
41
  }
42
42
  handleClick(event) {
43
- this.smoothScrollToTop(300);
43
+ this.scrollToTop(300);
44
44
  this.click.emit(event);
45
45
  }
46
- smoothScrollToTop(duration) {
47
- const scrollHeight = this.getTargetScrollTop(this._scrollTarget);
48
- const scrollInterval = setInterval(() => {
49
- if (this.getTargetScrollTop(this._scrollTarget) !== 0) {
50
- this._scrollTarget.scrollBy(0, -Math.round(scrollHeight / (duration / 15)));
46
+ scrollToTop(duration) {
47
+ const startHeight = this.getTargetScrollTop(this._scrollTarget);
48
+ let startTime;
49
+ const scrollStep = (timestamp) => {
50
+ if (!startTime) {
51
+ startTime = timestamp;
51
52
  }
52
- else {
53
- clearInterval(scrollInterval);
53
+ const scrollHeight = Math.max(startHeight - ((timestamp - startTime) / duration) * startHeight, 0);
54
+ this._scrollTarget.scrollTo(0, scrollHeight);
55
+ if (scrollHeight) {
56
+ requestAnimationFrame(scrollStep);
54
57
  }
55
- }, 15);
58
+ };
59
+ requestAnimationFrame(scrollStep);
56
60
  }
57
61
  getTarget(target) {
58
62
  const scrollTarget = (typeof target === 'string' && document.querySelector(target)) ||
@@ -76,4 +80,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImpor
76
80
  }], click: [{
77
81
  type: Output
78
82
  }] } });
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFjay10b3AuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2JhY2stdG9wL2JhY2stdG9wLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL3NyYy9iYWNrLXRvcC9iYWNrLXRvcC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxlQUFlLEVBQ2YsYUFBYSxFQUNiLFNBQVMsRUFDVCxvQkFBb0IsRUFDcEIsR0FBRyxFQUNILFNBQVMsRUFDVCxZQUFZLEdBQ2IsTUFBTSxNQUFNLENBQUM7Ozs7O0FBWWQsTUFBTSxPQUFPLGdCQUFnQjtJQWlDYztJQWhDekMsSUFDSSxnQkFBZ0IsQ0FBQyxHQUFXO1FBQzlCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxHQUFHLENBQUM7UUFDN0IsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQ0ksTUFBTSxDQUFDLEdBQWU7UUFDeEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUM7UUFDbkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBR0QsS0FBSyxHQUFHLElBQUksWUFBWSxFQUFTLENBQUM7SUFFMUIsaUJBQWlCLEdBQUcsR0FBRyxDQUFDO0lBQ2YsUUFBUSxHQUFHLElBQUksZUFBZSxDQUFhLElBQUks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QkFEbkIsS0FBSztnQkFXRixNQUFNO3NCQURULEtBQUs7Z0JBV04sS0FBSztzQkFESixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrU2Nyb2xsYWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEJlaGF2aW9yU3ViamVjdCxcbiAgY29tYmluZUxhdGVzdCxcbiAgZnJvbUV2ZW50LFxuICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgbWFwLFxuICBzd2l0Y2hNYXAsXG4gIHRocm90dGxlVGltZSxcbn0gZnJvbSAncnhqcyc7XG5cbnR5cGUgVGFyZ2V0VHlwZSA9IEVsZW1lbnQgfCBXaW5kb3cgfCBzdHJpbmc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F1aS1iYWNrLXRvcCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9iYWNrLXRvcC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2JhY2stdG9wLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgQmFja1RvcENvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIHNldCB2aXNpYmlsaXR5SGVpZ2h0KHZhbDogbnVtYmVyKSB7XG4gICAgdGhpcy5fdmlzaWJpbGl0eUhlaWdodCA9IHZhbDtcbiAgICB0aGlzLnZpc2liaWxpdHlIZWlnaHQkJC5uZXh0KHZhbCk7XG4gIH1cblxuICBnZXQgdmlzaWJpbGl0eUhlaWdodCgpIHtcbiAgICByZXR1cm4gdGhpcy5fdmlzaWJpbGl0eUhlaWdodDtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCB0YXJnZXQodmFsOiBUYXJnZXRUeXBlKSB7XG4gICAgdGhpcy5fdGFyZ2V0ID0gdmFsO1xuICAgIHRoaXMudGFyZ2V0JCQubmV4dCh2YWwpO1xuICB9XG5cbiAgZ2V0IHRhcmdldCgpIHtcbiAgICByZXR1cm4gdGhpcy5fdGFyZ2V0O1xuICB9XG5cbiAgQE91dHB1dCgpXG4gIGNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcblxuICBwcml2YXRlIF92aXNpYmlsaXR5SGVpZ2h0ID0gNDAwO1xuICBwcml2YXRlIHJlYWRvbmx5IHRhcmdldCQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUYXJnZXRUeXBlPih0aGlzLnRhcmdldCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgdmlzaWJpbGl0eUhlaWdodCQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KFxuICAgIHRoaXMudmlzaWJpbGl0eUhlaWdodCxcbiAgKTtcblxuICBwcml2YXRlIF90YXJnZXQ6IFRhcmdldFR5cGU7XG4gIHByaXZhdGUgX3Njcm9sbFRhcmdldDogRWxlbWVudCB8IFdpbmRvdztcblxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBwcml2YXRlIHJlYWRvbmx5IGNka1Njcm9sbGFibGU6IENka1Njcm9sbGFibGUpIHt9XG5cbiAgaXNEaXNwbGF5ZWQkID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy50YXJnZXQkJC5hc09ic2VydmFibGUoKS5waXBlKFxuICAgICAgbWFwKHRhcmdldCA9PiB0aGlzLmdldFRhcmdldCh0YXJnZXQpKSxcbiAgICAgIHN3aXRjaE1hcCh0YXJnZXQgPT5cbiAgICAgICAgZnJvbUV2ZW50KHRhcmdldCwgJ3Njcm9sbCcpLnBpcGUoXG4gICAgICAgICAgLy8gdXNlIGRlZmF1bHQgc2NoZWR1bGVyXG4gICAgICAgICAgdGhyb3R0bGVUaW1lKDUwLCB1bmRlZmluZWQsIHsgbGVhZGluZzogdHJ1ZSwgdHJhaWxpbmc6IHRydWUgfSksXG4gICAgICAgICAgbWFwKCgpID0+IHRoaXMuZ2V0VGFyZ2V0U2Nyb2xsVG9wKHRhcmdldCkpLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICApLFxuICAgIHRoaXMudmlzaWJpbGl0eUhlaWdodCQkLFxuICBdKS5waXBlKFxuICAgIG1hcCgoW3Njcm9sbFRvcCwgdmlzaWJpbGl0eUhlaWdodF0pID0+IHNjcm9sbFRvcCA+PSB2aXNpYmlsaXR5SGVpZ2h0KSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICApO1xuXG4gIGdldFRhcmdldFNjcm9sbFRvcCh0YXJnZXQ6IEVsZW1lbnQgfCBXaW5kb3cpIHtcbiAgICBpZiAodGFyZ2V0ID09PSB3aW5kb3cpIHtcbiAgICAgIHJldHVybiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wO1xuICAgIH1cbiAgICByZXR1cm4gKHRhcmdldCBhcyBIVE1MRWxlbWVudCkuc2Nyb2xsVG9wO1xuICB9XG5cbiAgaGFuZGxlQ2xpY2soZXZlbnQ6IEV2ZW50KSB7XG4gICAgdGhpcy5zbW9vdGhTY3JvbGxUb1RvcCgzMDApO1xuICAgIHRoaXMuY2xpY2suZW1pdChldmVudCk7XG4gIH1cblxuICBzbW9vdGhTY3JvbGxUb1RvcChkdXJhdGlvbjogbnVtYmVyKSB7XG4gICAgY29uc3Qgc2Nyb2xsSGVpZ2h0ID0gdGhpcy5nZXRUYXJnZXRTY3JvbGxUb3AodGhpcy5fc2Nyb2xsVGFyZ2V0KTtcbiAgICBjb25zdCBzY3JvbGxJbnRlcnZhbCA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICAgIGlmICh0aGlzLmdldFRhcmdldFNjcm9sbFRvcCh0aGlzLl9zY3JvbGxUYXJnZXQpICE9PSAwKSB7XG4gICAgICAgIHRoaXMuX3Njcm9sbFRhcmdldC5zY3JvbGxCeShcbiAgICAgICAgICAwLFxuICAgICAgICAgIC1NYXRoLnJvdW5kKHNjcm9sbEhlaWdodCAvIChkdXJhdGlvbiAvIDE1KSksXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjbGVhckludGVydmFsKHNjcm9sbEludGVydmFsKTtcbiAgICAgIH1cbiAgICB9LCAxNSk7XG4gIH1cblxuICBnZXRUYXJnZXQodGFyZ2V0OiBUYXJnZXRUeXBlKTogRWxlbWVudCB8IFdpbmRvdyB7XG4gICAgY29uc3Qgc2Nyb2xsVGFyZ2V0ID1cbiAgICAgICh0eXBlb2YgdGFyZ2V0ID09PSAnc3RyaW5nJyAmJiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHRhcmdldCkpIHx8XG4gICAgICB0aGlzLmNka1Njcm9sbGFibGU/LmdldEVsZW1lbnRSZWYoKS5uYXRpdmVFbGVtZW50IHx8XG4gICAgICB3aW5kb3c7XG4gICAgdGhpcy5fc2Nyb2xsVGFyZ2V0ID0gc2Nyb2xsVGFyZ2V0O1xuICAgIHJldHVybiBzY3JvbGxUYXJnZXQ7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJhdWktYmFjay10b3BcIlxuICAoY2xpY2spPVwiaGFuZGxlQ2xpY2soJGV2ZW50KVwiXG4gIFtjbGFzcy5zaG93XT1cImlzRGlzcGxheWVkJCB8IGFzeW5jXCJcbj5cbiAgPGF1aS1pY29uXG4gICAgaWNvbj1cImFycm93X3VwX3RvX2xpbmVcIlxuICAgIGNsYXNzPVwiYXVpLWJhY2stdG9wX19pY29uXCJcbiAgPjwvYXVpLWljb24+XG48L2Rpdj5cbiJdfQ==
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFjay10b3AuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2JhY2stdG9wL2JhY2stdG9wLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL3NyYy9iYWNrLXRvcC9iYWNrLXRvcC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxlQUFlLEVBQ2YsYUFBYSxFQUNiLFNBQVMsRUFDVCxvQkFBb0IsRUFDcEIsR0FBRyxFQUNILFNBQVMsRUFDVCxZQUFZLEdBQ2IsTUFBTSxNQUFNLENBQUM7Ozs7O0FBWWQsTUFBTSxPQUFPLGdCQUFnQjtJQWlDYztJQWhDekMsSUFDSSxnQkFBZ0IsQ0FBQyxHQUFXO1FBQzlCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxHQUFHLENBQUM7UUFDN0IsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQ0ksTUFBTSxDQUFDLEdBQWU7UUFDeEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUM7UUFDbkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBR0QsS0FBSyxHQUFHLElBQUksWUFBWSxFQUFTLENBQUM7SUFFMUIsaUJBQWlCLEdBQUcsR0FBRyxDQUFDO0lBQ2YsUUFBUSxHQUFHLElBQUksZUFBZSxDQUFhLElBQUks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QUFTOytCQUNFLGNBQWMsaUJBR1QsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSx1QkFDMUIsS0FBSzs7MEJBbUNiLFFBQVE7NENBL0JqQixnQkFBZ0I7c0JBRG5CLEtBQUs7Z0JBV0YsTUFBTTtzQkFEVCxLQUFLO2dCQVdOLEtBQUs7c0JBREosTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENka1Njcm9sbGFibGUgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPcHRpb25hbCxcbiAgT3V0cHV0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBCZWhhdmlvclN1YmplY3QsXG4gIGNvbWJpbmVMYXRlc3QsXG4gIGZyb21FdmVudCxcbiAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gIG1hcCxcbiAgc3dpdGNoTWFwLFxuICB0aHJvdHRsZVRpbWUsXG59IGZyb20gJ3J4anMnO1xuXG50eXBlIFRhcmdldFR5cGUgPSBFbGVtZW50IHwgV2luZG93IHwgc3RyaW5nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdWktYmFjay10b3AnLFxuICB0ZW1wbGF0ZVVybDogJy4vYmFjay10b3AuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9iYWNrLXRvcC5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIEJhY2tUb3BDb21wb25lbnQge1xuICBASW5wdXQoKVxuICBzZXQgdmlzaWJpbGl0eUhlaWdodCh2YWw6IG51bWJlcikge1xuICAgIHRoaXMuX3Zpc2liaWxpdHlIZWlnaHQgPSB2YWw7XG4gICAgdGhpcy52aXNpYmlsaXR5SGVpZ2h0JCQubmV4dCh2YWwpO1xuICB9XG5cbiAgZ2V0IHZpc2liaWxpdHlIZWlnaHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3Zpc2liaWxpdHlIZWlnaHQ7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgdGFyZ2V0KHZhbDogVGFyZ2V0VHlwZSkge1xuICAgIHRoaXMuX3RhcmdldCA9IHZhbDtcbiAgICB0aGlzLnRhcmdldCQkLm5leHQodmFsKTtcbiAgfVxuXG4gIGdldCB0YXJnZXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3RhcmdldDtcbiAgfVxuXG4gIEBPdXRwdXQoKVxuICBjbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG5cbiAgcHJpdmF0ZSBfdmlzaWJpbGl0eUhlaWdodCA9IDQwMDtcbiAgcHJpdmF0ZSByZWFkb25seSB0YXJnZXQkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VGFyZ2V0VHlwZT4odGhpcy50YXJnZXQpO1xuICBwcml2YXRlIHJlYWRvbmx5IHZpc2liaWxpdHlIZWlnaHQkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPihcbiAgICB0aGlzLnZpc2liaWxpdHlIZWlnaHQsXG4gICk7XG5cbiAgcHJpdmF0ZSBfdGFyZ2V0OiBUYXJnZXRUeXBlO1xuICBwcml2YXRlIF9zY3JvbGxUYXJnZXQ6IEVsZW1lbnQgfCBXaW5kb3c7XG5cbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgcHJpdmF0ZSByZWFkb25seSBjZGtTY3JvbGxhYmxlOiBDZGtTY3JvbGxhYmxlKSB7fVxuXG4gIGlzRGlzcGxheWVkJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMudGFyZ2V0JCQuYXNPYnNlcnZhYmxlKCkucGlwZShcbiAgICAgIG1hcCh0YXJnZXQgPT4gdGhpcy5nZXRUYXJnZXQodGFyZ2V0KSksXG4gICAgICBzd2l0Y2hNYXAodGFyZ2V0ID0+XG4gICAgICAgIGZyb21FdmVudCh0YXJnZXQsICdzY3JvbGwnKS5waXBlKFxuICAgICAgICAgIC8vIHVzZSBkZWZhdWx0IHNjaGVkdWxlclxuICAgICAgICAgIHRocm90dGxlVGltZSg1MCwgdW5kZWZpbmVkLCB7IGxlYWRpbmc6IHRydWUsIHRyYWlsaW5nOiB0cnVlIH0pLFxuICAgICAgICAgIG1hcCgoKSA9PiB0aGlzLmdldFRhcmdldFNjcm9sbFRvcCh0YXJnZXQpKSxcbiAgICAgICAgKSxcbiAgICAgICksXG4gICAgKSxcbiAgICB0aGlzLnZpc2liaWxpdHlIZWlnaHQkJCxcbiAgXSkucGlwZShcbiAgICBtYXAoKFtzY3JvbGxUb3AsIHZpc2liaWxpdHlIZWlnaHRdKSA9PiBzY3JvbGxUb3AgPj0gdmlzaWJpbGl0eUhlaWdodCksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgKTtcblxuICBnZXRUYXJnZXRTY3JvbGxUb3AodGFyZ2V0OiBFbGVtZW50IHwgV2luZG93KSB7XG4gICAgaWYgKHRhcmdldCA9PT0gd2luZG93KSB7XG4gICAgICByZXR1cm4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcDtcbiAgICB9XG4gICAgcmV0dXJuICh0YXJnZXQgYXMgSFRNTEVsZW1lbnQpLnNjcm9sbFRvcDtcbiAgfVxuXG4gIGhhbmRsZUNsaWNrKGV2ZW50OiBFdmVudCkge1xuICAgIHRoaXMuc2Nyb2xsVG9Ub3AoMzAwKTtcbiAgICB0aGlzLmNsaWNrLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgc2Nyb2xsVG9Ub3AoZHVyYXRpb246IG51bWJlcikge1xuICAgIGNvbnN0IHN0YXJ0SGVpZ2h0ID0gdGhpcy5nZXRUYXJnZXRTY3JvbGxUb3AodGhpcy5fc2Nyb2xsVGFyZ2V0KTtcbiAgICBsZXQgc3RhcnRUaW1lOiBudW1iZXI7XG5cbiAgICBjb25zdCBzY3JvbGxTdGVwID0gKHRpbWVzdGFtcDogbnVtYmVyKSA9PiB7XG4gICAgICBpZiAoIXN0YXJ0VGltZSkge1xuICAgICAgICBzdGFydFRpbWUgPSB0aW1lc3RhbXA7XG4gICAgICB9XG4gICAgICBjb25zdCBzY3JvbGxIZWlnaHQgPSBNYXRoLm1heChcbiAgICAgICAgc3RhcnRIZWlnaHQgLSAoKHRpbWVzdGFtcCAtIHN0YXJ0VGltZSkgLyBkdXJhdGlvbikgKiBzdGFydEhlaWdodCxcbiAgICAgICAgMCxcbiAgICAgICk7XG5cbiAgICAgIHRoaXMuX3Njcm9sbFRhcmdldC5zY3JvbGxUbygwLCBzY3JvbGxIZWlnaHQpO1xuICAgICAgaWYgKHNjcm9sbEhlaWdodCkge1xuICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoc2Nyb2xsU3RlcCk7XG4gICAgICB9XG4gICAgfTtcbiAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoc2Nyb2xsU3RlcCk7XG4gIH1cblxuICBnZXRUYXJnZXQodGFyZ2V0OiBUYXJnZXRUeXBlKTogRWxlbWVudCB8IFdpbmRvdyB7XG4gICAgY29uc3Qgc2Nyb2xsVGFyZ2V0ID1cbiAgICAgICh0eXBlb2YgdGFyZ2V0ID09PSAnc3RyaW5nJyAmJiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHRhcmdldCkpIHx8XG4gICAgICB0aGlzLmNka1Njcm9sbGFibGU/LmdldEVsZW1lbnRSZWYoKS5uYXRpdmVFbGVtZW50IHx8XG4gICAgICB3aW5kb3c7XG4gICAgdGhpcy5fc2Nyb2xsVGFyZ2V0ID0gc2Nyb2xsVGFyZ2V0O1xuICAgIHJldHVybiBzY3JvbGxUYXJnZXQ7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJhdWktYmFjay10b3BcIlxuICAoY2xpY2spPVwiaGFuZGxlQ2xpY2soJGV2ZW50KVwiXG4gIFtjbGFzcy5zaG93XT1cImlzRGlzcGxheWVkJCB8IGFzeW5jXCJcbj5cbiAgPGF1aS1pY29uXG4gICAgaWNvbj1cImFycm93X3VwX3RvX2xpbmVcIlxuICAgIGNsYXNzPVwiYXVpLWJhY2stdG9wX19pY29uXCJcbiAgPjwvYXVpLWljb24+XG48L2Rpdj5cbiJdfQ==
@@ -24,8 +24,18 @@ export class PaginatorComponent {
24
24
  set pageIndex(val) {
25
25
  this.currentPage = val + 1;
26
26
  }
27
- currentPage = 1;
28
- pageSize = 20;
27
+ get currentPage() {
28
+ return this._currentPage;
29
+ }
30
+ set currentPage(val) {
31
+ this._currentPage = +val;
32
+ }
33
+ get pageSize() {
34
+ return this._pageSize;
35
+ }
36
+ set pageSize(val) {
37
+ this._pageSize = +val;
38
+ }
29
39
  pageSizeOptions = [20, 50, 100];
30
40
  total = 0;
31
41
  get length() {
@@ -36,8 +46,11 @@ export class PaginatorComponent {
36
46
  }
37
47
  layout = 'total,pager,sizes';
38
48
  disabled = false;
49
+ pageIndexChange = new EventEmitter();
39
50
  currentPageChange = new EventEmitter();
40
51
  pageSizeChange = new EventEmitter();
52
+ _currentPage = 1;
53
+ _pageSize = 20;
41
54
  intlChangeSub;
42
55
  get pageCount() {
43
56
  return Math.ceil(this.total / this.pageSize);
@@ -66,6 +79,7 @@ export class PaginatorComponent {
66
79
  if (page === this.currentPage) {
67
80
  return;
68
81
  }
82
+ this.pageIndexChange.emit(page - 1);
69
83
  this.currentPageChange.emit(page);
70
84
  }
71
85
  navigate(step) {
@@ -95,11 +109,11 @@ export class PaginatorComponent {
95
109
  return index;
96
110
  }
97
111
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: PaginatorComponent, deps: [{ token: i1.PaginatorIntl }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
98
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.4", type: PaginatorComponent, selector: "aui-paginator", inputs: { pageIndex: "pageIndex", currentPage: "currentPage", pageSize: "pageSize", pageSizeOptions: "pageSizeOptions", total: "total", length: "length", layout: "layout", disabled: "disabled" }, outputs: { currentPageChange: "currentPageChange", pageSizeChange: "pageSizeChange" }, ngImport: i0, template: "<div [class]=\"bem.block()\">\n <div\n *ngFor=\"let layout of getLayoutArr()\"\n [class]=\"bem.element('layout')\"\n >\n <div\n *ngIf=\"layout === 'pager'\"\n [class]=\"bem.element('pager')\"\n >\n <button\n [ngClass]=\"bem.element('navigator')\"\n aui-button\n [disabled]=\"disabled || currentPage <= 1\"\n (click)=\"navigate(-1)\"\n >\n <aui-icon icon=\"angle_left\"></aui-icon>\n </button>\n <button\n [ngClass]=\"bem.element('page')\"\n [aui-button]=\"currentPage === 1 ? 'primary' : 'default'\"\n [plain]=\"!(currentPage === 1)\"\n [disabled]=\"disabled\"\n (click)=\"jumpTo(1)\"\n >\n 1\n </button>\n <button\n *ngIf=\"pageCount > 7 && currentPage > 4\"\n [ngClass]=\"bem.element('fast-navigator')\"\n aui-button\n [disabled]=\"disabled\"\n (click)=\"navigate(-5)\"\n >\n <aui-icon icon=\"ellipsis_s\"></aui-icon>\n <aui-icon icon=\"angles_left\"></aui-icon>\n </button>\n <button\n *ngFor=\"let page of getCenterPages(); trackBy: trackByIndex\"\n [ngClass]=\"bem.element('page')\"\n [aui-button]=\"currentPage === page ? 'primary' : 'default'\"\n [plain]=\"!(currentPage === page)\"\n [disabled]=\"disabled\"\n (click)=\"jumpTo(page)\"\n >\n {{ page }}\n </button>\n <button\n *ngIf=\"pageCount > 7 && currentPage < pageCount - 3\"\n [ngClass]=\"bem.element('fast-navigator')\"\n aui-button\n [disabled]=\"disabled\"\n (click)=\"navigate(5)\"\n >\n <aui-icon icon=\"ellipsis_s\"></aui-icon>\n <aui-icon icon=\"angles_right\"></aui-icon>\n </button>\n <button\n *ngIf=\"pageCount > 1\"\n [ngClass]=\"bem.element('page')\"\n [aui-button]=\"currentPage === pageCount ? 'primary' : 'default'\"\n [plain]=\"!(currentPage === pageCount)\"\n [disabled]=\"disabled\"\n (click)=\"jumpTo(pageCount)\"\n >\n {{ pageCount }}\n </button>\n <button\n aui-button\n [ngClass]=\"bem.element('navigator')\"\n [disabled]=\"disabled || currentPage >= pageCount\"\n (click)=\"navigate(1)\"\n >\n <aui-icon icon=\"angle_right\"></aui-icon>\n </button>\n </div>\n <div\n *ngIf=\"layout === 'total'\"\n [class]=\"bem.element('total')\"\n >\n {{ intl.getTotalLabel(total) }}\n </div>\n <div\n *ngIf=\"layout === 'sizes'\"\n [class]=\"bem.element('sizes')\"\n >\n <aui-select\n [disabled]=\"disabled\"\n [value]=\"pageSize\"\n [filterable]=\"false\"\n (valueChange)=\"changePageSize($event)\"\n >\n <aui-option\n *ngFor=\"let size of pageSizeOptions\"\n [value]=\"size\"\n >\n {{ size }}\n </aui-option>\n </aui-select>\n <span>{{ intl.itemsPerPageLabel }}</span>\n </div>\n <div\n *ngIf=\"layout === 'jumper'\"\n [class]=\"bem.element('jumper')\"\n >\n <span *ngIf=\"intl.jumperLabelPrefix\">{{ intl.jumperLabelPrefix }}</span>\n <input\n aui-input\n type=\"number\"\n min=\"1\"\n [max]=\"pageCount\"\n [value]=\"currentPage\"\n [disabled]=\"disabled\"\n (keydown)=\"onKeydown($event)\"\n />\n <span *ngIf=\"intl.jumperLabelSuffix\">{{ intl.jumperLabelSuffix }}</span>\n </div>\n <div\n *ngIf=\"layout === 'content'\"\n [class]=\"bem.element('content')\"\n >\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n", styles: [".aui-paginator{display:inline-flex;align-items:center;white-space:nowrap;font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);font-weight:var(--aui-font-weight-normal)}.aui-paginator .aui-button{width:var(--aui-line-height-xl);height:var(--aui-line-height-xl);border:unset}.aui-paginator .aui-button--default{background-color:transparent}.aui-paginator .aui-button .aui-button__content{padding:unset}.aui-paginator__fast-navigator[hidden]{display:none}.aui-paginator__fast-navigator .aui-icon{margin:0}.aui-paginator__fast-navigator aui-icon:last-child{display:none}.aui-paginator__fast-navigator:hover aui-icon:first-child{display:none}.aui-paginator__fast-navigator:hover aui-icon:last-child{display:inline}.aui-paginator__sizes{display:inline-flex;align-items:center}.aui-paginator__sizes .aui-select{width:80px;margin-right:var(--aui-spacing-s)}.aui-paginator__jumper .aui-input{width:80px}.aui-paginator__jumper span+input{margin-left:var(--aui-spacing-m)}.aui-paginator__jumper input+span{margin-left:var(--aui-spacing-s)}.aui-paginator__navigator.aui-button{background-color:rgb(var(--aui-color-n-8))}.aui-paginator__navigator.aui-button aui-icon{font-size:var(--aui-icon-size-m)}.aui-paginator__navigator.aui-button:hover{background-color:rgb(var(--aui-color-p-6))}.aui-paginator__pager{border:1px solid rgb(var(--aui-color-n-7));padding:3px;border-radius:var(--aui-border-radius-m);background-color:rgb(var(--aui-color-main-bg))}.aui-paginator__layout{display:inline-block}.aui-paginator__layout+.aui-paginator__layout{margin-left:var(--aui-spacing-l)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.ButtonComponent, selector: "button[aui-button]", inputs: ["aui-button", "size", "plain", "loading", "round", "square"] }, { kind: "component", type: i4.IconComponent, selector: "aui-icon", inputs: ["icon", "light", "dark", "link", "margin", "size", "color", "background", "backgroundColor"] }, { kind: "component", type: i5.SelectComponent, selector: "aui-select" }, { kind: "component", type: i6.OptionComponent, selector: "aui-option", inputs: ["label", "labelContext", "value", "disabled"] }, { kind: "component", type: i7.InputComponent, selector: "input[aui-input],textarea[aui-input]", inputs: ["size", "disabled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
112
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.4", type: PaginatorComponent, selector: "aui-paginator", inputs: { pageIndex: "pageIndex", currentPage: "currentPage", pageSize: "pageSize", pageSizeOptions: "pageSizeOptions", total: "total", length: "length", layout: "layout", disabled: "disabled" }, outputs: { pageIndexChange: "pageIndexChange", currentPageChange: "currentPageChange", pageSizeChange: "pageSizeChange" }, ngImport: i0, template: "<div [class]=\"bem.block()\">\n <div\n *ngFor=\"let layout of getLayoutArr()\"\n [class]=\"bem.element('layout')\"\n >\n <div\n *ngIf=\"layout === 'pager'\"\n [class]=\"bem.element('pager')\"\n >\n <button\n [ngClass]=\"bem.element('navigator')\"\n aui-button\n [disabled]=\"disabled || currentPage <= 1\"\n (click)=\"navigate(-1)\"\n >\n <aui-icon icon=\"angle_left\"></aui-icon>\n </button>\n <button\n [ngClass]=\"bem.element('page')\"\n [aui-button]=\"currentPage === 1 ? 'primary' : 'default'\"\n [plain]=\"!(currentPage === 1)\"\n [disabled]=\"disabled\"\n (click)=\"jumpTo(1)\"\n >\n 1\n </button>\n <button\n *ngIf=\"pageCount > 7 && currentPage > 4\"\n [ngClass]=\"bem.element('fast-navigator')\"\n aui-button\n [disabled]=\"disabled\"\n (click)=\"navigate(-5)\"\n >\n <aui-icon icon=\"ellipsis_s\"></aui-icon>\n <aui-icon icon=\"angles_left\"></aui-icon>\n </button>\n <button\n *ngFor=\"let page of getCenterPages(); trackBy: trackByIndex\"\n [ngClass]=\"bem.element('page')\"\n [aui-button]=\"currentPage === page ? 'primary' : 'default'\"\n [plain]=\"!(currentPage === page)\"\n [disabled]=\"disabled\"\n (click)=\"jumpTo(page)\"\n >\n {{ page }}\n </button>\n <button\n *ngIf=\"pageCount > 7 && currentPage < pageCount - 3\"\n [ngClass]=\"bem.element('fast-navigator')\"\n aui-button\n [disabled]=\"disabled\"\n (click)=\"navigate(5)\"\n >\n <aui-icon icon=\"ellipsis_s\"></aui-icon>\n <aui-icon icon=\"angles_right\"></aui-icon>\n </button>\n <button\n *ngIf=\"pageCount > 1\"\n [ngClass]=\"bem.element('page')\"\n [aui-button]=\"currentPage === pageCount ? 'primary' : 'default'\"\n [plain]=\"!(currentPage === pageCount)\"\n [disabled]=\"disabled\"\n (click)=\"jumpTo(pageCount)\"\n >\n {{ pageCount }}\n </button>\n <button\n aui-button\n [ngClass]=\"bem.element('navigator')\"\n [disabled]=\"disabled || currentPage >= pageCount\"\n (click)=\"navigate(1)\"\n >\n <aui-icon icon=\"angle_right\"></aui-icon>\n </button>\n </div>\n <div\n *ngIf=\"layout === 'total'\"\n [class]=\"bem.element('total')\"\n >\n {{ intl.getTotalLabel(total) }}\n </div>\n <div\n *ngIf=\"layout === 'sizes'\"\n [class]=\"bem.element('sizes')\"\n >\n <aui-select\n [disabled]=\"disabled\"\n [value]=\"pageSize\"\n [filterable]=\"false\"\n (valueChange)=\"changePageSize($event)\"\n >\n <aui-option\n *ngFor=\"let size of pageSizeOptions\"\n [value]=\"size\"\n >\n {{ size }}\n </aui-option>\n </aui-select>\n <span>{{ intl.itemsPerPageLabel }}</span>\n </div>\n <div\n *ngIf=\"layout === 'jumper'\"\n [class]=\"bem.element('jumper')\"\n >\n <span *ngIf=\"intl.jumperLabelPrefix\">{{ intl.jumperLabelPrefix }}</span>\n <input\n aui-input\n type=\"number\"\n min=\"1\"\n [max]=\"pageCount\"\n [value]=\"currentPage\"\n [disabled]=\"disabled\"\n (keydown)=\"onKeydown($event)\"\n />\n <span *ngIf=\"intl.jumperLabelSuffix\">{{ intl.jumperLabelSuffix }}</span>\n </div>\n <div\n *ngIf=\"layout === 'content'\"\n [class]=\"bem.element('content')\"\n >\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n", styles: [".aui-paginator{display:inline-flex;align-items:center;white-space:nowrap;font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);font-weight:var(--aui-font-weight-normal)}.aui-paginator .aui-button{width:var(--aui-line-height-xl);height:var(--aui-line-height-xl);border:unset}.aui-paginator .aui-button--default{background-color:transparent}.aui-paginator .aui-button .aui-button__content{padding:unset}.aui-paginator__fast-navigator[hidden]{display:none}.aui-paginator__fast-navigator .aui-icon{margin:0}.aui-paginator__fast-navigator aui-icon:last-child{display:none}.aui-paginator__fast-navigator:hover aui-icon:first-child{display:none}.aui-paginator__fast-navigator:hover aui-icon:last-child{display:inline}.aui-paginator__sizes{display:inline-flex;align-items:center}.aui-paginator__sizes .aui-select{width:80px;margin-right:var(--aui-spacing-s)}.aui-paginator__jumper .aui-input{width:80px}.aui-paginator__jumper span+input{margin-left:var(--aui-spacing-m)}.aui-paginator__jumper input+span{margin-left:var(--aui-spacing-s)}.aui-paginator__navigator.aui-button{background-color:rgb(var(--aui-color-n-8))}.aui-paginator__navigator.aui-button aui-icon{font-size:var(--aui-icon-size-m)}.aui-paginator__navigator.aui-button:hover:not([disabled]){background-color:rgb(var(--aui-color-p-6))}.aui-paginator__pager{border:1px solid rgb(var(--aui-color-n-7));padding:3px;border-radius:var(--aui-border-radius-m);background-color:rgb(var(--aui-color-main-bg))}.aui-paginator__layout{display:inline-block}.aui-paginator__layout+.aui-paginator__layout{margin-left:var(--aui-spacing-l)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.ButtonComponent, selector: "button[aui-button]", inputs: ["aui-button", "size", "plain", "loading", "round", "square"] }, { kind: "component", type: i4.IconComponent, selector: "aui-icon", inputs: ["icon", "light", "dark", "link", "margin", "size", "color", "background", "backgroundColor"] }, { kind: "component", type: i5.SelectComponent, selector: "aui-select" }, { kind: "component", type: i6.OptionComponent, selector: "aui-option", inputs: ["label", "labelContext", "value", "disabled"] }, { kind: "component", type: i7.InputComponent, selector: "input[aui-input],textarea[aui-input]", inputs: ["size", "disabled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
99
113
  }
100
114
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: PaginatorComponent, decorators: [{
101
115
  type: Component,
102
- args: [{ selector: 'aui-paginator', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, template: "<div [class]=\"bem.block()\">\n <div\n *ngFor=\"let layout of getLayoutArr()\"\n [class]=\"bem.element('layout')\"\n >\n <div\n *ngIf=\"layout === 'pager'\"\n [class]=\"bem.element('pager')\"\n >\n <button\n [ngClass]=\"bem.element('navigator')\"\n aui-button\n [disabled]=\"disabled || currentPage <= 1\"\n (click)=\"navigate(-1)\"\n >\n <aui-icon icon=\"angle_left\"></aui-icon>\n </button>\n <button\n [ngClass]=\"bem.element('page')\"\n [aui-button]=\"currentPage === 1 ? 'primary' : 'default'\"\n [plain]=\"!(currentPage === 1)\"\n [disabled]=\"disabled\"\n (click)=\"jumpTo(1)\"\n >\n 1\n </button>\n <button\n *ngIf=\"pageCount > 7 && currentPage > 4\"\n [ngClass]=\"bem.element('fast-navigator')\"\n aui-button\n [disabled]=\"disabled\"\n (click)=\"navigate(-5)\"\n >\n <aui-icon icon=\"ellipsis_s\"></aui-icon>\n <aui-icon icon=\"angles_left\"></aui-icon>\n </button>\n <button\n *ngFor=\"let page of getCenterPages(); trackBy: trackByIndex\"\n [ngClass]=\"bem.element('page')\"\n [aui-button]=\"currentPage === page ? 'primary' : 'default'\"\n [plain]=\"!(currentPage === page)\"\n [disabled]=\"disabled\"\n (click)=\"jumpTo(page)\"\n >\n {{ page }}\n </button>\n <button\n *ngIf=\"pageCount > 7 && currentPage < pageCount - 3\"\n [ngClass]=\"bem.element('fast-navigator')\"\n aui-button\n [disabled]=\"disabled\"\n (click)=\"navigate(5)\"\n >\n <aui-icon icon=\"ellipsis_s\"></aui-icon>\n <aui-icon icon=\"angles_right\"></aui-icon>\n </button>\n <button\n *ngIf=\"pageCount > 1\"\n [ngClass]=\"bem.element('page')\"\n [aui-button]=\"currentPage === pageCount ? 'primary' : 'default'\"\n [plain]=\"!(currentPage === pageCount)\"\n [disabled]=\"disabled\"\n (click)=\"jumpTo(pageCount)\"\n >\n {{ pageCount }}\n </button>\n <button\n aui-button\n [ngClass]=\"bem.element('navigator')\"\n [disabled]=\"disabled || currentPage >= pageCount\"\n (click)=\"navigate(1)\"\n >\n <aui-icon icon=\"angle_right\"></aui-icon>\n </button>\n </div>\n <div\n *ngIf=\"layout === 'total'\"\n [class]=\"bem.element('total')\"\n >\n {{ intl.getTotalLabel(total) }}\n </div>\n <div\n *ngIf=\"layout === 'sizes'\"\n [class]=\"bem.element('sizes')\"\n >\n <aui-select\n [disabled]=\"disabled\"\n [value]=\"pageSize\"\n [filterable]=\"false\"\n (valueChange)=\"changePageSize($event)\"\n >\n <aui-option\n *ngFor=\"let size of pageSizeOptions\"\n [value]=\"size\"\n >\n {{ size }}\n </aui-option>\n </aui-select>\n <span>{{ intl.itemsPerPageLabel }}</span>\n </div>\n <div\n *ngIf=\"layout === 'jumper'\"\n [class]=\"bem.element('jumper')\"\n >\n <span *ngIf=\"intl.jumperLabelPrefix\">{{ intl.jumperLabelPrefix }}</span>\n <input\n aui-input\n type=\"number\"\n min=\"1\"\n [max]=\"pageCount\"\n [value]=\"currentPage\"\n [disabled]=\"disabled\"\n (keydown)=\"onKeydown($event)\"\n />\n <span *ngIf=\"intl.jumperLabelSuffix\">{{ intl.jumperLabelSuffix }}</span>\n </div>\n <div\n *ngIf=\"layout === 'content'\"\n [class]=\"bem.element('content')\"\n >\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n", styles: [".aui-paginator{display:inline-flex;align-items:center;white-space:nowrap;font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);font-weight:var(--aui-font-weight-normal)}.aui-paginator .aui-button{width:var(--aui-line-height-xl);height:var(--aui-line-height-xl);border:unset}.aui-paginator .aui-button--default{background-color:transparent}.aui-paginator .aui-button .aui-button__content{padding:unset}.aui-paginator__fast-navigator[hidden]{display:none}.aui-paginator__fast-navigator .aui-icon{margin:0}.aui-paginator__fast-navigator aui-icon:last-child{display:none}.aui-paginator__fast-navigator:hover aui-icon:first-child{display:none}.aui-paginator__fast-navigator:hover aui-icon:last-child{display:inline}.aui-paginator__sizes{display:inline-flex;align-items:center}.aui-paginator__sizes .aui-select{width:80px;margin-right:var(--aui-spacing-s)}.aui-paginator__jumper .aui-input{width:80px}.aui-paginator__jumper span+input{margin-left:var(--aui-spacing-m)}.aui-paginator__jumper input+span{margin-left:var(--aui-spacing-s)}.aui-paginator__navigator.aui-button{background-color:rgb(var(--aui-color-n-8))}.aui-paginator__navigator.aui-button aui-icon{font-size:var(--aui-icon-size-m)}.aui-paginator__navigator.aui-button:hover{background-color:rgb(var(--aui-color-p-6))}.aui-paginator__pager{border:1px solid rgb(var(--aui-color-n-7));padding:3px;border-radius:var(--aui-border-radius-m);background-color:rgb(var(--aui-color-main-bg))}.aui-paginator__layout{display:inline-block}.aui-paginator__layout+.aui-paginator__layout{margin-left:var(--aui-spacing-l)}\n"] }]
116
+ args: [{ selector: 'aui-paginator', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, template: "<div [class]=\"bem.block()\">\n <div\n *ngFor=\"let layout of getLayoutArr()\"\n [class]=\"bem.element('layout')\"\n >\n <div\n *ngIf=\"layout === 'pager'\"\n [class]=\"bem.element('pager')\"\n >\n <button\n [ngClass]=\"bem.element('navigator')\"\n aui-button\n [disabled]=\"disabled || currentPage <= 1\"\n (click)=\"navigate(-1)\"\n >\n <aui-icon icon=\"angle_left\"></aui-icon>\n </button>\n <button\n [ngClass]=\"bem.element('page')\"\n [aui-button]=\"currentPage === 1 ? 'primary' : 'default'\"\n [plain]=\"!(currentPage === 1)\"\n [disabled]=\"disabled\"\n (click)=\"jumpTo(1)\"\n >\n 1\n </button>\n <button\n *ngIf=\"pageCount > 7 && currentPage > 4\"\n [ngClass]=\"bem.element('fast-navigator')\"\n aui-button\n [disabled]=\"disabled\"\n (click)=\"navigate(-5)\"\n >\n <aui-icon icon=\"ellipsis_s\"></aui-icon>\n <aui-icon icon=\"angles_left\"></aui-icon>\n </button>\n <button\n *ngFor=\"let page of getCenterPages(); trackBy: trackByIndex\"\n [ngClass]=\"bem.element('page')\"\n [aui-button]=\"currentPage === page ? 'primary' : 'default'\"\n [plain]=\"!(currentPage === page)\"\n [disabled]=\"disabled\"\n (click)=\"jumpTo(page)\"\n >\n {{ page }}\n </button>\n <button\n *ngIf=\"pageCount > 7 && currentPage < pageCount - 3\"\n [ngClass]=\"bem.element('fast-navigator')\"\n aui-button\n [disabled]=\"disabled\"\n (click)=\"navigate(5)\"\n >\n <aui-icon icon=\"ellipsis_s\"></aui-icon>\n <aui-icon icon=\"angles_right\"></aui-icon>\n </button>\n <button\n *ngIf=\"pageCount > 1\"\n [ngClass]=\"bem.element('page')\"\n [aui-button]=\"currentPage === pageCount ? 'primary' : 'default'\"\n [plain]=\"!(currentPage === pageCount)\"\n [disabled]=\"disabled\"\n (click)=\"jumpTo(pageCount)\"\n >\n {{ pageCount }}\n </button>\n <button\n aui-button\n [ngClass]=\"bem.element('navigator')\"\n [disabled]=\"disabled || currentPage >= pageCount\"\n (click)=\"navigate(1)\"\n >\n <aui-icon icon=\"angle_right\"></aui-icon>\n </button>\n </div>\n <div\n *ngIf=\"layout === 'total'\"\n [class]=\"bem.element('total')\"\n >\n {{ intl.getTotalLabel(total) }}\n </div>\n <div\n *ngIf=\"layout === 'sizes'\"\n [class]=\"bem.element('sizes')\"\n >\n <aui-select\n [disabled]=\"disabled\"\n [value]=\"pageSize\"\n [filterable]=\"false\"\n (valueChange)=\"changePageSize($event)\"\n >\n <aui-option\n *ngFor=\"let size of pageSizeOptions\"\n [value]=\"size\"\n >\n {{ size }}\n </aui-option>\n </aui-select>\n <span>{{ intl.itemsPerPageLabel }}</span>\n </div>\n <div\n *ngIf=\"layout === 'jumper'\"\n [class]=\"bem.element('jumper')\"\n >\n <span *ngIf=\"intl.jumperLabelPrefix\">{{ intl.jumperLabelPrefix }}</span>\n <input\n aui-input\n type=\"number\"\n min=\"1\"\n [max]=\"pageCount\"\n [value]=\"currentPage\"\n [disabled]=\"disabled\"\n (keydown)=\"onKeydown($event)\"\n />\n <span *ngIf=\"intl.jumperLabelSuffix\">{{ intl.jumperLabelSuffix }}</span>\n </div>\n <div\n *ngIf=\"layout === 'content'\"\n [class]=\"bem.element('content')\"\n >\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n", styles: [".aui-paginator{display:inline-flex;align-items:center;white-space:nowrap;font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);font-weight:var(--aui-font-weight-normal)}.aui-paginator .aui-button{width:var(--aui-line-height-xl);height:var(--aui-line-height-xl);border:unset}.aui-paginator .aui-button--default{background-color:transparent}.aui-paginator .aui-button .aui-button__content{padding:unset}.aui-paginator__fast-navigator[hidden]{display:none}.aui-paginator__fast-navigator .aui-icon{margin:0}.aui-paginator__fast-navigator aui-icon:last-child{display:none}.aui-paginator__fast-navigator:hover aui-icon:first-child{display:none}.aui-paginator__fast-navigator:hover aui-icon:last-child{display:inline}.aui-paginator__sizes{display:inline-flex;align-items:center}.aui-paginator__sizes .aui-select{width:80px;margin-right:var(--aui-spacing-s)}.aui-paginator__jumper .aui-input{width:80px}.aui-paginator__jumper span+input{margin-left:var(--aui-spacing-m)}.aui-paginator__jumper input+span{margin-left:var(--aui-spacing-s)}.aui-paginator__navigator.aui-button{background-color:rgb(var(--aui-color-n-8))}.aui-paginator__navigator.aui-button aui-icon{font-size:var(--aui-icon-size-m)}.aui-paginator__navigator.aui-button:hover:not([disabled]){background-color:rgb(var(--aui-color-p-6))}.aui-paginator__pager{border:1px solid rgb(var(--aui-color-n-7));padding:3px;border-radius:var(--aui-border-radius-m);background-color:rgb(var(--aui-color-main-bg))}.aui-paginator__layout{display:inline-block}.aui-paginator__layout+.aui-paginator__layout{margin-left:var(--aui-spacing-l)}\n"] }]
103
117
  }], ctorParameters: function () { return [{ type: i1.PaginatorIntl }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { pageIndex: [{
104
118
  type: Input
105
119
  }], currentPage: [{
@@ -116,9 +130,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImpor
116
130
  type: Input
117
131
  }], disabled: [{
118
132
  type: Input
133
+ }], pageIndexChange: [{
134
+ type: Output
119
135
  }], currentPageChange: [{
120
136
  type: Output
121
137
  }], pageSizeChange: [{
122
138
  type: Output
123
139
  }] } });
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdpbmF0b3IvcGFnaW5hdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL3NyYy9wYWdpbmF0b3IvcGFnaW5hdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQU8sUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDOzs7Ozs7Ozs7QUFTekMsTUFBTSxPQUFPLFNBQVM7SUFFcEIsU0FBUyxDQUFTO0lBS2xCLGlCQUFpQixDQUFTO0lBRzFCLFFBQVEsQ0FBUztJQUdqQixNQUFNLENBQVM7Q0FDaEI7QUFVRCxNQUFNLE9BQU8sa0JBQWtCO0lBdURwQjtJQUNVO0lBdkRuQixHQUFHLEdBQVEsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBRXJDLElBQ0ksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQUksU0FBUyxDQUFDLEdBQUc7UUFDZixJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUdELFdBQVcsR0FBRyxDQUFDLENBQUM7SUFHaEIsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUdkLGVBQWUsR0FBYSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFHMUMsS0FBSyxHQUFHLENBQUMsQ0FBQztJQUtWLElBQ0ksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRUQsSUFBSSxNQUFNLENBQUMsR0FBRztRQUNaLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxD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LEVBQUUsQ0FBQyxDQUFDO1lBQzdDLElBQUksUUFBUSxHQUFHLENBQUMsSUFBSSxRQUFRLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtnQkFDOUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUN2QjtpQkFBTTtnQkFDTCxPQUFPLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO2FBQ3ZDO1lBQ0QsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3hCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUN4QjtJQUNILENBQUM7SUFFRCxZQUFZLENBQUMsS0FBYTtRQUN4QixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7dUdBcEhVLGtCQUFrQjsyRkFBbEIsa0JBQWtCLGdWQzdDL0IsMG1IQTRIQTs7MkZEL0VhLGtCQUFrQjtrQkFSOUIsU0FBUzsrQkFDRSxlQUFlLG1CQUdSLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksdUJBQ2hCLEtBQUs7b0lBTXRCLFNBQVM7c0JBRFosS0FBSztnQkFVTixXQUFXO3NCQURWLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLGVBQWU7c0JBRGQsS0FBSztnQkFJTixLQUFLO3NCQURKLEtBQUs7Z0JBT0YsTUFBTTtzQkFEVCxLQUFLO2dCQVVOLE1BQU07c0JBREwsS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBSUcsaUJBQWlCO3NCQUR6QixNQUFNO2dCQUlFLGNBQWM7c0JBRHRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBCZW0sIGJ1aWxkQmVtIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5pbXBvcnQgeyBQYWdpbmF0b3JJbnRsIH0gZnJvbSAnLi9wYWdpbmF0b3ItaW50bCc7XG5cbi8qKlxuICogQ2hhbmdlIGV2ZW50IG9iamVjdCB0aGF0IGlzIGVtaXR0ZWQgd2hlbiB0aGUgdXNlciBzZWxlY3RzIGFcbiAqIGRpZmZlcmVudCBwYWdlIHNpemUgb3IgbmF2aWdhdGVzIHRvIGFub3RoZXIgcGFnZS5cbiAqIEBkZXByZWNhdGVkIHVzZSBPdXRwdXQgZXZlbnRzIGRpcmVjdGx5IGluc3RlYWRcbiAqL1xuZXhwb3J0IGNsYXNzIFBhZ2VFdmVudCB7XG4gIC8qKiBUaGUgY3VycmVudCBwYWdlIGluZGV4LiAqL1xuICBwYWdlSW5kZXg6IG51bWJlcjtcblxuICAvKipcbiAgICogSW5kZXggb2YgdGhlIHBhZ2UgdGhhdCB3YXMgc2VsZWN0ZWQgcHJldmlvdXNseS5cbiAgICovXG4gIHByZXZpb3VzUGFnZUluZGV4OiBudW1iZXI7XG5cbiAgLyoqIFRoZSBjdXJyZW50IHBhZ2Ugc2l6ZSAqL1xuICBwYWdlU2l6ZTogbnVtYmVyO1xuXG4gIC8qKiBUaGUgY3VycmVudCB0b3RhbCBudW1iZXIgb2YgaXRlbXMgYmVpbmcgcGFnZWQgKi9cbiAgbGVuZ3RoOiBudW1iZXI7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F1aS1wYWdpbmF0b3InLFxuICB0ZW1wbGF0ZVVybDogJ3BhZ2luYXRvci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWydwYWdpbmF0b3IuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBQYWdpbmF0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBiZW06IEJlbSA9IGJ1aWxkQmVtKCdhdWktcGFnaW5hdG9yJyk7XG5cbiAgQElucHV0KClcbiAgZ2V0IHBhZ2VJbmRleCgpIHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50UGFnZSAtIDE7XG4gIH1cblxuICBzZXQgcGFnZUluZGV4KHZhbCkge1xuICAgIHRoaXMuY3VycmVudFBhZ2UgPSB2YWwgKyAxO1xuICB9XG5cbiAgQElucHV0KClcbiAgY3VycmVudFBhZ2UgPSAxO1xuXG4gIEBJbnB1dCgpXG4gIHBhZ2VTaXplID0gMjA7XG5cbiAgQElucHV0KClcbiAgcGFnZVNpemVPcHRpb25zOiBudW1iZXJbXSA9IFsyMCwgNTAsIDEwMF07XG5cbiAgQElucHV0KClcbiAgdG90YWwgPSAwO1xuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCB1c2UgYHRvdGFsYCBpbnN0ZWFkXG4gICAqL1xuICBASW5wdXQoKVxuICBnZXQgbGVuZ3RoKCkge1xuICAgIHJldHVybiB0aGlzLnRvdGFsO1xuICB9XG5cbiAgc2V0IGxlbmd0aCh2YWwpIHtcbiAgICB0aGlzLnRvdGFsID0gdmFsO1xuICB9XG5cbiAgQElucHV0KClcbiAgbGF5b3V0OiBzdHJpbmcgfCBzdHJpbmdbXSA9ICd0b3RhbCxwYWdlcixzaXplcyc7XG5cbiAgQElucHV0KClcbiAgZGlzYWJsZWQgPSBmYWxzZTtcblxuICBAT3V0cHV0KClcbiAgcmVhZG9ubHkgY3VycmVudFBhZ2VDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICBAT3V0cHV0KClcbiAgcmVhZG9ubHkgcGFnZVNpemVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGludGxDaGFuZ2VTdWI6IFN1YnNjcmlwdGlvbjtcblxuICBnZXQgcGFnZUNvdW50KCkge1xuICAgIHJldHVybiBNYXRoLmNlaWwodGhpcy50b3RhbCAvIHRoaXMucGFnZVNpemUpO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGludGw6IFBhZ2luYXRvckludGwsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICApIHtcbiAgICB0aGlzLmludGxDaGFuZ2VTdWIgPSBpbnRsLmNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuaW50bENoYW5nZVN1Yi51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgZ2V0TGF5b3V0QXJyKCkge1xuICAgIHJldHVybiB0eXBlb2YgdGhpcy5sYXlvdXQgPT09ICdzdHJpbmcnXG4gICAgICA/IHRoaXMubGF5b3V0LnNwbGl0KCcsJykubWFwKGl0ZW0gPT4gaXRlbS50cmltKCkpXG4gICAgICA6IHRoaXMubGF5b3V0O1xuICB9XG5cbiAgZ2V0Q2VudGVyUGFnZXMoKSB7XG4gICAgY29uc3Qgc3RhcnQgPSBNYXRoLm1pbihcbiAgICAgIE1hdGgubWF4KDAsIHRoaXMuY3VycmVudFBhZ2UgLSA0KSxcbiAgICAgIE1hdGgubWF4KDAsIHRoaXMucGFnZUNvdW50IC0gNyksXG4gICAgKTtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh7IGxlbmd0aDogTWF0aC5tYXgodGhpcy5wYWdlQ291bnQgLSAyLCAwKSB9KVxuICAgICAgLmZpbGwobnVsbClcbiAgICAgIC5tYXAoKF8sIGluZGV4KSA9PiBpbmRleCArIDIpXG4gICAgICAuc2xpY2Uoc3RhcnQsIHN0YXJ0ICsgNSk7XG4gIH1cblxuICBqdW1wVG8ocGFnZTogbnVtYmVyKSB7XG4gICAgaWYgKHBhZ2UgPT09IHRoaXMuY3VycmVudFBhZ2UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5jdXJyZW50UGFnZUNoYW5nZS5lbWl0KHBhZ2UpO1xuICB9XG5cbiAgbmF2aWdhdGUoc3RlcDogbnVtYmVyKSB7XG4gICAgdGhpcy5qdW1wVG8oTWF0aC5taW4oTWF0aC5tYXgodGhpcy5jdXJyZW50UGFnZSArIHN0ZXAsIDEpLCB0aGlzLnBhZ2VDb3VudCkpO1xuICB9XG5cbiAgY2hhbmdlUGFnZVNpemUoc2l6ZTogbnVtYmVyKSB7XG4gICAgaWYgKHNpemUgPT09IHRoaXMucGFnZVNpemUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5wYWdlU2l6ZUNoYW5nZS5lbWl0KHNpemUpO1xuICB9XG5cbiAgb25LZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJykge1xuICAgICAgY29uc3QgaW5wdXRFbCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgICAgY29uc3QgbmV4dFBhZ2UgPSBwYXJzZUludChpbnB1dEVsLnZhbHVlLCAxMCk7XG4gICAgICBpZiAobmV4dFBhZ2UgPiAwICYmIG5leHRQYWdlIDw9IHRoaXMucGFnZUNvdW50KSB7XG4gICAgICAgIHRoaXMuanVtcFRvKG5leHRQYWdlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlucHV0RWwudmFsdWUgPSB0aGlzLmN1cnJlbnRQYWdlICsgJyc7XG4gICAgICB9XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuICB9XG5cbiAgdHJhY2tCeUluZGV4KGluZGV4OiBudW1iZXIpIHtcbiAgICByZXR1cm4gaW5kZXg7XG4gIH1cbn1cbiIsIjxkaXYgW2NsYXNzXT1cImJlbS5ibG9jaygpXCI+XG4gIDxkaXZcbiAgICAqbmdGb3I9XCJsZXQgbGF5b3V0IG9mIGdldExheW91dEFycigpXCJcbiAgICBbY2xhc3NdPVwiYmVtLmVsZW1lbnQoJ2xheW91dCcpXCJcbiAgPlxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwibGF5b3V0ID09PSAncGFnZXInXCJcbiAgICAgIFtjbGFzc109XCJiZW0uZWxlbWVudCgncGFnZXInKVwiXG4gICAgPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBbbmdDbGFzc109XCJiZW0uZWxlbWVudCgnbmF2aWdhdG9yJylcIlxuICAgICAgICBhdWktYnV0dG9uXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCB8fCBjdXJyZW50UGFnZSA8PSAxXCJcbiAgICAgICAgKGNsaWNrKT1cIm5hdmlnYXRlKC0xKVwiXG4gICAgICA+XG4gICAgICAgIDxhdWktaWNvbiBpY29uPVwiYW5nbGVfbGVmdFwiPjwvYXVpLWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgW25nQ2xhc3NdPVwiYmVtLmVsZW1lbnQoJ3BhZ2UnKVwiXG4gICAgICAgIFthdWktYnV0dG9uXT1cImN1cnJlbnRQYWdlID09PSAxID8gJ3ByaW1hcnknIDogJ2RlZmF1bHQnXCJcbiAgICAgICAgW3BsYWluXT1cIiEoY3VycmVudFBhZ2UgPT09IDEpXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgKGNsaWNrKT1cImp1bXBUbygxKVwiXG4gICAgICA+XG4gICAgICAgIDFcbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvblxuICAgICAgICAqbmdJZj1cInBhZ2VDb3VudCA+IDcgJiYgY3VycmVudFBhZ2UgPiA0XCJcbiAgICAgICAgW25nQ2xhc3NdPVwiYmVtLmVsZW1lbnQoJ2Zhc3QtbmF2aWdhdG9yJylcIlxuICAgICAgICBhdWktYnV0dG9uXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIChjbGljayk9XCJuYXZpZ2F0ZSgtNSlcIlxuICAgICAgPlxuICAgICAgICA8YXVpLWljb24gaWNvbj1cImVsbGlwc2lzX3NcIj48L2F1aS1pY29uPlxuICAgICAgICA8YXVpLWljb24gaWNvbj1cImFuZ2xlc19sZWZ0XCI+PC9hdWktaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvblxuICAgICAgICAqbmdGb3I9XCJsZXQgcGFnZSBvZiBnZXRDZW50ZXJQYWdlcygpOyB0cmFja0J5OiB0cmFja0J5SW5kZXhcIlxuICAgICAgICBbbmdDbGFzc109XCJiZW0uZWxlbWVudCgncGFnZScpXCJcbiAgICAgICAgW2F1aS1idXR0b25dPVwiY3VycmVudFBhZ2UgPT09IHBhZ2UgPyAncHJpbWFyeScgOiAnZGVmYXVsdCdcIlxuICAgICAgICBbcGxhaW5dPVwiIShjdXJyZW50UGFnZSA9PT0gcGFnZSlcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAoY2xpY2spPVwianVtcFRvKHBhZ2UpXCJcbiAgICAgID5cbiAgICAgICAge3sgcGFnZSB9fVxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uXG4gICAgICAgICpuZ0lmPVwicGFnZUNvdW50ID4gNyAmJiBjdXJyZW50UGFnZSA8IHBhZ2VDb3VudCAtIDNcIlxuICAgICAgICBbbmdDbGFzc109XCJiZW0uZWxlbWVudCgnZmFzdC1uYXZpZ2F0b3InKVwiXG4gICAgICAgIGF1aS1idXR0b25cbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgKGNsaWNrKT1cIm5hdmlnYXRlKDUpXCJcbiAgICAgID5cbiAgICAgICAgPGF1aS1pY29uIGljb249XCJlbGxpcHNpc19zXCI+PC9hdWktaWNvbj5cbiAgICAgICAgPGF1aS1pY29uIGljb249XCJhbmdsZXNfcmlnaHRcIj48L2F1aS1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uXG4gICAgICAgICpuZ0lmPVwicGFnZUNvdW50ID4gMVwiXG4gICAgICAgIFtuZ0NsYXNzXT1cImJlbS5lbGVtZW50KCdwYWdlJylcIlxuICAgICAgICBbYXVpLWJ1dHRvbl09XCJjdXJyZW50UGFnZSA9PT0gcGFnZUNvdW50ID8gJ3ByaW1hcnknIDogJ2RlZmF1bHQnXCJcbiAgICAgICAgW3BsYWluXT1cIiEoY3VycmVudFBhZ2UgPT09IHBhZ2VDb3VudClcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAoY2xpY2spPVwianVtcFRvKHBhZ2VDb3VudClcIlxuICAgICAgPlxuICAgICAgICB7eyBwYWdlQ291bnQgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBhdWktYnV0dG9uXG4gICAgICAgIFtuZ0NsYXNzXT1cImJlbS5lbGVtZW50KCduYXZpZ2F0b3InKVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCB8fCBjdXJyZW50UGFnZSA+PSBwYWdlQ291bnRcIlxuICAgICAgICAoY2xpY2spPVwibmF2aWdhdGUoMSlcIlxuICAgICAgPlxuICAgICAgICA8YXVpLWljb24gaWNvbj1cImFuZ2xlX3JpZ2h0XCI+PC9hdWktaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwibGF5b3V0ID09PSAndG90YWwnXCJcbiAgICAgIFtjbGFzc109XCJiZW0uZWxlbWVudCgndG90YWwnKVwiXG4gICAgPlxuICAgICAge3sgaW50bC5nZXRUb3RhbExhYmVsKHRvdGFsKSB9fVxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwibGF5b3V0ID09PSAnc2l6ZXMnXCJcbiAgICAgIFtjbGFzc109XCJiZW0uZWxlbWVudCgnc2l6ZXMnKVwiXG4gICAgPlxuICAgICAgPGF1aS1zZWxlY3RcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgW3ZhbHVlXT1cInBhZ2VTaXplXCJcbiAgICAgICAgW2ZpbHRlcmFibGVdPVwiZmFsc2VcIlxuICAgICAgICAodmFsdWVDaGFuZ2UpPVwiY2hhbmdlUGFnZVNpemUoJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICAgIDxhdWktb3B0aW9uXG4gICAgICAgICAgKm5nRm9yPVwibGV0IHNpemUgb2YgcGFnZVNpemVPcHRpb25zXCJcbiAgICAgICAgICBbdmFsdWVdPVwic2l6ZVwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyBzaXplIH19XG4gICAgICAgIDwvYXVpLW9wdGlvbj5cbiAgICAgIDwvYXVpLXNlbGVjdD5cbiAgICAgIDxzcGFuPnt7IGludGwuaXRlbXNQZXJQYWdlTGFiZWwgfX08L3NwYW4+XG4gICAgPC9kaXY+XG4gICAgPGRpdlxuICAgICAgKm5nSWY9XCJsYXlvdXQgPT09ICdqdW1wZXInXCJcbiAgICAgIFtjbGFzc109XCJiZW0uZWxlbWVudCgnanVtcGVyJylcIlxuICAgID5cbiAgICAgIDxzcGFuICpuZ0lmPVwiaW50bC5qdW1wZXJMYWJlbFByZWZpeFwiPnt7IGludGwuanVtcGVyTGFiZWxQcmVmaXggfX08L3NwYW4+XG4gICAgICA8aW5wdXRcbiAgICAgICAgYXVpLWlucHV0XG4gICAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgICBtaW49XCIxXCJcbiAgICAgICAgW21heF09XCJwYWdlQ291bnRcIlxuICAgICAgICBbdmFsdWVdPVwiY3VycmVudFBhZ2VcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAoa2V5ZG93bik9XCJvbktleWRvd24oJGV2ZW50KVwiXG4gICAgICAvPlxuICAgICAgPHNwYW4gKm5nSWY9XCJpbnRsLmp1bXBlckxhYmVsU3VmZml4XCI+e3sgaW50bC5qdW1wZXJMYWJlbFN1ZmZpeCB9fTwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cImxheW91dCA9PT0gJ2NvbnRlbnQnXCJcbiAgICAgIFtjbGFzc109XCJiZW0uZWxlbWVudCgnY29udGVudCcpXCJcbiAgICA+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdpbmF0b3IvcGFnaW5hdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL3NyYy9wYWdpbmF0b3IvcGFnaW5hdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQU8sUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDOzs7Ozs7Ozs7QUFTekMsTUFBTSxPQUFPLFNBQVM7SUFFcEIsU0FBUyxDQUFTO0lBS2xCLGlCQUFpQixDQUFTO0lBRzFCLFFBQVEsQ0FBUztJQUdqQixNQUFNLENBQVM7Q0FDaEI7QUFVRCxNQUFNLE9BQU8sa0JBQWtCO0lBc0VwQjtJQUNVO0lBdEVuQixHQUFHLEdBQVEsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBRXJDLElBQ0ksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUNELElBQUksU0FBUyxDQUFDLEdBQUc7UUFDZixJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQ0ksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBQ0QsSUFBSSxXQUFXLENBQUMsR0FBRztRQUNqQixJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsR0FBRyxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUNJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUNELElBQUksUUFBUSxDQUFDLEdBQUc7UUFDZCxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMs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ZTtzQkFEZCxLQUFLO2dCQUlOLEtBQUs7c0JBREosS0FBSztnQkFPRixNQUFNO3NCQURULEtBQUs7Z0JBVU4sTUFBTTtzQkFETCxLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkFJRyxlQUFlO3NCQUR2QixNQUFNO2dCQUlFLGlCQUFpQjtzQkFEekIsTUFBTTtnQkFJRSxjQUFjO3NCQUR0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQmVtLCBidWlsZEJlbSB9IGZyb20gJy4uL3V0aWxzJztcblxuaW1wb3J0IHsgUGFnaW5hdG9ySW50bCB9IGZyb20gJy4vcGFnaW5hdG9yLWludGwnO1xuXG4vKipcbiAqIENoYW5nZSBldmVudCBvYmplY3QgdGhhdCBpcyBlbWl0dGVkIHdoZW4gdGhlIHVzZXIgc2VsZWN0cyBhXG4gKiBkaWZmZXJlbnQgcGFnZSBzaXplIG9yIG5hdmlnYXRlcyB0byBhbm90aGVyIHBhZ2UuXG4gKiBAZGVwcmVjYXRlZCB1c2UgT3V0cHV0IGV2ZW50cyBkaXJlY3RseSBpbnN0ZWFkXG4gKi9cbmV4cG9ydCBjbGFzcyBQYWdlRXZlbnQge1xuICAvKiogVGhlIGN1cnJlbnQgcGFnZSBpbmRleC4gKi9cbiAgcGFnZUluZGV4OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEluZGV4IG9mIHRoZSBwYWdlIHRoYXQgd2FzIHNlbGVjdGVkIHByZXZpb3VzbHkuXG4gICAqL1xuICBwcmV2aW91c1BhZ2VJbmRleDogbnVtYmVyO1xuXG4gIC8qKiBUaGUgY3VycmVudCBwYWdlIHNpemUgKi9cbiAgcGFnZVNpemU6IG51bWJlcjtcblxuICAvKiogVGhlIGN1cnJlbnQgdG90YWwgbnVtYmVyIG9mIGl0ZW1zIGJlaW5nIHBhZ2VkICovXG4gIGxlbmd0aDogbnVtYmVyO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdWktcGFnaW5hdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICdwYWdpbmF0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsncGFnaW5hdG9yLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgUGFnaW5hdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgYmVtOiBCZW0gPSBidWlsZEJlbSgnYXVpLXBhZ2luYXRvcicpO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBwYWdlSW5kZXgoKSB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFBhZ2UgLSAxO1xuICB9XG4gIHNldCBwYWdlSW5kZXgodmFsKSB7XG4gICAgdGhpcy5jdXJyZW50UGFnZSA9IHZhbCArIDE7XG4gIH1cblxuICBASW5wdXQoKVxuICBnZXQgY3VycmVudFBhZ2UoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2N1cnJlbnRQYWdlO1xuICB9XG4gIHNldCBjdXJyZW50UGFnZSh2YWwpIHtcbiAgICB0aGlzLl9jdXJyZW50UGFnZSA9ICt2YWw7XG4gIH1cblxuICBASW5wdXQoKVxuICBnZXQgcGFnZVNpemUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3BhZ2VTaXplO1xuICB9XG4gIHNldCBwYWdlU2l6ZSh2YWwpIHtcbiAgICB0aGlzLl9wYWdlU2l6ZSA9ICt2YWw7XG4gIH1cblxuICBASW5wdXQoKVxuICBwYWdlU2l6ZU9wdGlvbnM6IG51bWJlcltdID0gWzIwLCA1MCwgMTAwXTtcblxuICBASW5wdXQoKVxuICB0b3RhbCA9IDA7XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIHVzZSBgdG90YWxgIGluc3RlYWRcbiAgICovXG4gIEBJbnB1dCgpXG4gIGdldCBsZW5ndGgoKSB7XG4gICAgcmV0dXJuIHRoaXMudG90YWw7XG4gIH1cblxuICBzZXQgbGVuZ3RoKHZhbCkge1xuICAgIHRoaXMudG90YWwgPSB2YWw7XG4gIH1cblxuICBASW5wdXQoKVxuICBsYXlvdXQ6IHN0cmluZyB8IHN0cmluZ1tdID0gJ3RvdGFsLHBhZ2VyLHNpemVzJztcblxuICBASW5wdXQoKVxuICBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKVxuICByZWFkb25seSBwYWdlSW5kZXhDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICBAT3V0cHV0KClcbiAgcmVhZG9ubHkgY3VycmVudFBhZ2VDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICBAT3V0cHV0KClcbiAgcmVhZG9ubHkgcGFnZVNpemVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICBwcml2YXRlIF9jdXJyZW50UGFnZSA9IDE7XG4gIHByaXZhdGUgX3BhZ2VTaXplID0gMjA7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBpbnRsQ2hhbmdlU3ViOiBTdWJzY3JpcHRpb247XG5cbiAgZ2V0IHBhZ2VDb3VudCgpIHtcbiAgICByZXR1cm4gTWF0aC5jZWlsKHRoaXMudG90YWwgLyB0aGlzLnBhZ2VTaXplKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBpbnRsOiBQYWdpbmF0b3JJbnRsLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgKSB7XG4gICAgdGhpcy5pbnRsQ2hhbmdlU3ViID0gaW50bC5jaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmludGxDaGFuZ2VTdWIudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGdldExheW91dEFycigpIHtcbiAgICByZXR1cm4gdHlwZW9mIHRoaXMubGF5b3V0ID09PSAnc3RyaW5nJ1xuICAgICAgPyB0aGlzLmxheW91dC5zcGxpdCgnLCcpLm1hcChpdGVtID0+IGl0ZW0udHJpbSgpKVxuICAgICAgOiB0aGlzLmxheW91dDtcbiAgfVxuXG4gIGdldENlbnRlclBhZ2VzKCkge1xuICAgIGNvbnN0IHN0YXJ0ID0gTWF0aC5taW4oXG4gICAgICBNYXRoLm1heCgwLCB0aGlzLmN1cnJlbnRQYWdlIC0gNCksXG4gICAgICBNYXRoLm1heCgwLCB0aGlzLnBhZ2VDb3VudCAtIDcpLFxuICAgICk7XG4gICAgcmV0dXJuIEFycmF5LmZyb20oeyBsZW5ndGg6IE1hdGgubWF4KHRoaXMucGFnZUNvdW50IC0gMiwgMCkgfSlcbiAgICAgIC5maWxsKG51bGwpXG4gICAgICAubWFwKChfLCBpbmRleCkgPT4gaW5kZXggKyAyKVxuICAgICAgLnNsaWNlKHN0YXJ0LCBzdGFydCArIDUpO1xuICB9XG5cbiAganVtcFRvKHBhZ2U6IG51bWJlcikge1xuICAgIGlmIChwYWdlID09PSB0aGlzLmN1cnJlbnRQYWdlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMucGFnZUluZGV4Q2hhbmdlLmVtaXQocGFnZSAtIDEpO1xuICAgIHRoaXMuY3VycmVudFBhZ2VDaGFuZ2UuZW1pdChwYWdlKTtcbiAgfVxuXG4gIG5hdmlnYXRlKHN0ZXA6IG51bWJlcikge1xuICAgIHRoaXMuanVtcFRvKE1hdGgubWluKE1hdGgubWF4KHRoaXMuY3VycmVudFBhZ2UgKyBzdGVwLCAxKSwgdGhpcy5wYWdlQ291bnQpKTtcbiAgfVxuXG4gIGNoYW5nZVBhZ2VTaXplKHNpemU6IG51bWJlcikge1xuICAgIGlmIChzaXplID09PSB0aGlzLnBhZ2VTaXplKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMucGFnZVNpemVDaGFuZ2UuZW1pdChzaXplKTtcbiAgfVxuXG4gIG9uS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmIChldmVudC5rZXkgPT09ICdFbnRlcicpIHtcbiAgICAgIGNvbnN0IGlucHV0RWwgPSBldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICAgIGNvbnN0IG5leHRQYWdlID0gcGFyc2VJbnQoaW5wdXRFbC52YWx1ZSwgMTApO1xuICAgICAgaWYgKG5leHRQYWdlID4gMCAmJiBuZXh0UGFnZSA8PSB0aGlzLnBhZ2VDb3VudCkge1xuICAgICAgICB0aGlzLmp1bXBUbyhuZXh0UGFnZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpbnB1dEVsLnZhbHVlID0gdGhpcy5jdXJyZW50UGFnZSArICcnO1xuICAgICAgfVxuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbiAgfVxuXG4gIHRyYWNrQnlJbmRleChpbmRleDogbnVtYmVyKSB7XG4gICAgcmV0dXJuIGluZGV4O1xuICB9XG59XG4iLCI8ZGl2IFtjbGFzc109XCJiZW0uYmxvY2soKVwiPlxuICA8ZGl2XG4gICAgKm5nRm9yPVwibGV0IGxheW91dCBvZiBnZXRMYXlvdXRBcnIoKVwiXG4gICAgW2NsYXNzXT1cImJlbS5lbGVtZW50KCdsYXlvdXQnKVwiXG4gID5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cImxheW91dCA9PT0gJ3BhZ2VyJ1wiXG4gICAgICBbY2xhc3NdPVwiYmVtLmVsZW1lbnQoJ3BhZ2VyJylcIlxuICAgID5cbiAgICAgIDxidXR0b25cbiAgICAgICAgW25nQ2xhc3NdPVwiYmVtLmVsZW1lbnQoJ25hdmlnYXRvcicpXCJcbiAgICAgICAgYXVpLWJ1dHRvblxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgY3VycmVudFBhZ2UgPD0gMVwiXG4gICAgICAgIChjbGljayk9XCJuYXZpZ2F0ZSgtMSlcIlxuICAgICAgPlxuICAgICAgICA8YXVpLWljb24gaWNvbj1cImFuZ2xlX2xlZnRcIj48L2F1aS1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIFtuZ0NsYXNzXT1cImJlbS5lbGVtZW50KCdwYWdlJylcIlxuICAgICAgICBbYXVpLWJ1dHRvbl09XCJjdXJyZW50UGFnZSA9PT0gMSA/ICdwcmltYXJ5JyA6ICdkZWZhdWx0J1wiXG4gICAgICAgIFtwbGFpbl09XCIhKGN1cnJlbnRQYWdlID09PSAxKVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIChjbGljayk9XCJqdW1wVG8oMSlcIlxuICAgICAgPlxuICAgICAgICAxXG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgKm5nSWY9XCJwYWdlQ291bnQgPiA3ICYmIGN1cnJlbnRQYWdlID4gNFwiXG4gICAgICAgIFtuZ0NsYXNzXT1cImJlbS5lbGVtZW50KCdmYXN0LW5hdmlnYXRvcicpXCJcbiAgICAgICAgYXVpLWJ1dHRvblxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAoY2xpY2spPVwibmF2aWdhdGUoLTUpXCJcbiAgICAgID5cbiAgICAgICAgPGF1aS1pY29uIGljb249XCJlbGxpcHNpc19zXCI+PC9hdWktaWNvbj5cbiAgICAgICAgPGF1aS1pY29uIGljb249XCJhbmdsZXNfbGVmdFwiPjwvYXVpLWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgKm5nRm9yPVwibGV0IHBhZ2Ugb2YgZ2V0Q2VudGVyUGFnZXMoKTsgdHJhY2tCeTogdHJhY2tCeUluZGV4XCJcbiAgICAgICAgW25nQ2xhc3NdPVwiYmVtLmVsZW1lbnQoJ3BhZ2UnKVwiXG4gICAgICAgIFthdWktYnV0dG9uXT1cImN1cnJlbnRQYWdlID09PSBwYWdlID8gJ3ByaW1hcnknIDogJ2RlZmF1bHQnXCJcbiAgICAgICAgW3BsYWluXT1cIiEoY3VycmVudFBhZ2UgPT09IHBhZ2UpXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgKGNsaWNrKT1cImp1bXBUbyhwYWdlKVwiXG4gICAgICA+XG4gICAgICAgIHt7IHBhZ2UgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvblxuICAgICAgICAqbmdJZj1cInBhZ2VDb3VudCA+IDcgJiYgY3VycmVudFBhZ2UgPCBwYWdlQ291bnQgLSAzXCJcbiAgICAgICAgW25nQ2xhc3NdPVwiYmVtLmVsZW1lbnQoJ2Zhc3QtbmF2aWdhdG9yJylcIlxuICAgICAgICBhdWktYnV0dG9uXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIChjbGljayk9XCJuYXZpZ2F0ZSg1KVwiXG4gICAgICA+XG4gICAgICAgIDxhdWktaWNvbiBpY29uPVwiZWxsaXBzaXNfc1wiPjwvYXVpLWljb24+XG4gICAgICAgIDxhdWktaWNvbiBpY29uPVwiYW5nbGVzX3JpZ2h0XCI+PC9hdWktaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvblxuICAgICAgICAqbmdJZj1cInBhZ2VDb3VudCA+IDFcIlxuICAgICAgICBbbmdDbGFzc109XCJiZW0uZWxlbWVudCgncGFnZScpXCJcbiAgICAgICAgW2F1aS1idXR0b25dPVwiY3VycmVudFBhZ2UgPT09IHBhZ2VDb3VudCA/ICdwcmltYXJ5JyA6ICdkZWZhdWx0J1wiXG4gICAgICAgIFtwbGFpbl09XCIhKGN1cnJlbnRQYWdlID09PSBwYWdlQ291bnQpXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgKGNsaWNrKT1cImp1bXBUbyhwYWdlQ291bnQpXCJcbiAgICAgID5cbiAgICAgICAge3sgcGFnZUNvdW50IH19XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgYXVpLWJ1dHRvblxuICAgICAgICBbbmdDbGFzc109XCJiZW0uZWxlbWVudCgnbmF2aWdhdG9yJylcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgY3VycmVudFBhZ2UgPj0gcGFnZUNvdW50XCJcbiAgICAgICAgKGNsaWNrKT1cIm5hdmlnYXRlKDEpXCJcbiAgICAgID5cbiAgICAgICAgPGF1aS1pY29uIGljb249XCJhbmdsZV9yaWdodFwiPjwvYXVpLWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cImxheW91dCA9PT0gJ3RvdGFsJ1wiXG4gICAgICBbY2xhc3NdPVwiYmVtLmVsZW1lbnQoJ3RvdGFsJylcIlxuICAgID5cbiAgICAgIHt7IGludGwuZ2V0VG90YWxMYWJlbCh0b3RhbCkgfX1cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cImxheW91dCA9PT0gJ3NpemVzJ1wiXG4gICAgICBbY2xhc3NdPVwiYmVtLmVsZW1lbnQoJ3NpemVzJylcIlxuICAgID5cbiAgICAgIDxhdWktc2VsZWN0XG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIFt2YWx1ZV09XCJwYWdlU2l6ZVwiXG4gICAgICAgIFtmaWx0ZXJhYmxlXT1cImZhbHNlXCJcbiAgICAgICAgKHZhbHVlQ2hhbmdlKT1cImNoYW5nZVBhZ2VTaXplKCRldmVudClcIlxuICAgICAgPlxuICAgICAgICA8YXVpLW9wdGlvblxuICAgICAgICAgICpuZ0Zvcj1cImxldCBzaXplIG9mIHBhZ2VTaXplT3B0aW9uc1wiXG4gICAgICAgICAgW3ZhbHVlXT1cInNpemVcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgc2l6ZSB9fVxuICAgICAgICA8L2F1aS1vcHRpb24+XG4gICAgICA8L2F1aS1zZWxlY3Q+XG4gICAgICA8c3Bhbj57eyBpbnRsLml0ZW1zUGVyUGFnZUxhYmVsIH19PC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwibGF5b3V0ID09PSAnanVtcGVyJ1wiXG4gICAgICBbY2xhc3NdPVwiYmVtLmVsZW1lbnQoJ2p1bXBlcicpXCJcbiAgICA+XG4gICAgICA8c3BhbiAqbmdJZj1cImludGwuanVtcGVyTGFiZWxQcmVmaXhcIj57eyBpbnRsLmp1bXBlckxhYmVsUHJlZml4IH19PC9zcGFuPlxuICAgICAgPGlucHV0XG4gICAgICAgIGF1aS1pbnB1dFxuICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgbWluPVwiMVwiXG4gICAgICAgIFttYXhdPVwicGFnZUNvdW50XCJcbiAgICAgICAgW3ZhbHVlXT1cImN1cnJlbnRQYWdlXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgKGtleWRvd24pPVwib25LZXlkb3duKCRldmVudClcIlxuICAgICAgLz5cbiAgICAgIDxzcGFuICpuZ0lmPVwiaW50bC5qdW1wZXJMYWJlbFN1ZmZpeFwiPnt7IGludGwuanVtcGVyTGFiZWxTdWZmaXggfX08L3NwYW4+XG4gICAgPC9kaXY+XG4gICAgPGRpdlxuICAgICAgKm5nSWY9XCJsYXlvdXQgPT09ICdjb250ZW50J1wiXG4gICAgICBbY2xhc3NdPVwiYmVtLmVsZW1lbnQoJ2NvbnRlbnQnKVwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -2384,19 +2384,23 @@ class BackTopComponent {
2384
2384
  return target.scrollTop;
2385
2385
  }
2386
2386
  handleClick(event) {
2387
- this.smoothScrollToTop(300);
2387
+ this.scrollToTop(300);
2388
2388
  this.click.emit(event);
2389
2389
  }
2390
- smoothScrollToTop(duration) {
2391
- const scrollHeight = this.getTargetScrollTop(this._scrollTarget);
2392
- const scrollInterval = setInterval(() => {
2393
- if (this.getTargetScrollTop(this._scrollTarget) !== 0) {
2394
- this._scrollTarget.scrollBy(0, -Math.round(scrollHeight / (duration / 15)));
2390
+ scrollToTop(duration) {
2391
+ const startHeight = this.getTargetScrollTop(this._scrollTarget);
2392
+ let startTime;
2393
+ const scrollStep = (timestamp) => {
2394
+ if (!startTime) {
2395
+ startTime = timestamp;
2395
2396
  }
2396
- else {
2397
- clearInterval(scrollInterval);
2397
+ const scrollHeight = Math.max(startHeight - ((timestamp - startTime) / duration) * startHeight, 0);
2398
+ this._scrollTarget.scrollTo(0, scrollHeight);
2399
+ if (scrollHeight) {
2400
+ requestAnimationFrame(scrollStep);
2398
2401
  }
2399
- }, 15);
2402
+ };
2403
+ requestAnimationFrame(scrollStep);
2400
2404
  }
2401
2405
  getTarget(target) {
2402
2406
  const scrollTarget = (typeof target === 'string' && document.querySelector(target)) ||
@@ -8286,8 +8290,18 @@ class PaginatorComponent {
8286
8290
  set pageIndex(val) {
8287
8291
  this.currentPage = val + 1;
8288
8292
  }
8289
- currentPage = 1;
8290
- pageSize = 20;
8293
+ get currentPage() {
8294
+ return this._currentPage;
8295
+ }
8296
+ set currentPage(val) {
8297
+ this._currentPage = +val;
8298
+ }
8299
+ get pageSize() {
8300
+ return this._pageSize;
8301
+ }
8302
+ set pageSize(val) {
8303
+ this._pageSize = +val;
8304
+ }
8291
8305
  pageSizeOptions = [20, 50, 100];
8292
8306
  total = 0;
8293
8307
  get length() {
@@ -8298,8 +8312,11 @@ class PaginatorComponent {
8298
8312
  }
8299
8313
  layout = 'total,pager,sizes';
8300
8314
  disabled = false;
8315
+ pageIndexChange = new EventEmitter();
8301
8316
  currentPageChange = new EventEmitter();
8302
8317
  pageSizeChange = new EventEmitter();
8318
+ _currentPage = 1;
8319
+ _pageSize = 20;
8303
8320
  intlChangeSub;
8304
8321
  get pageCount() {
8305
8322
  return Math.ceil(this.total / this.pageSize);
@@ -8328,6 +8345,7 @@ class PaginatorComponent {
8328
8345
  if (page === this.currentPage) {
8329
8346
  return;
8330
8347
  }
8348
+ this.pageIndexChange.emit(page - 1);
8331
8349
  this.currentPageChange.emit(page);
8332
8350
  }
8333
8351
  navigate(step) {
@@ -8357,11 +8375,11 @@ class PaginatorComponent {
8357
8375
  return index;
8358
8376
  }
8359
8377
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: PaginatorComponent, deps: [{ token: PaginatorIntl }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
8360
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.4", type: PaginatorComponent, selector: "aui-paginator", inputs: { pageIndex: "pageIndex", currentPage: "currentPage", pageSize: "pageSize", pageSizeOptions: "pageSizeOptions", total: "total", length: "length", layout: "layout", disabled: "disabled" }, outputs: { currentPageChange: "currentPageChange", pageSizeChange: "pageSizeChange" }, ngImport: i0, template: "<div [class]=\"bem.block()\">\n <div\n *ngFor=\"let layout of getLayoutArr()\"\n [class]=\"bem.element('layout')\"\n >\n <div\n *ngIf=\"layout === 'pager'\"\n [class]=\"bem.element('pager')\"\n >\n <button\n [ngClass]=\"bem.element('navigator')\"\n aui-button\n [disabled]=\"disabled || currentPage <= 1\"\n (click)=\"navigate(-1)\"\n >\n <aui-icon icon=\"angle_left\"></aui-icon>\n </button>\n <button\n [ngClass]=\"bem.element('page')\"\n [aui-button]=\"currentPage === 1 ? 'primary' : 'default'\"\n [plain]=\"!(currentPage === 1)\"\n [disabled]=\"disabled\"\n (click)=\"jumpTo(1)\"\n >\n 1\n </button>\n <button\n *ngIf=\"pageCount > 7 && currentPage > 4\"\n [ngClass]=\"bem.element('fast-navigator')\"\n aui-button\n [disabled]=\"disabled\"\n (click)=\"navigate(-5)\"\n >\n <aui-icon icon=\"ellipsis_s\"></aui-icon>\n <aui-icon icon=\"angles_left\"></aui-icon>\n </button>\n <button\n *ngFor=\"let page of getCenterPages(); trackBy: trackByIndex\"\n [ngClass]=\"bem.element('page')\"\n [aui-button]=\"currentPage === page ? 'primary' : 'default'\"\n [plain]=\"!(currentPage === page)\"\n [disabled]=\"disabled\"\n (click)=\"jumpTo(page)\"\n >\n {{ page }}\n </button>\n <button\n *ngIf=\"pageCount > 7 && currentPage < pageCount - 3\"\n [ngClass]=\"bem.element('fast-navigator')\"\n aui-button\n [disabled]=\"disabled\"\n (click)=\"navigate(5)\"\n >\n <aui-icon icon=\"ellipsis_s\"></aui-icon>\n <aui-icon icon=\"angles_right\"></aui-icon>\n </button>\n <button\n *ngIf=\"pageCount > 1\"\n [ngClass]=\"bem.element('page')\"\n [aui-button]=\"currentPage === pageCount ? 'primary' : 'default'\"\n [plain]=\"!(currentPage === pageCount)\"\n [disabled]=\"disabled\"\n (click)=\"jumpTo(pageCount)\"\n >\n {{ pageCount }}\n </button>\n <button\n aui-button\n [ngClass]=\"bem.element('navigator')\"\n [disabled]=\"disabled || currentPage >= pageCount\"\n (click)=\"navigate(1)\"\n >\n <aui-icon icon=\"angle_right\"></aui-icon>\n </button>\n </div>\n <div\n *ngIf=\"layout === 'total'\"\n [class]=\"bem.element('total')\"\n >\n {{ intl.getTotalLabel(total) }}\n </div>\n <div\n *ngIf=\"layout === 'sizes'\"\n [class]=\"bem.element('sizes')\"\n >\n <aui-select\n [disabled]=\"disabled\"\n [value]=\"pageSize\"\n [filterable]=\"false\"\n (valueChange)=\"changePageSize($event)\"\n >\n <aui-option\n *ngFor=\"let size of pageSizeOptions\"\n [value]=\"size\"\n >\n {{ size }}\n </aui-option>\n </aui-select>\n <span>{{ intl.itemsPerPageLabel }}</span>\n </div>\n <div\n *ngIf=\"layout === 'jumper'\"\n [class]=\"bem.element('jumper')\"\n >\n <span *ngIf=\"intl.jumperLabelPrefix\">{{ intl.jumperLabelPrefix }}</span>\n <input\n aui-input\n type=\"number\"\n min=\"1\"\n [max]=\"pageCount\"\n [value]=\"currentPage\"\n [disabled]=\"disabled\"\n (keydown)=\"onKeydown($event)\"\n />\n <span *ngIf=\"intl.jumperLabelSuffix\">{{ intl.jumperLabelSuffix }}</span>\n </div>\n <div\n *ngIf=\"layout === 'content'\"\n [class]=\"bem.element('content')\"\n >\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n", styles: [".aui-paginator{display:inline-flex;align-items:center;white-space:nowrap;font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);font-weight:var(--aui-font-weight-normal)}.aui-paginator .aui-button{width:var(--aui-line-height-xl);height:var(--aui-line-height-xl);border:unset}.aui-paginator .aui-button--default{background-color:transparent}.aui-paginator .aui-button .aui-button__content{padding:unset}.aui-paginator__fast-navigator[hidden]{display:none}.aui-paginator__fast-navigator .aui-icon{margin:0}.aui-paginator__fast-navigator aui-icon:last-child{display:none}.aui-paginator__fast-navigator:hover aui-icon:first-child{display:none}.aui-paginator__fast-navigator:hover aui-icon:last-child{display:inline}.aui-paginator__sizes{display:inline-flex;align-items:center}.aui-paginator__sizes .aui-select{width:80px;margin-right:var(--aui-spacing-s)}.aui-paginator__jumper .aui-input{width:80px}.aui-paginator__jumper span+input{margin-left:var(--aui-spacing-m)}.aui-paginator__jumper input+span{margin-left:var(--aui-spacing-s)}.aui-paginator__navigator.aui-button{background-color:rgb(var(--aui-color-n-8))}.aui-paginator__navigator.aui-button aui-icon{font-size:var(--aui-icon-size-m)}.aui-paginator__navigator.aui-button:hover{background-color:rgb(var(--aui-color-p-6))}.aui-paginator__pager{border:1px solid rgb(var(--aui-color-n-7));padding:3px;border-radius:var(--aui-border-radius-m);background-color:rgb(var(--aui-color-main-bg))}.aui-paginator__layout{display:inline-block}.aui-paginator__layout+.aui-paginator__layout{margin-left:var(--aui-spacing-l)}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "button[aui-button]", inputs: ["aui-button", "size", "plain", "loading", "round", "square"] }, { kind: "component", type: IconComponent, selector: "aui-icon", inputs: ["icon", "light", "dark", "link", "margin", "size", "color", "background", "backgroundColor"] }, { kind: "component", type: SelectComponent, selector: "aui-select" }, { kind: "component", type: OptionComponent, selector: "aui-option", inputs: ["label", "labelContext", "value", "disabled"] }, { kind: "component", type: InputComponent, selector: "input[aui-input],textarea[aui-input]", inputs: ["size", "disabled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
8378
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.4", type: PaginatorComponent, selector: "aui-paginator", inputs: { pageIndex: "pageIndex", currentPage: "currentPage", pageSize: "pageSize", pageSizeOptions: "pageSizeOptions", total: "total", length: "length", layout: "layout", disabled: "disabled" }, outputs: { pageIndexChange: "pageIndexChange", currentPageChange: "currentPageChange", pageSizeChange: "pageSizeChange" }, ngImport: i0, template: "<div [class]=\"bem.block()\">\n <div\n *ngFor=\"let layout of getLayoutArr()\"\n [class]=\"bem.element('layout')\"\n >\n <div\n *ngIf=\"layout === 'pager'\"\n [class]=\"bem.element('pager')\"\n >\n <button\n [ngClass]=\"bem.element('navigator')\"\n aui-button\n [disabled]=\"disabled || currentPage <= 1\"\n (click)=\"navigate(-1)\"\n >\n <aui-icon icon=\"angle_left\"></aui-icon>\n </button>\n <button\n [ngClass]=\"bem.element('page')\"\n [aui-button]=\"currentPage === 1 ? 'primary' : 'default'\"\n [plain]=\"!(currentPage === 1)\"\n [disabled]=\"disabled\"\n (click)=\"jumpTo(1)\"\n >\n 1\n </button>\n <button\n *ngIf=\"pageCount > 7 && currentPage > 4\"\n [ngClass]=\"bem.element('fast-navigator')\"\n aui-button\n [disabled]=\"disabled\"\n (click)=\"navigate(-5)\"\n >\n <aui-icon icon=\"ellipsis_s\"></aui-icon>\n <aui-icon icon=\"angles_left\"></aui-icon>\n </button>\n <button\n *ngFor=\"let page of getCenterPages(); trackBy: trackByIndex\"\n [ngClass]=\"bem.element('page')\"\n [aui-button]=\"currentPage === page ? 'primary' : 'default'\"\n [plain]=\"!(currentPage === page)\"\n [disabled]=\"disabled\"\n (click)=\"jumpTo(page)\"\n >\n {{ page }}\n </button>\n <button\n *ngIf=\"pageCount > 7 && currentPage < pageCount - 3\"\n [ngClass]=\"bem.element('fast-navigator')\"\n aui-button\n [disabled]=\"disabled\"\n (click)=\"navigate(5)\"\n >\n <aui-icon icon=\"ellipsis_s\"></aui-icon>\n <aui-icon icon=\"angles_right\"></aui-icon>\n </button>\n <button\n *ngIf=\"pageCount > 1\"\n [ngClass]=\"bem.element('page')\"\n [aui-button]=\"currentPage === pageCount ? 'primary' : 'default'\"\n [plain]=\"!(currentPage === pageCount)\"\n [disabled]=\"disabled\"\n (click)=\"jumpTo(pageCount)\"\n >\n {{ pageCount }}\n </button>\n <button\n aui-button\n [ngClass]=\"bem.element('navigator')\"\n [disabled]=\"disabled || currentPage >= pageCount\"\n (click)=\"navigate(1)\"\n >\n <aui-icon icon=\"angle_right\"></aui-icon>\n </button>\n </div>\n <div\n *ngIf=\"layout === 'total'\"\n [class]=\"bem.element('total')\"\n >\n {{ intl.getTotalLabel(total) }}\n </div>\n <div\n *ngIf=\"layout === 'sizes'\"\n [class]=\"bem.element('sizes')\"\n >\n <aui-select\n [disabled]=\"disabled\"\n [value]=\"pageSize\"\n [filterable]=\"false\"\n (valueChange)=\"changePageSize($event)\"\n >\n <aui-option\n *ngFor=\"let size of pageSizeOptions\"\n [value]=\"size\"\n >\n {{ size }}\n </aui-option>\n </aui-select>\n <span>{{ intl.itemsPerPageLabel }}</span>\n </div>\n <div\n *ngIf=\"layout === 'jumper'\"\n [class]=\"bem.element('jumper')\"\n >\n <span *ngIf=\"intl.jumperLabelPrefix\">{{ intl.jumperLabelPrefix }}</span>\n <input\n aui-input\n type=\"number\"\n min=\"1\"\n [max]=\"pageCount\"\n [value]=\"currentPage\"\n [disabled]=\"disabled\"\n (keydown)=\"onKeydown($event)\"\n />\n <span *ngIf=\"intl.jumperLabelSuffix\">{{ intl.jumperLabelSuffix }}</span>\n </div>\n <div\n *ngIf=\"layout === 'content'\"\n [class]=\"bem.element('content')\"\n >\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n", styles: [".aui-paginator{display:inline-flex;align-items:center;white-space:nowrap;font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);font-weight:var(--aui-font-weight-normal)}.aui-paginator .aui-button{width:var(--aui-line-height-xl);height:var(--aui-line-height-xl);border:unset}.aui-paginator .aui-button--default{background-color:transparent}.aui-paginator .aui-button .aui-button__content{padding:unset}.aui-paginator__fast-navigator[hidden]{display:none}.aui-paginator__fast-navigator .aui-icon{margin:0}.aui-paginator__fast-navigator aui-icon:last-child{display:none}.aui-paginator__fast-navigator:hover aui-icon:first-child{display:none}.aui-paginator__fast-navigator:hover aui-icon:last-child{display:inline}.aui-paginator__sizes{display:inline-flex;align-items:center}.aui-paginator__sizes .aui-select{width:80px;margin-right:var(--aui-spacing-s)}.aui-paginator__jumper .aui-input{width:80px}.aui-paginator__jumper span+input{margin-left:var(--aui-spacing-m)}.aui-paginator__jumper input+span{margin-left:var(--aui-spacing-s)}.aui-paginator__navigator.aui-button{background-color:rgb(var(--aui-color-n-8))}.aui-paginator__navigator.aui-button aui-icon{font-size:var(--aui-icon-size-m)}.aui-paginator__navigator.aui-button:hover:not([disabled]){background-color:rgb(var(--aui-color-p-6))}.aui-paginator__pager{border:1px solid rgb(var(--aui-color-n-7));padding:3px;border-radius:var(--aui-border-radius-m);background-color:rgb(var(--aui-color-main-bg))}.aui-paginator__layout{display:inline-block}.aui-paginator__layout+.aui-paginator__layout{margin-left:var(--aui-spacing-l)}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "button[aui-button]", inputs: ["aui-button", "size", "plain", "loading", "round", "square"] }, { kind: "component", type: IconComponent, selector: "aui-icon", inputs: ["icon", "light", "dark", "link", "margin", "size", "color", "background", "backgroundColor"] }, { kind: "component", type: SelectComponent, selector: "aui-select" }, { kind: "component", type: OptionComponent, selector: "aui-option", inputs: ["label", "labelContext", "value", "disabled"] }, { kind: "component", type: InputComponent, selector: "input[aui-input],textarea[aui-input]", inputs: ["size", "disabled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
8361
8379
  }
8362
8380
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: PaginatorComponent, decorators: [{
8363
8381
  type: Component,
8364
- args: [{ selector: 'aui-paginator', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, template: "<div [class]=\"bem.block()\">\n <div\n *ngFor=\"let layout of getLayoutArr()\"\n [class]=\"bem.element('layout')\"\n >\n <div\n *ngIf=\"layout === 'pager'\"\n [class]=\"bem.element('pager')\"\n >\n <button\n [ngClass]=\"bem.element('navigator')\"\n aui-button\n [disabled]=\"disabled || currentPage <= 1\"\n (click)=\"navigate(-1)\"\n >\n <aui-icon icon=\"angle_left\"></aui-icon>\n </button>\n <button\n [ngClass]=\"bem.element('page')\"\n [aui-button]=\"currentPage === 1 ? 'primary' : 'default'\"\n [plain]=\"!(currentPage === 1)\"\n [disabled]=\"disabled\"\n (click)=\"jumpTo(1)\"\n >\n 1\n </button>\n <button\n *ngIf=\"pageCount > 7 && currentPage > 4\"\n [ngClass]=\"bem.element('fast-navigator')\"\n aui-button\n [disabled]=\"disabled\"\n (click)=\"navigate(-5)\"\n >\n <aui-icon icon=\"ellipsis_s\"></aui-icon>\n <aui-icon icon=\"angles_left\"></aui-icon>\n </button>\n <button\n *ngFor=\"let page of getCenterPages(); trackBy: trackByIndex\"\n [ngClass]=\"bem.element('page')\"\n [aui-button]=\"currentPage === page ? 'primary' : 'default'\"\n [plain]=\"!(currentPage === page)\"\n [disabled]=\"disabled\"\n (click)=\"jumpTo(page)\"\n >\n {{ page }}\n </button>\n <button\n *ngIf=\"pageCount > 7 && currentPage < pageCount - 3\"\n [ngClass]=\"bem.element('fast-navigator')\"\n aui-button\n [disabled]=\"disabled\"\n (click)=\"navigate(5)\"\n >\n <aui-icon icon=\"ellipsis_s\"></aui-icon>\n <aui-icon icon=\"angles_right\"></aui-icon>\n </button>\n <button\n *ngIf=\"pageCount > 1\"\n [ngClass]=\"bem.element('page')\"\n [aui-button]=\"currentPage === pageCount ? 'primary' : 'default'\"\n [plain]=\"!(currentPage === pageCount)\"\n [disabled]=\"disabled\"\n (click)=\"jumpTo(pageCount)\"\n >\n {{ pageCount }}\n </button>\n <button\n aui-button\n [ngClass]=\"bem.element('navigator')\"\n [disabled]=\"disabled || currentPage >= pageCount\"\n (click)=\"navigate(1)\"\n >\n <aui-icon icon=\"angle_right\"></aui-icon>\n </button>\n </div>\n <div\n *ngIf=\"layout === 'total'\"\n [class]=\"bem.element('total')\"\n >\n {{ intl.getTotalLabel(total) }}\n </div>\n <div\n *ngIf=\"layout === 'sizes'\"\n [class]=\"bem.element('sizes')\"\n >\n <aui-select\n [disabled]=\"disabled\"\n [value]=\"pageSize\"\n [filterable]=\"false\"\n (valueChange)=\"changePageSize($event)\"\n >\n <aui-option\n *ngFor=\"let size of pageSizeOptions\"\n [value]=\"size\"\n >\n {{ size }}\n </aui-option>\n </aui-select>\n <span>{{ intl.itemsPerPageLabel }}</span>\n </div>\n <div\n *ngIf=\"layout === 'jumper'\"\n [class]=\"bem.element('jumper')\"\n >\n <span *ngIf=\"intl.jumperLabelPrefix\">{{ intl.jumperLabelPrefix }}</span>\n <input\n aui-input\n type=\"number\"\n min=\"1\"\n [max]=\"pageCount\"\n [value]=\"currentPage\"\n [disabled]=\"disabled\"\n (keydown)=\"onKeydown($event)\"\n />\n <span *ngIf=\"intl.jumperLabelSuffix\">{{ intl.jumperLabelSuffix }}</span>\n </div>\n <div\n *ngIf=\"layout === 'content'\"\n [class]=\"bem.element('content')\"\n >\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n", styles: [".aui-paginator{display:inline-flex;align-items:center;white-space:nowrap;font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);font-weight:var(--aui-font-weight-normal)}.aui-paginator .aui-button{width:var(--aui-line-height-xl);height:var(--aui-line-height-xl);border:unset}.aui-paginator .aui-button--default{background-color:transparent}.aui-paginator .aui-button .aui-button__content{padding:unset}.aui-paginator__fast-navigator[hidden]{display:none}.aui-paginator__fast-navigator .aui-icon{margin:0}.aui-paginator__fast-navigator aui-icon:last-child{display:none}.aui-paginator__fast-navigator:hover aui-icon:first-child{display:none}.aui-paginator__fast-navigator:hover aui-icon:last-child{display:inline}.aui-paginator__sizes{display:inline-flex;align-items:center}.aui-paginator__sizes .aui-select{width:80px;margin-right:var(--aui-spacing-s)}.aui-paginator__jumper .aui-input{width:80px}.aui-paginator__jumper span+input{margin-left:var(--aui-spacing-m)}.aui-paginator__jumper input+span{margin-left:var(--aui-spacing-s)}.aui-paginator__navigator.aui-button{background-color:rgb(var(--aui-color-n-8))}.aui-paginator__navigator.aui-button aui-icon{font-size:var(--aui-icon-size-m)}.aui-paginator__navigator.aui-button:hover{background-color:rgb(var(--aui-color-p-6))}.aui-paginator__pager{border:1px solid rgb(var(--aui-color-n-7));padding:3px;border-radius:var(--aui-border-radius-m);background-color:rgb(var(--aui-color-main-bg))}.aui-paginator__layout{display:inline-block}.aui-paginator__layout+.aui-paginator__layout{margin-left:var(--aui-spacing-l)}\n"] }]
8382
+ args: [{ selector: 'aui-paginator', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, template: "<div [class]=\"bem.block()\">\n <div\n *ngFor=\"let layout of getLayoutArr()\"\n [class]=\"bem.element('layout')\"\n >\n <div\n *ngIf=\"layout === 'pager'\"\n [class]=\"bem.element('pager')\"\n >\n <button\n [ngClass]=\"bem.element('navigator')\"\n aui-button\n [disabled]=\"disabled || currentPage <= 1\"\n (click)=\"navigate(-1)\"\n >\n <aui-icon icon=\"angle_left\"></aui-icon>\n </button>\n <button\n [ngClass]=\"bem.element('page')\"\n [aui-button]=\"currentPage === 1 ? 'primary' : 'default'\"\n [plain]=\"!(currentPage === 1)\"\n [disabled]=\"disabled\"\n (click)=\"jumpTo(1)\"\n >\n 1\n </button>\n <button\n *ngIf=\"pageCount > 7 && currentPage > 4\"\n [ngClass]=\"bem.element('fast-navigator')\"\n aui-button\n [disabled]=\"disabled\"\n (click)=\"navigate(-5)\"\n >\n <aui-icon icon=\"ellipsis_s\"></aui-icon>\n <aui-icon icon=\"angles_left\"></aui-icon>\n </button>\n <button\n *ngFor=\"let page of getCenterPages(); trackBy: trackByIndex\"\n [ngClass]=\"bem.element('page')\"\n [aui-button]=\"currentPage === page ? 'primary' : 'default'\"\n [plain]=\"!(currentPage === page)\"\n [disabled]=\"disabled\"\n (click)=\"jumpTo(page)\"\n >\n {{ page }}\n </button>\n <button\n *ngIf=\"pageCount > 7 && currentPage < pageCount - 3\"\n [ngClass]=\"bem.element('fast-navigator')\"\n aui-button\n [disabled]=\"disabled\"\n (click)=\"navigate(5)\"\n >\n <aui-icon icon=\"ellipsis_s\"></aui-icon>\n <aui-icon icon=\"angles_right\"></aui-icon>\n </button>\n <button\n *ngIf=\"pageCount > 1\"\n [ngClass]=\"bem.element('page')\"\n [aui-button]=\"currentPage === pageCount ? 'primary' : 'default'\"\n [plain]=\"!(currentPage === pageCount)\"\n [disabled]=\"disabled\"\n (click)=\"jumpTo(pageCount)\"\n >\n {{ pageCount }}\n </button>\n <button\n aui-button\n [ngClass]=\"bem.element('navigator')\"\n [disabled]=\"disabled || currentPage >= pageCount\"\n (click)=\"navigate(1)\"\n >\n <aui-icon icon=\"angle_right\"></aui-icon>\n </button>\n </div>\n <div\n *ngIf=\"layout === 'total'\"\n [class]=\"bem.element('total')\"\n >\n {{ intl.getTotalLabel(total) }}\n </div>\n <div\n *ngIf=\"layout === 'sizes'\"\n [class]=\"bem.element('sizes')\"\n >\n <aui-select\n [disabled]=\"disabled\"\n [value]=\"pageSize\"\n [filterable]=\"false\"\n (valueChange)=\"changePageSize($event)\"\n >\n <aui-option\n *ngFor=\"let size of pageSizeOptions\"\n [value]=\"size\"\n >\n {{ size }}\n </aui-option>\n </aui-select>\n <span>{{ intl.itemsPerPageLabel }}</span>\n </div>\n <div\n *ngIf=\"layout === 'jumper'\"\n [class]=\"bem.element('jumper')\"\n >\n <span *ngIf=\"intl.jumperLabelPrefix\">{{ intl.jumperLabelPrefix }}</span>\n <input\n aui-input\n type=\"number\"\n min=\"1\"\n [max]=\"pageCount\"\n [value]=\"currentPage\"\n [disabled]=\"disabled\"\n (keydown)=\"onKeydown($event)\"\n />\n <span *ngIf=\"intl.jumperLabelSuffix\">{{ intl.jumperLabelSuffix }}</span>\n </div>\n <div\n *ngIf=\"layout === 'content'\"\n [class]=\"bem.element('content')\"\n >\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n", styles: [".aui-paginator{display:inline-flex;align-items:center;white-space:nowrap;font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);font-weight:var(--aui-font-weight-normal)}.aui-paginator .aui-button{width:var(--aui-line-height-xl);height:var(--aui-line-height-xl);border:unset}.aui-paginator .aui-button--default{background-color:transparent}.aui-paginator .aui-button .aui-button__content{padding:unset}.aui-paginator__fast-navigator[hidden]{display:none}.aui-paginator__fast-navigator .aui-icon{margin:0}.aui-paginator__fast-navigator aui-icon:last-child{display:none}.aui-paginator__fast-navigator:hover aui-icon:first-child{display:none}.aui-paginator__fast-navigator:hover aui-icon:last-child{display:inline}.aui-paginator__sizes{display:inline-flex;align-items:center}.aui-paginator__sizes .aui-select{width:80px;margin-right:var(--aui-spacing-s)}.aui-paginator__jumper .aui-input{width:80px}.aui-paginator__jumper span+input{margin-left:var(--aui-spacing-m)}.aui-paginator__jumper input+span{margin-left:var(--aui-spacing-s)}.aui-paginator__navigator.aui-button{background-color:rgb(var(--aui-color-n-8))}.aui-paginator__navigator.aui-button aui-icon{font-size:var(--aui-icon-size-m)}.aui-paginator__navigator.aui-button:hover:not([disabled]){background-color:rgb(var(--aui-color-p-6))}.aui-paginator__pager{border:1px solid rgb(var(--aui-color-n-7));padding:3px;border-radius:var(--aui-border-radius-m);background-color:rgb(var(--aui-color-main-bg))}.aui-paginator__layout{display:inline-block}.aui-paginator__layout+.aui-paginator__layout{margin-left:var(--aui-spacing-l)}\n"] }]
8365
8383
  }], ctorParameters: function () { return [{ type: PaginatorIntl }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { pageIndex: [{
8366
8384
  type: Input
8367
8385
  }], currentPage: [{
@@ -8378,6 +8396,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImpor
8378
8396
  type: Input
8379
8397
  }], disabled: [{
8380
8398
  type: Input
8399
+ }], pageIndexChange: [{
8400
+ type: Output
8381
8401
  }], currentPageChange: [{
8382
8402
  type: Output
8383
8403
  }], pageSizeChange: [{