@porscheinformatik/clr-addons 15.7.1 → 15.8.0

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.
@@ -1,14 +1,19 @@
1
1
  /*
2
- * Copyright (c) 2018-2020 Porsche Informatik. All Rights Reserved.
2
+ * Copyright (c) 2018-2024 Porsche Informatik. All Rights Reserved.
3
3
  * This software is released under MIT license.
4
4
  * The full license information can be found in LICENSE in the root directory of this project.
5
5
  */
6
6
  import { Component, ContentChild, EventEmitter, Input, Output, TemplateRef } from '@angular/core';
7
7
  import * as i0 from "@angular/core";
8
8
  import * as i1 from "@angular/common";
9
- import * as i2 from "../pager/pager";
9
+ import * as i2 from "@clr/angular";
10
+ import * as i3 from "../pager/pager";
10
11
  export class ClrPagedSearchResultList {
11
12
  constructor() {
13
+ /**
14
+ * Page size label.
15
+ */
16
+ this.pageSizeLabel = 'Results per page (Translate me)';
12
17
  /**
13
18
  * The position of the pager
14
19
  */
@@ -17,16 +22,26 @@ export class ClrPagedSearchResultList {
17
22
  * Triggered whenever a page change occurs.
18
23
  */
19
24
  this.pageChange = new EventEmitter();
25
+ /**
26
+ * Triggered whenever a page size change occurs.
27
+ */
28
+ this.pageSizeChange = new EventEmitter();
20
29
  }
21
30
  }
22
31
  ClrPagedSearchResultList.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ClrPagedSearchResultList, deps: [], target: i0.ɵɵFactoryTarget.Component });
23
- ClrPagedSearchResultList.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: ClrPagedSearchResultList, selector: "clr-paged-search-result-list", inputs: { pageSize: ["clrPageSize", "pageSize"], currentPage: ["clrPage", "currentPage"], totalItems: ["clrTotalItems", "totalItems"], items: ["clrItems", "items"], clrPagerPosition: "clrPagerPosition" }, outputs: { pageChange: "clrPageChange" }, queries: [{ propertyName: "itemTemplate", first: true, predicate: TemplateRef, descendants: true, static: true }], ngImport: i0, template: "<div class=\"clr-row\">\n <clr-pager\n class=\"pager-top\"\n *ngIf=\"clrPagerPosition === 'top' || clrPagerPosition === 'both'\"\n [clrPage]=\"currentPage\"\n [clrPageSize]=\"pageSize\"\n [clrTotalItems]=\"totalItems\"\n (clrPageChange)=\"pageChange.emit($event)\"\n ></clr-pager>\n</div>\n<ng-container *ngFor=\"let item of items\" [ngTemplateOutlet]=\"itemTemplate\" [ngTemplateOutletContext]=\"{item: item}\">\n <div *ngIf=\"!itemTemplate\">Item template input is undefined!</div>\n</ng-container>\n<div class=\"clr-row\">\n <clr-pager\n class=\"pager-bottom\"\n *ngIf=\"clrPagerPosition === 'bottom' || clrPagerPosition === 'both'\"\n [clrPage]=\"currentPage\"\n [clrPageSize]=\"pageSize\"\n [clrTotalItems]=\"totalItems\"\n (clrPageChange)=\"pageChange.emit($event)\"\n ></clr-pager>\n</div>\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"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.ClrPager, selector: "clr-pager", inputs: ["clrPageSize", "clrTotalItems", "clrLast", "clrPage"], outputs: ["clrPageChange"] }] });
32
+ ClrPagedSearchResultList.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: ClrPagedSearchResultList, selector: "clr-paged-search-result-list", inputs: { pageSize: ["clrPageSize", "pageSize"], pageSizeOptions: ["clrPageSizeOptions", "pageSizeOptions"], pageSizeLabel: ["clrPageSizeLabel", "pageSizeLabel"], currentPage: ["clrPage", "currentPage"], totalItems: ["clrTotalItems", "totalItems"], items: ["clrItems", "items"], clrPagerPosition: "clrPagerPosition" }, outputs: { pageChange: "clrPageChange", pageSizeChange: "clrPageSizeChange" }, queries: [{ propertyName: "itemTemplate", first: true, predicate: TemplateRef, descendants: true, static: true }], ngImport: i0, template: "<div *ngIf=\"clrPagerPosition === 'top' || clrPagerPosition === 'both'\">\n <ng-container [ngTemplateOutlet]=\"pager\" [ngTemplateOutletContext]=\"{ $implicit: 'top' }\"> </ng-container>\n</div>\n<ng-container *ngFor=\"let item of items\" [ngTemplateOutlet]=\"itemTemplate\" [ngTemplateOutletContext]=\"{item: item}\">\n <div *ngIf=\"!itemTemplate\">Item template input is undefined!</div>\n</ng-container>\n<div *ngIf=\"clrPagerPosition === 'bottom' || clrPagerPosition === 'both'\">\n <ng-container [ngTemplateOutlet]=\"pager\" [ngTemplateOutletContext]=\"{ $implicit: 'bottom' }\"> </ng-container>\n</div>\n<ng-template #pager let-position>\n <div class=\"clr-row\">\n <div [class.pager-top]=\"position === 'top'\" [class.pager-bottom]=\"position === 'bottom'\">\n <ng-container *ngTemplateOutlet=\"pageSizeDropdown\"></ng-container>\n <clr-pager\n [clrPage]=\"currentPage\"\n [clrPageSize]=\"pageSize\"\n [clrTotalItems]=\"totalItems\"\n (clrPageChange)=\"pageChange.emit($event)\"\n ></clr-pager>\n </div>\n </div>\n</ng-template>\n<ng-template #pageSizeDropdown>\n <div *ngIf=\"pageSizeOptions?.length > 1\">\n <clr-dropdown>\n <button type=\"button\" class=\"btn btn-link options-text-button btn-no-capitalized\" clrDropdownTrigger>\n {{pageSizeLabel}}: {{pageSize}}\n <cds-icon shape=\"angle\" direction=\"down\"></cds-icon>\n </button>\n <button type=\"button\" class=\"btn btn-link options-icon-button\" clrDropdownTrigger>\n <cds-icon shape=\"cog\"></cds-icon>\n <cds-icon shape=\"angle\" direction=\"down\"></cds-icon>\n </button>\n <clr-dropdown-menu class=\"spinner-in-front\" clrPosition=\"top-right\">\n <ng-container *ngFor=\"let sizeOption of pageSizeOptions\">\n <button type=\"button\" clrDropdownItem (click)=\"pageSizeChange.emit(sizeOption)\">{{sizeOption}}</button>\n </ng-container>\n </clr-dropdown-menu>\n </clr-dropdown>\n </div>\n</ng-template>\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"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.CdsIconCustomTag, selector: "cds-icon" }, { kind: "component", type: i2.ClrDropdown, selector: "clr-dropdown", inputs: ["clrCloseMenuOnItemClick"] }, { kind: "component", type: i2.ClrDropdownMenu, selector: "clr-dropdown-menu", inputs: ["clrPosition"] }, { kind: "directive", type: i2.ClrDropdownTrigger, selector: "[clrDropdownTrigger],[clrDropdownToggle]" }, { kind: "directive", type: i2.ClrDropdownItem, selector: "[clrDropdownItem]", inputs: ["clrDisabled", "id"] }, { kind: "component", type: i3.ClrPager, selector: "clr-pager", inputs: ["clrPageSize", "clrTotalItems", "clrLast", "clrPage"], outputs: ["clrPageChange"] }] });
24
33
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ClrPagedSearchResultList, decorators: [{
25
34
  type: Component,
26
- args: [{ selector: 'clr-paged-search-result-list', template: "<div class=\"clr-row\">\n <clr-pager\n class=\"pager-top\"\n *ngIf=\"clrPagerPosition === 'top' || clrPagerPosition === 'both'\"\n [clrPage]=\"currentPage\"\n [clrPageSize]=\"pageSize\"\n [clrTotalItems]=\"totalItems\"\n (clrPageChange)=\"pageChange.emit($event)\"\n ></clr-pager>\n</div>\n<ng-container *ngFor=\"let item of items\" [ngTemplateOutlet]=\"itemTemplate\" [ngTemplateOutletContext]=\"{item: item}\">\n <div *ngIf=\"!itemTemplate\">Item template input is undefined!</div>\n</ng-container>\n<div class=\"clr-row\">\n <clr-pager\n class=\"pager-bottom\"\n *ngIf=\"clrPagerPosition === 'bottom' || clrPagerPosition === 'both'\"\n [clrPage]=\"currentPage\"\n [clrPageSize]=\"pageSize\"\n [clrTotalItems]=\"totalItems\"\n (clrPageChange)=\"pageChange.emit($event)\"\n ></clr-pager>\n</div>\n" }]
35
+ args: [{ selector: 'clr-paged-search-result-list', template: "<div *ngIf=\"clrPagerPosition === 'top' || clrPagerPosition === 'both'\">\n <ng-container [ngTemplateOutlet]=\"pager\" [ngTemplateOutletContext]=\"{ $implicit: 'top' }\"> </ng-container>\n</div>\n<ng-container *ngFor=\"let item of items\" [ngTemplateOutlet]=\"itemTemplate\" [ngTemplateOutletContext]=\"{item: item}\">\n <div *ngIf=\"!itemTemplate\">Item template input is undefined!</div>\n</ng-container>\n<div *ngIf=\"clrPagerPosition === 'bottom' || clrPagerPosition === 'both'\">\n <ng-container [ngTemplateOutlet]=\"pager\" [ngTemplateOutletContext]=\"{ $implicit: 'bottom' }\"> </ng-container>\n</div>\n<ng-template #pager let-position>\n <div class=\"clr-row\">\n <div [class.pager-top]=\"position === 'top'\" [class.pager-bottom]=\"position === 'bottom'\">\n <ng-container *ngTemplateOutlet=\"pageSizeDropdown\"></ng-container>\n <clr-pager\n [clrPage]=\"currentPage\"\n [clrPageSize]=\"pageSize\"\n [clrTotalItems]=\"totalItems\"\n (clrPageChange)=\"pageChange.emit($event)\"\n ></clr-pager>\n </div>\n </div>\n</ng-template>\n<ng-template #pageSizeDropdown>\n <div *ngIf=\"pageSizeOptions?.length > 1\">\n <clr-dropdown>\n <button type=\"button\" class=\"btn btn-link options-text-button btn-no-capitalized\" clrDropdownTrigger>\n {{pageSizeLabel}}: {{pageSize}}\n <cds-icon shape=\"angle\" direction=\"down\"></cds-icon>\n </button>\n <button type=\"button\" class=\"btn btn-link options-icon-button\" clrDropdownTrigger>\n <cds-icon shape=\"cog\"></cds-icon>\n <cds-icon shape=\"angle\" direction=\"down\"></cds-icon>\n </button>\n <clr-dropdown-menu class=\"spinner-in-front\" clrPosition=\"top-right\">\n <ng-container *ngFor=\"let sizeOption of pageSizeOptions\">\n <button type=\"button\" clrDropdownItem (click)=\"pageSizeChange.emit(sizeOption)\">{{sizeOption}}</button>\n </ng-container>\n </clr-dropdown-menu>\n </clr-dropdown>\n </div>\n</ng-template>\n" }]
27
36
  }], propDecorators: { pageSize: [{
28
37
  type: Input,
29
38
  args: ['clrPageSize']
39
+ }], pageSizeOptions: [{
40
+ type: Input,
41
+ args: ['clrPageSizeOptions']
42
+ }], pageSizeLabel: [{
43
+ type: Input,
44
+ args: ['clrPageSizeLabel']
30
45
  }], currentPage: [{
31
46
  type: Input,
32
47
  args: ['clrPage']
@@ -45,5 +60,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImpor
45
60
  }], pageChange: [{
46
61
  type: Output,
47
62
  args: ['clrPageChange']
63
+ }], pageSizeChange: [{
64
+ type: Output,
65
+ args: ['clrPageSizeChange']
48
66
  }] } });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZWQtc2VhcmNoLXJlc3VsdC1saXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2Nsci1hZGRvbnMvcGFnZWQtc2VhcmNoLXJlc3VsdC1saXN0L3BhZ2VkLXNlYXJjaC1yZXN1bHQtbGlzdC50cyIsIi4uLy4uLy4uLy4uL3NyYy9jbHItYWRkb25zL3BhZ2VkLXNlYXJjaC1yZXN1bHQtbGlzdC9wYWdlZC1zZWFyY2gtcmVzdWx0LWxpc3QuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBTWxHLE1BQU0sT0FBTyx3QkFBd0I7SUFKckM7UUErQkU7O1dBRUc7UUFDd0IscUJBQWdCLEdBQUcsUUFBUSxDQUFDO1FBRXZEOztXQUVHO1FBQ3NCLGVBQVUsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztLQUM3RTs7cUhBcENZLHdCQUF3Qjt5R0FBeEIsd0JBQXdCLHFXQXdCckIsV0FBVyw4RENwQzNCLHkwQkF1QkE7MkZEWGEsd0JBQXdCO2tCQUpwQyxTQUFTOytCQUNFLDhCQUE4Qjs4QkFPbEIsUUFBUTtzQkFBN0IsS0FBSzt1QkFBQyxhQUFhO2dCQUtGLFdBQVc7c0JBQTVCLEtBQUs7dUJBQUMsU0FBUztnQkFLUSxVQUFVO3NCQUFqQyxLQUFLO3VCQUFDLGVBQWU7Z0JBS0gsS0FBSztzQkFBdkIsS0FBSzt1QkFBQyxVQUFVO2dCQU1qQixZQUFZO3NCQURYLFlBQVk7dUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFNaEIsZ0JBQWdCO3NCQUExQyxLQUFLO3VCQUFDLGtCQUFrQjtnQkFLQSxVQUFVO3NCQUFsQyxNQUFNO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LTIwMjAgUG9yc2NoZSBJbmZvcm1hdGlrLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICogVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciBNSVQgbGljZW5zZS5cbiAqIFRoZSBmdWxsIGxpY2Vuc2UgaW5mb3JtYXRpb24gY2FuIGJlIGZvdW5kIGluIExJQ0VOU0UgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgcHJvamVjdC5cbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjbHItcGFnZWQtc2VhcmNoLXJlc3VsdC1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BhZ2VkLXNlYXJjaC1yZXN1bHQtbGlzdC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgQ2xyUGFnZWRTZWFyY2hSZXN1bHRMaXN0IHtcbiAgLyoqXG4gICAqIFRoZSBwYWdlIHNpemUsIHVzZWQgZm9yIHBhZ2luYXRpb24uXG4gICAqL1xuICBASW5wdXQoJ2NsclBhZ2VTaXplJykgcGFnZVNpemU6IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIGN1cnJlbnQgcGFnZSwgdXNlZCBmb3IgcGFnaW5hdGlvbi5cbiAgICovXG4gIEBJbnB1dCgnY2xyUGFnZScpIGN1cnJlbnRQYWdlOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIE51bWJlciBvZiB0b3RhbCBpdGVtcywgdXNlZCBmb3IgcGFnaW5hdGlvbi5cbiAgICovXG4gIEBJbnB1dCgnY2xyVG90YWxJdGVtcycpIHRvdGFsSXRlbXM6IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIGFycmF5IG9mIGl0ZW1zIHRvIGJlIGRpc3BsYXllZC5cbiAgICovXG4gIEBJbnB1dCgnY2xySXRlbXMnKSBpdGVtczogQXJyYXk8YW55PjtcblxuICAvKipcbiAgICogVGhlIHRlbXBsYXRlIGhvdyBlYWNoIGl0ZW0gc2hvdWxkIGJlIGRpc3BsYXllZC5cbiAgICovXG4gIEBDb250ZW50Q2hpbGQoVGVtcGxhdGVSZWYsIHsgc3RhdGljOiB0cnVlIH0pXG4gIGl0ZW1UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAvKipcbiAgICogVGhlIHBvc2l0aW9uIG9mIHRoZSBwYWdlclxuICAgKi9cbiAgQElucHV0KCdjbHJQYWdlclBvc2l0aW9uJykgY2xyUGFnZXJQb3NpdGlvbiA9ICdib3R0b20nO1xuXG4gIC8qKlxuICAgKiBUcmlnZ2VyZWQgd2hlbmV2ZXIgYSBwYWdlIGNoYW5nZSBvY2N1cnMuXG4gICAqL1xuICBAT3V0cHV0KCdjbHJQYWdlQ2hhbmdlJykgcGFnZUNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG59XG4iLCI8ZGl2IGNsYXNzPVwiY2xyLXJvd1wiPlxuICA8Y2xyLXBhZ2VyXG4gICAgY2xhc3M9XCJwYWdlci10b3BcIlxuICAgICpuZ0lmPVwiY2xyUGFnZXJQb3NpdGlvbiA9PT0gJ3RvcCcgfHwgY2xyUGFnZXJQb3NpdGlvbiA9PT0gJ2JvdGgnXCJcbiAgICBbY2xyUGFnZV09XCJjdXJyZW50UGFnZVwiXG4gICAgW2NsclBhZ2VTaXplXT1cInBhZ2VTaXplXCJcbiAgICBbY2xyVG90YWxJdGVtc109XCJ0b3RhbEl0ZW1zXCJcbiAgICAoY2xyUGFnZUNoYW5nZSk9XCJwYWdlQ2hhbmdlLmVtaXQoJGV2ZW50KVwiXG4gID48L2Nsci1wYWdlcj5cbjwvZGl2PlxuPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtc1wiIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIml0ZW1UZW1wbGF0ZVwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7aXRlbTogaXRlbX1cIj5cbiAgPGRpdiAqbmdJZj1cIiFpdGVtVGVtcGxhdGVcIj5JdGVtIHRlbXBsYXRlIGlucHV0IGlzIHVuZGVmaW5lZCE8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuPGRpdiBjbGFzcz1cImNsci1yb3dcIj5cbiAgPGNsci1wYWdlclxuICAgIGNsYXNzPVwicGFnZXItYm90dG9tXCJcbiAgICAqbmdJZj1cImNsclBhZ2VyUG9zaXRpb24gPT09ICdib3R0b20nIHx8IGNsclBhZ2VyUG9zaXRpb24gPT09ICdib3RoJ1wiXG4gICAgW2NsclBhZ2VdPVwiY3VycmVudFBhZ2VcIlxuICAgIFtjbHJQYWdlU2l6ZV09XCJwYWdlU2l6ZVwiXG4gICAgW2NsclRvdGFsSXRlbXNdPVwidG90YWxJdGVtc1wiXG4gICAgKGNsclBhZ2VDaGFuZ2UpPVwicGFnZUNoYW5nZS5lbWl0KCRldmVudClcIlxuICA+PC9jbHItcGFnZXI+XG48L2Rpdj5cbiJdfQ==
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZWQtc2VhcmNoLXJlc3VsdC1saXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2Nsci1hZGRvbnMvcGFnZWQtc2VhcmNoLXJlc3VsdC1saXN0L3BhZ2VkLXNlYXJjaC1yZXN1bHQtbGlzdC50cyIsIi4uLy4uLy4uLy4uL3NyYy9jbHItYWRkb25zL3BhZ2VkLXNlYXJjaC1yZXN1bHQtbGlzdC9wYWdlZC1zZWFyY2gtcmVzdWx0LWxpc3QuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQU1sRyxNQUFNLE9BQU8sd0JBQXdCO0lBSnJDO1FBZUU7O1dBRUc7UUFDd0Isa0JBQWEsR0FBVyxpQ0FBaUMsQ0FBQztRQXVCckY7O1dBRUc7UUFDd0IscUJBQWdCLEdBQUcsUUFBUSxDQUFDO1FBRXZEOztXQUVHO1FBQ3NCLGVBQVUsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUU1RTs7V0FFRztRQUMwQixtQkFBYyxHQUF5QixJQUFJLFlBQVksRUFBRSxDQUFDO0tBQ3hGOztxSEFuRFksd0JBQXdCO3lHQUF4Qix3QkFBd0IsNGZBa0NyQixXQUFXLDhEQzlDM0IsbytEQXlDQTsyRkQ3QmEsd0JBQXdCO2tCQUpwQyxTQUFTOytCQUNFLDhCQUE4Qjs4QkFPbEIsUUFBUTtzQkFBN0IsS0FBSzt1QkFBQyxhQUFhO2dCQUtTLGVBQWU7c0JBQTNDLEtBQUs7dUJBQUMsb0JBQW9CO2dCQUtBLGFBQWE7c0JBQXZDLEtBQUs7dUJBQUMsa0JBQWtCO2dCQUtQLFdBQVc7c0JBQTVCLEtBQUs7dUJBQUMsU0FBUztnQkFLUSxVQUFVO3NCQUFqQyxLQUFLO3VCQUFDLGVBQWU7Z0JBS0gsS0FBSztzQkFBdkIsS0FBSzt1QkFBQyxVQUFVO2dCQU1qQixZQUFZO3NCQURYLFlBQVk7dUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFNaEIsZ0JBQWdCO3NCQUExQyxLQUFLO3VCQUFDLGtCQUFrQjtnQkFLQSxVQUFVO3NCQUFsQyxNQUFNO3VCQUFDLGVBQWU7Z0JBS00sY0FBYztzQkFBMUMsTUFBTTt1QkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LTIwMjQgUG9yc2NoZSBJbmZvcm1hdGlrLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICogVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciBNSVQgbGljZW5zZS5cbiAqIFRoZSBmdWxsIGxpY2Vuc2UgaW5mb3JtYXRpb24gY2FuIGJlIGZvdW5kIGluIExJQ0VOU0UgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgcHJvamVjdC5cbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjbHItcGFnZWQtc2VhcmNoLXJlc3VsdC1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BhZ2VkLXNlYXJjaC1yZXN1bHQtbGlzdC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgQ2xyUGFnZWRTZWFyY2hSZXN1bHRMaXN0IHtcbiAgLyoqXG4gICAqIFRoZSBwYWdlIHNpemUsIHVzZWQgZm9yIHBhZ2luYXRpb24uXG4gICAqL1xuICBASW5wdXQoJ2NsclBhZ2VTaXplJykgcGFnZVNpemU6IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIHBhZ2Ugc2l6ZSBvcHRpb25zLCB1c2VkIGZvciBjaGFuZ2luZyB0aGUgc2l6ZSBvZiB0aGUgcGFnZS5cbiAgICovXG4gIEBJbnB1dCgnY2xyUGFnZVNpemVPcHRpb25zJykgcGFnZVNpemVPcHRpb25zPzogbnVtYmVyW107XG5cbiAgLyoqXG4gICAqIFBhZ2Ugc2l6ZSBsYWJlbC5cbiAgICovXG4gIEBJbnB1dCgnY2xyUGFnZVNpemVMYWJlbCcpIHBhZ2VTaXplTGFiZWw6IHN0cmluZyA9ICdSZXN1bHRzIHBlciBwYWdlIChUcmFuc2xhdGUgbWUpJztcblxuICAvKipcbiAgICogVGhlIGN1cnJlbnQgcGFnZSwgdXNlZCBmb3IgcGFnaW5hdGlvbi5cbiAgICovXG4gIEBJbnB1dCgnY2xyUGFnZScpIGN1cnJlbnRQYWdlOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIE51bWJlciBvZiB0b3RhbCBpdGVtcywgdXNlZCBmb3IgcGFnaW5hdGlvbi5cbiAgICovXG4gIEBJbnB1dCgnY2xyVG90YWxJdGVtcycpIHRvdGFsSXRlbXM6IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIGFycmF5IG9mIGl0ZW1zIHRvIGJlIGRpc3BsYXllZC5cbiAgICovXG4gIEBJbnB1dCgnY2xySXRlbXMnKSBpdGVtczogQXJyYXk8YW55PjtcblxuICAvKipcbiAgICogVGhlIHRlbXBsYXRlIGhvdyBlYWNoIGl0ZW0gc2hvdWxkIGJlIGRpc3BsYXllZC5cbiAgICovXG4gIEBDb250ZW50Q2hpbGQoVGVtcGxhdGVSZWYsIHsgc3RhdGljOiB0cnVlIH0pXG4gIGl0ZW1UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAvKipcbiAgICogVGhlIHBvc2l0aW9uIG9mIHRoZSBwYWdlclxuICAgKi9cbiAgQElucHV0KCdjbHJQYWdlclBvc2l0aW9uJykgY2xyUGFnZXJQb3NpdGlvbiA9ICdib3R0b20nO1xuXG4gIC8qKlxuICAgKiBUcmlnZ2VyZWQgd2hlbmV2ZXIgYSBwYWdlIGNoYW5nZSBvY2N1cnMuXG4gICAqL1xuICBAT3V0cHV0KCdjbHJQYWdlQ2hhbmdlJykgcGFnZUNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLyoqXG4gICAqIFRyaWdnZXJlZCB3aGVuZXZlciBhIHBhZ2Ugc2l6ZSBjaGFuZ2Ugb2NjdXJzLlxuICAgKi9cbiAgQE91dHB1dCgnY2xyUGFnZVNpemVDaGFuZ2UnKSBwYWdlU2l6ZUNoYW5nZTogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG59XG4iLCI8ZGl2ICpuZ0lmPVwiY2xyUGFnZXJQb3NpdGlvbiA9PT0gJ3RvcCcgfHwgY2xyUGFnZXJQb3NpdGlvbiA9PT0gJ2JvdGgnXCI+XG4gIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwicGFnZXJcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6ICd0b3AnIH1cIj4gPC9uZy1jb250YWluZXI+XG48L2Rpdj5cbjxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXNcIiBbbmdUZW1wbGF0ZU91dGxldF09XCJpdGVtVGVtcGxhdGVcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie2l0ZW06IGl0ZW19XCI+XG4gIDxkaXYgKm5nSWY9XCIhaXRlbVRlbXBsYXRlXCI+SXRlbSB0ZW1wbGF0ZSBpbnB1dCBpcyB1bmRlZmluZWQhPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbjxkaXYgKm5nSWY9XCJjbHJQYWdlclBvc2l0aW9uID09PSAnYm90dG9tJyB8fCBjbHJQYWdlclBvc2l0aW9uID09PSAnYm90aCdcIj5cbiAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJwYWdlclwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogJ2JvdHRvbScgfVwiPiA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuPG5nLXRlbXBsYXRlICNwYWdlciBsZXQtcG9zaXRpb24+XG4gIDxkaXYgY2xhc3M9XCJjbHItcm93XCI+XG4gICAgPGRpdiBbY2xhc3MucGFnZXItdG9wXT1cInBvc2l0aW9uID09PSAndG9wJ1wiIFtjbGFzcy5wYWdlci1ib3R0b21dPVwicG9zaXRpb24gPT09ICdib3R0b20nXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicGFnZVNpemVEcm9wZG93blwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPGNsci1wYWdlclxuICAgICAgICBbY2xyUGFnZV09XCJjdXJyZW50UGFnZVwiXG4gICAgICAgIFtjbHJQYWdlU2l6ZV09XCJwYWdlU2l6ZVwiXG4gICAgICAgIFtjbHJUb3RhbEl0ZW1zXT1cInRvdGFsSXRlbXNcIlxuICAgICAgICAoY2xyUGFnZUNoYW5nZSk9XCJwYWdlQ2hhbmdlLmVtaXQoJGV2ZW50KVwiXG4gICAgICA+PC9jbHItcGFnZXI+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjcGFnZVNpemVEcm9wZG93bj5cbiAgPGRpdiAqbmdJZj1cInBhZ2VTaXplT3B0aW9ucz8ubGVuZ3RoID4gMVwiPlxuICAgIDxjbHItZHJvcGRvd24+XG4gICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tbGluayBvcHRpb25zLXRleHQtYnV0dG9uIGJ0bi1uby1jYXBpdGFsaXplZFwiIGNsckRyb3Bkb3duVHJpZ2dlcj5cbiAgICAgICAge3twYWdlU2l6ZUxhYmVsfX06IHt7cGFnZVNpemV9fVxuICAgICAgICA8Y2RzLWljb24gc2hhcGU9XCJhbmdsZVwiIGRpcmVjdGlvbj1cImRvd25cIj48L2Nkcy1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tbGluayBvcHRpb25zLWljb24tYnV0dG9uXCIgY2xyRHJvcGRvd25UcmlnZ2VyPlxuICAgICAgICA8Y2RzLWljb24gc2hhcGU9XCJjb2dcIj48L2Nkcy1pY29uPlxuICAgICAgICA8Y2RzLWljb24gc2hhcGU9XCJhbmdsZVwiIGRpcmVjdGlvbj1cImRvd25cIj48L2Nkcy1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8Y2xyLWRyb3Bkb3duLW1lbnUgY2xhc3M9XCJzcGlubmVyLWluLWZyb250XCIgY2xyUG9zaXRpb249XCJ0b3AtcmlnaHRcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgc2l6ZU9wdGlvbiBvZiBwYWdlU2l6ZU9wdGlvbnNcIj5cbiAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbHJEcm9wZG93bkl0ZW0gKGNsaWNrKT1cInBhZ2VTaXplQ2hhbmdlLmVtaXQoc2l6ZU9wdGlvbilcIj57e3NpemVPcHRpb259fTwvYnV0dG9uPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvY2xyLWRyb3Bkb3duLW1lbnU+XG4gICAgPC9jbHItZHJvcGRvd24+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -2953,12 +2953,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImpor
2953
2953
  }] } });
2954
2954
 
2955
2955
  /*
2956
- * Copyright (c) 2018-2020 Porsche Informatik. All Rights Reserved.
2956
+ * Copyright (c) 2018-2024 Porsche Informatik. All Rights Reserved.
2957
2957
  * This software is released under MIT license.
2958
2958
  * The full license information can be found in LICENSE in the root directory of this project.
2959
2959
  */
2960
2960
  class ClrPagedSearchResultList {
2961
2961
  constructor() {
2962
+ /**
2963
+ * Page size label.
2964
+ */
2965
+ this.pageSizeLabel = 'Results per page (Translate me)';
2962
2966
  /**
2963
2967
  * The position of the pager
2964
2968
  */
@@ -2967,16 +2971,26 @@ class ClrPagedSearchResultList {
2967
2971
  * Triggered whenever a page change occurs.
2968
2972
  */
2969
2973
  this.pageChange = new EventEmitter();
2974
+ /**
2975
+ * Triggered whenever a page size change occurs.
2976
+ */
2977
+ this.pageSizeChange = new EventEmitter();
2970
2978
  }
2971
2979
  }
2972
2980
  ClrPagedSearchResultList.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ClrPagedSearchResultList, deps: [], target: i0.ɵɵFactoryTarget.Component });
2973
- ClrPagedSearchResultList.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: ClrPagedSearchResultList, selector: "clr-paged-search-result-list", inputs: { pageSize: ["clrPageSize", "pageSize"], currentPage: ["clrPage", "currentPage"], totalItems: ["clrTotalItems", "totalItems"], items: ["clrItems", "items"], clrPagerPosition: "clrPagerPosition" }, outputs: { pageChange: "clrPageChange" }, queries: [{ propertyName: "itemTemplate", first: true, predicate: TemplateRef, descendants: true, static: true }], ngImport: i0, template: "<div class=\"clr-row\">\n <clr-pager\n class=\"pager-top\"\n *ngIf=\"clrPagerPosition === 'top' || clrPagerPosition === 'both'\"\n [clrPage]=\"currentPage\"\n [clrPageSize]=\"pageSize\"\n [clrTotalItems]=\"totalItems\"\n (clrPageChange)=\"pageChange.emit($event)\"\n ></clr-pager>\n</div>\n<ng-container *ngFor=\"let item of items\" [ngTemplateOutlet]=\"itemTemplate\" [ngTemplateOutletContext]=\"{item: item}\">\n <div *ngIf=\"!itemTemplate\">Item template input is undefined!</div>\n</ng-container>\n<div class=\"clr-row\">\n <clr-pager\n class=\"pager-bottom\"\n *ngIf=\"clrPagerPosition === 'bottom' || clrPagerPosition === 'both'\"\n [clrPage]=\"currentPage\"\n [clrPageSize]=\"pageSize\"\n [clrTotalItems]=\"totalItems\"\n (clrPageChange)=\"pageChange.emit($event)\"\n ></clr-pager>\n</div>\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"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ClrPager, selector: "clr-pager", inputs: ["clrPageSize", "clrTotalItems", "clrLast", "clrPage"], outputs: ["clrPageChange"] }] });
2981
+ ClrPagedSearchResultList.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: ClrPagedSearchResultList, selector: "clr-paged-search-result-list", inputs: { pageSize: ["clrPageSize", "pageSize"], pageSizeOptions: ["clrPageSizeOptions", "pageSizeOptions"], pageSizeLabel: ["clrPageSizeLabel", "pageSizeLabel"], currentPage: ["clrPage", "currentPage"], totalItems: ["clrTotalItems", "totalItems"], items: ["clrItems", "items"], clrPagerPosition: "clrPagerPosition" }, outputs: { pageChange: "clrPageChange", pageSizeChange: "clrPageSizeChange" }, queries: [{ propertyName: "itemTemplate", first: true, predicate: TemplateRef, descendants: true, static: true }], ngImport: i0, template: "<div *ngIf=\"clrPagerPosition === 'top' || clrPagerPosition === 'both'\">\n <ng-container [ngTemplateOutlet]=\"pager\" [ngTemplateOutletContext]=\"{ $implicit: 'top' }\"> </ng-container>\n</div>\n<ng-container *ngFor=\"let item of items\" [ngTemplateOutlet]=\"itemTemplate\" [ngTemplateOutletContext]=\"{item: item}\">\n <div *ngIf=\"!itemTemplate\">Item template input is undefined!</div>\n</ng-container>\n<div *ngIf=\"clrPagerPosition === 'bottom' || clrPagerPosition === 'both'\">\n <ng-container [ngTemplateOutlet]=\"pager\" [ngTemplateOutletContext]=\"{ $implicit: 'bottom' }\"> </ng-container>\n</div>\n<ng-template #pager let-position>\n <div class=\"clr-row\">\n <div [class.pager-top]=\"position === 'top'\" [class.pager-bottom]=\"position === 'bottom'\">\n <ng-container *ngTemplateOutlet=\"pageSizeDropdown\"></ng-container>\n <clr-pager\n [clrPage]=\"currentPage\"\n [clrPageSize]=\"pageSize\"\n [clrTotalItems]=\"totalItems\"\n (clrPageChange)=\"pageChange.emit($event)\"\n ></clr-pager>\n </div>\n </div>\n</ng-template>\n<ng-template #pageSizeDropdown>\n <div *ngIf=\"pageSizeOptions?.length > 1\">\n <clr-dropdown>\n <button type=\"button\" class=\"btn btn-link options-text-button btn-no-capitalized\" clrDropdownTrigger>\n {{pageSizeLabel}}: {{pageSize}}\n <cds-icon shape=\"angle\" direction=\"down\"></cds-icon>\n </button>\n <button type=\"button\" class=\"btn btn-link options-icon-button\" clrDropdownTrigger>\n <cds-icon shape=\"cog\"></cds-icon>\n <cds-icon shape=\"angle\" direction=\"down\"></cds-icon>\n </button>\n <clr-dropdown-menu class=\"spinner-in-front\" clrPosition=\"top-right\">\n <ng-container *ngFor=\"let sizeOption of pageSizeOptions\">\n <button type=\"button\" clrDropdownItem (click)=\"pageSizeChange.emit(sizeOption)\">{{sizeOption}}</button>\n </ng-container>\n </clr-dropdown-menu>\n </clr-dropdown>\n </div>\n</ng-template>\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"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$1.CdsIconCustomTag, selector: "cds-icon" }, { kind: "component", type: i1$1.ClrDropdown, selector: "clr-dropdown", inputs: ["clrCloseMenuOnItemClick"] }, { kind: "component", type: i1$1.ClrDropdownMenu, selector: "clr-dropdown-menu", inputs: ["clrPosition"] }, { kind: "directive", type: i1$1.ClrDropdownTrigger, selector: "[clrDropdownTrigger],[clrDropdownToggle]" }, { kind: "directive", type: i1$1.ClrDropdownItem, selector: "[clrDropdownItem]", inputs: ["clrDisabled", "id"] }, { kind: "component", type: ClrPager, selector: "clr-pager", inputs: ["clrPageSize", "clrTotalItems", "clrLast", "clrPage"], outputs: ["clrPageChange"] }] });
2974
2982
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ClrPagedSearchResultList, decorators: [{
2975
2983
  type: Component,
2976
- args: [{ selector: 'clr-paged-search-result-list', template: "<div class=\"clr-row\">\n <clr-pager\n class=\"pager-top\"\n *ngIf=\"clrPagerPosition === 'top' || clrPagerPosition === 'both'\"\n [clrPage]=\"currentPage\"\n [clrPageSize]=\"pageSize\"\n [clrTotalItems]=\"totalItems\"\n (clrPageChange)=\"pageChange.emit($event)\"\n ></clr-pager>\n</div>\n<ng-container *ngFor=\"let item of items\" [ngTemplateOutlet]=\"itemTemplate\" [ngTemplateOutletContext]=\"{item: item}\">\n <div *ngIf=\"!itemTemplate\">Item template input is undefined!</div>\n</ng-container>\n<div class=\"clr-row\">\n <clr-pager\n class=\"pager-bottom\"\n *ngIf=\"clrPagerPosition === 'bottom' || clrPagerPosition === 'both'\"\n [clrPage]=\"currentPage\"\n [clrPageSize]=\"pageSize\"\n [clrTotalItems]=\"totalItems\"\n (clrPageChange)=\"pageChange.emit($event)\"\n ></clr-pager>\n</div>\n" }]
2984
+ args: [{ selector: 'clr-paged-search-result-list', template: "<div *ngIf=\"clrPagerPosition === 'top' || clrPagerPosition === 'both'\">\n <ng-container [ngTemplateOutlet]=\"pager\" [ngTemplateOutletContext]=\"{ $implicit: 'top' }\"> </ng-container>\n</div>\n<ng-container *ngFor=\"let item of items\" [ngTemplateOutlet]=\"itemTemplate\" [ngTemplateOutletContext]=\"{item: item}\">\n <div *ngIf=\"!itemTemplate\">Item template input is undefined!</div>\n</ng-container>\n<div *ngIf=\"clrPagerPosition === 'bottom' || clrPagerPosition === 'both'\">\n <ng-container [ngTemplateOutlet]=\"pager\" [ngTemplateOutletContext]=\"{ $implicit: 'bottom' }\"> </ng-container>\n</div>\n<ng-template #pager let-position>\n <div class=\"clr-row\">\n <div [class.pager-top]=\"position === 'top'\" [class.pager-bottom]=\"position === 'bottom'\">\n <ng-container *ngTemplateOutlet=\"pageSizeDropdown\"></ng-container>\n <clr-pager\n [clrPage]=\"currentPage\"\n [clrPageSize]=\"pageSize\"\n [clrTotalItems]=\"totalItems\"\n (clrPageChange)=\"pageChange.emit($event)\"\n ></clr-pager>\n </div>\n </div>\n</ng-template>\n<ng-template #pageSizeDropdown>\n <div *ngIf=\"pageSizeOptions?.length > 1\">\n <clr-dropdown>\n <button type=\"button\" class=\"btn btn-link options-text-button btn-no-capitalized\" clrDropdownTrigger>\n {{pageSizeLabel}}: {{pageSize}}\n <cds-icon shape=\"angle\" direction=\"down\"></cds-icon>\n </button>\n <button type=\"button\" class=\"btn btn-link options-icon-button\" clrDropdownTrigger>\n <cds-icon shape=\"cog\"></cds-icon>\n <cds-icon shape=\"angle\" direction=\"down\"></cds-icon>\n </button>\n <clr-dropdown-menu class=\"spinner-in-front\" clrPosition=\"top-right\">\n <ng-container *ngFor=\"let sizeOption of pageSizeOptions\">\n <button type=\"button\" clrDropdownItem (click)=\"pageSizeChange.emit(sizeOption)\">{{sizeOption}}</button>\n </ng-container>\n </clr-dropdown-menu>\n </clr-dropdown>\n </div>\n</ng-template>\n" }]
2977
2985
  }], propDecorators: { pageSize: [{
2978
2986
  type: Input,
2979
2987
  args: ['clrPageSize']
2988
+ }], pageSizeOptions: [{
2989
+ type: Input,
2990
+ args: ['clrPageSizeOptions']
2991
+ }], pageSizeLabel: [{
2992
+ type: Input,
2993
+ args: ['clrPageSizeLabel']
2980
2994
  }], currentPage: [{
2981
2995
  type: Input,
2982
2996
  args: ['clrPage']
@@ -2995,6 +3009,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImpor
2995
3009
  }], pageChange: [{
2996
3010
  type: Output,
2997
3011
  args: ['clrPageChange']
3012
+ }], pageSizeChange: [{
3013
+ type: Output,
3014
+ args: ['clrPageSizeChange']
2998
3015
  }] } });
2999
3016
 
3000
3017
  /*