@acorex/components 17.0.22 → 17.0.24

Sign up to get free protection for your applications and to get access to all the features.
Files changed (33) hide show
  1. package/common/index.d.ts +1 -0
  2. package/common/lib/directives/inverted-color.directive.d.ts +11 -0
  3. package/data-pager/lib/data-pager.module.d.ts +2 -1
  4. package/data-table/lib/columns/data-table-column.d.ts +1 -0
  5. package/data-table/lib/columns/data-text-column.component.d.ts +4 -1
  6. package/data-table/lib/columns/row-command-column.component.d.ts +8 -2
  7. package/data-table/lib/columns/row-index-column.component.d.ts +4 -1
  8. package/data-table/lib/columns/row-select-column.component.d.ts +2 -0
  9. package/data-table/lib/data-table/data-table.component.d.ts +4 -1
  10. package/esm2022/common/index.mjs +2 -1
  11. package/esm2022/common/lib/directives/inverted-color.directive.mjs +50 -0
  12. package/esm2022/data-pager/lib/data-pager-numeric-selector.component.mjs +37 -28
  13. package/esm2022/data-pager/lib/data-pager.component.mjs +2 -2
  14. package/esm2022/data-pager/lib/data-pager.module.mjs +6 -3
  15. package/esm2022/data-table/lib/columns/data-table-column.mjs +1 -1
  16. package/esm2022/data-table/lib/columns/data-text-column.component.mjs +13 -3
  17. package/esm2022/data-table/lib/columns/row-command-column.component.mjs +34 -10
  18. package/esm2022/data-table/lib/columns/row-index-column.component.mjs +15 -5
  19. package/esm2022/data-table/lib/columns/row-select-column.component.mjs +12 -4
  20. package/esm2022/data-table/lib/data-table/data-table.component.mjs +13 -4
  21. package/esm2022/dropdown/lib/dropdown-panel.component.mjs +2 -2
  22. package/esm2022/select-box/lib/select-box.component.mjs +2 -2
  23. package/fesm2022/acorex-components-common.mjs +50 -2
  24. package/fesm2022/acorex-components-common.mjs.map +1 -1
  25. package/fesm2022/acorex-components-data-pager.mjs +42 -30
  26. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  27. package/fesm2022/acorex-components-data-table.mjs +82 -21
  28. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  29. package/fesm2022/acorex-components-dropdown.mjs +2 -2
  30. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  31. package/fesm2022/acorex-components-select-box.mjs +2 -2
  32. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  33. package/package.json +1 -1
@@ -34,6 +34,9 @@ export class AXRowDropdownCommandColumnComponent extends AXBaseRowCommandColumnC
34
34
  get renderHeaderTemplate() {
35
35
  return this._contentHeaderTemplate;
36
36
  }
37
+ get renderFooterTemplate() {
38
+ return this.footerTemplate ?? this._contentFooterTemplate;
39
+ }
37
40
  get name() {
38
41
  return 'cl-dd-cmd';
39
42
  }
@@ -68,12 +71,13 @@ export class AXRowDropdownCommandColumnComponent extends AXBaseRowCommandColumnC
68
71
  this.onItemClick.emit(args);
69
72
  }
70
73
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: AXRowDropdownCommandColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
71
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.2", type: AXRowDropdownCommandColumnComponent, selector: "ax-dropdown-command-column", inputs: { width: "width", caption: "caption", fixed: "fixed", items: "items" }, outputs: { onItemClick: "onItemClick" }, providers: [
74
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.2", type: AXRowDropdownCommandColumnComponent, selector: "ax-dropdown-command-column", inputs: { width: "width", caption: "caption", fixed: "fixed", footerTemplate: "footerTemplate", items: "items" }, outputs: { onItemClick: "onItemClick" }, providers: [
72
75
  {
73
76
  provide: AXDataTableColumnComponent,
74
77
  useExisting: AXRowDropdownCommandColumnComponent,
75
78
  },
76
- ], viewQueries: [{ propertyName: "_cellTemplate", first: true, predicate: ["cell"], descendants: true }, { propertyName: "_contentHeaderTemplate", first: true, predicate: ["header"], descendants: true }], usesInheritance: true, ngImport: i0, template: ` <ng-template #header></ng-template>
79
+ ], viewQueries: [{ propertyName: "_cellTemplate", first: true, predicate: ["cell"], descendants: true }, { propertyName: "_contentHeaderTemplate", first: true, predicate: ["header"], descendants: true }, { propertyName: "_contentFooterTemplate", first: true, predicate: ["footer"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
80
+ <ng-template #header></ng-template>
77
81
  <ng-template #cell let-row>
78
82
  @if (row.data) {
79
83
  <div>
@@ -96,13 +100,16 @@ export class AXRowDropdownCommandColumnComponent extends AXBaseRowCommandColumnC
96
100
  <ax-loading></ax-loading>
97
101
  </div>
98
102
  </ng-template>
99
- </ng-template>`, isInline: true, dependencies: [{ kind: "component", type: i1.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "component", type: i2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "component", type: i4.AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "directive", type: i5.AXRippleDirective, selector: "[axRipple]", inputs: ["axRipple", "axRippleColor"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
103
+ </ng-template>
104
+ <ng-template #footer></ng-template>
105
+ `, isInline: true, dependencies: [{ kind: "component", type: i1.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "component", type: i2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "component", type: i4.AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "directive", type: i5.AXRippleDirective, selector: "[axRipple]", inputs: ["axRipple", "axRippleColor"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
100
106
  }
101
107
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: AXRowDropdownCommandColumnComponent, decorators: [{
102
108
  type: Component,
103
109
  args: [{
104
110
  selector: 'ax-dropdown-command-column',
105
- template: ` <ng-template #header></ng-template>
111
+ template: `
112
+ <ng-template #header></ng-template>
106
113
  <ng-template #cell let-row>
107
114
  @if (row.data) {
108
115
  <div>
@@ -125,7 +132,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImpor
125
132
  <ax-loading></ax-loading>
126
133
  </div>
127
134
  </ng-template>
128
- </ng-template>`,
135
+ </ng-template>
136
+ <ng-template #footer></ng-template>
137
+ `,
129
138
  encapsulation: ViewEncapsulation.None,
130
139
  changeDetection: ChangeDetectionStrategy.OnPush,
131
140
  providers: [
@@ -143,6 +152,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImpor
143
152
  }], _contentHeaderTemplate: [{
144
153
  type: ViewChild,
145
154
  args: ['header']
155
+ }], footerTemplate: [{
156
+ type: Input
157
+ }], _contentFooterTemplate: [{
158
+ type: ViewChild,
159
+ args: ['footer']
146
160
  }], items: [{
147
161
  type: Input
148
162
  }] } });
@@ -157,6 +171,9 @@ export class AXRowCommandColumnComponent extends AXBaseRowCommandColumnComponent
157
171
  get renderHeaderTemplate() {
158
172
  return this._contentHeaderTemplate;
159
173
  }
174
+ get renderFooterTemplate() {
175
+ return this.footerTemplate ?? this._contentFooterTemplate;
176
+ }
160
177
  get name() {
161
178
  return 'cl-in-cmd';
162
179
  }
@@ -182,12 +199,12 @@ export class AXRowCommandColumnComponent extends AXBaseRowCommandColumnComponent
182
199
  this.onItemClick.emit(args);
183
200
  }
184
201
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: AXRowCommandColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
185
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.2", type: AXRowCommandColumnComponent, selector: "ax-command-column", inputs: { width: "width", caption: "caption", fixed: "fixed", items: "items" }, outputs: { onItemClick: "onItemClick" }, providers: [
202
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.2", type: AXRowCommandColumnComponent, selector: "ax-command-column", inputs: { width: "width", caption: "caption", fixed: "fixed", footerTemplate: "footerTemplate", items: "items" }, outputs: { onItemClick: "onItemClick" }, providers: [
186
203
  {
187
204
  provide: AXDataTableColumnComponent,
188
205
  useExisting: AXRowCommandColumnComponent,
189
206
  },
190
- ], viewQueries: [{ propertyName: "_cellTemplate", first: true, predicate: ["cell"], descendants: true }, { propertyName: "_contentHeaderTemplate", first: true, predicate: ["header"], descendants: true }], usesInheritance: true, ngImport: i0, template: `<ng-template #header></ng-template>
207
+ ], viewQueries: [{ propertyName: "_cellTemplate", first: true, predicate: ["cell"], descendants: true }, { propertyName: "_contentHeaderTemplate", first: true, predicate: ["header"], descendants: true }, { propertyName: "_contentFooterTemplate", first: true, predicate: ["footer"], descendants: true }], usesInheritance: true, ngImport: i0, template: `<ng-template #header></ng-template>
191
208
  <ng-template #cell let-row>
192
209
  @if (row.data) {
193
210
  @for (item of getItems(row.data); track $index) {
@@ -202,7 +219,8 @@ export class AXRowCommandColumnComponent extends AXBaseRowCommandColumnComponent
202
219
  </button>
203
220
  }
204
221
  }
205
- </ng-template>`, isInline: true, dependencies: [{ kind: "component", type: i2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "directive", type: i5.AXRippleDirective, selector: "[axRipple]", inputs: ["axRipple", "axRippleColor"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
222
+ </ng-template>
223
+ <ng-template #footer></ng-template> `, isInline: true, dependencies: [{ kind: "component", type: i2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "directive", type: i5.AXRippleDirective, selector: "[axRipple]", inputs: ["axRipple", "axRippleColor"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
206
224
  }
207
225
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: AXRowCommandColumnComponent, decorators: [{
208
226
  type: Component,
@@ -223,7 +241,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImpor
223
241
  </button>
224
242
  }
225
243
  }
226
- </ng-template>`,
244
+ </ng-template>
245
+ <ng-template #footer></ng-template> `,
227
246
  encapsulation: ViewEncapsulation.None,
228
247
  changeDetection: ChangeDetectionStrategy.OnPush,
229
248
  providers: [
@@ -241,7 +260,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImpor
241
260
  }], _contentHeaderTemplate: [{
242
261
  type: ViewChild,
243
262
  args: ['header']
263
+ }], footerTemplate: [{
264
+ type: Input
265
+ }], _contentFooterTemplate: [{
266
+ type: ViewChild,
267
+ args: ['footer']
244
268
  }], items: [{
245
269
  type: Input
246
270
  }] } });
247
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LWNvbW1hbmQtY29sdW1uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kYXRhLXRhYmxlL3NyYy9saWIvY29sdW1ucy9yb3ctY29tbWFuZC1jb2x1bW4uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLFdBQVcsRUFDWCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7Ozs7QUFNakUsTUFBTSxPQUFnQiwrQkFBZ0MsU0FBUSwwQkFBMEI7SUFBeEY7O1FBQ1ksU0FBSSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMvQixRQUFHLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFFakMsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFVOUIsZ0JBQVcsR0FBNkMsSUFBSSxZQUFZLEVBQThCLENBQUM7SUFDekcsQ0FBQztJQVRDLElBQUksY0FBYztRQUNoQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxJQUFhLFFBQVE7UUFDbkIsT0FBTyxtQkFBbUIsQ0FBQztJQUM3QixDQUFDO0NBR0Y7QUF1Q0QsTUFBTSxPQUFPLG1DQUFvQyxTQUFRLCtCQUErQjtJQXJDeEY7O1FBd0RZLFdBQU0sR0FBdUIsRUFBRSxDQUFDO1FBRzFDLFVBQUssR0FBa0csRUFBRSxDQUFDO0tBK0IzRztJQWpEQyxJQUFJLGtCQUFrQjtRQUNwQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQUtELElB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cEIsU0FBUzt1QkFBQyxNQUFNO2dCQVFULHNCQUFzQjtzQkFEN0IsU0FBUzt1QkFBQyxRQUFRO2dCQVluQixLQUFLO3NCQURKLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWEJ1dHRvbkl0ZW1Db21wb25lbnQsIEFYQnV0dG9uSXRlbUxpc3RJdGVtIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBBWEJ1dHRvbkNsaWNrRXZlbnQsIEFYSXRlbUNsaWNrRXZlbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgaW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYQmFzZURhdGFUYWJsZSB9IGZyb20gJy4uL2Jhc2UtZGF0YS10YWJsZS5jbGFzcyc7XG5pbXBvcnQgeyBBWERhdGFUYWJsZUNvbHVtbkNvbXBvbmVudCB9IGZyb20gJy4vZGF0YS10YWJsZS1jb2x1bW4nO1xuXG5leHBvcnQgdHlwZSBBWFJvd0NvbW1hbmRJdGVtID0gQVhCdXR0b25JdGVtTGlzdEl0ZW07XG5cbmV4cG9ydCB0eXBlIEFYUm93Q29tbWFuZEl0ZW1DbGlja0V2ZW50ID0gQVhCdXR0b25DbGlja0V2ZW50O1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQVhCYXNlUm93Q29tbWFuZENvbHVtbkNvbXBvbmVudCBleHRlbmRzIEFYRGF0YVRhYmxlQ29sdW1uQ29tcG9uZW50IHtcbiAgcHJvdGVjdGVkIGdyaWQgPSBpbmplY3QoQVhCYXNlRGF0YVRhYmxlKTtcbiAgcHJvdGVjdGVkIGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgb3ZlcnJpZGUgYWxsb3dTb3J0aW5nID0gZmFsc2U7XG5cbiAgZ2V0IGxvYWRpbmdFbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIG92ZXJyaWRlIGdldCBjc3NDbGFzcygpIHtcbiAgICByZXR1cm4gJ2F4LWNvbW1hbmQtY29sdW1uJztcbiAgfVxuXG4gIG9uSXRlbUNsaWNrOiBFdmVudEVtaXR0ZXI8QVhSb3dDb21tYW5kSXRlbUNsaWNrRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWFJvd0NvbW1hbmRJdGVtQ2xpY2tFdmVudD4oKTtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtZHJvcGRvd24tY29tbWFuZC1jb2x1bW4nLFxuICB0ZW1wbGF0ZTogYCA8bmctdGVtcGxhdGUgI2hlYWRlcj48L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAjY2VsbCBsZXQtcm93PlxuICAgICAgQGlmIChyb3cuZGF0YSkge1xuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxidXR0b24gW2F4UmlwcGxlXT5cbiAgICAgICAgICAgIDxheC1pY29uIGljb249XCJheC1pY29uIGF4LWljb24tc29saWQgYXgtaWNvbi1tb3JlLWhvcml6b250YWxcIj48L2F4LWljb24+XG4gICAgICAgICAgICA8YXgtZHJvcGRvd24tcGFuZWwgW2FkYXB0aXZpdHlFbmFibGVkXT1cInRydWVcIiAob25PcGVuZWQpPVwiaGFuZGxlT25PcGVuZWQocm93LmRhdGEpXCIgKG9uQ2xvc2VkKT1cImhhbmRsZU9uQ2xvc2VkKClcIj5cbiAgICAgICAgICAgICAgQGlmIChfaXRlbXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgPGF4LWJ1dHRvbi1pdGVtLWxpc3QgKG9uSXRlbUNsaWNrKT1cImhhbmRsZU9uSXRlbUNsaWNrKCRldmVudCwgcm93LmRhdGEpXCIgW2l0ZW1zXT1cIl9pdGVtc1wiPiA8L2F4LWJ1dHRvbi1pdGVtLWxpc3Q+XG4gICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIDxkaXYgcGFuZWwgc3R5bGU9XCJwYWRkaW5nOiAwLjg3NXJlbTtcIj5cbiAgICAgICAgICAgICAgICAgIDxheC1sb2FkaW5nPjwvYXgtbG9hZGluZz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9heC1kcm9wZG93bi1wYW5lbD5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgICA8bmctdGVtcGxhdGUgI2xvYWRpbmc+XG4gICAgICAgIDxkaXYgcGFuZWwgc3R5bGU9XCJwYWRkaW5nOiAwLjg3NXJlbTtcIj5cbiAgICAgICAgICA8YXgtbG9hZGluZz48L2F4LWxvYWRpbmc+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLXRlbXBsYXRlPmAsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWERhdGFUYWJsZUNvbHVtbkNvbXBvbmVudCxcbiAgICAgIHVzZUV4aXN0aW5nOiBBWFJvd0Ryb3Bkb3duQ29tbWFuZENvbHVtbkNvbXBvbmVudCxcbiAgICB9LFxuICBdLFxuICBpbnB1dHM6IFsnd2lkdGgnLCAnY2FwdGlvbicsICdmaXhlZCddLFxuICBvdXRwdXRzOiBbJ29uSXRlbUNsaWNrJ10sXG59KVxuZXhwb3J0IGNsYXNzIEFYUm93RHJvcGRvd25Db21tYW5kQ29sdW1uQ29tcG9uZW50IGV4dGVuZHMgQVhCYXNlUm93Q29tbWFuZENvbHVtbkNvbXBvbmVudCB7XG4gIEBWaWV3Q2hpbGQoJ2NlbGwnKVxuICBwcml2YXRlIF9jZWxsVGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIGdldCByZW5kZXJDZWxsVGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8dW5rbm93bj4ge1xuICAgIHJldHVybiB0aGlzLl9jZWxsVGVtcGxhdGU7XG4gIH1cblxuICBAVmlld0NoaWxkKCdoZWFkZXInKVxuICBwcml2YXRlIF9jb250ZW50SGVhZGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIG92ZXJyaWRlIGdldCByZW5kZXJIZWFkZXJUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbnRlbnRIZWFkZXJUZW1wbGF0ZTtcbiAgfVxuXG4gIGdldCBuYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICdjbC1kZC1jbWQnO1xuICB9XG5cbiAgcHJvdGVjdGVkIF9pdGVtczogQVhSb3dDb21tYW5kSXRlbVtdID0gW107XG5cbiAgQElucHV0KClcbiAgaXRlbXM6IEFYUm93Q29tbWFuZEl0ZW1bXSB8ICgocm93RGF0YTogdW5rbm93bikgPT4gQVhSb3dDb21tYW5kSXRlbVtdIHwgUHJvbWlzZTxBWFJvd0NvbW1hbmRJdGVtW10+KSA9IFtdO1xuXG4gIHByb3RlY3RlZCBhc3luYyBoYW5kbGVPbk9wZW5lZChyb3dEYXRhKSB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5pdGVtcykpIHtcbiAgICAgIHRoaXMuX2l0ZW1zID0gdGhpcy5pdGVtcztcbiAgICB9IGVsc2UgdHlwZW9mIHRoaXMuaXRlbXMgPT0gJ2Z1bmN0aW9uJztcbiAgICB7XG4gICAgICBjb25zdCByZXN1bHQgPSAodGhpc1snaXRlbXMnXSBhcyBhbnkpKHJvd0RhdGEpO1xuICAgICAgaWYgKEFycmF5LmlzQXJyYXkocmVzdWx0KSkge1xuICAgICAgICB0aGlzLl9pdGVtcyA9IHJlc3VsdDtcbiAgICAgIH0gZWxzZSBpZiAocmVzdWx0IGluc3RhbmNlb2YgUHJvbWlzZSkge1xuICAgICAgICB0aGlzLl9pdGVtcyA9IGF3YWl0IHJlc3VsdDtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZU9uQ2xvc2VkKCkge1xuICAgIHRoaXMuX2l0ZW1zID0gW107XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlT25JdGVtQ2xpY2soZTogQVhJdGVtQ2xpY2tFdmVudDxBWEJ1dHRvbkl0ZW1Db21wb25lbnQ+LCBkYXRhOiB1bmtub3duKSB7XG4gICAgY29uc3QgYXJnczogQVhSb3dDb21tYW5kSXRlbUNsaWNrRXZlbnQgPSB7XG4gICAgICBjb21wb25lbnQ6IHRoaXMuZ3JpZCxcbiAgICAgIGlzVXNlckludGVyYWN0aW9uOiB0cnVlLFxuICAgICAgbmF0aXZlRXZlbnQ6IGUsXG4gICAgICBkYXRhLFxuICAgICAgbmFtZTogZS5uYW1lLFxuICAgIH07XG4gICAgdGhpcy5vbkl0ZW1DbGljay5lbWl0KGFyZ3MpO1xuICB9XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LWNvbW1hbmQtY29sdW1uJyxcbiAgdGVtcGxhdGU6IGA8bmctdGVtcGxhdGUgI2hlYWRlcj48L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAjY2VsbCBsZXQtcm93PlxuICAgICAgQGlmIChyb3cuZGF0YSkge1xuICAgICAgICBAZm9yIChpdGVtIG9mIGdldEl0ZW1zKHJvdy5kYXRhKTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgW3N0eWxlLmNvbG9yXT1cIidyZ2JhKHZhcigtLWF4LWNvbG9yLScgKyAoaXRlbS5jb2xvciA/PyAncHJpbWFyeSknKVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZFwiXG4gICAgICAgICAgICBbY2xhc3MuYXgtc3RhdGUtZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZFwiXG4gICAgICAgICAgICBbYXhSaXBwbGVdPVwiIWl0ZW0uZGlzYWJsZWRcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZU9uSXRlbUNsaWNrKCRldmVudCwgaXRlbSwgcm93LmRhdGEpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8YXgtaWNvbiBbaWNvbl09XCJpdGVtLmljb25cIj48L2F4LWljb24+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICA8L25nLXRlbXBsYXRlPmAsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWERhdGFUYWJsZUNvbHVtbkNvbXBvbmVudCxcbiAgICAgIHVzZUV4aXN0aW5nOiBBWFJvd0NvbW1hbmRDb2x1bW5Db21wb25lbnQsXG4gICAgfSxcbiAgXSxcbiAgaW5wdXRzOiBbJ3dpZHRoJywgJ2NhcHRpb24nLCAnZml4ZWQnXSxcbiAgb3V0cHV0czogWydvbkl0ZW1DbGljayddLFxufSlcbmV4cG9ydCBjbGFzcyBBWFJvd0NvbW1hbmRDb2x1bW5Db21wb25lbnQgZXh0ZW5kcyBBWEJhc2VSb3dDb21tYW5kQ29sdW1uQ29tcG9uZW50IHtcbiAgQFZpZXdDaGlsZCgnY2VsbCcpXG4gIHByaXZhdGUgX2NlbGxUZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgZ2V0IHJlbmRlckNlbGxUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB7XG4gICAgcmV0dXJuIHRoaXMuX2NlbGxUZW1wbGF0ZTtcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoJ2hlYWRlcicpXG4gIHByaXZhdGUgX2NvbnRlbnRIZWFkZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgb3ZlcnJpZGUgZ2V0IHJlbmRlckhlYWRlclRlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPHVua25vd24+IHtcbiAgICByZXR1cm4gdGhpcy5fY29udGVudEhlYWRlclRlbXBsYXRlO1xuICB9XG5cbiAgZ2V0IG5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ2NsLWluLWNtZCc7XG4gIH1cblxuICBASW5wdXQoKVxuICBpdGVtczogQVhSb3dDb21tYW5kSXRlbVtdIHwgKChyb3dEYXRhOiB1bmtub3duKSA9PiBBWFJvd0NvbW1hbmRJdGVtW10pID0gW107XG5cbiAgcHJvdGVjdGVkIGdldEl0ZW1zKHJvd0RhdGE6IHVua25vd24pOiBBWFJvd0NvbW1hbmRJdGVtW10ge1xuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuaXRlbXMpKSB7XG4gICAgICByZXR1cm4gdGhpcy5pdGVtcztcbiAgICB9IGVsc2UgdHlwZW9mIHRoaXMuaXRlbXMgPT0gJ2Z1bmN0aW9uJztcbiAgICB7XG4gICAgICByZXR1cm4gdGhpcy5pdGVtcyhyb3dEYXRhKTtcbiAgICB9XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZU9uSXRlbUNsaWNrKGU6IE1vdXNlRXZlbnQsIGl0ZW06IEFYUm93Q29tbWFuZEl0ZW0sIGRhdGE6IHVua25vd24pIHtcbiAgICBjb25zdCBhcmdzOiBBWFJvd0NvbW1hbmRJdGVtQ2xpY2tFdmVudCA9IHtcbiAgICAgIGNvbXBvbmVudDogdGhpcy5ncmlkLFxuICAgICAgaXNVc2VySW50ZXJhY3Rpb246IHRydWUsXG4gICAgICBuYXRpdmVFdmVudDogZSxcbiAgICAgIGRhdGEsXG4gICAgICBuYW1lOiBpdGVtLm5hbWUsXG4gICAgfTtcbiAgICB0aGlzLm9uSXRlbUNsaWNrLmVtaXQoYXJncyk7XG4gIH1cbn1cbiJdfQ==
271
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LWNvbW1hbmQtY29sdW1uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kYXRhLXRhYmxlL3NyYy9saWIvY29sdW1ucy9yb3ctY29tbWFuZC1jb2x1bW4uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLFdBQVcsRUFDWCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7Ozs7QUFNakUsTUFBTSxPQUFnQiwrQkFBZ0MsU0FBUSwwQkFBMEI7SUFBeEY7O1FBQ1ksU0FBSSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMvQixRQUFHLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFFakMsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFVOUIsZ0JBQVcsR0FBNkMsSUFBSSxZQUFZLEVBQThCLENBQUM7SUFDekcsQ0FBQztJQVRDLElBQUksY0FBYztRQUNoQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxJQUFhLFFBQVE7UUFDbkIsT0FBTyxtQkFBbUIsQ0FBQztJQUM3QixDQUFDO0NBR0Y7QUEwQ0QsTUFBTSxPQUFPLG1DQUFvQyxTQUFRLCtCQUErQjtJQXhDeEY7O1FBcUVZLFdBQU0sR0FBdUIsRUFBRSxDQUFDO1FBRzFDLFVBQUssR0FBa0csRUFBRSxDQUFDO0tBK0IzRztJQTNEQyxJQUFJLGtCQUFrQjtRQUNwQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQUtELElB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QWlCLENBQUMsSUFBSTtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsMEJBQTBCOzRCQUNuQyxXQUFXLDZCQUE2Qjt5QkFDekM7cUJBQ0Y7b0JBQ0QsTUFBTSxFQUFFLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUM7b0JBQ3JDLE9BQU8sRUFBRSxDQUFDLGFBQWEsQ0FBQztpQkFDekI7OEJBR1MsYUFBYTtzQkFEcEIsU0FBUzt1QkFBQyxNQUFNO2dCQVFULHNCQUFzQjtzQkFEN0IsU0FBUzt1QkFBQyxRQUFRO2dCQVFaLGNBQWM7c0JBRHBCLEtBQUs7Z0JBSUUsc0JBQXNCO3NCQUQ3QixTQUFTO3VCQUFDLFFBQVE7Z0JBWW5CLEtBQUs7c0JBREosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQnV0dG9uSXRlbUNvbXBvbmVudCwgQVhCdXR0b25JdGVtTGlzdEl0ZW0gfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYQnV0dG9uQ2xpY2tFdmVudCwgQVhJdGVtQ2xpY2tFdmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhCYXNlRGF0YVRhYmxlIH0gZnJvbSAnLi4vYmFzZS1kYXRhLXRhYmxlLmNsYXNzJztcbmltcG9ydCB7IEFYRGF0YVRhYmxlQ29sdW1uQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRhLXRhYmxlLWNvbHVtbic7XG5cbmV4cG9ydCB0eXBlIEFYUm93Q29tbWFuZEl0ZW0gPSBBWEJ1dHRvbkl0ZW1MaXN0SXRlbTtcblxuZXhwb3J0IHR5cGUgQVhSb3dDb21tYW5kSXRlbUNsaWNrRXZlbnQgPSBBWEJ1dHRvbkNsaWNrRXZlbnQ7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBWEJhc2VSb3dDb21tYW5kQ29sdW1uQ29tcG9uZW50IGV4dGVuZHMgQVhEYXRhVGFibGVDb2x1bW5Db21wb25lbnQge1xuICBwcm90ZWN0ZWQgZ3JpZCA9IGluamVjdChBWEJhc2VEYXRhVGFibGUpO1xuICBwcm90ZWN0ZWQgY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuICBvdmVycmlkZSBhbGxvd1NvcnRpbmcgPSBmYWxzZTtcblxuICBnZXQgbG9hZGluZ0VuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgb3ZlcnJpZGUgZ2V0IGNzc0NsYXNzKCkge1xuICAgIHJldHVybiAnYXgtY29tbWFuZC1jb2x1bW4nO1xuICB9XG5cbiAgb25JdGVtQ2xpY2s6IEV2ZW50RW1pdHRlcjxBWFJvd0NvbW1hbmRJdGVtQ2xpY2tFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYUm93Q29tbWFuZEl0ZW1DbGlja0V2ZW50PigpO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1kcm9wZG93bi1jb21tYW5kLWNvbHVtbicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPG5nLXRlbXBsYXRlICNoZWFkZXI+PC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgI2NlbGwgbGV0LXJvdz5cbiAgICAgIEBpZiAocm93LmRhdGEpIHtcbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8YnV0dG9uIFtheFJpcHBsZV0+XG4gICAgICAgICAgICA8YXgtaWNvbiBpY29uPVwiYXgtaWNvbiBheC1pY29uLXNvbGlkIGF4LWljb24tbW9yZS1ob3Jpem9udGFsXCI+PC9heC1pY29uPlxuICAgICAgICAgICAgPGF4LWRyb3Bkb3duLXBhbmVsIFthZGFwdGl2aXR5RW5hYmxlZF09XCJ0cnVlXCIgKG9uT3BlbmVkKT1cImhhbmRsZU9uT3BlbmVkKHJvdy5kYXRhKVwiIChvbkNsb3NlZCk9XCJoYW5kbGVPbkNsb3NlZCgpXCI+XG4gICAgICAgICAgICAgIEBpZiAoX2l0ZW1zLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIDxheC1idXR0b24taXRlbS1saXN0IChvbkl0ZW1DbGljayk9XCJoYW5kbGVPbkl0ZW1DbGljaygkZXZlbnQsIHJvdy5kYXRhKVwiIFtpdGVtc109XCJfaXRlbXNcIj4gPC9heC1idXR0b24taXRlbS1saXN0PlxuICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICA8ZGl2IHBhbmVsIHN0eWxlPVwicGFkZGluZzogMC44NzVyZW07XCI+XG4gICAgICAgICAgICAgICAgICA8YXgtbG9hZGluZz48L2F4LWxvYWRpbmc+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvYXgtZHJvcGRvd24tcGFuZWw+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgICAgPG5nLXRlbXBsYXRlICNsb2FkaW5nPlxuICAgICAgICA8ZGl2IHBhbmVsIHN0eWxlPVwicGFkZGluZzogMC44NzVyZW07XCI+XG4gICAgICAgICAgPGF4LWxvYWRpbmc+PC9heC1sb2FkaW5nPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgI2Zvb3Rlcj48L25nLXRlbXBsYXRlPlxuICBgLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhEYXRhVGFibGVDb2x1bW5Db21wb25lbnQsXG4gICAgICB1c2VFeGlzdGluZzogQVhSb3dEcm9wZG93bkNvbW1hbmRDb2x1bW5Db21wb25lbnQsXG4gICAgfSxcbiAgXSxcbiAgaW5wdXRzOiBbJ3dpZHRoJywgJ2NhcHRpb24nLCAnZml4ZWQnXSxcbiAgb3V0cHV0czogWydvbkl0ZW1DbGljayddLFxufSlcbmV4cG9ydCBjbGFzcyBBWFJvd0Ryb3Bkb3duQ29tbWFuZENvbHVtbkNvbXBvbmVudCBleHRlbmRzIEFYQmFzZVJvd0NvbW1hbmRDb2x1bW5Db21wb25lbnQge1xuICBAVmlld0NoaWxkKCdjZWxsJylcbiAgcHJpdmF0ZSBfY2VsbFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICBnZXQgcmVuZGVyQ2VsbFRlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPHVua25vd24+IHtcbiAgICByZXR1cm4gdGhpcy5fY2VsbFRlbXBsYXRlO1xuICB9XG5cbiAgQFZpZXdDaGlsZCgnaGVhZGVyJylcbiAgcHJpdmF0ZSBfY29udGVudEhlYWRlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICBvdmVycmlkZSBnZXQgcmVuZGVySGVhZGVyVGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8dW5rbm93bj4ge1xuICAgIHJldHVybiB0aGlzLl9jb250ZW50SGVhZGVyVGVtcGxhdGU7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgZm9vdGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIEBWaWV3Q2hpbGQoJ2Zvb3RlcicpXG4gIHByaXZhdGUgX2NvbnRlbnRGb290ZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgZ2V0IHJlbmRlckZvb3RlclRlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPHVua25vd24+IHtcbiAgICByZXR1cm4gdGhpcy5mb290ZXJUZW1wbGF0ZSA/PyB0aGlzLl9jb250ZW50Rm9vdGVyVGVtcGxhdGU7XG4gIH1cblxuICBnZXQgbmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiAnY2wtZGQtY21kJztcbiAgfVxuXG4gIHByb3RlY3RlZCBfaXRlbXM6IEFYUm93Q29tbWFuZEl0ZW1bXSA9IFtdO1xuXG4gIEBJbnB1dCgpXG4gIGl0ZW1zOiBBWFJvd0NvbW1hbmRJdGVtW10gfCAoKHJvd0RhdGE6IHVua25vd24pID0+IEFYUm93Q29tbWFuZEl0ZW1bXSB8IFByb21pc2U8QVhSb3dDb21tYW5kSXRlbVtdPikgPSBbXTtcblxuICBwcm90ZWN0ZWQgYXN5bmMgaGFuZGxlT25PcGVuZWQocm93RGF0YSkge1xuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuaXRlbXMpKSB7XG4gICAgICB0aGlzLl9pdGVtcyA9IHRoaXMuaXRlbXM7XG4gICAgfSBlbHNlIHR5cGVvZiB0aGlzLml0ZW1zID09ICdmdW5jdGlvbic7XG4gICAge1xuICAgICAgY29uc3QgcmVzdWx0ID0gKHRoaXNbJ2l0ZW1zJ10gYXMgYW55KShyb3dEYXRhKTtcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHJlc3VsdCkpIHtcbiAgICAgICAgdGhpcy5faXRlbXMgPSByZXN1bHQ7XG4gICAgICB9IGVsc2UgaWYgKHJlc3VsdCBpbnN0YW5jZW9mIFByb21pc2UpIHtcbiAgICAgICAgdGhpcy5faXRlbXMgPSBhd2FpdCByZXN1bHQ7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVPbkNsb3NlZCgpIHtcbiAgICB0aGlzLl9pdGVtcyA9IFtdO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZU9uSXRlbUNsaWNrKGU6IEFYSXRlbUNsaWNrRXZlbnQ8QVhCdXR0b25JdGVtQ29tcG9uZW50PiwgZGF0YTogdW5rbm93bikge1xuICAgIGNvbnN0IGFyZ3M6IEFYUm93Q29tbWFuZEl0ZW1DbGlja0V2ZW50ID0ge1xuICAgICAgY29tcG9uZW50OiB0aGlzLmdyaWQsXG4gICAgICBpc1VzZXJJbnRlcmFjdGlvbjogdHJ1ZSxcbiAgICAgIG5hdGl2ZUV2ZW50OiBlLFxuICAgICAgZGF0YSxcbiAgICAgIG5hbWU6IGUubmFtZSxcbiAgICB9O1xuICAgIHRoaXMub25JdGVtQ2xpY2suZW1pdChhcmdzKTtcbiAgfVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1jb21tYW5kLWNvbHVtbicsXG4gIHRlbXBsYXRlOiBgPG5nLXRlbXBsYXRlICNoZWFkZXI+PC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgI2NlbGwgbGV0LXJvdz5cbiAgICAgIEBpZiAocm93LmRhdGEpIHtcbiAgICAgICAgQGZvciAoaXRlbSBvZiBnZXRJdGVtcyhyb3cuZGF0YSk7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIFtzdHlsZS5jb2xvcl09XCIncmdiYSh2YXIoLS1heC1jb2xvci0nICsgKGl0ZW0uY29sb3IgPz8gJ3ByaW1hcnkpJylcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIml0ZW0uZGlzYWJsZWRcIlxuICAgICAgICAgICAgW2NsYXNzLmF4LXN0YXRlLWRpc2FibGVkXT1cIml0ZW0uZGlzYWJsZWRcIlxuICAgICAgICAgICAgW2F4UmlwcGxlXT1cIiFpdGVtLmRpc2FibGVkXCJcbiAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVPbkl0ZW1DbGljaygkZXZlbnQsIGl0ZW0sIHJvdy5kYXRhKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGF4LWljb24gW2ljb25dPVwiaXRlbS5pY29uXCI+PC9heC1pY29uPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICB9XG4gICAgICB9XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgI2Zvb3Rlcj48L25nLXRlbXBsYXRlPiBgLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhEYXRhVGFibGVDb2x1bW5Db21wb25lbnQsXG4gICAgICB1c2VFeGlzdGluZzogQVhSb3dDb21tYW5kQ29sdW1uQ29tcG9uZW50LFxuICAgIH0sXG4gIF0sXG4gIGlucHV0czogWyd3aWR0aCcsICdjYXB0aW9uJywgJ2ZpeGVkJ10sXG4gIG91dHB1dHM6IFsnb25JdGVtQ2xpY2snXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhSb3dDb21tYW5kQ29sdW1uQ29tcG9uZW50IGV4dGVuZHMgQVhCYXNlUm93Q29tbWFuZENvbHVtbkNvbXBvbmVudCB7XG4gIEBWaWV3Q2hpbGQoJ2NlbGwnKVxuICBwcml2YXRlIF9jZWxsVGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIGdldCByZW5kZXJDZWxsVGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8dW5rbm93bj4ge1xuICAgIHJldHVybiB0aGlzLl9jZWxsVGVtcGxhdGU7XG4gIH1cblxuICBAVmlld0NoaWxkKCdoZWFkZXInKVxuICBwcml2YXRlIF9jb250ZW50SGVhZGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIG92ZXJyaWRlIGdldCByZW5kZXJIZWFkZXJUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbnRlbnRIZWFkZXJUZW1wbGF0ZTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmb290ZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgQFZpZXdDaGlsZCgnZm9vdGVyJylcbiAgcHJpdmF0ZSBfY29udGVudEZvb3RlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICBnZXQgcmVuZGVyRm9vdGVyVGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8dW5rbm93bj4ge1xuICAgIHJldHVybiB0aGlzLmZvb3RlclRlbXBsYXRlID8/IHRoaXMuX2NvbnRlbnRGb290ZXJUZW1wbGF0ZTtcbiAgfVxuXG4gIGdldCBuYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICdjbC1pbi1jbWQnO1xuICB9XG5cbiAgQElucHV0KClcbiAgaXRlbXM6IEFYUm93Q29tbWFuZEl0ZW1bXSB8ICgocm93RGF0YTogdW5rbm93bikgPT4gQVhSb3dDb21tYW5kSXRlbVtdKSA9IFtdO1xuXG4gIHByb3RlY3RlZCBnZXRJdGVtcyhyb3dEYXRhOiB1bmtub3duKTogQVhSb3dDb21tYW5kSXRlbVtdIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLml0ZW1zKSkge1xuICAgICAgcmV0dXJuIHRoaXMuaXRlbXM7XG4gICAgfSBlbHNlIHR5cGVvZiB0aGlzLml0ZW1zID09ICdmdW5jdGlvbic7XG4gICAge1xuICAgICAgcmV0dXJuIHRoaXMuaXRlbXMocm93RGF0YSk7XG4gICAgfVxuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVPbkl0ZW1DbGljayhlOiBNb3VzZUV2ZW50LCBpdGVtOiBBWFJvd0NvbW1hbmRJdGVtLCBkYXRhOiB1bmtub3duKSB7XG4gICAgY29uc3QgYXJnczogQVhSb3dDb21tYW5kSXRlbUNsaWNrRXZlbnQgPSB7XG4gICAgICBjb21wb25lbnQ6IHRoaXMuZ3JpZCxcbiAgICAgIGlzVXNlckludGVyYWN0aW9uOiB0cnVlLFxuICAgICAgbmF0aXZlRXZlbnQ6IGUsXG4gICAgICBkYXRhLFxuICAgICAgbmFtZTogaXRlbS5uYW1lLFxuICAgIH07XG4gICAgdGhpcy5vbkl0ZW1DbGljay5lbWl0KGFyZ3MpO1xuICB9XG59XG4iXX0=
@@ -20,6 +20,9 @@ export class AXRowIndexColumnComponent extends AXDataTableColumnComponent {
20
20
  get renderHeaderTemplate() {
21
21
  return this._contentHeaderTemplate;
22
22
  }
23
+ get renderFooterTemplate() {
24
+ return this.footerTemplate ?? this._contentFooterTemplate;
25
+ }
23
26
  get name() {
24
27
  return 'cl-inx';
25
28
  }
@@ -37,16 +40,17 @@ export class AXRowIndexColumnComponent extends AXDataTableColumnComponent {
37
40
  return 'ax-index-column';
38
41
  }
39
42
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: AXRowIndexColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
40
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.2", type: AXRowIndexColumnComponent, selector: "ax-index-column", inputs: { width: "width", caption: "caption", fixed: "fixed", padZero: "padZero" }, providers: [
43
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.2", type: AXRowIndexColumnComponent, selector: "ax-index-column", inputs: { width: "width", caption: "caption", fixed: "fixed", footerTemplate: "footerTemplate", padZero: "padZero" }, providers: [
41
44
  AXUnsubscriber,
42
45
  {
43
46
  provide: AXDataTableColumnComponent,
44
47
  useExisting: AXRowIndexColumnComponent,
45
48
  },
46
- ], viewQueries: [{ propertyName: "_cellTemplate", first: true, predicate: ["cell"], descendants: true }, { propertyName: "_contentHeaderTemplate", first: true, predicate: ["header"], descendants: true }], usesInheritance: true, ngImport: i0, template: `<ng-template #header></ng-template>
49
+ ], viewQueries: [{ propertyName: "_cellTemplate", first: true, predicate: ["cell"], descendants: true }, { propertyName: "_contentHeaderTemplate", first: true, predicate: ["header"], descendants: true }, { propertyName: "_contentFooterTemplate", first: true, predicate: ["footer"], descendants: true }], usesInheritance: true, ngImport: i0, template: `<ng-template #header></ng-template>
47
50
  <ng-template #cell let-row>
48
51
  {{ row.rowIndex + 1 | format: 'number' : { zeroPadLength: this.formatCount, thousandSeparator: false } | async }}
49
- </ng-template>`, isInline: true, dependencies: [{ kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.AXFormatPipe, name: "format" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
52
+ </ng-template>
53
+ <ng-template #footer></ng-template> `, isInline: true, dependencies: [{ kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.AXFormatPipe, name: "format" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
50
54
  }
51
55
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: AXRowIndexColumnComponent, decorators: [{
52
56
  type: Component,
@@ -55,7 +59,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImpor
55
59
  template: `<ng-template #header></ng-template>
56
60
  <ng-template #cell let-row>
57
61
  {{ row.rowIndex + 1 | format: 'number' : { zeroPadLength: this.formatCount, thousandSeparator: false } | async }}
58
- </ng-template>`,
62
+ </ng-template>
63
+ <ng-template #footer></ng-template> `,
59
64
  encapsulation: ViewEncapsulation.None,
60
65
  changeDetection: ChangeDetectionStrategy.OnPush,
61
66
  providers: [
@@ -73,7 +78,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImpor
73
78
  }], _contentHeaderTemplate: [{
74
79
  type: ViewChild,
75
80
  args: ['header']
81
+ }], footerTemplate: [{
82
+ type: Input
83
+ }], _contentFooterTemplate: [{
84
+ type: ViewChild,
85
+ args: ['footer']
76
86
  }], padZero: [{
77
87
  type: Input
78
88
  }] } });
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LWluZGV4LWNvbHVtbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0YS10YWJsZS9zcmMvbGliL2NvbHVtbnMvcm93LWluZGV4LWNvbHVtbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLFdBQVcsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JJLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7OztBQW1CakUsTUFBTSxPQUFPLHlCQUEwQixTQUFRLDBCQUEwQjtJQWpCekU7O1FBa0JVLFNBQUksR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDL0IsaUJBQVksR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFxQjlDLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFFTixnQkFBVyxHQUFHLENBQUMsQ0FBQztRQVVqQixpQkFBWSxHQUFHLEtBQUssQ0FBQztLQVMvQjtJQXJDQyxJQUFJLGtCQUFrQjtRQUNwQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQUtELElBQWEsb0JBQW9CO1FBQy9CLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBT0QsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUN0RixJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTSxDQUFDO1lBQ3BELENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7SUFJRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsSUFBYSxRQUFRO1FBQ25CLE9BQU8saUJBQWlCLENBQUM7SUFDM0IsQ0FBQzs4R0EzQ1UseUJBQXlCO2tHQUF6Qix5QkFBeUIsOEhBVHpCO1lBQ1QsY0FBYztZQUNkO2dCQUNFLE9BQU8sRUFBRSwwQkFBMEI7Z0JBQ25DLFdBQVcsRUFBRSx5QkFBeUI7YUFDdkM7U0FDRiwyUEFaUzs7O21CQUdPOzsyRkFZTix5QkFBeUI7a0JBakJyQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFFBQVEsRUFBRTs7O21CQUdPO29CQUNqQixhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFNBQVMsRUFBRTt3QkFDVCxjQUFjO3dCQUNkOzRCQUNFLE9BQU8sRUFBRSwwQkFBMEI7NEJBQ25DLFdBQVcsMkJBQTJCO3lCQUN2QztxQkFDRjtvQkFDRCxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQztpQkFDdEM7OEJBTVMsYUFBYTtzQkFEcEIsU0FBUzt1QkFBQyxNQUFNO2dCQVFULHNCQUFzQjtzQkFEN0IsU0FBUzt1QkFBQyxRQUFRO2dCQVluQixPQUFPO3NCQUROLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFVuc3Vic2NyaWJlciB9IGZyb20gJ0BhY29yZXgvY29yZS91dGlscyc7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWEJhc2VEYXRhVGFibGUgfSBmcm9tICcuLi9iYXNlLWRhdGEtdGFibGUuY2xhc3MnO1xuaW1wb3J0IHsgQVhEYXRhVGFibGVDb2x1bW5Db21wb25lbnQgfSBmcm9tICcuL2RhdGEtdGFibGUtY29sdW1uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtaW5kZXgtY29sdW1uJyxcbiAgdGVtcGxhdGU6IGA8bmctdGVtcGxhdGUgI2hlYWRlcj48L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAjY2VsbCBsZXQtcm93PlxuICAgICAge3sgcm93LnJvd0luZGV4ICsgMSB8IGZvcm1hdDogJ251bWJlcicgOiB7IHplcm9QYWRMZW5ndGg6IHRoaXMuZm9ybWF0Q291bnQsIHRob3VzYW5kU2VwYXJhdG9yOiBmYWxzZSB9IHwgYXN5bmMgfX1cbiAgICA8L25nLXRlbXBsYXRlPmAsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtcbiAgICBBWFVuc3Vic2NyaWJlcixcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWERhdGFUYWJsZUNvbHVtbkNvbXBvbmVudCxcbiAgICAgIHVzZUV4aXN0aW5nOiBBWFJvd0luZGV4Q29sdW1uQ29tcG9uZW50LFxuICAgIH0sXG4gIF0sXG4gIGlucHV0czogWyd3aWR0aCcsICdjYXB0aW9uJywgJ2ZpeGVkJ10sXG59KVxuZXhwb3J0IGNsYXNzIEFYUm93SW5kZXhDb2x1bW5Db21wb25lbnQgZXh0ZW5kcyBBWERhdGFUYWJsZUNvbHVtbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByaXZhdGUgZ3JpZCA9IGluamVjdChBWEJhc2VEYXRhVGFibGUpO1xuICBwcml2YXRlIHVuc3Vic2NyaWJlciA9IGluamVjdChBWFVuc3Vic2NyaWJlcik7XG5cbiAgQFZpZXdDaGlsZCgnY2VsbCcpXG4gIHByaXZhdGUgX2NlbGxUZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgZ2V0IHJlbmRlckNlbGxUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB7XG4gICAgcmV0dXJuIHRoaXMuX2NlbGxUZW1wbGF0ZTtcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoJ2hlYWRlcicpXG4gIHByaXZhdGUgX2NvbnRlbnRIZWFkZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgb3ZlcnJpZGUgZ2V0IHJlbmRlckhlYWRlclRlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPHVua25vd24+IHtcbiAgICByZXR1cm4gdGhpcy5fY29udGVudEhlYWRlclRlbXBsYXRlO1xuICB9XG5cbiAgZ2V0IG5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ2NsLWlueCc7XG4gIH1cblxuICBASW5wdXQoKVxuICBwYWRaZXJvID0gZmFsc2U7XG5cbiAgcHJvdGVjdGVkIGZvcm1hdENvdW50ID0gMTtcblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5wYWRaZXJvKSB7XG4gICAgICB0aGlzLmdyaWQuZGF0YVNvdXJjZS5vbkNoYW5nZWQucGlwZSh0aGlzLnVuc3Vic2NyaWJlci50YWtlVW50aWxEZXN0cm95KS5zdWJzY3JpYmUoKGMpID0+IHtcbiAgICAgICAgdGhpcy5mb3JtYXRDb3VudCA9IGMudG90YWxDb3VudC50b1N0cmluZygpLmxlbmd0aDtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG92ZXJyaWRlIGFsbG93U29ydGluZyA9IGZhbHNlO1xuXG4gIGdldCBsb2FkaW5nRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBvdmVycmlkZSBnZXQgY3NzQ2xhc3MoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gJ2F4LWluZGV4LWNvbHVtbic7XG4gIH1cbn1cbiJdfQ==
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LWluZGV4LWNvbHVtbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0YS10YWJsZS9zcmMvbGliL2NvbHVtbnMvcm93LWluZGV4LWNvbHVtbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLFdBQVcsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JJLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7OztBQW9CakUsTUFBTSxPQUFPLHlCQUEwQixTQUFRLDBCQUEwQjtJQWxCekU7O1FBbUJVLFNBQUksR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDL0IsaUJBQVksR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUErQjlDLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFFTixnQkFBVyxHQUFHLENBQUMsQ0FBQztRQVVqQixpQkFBWSxHQUFHLEtBQUssQ0FBQztLQVMvQjtJQS9DQyxJQUFJLGtCQUFrQjtRQUNwQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQUtELElBQWEsb0JBQW9CO1FBQy9CLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDO0lBQ3JDLENBQUM7SUFRRCxJQUFJLG9CQUFvQjtRQUN0QixPQUFPLElBQUksQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLHNCQUFzQixDQUFDO0lBQzVELENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBT0QsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUN0RixJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTSxDQUFDO1lBQ3BELENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7SUFJRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsSUFBYSxRQUFRO1FBQ25CLE9BQU8saUJBQWlCLENBQUM7SUFDM0IsQ0FBQzs4R0FyRFUseUJBQXlCO2tHQUF6Qix5QkFBeUIsZ0tBVHpCO1lBQ1QsY0FBYztZQUNkO2dCQUNFLE9BQU8sRUFBRSwwQkFBMEI7Z0JBQ25DLFdBQVcsRUFBRSx5QkFBeUI7YUFDdkM7U0FDRiw4VkFiUzs7Ozt5Q0FJNkI7OzJGQVk1Qix5QkFBeUI7a0JBbEJyQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFFBQVEsRUFBRTs7Ozt5Q0FJNkI7b0JBQ3ZDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsU0FBUyxFQUFFO3dCQUNULGNBQWM7d0JBQ2Q7NEJBQ0UsT0FBTyxFQUFFLDBCQUEwQjs0QkFDbkMsV0FBVywyQkFBMkI7eUJBQ3ZDO3FCQUNGO29CQUNELE1BQU0sRUFBRSxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDO2lCQUN0Qzs4QkFNUyxhQUFhO3NCQURwQixTQUFTO3VCQUFDLE1BQU07Z0JBUVQsc0JBQXNCO3NCQUQ3QixTQUFTO3VCQUFDLFFBQVE7Z0JBUVosY0FBYztzQkFEcEIsS0FBSztnQkFJRSxzQkFBc0I7c0JBRDdCLFNBQVM7dUJBQUMsUUFBUTtnQkFZbkIsT0FBTztzQkFETixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhVbnN1YnNjcmliZXIgfSBmcm9tICdAYWNvcmV4L2NvcmUvdXRpbHMnO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24sIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhCYXNlRGF0YVRhYmxlIH0gZnJvbSAnLi4vYmFzZS1kYXRhLXRhYmxlLmNsYXNzJztcbmltcG9ydCB7IEFYRGF0YVRhYmxlQ29sdW1uQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRhLXRhYmxlLWNvbHVtbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LWluZGV4LWNvbHVtbicsXG4gIHRlbXBsYXRlOiBgPG5nLXRlbXBsYXRlICNoZWFkZXI+PC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgI2NlbGwgbGV0LXJvdz5cbiAgICAgIHt7IHJvdy5yb3dJbmRleCArIDEgfCBmb3JtYXQ6ICdudW1iZXInIDogeyB6ZXJvUGFkTGVuZ3RoOiB0aGlzLmZvcm1hdENvdW50LCB0aG91c2FuZFNlcGFyYXRvcjogZmFsc2UgfSB8IGFzeW5jIH19XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgI2Zvb3Rlcj48L25nLXRlbXBsYXRlPiBgLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAgQVhVbnN1YnNjcmliZXIsXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhEYXRhVGFibGVDb2x1bW5Db21wb25lbnQsXG4gICAgICB1c2VFeGlzdGluZzogQVhSb3dJbmRleENvbHVtbkNvbXBvbmVudCxcbiAgICB9LFxuICBdLFxuICBpbnB1dHM6IFsnd2lkdGgnLCAnY2FwdGlvbicsICdmaXhlZCddLFxufSlcbmV4cG9ydCBjbGFzcyBBWFJvd0luZGV4Q29sdW1uQ29tcG9uZW50IGV4dGVuZHMgQVhEYXRhVGFibGVDb2x1bW5Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwcml2YXRlIGdyaWQgPSBpbmplY3QoQVhCYXNlRGF0YVRhYmxlKTtcbiAgcHJpdmF0ZSB1bnN1YnNjcmliZXIgPSBpbmplY3QoQVhVbnN1YnNjcmliZXIpO1xuXG4gIEBWaWV3Q2hpbGQoJ2NlbGwnKVxuICBwcml2YXRlIF9jZWxsVGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIGdldCByZW5kZXJDZWxsVGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8dW5rbm93bj4ge1xuICAgIHJldHVybiB0aGlzLl9jZWxsVGVtcGxhdGU7XG4gIH1cblxuICBAVmlld0NoaWxkKCdoZWFkZXInKVxuICBwcml2YXRlIF9jb250ZW50SGVhZGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIG92ZXJyaWRlIGdldCByZW5kZXJIZWFkZXJUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbnRlbnRIZWFkZXJUZW1wbGF0ZTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmb290ZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgQFZpZXdDaGlsZCgnZm9vdGVyJylcbiAgcHJpdmF0ZSBfY29udGVudEZvb3RlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICBnZXQgcmVuZGVyRm9vdGVyVGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8dW5rbm93bj4ge1xuICAgIHJldHVybiB0aGlzLmZvb3RlclRlbXBsYXRlID8/IHRoaXMuX2NvbnRlbnRGb290ZXJUZW1wbGF0ZTtcbiAgfVxuXG4gIGdldCBuYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICdjbC1pbngnO1xuICB9XG5cbiAgQElucHV0KClcbiAgcGFkWmVybyA9IGZhbHNlO1xuXG4gIHByb3RlY3RlZCBmb3JtYXRDb3VudCA9IDE7XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMucGFkWmVybykge1xuICAgICAgdGhpcy5ncmlkLmRhdGFTb3VyY2Uub25DaGFuZ2VkLnBpcGUodGhpcy51bnN1YnNjcmliZXIudGFrZVVudGlsRGVzdHJveSkuc3Vic2NyaWJlKChjKSA9PiB7XG4gICAgICAgIHRoaXMuZm9ybWF0Q291bnQgPSBjLnRvdGFsQ291bnQudG9TdHJpbmcoKS5sZW5ndGg7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBvdmVycmlkZSBhbGxvd1NvcnRpbmcgPSBmYWxzZTtcblxuICBnZXQgbG9hZGluZ0VuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgb3ZlcnJpZGUgZ2V0IGNzc0NsYXNzKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuICdheC1pbmRleC1jb2x1bW4nO1xuICB9XG59XG4iXX0=
@@ -13,6 +13,9 @@ export class AXRowSelectColumnComponent extends AXDataTableColumnComponent {
13
13
  get renderHeaderTemplate() {
14
14
  return this._contentHeaderTemplate;
15
15
  }
16
+ get renderFooterTemplate() {
17
+ return this._contentFooterTemplate;
18
+ }
16
19
  get name() {
17
20
  return 'cl-select';
18
21
  }
@@ -50,7 +53,7 @@ export class AXRowSelectColumnComponent extends AXDataTableColumnComponent {
50
53
  provide: AXDataTableColumnComponent,
51
54
  useExisting: AXRowSelectColumnComponent,
52
55
  },
53
- ], viewQueries: [{ propertyName: "_cellTemplate", first: true, predicate: ["cell"], descendants: true }, { propertyName: "_contentHeaderTemplate", first: true, predicate: ["header"], descendants: true }], usesInheritance: true, ngImport: i0, template: `<ng-template #header let-col>
56
+ ], viewQueries: [{ propertyName: "_cellTemplate", first: true, predicate: ["cell"], descendants: true }, { propertyName: "_contentHeaderTemplate", first: true, predicate: ["header"], descendants: true }, { propertyName: "_contentFooterTemplate", first: true, predicate: ["footer"], descendants: true }], usesInheritance: true, ngImport: i0, template: `<ng-template #header let-col>
54
57
  <input
55
58
  class="ax-checkbox"
56
59
  type="checkbox"
@@ -67,7 +70,8 @@ export class AXRowSelectColumnComponent extends AXDataTableColumnComponent {
67
70
  (change)="handleChange(row.data)"
68
71
  [checked]="isSelected(row.data)"
69
72
  />
70
- </ng-template>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
73
+ </ng-template>
74
+ <ng-template #footer></ng-template> `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
71
75
  }
72
76
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: AXRowSelectColumnComponent, decorators: [{
73
77
  type: Component,
@@ -90,7 +94,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImpor
90
94
  (change)="handleChange(row.data)"
91
95
  [checked]="isSelected(row.data)"
92
96
  />
93
- </ng-template>`,
97
+ </ng-template>
98
+ <ng-template #footer></ng-template> `,
94
99
  encapsulation: ViewEncapsulation.None,
95
100
  changeDetection: ChangeDetectionStrategy.OnPush,
96
101
  providers: [
@@ -107,5 +112,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImpor
107
112
  }], _contentHeaderTemplate: [{
108
113
  type: ViewChild,
109
114
  args: ['header']
115
+ }], _contentFooterTemplate: [{
116
+ type: ViewChild,
117
+ args: ['footer']
110
118
  }] } });
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LXNlbGVjdC1jb2x1bW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGEtdGFibGUvc3JjL2xpYi9jb2x1bW5zL3Jvdy1zZWxlY3QtY29sdW1uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFnQ2pFLE1BQU0sT0FBTywwQkFBMkIsU0FBUSwwQkFBMEI7SUE5QjFFOztRQStCVSxTQUFJLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0tBa0R4QztJQTdDQyxJQUFJLGtCQUFrQjtRQUNwQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQUtELElBQWEsb0JBQW9CO1FBQy9CLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0lBRVMsVUFBVSxDQUFDLElBQWE7UUFDaEMsT0FBTyxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRVMsZ0JBQWdCLENBQUMsSUFBSTtRQUM3QixPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBQ1MsZ0JBQWdCLENBQUMsSUFBSTtRQUM3QixPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUNySCxDQUFDO0lBRVMsWUFBWSxDQUFDLElBQWE7UUFDbEMsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0IsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QixDQUFDO0lBQ0gsQ0FBQztJQUVTLGVBQWUsQ0FBQyxJQUFTO1FBQ2pDLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUNsQyxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDaEMsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOzhHQWxEVSwwQkFBMEI7a0dBQTFCLDBCQUEwQiwyR0FSMUI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsMEJBQTBCO2dCQUNuQyxXQUFXLEVBQUUsMEJBQTBCO2FBQ3hDO1NBQ0YsMlBBekJTOzs7Ozs7Ozs7Ozs7Ozs7OzttQkFpQk87OzJGQVdOLDBCQUEwQjtrQkE5QnRDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7OzttQkFpQk87b0JBQ2pCLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSwwQkFBMEI7NEJBQ25DLFdBQVcsNEJBQTRCO3lCQUN4QztxQkFDRjtvQkFDRCxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQztpQkFDdEM7OEJBS1MsYUFBYTtzQkFEcEIsU0FBUzt1QkFBQyxNQUFNO2dCQVFULHNCQUFzQjtzQkFEN0IsU0FBUzt1QkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24sIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhCYXNlRGF0YVRhYmxlIH0gZnJvbSAnLi4vYmFzZS1kYXRhLXRhYmxlLmNsYXNzJztcbmltcG9ydCB7IEFYRGF0YVRhYmxlQ29sdW1uQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRhLXRhYmxlLWNvbHVtbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LXNlbGVjdC1jb2x1bW4nLFxuICB0ZW1wbGF0ZTogYDxuZy10ZW1wbGF0ZSAjaGVhZGVyIGxldC1jb2w+XG4gICAgICA8aW5wdXRcbiAgICAgICAgY2xhc3M9XCJheC1jaGVja2JveFwiXG4gICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgIChjaGFuZ2UpPVwiaGFuZGxlU2VsZWN0QWxsKGNvbC5yb3dzKVwiXG4gICAgICAgIFtpbmRldGVybWluYXRlXT1cImNoZWNrQW55U2VsZWN0ZWQoY29sLnJvd3MpXCJcbiAgICAgICAgW2NoZWNrZWRdPVwiY2hlY2tBbGxTZWxlY3RlZChjb2wucm93cylcIlxuICAgICAgLz5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAjY2VsbCBsZXQtcm93PlxuICAgICAgPGlucHV0XG4gICAgICAgIGNsYXNzPVwiYXgtY2hlY2tib3hcIlxuICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiIXJvdy5kYXRhXCJcbiAgICAgICAgKGNoYW5nZSk9XCJoYW5kbGVDaGFuZ2Uocm93LmRhdGEpXCJcbiAgICAgICAgW2NoZWNrZWRdPVwiaXNTZWxlY3RlZChyb3cuZGF0YSlcIlxuICAgICAgLz5cbiAgICA8L25nLXRlbXBsYXRlPmAsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWERhdGFUYWJsZUNvbHVtbkNvbXBvbmVudCxcbiAgICAgIHVzZUV4aXN0aW5nOiBBWFJvd1NlbGVjdENvbHVtbkNvbXBvbmVudCxcbiAgICB9LFxuICBdLFxuICBpbnB1dHM6IFsnd2lkdGgnLCAnY2FwdGlvbicsICdmaXhlZCddLFxufSlcbmV4cG9ydCBjbGFzcyBBWFJvd1NlbGVjdENvbHVtbkNvbXBvbmVudCBleHRlbmRzIEFYRGF0YVRhYmxlQ29sdW1uQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSBncmlkID0gaW5qZWN0KEFYQmFzZURhdGFUYWJsZSk7XG5cbiAgQFZpZXdDaGlsZCgnY2VsbCcpXG4gIHByaXZhdGUgX2NlbGxUZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgZ2V0IHJlbmRlckNlbGxUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB7XG4gICAgcmV0dXJuIHRoaXMuX2NlbGxUZW1wbGF0ZTtcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoJ2hlYWRlcicpXG4gIHByaXZhdGUgX2NvbnRlbnRIZWFkZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgb3ZlcnJpZGUgZ2V0IHJlbmRlckhlYWRlclRlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPHVua25vd24+IHtcbiAgICByZXR1cm4gdGhpcy5fY29udGVudEhlYWRlclRlbXBsYXRlO1xuICB9XG5cbiAgZ2V0IG5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ2NsLXNlbGVjdCc7XG4gIH1cblxuICBwcm90ZWN0ZWQgaXNTZWxlY3RlZChpdGVtOiB1bmtub3duKSB7XG4gICAgcmV0dXJuIGl0ZW0gIT0gbnVsbCAmJiB0aGlzLmdyaWQuc2VsZWN0ZWRSb3dzLmluY2x1ZGVzKGl0ZW0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNoZWNrQWxsU2VsZWN0ZWQocm93cykge1xuICAgIHJldHVybiByb3dzWzBdICYmIHJvd3MuZXZlcnkoKGVsZW1lbnQpID0+IHRoaXMuZ3JpZC5zZWxlY3RlZFJvd3MuaW5jbHVkZXMoZWxlbWVudCkpO1xuICB9XG4gIHByb3RlY3RlZCBjaGVja0FueVNlbGVjdGVkKHJvd3MpIHtcbiAgICByZXR1cm4gcm93c1swXSAmJiAhdGhpcy5jaGVja0FsbFNlbGVjdGVkKHJvd3MpICYmIHJvd3Muc29tZSgoZWxlbWVudCkgPT4gdGhpcy5ncmlkLnNlbGVjdGVkUm93cy5pbmNsdWRlcyhlbGVtZW50KSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlQ2hhbmdlKGl0ZW06IHVua25vd24pIHtcbiAgICBpZiAodGhpcy5pc1NlbGVjdGVkKGl0ZW0pKSB7XG4gICAgICB0aGlzLmdyaWQudW5TZWxlY3RSb3dzKGl0ZW0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmdyaWQuc2VsZWN0Um93cyhpdGVtKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlU2VsZWN0QWxsKHJvd3M6IGFueSkge1xuICAgIGlmICh0aGlzLmNoZWNrQWxsU2VsZWN0ZWQocm93cykpIHtcbiAgICAgIHRoaXMuZ3JpZC51blNlbGVjdFJvd3MoLi4ucm93cyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZ3JpZC5zZWxlY3RSb3dzKC4uLnJvd3MpO1xuICAgIH1cbiAgfVxuXG4gIGdldCBsb2FkaW5nRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiJdfQ==
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LXNlbGVjdC1jb2x1bW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGEtdGFibGUvc3JjL2xpYi9jb2x1bW5zL3Jvdy1zZWxlY3QtY29sdW1uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFpQ2pFLE1BQU0sT0FBTywwQkFBMkIsU0FBUSwwQkFBMEI7SUEvQjFFOztRQWdDVSxTQUFJLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0tBeUR4QztJQXBEQyxJQUFJLGtCQUFrQjtRQUNwQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQUtELElBQWEsb0JBQW9CO1FBQy9CLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDO0lBQ3JDLENBQUM7SUFLRCxJQUFJLG9CQUFvQjtRQUN0QixPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQztJQUNyQyxDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ04sT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztJQUVTLFVBQVUsQ0FBQyxJQUFhO1FBQ2hDLE9BQU8sSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVTLGdCQUFnQixDQUFDLElBQUk7UUFDN0IsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDdEYsQ0FBQztJQUNTLGdCQUFnQixDQUFDLElBQUk7UUFDN0IsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDckgsQ0FBQztJQUVTLFlBQVksQ0FBQyxJQUFhO1FBQ2xDLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9CLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0IsQ0FBQztJQUNILENBQUM7SUFFUyxlQUFlLENBQUMsSUFBUztRQUNqQyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDbEMsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQ2hDLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs4R0F6RFUsMEJBQTBCO2tHQUExQiwwQkFBMEIsMkdBUjFCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLDBCQUEwQjtnQkFDbkMsV0FBVyxFQUFFLDBCQUEwQjthQUN4QztTQUNGLDhWQTFCUzs7Ozs7Ozs7Ozs7Ozs7Ozs7O3lDQWtCNkI7OzJGQVc1QiwwQkFBMEI7a0JBL0J0QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7O3lDQWtCNkI7b0JBQ3ZDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSwwQkFBMEI7NEJBQ25DLFdBQVcsNEJBQTRCO3lCQUN4QztxQkFDRjtvQkFDRCxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQztpQkFDdEM7OEJBS1MsYUFBYTtzQkFEcEIsU0FBUzt1QkFBQyxNQUFNO2dCQVFULHNCQUFzQjtzQkFEN0IsU0FBUzt1QkFBQyxRQUFRO2dCQVFYLHNCQUFzQjtzQkFEN0IsU0FBUzt1QkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24sIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhCYXNlRGF0YVRhYmxlIH0gZnJvbSAnLi4vYmFzZS1kYXRhLXRhYmxlLmNsYXNzJztcbmltcG9ydCB7IEFYRGF0YVRhYmxlQ29sdW1uQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRhLXRhYmxlLWNvbHVtbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LXNlbGVjdC1jb2x1bW4nLFxuICB0ZW1wbGF0ZTogYDxuZy10ZW1wbGF0ZSAjaGVhZGVyIGxldC1jb2w+XG4gICAgICA8aW5wdXRcbiAgICAgICAgY2xhc3M9XCJheC1jaGVja2JveFwiXG4gICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgIChjaGFuZ2UpPVwiaGFuZGxlU2VsZWN0QWxsKGNvbC5yb3dzKVwiXG4gICAgICAgIFtpbmRldGVybWluYXRlXT1cImNoZWNrQW55U2VsZWN0ZWQoY29sLnJvd3MpXCJcbiAgICAgICAgW2NoZWNrZWRdPVwiY2hlY2tBbGxTZWxlY3RlZChjb2wucm93cylcIlxuICAgICAgLz5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAjY2VsbCBsZXQtcm93PlxuICAgICAgPGlucHV0XG4gICAgICAgIGNsYXNzPVwiYXgtY2hlY2tib3hcIlxuICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiIXJvdy5kYXRhXCJcbiAgICAgICAgKGNoYW5nZSk9XCJoYW5kbGVDaGFuZ2Uocm93LmRhdGEpXCJcbiAgICAgICAgW2NoZWNrZWRdPVwiaXNTZWxlY3RlZChyb3cuZGF0YSlcIlxuICAgICAgLz5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAjZm9vdGVyPjwvbmctdGVtcGxhdGU+IGAsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWERhdGFUYWJsZUNvbHVtbkNvbXBvbmVudCxcbiAgICAgIHVzZUV4aXN0aW5nOiBBWFJvd1NlbGVjdENvbHVtbkNvbXBvbmVudCxcbiAgICB9LFxuICBdLFxuICBpbnB1dHM6IFsnd2lkdGgnLCAnY2FwdGlvbicsICdmaXhlZCddLFxufSlcbmV4cG9ydCBjbGFzcyBBWFJvd1NlbGVjdENvbHVtbkNvbXBvbmVudCBleHRlbmRzIEFYRGF0YVRhYmxlQ29sdW1uQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSBncmlkID0gaW5qZWN0KEFYQmFzZURhdGFUYWJsZSk7XG5cbiAgQFZpZXdDaGlsZCgnY2VsbCcpXG4gIHByaXZhdGUgX2NlbGxUZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgZ2V0IHJlbmRlckNlbGxUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB7XG4gICAgcmV0dXJuIHRoaXMuX2NlbGxUZW1wbGF0ZTtcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoJ2hlYWRlcicpXG4gIHByaXZhdGUgX2NvbnRlbnRIZWFkZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgb3ZlcnJpZGUgZ2V0IHJlbmRlckhlYWRlclRlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPHVua25vd24+IHtcbiAgICByZXR1cm4gdGhpcy5fY29udGVudEhlYWRlclRlbXBsYXRlO1xuICB9XG5cbiAgQFZpZXdDaGlsZCgnZm9vdGVyJylcbiAgcHJpdmF0ZSBfY29udGVudEZvb3RlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICBnZXQgcmVuZGVyRm9vdGVyVGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8dW5rbm93bj4ge1xuICAgIHJldHVybiB0aGlzLl9jb250ZW50Rm9vdGVyVGVtcGxhdGU7XG4gIH1cblxuICBnZXQgbmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiAnY2wtc2VsZWN0JztcbiAgfVxuXG4gIHByb3RlY3RlZCBpc1NlbGVjdGVkKGl0ZW06IHVua25vd24pIHtcbiAgICByZXR1cm4gaXRlbSAhPSBudWxsICYmIHRoaXMuZ3JpZC5zZWxlY3RlZFJvd3MuaW5jbHVkZXMoaXRlbSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY2hlY2tBbGxTZWxlY3RlZChyb3dzKSB7XG4gICAgcmV0dXJuIHJvd3NbMF0gJiYgcm93cy5ldmVyeSgoZWxlbWVudCkgPT4gdGhpcy5ncmlkLnNlbGVjdGVkUm93cy5pbmNsdWRlcyhlbGVtZW50KSk7XG4gIH1cbiAgcHJvdGVjdGVkIGNoZWNrQW55U2VsZWN0ZWQocm93cykge1xuICAgIHJldHVybiByb3dzWzBdICYmICF0aGlzLmNoZWNrQWxsU2VsZWN0ZWQocm93cykgJiYgcm93cy5zb21lKChlbGVtZW50KSA9PiB0aGlzLmdyaWQuc2VsZWN0ZWRSb3dzLmluY2x1ZGVzKGVsZW1lbnQpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVDaGFuZ2UoaXRlbTogdW5rbm93bikge1xuICAgIGlmICh0aGlzLmlzU2VsZWN0ZWQoaXRlbSkpIHtcbiAgICAgIHRoaXMuZ3JpZC51blNlbGVjdFJvd3MoaXRlbSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZ3JpZC5zZWxlY3RSb3dzKGl0ZW0pO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVTZWxlY3RBbGwocm93czogYW55KSB7XG4gICAgaWYgKHRoaXMuY2hlY2tBbGxTZWxlY3RlZChyb3dzKSkge1xuICAgICAgdGhpcy5ncmlkLnVuU2VsZWN0Um93cyguLi5yb3dzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5ncmlkLnNlbGVjdFJvd3MoLi4ucm93cyk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGxvYWRpbmdFbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuIl19