@sebgroup/green-angular 2.1.2 → 2.1.3

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.
@@ -153,10 +153,10 @@ export class NggPaginationComponent {
153
153
  }
154
154
  }
155
155
  NggPaginationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggPaginationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
156
- NggPaginationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: NggPaginationComponent, selector: "ngg-pagination", inputs: { i18n: "i18n", size: "size", displayPages: "displayPages", length: "length", pageSize: "pageSize", pageIndex: "pageIndex" }, outputs: { page: "page" }, usesOnChanges: true, ngImport: i0, template: "<nav\n [class]=\"'pagination ' + size\"\n role=\"navigation\"\n [attr.aria-label]=\"i18n.paginationLabel\"\n *ngIf=\"totalPages > 1\"\n>\n <ul class=\"gds-reset\">\n <li *ngIf=\"hasPrevious()\">\n <a\n class=\"gds-reset\"\n tabindex=\"0\"\n (click)=\"gotoPrevious()\"\n [attr.aria-label]=\"i18n.previousPageLabel\"\n role=\"button\"\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 512\">\n <path\n d=\"M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l192 192c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 246.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-192 192z\"\n />\n </svg>\n </a>\n </li>\n\n <li>\n <a\n class=\"gds-reset\"\n tabindex=\"0\"\n (click)=\"gotoFirst()\"\n [attr.aria-current]=\"pageIndex === 0 ? 'page' : null\"\n [attr.aria-label]=\"i18n.firstPageLabel\"\n role=\"button\"\n >\n 1\n </a>\n </li>\n <li *ngIf=\"pageIndicies[0] > 1\" aria-hidden=\"true\">...</li>\n\n <li *ngFor=\"let index of pageIndicies\">\n <a\n class=\"gds-reset\"\n tabindex=\"0\"\n (click)=\"goto(index)\"\n [attr.aria-current]=\"pageIndex === index ? 'page' : null\"\n [attr.aria-label]=\"i18n.getPageLabel(index)\"\n role=\"button\"\n >\n {{ index + 1 }}\n </a>\n </li>\n\n <li\n *ngIf=\"pageIndicies[pageIndicies.length - 1] < totalPages - 2\"\n aria-hidden=\"true\"\n >\n ...\n </li>\n\n <li>\n <a\n class=\"gds-reset\"\n tabindex=\"0\"\n (click)=\"gotoLast()\"\n [attr.aria-current]=\"pageIndex === totalPages - 1 ? 'page' : null\"\n [attr.aria-label]=\"i18n.lastPageLabel\"\n role=\"button\"\n >\n {{ totalPages }}\n </a>\n </li>\n <li *ngIf=\"hasNext()\">\n <a\n class=\"gds-reset\"\n tabindex=\"0\"\n (click)=\"gotoNext()\"\n [attr.aria-label]=\"i18n.nextPageLabel\"\n role=\"button\"\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 512\">\n <path\n d=\"M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z\"\n />\n </svg>\n </a>\n </li>\n </ul>\n</nav>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
156
+ NggPaginationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: NggPaginationComponent, selector: "ngg-pagination", inputs: { i18n: "i18n", size: "size", displayPages: "displayPages", length: "length", pageSize: "pageSize", pageIndex: "pageIndex" }, outputs: { page: "page" }, usesOnChanges: true, ngImport: i0, template: "<nav\n [class]=\"'pagination ' + size\"\n role=\"navigation\"\n [attr.aria-label]=\"i18n.paginationLabel\"\n *ngIf=\"totalPages > 1\"\n>\n <ul class=\"gds-reset\">\n <li *ngIf=\"hasPrevious()\">\n <a\n class=\"gds-reset\"\n tabindex=\"0\"\n (click)=\"gotoPrevious()\"\n (keydown.enter)=\"gotoPrevious()\"\n [attr.aria-label]=\"i18n.previousPageLabel\"\n role=\"button\"\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 512\">\n <path\n d=\"M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l192 192c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 246.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-192 192z\"\n />\n </svg>\n </a>\n </li>\n\n <li>\n <a\n class=\"gds-reset\"\n tabindex=\"0\"\n (click)=\"gotoFirst()\"\n (keydown.enter)=\"gotoFirst()\"\n [attr.aria-current]=\"pageIndex === 0 ? 'page' : null\"\n [attr.aria-label]=\"i18n.firstPageLabel\"\n role=\"button\"\n >\n 1\n </a>\n </li>\n <li *ngIf=\"pageIndicies[0] > 1\" aria-hidden=\"true\">...</li>\n\n <li *ngFor=\"let index of pageIndicies\">\n <a\n class=\"gds-reset\"\n tabindex=\"0\"\n (click)=\"goto(index)\"\n (keydown.enter)=\"goto(index)\"\n [attr.aria-current]=\"pageIndex === index ? 'page' : null\"\n [attr.aria-label]=\"i18n.getPageLabel(index)\"\n role=\"button\"\n >\n {{ index + 1 }}\n </a>\n </li>\n\n <li\n *ngIf=\"pageIndicies[pageIndicies.length - 1] < totalPages - 2\"\n aria-hidden=\"true\"\n >\n ...\n </li>\n\n <li>\n <a\n class=\"gds-reset\"\n tabindex=\"0\"\n (click)=\"gotoLast()\"\n (keydown.enter)=\"gotoLast()\"\n [attr.aria-current]=\"pageIndex === totalPages - 1 ? 'page' : null\"\n [attr.aria-label]=\"i18n.lastPageLabel\"\n role=\"button\"\n >\n {{ totalPages }}\n </a>\n </li>\n <li *ngIf=\"hasNext()\">\n <a\n class=\"gds-reset\"\n tabindex=\"0\"\n (click)=\"gotoNext()\"\n (keydown.enter)=\"gotoNext()\"\n [attr.aria-label]=\"i18n.nextPageLabel\"\n role=\"button\"\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 512\">\n <path\n d=\"M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z\"\n />\n </svg>\n </a>\n </li>\n </ul>\n</nav>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
157
157
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggPaginationComponent, decorators: [{
158
158
  type: Component,
159
- args: [{ selector: 'ngg-pagination', changeDetection: ChangeDetectionStrategy.OnPush, template: "<nav\n [class]=\"'pagination ' + size\"\n role=\"navigation\"\n [attr.aria-label]=\"i18n.paginationLabel\"\n *ngIf=\"totalPages > 1\"\n>\n <ul class=\"gds-reset\">\n <li *ngIf=\"hasPrevious()\">\n <a\n class=\"gds-reset\"\n tabindex=\"0\"\n (click)=\"gotoPrevious()\"\n [attr.aria-label]=\"i18n.previousPageLabel\"\n role=\"button\"\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 512\">\n <path\n d=\"M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l192 192c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 246.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-192 192z\"\n />\n </svg>\n </a>\n </li>\n\n <li>\n <a\n class=\"gds-reset\"\n tabindex=\"0\"\n (click)=\"gotoFirst()\"\n [attr.aria-current]=\"pageIndex === 0 ? 'page' : null\"\n [attr.aria-label]=\"i18n.firstPageLabel\"\n role=\"button\"\n >\n 1\n </a>\n </li>\n <li *ngIf=\"pageIndicies[0] > 1\" aria-hidden=\"true\">...</li>\n\n <li *ngFor=\"let index of pageIndicies\">\n <a\n class=\"gds-reset\"\n tabindex=\"0\"\n (click)=\"goto(index)\"\n [attr.aria-current]=\"pageIndex === index ? 'page' : null\"\n [attr.aria-label]=\"i18n.getPageLabel(index)\"\n role=\"button\"\n >\n {{ index + 1 }}\n </a>\n </li>\n\n <li\n *ngIf=\"pageIndicies[pageIndicies.length - 1] < totalPages - 2\"\n aria-hidden=\"true\"\n >\n ...\n </li>\n\n <li>\n <a\n class=\"gds-reset\"\n tabindex=\"0\"\n (click)=\"gotoLast()\"\n [attr.aria-current]=\"pageIndex === totalPages - 1 ? 'page' : null\"\n [attr.aria-label]=\"i18n.lastPageLabel\"\n role=\"button\"\n >\n {{ totalPages }}\n </a>\n </li>\n <li *ngIf=\"hasNext()\">\n <a\n class=\"gds-reset\"\n tabindex=\"0\"\n (click)=\"gotoNext()\"\n [attr.aria-label]=\"i18n.nextPageLabel\"\n role=\"button\"\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 512\">\n <path\n d=\"M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z\"\n />\n </svg>\n </a>\n </li>\n </ul>\n</nav>\n" }]
159
+ args: [{ selector: 'ngg-pagination', changeDetection: ChangeDetectionStrategy.OnPush, template: "<nav\n [class]=\"'pagination ' + size\"\n role=\"navigation\"\n [attr.aria-label]=\"i18n.paginationLabel\"\n *ngIf=\"totalPages > 1\"\n>\n <ul class=\"gds-reset\">\n <li *ngIf=\"hasPrevious()\">\n <a\n class=\"gds-reset\"\n tabindex=\"0\"\n (click)=\"gotoPrevious()\"\n (keydown.enter)=\"gotoPrevious()\"\n [attr.aria-label]=\"i18n.previousPageLabel\"\n role=\"button\"\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 512\">\n <path\n d=\"M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l192 192c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 246.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-192 192z\"\n />\n </svg>\n </a>\n </li>\n\n <li>\n <a\n class=\"gds-reset\"\n tabindex=\"0\"\n (click)=\"gotoFirst()\"\n (keydown.enter)=\"gotoFirst()\"\n [attr.aria-current]=\"pageIndex === 0 ? 'page' : null\"\n [attr.aria-label]=\"i18n.firstPageLabel\"\n role=\"button\"\n >\n 1\n </a>\n </li>\n <li *ngIf=\"pageIndicies[0] > 1\" aria-hidden=\"true\">...</li>\n\n <li *ngFor=\"let index of pageIndicies\">\n <a\n class=\"gds-reset\"\n tabindex=\"0\"\n (click)=\"goto(index)\"\n (keydown.enter)=\"goto(index)\"\n [attr.aria-current]=\"pageIndex === index ? 'page' : null\"\n [attr.aria-label]=\"i18n.getPageLabel(index)\"\n role=\"button\"\n >\n {{ index + 1 }}\n </a>\n </li>\n\n <li\n *ngIf=\"pageIndicies[pageIndicies.length - 1] < totalPages - 2\"\n aria-hidden=\"true\"\n >\n ...\n </li>\n\n <li>\n <a\n class=\"gds-reset\"\n tabindex=\"0\"\n (click)=\"gotoLast()\"\n (keydown.enter)=\"gotoLast()\"\n [attr.aria-current]=\"pageIndex === totalPages - 1 ? 'page' : null\"\n [attr.aria-label]=\"i18n.lastPageLabel\"\n role=\"button\"\n >\n {{ totalPages }}\n </a>\n </li>\n <li *ngIf=\"hasNext()\">\n <a\n class=\"gds-reset\"\n tabindex=\"0\"\n (click)=\"gotoNext()\"\n (keydown.enter)=\"gotoNext()\"\n [attr.aria-label]=\"i18n.nextPageLabel\"\n role=\"button\"\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 512\">\n <path\n d=\"M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z\"\n />\n </svg>\n </a>\n </li>\n </ul>\n</nav>\n" }]
160
160
  }], propDecorators: { i18n: [{
161
161
  type: Input
162
162
  }], size: [{
@@ -172,4 +172,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
172
172
  }], page: [{
173
173
  type: Output
174
174
  }] } });
175
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL2xpYi9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osdUJBQXVCLEdBR3hCLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFHTCxjQUFjLEdBRWYsTUFBTSxtQkFBbUIsQ0FBQTs7O0FBTzFCLE1BQU0sT0FBTyxzQkFBc0I7SUFMbkM7UUFNRSxrQ0FBa0M7UUFDekIsU0FBSSxHQUFvQixjQUFjLENBQUE7UUFFL0Msb0JBQW9CO1FBQ1gsU0FBSSxHQUFtQixPQUFPLENBQUE7UUFFdkMsa0VBQWtFO1FBQ3pELGlCQUFZLEdBQUcsQ0FBQyxDQUFBO1FBRXpCLDRDQUE0QztRQUNuQyxXQUFNLEdBQUcsQ0FBQyxDQUFBO1FBRW5CLCtCQUErQjtRQUN0QixhQUFRLEdBQUcsRUFBRSxDQUFBO1FBVWQsZUFBVSxHQUFHLENBQUMsQ0FBQTtRQU1kLGtCQUFhLEdBQWEsRUFBRSxDQUFBO1FBVXBDLHNEQUFzRDtRQUM1QyxTQUFJLEdBQUcsSUFBSSxZQUFZLEVBQW9CLENBQUE7S0FvSXREO0lBN0pDLGdGQUFnRjtJQUNoRixJQUNJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUE7SUFDeEIsQ0FBQztJQUNELElBQUksU0FBUyxDQUFDLEtBQWE7UUFDekIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUN0QyxDQUFDO0lBR0QsaURBQWlE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QUdHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBSUYsU0FBUztzQkFEWixLQUFLO2dCQXdCSSxJQUFJO3NCQUFiLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIE9uQ2hhbmdlcyxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7XG4gIElQYWdpbmF0aW9uRXZlbnQsXG4gIElQYWdpbmF0aW9uSTE4bixcbiAgUGFnaW5hdGlvbkkxOG4sXG4gIFBhZ2luYXRpb25TaXplLFxufSBmcm9tICdAc2ViZ3JvdXAvZXh0cmFjdCdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmdnLXBhZ2luYXRpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vcGFnaW5hdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBOZ2dQYWdpbmF0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgLyoqIEludGVybmF0aW9uYWxpemF0aW9uIGxhYmVscyAqL1xuICBASW5wdXQoKSBpMThuOiBJUGFnaW5hdGlvbkkxOG4gPSBQYWdpbmF0aW9uSTE4blxuXG4gIC8qKiBSZW5kZXJlZCBzaXplICovXG4gIEBJbnB1dCgpIHNpemU6IFBhZ2luYXRpb25TaXplID0gJ3NtYWxsJ1xuXG4gIC8qKiBBbW91bnQgb2YgcGFnZXMgdG8gYmUgZGlzcGxheWVkIGJldHdlZW4gdGhlIGZpcnN0IGFuZCBsYXN0ICAqL1xuICBASW5wdXQoKSBkaXNwbGF5UGFnZXMgPSA1XG5cbiAgLyoqIFRvdGFsIGFtb3VudCBvZiBpdGVtcyB0byBiZSBwYWdpbmF0ZWQgKi9cbiAgQElucHV0KCkgbGVuZ3RoID0gMFxuXG4gIC8qKiBEaXNwbGF5ZWQgaXRlbXMgcGVyIHBhZ2UgKi9cbiAgQElucHV0KCkgcGFnZVNpemUgPSAxMFxuXG4gIC8qKiBUaGUgemVyby1iYXNlZCBwYWdlIGluZGV4IG9mIHRoZSBkaXNwbGF5ZWQgbGlzdCBvZiBwYWdlcy4gRGVmYXVsdGVkIHRvIDAuICovXG4gIEBJbnB1dCgpXG4gIGdldCBwYWdlSW5kZXgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fcGFnZUluZGV4XG4gIH1cbiAgc2V0IHBhZ2VJbmRleCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5fcGFnZUluZGV4ID0gTWF0aC5tYXgodmFsdWUsIDApXG4gIH1cbiAgcHJpdmF0ZSBfcGFnZUluZGV4ID0gMFxuXG4gIC8qKiBBbGwgY2VudHJpYyBwYWdlIGluZGljaWVzIHRvIGJlIGRpc3BsYXllZC4gKi9cbiAgZ2V0IHBhZ2VJbmRpY2llcygpOiBudW1iZXJbXSB7XG4gICAgcmV0dXJuIHRoaXMuX3BhZ2VJbmRpY2llc1xuICB9XG4gIHByaXZhdGUgX3BhZ2VJbmRpY2llczogbnVtYmVyW10gPSBbXVxuXG4gIGdldCB0b3RhbFBhZ2VzKCk6IG51bWJlciB7XG4gICAgaWYgKCF0aGlzLnBhZ2VTaXplKSB7XG4gICAgICByZXR1cm4gMFxuICAgIH1cblxuICAgIHJldHVybiBNYXRoLmNlaWwodGhpcy5sZW5ndGggLyB0aGlzLnBhZ2VTaXplKVxuICB9XG5cbiAgLyoqIEV2ZW50IGVtaXR0ZWQgd2hlbiBhIG5ldyBwYWdlIGluZGV4IGlzIHNlbGVjdGVkICovXG4gIEBPdXRwdXQoKSBwYWdlID0gbmV3IEV2ZW50RW1pdHRlcjxJUGFnaW5hdGlvbkV2ZW50PigpXG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgIGNoYW5nZXMuZGlzcGxheVBhZ2VzIHx8XG4gICAgICBjaGFuZ2VzLnBhZ2VJbmRleCB8fFxuICAgICAgY2hhbmdlcy5wYWdlU2l6ZSB8fFxuICAgICAgY2hhbmdlcy5sZW5ndGhcbiAgICApIHtcbiAgICAgIHRoaXMuX3BhZ2VJbmRpY2llcyA9IHRoaXMuZ2V0RGlzcGxheWVkUGFnZUluZGljaWVzKClcbiAgICB9XG4gIH1cblxuICBoYXNQcmV2aW91cygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5wYWdlSW5kZXggPj0gMVxuICB9XG5cbiAgaGFzTmV4dCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5wYWdlSW5kZXggPCB0aGlzLnRvdGFsUGFnZXMgLSAxXG4gIH1cblxuICBnb3RvRmlyc3QoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmhhc1ByZXZpb3VzKCkpIHtcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBjb25zdCBwcmV2aW91cyA9IHRoaXMucGFnZUluZGV4XG4gICAgdGhpcy5wYWdlSW5kZXggPSAwXG4gICAgdGhpcy5lbWl0KHByZXZpb3VzKVxuICB9XG5cbiAgZ290b0xhc3QoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmhhc05leHQoKSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGNvbnN0IHByZXZpb3VzID0gdGhpcy5wYWdlSW5kZXhcbiAgICB0aGlzLnBhZ2VJbmRleCA9IHRoaXMudG90YWxQYWdlcyAtIDFcbiAgICB0aGlzLmVtaXQocHJldmlvdXMpXG4gIH1cblxuICBnb3RvUHJldmlvdXMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmhhc1ByZXZpb3VzKCkpIHtcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBjb25zdCBwcmV2aW91cyA9IHRoaXMucGFnZUluZGV4XG4gICAgdGhpcy5wYWdlSW5kZXggPSBwcmV2aW91cyAtIDFcbiAgICB0aGlzLmVtaXQocHJldmlvdXMpXG4gIH1cblxuICBnb3RvTmV4dCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaGFzTmV4dCgpKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgY29uc3QgcHJldmlvdXMgPSB0aGlzLnBhZ2VJbmRleFxuICAgIHRoaXMucGFnZUluZGV4ID0gcHJldmlvdXMgKyAxXG4gICAgdGhpcy5lbWl0KHByZXZpb3VzKVxuICB9XG5cbiAgZ290byhpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKGluZGV4ID09PSB0aGlzLnBhZ2VJbmRleCB8fCBpbmRleCA8IDAgfHwgaW5kZXggPj0gdGhpcy50b3RhbFBhZ2VzKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgY29uc3QgcHJldmlvdXMgPSB0aGlzLnBhZ2VJbmRleFxuICAgIHRoaXMucGFnZUluZGV4ID0gaW5kZXhcbiAgICB0aGlzLmVtaXQocHJldmlvdXMpXG4gIH1cblxuICBwcml2YXRlIGVtaXQocHJldmlvdXM6IG51bWJlcikge1xuICAgIHRoaXMuX3BhZ2VJbmRpY2llcyA9IHRoaXMuZ2V0RGlzcGxheWVkUGFnZUluZGljaWVzKClcbiAgICB0aGlzLnBhZ2UuZW1pdCh7IHBhZ2VJbmRleDogdGhpcy5wYWdlSW5kZXgsIHByZXZpb3VzUGFnZUluZGV4OiBwcmV2aW91cyB9KVxuICB9XG5cbiAgcHJpdmF0ZSBnZXREaXNwbGF5ZWRQYWdlSW5kaWNpZXMoKTogbnVtYmVyW10ge1xuICAgIC8vIERvIG5vdCByZW5kZXJcbiAgICBpZiAodGhpcy50b3RhbFBhZ2VzIDw9IDEpIHtcbiAgICAgIHJldHVybiBbXVxuICAgIH1cblxuICAgIC8vIEFsbCBwYWdlcyBjYW4gZml0XG4gICAgaWYgKHRoaXMudG90YWxQYWdlcyA8PSB0aGlzLmRpc3BsYXlQYWdlcylcbiAgICAgIHJldHVybiBbLi4uQXJyYXkodGhpcy50b3RhbFBhZ2VzIC0gMikua2V5cygpXS5tYXAoKGluZGV4KSA9PiBpbmRleCArIDEpXG5cbiAgICAvLyBPbmx5IGZpcnN0ICYgbGFzdFxuICAgIGlmICh0aGlzLnRvdGFsUGFnZXMgPT09IDIpIHJldHVybiBbXVxuXG4gICAgcmV0dXJuIHRoaXMuZ2V0Q2VudGVyZWRQYWdlSW5kaWNpZXMoKVxuICB9XG5cbiAgLyoqXG4gICAqIEZpbmQgWCAoZGlzcGxheVBhZ2VzKSBhbW91bnQgb2YgcGFnZSBpbmRpY2llcyB0aGF0IGFyZSBjZW50ZXJlZCBmcm9tIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgcGFnZSBpbmRleCxcbiAgICogYnV0IGV4Y2x1ZGUgdGhlIGZpcnN0IGFuZCBsYXN0IGluZGljaWVzIGlmIHRoZXkgYXJlIHdpdGhpbiB0aGUgcmFuZ2UuXG4gICAqL1xuICBwcml2YXRlIGdldENlbnRlcmVkUGFnZUluZGljaWVzKCk6IG51bWJlcltdIHtcbiAgICBjb25zdCBwYWdlczogbnVtYmVyW10gPSBbXVxuXG4gICAgaWYgKHRoaXMucGFnZUluZGV4ID09PSAwKSB7XG4gICAgICBwYWdlcy5wdXNoKHRoaXMucGFnZUluZGV4ICsgMSlcbiAgICB9IGVsc2UgaWYgKHRoaXMucGFnZUluZGV4ID09PSB0aGlzLnRvdGFsUGFnZXMgLSAxKSB7XG4gICAgICBwYWdlcy5wdXNoKHRoaXMucGFnZUluZGV4IC0gMSlcbiAgICB9IGVsc2Uge1xuICAgICAgcGFnZXMucHVzaCh0aGlzLnBhZ2VJbmRleClcbiAgICB9XG5cbiAgICBjb25zdCBhZGRBZnRlciA9ICgpID0+IHtcbiAgICAgIGNvbnN0IG5leHQgPSBwYWdlc1twYWdlcy5sZW5ndGggLSAxXSArIDFcbiAgICAgIGlmIChuZXh0IDwgdGhpcy50b3RhbFBhZ2VzIC0gMSAmJiBjb3VudGVyID4gMCkge1xuICAgICAgICBwYWdlcy5wdXNoKG5leHQpXG4gICAgICAgIHJldHVybiB0cnVlXG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG4gICAgY29uc3QgYWRkQmVmb3JlID0gKCkgPT4ge1xuICAgICAgY29uc3QgcHJldmlvdXMgPSBwYWdlc1swXSAtIDFcbiAgICAgIGlmIChwcmV2aW91cyA+IDAgJiYgY291bnRlciA+IDApIHtcbiAgICAgICAgcGFnZXMudW5zaGlmdChwcmV2aW91cylcbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cblxuICAgIGxldCBjb3VudGVyID0gdGhpcy5kaXNwbGF5UGFnZXMgLSAxXG4gICAgd2hpbGUgKGNvdW50ZXIgPiAwKSB7XG4gICAgICBjb25zdCBhZGRlZEFmdGVyID0gYWRkQWZ0ZXIoKVxuICAgICAgaWYgKGFkZGVkQWZ0ZXIpIGNvdW50ZXItLVxuXG4gICAgICBjb25zdCBhZGRlZEJlZm9yZSA9IGFkZEJlZm9yZSgpXG4gICAgICBpZiAoYWRkZWRCZWZvcmUpIGNvdW50ZXItLVxuXG4gICAgICBpZiAoIWFkZGVkQWZ0ZXIgJiYgIWFkZGVkQmVmb3JlKSBicmVha1xuICAgIH1cblxuICAgIHJldHVybiBwYWdlc1xuICB9XG59XG4iLCI8bmF2XG4gIFtjbGFzc109XCIncGFnaW5hdGlvbiAnICsgc2l6ZVwiXG4gIHJvbGU9XCJuYXZpZ2F0aW9uXCJcbiAgW2F0dHIuYXJpYS1sYWJlbF09XCJpMThuLnBhZ2luYXRpb25MYWJlbFwiXG4gICpuZ0lmPVwidG90YWxQYWdlcyA+IDFcIlxuPlxuICA8dWwgY2xhc3M9XCJnZHMtcmVzZXRcIj5cbiAgICA8bGkgKm5nSWY9XCJoYXNQcmV2aW91cygpXCI+XG4gICAgICA8YVxuICAgICAgICBjbGFzcz1cImdkcy1yZXNldFwiXG4gICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgIChjbGljayk9XCJnb3RvUHJldmlvdXMoKVwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiaTE4bi5wcmV2aW91c1BhZ2VMYWJlbFwiXG4gICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgPlxuICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDMyMCA1MTJcIj5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgZD1cIk05LjQgMjMzLjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zbDE5MiAxOTJjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM0w3Ny4zIDI1NiAyNDYuNiA4Ni42YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwbC0xOTIgMTkyelwiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9zdmc+XG4gICAgICA8L2E+XG4gICAgPC9saT5cblxuICAgIDxsaT5cbiAgICAgIDxhXG4gICAgICAgIGNsYXNzPVwiZ2RzLXJlc2V0XCJcbiAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgKGNsaWNrKT1cImdvdG9GaXJzdCgpXCJcbiAgICAgICAgW2F0dHIuYXJpYS1jdXJyZW50XT1cInBhZ2VJbmRleCA9PT0gMCA/ICdwYWdlJyA6IG51bGxcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImkxOG4uZmlyc3RQYWdlTGFiZWxcIlxuICAgICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgID5cbiAgICAgICAgMVxuICAgICAgPC9hPlxuICAgIDwvbGk+XG4gICAgPGxpICpuZ0lmPVwicGFnZUluZGljaWVzWzBdID4gMVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPi4uLjwvbGk+XG5cbiAgICA8bGkgKm5nRm9yPVwibGV0IGluZGV4IG9mIHBhZ2VJbmRpY2llc1wiPlxuICAgICAgPGFcbiAgICAgICAgY2xhc3M9XCJnZHMtcmVzZXRcIlxuICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICAoY2xpY2spPVwiZ290byhpbmRleClcIlxuICAgICAgICBbYXR0ci5hcmlhLWN1cnJlbnRdPVwicGFnZUluZGV4ID09PSBpbmRleCA/ICdwYWdlJyA6IG51bGxcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImkxOG4uZ2V0UGFnZUxhYmVsKGluZGV4KVwiXG4gICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgPlxuICAgICAgICB7eyBpbmRleCArIDEgfX1cbiAgICAgIDwvYT5cbiAgICA8L2xpPlxuXG4gICAgPGxpXG4gICAgICAqbmdJZj1cInBhZ2VJbmRpY2llc1twYWdlSW5kaWNpZXMubGVuZ3RoIC0gMV0gPCB0b3RhbFBhZ2VzIC0gMlwiXG4gICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgID5cbiAgICAgIC4uLlxuICAgIDwvbGk+XG5cbiAgICA8bGk+XG4gICAgICA8YVxuICAgICAgICBjbGFzcz1cImdkcy1yZXNldFwiXG4gICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgIChjbGljayk9XCJnb3RvTGFzdCgpXCJcbiAgICAgICAgW2F0dHIuYXJpYS1jdXJyZW50XT1cInBhZ2VJbmRleCA9PT0gdG90YWxQYWdlcyAtIDEgPyAncGFnZScgOiBudWxsXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJpMThuLmxhc3RQYWdlTGFiZWxcIlxuICAgICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgID5cbiAgICAgICAge3sgdG90YWxQYWdlcyB9fVxuICAgICAgPC9hPlxuICAgIDwvbGk+XG4gICAgPGxpICpuZ0lmPVwiaGFzTmV4dCgpXCI+XG4gICAgICA8YVxuICAgICAgICBjbGFzcz1cImdkcy1yZXNldFwiXG4gICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgIChjbGljayk9XCJnb3RvTmV4dCgpXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJpMThuLm5leHRQYWdlTGFiZWxcIlxuICAgICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgID5cbiAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAzMjAgNTEyXCI+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIGQ9XCJNMzEwLjYgMjMzLjRjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNsLTE5MiAxOTJjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zTDI0Mi43IDI1NiA3My40IDg2LjZjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zczMyLjgtMTIuNSA0NS4zIDBsMTkyIDE5MnpcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvc3ZnPlxuICAgICAgPC9hPlxuICAgIDwvbGk+XG4gIDwvdWw+XG48L25hdj5cbiJdfQ==
175
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL2xpYi9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osdUJBQXVCLEdBR3hCLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFHTCxjQUFjLEdBRWYsTUFBTSxtQkFBbUIsQ0FBQTs7O0FBTzFCLE1BQU0sT0FBTyxzQkFBc0I7SUFMbkM7UUFNRSxrQ0FBa0M7UUFDekIsU0FBSSxHQUFvQixjQUFjLENBQUE7UUFFL0Msb0JBQW9CO1FBQ1gsU0FBSSxHQUFtQixPQUFPLENBQUE7UUFFdkMsa0VBQWtFO1FBQ3pELGlCQUFZLEdBQUcsQ0FBQyxDQUFBO1FBRXpCLDRDQUE0QztRQUNuQyxXQUFNLEdBQUcsQ0FBQyxDQUFBO1FBRW5CLCtCQUErQjtRQUN0QixhQUFRLEdBQUcsRUFBRSxDQUFBO1FBVWQsZUFBVSxHQUFHLENBQUMsQ0FBQTtRQU1kLGtCQUFhLEdBQWEsRUFBRSxDQUFBO1FBVXBDLHNEQUFzRDtRQUM1QyxTQUFJLEdBQUcsSUFBSSxZQUFZLEVBQW9CLENBQUE7S0FvSXREO0lBN0pDLGdGQUFnRjtJQUNoRixJQUNJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUE7SUFDeEIsQ0FBQztJQUNELElBQUksU0FBUyxDQUFDLEtBQWE7UUFDekIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUN0QyxDQUFDO0lBR0QsaURBQWlE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QUdHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBSUYsU0FBUztzQkFEWixLQUFLO2dCQXdCSSxJQUFJO3NCQUFiLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIE9uQ2hhbmdlcyxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7XG4gIElQYWdpbmF0aW9uRXZlbnQsXG4gIElQYWdpbmF0aW9uSTE4bixcbiAgUGFnaW5hdGlvbkkxOG4sXG4gIFBhZ2luYXRpb25TaXplLFxufSBmcm9tICdAc2ViZ3JvdXAvZXh0cmFjdCdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmdnLXBhZ2luYXRpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vcGFnaW5hdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBOZ2dQYWdpbmF0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgLyoqIEludGVybmF0aW9uYWxpemF0aW9uIGxhYmVscyAqL1xuICBASW5wdXQoKSBpMThuOiBJUGFnaW5hdGlvbkkxOG4gPSBQYWdpbmF0aW9uSTE4blxuXG4gIC8qKiBSZW5kZXJlZCBzaXplICovXG4gIEBJbnB1dCgpIHNpemU6IFBhZ2luYXRpb25TaXplID0gJ3NtYWxsJ1xuXG4gIC8qKiBBbW91bnQgb2YgcGFnZXMgdG8gYmUgZGlzcGxheWVkIGJldHdlZW4gdGhlIGZpcnN0IGFuZCBsYXN0ICAqL1xuICBASW5wdXQoKSBkaXNwbGF5UGFnZXMgPSA1XG5cbiAgLyoqIFRvdGFsIGFtb3VudCBvZiBpdGVtcyB0byBiZSBwYWdpbmF0ZWQgKi9cbiAgQElucHV0KCkgbGVuZ3RoID0gMFxuXG4gIC8qKiBEaXNwbGF5ZWQgaXRlbXMgcGVyIHBhZ2UgKi9cbiAgQElucHV0KCkgcGFnZVNpemUgPSAxMFxuXG4gIC8qKiBUaGUgemVyby1iYXNlZCBwYWdlIGluZGV4IG9mIHRoZSBkaXNwbGF5ZWQgbGlzdCBvZiBwYWdlcy4gRGVmYXVsdGVkIHRvIDAuICovXG4gIEBJbnB1dCgpXG4gIGdldCBwYWdlSW5kZXgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fcGFnZUluZGV4XG4gIH1cbiAgc2V0IHBhZ2VJbmRleCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5fcGFnZUluZGV4ID0gTWF0aC5tYXgodmFsdWUsIDApXG4gIH1cbiAgcHJpdmF0ZSBfcGFnZUluZGV4ID0gMFxuXG4gIC8qKiBBbGwgY2VudHJpYyBwYWdlIGluZGljaWVzIHRvIGJlIGRpc3BsYXllZC4gKi9cbiAgZ2V0IHBhZ2VJbmRpY2llcygpOiBudW1iZXJbXSB7XG4gICAgcmV0dXJuIHRoaXMuX3BhZ2VJbmRpY2llc1xuICB9XG4gIHByaXZhdGUgX3BhZ2VJbmRpY2llczogbnVtYmVyW10gPSBbXVxuXG4gIGdldCB0b3RhbFBhZ2VzKCk6IG51bWJlciB7XG4gICAgaWYgKCF0aGlzLnBhZ2VTaXplKSB7XG4gICAgICByZXR1cm4gMFxuICAgIH1cblxuICAgIHJldHVybiBNYXRoLmNlaWwodGhpcy5sZW5ndGggLyB0aGlzLnBhZ2VTaXplKVxuICB9XG5cbiAgLyoqIEV2ZW50IGVtaXR0ZWQgd2hlbiBhIG5ldyBwYWdlIGluZGV4IGlzIHNlbGVjdGVkICovXG4gIEBPdXRwdXQoKSBwYWdlID0gbmV3IEV2ZW50RW1pdHRlcjxJUGFnaW5hdGlvbkV2ZW50PigpXG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgIGNoYW5nZXMuZGlzcGxheVBhZ2VzIHx8XG4gICAgICBjaGFuZ2VzLnBhZ2VJbmRleCB8fFxuICAgICAgY2hhbmdlcy5wYWdlU2l6ZSB8fFxuICAgICAgY2hhbmdlcy5sZW5ndGhcbiAgICApIHtcbiAgICAgIHRoaXMuX3BhZ2VJbmRpY2llcyA9IHRoaXMuZ2V0RGlzcGxheWVkUGFnZUluZGljaWVzKClcbiAgICB9XG4gIH1cblxuICBoYXNQcmV2aW91cygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5wYWdlSW5kZXggPj0gMVxuICB9XG5cbiAgaGFzTmV4dCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5wYWdlSW5kZXggPCB0aGlzLnRvdGFsUGFnZXMgLSAxXG4gIH1cblxuICBnb3RvRmlyc3QoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmhhc1ByZXZpb3VzKCkpIHtcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBjb25zdCBwcmV2aW91cyA9IHRoaXMucGFnZUluZGV4XG4gICAgdGhpcy5wYWdlSW5kZXggPSAwXG4gICAgdGhpcy5lbWl0KHByZXZpb3VzKVxuICB9XG5cbiAgZ290b0xhc3QoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmhhc05leHQoKSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGNvbnN0IHByZXZpb3VzID0gdGhpcy5wYWdlSW5kZXhcbiAgICB0aGlzLnBhZ2VJbmRleCA9IHRoaXMudG90YWxQYWdlcyAtIDFcbiAgICB0aGlzLmVtaXQocHJldmlvdXMpXG4gIH1cblxuICBnb3RvUHJldmlvdXMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmhhc1ByZXZpb3VzKCkpIHtcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBjb25zdCBwcmV2aW91cyA9IHRoaXMucGFnZUluZGV4XG4gICAgdGhpcy5wYWdlSW5kZXggPSBwcmV2aW91cyAtIDFcbiAgICB0aGlzLmVtaXQocHJldmlvdXMpXG4gIH1cblxuICBnb3RvTmV4dCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaGFzTmV4dCgpKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgY29uc3QgcHJldmlvdXMgPSB0aGlzLnBhZ2VJbmRleFxuICAgIHRoaXMucGFnZUluZGV4ID0gcHJldmlvdXMgKyAxXG4gICAgdGhpcy5lbWl0KHByZXZpb3VzKVxuICB9XG5cbiAgZ290byhpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKGluZGV4ID09PSB0aGlzLnBhZ2VJbmRleCB8fCBpbmRleCA8IDAgfHwgaW5kZXggPj0gdGhpcy50b3RhbFBhZ2VzKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgY29uc3QgcHJldmlvdXMgPSB0aGlzLnBhZ2VJbmRleFxuICAgIHRoaXMucGFnZUluZGV4ID0gaW5kZXhcbiAgICB0aGlzLmVtaXQocHJldmlvdXMpXG4gIH1cblxuICBwcml2YXRlIGVtaXQocHJldmlvdXM6IG51bWJlcikge1xuICAgIHRoaXMuX3BhZ2VJbmRpY2llcyA9IHRoaXMuZ2V0RGlzcGxheWVkUGFnZUluZGljaWVzKClcbiAgICB0aGlzLnBhZ2UuZW1pdCh7IHBhZ2VJbmRleDogdGhpcy5wYWdlSW5kZXgsIHByZXZpb3VzUGFnZUluZGV4OiBwcmV2aW91cyB9KVxuICB9XG5cbiAgcHJpdmF0ZSBnZXREaXNwbGF5ZWRQYWdlSW5kaWNpZXMoKTogbnVtYmVyW10ge1xuICAgIC8vIERvIG5vdCByZW5kZXJcbiAgICBpZiAodGhpcy50b3RhbFBhZ2VzIDw9IDEpIHtcbiAgICAgIHJldHVybiBbXVxuICAgIH1cblxuICAgIC8vIEFsbCBwYWdlcyBjYW4gZml0XG4gICAgaWYgKHRoaXMudG90YWxQYWdlcyA8PSB0aGlzLmRpc3BsYXlQYWdlcylcbiAgICAgIHJldHVybiBbLi4uQXJyYXkodGhpcy50b3RhbFBhZ2VzIC0gMikua2V5cygpXS5tYXAoKGluZGV4KSA9PiBpbmRleCArIDEpXG5cbiAgICAvLyBPbmx5IGZpcnN0ICYgbGFzdFxuICAgIGlmICh0aGlzLnRvdGFsUGFnZXMgPT09IDIpIHJldHVybiBbXVxuXG4gICAgcmV0dXJuIHRoaXMuZ2V0Q2VudGVyZWRQYWdlSW5kaWNpZXMoKVxuICB9XG5cbiAgLyoqXG4gICAqIEZpbmQgWCAoZGlzcGxheVBhZ2VzKSBhbW91bnQgb2YgcGFnZSBpbmRpY2llcyB0aGF0IGFyZSBjZW50ZXJlZCBmcm9tIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgcGFnZSBpbmRleCxcbiAgICogYnV0IGV4Y2x1ZGUgdGhlIGZpcnN0IGFuZCBsYXN0IGluZGljaWVzIGlmIHRoZXkgYXJlIHdpdGhpbiB0aGUgcmFuZ2UuXG4gICAqL1xuICBwcml2YXRlIGdldENlbnRlcmVkUGFnZUluZGljaWVzKCk6IG51bWJlcltdIHtcbiAgICBjb25zdCBwYWdlczogbnVtYmVyW10gPSBbXVxuXG4gICAgaWYgKHRoaXMucGFnZUluZGV4ID09PSAwKSB7XG4gICAgICBwYWdlcy5wdXNoKHRoaXMucGFnZUluZGV4ICsgMSlcbiAgICB9IGVsc2UgaWYgKHRoaXMucGFnZUluZGV4ID09PSB0aGlzLnRvdGFsUGFnZXMgLSAxKSB7XG4gICAgICBwYWdlcy5wdXNoKHRoaXMucGFnZUluZGV4IC0gMSlcbiAgICB9IGVsc2Uge1xuICAgICAgcGFnZXMucHVzaCh0aGlzLnBhZ2VJbmRleClcbiAgICB9XG5cbiAgICBjb25zdCBhZGRBZnRlciA9ICgpID0+IHtcbiAgICAgIGNvbnN0IG5leHQgPSBwYWdlc1twYWdlcy5sZW5ndGggLSAxXSArIDFcbiAgICAgIGlmIChuZXh0IDwgdGhpcy50b3RhbFBhZ2VzIC0gMSAmJiBjb3VudGVyID4gMCkge1xuICAgICAgICBwYWdlcy5wdXNoKG5leHQpXG4gICAgICAgIHJldHVybiB0cnVlXG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG4gICAgY29uc3QgYWRkQmVmb3JlID0gKCkgPT4ge1xuICAgICAgY29uc3QgcHJldmlvdXMgPSBwYWdlc1swXSAtIDFcbiAgICAgIGlmIChwcmV2aW91cyA+IDAgJiYgY291bnRlciA+IDApIHtcbiAgICAgICAgcGFnZXMudW5zaGlmdChwcmV2aW91cylcbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cblxuICAgIGxldCBjb3VudGVyID0gdGhpcy5kaXNwbGF5UGFnZXMgLSAxXG4gICAgd2hpbGUgKGNvdW50ZXIgPiAwKSB7XG4gICAgICBjb25zdCBhZGRlZEFmdGVyID0gYWRkQWZ0ZXIoKVxuICAgICAgaWYgKGFkZGVkQWZ0ZXIpIGNvdW50ZXItLVxuXG4gICAgICBjb25zdCBhZGRlZEJlZm9yZSA9IGFkZEJlZm9yZSgpXG4gICAgICBpZiAoYWRkZWRCZWZvcmUpIGNvdW50ZXItLVxuXG4gICAgICBpZiAoIWFkZGVkQWZ0ZXIgJiYgIWFkZGVkQmVmb3JlKSBicmVha1xuICAgIH1cblxuICAgIHJldHVybiBwYWdlc1xuICB9XG59XG4iLCI8bmF2XG4gIFtjbGFzc109XCIncGFnaW5hdGlvbiAnICsgc2l6ZVwiXG4gIHJvbGU9XCJuYXZpZ2F0aW9uXCJcbiAgW2F0dHIuYXJpYS1sYWJlbF09XCJpMThuLnBhZ2luYXRpb25MYWJlbFwiXG4gICpuZ0lmPVwidG90YWxQYWdlcyA+IDFcIlxuPlxuICA8dWwgY2xhc3M9XCJnZHMtcmVzZXRcIj5cbiAgICA8bGkgKm5nSWY9XCJoYXNQcmV2aW91cygpXCI+XG4gICAgICA8YVxuICAgICAgICBjbGFzcz1cImdkcy1yZXNldFwiXG4gICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgIChjbGljayk9XCJnb3RvUHJldmlvdXMoKVwiXG4gICAgICAgIChrZXlkb3duLmVudGVyKT1cImdvdG9QcmV2aW91cygpXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJpMThuLnByZXZpb3VzUGFnZUxhYmVsXCJcbiAgICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICA+XG4gICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMzIwIDUxMlwiPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBkPVwiTTkuNCAyMzMuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNsMTkyIDE5MmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zTDc3LjMgMjU2IDI0Ni42IDg2LjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBsLTE5MiAxOTJ6XCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L3N2Zz5cbiAgICAgIDwvYT5cbiAgICA8L2xpPlxuXG4gICAgPGxpPlxuICAgICAgPGFcbiAgICAgICAgY2xhc3M9XCJnZHMtcmVzZXRcIlxuICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICAoY2xpY2spPVwiZ290b0ZpcnN0KClcIlxuICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJnb3RvRmlyc3QoKVwiXG4gICAgICAgIFthdHRyLmFyaWEtY3VycmVudF09XCJwYWdlSW5kZXggPT09IDAgPyAncGFnZScgOiBudWxsXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJpMThuLmZpcnN0UGFnZUxhYmVsXCJcbiAgICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICA+XG4gICAgICAgIDFcbiAgICAgIDwvYT5cbiAgICA8L2xpPlxuICAgIDxsaSAqbmdJZj1cInBhZ2VJbmRpY2llc1swXSA+IDFcIiBhcmlhLWhpZGRlbj1cInRydWVcIj4uLi48L2xpPlxuXG4gICAgPGxpICpuZ0Zvcj1cImxldCBpbmRleCBvZiBwYWdlSW5kaWNpZXNcIj5cbiAgICAgIDxhXG4gICAgICAgIGNsYXNzPVwiZ2RzLXJlc2V0XCJcbiAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgKGNsaWNrKT1cImdvdG8oaW5kZXgpXCJcbiAgICAgICAgKGtleWRvd24uZW50ZXIpPVwiZ290byhpbmRleClcIlxuICAgICAgICBbYXR0ci5hcmlhLWN1cnJlbnRdPVwicGFnZUluZGV4ID09PSBpbmRleCA/ICdwYWdlJyA6IG51bGxcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImkxOG4uZ2V0UGFnZUxhYmVsKGluZGV4KVwiXG4gICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgPlxuICAgICAgICB7eyBpbmRleCArIDEgfX1cbiAgICAgIDwvYT5cbiAgICA8L2xpPlxuXG4gICAgPGxpXG4gICAgICAqbmdJZj1cInBhZ2VJbmRpY2llc1twYWdlSW5kaWNpZXMubGVuZ3RoIC0gMV0gPCB0b3RhbFBhZ2VzIC0gMlwiXG4gICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgID5cbiAgICAgIC4uLlxuICAgIDwvbGk+XG5cbiAgICA8bGk+XG4gICAgICA8YVxuICAgICAgICBjbGFzcz1cImdkcy1yZXNldFwiXG4gICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgIChjbGljayk9XCJnb3RvTGFzdCgpXCJcbiAgICAgICAgKGtleWRvd24uZW50ZXIpPVwiZ290b0xhc3QoKVwiXG4gICAgICAgIFthdHRyLmFyaWEtY3VycmVudF09XCJwYWdlSW5kZXggPT09IHRvdGFsUGFnZXMgLSAxID8gJ3BhZ2UnIDogbnVsbFwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiaTE4bi5sYXN0UGFnZUxhYmVsXCJcbiAgICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICA+XG4gICAgICAgIHt7IHRvdGFsUGFnZXMgfX1cbiAgICAgIDwvYT5cbiAgICA8L2xpPlxuICAgIDxsaSAqbmdJZj1cImhhc05leHQoKVwiPlxuICAgICAgPGFcbiAgICAgICAgY2xhc3M9XCJnZHMtcmVzZXRcIlxuICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICAoY2xpY2spPVwiZ290b05leHQoKVwiXG4gICAgICAgIChrZXlkb3duLmVudGVyKT1cImdvdG9OZXh0KClcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImkxOG4ubmV4dFBhZ2VMYWJlbFwiXG4gICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgPlxuICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDMyMCA1MTJcIj5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgZD1cIk0zMTAuNiAyMzMuNGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM2wtMTkyIDE5MmMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNMMjQyLjcgMjU2IDczLjQgODYuNmMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMGwxOTIgMTkyelwiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9zdmc+XG4gICAgICA8L2E+XG4gICAgPC9saT5cbiAgPC91bD5cbjwvbmF2PlxuIl19
@@ -1651,10 +1651,10 @@ class NggPaginationComponent {
1651
1651
  }
1652
1652
  }
1653
1653
  NggPaginationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggPaginationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1654
- NggPaginationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: NggPaginationComponent, selector: "ngg-pagination", inputs: { i18n: "i18n", size: "size", displayPages: "displayPages", length: "length", pageSize: "pageSize", pageIndex: "pageIndex" }, outputs: { page: "page" }, usesOnChanges: true, ngImport: i0, template: "<nav\n [class]=\"'pagination ' + size\"\n role=\"navigation\"\n [attr.aria-label]=\"i18n.paginationLabel\"\n *ngIf=\"totalPages > 1\"\n>\n <ul class=\"gds-reset\">\n <li *ngIf=\"hasPrevious()\">\n <a\n class=\"gds-reset\"\n tabindex=\"0\"\n (click)=\"gotoPrevious()\"\n [attr.aria-label]=\"i18n.previousPageLabel\"\n role=\"button\"\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 512\">\n <path\n d=\"M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l192 192c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 246.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-192 192z\"\n />\n </svg>\n </a>\n </li>\n\n <li>\n <a\n class=\"gds-reset\"\n tabindex=\"0\"\n (click)=\"gotoFirst()\"\n [attr.aria-current]=\"pageIndex === 0 ? 'page' : null\"\n [attr.aria-label]=\"i18n.firstPageLabel\"\n role=\"button\"\n >\n 1\n </a>\n </li>\n <li *ngIf=\"pageIndicies[0] > 1\" aria-hidden=\"true\">...</li>\n\n <li *ngFor=\"let index of pageIndicies\">\n <a\n class=\"gds-reset\"\n tabindex=\"0\"\n (click)=\"goto(index)\"\n [attr.aria-current]=\"pageIndex === index ? 'page' : null\"\n [attr.aria-label]=\"i18n.getPageLabel(index)\"\n role=\"button\"\n >\n {{ index + 1 }}\n </a>\n </li>\n\n <li\n *ngIf=\"pageIndicies[pageIndicies.length - 1] < totalPages - 2\"\n aria-hidden=\"true\"\n >\n ...\n </li>\n\n <li>\n <a\n class=\"gds-reset\"\n tabindex=\"0\"\n (click)=\"gotoLast()\"\n [attr.aria-current]=\"pageIndex === totalPages - 1 ? 'page' : null\"\n [attr.aria-label]=\"i18n.lastPageLabel\"\n role=\"button\"\n >\n {{ totalPages }}\n </a>\n </li>\n <li *ngIf=\"hasNext()\">\n <a\n class=\"gds-reset\"\n tabindex=\"0\"\n (click)=\"gotoNext()\"\n [attr.aria-label]=\"i18n.nextPageLabel\"\n role=\"button\"\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 512\">\n <path\n d=\"M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z\"\n />\n </svg>\n </a>\n </li>\n </ul>\n</nav>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1654
+ NggPaginationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: NggPaginationComponent, selector: "ngg-pagination", inputs: { i18n: "i18n", size: "size", displayPages: "displayPages", length: "length", pageSize: "pageSize", pageIndex: "pageIndex" }, outputs: { page: "page" }, usesOnChanges: true, ngImport: i0, template: "<nav\n [class]=\"'pagination ' + size\"\n role=\"navigation\"\n [attr.aria-label]=\"i18n.paginationLabel\"\n *ngIf=\"totalPages > 1\"\n>\n <ul class=\"gds-reset\">\n <li *ngIf=\"hasPrevious()\">\n <a\n class=\"gds-reset\"\n tabindex=\"0\"\n (click)=\"gotoPrevious()\"\n (keydown.enter)=\"gotoPrevious()\"\n [attr.aria-label]=\"i18n.previousPageLabel\"\n role=\"button\"\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 512\">\n <path\n d=\"M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l192 192c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 246.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-192 192z\"\n />\n </svg>\n </a>\n </li>\n\n <li>\n <a\n class=\"gds-reset\"\n tabindex=\"0\"\n (click)=\"gotoFirst()\"\n (keydown.enter)=\"gotoFirst()\"\n [attr.aria-current]=\"pageIndex === 0 ? 'page' : null\"\n [attr.aria-label]=\"i18n.firstPageLabel\"\n role=\"button\"\n >\n 1\n </a>\n </li>\n <li *ngIf=\"pageIndicies[0] > 1\" aria-hidden=\"true\">...</li>\n\n <li *ngFor=\"let index of pageIndicies\">\n <a\n class=\"gds-reset\"\n tabindex=\"0\"\n (click)=\"goto(index)\"\n (keydown.enter)=\"goto(index)\"\n [attr.aria-current]=\"pageIndex === index ? 'page' : null\"\n [attr.aria-label]=\"i18n.getPageLabel(index)\"\n role=\"button\"\n >\n {{ index + 1 }}\n </a>\n </li>\n\n <li\n *ngIf=\"pageIndicies[pageIndicies.length - 1] < totalPages - 2\"\n aria-hidden=\"true\"\n >\n ...\n </li>\n\n <li>\n <a\n class=\"gds-reset\"\n tabindex=\"0\"\n (click)=\"gotoLast()\"\n (keydown.enter)=\"gotoLast()\"\n [attr.aria-current]=\"pageIndex === totalPages - 1 ? 'page' : null\"\n [attr.aria-label]=\"i18n.lastPageLabel\"\n role=\"button\"\n >\n {{ totalPages }}\n </a>\n </li>\n <li *ngIf=\"hasNext()\">\n <a\n class=\"gds-reset\"\n tabindex=\"0\"\n (click)=\"gotoNext()\"\n (keydown.enter)=\"gotoNext()\"\n [attr.aria-label]=\"i18n.nextPageLabel\"\n role=\"button\"\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 512\">\n <path\n d=\"M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z\"\n />\n </svg>\n </a>\n </li>\n </ul>\n</nav>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1655
1655
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggPaginationComponent, decorators: [{
1656
1656
  type: Component,
1657
- args: [{ selector: 'ngg-pagination', changeDetection: ChangeDetectionStrategy.OnPush, template: "<nav\n [class]=\"'pagination ' + size\"\n role=\"navigation\"\n [attr.aria-label]=\"i18n.paginationLabel\"\n *ngIf=\"totalPages > 1\"\n>\n <ul class=\"gds-reset\">\n <li *ngIf=\"hasPrevious()\">\n <a\n class=\"gds-reset\"\n tabindex=\"0\"\n (click)=\"gotoPrevious()\"\n [attr.aria-label]=\"i18n.previousPageLabel\"\n role=\"button\"\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 512\">\n <path\n d=\"M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l192 192c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 246.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-192 192z\"\n />\n </svg>\n </a>\n </li>\n\n <li>\n <a\n class=\"gds-reset\"\n tabindex=\"0\"\n (click)=\"gotoFirst()\"\n [attr.aria-current]=\"pageIndex === 0 ? 'page' : null\"\n [attr.aria-label]=\"i18n.firstPageLabel\"\n role=\"button\"\n >\n 1\n </a>\n </li>\n <li *ngIf=\"pageIndicies[0] > 1\" aria-hidden=\"true\">...</li>\n\n <li *ngFor=\"let index of pageIndicies\">\n <a\n class=\"gds-reset\"\n tabindex=\"0\"\n (click)=\"goto(index)\"\n [attr.aria-current]=\"pageIndex === index ? 'page' : null\"\n [attr.aria-label]=\"i18n.getPageLabel(index)\"\n role=\"button\"\n >\n {{ index + 1 }}\n </a>\n </li>\n\n <li\n *ngIf=\"pageIndicies[pageIndicies.length - 1] < totalPages - 2\"\n aria-hidden=\"true\"\n >\n ...\n </li>\n\n <li>\n <a\n class=\"gds-reset\"\n tabindex=\"0\"\n (click)=\"gotoLast()\"\n [attr.aria-current]=\"pageIndex === totalPages - 1 ? 'page' : null\"\n [attr.aria-label]=\"i18n.lastPageLabel\"\n role=\"button\"\n >\n {{ totalPages }}\n </a>\n </li>\n <li *ngIf=\"hasNext()\">\n <a\n class=\"gds-reset\"\n tabindex=\"0\"\n (click)=\"gotoNext()\"\n [attr.aria-label]=\"i18n.nextPageLabel\"\n role=\"button\"\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 512\">\n <path\n d=\"M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z\"\n />\n </svg>\n </a>\n </li>\n </ul>\n</nav>\n" }]
1657
+ args: [{ selector: 'ngg-pagination', changeDetection: ChangeDetectionStrategy.OnPush, template: "<nav\n [class]=\"'pagination ' + size\"\n role=\"navigation\"\n [attr.aria-label]=\"i18n.paginationLabel\"\n *ngIf=\"totalPages > 1\"\n>\n <ul class=\"gds-reset\">\n <li *ngIf=\"hasPrevious()\">\n <a\n class=\"gds-reset\"\n tabindex=\"0\"\n (click)=\"gotoPrevious()\"\n (keydown.enter)=\"gotoPrevious()\"\n [attr.aria-label]=\"i18n.previousPageLabel\"\n role=\"button\"\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 512\">\n <path\n d=\"M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l192 192c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 246.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-192 192z\"\n />\n </svg>\n </a>\n </li>\n\n <li>\n <a\n class=\"gds-reset\"\n tabindex=\"0\"\n (click)=\"gotoFirst()\"\n (keydown.enter)=\"gotoFirst()\"\n [attr.aria-current]=\"pageIndex === 0 ? 'page' : null\"\n [attr.aria-label]=\"i18n.firstPageLabel\"\n role=\"button\"\n >\n 1\n </a>\n </li>\n <li *ngIf=\"pageIndicies[0] > 1\" aria-hidden=\"true\">...</li>\n\n <li *ngFor=\"let index of pageIndicies\">\n <a\n class=\"gds-reset\"\n tabindex=\"0\"\n (click)=\"goto(index)\"\n (keydown.enter)=\"goto(index)\"\n [attr.aria-current]=\"pageIndex === index ? 'page' : null\"\n [attr.aria-label]=\"i18n.getPageLabel(index)\"\n role=\"button\"\n >\n {{ index + 1 }}\n </a>\n </li>\n\n <li\n *ngIf=\"pageIndicies[pageIndicies.length - 1] < totalPages - 2\"\n aria-hidden=\"true\"\n >\n ...\n </li>\n\n <li>\n <a\n class=\"gds-reset\"\n tabindex=\"0\"\n (click)=\"gotoLast()\"\n (keydown.enter)=\"gotoLast()\"\n [attr.aria-current]=\"pageIndex === totalPages - 1 ? 'page' : null\"\n [attr.aria-label]=\"i18n.lastPageLabel\"\n role=\"button\"\n >\n {{ totalPages }}\n </a>\n </li>\n <li *ngIf=\"hasNext()\">\n <a\n class=\"gds-reset\"\n tabindex=\"0\"\n (click)=\"gotoNext()\"\n (keydown.enter)=\"gotoNext()\"\n [attr.aria-label]=\"i18n.nextPageLabel\"\n role=\"button\"\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 512\">\n <path\n d=\"M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z\"\n />\n </svg>\n </a>\n </li>\n </ul>\n</nav>\n" }]
1658
1658
  }], propDecorators: { i18n: [{
1659
1659
  type: Input
1660
1660
  }], size: [{