@porscheinformatik/clr-addons 15.7.0 → 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
  /*
@@ -4655,30 +4672,20 @@ function clrIconSVG(content, viewBox = '0 0 24 24') {
4655
4672
  */
4656
4673
  // To support badges, alerts or the is-solid, the SVGs would need to be extended.
4657
4674
  const CarOffSite = clrIconSVG(`
4658
- <polygon
4659
- points="18 4.195 5 13.285 5 29.805 6.3 29.805 6.3 13.965 18 5.775 29.7 13.965 29.7 29.805 31 29.805 31 13.285 18 4.195"/>
4660
- <path
4661
- d="M27.4688,14.0205l-1.1744.794a.65.65,0,0,0,.3648,1.1884.6427.6427,0,0,0,.3637-.1123l1.1744-.7939a.65.65,0,1,0-.7285-1.0762Z"/>
4662
- <path d="M13.8433,23.23l-2.49,1.6826a.65.65,0,1,0,.7276,1.0781l2.49-1.6826a.65.65,0,0,0-.7275-1.0781Z"/>
4663
- <path
4664
- d="M19.7266,20.0371a.65.65,0,0,0-.9029-.1738l-.8811.5957-.8811-.5957A.65.65,0,1,0,16.333,20.94l.45.3038-.449.3036a.65.65,0,1,0,.7285,1.0761l.8806-.5953.8806.5953a.6433.6433,0,0,0,.3638.1124.65.65,0,0,0,.3648-1.1885l-.449-.3036.4494-.3038A.65.65,0,0,0,19.7266,20.0371Z"/>
4665
- <path
4666
- d="M23.8042,16.4971l-2.49,1.6836a.65.65,0,0,0,.3647,1.1884.643.643,0,0,0,.3638-.1123l2.49-1.6836a.65.65,0,1,0-.7285-1.0761Z"/>
4667
- <path
4668
- d="M8.8623,26.5967l-1.1743.7939a.65.65,0,0,0,.3647,1.1885.643.643,0,0,0,.3638-.1123l1.1743-.7939a.65.65,0,1,0-.7285-1.0762Z"/>
4669
- <path
4670
- d="M8.4165,14.0205a.65.65,0,1,0-.7285,1.0762l1.1743.7939a.643.643,0,0,0,.3638.1123.65.65,0,0,0,.3647-1.1884Z"/>
4671
- <path
4672
- d="M12.0811,16.4971a.65.65,0,1,0-.7286,1.0761l2.49,1.6836a.6429.6429,0,0,0,.3637.1123.65.65,0,0,0,.3648-1.1884Z"/>
4673
- <path d="M22.042,23.23a.65.65,0,0,0-.7275,1.0781l2.49,1.6826a.65.65,0,0,0,.7275-1.0781Z"/>
4674
- <path
4675
- d="M27.0229,26.5967a.65.65,0,1,0-.7285,1.0762l1.1744.7939a.6427.6427,0,0,0,.3637.1123.65.65,0,0,0,.3648-1.1885Z"/>`, '0 0 36 36');
4675
+ <polygon points="24 8.39 24 24 22.7 24 22.7 9.07 12 1.58 1.3 9.07 1.3 24 0 24 0 8.39 12 0 24 8.39"/>
4676
+ <path d="M20.7166,10.9785a.6429.6429,0,0,0,.3637-.1123l.6446-.4358,0,0L23.8,9.0283l-.7275-1.0762-1.542,1.042-.0047.002L20.3518,9.79a.65.65,0,0,0,.3648,1.1885Z"/>
4677
+ <path d="M7.9006,18.2051,5.41,19.8877a.65.65,0,1,0,.7275,1.0781l2.49-1.6826a.65.65,0,0,0-.7276-1.0781Z"/>
4678
+ <path d="M13.7839,15.0127a.65.65,0,0,0-.9028-.1738L12,15.4346l-.8811-.5957A.65.65,0,1,0,10.39,15.915l.4494.3039-.4489.3036a.65.65,0,1,0,.7285,1.0761L12,17.0033l.8806.5953a.643.643,0,0,0,.3638.1123.65.65,0,0,0,.3647-1.1884l-.4489-.3036.4494-.3039A.6493.6493,0,0,0,13.7839,15.0127Z"/>
4679
+ <path d="M17.8616,11.4727l-2.49,1.6835A.65.65,0,1,0,16.1,14.2324l2.49-1.6836a.65.65,0,1,0-.7285-1.0761Z"/>
4680
+ <path d="M3.65,22.65l-.59.4-.37.25-.22.14L1.65,24H.6l-.4-.59,2.13-1.44.59-.4a.6518.6518,0,0,1,.73,1.08Z"/>
4681
+ <path d="M2.4739,8.9961,2.469,8.994.9277,7.9521.1992,9.0283l1.9517,1.3194.0005-.0009.7683.5194a.6429.6429,0,0,0,.3637.1123A.65.65,0,0,0,3.6482,9.79Z"/>
4682
+ <path d="M6.1384,11.4727A.65.65,0,1,0,5.41,12.5488L7.9,14.2324a.6432.6432,0,0,0,.3638.1123.65.65,0,0,0,.3648-1.1885Z"/>
4683
+ <path d="M16.0994,18.2051a.65.65,0,0,0-.7276,1.0781l2.49,1.6826a.65.65,0,0,0,.7275-1.0781Z"/>
4684
+ <path d="M23.8,23.41l-.4.59H22.35l-1.37-.93-.63-.42a.6518.6518,0,0,1,.73-1.08l.63.43Z"/>`);
4676
4685
  const CarOnSite = clrIconSVG(`
4677
- <path d="M18,22.605a.86.86,0,0,0-.8.8.8515.8515,0,0,0,1.7.1A.8963.8963,0,0,0,18,22.605Z"/>
4678
- <path
4679
- d="M27.8,16.405a16.9577,16.9577,0,0,1-2.2.4l-1.1-2.6a2.9653,2.9653,0,0,0-2.2-1.4H13.7a2.5336,2.5336,0,0,0-2.1,1.5l-1.2,2.6a16.9577,16.9577,0,0,0-2.2-.4l-.2,1.3c.7.1,1.3.2,2,.3l-.6,1a6.0075,6.0075,0,0,0-.7,2.7v5.5a1.43,1.43,0,0,0,1.4,1.4h1.6a1.3671,1.3671,0,0,0,1.4-1.4v-.4h9.7v.4a1.43,1.43,0,0,0,1.4,1.4h1.7a1.3671,1.3671,0,0,0,1.4-1.4v-5.5a5.1892,5.1892,0,0,0-.7-2.7l-.5-1.1c.6-.1,1.3-.2,1.9-.3Zm-15-1.6a1.4454,1.4454,0,0,1,1-.7h8.4a1.4425,1.4425,0,0,1,1.1.7l.9,2.2a50.6175,50.6175,0,0,1-12.3,0Zm13.1,12.6v.1H24.2v-1.9H11.8v1.8H10.1v-5c1.2.2,2.5.3,3.8.4v-1.3c-1.3-.1-2.6-.2-3.8-.4a5.0234,5.0234,0,0,1,.5-1.3l.8-1.6a48.7229,48.7229,0,0,0,6.6.4,51.7006,51.7006,0,0,0,6.8-.4l.6207,1.4462A8.2376,8.2376,0,0,1,25.9,21.105c-1.2.2-2.4.3-3.7.4l.1,1.3c1.3-.1,2.5-.2,3.7-.4Z"/>
4680
- <polygon
4681
- points="18 4.195 5 13.285 5 29.805 6.3 29.805 6.3 13.965 18 5.775 29.7 13.965 29.7 29.805 31 29.805 31 13.285 18 4.195"/>`, '0 0 36 36');
4686
+ <path d="M12,16.8a.86.86,0,0,0-.8.8.8515.8515,0,0,0,1.7.1A.8963.8963,0,0,0,12,16.8Z"/>
4687
+ <path d="M21.8,10.6a16.9577,16.9577,0,0,1-2.2.4L18.5,8.4A2.9653,2.9653,0,0,0,16.3,7H7.7A2.5336,2.5336,0,0,0,5.6,8.5L4.4,11.1a16.9577,16.9577,0,0,0-2.2-.4L2,12c.7.1,1.3.2,2,.3l-.6,1A6.0075,6.0075,0,0,0,2.7,16v5.5a1.43,1.43,0,0,0,1.4,1.4H5.7a1.3671,1.3671,0,0,0,1.4-1.4v-.4h9.7v.4a1.43,1.43,0,0,0,1.4,1.4h1.7a1.3671,1.3671,0,0,0,1.4-1.4V16a5.1892,5.1892,0,0,0-.7-2.7l-.5-1.1c.6-.1,1.3-.2,1.9-.3ZM6.8,9a1.4454,1.4454,0,0,1,1-.7h8.4a1.4425,1.4425,0,0,1,1.1.7l.9,2.2a50.6175,50.6175,0,0,1-12.3,0ZM19.9,21.6v.1H18.2V19.8H5.8v1.8H4.1v-5c1.2.2,2.5.3,3.8.4V15.7c-1.3-.1-2.6-.2-3.8-.4A5.0234,5.0234,0,0,1,4.6,14l.8-1.6a48.7229,48.7229,0,0,0,6.6.4,51.7006,51.7006,0,0,0,6.8-.4l.6207,1.4462A8.24,8.24,0,0,1,19.9,15.3c-1.2.2-2.4.3-3.7.4l.1,1.3c1.3-.1,2.5-.2,3.7-.4Z"/>
4688
+ <polygon points="12 0 0 8.39 0 24 1.3 24 1.3 9.07 12 1.58 22.7 9.07 22.7 24 24 24 24 8.39 12 0"/>`);
4682
4689
  const CampaignOutdatedShape = clrIconSVG(` <path
4683
4690
  d="m 24.664062,20.947266 a 0.85000002,0.85000002 0 0 0 -0.857421,0.84375 l -0.03516,4.699218 a 0.85000002,0.85000002 0 0 0 0.84375,0.857422 0.85000002,0.85000002 0 0 0 0.857422,-0.84375 l 0.03516,-4.701172 a 0.85000002,0.85000002 0 0 0 -0.84375,-0.855468 z"
4684
4691
  id="path1534" />