@ardium-ui/ui 3.3.0-alpha.4 → 3.3.0-alpha.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,4 @@
1
1
  import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Inject, ViewEncapsulation, computed, inject, input, signal, } from '@angular/core';
2
- import { TakeChance as Random } from 'take-chance';
3
2
  import { _BooleanComponentBase } from '../../_internal/boolean-component';
4
3
  import { ARD_RADIO_DEFAULTS } from './radio.defaults';
5
4
  import * as i0 from "@angular/core";
@@ -8,7 +7,6 @@ export class ArdiumRadioComponent extends _BooleanComponentBase {
8
7
  constructor(defaults) {
9
8
  super(defaults);
10
9
  this._changeDetector = inject(ChangeDetectorRef);
11
- this.htmlId = input(Random.id());
12
10
  this.value = input();
13
11
  //! appearance
14
12
  this.color = input(this._DEFAULTS.color);
@@ -36,7 +34,7 @@ export class ArdiumRadioComponent extends _BooleanComponentBase {
36
34
  this._changeDetector.markForCheck();
37
35
  }
38
36
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ArdiumRadioComponent, deps: [{ token: ARD_RADIO_DEFAULTS }], target: i0.ɵɵFactoryTarget.Component }); }
39
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: ArdiumRadioComponent, selector: "ard-radio", inputs: { htmlId: { classPropertyName: "htmlId", publicName: "htmlId", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: "<button\n #focusableElement\n class=\"ard-radio\"\n type=\"button\"\n [ngClass]=\"ngClasses()\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n (mousedown)=\"onMousedown()\"\n (mouseup)=\"onMouseup()\"\n [tabindex]=\"tabIndex()\"\n>\n <div class=\"ard-radio-circles\">\n <div class=\"ard-radio-outer-circle\"></div>\n <div class=\"ard-radio-inner-circle\"></div>\n <div class=\"ard-focus-overlay\"></div>\n <div class=\"ard-hitbox\"></div>\n </div>\n <label [for]=\"htmlId()\">\n <ng-content></ng-content>\n </label>\n</button>\n\n<input\n class=\"ard-radio-input-element\"\n type=\"radio\"\n [name]=\"name()\"\n [id]=\"htmlId()\"\n [checked]=\"selected()\"\n #radio\n/>\n", styles: [".ard-radio{border:none;background:none}.ard-radio>label{pointer-events:none}ard-radio>.ard-radio-input-element{display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
37
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: ArdiumRadioComponent, selector: "ard-radio", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: "<button\n #focusableElement\n class=\"ard-radio\"\n type=\"button\"\n [ngClass]=\"ngClasses()\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n (mousedown)=\"onMousedown()\"\n (mouseup)=\"onMouseup()\"\n [tabindex]=\"tabIndex()\"\n>\n <div class=\"ard-radio-circles\">\n <div class=\"ard-radio-outer-circle\"></div>\n <div class=\"ard-radio-inner-circle\"></div>\n <div class=\"ard-focus-overlay\"></div>\n <div class=\"ard-hitbox\"></div>\n </div>\n <label [for]=\"htmlId()\">\n <ng-content></ng-content>\n </label>\n</button>\n\n<input\n class=\"ard-radio-input-element\"\n type=\"radio\"\n [name]=\"name()\"\n [id]=\"htmlId()\"\n [checked]=\"selected()\"\n #radio\n/>\n", styles: [".ard-radio{border:none;background:none}.ard-radio>label{pointer-events:none}ard-radio>.ard-radio-input-element{display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
40
38
  }
41
39
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ArdiumRadioComponent, decorators: [{
42
40
  type: Component,
@@ -45,4 +43,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
45
43
  type: Inject,
46
44
  args: [ARD_RADIO_DEFAULTS]
47
45
  }] }] });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9yYWRpby9yYWRpby9yYWRpby5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL3JhZGlvL3JhZGlvL3JhZGlvLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxNQUFNLEVBQ04saUJBQWlCLEVBQ2pCLFFBQVEsRUFDUixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsVUFBVSxJQUFJLE1BQU0sRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNuRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUUxRSxPQUFPLEVBQUUsa0JBQWtCLEVBQW9CLE1BQU0sa0JBQWtCLENBQUM7OztBQVN4RSxNQUFNLE9BQU8sb0JBQXFCLFNBQVEscUJBQXFCO0lBSTdELFlBQXdDLFFBQTBCO1FBQ2hFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUpDLG9CQUFlLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFPdEQsV0FBTSxHQUFHLEtBQUssQ0FBUyxNQUFNLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVwQyxVQUFLLEdBQUcsS0FBSyxFQUFPLENBQUM7UUFFOUIsY0FBYztRQUNMLFVBQUssR0FBRyxLQUFLLENBQXVCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFMUQsY0FBUyxHQUFHLFFBQVEsQ0FBUyxHQUFHLEVBQUUsQ0FDekMsQ0FBQyxhQUFhLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLGFBQWEsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUNwRyxDQUFDO1FBWUYsNkJBQTZCO1FBQ3BCLFNBQUksR0FBRyxNQUFNLENBQWdCLElBQUksQ0FBQyxDQUFDO0lBeEI1QyxDQUFDO0lBYUQsa0JBQWtCO0lBQ2xCLFdBQVc7UUFDVCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDZixDQUFDO0lBQ0QsU0FBUztRQUNQLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNiLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBS0Q7Ozs7T0FJRztJQUNILFlBQVk7UUFDViw0RkFBNEY7UUFDNUYsK0JBQStCO1FBQy9CLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEMsQ0FBQzsrR0F6Q1Usb0JBQW9CLGtCQUlYLGtCQUFrQjttR0FKM0Isb0JBQW9CLCtiQ3ZCakMsZ3RCQThCQTs7NEZEUGEsb0JBQW9CO2tCQVBoQyxTQUFTOytCQUNFLFdBQVcsaUJBR04saUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTTs7MEJBTWxDLE1BQU07MkJBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEluamVjdCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIGNvbXB1dGVkLFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBzaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGFrZUNoYW5jZSBhcyBSYW5kb20gfSBmcm9tICd0YWtlLWNoYW5jZSc7XG5pbXBvcnQgeyBfQm9vbGVhbkNvbXBvbmVudEJhc2UgfSBmcm9tICcuLi8uLi9faW50ZXJuYWwvYm9vbGVhbi1jb21wb25lbnQnO1xuaW1wb3J0IHsgU2ltcGxlQ29tcG9uZW50Q29sb3IgfSBmcm9tICcuLi8uLi90eXBlcy9jb2xvcnMudHlwZXMnO1xuaW1wb3J0IHsgQVJEX1JBRElPX0RFRkFVTFRTLCBBcmRSYWRpb0RlZmF1bHRzIH0gZnJvbSAnLi9yYWRpby5kZWZhdWx0cyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FyZC1yYWRpbycsXG4gIHRlbXBsYXRlVXJsOiAnLi9yYWRpby5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JhZGlvLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBBcmRpdW1SYWRpb0NvbXBvbmVudCBleHRlbmRzIF9Cb29sZWFuQ29tcG9uZW50QmFzZSB7XG4gIHByb3RlY3RlZCByZWFkb25seSBfY2hhbmdlRGV0ZWN0b3IgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZWFkb25seSBfREVGQVVMVFMhOiBBcmRSYWRpb0RlZmF1bHRzO1xuICBjb25zdHJ1Y3RvcihASW5qZWN0KEFSRF9SQURJT19ERUZBVUxUUykgZGVmYXVsdHM6IEFyZFJhZGlvRGVmYXVsdHMpIHtcbiAgICBzdXBlcihkZWZhdWx0cyk7XG4gIH1cblxuICByZWFkb25seSBodG1sSWQgPSBpbnB1dDxzdHJpbmc+KFJhbmRvbS5pZCgpKTtcblxuICByZWFkb25seSB2YWx1ZSA9IGlucHV0PGFueT4oKTtcblxuICAvLyEgYXBwZWFyYW5jZVxuICByZWFkb25seSBjb2xvciA9IGlucHV0PFNpbXBsZUNvbXBvbmVudENvbG9yPih0aGlzLl9ERUZBVUxUUy5jb2xvcik7XG5cbiAgcmVhZG9ubHkgbmdDbGFzc2VzID0gY29tcHV0ZWQ8c3RyaW5nPigoKSA9PlxuICAgIFtgYXJkLWNvbG9yLSR7dGhpcy5jb2xvcigpfWAsIGBhcmQtcmFkaW8tJHt0aGlzLnNlbGVjdGVkKCkgPyAnc2VsZWN0ZWQnIDogJ3Vuc2VsZWN0ZWQnfWBdLmpvaW4oJyAnKVxuICApO1xuXG4gIC8vISBldmVudCBoYW5kbGVyc1xuICBvbk1vdXNlZG93bigpOiB2b2lkIHtcbiAgICB0aGlzLmZvY3VzKCk7XG4gIH1cbiAgb25Nb3VzZXVwKCk6IHZvaWQge1xuICAgIHRoaXMuZm9jdXMoKTtcbiAgICB0aGlzLnNlbGVjdGVkLnNldCh0cnVlKTtcbiAgICB0aGlzLl9lbWl0Q2hhbmdlKCk7XG4gIH1cblxuICAvLyEgcmFkaW8tZ3JvdXAgYWNjZXNzIHBvaW50c1xuICByZWFkb25seSBuYW1lID0gc2lnbmFsPHN0cmluZyB8IG51bGw+KG51bGwpO1xuXG4gIC8qKlxuICAgKiBNYXJrcyB0aGUgcmFkaW8gYnV0dG9uIGFzIG5lZWRpbmcgY2hlY2tpbmcgZm9yIGNoYW5nZSBkZXRlY3Rpb24uXG4gICAqIFRoaXMgbWV0aG9kIGlzIGV4cG9zZWQgYmVjYXVzZSB0aGUgcGFyZW50IHJhZGlvIGdyb3VwIHdpbGwgZGlyZWN0bHlcbiAgICogdXBkYXRlIGJvdW5kIHByb3BlcnRpZXMgb2YgdGhlIHJhZGlvIGJ1dHRvbi5cbiAgICovXG4gIG1hcmtGb3JDaGVjaygpIHtcbiAgICAvLyBXaGVuIGdyb3VwIHZhbHVlIGNoYW5nZXMsIHRoZSBidXR0b24gd2lsbCBub3QgYmUgbm90aWZpZWQuIFVzZSBgbWFya0ZvckNoZWNrYCB0byBleHBsaWNpdFxuICAgIC8vIHVwZGF0ZSByYWRpbyBidXR0b24ncyBzdGF0dXNcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxufVxuIiwiPGJ1dHRvblxuICAjZm9jdXNhYmxlRWxlbWVudFxuICBjbGFzcz1cImFyZC1yYWRpb1wiXG4gIHR5cGU9XCJidXR0b25cIlxuICBbbmdDbGFzc109XCJuZ0NsYXNzZXMoKVwiXG4gIChmb2N1cyk9XCJvbkZvY3VzKCRldmVudClcIlxuICAoYmx1cik9XCJvbkJsdXIoJGV2ZW50KVwiXG4gIChtb3VzZWRvd24pPVwib25Nb3VzZWRvd24oKVwiXG4gIChtb3VzZXVwKT1cIm9uTW91c2V1cCgpXCJcbiAgW3RhYmluZGV4XT1cInRhYkluZGV4KClcIlxuPlxuICA8ZGl2IGNsYXNzPVwiYXJkLXJhZGlvLWNpcmNsZXNcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYXJkLXJhZGlvLW91dGVyLWNpcmNsZVwiPjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJhcmQtcmFkaW8taW5uZXItY2lyY2xlXCI+PC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImFyZC1mb2N1cy1vdmVybGF5XCI+PC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImFyZC1oaXRib3hcIj48L2Rpdj5cbiAgPC9kaXY+XG4gIDxsYWJlbCBbZm9yXT1cImh0bWxJZCgpXCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L2xhYmVsPlxuPC9idXR0b24+XG5cbjxpbnB1dFxuICBjbGFzcz1cImFyZC1yYWRpby1pbnB1dC1lbGVtZW50XCJcbiAgdHlwZT1cInJhZGlvXCJcbiAgW25hbWVdPVwibmFtZSgpXCJcbiAgW2lkXT1cImh0bWxJZCgpXCJcbiAgW2NoZWNrZWRdPVwic2VsZWN0ZWQoKVwiXG4gICNyYWRpb1xuLz5cbiJdfQ==
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9yYWRpby9yYWRpby9yYWRpby5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL3JhZGlvL3JhZGlvL3JhZGlvLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxNQUFNLEVBQ04saUJBQWlCLEVBQ2pCLFFBQVEsRUFDUixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUUxRSxPQUFPLEVBQUUsa0JBQWtCLEVBQW9CLE1BQU0sa0JBQWtCLENBQUM7OztBQVN4RSxNQUFNLE9BQU8sb0JBQXFCLFNBQVEscUJBQXFCO0lBSTdELFlBQXdDLFFBQTBCO1FBQ2hFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUpDLG9CQUFlLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFPdEQsVUFBSyxHQUFHLEtBQUssRUFBTyxDQUFDO1FBRTlCLGNBQWM7UUFDTCxVQUFLLEdBQUcsS0FBSyxDQUF1QixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTFELGNBQVMsR0FBRyxRQUFRLENBQVMsR0FBRyxFQUFFLENBQ3pDLENBQUMsYUFBYSxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxhQUFhLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FDcEcsQ0FBQztRQVlGLDZCQUE2QjtRQUNwQixTQUFJLEdBQUcsTUFBTSxDQUFnQixJQUFJLENBQUMsQ0FBQztJQXRCNUMsQ0FBQztJQVdELGtCQUFrQjtJQUNsQixXQUFXO1FBQ1QsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2YsQ0FBQztJQUNELFNBQVM7UUFDUCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDYixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUtEOzs7O09BSUc7SUFDSCxZQUFZO1FBQ1YsNEZBQTRGO1FBQzVGLCtCQUErQjtRQUMvQixJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RDLENBQUM7K0dBdkNVLG9CQUFvQixrQkFJWCxrQkFBa0I7bUdBSjNCLG9CQUFvQixvVUN0QmpDLGd0QkE4QkE7OzRGRFJhLG9CQUFvQjtrQkFQaEMsU0FBUzsrQkFDRSxXQUFXLGlCQUdOLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU07OzBCQU1sQyxNQUFNOzJCQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBJbmplY3QsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBjb21wdXRlZCxcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgc2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IF9Cb29sZWFuQ29tcG9uZW50QmFzZSB9IGZyb20gJy4uLy4uL19pbnRlcm5hbC9ib29sZWFuLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBTaW1wbGVDb21wb25lbnRDb2xvciB9IGZyb20gJy4uLy4uL3R5cGVzL2NvbG9ycy50eXBlcyc7XG5pbXBvcnQgeyBBUkRfUkFESU9fREVGQVVMVFMsIEFyZFJhZGlvRGVmYXVsdHMgfSBmcm9tICcuL3JhZGlvLmRlZmF1bHRzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXJkLXJhZGlvJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JhZGlvLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmFkaW8uY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEFyZGl1bVJhZGlvQ29tcG9uZW50IGV4dGVuZHMgX0Jvb2xlYW5Db21wb25lbnRCYXNlIHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9jaGFuZ2VEZXRlY3RvciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlYWRvbmx5IF9ERUZBVUxUUyE6IEFyZFJhZGlvRGVmYXVsdHM7XG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoQVJEX1JBRElPX0RFRkFVTFRTKSBkZWZhdWx0czogQXJkUmFkaW9EZWZhdWx0cykge1xuICAgIHN1cGVyKGRlZmF1bHRzKTtcbiAgfVxuXG4gIHJlYWRvbmx5IHZhbHVlID0gaW5wdXQ8YW55PigpO1xuXG4gIC8vISBhcHBlYXJhbmNlXG4gIHJlYWRvbmx5IGNvbG9yID0gaW5wdXQ8U2ltcGxlQ29tcG9uZW50Q29sb3I+KHRoaXMuX0RFRkFVTFRTLmNvbG9yKTtcblxuICByZWFkb25seSBuZ0NsYXNzZXMgPSBjb21wdXRlZDxzdHJpbmc+KCgpID0+XG4gICAgW2BhcmQtY29sb3ItJHt0aGlzLmNvbG9yKCl9YCwgYGFyZC1yYWRpby0ke3RoaXMuc2VsZWN0ZWQoKSA/ICdzZWxlY3RlZCcgOiAndW5zZWxlY3RlZCd9YF0uam9pbignICcpXG4gICk7XG5cbiAgLy8hIGV2ZW50IGhhbmRsZXJzXG4gIG9uTW91c2Vkb3duKCk6IHZvaWQge1xuICAgIHRoaXMuZm9jdXMoKTtcbiAgfVxuICBvbk1vdXNldXAoKTogdm9pZCB7XG4gICAgdGhpcy5mb2N1cygpO1xuICAgIHRoaXMuc2VsZWN0ZWQuc2V0KHRydWUpO1xuICAgIHRoaXMuX2VtaXRDaGFuZ2UoKTtcbiAgfVxuXG4gIC8vISByYWRpby1ncm91cCBhY2Nlc3MgcG9pbnRzXG4gIHJlYWRvbmx5IG5hbWUgPSBzaWduYWw8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG5cbiAgLyoqXG4gICAqIE1hcmtzIHRoZSByYWRpbyBidXR0b24gYXMgbmVlZGluZyBjaGVja2luZyBmb3IgY2hhbmdlIGRldGVjdGlvbi5cbiAgICogVGhpcyBtZXRob2QgaXMgZXhwb3NlZCBiZWNhdXNlIHRoZSBwYXJlbnQgcmFkaW8gZ3JvdXAgd2lsbCBkaXJlY3RseVxuICAgKiB1cGRhdGUgYm91bmQgcHJvcGVydGllcyBvZiB0aGUgcmFkaW8gYnV0dG9uLlxuICAgKi9cbiAgbWFya0ZvckNoZWNrKCkge1xuICAgIC8vIFdoZW4gZ3JvdXAgdmFsdWUgY2hhbmdlcywgdGhlIGJ1dHRvbiB3aWxsIG5vdCBiZSBub3RpZmllZC4gVXNlIGBtYXJrRm9yQ2hlY2tgIHRvIGV4cGxpY2l0XG4gICAgLy8gdXBkYXRlIHJhZGlvIGJ1dHRvbidzIHN0YXR1c1xuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG59XG4iLCI8YnV0dG9uXG4gICNmb2N1c2FibGVFbGVtZW50XG4gIGNsYXNzPVwiYXJkLXJhZGlvXCJcbiAgdHlwZT1cImJ1dHRvblwiXG4gIFtuZ0NsYXNzXT1cIm5nQ2xhc3NlcygpXCJcbiAgKGZvY3VzKT1cIm9uRm9jdXMoJGV2ZW50KVwiXG4gIChibHVyKT1cIm9uQmx1cigkZXZlbnQpXCJcbiAgKG1vdXNlZG93bik9XCJvbk1vdXNlZG93bigpXCJcbiAgKG1vdXNldXApPVwib25Nb3VzZXVwKClcIlxuICBbdGFiaW5kZXhdPVwidGFiSW5kZXgoKVwiXG4+XG4gIDxkaXYgY2xhc3M9XCJhcmQtcmFkaW8tY2lyY2xlc1wiPlxuICAgIDxkaXYgY2xhc3M9XCJhcmQtcmFkaW8tb3V0ZXItY2lyY2xlXCI+PC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImFyZC1yYWRpby1pbm5lci1jaXJjbGVcIj48L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiYXJkLWZvY3VzLW92ZXJsYXlcIj48L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiYXJkLWhpdGJveFwiPjwvZGl2PlxuICA8L2Rpdj5cbiAgPGxhYmVsIFtmb3JdPVwiaHRtbElkKClcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvbGFiZWw+XG48L2J1dHRvbj5cblxuPGlucHV0XG4gIGNsYXNzPVwiYXJkLXJhZGlvLWlucHV0LWVsZW1lbnRcIlxuICB0eXBlPVwicmFkaW9cIlxuICBbbmFtZV09XCJuYW1lKClcIlxuICBbaWRdPVwiaHRtbElkKClcIlxuICBbY2hlY2tlZF09XCJzZWxlY3RlZCgpXCJcbiAgI3JhZGlvXG4vPlxuIl19
@@ -11,7 +11,6 @@ export class ArdiumRadioGroupComponent extends _NgModelComponentBase {
11
11
  constructor() {
12
12
  super(_ngModelComponentDefaults); // no need for injecting a token with default values
13
13
  this._radios = contentChildren(ArdiumRadioComponent, { descendants: true });
14
- this.htmlId = input('');
15
14
  this.valueChange = output();
16
15
  this.changeEvent = output({ alias: 'change' });
17
16
  /**
@@ -146,6 +145,7 @@ export class ArdiumRadioGroupComponent extends _NgModelComponentBase {
146
145
  }
147
146
  }
148
147
  ngOnDestroy() {
148
+ super.ngOnDestroy();
149
149
  this._destroyChildSubscriptions();
150
150
  }
151
151
  _destroyChildSubscriptions() {
@@ -155,7 +155,7 @@ export class ArdiumRadioGroupComponent extends _NgModelComponentBase {
155
155
  this._childEventSubs = [];
156
156
  }
157
157
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ArdiumRadioGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
158
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.13", type: ArdiumRadioGroupComponent, selector: "ard-radio-group", inputs: { htmlId: { classPropertyName: "htmlId", publicName: "htmlId", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange", changeEvent: "change", selected: "selectedChange" }, host: { attributes: { "role": "radiogroup" }, properties: { "attr.tabindex": "null", "attr.aria-label": "null", "attr.aria-labelledby": "null", "attr.aria-describedby": "null", "attr.id": "this._htmlIdHostAttribute" } }, providers: [
158
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.13", type: ArdiumRadioGroupComponent, selector: "ard-radio-group", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange", changeEvent: "change", selected: "selectedChange" }, host: { attributes: { "role": "radiogroup" }, properties: { "attr.tabindex": "null", "attr.aria-label": "null", "attr.aria-labelledby": "null", "attr.aria-describedby": "null", "attr.id": "this._htmlIdHostAttribute" } }, providers: [
159
159
  {
160
160
  provide: NG_VALUE_ACCESSOR,
161
161
  useExisting: forwardRef(() => ArdiumRadioGroupComponent),
@@ -191,4 +191,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
191
191
  }], value: [{
192
192
  type: Input
193
193
  }] } });
194
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9yYWRpby9yYWRpby1ncm91cC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsV0FBVyxFQUNYLEtBQUssRUFHTCxpQkFBaUIsRUFDakIsZUFBZSxFQUNmLE1BQU0sRUFDTixVQUFVLEVBQ1YsS0FBSyxFQUNMLEtBQUssRUFDTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsSUFBSSxNQUFNLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFbEcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBc0IvRCxNQUFNLE9BQU8seUJBQTBCLFNBQVEscUJBQXFCO0lBS2xFLElBQ0ksb0JBQW9CO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRDtRQUNFLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLENBQUMsb0RBQW9EO1FBVnZFLFlBQU8sR0FBRyxlQUFlLENBQXVCLG9CQUFvQixFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFFckcsV0FBTSxHQUFHLEtBQUssQ0FBUyxFQUFFLENBQUMsQ0FBQztRQW9FM0IsZ0JBQVcsR0FBRyxNQUFNLEVBQU8sQ0FBQztRQUM1QixnQkFBVyxHQUFHLE1BQU0sQ0FBTSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBaUN4RDs7O1dBR0c7UUFDTSxhQUFRLEdBQUcs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aUI7b0JBQzNCLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsSUFBSSxFQUFFO3dCQUNKLGlCQUFpQixFQUFFLE1BQU07d0JBQ3pCLG1CQUFtQixFQUFFLE1BQU07d0JBQzNCLHdCQUF3QixFQUFFLE1BQU07d0JBQ2hDLHlCQUF5QixFQUFFLE1BQU07d0JBQ2pDLElBQUksRUFBRSxZQUFZO3FCQUNuQjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsMEJBQTBCLENBQUM7NEJBQ3hELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO2lCQUNGO3dEQU9LLG9CQUFvQjtzQkFEdkIsV0FBVzt1QkFBQyxTQUFTO2dCQTJEbEIsS0FBSztzQkFEUixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dFJlZlN1YnNjcmlwdGlvbixcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIGNvbnRlbnRDaGlsZHJlbixcbiAgZWZmZWN0LFxuICBmb3J3YXJkUmVmLFxuICBpbnB1dCxcbiAgbW9kZWwsXG4gIG91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRha2VDaGFuY2UgYXMgUmFuZG9tIH0gZnJvbSAndGFrZS1jaGFuY2UnO1xuaW1wb3J0IHsgX05nTW9kZWxDb21wb25lbnRCYXNlLCBfbmdNb2RlbENvbXBvbmVudERlZmF1bHRzIH0gZnJvbSAnLi4vX2ludGVybmFsL25nbW9kZWwtY29tcG9uZW50JztcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnLi4vdHlwZXMvdXRpbGl0eS50eXBlcyc7XG5pbXBvcnQgeyBBcmRpdW1SYWRpb0NvbXBvbmVudCB9IGZyb20gJy4vcmFkaW8vcmFkaW8uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXJkLXJhZGlvLWdyb3VwJyxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHtcbiAgICAnW2F0dHIudGFiaW5kZXhdJzogJ251bGwnLFxuICAgICdbYXR0ci5hcmlhLWxhYmVsXSc6ICdudWxsJyxcbiAgICAnW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XSc6ICdudWxsJyxcbiAgICAnW2F0dHIuYXJpYS1kZXNjcmliZWRieV0nOiAnbnVsbCcsXG4gICAgcm9sZTogJ3JhZGlvZ3JvdXAnLFxuICB9LFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEFyZGl1bVJhZGlvR3JvdXBDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQXJkaXVtUmFkaW9Hcm91cENvbXBvbmVudCBleHRlbmRzIF9OZ01vZGVsQ29tcG9uZW50QmFzZSBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3JhZGlvcyA9IGNvbnRlbnRDaGlsZHJlbjxBcmRpdW1SYWRpb0NvbXBvbmVudD4oQXJkaXVtUmFkaW9Db21wb25lbnQsIHsgZGVzY2VuZGFudHM6IHRydWUgfSk7XG5cbiAgcmVhZG9ubHkgaHRtbElkID0gaW5wdXQ8c3RyaW5nPignJyk7XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmlkJylcbiAgZ2V0IF9odG1sSWRIb3N0QXR0cmlidXRlKCkge1xuICAgIHJldHVybiB0aGlzLmh0bWxJZCgpO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoX25nTW9kZWxDb21wb25lbnREZWZhdWx0cyk7IC8vIG5vIG5lZWQgZm9yIGluamVjdGluZyBhIHRva2VuIHdpdGggZGVmYXVsdCB2YWx1ZXNcblxuICAgIGVmZmVjdChcbiAgICAgICgpID0+IHtcbiAgICAgICAgdGhpcy5uYW1lKCk7XG4gICAgICAgIHRoaXMuX3VwZGF0ZVJhZGlvQnV0dG9uTmFtZXMoKTtcbiAgICAgIH0sXG4gICAgICB7IGFsbG93U2lnbmFsV3JpdGVzOiB0cnVlIH1cbiAgICApO1xuICAgIGVmZmVjdChcbiAgICAgICgpID0+IHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZCgpO1xuICAgICAgICB0aGlzLl9jaGVja1NlbGVjdGVkUmFkaW9CdXR0b24oKTtcbiAgICAgIH0sXG4gICAgICB7IGFsbG93U2lnbmFsV3JpdGVzOiB0cnVlIH1cbiAgICApO1xuICAgIGVmZmVjdChcbiAgICAgICgpID0+IHtcbiAgICAgICAgY29uc3QgcmFkaW9zID0gdGhpcy5fcmFkaW9zKCk7XG4gICAgICAgIGlmICghcmFkaW9zKSByZXR1cm47XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5fdXBkYXRlUmFkaW9CdXR0b25OYW1lcygpO1xuICAgICAgICB9LCAwKTtcblxuICAgICAgICB0aGlzLl9kZXN0cm95Q2hpbGRTdWJzY3JpcHRpb25zKCk7XG5cbiAgICAgICAgLy9zdWIgdG8gY2hpbGQgY29tcG9uZW50IGV2ZW50c1xuICAgICAgICBmb3IgKGNvbnN0IHJhZGlvIG9mIHJhZGlvcykge1xuICAgICAgICAgIHRoaXMuX2NoaWxkRXZlbnRTdWJzLnB1c2goXG4gICAgICAgICAgICByYWRpby5ibHVyRXZlbnQuc3Vic2NyaWJlKHYgPT4ge1xuICAgICAgICAgICAgICB0aGlzLl9oYW5kbGVCbHVyRXZlbnRzKHYpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICApO1xuICAgICAgICAgIHRoaXMuX2NoaWxkRXZlbnRTdWJzLnB1c2goXG4gICAgICAgICAgICByYWRpby5mb2N1c0V2ZW50LnN1YnNjcmliZSh2ID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5faGFuZGxlRm9jdXNFdmVudHModik7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICk7XG4gICAgICAgICAgdGhpcy5fY2hpbGRFdmVudFN1YnMucHVzaChcbiAgICAgICAgICAgIHJhZGlvLnNlbGVjdGVkQ2hhbmdlLnN1YnNjcmliZSgodjogYm9vbGVhbikgPT4ge1xuICAgICAgICAgICAgICBpZiAoIXYpIHJldHVybjtcbiAgICAgICAgICAgICAgdGhpcy5faGFuZGxlQ2hhbmdlRXZlbnRzKHJhZGlvKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfVxuICAgICk7XG4gIH1cblxuICAvLyEgdmFsdWVcbiAgQElucHV0KClcbiAgZ2V0IHZhbHVlKCk6IGFueSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWQoKT8udmFsdWUoKTtcbiAgfVxuICBzZXQgdmFsdWUodjogYW55KSB7XG4gICAgdGhpcy53cml0ZVZhbHVlKHYpO1xuICB9XG5cbiAgcmVhZG9ubHkgdmFsdWVDaGFuZ2UgPSBvdXRwdXQ8YW55PigpO1xuICByZWFkb25seSBjaGFuZ2VFdmVudCA9IG91dHB1dDxhbnk+KHsgYWxpYXM6ICdjaGFuZ2UnIH0pO1xuXG4gIHByaXZhdGUgX3ZhbHVlQmVmb3JlSW5pdDogYW55O1xuICB3cml0ZVZhbHVlKHY6IGFueSk6IHZvaWQge1xuICAgIGlmICh0aGlzLnZhbHVlICE9PSB2KSB7XG4gICAgICBpZiAoIXRoaXMuX2lzQ29udGVudEluaXQpIHtcbiAgICAgICAgdGhpcy5fdmFsdWVCZWZvcmVJbml0ID0gdjtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0aGlzLl9maW5kUmFkaW9CeVZhbHVlKHYpO1xuICAgIH1cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuX3VwZGF0ZVJhZGlvc0J5VmFsdWUoKTtcbiAgICB9LCAwKTtcbiAgfVxuXG4gIHByaXZhdGUgX2ZpbmRSYWRpb0J5VmFsdWUodjogYW55KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9yYWRpb3MpIHJldHVybjtcblxuICAgIHRoaXMuc2VsZWN0ZWQuc2V0KHRoaXMuX3JhZGlvcygpLmZpbmQocmFkaW8gPT4gdiA9PT0gcmFkaW8udmFsdWUoKSkgPz8gbnVsbCk7XG4gIH1cblxuICAvKiogVXBkYXRlcyBhbGwgY2hpbGQgcmFkaW9zIGRlcGVuZGluZyBvbiB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHJhZGlvLiAqL1xuICBwcml2YXRlIF91cGRhdGVSYWRpb3NCeVZhbHVlKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5faXNDb250ZW50SW5pdCkgcmV0dXJuO1xuXG4gICAgdGhpcy5fcmFkaW9zKCkuZm9yRWFjaChyYWRpbyA9PiB7XG4gICAgICByYWRpby5zZWxlY3RlZC5zZXQodGhpcy52YWx1ZSA9PT0gcmFkaW8udmFsdWUoKSk7XG4gICAgICByYWRpby5tYXJrRm9yQ2hlY2soKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgY3VycmVudGx5IHNlbGVjdGVkIHJhZGlvIGJ1dHRvbi4gSWYgc2V0IHRvIGEgbmV3IHJhZGlvIGJ1dHRvbiwgdGhlIHJhZGlvIGdyb3VwIHZhbHVlXG4gICAqIHdpbGwgYmUgdXBkYXRlZCB0byBtYXRjaCB0aGUgbmV3IHNlbGVjdGVkIGJ1dHRvbi5cbiAgICovXG4gIHJlYWRvbmx5IHNlbGVjdGVkID0gbW9kZWw8TnVsbGFibGU8QXJkaXVtUmFkaW9Db21wb25lbnQ+PihudWxsKTtcblxuICBwcml2YXRlIF9jaGVja1NlbGVjdGVkUmFkaW9CdXR0b24oKSB7XG4gICAgY29uc3QgcyA9IHRoaXMuc2VsZWN0ZWQoKTtcbiAgICBpZiAocyAmJiAhcy5zZWxlY3RlZCgpKSB7XG4gICAgICBzLnNlbGVjdGVkLnNldCh0cnVlKTtcbiAgICAgIHMubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgLy8hIG5hbWVcbiAgLyoqIE5hbWUgb2YgdGhlIHJhZGlvIGJ1dHRvbiBncm91cC4gQWxsIHJhZGlvIGJ1dHRvbnMgaW5zaWRlIHRoaXMgZ3JvdXAgd2lsbCB1c2UgdGhpcyBuYW1lLiAqL1xuICByZWFkb25seSBuYW1lID0gaW5wdXQ8c3RyaW5nPihSYW5kb20uaWQoKSk7XG5cbiAgcHJpdmF0ZSBfdXBkYXRlUmFkaW9CdXR0b25OYW1lcygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fcmFkaW9zKCkpIHtcbiAgICAgIHRoaXMuX3JhZGlvcygpLmZvckVhY2gocmFkaW8gPT4ge1xuICAgICAgICByYWRpby5uYW1lLnNldCh0aGlzLm5hbWUoKSk7XG4gICAgICAgIHJhZGlvLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLy8hIHVwZGF0ZSBoYW5kbGVyc1xuICBwcml2YXRlIF9oYW5kbGVCbHVyRXZlbnRzKGV2ZW50OiBGb2N1c0V2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5vbkJsdXIoZXZlbnQpO1xuICB9XG4gIHByaXZhdGUgX2hhbmRsZUZvY3VzRXZlbnRzKGV2ZW50OiBGb2N1c0V2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5vbkZvY3VzKGV2ZW50KTtcbiAgfVxuICBwcml2YXRlIF9oYW5kbGVDaGFuZ2VFdmVudHMoc2VsZWN0ZWQ6IEFyZGl1bVJhZGlvQ29tcG9uZW50KTogdm9pZCB7XG4gICAgdGhpcy53cml0ZVZhbHVlKHNlbGVjdGVkLnZhbHVlKCkpO1xuXG4gICAgdGhpcy5fZW1pdENoYW5nZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIF9lbWl0Q2hhbmdlKCk6IHZvaWQge1xuICAgIGNvbnN0IHYgPSB0aGlzLnZhbHVlO1xuICAgIHRoaXMuX29uQ2hhbmdlUmVnaXN0ZXJlZD8uKHYpO1xuICAgIHRoaXMuY2hhbmdlRXZlbnQuZW1pdCh2KTtcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodik7XG4gIH1cblxuICAvLyEgaG9va3NcbiAgcHJpdmF0ZSBfY2hpbGRFdmVudFN1YnM6IE91dHB1dFJlZlN1YnNjcmlwdGlvbltdID0gW107XG4gIHByaXZhdGUgX2lzQ29udGVudEluaXQgPSBmYWxzZTtcbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX2lzQ29udGVudEluaXQgPSB0cnVlO1xuXG4gICAgaWYgKHRoaXMuX3ZhbHVlQmVmb3JlSW5pdCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLndyaXRlVmFsdWUodGhpcy5fdmFsdWVCZWZvcmVJbml0KTtcbiAgICB9XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuX3VwZGF0ZVJhZGlvQnV0dG9uTmFtZXMoKTtcbiAgICB9LCAwKTtcblxuICAgIC8vc3ViIHRvIGNoaWxkIGNvbXBvbmVudCBldmVudHNcbiAgICBmb3IgKGNvbnN0IHJhZGlvIG9mIHRoaXMuX3JhZGlvcygpKSB7XG4gICAgICB0aGlzLl9jaGlsZEV2ZW50U3Vicy5wdXNoKFxuICAgICAgICByYWRpby5ibHVyRXZlbnQuc3Vic2NyaWJlKHYgPT4ge1xuICAgICAgICAgIHRoaXMuX2hhbmRsZUJsdXJFdmVudHModik7XG4gICAgICAgIH0pXG4gICAgICApO1xuICAgICAgdGhpcy5fY2hpbGRFdmVudFN1YnMucHVzaChcbiAgICAgICAgcmFkaW8uZm9jdXNFdmVudC5zdWJzY3JpYmUodiA9PiB7XG4gICAgICAgICAgdGhpcy5faGFuZGxlRm9jdXNFdmVudHModik7XG4gICAgICAgIH0pXG4gICAgICApO1xuICAgICAgdGhpcy5fY2hpbGRFdmVudFN1YnMucHVzaChcbiAgICAgICAgcmFkaW8uc2VsZWN0ZWRDaGFuZ2Uuc3Vic2NyaWJlKCh2OiBib29sZWFuKSA9PiB7XG4gICAgICAgICAgaWYgKCF2KSByZXR1cm47XG4gICAgICAgICAgdGhpcy5faGFuZGxlQ2hhbmdlRXZlbnRzKHJhZGlvKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuICB9XG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2Rlc3Ryb3lDaGlsZFN1YnNjcmlwdGlvbnMoKTtcbiAgfVxuICBwcml2YXRlIF9kZXN0cm95Q2hpbGRTdWJzY3JpcHRpb25zKCk6IHZvaWQge1xuICAgIGZvciAoY29uc3Qgc3ViIG9mIHRoaXMuX2NoaWxkRXZlbnRTdWJzKSB7XG4gICAgICBzdWIudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gICAgdGhpcy5fY2hpbGRFdmVudFN1YnMgPSBbXTtcbiAgfVxufVxuIl19
194
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9yYWRpby9yYWRpby1ncm91cC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsV0FBVyxFQUNYLEtBQUssRUFHTCxpQkFBaUIsRUFDakIsZUFBZSxFQUNmLE1BQU0sRUFDTixVQUFVLEVBQ1YsS0FBSyxFQUNMLEtBQUssRUFDTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsSUFBSSxNQUFNLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFbEcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBc0IvRCxNQUFNLE9BQU8seUJBQTBCLFNBQVEscUJBQXFCO0lBR2xFLElBQ0ksb0JBQW9CO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRDtRQUNFLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLENBQUMsb0RBQW9EO1FBUnZFLFlBQU8sR0FBRyxlQUFlLENBQXVCLG9CQUFvQixFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFvRXJHLGdCQUFXLEdBQUcsTUFBTSxFQUFPLENBQUM7UUFDNUIsZ0JBQVcsR0FBRyxNQUFNLENBQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztRQWlDeEQ7OztXQUdHO1FBQ00sYUFBUSxHQUFHLEtBQUssQ0FBaUMsSUFBSSxDQUFDLENBQUM7UUFVaEUsUUFBUTtRQUNS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LFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsSUFBSSxFQUFFO3dCQUNKLGlCQUFpQixFQUFFLE1BQU07d0JBQ3pCLG1CQUFtQixFQUFFLE1BQU07d0JBQzNCLHdCQUF3QixFQUFFLE1BQU07d0JBQ2hDLHlCQUF5QixFQUFFLE1BQU07d0JBQ2pDLElBQUksRUFBRSxZQUFZO3FCQUNuQjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsMEJBQTBCLENBQUM7NEJBQ3hELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO2lCQUNGO3dEQUtLLG9CQUFvQjtzQkFEdkIsV0FBVzt1QkFBQyxTQUFTO2dCQTJEbEIsS0FBSztzQkFEUixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dFJlZlN1YnNjcmlwdGlvbixcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIGNvbnRlbnRDaGlsZHJlbixcbiAgZWZmZWN0LFxuICBmb3J3YXJkUmVmLFxuICBpbnB1dCxcbiAgbW9kZWwsXG4gIG91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRha2VDaGFuY2UgYXMgUmFuZG9tIH0gZnJvbSAndGFrZS1jaGFuY2UnO1xuaW1wb3J0IHsgX05nTW9kZWxDb21wb25lbnRCYXNlLCBfbmdNb2RlbENvbXBvbmVudERlZmF1bHRzIH0gZnJvbSAnLi4vX2ludGVybmFsL25nbW9kZWwtY29tcG9uZW50JztcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnLi4vdHlwZXMvdXRpbGl0eS50eXBlcyc7XG5pbXBvcnQgeyBBcmRpdW1SYWRpb0NvbXBvbmVudCB9IGZyb20gJy4vcmFkaW8vcmFkaW8uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXJkLXJhZGlvLWdyb3VwJyxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHtcbiAgICAnW2F0dHIudGFiaW5kZXhdJzogJ251bGwnLFxuICAgICdbYXR0ci5hcmlhLWxhYmVsXSc6ICdudWxsJyxcbiAgICAnW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XSc6ICdudWxsJyxcbiAgICAnW2F0dHIuYXJpYS1kZXNjcmliZWRieV0nOiAnbnVsbCcsXG4gICAgcm9sZTogJ3JhZGlvZ3JvdXAnLFxuICB9LFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEFyZGl1bVJhZGlvR3JvdXBDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQXJkaXVtUmFkaW9Hcm91cENvbXBvbmVudCBleHRlbmRzIF9OZ01vZGVsQ29tcG9uZW50QmFzZSBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3JhZGlvcyA9IGNvbnRlbnRDaGlsZHJlbjxBcmRpdW1SYWRpb0NvbXBvbmVudD4oQXJkaXVtUmFkaW9Db21wb25lbnQsIHsgZGVzY2VuZGFudHM6IHRydWUgfSk7XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmlkJylcbiAgZ2V0IF9odG1sSWRIb3N0QXR0cmlidXRlKCkge1xuICAgIHJldHVybiB0aGlzLmh0bWxJZCgpO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoX25nTW9kZWxDb21wb25lbnREZWZhdWx0cyk7IC8vIG5vIG5lZWQgZm9yIGluamVjdGluZyBhIHRva2VuIHdpdGggZGVmYXVsdCB2YWx1ZXNcblxuICAgIGVmZmVjdChcbiAgICAgICgpID0+IHtcbiAgICAgICAgdGhpcy5uYW1lKCk7XG4gICAgICAgIHRoaXMuX3VwZGF0ZVJhZGlvQnV0dG9uTmFtZXMoKTtcbiAgICAgIH0sXG4gICAgICB7IGFsbG93U2lnbmFsV3JpdGVzOiB0cnVlIH1cbiAgICApO1xuICAgIGVmZmVjdChcbiAgICAgICgpID0+IHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZCgpO1xuICAgICAgICB0aGlzLl9jaGVja1NlbGVjdGVkUmFkaW9CdXR0b24oKTtcbiAgICAgIH0sXG4gICAgICB7IGFsbG93U2lnbmFsV3JpdGVzOiB0cnVlIH1cbiAgICApO1xuICAgIGVmZmVjdChcbiAgICAgICgpID0+IHtcbiAgICAgICAgY29uc3QgcmFkaW9zID0gdGhpcy5fcmFkaW9zKCk7XG4gICAgICAgIGlmICghcmFkaW9zKSByZXR1cm47XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5fdXBkYXRlUmFkaW9CdXR0b25OYW1lcygpO1xuICAgICAgICB9LCAwKTtcblxuICAgICAgICB0aGlzLl9kZXN0cm95Q2hpbGRTdWJzY3JpcHRpb25zKCk7XG5cbiAgICAgICAgLy9zdWIgdG8gY2hpbGQgY29tcG9uZW50IGV2ZW50c1xuICAgICAgICBmb3IgKGNvbnN0IHJhZGlvIG9mIHJhZGlvcykge1xuICAgICAgICAgIHRoaXMuX2NoaWxkRXZlbnRTdWJzLnB1c2goXG4gICAgICAgICAgICByYWRpby5ibHVyRXZlbnQuc3Vic2NyaWJlKHYgPT4ge1xuICAgICAgICAgICAgICB0aGlzLl9oYW5kbGVCbHVyRXZlbnRzKHYpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICApO1xuICAgICAgICAgIHRoaXMuX2NoaWxkRXZlbnRTdWJzLnB1c2goXG4gICAgICAgICAgICByYWRpby5mb2N1c0V2ZW50LnN1YnNjcmliZSh2ID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5faGFuZGxlRm9jdXNFdmVudHModik7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICk7XG4gICAgICAgICAgdGhpcy5fY2hpbGRFdmVudFN1YnMucHVzaChcbiAgICAgICAgICAgIHJhZGlvLnNlbGVjdGVkQ2hhbmdlLnN1YnNjcmliZSgodjogYm9vbGVhbikgPT4ge1xuICAgICAgICAgICAgICBpZiAoIXYpIHJldHVybjtcbiAgICAgICAgICAgICAgdGhpcy5faGFuZGxlQ2hhbmdlRXZlbnRzKHJhZGlvKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfVxuICAgICk7XG4gIH1cblxuICAvLyEgdmFsdWVcbiAgQElucHV0KClcbiAgZ2V0IHZhbHVlKCk6IGFueSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWQoKT8udmFsdWUoKTtcbiAgfVxuICBzZXQgdmFsdWUodjogYW55KSB7XG4gICAgdGhpcy53cml0ZVZhbHVlKHYpO1xuICB9XG5cbiAgcmVhZG9ubHkgdmFsdWVDaGFuZ2UgPSBvdXRwdXQ8YW55PigpO1xuICByZWFkb25seSBjaGFuZ2VFdmVudCA9IG91dHB1dDxhbnk+KHsgYWxpYXM6ICdjaGFuZ2UnIH0pO1xuXG4gIHByaXZhdGUgX3ZhbHVlQmVmb3JlSW5pdDogYW55O1xuICB3cml0ZVZhbHVlKHY6IGFueSk6IHZvaWQge1xuICAgIGlmICh0aGlzLnZhbHVlICE9PSB2KSB7XG4gICAgICBpZiAoIXRoaXMuX2lzQ29udGVudEluaXQpIHtcbiAgICAgICAgdGhpcy5fdmFsdWVCZWZvcmVJbml0ID0gdjtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0aGlzLl9maW5kUmFkaW9CeVZhbHVlKHYpO1xuICAgIH1cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuX3VwZGF0ZVJhZGlvc0J5VmFsdWUoKTtcbiAgICB9LCAwKTtcbiAgfVxuXG4gIHByaXZhdGUgX2ZpbmRSYWRpb0J5VmFsdWUodjogYW55KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9yYWRpb3MpIHJldHVybjtcblxuICAgIHRoaXMuc2VsZWN0ZWQuc2V0KHRoaXMuX3JhZGlvcygpLmZpbmQocmFkaW8gPT4gdiA9PT0gcmFkaW8udmFsdWUoKSkgPz8gbnVsbCk7XG4gIH1cblxuICAvKiogVXBkYXRlcyBhbGwgY2hpbGQgcmFkaW9zIGRlcGVuZGluZyBvbiB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHJhZGlvLiAqL1xuICBwcml2YXRlIF91cGRhdGVSYWRpb3NCeVZhbHVlKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5faXNDb250ZW50SW5pdCkgcmV0dXJuO1xuXG4gICAgdGhpcy5fcmFkaW9zKCkuZm9yRWFjaChyYWRpbyA9PiB7XG4gICAgICByYWRpby5zZWxlY3RlZC5zZXQodGhpcy52YWx1ZSA9PT0gcmFkaW8udmFsdWUoKSk7XG4gICAgICByYWRpby5tYXJrRm9yQ2hlY2soKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgY3VycmVudGx5IHNlbGVjdGVkIHJhZGlvIGJ1dHRvbi4gSWYgc2V0IHRvIGEgbmV3IHJhZGlvIGJ1dHRvbiwgdGhlIHJhZGlvIGdyb3VwIHZhbHVlXG4gICAqIHdpbGwgYmUgdXBkYXRlZCB0byBtYXRjaCB0aGUgbmV3IHNlbGVjdGVkIGJ1dHRvbi5cbiAgICovXG4gIHJlYWRvbmx5IHNlbGVjdGVkID0gbW9kZWw8TnVsbGFibGU8QXJkaXVtUmFkaW9Db21wb25lbnQ+PihudWxsKTtcblxuICBwcml2YXRlIF9jaGVja1NlbGVjdGVkUmFkaW9CdXR0b24oKSB7XG4gICAgY29uc3QgcyA9IHRoaXMuc2VsZWN0ZWQoKTtcbiAgICBpZiAocyAmJiAhcy5zZWxlY3RlZCgpKSB7XG4gICAgICBzLnNlbGVjdGVkLnNldCh0cnVlKTtcbiAgICAgIHMubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgLy8hIG5hbWVcbiAgLyoqIE5hbWUgb2YgdGhlIHJhZGlvIGJ1dHRvbiBncm91cC4gQWxsIHJhZGlvIGJ1dHRvbnMgaW5zaWRlIHRoaXMgZ3JvdXAgd2lsbCB1c2UgdGhpcyBuYW1lLiAqL1xuICByZWFkb25seSBuYW1lID0gaW5wdXQ8c3RyaW5nPihSYW5kb20uaWQoKSk7XG5cbiAgcHJpdmF0ZSBfdXBkYXRlUmFkaW9CdXR0b25OYW1lcygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fcmFkaW9zKCkpIHtcbiAgICAgIHRoaXMuX3JhZGlvcygpLmZvckVhY2gocmFkaW8gPT4ge1xuICAgICAgICByYWRpby5uYW1lLnNldCh0aGlzLm5hbWUoKSk7XG4gICAgICAgIHJhZGlvLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLy8hIHVwZGF0ZSBoYW5kbGVyc1xuICBwcml2YXRlIF9oYW5kbGVCbHVyRXZlbnRzKGV2ZW50OiBGb2N1c0V2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5vbkJsdXIoZXZlbnQpO1xuICB9XG4gIHByaXZhdGUgX2hhbmRsZUZvY3VzRXZlbnRzKGV2ZW50OiBGb2N1c0V2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5vbkZvY3VzKGV2ZW50KTtcbiAgfVxuICBwcml2YXRlIF9oYW5kbGVDaGFuZ2VFdmVudHMoc2VsZWN0ZWQ6IEFyZGl1bVJhZGlvQ29tcG9uZW50KTogdm9pZCB7XG4gICAgdGhpcy53cml0ZVZhbHVlKHNlbGVjdGVkLnZhbHVlKCkpO1xuXG4gICAgdGhpcy5fZW1pdENoYW5nZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIF9lbWl0Q2hhbmdlKCk6IHZvaWQge1xuICAgIGNvbnN0IHYgPSB0aGlzLnZhbHVlO1xuICAgIHRoaXMuX29uQ2hhbmdlUmVnaXN0ZXJlZD8uKHYpO1xuICAgIHRoaXMuY2hhbmdlRXZlbnQuZW1pdCh2KTtcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodik7XG4gIH1cblxuICAvLyEgaG9va3NcbiAgcHJpdmF0ZSBfY2hpbGRFdmVudFN1YnM6IE91dHB1dFJlZlN1YnNjcmlwdGlvbltdID0gW107XG4gIHByaXZhdGUgX2lzQ29udGVudEluaXQgPSBmYWxzZTtcbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX2lzQ29udGVudEluaXQgPSB0cnVlO1xuXG4gICAgaWYgKHRoaXMuX3ZhbHVlQmVmb3JlSW5pdCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLndyaXRlVmFsdWUodGhpcy5fdmFsdWVCZWZvcmVJbml0KTtcbiAgICB9XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuX3VwZGF0ZVJhZGlvQnV0dG9uTmFtZXMoKTtcbiAgICB9LCAwKTtcblxuICAgIC8vc3ViIHRvIGNoaWxkIGNvbXBvbmVudCBldmVudHNcbiAgICBmb3IgKGNvbnN0IHJhZGlvIG9mIHRoaXMuX3JhZGlvcygpKSB7XG4gICAgICB0aGlzLl9jaGlsZEV2ZW50U3Vicy5wdXNoKFxuICAgICAgICByYWRpby5ibHVyRXZlbnQuc3Vic2NyaWJlKHYgPT4ge1xuICAgICAgICAgIHRoaXMuX2hhbmRsZUJsdXJFdmVudHModik7XG4gICAgICAgIH0pXG4gICAgICApO1xuICAgICAgdGhpcy5fY2hpbGRFdmVudFN1YnMucHVzaChcbiAgICAgICAgcmFkaW8uZm9jdXNFdmVudC5zdWJzY3JpYmUodiA9PiB7XG4gICAgICAgICAgdGhpcy5faGFuZGxlRm9jdXNFdmVudHModik7XG4gICAgICAgIH0pXG4gICAgICApO1xuICAgICAgdGhpcy5fY2hpbGRFdmVudFN1YnMucHVzaChcbiAgICAgICAgcmFkaW8uc2VsZWN0ZWRDaGFuZ2Uuc3Vic2NyaWJlKCh2OiBib29sZWFuKSA9PiB7XG4gICAgICAgICAgaWYgKCF2KSByZXR1cm47XG4gICAgICAgICAgdGhpcy5faGFuZGxlQ2hhbmdlRXZlbnRzKHJhZGlvKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuICB9XG4gIG92ZXJyaWRlIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgdGhpcy5fZGVzdHJveUNoaWxkU3Vic2NyaXB0aW9ucygpO1xuICB9XG4gIHByaXZhdGUgX2Rlc3Ryb3lDaGlsZFN1YnNjcmlwdGlvbnMoKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBzdWIgb2YgdGhpcy5fY2hpbGRFdmVudFN1YnMpIHtcbiAgICAgIHN1Yi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgICB0aGlzLl9jaGlsZEV2ZW50U3VicyA9IFtdO1xuICB9XG59XG4iXX0=
@@ -17,6 +17,7 @@ export class ArdiumRangeSliderComponent extends _AbstractSlider {
17
17
  this.currentHandle = signal(null);
18
18
  }
19
19
  ngOnInit() {
20
+ super.ngOnInit();
20
21
  if (this._value.low !== -Infinity && this._value.high !== Infinity)
21
22
  return;
22
23
  this.writeValue({ low: this.min(), high: this.max() });
@@ -147,4 +148,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
147
148
  type: HostListener,
148
149
  args: ['document:touchmove', ['$event']]
149
150
  }] } });
150
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2Utc2xpZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvc2xpZGVyL3JhbmdlLXNsaWRlci9yYW5nZS1zbGlkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9zbGlkZXIvcmFuZ2Utc2xpZGVyL3JhbmdlLXNsaWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQVUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLG1CQUFtQixFQUFxQixNQUFNLG9CQUFvQixDQUFDOzs7QUFVNUUsTUFBTSxPQUFPLDBCQUEyQixTQUFRLGVBQTRCO0lBSzFFLFlBQXlDLFFBQTJCO1FBQ2xFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUxULGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLGtCQUFhLEdBQUcsY0FBYyxDQUFDO1FBTzlCLFdBQU0sR0FBZ0IsRUFBRSxHQUFHLEVBQUUsQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDO1FBbURuRSxtQkFBbUI7UUFDbkIsa0JBQWEsR0FBaUMsSUFBSSxDQUFDLEtBQUssQ0FBQztRQW1FekQseUJBQXlCO1FBQ2hCLGtCQUFhLEdBQUcsTUFBTSxDQUFlLElBQUksQ0FBQyxDQUFDO0lBMUhwRCxDQUFDO0lBSUQsUUFBUTtRQUNOLElBQUks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ImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEhvc3RMaXN0ZW5lciwgSW5qZWN0LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uLCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHJvdW5kVG9QcmVjaXNpb24gfSBmcm9tICdtb3JlLXJvdW5kaW5nJztcbmltcG9ydCB7IGlzTnVtYmVyLCBpc09iamVjdCB9IGZyb20gJ3NpbXBsZS1ib29sJztcbmltcG9ydCB7IF9BYnN0cmFjdFNsaWRlciB9IGZyb20gJy4uL2Fic3RyYWN0LXNsaWRlcic7XG5pbXBvcnQgeyBBUkRfU0xJREVSX0RFRkFVTFRTLCBBcmRTbGlkZXJEZWZhdWx0cyB9IGZyb20gJy4uL3NsaWRlci5kZWZhdWx0cyc7XG5pbXBvcnQgeyBTbGlkZXJSYW5nZSwgU2xpZGVyVG9vbHRpcENvbnRleHQgfSBmcm9tICcuLi9zbGlkZXIudHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcmQtcmFuZ2Utc2xpZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JhbmdlLXNsaWRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JhbmdlLXNsaWRlci5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQXJkaXVtUmFuZ2VTbGlkZXJDb21wb25lbnQgZXh0ZW5kcyBfQWJzdHJhY3RTbGlkZXI8U2xpZGVyUmFuZ2U+IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcmVhZG9ubHkgY29tcG9uZW50SWQgPSAnMTA2JztcbiAgcmVhZG9ubHkgY29tcG9uZW50TmFtZSA9ICdyYW5nZS1zbGlkZXInO1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZWFkb25seSBfREVGQVVMVFMhOiBBcmRTbGlkZXJEZWZhdWx0cztcbiAgY29uc3RydWN0b3IoQEluamVjdChBUkRfU0xJREVSX0RFRkFVTFRTKSBkZWZhdWx0czogQXJkU2xpZGVyRGVmYXVsdHMpIHtcbiAgICBzdXBlcihkZWZhdWx0cyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgX3ZhbHVlOiBTbGlkZXJSYW5nZSA9IHsgbG93OiAtSW5maW5pdHksIGhpZ2g6IEluZmluaXR5IH07XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3ZhbHVlLmxvdyAhPT0gLUluZmluaXR5ICYmIHRoaXMuX3ZhbHVlLmhpZ2ggIT09IEluZmluaXR5KSByZXR1cm47XG5cbiAgICB0aGlzLndyaXRlVmFsdWUoeyBsb3c6IHRoaXMubWluKCksIGhpZ2g6IHRoaXMubWF4KCkgfSk7XG4gIH1cblxuICAvLyEgd3JpdGVWYWx1ZVxuICBwcml2YXRlIF9pc1ZhbGlkT2JqZWN0KHY6IGFueSk6IHYgaXMgU2xpZGVyUmFuZ2Uge1xuICAgIHJldHVybiBpc09iamVjdCh2KSAmJiBpc051bWJlcih2Wydsb3cnXSkgJiYgaXNOdW1iZXIodlsnaGlnaCddKTtcbiAgfVxuICBwcml2YXRlIF9pc1ZhbGlkVHVwbGUodjogYW55KTogdiBpcyBbbnVtYmVyLCBudW1iZXJdIHtcbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheSh2KSAmJiBpc051bWJlcih2WzBdKSAmJiBpc051bWJlcih2WzFdKSAmJiB2Lmxlbmd0aCA9PT0gMjtcbiAgfVxuICBwcml2YXRlIF9hcnJheVZhbHVlVG9PYmplY3RWYWx1ZSh2OiBbbnVtYmVyLCBudW1iZXJdKTogU2xpZGVyUmFuZ2Uge1xuICAgIHJldHVybiB7IGxvdzogdlswXSwgaGlnaDogdlsxXSB9O1xuICB9XG4gIHByaXZhdGUgX25vcm1hbGl6ZVNsaWRlclJhbmdlKHY6IFNsaWRlclJhbmdlKTogU2xpZGVyUmFuZ2Uge1xuICAgIGlmICh2LmxvdyA8PSB2LmhpZ2gpIHJldHVybiB2O1xuICAgIHJldHVybiB7IGxvdzogdi5oaWdoLCBoaWdoOiB2LmxvdyB9O1xuICB9XG4gIHdyaXRlVmFsdWUodjogYW55KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9pc1ZhbGlkT2JqZWN0KHYpICYmICF0aGlzLl9pc1ZhbGlkVHVwbGUodikpIHtcbiAgICAgIHRoaXMucmVzZXQoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgbGV0IGxvdyA9IC1JbmZpbml0eTtcbiAgICBsZXQgaGlnaCA9IEluZmluaXR5O1xuICAgIGlmICh0aGlzLl9pc1ZhbGlkT2JqZWN0KHYpKSB7XG4gICAgICBsb3cgPSB2LmxvdztcbiAgICAgIGhpZ2ggPSB2LmhpZ2g7XG4gICAgfSBlbHNlIGlmICh0aGlzLl9pc1ZhbGlkVHVwbGUodikpIHtcbiAgICAgIGxvdyA9IHZbMF07XG4gICAgICBoaWdoID0gdlsxXTtcbiAgICB9XG4gICAgY29uc3QgbG93Q2xhbXBlZCA9IHRoaXMuX2NsYW1wVmFsdWUobG93KTtcbiAgICBjb25zdCBoaWdoQ2xhbXBlZCA9IHRoaXMuX2NsYW1wVmFsdWUoaGlnaCk7XG4gICAgY29uc3QgdmFsdWU6IFNsaWRlclJhbmdlID0gdGhpcy5fYXJyYXlWYWx1ZVRvT2JqZWN0VmFsdWUoW2xvd0NsYW1wZWQsIGhpZ2hDbGFtcGVkXSk7XG4gICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgICB0aGlzLl9wb3NpdGlvblBlcmNlbnRbMF0gPSB0aGlzLl92YWx1ZVRvUGVyY2VudChsb3dDbGFtcGVkKTtcbiAgICB0aGlzLl9wb3NpdGlvblBlcmNlbnRbMV0gPSB0aGlzLl92YWx1ZVRvUGVyY2VudChoaWdoQ2xhbXBlZCk7XG4gICAgdGhpcy5fdXBkYXRlVG9vbHRpcFZhbHVlKCk7XG4gIH1cbiAgb3ZlcnJpZGUgZ2V0IHZhbHVlKCk6IFNsaWRlclJhbmdlIHtcbiAgICByZXR1cm4gdGhpcy5fbm9ybWFsaXplU2xpZGVyUmFuZ2UodGhpcy5fdmFsdWUpO1xuICB9XG4gIG92ZXJyaWRlIHNldCB2YWx1ZSh2OiBhbnkpIHtcbiAgICB0aGlzLndyaXRlVmFsdWUodik7XG4gIH1cblxuICAvLyEgdG9vbHRpcCB1cGRhdGVyXG4gIF90b29sdGlwVmFsdWU6IFNsaWRlclJhbmdlPHN0cmluZyB8IG51bWJlcj4gPSB0aGlzLnZhbHVlO1xuXG4gIHByb3RlY3RlZCBfdXBkYXRlVG9vbHRpcFZhbHVlKCk6IHZvaWQge1xuICAgIGNvbnN0IHY6IFNsaWRlclJhbmdlPHN0cmluZyB8IG51bWJlcj4gPSBPYmplY3QuY3JlYXRlKHRoaXMuX3ZhbHVlKTtcbiAgICBjb25zdCBmb3JtYXRGbiA9IHRoaXMudG9vbHRpcEZvcm1hdEZuKCk7XG4gICAgaWYgKGZvcm1hdEZuKSB7XG4gICAgICB2LmxvdyA9IGZvcm1hdEZuKHYubG93IGFzIG51bWJlcik7XG4gICAgICB2LmhpZ2ggPSBmb3JtYXRGbih2LmhpZ2ggYXMgbnVtYmVyKTtcbiAgICB9XG4gICAgdGhpcy5fdG9vbHRpcFZhbHVlID0gdjtcbiAgfVxuXG4gIGdldFRvb2x0aXBDb250ZXh0KHR5cGU6ICdsb3cnIHwgJ2hpZ2gnKTogU2xpZGVyVG9vbHRpcENvbnRleHQge1xuICAgIHJldHVybiB7XG4gICAgICB2YWx1ZTogdGhpcy5fdG9vbHRpcFZhbHVlW3R5cGVdLFxuICAgICAgJGltcGxpY2l0OiB0aGlzLl90b29sdGlwVmFsdWVbdHlwZV0sXG4gICAgfTtcbiAgfVxuXG4gIC8vISBtZXRob2RzIGZvciBwcm9ncmFtbWF0aWMgbWFuaXB1bGF0aW9uXG4gIHJlc2V0KCk6IHZvaWQge1xuICAgIHRoaXMuX3ZhbHVlID0geyBsb3c6IC1JbmZpbml0eSwgaGlnaDogSW5maW5pdHkgfTtcbiAgICB0aGlzLl9wb3NpdGlvblBlcmNlbnRbMF0gPSAwO1xuICAgIHRoaXMuX3Bvc2l0aW9uUGVyY2VudFsxXSA9IDE7XG4gIH1cblxuICAvLyEgdHJhY2sgb3ZlcmxheSBnZXR0ZXJzXG4gIGdldCB0cmFja092ZXJsYXlMZWZ0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIE1hdGgubWluKC4uLnRoaXMuX3Bvc2l0aW9uUGVyY2VudCkgKiAxMDAgKyAnJSc7XG4gIH1cbiAgZ2V0IHRyYWNrT3ZlcmxheVdpZHRoKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIE1hdGguYWJzKHRoaXMuX3Bvc2l0aW9uUGVyY2VudFswXSAtIHRoaXMuX3Bvc2l0aW9uUGVyY2VudFsxXSEpICogMTAwICsgJyUnO1xuICB9XG5cbiAgLy8hIGV2ZW50IGhhbmRsZXJzXG4gIG9uVHJhY2tIaXRib3hQb2ludGVyRG93bihldmVudDogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLl93cml0ZVZhbHVlRnJvbUV2ZW50KGV2ZW50KTtcbiAgICB0aGlzLm9uUG9pbnRlckRvd25PbkhhbmRsZShldmVudCk7XG4gIH1cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6bW91c2Vtb3ZlJywgWyckZXZlbnQnXSlcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6dG91Y2htb3ZlJywgWyckZXZlbnQnXSlcbiAgb25Qb2ludGVyTW92ZShldmVudDogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX3Nob3VsZENoZWNrRm9yTW92ZW1lbnQpIHJldHVybjtcbiAgICBpZiAoIXRoaXMuX2JvZHlIYXNDbGFzcykge1xuICAgICAgdGhpcy5fYm9keUhhc0NsYXNzID0gdHJ1ZTtcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5kb2N1bWVudC5ib2R5LCAnYXJkLXByZXZlbnQtdG91Y2gtYWN0aW9ucycpO1xuICAgIH1cbiAgICB0aGlzLl93cml0ZVZhbHVlRnJvbUV2ZW50KGV2ZW50LCB0aGlzLl9ncmFiYmVkSGFuZGxlSWQoKSk7XG4gIH1cblxuICAvLyEgcG9zaXRpb24gY2FsY3VsYXRvcnNcbiAgcHJvdGVjdGVkIF9wZXJjZW50VmFsdWVUb1ZhbHVlKHBlcmNlbnQ6IG51bWJlciwgaGFuZGxlSWQ6IG51bWJlcik6IFNsaWRlclJhbmdlIHtcbiAgICBjb25zdCBtaW5NYXhEaWZmZXJlbmNlID0gTWF0aC5hYnModGhpcy5taW4oKSAtIHRoaXMubWF4KCkpO1xuICAgIGxldCBuZXdWYWwgPSBwZXJjZW50ICogbWluTWF4RGlmZmVyZW5jZSArIHRoaXMubWluKCk7XG4gICAgLy9yb3VuZCB0byA5IGRlY2ltYWwgcGxhY2VzIHRvIGF2b2lkIGZsb2F0aW5nIHBvaW50IGFyaXRobWV0aWMgZXJyb3JzXG4gICAgLy85IGlzIGFuIGFyYml0cmFyeSBudW1iZXIgdGhhdCBqdXN0IHdvcmtzIHdlbGwuIMKvXFxfKOODhClfL8KvXG4gICAgbmV3VmFsID0gcm91bmRUb1ByZWNpc2lvbihuZXdWYWwsIDkpO1xuXG4gICAgY29uc3QgbmV3VmFsT2JqID0geyBsb3c6IHRoaXMuX3ZhbHVlLmxvdywgaGlnaDogdGhpcy5fdmFsdWUuaGlnaCB9O1xuICAgIGlmIChoYW5kbGVJZCA9PT0gMSkge1xuICAgICAgbmV3VmFsT2JqLmxvdyA9IG5ld1ZhbDtcbiAgICB9IGVsc2Uge1xuICAgICAgbmV3VmFsT2JqLmhpZ2ggPSBuZXdWYWw7XG4gICAgfVxuICAgIHJldHVybiBuZXdWYWxPYmo7XG4gIH1cblxuICAvLyEgaGFuZGxlIGZvY3VzIG1vbml0b3JzXG4gIHJlYWRvbmx5IGN1cnJlbnRIYW5kbGUgPSBzaWduYWw8MSB8IDIgfCBudWxsPihudWxsKTtcbiAgb25IYW5kbGVGb2N1cyhldmVudDogRm9jdXNFdmVudCwgaGFuZGxlSWQ6IDEgfCAyKSB7XG4gICAgdGhpcy5vbkZvY3VzKGV2ZW50KTtcblxuICAgIHRoaXMuY3VycmVudEhhbmRsZS5zZXQoaGFuZGxlSWQpO1xuICB9XG4gIG92ZXJyaWRlIG9uQmx1cihldmVudDogRm9jdXNFdmVudCkge1xuICAgIHN1cGVyLm9uQmx1cihldmVudCk7XG4gICAgdGhpcy5jdXJyZW50SGFuZGxlLnNldChudWxsKTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cImFyZC1yYW5nZS1zbGlkZXItY29udGFpbmVyLW1hc3RlclwiXG4gIFtuZ0NsYXNzXT1cIm5nQ2xhc3NlcygpXCJcbiAgW2NsYXNzLmFyZC1zbGlkZXItaGFuZGxlLWdyYWJiZWRdPVwiaXNTbGlkZXJIYW5kbGVHcmFiYmVkKClcIlxuICBbc3R5bGVdPVwieyAnLS1fYXJkLXNsaWRlci10cmFuc2l0aW9uJzogc2xpZGVyVHJhbnNpdGlvbigpIH1cIlxuPlxuICA8ZGl2IGNsYXNzPVwiYXJkLXNsaWRlci1jb250YWluZXJcIj5cbiAgICA8ZGl2XG4gICAgICAjdHJhY2tcbiAgICAgIGNsYXNzPVwiYXJkLXNsaWRlci10cmFja1wiXG4gICAgICAocG9pbnRlcmRvd24pPVwib25UcmFja0hpdGJveFBvaW50ZXJEb3duKCRldmVudClcIlxuICAgID5cbiAgICAgIDxkaXYgY2xhc3M9XCJhcmQtaGl0Ym94XCI+PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXJkLXNsaWRlci10cmFjay1vdmVybGF5IGFyZC1zbGlkZXItdHJhY2staW5hY3RpdmVcIj48L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJhcmQtc2xpZGVyLXRyYWNrLW92ZXJsYXkgYXJkLXNsaWRlci10cmFjay1hY3RpdmVcIlxuICAgICAgICBbc3R5bGVdPVwie1xuICAgICAgICAgIGxlZnQ6IHRyYWNrT3ZlcmxheUxlZnQsXG4gICAgICAgICAgd2lkdGg6IHRyYWNrT3ZlcmxheVdpZHRoXG4gICAgICAgIH1cIlxuICAgICAgPjwvZGl2PlxuICAgICAgQGlmIChzaG93VmFsdWVUaWNrcygpKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhcmQtdmFsdWUtdGljay1jb250YWluZXJcIj5cbiAgICAgICAgICBAZm9yICh0aWNrIG9mIF90aWNrQXJyYXkoKTsgdHJhY2sgdGljaykge1xuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cImFyZC12YWx1ZS10aWNrXCJcbiAgICAgICAgICAgICAgW3N0eWxlXT1cInsgbGVmdDogdGljayB9XCJcbiAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIDwvZGl2PlxuICAgIDxidXR0b25cbiAgICAgICNmb2N1c2FibGVFbGVtZW50XG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIGNsYXNzPVwiYXJkLXNsaWRlci1oYW5kbGVcIlxuICAgICAgW3RhYmluZGV4XT1cInRhYkluZGV4KClcIlxuICAgICAgW2NsYXNzLmFyZC1ncmFiYmVkXT1cImlzU2xpZGVySGFuZGxlR3JhYmJlZCgpICYmIGN1cnJlbnRIYW5kbGUoKSA9PT0gMVwiXG4gICAgICAocG9pbnRlcmRvd24pPVwib25Qb2ludGVyRG93bk9uSGFuZGxlKCRldmVudCwgMSlcIlxuICAgICAgKGZvY3VzKT1cIm9uSGFuZGxlRm9jdXMoJGV2ZW50LCAxKVwiXG4gICAgICAoYmx1cik9XCJvbkJsdXIoJGV2ZW50KVwiXG4gICAgICBbc3R5bGVdPVwieyBsZWZ0OiBnZXRIYW5kbGVQb3NpdGlvbigxKSB9XCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXJkLWZvY3VzLW92ZXJsYXlcIj48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJhcmQtaGl0Ym94XCI+PC9kaXY+XG4gICAgPC9idXR0b24+XG4gICAgQGlmICh0b29sdGlwQmVoYXZpb3IoKSAhPT0gJ25ldmVyJykge1xuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImFyZC1zbGlkZXItdG9vbHRpcC13cmFwcGVyXCJcbiAgICAgICAgW2NsYXNzLmFyZC10b29sdGlwLWFsd2F5c109XCJ0b29sdGlwQmVoYXZpb3IoKSA9PT0gJ2Fsd2F5cydcIlxuICAgICAgICBbc3R5bGVdPVwieyBsZWZ0OiBnZXRIYW5kbGVQb3NpdGlvbigxKSB9XCJcbiAgICAgID5cbiAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgI2RlZmF1bHRUb29sdGlwVGVtcGxhdGVcbiAgICAgICAgICBsZXQtdmFsdWVcbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJhcmQtc2xpZGVyLXRvb2x0aXBcIj57eyB2YWx1ZSB9fTwvZGl2PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRvb2x0aXBUZW1wbGF0ZSgpPy50ZW1wbGF0ZSB8fCBkZWZhdWx0VG9vbHRpcFRlbXBsYXRlXCJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwiZ2V0VG9vbHRpcENvbnRleHQoJ2xvdycpXCJcbiAgICAgICAgPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9kaXY+XG4gICAgfVxuICAgIDxidXR0b25cbiAgICAgICNmb2N1c2FibGVFbGVtZW50XG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIGNsYXNzPVwiYXJkLXNsaWRlci1oYW5kbGVcIlxuICAgICAgW3RhYmluZGV4XT1cInRhYkluZGV4KClcIlxuICAgICAgW2NsYXNzLmFyZC1ncmFiYmVkXT1cImlzU2xpZGVySGFuZGxlR3JhYmJlZCgpICYmIGN1cnJlbnRIYW5kbGUoKSA9PT0gMlwiXG4gICAgICAocG9pbnRlcmRvd24pPVwib25Qb2ludGVyRG93bk9uSGFuZGxlKCRldmVudCwgMilcIlxuICAgICAgKGZvY3VzKT1cIm9uSGFuZGxlRm9jdXMoJGV2ZW50LCAyKVwiXG4gICAgICAoYmx1cik9XCJvbkJsdXIoJGV2ZW50KVwiXG4gICAgICBbc3R5bGVdPVwieyBsZWZ0OiBnZXRIYW5kbGVQb3NpdGlvbigyKSB9XCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXJkLWZvY3VzLW92ZXJsYXlcIj48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJhcmQtaGl0Ym94XCI+PC9kaXY+XG4gICAgPC9idXR0b24+XG4gICAgQGlmICh0b29sdGlwQmVoYXZpb3IoKSAhPT0gJ25ldmVyJykge1xuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImFyZC1zbGlkZXItdG9vbHRpcC13cmFwcGVyXCJcbiAgICAgICAgW2NsYXNzLmFyZC10b29sdGlwLWFsd2F5c109XCJ0b29sdGlwQmVoYXZpb3IoKSA9PT0gJ2Fsd2F5cydcIlxuICAgICAgICBbc3R5bGVdPVwieyBsZWZ0OiBnZXRIYW5kbGVQb3NpdGlvbigyKSB9XCJcbiAgICAgID5cbiAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgI2RlZmF1bHRUb29sdGlwVGVtcGxhdGVcbiAgICAgICAgICBsZXQtdmFsdWVcbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJhcmQtc2xpZGVyLXRvb2x0aXBcIj57eyB2YWx1ZSB9fTwvZGl2PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRvb2x0aXBUZW1wbGF0ZSgpPy50ZW1wbGF0ZSB8fCBkZWZhdWx0VG9vbHRpcFRlbXBsYXRlXCJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwiZ2V0VG9vbHRpcENvbnRleHQoJ2hpZ2gnKVwiXG4gICAgICAgID5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgPC9kaXY+XG4gIEBpZiAobGFiZWxPYmplY3RzKCkubGVuZ3RoKSB7XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJhcmQtc2xpZGVyLWxhYmVsLWNvbnRhaW5lclwiXG4gICAgICAqbmdJZj1cImxhYmVsT2JqZWN0cy5sZW5ndGhcIlxuICAgID5cbiAgICAgIEBmb3IgKGxhYmVsIG9mIGxhYmVsT2JqZWN0cygpOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiYXJkLXNsaWRlci1sYWJlbFwiXG4gICAgICAgICAgW3N0eWxlXT1cInsgbGVmdDogbGFiZWwucG9zaXRpb25QZXJjZW50IH1cIlxuICAgICAgICA+XG4gICAgICAgICAge3sgbGFiZWwubGFiZWwgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIH1cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2hhbmRsZVRodW1iQmFzZT5cbiAgPGRpdiBjbGFzcz1cImFyZC1zbGlkZS10aHVtYlwiPjwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
151
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2Utc2xpZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvc2xpZGVyL3JhbmdlLXNsaWRlci9yYW5nZS1zbGlkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9zbGlkZXIvcmFuZ2Utc2xpZGVyL3JhbmdlLXNsaWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQVUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLG1CQUFtQixFQUFxQixNQUFNLG9CQUFvQixDQUFDOzs7QUFVNUUsTUFBTSxPQUFPLDBCQUEyQixTQUFRLGVBQTRCO0lBSzFFLFlBQXlDLFFBQTJCO1FBQ2xFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUxULGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLGtCQUFhLEdBQUcsY0FBYyxDQUFDO1FBTzlCLFdBQU0sR0FBZ0IsRUFBRSxHQUFHLEVBQUUsQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDO1FBb0RuRSxtQkFBbUI7UUFDbkIsa0JBQWEsR0FBaUMsSUFBSSxDQUFDLEtBQUssQ0FBQztRQW1FekQseUJBQXlCO1FBQ2hCLGtCQUFhLEdBQUcsTUFBTSxDQUFlLElBQUksQ0FBQyxDQUFDO0lBM0hwRCxDQUFDO0lBSVEsUUFBUTtRQUNmLEtBQUss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QyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBIb3N0TGlzdGVuZXIsIEluamVjdCwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyByb3VuZFRvUHJlY2lzaW9uIH0gZnJvbSAnbW9yZS1yb3VuZGluZyc7XG5pbXBvcnQgeyBpc051bWJlciwgaXNPYmplY3QgfSBmcm9tICdzaW1wbGUtYm9vbCc7XG5pbXBvcnQgeyBfQWJzdHJhY3RTbGlkZXIgfSBmcm9tICcuLi9hYnN0cmFjdC1zbGlkZXInO1xuaW1wb3J0IHsgQVJEX1NMSURFUl9ERUZBVUxUUywgQXJkU2xpZGVyRGVmYXVsdHMgfSBmcm9tICcuLi9zbGlkZXIuZGVmYXVsdHMnO1xuaW1wb3J0IHsgU2xpZGVyUmFuZ2UsIFNsaWRlclRvb2x0aXBDb250ZXh0IH0gZnJvbSAnLi4vc2xpZGVyLnR5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXJkLXJhbmdlLXNsaWRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9yYW5nZS1zbGlkZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yYW5nZS1zbGlkZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEFyZGl1bVJhbmdlU2xpZGVyQ29tcG9uZW50IGV4dGVuZHMgX0Fic3RyYWN0U2xpZGVyPFNsaWRlclJhbmdlPiBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHJlYWRvbmx5IGNvbXBvbmVudElkID0gJzEwNic7XG4gIHJlYWRvbmx5IGNvbXBvbmVudE5hbWUgPSAncmFuZ2Utc2xpZGVyJztcblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVhZG9ubHkgX0RFRkFVTFRTITogQXJkU2xpZGVyRGVmYXVsdHM7XG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoQVJEX1NMSURFUl9ERUZBVUxUUykgZGVmYXVsdHM6IEFyZFNsaWRlckRlZmF1bHRzKSB7XG4gICAgc3VwZXIoZGVmYXVsdHMpO1xuICB9XG5cbiAgcHJvdGVjdGVkIF92YWx1ZTogU2xpZGVyUmFuZ2UgPSB7IGxvdzogLUluZmluaXR5LCBoaWdoOiBJbmZpbml0eSB9O1xuXG4gIG92ZXJyaWRlIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgaWYgKHRoaXMuX3ZhbHVlLmxvdyAhPT0gLUluZmluaXR5ICYmIHRoaXMuX3ZhbHVlLmhpZ2ggIT09IEluZmluaXR5KSByZXR1cm47XG5cbiAgICB0aGlzLndyaXRlVmFsdWUoeyBsb3c6IHRoaXMubWluKCksIGhpZ2g6IHRoaXMubWF4KCkgfSk7XG4gIH1cblxuICAvLyEgd3JpdGVWYWx1ZVxuICBwcml2YXRlIF9pc1ZhbGlkT2JqZWN0KHY6IGFueSk6IHYgaXMgU2xpZGVyUmFuZ2Uge1xuICAgIHJldHVybiBpc09iamVjdCh2KSAmJiBpc051bWJlcih2Wydsb3cnXSkgJiYgaXNOdW1iZXIodlsnaGlnaCddKTtcbiAgfVxuICBwcml2YXRlIF9pc1ZhbGlkVHVwbGUodjogYW55KTogdiBpcyBbbnVtYmVyLCBudW1iZXJdIHtcbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheSh2KSAmJiBpc051bWJlcih2WzBdKSAmJiBpc051bWJlcih2WzFdKSAmJiB2Lmxlbmd0aCA9PT0gMjtcbiAgfVxuICBwcml2YXRlIF9hcnJheVZhbHVlVG9PYmplY3RWYWx1ZSh2OiBbbnVtYmVyLCBudW1iZXJdKTogU2xpZGVyUmFuZ2Uge1xuICAgIHJldHVybiB7IGxvdzogdlswXSwgaGlnaDogdlsxXSB9O1xuICB9XG4gIHByaXZhdGUgX25vcm1hbGl6ZVNsaWRlclJhbmdlKHY6IFNsaWRlclJhbmdlKTogU2xpZGVyUmFuZ2Uge1xuICAgIGlmICh2LmxvdyA8PSB2LmhpZ2gpIHJldHVybiB2O1xuICAgIHJldHVybiB7IGxvdzogdi5oaWdoLCBoaWdoOiB2LmxvdyB9O1xuICB9XG4gIHdyaXRlVmFsdWUodjogYW55KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9pc1ZhbGlkT2JqZWN0KHYpICYmICF0aGlzLl9pc1ZhbGlkVHVwbGUodikpIHtcbiAgICAgIHRoaXMucmVzZXQoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgbGV0IGxvdyA9IC1JbmZpbml0eTtcbiAgICBsZXQgaGlnaCA9IEluZmluaXR5O1xuICAgIGlmICh0aGlzLl9pc1ZhbGlkT2JqZWN0KHYpKSB7XG4gICAgICBsb3cgPSB2LmxvdztcbiAgICAgIGhpZ2ggPSB2LmhpZ2g7XG4gICAgfSBlbHNlIGlmICh0aGlzLl9pc1ZhbGlkVHVwbGUodikpIHtcbiAgICAgIGxvdyA9IHZbMF07XG4gICAgICBoaWdoID0gdlsxXTtcbiAgICB9XG4gICAgY29uc3QgbG93Q2xhbXBlZCA9IHRoaXMuX2NsYW1wVmFsdWUobG93KTtcbiAgICBjb25zdCBoaWdoQ2xhbXBlZCA9IHRoaXMuX2NsYW1wVmFsdWUoaGlnaCk7XG4gICAgY29uc3QgdmFsdWU6IFNsaWRlclJhbmdlID0gdGhpcy5fYXJyYXlWYWx1ZVRvT2JqZWN0VmFsdWUoW2xvd0NsYW1wZWQsIGhpZ2hDbGFtcGVkXSk7XG4gICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgICB0aGlzLl9wb3NpdGlvblBlcmNlbnRbMF0gPSB0aGlzLl92YWx1ZVRvUGVyY2VudChsb3dDbGFtcGVkKTtcbiAgICB0aGlzLl9wb3NpdGlvblBlcmNlbnRbMV0gPSB0aGlzLl92YWx1ZVRvUGVyY2VudChoaWdoQ2xhbXBlZCk7XG4gICAgdGhpcy5fdXBkYXRlVG9vbHRpcFZhbHVlKCk7XG4gIH1cbiAgb3ZlcnJpZGUgZ2V0IHZhbHVlKCk6IFNsaWRlclJhbmdlIHtcbiAgICByZXR1cm4gdGhpcy5fbm9ybWFsaXplU2xpZGVyUmFuZ2UodGhpcy5fdmFsdWUpO1xuICB9XG4gIG92ZXJyaWRlIHNldCB2YWx1ZSh2OiBhbnkpIHtcbiAgICB0aGlzLndyaXRlVmFsdWUodik7XG4gIH1cblxuICAvLyEgdG9vbHRpcCB1cGRhdGVyXG4gIF90b29sdGlwVmFsdWU6IFNsaWRlclJhbmdlPHN0cmluZyB8IG51bWJlcj4gPSB0aGlzLnZhbHVlO1xuXG4gIHByb3RlY3RlZCBfdXBkYXRlVG9vbHRpcFZhbHVlKCk6IHZvaWQge1xuICAgIGNvbnN0IHY6IFNsaWRlclJhbmdlPHN0cmluZyB8IG51bWJlcj4gPSBPYmplY3QuY3JlYXRlKHRoaXMuX3ZhbHVlKTtcbiAgICBjb25zdCBmb3JtYXRGbiA9IHRoaXMudG9vbHRpcEZvcm1hdEZuKCk7XG4gICAgaWYgKGZvcm1hdEZuKSB7XG4gICAgICB2LmxvdyA9IGZvcm1hdEZuKHYubG93IGFzIG51bWJlcik7XG4gICAgICB2LmhpZ2ggPSBmb3JtYXRGbih2LmhpZ2ggYXMgbnVtYmVyKTtcbiAgICB9XG4gICAgdGhpcy5fdG9vbHRpcFZhbHVlID0gdjtcbiAgfVxuXG4gIGdldFRvb2x0aXBDb250ZXh0KHR5cGU6ICdsb3cnIHwgJ2hpZ2gnKTogU2xpZGVyVG9vbHRpcENvbnRleHQge1xuICAgIHJldHVybiB7XG4gICAgICB2YWx1ZTogdGhpcy5fdG9vbHRpcFZhbHVlW3R5cGVdLFxuICAgICAgJGltcGxpY2l0OiB0aGlzLl90b29sdGlwVmFsdWVbdHlwZV0sXG4gICAgfTtcbiAgfVxuXG4gIC8vISBtZXRob2RzIGZvciBwcm9ncmFtbWF0aWMgbWFuaXB1bGF0aW9uXG4gIHJlc2V0KCk6IHZvaWQge1xuICAgIHRoaXMuX3ZhbHVlID0geyBsb3c6IC1JbmZpbml0eSwgaGlnaDogSW5maW5pdHkgfTtcbiAgICB0aGlzLl9wb3NpdGlvblBlcmNlbnRbMF0gPSAwO1xuICAgIHRoaXMuX3Bvc2l0aW9uUGVyY2VudFsxXSA9IDE7XG4gIH1cblxuICAvLyEgdHJhY2sgb3ZlcmxheSBnZXR0ZXJzXG4gIGdldCB0cmFja092ZXJsYXlMZWZ0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIE1hdGgubWluKC4uLnRoaXMuX3Bvc2l0aW9uUGVyY2VudCkgKiAxMDAgKyAnJSc7XG4gIH1cbiAgZ2V0IHRyYWNrT3ZlcmxheVdpZHRoKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIE1hdGguYWJzKHRoaXMuX3Bvc2l0aW9uUGVyY2VudFswXSAtIHRoaXMuX3Bvc2l0aW9uUGVyY2VudFsxXSEpICogMTAwICsgJyUnO1xuICB9XG5cbiAgLy8hIGV2ZW50IGhhbmRsZXJzXG4gIG9uVHJhY2tIaXRib3hQb2ludGVyRG93bihldmVudDogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLl93cml0ZVZhbHVlRnJvbUV2ZW50KGV2ZW50KTtcbiAgICB0aGlzLm9uUG9pbnRlckRvd25PbkhhbmRsZShldmVudCk7XG4gIH1cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6bW91c2Vtb3ZlJywgWyckZXZlbnQnXSlcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6dG91Y2htb3ZlJywgWyckZXZlbnQnXSlcbiAgb25Qb2ludGVyTW92ZShldmVudDogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX3Nob3VsZENoZWNrRm9yTW92ZW1lbnQpIHJldHVybjtcbiAgICBpZiAoIXRoaXMuX2JvZHlIYXNDbGFzcykge1xuICAgICAgdGhpcy5fYm9keUhhc0NsYXNzID0gdHJ1ZTtcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5kb2N1bWVudC5ib2R5LCAnYXJkLXByZXZlbnQtdG91Y2gtYWN0aW9ucycpO1xuICAgIH1cbiAgICB0aGlzLl93cml0ZVZhbHVlRnJvbUV2ZW50KGV2ZW50LCB0aGlzLl9ncmFiYmVkSGFuZGxlSWQoKSk7XG4gIH1cblxuICAvLyEgcG9zaXRpb24gY2FsY3VsYXRvcnNcbiAgcHJvdGVjdGVkIF9wZXJjZW50VmFsdWVUb1ZhbHVlKHBlcmNlbnQ6IG51bWJlciwgaGFuZGxlSWQ6IG51bWJlcik6IFNsaWRlclJhbmdlIHtcbiAgICBjb25zdCBtaW5NYXhEaWZmZXJlbmNlID0gTWF0aC5hYnModGhpcy5taW4oKSAtIHRoaXMubWF4KCkpO1xuICAgIGxldCBuZXdWYWwgPSBwZXJjZW50ICogbWluTWF4RGlmZmVyZW5jZSArIHRoaXMubWluKCk7XG4gICAgLy9yb3VuZCB0byA5IGRlY2ltYWwgcGxhY2VzIHRvIGF2b2lkIGZsb2F0aW5nIHBvaW50IGFyaXRobWV0aWMgZXJyb3JzXG4gICAgLy85IGlzIGFuIGFyYml0cmFyeSBudW1iZXIgdGhhdCBqdXN0IHdvcmtzIHdlbGwuIMKvXFxfKOODhClfL8KvXG4gICAgbmV3VmFsID0gcm91bmRUb1ByZWNpc2lvbihuZXdWYWwsIDkpO1xuXG4gICAgY29uc3QgbmV3VmFsT2JqID0geyBsb3c6IHRoaXMuX3ZhbHVlLmxvdywgaGlnaDogdGhpcy5fdmFsdWUuaGlnaCB9O1xuICAgIGlmIChoYW5kbGVJZCA9PT0gMSkge1xuICAgICAgbmV3VmFsT2JqLmxvdyA9IG5ld1ZhbDtcbiAgICB9IGVsc2Uge1xuICAgICAgbmV3VmFsT2JqLmhpZ2ggPSBuZXdWYWw7XG4gICAgfVxuICAgIHJldHVybiBuZXdWYWxPYmo7XG4gIH1cblxuICAvLyEgaGFuZGxlIGZvY3VzIG1vbml0b3JzXG4gIHJlYWRvbmx5IGN1cnJlbnRIYW5kbGUgPSBzaWduYWw8MSB8IDIgfCBudWxsPihudWxsKTtcbiAgb25IYW5kbGVGb2N1cyhldmVudDogRm9jdXNFdmVudCwgaGFuZGxlSWQ6IDEgfCAyKSB7XG4gICAgdGhpcy5vbkZvY3VzKGV2ZW50KTtcblxuICAgIHRoaXMuY3VycmVudEhhbmRsZS5zZXQoaGFuZGxlSWQpO1xuICB9XG4gIG92ZXJyaWRlIG9uQmx1cihldmVudDogRm9jdXNFdmVudCkge1xuICAgIHN1cGVyLm9uQmx1cihldmVudCk7XG4gICAgdGhpcy5jdXJyZW50SGFuZGxlLnNldChudWxsKTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cImFyZC1yYW5nZS1zbGlkZXItY29udGFpbmVyLW1hc3RlclwiXG4gIFtuZ0NsYXNzXT1cIm5nQ2xhc3NlcygpXCJcbiAgW2NsYXNzLmFyZC1zbGlkZXItaGFuZGxlLWdyYWJiZWRdPVwiaXNTbGlkZXJIYW5kbGVHcmFiYmVkKClcIlxuICBbc3R5bGVdPVwieyAnLS1fYXJkLXNsaWRlci10cmFuc2l0aW9uJzogc2xpZGVyVHJhbnNpdGlvbigpIH1cIlxuPlxuICA8ZGl2IGNsYXNzPVwiYXJkLXNsaWRlci1jb250YWluZXJcIj5cbiAgICA8ZGl2XG4gICAgICAjdHJhY2tcbiAgICAgIGNsYXNzPVwiYXJkLXNsaWRlci10cmFja1wiXG4gICAgICAocG9pbnRlcmRvd24pPVwib25UcmFja0hpdGJveFBvaW50ZXJEb3duKCRldmVudClcIlxuICAgID5cbiAgICAgIDxkaXYgY2xhc3M9XCJhcmQtaGl0Ym94XCI+PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXJkLXNsaWRlci10cmFjay1vdmVybGF5IGFyZC1zbGlkZXItdHJhY2staW5hY3RpdmVcIj48L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJhcmQtc2xpZGVyLXRyYWNrLW92ZXJsYXkgYXJkLXNsaWRlci10cmFjay1hY3RpdmVcIlxuICAgICAgICBbc3R5bGVdPVwie1xuICAgICAgICAgIGxlZnQ6IHRyYWNrT3ZlcmxheUxlZnQsXG4gICAgICAgICAgd2lkdGg6IHRyYWNrT3ZlcmxheVdpZHRoXG4gICAgICAgIH1cIlxuICAgICAgPjwvZGl2PlxuICAgICAgQGlmIChzaG93VmFsdWVUaWNrcygpKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhcmQtdmFsdWUtdGljay1jb250YWluZXJcIj5cbiAgICAgICAgICBAZm9yICh0aWNrIG9mIF90aWNrQXJyYXkoKTsgdHJhY2sgdGljaykge1xuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cImFyZC12YWx1ZS10aWNrXCJcbiAgICAgICAgICAgICAgW3N0eWxlXT1cInsgbGVmdDogdGljayB9XCJcbiAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIDwvZGl2PlxuICAgIDxidXR0b25cbiAgICAgICNmb2N1c2FibGVFbGVtZW50XG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIGNsYXNzPVwiYXJkLXNsaWRlci1oYW5kbGVcIlxuICAgICAgW3RhYmluZGV4XT1cInRhYkluZGV4KClcIlxuICAgICAgW2NsYXNzLmFyZC1ncmFiYmVkXT1cImlzU2xpZGVySGFuZGxlR3JhYmJlZCgpICYmIGN1cnJlbnRIYW5kbGUoKSA9PT0gMVwiXG4gICAgICAocG9pbnRlcmRvd24pPVwib25Qb2ludGVyRG93bk9uSGFuZGxlKCRldmVudCwgMSlcIlxuICAgICAgKGZvY3VzKT1cIm9uSGFuZGxlRm9jdXMoJGV2ZW50LCAxKVwiXG4gICAgICAoYmx1cik9XCJvbkJsdXIoJGV2ZW50KVwiXG4gICAgICBbc3R5bGVdPVwieyBsZWZ0OiBnZXRIYW5kbGVQb3NpdGlvbigxKSB9XCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXJkLWZvY3VzLW92ZXJsYXlcIj48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJhcmQtaGl0Ym94XCI+PC9kaXY+XG4gICAgPC9idXR0b24+XG4gICAgQGlmICh0b29sdGlwQmVoYXZpb3IoKSAhPT0gJ25ldmVyJykge1xuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImFyZC1zbGlkZXItdG9vbHRpcC13cmFwcGVyXCJcbiAgICAgICAgW2NsYXNzLmFyZC10b29sdGlwLWFsd2F5c109XCJ0b29sdGlwQmVoYXZpb3IoKSA9PT0gJ2Fsd2F5cydcIlxuICAgICAgICBbc3R5bGVdPVwieyBsZWZ0OiBnZXRIYW5kbGVQb3NpdGlvbigxKSB9XCJcbiAgICAgID5cbiAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgI2RlZmF1bHRUb29sdGlwVGVtcGxhdGVcbiAgICAgICAgICBsZXQtdmFsdWVcbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJhcmQtc2xpZGVyLXRvb2x0aXBcIj57eyB2YWx1ZSB9fTwvZGl2PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRvb2x0aXBUZW1wbGF0ZSgpPy50ZW1wbGF0ZSB8fCBkZWZhdWx0VG9vbHRpcFRlbXBsYXRlXCJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwiZ2V0VG9vbHRpcENvbnRleHQoJ2xvdycpXCJcbiAgICAgICAgPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9kaXY+XG4gICAgfVxuICAgIDxidXR0b25cbiAgICAgICNmb2N1c2FibGVFbGVtZW50XG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIGNsYXNzPVwiYXJkLXNsaWRlci1oYW5kbGVcIlxuICAgICAgW3RhYmluZGV4XT1cInRhYkluZGV4KClcIlxuICAgICAgW2NsYXNzLmFyZC1ncmFiYmVkXT1cImlzU2xpZGVySGFuZGxlR3JhYmJlZCgpICYmIGN1cnJlbnRIYW5kbGUoKSA9PT0gMlwiXG4gICAgICAocG9pbnRlcmRvd24pPVwib25Qb2ludGVyRG93bk9uSGFuZGxlKCRldmVudCwgMilcIlxuICAgICAgKGZvY3VzKT1cIm9uSGFuZGxlRm9jdXMoJGV2ZW50LCAyKVwiXG4gICAgICAoYmx1cik9XCJvbkJsdXIoJGV2ZW50KVwiXG4gICAgICBbc3R5bGVdPVwieyBsZWZ0OiBnZXRIYW5kbGVQb3NpdGlvbigyKSB9XCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXJkLWZvY3VzLW92ZXJsYXlcIj48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJhcmQtaGl0Ym94XCI+PC9kaXY+XG4gICAgPC9idXR0b24+XG4gICAgQGlmICh0b29sdGlwQmVoYXZpb3IoKSAhPT0gJ25ldmVyJykge1xuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImFyZC1zbGlkZXItdG9vbHRpcC13cmFwcGVyXCJcbiAgICAgICAgW2NsYXNzLmFyZC10b29sdGlwLWFsd2F5c109XCJ0b29sdGlwQmVoYXZpb3IoKSA9PT0gJ2Fsd2F5cydcIlxuICAgICAgICBbc3R5bGVdPVwieyBsZWZ0OiBnZXRIYW5kbGVQb3NpdGlvbigyKSB9XCJcbiAgICAgID5cbiAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgI2RlZmF1bHRUb29sdGlwVGVtcGxhdGVcbiAgICAgICAgICBsZXQtdmFsdWVcbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJhcmQtc2xpZGVyLXRvb2x0aXBcIj57eyB2YWx1ZSB9fTwvZGl2PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRvb2x0aXBUZW1wbGF0ZSgpPy50ZW1wbGF0ZSB8fCBkZWZhdWx0VG9vbHRpcFRlbXBsYXRlXCJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwiZ2V0VG9vbHRpcENvbnRleHQoJ2hpZ2gnKVwiXG4gICAgICAgID5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgPC9kaXY+XG4gIEBpZiAobGFiZWxPYmplY3RzKCkubGVuZ3RoKSB7XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJhcmQtc2xpZGVyLWxhYmVsLWNvbnRhaW5lclwiXG4gICAgICAqbmdJZj1cImxhYmVsT2JqZWN0cy5sZW5ndGhcIlxuICAgID5cbiAgICAgIEBmb3IgKGxhYmVsIG9mIGxhYmVsT2JqZWN0cygpOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiYXJkLXNsaWRlci1sYWJlbFwiXG4gICAgICAgICAgW3N0eWxlXT1cInsgbGVmdDogbGFiZWwucG9zaXRpb25QZXJjZW50IH1cIlxuICAgICAgICA+XG4gICAgICAgICAge3sgbGFiZWwubGFiZWwgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIH1cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2hhbmRsZVRodW1iQmFzZT5cbiAgPGRpdiBjbGFzcz1cImFyZC1zbGlkZS10aHVtYlwiPjwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -351,7 +351,7 @@ export class ArdiumTableComponent extends _FocusableComponentBase {
351
351
  };
352
352
  }
353
353
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ArdiumTableComponent, deps: [{ token: ARD_TABLE_DEFAULTS }], target: i0.ɵɵFactoryTarget.Component }); }
354
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ArdiumTableComponent, selector: "ard-table", inputs: { rowDisabledFrom: { classPropertyName: "rowDisabledFrom", publicName: "rowDisabledFrom", isSignal: true, isRequired: false, transformFunction: null }, rowBoldFrom: { classPropertyName: "rowBoldFrom", publicName: "rowBoldFrom", isSignal: true, isRequired: false, transformFunction: null }, invertRowDisabled: { classPropertyName: "invertRowDisabled", publicName: "invertRowDisabled", isSignal: true, isRequired: false, transformFunction: null }, invertRowBold: { classPropertyName: "invertRowBold", publicName: "invertRowBold", isSignal: true, isRequired: false, transformFunction: null }, selectableRows: { classPropertyName: "selectableRows", publicName: "selectableRows", isSignal: true, isRequired: false, transformFunction: null }, maxSelectedItems: { classPropertyName: "maxSelectedItems", publicName: "maxSelectedItems", isSignal: true, isRequired: false, transformFunction: null }, clickableRows: { classPropertyName: "clickableRows", publicName: "clickableRows", isSignal: true, isRequired: false, transformFunction: null }, caption: { classPropertyName: "caption", publicName: "caption", isSignal: true, isRequired: false, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null }, loadingProgress: { classPropertyName: "loadingProgress", publicName: "loadingProgress", isSignal: true, isRequired: false, transformFunction: null }, loadingProgressBuffer: { classPropertyName: "loadingProgressBuffer", publicName: "loadingProgressBuffer", isSignal: true, isRequired: false, transformFunction: null }, loadingBarMode: { classPropertyName: "loadingBarMode", publicName: "loadingBarMode", isSignal: true, isRequired: false, transformFunction: null }, loadingBarColor: { classPropertyName: "loadingBarColor", publicName: "loadingBarColor", isSignal: true, isRequired: false, transformFunction: null }, appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null }, headerAlign: { classPropertyName: "headerAlign", publicName: "headerAlign", isSignal: true, isRequired: false, transformFunction: null }, compact: { classPropertyName: "compact", publicName: "compact", isSignal: true, isRequired: false, transformFunction: null }, zebra: { classPropertyName: "zebra", publicName: "zebra", isSignal: true, isRequired: false, transformFunction: null }, stickyHeader: { classPropertyName: "stickyHeader", publicName: "stickyHeader", isSignal: true, isRequired: false, transformFunction: null }, paginated: { classPropertyName: "paginated", publicName: "paginated", isSignal: true, isRequired: false, transformFunction: null }, paginationStrategy: { classPropertyName: "paginationStrategy", publicName: "paginationStrategy", isSignal: true, isRequired: false, transformFunction: null }, paginationOptions: { classPropertyName: "paginationOptions", publicName: "paginationOptions", isSignal: true, isRequired: false, transformFunction: null }, totalItems: { classPropertyName: "totalItems", publicName: "totalItems", isSignal: true, isRequired: false, transformFunction: null }, paginationColor: { classPropertyName: "paginationColor", publicName: "paginationColor", isSignal: true, isRequired: false, transformFunction: null }, paginationAlign: { classPropertyName: "paginationAlign", publicName: "paginationAlign", isSignal: true, isRequired: false, transformFunction: null }, itemsPerPageText: { classPropertyName: "itemsPerPageText", publicName: "itemsPerPageText", isSignal: true, isRequired: false, transformFunction: null }, currentItemsFormatFn: { classPropertyName: "currentItemsFormatFn", publicName: "currentItemsFormatFn", isSignal: true, isRequired: false, transformFunction: null }, pageFillRemaining: { classPropertyName: "pageFillRemaining", publicName: "pageFillRemaining", isSignal: true, isRequired: false, transformFunction: null }, paginationDisabled: { classPropertyName: "paginationDisabled", publicName: "paginationDisabled", isSignal: true, isRequired: false, transformFunction: null }, useFirstLastButtons: { classPropertyName: "useFirstLastButtons", publicName: "useFirstLastButtons", isSignal: true, isRequired: false, transformFunction: null }, itemsPerPage: { classPropertyName: "itemsPerPage", publicName: "itemsPerPage", isSignal: true, isRequired: false, transformFunction: null }, page: { classPropertyName: "page", publicName: "page", isSignal: true, isRequired: false, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: false, isRequired: false, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: false, isRequired: false, transformFunction: null }, treatDataSourceAsString: { classPropertyName: "treatDataSourceAsString", publicName: "treatDataSourceAsString", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { itemsPerPage: "itemsPerPageChange", page: "pageChange", selectedRowsChangeEvent: "selectedRowsChange", failedSelectRowEvent: "failedSelectRow", selectRowEvent: "selectRow", unselectRowEvent: "unselectRow", clickRowEvent: "clickRow" }, queries: [{ propertyName: "checkboxTemplate", first: true, predicate: ArdiumTableCheckboxTemplateDirective, descendants: true, read: TemplateRef, isSignal: true }, { propertyName: "headerCheckboxTemplate", first: true, predicate: ArdiumTableHeaderCheckboxTemplateDirective, descendants: true, read: TemplateRef, isSignal: true }, { propertyName: "captionTemplate", first: true, predicate: ArdiumTableCaptionTemplateDirective, descendants: true, read: TemplateRef, isSignal: true }, { propertyName: "templateChildren", predicate: ArdiumTableTemplateDirective, isSignal: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<table\n class=\"ard-table\"\n [ngClass]=\"ngClasses()\"\n>\n @if (caption()) {\n <caption class=\"ard-table__caption\">\n <div class=\"ard-table__caption-container\">\n <ng-template\n #defaultCaptionTemplate\n let-captionText\n >\n {{ captionText }}\n </ng-template>\n\n <ng-template\n [ngTemplateOutlet]=\"captionTemplate() ?? defaultCaptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: caption() }\"\n />\n </div>\n </caption>\n }\n <thead class=\"ard-table__header\">\n @for (row of headerCells(); track $index) {\n <tr class=\"ard-table__header-row\">\n @for (cell of row; track $index) {\n <th\n class=\"ard-table__header-cell\"\n [ngClass]=\"cell.cell().cellClass\"\n [class.ard-table__checkbox-cell]=\"isHeaderCellCheckbox(cell)\"\n [attr.colspan]=\"cell.colspan()\"\n [attr.rowspan]=\"cell.rowspan()\"\n [scope]=\"cell.colspan() > 1 ? 'colgroup' : 'col'\"\n >\n <div\n class=\"ard-table__cell-container\"\n [class.ard-table__sortable]=\"isHeaderCellSortable(cell)\"\n [style.width]=\"cell.width\"\n [style.minWidth]=\"cell.minWidth\"\n >\n @if (isHeaderCellCheckbox(cell)) {\n <ng-template\n #defaultHeaderCheckboxTemplate\n let-state\n let-onChange=\"onChange\"\n >\n <ard-checkbox\n [tabIndex]=\"isLoading() ? -1 : tabIndex()\"\n [state]=\"state\"\n [color]=\"getHeaderCheckboxColor()\"\n unselectedColor=\"currentColor\"\n (change)=\"onChange()\"\n />\n </ng-template>\n\n <ng-template\n [ngTemplateOutlet]=\"headerCheckboxTemplate() ?? defaultHeaderCheckboxTemplate\"\n [ngTemplateOutletContext]=\"getHeaderCheckboxContext()\"\n />\n } @else {\n <ng-template\n #defaultHeaderCellTemplate\n let-content\n let-sortable=\"sortable\"\n let-sortType=\"sortType\"\n let-onTriggerSort=\"onTriggerSort\"\n let-onTriggerResetSort=\"onTriggerResetSort\"\n >\n <div\n class=\"ard-table__header-template-container\"\n [class.ard-sortable]=\"sortable\"\n [class.ard-nonsortable]=\"!sortable\"\n >\n @if (sortable) {\n <button\n type=\"button\"\n class=\"ard-table__header-content-container\"\n (click)=\"onTriggerSort($event)\"\n [tabindex]=\"tabIndex()\"\n (keydown.Esc)=\"onTriggerResetSort($event)\"\n >\n <div class=\"ard-table__header-content\">{{ content }}</div>\n @if (sortType !== null) {\n <div class=\"ard-table__header-sort-icon\">\n @if (sortType === 'ascending') {\n <ard-icon>south</ard-icon>\n } @else if (sortType === 'descending') {\n <ard-icon>north</ard-icon>\n }\n </div>\n }\n </button>\n } @else {\n <div class=\"ard-table__header-content-container\">\n <div class=\"ard-table__header-content\">{{ content }}</div>\n </div>\n }\n </div>\n </ng-template>\n\n <ng-template\n [ngTemplateOutlet]=\"getHeaderTemplate(cell.cell().header) ?? defaultHeaderCellTemplate\"\n [ngTemplateOutletContext]=\"getHeaderContext(cell.cell(), $index)\"\n />\n }\n </div>\n </th>\n }\n </tr>\n }\n <tr class=\"ard-table__progress-bar-row\">\n <th\n class=\"ard-table__progress-bar-cell\"\n colspan=\"9999\"\n >\n @if (isLoading()) {\n <ard-progress-bar\n [value]=\"loadingProgress()\"\n [bufferValue]=\"loadingProgressBuffer()\"\n [mode]=\"loadingBarMode()\"\n [color]=\"loadingBarColor()\"\n variant=\"sharp\"\n hideValue\n />\n }\n </th>\n </tr>\n </thead>\n <tbody class=\"ard-table__body\">\n @for (row of dataRows(); track $index) {\n @if (row.isEmpty()) {\n <tr class=\"ard-table__empty-row\">\n <td\n class=\"ard-table__empty-cell\"\n colspan=\"9999\"\n ></td>\n </tr>\n } @else {\n <tr\n class=\"ard-table__body-row\"\n [class.ard-table__selected-row]=\"row.selected()\"\n [class.ard-table__highlighted-row]=\"row.highlighted()\"\n [class.ard-table__disabled-row]=\"row.disabled()\"\n [class.ard-table__bold-row]=\"row.bold()\"\n (click)=\"onRowClick(row, $event)\"\n (mouseover)=\"onRowMouseOver($event)\"\n (mouseenter)=\"onRowMouseEnter(row.index(), $event)\"\n (mouseleave)=\"onRowMouseLeave(row.index(), $event)\"\n >\n @for (cell of row.data(); track $index) {\n <ng-template #cellTmp>\n <div\n class=\"ard-table__cell-container\"\n [style]=\"getCellStyle(row.dataColumns()[$index])\"\n >\n @if (isCellCheckbox(cell)) {\n <ng-template\n #defaultCheckboxTemplate\n let-isChecked\n let-onChange=\"onChange\"\n let-disabled=\"disabled\"\n >\n <ard-checkbox\n [tabIndex]=\"isLoading() ? -1 : tabIndex()\"\n [selected]=\"isChecked\"\n [color]=\"color()\"\n [disabled]=\"disabled\"\n (change)=\"onChange()\"\n (click)=\"$event.stopPropagation()\"\n />\n </ng-template>\n\n <ng-template\n [ngTemplateOutlet]=\"checkboxTemplate() ?? defaultCheckboxTemplate\"\n [ngTemplateOutletContext]=\"getCheckboxContext(row.index())\"\n />\n } @else {\n <ng-template\n #defaultCellTemplate\n let-content\n >\n {{ content }}\n </ng-template>\n\n <ng-template\n [ngTemplateOutlet]=\"getCellTemplate(row.dataColumns()[$index].template) ?? defaultCellTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: cell }\"\n />\n }\n </div>\n </ng-template>\n @if (!row.dataColumns()[$index].isRowHeader) {\n <td\n class=\"ard-table__body-cell\"\n [ngClass]=\"row.dataColumns()[$index].cellClass\"\n [class.ard-table__checkbox-cell]=\"isCellCheckbox(cell)\"\n >\n <ng-template [ngTemplateOutlet]=\"cellTmp\"></ng-template>\n </td>\n } @else {\n <th\n class=\"ard-table__body-cell ard-table__row-header\"\n scope=\"row\"\n [ngClass]=\"row.dataColumns()[$index].cellClass\"\n [class.ard-table__checkbox-cell]=\"isCellCheckbox(cell)\"\n >\n <ng-template [ngTemplateOutlet]=\"cellTmp\"></ng-template>\n </th>\n }\n }\n </tr>\n }\n }\n </tbody>\n @if (canDisplayPagination()) {\n <tfoot class=\"ard-table__foot\">\n <tr class=\"ard-table__foot-row\">\n <td\n class=\"ard-table__pagination-cell\"\n colspan=\"9999\"\n >\n <ard-table-pagination\n [options]=\"paginationOptions()\"\n [totalItems]=\"totalItems()!\"\n [disabled]=\"paginationDisabled()\"\n [(itemsPerPage)]=\"itemsPerPage\"\n [(page)]=\"page\"\n [align]=\"paginationAlign()\"\n [isLoading]=\"isLoading()\"\n [itemsPerPageText]=\"itemsPerPageText()\"\n [currentItemsFormatFn]=\"currentItemsFormatFn()\"\n />\n </td>\n </tr>\n </tfoot>\n }\n</table>\n", styles: [".ard-table__cell-container,.ard-table__header-template-container{width:100%;height:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.ArdiumCheckboxComponent, selector: "ard-checkbox", inputs: ["htmlId", "color", "unselectedColor", "state"], outputs: ["stateChange"] }, { kind: "component", type: i3.ArdiumTablePaginationComponent, selector: "ard-table-pagination", inputs: ["totalItems", "options", "itemsPerPage", "page", "color", "align", "compact", "useFirstLastButtons", "isLoading", "itemsPerPageText", "currentItemsFormatFn"], outputs: ["itemsPerPageChange", "pageChange"] }, { kind: "component", type: i4.ArdiumIconComponent, selector: "ard-icon", inputs: ["ariaLabel", "icon", "filled", "weight", "grade", "opticalSize"] }, { kind: "component", type: i5.ArdiumProgressBarComponent, selector: "ard-progress-bar", inputs: ["value", "bufferValue", "color", "variant", "size", "mode", "hideValue"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
354
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ArdiumTableComponent, selector: "ard-table", inputs: { rowDisabledFrom: { classPropertyName: "rowDisabledFrom", publicName: "rowDisabledFrom", isSignal: true, isRequired: false, transformFunction: null }, rowBoldFrom: { classPropertyName: "rowBoldFrom", publicName: "rowBoldFrom", isSignal: true, isRequired: false, transformFunction: null }, invertRowDisabled: { classPropertyName: "invertRowDisabled", publicName: "invertRowDisabled", isSignal: true, isRequired: false, transformFunction: null }, invertRowBold: { classPropertyName: "invertRowBold", publicName: "invertRowBold", isSignal: true, isRequired: false, transformFunction: null }, selectableRows: { classPropertyName: "selectableRows", publicName: "selectableRows", isSignal: true, isRequired: false, transformFunction: null }, maxSelectedItems: { classPropertyName: "maxSelectedItems", publicName: "maxSelectedItems", isSignal: true, isRequired: false, transformFunction: null }, clickableRows: { classPropertyName: "clickableRows", publicName: "clickableRows", isSignal: true, isRequired: false, transformFunction: null }, caption: { classPropertyName: "caption", publicName: "caption", isSignal: true, isRequired: false, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null }, loadingProgress: { classPropertyName: "loadingProgress", publicName: "loadingProgress", isSignal: true, isRequired: false, transformFunction: null }, loadingProgressBuffer: { classPropertyName: "loadingProgressBuffer", publicName: "loadingProgressBuffer", isSignal: true, isRequired: false, transformFunction: null }, loadingBarMode: { classPropertyName: "loadingBarMode", publicName: "loadingBarMode", isSignal: true, isRequired: false, transformFunction: null }, loadingBarColor: { classPropertyName: "loadingBarColor", publicName: "loadingBarColor", isSignal: true, isRequired: false, transformFunction: null }, appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null }, headerAlign: { classPropertyName: "headerAlign", publicName: "headerAlign", isSignal: true, isRequired: false, transformFunction: null }, compact: { classPropertyName: "compact", publicName: "compact", isSignal: true, isRequired: false, transformFunction: null }, zebra: { classPropertyName: "zebra", publicName: "zebra", isSignal: true, isRequired: false, transformFunction: null }, stickyHeader: { classPropertyName: "stickyHeader", publicName: "stickyHeader", isSignal: true, isRequired: false, transformFunction: null }, paginated: { classPropertyName: "paginated", publicName: "paginated", isSignal: true, isRequired: false, transformFunction: null }, paginationStrategy: { classPropertyName: "paginationStrategy", publicName: "paginationStrategy", isSignal: true, isRequired: false, transformFunction: null }, paginationOptions: { classPropertyName: "paginationOptions", publicName: "paginationOptions", isSignal: true, isRequired: false, transformFunction: null }, totalItems: { classPropertyName: "totalItems", publicName: "totalItems", isSignal: true, isRequired: false, transformFunction: null }, paginationColor: { classPropertyName: "paginationColor", publicName: "paginationColor", isSignal: true, isRequired: false, transformFunction: null }, paginationAlign: { classPropertyName: "paginationAlign", publicName: "paginationAlign", isSignal: true, isRequired: false, transformFunction: null }, itemsPerPageText: { classPropertyName: "itemsPerPageText", publicName: "itemsPerPageText", isSignal: true, isRequired: false, transformFunction: null }, currentItemsFormatFn: { classPropertyName: "currentItemsFormatFn", publicName: "currentItemsFormatFn", isSignal: true, isRequired: false, transformFunction: null }, pageFillRemaining: { classPropertyName: "pageFillRemaining", publicName: "pageFillRemaining", isSignal: true, isRequired: false, transformFunction: null }, paginationDisabled: { classPropertyName: "paginationDisabled", publicName: "paginationDisabled", isSignal: true, isRequired: false, transformFunction: null }, useFirstLastButtons: { classPropertyName: "useFirstLastButtons", publicName: "useFirstLastButtons", isSignal: true, isRequired: false, transformFunction: null }, itemsPerPage: { classPropertyName: "itemsPerPage", publicName: "itemsPerPage", isSignal: true, isRequired: false, transformFunction: null }, page: { classPropertyName: "page", publicName: "page", isSignal: true, isRequired: false, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: false, isRequired: false, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: false, isRequired: false, transformFunction: null }, treatDataSourceAsString: { classPropertyName: "treatDataSourceAsString", publicName: "treatDataSourceAsString", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { itemsPerPage: "itemsPerPageChange", page: "pageChange", selectedRowsChangeEvent: "selectedRowsChange", failedSelectRowEvent: "failedSelectRow", selectRowEvent: "selectRow", unselectRowEvent: "unselectRow", clickRowEvent: "clickRow" }, queries: [{ propertyName: "checkboxTemplate", first: true, predicate: ArdiumTableCheckboxTemplateDirective, descendants: true, read: TemplateRef, isSignal: true }, { propertyName: "headerCheckboxTemplate", first: true, predicate: ArdiumTableHeaderCheckboxTemplateDirective, descendants: true, read: TemplateRef, isSignal: true }, { propertyName: "captionTemplate", first: true, predicate: ArdiumTableCaptionTemplateDirective, descendants: true, read: TemplateRef, isSignal: true }, { propertyName: "templateChildren", predicate: ArdiumTableTemplateDirective, isSignal: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<table\n class=\"ard-table\"\n [ngClass]=\"ngClasses()\"\n>\n @if (caption()) {\n <caption class=\"ard-table__caption\">\n <div class=\"ard-table__caption-container\">\n <ng-template\n #defaultCaptionTemplate\n let-captionText\n >\n {{ captionText }}\n </ng-template>\n\n <ng-template\n [ngTemplateOutlet]=\"captionTemplate() ?? defaultCaptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: caption() }\"\n />\n </div>\n </caption>\n }\n <thead class=\"ard-table__header\">\n @for (row of headerCells(); track $index) {\n <tr class=\"ard-table__header-row\">\n @for (cell of row; track $index) {\n <th\n class=\"ard-table__header-cell\"\n [ngClass]=\"cell.cell().cellClass\"\n [class.ard-table__checkbox-cell]=\"isHeaderCellCheckbox(cell)\"\n [attr.colspan]=\"cell.colspan()\"\n [attr.rowspan]=\"cell.rowspan()\"\n [scope]=\"cell.colspan() > 1 ? 'colgroup' : 'col'\"\n >\n <div\n class=\"ard-table__cell-container\"\n [class.ard-table__sortable]=\"isHeaderCellSortable(cell)\"\n [style.width]=\"cell.width\"\n [style.minWidth]=\"cell.minWidth\"\n >\n @if (isHeaderCellCheckbox(cell)) {\n <ng-template\n #defaultHeaderCheckboxTemplate\n let-state\n let-onChange=\"onChange\"\n >\n <ard-checkbox\n [tabIndex]=\"isLoading() ? -1 : tabIndex()\"\n [state]=\"state\"\n [color]=\"getHeaderCheckboxColor()\"\n unselectedColor=\"currentColor\"\n (change)=\"onChange()\"\n />\n </ng-template>\n\n <ng-template\n [ngTemplateOutlet]=\"headerCheckboxTemplate() ?? defaultHeaderCheckboxTemplate\"\n [ngTemplateOutletContext]=\"getHeaderCheckboxContext()\"\n />\n } @else {\n <ng-template\n #defaultHeaderCellTemplate\n let-content\n let-sortable=\"sortable\"\n let-sortType=\"sortType\"\n let-onTriggerSort=\"onTriggerSort\"\n let-onTriggerResetSort=\"onTriggerResetSort\"\n >\n <div\n class=\"ard-table__header-template-container\"\n [class.ard-sortable]=\"sortable\"\n [class.ard-nonsortable]=\"!sortable\"\n >\n @if (sortable) {\n <button\n type=\"button\"\n class=\"ard-table__header-content-container\"\n (click)=\"onTriggerSort($event)\"\n [tabindex]=\"tabIndex()\"\n (keydown.Esc)=\"onTriggerResetSort($event)\"\n >\n <div class=\"ard-table__header-content\">{{ content }}</div>\n @if (sortType !== null) {\n <div class=\"ard-table__header-sort-icon\">\n @if (sortType === 'ascending') {\n <ard-icon>south</ard-icon>\n } @else if (sortType === 'descending') {\n <ard-icon>north</ard-icon>\n }\n </div>\n }\n </button>\n } @else {\n <div class=\"ard-table__header-content-container\">\n <div class=\"ard-table__header-content\">{{ content }}</div>\n </div>\n }\n </div>\n </ng-template>\n\n <ng-template\n [ngTemplateOutlet]=\"getHeaderTemplate(cell.cell().header) ?? defaultHeaderCellTemplate\"\n [ngTemplateOutletContext]=\"getHeaderContext(cell.cell(), $index)\"\n />\n }\n </div>\n </th>\n }\n </tr>\n }\n <tr class=\"ard-table__progress-bar-row\">\n <th\n class=\"ard-table__progress-bar-cell\"\n colspan=\"9999\"\n >\n @if (isLoading()) {\n <ard-progress-bar\n [value]=\"loadingProgress()\"\n [bufferValue]=\"loadingProgressBuffer()\"\n [mode]=\"loadingBarMode()\"\n [color]=\"loadingBarColor()\"\n variant=\"sharp\"\n hideValue\n />\n }\n </th>\n </tr>\n </thead>\n <tbody class=\"ard-table__body\">\n @for (row of dataRows(); track $index) {\n @if (row.isEmpty()) {\n <tr class=\"ard-table__empty-row\">\n <td\n class=\"ard-table__empty-cell\"\n colspan=\"9999\"\n ></td>\n </tr>\n } @else {\n <tr\n class=\"ard-table__body-row\"\n [class.ard-table__selected-row]=\"row.selected()\"\n [class.ard-table__highlighted-row]=\"row.highlighted()\"\n [class.ard-table__disabled-row]=\"row.disabled()\"\n [class.ard-table__bold-row]=\"row.bold()\"\n (click)=\"onRowClick(row, $event)\"\n (mouseover)=\"onRowMouseOver($event)\"\n (mouseenter)=\"onRowMouseEnter(row.index(), $event)\"\n (mouseleave)=\"onRowMouseLeave(row.index(), $event)\"\n >\n @for (cell of row.data(); track $index) {\n <ng-template #cellTmp>\n <div\n class=\"ard-table__cell-container\"\n [style]=\"getCellStyle(row.dataColumns()[$index])\"\n >\n @if (isCellCheckbox(cell)) {\n <ng-template\n #defaultCheckboxTemplate\n let-isChecked\n let-onChange=\"onChange\"\n let-disabled=\"disabled\"\n >\n <ard-checkbox\n [tabIndex]=\"isLoading() ? -1 : tabIndex()\"\n [selected]=\"isChecked\"\n [color]=\"color()\"\n [disabled]=\"disabled\"\n (change)=\"onChange()\"\n (click)=\"$event.stopPropagation()\"\n />\n </ng-template>\n\n <ng-template\n [ngTemplateOutlet]=\"checkboxTemplate() ?? defaultCheckboxTemplate\"\n [ngTemplateOutletContext]=\"getCheckboxContext(row.index())\"\n />\n } @else {\n <ng-template\n #defaultCellTemplate\n let-content\n >\n {{ content }}\n </ng-template>\n\n <ng-template\n [ngTemplateOutlet]=\"getCellTemplate(row.dataColumns()[$index].template) ?? defaultCellTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: cell }\"\n />\n }\n </div>\n </ng-template>\n @if (!row.dataColumns()[$index].isRowHeader) {\n <td\n class=\"ard-table__body-cell\"\n [ngClass]=\"row.dataColumns()[$index].cellClass\"\n [class.ard-table__checkbox-cell]=\"isCellCheckbox(cell)\"\n >\n <ng-template [ngTemplateOutlet]=\"cellTmp\"></ng-template>\n </td>\n } @else {\n <th\n class=\"ard-table__body-cell ard-table__row-header\"\n scope=\"row\"\n [ngClass]=\"row.dataColumns()[$index].cellClass\"\n [class.ard-table__checkbox-cell]=\"isCellCheckbox(cell)\"\n >\n <ng-template [ngTemplateOutlet]=\"cellTmp\"></ng-template>\n </th>\n }\n }\n </tr>\n }\n }\n </tbody>\n @if (canDisplayPagination()) {\n <tfoot class=\"ard-table__foot\">\n <tr class=\"ard-table__foot-row\">\n <td\n class=\"ard-table__pagination-cell\"\n colspan=\"9999\"\n >\n <ard-table-pagination\n [options]=\"paginationOptions()\"\n [totalItems]=\"totalItems()!\"\n [disabled]=\"paginationDisabled()\"\n [(itemsPerPage)]=\"itemsPerPage\"\n [(page)]=\"page\"\n [align]=\"paginationAlign()\"\n [isLoading]=\"isLoading()\"\n [itemsPerPageText]=\"itemsPerPageText()\"\n [currentItemsFormatFn]=\"currentItemsFormatFn()\"\n />\n </td>\n </tr>\n </tfoot>\n }\n</table>\n", styles: [".ard-table__cell-container,.ard-table__header-template-container{width:100%;height:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.ArdiumCheckboxComponent, selector: "ard-checkbox", inputs: ["color", "unselectedColor", "state"], outputs: ["stateChange"] }, { kind: "component", type: i3.ArdiumTablePaginationComponent, selector: "ard-table-pagination", inputs: ["totalItems", "options", "itemsPerPage", "page", "color", "align", "compact", "useFirstLastButtons", "isLoading", "itemsPerPageText", "currentItemsFormatFn"], outputs: ["itemsPerPageChange", "pageChange"] }, { kind: "component", type: i4.ArdiumIconComponent, selector: "ard-icon", inputs: ["ariaLabel", "icon", "filled", "weight", "grade", "opticalSize"] }, { kind: "component", type: i5.ArdiumProgressBarComponent, selector: "ard-progress-bar", inputs: ["value", "bufferValue", "color", "variant", "size", "mode", "hideValue"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
355
355
  }
356
356
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ArdiumTableComponent, decorators: [{
357
357
  type: Component,