@impartner/design-components 1.1.2 → 1.2.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.
Files changed (60) hide show
  1. package/esm2020/lib/pagination/pagination.component.mjs +51 -20
  2. package/esm2020/lib/pagination/pagination.module.mjs +8 -4
  3. package/esm2020/lib/table/components/bulk-actions/bulk-actions.component.mjs +11 -0
  4. package/esm2020/lib/table/components/column-heading/column-heading.component.mjs +38 -0
  5. package/esm2020/lib/table/components/index.mjs +3 -0
  6. package/esm2020/lib/table/constants/index.mjs +3 -0
  7. package/esm2020/lib/table/constants/public-table.constants.mjs +2 -0
  8. package/esm2020/lib/table/constants/table.constants.mjs +24 -0
  9. package/esm2020/lib/table/containers/index.mjs +2 -0
  10. package/esm2020/lib/table/containers/table.component.mjs +386 -0
  11. package/esm2020/lib/table/directives/index.mjs +3 -0
  12. package/esm2020/lib/table/directives/table-inject-component.directive.mjs +46 -0
  13. package/esm2020/lib/table/directives/table.directive.mjs +35 -0
  14. package/esm2020/lib/table/enumerations/index.mjs +2 -0
  15. package/esm2020/lib/table/enumerations/table-column-type.mjs +20 -0
  16. package/esm2020/lib/table/helpers/index.mjs +2 -0
  17. package/esm2020/lib/table/helpers/table-theme.helper.mjs +31 -0
  18. package/esm2020/lib/table/index.mjs +8 -3
  19. package/esm2020/lib/table/interfaces/cell-renderer.interface.mjs +2 -0
  20. package/esm2020/lib/table/interfaces/custom-cell-renderer-components.type.mjs +2 -0
  21. package/esm2020/lib/table/interfaces/index.mjs +9 -0
  22. package/esm2020/lib/table/interfaces/sort-by-payload.interface.mjs +2 -0
  23. package/esm2020/lib/table/interfaces/table-cell-option.interface.mjs +2 -0
  24. package/esm2020/lib/table/interfaces/table-column-def.interface.mjs +2 -0
  25. package/esm2020/lib/table/interfaces/table-event-payload.interface.mjs +2 -0
  26. package/esm2020/lib/table/interfaces/table-row-item.interface.mjs +2 -0
  27. package/esm2020/lib/table/table.module.mjs +76 -7
  28. package/fesm2015/impartner-design-components.mjs +3605 -2986
  29. package/fesm2015/impartner-design-components.mjs.map +1 -1
  30. package/fesm2020/impartner-design-components.mjs +3002 -2387
  31. package/fesm2020/impartner-design-components.mjs.map +1 -1
  32. package/lib/pagination/pagination.component.d.ts +18 -3
  33. package/lib/pagination/pagination.module.d.ts +2 -1
  34. package/lib/table/components/bulk-actions/bulk-actions.component.d.ts +5 -0
  35. package/lib/table/components/column-heading/column-heading.component.d.ts +14 -0
  36. package/lib/table/components/index.d.ts +2 -0
  37. package/lib/table/constants/index.d.ts +2 -0
  38. package/lib/table/constants/public-table.constants.d.ts +1 -0
  39. package/lib/table/constants/table.constants.d.ts +10 -0
  40. package/lib/table/containers/index.d.ts +1 -0
  41. package/lib/table/containers/table.component.d.ts +127 -0
  42. package/lib/table/directives/index.d.ts +2 -0
  43. package/lib/table/directives/table-inject-component.directive.d.ts +16 -0
  44. package/lib/table/{table.component.d.ts → directives/table.directive.d.ts} +4 -4
  45. package/lib/table/enumerations/index.d.ts +1 -0
  46. package/lib/table/enumerations/table-column-type.d.ts +18 -0
  47. package/lib/table/helpers/index.d.ts +1 -0
  48. package/lib/table/helpers/table-theme.helper.d.ts +7 -0
  49. package/lib/table/index.d.ts +7 -2
  50. package/lib/table/interfaces/cell-renderer.interface.d.ts +6 -0
  51. package/lib/table/interfaces/custom-cell-renderer-components.type.d.ts +3 -0
  52. package/lib/table/interfaces/index.d.ts +8 -0
  53. package/lib/table/interfaces/sort-by-payload.interface.d.ts +5 -0
  54. package/lib/table/interfaces/table-cell-option.interface.d.ts +4 -0
  55. package/lib/table/interfaces/table-column-def.interface.d.ts +22 -0
  56. package/lib/table/interfaces/table-event-payload.interface.d.ts +6 -0
  57. package/lib/table/interfaces/table-row-item.interface.d.ts +9 -0
  58. package/lib/table/table.module.d.ts +15 -3
  59. package/package.json +3 -2
  60. package/esm2020/lib/table/table.component.mjs +0 -33
@@ -1,17 +1,23 @@
1
1
  import { Component, EventEmitter, Input, Output } from '@angular/core';
2
2
  import { sanitize } from '../../utilities';
3
3
  import * as i0 from "@angular/core";
4
- import * as i1 from "../button/button.component";
5
- import * as i2 from "../icon/icon.component";
6
- import * as i3 from "@angular/forms";
7
- import * as i4 from "../form-field/controls/input/input.directive";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "../button/button.component";
6
+ import * as i3 from "../icon/icon.component";
7
+ import * as i4 from "@angular/forms";
8
+ import * as i5 from "../form-field/controls/select/option/select-option.component";
9
+ import * as i6 from "../form-field/controls/select/select.component";
10
+ import * as i7 from "../form-field/form-field.component";
11
+ import * as i8 from "../form-field/controls/input/input.directive";
12
+ import * as i9 from "../size-detection/directive/size-detector.directive";
8
13
  /**
9
14
  * The `PaginationComponent` (`<impdc-pagination` or `<div impdc-pagination`) is a control for paged content such as tables or lists.
10
15
  * To use, import `PaginationModule` or another module that imports and exports that module from `@impartner/design-components`.
11
16
  * `ModalModule` imports and exports ImpdcFormsModule and [ButtonModule](./?path=/docs/design-components-button).
12
17
  */
13
18
  export class PaginationComponent {
14
- constructor() {
19
+ constructor(_changeDetectorRef) {
20
+ this._changeDetectorRef = _changeDetectorRef;
15
21
  this._summary = 'Showing {firstPageResult} to {lastPageResult} of {total} results';
16
22
  /**
17
23
  * The current page.
@@ -25,10 +31,20 @@ export class PaginationComponent {
25
31
  * The total number of items.
26
32
  */
27
33
  this.total = 0;
34
+ /**
35
+ * The label text for the per page select input.
36
+ */
37
+ this.perPageLabel = '';
28
38
  /**
29
39
  * Emitted when the page number is changed, specifying the target page number.
30
40
  */
31
41
  this.goToPage = new EventEmitter();
42
+ /**
43
+ * Emitted when the per page is changed, specifying the new value.
44
+ */
45
+ this.perPageChange = new EventEmitter();
46
+ /** @ignore */
47
+ this.mobile = false;
32
48
  }
33
49
  /**
34
50
  * A formattable text summary of pagination data. `{firstPageResult}` The first item within the current page.
@@ -85,15 +101,9 @@ export class PaginationComponent {
85
101
  return this.perPage * page;
86
102
  }
87
103
  }
88
- _getPageClamped(page) {
89
- page = Number(page || this.page || 0);
90
- if (isNaN(page) || page < 1) {
91
- return 1;
92
- }
93
- if (page > this.totalPages) {
94
- return this.totalPages;
95
- }
96
- return page;
104
+ handleResize(size) {
105
+ this.mobile = size.width < 640;
106
+ this._changeDetectorRef.detectChanges();
97
107
  }
98
108
  goToPreviousPage() {
99
109
  const page = this._getPageClamped();
@@ -117,21 +127,38 @@ export class PaginationComponent {
117
127
  this.goToExactPage(target?.value);
118
128
  }
119
129
  goToExactPage(page) {
120
- this.page = this._getPageClamped(page);
130
+ const targetPage = this._getPageClamped(page);
131
+ if (targetPage === this.page) {
132
+ return;
133
+ }
134
+ this.page = targetPage;
121
135
  this.goToPage.emit(this.page);
122
136
  }
137
+ handlePerPageChange() {
138
+ this.perPageChange.emit(this.perPage);
139
+ }
123
140
  preventDefaultAndBlur(event) {
124
141
  // prevents PRM form submit
125
142
  event.preventDefault();
126
143
  event.target.blur();
127
144
  }
145
+ _getPageClamped(page) {
146
+ page = Number(page || this.page || 0);
147
+ if (isNaN(page) || page < 1) {
148
+ return 1;
149
+ }
150
+ if (page > this.totalPages) {
151
+ return this.totalPages;
152
+ }
153
+ return page;
154
+ }
128
155
  }
129
- PaginationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PaginationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
130
- PaginationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: PaginationComponent, selector: "impdc-pagination, div[impdc-pagination]", inputs: { page: "page", perPage: "perPage", total: "total", summary: "summary" }, outputs: { goToPage: "goToPage" }, ngImport: i0, template: "<div class=\"pagination-container\">\n <div class=\"mobile-pagination\">\n <button\n impdcButton\n theme=\"secondary\"\n [disabled]=\"page <= 1\"\n (click)=\"goToPreviousPage()\">\n <i impdc-icon name=\"chevron-left\"></i>\n </button>\n <button\n impdcButton\n theme=\"secondary\"\n [disabled]=\"page === totalPages\"\n (click)=\"goToNextPage()\">\n <i impdc-icon name=\"chevron-right\"></i>\n </button>\n </div>\n\n <div class=\"desktop-pagination\">\n <div>\n <span class=\"summary\" [innerHTML]=\"summary\"></span>\n </div>\n <div class=\"pagination-actions\">\n <button\n impdcButton\n theme=\"secondary\"\n aria-label=\"First Page\"\n class=\"pagination-first-last-btns\"\n (click)=\"goToExactPage(1)\"\n [disabled]=\"page <= 1\">\n <i impdc-icon name=\"chevron-left first\"></i>\n <i impdc-icon name=\"chevron-left\"></i>\n <!-- 1 -->\n </button>\n <button\n impdcButton\n theme=\"secondary\"\n class=\"previous\"\n aria-label=\"Previous\"\n (click)=\"goToPreviousPage()\"\n [disabled]=\"page <= 1\">\n <i impdc-icon name=\"chevron-left\"></i>\n </button>\n <div class=\"page-change\">\n <input\n impdcInput\n [(ngModel)]=\"page\"\n maxlength=\"4\"\n (blur)=\"goToExactPageFromEvent($event)\"\n (keydown.enter)=\"preventDefaultAndBlur($event)\" />\n <span class=\"total-pages\"> / {{ totalPages }} </span>\n </div>\n <button\n impdcButton\n theme=\"secondary\"\n aria-label=\"Next\"\n (click)=\"goToNextPage()\"\n [disabled]=\"page >= totalPages\">\n <i impdc-icon name=\"chevron-right\"></i>\n </button>\n <button\n impdcButton\n theme=\"secondary\"\n class=\"pagination-first-last-btns\"\n aria-label=\"Last Page\"\n (click)=\"goToExactPage(totalPages)\"\n [disabled]=\"page === totalPages\">\n <i impdc-icon name=\"chevron-right\"></i>\n <i impdc-icon name=\"chevron-right last\"></i>\n <!-- {{ totalPages }} -->\n </button>\n </div>\n </div>\n</div>\n", styles: [".pagination-container{background-color:var(--impd-color-white);padding:var(--impd-size-3) var(--impd-size-6);gap:1rem;color:var(--impd-color-gray-700, #374151)}@media (min-width: 640px){.pagination-container{padding-left:var(--impd-size-6);padding-right:var(--impd-size-6)}}.mobile-pagination{display:flex;gap:2rem;justify-content:space-between;align-items:center}@media (min-width: 640px){.mobile-pagination{display:none}}.desktop-pagination{display:none}@media (min-width: 640px){.desktop-pagination{display:flex;flex:1 1 0%;align-items:center;justify-content:space-between;gap:2rem;flex-flow:wrap}}.summary{font-size:var(--impd-font-size-sm);line-height:var(--impd-size-5);font-weight:400;color:var(--impd-color-gray-700)}.pagination-actions{display:flex;flex-direction:row;gap:.4rem;flex-flow:wrap}.pagination-actions ::ng-deep .first{margin-right:-1.2rem}.pagination-actions ::ng-deep .last{margin-left:-1.2rem}.page-change{display:flex;flex-direction:row;align-items:center;gap:.4rem;font-size:var(--impd-size-3_5, 1.4rem)}.page-change .form-control{min-width:4.275rem;max-width:6.3rem;text-align:center}.page-change .total-pages{padding:0 1.2rem}.pagination-first-last-btns{padding-left:1.325rem;padding-right:1.325rem}\n"], dependencies: [{ kind: "component", type: i1.ButtonComponent, selector: "button[impdcButton]", inputs: ["type", "theme", "text", "disabled", "titleText", "ariaLabel"] }, { kind: "component", type: i2.IconComponent, selector: "impdc-icon, [impdc-icon]", inputs: ["name", "theme", "size"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.InputDirective, selector: "input[impdcInput], textarea[impdcInput], select[impdcNativeSelect]", inputs: ["disabled", "id", "type", "required", "readonly", "errorStateMatcher", "value"], exportAs: ["impdcInput"] }] });
156
+ PaginationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PaginationComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
157
+ PaginationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: PaginationComponent, selector: "impdc-pagination, div[impdc-pagination]", inputs: { page: "page", perPage: "perPage", total: "total", summary: "summary", perPageLabel: "perPageLabel" }, outputs: { goToPage: "goToPage", perPageChange: "perPageChange" }, ngImport: i0, template: "<div\n class=\"pagination-container\"\n impdcSizeDetector\n (resized)=\"handleResize($event)\">\n <div class=\"mobile-pagination\" [ngClass]=\"{ 'd-none': !mobile }\">\n <button\n impdcButton\n theme=\"secondary\"\n [disabled]=\"page <= 1\"\n (click)=\"goToPreviousPage()\">\n <i impdc-icon name=\"chevron-left\"></i>\n </button>\n <button\n impdcButton\n theme=\"secondary\"\n [disabled]=\"page === totalPages\"\n (click)=\"goToNextPage()\">\n <i impdc-icon name=\"chevron-right\"></i>\n </button>\n </div>\n\n <div class=\"desktop-pagination\" [ngClass]=\"{ 'd-none': mobile }\">\n <div class=\"rows-per-page\">\n <div>{{ perPageLabel }}</div>\n <div>\n <impdc-form-field>\n <impdc-select\n [(ngModel)]=\"perPage\"\n (selectionChange)=\"handlePerPageChange()\">\n <impdc-select-option [value]=\"10\" label=\"10\"></impdc-select-option>\n <impdc-select-option [value]=\"25\" label=\"25\"></impdc-select-option>\n <impdc-select-option [value]=\"50\" label=\"50\"></impdc-select-option>\n <impdc-select-option\n [value]=\"100\"\n label=\"100\"></impdc-select-option>\n <impdc-select-option\n [value]=\"200\"\n label=\"200\"></impdc-select-option>\n </impdc-select>\n </impdc-form-field>\n </div>\n </div>\n <div class=\"pagination-rhs\">\n <div>\n <span class=\"summary\" [innerHTML]=\"summary\"></span>\n </div>\n <div class=\"pagination-actions\">\n <button\n impdcButton\n theme=\"secondary\"\n aria-label=\"First Page\"\n class=\"pagination-first-last-btns\"\n (click)=\"goToExactPage(1)\"\n [disabled]=\"page <= 1\">\n <i impdc-icon name=\"chevron-left first\"></i>\n <i impdc-icon name=\"chevron-left\"></i>\n <!-- 1 -->\n </button>\n <button\n impdcButton\n theme=\"secondary\"\n class=\"previous\"\n aria-label=\"Previous\"\n (click)=\"goToPreviousPage()\"\n [disabled]=\"page <= 1\">\n <i impdc-icon name=\"chevron-left\"></i>\n </button>\n <div class=\"page-change\">\n <input\n impdcInput\n [(ngModel)]=\"page\"\n maxlength=\"4\"\n (blur)=\"goToExactPageFromEvent($event)\"\n (keydown.enter)=\"preventDefaultAndBlur($event)\" />\n <span> / {{ totalPages }} </span>\n </div>\n <button\n impdcButton\n theme=\"secondary\"\n aria-label=\"Next\"\n (click)=\"goToNextPage()\"\n [disabled]=\"page >= totalPages\">\n <i impdc-icon name=\"chevron-right\"></i>\n </button>\n <button\n impdcButton\n theme=\"secondary\"\n class=\"pagination-first-last-btns\"\n aria-label=\"Last Page\"\n (click)=\"goToExactPage(totalPages)\"\n [disabled]=\"page === totalPages\">\n <i impdc-icon name=\"chevron-right\"></i>\n <i impdc-icon name=\"chevron-right last\"></i>\n <!-- {{ totalPages }} -->\n </button>\n </div>\n </div>\n </div>\n</div>\n", styles: [".pagination-container{background-color:var(--impd-color-white);padding:var(--impd-size-3) var(--impd-size-5);gap:1rem;color:var(--impd-color-gray-700, #374151)}.pagination-container .mobile-pagination{display:flex;gap:2rem;justify-content:space-between;align-items:center}.pagination-container .mobile-pagination button[impdcButton]{width:50%;justify-content:left}.pagination-container .desktop-pagination{display:flex;flex:1 1 0%;align-items:center;justify-content:space-between;gap:2rem;flex-flow:wrap}.pagination-container .desktop-pagination .rows-per-page{display:flex;flex-direction:row;align-items:center;gap:1rem;flex-grow:1;font-size:var(--impd-font-size-sm);line-height:var(--impd-size-5);font-weight:400;color:var(--impd-color-gray-700)}.pagination-container .desktop-pagination .pagination-rhs{display:flex;flex-direction:row;gap:2.4rem;flex-wrap:wrap;align-items:center}.pagination-container .desktop-pagination .pagination-rhs .summary{font-size:var(--impd-font-size-sm);line-height:var(--impd-size-5);font-weight:400;color:var(--impd-color-gray-700)}.pagination-container .desktop-pagination .pagination-rhs .pagination-actions{display:flex;flex-direction:row;gap:.4rem;flex-flow:wrap}.pagination-container .desktop-pagination .pagination-rhs .pagination-actions ::ng-deep .first{margin-right:-1.2rem}.pagination-container .desktop-pagination .pagination-rhs .pagination-actions ::ng-deep .last{margin-left:-1.2rem}.pagination-container .desktop-pagination .pagination-rhs .page-change{display:flex;flex-direction:row;align-items:center;gap:.4rem;font-size:var(--impd-size-3_5, 1.4rem)}.pagination-container .desktop-pagination .pagination-rhs .page-change .form-control{min-width:4.275rem;max-width:6.3rem;text-align:center}.pagination-container .desktop-pagination .pagination-rhs .pagination-first-last-btns{padding-left:1.325rem;padding-right:1.325rem}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.ButtonComponent, selector: "button[impdcButton]", inputs: ["type", "theme", "text", "disabled", "titleText", "ariaLabel"] }, { kind: "component", type: i3.IconComponent, selector: "impdc-icon, [impdc-icon]", inputs: ["name", "theme", "size"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.SelectOptionComponent, selector: "impdc-select-option", inputs: ["value", "label", "id", "disabled"], outputs: ["onSelectionChange"] }, { kind: "component", type: i6.SelectComponent, selector: "impdc-select", inputs: ["disabled", "tabIndex", "placeholder", "required", "multiple", "compareWith", "errorStateMatcher", "value", "id"], outputs: ["selectionChange", "valueChange"], exportAs: ["impdcSelect"] }, { kind: "component", type: i7.FormFieldComponent, selector: "impdc-form-field", exportAs: ["impdcFormField"] }, { kind: "directive", type: i8.InputDirective, selector: "input[impdcInput], textarea[impdcInput], select[impdcNativeSelect]", inputs: ["disabled", "id", "type", "required", "readonly", "errorStateMatcher", "value"], exportAs: ["impdcInput"] }, { kind: "directive", type: i9.SizeDetectorDirective, selector: "[impdcSizeDetector]", outputs: ["resized"] }] });
131
158
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PaginationComponent, decorators: [{
132
159
  type: Component,
133
- args: [{ selector: 'impdc-pagination, div[impdc-pagination]', template: "<div class=\"pagination-container\">\n <div class=\"mobile-pagination\">\n <button\n impdcButton\n theme=\"secondary\"\n [disabled]=\"page <= 1\"\n (click)=\"goToPreviousPage()\">\n <i impdc-icon name=\"chevron-left\"></i>\n </button>\n <button\n impdcButton\n theme=\"secondary\"\n [disabled]=\"page === totalPages\"\n (click)=\"goToNextPage()\">\n <i impdc-icon name=\"chevron-right\"></i>\n </button>\n </div>\n\n <div class=\"desktop-pagination\">\n <div>\n <span class=\"summary\" [innerHTML]=\"summary\"></span>\n </div>\n <div class=\"pagination-actions\">\n <button\n impdcButton\n theme=\"secondary\"\n aria-label=\"First Page\"\n class=\"pagination-first-last-btns\"\n (click)=\"goToExactPage(1)\"\n [disabled]=\"page <= 1\">\n <i impdc-icon name=\"chevron-left first\"></i>\n <i impdc-icon name=\"chevron-left\"></i>\n <!-- 1 -->\n </button>\n <button\n impdcButton\n theme=\"secondary\"\n class=\"previous\"\n aria-label=\"Previous\"\n (click)=\"goToPreviousPage()\"\n [disabled]=\"page <= 1\">\n <i impdc-icon name=\"chevron-left\"></i>\n </button>\n <div class=\"page-change\">\n <input\n impdcInput\n [(ngModel)]=\"page\"\n maxlength=\"4\"\n (blur)=\"goToExactPageFromEvent($event)\"\n (keydown.enter)=\"preventDefaultAndBlur($event)\" />\n <span class=\"total-pages\"> / {{ totalPages }} </span>\n </div>\n <button\n impdcButton\n theme=\"secondary\"\n aria-label=\"Next\"\n (click)=\"goToNextPage()\"\n [disabled]=\"page >= totalPages\">\n <i impdc-icon name=\"chevron-right\"></i>\n </button>\n <button\n impdcButton\n theme=\"secondary\"\n class=\"pagination-first-last-btns\"\n aria-label=\"Last Page\"\n (click)=\"goToExactPage(totalPages)\"\n [disabled]=\"page === totalPages\">\n <i impdc-icon name=\"chevron-right\"></i>\n <i impdc-icon name=\"chevron-right last\"></i>\n <!-- {{ totalPages }} -->\n </button>\n </div>\n </div>\n</div>\n", styles: [".pagination-container{background-color:var(--impd-color-white);padding:var(--impd-size-3) var(--impd-size-6);gap:1rem;color:var(--impd-color-gray-700, #374151)}@media (min-width: 640px){.pagination-container{padding-left:var(--impd-size-6);padding-right:var(--impd-size-6)}}.mobile-pagination{display:flex;gap:2rem;justify-content:space-between;align-items:center}@media (min-width: 640px){.mobile-pagination{display:none}}.desktop-pagination{display:none}@media (min-width: 640px){.desktop-pagination{display:flex;flex:1 1 0%;align-items:center;justify-content:space-between;gap:2rem;flex-flow:wrap}}.summary{font-size:var(--impd-font-size-sm);line-height:var(--impd-size-5);font-weight:400;color:var(--impd-color-gray-700)}.pagination-actions{display:flex;flex-direction:row;gap:.4rem;flex-flow:wrap}.pagination-actions ::ng-deep .first{margin-right:-1.2rem}.pagination-actions ::ng-deep .last{margin-left:-1.2rem}.page-change{display:flex;flex-direction:row;align-items:center;gap:.4rem;font-size:var(--impd-size-3_5, 1.4rem)}.page-change .form-control{min-width:4.275rem;max-width:6.3rem;text-align:center}.page-change .total-pages{padding:0 1.2rem}.pagination-first-last-btns{padding-left:1.325rem;padding-right:1.325rem}\n"] }]
134
- }], propDecorators: { page: [{
160
+ args: [{ selector: 'impdc-pagination, div[impdc-pagination]', template: "<div\n class=\"pagination-container\"\n impdcSizeDetector\n (resized)=\"handleResize($event)\">\n <div class=\"mobile-pagination\" [ngClass]=\"{ 'd-none': !mobile }\">\n <button\n impdcButton\n theme=\"secondary\"\n [disabled]=\"page <= 1\"\n (click)=\"goToPreviousPage()\">\n <i impdc-icon name=\"chevron-left\"></i>\n </button>\n <button\n impdcButton\n theme=\"secondary\"\n [disabled]=\"page === totalPages\"\n (click)=\"goToNextPage()\">\n <i impdc-icon name=\"chevron-right\"></i>\n </button>\n </div>\n\n <div class=\"desktop-pagination\" [ngClass]=\"{ 'd-none': mobile }\">\n <div class=\"rows-per-page\">\n <div>{{ perPageLabel }}</div>\n <div>\n <impdc-form-field>\n <impdc-select\n [(ngModel)]=\"perPage\"\n (selectionChange)=\"handlePerPageChange()\">\n <impdc-select-option [value]=\"10\" label=\"10\"></impdc-select-option>\n <impdc-select-option [value]=\"25\" label=\"25\"></impdc-select-option>\n <impdc-select-option [value]=\"50\" label=\"50\"></impdc-select-option>\n <impdc-select-option\n [value]=\"100\"\n label=\"100\"></impdc-select-option>\n <impdc-select-option\n [value]=\"200\"\n label=\"200\"></impdc-select-option>\n </impdc-select>\n </impdc-form-field>\n </div>\n </div>\n <div class=\"pagination-rhs\">\n <div>\n <span class=\"summary\" [innerHTML]=\"summary\"></span>\n </div>\n <div class=\"pagination-actions\">\n <button\n impdcButton\n theme=\"secondary\"\n aria-label=\"First Page\"\n class=\"pagination-first-last-btns\"\n (click)=\"goToExactPage(1)\"\n [disabled]=\"page <= 1\">\n <i impdc-icon name=\"chevron-left first\"></i>\n <i impdc-icon name=\"chevron-left\"></i>\n <!-- 1 -->\n </button>\n <button\n impdcButton\n theme=\"secondary\"\n class=\"previous\"\n aria-label=\"Previous\"\n (click)=\"goToPreviousPage()\"\n [disabled]=\"page <= 1\">\n <i impdc-icon name=\"chevron-left\"></i>\n </button>\n <div class=\"page-change\">\n <input\n impdcInput\n [(ngModel)]=\"page\"\n maxlength=\"4\"\n (blur)=\"goToExactPageFromEvent($event)\"\n (keydown.enter)=\"preventDefaultAndBlur($event)\" />\n <span> / {{ totalPages }} </span>\n </div>\n <button\n impdcButton\n theme=\"secondary\"\n aria-label=\"Next\"\n (click)=\"goToNextPage()\"\n [disabled]=\"page >= totalPages\">\n <i impdc-icon name=\"chevron-right\"></i>\n </button>\n <button\n impdcButton\n theme=\"secondary\"\n class=\"pagination-first-last-btns\"\n aria-label=\"Last Page\"\n (click)=\"goToExactPage(totalPages)\"\n [disabled]=\"page === totalPages\">\n <i impdc-icon name=\"chevron-right\"></i>\n <i impdc-icon name=\"chevron-right last\"></i>\n <!-- {{ totalPages }} -->\n </button>\n </div>\n </div>\n </div>\n</div>\n", styles: [".pagination-container{background-color:var(--impd-color-white);padding:var(--impd-size-3) var(--impd-size-5);gap:1rem;color:var(--impd-color-gray-700, #374151)}.pagination-container .mobile-pagination{display:flex;gap:2rem;justify-content:space-between;align-items:center}.pagination-container .mobile-pagination button[impdcButton]{width:50%;justify-content:left}.pagination-container .desktop-pagination{display:flex;flex:1 1 0%;align-items:center;justify-content:space-between;gap:2rem;flex-flow:wrap}.pagination-container .desktop-pagination .rows-per-page{display:flex;flex-direction:row;align-items:center;gap:1rem;flex-grow:1;font-size:var(--impd-font-size-sm);line-height:var(--impd-size-5);font-weight:400;color:var(--impd-color-gray-700)}.pagination-container .desktop-pagination .pagination-rhs{display:flex;flex-direction:row;gap:2.4rem;flex-wrap:wrap;align-items:center}.pagination-container .desktop-pagination .pagination-rhs .summary{font-size:var(--impd-font-size-sm);line-height:var(--impd-size-5);font-weight:400;color:var(--impd-color-gray-700)}.pagination-container .desktop-pagination .pagination-rhs .pagination-actions{display:flex;flex-direction:row;gap:.4rem;flex-flow:wrap}.pagination-container .desktop-pagination .pagination-rhs .pagination-actions ::ng-deep .first{margin-right:-1.2rem}.pagination-container .desktop-pagination .pagination-rhs .pagination-actions ::ng-deep .last{margin-left:-1.2rem}.pagination-container .desktop-pagination .pagination-rhs .page-change{display:flex;flex-direction:row;align-items:center;gap:.4rem;font-size:var(--impd-size-3_5, 1.4rem)}.pagination-container .desktop-pagination .pagination-rhs .page-change .form-control{min-width:4.275rem;max-width:6.3rem;text-align:center}.pagination-container .desktop-pagination .pagination-rhs .pagination-first-last-btns{padding-left:1.325rem;padding-right:1.325rem}\n"] }]
161
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { page: [{
135
162
  type: Input
136
163
  }], perPage: [{
137
164
  type: Input
@@ -139,7 +166,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
139
166
  type: Input
140
167
  }], summary: [{
141
168
  type: Input
169
+ }], perPageLabel: [{
170
+ type: Input
142
171
  }], goToPage: [{
143
172
  type: Output
173
+ }], perPageChange: [{
174
+ type: Output
144
175
  }] } });
145
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7O0FBRTNDOzs7O0dBSUc7QUFNSCxNQUFNLE9BQU8sbUJBQW1CO0lBTGhDO1FBTVUsYUFBUSxHQUNkLGtFQUFrRSxDQUFDO1FBRXJFOztXQUVHO1FBRUksU0FBSSxHQUFHLENBQUMsQ0FBQztRQUVoQjs7V0FFRztRQUVJLFlBQU8sR0FBRyxFQUFFLENBQUM7UUFFcEI7O1dBRUc7UUFFSSxVQUFLLEdBQUcsQ0FBQyxDQUFDO1FBa0JqQjs7V0FFRztRQUN1QixhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztLQXdHakU7SUEzSEM7OztPQUdHO0lBQ0gsSUFDVyxPQUFPLENBQUMsT0FBZTtRQUNoQyxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7YUFDM0IsT0FBTyxDQUFDLG1CQUFtQixFQUFFLE1BQU0sSUFBSSxDQUFDLGVBQWUsTUFBTSxDQUFDO2FBQzlELE9BQU8sQ0FBQyxrQkFBa0IsRUFBRSxNQUFNLElBQUksQ0FBQyxjQUFjLE1BQU0sQ0FBQzthQUM1RCxPQUFP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TSxZQUFZO1FBQ2pCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUNwQyxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQzNCLE9BQU87U0FDUjtRQUVELE1BQU0sUUFBUSxHQUFHLElBQUksR0FBRyxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUM7UUFFckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVNLHNCQUFzQixDQUFDLEVBQUUsTUFBTSxFQUFjO1FBQ2xELElBQUksQ0FBQyxhQUFhLENBQUUsTUFBMkIsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRU0sYUFBYSxDQUFDLElBQXFCO1FBQ3hDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV2QyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVNLHFCQUFxQixDQUFDLEtBQVk7UUFDdkMsMkJBQTJCO1FBQzNCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN0QixLQUFLLENBQUMsTUFBMkIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM1QyxDQUFDOztpSEFoSlUsbUJBQW1CO3FHQUFuQixtQkFBbUIsb01DYmhDLGd1RUEwRUE7NEZEN0RhLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSx5Q0FBeUM7OEJBWTVDLElBQUk7c0JBRFYsS0FBSztnQkFPQyxPQUFPO3NCQURiLEtBQUs7Z0JBT0MsS0FBSztzQkFEWCxLQUFLO2dCQVFLLE9BQU87c0JBRGpCLEtBQUs7Z0JBZW9CLFFBQVE7c0JBQWpDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgc2FuaXRpemUgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMnO1xuXG4vKipcbiAqIFRoZSBgUGFnaW5hdGlvbkNvbXBvbmVudGAgKGA8aW1wZGMtcGFnaW5hdGlvbmAgb3IgYDxkaXYgaW1wZGMtcGFnaW5hdGlvbmApIGlzIGEgY29udHJvbCBmb3IgcGFnZWQgY29udGVudCBzdWNoIGFzIHRhYmxlcyBvciBsaXN0cy5cbiAqIFRvIHVzZSwgaW1wb3J0IGBQYWdpbmF0aW9uTW9kdWxlYCBvciBhbm90aGVyIG1vZHVsZSB0aGF0IGltcG9ydHMgYW5kIGV4cG9ydHMgdGhhdCBtb2R1bGUgZnJvbSBgQGltcGFydG5lci9kZXNpZ24tY29tcG9uZW50c2AuXG4gKiBgTW9kYWxNb2R1bGVgIGltcG9ydHMgYW5kIGV4cG9ydHMgSW1wZGNGb3Jtc01vZHVsZSBhbmQgW0J1dHRvbk1vZHVsZV0oLi8/cGF0aD0vZG9jcy9kZXNpZ24tY29tcG9uZW50cy1idXR0b24pLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpbXBkYy1wYWdpbmF0aW9uLCBkaXZbaW1wZGMtcGFnaW5hdGlvbl0nLFxuICB0ZW1wbGF0ZVVybDogJy4vcGFnaW5hdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3BhZ2luYXRpb24uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBQYWdpbmF0aW9uQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSBfc3VtbWFyeSA9XG4gICAgJ1Nob3dpbmcge2ZpcnN0UGFnZVJlc3VsdH0gdG8ge2xhc3RQYWdlUmVzdWx0fSBvZiB7dG90YWx9IHJlc3VsdHMnO1xuXG4gIC8qKlxuICAgKiBUaGUgY3VycmVudCBwYWdlLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHBhZ2UgPSAwO1xuXG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIGl0ZW1zIHNob3duIHBlciBwYWdlLiBJdGVtcyBhcmUgY29tbW9ubHkgZGlzcGxheWVkIGFzIHJvd3MgaW4gYSB0YWJsZS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwZXJQYWdlID0gMTA7XG5cbiAgLyoqXG4gICAqIFRoZSB0b3RhbCBudW1iZXIgb2YgaXRlbXMuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgdG90YWwgPSAwO1xuXG4gIC8qKlxuICAgKiBBIGZvcm1hdHRhYmxlIHRleHQgc3VtbWFyeSBvZiBwYWdpbmF0aW9uIGRhdGEuIGB7Zmlyc3RQYWdlUmVzdWx0fWAgVGhlIGZpcnN0IGl0ZW0gd2l0aGluIHRoZSBjdXJyZW50IHBhZ2UuXG4gICAqIGB7bGFzdFBhZ2VSZXN1bHR9YCBUaGUgbGFzdCBpdGVtIHdpdGhpbiB0aGUgY3VycmVudCBwYWdlLiBge3RvdGFsfWAgVGhlIHRvdGFsIG51bWJlciBvZiBpdGVtcy5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgc3VtbWFyeShzdW1tYXJ5OiBzdHJpbmcpIHtcbiAgICB0aGlzLl9zdW1tYXJ5ID0gc3VtbWFyeTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc3VtbWFyeSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBzYW5pdGl6ZSh0aGlzLl9zdW1tYXJ5KVxuICAgICAgLnJlcGxhY2UoJ3tmaXJzdFBhZ2VSZXN1bHR9JywgYDxiPiR7dGhpcy5maXJzdFBhZ2VSZXN1bHR9PC9iPmApXG4gICAgICAucmVwbGFjZSgne2xhc3RQYWdlUmVzdWx0fScsIGA8Yj4ke3RoaXMubGFzdFBhZ2VSZXN1bHR9PC9iPmApXG4gICAgICAucmVwbGFjZSgne3RvdGFsfScsIGA8Yj4ke3RoaXMudG90YWx9PC9iPmApO1xuICB9XG5cbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgcGFnZSBudW1iZXIgaXMgY2hhbmdlZCwgc3BlY2lmeWluZyB0aGUgdGFyZ2V0IHBhZ2UgbnVtYmVyLlxuICAgKi9cbiAgQE91dHB1dCgpIHB1YmxpYyByZWFkb25seSBnb1RvUGFnZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIHB1YmxpYyBnZXQgdG90YWxQYWdlcygpOiBudW1iZXIge1xuICAgIGlmICh0aGlzLnRvdGFsIDwgMSB8fCB0aGlzLnBlclBhZ2UgPCAxKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy50b3RhbCA8IHRoaXMucGVyUGFnZSkge1xuICAgICAgcmV0dXJuIDE7XG4gICAgfVxuXG4gICAgcmV0dXJuIE1hdGguY2VpbCh0aGlzLnRvdGFsIC8gdGhpcy5wZXJQYWdlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZmlyc3RQYWdlUmVzdWx0KCk6IG51bWJlciB7XG4gICAgY29uc3QgcGFnZSA9IHRoaXMuX2dldFBhZ2VDbGFtcGVkKCk7XG4gICAgaWYgKHRoaXMudG90YWwgPCAxIHx8IHBhZ2UgPCAxIHx8IHRoaXMucGVyUGFnZSA8IDEpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cblxuICAgIGlmIChwYWdlID09PSAxKSB7XG4gICAgICByZXR1cm4gMTtcbiAgICB9XG5cbiAgICBpZiAocGFnZSA+IE1hdGguY2VpbCh0aGlzLnRvdGFsIC8gdGhpcy5wZXJQYWdlKSkge1xuICAgICAgcmV0dXJuIHRoaXMudG90YWw7XG4gICAgfVxuXG4gICAgcmV0dXJuIChwYWdlIC0gMSkgKiB0aGlzLnBlclBhZ2UgKyAxO1xuICB9XG5cbiAgcHVibGljIGdldCBsYXN0UGFnZVJlc3VsdCgpOiBudW1iZXIge1xuICAgIGNvbnN0IHBhZ2UgPSB0aGlzLl9nZXRQYWdlQ2xhbXBlZCgpO1xuICAgIGlmICh0aGlzLnRvdGFsIDw9IDAgfHwgcGFnZSA8IDEgfHwgdGhpcy5wZXJQYWdlIDwgMSkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuXG4gICAgaWYgKHBhZ2UgPT09IDEpIHtcbiAgICAgIGlmICh0aGlzLnRvdGFsIDwgdGhpcy5wZXJQYWdlKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRvdGFsO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGVyUGFnZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodGhpcy50b3RhbCA8IHRoaXMucGVyUGFnZSAqIHBhZ2UpIHtcbiAgICAgIHJldHVybiB0aGlzLnRvdGFsO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5wZXJQYWdlICogcGFnZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9nZXRQYWdlQ2xhbXBlZChwYWdlPzogc3RyaW5nIHwgbnVtYmVyKTogbnVtYmVyIHtcbiAgICBwYWdlID0gTnVtYmVyKHBhZ2UgfHwgdGhpcy5wYWdlIHx8IDApO1xuICAgIGlmIChpc05hTihwYWdlKSB8fCBwYWdlIDwgMSkge1xuICAgICAgcmV0dXJuIDE7XG4gICAgfVxuXG4gICAgaWYgKHBhZ2UgPiB0aGlzLnRvdGFsUGFnZXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnRvdGFsUGFnZXM7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBhZ2U7XG4gIH1cblxuICBwdWJsaWMgZ29Ub1ByZXZpb3VzUGFnZSgpOiB2b2lkIHtcbiAgICBjb25zdCBwYWdlID0gdGhpcy5fZ2V0UGFnZUNsYW1wZWQoKTtcbiAgICBpZiAocGFnZSA8PSAxKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcHJldmlvdXNQYWdlID0gcGFnZSAtIDE7XG4gICAgdGhpcy5wYWdlID0gcHJldmlvdXNQYWdlO1xuXG4gICAgdGhpcy5nb1RvUGFnZS5lbWl0KHByZXZpb3VzUGFnZSk7XG4gIH1cblxuICBwdWJsaWMgZ29Ub05leHRQYWdlKCk6IHZvaWQge1xuICAgIGNvbnN0IHBhZ2UgPSB0aGlzLl9nZXRQYWdlQ2xhbXBlZCgpO1xuICAgIGlmIChwYWdlID49IHRoaXMudG90YWxQYWdlcykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG5leHRQYWdlID0gcGFnZSArIDE7XG4gICAgdGhpcy5wYWdlID0gbmV4dFBhZ2U7XG5cbiAgICB0aGlzLmdvVG9QYWdlLmVtaXQobmV4dFBhZ2UpO1xuICB9XG5cbiAgcHVibGljIGdvVG9FeGFjdFBhZ2VGcm9tRXZlbnQoeyB0YXJnZXQgfTogRm9jdXNFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuZ29Ub0V4YWN0UGFnZSgodGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpPy52YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgZ29Ub0V4YWN0UGFnZShwYWdlOiBudW1iZXIgfCBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnBhZ2UgPSB0aGlzLl9nZXRQYWdlQ2xhbXBlZChwYWdlKTtcblxuICAgIHRoaXMuZ29Ub1BhZ2UuZW1pdCh0aGlzLnBhZ2UpO1xuICB9XG5cbiAgcHVibGljIHByZXZlbnREZWZhdWx0QW5kQmx1cihldmVudDogRXZlbnQpIHtcbiAgICAvLyBwcmV2ZW50cyBQUk0gZm9ybSBzdWJtaXRcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkuYmx1cigpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicGFnaW5hdGlvbi1jb250YWluZXJcIj5cbiAgPGRpdiBjbGFzcz1cIm1vYmlsZS1wYWdpbmF0aW9uXCI+XG4gICAgPGJ1dHRvblxuICAgICAgaW1wZGNCdXR0b25cbiAgICAgIHRoZW1lPVwic2Vjb25kYXJ5XCJcbiAgICAgIFtkaXNhYmxlZF09XCJwYWdlIDw9IDFcIlxuICAgICAgKGNsaWNrKT1cImdvVG9QcmV2aW91c1BhZ2UoKVwiPlxuICAgICAgPGkgaW1wZGMtaWNvbiBuYW1lPVwiY2hldnJvbi1sZWZ0XCI+PC9pPlxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgIGltcGRjQnV0dG9uXG4gICAgICB0aGVtZT1cInNlY29uZGFyeVwiXG4gICAgICBbZGlzYWJsZWRdPVwicGFnZSA9PT0gdG90YWxQYWdlc1wiXG4gICAgICAoY2xpY2spPVwiZ29Ub05leHRQYWdlKClcIj5cbiAgICAgIDxpIGltcGRjLWljb24gbmFtZT1cImNoZXZyb24tcmlnaHRcIj48L2k+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJkZXNrdG9wLXBhZ2luYXRpb25cIj5cbiAgICA8ZGl2PlxuICAgICAgPHNwYW4gY2xhc3M9XCJzdW1tYXJ5XCIgW2lubmVySFRNTF09XCJzdW1tYXJ5XCI+PC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJwYWdpbmF0aW9uLWFjdGlvbnNcIj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgaW1wZGNCdXR0b25cbiAgICAgICAgdGhlbWU9XCJzZWNvbmRhcnlcIlxuICAgICAgICBhcmlhLWxhYmVsPVwiRmlyc3QgUGFnZVwiXG4gICAgICAgIGNsYXNzPVwicGFnaW5hdGlvbi1maXJzdC1sYXN0LWJ0bnNcIlxuICAgICAgICAoY2xpY2spPVwiZ29Ub0V4YWN0UGFnZSgxKVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJwYWdlIDw9IDFcIj5cbiAgICAgICAgPGkgaW1wZGMtaWNvbiBuYW1lPVwiY2hldnJvbi1sZWZ0IGZpcnN0XCI+PC9pPlxuICAgICAgICA8aSBpbXBkYy1pY29uIG5hbWU9XCJjaGV2cm9uLWxlZnRcIj48L2k+XG4gICAgICAgIDwhLS0gMSAtLT5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBpbXBkY0J1dHRvblxuICAgICAgICB0aGVtZT1cInNlY29uZGFyeVwiXG4gICAgICAgIGNsYXNzPVwicHJldmlvdXNcIlxuICAgICAgICBhcmlhLWxhYmVsPVwiUHJldmlvdXNcIlxuICAgICAgICAoY2xpY2spPVwiZ29Ub1ByZXZpb3VzUGFnZSgpXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cInBhZ2UgPD0gMVwiPlxuICAgICAgICA8aSBpbXBkYy1pY29uIG5hbWU9XCJjaGV2cm9uLWxlZnRcIj48L2k+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxkaXYgY2xhc3M9XCJwYWdlLWNoYW5nZVwiPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICBpbXBkY0lucHV0XG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJwYWdlXCJcbiAgICAgICAgICBtYXhsZW5ndGg9XCI0XCJcbiAgICAgICAgICAoYmx1cik9XCJnb1RvRXhhY3RQYWdlRnJvbUV2ZW50KCRldmVudClcIlxuICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cInByZXZlbnREZWZhdWx0QW5kQmx1cigkZXZlbnQpXCIgLz5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0b3RhbC1wYWdlc1wiPiAvIHt7IHRvdGFsUGFnZXMgfX0gPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIGltcGRjQnV0dG9uXG4gICAgICAgIHRoZW1lPVwic2Vjb25kYXJ5XCJcbiAgICAgICAgYXJpYS1sYWJlbD1cIk5leHRcIlxuICAgICAgICAoY2xpY2spPVwiZ29Ub05leHRQYWdlKClcIlxuICAgICAgICBbZGlzYWJsZWRdPVwicGFnZSA+PSB0b3RhbFBhZ2VzXCI+XG4gICAgICAgIDxpIGltcGRjLWljb24gbmFtZT1cImNoZXZyb24tcmlnaHRcIj48L2k+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgaW1wZGNCdXR0b25cbiAgICAgICAgdGhlbWU9XCJzZWNvbmRhcnlcIlxuICAgICAgICBjbGFzcz1cInBhZ2luYXRpb24tZmlyc3QtbGFzdC1idG5zXCJcbiAgICAgICAgYXJpYS1sYWJlbD1cIkxhc3QgUGFnZVwiXG4gICAgICAgIChjbGljayk9XCJnb1RvRXhhY3RQYWdlKHRvdGFsUGFnZXMpXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cInBhZ2UgPT09IHRvdGFsUGFnZXNcIj5cbiAgICAgICAgPGkgaW1wZGMtaWNvbiBuYW1lPVwiY2hldnJvbi1yaWdodFwiPjwvaT5cbiAgICAgICAgPGkgaW1wZGMtaWNvbiBuYW1lPVwiY2hldnJvbi1yaWdodCBsYXN0XCI+PC9pPlxuICAgICAgICA8IS0tIHt7IHRvdGFsUGFnZXMgfX0gLS0+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
176
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7Ozs7QUFHM0M7Ozs7R0FJRztBQU1ILE1BQU0sT0FBTyxtQkFBbUI7SUEyRzlCLFlBQTZCLGtCQUFxQztRQUFyQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1CO1FBMUcxRCxhQUFRLEdBQ2Qsa0VBQWtFLENBQUM7UUFFckU7O1dBRUc7UUFFSSxTQUFJLEdBQUcsQ0FBQyxDQUFDO1FBRWhCOztXQUVHO1FBRUksWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUVwQjs7V0FFRztRQUVJLFVBQUssR0FBRyxDQUFDLENBQUM7UUFrQmpCOztXQUVHO1FBRUksaUJBQVksR0FBRyxFQUFFLENBQUM7UUFFekI7O1dBRUc7UUFDdUIsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFFaEU7O1dBRUc7UUFDdUIsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBb0RyRSxjQUFjO1FBQ1AsV0FBTSxHQUFHLEtBQUssQ0FBQztJQUUrQyxDQUFDO0lBckZ0RTs7O09BR0c7SUFDSCxJQUNXLE9BQU8sQ0FBQyxPQUFlO1FBQ2hDLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO0lBQzFCLENBQUM7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QyxDQUFDLENBQUM7UUFDdEMsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxHQUFHLENBQUMsRUFBRTtZQUMzQixPQUFPLENBQUMsQ0FBQztTQUNWO1FBRUQsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUMxQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7U0FDeEI7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7O2lIQS9LVSxtQkFBbUI7cUdBQW5CLG1CQUFtQixrUUNwQmhDLDZ3R0FtR0E7NEZEL0VhLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSx5Q0FBeUM7d0dBWTVDLElBQUk7c0JBRFYsS0FBSztnQkFPQyxPQUFPO3NCQURiLEtBQUs7Z0JBT0MsS0FBSztzQkFEWCxLQUFLO2dCQVFLLE9BQU87c0JBRGpCLEtBQUs7Z0JBZ0JDLFlBQVk7c0JBRGxCLEtBQUs7Z0JBTW9CLFFBQVE7c0JBQWpDLE1BQU07Z0JBS21CLGFBQWE7c0JBQXRDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBzYW5pdGl6ZSB9IGZyb20gJy4uLy4uL3V0aWxpdGllcyc7XG5pbXBvcnQgeyBJRWxlbWVudFNpemUgfSBmcm9tICcuLi9zaXplLWRldGVjdGlvbic7XG5cbi8qKlxuICogVGhlIGBQYWdpbmF0aW9uQ29tcG9uZW50YCAoYDxpbXBkYy1wYWdpbmF0aW9uYCBvciBgPGRpdiBpbXBkYy1wYWdpbmF0aW9uYCkgaXMgYSBjb250cm9sIGZvciBwYWdlZCBjb250ZW50IHN1Y2ggYXMgdGFibGVzIG9yIGxpc3RzLlxuICogVG8gdXNlLCBpbXBvcnQgYFBhZ2luYXRpb25Nb2R1bGVgIG9yIGFub3RoZXIgbW9kdWxlIHRoYXQgaW1wb3J0cyBhbmQgZXhwb3J0cyB0aGF0IG1vZHVsZSBmcm9tIGBAaW1wYXJ0bmVyL2Rlc2lnbi1jb21wb25lbnRzYC5cbiAqIGBNb2RhbE1vZHVsZWAgaW1wb3J0cyBhbmQgZXhwb3J0cyBJbXBkY0Zvcm1zTW9kdWxlIGFuZCBbQnV0dG9uTW9kdWxlXSguLz9wYXRoPS9kb2NzL2Rlc2lnbi1jb21wb25lbnRzLWJ1dHRvbikuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ltcGRjLXBhZ2luYXRpb24sIGRpdltpbXBkYy1wYWdpbmF0aW9uXScsXG4gIHRlbXBsYXRlVXJsOiAnLi9wYWdpbmF0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcGFnaW5hdGlvbi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFBhZ2luYXRpb25Db21wb25lbnQge1xuICBwcml2YXRlIF9zdW1tYXJ5ID1cbiAgICAnU2hvd2luZyB7Zmlyc3RQYWdlUmVzdWx0fSB0byB7bGFzdFBhZ2VSZXN1bHR9IG9mIHt0b3RhbH0gcmVzdWx0cyc7XG5cbiAgLyoqXG4gICAqIFRoZSBjdXJyZW50IHBhZ2UuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgcGFnZSA9IDA7XG5cbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2YgaXRlbXMgc2hvd24gcGVyIHBhZ2UuIEl0ZW1zIGFyZSBjb21tb25seSBkaXNwbGF5ZWQgYXMgcm93cyBpbiBhIHRhYmxlLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHBlclBhZ2UgPSAxMDtcblxuICAvKipcbiAgICogVGhlIHRvdGFsIG51bWJlciBvZiBpdGVtcy5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB0b3RhbCA9IDA7XG5cbiAgLyoqXG4gICAqIEEgZm9ybWF0dGFibGUgdGV4dCBzdW1tYXJ5IG9mIHBhZ2luYXRpb24gZGF0YS4gYHtmaXJzdFBhZ2VSZXN1bHR9YCBUaGUgZmlyc3QgaXRlbSB3aXRoaW4gdGhlIGN1cnJlbnQgcGFnZS5cbiAgICogYHtsYXN0UGFnZVJlc3VsdH1gIFRoZSBsYXN0IGl0ZW0gd2l0aGluIHRoZSBjdXJyZW50IHBhZ2UuIGB7dG90YWx9YCBUaGUgdG90YWwgbnVtYmVyIG9mIGl0ZW1zLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBzdW1tYXJ5KHN1bW1hcnk6IHN0cmluZykge1xuICAgIHRoaXMuX3N1bW1hcnkgPSBzdW1tYXJ5O1xuICB9XG5cbiAgcHVibGljIGdldCBzdW1tYXJ5KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHNhbml0aXplKHRoaXMuX3N1bW1hcnkpXG4gICAgICAucmVwbGFjZSgne2ZpcnN0UGFnZVJlc3VsdH0nLCBgPGI+JHt0aGlzLmZpcnN0UGFnZVJlc3VsdH08L2I+YClcbiAgICAgIC5yZXBsYWNlKCd7bGFzdFBhZ2VSZXN1bHR9JywgYDxiPiR7dGhpcy5sYXN0UGFnZVJlc3VsdH08L2I+YClcbiAgICAgIC5yZXBsYWNlKCd7dG90YWx9JywgYDxiPiR7dGhpcy50b3RhbH08L2I+YCk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGxhYmVsIHRleHQgZm9yIHRoZSBwZXIgcGFnZSBzZWxlY3QgaW5wdXQuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgcGVyUGFnZUxhYmVsID0gJyc7XG5cbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgcGFnZSBudW1iZXIgaXMgY2hhbmdlZCwgc3BlY2lmeWluZyB0aGUgdGFyZ2V0IHBhZ2UgbnVtYmVyLlxuICAgKi9cbiAgQE91dHB1dCgpIHB1YmxpYyByZWFkb25seSBnb1RvUGFnZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIHBlciBwYWdlIGlzIGNoYW5nZWQsIHNwZWNpZnlpbmcgdGhlIG5ldyB2YWx1ZS5cbiAgICovXG4gIEBPdXRwdXQoKSBwdWJsaWMgcmVhZG9ubHkgcGVyUGFnZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIHB1YmxpYyBnZXQgdG90YWxQYWdlcygpOiBudW1iZXIge1xuICAgIGlmICh0aGlzLnRvdGFsIDwgMSB8fCB0aGlzLnBlclBhZ2UgPCAxKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy50b3RhbCA8IHRoaXMucGVyUGFnZSkge1xuICAgICAgcmV0dXJuIDE7XG4gICAgfVxuXG4gICAgcmV0dXJuIE1hdGguY2VpbCh0aGlzLnRvdGFsIC8gdGhpcy5wZXJQYWdlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZmlyc3RQYWdlUmVzdWx0KCk6IG51bWJlciB7XG4gICAgY29uc3QgcGFnZSA9IHRoaXMuX2dldFBhZ2VDbGFtcGVkKCk7XG4gICAgaWYgKHRoaXMudG90YWwgPCAxIHx8IHBhZ2UgPCAxIHx8IHRoaXMucGVyUGFnZSA8IDEpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cblxuICAgIGlmIChwYWdlID09PSAxKSB7XG4gICAgICByZXR1cm4gMTtcbiAgICB9XG5cbiAgICBpZiAocGFnZSA+IE1hdGguY2VpbCh0aGlzLnRvdGFsIC8gdGhpcy5wZXJQYWdlKSkge1xuICAgICAgcmV0dXJuIHRoaXMudG90YWw7XG4gICAgfVxuXG4gICAgcmV0dXJuIChwYWdlIC0gMSkgKiB0aGlzLnBlclBhZ2UgKyAxO1xuICB9XG5cbiAgcHVibGljIGdldCBsYXN0UGFnZVJlc3VsdCgpOiBudW1iZXIge1xuICAgIGNvbnN0IHBhZ2UgPSB0aGlzLl9nZXRQYWdlQ2xhbXBlZCgpO1xuICAgIGlmICh0aGlzLnRvdGFsIDw9IDAgfHwgcGFnZSA8IDEgfHwgdGhpcy5wZXJQYWdlIDwgMSkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuXG4gICAgaWYgKHBhZ2UgPT09IDEpIHtcbiAgICAgIGlmICh0aGlzLnRvdGFsIDwgdGhpcy5wZXJQYWdlKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRvdGFsO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGVyUGFnZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodGhpcy50b3RhbCA8IHRoaXMucGVyUGFnZSAqIHBhZ2UpIHtcbiAgICAgIHJldHVybiB0aGlzLnRvdGFsO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5wZXJQYWdlICogcGFnZTtcbiAgICB9XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwdWJsaWMgbW9iaWxlID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIHB1YmxpYyBoYW5kbGVSZXNpemUoc2l6ZTogSUVsZW1lbnRTaXplKTogdm9pZCB7XG4gICAgdGhpcy5tb2JpbGUgPSBzaXplLndpZHRoIDwgNjQwO1xuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHB1YmxpYyBnb1RvUHJldmlvdXNQYWdlKCk6IHZvaWQge1xuICAgIGNvbnN0IHBhZ2UgPSB0aGlzLl9nZXRQYWdlQ2xhbXBlZCgpO1xuICAgIGlmIChwYWdlIDw9IDEpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBwcmV2aW91c1BhZ2UgPSBwYWdlIC0gMTtcbiAgICB0aGlzLnBhZ2UgPSBwcmV2aW91c1BhZ2U7XG5cbiAgICB0aGlzLmdvVG9QYWdlLmVtaXQocHJldmlvdXNQYWdlKTtcbiAgfVxuXG4gIHB1YmxpYyBnb1RvTmV4dFBhZ2UoKTogdm9pZCB7XG4gICAgY29uc3QgcGFnZSA9IHRoaXMuX2dldFBhZ2VDbGFtcGVkKCk7XG4gICAgaWYgKHBhZ2UgPj0gdGhpcy50b3RhbFBhZ2VzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgbmV4dFBhZ2UgPSBwYWdlICsgMTtcbiAgICB0aGlzLnBhZ2UgPSBuZXh0UGFnZTtcblxuICAgIHRoaXMuZ29Ub1BhZ2UuZW1pdChuZXh0UGFnZSk7XG4gIH1cblxuICBwdWJsaWMgZ29Ub0V4YWN0UGFnZUZyb21FdmVudCh7IHRhcmdldCB9OiBGb2N1c0V2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5nb1RvRXhhY3RQYWdlKCh0YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCk/LnZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBnb1RvRXhhY3RQYWdlKHBhZ2U6IG51bWJlciB8IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHRhcmdldFBhZ2UgPSB0aGlzLl9nZXRQYWdlQ2xhbXBlZChwYWdlKTtcblxuICAgIGlmICh0YXJnZXRQYWdlID09PSB0aGlzLnBhZ2UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnBhZ2UgPSB0YXJnZXRQYWdlO1xuXG4gICAgdGhpcy5nb1RvUGFnZS5lbWl0KHRoaXMucGFnZSk7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlUGVyUGFnZUNoYW5nZSgpOiB2b2lkIHtcbiAgICB0aGlzLnBlclBhZ2VDaGFuZ2UuZW1pdCh0aGlzLnBlclBhZ2UpO1xuICB9XG5cbiAgcHVibGljIHByZXZlbnREZWZhdWx0QW5kQmx1cihldmVudDogRXZlbnQpIHtcbiAgICAvLyBwcmV2ZW50cyBQUk0gZm9ybSBzdWJtaXRcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkuYmx1cigpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0UGFnZUNsYW1wZWQocGFnZT86IHN0cmluZyB8IG51bWJlcik6IG51bWJlciB7XG4gICAgcGFnZSA9IE51bWJlcihwYWdlIHx8IHRoaXMucGFnZSB8fCAwKTtcbiAgICBpZiAoaXNOYU4ocGFnZSkgfHwgcGFnZSA8IDEpIHtcbiAgICAgIHJldHVybiAxO1xuICAgIH1cblxuICAgIGlmIChwYWdlID4gdGhpcy50b3RhbFBhZ2VzKSB7XG4gICAgICByZXR1cm4gdGhpcy50b3RhbFBhZ2VzO1xuICAgIH1cblxuICAgIHJldHVybiBwYWdlO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwicGFnaW5hdGlvbi1jb250YWluZXJcIlxuICBpbXBkY1NpemVEZXRlY3RvclxuICAocmVzaXplZCk9XCJoYW5kbGVSZXNpemUoJGV2ZW50KVwiPlxuICA8ZGl2IGNsYXNzPVwibW9iaWxlLXBhZ2luYXRpb25cIiBbbmdDbGFzc109XCJ7ICdkLW5vbmUnOiAhbW9iaWxlIH1cIj5cbiAgICA8YnV0dG9uXG4gICAgICBpbXBkY0J1dHRvblxuICAgICAgdGhlbWU9XCJzZWNvbmRhcnlcIlxuICAgICAgW2Rpc2FibGVkXT1cInBhZ2UgPD0gMVwiXG4gICAgICAoY2xpY2spPVwiZ29Ub1ByZXZpb3VzUGFnZSgpXCI+XG4gICAgICA8aSBpbXBkYy1pY29uIG5hbWU9XCJjaGV2cm9uLWxlZnRcIj48L2k+XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvblxuICAgICAgaW1wZGNCdXR0b25cbiAgICAgIHRoZW1lPVwic2Vjb25kYXJ5XCJcbiAgICAgIFtkaXNhYmxlZF09XCJwYWdlID09PSB0b3RhbFBhZ2VzXCJcbiAgICAgIChjbGljayk9XCJnb1RvTmV4dFBhZ2UoKVwiPlxuICAgICAgPGkgaW1wZGMtaWNvbiBuYW1lPVwiY2hldnJvbi1yaWdodFwiPjwvaT5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImRlc2t0b3AtcGFnaW5hdGlvblwiIFtuZ0NsYXNzXT1cInsgJ2Qtbm9uZSc6IG1vYmlsZSB9XCI+XG4gICAgPGRpdiBjbGFzcz1cInJvd3MtcGVyLXBhZ2VcIj5cbiAgICAgIDxkaXY+e3sgcGVyUGFnZUxhYmVsIH19PC9kaXY+XG4gICAgICA8ZGl2PlxuICAgICAgICA8aW1wZGMtZm9ybS1maWVsZD5cbiAgICAgICAgICA8aW1wZGMtc2VsZWN0XG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cInBlclBhZ2VcIlxuICAgICAgICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJoYW5kbGVQZXJQYWdlQ2hhbmdlKClcIj5cbiAgICAgICAgICAgIDxpbXBkYy1zZWxlY3Qtb3B0aW9uIFt2YWx1ZV09XCIxMFwiIGxhYmVsPVwiMTBcIj48L2ltcGRjLXNlbGVjdC1vcHRpb24+XG4gICAgICAgICAgICA8aW1wZGMtc2VsZWN0LW9wdGlvbiBbdmFsdWVdPVwiMjVcIiBsYWJlbD1cIjI1XCI+PC9pbXBkYy1zZWxlY3Qtb3B0aW9uPlxuICAgICAgICAgICAgPGltcGRjLXNlbGVjdC1vcHRpb24gW3ZhbHVlXT1cIjUwXCIgbGFiZWw9XCI1MFwiPjwvaW1wZGMtc2VsZWN0LW9wdGlvbj5cbiAgICAgICAgICAgIDxpbXBkYy1zZWxlY3Qtb3B0aW9uXG4gICAgICAgICAgICAgIFt2YWx1ZV09XCIxMDBcIlxuICAgICAgICAgICAgICBsYWJlbD1cIjEwMFwiPjwvaW1wZGMtc2VsZWN0LW9wdGlvbj5cbiAgICAgICAgICAgIDxpbXBkYy1zZWxlY3Qtb3B0aW9uXG4gICAgICAgICAgICAgIFt2YWx1ZV09XCIyMDBcIlxuICAgICAgICAgICAgICBsYWJlbD1cIjIwMFwiPjwvaW1wZGMtc2VsZWN0LW9wdGlvbj5cbiAgICAgICAgICA8L2ltcGRjLXNlbGVjdD5cbiAgICAgICAgPC9pbXBkYy1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInBhZ2luYXRpb24tcmhzXCI+XG4gICAgICA8ZGl2PlxuICAgICAgICA8c3BhbiBjbGFzcz1cInN1bW1hcnlcIiBbaW5uZXJIVE1MXT1cInN1bW1hcnlcIj48L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJwYWdpbmF0aW9uLWFjdGlvbnNcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGltcGRjQnV0dG9uXG4gICAgICAgICAgdGhlbWU9XCJzZWNvbmRhcnlcIlxuICAgICAgICAgIGFyaWEtbGFiZWw9XCJGaXJzdCBQYWdlXCJcbiAgICAgICAgICBjbGFzcz1cInBhZ2luYXRpb24tZmlyc3QtbGFzdC1idG5zXCJcbiAgICAgICAgICAoY2xpY2spPVwiZ29Ub0V4YWN0UGFnZSgxKVwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cInBhZ2UgPD0gMVwiPlxuICAgICAgICAgIDxpIGltcGRjLWljb24gbmFtZT1cImNoZXZyb24tbGVmdCBmaXJzdFwiPjwvaT5cbiAgICAgICAgICA8aSBpbXBkYy1pY29uIG5hbWU9XCJjaGV2cm9uLWxlZnRcIj48L2k+XG4gICAgICAgICAgPCEtLSAxIC0tPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGltcGRjQnV0dG9uXG4gICAgICAgICAgdGhlbWU9XCJzZWNvbmRhcnlcIlxuICAgICAgICAgIGNsYXNzPVwicHJldmlvdXNcIlxuICAgICAgICAgIGFyaWEtbGFiZWw9XCJQcmV2aW91c1wiXG4gICAgICAgICAgKGNsaWNrKT1cImdvVG9QcmV2aW91c1BhZ2UoKVwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cInBhZ2UgPD0gMVwiPlxuICAgICAgICAgIDxpIGltcGRjLWljb24gbmFtZT1cImNoZXZyb24tbGVmdFwiPjwvaT5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwYWdlLWNoYW5nZVwiPlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgaW1wZGNJbnB1dFxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJwYWdlXCJcbiAgICAgICAgICAgIG1heGxlbmd0aD1cIjRcIlxuICAgICAgICAgICAgKGJsdXIpPVwiZ29Ub0V4YWN0UGFnZUZyb21FdmVudCgkZXZlbnQpXCJcbiAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cInByZXZlbnREZWZhdWx0QW5kQmx1cigkZXZlbnQpXCIgLz5cbiAgICAgICAgICA8c3Bhbj4gLyB7eyB0b3RhbFBhZ2VzIH19IDwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBpbXBkY0J1dHRvblxuICAgICAgICAgIHRoZW1lPVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICBhcmlhLWxhYmVsPVwiTmV4dFwiXG4gICAgICAgICAgKGNsaWNrKT1cImdvVG9OZXh0UGFnZSgpXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwicGFnZSA+PSB0b3RhbFBhZ2VzXCI+XG4gICAgICAgICAgPGkgaW1wZGMtaWNvbiBuYW1lPVwiY2hldnJvbi1yaWdodFwiPjwvaT5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBpbXBkY0J1dHRvblxuICAgICAgICAgIHRoZW1lPVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICBjbGFzcz1cInBhZ2luYXRpb24tZmlyc3QtbGFzdC1idG5zXCJcbiAgICAgICAgICBhcmlhLWxhYmVsPVwiTGFzdCBQYWdlXCJcbiAgICAgICAgICAoY2xpY2spPVwiZ29Ub0V4YWN0UGFnZSh0b3RhbFBhZ2VzKVwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cInBhZ2UgPT09IHRvdGFsUGFnZXNcIj5cbiAgICAgICAgICA8aSBpbXBkYy1pY29uIG5hbWU9XCJjaGV2cm9uLXJpZ2h0XCI+PC9pPlxuICAgICAgICAgIDxpIGltcGRjLWljb24gbmFtZT1cImNoZXZyb24tcmlnaHQgbGFzdFwiPjwvaT5cbiAgICAgICAgICA8IS0tIHt7IHRvdGFsUGFnZXMgfX0gLS0+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -5,6 +5,7 @@ import { ButtonModule } from '../button';
5
5
  import { ImpdcFormsModule } from '../form-field';
6
6
  import { IconModule } from '../icon';
7
7
  import { PaginationComponent } from './pagination.component';
8
+ import { SizeDetectionModule } from '../size-detection';
8
9
  import * as i0 from "@angular/core";
9
10
  export class PaginationModule {
10
11
  constructor() { }
@@ -14,12 +15,14 @@ PaginationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", versio
14
15
  ButtonModule,
15
16
  FormsModule,
16
17
  ImpdcFormsModule,
17
- IconModule], exports: [ButtonModule, ImpdcFormsModule, IconModule, PaginationComponent] });
18
+ IconModule,
19
+ SizeDetectionModule], exports: [ButtonModule, ImpdcFormsModule, IconModule, PaginationComponent] });
18
20
  PaginationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PaginationModule, imports: [CommonModule,
19
21
  ButtonModule,
20
22
  FormsModule,
21
23
  ImpdcFormsModule,
22
- IconModule, ButtonModule, ImpdcFormsModule, IconModule] });
24
+ IconModule,
25
+ SizeDetectionModule, ButtonModule, ImpdcFormsModule, IconModule] });
23
26
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PaginationModule, decorators: [{
24
27
  type: NgModule,
25
28
  args: [{
@@ -28,10 +31,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
28
31
  ButtonModule,
29
32
  FormsModule,
30
33
  ImpdcFormsModule,
31
- IconModule
34
+ IconModule,
35
+ SizeDetectionModule
32
36
  ],
33
37
  declarations: [PaginationComponent],
34
38
  exports: [ButtonModule, ImpdcFormsModule, IconModule, PaginationComponent]
35
39
  }]
36
40
  }], ctorParameters: function () { return []; } });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDekMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDckMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBYTdELE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0IsZ0JBQWUsQ0FBQzs7OEdBREwsZ0JBQWdCOytHQUFoQixnQkFBZ0IsaUJBSFosbUJBQW1CLGFBTmhDLFlBQVk7UUFDWixZQUFZO1FBQ1osV0FBVztRQUNYLGdCQUFnQjtRQUNoQixVQUFVLGFBR0YsWUFBWSxFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxtQkFBbUI7K0dBRTlELGdCQUFnQixZQVR6QixZQUFZO1FBQ1osWUFBWTtRQUNaLFdBQVc7UUFDWCxnQkFBZ0I7UUFDaEIsVUFBVSxFQUdGLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxVQUFVOzRGQUV6QyxnQkFBZ0I7a0JBWDVCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixXQUFXO3dCQUNYLGdCQUFnQjt3QkFDaEIsVUFBVTtxQkFDWDtvQkFDRCxZQUFZLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztvQkFDbkMsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxtQkFBbUIsQ0FBQztpQkFDM0UiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSAnLi4vYnV0dG9uJztcbmltcG9ydCB7IEltcGRjRm9ybXNNb2R1bGUgfSBmcm9tICcuLi9mb3JtLWZpZWxkJztcbmltcG9ydCB7IEljb25Nb2R1bGUgfSBmcm9tICcuLi9pY29uJztcbmltcG9ydCB7IFBhZ2luYXRpb25Db21wb25lbnQgfSBmcm9tICcuL3BhZ2luYXRpb24uY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBCdXR0b25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgSW1wZGNGb3Jtc01vZHVsZSxcbiAgICBJY29uTW9kdWxlXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1BhZ2luYXRpb25Db21wb25lbnRdLFxuICBleHBvcnRzOiBbQnV0dG9uTW9kdWxlLCBJbXBkY0Zvcm1zTW9kdWxlLCBJY29uTW9kdWxlLCBQYWdpbmF0aW9uQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBQYWdpbmF0aW9uTW9kdWxlIHtcbiAgY29uc3RydWN0b3IoKSB7fVxufVxuIl19
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDekMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDckMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBY3hELE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0IsZ0JBQWUsQ0FBQzs7OEdBREwsZ0JBQWdCOytHQUFoQixnQkFBZ0IsaUJBSFosbUJBQW1CLGFBUGhDLFlBQVk7UUFDWixZQUFZO1FBQ1osV0FBVztRQUNYLGdCQUFnQjtRQUNoQixVQUFVO1FBQ1YsbUJBQW1CLGFBR1gsWUFBWSxFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxtQkFBbUI7K0dBRTlELGdCQUFnQixZQVZ6QixZQUFZO1FBQ1osWUFBWTtRQUNaLFdBQVc7UUFDWCxnQkFBZ0I7UUFDaEIsVUFBVTtRQUNWLG1CQUFtQixFQUdYLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxVQUFVOzRGQUV6QyxnQkFBZ0I7a0JBWjVCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixXQUFXO3dCQUNYLGdCQUFnQjt3QkFDaEIsVUFBVTt3QkFDVixtQkFBbUI7cUJBQ3BCO29CQUNELFlBQVksRUFBRSxDQUFDLG1CQUFtQixDQUFDO29CQUNuQyxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsVUFBVSxFQUFFLG1CQUFtQixDQUFDO2lCQUMzRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBCdXR0b25Nb2R1bGUgfSBmcm9tICcuLi9idXR0b24nO1xuaW1wb3J0IHsgSW1wZGNGb3Jtc01vZHVsZSB9IGZyb20gJy4uL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgSWNvbk1vZHVsZSB9IGZyb20gJy4uL2ljb24nO1xuaW1wb3J0IHsgUGFnaW5hdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vcGFnaW5hdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2l6ZURldGVjdGlvbk1vZHVsZSB9IGZyb20gJy4uL3NpemUtZGV0ZWN0aW9uJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBCdXR0b25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgSW1wZGNGb3Jtc01vZHVsZSxcbiAgICBJY29uTW9kdWxlLFxuICAgIFNpemVEZXRlY3Rpb25Nb2R1bGVcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbUGFnaW5hdGlvbkNvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtCdXR0b25Nb2R1bGUsIEltcGRjRm9ybXNNb2R1bGUsIEljb25Nb2R1bGUsIFBhZ2luYXRpb25Db21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIFBhZ2luYXRpb25Nb2R1bGUge1xuICBjb25zdHJ1Y3RvcigpIHt9XG59XG4iXX0=
@@ -0,0 +1,11 @@
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class TableBulkActionsComponent {
4
+ }
5
+ TableBulkActionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TableBulkActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6
+ TableBulkActionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: TableBulkActionsComponent, selector: "impdc-table-bulk-actions", ngImport: i0, template: "<div class=\"table-bulk-actions\">\n <div class=\"selected-total\">\n <ng-content select=\"[selectedTotal]\"></ng-content>\n </div>\n <div class=\"bulk-actions\">\n <ng-content select=\"[bulkAction]\"></ng-content>\n </div>\n</div>\n", styles: [".table-bulk-actions{display:flex;flex-direction:row;align-items:center;font-weight:400}.table-bulk-actions .selected-total{border-right:1px solid var(--impd-color-gray-200, \"#e5e7eb\");padding-right:1.6rem}.table-bulk-actions .bulk-actions{padding-left:1.6rem;display:flex;flex-direction:row;gap:1.6rem}\n"] });
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TableBulkActionsComponent, decorators: [{
8
+ type: Component,
9
+ args: [{ selector: 'impdc-table-bulk-actions', template: "<div class=\"table-bulk-actions\">\n <div class=\"selected-total\">\n <ng-content select=\"[selectedTotal]\"></ng-content>\n </div>\n <div class=\"bulk-actions\">\n <ng-content select=\"[bulkAction]\"></ng-content>\n </div>\n</div>\n", styles: [".table-bulk-actions{display:flex;flex-direction:row;align-items:center;font-weight:400}.table-bulk-actions .selected-total{border-right:1px solid var(--impd-color-gray-200, \"#e5e7eb\");padding-right:1.6rem}.table-bulk-actions .bulk-actions{padding-left:1.6rem;display:flex;flex-direction:row;gap:1.6rem}\n"] }]
10
+ }] });
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVsay1hY3Rpb25zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvdGFibGUvY29tcG9uZW50cy9idWxrLWFjdGlvbnMvYnVsay1hY3Rpb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvdGFibGUvY29tcG9uZW50cy9idWxrLWFjdGlvbnMvYnVsay1hY3Rpb25zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTzFDLE1BQU0sT0FBTyx5QkFBeUI7O3VIQUF6Qix5QkFBeUI7MkdBQXpCLHlCQUF5QixnRUNQdEMscVBBUUE7NEZERGEseUJBQXlCO2tCQUxyQyxTQUFTOytCQUNFLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpbXBkYy10YWJsZS1idWxrLWFjdGlvbnMnLFxuICB0ZW1wbGF0ZVVybDogJy4vYnVsay1hY3Rpb25zLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYnVsay1hY3Rpb25zLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgVGFibGVCdWxrQWN0aW9uc0NvbXBvbmVudCB7fVxuIiwiPGRpdiBjbGFzcz1cInRhYmxlLWJ1bGstYWN0aW9uc1wiPlxuICA8ZGl2IGNsYXNzPVwic2VsZWN0ZWQtdG90YWxcIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbc2VsZWN0ZWRUb3RhbF1cIj48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiYnVsay1hY3Rpb25zXCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2J1bGtBY3Rpb25dXCI+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,38 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "../../../icon/icon.component";
5
+ export class ColumnHeadingComponent {
6
+ constructor() {
7
+ this.isSortable = false;
8
+ this.direction = 'asc';
9
+ this.text = '';
10
+ this.sort = new EventEmitter();
11
+ }
12
+ get sortedColumn() {
13
+ return (this.sortColumnIndex !== undefined &&
14
+ this.sortColumnIndex === this.columnIndex);
15
+ }
16
+ onSort() {
17
+ this.sort.emit(this.columnIndex);
18
+ }
19
+ }
20
+ ColumnHeadingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ColumnHeadingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
21
+ ColumnHeadingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: ColumnHeadingComponent, selector: "impdc-column-heading", inputs: { isSortable: "isSortable", columnIndex: "columnIndex", sortColumnIndex: "sortColumnIndex", direction: "direction", text: "text" }, outputs: { sort: "sort" }, ngImport: i0, template: "<a *ngIf=\"isSortable; else notClickable\" class=\"impdc-table-sort\">\n <span>\n {{ text }}\n </span>\n <span\n [ngClass]=\"sortedColumn ? 'visible' : 'invisible'\"\n impdc-icon\n [name]=\"direction === 'asc' ? 'arrow-up' : 'arrow-down'\"></span>\n</a>\n<ng-template #notClickable>\n {{ text }}\n</ng-template>\n", styles: [":host .impdc-table-sort{color:var(--impd-color-gray-500);display:flex;flex-direction:row;gap:.8rem;align-items:center}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IconComponent, selector: "impdc-icon, [impdc-icon]", inputs: ["name", "theme", "size"] }] });
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ColumnHeadingComponent, decorators: [{
23
+ type: Component,
24
+ args: [{ selector: 'impdc-column-heading', template: "<a *ngIf=\"isSortable; else notClickable\" class=\"impdc-table-sort\">\n <span>\n {{ text }}\n </span>\n <span\n [ngClass]=\"sortedColumn ? 'visible' : 'invisible'\"\n impdc-icon\n [name]=\"direction === 'asc' ? 'arrow-up' : 'arrow-down'\"></span>\n</a>\n<ng-template #notClickable>\n {{ text }}\n</ng-template>\n", styles: [":host .impdc-table-sort{color:var(--impd-color-gray-500);display:flex;flex-direction:row;gap:.8rem;align-items:center}\n"] }]
25
+ }], propDecorators: { isSortable: [{
26
+ type: Input
27
+ }], columnIndex: [{
28
+ type: Input
29
+ }], sortColumnIndex: [{
30
+ type: Input
31
+ }], direction: [{
32
+ type: Input
33
+ }], text: [{
34
+ type: Input
35
+ }], sort: [{
36
+ type: Output
37
+ }] } });
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLWhlYWRpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWNvbXBvbmVudHMvc3JjL2xpYi90YWJsZS9jb21wb25lbnRzL2NvbHVtbi1oZWFkaW5nL2NvbHVtbi1oZWFkaW5nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvdGFibGUvY29tcG9uZW50cy9jb2x1bW4taGVhZGluZy9jb2x1bW4taGVhZGluZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBT3ZFLE1BQU0sT0FBTyxzQkFBc0I7SUFMbkM7UUFPUyxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBU25CLGNBQVMsR0FBbUIsS0FBSyxDQUFDO1FBR2xDLFNBQUksR0FBRyxFQUFFLENBQUM7UUFVVixTQUFJLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztLQUsxQztJQWJDLElBQVcsWUFBWTtRQUNyQixPQUFPLENBQ0wsSUFBSSxDQUFDLGVBQWUsS0FBSyxTQUFTO1lBQ2xDLElBQUksQ0FBQyxlQUFlLEtBQUssSUFBSSxDQUFDLFdBQVcsQ0FDMUMsQ0FBQztJQUNKLENBQUM7SUFLTSxNQUFNO1FBQ1gsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ25DLENBQUM7O29IQTVCVSxzQkFBc0I7d0dBQXRCLHNCQUFzQixtT0NQbkMsMlVBWUE7NEZETGEsc0JBQXNCO2tCQUxsQyxTQUFTOytCQUNFLHNCQUFzQjs4QkFNekIsVUFBVTtzQkFEaEIsS0FBSztnQkFJQyxXQUFXO3NCQURqQixLQUFLO2dCQUlDLGVBQWU7c0JBRHJCLEtBQUs7Z0JBSUMsU0FBUztzQkFEZixLQUFLO2dCQUlDLElBQUk7c0JBRFYsS0FBSztnQkFXQyxJQUFJO3NCQURWLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpbXBkYy1jb2x1bW4taGVhZGluZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb2x1bW4taGVhZGluZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvbHVtbi1oZWFkaW5nLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQ29sdW1uSGVhZGluZ0NvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpc1NvcnRhYmxlID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNvbHVtbkluZGV4PzogbnVtYmVyO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzb3J0Q29sdW1uSW5kZXg/OiBudW1iZXI7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGRpcmVjdGlvbjogJ2FzYycgfCAnZGVzYycgPSAnYXNjJztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgdGV4dCA9ICcnO1xuXG4gIHB1YmxpYyBnZXQgc29ydGVkQ29sdW1uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLnNvcnRDb2x1bW5JbmRleCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICB0aGlzLnNvcnRDb2x1bW5JbmRleCA9PT0gdGhpcy5jb2x1bW5JbmRleFxuICAgICk7XG4gIH1cblxuICBAT3V0cHV0KClcbiAgcHVibGljIHNvcnQgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICBwdWJsaWMgb25Tb3J0KCk6IHZvaWQge1xuICAgIHRoaXMuc29ydC5lbWl0KHRoaXMuY29sdW1uSW5kZXgpO1xuICB9XG59XG4iLCI8YSAqbmdJZj1cImlzU29ydGFibGU7IGVsc2Ugbm90Q2xpY2thYmxlXCIgY2xhc3M9XCJpbXBkYy10YWJsZS1zb3J0XCI+XG4gIDxzcGFuPlxuICAgIHt7IHRleHQgfX1cbiAgPC9zcGFuPlxuICA8c3BhblxuICAgIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA/ICd2aXNpYmxlJyA6ICdpbnZpc2libGUnXCJcbiAgICBpbXBkYy1pY29uXG4gICAgW25hbWVdPVwiZGlyZWN0aW9uID09PSAnYXNjJyA/ICdhcnJvdy11cCcgOiAnYXJyb3ctZG93bidcIj48L3NwYW4+XG48L2E+XG48bmctdGVtcGxhdGUgI25vdENsaWNrYWJsZT5cbiAge3sgdGV4dCB9fVxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export * from './column-heading/column-heading.component';
2
+ export * from './bulk-actions/bulk-actions.component';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL3RhYmxlL2NvbXBvbmVudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLHVDQUF1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jb2x1bW4taGVhZGluZy9jb2x1bW4taGVhZGluZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9idWxrLWFjdGlvbnMvYnVsay1hY3Rpb25zLmNvbXBvbmVudCc7XG4iXX0=
@@ -0,0 +1,3 @@
1
+ export * from './table.constants';
2
+ export * from './public-table.constants';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL3RhYmxlL2NvbnN0YW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsMEJBQTBCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3RhYmxlLmNvbnN0YW50cyc7XG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy10YWJsZS5jb25zdGFudHMnO1xuIl19
@@ -0,0 +1,2 @@
1
+ export const IS_SELECTED_PROPERTY = 'isSelected';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLXRhYmxlLmNvbnN0YW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvdGFibGUvY29uc3RhbnRzL3B1YmxpYy10YWJsZS5jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IElTX1NFTEVDVEVEX1BST1BFUlRZID0gJ2lzU2VsZWN0ZWQnO1xuIl19
@@ -0,0 +1,24 @@
1
+ export const DEFAULT_PAGE = 1;
2
+ export const ROWS_PER_PAGE = 10;
3
+ export const SELECTED_ROWS_PER_PAGE = { value: '25', text: '25' };
4
+ export const ROWS_PER_PAGE_GROUP = [
5
+ {
6
+ value: '10',
7
+ label: '10'
8
+ },
9
+ {
10
+ value: '25',
11
+ label: '25'
12
+ },
13
+ {
14
+ value: '50',
15
+ label: '50'
16
+ },
17
+ {
18
+ value: '100',
19
+ label: '100'
20
+ }
21
+ ];
22
+ export const SORT_COLUMN_INDEX = 0;
23
+ export const DEBOUNCE_TIME = 500;
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWNvbXBvbmVudHMvc3JjL2xpYi90YWJsZS9jb25zdGFudHMvdGFibGUuY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLENBQUM7QUFDOUIsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLEVBQUUsQ0FBQztBQUNoQyxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO0FBQ2xFLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUF1QjtJQUNyRDtRQUNFLEtBQUssRUFBRSxJQUFJO1FBQ1gsS0FBSyxFQUFFLElBQUk7S0FDWjtJQUNEO1FBQ0UsS0FBSyxFQUFFLElBQUk7UUFDWCxLQUFLLEVBQUUsSUFBSTtLQUNaO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsSUFBSTtRQUNYLEtBQUssRUFBRSxJQUFJO0tBQ1o7SUFDRDtRQUNFLEtBQUssRUFBRSxLQUFLO1FBQ1osS0FBSyxFQUFFLEtBQUs7S0FDYjtDQUNGLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLENBQUM7QUFDbkMsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLEdBQUcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElUYWJsZUNlbGxPcHRpb24gfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfUEFHRSA9IDE7XG5leHBvcnQgY29uc3QgUk9XU19QRVJfUEFHRSA9IDEwO1xuZXhwb3J0IGNvbnN0IFNFTEVDVEVEX1JPV1NfUEVSX1BBR0UgPSB7IHZhbHVlOiAnMjUnLCB0ZXh0OiAnMjUnIH07XG5leHBvcnQgY29uc3QgUk9XU19QRVJfUEFHRV9HUk9VUDogSVRhYmxlQ2VsbE9wdGlvbltdID0gW1xuICB7XG4gICAgdmFsdWU6ICcxMCcsXG4gICAgbGFiZWw6ICcxMCdcbiAgfSxcbiAge1xuICAgIHZhbHVlOiAnMjUnLFxuICAgIGxhYmVsOiAnMjUnXG4gIH0sXG4gIHtcbiAgICB2YWx1ZTogJzUwJyxcbiAgICBsYWJlbDogJzUwJ1xuICB9LFxuICB7XG4gICAgdmFsdWU6ICcxMDAnLFxuICAgIGxhYmVsOiAnMTAwJ1xuICB9XG5dO1xuZXhwb3J0IGNvbnN0IFNPUlRfQ09MVU1OX0lOREVYID0gMDtcbmV4cG9ydCBjb25zdCBERUJPVU5DRV9USU1FID0gNTAwO1xuIl19
@@ -0,0 +1,2 @@
1
+ export * from './table.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL3RhYmxlL2NvbnRhaW5lcnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vdGFibGUuY29tcG9uZW50JztcbiJdfQ==