@acorex/components 7.2.1 → 7.2.3

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 (44) hide show
  1. package/action-sheet/lib/action-sheet.component.d.ts +6 -5
  2. package/action-sheet/lib/action-sheet.interface.d.ts +4 -3
  3. package/color-picker/lib/color-picker.component.d.ts +1 -3
  4. package/decorators/lib/close-button.component.d.ts +3 -2
  5. package/decorators/lib/content.component.d.ts +2 -1
  6. package/decorators/lib/footer.component.d.ts +3 -2
  7. package/decorators/lib/header.component.d.ts +3 -2
  8. package/decorators/lib/prefix.component.d.ts +2 -1
  9. package/decorators/lib/sub-title.component.d.ts +3 -3
  10. package/decorators/lib/suffix.component.d.ts +2 -1
  11. package/esm2022/action-sheet/lib/action-sheet.component.mjs +14 -18
  12. package/esm2022/action-sheet/lib/action-sheet.interface.mjs +1 -2
  13. package/esm2022/action-sheet/lib/action-sheet.module.mjs +21 -7
  14. package/esm2022/action-sheet/lib/action-sheet.service.mjs +4 -4
  15. package/esm2022/alert/lib/alert.component.mjs +2 -2
  16. package/esm2022/calendar/lib/calendar.component.mjs +2 -2
  17. package/esm2022/common/lib/components/base-component.class.mjs +1 -2
  18. package/esm2022/decorators/lib/close-button.component.mjs +11 -14
  19. package/esm2022/decorators/lib/content.component.mjs +10 -5
  20. package/esm2022/decorators/lib/decorators.module.mjs +10 -10
  21. package/esm2022/decorators/lib/footer.component.mjs +11 -14
  22. package/esm2022/decorators/lib/header.component.mjs +11 -14
  23. package/esm2022/decorators/lib/prefix.component.mjs +11 -6
  24. package/esm2022/decorators/lib/sub-title.component.mjs +10 -11
  25. package/esm2022/decorators/lib/suffix.component.mjs +10 -5
  26. package/esm2022/mixin/lib/base-components.class.mjs +10 -8
  27. package/esm2022/result/lib/result.component.mjs +10 -4
  28. package/fesm2022/acorex-components-action-sheet.mjs +31 -23
  29. package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
  30. package/fesm2022/acorex-components-alert.mjs +2 -2
  31. package/fesm2022/acorex-components-alert.mjs.map +1 -1
  32. package/fesm2022/acorex-components-calendar.mjs +2 -2
  33. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  34. package/fesm2022/acorex-components-common.mjs +0 -1
  35. package/fesm2022/acorex-components-common.mjs.map +1 -1
  36. package/fesm2022/acorex-components-decorators.mjs +118 -113
  37. package/fesm2022/acorex-components-decorators.mjs.map +1 -1
  38. package/fesm2022/acorex-components-mixin.mjs +9 -7
  39. package/fesm2022/acorex-components-mixin.mjs.map +1 -1
  40. package/fesm2022/acorex-components-result.mjs +9 -3
  41. package/fesm2022/acorex-components-result.mjs.map +1 -1
  42. package/mixin/lib/textbox-mixin.class.d.ts +1 -3
  43. package/package.json +26 -26
  44. package/result/lib/result.component.d.ts +1 -0
@@ -1,21 +1,26 @@
1
1
  import { AXBaseComponentMixin } from '@acorex/components/mixin';
2
- import { Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, ChangeDetectorRef, } from '@angular/core';
2
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, HostBinding, ViewEncapsulation, } from '@angular/core';
3
3
  import * as i0 from "@angular/core";
4
4
  export class AXDecoratorSuffixComponent extends AXBaseComponentMixin {
5
5
  constructor(elementRef, cdr) {
6
6
  super(elementRef, cdr);
7
7
  }
8
+ get hostClass() {
9
+ return 'ax-suffix';
10
+ }
8
11
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: AXDecoratorSuffixComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
9
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.4", type: AXDecoratorSuffixComponent, selector: "ax-suffix", host: { classAttribute: "ax-suffix" }, usesInheritance: true, ngImport: i0, template: ` <ng-content></ng-content> `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
12
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.4", type: AXDecoratorSuffixComponent, selector: "ax-suffix", host: { properties: { "class": "this.hostClass" } }, usesInheritance: true, ngImport: i0, template: ` <ng-content></ng-content> `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
10
13
  }
11
14
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: AXDecoratorSuffixComponent, decorators: [{
12
15
  type: Component,
13
16
  args: [{
14
17
  selector: 'ax-suffix',
15
18
  template: ` <ng-content></ng-content> `,
16
- host: { class: 'ax-suffix' },
17
19
  changeDetection: ChangeDetectionStrategy.OnPush,
18
20
  encapsulation: ViewEncapsulation.None,
19
21
  }]
20
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; } });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VmZml4LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kZWNvcmF0b3JzL3NyYy9saWIvc3VmZml4LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixFQUNqQix1QkFBdUIsRUFDdkIsVUFBVSxFQUNWLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQzs7QUFTdkIsTUFBTSxPQUFPLDBCQUEyQixTQUFRLG9CQUFvQjtJQUNsRSxZQUFZLFVBQXNCLEVBQUUsR0FBc0I7UUFDeEQsS0FBSyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN6QixDQUFDOzhHQUhVLDBCQUEwQjtrR0FBMUIsMEJBQTBCLCtHQUwzQiw2QkFBNkI7OzJGQUs1QiwwQkFBMEI7a0JBUHRDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLFFBQVEsRUFBRSw2QkFBNkI7b0JBQ3ZDLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUU7b0JBQzVCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtpQkFDdEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWEJhc2VDb21wb25lbnRNaXhpbiB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9taXhpbic7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgRWxlbWVudFJlZixcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1zdWZmaXgnLFxuICB0ZW1wbGF0ZTogYCA8bmctY29udGVudD48L25nLWNvbnRlbnQ+IGAsXG4gIGhvc3Q6IHsgY2xhc3M6ICdheC1zdWZmaXgnIH0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBBWERlY29yYXRvclN1ZmZpeENvbXBvbmVudCBleHRlbmRzIEFYQmFzZUNvbXBvbmVudE1peGluIHtcbiAgY29uc3RydWN0b3IoZWxlbWVudFJlZjogRWxlbWVudFJlZiwgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHN1cGVyKGVsZW1lbnRSZWYsIGNkcik7XG4gIH1cbn1cbiJdfQ==
22
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { hostClass: [{
23
+ type: HostBinding,
24
+ args: ['class']
25
+ }] } });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VmZml4LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kZWNvcmF0b3JzL3NyYy9saWIvc3VmZml4LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFdBQVcsRUFDWCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7O0FBUXZCLE1BQU0sT0FBTywwQkFBMkIsU0FBUSxvQkFBb0I7SUFDbEUsWUFBWSxVQUFzQixFQUFFLEdBQXNCO1FBQ3hELEtBQUssQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVELElBQ1ksU0FBUztRQUNuQixPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDOzhHQVJVLDBCQUEwQjtrR0FBMUIsMEJBQTBCLDZIQUozQiw2QkFBNkI7OzJGQUk1QiwwQkFBMEI7a0JBTnRDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLFFBQVEsRUFBRSw2QkFBNkI7b0JBQ3ZDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtpQkFDdEM7aUlBT2EsU0FBUztzQkFEcEIsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhCYXNlQ29tcG9uZW50TWl4aW4gfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbWl4aW4nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LXN1ZmZpeCcsXG4gIHRlbXBsYXRlOiBgIDxuZy1jb250ZW50PjwvbmctY29udGVudD4gYCxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIEFYRGVjb3JhdG9yU3VmZml4Q29tcG9uZW50IGV4dGVuZHMgQVhCYXNlQ29tcG9uZW50TWl4aW4ge1xuICBjb25zdHJ1Y3RvcihlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgc3VwZXIoZWxlbWVudFJlZiwgY2RyKTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBwcml2YXRlIGdldCBob3N0Q2xhc3MoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ2F4LXN1ZmZpeCc7XG4gIH1cbn1cbiJdfQ==
@@ -10,8 +10,8 @@ export class AXBaseComponent {
10
10
  if (this.#rtl)
11
11
  return this.#rtl;
12
12
  else
13
- return (this._getHostElement().classList.contains('ax-rtl') ||
14
- window.getComputedStyle(this._getHostElement(), null).getPropertyValue('direction') ===
13
+ return (this._getHostElement()?.classList?.contains('ax-rtl') ||
14
+ window.getComputedStyle(this._getHostElement(), null)?.getPropertyValue('direction') ===
15
15
  'rtl');
16
16
  }
17
17
  set rtl(value) {
@@ -37,17 +37,19 @@ export class AXBaseComponent {
37
37
  ngOnDestroy() {
38
38
  this._onInternalDestroy();
39
39
  }
40
+ //TODO: check why every time called _getHostElement function
40
41
  _getHostElement() {
41
- if (this.#elementRef) {
42
- return this.#elementRef.nativeElement;
43
- }
44
- return null;
42
+ //TODO: check elementRef retrun 0
43
+ return this.#elementRef?.nativeElement;
45
44
  }
46
45
  _getInnerElement() {
47
46
  return this._getHostElement().firstElementChild;
48
47
  }
49
48
  _onInternalInit() {
50
- this._getHostElement().__axContext__ = this;
49
+ //TODO: check Cannot set properties of undefined (setting '__axContext__')
50
+ if (this._getHostElement()) {
51
+ this._getHostElement().__axContext__ = this;
52
+ }
51
53
  this._applyRtl();
52
54
  this.onInit();
53
55
  }
@@ -106,4 +108,4 @@ export function _BaseComponenetMixin(Base) {
106
108
  }
107
109
  export const BASE_INPUTS = ['rtl'];
108
110
  export const BASE_OUTPUT = [];
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb21wb25lbnRzLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21peGluL3NyYy9saWIvYmFzZS1jb21wb25lbnRzLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBbUMsTUFBTSxFQUFFLFVBQVUsRUFBYyxNQUFNLGVBQWUsQ0FBQzs7QUF3QmhHLE1BQU0sT0FBTyxlQUFlO0lBRzFCOztPQUVHO0lBQ0gsZUFBZTtJQUVmLElBQUksQ0FBVTtJQUVkLElBQUksR0FBRztRQUNMLElBQUksSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7O1lBRTlCLE9BQU8sQ0FDTCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7Z0JBQ25ELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDO29CQUNqRixLQUFLLENBQ1IsQ0FBQztJQUNOLENBQUM7SUFFRCxJQUFJLEdBQUcsQ0FBQyxLQUFjO1FBQ3BCLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxXQUFXLENBQWE7SUFNeEI7O09BRUc7SUFDSCxZQUEyQixHQUFHLElBQVc7UUFoQ3pDLE9BQUUsR0FBVyxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQWlDL0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEIs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RyxJQUFXO1lBQ3hCLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQ2pCLENBQUM7S0FDRixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ25DLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIEluamVjdGFibGUsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnN0cnVjdG9yIH0gZnJvbSAnLi9jb25zdHJhdGN0b3InO1xuXG4vKipcbiAqIEEgdG9rZW4gdGhhdCBzcGVjaWZpZXMgdGhlIHNpemUgb2YgY29tcG9uZW50LlxuICovXG5leHBvcnQgdHlwZSBBWEVsZW1lbnRTaXplID0gJ3hzJyB8ICdzbScgfCAnbWQnIHwgJ2xnJyB8ICd4bCc7XG5cbmV4cG9ydCB0eXBlIEFYQ29tcG9uZW50U3RhdGUgPSAnY2xlYXInIHwgJ3N1Y2Nlc3MnIHwgJ2Vycm9yJztcblxuZXhwb3J0IHR5cGUgQVhDb21wb25lbnRPcHRpb25DaGFuZ2luZyA9IHsgbmFtZTogc3RyaW5nOyB2YWx1ZT86IGFueSB9O1xuZXhwb3J0IHR5cGUgQVhDb21wb25lbnRPcHRpb25DaGFuZ2VkID0ge1xuICBuYW1lOiBzdHJpbmc7XG4gIG5ld1ZhbHVlPzogYW55O1xuICBvbGRWYWx1ZT86IGFueTtcbn07XG5leHBvcnQgdHlwZSBBWENvbXBvbmVudFNldE9wdGlvbiA9IHtcbiAgbmFtZTogc3RyaW5nO1xuICB2YWx1ZT86IGFueTtcbiAgYWZ0ZXJDYWxsYmFjaz86IChvbGRWYWx1ZT86IGFueSwgbmV3VmFsdWU/OiBhbnkpID0+IHZvaWQ7XG4gIGJlZm9yZUNhbGxiYWNrPzogKG9sZFZhbHVlPzogYW55LCBuZXdWYWx1ZT86IGFueSkgPT4gdm9pZDtcbn07XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBWEJhc2VDb21wb25lbnQge1xuICBpZDogc3RyaW5nID0gYEFYJHtNYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkgKiBNYXRoLnBvdygxMCwgMTApKX1gO1xuXG4gIC8qKlxuICAgKiBBIHRva2VuIHRoYXQgc3BlY2lmaWVzIHRoZSBsYXlvdXQgZGlyZWN0aW9uIG9mIGNvbXBvbmVudC5cbiAgICovXG4gIC8vcnRsOiBib29sZWFuO1xuXG4gICNydGw6IGJvb2xlYW47XG5cbiAgZ2V0IHJ0bCgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy4jcnRsKSByZXR1cm4gdGhpcy4jcnRsO1xuICAgIGVsc2VcbiAgICAgIHJldHVybiAoXG4gICAgICAgIHRoaXMuX2dldEhvc3RFbGVtZW50KCkuY2xhc3NMaXN0LmNvbnRhaW5zKCdheC1ydGwnKSB8fFxuICAgICAgICB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLl9nZXRIb3N0RWxlbWVudCgpLCBudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKCdkaXJlY3Rpb24nKSA9PT1cbiAgICAgICAgICAncnRsJ1xuICAgICAgKTtcbiAgfVxuXG4gIHNldCBydGwodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLiNydGwgPSB2YWx1ZTtcbiAgfVxuXG4gICNlbGVtZW50UmVmOiBFbGVtZW50UmVmO1xuICBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZjtcblxuICBfaXNJbml0ZWQ6IGJvb2xlYW47XG4gIF9pc1JlbmRlcmVkOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgY29uc3RydWN0b3IoQEluamVjdChBcnJheSkgLi4uYXJnczogYW55W10pIHtcbiAgICB0aGlzLiNlbGVtZW50UmVmID0gYXJnc1swXTtcbiAgICB0aGlzLl9jZHIgPSBhcmdzWzFdO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5faXNJbml0ZWQgPSB0cnVlO1xuICAgIHRoaXMuX29uSW50ZXJuYWxJbml0KCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5faXNSZW5kZXJlZCA9IHRydWU7XG4gICAgdGhpcy5fb25JbnRlcm5hbFZpZXdJbml0KCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLl9vbkludGVybmFsRGVzdHJveSgpO1xuICB9XG5cbiAgX2dldEhvc3RFbGVtZW50PFQgPSBIVE1MRWxlbWVudD4oKTogVCB7XG4gICAgaWYgKHRoaXMuI2VsZW1lbnRSZWYpIHtcbiAgICAgIHJldHVybiB0aGlzLiNlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQgYXMgVDtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBfZ2V0SW5uZXJFbGVtZW50PFQgPSBIVE1MRWxlbWVudD4oKTogVCB7XG4gICAgcmV0dXJuIHRoaXMuX2dldEhvc3RFbGVtZW50KCkuZmlyc3RFbGVtZW50Q2hpbGQgYXMgdW5rbm93biBhcyBUO1xuICB9XG5cbiAgX29uSW50ZXJuYWxJbml0KCkge1xuICAgICh0aGlzLl9nZXRIb3N0RWxlbWVudCgpIGFzIGFueSkuX19heENvbnRleHRfXyA9IHRoaXM7XG4gICAgdGhpcy5fYXBwbHlSdGwoKTtcbiAgICB0aGlzLm9uSW5pdCgpO1xuICB9XG5cbiAgX29uSW50ZXJuYWxWaWV3SW5pdCgpIHtcbiAgICB0aGlzLm9uVmlld0luaXQoKTtcbiAgfVxuXG4gIF9vbkludGVybmFsRGVzdHJveSgpIHtcbiAgICB0aGlzLm9uRGVzdHJveSgpO1xuICB9XG5cbiAgb25Jbml0KCkge31cblxuICBvblZpZXdJbml0KCkge31cblxuICBvbkRlc3Ryb3koKSB7fVxuXG4gIF9hcHBseVJ0bCgpIHtcbiAgICBpZiAodGhpcy5ydGwpIHtcbiAgICAgIHRoaXMuX2dldEhvc3RFbGVtZW50KCkuY2xhc3NMaXN0LmFkZCgnYXgtcnRsJyk7XG4gICAgfVxuICB9XG5cbiAgX29uT3B0aW9uQ2hhbmdpbmcob3B0aW9uOiBBWENvbXBvbmVudE9wdGlvbkNoYW5naW5nKSB7XG4gICAgcmV0dXJuIG9wdGlvbj8udmFsdWU7XG4gIH1cbiAgX29uT3B0aW9uQ2hhbmdlZChvcHRpb246IEFYQ29tcG9uZW50T3B0aW9uQ2hhbmdlZCk6IHZvaWQge31cblxuICBfc2V0T3B0aW9uKG9wdGlvbjogQVhDb21wb25lbnRTZXRPcHRpb24pIHtcbiAgICBjb25zdCBvbGRWYWx1ZSA9IHRoaXNbb3B0aW9uLm5hbWVdO1xuICAgIGNvbnN0IG5ld1ZhbHVlID0gdGhpcy5fb25PcHRpb25DaGFuZ2luZyh7XG4gICAgICBuYW1lOiBvcHRpb24ubmFtZSxcbiAgICAgIHZhbHVlOiBvcHRpb24udmFsdWUsXG4gICAgfSk7XG4gICAgLy9UT0RPIDogY2hlY2sgcmVhbCBjaGFuZ2VzXG4gICAgaWYgKG9wdGlvbi5iZWZvcmVDYWxsYmFjaykgb3B0aW9uLmJlZm9yZUNhbGxiYWNrKG9sZFZhbHVlLCBuZXdWYWx1ZSk7XG4gICAgaWYgKG9sZFZhbHVlICE9IG5ld1ZhbHVlKSB7XG4gICAgICB0aGlzW2BfJHtvcHRpb24ubmFtZX1gXSA9IG9wdGlvbi52YWx1ZTtcbiAgICAgIHRoaXMuX29uT3B0aW9uQ2hhbmdlZCh7IG5hbWU6IG9wdGlvbi5uYW1lLCBuZXdWYWx1ZSwgb2xkVmFsdWUgfSk7XG4gICAgICBjb25zdCBlbWl0dGVyID0gdGhpc1tgJHtvcHRpb24ubmFtZX1DaGFuZ2VgXSBhcyBFdmVudEVtaXR0ZXI8YW55PjtcbiAgICAgIGlmIChlbWl0dGVyKSBlbWl0dGVyLmVtaXQobmV3VmFsdWUpO1xuICAgIH1cbiAgICBpZiAob3B0aW9uLmFmdGVyQ2FsbGJhY2spIG9wdGlvbi5hZnRlckNhbGxiYWNrKG9sZFZhbHVlLCBuZXdWYWx1ZSk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIF9CYXNlQ29tcG9uZW5ldE1peGluPFRCYXNlIGV4dGVuZHMgQ29uc3RydWN0b3I8QVhCYXNlQ29tcG9uZW50Pj4oQmFzZTogVEJhc2UpIHtcbiAgcmV0dXJuIGNsYXNzIGV4dGVuZHMgQmFzZSB7XG4gICAgY29uc3RydWN0b3IoLi4uYXJnczogYW55W10pIHtcbiAgICAgIHN1cGVyKC4uLmFyZ3MpO1xuICAgIH1cbiAgfTtcbn1cblxuZXhwb3J0IGNvbnN0IEJBU0VfSU5QVVRTID0gWydydGwnXTtcbmV4cG9ydCBjb25zdCBCQVNFX09VVFBVVCA9IFtdO1xuIl19
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb21wb25lbnRzLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21peGluL3NyYy9saWIvYmFzZS1jb21wb25lbnRzLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBbUMsTUFBTSxFQUFFLFVBQVUsRUFBYyxNQUFNLGVBQWUsQ0FBQzs7QUF3QmhHLE1BQU0sT0FBTyxlQUFlO0lBRzFCOztPQUVHO0lBQ0gsZUFBZTtJQUVmLElBQUksQ0FBVTtJQUVkLElBQUksR0FBRztRQUNMLElBQUksSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7O1lBRTlCLE9BQU8sQ0FDTCxJQUFJLENBQUMsZUFBZSxFQUFFLEVBQUUsU0FBUyxFQUFFLFFBQVEsQ0FBQyxRQUFRLENBQUM7Z0JBQ3JELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsZ0JBQWdCLENBQUMsV0FBVyxDQUFDO29CQUNsRixLQUFLLENBQ1IsQ0FBQztJQUNOLENBQUM7SUFFRCxJQUFJLEdBQUcsQ0FBQyxLQUFjO1FBQ3BCLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxXQUFXLENBQWE7SUFNeEI7O09BRUc7SUFDSCxZQUEyQixHQUFHLElBQVc7UUFoQ3pDLE9BQUUsR0FBVyxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQWlDL0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEIs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U0FBUSxJQUFJO1FBQ3ZCLFlBQVksR0FBRyxJQUFXO1lBQ3hCLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQ2pCLENBQUM7S0FDRixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ25DLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIEluamVjdGFibGUsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnN0cnVjdG9yIH0gZnJvbSAnLi9jb25zdHJhdGN0b3InO1xuXG4vKipcbiAqIEEgdG9rZW4gdGhhdCBzcGVjaWZpZXMgdGhlIHNpemUgb2YgY29tcG9uZW50LlxuICovXG5leHBvcnQgdHlwZSBBWEVsZW1lbnRTaXplID0gJ3hzJyB8ICdzbScgfCAnbWQnIHwgJ2xnJyB8ICd4bCc7XG5cbmV4cG9ydCB0eXBlIEFYQ29tcG9uZW50U3RhdGUgPSAnY2xlYXInIHwgJ3N1Y2Nlc3MnIHwgJ2Vycm9yJztcblxuZXhwb3J0IHR5cGUgQVhDb21wb25lbnRPcHRpb25DaGFuZ2luZyA9IHsgbmFtZTogc3RyaW5nOyB2YWx1ZT86IGFueSB9O1xuZXhwb3J0IHR5cGUgQVhDb21wb25lbnRPcHRpb25DaGFuZ2VkID0ge1xuICBuYW1lOiBzdHJpbmc7XG4gIG5ld1ZhbHVlPzogYW55O1xuICBvbGRWYWx1ZT86IGFueTtcbn07XG5leHBvcnQgdHlwZSBBWENvbXBvbmVudFNldE9wdGlvbiA9IHtcbiAgbmFtZTogc3RyaW5nO1xuICB2YWx1ZT86IGFueTtcbiAgYWZ0ZXJDYWxsYmFjaz86IChvbGRWYWx1ZT86IGFueSwgbmV3VmFsdWU/OiBhbnkpID0+IHZvaWQ7XG4gIGJlZm9yZUNhbGxiYWNrPzogKG9sZFZhbHVlPzogYW55LCBuZXdWYWx1ZT86IGFueSkgPT4gdm9pZDtcbn07XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBWEJhc2VDb21wb25lbnQge1xuICBpZDogc3RyaW5nID0gYEFYJHtNYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkgKiBNYXRoLnBvdygxMCwgMTApKX1gO1xuXG4gIC8qKlxuICAgKiBBIHRva2VuIHRoYXQgc3BlY2lmaWVzIHRoZSBsYXlvdXQgZGlyZWN0aW9uIG9mIGNvbXBvbmVudC5cbiAgICovXG4gIC8vcnRsOiBib29sZWFuO1xuXG4gICNydGw6IGJvb2xlYW47XG5cbiAgZ2V0IHJ0bCgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy4jcnRsKSByZXR1cm4gdGhpcy4jcnRsO1xuICAgIGVsc2VcbiAgICAgIHJldHVybiAoXG4gICAgICAgIHRoaXMuX2dldEhvc3RFbGVtZW50KCk/LmNsYXNzTGlzdD8uY29udGFpbnMoJ2F4LXJ0bCcpIHx8XG4gICAgICAgIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRoaXMuX2dldEhvc3RFbGVtZW50KCksIG51bGwpPy5nZXRQcm9wZXJ0eVZhbHVlKCdkaXJlY3Rpb24nKSA9PT1cbiAgICAgICAgICAncnRsJ1xuICAgICAgKTtcbiAgfVxuXG4gIHNldCBydGwodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLiNydGwgPSB2YWx1ZTtcbiAgfVxuXG4gICNlbGVtZW50UmVmOiBFbGVtZW50UmVmO1xuICBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZjtcblxuICBfaXNJbml0ZWQ6IGJvb2xlYW47XG4gIF9pc1JlbmRlcmVkOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgY29uc3RydWN0b3IoQEluamVjdChBcnJheSkgLi4uYXJnczogYW55W10pIHtcbiAgICB0aGlzLiNlbGVtZW50UmVmID0gYXJnc1swXTtcbiAgICB0aGlzLl9jZHIgPSBhcmdzWzFdO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5faXNJbml0ZWQgPSB0cnVlO1xuICAgIHRoaXMuX29uSW50ZXJuYWxJbml0KCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5faXNSZW5kZXJlZCA9IHRydWU7XG4gICAgdGhpcy5fb25JbnRlcm5hbFZpZXdJbml0KCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLl9vbkludGVybmFsRGVzdHJveSgpO1xuICB9XG5cbiAgLy9UT0RPOiBjaGVjayB3aHkgZXZlcnkgdGltZSBjYWxsZWQgX2dldEhvc3RFbGVtZW50IGZ1bmN0aW9uXG4gIF9nZXRIb3N0RWxlbWVudDxUID0gSFRNTEVsZW1lbnQ+KCk6IFQge1xuICAgIC8vVE9ETzogY2hlY2sgZWxlbWVudFJlZiByZXRydW4gMFxuICAgIHJldHVybiB0aGlzLiNlbGVtZW50UmVmPy5uYXRpdmVFbGVtZW50IGFzIFQ7XG4gIH1cblxuICBfZ2V0SW5uZXJFbGVtZW50PFQgPSBIVE1MRWxlbWVudD4oKTogVCB7XG4gICAgcmV0dXJuIHRoaXMuX2dldEhvc3RFbGVtZW50KCkuZmlyc3RFbGVtZW50Q2hpbGQgYXMgdW5rbm93biBhcyBUO1xuICB9XG5cbiAgX29uSW50ZXJuYWxJbml0KCkge1xuICAgIC8vVE9ETzogY2hlY2sgQ2Fubm90IHNldCBwcm9wZXJ0aWVzIG9mIHVuZGVmaW5lZCAoc2V0dGluZyAnX19heENvbnRleHRfXycpXG5cbiAgICBpZiAodGhpcy5fZ2V0SG9zdEVsZW1lbnQoKSkge1xuICAgICAgKHRoaXMuX2dldEhvc3RFbGVtZW50KCkgYXMgYW55KS5fX2F4Q29udGV4dF9fID0gdGhpcztcbiAgICB9XG4gICAgdGhpcy5fYXBwbHlSdGwoKTtcbiAgICB0aGlzLm9uSW5pdCgpO1xuICB9XG5cbiAgX29uSW50ZXJuYWxWaWV3SW5pdCgpIHtcbiAgICB0aGlzLm9uVmlld0luaXQoKTtcbiAgfVxuXG4gIF9vbkludGVybmFsRGVzdHJveSgpIHtcbiAgICB0aGlzLm9uRGVzdHJveSgpO1xuICB9XG5cbiAgb25Jbml0KCkge31cblxuICBvblZpZXdJbml0KCkge31cblxuICBvbkRlc3Ryb3koKSB7fVxuXG4gIF9hcHBseVJ0bCgpIHtcbiAgICBpZiAodGhpcy5ydGwpIHtcbiAgICAgIHRoaXMuX2dldEhvc3RFbGVtZW50KCkuY2xhc3NMaXN0LmFkZCgnYXgtcnRsJyk7XG4gICAgfVxuICB9XG5cbiAgX29uT3B0aW9uQ2hhbmdpbmcob3B0aW9uOiBBWENvbXBvbmVudE9wdGlvbkNoYW5naW5nKSB7XG4gICAgcmV0dXJuIG9wdGlvbj8udmFsdWU7XG4gIH1cbiAgX29uT3B0aW9uQ2hhbmdlZChvcHRpb246IEFYQ29tcG9uZW50T3B0aW9uQ2hhbmdlZCk6IHZvaWQge31cblxuICBfc2V0T3B0aW9uKG9wdGlvbjogQVhDb21wb25lbnRTZXRPcHRpb24pIHtcbiAgICBjb25zdCBvbGRWYWx1ZSA9IHRoaXNbb3B0aW9uLm5hbWVdO1xuICAgIGNvbnN0IG5ld1ZhbHVlID0gdGhpcy5fb25PcHRpb25DaGFuZ2luZyh7XG4gICAgICBuYW1lOiBvcHRpb24ubmFtZSxcbiAgICAgIHZhbHVlOiBvcHRpb24udmFsdWUsXG4gICAgfSk7XG4gICAgLy9UT0RPIDogY2hlY2sgcmVhbCBjaGFuZ2VzXG4gICAgaWYgKG9wdGlvbi5iZWZvcmVDYWxsYmFjaykgb3B0aW9uLmJlZm9yZUNhbGxiYWNrKG9sZFZhbHVlLCBuZXdWYWx1ZSk7XG4gICAgaWYgKG9sZFZhbHVlICE9IG5ld1ZhbHVlKSB7XG4gICAgICB0aGlzW2BfJHtvcHRpb24ubmFtZX1gXSA9IG9wdGlvbi52YWx1ZTtcbiAgICAgIHRoaXMuX29uT3B0aW9uQ2hhbmdlZCh7IG5hbWU6IG9wdGlvbi5uYW1lLCBuZXdWYWx1ZSwgb2xkVmFsdWUgfSk7XG4gICAgICBjb25zdCBlbWl0dGVyID0gdGhpc1tgJHtvcHRpb24ubmFtZX1DaGFuZ2VgXSBhcyBFdmVudEVtaXR0ZXI8YW55PjtcbiAgICAgIGlmIChlbWl0dGVyKSBlbWl0dGVyLmVtaXQobmV3VmFsdWUpO1xuICAgIH1cbiAgICBpZiAob3B0aW9uLmFmdGVyQ2FsbGJhY2spIG9wdGlvbi5hZnRlckNhbGxiYWNrKG9sZFZhbHVlLCBuZXdWYWx1ZSk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIF9CYXNlQ29tcG9uZW5ldE1peGluPFRCYXNlIGV4dGVuZHMgQ29uc3RydWN0b3I8QVhCYXNlQ29tcG9uZW50Pj4oQmFzZTogVEJhc2UpIHtcbiAgcmV0dXJuIGNsYXNzIGV4dGVuZHMgQmFzZSB7XG4gICAgY29uc3RydWN0b3IoLi4uYXJnczogYW55W10pIHtcbiAgICAgIHN1cGVyKC4uLmFyZ3MpO1xuICAgIH1cbiAgfTtcbn1cblxuZXhwb3J0IGNvbnN0IEJBU0VfSU5QVVRTID0gWydydGwnXTtcbmV4cG9ydCBjb25zdCBCQVNFX09VVFBVVCA9IFtdO1xuIl19