@ardium-ui/ui 4.2.1 → 4.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/esm2022/lib/_internal/ngmodel-component.mjs +1 -2
  2. package/esm2022/lib/calendar/calendar.component.mjs +18 -15
  3. package/esm2022/lib/calendar/calendar.directives.mjs +107 -0
  4. package/esm2022/lib/calendar/calendar.internal-directives.mjs +22 -0
  5. package/esm2022/lib/calendar/calendar.module.mjs +51 -4
  6. package/esm2022/lib/calendar/index.mjs +2 -1
  7. package/esm2022/lib/calendar/views/days-view/days-view.component.mjs +4 -4
  8. package/esm2022/lib/checkbox/checkbox.component.mjs +17 -5
  9. package/esm2022/lib/checkbox/checkbox.directives.mjs +14 -0
  10. package/esm2022/lib/checkbox/checkbox.internal-directives.mjs +15 -0
  11. package/esm2022/lib/checkbox/checkbox.module.mjs +9 -7
  12. package/esm2022/lib/checkbox/checkbox.types.mjs +1 -1
  13. package/esm2022/lib/checkbox/index.mjs +2 -1
  14. package/esm2022/lib/checkbox-list/checkbox-list.component.mjs +8 -4
  15. package/esm2022/lib/checkbox-list/checkbox-list.directives.mjs +14 -0
  16. package/esm2022/lib/checkbox-list/checkbox-list.module.mjs +9 -7
  17. package/esm2022/lib/checkbox-list/index.mjs +2 -1
  18. package/esm2022/lib/file-inputs/file-input/file-input.component.mjs +3 -3
  19. package/esm2022/lib/file-inputs/file-input-base.defaults.mjs +3 -3
  20. package/esm2022/lib/inputs/date-input/date-input.component.mjs +17 -6
  21. package/esm2022/lib/inputs/date-input/date-input.directive.mjs +107 -3
  22. package/esm2022/lib/inputs/date-input/date-input.module.mjs +62 -4
  23. package/esm2022/lib/inputs/digit-input/digit-input.component.mjs +7 -7
  24. package/esm2022/lib/inputs/number-input/number-input.component.mjs +4 -5
  25. package/esm2022/lib/radio/radio-group.component.mjs +4 -4
  26. package/fesm2022/ardium-ui-ui.mjs +442 -53
  27. package/fesm2022/ardium-ui-ui.mjs.map +1 -1
  28. package/lib/_internal/ngmodel-component.d.ts +0 -1
  29. package/lib/calendar/calendar.component.d.ts +13 -11
  30. package/lib/calendar/calendar.directives.d.ts +51 -0
  31. package/lib/calendar/calendar.internal-directives.d.ts +17 -0
  32. package/lib/calendar/calendar.module.d.ts +6 -5
  33. package/lib/calendar/index.d.ts +1 -0
  34. package/lib/checkbox/checkbox.component.d.ts +12 -2
  35. package/lib/checkbox/checkbox.directives.d.ts +9 -0
  36. package/lib/checkbox/checkbox.internal-directives.d.ts +10 -0
  37. package/lib/checkbox/checkbox.module.d.ts +4 -2
  38. package/lib/checkbox/checkbox.types.d.ts +5 -0
  39. package/lib/checkbox/index.d.ts +1 -0
  40. package/lib/checkbox-list/checkbox-list.component.d.ts +3 -1
  41. package/lib/checkbox-list/checkbox-list.directives.d.ts +9 -0
  42. package/lib/checkbox-list/checkbox-list.module.d.ts +5 -3
  43. package/lib/checkbox-list/index.d.ts +1 -0
  44. package/lib/file-inputs/file-input-base.defaults.d.ts +2 -2
  45. package/lib/inputs/date-input/date-input.component.d.ts +11 -2
  46. package/lib/inputs/date-input/date-input.directive.d.ts +50 -1
  47. package/lib/inputs/date-input/date-input.module.d.ts +10 -8
  48. package/lib/inputs/digit-input/digit-input.component.d.ts +0 -1
  49. package/lib/radio/radio-group.component.d.ts +2 -2
  50. package/package.json +1 -1
  51. package/prebuilt-themes/default/calendar.css +0 -1
  52. package/prebuilt-themes/default/calendar.css.map +1 -1
  53. package/themes/default/calendar.scss +1 -1
@@ -1,5 +1,6 @@
1
1
  export * from './checkbox.component';
2
2
  export * from './checkbox.defaults';
3
+ export * from './checkbox.directives';
3
4
  export * from './checkbox.module';
4
5
  export * from './checkbox.types';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NoZWNrYm94L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NoZWNrYm94LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY2hlY2tib3guZGVmYXVsdHMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2NoZWNrYm94Lm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY2hlY2tib3gudHlwZXMnO1xyXG4iXX0=
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NoZWNrYm94L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2hlY2tib3guY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9jaGVja2JveC5kZWZhdWx0cyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY2hlY2tib3guZGlyZWN0aXZlcyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY2hlY2tib3gubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9jaGVja2JveC50eXBlcyc7XHJcblxyXG4iXX0=
@@ -1,11 +1,13 @@
1
- import { ChangeDetectionStrategy, Component, HostBinding, Inject, Input, ViewEncapsulation, computed, input, output, signal, } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, HostBinding, Inject, Input, ViewEncapsulation, computed, contentChild, input, output, signal, } from '@angular/core';
2
2
  import { coerceBooleanProperty, coerceNumberProperty } from '@ardium-ui/devkit';
3
3
  import { SimpleItemStorage } from '../_internal/item-storages/simple-item-storage';
4
4
  import { _NgModelComponentBase } from '../_internal/ngmodel-component';
5
5
  import { ARD_CHECKBOX_LIST_DEFAULTS } from './checkbox-list.defaults';
6
+ import { ArdCheckboxListCheckboxTemplateDirective } from './checkbox-list.directives';
6
7
  import * as i0 from "@angular/core";
7
8
  import * as i1 from "@angular/common";
8
9
  import * as i2 from "../checkbox/checkbox.component";
10
+ import * as i3 from "../checkbox/checkbox.internal-directives";
9
11
  export class ArdiumCheckboxListComponent extends _NgModelComponentBase {
10
12
  constructor(defaults) {
11
13
  super(defaults);
@@ -32,6 +34,8 @@ export class ArdiumCheckboxListComponent extends _NgModelComponentBase {
32
34
  this.valueChange = output();
33
35
  this.changeEvent = output({ alias: 'change' });
34
36
  this._isViewInit = false;
37
+ //! templates
38
+ this.checkboxTemplate = contentChild(ArdCheckboxListCheckboxTemplateDirective);
35
39
  }
36
40
  get _htmlIdHostAttribute() {
37
41
  return this.htmlId();
@@ -93,11 +97,11 @@ export class ArdiumCheckboxListComponent extends _NgModelComponentBase {
93
97
  this.selectItem(v);
94
98
  }
95
99
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ArdiumCheckboxListComponent, deps: [{ token: ARD_CHECKBOX_LIST_DEFAULTS }], target: i0.ɵɵFactoryTarget.Component }); }
96
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ArdiumCheckboxListComponent, selector: "ard-checkbox-list", inputs: { valueFrom: { classPropertyName: "valueFrom", publicName: "valueFrom", isSignal: true, isRequired: false, transformFunction: null }, labelFrom: { classPropertyName: "labelFrom", publicName: "labelFrom", isSignal: true, isRequired: false, transformFunction: null }, disabledFrom: { classPropertyName: "disabledFrom", publicName: "disabledFrom", isSignal: true, isRequired: false, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: false, isRequired: false, transformFunction: null }, compareWith: { classPropertyName: "compareWith", publicName: "compareWith", isSignal: true, isRequired: false, transformFunction: null }, invertDisabled: { classPropertyName: "invertDisabled", publicName: "invertDisabled", isSignal: true, isRequired: false, transformFunction: null }, maxSelectedItems: { classPropertyName: "maxSelectedItems", publicName: "maxSelectedItems", 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 }, compact: { classPropertyName: "compact", publicName: "compact", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange", changeEvent: "change" }, host: { properties: { "attr.id": "this._htmlIdHostAttribute" } }, usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"ard-checkbox-list\"\r\n [ngClass]=\"ngClasses()\"\r\n>\r\n @for (item of items; track item.index) {\r\n <div\r\n class=\"ard-checkbox-list__item\"\r\n [class.ard-item-highlighted]=\"item.highlighted()\"\r\n [class.ard-item-disabled]=\"item.disabled()\"\r\n (mouseover)=\"onItemHighlight(item)\"\r\n (mouseleave)=\"onItemBlur()\"\r\n (click)=\"toggleItem(item)\"\r\n >\r\n <div class=\"ard-focus-overlay\"></div>\r\n <ard-checkbox\r\n [selected]=\"item.selected()\"\r\n [disabled]=\"item.disabled()\"\r\n [color]=\"color()\"\r\n [htmlId]=\"htmlId() + item.index\"\r\n [tabIndex]=\"tabIndex()\"\r\n (focus)=\"onFocus($event)\"\r\n (focus)=\"onItemFocus(item)\"\r\n (blur)=\"onBlur($event)\"\r\n (blur)=\"onItemBlur()\"\r\n (select)=\"selectItem(item)\"\r\n (unselect)=\"unselectItem(item)\"\r\n (click)=\"$event.stopPropagation()\"\r\n />\r\n <label [for]=\"htmlId() + item.index\">\r\n {{ item.label() }}\r\n </label>\r\n </div>\r\n }\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.ArdiumCheckboxComponent, selector: "ard-checkbox", inputs: ["color", "unselectedColor", "state"], outputs: ["stateChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
100
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ArdiumCheckboxListComponent, selector: "ard-checkbox-list", inputs: { valueFrom: { classPropertyName: "valueFrom", publicName: "valueFrom", isSignal: true, isRequired: false, transformFunction: null }, labelFrom: { classPropertyName: "labelFrom", publicName: "labelFrom", isSignal: true, isRequired: false, transformFunction: null }, disabledFrom: { classPropertyName: "disabledFrom", publicName: "disabledFrom", isSignal: true, isRequired: false, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: false, isRequired: false, transformFunction: null }, compareWith: { classPropertyName: "compareWith", publicName: "compareWith", isSignal: true, isRequired: false, transformFunction: null }, invertDisabled: { classPropertyName: "invertDisabled", publicName: "invertDisabled", isSignal: true, isRequired: false, transformFunction: null }, maxSelectedItems: { classPropertyName: "maxSelectedItems", publicName: "maxSelectedItems", 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 }, compact: { classPropertyName: "compact", publicName: "compact", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange", changeEvent: "change" }, host: { properties: { "attr.id": "this._htmlIdHostAttribute" } }, queries: [{ propertyName: "checkboxTemplate", first: true, predicate: ArdCheckboxListCheckboxTemplateDirective, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"ard-checkbox-list\"\r\n [ngClass]=\"ngClasses()\"\r\n>\r\n @for (item of items; track item.index) {\r\n <div\r\n class=\"ard-checkbox-list__item\"\r\n [class.ard-item-highlighted]=\"item.highlighted()\"\r\n [class.ard-item-disabled]=\"item.disabled()\"\r\n (mouseover)=\"onItemHighlight(item)\"\r\n (mouseleave)=\"onItemBlur()\"\r\n (click)=\"toggleItem(item)\"\r\n >\r\n <div class=\"ard-focus-overlay\"></div>\r\n <ard-checkbox\r\n [selected]=\"item.selected()\"\r\n [disabled]=\"item.disabled()\"\r\n [color]=\"color()\"\r\n [htmlId]=\"htmlId() + item.index\"\r\n [tabIndex]=\"tabIndex()\"\r\n (focus)=\"onFocus($event)\"\r\n (focus)=\"onItemFocus(item)\"\r\n (blur)=\"onBlur($event)\"\r\n (blur)=\"onItemBlur()\"\r\n (select)=\"selectItem(item)\"\r\n (unselect)=\"unselectItem(item)\"\r\n (click)=\"$event.stopPropagation()\"\r\n >\r\n <ng-template _ard-tmp-repository [checkboxTmp]=\"checkboxTemplate()\" />\r\n </ard-checkbox>\r\n <label [for]=\"htmlId() + item.index\">\r\n {{ item.label() }}\r\n </label>\r\n </div>\r\n }\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.ArdiumCheckboxComponent, selector: "ard-checkbox", inputs: ["color", "unselectedColor", "state"], outputs: ["stateChange"] }, { kind: "directive", type: i3._CheckboxTemplateRepositoryDirective, selector: "ard-checkbox > ng-template[_ard-tmp-repository]", inputs: ["checkboxTmp"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
97
101
  }
98
102
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ArdiumCheckboxListComponent, decorators: [{
99
103
  type: Component,
100
- args: [{ selector: 'ard-checkbox-list', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\r\n class=\"ard-checkbox-list\"\r\n [ngClass]=\"ngClasses()\"\r\n>\r\n @for (item of items; track item.index) {\r\n <div\r\n class=\"ard-checkbox-list__item\"\r\n [class.ard-item-highlighted]=\"item.highlighted()\"\r\n [class.ard-item-disabled]=\"item.disabled()\"\r\n (mouseover)=\"onItemHighlight(item)\"\r\n (mouseleave)=\"onItemBlur()\"\r\n (click)=\"toggleItem(item)\"\r\n >\r\n <div class=\"ard-focus-overlay\"></div>\r\n <ard-checkbox\r\n [selected]=\"item.selected()\"\r\n [disabled]=\"item.disabled()\"\r\n [color]=\"color()\"\r\n [htmlId]=\"htmlId() + item.index\"\r\n [tabIndex]=\"tabIndex()\"\r\n (focus)=\"onFocus($event)\"\r\n (focus)=\"onItemFocus(item)\"\r\n (blur)=\"onBlur($event)\"\r\n (blur)=\"onItemBlur()\"\r\n (select)=\"selectItem(item)\"\r\n (unselect)=\"unselectItem(item)\"\r\n (click)=\"$event.stopPropagation()\"\r\n />\r\n <label [for]=\"htmlId() + item.index\">\r\n {{ item.label() }}\r\n </label>\r\n </div>\r\n }\r\n</div>\r\n" }]
104
+ args: [{ selector: 'ard-checkbox-list', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\r\n class=\"ard-checkbox-list\"\r\n [ngClass]=\"ngClasses()\"\r\n>\r\n @for (item of items; track item.index) {\r\n <div\r\n class=\"ard-checkbox-list__item\"\r\n [class.ard-item-highlighted]=\"item.highlighted()\"\r\n [class.ard-item-disabled]=\"item.disabled()\"\r\n (mouseover)=\"onItemHighlight(item)\"\r\n (mouseleave)=\"onItemBlur()\"\r\n (click)=\"toggleItem(item)\"\r\n >\r\n <div class=\"ard-focus-overlay\"></div>\r\n <ard-checkbox\r\n [selected]=\"item.selected()\"\r\n [disabled]=\"item.disabled()\"\r\n [color]=\"color()\"\r\n [htmlId]=\"htmlId() + item.index\"\r\n [tabIndex]=\"tabIndex()\"\r\n (focus)=\"onFocus($event)\"\r\n (focus)=\"onItemFocus(item)\"\r\n (blur)=\"onBlur($event)\"\r\n (blur)=\"onItemBlur()\"\r\n (select)=\"selectItem(item)\"\r\n (unselect)=\"unselectItem(item)\"\r\n (click)=\"$event.stopPropagation()\"\r\n >\r\n <ng-template _ard-tmp-repository [checkboxTmp]=\"checkboxTemplate()\" />\r\n </ard-checkbox>\r\n <label [for]=\"htmlId() + item.index\">\r\n {{ item.label() }}\r\n </label>\r\n </div>\r\n }\r\n</div>\r\n" }]
101
105
  }], ctorParameters: () => [{ type: undefined, decorators: [{
102
106
  type: Inject,
103
107
  args: [ARD_CHECKBOX_LIST_DEFAULTS]
@@ -109,4 +113,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
109
113
  }], value: [{
110
114
  type: Input
111
115
  }] } });
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NoZWNrYm94LWxpc3QvY2hlY2tib3gtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NoZWNrYm94LWxpc3QvY2hlY2tib3gtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFDTCxpQkFBaUIsRUFDakIsUUFBUSxFQUNSLEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxpQkFBaUIsRUFBeUIsTUFBTSxnREFBZ0QsQ0FBQztBQUMxRyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUl2RSxPQUFPLEVBQUUsMEJBQTBCLEVBQTJCLE1BQU0sMEJBQTBCLENBQUM7Ozs7QUFVL0YsTUFBTSxPQUFPLDJCQUE0QixTQUFRLHFCQUFxQjtJQUVwRSxZQUFnRCxRQUFpQztRQUMvRSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFRVCxhQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNuQywwQ0FBMEM7UUFDakMsb0JBQWUsR0FBRyxNQUFNLENBQU8sSUFBSSxDQUFDLENBQUM7UUFDckMsb0JBQWUsR0FBRyxNQUFNLENBQVEsS0FBSyxDQUFDLENBQUM7UUFDdkMsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIsbUJBQWMsR0FBRyxlQUFlLENBQUM7UUFFekIsaUJBQVksR0FBRyxJQUFJLGlCQUFpQixDQUFDLElBQUks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Q0FBQyxDQUFDLENBQUM7SUFDckIsQ0FBQzsrR0E5R1UsMkJBQTJCLGtCQUVsQiwwQkFBMEI7bUdBRm5DLDJCQUEyQix5b0RDN0J4QyxxbUNBa0NBOzs0RkRMYSwyQkFBMkI7a0JBUHZDLFNBQVM7K0JBQ0UsbUJBQW1CLGlCQUdkLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU07OzBCQUlsQyxNQUFNOzJCQUFDLDBCQUEwQjt5Q0FLMUMsb0JBQW9CO3NCQUR2QixXQUFXO3VCQUFDLFNBQVM7Z0JBbUJsQixLQUFLO3NCQURSLEtBQUs7Z0JBNEJGLEtBQUs7c0JBRFIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDb21wb25lbnQsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSW5qZWN0LFxyXG4gIElucHV0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIGNvbXB1dGVkLFxyXG4gIGlucHV0LFxyXG4gIG91dHB1dCxcclxuICBzaWduYWwsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSwgY29lcmNlTnVtYmVyUHJvcGVydHkgfSBmcm9tICdAYXJkaXVtLXVpL2RldmtpdCc7XHJcbmltcG9ydCB7IFNpbXBsZUl0ZW1TdG9yYWdlLCBTaW1wbGVJdGVtU3RvcmFnZUhvc3QgfSBmcm9tICcuLi9faW50ZXJuYWwvaXRlbS1zdG9yYWdlcy9zaW1wbGUtaXRlbS1zdG9yYWdlJztcclxuaW1wb3J0IHsgX05nTW9kZWxDb21wb25lbnRCYXNlIH0gZnJvbSAnLi4vX2ludGVybmFsL25nbW9kZWwtY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29tcG9uZW50Q29sb3IgfSBmcm9tICcuLi90eXBlcy9jb2xvcnMudHlwZXMnO1xyXG5pbXBvcnQgeyBBcmRPcHRpb25TaW1wbGUsIENvbXBhcmVXaXRoRm4gfSBmcm9tICcuLi90eXBlcy9pdGVtLXN0b3JhZ2UudHlwZXMnO1xyXG5pbXBvcnQgeyBOdWxsYWJsZSB9IGZyb20gJy4uL3R5cGVzL3V0aWxpdHkudHlwZXMnO1xyXG5pbXBvcnQgeyBBUkRfQ0hFQ0tCT1hfTElTVF9ERUZBVUxUUywgQXJkQ2hlY2tib3hMaXN0RGVmYXVsdHMgfSBmcm9tICcuL2NoZWNrYm94LWxpc3QuZGVmYXVsdHMnO1xyXG5pbXBvcnQgeyBDaGVja2JveExpc3RBbGlnblR5cGUgfSBmcm9tICcuL2NoZWNrYm94LWxpc3QudHlwZXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcmQtY2hlY2tib3gtbGlzdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NoZWNrYm94LWxpc3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NoZWNrYm94LWxpc3QuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXJkaXVtQ2hlY2tib3hMaXN0Q29tcG9uZW50IGV4dGVuZHMgX05nTW9kZWxDb21wb25lbnRCYXNlIGltcGxlbWVudHMgU2ltcGxlSXRlbVN0b3JhZ2VIb3N0LCBBZnRlclZpZXdJbml0IHtcclxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVhZG9ubHkgX0RFRkFVTFRTITogQXJkQ2hlY2tib3hMaXN0RGVmYXVsdHM7XHJcbiAgY29uc3RydWN0b3IoQEluamVjdChBUkRfQ0hFQ0tCT1hfTElTVF9ERUZBVUxUUykgZGVmYXVsdHM6IEFyZENoZWNrYm94TGlzdERlZmF1bHRzKSB7XHJcbiAgICBzdXBlcihkZWZhdWx0cyk7XHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoJ2F0dHIuaWQnKVxyXG4gIGdldCBfaHRtbElkSG9zdEF0dHJpYnV0ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmh0bWxJZCgpO1xyXG4gIH1cclxuXHJcbiAgcmVhZG9ubHkgREVGQVVMVFMgPSB0aGlzLl9ERUZBVUxUUztcclxuICAvLyBzdGF0aWMgdmFsdWVzLiBOb3QgbWVhbnQgdG8gYmUgY2hhbmdlZC5cclxuICByZWFkb25seSBtdWx0aXNlbGVjdGFibGUgPSBzaWduYWw8dHJ1ZT4odHJ1ZSk7XHJcbiAgcmVhZG9ubHkgaXNWYWx1ZVJlcXVpcmVkID0gc2lnbmFsPGZhbHNlPihmYWxzZSk7XHJcbiAgcmVhZG9ubHkgX2NvbXBvbmVudElkID0gJzMwMCc7XHJcbiAgcmVhZG9ubHkgX2NvbXBvbmVudE5hbWUgPSAnY2hlY2tib3gtbGlzdCc7XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2l0ZW1TdG9yYWdlID0gbmV3IFNpbXBsZUl0ZW1TdG9yYWdlKHRoaXMpO1xyXG5cclxuICByZWFkb25seSB2YWx1ZUZyb20gPSBpbnB1dDxzdHJpbmc+KHRoaXMuREVGQVVMVFMudmFsdWVGcm9tKTtcclxuICByZWFkb25seSBsYWJlbEZyb20gPSBpbnB1dDxzdHJpbmc+KHRoaXMuREVGQVVMVFMubGFiZWxGcm9tKTtcclxuICByZWFkb25seSBkaXNhYmxlZEZyb20gPSBpbnB1dDxzdHJpbmc+KHRoaXMuREVGQVVMVFMuZGlzYWJsZWRGcm9tKTtcclxuXHJcbiAgQElucHV0KClcclxuICBzZXQgaXRlbXModjogYW55W10pIHtcclxuICAgIHRoaXMuX2l0ZW1TdG9yYWdlLnNldEl0ZW1zKHYpO1xyXG4gIH1cclxuICBnZXQgaXRlbXMoKTogQXJkT3B0aW9uU2ltcGxlW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2l0ZW1TdG9yYWdlLml0ZW1zKCk7XHJcbiAgfVxyXG5cclxuICByZWFkb25seSBjb21wYXJlV2l0aCA9IGlucHV0PE51bGxhYmxlPENvbXBhcmVXaXRoRm4+Pih0aGlzLl9ERUZBVUxUUy5jb21wYXJlV2l0aCk7XHJcblxyXG4gIHJlYWRvbmx5IGludmVydERpc2FibGVkID0gaW5wdXQ8Ym9vbGVhbiwgYW55Pih0aGlzLl9ERUZBVUxUUy5pbnZlcnREaXNhYmxlZCwgeyB0cmFuc2Zvcm06IHYgPT4gY29lcmNlQm9vbGVhblByb3BlcnR5KHYpIH0pO1xyXG5cclxuICByZWFkb25seSBtYXhTZWxlY3RlZEl0ZW1zID0gaW5wdXQ8bnVtYmVyLCBhbnk+KHRoaXMuX0RFRkFVTFRTLm1heFNlbGVjdGVkSXRlbXMsIHtcclxuICAgIHRyYW5zZm9ybTogdiA9PiBjb2VyY2VOdW1iZXJQcm9wZXJ0eSh2LCB0aGlzLl9ERUZBVUxUUy5tYXhTZWxlY3RlZEl0ZW1zKSxcclxuICB9KTtcclxuXHJcbiAgLy8hIGFwcGVhcmFuY2VcclxuICByZWFkb25seSBjb2xvciA9IGlucHV0PENvbXBvbmVudENvbG9yPih0aGlzLl9ERUZBVUxUUy5jb2xvcik7XHJcbiAgcmVhZG9ubHkgYWxpZ24gPSBpbnB1dDxDaGVja2JveExpc3RBbGlnblR5cGU+KHRoaXMuX0RFRkFVTFRTLmFsaWduKTtcclxuXHJcbiAgcmVhZG9ubHkgY29tcGFjdCA9IGlucHV0PGJvb2xlYW4sIGFueT4odGhpcy5fREVGQVVMVFMuY29tcGFjdCwgeyB0cmFuc2Zvcm06IHYgPT4gY29lcmNlQm9vbGVhblByb3BlcnR5KHYpIH0pO1xyXG5cclxuICByZWFkb25seSBuZ0NsYXNzZXMgPSBjb21wdXRlZCgoKSA9PlxyXG4gICAgW2BhcmQtY29sb3ItJHt0aGlzLmNvbG9yKCl9YCwgYGFyZC1hbGlnbi0ke3RoaXMuYWxpZ24oKX1gLCB0aGlzLmNvbXBhY3QoKSA/ICdhcmQtY29tcGFjdCcgOiAnJ10uam9pbignICcpXHJcbiAgKTtcclxuXHJcbiAgLy8hIHZhbHVlXHJcbiAgQElucHV0KClcclxuICBnZXQgdmFsdWUoKTogYW55IHtcclxuICAgIHJldHVybiB0aGlzLl9pdGVtU3RvcmFnZS52YWx1ZSgpO1xyXG4gIH1cclxuICBzZXQgdmFsdWUodjogYW55KSB7XHJcbiAgICB0aGlzLndyaXRlVmFsdWUodik7XHJcbiAgfVxyXG5cclxuICByZWFkb25seSB2YWx1ZUNoYW5nZSA9IG91dHB1dDxhbnk+KCk7XHJcbiAgcmVhZG9ubHkgY2hhbmdlRXZlbnQgPSBvdXRwdXQ8YW55Pih7IGFsaWFzOiAnY2hhbmdlJyB9KTtcclxuXHJcbiAgcHJpdmF0ZSBfdmFsdWVCZWZvcmVJbml0OiBhbnk7XHJcbiAgd3JpdGVWYWx1ZSh2OiBhbnkpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5faXNWaWV3SW5pdCkge1xyXG4gICAgICB0aGlzLl92YWx1ZUJlZm9yZUluaXQgPSB2O1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLl9pdGVtU3RvcmFnZS53cml0ZVZhbHVlKHYpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfaXNWaWV3SW5pdCA9IGZhbHNlO1xyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2lzVmlld0luaXQgPSB0cnVlO1xyXG5cclxuICAgIGlmICh0aGlzLl92YWx1ZUJlZm9yZUluaXQpIHtcclxuICAgICAgdGhpcy53cml0ZVZhbHVlKHRoaXMuX3ZhbHVlQmVmb3JlSW5pdCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgX2VtaXRDaGFuZ2UoKTogdm9pZCB7XHJcbiAgICBjb25zdCB2ID0gdGhpcy52YWx1ZTtcclxuICAgIHRoaXMuX29uQ2hhbmdlUmVnaXN0ZXJlZD8uKHYpO1xyXG4gICAgdGhpcy5jaGFuZ2VFdmVudC5lbWl0KHYpO1xyXG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHYpO1xyXG4gIH1cclxuXHJcbiAgb25JdGVtSGlnaGxpZ2h0KHY6IEFyZE9wdGlvblNpbXBsZSk6IHZvaWQge1xyXG4gICAgdGhpcy5faXRlbVN0b3JhZ2UuaGlnaGxpZ2h0U2luZ2xlSXRlbSh2KTtcclxuICB9XHJcbiAgb25JdGVtRm9jdXModjogQXJkT3B0aW9uU2ltcGxlKTogdm9pZCB7XHJcbiAgICB0aGlzLl9pdGVtU3RvcmFnZS5oaWdobGlnaHRTaW5nbGVJdGVtKHYpO1xyXG4gIH1cclxuICBvbkl0ZW1CbHVyKCk6IHZvaWQge1xyXG4gICAgdGhpcy5faXRlbVN0b3JhZ2UudW5oaWdobGlnaHRBbGwoKTtcclxuICB9XHJcbiAgc2VsZWN0SXRlbSh2OiBBcmRPcHRpb25TaW1wbGUpOiB2b2lkIHtcclxuICAgIHRoaXMuX2l0ZW1TdG9yYWdlLnNlbGVjdEl0ZW0odik7XHJcbiAgICB0aGlzLl9lbWl0Q2hhbmdlKCk7XHJcbiAgfVxyXG4gIHVuc2VsZWN0SXRlbSh2OiBBcmRPcHRpb25TaW1wbGUpOiB2b2lkIHtcclxuICAgIHRoaXMuX2l0ZW1TdG9yYWdlLnVuc2VsZWN0SXRlbSh2KTtcclxuICAgIHRoaXMuX2VtaXRDaGFuZ2UoKTtcclxuICB9XHJcbiAgdG9nZ2xlSXRlbSh2OiBBcmRPcHRpb25TaW1wbGUpOiB2b2lkIHtcclxuICAgIGlmICh2LnNlbGVjdGVkKCkpIHtcclxuICAgICAgdGhpcy51bnNlbGVjdEl0ZW0odik7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuc2VsZWN0SXRlbSh2KTtcclxuICB9XHJcbn1cclxuIiwiPGRpdlxyXG4gIGNsYXNzPVwiYXJkLWNoZWNrYm94LWxpc3RcIlxyXG4gIFtuZ0NsYXNzXT1cIm5nQ2xhc3NlcygpXCJcclxuPlxyXG4gIEBmb3IgKGl0ZW0gb2YgaXRlbXM7IHRyYWNrIGl0ZW0uaW5kZXgpIHtcclxuICAgIDxkaXZcclxuICAgICAgY2xhc3M9XCJhcmQtY2hlY2tib3gtbGlzdF9faXRlbVwiXHJcbiAgICAgIFtjbGFzcy5hcmQtaXRlbS1oaWdobGlnaHRlZF09XCJpdGVtLmhpZ2hsaWdodGVkKClcIlxyXG4gICAgICBbY2xhc3MuYXJkLWl0ZW0tZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZCgpXCJcclxuICAgICAgKG1vdXNlb3Zlcik9XCJvbkl0ZW1IaWdobGlnaHQoaXRlbSlcIlxyXG4gICAgICAobW91c2VsZWF2ZSk9XCJvbkl0ZW1CbHVyKClcIlxyXG4gICAgICAoY2xpY2spPVwidG9nZ2xlSXRlbShpdGVtKVwiXHJcbiAgICA+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJhcmQtZm9jdXMtb3ZlcmxheVwiPjwvZGl2PlxyXG4gICAgICA8YXJkLWNoZWNrYm94XHJcbiAgICAgICAgW3NlbGVjdGVkXT1cIml0ZW0uc2VsZWN0ZWQoKVwiXHJcbiAgICAgICAgW2Rpc2FibGVkXT1cIml0ZW0uZGlzYWJsZWQoKVwiXHJcbiAgICAgICAgW2NvbG9yXT1cImNvbG9yKClcIlxyXG4gICAgICAgIFtodG1sSWRdPVwiaHRtbElkKCkgKyBpdGVtLmluZGV4XCJcclxuICAgICAgICBbdGFiSW5kZXhdPVwidGFiSW5kZXgoKVwiXHJcbiAgICAgICAgKGZvY3VzKT1cIm9uRm9jdXMoJGV2ZW50KVwiXHJcbiAgICAgICAgKGZvY3VzKT1cIm9uSXRlbUZvY3VzKGl0ZW0pXCJcclxuICAgICAgICAoYmx1cik9XCJvbkJsdXIoJGV2ZW50KVwiXHJcbiAgICAgICAgKGJsdXIpPVwib25JdGVtQmx1cigpXCJcclxuICAgICAgICAoc2VsZWN0KT1cInNlbGVjdEl0ZW0oaXRlbSlcIlxyXG4gICAgICAgICh1bnNlbGVjdCk9XCJ1bnNlbGVjdEl0ZW0oaXRlbSlcIlxyXG4gICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxyXG4gICAgICAvPlxyXG4gICAgICA8bGFiZWwgW2Zvcl09XCJodG1sSWQoKSArIGl0ZW0uaW5kZXhcIj5cclxuICAgICAgICB7eyBpdGVtLmxhYmVsKCkgfX1cclxuICAgICAgPC9sYWJlbD5cclxuICAgIDwvZGl2PlxyXG4gIH1cclxuPC9kaXY+XHJcbiJdfQ==
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NoZWNrYm94LWxpc3QvY2hlY2tib3gtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NoZWNrYm94LWxpc3QvY2hlY2tib3gtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFDTCxpQkFBaUIsRUFDakIsUUFBUSxFQUNSLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUscUJBQXFCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNoRixPQUFPLEVBQUUsaUJBQWlCLEVBQXlCLE1BQU0sZ0RBQWdELENBQUM7QUFDMUcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFJdkUsT0FBTyxFQUFFLDBCQUEwQixFQUEyQixNQUFNLDBCQUEwQixDQUFDO0FBQy9GLE9BQU8sRUFBRSx3Q0FBd0MsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7OztBQVV0RixNQUFNLE9BQU8sMkJBQTRCLFNBQVEscUJBQXFCO0lBRXBFLFlBQWdELFFBQWlDO1FBQy9FLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQVFULGFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ25DLDBDQUEwQztRQUNqQyxvQkFBZSxHQUFHLE1BQU0sQ0FBTyxJQUFJLENBQUMsQ0FBQztRQUNyQyxvQkFBZSxHQUFHLE1BQU0sQ0FBUSxLQUFLLENBQUMsQ0FBQztRQUN2QyxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUNyQixtQkFB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Q0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDckIsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7K0dBOUdVLDJCQUEyQixrQkFFbEIsMEJBQTBCO21HQUZuQywyQkFBMkIsZ3FEQWlIRyx3Q0FBd0MsdUZDaEpuRixpdENBb0NBOzs0RkRMYSwyQkFBMkI7a0JBUHZDLFNBQVM7K0JBQ0UsbUJBQW1CLGlCQUdkLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU07OzBCQUlsQyxNQUFNOzJCQUFDLDBCQUEwQjt5Q0FLMUMsb0JBQW9CO3NCQUR2QixXQUFXO3VCQUFDLFNBQVM7Z0JBbUJsQixLQUFLO3NCQURSLEtBQUs7Z0JBNEJGLEtBQUs7c0JBRFIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDb21wb25lbnQsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSW5qZWN0LFxyXG4gIElucHV0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIGNvbXB1dGVkLFxyXG4gIGNvbnRlbnRDaGlsZCxcclxuICBpbnB1dCxcclxuICBvdXRwdXQsXHJcbiAgc2lnbmFsLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHksIGNvZXJjZU51bWJlclByb3BlcnR5IH0gZnJvbSAnQGFyZGl1bS11aS9kZXZraXQnO1xyXG5pbXBvcnQgeyBTaW1wbGVJdGVtU3RvcmFnZSwgU2ltcGxlSXRlbVN0b3JhZ2VIb3N0IH0gZnJvbSAnLi4vX2ludGVybmFsL2l0ZW0tc3RvcmFnZXMvc2ltcGxlLWl0ZW0tc3RvcmFnZSc7XHJcbmltcG9ydCB7IF9OZ01vZGVsQ29tcG9uZW50QmFzZSB9IGZyb20gJy4uL19pbnRlcm5hbC9uZ21vZGVsLWNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbXBvbmVudENvbG9yIH0gZnJvbSAnLi4vdHlwZXMvY29sb3JzLnR5cGVzJztcclxuaW1wb3J0IHsgQXJkT3B0aW9uU2ltcGxlLCBDb21wYXJlV2l0aEZuIH0gZnJvbSAnLi4vdHlwZXMvaXRlbS1zdG9yYWdlLnR5cGVzJztcclxuaW1wb3J0IHsgTnVsbGFibGUgfSBmcm9tICcuLi90eXBlcy91dGlsaXR5LnR5cGVzJztcclxuaW1wb3J0IHsgQVJEX0NIRUNLQk9YX0xJU1RfREVGQVVMVFMsIEFyZENoZWNrYm94TGlzdERlZmF1bHRzIH0gZnJvbSAnLi9jaGVja2JveC1saXN0LmRlZmF1bHRzJztcclxuaW1wb3J0IHsgQXJkQ2hlY2tib3hMaXN0Q2hlY2tib3hUZW1wbGF0ZURpcmVjdGl2ZSB9IGZyb20gJy4vY2hlY2tib3gtbGlzdC5kaXJlY3RpdmVzJztcclxuaW1wb3J0IHsgQ2hlY2tib3hMaXN0QWxpZ25UeXBlIH0gZnJvbSAnLi9jaGVja2JveC1saXN0LnR5cGVzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXJkLWNoZWNrYm94LWxpc3QnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGVja2JveC1saXN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jaGVja2JveC1saXN0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFyZGl1bUNoZWNrYm94TGlzdENvbXBvbmVudCBleHRlbmRzIF9OZ01vZGVsQ29tcG9uZW50QmFzZSBpbXBsZW1lbnRzIFNpbXBsZUl0ZW1TdG9yYWdlSG9zdCwgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlYWRvbmx5IF9ERUZBVUxUUyE6IEFyZENoZWNrYm94TGlzdERlZmF1bHRzO1xyXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoQVJEX0NIRUNLQk9YX0xJU1RfREVGQVVMVFMpIGRlZmF1bHRzOiBBcmRDaGVja2JveExpc3REZWZhdWx0cykge1xyXG4gICAgc3VwZXIoZGVmYXVsdHMpO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmlkJylcclxuICBnZXQgX2h0bWxJZEhvc3RBdHRyaWJ1dGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odG1sSWQoKTtcclxuICB9XHJcblxyXG4gIHJlYWRvbmx5IERFRkFVTFRTID0gdGhpcy5fREVGQVVMVFM7XHJcbiAgLy8gc3RhdGljIHZhbHVlcy4gTm90IG1lYW50IHRvIGJlIGNoYW5nZWQuXHJcbiAgcmVhZG9ubHkgbXVsdGlzZWxlY3RhYmxlID0gc2lnbmFsPHRydWU+KHRydWUpO1xyXG4gIHJlYWRvbmx5IGlzVmFsdWVSZXF1aXJlZCA9IHNpZ25hbDxmYWxzZT4oZmFsc2UpO1xyXG4gIHJlYWRvbmx5IF9jb21wb25lbnRJZCA9ICczMDAnO1xyXG4gIHJlYWRvbmx5IF9jb21wb25lbnROYW1lID0gJ2NoZWNrYm94LWxpc3QnO1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IF9pdGVtU3RvcmFnZSA9IG5ldyBTaW1wbGVJdGVtU3RvcmFnZSh0aGlzKTtcclxuXHJcbiAgcmVhZG9ubHkgdmFsdWVGcm9tID0gaW5wdXQ8c3RyaW5nPih0aGlzLkRFRkFVTFRTLnZhbHVlRnJvbSk7XHJcbiAgcmVhZG9ubHkgbGFiZWxGcm9tID0gaW5wdXQ8c3RyaW5nPih0aGlzLkRFRkFVTFRTLmxhYmVsRnJvbSk7XHJcbiAgcmVhZG9ubHkgZGlzYWJsZWRGcm9tID0gaW5wdXQ8c3RyaW5nPih0aGlzLkRFRkFVTFRTLmRpc2FibGVkRnJvbSk7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGl0ZW1zKHY6IGFueVtdKSB7XHJcbiAgICB0aGlzLl9pdGVtU3RvcmFnZS5zZXRJdGVtcyh2KTtcclxuICB9XHJcbiAgZ2V0IGl0ZW1zKCk6IEFyZE9wdGlvblNpbXBsZVtdIHtcclxuICAgIHJldHVybiB0aGlzLl9pdGVtU3RvcmFnZS5pdGVtcygpO1xyXG4gIH1cclxuXHJcbiAgcmVhZG9ubHkgY29tcGFyZVdpdGggPSBpbnB1dDxOdWxsYWJsZTxDb21wYXJlV2l0aEZuPj4odGhpcy5fREVGQVVMVFMuY29tcGFyZVdpdGgpO1xyXG5cclxuICByZWFkb25seSBpbnZlcnREaXNhYmxlZCA9IGlucHV0PGJvb2xlYW4sIGFueT4odGhpcy5fREVGQVVMVFMuaW52ZXJ0RGlzYWJsZWQsIHsgdHJhbnNmb3JtOiB2ID0+IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2KSB9KTtcclxuXHJcbiAgcmVhZG9ubHkgbWF4U2VsZWN0ZWRJdGVtcyA9IGlucHV0PG51bWJlciwgYW55Pih0aGlzLl9ERUZBVUxUUy5tYXhTZWxlY3RlZEl0ZW1zLCB7XHJcbiAgICB0cmFuc2Zvcm06IHYgPT4gY29lcmNlTnVtYmVyUHJvcGVydHkodiwgdGhpcy5fREVGQVVMVFMubWF4U2VsZWN0ZWRJdGVtcyksXHJcbiAgfSk7XHJcblxyXG4gIC8vISBhcHBlYXJhbmNlXHJcbiAgcmVhZG9ubHkgY29sb3IgPSBpbnB1dDxDb21wb25lbnRDb2xvcj4odGhpcy5fREVGQVVMVFMuY29sb3IpO1xyXG4gIHJlYWRvbmx5IGFsaWduID0gaW5wdXQ8Q2hlY2tib3hMaXN0QWxpZ25UeXBlPih0aGlzLl9ERUZBVUxUUy5hbGlnbik7XHJcblxyXG4gIHJlYWRvbmx5IGNvbXBhY3QgPSBpbnB1dDxib29sZWFuLCBhbnk+KHRoaXMuX0RFRkFVTFRTLmNvbXBhY3QsIHsgdHJhbnNmb3JtOiB2ID0+IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2KSB9KTtcclxuXHJcbiAgcmVhZG9ubHkgbmdDbGFzc2VzID0gY29tcHV0ZWQoKCkgPT5cclxuICAgIFtgYXJkLWNvbG9yLSR7dGhpcy5jb2xvcigpfWAsIGBhcmQtYWxpZ24tJHt0aGlzLmFsaWduKCl9YCwgdGhpcy5jb21wYWN0KCkgPyAnYXJkLWNvbXBhY3QnIDogJyddLmpvaW4oJyAnKVxyXG4gICk7XHJcblxyXG4gIC8vISB2YWx1ZVxyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IHZhbHVlKCk6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy5faXRlbVN0b3JhZ2UudmFsdWUoKTtcclxuICB9XHJcbiAgc2V0IHZhbHVlKHY6IGFueSkge1xyXG4gICAgdGhpcy53cml0ZVZhbHVlKHYpO1xyXG4gIH1cclxuXHJcbiAgcmVhZG9ubHkgdmFsdWVDaGFuZ2UgPSBvdXRwdXQ8YW55PigpO1xyXG4gIHJlYWRvbmx5IGNoYW5nZUV2ZW50ID0gb3V0cHV0PGFueT4oeyBhbGlhczogJ2NoYW5nZScgfSk7XHJcblxyXG4gIHByaXZhdGUgX3ZhbHVlQmVmb3JlSW5pdDogYW55O1xyXG4gIHdyaXRlVmFsdWUodjogYW55KTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuX2lzVmlld0luaXQpIHtcclxuICAgICAgdGhpcy5fdmFsdWVCZWZvcmVJbml0ID0gdjtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5faXRlbVN0b3JhZ2Uud3JpdGVWYWx1ZSh2KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2lzVmlld0luaXQgPSBmYWxzZTtcclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9pc1ZpZXdJbml0ID0gdHJ1ZTtcclxuXHJcbiAgICBpZiAodGhpcy5fdmFsdWVCZWZvcmVJbml0KSB7XHJcbiAgICAgIHRoaXMud3JpdGVWYWx1ZSh0aGlzLl92YWx1ZUJlZm9yZUluaXQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIF9lbWl0Q2hhbmdlKCk6IHZvaWQge1xyXG4gICAgY29uc3QgdiA9IHRoaXMudmFsdWU7XHJcbiAgICB0aGlzLl9vbkNoYW5nZVJlZ2lzdGVyZWQ/Lih2KTtcclxuICAgIHRoaXMuY2hhbmdlRXZlbnQuZW1pdCh2KTtcclxuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh2KTtcclxuICB9XHJcblxyXG4gIG9uSXRlbUhpZ2hsaWdodCh2OiBBcmRPcHRpb25TaW1wbGUpOiB2b2lkIHtcclxuICAgIHRoaXMuX2l0ZW1TdG9yYWdlLmhpZ2hsaWdodFNpbmdsZUl0ZW0odik7XHJcbiAgfVxyXG4gIG9uSXRlbUZvY3VzKHY6IEFyZE9wdGlvblNpbXBsZSk6IHZvaWQge1xyXG4gICAgdGhpcy5faXRlbVN0b3JhZ2UuaGlnaGxpZ2h0U2luZ2xlSXRlbSh2KTtcclxuICB9XHJcbiAgb25JdGVtQmx1cigpOiB2b2lkIHtcclxuICAgIHRoaXMuX2l0ZW1TdG9yYWdlLnVuaGlnaGxpZ2h0QWxsKCk7XHJcbiAgfVxyXG4gIHNlbGVjdEl0ZW0odjogQXJkT3B0aW9uU2ltcGxlKTogdm9pZCB7XHJcbiAgICB0aGlzLl9pdGVtU3RvcmFnZS5zZWxlY3RJdGVtKHYpO1xyXG4gICAgdGhpcy5fZW1pdENoYW5nZSgpO1xyXG4gIH1cclxuICB1bnNlbGVjdEl0ZW0odjogQXJkT3B0aW9uU2ltcGxlKTogdm9pZCB7XHJcbiAgICB0aGlzLl9pdGVtU3RvcmFnZS51bnNlbGVjdEl0ZW0odik7XHJcbiAgICB0aGlzLl9lbWl0Q2hhbmdlKCk7XHJcbiAgfVxyXG4gIHRvZ2dsZUl0ZW0odjogQXJkT3B0aW9uU2ltcGxlKTogdm9pZCB7XHJcbiAgICBpZiAodi5zZWxlY3RlZCgpKSB7XHJcbiAgICAgIHRoaXMudW5zZWxlY3RJdGVtKHYpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLnNlbGVjdEl0ZW0odik7XHJcbiAgfVxyXG5cclxuICAvLyEgdGVtcGxhdGVzXHJcbiAgcmVhZG9ubHkgY2hlY2tib3hUZW1wbGF0ZSA9IGNvbnRlbnRDaGlsZChBcmRDaGVja2JveExpc3RDaGVja2JveFRlbXBsYXRlRGlyZWN0aXZlKTtcclxufVxyXG4iLCI8ZGl2XHJcbiAgY2xhc3M9XCJhcmQtY2hlY2tib3gtbGlzdFwiXHJcbiAgW25nQ2xhc3NdPVwibmdDbGFzc2VzKClcIlxyXG4+XHJcbiAgQGZvciAoaXRlbSBvZiBpdGVtczsgdHJhY2sgaXRlbS5pbmRleCkge1xyXG4gICAgPGRpdlxyXG4gICAgICBjbGFzcz1cImFyZC1jaGVja2JveC1saXN0X19pdGVtXCJcclxuICAgICAgW2NsYXNzLmFyZC1pdGVtLWhpZ2hsaWdodGVkXT1cIml0ZW0uaGlnaGxpZ2h0ZWQoKVwiXHJcbiAgICAgIFtjbGFzcy5hcmQtaXRlbS1kaXNhYmxlZF09XCJpdGVtLmRpc2FibGVkKClcIlxyXG4gICAgICAobW91c2VvdmVyKT1cIm9uSXRlbUhpZ2hsaWdodChpdGVtKVwiXHJcbiAgICAgIChtb3VzZWxlYXZlKT1cIm9uSXRlbUJsdXIoKVwiXHJcbiAgICAgIChjbGljayk9XCJ0b2dnbGVJdGVtKGl0ZW0pXCJcclxuICAgID5cclxuICAgICAgPGRpdiBjbGFzcz1cImFyZC1mb2N1cy1vdmVybGF5XCI+PC9kaXY+XHJcbiAgICAgIDxhcmQtY2hlY2tib3hcclxuICAgICAgICBbc2VsZWN0ZWRdPVwiaXRlbS5zZWxlY3RlZCgpXCJcclxuICAgICAgICBbZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZCgpXCJcclxuICAgICAgICBbY29sb3JdPVwiY29sb3IoKVwiXHJcbiAgICAgICAgW2h0bWxJZF09XCJodG1sSWQoKSArIGl0ZW0uaW5kZXhcIlxyXG4gICAgICAgIFt0YWJJbmRleF09XCJ0YWJJbmRleCgpXCJcclxuICAgICAgICAoZm9jdXMpPVwib25Gb2N1cygkZXZlbnQpXCJcclxuICAgICAgICAoZm9jdXMpPVwib25JdGVtRm9jdXMoaXRlbSlcIlxyXG4gICAgICAgIChibHVyKT1cIm9uQmx1cigkZXZlbnQpXCJcclxuICAgICAgICAoYmx1cik9XCJvbkl0ZW1CbHVyKClcIlxyXG4gICAgICAgIChzZWxlY3QpPVwic2VsZWN0SXRlbShpdGVtKVwiXHJcbiAgICAgICAgKHVuc2VsZWN0KT1cInVuc2VsZWN0SXRlbShpdGVtKVwiXHJcbiAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXHJcbiAgICAgID5cclxuICAgICAgICA8bmctdGVtcGxhdGUgX2FyZC10bXAtcmVwb3NpdG9yeSBbY2hlY2tib3hUbXBdPVwiY2hlY2tib3hUZW1wbGF0ZSgpXCIgLz5cclxuICAgICAgPC9hcmQtY2hlY2tib3g+XHJcbiAgICAgIDxsYWJlbCBbZm9yXT1cImh0bWxJZCgpICsgaXRlbS5pbmRleFwiPlxyXG4gICAgICAgIHt7IGl0ZW0ubGFiZWwoKSB9fVxyXG4gICAgICA8L2xhYmVsPlxyXG4gICAgPC9kaXY+XHJcbiAgfVxyXG48L2Rpdj5cclxuIl19
@@ -0,0 +1,14 @@
1
+ import { Directive } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class ArdCheckboxListCheckboxTemplateDirective {
4
+ constructor(template) {
5
+ this.template = template;
6
+ }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ArdCheckboxListCheckboxTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
8
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: ArdCheckboxListCheckboxTemplateDirective, selector: "ard-checkbox-list > ng-template[ard-checkbox-tmp]", ngImport: i0 }); }
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ArdCheckboxListCheckboxTemplateDirective, decorators: [{
11
+ type: Directive,
12
+ args: [{ selector: 'ard-checkbox-list > ng-template[ard-checkbox-tmp]' }]
13
+ }], ctorParameters: () => [{ type: i0.TemplateRef }] });
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtbGlzdC5kaXJlY3RpdmVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9jaGVja2JveC1saXN0L2NoZWNrYm94LWxpc3QuZGlyZWN0aXZlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFlLE1BQU0sZUFBZSxDQUFDOztBQUl2RCxNQUFNLE9BQU8sd0NBQXdDO0lBQ25ELFlBQW1CLFFBQThDO1FBQTlDLGFBQVEsR0FBUixRQUFRLENBQXNDO0lBQUcsQ0FBQzsrR0FEMUQsd0NBQXdDO21HQUF4Qyx3Q0FBd0M7OzRGQUF4Qyx3Q0FBd0M7a0JBRHBELFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsbURBQW1ELEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENoZWNrYm94VGVtcGxhdGVDb250ZXh0IH0gZnJvbSAnLi4vY2hlY2tib3gvY2hlY2tib3gudHlwZXMnO1xyXG5cclxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnYXJkLWNoZWNrYm94LWxpc3QgPiBuZy10ZW1wbGF0ZVthcmQtY2hlY2tib3gtdG1wXScgfSlcclxuZXhwb3J0IGNsYXNzIEFyZENoZWNrYm94TGlzdENoZWNrYm94VGVtcGxhdGVEaXJlY3RpdmUge1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8Q2hlY2tib3hUZW1wbGF0ZUNvbnRleHQ+KSB7fVxyXG59XHJcbiJdfQ==
@@ -1,19 +1,21 @@
1
- import { NgModule } from '@angular/core';
2
1
  import { CommonModule } from '@angular/common';
3
- import { ArdiumCheckboxListComponent } from './checkbox-list.component';
2
+ import { NgModule } from '@angular/core';
3
+ import { _CheckboxTemplateRepositoryDirective } from '../checkbox/checkbox.internal-directives';
4
4
  import { ArdiumCheckboxModule } from '../checkbox/checkbox.module';
5
+ import { ArdiumCheckboxListComponent } from './checkbox-list.component';
6
+ import { ArdCheckboxListCheckboxTemplateDirective } from './checkbox-list.directives';
5
7
  import * as i0 from "@angular/core";
6
8
  export class ArdiumCheckboxListModule {
7
9
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ArdiumCheckboxListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: ArdiumCheckboxListModule, declarations: [ArdiumCheckboxListComponent], imports: [CommonModule, ArdiumCheckboxModule], exports: [ArdiumCheckboxListComponent] }); }
10
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: ArdiumCheckboxListModule, declarations: [ArdiumCheckboxListComponent, ArdCheckboxListCheckboxTemplateDirective], imports: [CommonModule, ArdiumCheckboxModule, _CheckboxTemplateRepositoryDirective], exports: [ArdiumCheckboxListComponent, ArdCheckboxListCheckboxTemplateDirective] }); }
9
11
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ArdiumCheckboxListModule, imports: [CommonModule, ArdiumCheckboxModule] }); }
10
12
  }
11
13
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ArdiumCheckboxListModule, decorators: [{
12
14
  type: NgModule,
13
15
  args: [{
14
- declarations: [ArdiumCheckboxListComponent],
15
- imports: [CommonModule, ArdiumCheckboxModule],
16
- exports: [ArdiumCheckboxListComponent],
16
+ declarations: [ArdiumCheckboxListComponent, ArdCheckboxListCheckboxTemplateDirective],
17
+ imports: [CommonModule, ArdiumCheckboxModule, _CheckboxTemplateRepositoryDirective],
18
+ exports: [ArdiumCheckboxListComponent, ArdCheckboxListCheckboxTemplateDirective],
17
19
  }]
18
20
  }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtbGlzdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NoZWNrYm94LWxpc3QvY2hlY2tib3gtbGlzdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDeEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7O0FBT25FLE1BQU0sT0FBTyx3QkFBd0I7K0dBQXhCLHdCQUF3QjtnSEFBeEIsd0JBQXdCLGlCQUpwQiwyQkFBMkIsYUFDaEMsWUFBWSxFQUFFLG9CQUFvQixhQUNsQywyQkFBMkI7Z0hBRTFCLHdCQUF3QixZQUh6QixZQUFZLEVBQUUsb0JBQW9COzs0RkFHakMsd0JBQXdCO2tCQUxwQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLDJCQUEyQixDQUFDO29CQUMzQyxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLENBQUM7b0JBQzdDLE9BQU8sRUFBRSxDQUFDLDJCQUEyQixDQUFDO2lCQUN2QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEFyZGl1bUNoZWNrYm94TGlzdENvbXBvbmVudCB9IGZyb20gJy4vY2hlY2tib3gtbGlzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBcmRpdW1DaGVja2JveE1vZHVsZSB9IGZyb20gJy4uL2NoZWNrYm94L2NoZWNrYm94Lm1vZHVsZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW0FyZGl1bUNoZWNrYm94TGlzdENvbXBvbmVudF0sXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQXJkaXVtQ2hlY2tib3hNb2R1bGVdLFxyXG4gIGV4cG9ydHM6IFtBcmRpdW1DaGVja2JveExpc3RDb21wb25lbnRdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXJkaXVtQ2hlY2tib3hMaXN0TW9kdWxlIHt9XHJcbiJdfQ==
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtbGlzdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NoZWNrYm94LWxpc3QvY2hlY2tib3gtbGlzdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDaEcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDbkUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDeEUsT0FBTyxFQUFFLHdDQUF3QyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBT3RGLE1BQU0sT0FBTyx3QkFBd0I7K0dBQXhCLHdCQUF3QjtnSEFBeEIsd0JBQXdCLGlCQUpwQiwyQkFBMkIsRUFBRSx3Q0FBd0MsYUFDMUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLG9DQUFvQyxhQUN4RSwyQkFBMkIsRUFBRSx3Q0FBd0M7Z0hBRXBFLHdCQUF3QixZQUh6QixZQUFZLEVBQUUsb0JBQW9COzs0RkFHakMsd0JBQXdCO2tCQUxwQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLDJCQUEyQixFQUFFLHdDQUF3QyxDQUFDO29CQUNyRixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsb0NBQW9DLENBQUM7b0JBQ25GLE9BQU8sRUFBRSxDQUFDLDJCQUEyQixFQUFFLHdDQUF3QyxDQUFDO2lCQUNqRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IF9DaGVja2JveFRlbXBsYXRlUmVwb3NpdG9yeURpcmVjdGl2ZSB9IGZyb20gJy4uL2NoZWNrYm94L2NoZWNrYm94LmludGVybmFsLWRpcmVjdGl2ZXMnO1xyXG5pbXBvcnQgeyBBcmRpdW1DaGVja2JveE1vZHVsZSB9IGZyb20gJy4uL2NoZWNrYm94L2NoZWNrYm94Lm1vZHVsZSc7XHJcbmltcG9ydCB7IEFyZGl1bUNoZWNrYm94TGlzdENvbXBvbmVudCB9IGZyb20gJy4vY2hlY2tib3gtbGlzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBcmRDaGVja2JveExpc3RDaGVja2JveFRlbXBsYXRlRGlyZWN0aXZlIH0gZnJvbSAnLi9jaGVja2JveC1saXN0LmRpcmVjdGl2ZXMnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtBcmRpdW1DaGVja2JveExpc3RDb21wb25lbnQsIEFyZENoZWNrYm94TGlzdENoZWNrYm94VGVtcGxhdGVEaXJlY3RpdmVdLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEFyZGl1bUNoZWNrYm94TW9kdWxlLCBfQ2hlY2tib3hUZW1wbGF0ZVJlcG9zaXRvcnlEaXJlY3RpdmVdLFxyXG4gIGV4cG9ydHM6IFtBcmRpdW1DaGVja2JveExpc3RDb21wb25lbnQsIEFyZENoZWNrYm94TGlzdENoZWNrYm94VGVtcGxhdGVEaXJlY3RpdmVdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXJkaXVtQ2hlY2tib3hMaXN0TW9kdWxlIHt9XHJcbiJdfQ==
@@ -1,5 +1,6 @@
1
1
  export * from './checkbox-list.component';
2
2
  export * from './checkbox-list.defaults';
3
+ export * from './checkbox-list.directives';
3
4
  export * from './checkbox-list.module';
4
5
  export * from './checkbox-list.types';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NoZWNrYm94LWxpc3QvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyx1QkFBdUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2hlY2tib3gtbGlzdC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2NoZWNrYm94LWxpc3QuZGVmYXVsdHMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2NoZWNrYm94LWxpc3QubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9jaGVja2JveC1saXN0LnR5cGVzJztcclxuIl19
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NoZWNrYm94LWxpc3QvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jaGVja2JveC1saXN0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY2hlY2tib3gtbGlzdC5kZWZhdWx0cyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY2hlY2tib3gtbGlzdC5kaXJlY3RpdmVzJztcclxuZXhwb3J0ICogZnJvbSAnLi9jaGVja2JveC1saXN0Lm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY2hlY2tib3gtbGlzdC50eXBlcyc7XHJcblxyXG4iXX0=
@@ -98,7 +98,7 @@ export class ArdiumFileInputComponent extends _FileInputComponentBase {
98
98
  provide: _FormFieldComponentBase,
99
99
  useExisting: forwardRef(() => ArdiumFileInputComponent),
100
100
  },
101
- ], queries: [{ propertyName: "placeholderTemplate", first: true, predicate: ArdFileInputPlaceholderTemplateDirective, descendants: true, isSignal: true }, { propertyName: "prefixTemplate", first: true, predicate: ArdFileInputPrefixTemplateDirective, descendants: true, isSignal: true }, { propertyName: "suffixTemplate", first: true, predicate: ArdFileInputSuffixTemplateDirective, descendants: true, isSignal: true }, { propertyName: "idleTemplate", first: true, predicate: ArdiumFileInputIdleContentTemplateDirective, descendants: true, isSignal: true }, { propertyName: "dragoverTemplate", first: true, predicate: ArdiumFileInputDragoverContentTemplateDirective, descendants: true, isSignal: true }, { propertyName: "uploadedTemplate", first: true, predicate: ArdiumFileInputUploadedContentTemplateDirective, descendants: true, isSignal: true }, { propertyName: "folderIconTemplate", first: true, predicate: ArdiumFileInputFolderIconTemplateDirective, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<ard-form-field-frame\r\n class=\"ard-file-input-form-field-frame\"\r\n [appearance]=\"appearance()\"\r\n [variant]=\"variant()\"\r\n [compact]=\"compact()\"\r\n [isFocused]=\"isFocused()\"\r\n [prefixTemplate]=\"prefixTemplate()?.template\"\r\n [suffixTemplate]=\"suffixTemplate()?.template\"\r\n (dragover)=\"onDragover($event)\"\r\n (dragleave)=\"onDragleave()\"\r\n (drop)=\"onDrop($event)\"\r\n (ardClickOutside)=\"onDragleave()\"\r\n>\r\n <div\r\n class=\"ard-file-input\"\r\n [ngClass]=\"ngClasses()\"\r\n >\r\n <div class=\"ard-input-container\">\r\n @if (shouldDisplayPlaceholder) {\r\n <ng-template #defaultPlaceholderTemplate>\r\n <div class=\"ard-placeholder\">{{ placeholder() }}</div>\r\n </ng-template>\r\n\r\n <ng-template [ngTemplateOutlet]=\"placeholderTemplate()?.template || defaultPlaceholderTemplate\" />\r\n }\r\n\r\n <div class=\"ard-file-input__value\">\r\n @if (currentViewState() === 'idle') {\r\n <ng-template\r\n [ngTemplateOutlet]=\"idleTemplate()?.template ?? defaultIdleTemplate\"\r\n [ngTemplateOutletContext]=\"getIdleContext()\"\r\n />\r\n } @if (currentViewState() === 'dragover') {\r\n <ng-template\r\n [ngTemplateOutlet]=\"dragoverTemplate()?.template ?? defaultDragoverTemplate\"\r\n [ngTemplateOutletContext]=\"getDragoverContext()\"\r\n />\r\n } @if (currentViewState() === 'uploaded') {\r\n <ng-template\r\n [ngTemplateOutlet]=\"uploadedTemplate()?.template ?? defaultUploadedTemplate\"\r\n [ngTemplateOutletContext]=\"getUploadedContext()\"\r\n />\r\n }\r\n </div>\r\n </div>\r\n\r\n @if (shouldShowClearButton) {\r\n <ard-clear-button\r\n #focusableElement\r\n [title]=\"clearButtonTitle()\"\r\n (mouseup)=\"onClearButtonClick($event)\"\r\n />\r\n } @if (!shouldBeBlocked) {\r\n <button\r\n #focusableElement\r\n type=\"button\"\r\n class=\"ard-browse-button\"\r\n (focus)=\"onFocus($event)\"\r\n (blur)=\"onBlur($event)\"\r\n (click)=\"openBrowseDialog()\"\r\n >\r\n <div class=\"ard-focus-overlay\"></div>\r\n <ard-icon>folder</ard-icon>\r\n </button>\r\n }\r\n </div>\r\n</ard-form-field-frame>\r\n\r\n<input\r\n #fileInput\r\n class=\"ard-file-input__input\"\r\n type=\"file\"\r\n [name]=\"name()\"\r\n [multiple]=\"multiple()\"\r\n [attr.id]=\"htmlId()\"\r\n [accept]=\"acceptString()\"\r\n (change)=\"onInputChange()\"\r\n/>\r\n\r\n<ng-template\r\n #defaultIdleTemplate\r\n let-browse=\"browse\"\r\n>\r\n <span class=\"ard-file-input__idle\">\r\n @if (multiple()) {\r\n <span>Upload a file</span>\r\n } @else {\r\n <span>Upload files</span>\r\n }\r\n </span>\r\n</ng-template>\r\n\r\n<ng-template\r\n #defaultDragoverTemplate\r\n let-amount=\"amount\"\r\n>\r\n <span class=\"ard-file-input__dragover-text\">Drop </span>\r\n @if (multiple()) {\r\n <span class=\"ard-file-input__dragover-amount\">\r\n {{ amount }}\r\n <ng-container [ngPlural]=\"amount\">\r\n <ng-template ngPluralCase=\"=1\">file</ng-template>\r\n <ng-template ngPluralCase=\"other\">files</ng-template>\r\n </ng-container>\r\n </span>\r\n } @else {\r\n <span class=\"ard-file-input__dragover-amount\"> a file </span>\r\n }\r\n <span class=\"ard-file-input__dragover-text\"> here to upload </span>\r\n</ng-template>\r\n\r\n<ng-template\r\n #defaultUploadedTemplate\r\n let-amount=\"amount\"\r\n let-files=\"files\"\r\n>\r\n <div class=\"ard-file-input__uploaded\">\r\n @if (amount === 1) {\r\n <div class=\"ard-file-input__full-file-name\">\r\n <span class=\"ard-file-input__file-name\">\r\n {{ files?.[0]?.name | filename }}\r\n </span>\r\n <span class=\"ard-file-input__file-ext\">\r\n {{ files?.[0]?.name | fileext:true }}\r\n </span>\r\n </div>\r\n } @else {\r\n <span class=\"ard-file-input__uploaded-amount\">\r\n {{ amount }}\r\n <ng-container [ngPlural]=\"amount\">\r\n <ng-template ngPluralCase=\"=1\">file</ng-template>\r\n <ng-template ngPluralCase=\"other\">files</ng-template>\r\n </ng-container>\r\n </span>\r\n <span class=\"ard-file-input__uploaded-text\"> uploaded.</span>\r\n }\r\n </div>\r\n</ng-template>\r\n", styles: [".ard-file-input__input{position:absolute;appearance:none;opacity:0;pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgPlural, selector: "[ngPlural]", inputs: ["ngPlural"] }, { kind: "directive", type: i1.NgPluralCase, selector: "[ngPluralCase]" }, { kind: "component", type: i2.ArdiumFormFieldFrameComponent, selector: "ard-form-field-frame", inputs: ["hasError", "isSuccess", "isFocused", "appearance", "variant", "compact", "prefixTemplate", "suffixTemplate"] }, { kind: "component", type: i3._ClearButtonComponent, selector: "ard-clear-button" }, { kind: "component", type: i4.ArdiumIconComponent, selector: "ard-icon", inputs: ["ariaLabel", "icon", "filled", "weight", "grade", "opticalSize"] }, { kind: "pipe", type: i5.ArdiumFileExtensionPipe, name: "fileext" }, { kind: "pipe", type: i5.ArdiumFileNamePipe, name: "filename" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
101
+ ], queries: [{ propertyName: "placeholderTemplate", first: true, predicate: ArdFileInputPlaceholderTemplateDirective, descendants: true, isSignal: true }, { propertyName: "prefixTemplate", first: true, predicate: ArdFileInputPrefixTemplateDirective, descendants: true, isSignal: true }, { propertyName: "suffixTemplate", first: true, predicate: ArdFileInputSuffixTemplateDirective, descendants: true, isSignal: true }, { propertyName: "idleTemplate", first: true, predicate: ArdiumFileInputIdleContentTemplateDirective, descendants: true, isSignal: true }, { propertyName: "dragoverTemplate", first: true, predicate: ArdiumFileInputDragoverContentTemplateDirective, descendants: true, isSignal: true }, { propertyName: "uploadedTemplate", first: true, predicate: ArdiumFileInputUploadedContentTemplateDirective, descendants: true, isSignal: true }, { propertyName: "folderIconTemplate", first: true, predicate: ArdiumFileInputFolderIconTemplateDirective, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<ard-form-field-frame\r\n class=\"ard-file-input-form-field-frame\"\r\n [appearance]=\"appearance()\"\r\n [variant]=\"variant()\"\r\n [compact]=\"compact()\"\r\n [isFocused]=\"isFocused()\"\r\n [hasError]=\"hasError()\"\r\n [isSuccess]=\"isSuccess()\"\r\n [prefixTemplate]=\"prefixTemplate()?.template\"\r\n [suffixTemplate]=\"suffixTemplate()?.template\"\r\n (dragover)=\"onDragover($event)\"\r\n (dragleave)=\"onDragleave()\"\r\n (drop)=\"onDrop($event)\"\r\n (ardClickOutside)=\"onDragleave()\"\r\n>\r\n <div\r\n class=\"ard-file-input\"\r\n [ngClass]=\"ngClasses()\"\r\n >\r\n <div class=\"ard-input-container\">\r\n @if (shouldDisplayPlaceholder) {\r\n <ng-template #defaultPlaceholderTemplate>\r\n <div class=\"ard-placeholder\">{{ placeholder() }}</div>\r\n </ng-template>\r\n\r\n <ng-template [ngTemplateOutlet]=\"placeholderTemplate()?.template || defaultPlaceholderTemplate\" />\r\n }\r\n\r\n <div class=\"ard-file-input__value\">\r\n @if (currentViewState() === 'idle') {\r\n <ng-template\r\n [ngTemplateOutlet]=\"idleTemplate()?.template ?? defaultIdleTemplate\"\r\n [ngTemplateOutletContext]=\"getIdleContext()\"\r\n />\r\n } @if (currentViewState() === 'dragover') {\r\n <ng-template\r\n [ngTemplateOutlet]=\"dragoverTemplate()?.template ?? defaultDragoverTemplate\"\r\n [ngTemplateOutletContext]=\"getDragoverContext()\"\r\n />\r\n } @if (currentViewState() === 'uploaded') {\r\n <ng-template\r\n [ngTemplateOutlet]=\"uploadedTemplate()?.template ?? defaultUploadedTemplate\"\r\n [ngTemplateOutletContext]=\"getUploadedContext()\"\r\n />\r\n }\r\n </div>\r\n </div>\r\n\r\n @if (shouldShowClearButton) {\r\n <ard-clear-button\r\n #focusableElement\r\n [title]=\"clearButtonTitle()\"\r\n (mouseup)=\"onClearButtonClick($event)\"\r\n />\r\n } @if (!shouldBeBlocked) {\r\n <button\r\n #focusableElement\r\n type=\"button\"\r\n class=\"ard-browse-button\"\r\n (focus)=\"onFocus($event)\"\r\n (blur)=\"onBlur($event)\"\r\n (click)=\"openBrowseDialog()\"\r\n >\r\n <div class=\"ard-focus-overlay\"></div>\r\n <ard-icon>folder</ard-icon>\r\n </button>\r\n }\r\n </div>\r\n</ard-form-field-frame>\r\n\r\n<input\r\n #fileInput\r\n class=\"ard-file-input__input\"\r\n type=\"file\"\r\n [name]=\"name()\"\r\n [multiple]=\"multiple()\"\r\n [attr.id]=\"htmlId()\"\r\n [accept]=\"acceptString()\"\r\n (change)=\"onInputChange()\"\r\n/>\r\n\r\n<ng-template\r\n #defaultIdleTemplate\r\n let-browse=\"browse\"\r\n>\r\n <span class=\"ard-file-input__idle\">\r\n @if (multiple()) {\r\n <span>Upload a file</span>\r\n } @else {\r\n <span>Upload files</span>\r\n }\r\n </span>\r\n</ng-template>\r\n\r\n<ng-template\r\n #defaultDragoverTemplate\r\n let-amount=\"amount\"\r\n>\r\n <span class=\"ard-file-input__dragover-text\">Drop </span>\r\n @if (multiple()) {\r\n <span class=\"ard-file-input__dragover-amount\">\r\n {{ amount }}\r\n <ng-container [ngPlural]=\"amount\">\r\n <ng-template ngPluralCase=\"=1\">file</ng-template>\r\n <ng-template ngPluralCase=\"other\">files</ng-template>\r\n </ng-container>\r\n </span>\r\n } @else {\r\n <span class=\"ard-file-input__dragover-amount\"> a file </span>\r\n }\r\n <span class=\"ard-file-input__dragover-text\"> here to upload </span>\r\n</ng-template>\r\n\r\n<ng-template\r\n #defaultUploadedTemplate\r\n let-amount=\"amount\"\r\n let-files=\"files\"\r\n>\r\n <div class=\"ard-file-input__uploaded\">\r\n @if (amount === 1) {\r\n <div class=\"ard-file-input__full-file-name\">\r\n <span class=\"ard-file-input__file-name\">\r\n {{ files?.[0]?.name | filename }}\r\n </span>\r\n <span class=\"ard-file-input__file-ext\">\r\n {{ files?.[0]?.name | fileext:true }}\r\n </span>\r\n </div>\r\n } @else {\r\n <span class=\"ard-file-input__uploaded-amount\">\r\n {{ amount }}\r\n <ng-container [ngPlural]=\"amount\">\r\n <ng-template ngPluralCase=\"=1\">file</ng-template>\r\n <ng-template ngPluralCase=\"other\">files</ng-template>\r\n </ng-container>\r\n </span>\r\n <span class=\"ard-file-input__uploaded-text\"> uploaded.</span>\r\n }\r\n </div>\r\n</ng-template>\r\n", styles: [".ard-file-input__input{position:absolute;appearance:none;opacity:0;pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgPlural, selector: "[ngPlural]", inputs: ["ngPlural"] }, { kind: "directive", type: i1.NgPluralCase, selector: "[ngPluralCase]" }, { kind: "component", type: i2.ArdiumFormFieldFrameComponent, selector: "ard-form-field-frame", inputs: ["hasError", "isSuccess", "isFocused", "appearance", "variant", "compact", "prefixTemplate", "suffixTemplate"] }, { kind: "component", type: i3._ClearButtonComponent, selector: "ard-clear-button" }, { kind: "component", type: i4.ArdiumIconComponent, selector: "ard-icon", inputs: ["ariaLabel", "icon", "filled", "weight", "grade", "opticalSize"] }, { kind: "pipe", type: i5.ArdiumFileExtensionPipe, name: "fileext" }, { kind: "pipe", type: i5.ArdiumFileNamePipe, name: "filename" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
102
102
  }
103
103
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ArdiumFileInputComponent, decorators: [{
104
104
  type: Component,
@@ -112,9 +112,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
112
112
  provide: _FormFieldComponentBase,
113
113
  useExisting: forwardRef(() => ArdiumFileInputComponent),
114
114
  },
115
- ], template: "<ard-form-field-frame\r\n class=\"ard-file-input-form-field-frame\"\r\n [appearance]=\"appearance()\"\r\n [variant]=\"variant()\"\r\n [compact]=\"compact()\"\r\n [isFocused]=\"isFocused()\"\r\n [prefixTemplate]=\"prefixTemplate()?.template\"\r\n [suffixTemplate]=\"suffixTemplate()?.template\"\r\n (dragover)=\"onDragover($event)\"\r\n (dragleave)=\"onDragleave()\"\r\n (drop)=\"onDrop($event)\"\r\n (ardClickOutside)=\"onDragleave()\"\r\n>\r\n <div\r\n class=\"ard-file-input\"\r\n [ngClass]=\"ngClasses()\"\r\n >\r\n <div class=\"ard-input-container\">\r\n @if (shouldDisplayPlaceholder) {\r\n <ng-template #defaultPlaceholderTemplate>\r\n <div class=\"ard-placeholder\">{{ placeholder() }}</div>\r\n </ng-template>\r\n\r\n <ng-template [ngTemplateOutlet]=\"placeholderTemplate()?.template || defaultPlaceholderTemplate\" />\r\n }\r\n\r\n <div class=\"ard-file-input__value\">\r\n @if (currentViewState() === 'idle') {\r\n <ng-template\r\n [ngTemplateOutlet]=\"idleTemplate()?.template ?? defaultIdleTemplate\"\r\n [ngTemplateOutletContext]=\"getIdleContext()\"\r\n />\r\n } @if (currentViewState() === 'dragover') {\r\n <ng-template\r\n [ngTemplateOutlet]=\"dragoverTemplate()?.template ?? defaultDragoverTemplate\"\r\n [ngTemplateOutletContext]=\"getDragoverContext()\"\r\n />\r\n } @if (currentViewState() === 'uploaded') {\r\n <ng-template\r\n [ngTemplateOutlet]=\"uploadedTemplate()?.template ?? defaultUploadedTemplate\"\r\n [ngTemplateOutletContext]=\"getUploadedContext()\"\r\n />\r\n }\r\n </div>\r\n </div>\r\n\r\n @if (shouldShowClearButton) {\r\n <ard-clear-button\r\n #focusableElement\r\n [title]=\"clearButtonTitle()\"\r\n (mouseup)=\"onClearButtonClick($event)\"\r\n />\r\n } @if (!shouldBeBlocked) {\r\n <button\r\n #focusableElement\r\n type=\"button\"\r\n class=\"ard-browse-button\"\r\n (focus)=\"onFocus($event)\"\r\n (blur)=\"onBlur($event)\"\r\n (click)=\"openBrowseDialog()\"\r\n >\r\n <div class=\"ard-focus-overlay\"></div>\r\n <ard-icon>folder</ard-icon>\r\n </button>\r\n }\r\n </div>\r\n</ard-form-field-frame>\r\n\r\n<input\r\n #fileInput\r\n class=\"ard-file-input__input\"\r\n type=\"file\"\r\n [name]=\"name()\"\r\n [multiple]=\"multiple()\"\r\n [attr.id]=\"htmlId()\"\r\n [accept]=\"acceptString()\"\r\n (change)=\"onInputChange()\"\r\n/>\r\n\r\n<ng-template\r\n #defaultIdleTemplate\r\n let-browse=\"browse\"\r\n>\r\n <span class=\"ard-file-input__idle\">\r\n @if (multiple()) {\r\n <span>Upload a file</span>\r\n } @else {\r\n <span>Upload files</span>\r\n }\r\n </span>\r\n</ng-template>\r\n\r\n<ng-template\r\n #defaultDragoverTemplate\r\n let-amount=\"amount\"\r\n>\r\n <span class=\"ard-file-input__dragover-text\">Drop </span>\r\n @if (multiple()) {\r\n <span class=\"ard-file-input__dragover-amount\">\r\n {{ amount }}\r\n <ng-container [ngPlural]=\"amount\">\r\n <ng-template ngPluralCase=\"=1\">file</ng-template>\r\n <ng-template ngPluralCase=\"other\">files</ng-template>\r\n </ng-container>\r\n </span>\r\n } @else {\r\n <span class=\"ard-file-input__dragover-amount\"> a file </span>\r\n }\r\n <span class=\"ard-file-input__dragover-text\"> here to upload </span>\r\n</ng-template>\r\n\r\n<ng-template\r\n #defaultUploadedTemplate\r\n let-amount=\"amount\"\r\n let-files=\"files\"\r\n>\r\n <div class=\"ard-file-input__uploaded\">\r\n @if (amount === 1) {\r\n <div class=\"ard-file-input__full-file-name\">\r\n <span class=\"ard-file-input__file-name\">\r\n {{ files?.[0]?.name | filename }}\r\n </span>\r\n <span class=\"ard-file-input__file-ext\">\r\n {{ files?.[0]?.name | fileext:true }}\r\n </span>\r\n </div>\r\n } @else {\r\n <span class=\"ard-file-input__uploaded-amount\">\r\n {{ amount }}\r\n <ng-container [ngPlural]=\"amount\">\r\n <ng-template ngPluralCase=\"=1\">file</ng-template>\r\n <ng-template ngPluralCase=\"other\">files</ng-template>\r\n </ng-container>\r\n </span>\r\n <span class=\"ard-file-input__uploaded-text\"> uploaded.</span>\r\n }\r\n </div>\r\n</ng-template>\r\n", styles: [".ard-file-input__input{position:absolute;appearance:none;opacity:0;pointer-events:none}\n"] }]
115
+ ], template: "<ard-form-field-frame\r\n class=\"ard-file-input-form-field-frame\"\r\n [appearance]=\"appearance()\"\r\n [variant]=\"variant()\"\r\n [compact]=\"compact()\"\r\n [isFocused]=\"isFocused()\"\r\n [hasError]=\"hasError()\"\r\n [isSuccess]=\"isSuccess()\"\r\n [prefixTemplate]=\"prefixTemplate()?.template\"\r\n [suffixTemplate]=\"suffixTemplate()?.template\"\r\n (dragover)=\"onDragover($event)\"\r\n (dragleave)=\"onDragleave()\"\r\n (drop)=\"onDrop($event)\"\r\n (ardClickOutside)=\"onDragleave()\"\r\n>\r\n <div\r\n class=\"ard-file-input\"\r\n [ngClass]=\"ngClasses()\"\r\n >\r\n <div class=\"ard-input-container\">\r\n @if (shouldDisplayPlaceholder) {\r\n <ng-template #defaultPlaceholderTemplate>\r\n <div class=\"ard-placeholder\">{{ placeholder() }}</div>\r\n </ng-template>\r\n\r\n <ng-template [ngTemplateOutlet]=\"placeholderTemplate()?.template || defaultPlaceholderTemplate\" />\r\n }\r\n\r\n <div class=\"ard-file-input__value\">\r\n @if (currentViewState() === 'idle') {\r\n <ng-template\r\n [ngTemplateOutlet]=\"idleTemplate()?.template ?? defaultIdleTemplate\"\r\n [ngTemplateOutletContext]=\"getIdleContext()\"\r\n />\r\n } @if (currentViewState() === 'dragover') {\r\n <ng-template\r\n [ngTemplateOutlet]=\"dragoverTemplate()?.template ?? defaultDragoverTemplate\"\r\n [ngTemplateOutletContext]=\"getDragoverContext()\"\r\n />\r\n } @if (currentViewState() === 'uploaded') {\r\n <ng-template\r\n [ngTemplateOutlet]=\"uploadedTemplate()?.template ?? defaultUploadedTemplate\"\r\n [ngTemplateOutletContext]=\"getUploadedContext()\"\r\n />\r\n }\r\n </div>\r\n </div>\r\n\r\n @if (shouldShowClearButton) {\r\n <ard-clear-button\r\n #focusableElement\r\n [title]=\"clearButtonTitle()\"\r\n (mouseup)=\"onClearButtonClick($event)\"\r\n />\r\n } @if (!shouldBeBlocked) {\r\n <button\r\n #focusableElement\r\n type=\"button\"\r\n class=\"ard-browse-button\"\r\n (focus)=\"onFocus($event)\"\r\n (blur)=\"onBlur($event)\"\r\n (click)=\"openBrowseDialog()\"\r\n >\r\n <div class=\"ard-focus-overlay\"></div>\r\n <ard-icon>folder</ard-icon>\r\n </button>\r\n }\r\n </div>\r\n</ard-form-field-frame>\r\n\r\n<input\r\n #fileInput\r\n class=\"ard-file-input__input\"\r\n type=\"file\"\r\n [name]=\"name()\"\r\n [multiple]=\"multiple()\"\r\n [attr.id]=\"htmlId()\"\r\n [accept]=\"acceptString()\"\r\n (change)=\"onInputChange()\"\r\n/>\r\n\r\n<ng-template\r\n #defaultIdleTemplate\r\n let-browse=\"browse\"\r\n>\r\n <span class=\"ard-file-input__idle\">\r\n @if (multiple()) {\r\n <span>Upload a file</span>\r\n } @else {\r\n <span>Upload files</span>\r\n }\r\n </span>\r\n</ng-template>\r\n\r\n<ng-template\r\n #defaultDragoverTemplate\r\n let-amount=\"amount\"\r\n>\r\n <span class=\"ard-file-input__dragover-text\">Drop </span>\r\n @if (multiple()) {\r\n <span class=\"ard-file-input__dragover-amount\">\r\n {{ amount }}\r\n <ng-container [ngPlural]=\"amount\">\r\n <ng-template ngPluralCase=\"=1\">file</ng-template>\r\n <ng-template ngPluralCase=\"other\">files</ng-template>\r\n </ng-container>\r\n </span>\r\n } @else {\r\n <span class=\"ard-file-input__dragover-amount\"> a file </span>\r\n }\r\n <span class=\"ard-file-input__dragover-text\"> here to upload </span>\r\n</ng-template>\r\n\r\n<ng-template\r\n #defaultUploadedTemplate\r\n let-amount=\"amount\"\r\n let-files=\"files\"\r\n>\r\n <div class=\"ard-file-input__uploaded\">\r\n @if (amount === 1) {\r\n <div class=\"ard-file-input__full-file-name\">\r\n <span class=\"ard-file-input__file-name\">\r\n {{ files?.[0]?.name | filename }}\r\n </span>\r\n <span class=\"ard-file-input__file-ext\">\r\n {{ files?.[0]?.name | fileext:true }}\r\n </span>\r\n </div>\r\n } @else {\r\n <span class=\"ard-file-input__uploaded-amount\">\r\n {{ amount }}\r\n <ng-container [ngPlural]=\"amount\">\r\n <ng-template ngPluralCase=\"=1\">file</ng-template>\r\n <ng-template ngPluralCase=\"other\">files</ng-template>\r\n </ng-container>\r\n </span>\r\n <span class=\"ard-file-input__uploaded-text\"> uploaded.</span>\r\n }\r\n </div>\r\n</ng-template>\r\n", styles: [".ard-file-input__input{position:absolute;appearance:none;opacity:0;pointer-events:none}\n"] }]
116
116
  }], ctorParameters: () => [{ type: undefined, decorators: [{
117
117
  type: Inject,
118
118
  args: [ARD_FILE_INPUT_DEFAULTS]
119
119
  }] }] });
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2ZpbGUtaW5wdXRzL2ZpbGUtaW5wdXQvZmlsZS1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2ZpbGUtaW5wdXRzL2ZpbGUtaW5wdXQvZmlsZS1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxNQUFNLEVBQ04saUJBQWlCLEVBQ2pCLFFBQVEsRUFDUixZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzFELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRy9FLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTdELE9BQU8sRUFBRSx1QkFBdUIsRUFBd0IsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RixPQUFPLEVBQ0wsd0NBQXdDLEVBQ3hDLG1DQUFtQyxFQUNuQyxtQ0FBbUMsRUFDbkMsK0NBQStDLEVBQy9DLDBDQUEwQyxFQUMxQywyQ0FBMkMsRUFDM0MsK0NBQStDLEVBQ2hELE1BQU0seUJBQXlCLENBQUM7Ozs7Ozs7QUFvQmpDLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSx1QkFBdUI7SUFFbkUsWUFBNkMsUUFBOEI7UUFDekUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBR1QsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFFN0IsY0FBYztRQUNkLCtDQUErQztR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VDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx5QkFBeUIsQ0FBQzs0QkFDdkQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLHVCQUF1Qjs0QkFDaEMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUseUJBQXlCLENBQUM7eUJBQ3hEO3FCQUNGOzswQkFJWSxNQUFNOzJCQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ29tcG9uZW50LFxyXG4gIEluamVjdCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBjb21wdXRlZCxcclxuICBjb250ZW50Q2hpbGQsXHJcbiAgZm9yd2FyZFJlZixcclxuICBpbnB1dCxcclxuICBvdXRwdXQsXHJcbiAgc2lnbmFsLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFyZGl1bS11aS9kZXZraXQnO1xyXG5pbXBvcnQgeyBfRm9ybUZpZWxkQ29tcG9uZW50QmFzZSB9IGZyb20gJy4uLy4uL19pbnRlcm5hbC9mb3JtLWZpZWxkLWNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbXBvbmVudENvbG9yIH0gZnJvbSAnLi4vLi4vdHlwZXMvY29sb3JzLnR5cGVzJztcclxuaW1wb3J0IHsgRm9ybUVsZW1lbnRBcHBlYXJhbmNlLCBGb3JtRWxlbWVudFZhcmlhbnQgfSBmcm9tICcuLi8uLi90eXBlcy90aGVtaW5nLnR5cGVzJztcclxuaW1wb3J0IHsgX0ZpbGVJbnB1dENvbXBvbmVudEJhc2UgfSBmcm9tICcuLi9maWxlLWlucHV0LWJhc2UnO1xyXG5pbXBvcnQgeyBGaWxlSW5wdXRCcm93c2VDb250ZXh0LCBGaWxlSW5wdXRGaWxlQW1vdW50Q29udGV4dCwgRmlsZUlucHV0RmlsZXNDb250ZXh0IH0gZnJvbSAnLi4vZmlsZS1pbnB1dC10eXBlcyc7XHJcbmltcG9ydCB7IEFSRF9GSUxFX0lOUFVUX0RFRkFVTFRTLCBBcmRGaWxlSW5wdXREZWZhdWx0cyB9IGZyb20gJy4vZmlsZS1pbnB1dC5kZWZhdWx0cyc7XHJcbmltcG9ydCB7XHJcbiAgQXJkRmlsZUlucHV0UGxhY2Vob2xkZXJUZW1wbGF0ZURpcmVjdGl2ZSxcclxuICBBcmRGaWxlSW5wdXRQcmVmaXhUZW1wbGF0ZURpcmVjdGl2ZSxcclxuICBBcmRGaWxlSW5wdXRTdWZmaXhUZW1wbGF0ZURpcmVjdGl2ZSxcclxuICBBcmRpdW1GaWxlSW5wdXREcmFnb3ZlckNvbnRlbnRUZW1wbGF0ZURpcmVjdGl2ZSxcclxuICBBcmRpdW1GaWxlSW5wdXRGb2xkZXJJY29uVGVtcGxhdGVEaXJlY3RpdmUsXHJcbiAgQXJkaXVtRmlsZUlucHV0SWRsZUNvbnRlbnRUZW1wbGF0ZURpcmVjdGl2ZSxcclxuICBBcmRpdW1GaWxlSW5wdXRVcGxvYWRlZENvbnRlbnRUZW1wbGF0ZURpcmVjdGl2ZVxyXG59IGZyb20gJy4vZmlsZS1pbnB1dC5kaXJlY3RpdmVzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXJkLWZpbGUtaW5wdXQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9maWxlLWlucHV0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9maWxlLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEFyZGl1bUZpbGVJbnB1dENvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogX0Zvcm1GaWVsZENvbXBvbmVudEJhc2UsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEFyZGl1bUZpbGVJbnB1dENvbXBvbmVudCksXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcmRpdW1GaWxlSW5wdXRDb21wb25lbnQgZXh0ZW5kcyBfRmlsZUlucHV0Q29tcG9uZW50QmFzZSB7XHJcbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlYWRvbmx5IF9ERUZBVUxUUyE6IEFyZEZpbGVJbnB1dERlZmF1bHRzO1xyXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoQVJEX0ZJTEVfSU5QVVRfREVGQVVMVFMpIGRlZmF1bHRzOiBBcmRGaWxlSW5wdXREZWZhdWx0cykge1xyXG4gICAgc3VwZXIoZGVmYXVsdHMpO1xyXG4gIH1cclxuXHJcbiAgcmVhZG9ubHkgY29tcG9uZW50SWQgPSAnMDExJztcclxuXHJcbiAgLy8hIGFwcGVhcmFuY2VcclxuICAvL2FsbCBoYW5kbGVkIGluIGFyZC1mb3JtLWZpZWxkLWZyYW1lIGNvbXBvbmVudFxyXG4gIHJlYWRvbmx5IGFwcGVhcmFuY2UgPSBpbnB1dDxGb3JtRWxlbWVudEFwcGVhcmFuY2U+KHRoaXMuX0RFRkFVTFRTLmFwcGVhcmFuY2UpO1xyXG4gIHJlYWRvbmx5IHZhcmlhbnQgPSBpbnB1dDxGb3JtRWxlbWVudFZhcmlhbnQ+KHRoaXMuX0RFRkFVTFRTLnZhcmlhbnQpO1xyXG4gIHJlYWRvbmx5IGNvbG9yID0gaW5wdXQ8Q29tcG9uZW50Q29sb3I+KHRoaXMuX0RFRkFVTFRTLmNvbG9yKTtcclxuXHJcbiAgLy8hIG90aGVyIGlucHV0c1xyXG4gIHJlYWRvbmx5IGlucHV0QXR0cnMgPSBpbnB1dDxSZWNvcmQ8c3RyaW5nLCBhbnk+Pih0aGlzLl9ERUZBVUxUUy5pbnB1dEF0dHJzKTtcclxuXHJcbiAgLy8hIHBsYWNlaG9sZGVyXHJcbiAgcmVhZG9ubHkgcGxhY2Vob2xkZXIgPSBpbnB1dDxzdHJpbmc+KHRoaXMuX0RFRkFVTFRTLnBsYWNlaG9sZGVyKTtcclxuXHJcbiAgLy8hIHJvb3QgZWxlbWVudCBjbGFzc2VzXHJcbiAgcmVhZG9ubHkgbmdDbGFzc2VzID0gY29tcHV0ZWQ8c3RyaW5nPigoKSA9PlxyXG4gICAgW2BhcmQtY29sb3ItJHt0aGlzLmNvbG9yKCl9YCwgYGFyZC1zdGF0ZS0ke3RoaXMuY3VycmVudFZpZXdTdGF0ZSgpfWAsIHRoaXMudmFsdWUgPyAnYXJkLWhhcy12YWx1ZScgOiAnJ10uam9pbignICcpXHJcbiAgKTtcclxuXHJcbiAgcmVhZG9ubHkgcGxhY2Vob2xkZXJUZW1wbGF0ZSA9IGNvbnRlbnRDaGlsZChBcmRGaWxlSW5wdXRQbGFjZWhvbGRlclRlbXBsYXRlRGlyZWN0aXZlKTtcclxuXHJcbiAgZ2V0IHNob3VsZERpc3BsYXlQbGFjZWhvbGRlcigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAhIXRoaXMucGxhY2Vob2xkZXIoKSAmJiAhdGhpcy52YWx1ZTtcclxuICB9XHJcblxyXG4gIC8vISBjbGVhciBidXR0b25cclxuICByZWFkb25seSBjbGVhcmFibGUgPSBpbnB1dDxib29sZWFuLCBhbnk+KHRoaXMuX0RFRkFVTFRTLmNsZWFyYWJsZSwgeyB0cmFuc2Zvcm06IHYgPT4gY29lcmNlQm9vbGVhblByb3BlcnR5KHYpIH0pO1xyXG5cclxuICByZWFkb25seSBjbGVhckJ1dHRvblRpdGxlID0gaW5wdXQ8c3RyaW5nPih0aGlzLl9ERUZBVUxUUy5jbGVhckJ1dHRvblRpdGxlKTtcclxuXHJcbiAgZ2V0IHNob3VsZFNob3dDbGVhckJ1dHRvbigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmNsZWFyYWJsZSgpICYmICF0aGlzLmRpc2FibGVkKCkgJiYgQm9vbGVhbih0aGlzLnZhbHVlKTtcclxuICB9XHJcbiAgb25DbGVhckJ1dHRvbkNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIHRoaXMuY2xlYXIoKTtcclxuICAgIHRoaXMuZm9jdXMoKTtcclxuICB9XHJcblxyXG4gIC8vISBjbGVhciBmdW5jdGlvblxyXG4gIGNsZWFyKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmNsZWFyYWJsZSgpKSByZXR1cm47XHJcblxyXG4gICAgdGhpcy53cml0ZVZhbHVlKG51bGwpO1xyXG4gICAgdGhpcy5fZW1pdENoYW5nZSgpO1xyXG4gICAgdGhpcy5jbGVhckV2ZW50LmVtaXQoKTtcclxuICB9XHJcblxyXG4gIHJlYWRvbmx5IGNsZWFyRXZlbnQgPSBvdXRwdXQoeyBhbGlhczogJ2NsZWFyJyB9KTtcclxuXHJcbiAgLy8hIHN0YXRlXHJcbiAgcmVhZG9ubHkgdG91Y2hlZCA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XHJcblxyXG4gIC8vISBwcmVmaXggJiBzdWZmaXhcclxuICByZWFkb25seSBwcmVmaXhUZW1wbGF0ZSA9IGNvbnRlbnRDaGlsZChBcmRGaWxlSW5wdXRQcmVmaXhUZW1wbGF0ZURpcmVjdGl2ZSk7XHJcbiAgcmVhZG9ubHkgc3VmZml4VGVtcGxhdGUgPSBjb250ZW50Q2hpbGQoQXJkRmlsZUlucHV0U3VmZml4VGVtcGxhdGVEaXJlY3RpdmUpO1xyXG4gIC8vISB0ZW1wbGF0ZXNcclxuICByZWFkb25seSBpZGxlVGVtcGxhdGUgPSBjb250ZW50Q2hpbGQoQXJkaXVtRmlsZUlucHV0SWRsZUNvbnRlbnRUZW1wbGF0ZURpcmVjdGl2ZSk7XHJcbiAgcmVhZG9ubHkgZHJhZ292ZXJUZW1wbGF0ZSA9IGNvbnRlbnRDaGlsZChBcmRpdW1GaWxlSW5wdXREcmFnb3ZlckNvbnRlbnRUZW1wbGF0ZURpcmVjdGl2ZSk7XHJcbiAgcmVhZG9ubHkgdXBsb2FkZWRUZW1wbGF0ZSA9IGNvbnRlbnRDaGlsZChBcmRpdW1GaWxlSW5wdXRVcGxvYWRlZENvbnRlbnRUZW1wbGF0ZURpcmVjdGl2ZSk7XHJcbiAgcmVhZG9ubHkgZm9sZGVySWNvblRlbXBsYXRlID0gY29udGVudENoaWxkKEFyZGl1bUZpbGVJbnB1dEZvbGRlckljb25UZW1wbGF0ZURpcmVjdGl2ZSk7XHJcblxyXG4gIGdldElkbGVDb250ZXh0KCk6IEZpbGVJbnB1dEJyb3dzZUNvbnRleHQge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgYnJvd3NlOiAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5vcGVuQnJvd3NlRGlhbG9nKCk7XHJcbiAgICAgIH0sXHJcbiAgICB9O1xyXG4gIH1cclxuICBnZXREcmFnb3ZlckNvbnRleHQoKTogRmlsZUlucHV0RmlsZUFtb3VudENvbnRleHQge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgYW1vdW50OiB0aGlzLl9kcmFnZ2VkRmlsZXMhLFxyXG4gICAgICBicm93c2U6ICgpID0+IHtcclxuICAgICAgICB0aGlzLm9wZW5Ccm93c2VEaWFsb2coKTtcclxuICAgICAgfSxcclxuICAgIH07XHJcbiAgfVxyXG4gIGdldFVwbG9hZGVkQ29udGV4dCgpOiBGaWxlSW5wdXRGaWxlc0NvbnRleHQge1xyXG4gICAgY29uc3QgZmlsZXMgPSB0aGlzLnZhbHVlITtcclxuICAgIHJldHVybiB7XHJcbiAgICAgICRpbXBsaWNpdDogZmlsZXMsXHJcbiAgICAgIGFtb3VudDogZmlsZXMubGVuZ3RoLFxyXG4gICAgICBmaWxlcyxcclxuICAgICAgYnJvd3NlOiAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5vcGVuQnJvd3NlRGlhbG9nKCk7XHJcbiAgICAgIH0sXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iLCI8YXJkLWZvcm0tZmllbGQtZnJhbWVcclxuICBjbGFzcz1cImFyZC1maWxlLWlucHV0LWZvcm0tZmllbGQtZnJhbWVcIlxyXG4gIFthcHBlYXJhbmNlXT1cImFwcGVhcmFuY2UoKVwiXHJcbiAgW3ZhcmlhbnRdPVwidmFyaWFudCgpXCJcclxuICBbY29tcGFjdF09XCJjb21wYWN0KClcIlxyXG4gIFtpc0ZvY3VzZWRdPVwiaXNGb2N1c2VkKClcIlxyXG4gIFtwcmVmaXhUZW1wbGF0ZV09XCJwcmVmaXhUZW1wbGF0ZSgpPy50ZW1wbGF0ZVwiXHJcbiAgW3N1ZmZpeFRlbXBsYXRlXT1cInN1ZmZpeFRlbXBsYXRlKCk/LnRlbXBsYXRlXCJcclxuICAoZHJhZ292ZXIpPVwib25EcmFnb3ZlcigkZXZlbnQpXCJcclxuICAoZHJhZ2xlYXZlKT1cIm9uRHJhZ2xlYXZlKClcIlxyXG4gIChkcm9wKT1cIm9uRHJvcCgkZXZlbnQpXCJcclxuICAoYXJkQ2xpY2tPdXRzaWRlKT1cIm9uRHJhZ2xlYXZlKClcIlxyXG4+XHJcbiAgPGRpdlxyXG4gICAgY2xhc3M9XCJhcmQtZmlsZS1pbnB1dFwiXHJcbiAgICBbbmdDbGFzc109XCJuZ0NsYXNzZXMoKVwiXHJcbiAgPlxyXG4gICAgPGRpdiBjbGFzcz1cImFyZC1pbnB1dC1jb250YWluZXJcIj5cclxuICAgICAgQGlmIChzaG91bGREaXNwbGF5UGxhY2Vob2xkZXIpIHtcclxuICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0UGxhY2Vob2xkZXJUZW1wbGF0ZT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXJkLXBsYWNlaG9sZGVyXCI+e3sgcGxhY2Vob2xkZXIoKSB9fTwvZGl2PlxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInBsYWNlaG9sZGVyVGVtcGxhdGUoKT8udGVtcGxhdGUgfHwgZGVmYXVsdFBsYWNlaG9sZGVyVGVtcGxhdGVcIiAvPlxyXG4gICAgICB9XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYXJkLWZpbGUtaW5wdXRfX3ZhbHVlXCI+XHJcbiAgICAgICAgQGlmIChjdXJyZW50Vmlld1N0YXRlKCkgPT09ICdpZGxlJykge1xyXG4gICAgICAgIDxuZy10ZW1wbGF0ZVxyXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiaWRsZVRlbXBsYXRlKCk/LnRlbXBsYXRlID8/IGRlZmF1bHRJZGxlVGVtcGxhdGVcIlxyXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cImdldElkbGVDb250ZXh0KClcIlxyXG4gICAgICAgIC8+XHJcbiAgICAgICAgfSBAaWYgKGN1cnJlbnRWaWV3U3RhdGUoKSA9PT0gJ2RyYWdvdmVyJykge1xyXG4gICAgICAgIDxuZy10ZW1wbGF0ZVxyXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiZHJhZ292ZXJUZW1wbGF0ZSgpPy50ZW1wbGF0ZSA/PyBkZWZhdWx0RHJhZ292ZXJUZW1wbGF0ZVwiXHJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwiZ2V0RHJhZ292ZXJDb250ZXh0KClcIlxyXG4gICAgICAgIC8+XHJcbiAgICAgICAgfSBAaWYgKGN1cnJlbnRWaWV3U3RhdGUoKSA9PT0gJ3VwbG9hZGVkJykge1xyXG4gICAgICAgIDxuZy10ZW1wbGF0ZVxyXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwidXBsb2FkZWRUZW1wbGF0ZSgpPy50ZW1wbGF0ZSA/PyBkZWZhdWx0VXBsb2FkZWRUZW1wbGF0ZVwiXHJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwiZ2V0VXBsb2FkZWRDb250ZXh0KClcIlxyXG4gICAgICAgIC8+XHJcbiAgICAgICAgfVxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIEBpZiAoc2hvdWxkU2hvd0NsZWFyQnV0dG9uKSB7XHJcbiAgICA8YXJkLWNsZWFyLWJ1dHRvblxyXG4gICAgICAjZm9jdXNhYmxlRWxlbWVudFxyXG4gICAgICBbdGl0bGVdPVwiY2xlYXJCdXR0b25UaXRsZSgpXCJcclxuICAgICAgKG1vdXNldXApPVwib25DbGVhckJ1dHRvbkNsaWNrKCRldmVudClcIlxyXG4gICAgLz5cclxuICAgIH0gQGlmICghc2hvdWxkQmVCbG9ja2VkKSB7XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgICNmb2N1c2FibGVFbGVtZW50XHJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICBjbGFzcz1cImFyZC1icm93c2UtYnV0dG9uXCJcclxuICAgICAgKGZvY3VzKT1cIm9uRm9jdXMoJGV2ZW50KVwiXHJcbiAgICAgIChibHVyKT1cIm9uQmx1cigkZXZlbnQpXCJcclxuICAgICAgKGNsaWNrKT1cIm9wZW5Ccm93c2VEaWFsb2coKVwiXHJcbiAgICA+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJhcmQtZm9jdXMtb3ZlcmxheVwiPjwvZGl2PlxyXG4gICAgICA8YXJkLWljb24+Zm9sZGVyPC9hcmQtaWNvbj5cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgfVxyXG4gIDwvZGl2PlxyXG48L2FyZC1mb3JtLWZpZWxkLWZyYW1lPlxyXG5cclxuPGlucHV0XHJcbiAgI2ZpbGVJbnB1dFxyXG4gIGNsYXNzPVwiYXJkLWZpbGUtaW5wdXRfX2lucHV0XCJcclxuICB0eXBlPVwiZmlsZVwiXHJcbiAgW25hbWVdPVwibmFtZSgpXCJcclxuICBbbXVsdGlwbGVdPVwibXVsdGlwbGUoKVwiXHJcbiAgW2F0dHIuaWRdPVwiaHRtbElkKClcIlxyXG4gIFthY2NlcHRdPVwiYWNjZXB0U3RyaW5nKClcIlxyXG4gIChjaGFuZ2UpPVwib25JbnB1dENoYW5nZSgpXCJcclxuLz5cclxuXHJcbjxuZy10ZW1wbGF0ZVxyXG4gICNkZWZhdWx0SWRsZVRlbXBsYXRlXHJcbiAgbGV0LWJyb3dzZT1cImJyb3dzZVwiXHJcbj5cclxuICA8c3BhbiBjbGFzcz1cImFyZC1maWxlLWlucHV0X19pZGxlXCI+XHJcbiAgICBAaWYgKG11bHRpcGxlKCkpIHtcclxuICAgIDxzcGFuPlVwbG9hZCBhIGZpbGU8L3NwYW4+XHJcbiAgICB9IEBlbHNlIHtcclxuICAgIDxzcGFuPlVwbG9hZCBmaWxlczwvc3Bhbj5cclxuICAgIH1cclxuICA8L3NwYW4+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGVcclxuICAjZGVmYXVsdERyYWdvdmVyVGVtcGxhdGVcclxuICBsZXQtYW1vdW50PVwiYW1vdW50XCJcclxuPlxyXG4gIDxzcGFuIGNsYXNzPVwiYXJkLWZpbGUtaW5wdXRfX2RyYWdvdmVyLXRleHRcIj5Ecm9wIDwvc3Bhbj5cclxuICBAaWYgKG11bHRpcGxlKCkpIHtcclxuICA8c3BhbiBjbGFzcz1cImFyZC1maWxlLWlucHV0X19kcmFnb3Zlci1hbW91bnRcIj5cclxuICAgIHt7IGFtb3VudCB9fVxyXG4gICAgPG5nLWNvbnRhaW5lciBbbmdQbHVyYWxdPVwiYW1vdW50XCI+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSBuZ1BsdXJhbENhc2U9XCI9MVwiPmZpbGU8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8bmctdGVtcGxhdGUgbmdQbHVyYWxDYXNlPVwib3RoZXJcIj5maWxlczwvbmctdGVtcGxhdGU+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L3NwYW4+XHJcbiAgfSBAZWxzZSB7XHJcbiAgPHNwYW4gY2xhc3M9XCJhcmQtZmlsZS1pbnB1dF9fZHJhZ292ZXItYW1vdW50XCI+IGEgZmlsZSA8L3NwYW4+XHJcbiAgfVxyXG4gIDxzcGFuIGNsYXNzPVwiYXJkLWZpbGUtaW5wdXRfX2RyYWdvdmVyLXRleHRcIj4gaGVyZSB0byB1cGxvYWQgPC9zcGFuPlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlXHJcbiAgI2RlZmF1bHRVcGxvYWRlZFRlbXBsYXRlXHJcbiAgbGV0LWFtb3VudD1cImFtb3VudFwiXHJcbiAgbGV0LWZpbGVzPVwiZmlsZXNcIlxyXG4+XHJcbiAgPGRpdiBjbGFzcz1cImFyZC1maWxlLWlucHV0X191cGxvYWRlZFwiPlxyXG4gICAgQGlmIChhbW91bnQgPT09IDEpIHtcclxuICAgIDxkaXYgY2xhc3M9XCJhcmQtZmlsZS1pbnB1dF9fZnVsbC1maWxlLW5hbWVcIj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJhcmQtZmlsZS1pbnB1dF9fZmlsZS1uYW1lXCI+XHJcbiAgICAgICAge3sgZmlsZXM/LlswXT8ubmFtZSB8IGZpbGVuYW1lIH19XHJcbiAgICAgIDwvc3Bhbj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJhcmQtZmlsZS1pbnB1dF9fZmlsZS1leHRcIj5cclxuICAgICAgICB7eyBmaWxlcz8uWzBdPy5uYW1lIHwgZmlsZWV4dDp0cnVlIH19XHJcbiAgICAgIDwvc3Bhbj5cclxuICAgIDwvZGl2PlxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICA8c3BhbiBjbGFzcz1cImFyZC1maWxlLWlucHV0X191cGxvYWRlZC1hbW91bnRcIj5cclxuICAgICAge3sgYW1vdW50IH19XHJcbiAgICAgIDxuZy1jb250YWluZXIgW25nUGx1cmFsXT1cImFtb3VudFwiPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBuZ1BsdXJhbENhc2U9XCI9MVwiPmZpbGU8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBuZ1BsdXJhbENhc2U9XCJvdGhlclwiPmZpbGVzPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L3NwYW4+XHJcbiAgICA8c3BhbiBjbGFzcz1cImFyZC1maWxlLWlucHV0X191cGxvYWRlZC10ZXh0XCI+IHVwbG9hZGVkLjwvc3Bhbj5cclxuICAgIH1cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2ZpbGUtaW5wdXRzL2ZpbGUtaW5wdXQvZmlsZS1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2ZpbGUtaW5wdXRzL2ZpbGUtaW5wdXQvZmlsZS1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxNQUFNLEVBQ04saUJBQWlCLEVBQ2pCLFFBQVEsRUFDUixZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzFELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRy9FLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTdELE9BQU8sRUFBRSx1QkFBdUIsRUFBd0IsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RixPQUFPLEVBQ0wsd0NBQXdDLEVBQ3hDLG1DQUFtQyxFQUNuQyxtQ0FBbUMsRUFDbkMsK0NBQStDLEVBQy9DLDBDQUEwQyxFQUMxQywyQ0FBMkMsRUFDM0MsK0NBQStDLEVBQ2hELE1BQU0seUJBQXlCLENBQUM7Ozs7Ozs7QUFvQmpDLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSx1QkFBdUI7SUFFbkUsWUFBNkMsUUFBOEI7UUFDekUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBR1QsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFFN0IsY0FBYztRQUNkLCtDQUErQztR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VDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx5QkFBeUIsQ0FBQzs0QkFDdkQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLHVCQUF1Qjs0QkFDaEMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUseUJBQXlCLENBQUM7eUJBQ3hEO3FCQUNGOzswQkFJWSxNQUFNOzJCQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ29tcG9uZW50LFxyXG4gIEluamVjdCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBjb21wdXRlZCxcclxuICBjb250ZW50Q2hpbGQsXHJcbiAgZm9yd2FyZFJlZixcclxuICBpbnB1dCxcclxuICBvdXRwdXQsXHJcbiAgc2lnbmFsLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFyZGl1bS11aS9kZXZraXQnO1xyXG5pbXBvcnQgeyBfRm9ybUZpZWxkQ29tcG9uZW50QmFzZSB9IGZyb20gJy4uLy4uL19pbnRlcm5hbC9mb3JtLWZpZWxkLWNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbXBvbmVudENvbG9yIH0gZnJvbSAnLi4vLi4vdHlwZXMvY29sb3JzLnR5cGVzJztcclxuaW1wb3J0IHsgRm9ybUVsZW1lbnRBcHBlYXJhbmNlLCBGb3JtRWxlbWVudFZhcmlhbnQgfSBmcm9tICcuLi8uLi90eXBlcy90aGVtaW5nLnR5cGVzJztcclxuaW1wb3J0IHsgX0ZpbGVJbnB1dENvbXBvbmVudEJhc2UgfSBmcm9tICcuLi9maWxlLWlucHV0LWJhc2UnO1xyXG5pbXBvcnQgeyBGaWxlSW5wdXRCcm93c2VDb250ZXh0LCBGaWxlSW5wdXRGaWxlQW1vdW50Q29udGV4dCwgRmlsZUlucHV0RmlsZXNDb250ZXh0IH0gZnJvbSAnLi4vZmlsZS1pbnB1dC10eXBlcyc7XHJcbmltcG9ydCB7IEFSRF9GSUxFX0lOUFVUX0RFRkFVTFRTLCBBcmRGaWxlSW5wdXREZWZhdWx0cyB9IGZyb20gJy4vZmlsZS1pbnB1dC5kZWZhdWx0cyc7XHJcbmltcG9ydCB7XHJcbiAgQXJkRmlsZUlucHV0UGxhY2Vob2xkZXJUZW1wbGF0ZURpcmVjdGl2ZSxcclxuICBBcmRGaWxlSW5wdXRQcmVmaXhUZW1wbGF0ZURpcmVjdGl2ZSxcclxuICBBcmRGaWxlSW5wdXRTdWZmaXhUZW1wbGF0ZURpcmVjdGl2ZSxcclxuICBBcmRpdW1GaWxlSW5wdXREcmFnb3ZlckNvbnRlbnRUZW1wbGF0ZURpcmVjdGl2ZSxcclxuICBBcmRpdW1GaWxlSW5wdXRGb2xkZXJJY29uVGVtcGxhdGVEaXJlY3RpdmUsXHJcbiAgQXJkaXVtRmlsZUlucHV0SWRsZUNvbnRlbnRUZW1wbGF0ZURpcmVjdGl2ZSxcclxuICBBcmRpdW1GaWxlSW5wdXRVcGxvYWRlZENvbnRlbnRUZW1wbGF0ZURpcmVjdGl2ZVxyXG59IGZyb20gJy4vZmlsZS1pbnB1dC5kaXJlY3RpdmVzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXJkLWZpbGUtaW5wdXQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9maWxlLWlucHV0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9maWxlLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEFyZGl1bUZpbGVJbnB1dENvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogX0Zvcm1GaWVsZENvbXBvbmVudEJhc2UsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEFyZGl1bUZpbGVJbnB1dENvbXBvbmVudCksXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcmRpdW1GaWxlSW5wdXRDb21wb25lbnQgZXh0ZW5kcyBfRmlsZUlucHV0Q29tcG9uZW50QmFzZSB7XHJcbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlYWRvbmx5IF9ERUZBVUxUUyE6IEFyZEZpbGVJbnB1dERlZmF1bHRzO1xyXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoQVJEX0ZJTEVfSU5QVVRfREVGQVVMVFMpIGRlZmF1bHRzOiBBcmRGaWxlSW5wdXREZWZhdWx0cykge1xyXG4gICAgc3VwZXIoZGVmYXVsdHMpO1xyXG4gIH1cclxuXHJcbiAgcmVhZG9ubHkgY29tcG9uZW50SWQgPSAnMDExJztcclxuXHJcbiAgLy8hIGFwcGVhcmFuY2VcclxuICAvL2FsbCBoYW5kbGVkIGluIGFyZC1mb3JtLWZpZWxkLWZyYW1lIGNvbXBvbmVudFxyXG4gIHJlYWRvbmx5IGFwcGVhcmFuY2UgPSBpbnB1dDxGb3JtRWxlbWVudEFwcGVhcmFuY2U+KHRoaXMuX0RFRkFVTFRTLmFwcGVhcmFuY2UpO1xyXG4gIHJlYWRvbmx5IHZhcmlhbnQgPSBpbnB1dDxGb3JtRWxlbWVudFZhcmlhbnQ+KHRoaXMuX0RFRkFVTFRTLnZhcmlhbnQpO1xyXG4gIHJlYWRvbmx5IGNvbG9yID0gaW5wdXQ8Q29tcG9uZW50Q29sb3I+KHRoaXMuX0RFRkFVTFRTLmNvbG9yKTtcclxuXHJcbiAgLy8hIG90aGVyIGlucHV0c1xyXG4gIHJlYWRvbmx5IGlucHV0QXR0cnMgPSBpbnB1dDxSZWNvcmQ8c3RyaW5nLCBhbnk+Pih0aGlzLl9ERUZBVUxUUy5pbnB1dEF0dHJzKTtcclxuXHJcbiAgLy8hIHBsYWNlaG9sZGVyXHJcbiAgcmVhZG9ubHkgcGxhY2Vob2xkZXIgPSBpbnB1dDxzdHJpbmc+KHRoaXMuX0RFRkFVTFRTLnBsYWNlaG9sZGVyKTtcclxuXHJcbiAgLy8hIHJvb3QgZWxlbWVudCBjbGFzc2VzXHJcbiAgcmVhZG9ubHkgbmdDbGFzc2VzID0gY29tcHV0ZWQ8c3RyaW5nPigoKSA9PlxyXG4gICAgW2BhcmQtY29sb3ItJHt0aGlzLmNvbG9yKCl9YCwgYGFyZC1zdGF0ZS0ke3RoaXMuY3VycmVudFZpZXdTdGF0ZSgpfWAsIHRoaXMudmFsdWUgPyAnYXJkLWhhcy12YWx1ZScgOiAnJ10uam9pbignICcpXHJcbiAgKTtcclxuXHJcbiAgcmVhZG9ubHkgcGxhY2Vob2xkZXJUZW1wbGF0ZSA9IGNvbnRlbnRDaGlsZChBcmRGaWxlSW5wdXRQbGFjZWhvbGRlclRlbXBsYXRlRGlyZWN0aXZlKTtcclxuXHJcbiAgZ2V0IHNob3VsZERpc3BsYXlQbGFjZWhvbGRlcigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAhIXRoaXMucGxhY2Vob2xkZXIoKSAmJiAhdGhpcy52YWx1ZTtcclxuICB9XHJcblxyXG4gIC8vISBjbGVhciBidXR0b25cclxuICByZWFkb25seSBjbGVhcmFibGUgPSBpbnB1dDxib29sZWFuLCBhbnk+KHRoaXMuX0RFRkFVTFRTLmNsZWFyYWJsZSwgeyB0cmFuc2Zvcm06IHYgPT4gY29lcmNlQm9vbGVhblByb3BlcnR5KHYpIH0pO1xyXG5cclxuICByZWFkb25seSBjbGVhckJ1dHRvblRpdGxlID0gaW5wdXQ8c3RyaW5nPih0aGlzLl9ERUZBVUxUUy5jbGVhckJ1dHRvblRpdGxlKTtcclxuXHJcbiAgZ2V0IHNob3VsZFNob3dDbGVhckJ1dHRvbigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmNsZWFyYWJsZSgpICYmICF0aGlzLmRpc2FibGVkKCkgJiYgQm9vbGVhbih0aGlzLnZhbHVlKTtcclxuICB9XHJcbiAgb25DbGVhckJ1dHRvbkNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIHRoaXMuY2xlYXIoKTtcclxuICAgIHRoaXMuZm9jdXMoKTtcclxuICB9XHJcblxyXG4gIC8vISBjbGVhciBmdW5jdGlvblxyXG4gIGNsZWFyKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmNsZWFyYWJsZSgpKSByZXR1cm47XHJcblxyXG4gICAgdGhpcy53cml0ZVZhbHVlKG51bGwpO1xyXG4gICAgdGhpcy5fZW1pdENoYW5nZSgpO1xyXG4gICAgdGhpcy5jbGVhckV2ZW50LmVtaXQoKTtcclxuICB9XHJcblxyXG4gIHJlYWRvbmx5IGNsZWFyRXZlbnQgPSBvdXRwdXQoeyBhbGlhczogJ2NsZWFyJyB9KTtcclxuXHJcbiAgLy8hIHN0YXRlXHJcbiAgcmVhZG9ubHkgdG91Y2hlZCA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XHJcblxyXG4gIC8vISBwcmVmaXggJiBzdWZmaXhcclxuICByZWFkb25seSBwcmVmaXhUZW1wbGF0ZSA9IGNvbnRlbnRDaGlsZChBcmRGaWxlSW5wdXRQcmVmaXhUZW1wbGF0ZURpcmVjdGl2ZSk7XHJcbiAgcmVhZG9ubHkgc3VmZml4VGVtcGxhdGUgPSBjb250ZW50Q2hpbGQoQXJkRmlsZUlucHV0U3VmZml4VGVtcGxhdGVEaXJlY3RpdmUpO1xyXG4gIC8vISB0ZW1wbGF0ZXNcclxuICByZWFkb25seSBpZGxlVGVtcGxhdGUgPSBjb250ZW50Q2hpbGQoQXJkaXVtRmlsZUlucHV0SWRsZUNvbnRlbnRUZW1wbGF0ZURpcmVjdGl2ZSk7XHJcbiAgcmVhZG9ubHkgZHJhZ292ZXJUZW1wbGF0ZSA9IGNvbnRlbnRDaGlsZChBcmRpdW1GaWxlSW5wdXREcmFnb3ZlckNvbnRlbnRUZW1wbGF0ZURpcmVjdGl2ZSk7XHJcbiAgcmVhZG9ubHkgdXBsb2FkZWRUZW1wbGF0ZSA9IGNvbnRlbnRDaGlsZChBcmRpdW1GaWxlSW5wdXRVcGxvYWRlZENvbnRlbnRUZW1wbGF0ZURpcmVjdGl2ZSk7XHJcbiAgcmVhZG9ubHkgZm9sZGVySWNvblRlbXBsYXRlID0gY29udGVudENoaWxkKEFyZGl1bUZpbGVJbnB1dEZvbGRlckljb25UZW1wbGF0ZURpcmVjdGl2ZSk7XHJcblxyXG4gIGdldElkbGVDb250ZXh0KCk6IEZpbGVJbnB1dEJyb3dzZUNvbnRleHQge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgYnJvd3NlOiAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5vcGVuQnJvd3NlRGlhbG9nKCk7XHJcbiAgICAgIH0sXHJcbiAgICB9O1xyXG4gIH1cclxuICBnZXREcmFnb3ZlckNvbnRleHQoKTogRmlsZUlucHV0RmlsZUFtb3VudENvbnRleHQge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgYW1vdW50OiB0aGlzLl9kcmFnZ2VkRmlsZXMhLFxyXG4gICAgICBicm93c2U6ICgpID0+IHtcclxuICAgICAgICB0aGlzLm9wZW5Ccm93c2VEaWFsb2coKTtcclxuICAgICAgfSxcclxuICAgIH07XHJcbiAgfVxyXG4gIGdldFVwbG9hZGVkQ29udGV4dCgpOiBGaWxlSW5wdXRGaWxlc0NvbnRleHQge1xyXG4gICAgY29uc3QgZmlsZXMgPSB0aGlzLnZhbHVlITtcclxuICAgIHJldHVybiB7XHJcbiAgICAgICRpbXBsaWNpdDogZmlsZXMsXHJcbiAgICAgIGFtb3VudDogZmlsZXMubGVuZ3RoLFxyXG4gICAgICBmaWxlcyxcclxuICAgICAgYnJvd3NlOiAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5vcGVuQnJvd3NlRGlhbG9nKCk7XHJcbiAgICAgIH0sXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iLCI8YXJkLWZvcm0tZmllbGQtZnJhbWVcclxuICBjbGFzcz1cImFyZC1maWxlLWlucHV0LWZvcm0tZmllbGQtZnJhbWVcIlxyXG4gIFthcHBlYXJhbmNlXT1cImFwcGVhcmFuY2UoKVwiXHJcbiAgW3ZhcmlhbnRdPVwidmFyaWFudCgpXCJcclxuICBbY29tcGFjdF09XCJjb21wYWN0KClcIlxyXG4gIFtpc0ZvY3VzZWRdPVwiaXNGb2N1c2VkKClcIlxyXG4gIFtoYXNFcnJvcl09XCJoYXNFcnJvcigpXCJcclxuICBbaXNTdWNjZXNzXT1cImlzU3VjY2VzcygpXCJcclxuICBbcHJlZml4VGVtcGxhdGVdPVwicHJlZml4VGVtcGxhdGUoKT8udGVtcGxhdGVcIlxyXG4gIFtzdWZmaXhUZW1wbGF0ZV09XCJzdWZmaXhUZW1wbGF0ZSgpPy50ZW1wbGF0ZVwiXHJcbiAgKGRyYWdvdmVyKT1cIm9uRHJhZ292ZXIoJGV2ZW50KVwiXHJcbiAgKGRyYWdsZWF2ZSk9XCJvbkRyYWdsZWF2ZSgpXCJcclxuICAoZHJvcCk9XCJvbkRyb3AoJGV2ZW50KVwiXHJcbiAgKGFyZENsaWNrT3V0c2lkZSk9XCJvbkRyYWdsZWF2ZSgpXCJcclxuPlxyXG4gIDxkaXZcclxuICAgIGNsYXNzPVwiYXJkLWZpbGUtaW5wdXRcIlxyXG4gICAgW25nQ2xhc3NdPVwibmdDbGFzc2VzKClcIlxyXG4gID5cclxuICAgIDxkaXYgY2xhc3M9XCJhcmQtaW5wdXQtY29udGFpbmVyXCI+XHJcbiAgICAgIEBpZiAoc2hvdWxkRGlzcGxheVBsYWNlaG9sZGVyKSB7XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdFBsYWNlaG9sZGVyVGVtcGxhdGU+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImFyZC1wbGFjZWhvbGRlclwiPnt7IHBsYWNlaG9sZGVyKCkgfX08L2Rpdj5cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJwbGFjZWhvbGRlclRlbXBsYXRlKCk/LnRlbXBsYXRlIHx8IGRlZmF1bHRQbGFjZWhvbGRlclRlbXBsYXRlXCIgLz5cclxuICAgICAgfVxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cImFyZC1maWxlLWlucHV0X192YWx1ZVwiPlxyXG4gICAgICAgIEBpZiAoY3VycmVudFZpZXdTdGF0ZSgpID09PSAnaWRsZScpIHtcclxuICAgICAgICA8bmctdGVtcGxhdGVcclxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImlkbGVUZW1wbGF0ZSgpPy50ZW1wbGF0ZSA/PyBkZWZhdWx0SWRsZVRlbXBsYXRlXCJcclxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJnZXRJZGxlQ29udGV4dCgpXCJcclxuICAgICAgICAvPlxyXG4gICAgICAgIH0gQGlmIChjdXJyZW50Vmlld1N0YXRlKCkgPT09ICdkcmFnb3ZlcicpIHtcclxuICAgICAgICA8bmctdGVtcGxhdGVcclxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImRyYWdvdmVyVGVtcGxhdGUoKT8udGVtcGxhdGUgPz8gZGVmYXVsdERyYWdvdmVyVGVtcGxhdGVcIlxyXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cImdldERyYWdvdmVyQ29udGV4dCgpXCJcclxuICAgICAgICAvPlxyXG4gICAgICAgIH0gQGlmIChjdXJyZW50Vmlld1N0YXRlKCkgPT09ICd1cGxvYWRlZCcpIHtcclxuICAgICAgICA8bmctdGVtcGxhdGVcclxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInVwbG9hZGVkVGVtcGxhdGUoKT8udGVtcGxhdGUgPz8gZGVmYXVsdFVwbG9hZGVkVGVtcGxhdGVcIlxyXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cImdldFVwbG9hZGVkQ29udGV4dCgpXCJcclxuICAgICAgICAvPlxyXG4gICAgICAgIH1cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICBAaWYgKHNob3VsZFNob3dDbGVhckJ1dHRvbikge1xyXG4gICAgPGFyZC1jbGVhci1idXR0b25cclxuICAgICAgI2ZvY3VzYWJsZUVsZW1lbnRcclxuICAgICAgW3RpdGxlXT1cImNsZWFyQnV0dG9uVGl0bGUoKVwiXHJcbiAgICAgIChtb3VzZXVwKT1cIm9uQ2xlYXJCdXR0b25DbGljaygkZXZlbnQpXCJcclxuICAgIC8+XHJcbiAgICB9IEBpZiAoIXNob3VsZEJlQmxvY2tlZCkge1xyXG4gICAgPGJ1dHRvblxyXG4gICAgICAjZm9jdXNhYmxlRWxlbWVudFxyXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgY2xhc3M9XCJhcmQtYnJvd3NlLWJ1dHRvblwiXHJcbiAgICAgIChmb2N1cyk9XCJvbkZvY3VzKCRldmVudClcIlxyXG4gICAgICAoYmx1cik9XCJvbkJsdXIoJGV2ZW50KVwiXHJcbiAgICAgIChjbGljayk9XCJvcGVuQnJvd3NlRGlhbG9nKClcIlxyXG4gICAgPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYXJkLWZvY3VzLW92ZXJsYXlcIj48L2Rpdj5cclxuICAgICAgPGFyZC1pY29uPmZvbGRlcjwvYXJkLWljb24+XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIH1cclxuICA8L2Rpdj5cclxuPC9hcmQtZm9ybS1maWVsZC1mcmFtZT5cclxuXHJcbjxpbnB1dFxyXG4gICNmaWxlSW5wdXRcclxuICBjbGFzcz1cImFyZC1maWxlLWlucHV0X19pbnB1dFwiXHJcbiAgdHlwZT1cImZpbGVcIlxyXG4gIFtuYW1lXT1cIm5hbWUoKVwiXHJcbiAgW211bHRpcGxlXT1cIm11bHRpcGxlKClcIlxyXG4gIFthdHRyLmlkXT1cImh0bWxJZCgpXCJcclxuICBbYWNjZXB0XT1cImFjY2VwdFN0cmluZygpXCJcclxuICAoY2hhbmdlKT1cIm9uSW5wdXRDaGFuZ2UoKVwiXHJcbi8+XHJcblxyXG48bmctdGVtcGxhdGVcclxuICAjZGVmYXVsdElkbGVUZW1wbGF0ZVxyXG4gIGxldC1icm93c2U9XCJicm93c2VcIlxyXG4+XHJcbiAgPHNwYW4gY2xhc3M9XCJhcmQtZmlsZS1pbnB1dF9faWRsZVwiPlxyXG4gICAgQGlmIChtdWx0aXBsZSgpKSB7XHJcbiAgICA8c3Bhbj5VcGxvYWQgYSBmaWxlPC9zcGFuPlxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICA8c3Bhbj5VcGxvYWQgZmlsZXM8L3NwYW4+XHJcbiAgICB9XHJcbiAgPC9zcGFuPlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlXHJcbiAgI2RlZmF1bHREcmFnb3ZlclRlbXBsYXRlXHJcbiAgbGV0LWFtb3VudD1cImFtb3VudFwiXHJcbj5cclxuICA8c3BhbiBjbGFzcz1cImFyZC1maWxlLWlucHV0X19kcmFnb3Zlci10ZXh0XCI+RHJvcCA8L3NwYW4+XHJcbiAgQGlmIChtdWx0aXBsZSgpKSB7XHJcbiAgPHNwYW4gY2xhc3M9XCJhcmQtZmlsZS1pbnB1dF9fZHJhZ292ZXItYW1vdW50XCI+XHJcbiAgICB7eyBhbW91bnQgfX1cclxuICAgIDxuZy1jb250YWluZXIgW25nUGx1cmFsXT1cImFtb3VudFwiPlxyXG4gICAgICA8bmctdGVtcGxhdGUgbmdQbHVyYWxDYXNlPVwiPTFcIj5maWxlPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPG5nLXRlbXBsYXRlIG5nUGx1cmFsQ2FzZT1cIm90aGVyXCI+ZmlsZXM8L25nLXRlbXBsYXRlPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC9zcGFuPlxyXG4gIH0gQGVsc2Uge1xyXG4gIDxzcGFuIGNsYXNzPVwiYXJkLWZpbGUtaW5wdXRfX2RyYWdvdmVyLWFtb3VudFwiPiBhIGZpbGUgPC9zcGFuPlxyXG4gIH1cclxuICA8c3BhbiBjbGFzcz1cImFyZC1maWxlLWlucHV0X19kcmFnb3Zlci10ZXh0XCI+IGhlcmUgdG8gdXBsb2FkIDwvc3Bhbj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZVxyXG4gICNkZWZhdWx0VXBsb2FkZWRUZW1wbGF0ZVxyXG4gIGxldC1hbW91bnQ9XCJhbW91bnRcIlxyXG4gIGxldC1maWxlcz1cImZpbGVzXCJcclxuPlxyXG4gIDxkaXYgY2xhc3M9XCJhcmQtZmlsZS1pbnB1dF9fdXBsb2FkZWRcIj5cclxuICAgIEBpZiAoYW1vdW50ID09PSAxKSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwiYXJkLWZpbGUtaW5wdXRfX2Z1bGwtZmlsZS1uYW1lXCI+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwiYXJkLWZpbGUtaW5wdXRfX2ZpbGUtbmFtZVwiPlxyXG4gICAgICAgIHt7IGZpbGVzPy5bMF0/Lm5hbWUgfCBmaWxlbmFtZSB9fVxyXG4gICAgICA8L3NwYW4+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwiYXJkLWZpbGUtaW5wdXRfX2ZpbGUtZXh0XCI+XHJcbiAgICAgICAge3sgZmlsZXM/LlswXT8ubmFtZSB8IGZpbGVleHQ6dHJ1ZSB9fVxyXG4gICAgICA8L3NwYW4+XHJcbiAgICA8L2Rpdj5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgPHNwYW4gY2xhc3M9XCJhcmQtZmlsZS1pbnB1dF9fdXBsb2FkZWQtYW1vdW50XCI+XHJcbiAgICAgIHt7IGFtb3VudCB9fVxyXG4gICAgICA8bmctY29udGFpbmVyIFtuZ1BsdXJhbF09XCJhbW91bnRcIj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgbmdQbHVyYWxDYXNlPVwiPTFcIj5maWxlPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8bmctdGVtcGxhdGUgbmdQbHVyYWxDYXNlPVwib3RoZXJcIj5maWxlczwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9zcGFuPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJhcmQtZmlsZS1pbnB1dF9fdXBsb2FkZWQtdGV4dFwiPiB1cGxvYWRlZC48L3NwYW4+XHJcbiAgICB9XHJcbiAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
@@ -1,8 +1,8 @@
1
- import { _ngModelComponentDefaults } from '../_internal/ngmodel-component';
1
+ import { _formFieldComponentDefaults } from '../_internal/form-field-component';
2
2
  export const _fileInputBaseDefaults = {
3
- ..._ngModelComponentDefaults,
3
+ ..._formFieldComponentDefaults,
4
4
  compact: false,
5
5
  multiple: false,
6
6
  blockAfterUpload: false,
7
7
  };
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1pbnB1dC1iYXNlLmRlZmF1bHRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9maWxlLWlucHV0cy9maWxlLWlucHV0LWJhc2UuZGVmYXVsdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHlCQUF5QixFQUE2QixNQUFNLGdDQUFnQyxDQUFDO0FBUXRHLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUEyQjtJQUM1RCxHQUFHLHlCQUF5QjtJQUM1QixPQUFPLEVBQUUsS0FBSztJQUNkLFFBQVEsRUFBRSxLQUFLO0lBQ2YsZ0JBQWdCLEVBQUUsS0FBSztDQUN4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgX25nTW9kZWxDb21wb25lbnREZWZhdWx0cywgX05nTW9kZWxDb21wb25lbnREZWZhdWx0cyB9IGZyb20gJy4uL19pbnRlcm5hbC9uZ21vZGVsLWNvbXBvbmVudCc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIF9GaWxlSW5wdXRCYXNlRGVmYXVsdHMgZXh0ZW5kcyBfTmdNb2RlbENvbXBvbmVudERlZmF1bHRzIHtcclxuICBjb21wYWN0OiBib29sZWFuO1xyXG4gIG11bHRpcGxlOiBib29sZWFuO1xyXG4gIGJsb2NrQWZ0ZXJVcGxvYWQ6IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBfZmlsZUlucHV0QmFzZURlZmF1bHRzOiBfRmlsZUlucHV0QmFzZURlZmF1bHRzID0ge1xyXG4gIC4uLl9uZ01vZGVsQ29tcG9uZW50RGVmYXVsdHMsXHJcbiAgY29tcGFjdDogZmFsc2UsXHJcbiAgbXVsdGlwbGU6IGZhbHNlLFxyXG4gIGJsb2NrQWZ0ZXJVcGxvYWQ6IGZhbHNlLFxyXG59O1xyXG4iXX0=
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1pbnB1dC1iYXNlLmRlZmF1bHRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9maWxlLWlucHV0cy9maWxlLWlucHV0LWJhc2UuZGVmYXVsdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLDJCQUEyQixFQUErQixNQUFNLG1DQUFtQyxDQUFDO0FBUTdHLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUEyQjtJQUM1RCxHQUFHLDJCQUEyQjtJQUM5QixPQUFPLEVBQUUsS0FBSztJQUNkLFFBQVEsRUFBRSxLQUFLO0lBQ2YsZ0JBQWdCLEVBQUUsS0FBSztDQUN4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgX2Zvcm1GaWVsZENvbXBvbmVudERlZmF1bHRzLCBfRm9ybUZpZWxkQ29tcG9uZW50RGVmYXVsdHMgfSBmcm9tICcuLi9faW50ZXJuYWwvZm9ybS1maWVsZC1jb21wb25lbnQnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBfRmlsZUlucHV0QmFzZURlZmF1bHRzIGV4dGVuZHMgX0Zvcm1GaWVsZENvbXBvbmVudERlZmF1bHRzIHtcclxuICBjb21wYWN0OiBib29sZWFuO1xyXG4gIG11bHRpcGxlOiBib29sZWFuO1xyXG4gIGJsb2NrQWZ0ZXJVcGxvYWQ6IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBfZmlsZUlucHV0QmFzZURlZmF1bHRzOiBfRmlsZUlucHV0QmFzZURlZmF1bHRzID0ge1xyXG4gIC4uLl9mb3JtRmllbGRDb21wb25lbnREZWZhdWx0cyxcclxuICBjb21wYWN0OiBmYWxzZSxcclxuICBtdWx0aXBsZTogZmFsc2UsXHJcbiAgYmxvY2tBZnRlclVwbG9hZDogZmFsc2UsXHJcbn07XHJcbiJdfQ==