@acorex/components 18.8.2 → 18.8.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. package/action-sheet/lib/action-sheet.component.d.ts +3 -12
  2. package/esm2022/action-sheet/lib/action-sheet.component.mjs +13 -22
  3. package/esm2022/color-palette/lib/color-palette-input.component.mjs +1 -1
  4. package/esm2022/color-palette/lib/color-palette-picker.component.mjs +4 -4
  5. package/esm2022/color-palette/lib/color-palette.component.mjs +2 -2
  6. package/esm2022/common/lib/components/value-component.class.mjs +1 -1
  7. package/esm2022/conversation/lib/conversation-messages/conversation-message-audio/conversation-message-audio.component.mjs +1 -1
  8. package/esm2022/data-pager/lib/data-pager-input-selector.component.mjs +1 -1
  9. package/esm2022/number-box/lib/number-box.component.mjs +55 -29
  10. package/esm2022/paint/lib/paint/paint-tools/paint-color-picker/paint-color-picker.component.mjs +3 -3
  11. package/esm2022/paint/lib/paint/paint-tools/paint-pen-cap/paint-pen-cap.component.mjs +3 -3
  12. package/esm2022/paint/lib/paint/paint-tools/paint-pen-mode-changer/paint-pen-mode-changer.component.mjs +1 -1
  13. package/esm2022/paint/lib/paint/paint-view/paint-view.component.mjs +4 -3
  14. package/esm2022/phone-box/lib/phone-box.component.mjs +3 -3
  15. package/esm2022/range-slider/lib/range-slider.class.mjs +1 -1
  16. package/esm2022/range-slider/lib/range-slider.component.mjs +159 -134
  17. package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-container/wysiwyg-container.component.mjs +7 -1
  18. package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-colors/wysiwyg-colors.component.mjs +29 -9
  19. package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-insert/wysiwyg-insert.component.mjs +3 -3
  20. package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg.service.mjs +2 -1
  21. package/fesm2022/acorex-components-action-sheet.mjs +12 -21
  22. package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
  23. package/fesm2022/acorex-components-color-palette.mjs +6 -6
  24. package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
  25. package/fesm2022/acorex-components-common.mjs.map +1 -1
  26. package/fesm2022/acorex-components-conversation.mjs +1 -1
  27. package/fesm2022/acorex-components-conversation.mjs.map +1 -1
  28. package/fesm2022/acorex-components-data-pager.mjs +1 -1
  29. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  30. package/fesm2022/acorex-components-number-box.mjs +54 -28
  31. package/fesm2022/acorex-components-number-box.mjs.map +1 -1
  32. package/fesm2022/acorex-components-paint.mjs +8 -7
  33. package/fesm2022/acorex-components-paint.mjs.map +1 -1
  34. package/fesm2022/acorex-components-phone-box.mjs +2 -2
  35. package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
  36. package/fesm2022/acorex-components-range-slider.mjs +157 -132
  37. package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
  38. package/fesm2022/acorex-components-wysiwyg.mjs +36 -9
  39. package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
  40. package/number-box/lib/number-box.component.d.ts +35 -30
  41. package/package.json +31 -31
  42. package/range-slider/lib/range-slider.class.d.ts +1 -0
  43. package/range-slider/lib/range-slider.component.d.ts +43 -11
  44. package/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-colors/wysiwyg-colors.component.d.ts +6 -2
  45. package/wysiwyg/lib/wysiwyg/wysiwyg.service.d.ts +1 -0
@@ -28,22 +28,13 @@ export declare class AXActionSheetComponent extends MXBaseComponent implements O
28
28
  * @ignore
29
29
  */
30
30
  ngOnInit(): void;
31
- /**
32
- * @ignore
33
- */
34
- protected onKeydownHandler(): void;
35
- /**
36
- * @ignore
37
- */
38
- _handleAttched(ref: CdkPortalOutletAttachedRef): void;
39
- /**
40
- * @ignore
41
- */
31
+ protected handleAttched(ref: CdkPortalOutletAttachedRef): void;
42
32
  onItemClick(item: AXActionSheetItem): void;
33
+ close(e: any): void;
43
34
  /**
44
35
  * @ignore
45
36
  */
46
- close(e: any): void;
37
+ protected onKeydownHandler(): void;
47
38
  static ɵfac: i0.ɵɵFactoryDeclaration<AXActionSheetComponent, never>;
48
39
  static ɵcmp: i0.ɵɵComponentDeclaration<AXActionSheetComponent, "ax-action-sheet", never, {}, {}, never, never, false, never>;
49
40
  }
@@ -41,19 +41,7 @@ export class AXActionSheetComponent extends MXBaseComponent {
41
41
  }
42
42
  }
43
43
  }
44
- /**
45
- * @ignore
46
- */
47
- onKeydownHandler() {
48
- const focusedOrHasFocused = this.getHostElement().matches(':focus-within');
49
- if (this.data.closeButton && focusedOrHasFocused) {
50
- this.close(null);
51
- }
52
- }
53
- /**
54
- * @ignore
55
- */
56
- _handleAttched(ref) {
44
+ handleAttched(ref) {
57
45
  ref = ref;
58
46
  if (ref.instance) {
59
47
  this._componentRef = ref.instance;
@@ -66,17 +54,11 @@ export class AXActionSheetComponent extends MXBaseComponent {
66
54
  }
67
55
  }
68
56
  }
69
- /**
70
- * @ignore
71
- */
72
57
  onItemClick(item) {
73
58
  this.close(item);
74
59
  if (item?.onClick)
75
60
  item.onClick();
76
61
  }
77
- /**
78
- * @ignore
79
- */
80
62
  close(e) {
81
63
  this.dialogRef.close({
82
64
  component: this._componentRef,
@@ -84,6 +66,15 @@ export class AXActionSheetComponent extends MXBaseComponent {
84
66
  data: e,
85
67
  });
86
68
  }
69
+ /**
70
+ * @ignore
71
+ */
72
+ onKeydownHandler() {
73
+ const focusedOrHasFocused = this.getHostElement().matches(':focus-within');
74
+ if (this.data.closeButton && focusedOrHasFocused) {
75
+ this.close(null);
76
+ }
77
+ }
87
78
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXActionSheetComponent, deps: [{ token: DIALOG_DATA }, { token: i1.DialogRef }], target: i0.ɵɵFactoryTarget.Component }); }
88
79
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXActionSheetComponent, selector: "ax-action-sheet", host: { listeners: { "keydown.escape": "onKeydownHandler()" } }, providers: [
89
80
  {
@@ -94,7 +85,7 @@ export class AXActionSheetComponent extends MXBaseComponent {
94
85
  provide: AXFocusableComponent,
95
86
  useExisting: AXActionSheetComponent,
96
87
  },
97
- ], usesInheritance: true, ngImport: i0, template: "@if (data.header) {\n <ax-header>\n <ax-prefix>\n <ax-title>{{ data.title | translate | async }}</ax-title>\n\n @if (data.subTitle) {\n <ax-sub-title>\n {{ data.subTitle }}\n </ax-sub-title>\n }\n </ax-prefix>\n @if (data.closeButton) {\n <ax-suffix>\n <ax-close-button></ax-close-button>\n </ax-suffix>\n }\n </ax-header>\n}\n<ng-template [cdkPortalOutlet]=\"_selectedPortal\" (attached)=\"_handleAttched($event)\"></ng-template>\n<div class=\"ax-action-sheet-items\">\n @for (item of data.items; let i = $index; track i) {\n <div\n class=\"ax-action-sheet-item ax-{{ item.color }}\"\n [class.ax-state-disabled]=\"item.disabled\"\n [tabindex]=\"i\"\n (click)=\"onItemClick(item)\"\n >\n @if (item.icon) {\n <span class=\"item-icon\" [class]=\"item.icon\"></span>\n }\n <span class=\"item-text\">{{ item.text | translate | async }}</span>\n </div>\n }\n</div>\n", styles: ["ax-action-sheet{display:block;width:100vw}@media (min-width: 768px){ax-action-sheet{width:70vw}}@media (min-width: 1024px){ax-action-sheet{width:50vw}}ax-action-sheet ax-header{padding:1rem;border-bottom-width:1px;font-size:1rem;line-height:1.5rem;font-weight:500}@media (min-width: 768px){ax-action-sheet ax-header{font-size:1.125rem;line-height:1.75rem}}ax-action-sheet ax-header ax-prefix,ax-action-sheet ax-header ax-suffix{display:flex;flex-direction:column;justify-content:flex-start}ax-action-sheet ax-header ax-prefix{align-items:flex-start}ax-action-sheet ax-header ax-prefix ax-title{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}ax-action-sheet ax-header ax-suffix{align-items:flex-end;max-width:fit-content}ax-action-sheet .ax-action-sheet-items{padding-top:.5rem;padding-bottom:.5rem}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item{display:flex;padding:.75rem 1rem;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item:hover{background-color:rgba(var(--ax-color-on-surface))}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item .item-icon{margin-inline-end:.75rem;font-size:1.5rem;line-height:2rem}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item.ax-primary{color:rgba(var(--ax-color-primary-500))}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item.ax-secondary{color:rgba(var(--ax-color-secondary-500))}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item.ax-success{color:rgba(var(--ax-color-success-500))}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item.ax-warning{color:rgba(var(--ax-color-warning-500))}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item.ax-danger{color:rgba(var(--ax-color-danger-500))}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item.ax-info{color:rgba(var(--ax-color-info-500))}\n"], dependencies: [{ kind: "directive", type: i2.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "component", type: i3.AXDecoratorCloseButtonComponent, selector: "ax-close-button", inputs: ["icon"] }, { kind: "component", type: i3.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "pipe", type: i4.AXTranslatorPipe, name: "translate" }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
88
+ ], usesInheritance: true, ngImport: i0, template: "@if (data.header) {\n<ax-header>\n <ax-prefix>\n <ax-title>{{ data.title | translate | async }}</ax-title>\n\n @if (data.subTitle) {\n <ax-sub-title>\n {{ data.subTitle }}\n </ax-sub-title>\n }\n </ax-prefix>\n @if (data.closeButton) {\n <ax-suffix>\n <ax-close-button></ax-close-button>\n </ax-suffix>\n }\n</ax-header>\n}\n<ng-template [cdkPortalOutlet]=\"_selectedPortal\" (attached)=\"handleAttched($event)\"></ng-template>\n<div class=\"ax-action-sheet-items\">\n @for (item of data.items; let i = $index; track i) {\n <div class=\"ax-action-sheet-item ax-{{ item.color }}\" [class.ax-state-disabled]=\"item.disabled\" [tabindex]=\"i\"\n (click)=\"onItemClick(item)\">\n @if (item.icon) {\n <span class=\"item-icon\" [class]=\"item.icon\"></span>\n }\n <span class=\"item-text\">{{ item.text | translate | async }}</span>\n </div>\n }\n</div>", styles: ["ax-action-sheet{display:block;width:100vw}@media (min-width: 768px){ax-action-sheet{width:70vw}}@media (min-width: 1024px){ax-action-sheet{width:50vw}}ax-action-sheet ax-header{padding:1rem;border-bottom-width:1px;font-size:1rem;line-height:1.5rem;font-weight:500}@media (min-width: 768px){ax-action-sheet ax-header{font-size:1.125rem;line-height:1.75rem}}ax-action-sheet ax-header ax-prefix,ax-action-sheet ax-header ax-suffix{display:flex;flex-direction:column;justify-content:flex-start}ax-action-sheet ax-header ax-prefix{align-items:flex-start}ax-action-sheet ax-header ax-prefix ax-title{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}ax-action-sheet ax-header ax-suffix{align-items:flex-end;max-width:fit-content}ax-action-sheet .ax-action-sheet-items{padding-top:.5rem;padding-bottom:.5rem}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item{display:flex;padding:.75rem 1rem;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item:hover{background-color:rgba(var(--ax-color-on-surface))}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item .item-icon{margin-inline-end:.75rem;font-size:1.5rem;line-height:2rem}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item.ax-primary{color:rgba(var(--ax-color-primary-500))}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item.ax-secondary{color:rgba(var(--ax-color-secondary-500))}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item.ax-success{color:rgba(var(--ax-color-success-500))}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item.ax-warning{color:rgba(var(--ax-color-warning-500))}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item.ax-danger{color:rgba(var(--ax-color-danger-500))}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item.ax-info{color:rgba(var(--ax-color-info-500))}\n"], dependencies: [{ kind: "directive", type: i2.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "component", type: i3.AXDecoratorCloseButtonComponent, selector: "ax-close-button", inputs: ["icon"] }, { kind: "component", type: i3.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "pipe", type: i4.AXTranslatorPipe, name: "translate" }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
98
89
  }
99
90
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXActionSheetComponent, decorators: [{
100
91
  type: Component,
@@ -107,7 +98,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
107
98
  provide: AXFocusableComponent,
108
99
  useExisting: AXActionSheetComponent,
109
100
  },
110
- ], template: "@if (data.header) {\n <ax-header>\n <ax-prefix>\n <ax-title>{{ data.title | translate | async }}</ax-title>\n\n @if (data.subTitle) {\n <ax-sub-title>\n {{ data.subTitle }}\n </ax-sub-title>\n }\n </ax-prefix>\n @if (data.closeButton) {\n <ax-suffix>\n <ax-close-button></ax-close-button>\n </ax-suffix>\n }\n </ax-header>\n}\n<ng-template [cdkPortalOutlet]=\"_selectedPortal\" (attached)=\"_handleAttched($event)\"></ng-template>\n<div class=\"ax-action-sheet-items\">\n @for (item of data.items; let i = $index; track i) {\n <div\n class=\"ax-action-sheet-item ax-{{ item.color }}\"\n [class.ax-state-disabled]=\"item.disabled\"\n [tabindex]=\"i\"\n (click)=\"onItemClick(item)\"\n >\n @if (item.icon) {\n <span class=\"item-icon\" [class]=\"item.icon\"></span>\n }\n <span class=\"item-text\">{{ item.text | translate | async }}</span>\n </div>\n }\n</div>\n", styles: ["ax-action-sheet{display:block;width:100vw}@media (min-width: 768px){ax-action-sheet{width:70vw}}@media (min-width: 1024px){ax-action-sheet{width:50vw}}ax-action-sheet ax-header{padding:1rem;border-bottom-width:1px;font-size:1rem;line-height:1.5rem;font-weight:500}@media (min-width: 768px){ax-action-sheet ax-header{font-size:1.125rem;line-height:1.75rem}}ax-action-sheet ax-header ax-prefix,ax-action-sheet ax-header ax-suffix{display:flex;flex-direction:column;justify-content:flex-start}ax-action-sheet ax-header ax-prefix{align-items:flex-start}ax-action-sheet ax-header ax-prefix ax-title{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}ax-action-sheet ax-header ax-suffix{align-items:flex-end;max-width:fit-content}ax-action-sheet .ax-action-sheet-items{padding-top:.5rem;padding-bottom:.5rem}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item{display:flex;padding:.75rem 1rem;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item:hover{background-color:rgba(var(--ax-color-on-surface))}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item .item-icon{margin-inline-end:.75rem;font-size:1.5rem;line-height:2rem}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item.ax-primary{color:rgba(var(--ax-color-primary-500))}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item.ax-secondary{color:rgba(var(--ax-color-secondary-500))}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item.ax-success{color:rgba(var(--ax-color-success-500))}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item.ax-warning{color:rgba(var(--ax-color-warning-500))}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item.ax-danger{color:rgba(var(--ax-color-danger-500))}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item.ax-info{color:rgba(var(--ax-color-info-500))}\n"] }]
101
+ ], template: "@if (data.header) {\n<ax-header>\n <ax-prefix>\n <ax-title>{{ data.title | translate | async }}</ax-title>\n\n @if (data.subTitle) {\n <ax-sub-title>\n {{ data.subTitle }}\n </ax-sub-title>\n }\n </ax-prefix>\n @if (data.closeButton) {\n <ax-suffix>\n <ax-close-button></ax-close-button>\n </ax-suffix>\n }\n</ax-header>\n}\n<ng-template [cdkPortalOutlet]=\"_selectedPortal\" (attached)=\"handleAttched($event)\"></ng-template>\n<div class=\"ax-action-sheet-items\">\n @for (item of data.items; let i = $index; track i) {\n <div class=\"ax-action-sheet-item ax-{{ item.color }}\" [class.ax-state-disabled]=\"item.disabled\" [tabindex]=\"i\"\n (click)=\"onItemClick(item)\">\n @if (item.icon) {\n <span class=\"item-icon\" [class]=\"item.icon\"></span>\n }\n <span class=\"item-text\">{{ item.text | translate | async }}</span>\n </div>\n }\n</div>", styles: ["ax-action-sheet{display:block;width:100vw}@media (min-width: 768px){ax-action-sheet{width:70vw}}@media (min-width: 1024px){ax-action-sheet{width:50vw}}ax-action-sheet ax-header{padding:1rem;border-bottom-width:1px;font-size:1rem;line-height:1.5rem;font-weight:500}@media (min-width: 768px){ax-action-sheet ax-header{font-size:1.125rem;line-height:1.75rem}}ax-action-sheet ax-header ax-prefix,ax-action-sheet ax-header ax-suffix{display:flex;flex-direction:column;justify-content:flex-start}ax-action-sheet ax-header ax-prefix{align-items:flex-start}ax-action-sheet ax-header ax-prefix ax-title{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}ax-action-sheet ax-header ax-suffix{align-items:flex-end;max-width:fit-content}ax-action-sheet .ax-action-sheet-items{padding-top:.5rem;padding-bottom:.5rem}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item{display:flex;padding:.75rem 1rem;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item:hover{background-color:rgba(var(--ax-color-on-surface))}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item .item-icon{margin-inline-end:.75rem;font-size:1.5rem;line-height:2rem}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item.ax-primary{color:rgba(var(--ax-color-primary-500))}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item.ax-secondary{color:rgba(var(--ax-color-secondary-500))}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item.ax-success{color:rgba(var(--ax-color-success-500))}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item.ax-warning{color:rgba(var(--ax-color-warning-500))}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item.ax-danger{color:rgba(var(--ax-color-danger-500))}ax-action-sheet .ax-action-sheet-items .ax-action-sheet-item.ax-info{color:rgba(var(--ax-color-info-500))}\n"] }]
111
102
  }], ctorParameters: () => [{ type: undefined, decorators: [{
112
103
  type: Inject,
113
104
  args: [DIALOG_DATA]
@@ -115,4 +106,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
115
106
  type: HostListener,
116
107
  args: ['keydown.escape']
117
108
  }] } });
118
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLXNoZWV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9hY3Rpb24tc2hlZXQvc3JjL2xpYi9hY3Rpb24tc2hlZXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2FjdGlvbi1zaGVldC9zcmMvbGliL2FjdGlvbi1zaGVldC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQXlCLG9CQUFvQixFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlILE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDN0QsT0FBTyxFQUE4QixlQUFlLEVBQVUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDMUcsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsWUFBWSxFQUNaLE1BQU0sRUFFTixXQUFXLEVBQ1gsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDOzs7Ozs7O0FBR3ZCOzs7O0dBSUc7QUFrQkgsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGVBQWU7SUFhekQ7O09BRUc7SUFDSCxZQUVZLElBQXlCLEVBQzNCLFNBQTJDO1FBRW5ELEtBQUssRUFBRSxDQUFDO1FBSEUsU0FBSSxHQUFKLElBQUksQ0FBcUI7UUFDM0IsY0FBUyxHQUFULFNBQVMsQ0FBa0M7SUFHckQsQ0FBQztJQUVEOztPQUVHO0lBQ00sUUFBUTtRQUNmLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDdEIsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sWUFBWSxXQUFXLEVBQUUsQ0FBQztnQkFDN0MsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJ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QUM3QixXQUFXLHdCQUF3Qjt5QkFDcEM7cUJBQ0Y7OzBCQW1CRSxNQUFNOzJCQUFDLFdBQVc7aUVBOEJYLGdCQUFnQjtzQkFEekIsWUFBWTt1QkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWENsb3NiYWxlQ29tcG9uZW50LCBBWENvbXBvbmVudENsb3NlRXZlbnQsIEFYRm9jdXNhYmxlQ29tcG9uZW50LCBNWEJhc2VDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcbmltcG9ydCB7IERJQUxPR19EQVRBLCBEaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvZGlhbG9nJztcbmltcG9ydCB7IENka1BvcnRhbE91dGxldEF0dGFjaGVkUmVmLCBDb21wb25lbnRQb3J0YWwsIFBvcnRhbCwgVGVtcGxhdGVQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbXBvbmVudFJlZixcbiAgSG9zdExpc3RlbmVyLFxuICBJbmplY3QsXG4gIE9uSW5pdCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYQWN0aW9uU2hlZXRDb25maWcsIEFYQWN0aW9uU2hlZXRJdGVtIH0gZnJvbSAnLi9hY3Rpb24tc2hlZXQuY2xhc3MnO1xuXG4vKipcbiAqIEEgY29tcG9uZW50IGZvciBkaXNwbGF5aW5nIGFuIGFjdGlvbiBzaGVldCwgd2hpY2ggaXMgYSBtZW51IHRoYXQgc2xpZGVzIHVwIGZyb20gdGhlIGJvdHRvbSBvZiB0aGUgc2NyZWVuLlxuICpcbiAqIEBjYXRlZ29yeSBDb21wb25lbnRzXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LWFjdGlvbi1zaGVldCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9hY3Rpb24tc2hlZXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hY3Rpb24tc2hlZXQuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFYQ2xvc2JhbGVDb21wb25lbnQsXG4gICAgICB1c2VFeGlzdGluZzogQVhBY3Rpb25TaGVldENvbXBvbmVudCxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFYRm9jdXNhYmxlQ29tcG9uZW50LFxuICAgICAgdXNlRXhpc3Rpbmc6IEFYQWN0aW9uU2hlZXRDb21wb25lbnQsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhBY3Rpb25TaGVldENvbXBvbmVudCBleHRlbmRzIE1YQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcm90ZWN0ZWQgX3NlbGVjdGVkUG9ydGFsOiBQb3J0YWw8YW55PjtcblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByaXZhdGUgX2NvbXBvbmVudFJlZjogdW5rbm93bjtcblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoRElBTE9HX0RBVEEpXG4gICAgcHJvdGVjdGVkIGRhdGE6IEFYQWN0aW9uU2hlZXRDb25maWcsXG4gICAgcHJpdmF0ZSBkaWFsb2dSZWY6IERpYWxvZ1JlZjxBWENvbXBvbmVudENsb3NlRXZlbnQ+LFxuICApIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBvdmVycmlkZSBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgIGlmICh0aGlzLmRhdGEuY29udGVudCkge1xuICAgICAgaWYgKHRoaXMuZGF0YS5jb250ZW50IGluc3RhbmNlb2YgVGVtcGxhdGVSZWYpIHtcbiAgICAgICAgdGhpcy5fc2VsZWN0ZWRQb3J0YWwgPSBuZXcgVGVtcGxhdGVQb3J0YWwodGhpcy5kYXRhLmNvbnRlbnQsIHRoaXMuZ2V0Vmlld0NvbnRhaW5lcigpLCB7XG4gICAgICAgICAgJGltcGxpY2l0OiB0aGlzLmRhdGEsXG4gICAgICAgICAgcmVmOiB0aGlzLFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiB0aGlzLmRhdGEuY29udGVudCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICB0aGlzLl9zZWxlY3RlZFBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWwodGhpcy5kYXRhLmNvbnRlbnQpO1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uZXNjYXBlJylcbiAgcHJvdGVjdGVkIG9uS2V5ZG93bkhhbmRsZXIoKSB7XG4gICAgY29uc3QgZm9jdXNlZE9ySGFzRm9jdXNlZCA9IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5tYXRjaGVzKCc6Zm9jdXMtd2l0aGluJyk7XG4gICAgaWYgKHRoaXMuZGF0YS5jbG9zZUJ1dHRvbiAmJiBmb2N1c2VkT3JIYXNGb2N1c2VkKSB7XG4gICAgICB0aGlzLmNsb3NlKG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgX2hhbmRsZUF0dGNoZWQocmVmOiBDZGtQb3J0YWxPdXRsZXRBdHRhY2hlZFJlZikge1xuICAgIHJlZiA9IHJlZiBhcyBDb21wb25lbnRSZWY8YW55PjtcbiAgICBpZiAocmVmLmluc3RhbmNlKSB7XG4gICAgICB0aGlzLl9jb21wb25lbnRSZWYgPSByZWYuaW5zdGFuY2U7XG4gICAgICBPYmplY3QuYXNzaWduKHRoaXMuX2NvbXBvbmVudFJlZiwgdGhpcy5kYXRhKTtcbiAgICAgIE9iamVjdC5hc3NpZ24odGhpcy5fY29tcG9uZW50UmVmLCB7IF9pc1BvcHVwOiB0cnVlIH0pO1xuICAgICAgaWYgKHJlZi5pbnN0YW5jZS5vbkNsb3NlZCkge1xuICAgICAgICByZWYuaW5zdGFuY2Uub25DbG9zZWQuc3Vic2NyaWJlKChlOiBBWENvbXBvbmVudENsb3NlRXZlbnQpID0+IHtcbiAgICAgICAgICB0aGlzLmNsb3NlKGUpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIG9uSXRlbUNsaWNrKGl0ZW06IEFYQWN0aW9uU2hlZXRJdGVtKSB7XG4gICAgdGhpcy5jbG9zZShpdGVtKTtcbiAgICBpZiAoaXRlbT8ub25DbGljaykgaXRlbS5vbkNsaWNrKCk7XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIGNsb3NlKGUpIHtcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh7XG4gICAgICBjb21wb25lbnQ6IHRoaXMuX2NvbXBvbmVudFJlZixcbiAgICAgIGh0bWxFbGVtZW50OiB0aGlzLmdldEhvc3RFbGVtZW50KCksXG4gICAgICBkYXRhOiBlLFxuICAgIH0pO1xuICB9XG59XG4iLCJAaWYgKGRhdGEuaGVhZGVyKSB7XG4gIDxheC1oZWFkZXI+XG4gICAgPGF4LXByZWZpeD5cbiAgICAgIDxheC10aXRsZT57eyBkYXRhLnRpdGxlIHwgdHJhbnNsYXRlIHwgYXN5bmMgfX08L2F4LXRpdGxlPlxuXG4gICAgICBAaWYgKGRhdGEuc3ViVGl0bGUpIHtcbiAgICAgICAgPGF4LXN1Yi10aXRsZT5cbiAgICAgICAgICB7eyBkYXRhLnN1YlRpdGxlIH19XG4gICAgICAgIDwvYXgtc3ViLXRpdGxlPlxuICAgICAgfVxuICAgIDwvYXgtcHJlZml4PlxuICAgIEBpZiAoZGF0YS5jbG9zZUJ1dHRvbikge1xuICAgICAgPGF4LXN1ZmZpeD5cbiAgICAgICAgPGF4LWNsb3NlLWJ1dHRvbj48L2F4LWNsb3NlLWJ1dHRvbj5cbiAgICAgIDwvYXgtc3VmZml4PlxuICAgIH1cbiAgPC9heC1oZWFkZXI+XG59XG48bmctdGVtcGxhdGUgW2Nka1BvcnRhbE91dGxldF09XCJfc2VsZWN0ZWRQb3J0YWxcIiAoYXR0YWNoZWQpPVwiX2hhbmRsZUF0dGNoZWQoJGV2ZW50KVwiPjwvbmctdGVtcGxhdGU+XG48ZGl2IGNsYXNzPVwiYXgtYWN0aW9uLXNoZWV0LWl0ZW1zXCI+XG4gIEBmb3IgKGl0ZW0gb2YgZGF0YS5pdGVtczsgbGV0IGkgPSAkaW5kZXg7IHRyYWNrIGkpIHtcbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cImF4LWFjdGlvbi1zaGVldC1pdGVtIGF4LXt7IGl0ZW0uY29sb3IgfX1cIlxuICAgICAgW2NsYXNzLmF4LXN0YXRlLWRpc2FibGVkXT1cIml0ZW0uZGlzYWJsZWRcIlxuICAgICAgW3RhYmluZGV4XT1cImlcIlxuICAgICAgKGNsaWNrKT1cIm9uSXRlbUNsaWNrKGl0ZW0pXCJcbiAgICA+XG4gICAgICBAaWYgKGl0ZW0uaWNvbikge1xuICAgICAgICA8c3BhbiBjbGFzcz1cIml0ZW0taWNvblwiIFtjbGFzc109XCJpdGVtLmljb25cIj48L3NwYW4+XG4gICAgICB9XG4gICAgICA8c3BhbiBjbGFzcz1cIml0ZW0tdGV4dFwiPnt7IGl0ZW0udGV4dCB8IHRyYW5zbGF0ZSB8IGFzeW5jIH19PC9zcGFuPlxuICAgIDwvZGl2PlxuICB9XG48L2Rpdj5cbiJdfQ==
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLXNoZWV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9hY3Rpb24tc2hlZXQvc3JjL2xpYi9hY3Rpb24tc2hlZXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2FjdGlvbi1zaGVldC9zcmMvbGliL2FjdGlvbi1zaGVldC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQXlCLG9CQUFvQixFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlILE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDN0QsT0FBTyxFQUE4QixlQUFlLEVBQVUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDMUcsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsWUFBWSxFQUNaLE1BQU0sRUFFTixXQUFXLEVBQ1gsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDOzs7Ozs7O0FBR3ZCOzs7O0dBSUc7QUFrQkgsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGVBQWU7SUFXekQ7O09BRUc7SUFDSCxZQUVZLElBQXlCLEVBQzNCLFNBQTJDO1FBRW5ELEtBQUssRUFBRSxDQUFDO1FBSEUsU0FBSSxHQUFKLElBQUksQ0FBcUI7UUFDM0IsY0FBUyxHQUFULFNBQVMsQ0FBa0M7SUFHckQsQ0FBQztJQUVEOztPQUVHO0lBQ00sUUFBUTtRQUNmLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDdEIsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sWUFBWSxXQUFXLEVBQUUsQ0FBQztnQkFDN0MsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJ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QkUsTUFBTTsyQkFBQyxXQUFXO2lFQXlEWCxnQkFBZ0I7c0JBRHpCLFlBQVk7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhDbG9zYmFsZUNvbXBvbmVudCwgQVhDb21wb25lbnRDbG9zZUV2ZW50LCBBWEZvY3VzYWJsZUNvbXBvbmVudCwgTVhCYXNlQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XG5pbXBvcnQgeyBESUFMT0dfREFUQSwgRGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RpYWxvZyc7XG5pbXBvcnQgeyBDZGtQb3J0YWxPdXRsZXRBdHRhY2hlZFJlZiwgQ29tcG9uZW50UG9ydGFsLCBQb3J0YWwsIFRlbXBsYXRlUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb21wb25lbnRSZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5qZWN0LFxuICBPbkluaXQsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWEFjdGlvblNoZWV0Q29uZmlnLCBBWEFjdGlvblNoZWV0SXRlbSB9IGZyb20gJy4vYWN0aW9uLXNoZWV0LmNsYXNzJztcblxuLyoqXG4gKiBBIGNvbXBvbmVudCBmb3IgZGlzcGxheWluZyBhbiBhY3Rpb24gc2hlZXQsIHdoaWNoIGlzIGEgbWVudSB0aGF0IHNsaWRlcyB1cCBmcm9tIHRoZSBib3R0b20gb2YgdGhlIHNjcmVlbi5cbiAqXG4gKiBAY2F0ZWdvcnkgQ29tcG9uZW50c1xuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1hY3Rpb24tc2hlZXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWN0aW9uLXNoZWV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYWN0aW9uLXNoZWV0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWENsb3NiYWxlQ29tcG9uZW50LFxuICAgICAgdXNlRXhpc3Rpbmc6IEFYQWN0aW9uU2hlZXRDb21wb25lbnQsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWEZvY3VzYWJsZUNvbXBvbmVudCxcbiAgICAgIHVzZUV4aXN0aW5nOiBBWEFjdGlvblNoZWV0Q29tcG9uZW50LFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYQWN0aW9uU2hlZXRDb21wb25lbnQgZXh0ZW5kcyBNWEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByb3RlY3RlZCBfc2VsZWN0ZWRQb3J0YWw6IFBvcnRhbDxhbnk+O1xuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJpdmF0ZSBfY29tcG9uZW50UmVmOiB1bmtub3duO1xuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChESUFMT0dfREFUQSlcbiAgICBwcm90ZWN0ZWQgZGF0YTogQVhBY3Rpb25TaGVldENvbmZpZyxcbiAgICBwcml2YXRlIGRpYWxvZ1JlZjogRGlhbG9nUmVmPEFYQ29tcG9uZW50Q2xvc2VFdmVudD4sXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIG92ZXJyaWRlIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgaWYgKHRoaXMuZGF0YS5jb250ZW50KSB7XG4gICAgICBpZiAodGhpcy5kYXRhLmNvbnRlbnQgaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZikge1xuICAgICAgICB0aGlzLl9zZWxlY3RlZFBvcnRhbCA9IG5ldyBUZW1wbGF0ZVBvcnRhbCh0aGlzLmRhdGEuY29udGVudCwgdGhpcy5nZXRWaWV3Q29udGFpbmVyKCksIHtcbiAgICAgICAgICAkaW1wbGljaXQ6IHRoaXMuZGF0YSxcbiAgICAgICAgICByZWY6IHRoaXMsXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHRoaXMuZGF0YS5jb250ZW50ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHRoaXMuX3NlbGVjdGVkUG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbCh0aGlzLmRhdGEuY29udGVudCk7XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVBdHRjaGVkKHJlZjogQ2RrUG9ydGFsT3V0bGV0QXR0YWNoZWRSZWYpIHtcbiAgICByZWYgPSByZWYgYXMgQ29tcG9uZW50UmVmPGFueT47XG4gICAgaWYgKHJlZi5pbnN0YW5jZSkge1xuICAgICAgdGhpcy5fY29tcG9uZW50UmVmID0gcmVmLmluc3RhbmNlO1xuICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLl9jb21wb25lbnRSZWYsIHRoaXMuZGF0YSk7XG4gICAgICBPYmplY3QuYXNzaWduKHRoaXMuX2NvbXBvbmVudFJlZiwgeyBfaXNQb3B1cDogdHJ1ZSB9KTtcbiAgICAgIGlmIChyZWYuaW5zdGFuY2Uub25DbG9zZWQpIHtcbiAgICAgICAgcmVmLmluc3RhbmNlLm9uQ2xvc2VkLnN1YnNjcmliZSgoZTogQVhDb21wb25lbnRDbG9zZUV2ZW50KSA9PiB7XG4gICAgICAgICAgdGhpcy5jbG9zZShlKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgb25JdGVtQ2xpY2soaXRlbTogQVhBY3Rpb25TaGVldEl0ZW0pIHtcbiAgICB0aGlzLmNsb3NlKGl0ZW0pO1xuICAgIGlmIChpdGVtPy5vbkNsaWNrKSBpdGVtLm9uQ2xpY2soKTtcbiAgfVxuXG4gIGNsb3NlKGUpIHtcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh7XG4gICAgICBjb21wb25lbnQ6IHRoaXMuX2NvbXBvbmVudFJlZixcbiAgICAgIGh0bWxFbGVtZW50OiB0aGlzLmdldEhvc3RFbGVtZW50KCksXG4gICAgICBkYXRhOiBlLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmVzY2FwZScpXG4gIHByb3RlY3RlZCBvbktleWRvd25IYW5kbGVyKCkge1xuICAgIGNvbnN0IGZvY3VzZWRPckhhc0ZvY3VzZWQgPSB0aGlzLmdldEhvc3RFbGVtZW50KCkubWF0Y2hlcygnOmZvY3VzLXdpdGhpbicpO1xuICAgIGlmICh0aGlzLmRhdGEuY2xvc2VCdXR0b24gJiYgZm9jdXNlZE9ySGFzRm9jdXNlZCkge1xuICAgICAgdGhpcy5jbG9zZShudWxsKTtcbiAgICB9XG4gIH1cbn1cbiIsIkBpZiAoZGF0YS5oZWFkZXIpIHtcbjxheC1oZWFkZXI+XG4gIDxheC1wcmVmaXg+XG4gICAgPGF4LXRpdGxlPnt7IGRhdGEudGl0bGUgfCB0cmFuc2xhdGUgfCBhc3luYyB9fTwvYXgtdGl0bGU+XG5cbiAgICBAaWYgKGRhdGEuc3ViVGl0bGUpIHtcbiAgICA8YXgtc3ViLXRpdGxlPlxuICAgICAge3sgZGF0YS5zdWJUaXRsZSB9fVxuICAgIDwvYXgtc3ViLXRpdGxlPlxuICAgIH1cbiAgPC9heC1wcmVmaXg+XG4gIEBpZiAoZGF0YS5jbG9zZUJ1dHRvbikge1xuICA8YXgtc3VmZml4PlxuICAgIDxheC1jbG9zZS1idXR0b24+PC9heC1jbG9zZS1idXR0b24+XG4gIDwvYXgtc3VmZml4PlxuICB9XG48L2F4LWhlYWRlcj5cbn1cbjxuZy10ZW1wbGF0ZSBbY2RrUG9ydGFsT3V0bGV0XT1cIl9zZWxlY3RlZFBvcnRhbFwiIChhdHRhY2hlZCk9XCJoYW5kbGVBdHRjaGVkKCRldmVudClcIj48L25nLXRlbXBsYXRlPlxuPGRpdiBjbGFzcz1cImF4LWFjdGlvbi1zaGVldC1pdGVtc1wiPlxuICBAZm9yIChpdGVtIG9mIGRhdGEuaXRlbXM7IGxldCBpID0gJGluZGV4OyB0cmFjayBpKSB7XG4gIDxkaXYgY2xhc3M9XCJheC1hY3Rpb24tc2hlZXQtaXRlbSBheC17eyBpdGVtLmNvbG9yIH19XCIgW2NsYXNzLmF4LXN0YXRlLWRpc2FibGVkXT1cIml0ZW0uZGlzYWJsZWRcIiBbdGFiaW5kZXhdPVwiaVwiXG4gICAgKGNsaWNrKT1cIm9uSXRlbUNsaWNrKGl0ZW0pXCI+XG4gICAgQGlmIChpdGVtLmljb24pIHtcbiAgICA8c3BhbiBjbGFzcz1cIml0ZW0taWNvblwiIFtjbGFzc109XCJpdGVtLmljb25cIj48L3NwYW4+XG4gICAgfVxuICAgIDxzcGFuIGNsYXNzPVwiaXRlbS10ZXh0XCI+e3sgaXRlbS50ZXh0IHwgdHJhbnNsYXRlIHwgYXN5bmMgfX08L3NwYW4+XG4gIDwvZGl2PlxuICB9XG48L2Rpdj4iXX0=
@@ -135,7 +135,7 @@ export class AXColorPaletteInputComponent extends MXBaseComponent {
135
135
  useExisting: AXColorPaletteInputComponent,
136
136
  },
137
137
  AXUnsubscriber,
138
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"palette-inputs\">\n @switch (_colorMode) {\n @case ('hex') {\n <div>\n <ax-text-box\n class=\"ax-sm\"\n [ngModel]=\"_hex\"\n [disabled]=\"_parent.disabled\"\n [readonly]=\"_parent.readonly\"\n [state]=\"isValid ? 'clear' : 'error'\"\n (onValueChanged)=\"_handleHEXAValueChanged($event)\"\n [mask-options]=\"_hexMaskOptions\"\n >\n </ax-text-box>\n <label>HEX</label>\n </div>\n }\n @case ('rgba') {\n <div>\n <ax-number-box\n class=\"ax-sm\"\n name=\"r\"\n [minValue]=\"0\"\n [maxValue]=\"255\"\n [ngModel]=\"_rgba.r\"\n [showSpinButtons]=\"false\"\n [disabled]=\"_parent.disabled\"\n [readonly]=\"_parent.readonly\"\n (onValueChanged)=\"_handleRGBAValueChanged($event)\"\n >\n </ax-number-box>\n <label>R</label>\n </div>\n <div>\n <ax-number-box\n class=\"ax-sm\"\n name=\"g\"\n [minValue]=\"0\"\n [maxValue]=\"255\"\n [ngModel]=\"_rgba.g\"\n [showSpinButtons]=\"false\"\n [disabled]=\"_parent.disabled\"\n [readonly]=\"_parent.readonly\"\n (onValueChanged)=\"_handleRGBAValueChanged($event)\"\n >\n </ax-number-box>\n <label>G</label>\n </div>\n <div>\n <ax-number-box\n class=\"ax-sm\"\n name=\"b\"\n [minValue]=\"0\"\n [maxValue]=\"255\"\n [ngModel]=\"_rgba.b\"\n [showSpinButtons]=\"false\"\n [disabled]=\"_parent.disabled\"\n [readonly]=\"_parent.readonly\"\n (onValueChanged)=\"_handleRGBAValueChanged($event)\"\n >\n </ax-number-box>\n <label>B</label>\n </div>\n <div>\n <ax-number-box\n class=\"ax-sm\"\n name=\"a\"\n [minValue]=\"0\"\n [maxValue]=\"1\"\n [ngModel]=\"_rgba.a\"\n [decimals]=\"2\"\n [step]=\"0.1\"\n [disabled]=\"_parent.disabled\"\n [readonly]=\"_parent.readonly\"\n [showSpinButtons]=\"false\"\n (onValueChanged)=\"_handleRGBAValueChanged($event)\"\n >\n </ax-number-box>\n <label>A</label>\n </div>\n }\n }\n</div>\n<button\n type=\"button\"\n class=\"ax-general-button ax-button-rounded ax-button-icon ax-sm\"\n (click)=\"_handleChangeInputMode()\"\n [disabled]=\"_parent.disabled\"\n>\n <span class=\"ax-icon ax-icon-unfold-more ax-bold\"></span>\n</button>\n", styles: [".ax-bold{font-weight:700}\n"], dependencies: [{ kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "id", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "look", "mask-options", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "component", type: i4.AXNumberBoxComponent, selector: "ax-number-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "thousandsSeparator", "padDecimalZeros", "step", "decimals", "decimalStep", "showSpinButtons", "minValue", "maxValue", "class"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
138
+ ], usesInheritance: true, ngImport: i0, template: "<div class=\"palette-inputs\">\n @switch (_colorMode) {\n @case ('hex') {\n <div>\n <ax-text-box\n class=\"ax-sm\"\n [ngModel]=\"_hex\"\n [disabled]=\"_parent.disabled\"\n [readonly]=\"_parent.readonly\"\n [state]=\"isValid ? 'clear' : 'error'\"\n (onValueChanged)=\"_handleHEXAValueChanged($event)\"\n [mask-options]=\"_hexMaskOptions\"\n >\n </ax-text-box>\n <label>HEX</label>\n </div>\n }\n @case ('rgba') {\n <div>\n <ax-number-box\n class=\"ax-sm\"\n name=\"r\"\n [minValue]=\"0\"\n [maxValue]=\"255\"\n [ngModel]=\"_rgba.r\"\n [showSpinButtons]=\"false\"\n [disabled]=\"_parent.disabled\"\n [readonly]=\"_parent.readonly\"\n (onValueChanged)=\"_handleRGBAValueChanged($event)\"\n >\n </ax-number-box>\n <label>R</label>\n </div>\n <div>\n <ax-number-box\n class=\"ax-sm\"\n name=\"g\"\n [minValue]=\"0\"\n [maxValue]=\"255\"\n [ngModel]=\"_rgba.g\"\n [showSpinButtons]=\"false\"\n [disabled]=\"_parent.disabled\"\n [readonly]=\"_parent.readonly\"\n (onValueChanged)=\"_handleRGBAValueChanged($event)\"\n >\n </ax-number-box>\n <label>G</label>\n </div>\n <div>\n <ax-number-box\n class=\"ax-sm\"\n name=\"b\"\n [minValue]=\"0\"\n [maxValue]=\"255\"\n [ngModel]=\"_rgba.b\"\n [showSpinButtons]=\"false\"\n [disabled]=\"_parent.disabled\"\n [readonly]=\"_parent.readonly\"\n (onValueChanged)=\"_handleRGBAValueChanged($event)\"\n >\n </ax-number-box>\n <label>B</label>\n </div>\n <div>\n <ax-number-box\n class=\"ax-sm\"\n name=\"a\"\n [minValue]=\"0\"\n [maxValue]=\"1\"\n [ngModel]=\"_rgba.a\"\n [decimals]=\"2\"\n [step]=\"0.1\"\n [disabled]=\"_parent.disabled\"\n [readonly]=\"_parent.readonly\"\n [showSpinButtons]=\"false\"\n (onValueChanged)=\"_handleRGBAValueChanged($event)\"\n >\n </ax-number-box>\n <label>A</label>\n </div>\n }\n }\n</div>\n<button\n type=\"button\"\n class=\"ax-general-button ax-button-rounded ax-button-icon ax-sm\"\n (click)=\"_handleChangeInputMode()\"\n [disabled]=\"_parent.disabled\"\n>\n <span class=\"ax-icon ax-icon-unfold-more ax-bold\"></span>\n</button>\n", styles: [".ax-bold{font-weight:700}\n"], dependencies: [{ kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "id", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "look", "mask-options", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "component", type: i4.AXNumberBoxComponent, selector: "ax-number-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "hasWheel", "thousandsSeparator", "padDecimalZeros", "step", "decimals", "decimalStep", "showSpinButtons", "minValue", "maxValue", "class"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
139
139
  }
140
140
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXColorPaletteInputComponent, decorators: [{
141
141
  type: Component,
@@ -105,7 +105,7 @@ export class AXColorPalettePickerComponent extends MXBaseComponent {
105
105
  _handleAlphaChanged(e) {
106
106
  if (e != this._rgba.a) {
107
107
  const { r, g, b } = this._rgba;
108
- const _color = `rgba(${r},${g},${b},${e / 100})`;
108
+ const _color = `rgba(${r},${g},${b},${e})`;
109
109
  this._parent.commitValue(AXColorUtil.toString(_color, 'rgba'), true);
110
110
  }
111
111
  }
@@ -203,7 +203,7 @@ export class AXColorPalettePickerComponent extends MXBaseComponent {
203
203
  useExisting: AXColorPalettePickerComponent,
204
204
  },
205
205
  AXUnsubscriber,
206
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-color-box-overlay-trans\">\n <div class=\"ax-color-box-overlay\" [style.background-color]=\"_bgColor\">\n <div class=\"ax-color-box-overlay-g1\"></div>\n <div class=\"ax-color-box-overlay-g2\" (click)=\"_handleSurfaceClick($event)\"></div>\n <div\n class=\"ax-color-box-pointer\"\n cdkDrag\n cdkDragBoundary=\".ax-color-box-overlay\"\n [cdkDragFreeDragPosition]=\"dragPosition\"\n (cdkDragEnded)=\"_handleDrag()\"\n [cdkDragDisabled]=\"_parent.disabled || _parent.readonly\"\n ></div>\n </div>\n</div>\n\n<ax-range-slider\n class=\"ax-color-box-gradient\"\n [min]=\"0\"\n [max]=\"100\"\n [mode]=\"'single'\"\n [ngModel]=\"_gradient\"\n [disabled]=\"_parent.disabled\"\n [readonly]=\"_parent.readonly\"\n (ngModelChange)=\"_handleGradientChanged($event)\"\n>\n</ax-range-slider>\n<ax-range-slider\n class=\"ax-color-box-transparent\"\n [min]=\"0\"\n [max]=\"100\"\n [step]=\"1\"\n [ngModel]=\"_rgba.a\"\n [disabled]=\"_parent.disabled\"\n [readonly]=\"_parent.readonly\"\n (ngModelChange)=\"_handleAlphaChanged($event)\"\n>\n</ax-range-slider>\n", dependencies: [{ kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.AXRangeSliderComponent, selector: "ax-range-slider", inputs: ["disabled", "readonly", "orientation", "color", "values", "mode", "min", "max", "step", "snap", "tooltipMode", "snapMode", "hasSnap", "hasLable", "hasTooltip"], outputs: ["onStart", "valuesChange"] }, { kind: "directive", type: i4.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
206
+ ], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-color-box-overlay-trans\">\n <div class=\"ax-color-box-overlay\" [style.background-color]=\"_bgColor\">\n <div class=\"ax-color-box-overlay-g1\"></div>\n <div class=\"ax-color-box-overlay-g2\" (click)=\"_handleSurfaceClick($event)\"></div>\n <div\n class=\"ax-color-box-pointer\"\n cdkDrag\n cdkDragBoundary=\".ax-color-box-overlay\"\n [cdkDragFreeDragPosition]=\"dragPosition\"\n (cdkDragEnded)=\"_handleDrag()\"\n [cdkDragDisabled]=\"_parent.disabled || _parent.readonly\"\n ></div>\n </div>\n</div>\n\n<ax-range-slider\n class=\"ax-color-box-gradient\"\n [min]=\"0\"\n [max]=\"100\"\n [mode]=\"'single'\"\n [ngModel]=\"_gradient\"\n [disabled]=\"_parent.disabled\"\n [readonly]=\"_parent.readonly\"\n (ngModelChange)=\"_handleGradientChanged($event)\"\n>\n</ax-range-slider>\n<ax-range-slider\n class=\"ax-color-box-transparent\"\n [min]=\"0\"\n [max]=\"1\"\n [hasStep]=\"false\"\n [ngModel]=\"_rgba.a\"\n [disabled]=\"_parent.disabled\"\n [readonly]=\"_parent.readonly\"\n (ngModelChange)=\"_handleAlphaChanged($event)\"\n>\n</ax-range-slider>\n", dependencies: [{ kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.AXRangeSliderComponent, selector: "ax-range-slider", inputs: ["disabled", "readonly", "orientation", "color", "values", "mode", "min", "max", "step", "snap", "tooltipMode", "snapMode", "hasStep", "hasSnap", "hasLable", "hasTooltip"], outputs: ["onStart", "valuesChange"] }, { kind: "directive", type: i4.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
207
207
  }
208
208
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXColorPalettePickerComponent, decorators: [{
209
209
  type: Component,
@@ -213,7 +213,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
213
213
  useExisting: AXColorPalettePickerComponent,
214
214
  },
215
215
  AXUnsubscriber,
216
- ], template: "<div class=\"ax-color-box-overlay-trans\">\n <div class=\"ax-color-box-overlay\" [style.background-color]=\"_bgColor\">\n <div class=\"ax-color-box-overlay-g1\"></div>\n <div class=\"ax-color-box-overlay-g2\" (click)=\"_handleSurfaceClick($event)\"></div>\n <div\n class=\"ax-color-box-pointer\"\n cdkDrag\n cdkDragBoundary=\".ax-color-box-overlay\"\n [cdkDragFreeDragPosition]=\"dragPosition\"\n (cdkDragEnded)=\"_handleDrag()\"\n [cdkDragDisabled]=\"_parent.disabled || _parent.readonly\"\n ></div>\n </div>\n</div>\n\n<ax-range-slider\n class=\"ax-color-box-gradient\"\n [min]=\"0\"\n [max]=\"100\"\n [mode]=\"'single'\"\n [ngModel]=\"_gradient\"\n [disabled]=\"_parent.disabled\"\n [readonly]=\"_parent.readonly\"\n (ngModelChange)=\"_handleGradientChanged($event)\"\n>\n</ax-range-slider>\n<ax-range-slider\n class=\"ax-color-box-transparent\"\n [min]=\"0\"\n [max]=\"100\"\n [step]=\"1\"\n [ngModel]=\"_rgba.a\"\n [disabled]=\"_parent.disabled\"\n [readonly]=\"_parent.readonly\"\n (ngModelChange)=\"_handleAlphaChanged($event)\"\n>\n</ax-range-slider>\n" }]
216
+ ], template: "<div class=\"ax-color-box-overlay-trans\">\n <div class=\"ax-color-box-overlay\" [style.background-color]=\"_bgColor\">\n <div class=\"ax-color-box-overlay-g1\"></div>\n <div class=\"ax-color-box-overlay-g2\" (click)=\"_handleSurfaceClick($event)\"></div>\n <div\n class=\"ax-color-box-pointer\"\n cdkDrag\n cdkDragBoundary=\".ax-color-box-overlay\"\n [cdkDragFreeDragPosition]=\"dragPosition\"\n (cdkDragEnded)=\"_handleDrag()\"\n [cdkDragDisabled]=\"_parent.disabled || _parent.readonly\"\n ></div>\n </div>\n</div>\n\n<ax-range-slider\n class=\"ax-color-box-gradient\"\n [min]=\"0\"\n [max]=\"100\"\n [mode]=\"'single'\"\n [ngModel]=\"_gradient\"\n [disabled]=\"_parent.disabled\"\n [readonly]=\"_parent.readonly\"\n (ngModelChange)=\"_handleGradientChanged($event)\"\n>\n</ax-range-slider>\n<ax-range-slider\n class=\"ax-color-box-transparent\"\n [min]=\"0\"\n [max]=\"1\"\n [hasStep]=\"false\"\n [ngModel]=\"_rgba.a\"\n [disabled]=\"_parent.disabled\"\n [readonly]=\"_parent.readonly\"\n (ngModelChange)=\"_handleAlphaChanged($event)\"\n>\n</ax-range-slider>\n" }]
217
217
  }], ctorParameters: () => [{ type: i5.AXColorPaletteParentComponent, decorators: [{
218
218
  type: Inject,
219
219
  args: [AXColorPaletteParentComponent]
@@ -221,4 +221,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
221
221
  type: HostBinding,
222
222
  args: ['class']
223
223
  }] } });
224
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItcGFsZXR0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvbG9yLXBhbGV0dGUvc3JjL2xpYi9jb2xvci1wYWxldHRlLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29sb3ItcGFsZXR0ZS9zcmMvbGliL2NvbG9yLXBhbGV0dGUtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7OztBQUVwRzs7OztHQUlHO0FBY0gsTUFBTSxPQUFPLDZCQUE4QixTQUFRLGVBQWU7SUE4Q2hFOztPQUVHO0lBQ0gsWUFFUyxPQUFzQyxFQUNyQyxhQUE2QjtRQUVyQyxLQUFLLEVBQUUsQ0FBQztRQUhELFlBQU8sR0FBUCxPQUFPLENBQStCO1FBQ3JDLGtCQUFhLEdBQWIsYUFBYSxDQUFnQjtRQW5EdkMsVUFBSyxHQUFtRDtZQUN0RCxDQUFDLEVBQUUsQ0FBQztZQUNKLENBQUMsRUFBRSxDQUFDO1lBQ0osQ0FBQyxFQUFFLENBQUM7WUFDSixDQUFDLEVBQUUsQ0FBQztTQUNMLENBQUM7UUFFRjs7V0FFRztRQUNPLGNBQVMsR0FBVyxDQUFDLENBQUM7UUFFaEM7O1dBRUc7UUFDTyxhQUFRLEdBQVcsTUFBTSxDQUFDO1FBRXBDOztXQUVHO1FBQ2Msb0JB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RztZQUNsQixDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7WUFDeEIsQ0FBQyxFQUFFLE1BQU0sR0FBRyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztTQUNuQyxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFDWSxXQUFXO1FBQ3JCLE9BQU8seUJBQXlCLENBQUM7SUFDbkMsQ0FBQzs4R0F2TVUsNkJBQTZCLGtCQWtEOUIsNkJBQTZCO2tHQWxENUIsNkJBQTZCLHlHQVI3QjtZQUNUO2dCQUNFLE9BQU8sRUFBRSw0QkFBNEI7Z0JBQ3JDLFdBQVcsRUFBRSw2QkFBNkI7YUFDM0M7WUFDRCxjQUFjO1NBQ2YsaURDckJILGttQ0FxQ0E7OzJGRGRhLDZCQUE2QjtrQkFiekMsU0FBUzsrQkFDRSx5QkFBeUIsaUJBRXBCLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLDRCQUE0Qjs0QkFDckMsV0FBVywrQkFBK0I7eUJBQzNDO3dCQUNELGNBQWM7cUJBQ2Y7OzBCQW9ERSxNQUFNOzJCQUFDLDZCQUE2QjtzRUFtSjNCLFdBQVc7c0JBRHRCLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1YQmFzZUNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xuaW1wb3J0IHsgQVhDb2xvclV0aWwsIEFYVW5zdWJzY3JpYmVyIH0gZnJvbSAnQGFjb3JleC9jb3JlL3V0aWxzJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbmplY3QsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWENvbG9yUGFsZXR0ZUNoaWxkQ29tcG9uZW50LCBBWENvbG9yUGFsZXR0ZVBhcmVudENvbXBvbmVudCB9IGZyb20gJy4vY29sb3ItcGFsZXR0ZS5jbGFzcyc7XG5cbi8qKlxuICogQ29tcG9uZW50IGZvciBwaWNraW5nIGNvbG9ycyBmcm9tIGEgY29sb3IgcGFsZXR0ZS5cbiAqXG4gKiBAY2F0ZWdvcnkgQ29tcG9uZW50c1xuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1jb2xvci1wYWxldHRlLXBpY2tlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb2xvci1wYWxldHRlLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWENvbG9yUGFsZXR0ZUNoaWxkQ29tcG9uZW50LFxuICAgICAgdXNlRXhpc3Rpbmc6IEFYQ29sb3JQYWxldHRlUGlja2VyQ29tcG9uZW50LFxuICAgIH0sXG4gICAgQVhVbnN1YnNjcmliZXIsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYQ29sb3JQYWxldHRlUGlja2VyQ29tcG9uZW50IGV4dGVuZHMgTVhCYXNlQ29tcG9uZW50IHtcbiAgX3JnYmE6IHsgcjogbnVtYmVyOyBnOiBudW1iZXI7IGI6IG51bWJlcjsgYTogbnVtYmVyIH0gPSB7XG4gICAgcjogMCxcbiAgICBnOiAwLFxuICAgIGI6IDAsXG4gICAgYTogMCxcbiAgfTtcblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByb3RlY3RlZCBfZ3JhZGllbnQ6IG51bWJlciA9IDA7XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcm90ZWN0ZWQgX2JnQ29sb3I6IHN0cmluZyA9ICcjRjAwJztcblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgX2dyYWRpZW50Q29sb3JzOiBhbnlbXSA9IFtcbiAgICB7IGNvbG9yOiAncmdiKDI1NSwgMCwgMCknLCBwb3M6IDAgfSxcbiAgICB7IGNvbG9yOiAncmdiKDI1NSwgMjU1LCAwKScsIHBvczogMC4xNyB9LFxuICAgIHsgY29sb3I6ICdyZ2IoMCwgMjU1LCAwKScsIHBvczogMC4zMyB9LFxuICAgIHsgY29sb3I6ICdyZ2IoMCwgMjU1LCAyNTUpJywgcG9zOiAwLjUgfSxcbiAgICB7IGNvbG9yOiAncmdiKDAsIDAsIDI1NSknLCBwb3M6IDAuNjcgfSxcbiAgICB7IGNvbG9yOiAncmdiKDI1NSwgMCwgMjU1KScsIHBvczogMC44MyB9LFxuICAgIHsgY29sb3I6ICdyZ2IoMjU1LCAwLCAwKScsIHBvczogMSB9LFxuICBdO1xuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBfZ3JhZGllbnRzID0gQVhDb2xvclV0aWwuZ3JhZGllbnQodGhpcy5fZ3JhZGllbnRDb2xvcnMpO1xuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBfY29sb3JzID0gdGhpcy5fZ3JhZGllbnRzLnJnYigxMDApO1xuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIGRyYWdQb3NpdGlvbiA9IHsgeDogMCwgeTogMCB9O1xuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChBWENvbG9yUGFsZXR0ZVBhcmVudENvbXBvbmVudClcbiAgICBwdWJsaWMgX3BhcmVudDogQVhDb2xvclBhbGV0dGVQYXJlbnRDb21wb25lbnQsXG4gICAgcHJpdmF0ZSBfdW5zdWJzY3JpYmVyOiBBWFVuc3Vic2NyaWJlcixcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICBfcGFyZW50Lm9uVmFsdWVDaGFuZ2VkLnBpcGUoX3Vuc3Vic2NyaWJlci50YWtlVW50aWxEZXN0cm95KS5zdWJzY3JpYmUoKGUpID0+IHtcbiAgICAgIHRoaXMuX2hhbmRsZVBhcmVudENvbG9yQ2hhbmdlZCgpO1xuICAgIH0pO1xuICAgIF9wYXJlbnQub25PcHRpb25DaGFuZ2VkLnBpcGUoX3Vuc3Vic2NyaWJlci50YWtlVW50aWxEZXN0cm95KS5zdWJzY3JpYmUoKGUpID0+IHtcbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcml2YXRlIHNldEhTVigpIHtcbiAgICBjb25zdCBoc3YgPSBBWENvbG9yVXRpbC50byh0aGlzLl9yZ2JhLCAnaHN2YScpIGFzIGFueTtcbiAgICBjb25zdCBzb3J0ZWRIID0gdGhpcy5fY29sb3JzLm1hcCgoYykgPT4gYy50b0hzdigpLmgpO1xuICAgIHRoaXMuX2dyYWRpZW50ID0gc29ydGVkSC5maW5kSW5kZXgoKGMpID0+IHtcbiAgICAgIHJldHVybiBNYXRoLnJvdW5kKGMpID49IE1hdGgucm91bmQoaHN2LmgpO1xuICAgIH0pO1xuICAgIHRoaXMuX2JnQ29sb3IgPSBBWENvbG9yVXRpbC50b1N0cmluZyh7IGg6IGhzdi5oLCBzOiAxLCB2OiAxLCBhOiB0aGlzLl9yZ2JhLmEgfSwgJ3JnYmEnKTtcbiAgICB0aGlzLnNldFBvaW50ZXJCeVBlcmNlbnQoaHN2LnMgKiAxMDAsIGhzdi52ICogMTAwKTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJpdmF0ZSBfaGFuZGxlUGFyZW50Q29sb3JDaGFuZ2VkKCkge1xuICAgIGNvbnN0IGNvbG9yID0gdGhpcy5fcGFyZW50LnZhbHVlO1xuICAgIGlmICghY29sb3IpIHtcbiAgICAgIHRoaXMuX3JnYmEgPSB7XG4gICAgICAgIHI6IDAsXG4gICAgICAgIGc6IDAsXG4gICAgICAgIGI6IDAsXG4gICAgICAgIGE6IDAsXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoIUFYQ29sb3JVdGlsLmVxdWFsKGNvbG9yLCB0aGlzLl9yZ2JhKSkge1xuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMuX3JnYmEsIEFYQ29sb3JVdGlsLnRvKGNvbG9yLCAncmdiYScpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5zZXRIU1YoKTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByb3RlY3RlZCBfaGFuZGxlQWxwaGFDaGFuZ2VkKGU6IGFueSkge1xuICAgIGlmIChlICE9IHRoaXMuX3JnYmEuYSkge1xuICAgICAgY29uc3QgeyByLCBnLCBiIH0gPSB0aGlzLl9yZ2JhO1xuICAgICAgY29uc3QgX2NvbG9yID0gYHJnYmEoJHtyfSwke2d9LCR7Yn0sJHtlIC8gMTAwfSlgO1xuICAgICAgdGhpcy5fcGFyZW50LmNvbW1pdFZhbHVlKEFYQ29sb3JVdGlsLnRvU3RyaW5nKF9jb2xvciwgJ3JnYmEnKSwgdHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcm90ZWN0ZWQgX2hhbmRsZUdyYWRpZW50Q2hhbmdlZChlOiBhbnkpIHtcbiAgICBpZiAoZSAhPSB0aGlzLl9ncmFkaWVudCkge1xuICAgICAgY29uc3QgeyBzLCB2IH0gPSBBWENvbG9yVXRpbC50byh0aGlzLl9yZ2JhLCAnaHN2YScpIGFzIGFueTtcbiAgICAgIGNvbnN0IHsgaCB9ID0gdGhpcy5fY29sb3JzW2UgYXMgbnVtYmVyXS50b0hzdigpO1xuICAgICAgdGhpcy5fcGFyZW50LmNvbW1pdFZhbHVlKEFYQ29sb3JVdGlsLnRvU3RyaW5nKHsgaCwgcywgdiwgYTogdGhpcy5fcmdiYS5hIH0sICdyZ2JhJyksIHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIF9oYW5kbGVTdXJmYWNlQ2xpY2soZTogTW91c2VFdmVudCkge1xuICAgIGlmICh0aGlzLl9wYXJlbnQuZGlzYWJsZWQgfHwgdGhpcy5fcGFyZW50LnJlYWRvbmx5KSB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBzdXJmYWNlID0gdGhpcy5nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3I8SFRNTERpdkVsZW1lbnQ+KCcuYXgtY29sb3ItYm94LW92ZXJsYXknKTtcbiAgICBjb25zdCBwb2ludGVyID0gdGhpcy5nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3I8SFRNTERpdkVsZW1lbnQ+KCcuYXgtY29sb3ItYm94LXBvaW50ZXInKTtcbiAgICBsZXQgeCA9IGUub2Zmc2V0WDtcbiAgICBsZXQgeSA9IGUub2Zmc2V0WTtcbiAgICB0aGlzLnNldENvbG9yQnlYWSh4LCB5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIF9oYW5kbGVEcmFnKCkge1xuICAgIGlmICh0aGlzLl9wYXJlbnQuZGlzYWJsZWQgfHwgdGhpcy5fcGFyZW50LnJlYWRvbmx5KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHN1cmZhY2UgPSB0aGlzLmdldEhvc3RFbGVtZW50KCkucXVlcnlTZWxlY3RvcjxIVE1MRGl2RWxlbWVudD4oJy5heC1jb2xvci1ib3gtb3ZlcmxheScpO1xuICAgIGNvbnN0IHNiID0gc3VyZmFjZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCBwb2ludGVyID0gdGhpcy5nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3I8SFRNTERpdkVsZW1lbnQ+KCcuYXgtY29sb3ItYm94LXBvaW50ZXInKTtcbiAgICBjb25zdCBwYiA9IHBvaW50ZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3QgdyA9IHBiLndpZHRoIC8gMjtcbiAgICBsZXQgeCA9IHBiLmxlZnQgLSBzYi5sZWZ0ICsgdztcbiAgICBsZXQgeSA9IHBiLnRvcCAtIHNiLnRvcCArIHc7XG4gICAgLy9cbiAgICB4ID0geCA8IDAgPyAwIDogeDtcbiAgICB4ID0geCA+IHNiLndpZHRoID8gc2Iud2lkdGggOiB4O1xuICAgIC8vXG4gICAgeSA9IHkgPCAwID8gMCA6IHk7XG4gICAgeSA9IHkgPiBzYi5oZWlnaHQgPyBzYi5oZWlnaHQgOiB5O1xuICAgIC8vXG4gICAgdGhpcy5zZXRDb2xvckJ5WFkoeCwgeSk7XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByaXZhdGUgc2V0Q29sb3JCeVhZKHg6IG51bWJlciwgeTogbnVtYmVyKSB7XG4gICAgY29uc3Qgc3VyZmFjZSA9IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yPEhUTUxEaXZFbGVtZW50PignLmF4LWNvbG9yLWJveC1vdmVybGF5Jyk7XG4gICAgY29uc3Qgc2IgPSBzdXJmYWNlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIC8vXG4gICAgY29uc3QgeyBoIH0gPSBBWENvbG9yVXRpbC50byh0aGlzLl9iZ0NvbG9yLCAnaHN2YScpIGFzIGFueTtcbiAgICBjb25zdCBoc3YgPSB7XG4gICAgICBoLFxuICAgICAgczogeCAvIHNiLndpZHRoLFxuICAgICAgdjogKHNiLmhlaWdodCAtIHkpIC8gc2IuaGVpZ2h0LFxuICAgIH07XG4gICAgdGhpcy5fcGFyZW50LmNvbW1pdFZhbHVlKEFYQ29sb3JVdGlsLnRvU3RyaW5nKGhzdiwgJ3JnYmEnKSwgdHJ1ZSk7XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByaXZhdGUgc2V0UG9pbnRlckJ5UGVyY2VudCh4OiBudW1iZXIsIHk6IG51bWJlcikge1xuICAgIGNvbnN0IHN1cmZhY2UgPSB0aGlzLmdldEhvc3RFbGVtZW50KCkucXVlcnlTZWxlY3RvcjxIVE1MRGl2RWxlbWVudD4oJy5heC1jb2xvci1ib3gtb3ZlcmxheScpO1xuICAgIGlmICghc3VyZmFjZSkgcmV0dXJuO1xuICAgIGNvbnN0IHNiID0gc3VyZmFjZT8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3QgcG9pbnRlciA9IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yPEhUTUxEaXZFbGVtZW50PignLmF4LWNvbG9yLWJveC1wb2ludGVyJyk7XG4gICAgY29uc3QgcGIgPSBwb2ludGVyPy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCB3ID0gcGIud2lkdGggLyAyO1xuICAgIGNvbnN0IHdpZHRoID0gc2Iud2lkdGg7IC8vKyBwYi53aWR0aFxuICAgIGNvbnN0IGhlaWdodCA9IHNiLmhlaWdodDsgLy8gKyBwYi53aWR0aFxuICAgIHRoaXMuZHJhZ1Bvc2l0aW9uID0ge1xuICAgICAgeDogKHggKiB3aWR0aCkgLyAxMDAgLSB3LFxuICAgICAgeTogaGVpZ2h0IC0gKHkgKiBoZWlnaHQpIC8gMTAwIC0gdyxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgcHJpdmF0ZSBnZXQgX19ob3N0Q2xhc3MoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYGF4LWNvbG9yLXBhbGV0dGUtcGlja2VyYDtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImF4LWNvbG9yLWJveC1vdmVybGF5LXRyYW5zXCI+XG4gIDxkaXYgY2xhc3M9XCJheC1jb2xvci1ib3gtb3ZlcmxheVwiIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cIl9iZ0NvbG9yXCI+XG4gICAgPGRpdiBjbGFzcz1cImF4LWNvbG9yLWJveC1vdmVybGF5LWcxXCI+PC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImF4LWNvbG9yLWJveC1vdmVybGF5LWcyXCIgKGNsaWNrKT1cIl9oYW5kbGVTdXJmYWNlQ2xpY2soJGV2ZW50KVwiPjwvZGl2PlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiYXgtY29sb3ItYm94LXBvaW50ZXJcIlxuICAgICAgY2RrRHJhZ1xuICAgICAgY2RrRHJhZ0JvdW5kYXJ5PVwiLmF4LWNvbG9yLWJveC1vdmVybGF5XCJcbiAgICAgIFtjZGtEcmFnRnJlZURyYWdQb3NpdGlvbl09XCJkcmFnUG9zaXRpb25cIlxuICAgICAgKGNka0RyYWdFbmRlZCk9XCJfaGFuZGxlRHJhZygpXCJcbiAgICAgIFtjZGtEcmFnRGlzYWJsZWRdPVwiX3BhcmVudC5kaXNhYmxlZCB8fCBfcGFyZW50LnJlYWRvbmx5XCJcbiAgICA+PC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxheC1yYW5nZS1zbGlkZXJcbiAgY2xhc3M9XCJheC1jb2xvci1ib3gtZ3JhZGllbnRcIlxuICBbbWluXT1cIjBcIlxuICBbbWF4XT1cIjEwMFwiXG4gIFttb2RlXT1cIidzaW5nbGUnXCJcbiAgW25nTW9kZWxdPVwiX2dyYWRpZW50XCJcbiAgW2Rpc2FibGVkXT1cIl9wYXJlbnQuZGlzYWJsZWRcIlxuICBbcmVhZG9ubHldPVwiX3BhcmVudC5yZWFkb25seVwiXG4gIChuZ01vZGVsQ2hhbmdlKT1cIl9oYW5kbGVHcmFkaWVudENoYW5nZWQoJGV2ZW50KVwiXG4+XG48L2F4LXJhbmdlLXNsaWRlcj5cbjxheC1yYW5nZS1zbGlkZXJcbiAgY2xhc3M9XCJheC1jb2xvci1ib3gtdHJhbnNwYXJlbnRcIlxuICBbbWluXT1cIjBcIlxuICBbbWF4XT1cIjEwMFwiXG4gIFtzdGVwXT1cIjFcIlxuICBbbmdNb2RlbF09XCJfcmdiYS5hXCJcbiAgW2Rpc2FibGVkXT1cIl9wYXJlbnQuZGlzYWJsZWRcIlxuICBbcmVhZG9ubHldPVwiX3BhcmVudC5yZWFkb25seVwiXG4gIChuZ01vZGVsQ2hhbmdlKT1cIl9oYW5kbGVBbHBoYUNoYW5nZWQoJGV2ZW50KVwiXG4+XG48L2F4LXJhbmdlLXNsaWRlcj5cbiJdfQ==
224
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItcGFsZXR0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvbG9yLXBhbGV0dGUvc3JjL2xpYi9jb2xvci1wYWxldHRlLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29sb3ItcGFsZXR0ZS9zcmMvbGliL2NvbG9yLXBhbGV0dGUtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7OztBQUVwRzs7OztHQUlHO0FBY0gsTUFBTSxPQUFPLDZCQUE4QixTQUFRLGVBQWU7SUE4Q2hFOztPQUVHO0lBQ0gsWUFFUyxPQUFzQyxFQUNyQyxhQUE2QjtRQUVyQyxLQUFLLEVBQUUsQ0FBQztRQUhELFlBQU8sR0FBUCxPQUFPLENBQStCO1FBQ3JDLGtCQUFhLEdBQWIsYUFBYSxDQUFnQjtRQW5EdkMsVUFBSyxHQUFtRDtZQUN0RCxDQUFDLEVBQUUsQ0FBQztZQUNKLENBQUMsRUFBRSxDQUFDO1lBQ0osQ0FBQyxFQUFFLENBQUM7WUFDSixDQUFDLEVBQUUsQ0FBQztTQUNMLENBQUM7UUFFRjs7V0FFRztRQUNPLGNBQVMsR0FBVyxDQUFDLENBQUM7UUFFaEM7O1dBRUc7UUFDTyxhQUFRLEdBQVcsTUFBTSxDQUFDO1FBRXBDOztXQUVHO1FBQ2Msb0JB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QUMsRUFBRSxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztZQUN4QixDQUFDLEVBQUUsTUFBTSxHQUFHLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1NBQ25DLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUNZLFdBQVc7UUFDckIsT0FBTyx5QkFBeUIsQ0FBQztJQUNuQyxDQUFDOzhHQXZNVSw2QkFBNkIsa0JBa0Q5Qiw2QkFBNkI7a0dBbEQ1Qiw2QkFBNkIseUdBUjdCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLDRCQUE0QjtnQkFDckMsV0FBVyxFQUFFLDZCQUE2QjthQUMzQztZQUNELGNBQWM7U0FDZixpRENyQkgsdW1DQXFDQTs7MkZEZGEsNkJBQTZCO2tCQWJ6QyxTQUFTOytCQUNFLHlCQUF5QixpQkFFcEIsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsNEJBQTRCOzRCQUNyQyxXQUFXLCtCQUErQjt5QkFDM0M7d0JBQ0QsY0FBYztxQkFDZjs7MEJBb0RFLE1BQU07MkJBQUMsNkJBQTZCO3NFQW1KM0IsV0FBVztzQkFEdEIsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTVhCYXNlQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XG5pbXBvcnQgeyBBWENvbG9yVXRpbCwgQVhVbnN1YnNjcmliZXIgfSBmcm9tICdAYWNvcmV4L2NvcmUvdXRpbHMnO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIEluamVjdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYQ29sb3JQYWxldHRlQ2hpbGRDb21wb25lbnQsIEFYQ29sb3JQYWxldHRlUGFyZW50Q29tcG9uZW50IH0gZnJvbSAnLi9jb2xvci1wYWxldHRlLmNsYXNzJztcblxuLyoqXG4gKiBDb21wb25lbnQgZm9yIHBpY2tpbmcgY29sb3JzIGZyb20gYSBjb2xvciBwYWxldHRlLlxuICpcbiAqIEBjYXRlZ29yeSBDb21wb25lbnRzXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LWNvbG9yLXBhbGV0dGUtcGlja2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbG9yLXBhbGV0dGUtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFYQ29sb3JQYWxldHRlQ2hpbGRDb21wb25lbnQsXG4gICAgICB1c2VFeGlzdGluZzogQVhDb2xvclBhbGV0dGVQaWNrZXJDb21wb25lbnQsXG4gICAgfSxcbiAgICBBWFVuc3Vic2NyaWJlcixcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhDb2xvclBhbGV0dGVQaWNrZXJDb21wb25lbnQgZXh0ZW5kcyBNWEJhc2VDb21wb25lbnQge1xuICBfcmdiYTogeyByOiBudW1iZXI7IGc6IG51bWJlcjsgYjogbnVtYmVyOyBhOiBudW1iZXIgfSA9IHtcbiAgICByOiAwLFxuICAgIGc6IDAsXG4gICAgYjogMCxcbiAgICBhOiAwLFxuICB9O1xuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIF9ncmFkaWVudDogbnVtYmVyID0gMDtcblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByb3RlY3RlZCBfYmdDb2xvcjogc3RyaW5nID0gJyNGMDAnO1xuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBfZ3JhZGllbnRDb2xvcnM6IGFueVtdID0gW1xuICAgIHsgY29sb3I6ICdyZ2IoMjU1LCAwLCAwKScsIHBvczogMCB9LFxuICAgIHsgY29sb3I6ICdyZ2IoMjU1LCAyNTUsIDApJywgcG9zOiAwLjE3IH0sXG4gICAgeyBjb2xvcjogJ3JnYigwLCAyNTUsIDApJywgcG9zOiAwLjMzIH0sXG4gICAgeyBjb2xvcjogJ3JnYigwLCAyNTUsIDI1NSknLCBwb3M6IDAuNSB9LFxuICAgIHsgY29sb3I6ICdyZ2IoMCwgMCwgMjU1KScsIHBvczogMC42NyB9LFxuICAgIHsgY29sb3I6ICdyZ2IoMjU1LCAwLCAyNTUpJywgcG9zOiAwLjgzIH0sXG4gICAgeyBjb2xvcjogJ3JnYigyNTUsIDAsIDApJywgcG9zOiAxIH0sXG4gIF07XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IF9ncmFkaWVudHMgPSBBWENvbG9yVXRpbC5ncmFkaWVudCh0aGlzLl9ncmFkaWVudENvbG9ycyk7XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IF9jb2xvcnMgPSB0aGlzLl9ncmFkaWVudHMucmdiKDEwMCk7XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcm90ZWN0ZWQgZHJhZ1Bvc2l0aW9uID0geyB4OiAwLCB5OiAwIH07XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KEFYQ29sb3JQYWxldHRlUGFyZW50Q29tcG9uZW50KVxuICAgIHB1YmxpYyBfcGFyZW50OiBBWENvbG9yUGFsZXR0ZVBhcmVudENvbXBvbmVudCxcbiAgICBwcml2YXRlIF91bnN1YnNjcmliZXI6IEFYVW5zdWJzY3JpYmVyLFxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIF9wYXJlbnQub25WYWx1ZUNoYW5nZWQucGlwZShfdW5zdWJzY3JpYmVyLnRha2VVbnRpbERlc3Ryb3kpLnN1YnNjcmliZSgoZSkgPT4ge1xuICAgICAgdGhpcy5faGFuZGxlUGFyZW50Q29sb3JDaGFuZ2VkKCk7XG4gICAgfSk7XG4gICAgX3BhcmVudC5vbk9wdGlvbkNoYW5nZWQucGlwZShfdW5zdWJzY3JpYmVyLnRha2VVbnRpbERlc3Ryb3kpLnN1YnNjcmliZSgoZSkgPT4ge1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByaXZhdGUgc2V0SFNWKCkge1xuICAgIGNvbnN0IGhzdiA9IEFYQ29sb3JVdGlsLnRvKHRoaXMuX3JnYmEsICdoc3ZhJykgYXMgYW55O1xuICAgIGNvbnN0IHNvcnRlZEggPSB0aGlzLl9jb2xvcnMubWFwKChjKSA9PiBjLnRvSHN2KCkuaCk7XG4gICAgdGhpcy5fZ3JhZGllbnQgPSBzb3J0ZWRILmZpbmRJbmRleCgoYykgPT4ge1xuICAgICAgcmV0dXJuIE1hdGgucm91bmQoYykgPj0gTWF0aC5yb3VuZChoc3YuaCk7XG4gICAgfSk7XG4gICAgdGhpcy5fYmdDb2xvciA9IEFYQ29sb3JVdGlsLnRvU3RyaW5nKHsgaDogaHN2LmgsIHM6IDEsIHY6IDEsIGE6IHRoaXMuX3JnYmEuYSB9LCAncmdiYScpO1xuICAgIHRoaXMuc2V0UG9pbnRlckJ5UGVyY2VudChoc3YucyAqIDEwMCwgaHN2LnYgKiAxMDApO1xuICB9XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcml2YXRlIF9oYW5kbGVQYXJlbnRDb2xvckNoYW5nZWQoKSB7XG4gICAgY29uc3QgY29sb3IgPSB0aGlzLl9wYXJlbnQudmFsdWU7XG4gICAgaWYgKCFjb2xvcikge1xuICAgICAgdGhpcy5fcmdiYSA9IHtcbiAgICAgICAgcjogMCxcbiAgICAgICAgZzogMCxcbiAgICAgICAgYjogMCxcbiAgICAgICAgYTogMCxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICghQVhDb2xvclV0aWwuZXF1YWwoY29sb3IsIHRoaXMuX3JnYmEpKSB7XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcy5fcmdiYSwgQVhDb2xvclV0aWwudG8oY29sb3IsICdyZ2JhJykpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLnNldEhTVigpO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIF9oYW5kbGVBbHBoYUNoYW5nZWQoZTogYW55KSB7XG4gICAgaWYgKGUgIT0gdGhpcy5fcmdiYS5hKSB7XG4gICAgICBjb25zdCB7IHIsIGcsIGIgfSA9IHRoaXMuX3JnYmE7XG4gICAgICBjb25zdCBfY29sb3IgPSBgcmdiYSgke3J9LCR7Z30sJHtifSwke2V9KWA7XG4gICAgICB0aGlzLl9wYXJlbnQuY29tbWl0VmFsdWUoQVhDb2xvclV0aWwudG9TdHJpbmcoX2NvbG9yLCAncmdiYScpLCB0cnVlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByb3RlY3RlZCBfaGFuZGxlR3JhZGllbnRDaGFuZ2VkKGU6IGFueSkge1xuICAgIGlmIChlICE9IHRoaXMuX2dyYWRpZW50KSB7XG4gICAgICBjb25zdCB7IHMsIHYgfSA9IEFYQ29sb3JVdGlsLnRvKHRoaXMuX3JnYmEsICdoc3ZhJykgYXMgYW55O1xuICAgICAgY29uc3QgeyBoIH0gPSB0aGlzLl9jb2xvcnNbZSBhcyBudW1iZXJdLnRvSHN2KCk7XG4gICAgICB0aGlzLl9wYXJlbnQuY29tbWl0VmFsdWUoQVhDb2xvclV0aWwudG9TdHJpbmcoeyBoLCBzLCB2LCBhOiB0aGlzLl9yZ2JhLmEgfSwgJ3JnYmEnKSwgdHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcm90ZWN0ZWQgX2hhbmRsZVN1cmZhY2VDbGljayhlOiBNb3VzZUV2ZW50KSB7XG4gICAgaWYgKHRoaXMuX3BhcmVudC5kaXNhYmxlZCB8fCB0aGlzLl9wYXJlbnQucmVhZG9ubHkpIHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHN1cmZhY2UgPSB0aGlzLmdldEhvc3RFbGVtZW50KCkucXVlcnlTZWxlY3RvcjxIVE1MRGl2RWxlbWVudD4oJy5heC1jb2xvci1ib3gtb3ZlcmxheScpO1xuICAgIGNvbnN0IHBvaW50ZXIgPSB0aGlzLmdldEhvc3RFbGVtZW50KCkucXVlcnlTZWxlY3RvcjxIVE1MRGl2RWxlbWVudD4oJy5heC1jb2xvci1ib3gtcG9pbnRlcicpO1xuICAgIGxldCB4ID0gZS5vZmZzZXRYO1xuICAgIGxldCB5ID0gZS5vZmZzZXRZO1xuICAgIHRoaXMuc2V0Q29sb3JCeVhZKHgsIHkpO1xuICB9XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcm90ZWN0ZWQgX2hhbmRsZURyYWcoKSB7XG4gICAgaWYgKHRoaXMuX3BhcmVudC5kaXNhYmxlZCB8fCB0aGlzLl9wYXJlbnQucmVhZG9ubHkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3Qgc3VyZmFjZSA9IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yPEhUTUxEaXZFbGVtZW50PignLmF4LWNvbG9yLWJveC1vdmVybGF5Jyk7XG4gICAgY29uc3Qgc2IgPSBzdXJmYWNlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGNvbnN0IHBvaW50ZXIgPSB0aGlzLmdldEhvc3RFbGVtZW50KCkucXVlcnlTZWxlY3RvcjxIVE1MRGl2RWxlbWVudD4oJy5heC1jb2xvci1ib3gtcG9pbnRlcicpO1xuICAgIGNvbnN0IHBiID0gcG9pbnRlci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCB3ID0gcGIud2lkdGggLyAyO1xuICAgIGxldCB4ID0gcGIubGVmdCAtIHNiLmxlZnQgKyB3O1xuICAgIGxldCB5ID0gcGIudG9wIC0gc2IudG9wICsgdztcbiAgICAvL1xuICAgIHggPSB4IDwgMCA/IDAgOiB4O1xuICAgIHggPSB4ID4gc2Iud2lkdGggPyBzYi53aWR0aCA6IHg7XG4gICAgLy9cbiAgICB5ID0geSA8IDAgPyAwIDogeTtcbiAgICB5ID0geSA+IHNiLmhlaWdodCA/IHNiLmhlaWdodCA6IHk7XG4gICAgLy9cbiAgICB0aGlzLnNldENvbG9yQnlYWSh4LCB5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJpdmF0ZSBzZXRDb2xvckJ5WFkoeDogbnVtYmVyLCB5OiBudW1iZXIpIHtcbiAgICBjb25zdCBzdXJmYWNlID0gdGhpcy5nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3I8SFRNTERpdkVsZW1lbnQ+KCcuYXgtY29sb3ItYm94LW92ZXJsYXknKTtcbiAgICBjb25zdCBzYiA9IHN1cmZhY2UuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgLy9cbiAgICBjb25zdCB7IGggfSA9IEFYQ29sb3JVdGlsLnRvKHRoaXMuX2JnQ29sb3IsICdoc3ZhJykgYXMgYW55O1xuICAgIGNvbnN0IGhzdiA9IHtcbiAgICAgIGgsXG4gICAgICBzOiB4IC8gc2Iud2lkdGgsXG4gICAgICB2OiAoc2IuaGVpZ2h0IC0geSkgLyBzYi5oZWlnaHQsXG4gICAgfTtcbiAgICB0aGlzLl9wYXJlbnQuY29tbWl0VmFsdWUoQVhDb2xvclV0aWwudG9TdHJpbmcoaHN2LCAncmdiYScpLCB0cnVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJpdmF0ZSBzZXRQb2ludGVyQnlQZXJjZW50KHg6IG51bWJlciwgeTogbnVtYmVyKSB7XG4gICAgY29uc3Qgc3VyZmFjZSA9IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yPEhUTUxEaXZFbGVtZW50PignLmF4LWNvbG9yLWJveC1vdmVybGF5Jyk7XG4gICAgaWYgKCFzdXJmYWNlKSByZXR1cm47XG4gICAgY29uc3Qgc2IgPSBzdXJmYWNlPy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCBwb2ludGVyID0gdGhpcy5nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3I8SFRNTERpdkVsZW1lbnQ+KCcuYXgtY29sb3ItYm94LXBvaW50ZXInKTtcbiAgICBjb25zdCBwYiA9IHBvaW50ZXI/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGNvbnN0IHcgPSBwYi53aWR0aCAvIDI7XG4gICAgY29uc3Qgd2lkdGggPSBzYi53aWR0aDsgLy8rIHBiLndpZHRoXG4gICAgY29uc3QgaGVpZ2h0ID0gc2IuaGVpZ2h0OyAvLyArIHBiLndpZHRoXG4gICAgdGhpcy5kcmFnUG9zaXRpb24gPSB7XG4gICAgICB4OiAoeCAqIHdpZHRoKSAvIDEwMCAtIHcsXG4gICAgICB5OiBoZWlnaHQgLSAoeSAqIGhlaWdodCkgLyAxMDAgLSB3LFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBwcml2YXRlIGdldCBfX2hvc3RDbGFzcygpOiBzdHJpbmcge1xuICAgIHJldHVybiBgYXgtY29sb3ItcGFsZXR0ZS1waWNrZXJgO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYXgtY29sb3ItYm94LW92ZXJsYXktdHJhbnNcIj5cbiAgPGRpdiBjbGFzcz1cImF4LWNvbG9yLWJveC1vdmVybGF5XCIgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwiX2JnQ29sb3JcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYXgtY29sb3ItYm94LW92ZXJsYXktZzFcIj48L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiYXgtY29sb3ItYm94LW92ZXJsYXktZzJcIiAoY2xpY2spPVwiX2hhbmRsZVN1cmZhY2VDbGljaygkZXZlbnQpXCI+PC9kaXY+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJheC1jb2xvci1ib3gtcG9pbnRlclwiXG4gICAgICBjZGtEcmFnXG4gICAgICBjZGtEcmFnQm91bmRhcnk9XCIuYXgtY29sb3ItYm94LW92ZXJsYXlcIlxuICAgICAgW2Nka0RyYWdGcmVlRHJhZ1Bvc2l0aW9uXT1cImRyYWdQb3NpdGlvblwiXG4gICAgICAoY2RrRHJhZ0VuZGVkKT1cIl9oYW5kbGVEcmFnKClcIlxuICAgICAgW2Nka0RyYWdEaXNhYmxlZF09XCJfcGFyZW50LmRpc2FibGVkIHx8IF9wYXJlbnQucmVhZG9ubHlcIlxuICAgID48L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPGF4LXJhbmdlLXNsaWRlclxuICBjbGFzcz1cImF4LWNvbG9yLWJveC1ncmFkaWVudFwiXG4gIFttaW5dPVwiMFwiXG4gIFttYXhdPVwiMTAwXCJcbiAgW21vZGVdPVwiJ3NpbmdsZSdcIlxuICBbbmdNb2RlbF09XCJfZ3JhZGllbnRcIlxuICBbZGlzYWJsZWRdPVwiX3BhcmVudC5kaXNhYmxlZFwiXG4gIFtyZWFkb25seV09XCJfcGFyZW50LnJlYWRvbmx5XCJcbiAgKG5nTW9kZWxDaGFuZ2UpPVwiX2hhbmRsZUdyYWRpZW50Q2hhbmdlZCgkZXZlbnQpXCJcbj5cbjwvYXgtcmFuZ2Utc2xpZGVyPlxuPGF4LXJhbmdlLXNsaWRlclxuICBjbGFzcz1cImF4LWNvbG9yLWJveC10cmFuc3BhcmVudFwiXG4gIFttaW5dPVwiMFwiXG4gIFttYXhdPVwiMVwiXG4gIFtoYXNTdGVwXT1cImZhbHNlXCJcbiAgW25nTW9kZWxdPVwiX3JnYmEuYVwiXG4gIFtkaXNhYmxlZF09XCJfcGFyZW50LmRpc2FibGVkXCJcbiAgW3JlYWRvbmx5XT1cIl9wYXJlbnQucmVhZG9ubHlcIlxuICAobmdNb2RlbENoYW5nZSk9XCJfaGFuZGxlQWxwaGFDaGFuZ2VkKCRldmVudClcIlxuPlxuPC9heC1yYW5nZS1zbGlkZXI+XG4iXX0=
@@ -32,7 +32,7 @@ export class AXColorPalleteComponent extends MXValueComponent {
32
32
  provide: AXColorPaletteParentComponent,
33
33
  useExisting: AXColorPalleteComponent,
34
34
  },
35
- ], queries: [{ propertyName: "_children", predicate: AXColorPaletteChildComponent }], usesInheritance: true, ngImport: i0, template: "<ng-content select='ax-header'></ng-content>\n\n@if(_children?.length){\n<ng-container [ngTemplateOutlet]=\"custom\"></ng-container>\n} @else{\n<ng-container [ngTemplateOutlet]=\"default\"></ng-container>\n\n}\n<ng-template #custom>\n <ng-content select='ax-color-palette-preview'></ng-content>\n <ng-content select='ax-color-palette-picker'></ng-content>\n <ng-content select='ax-color-palette-swatches'></ng-content>\n <ng-content select='ax-color-palette-favorite'></ng-content>\n <ng-content select='ax-color-palette-input'></ng-content>\n</ng-template>\n<ng-template #default>\n <ax-color-palette-preview></ax-color-palette-preview>\n <ax-color-palette-picker></ax-color-palette-picker>\n <ax-color-palette-swatches></ax-color-palette-swatches>\n <ax-color-palette-input></ax-color-palette-input>\n</ng-template>\n<ng-content select='ax-footer'></ng-content>", styles: ["ax-color-palette{display:flex;width:100%;flex-direction:column;border-radius:var(--ax-rounded-border-default);border-color:rgba(var(--ax-color-border-default));background-color:rgba(var(--ax-color-surface))}@media (min-width: 768px){ax-color-palette{width:20rem}}ax-color-palette.ax-state-disabled{cursor:not-allowed;opacity:.5}ax-color-palette.ax-state-disabled ax-color-palette-swatches div:hover,ax-color-palette.ax-state-disabled ax-color-palette-swatches div.ax-state-selected,ax-color-palette.ax-state-disabled ax-color-palette-favorite div:hover,ax-color-palette.ax-state-disabled ax-color-palette-favorite div.ax-state-selected{cursor:not-allowed;opacity:.5}ax-color-palette ax-header,ax-color-palette ax-footer{display:flex;border-top-width:1px;border-color:rgba(var(--ax-color-border-default));padding:.75rem}ax-color-palette ax-color-palette-preview{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAADFJREFUOE9jZGBgEGHAD97gk2YcNYBhmIQBgWSAP52AwoAQwJvQRg1gACckQoC2gQgAIF8IscwEtKYAAAAASUVORK5CYII=) left center;position:relative;height:6rem;width:100%;gap:.5rem;border-top-left-radius:var(--ax-rounded-border-default);border-top-right-radius:var(--ax-rounded-border-default)}ax-color-palette ax-color-palette-preview .palette-preview-overlay{position:absolute;inset-inline-start:0px;display:flex;height:100%;width:100%;align-items:center;justify-content:center;border-bottom-width:1px;border-color:rgba(var(--ax-color-border-default));text-transform:uppercase}ax-color-palette ax-color-palette-favorite{display:block;border-top-width:1px;border-color:rgba(var(--ax-color-border-default))}ax-color-palette ax-color-palette-swatches,ax-color-palette ax-color-palette-favorite{display:grid;max-height:9rem;grid-template-columns:repeat(10,minmax(0,1fr));gap:.5rem;overflow-y:auto;overflow-x:hidden;padding:.5rem}ax-color-palette ax-color-palette-swatches div,ax-color-palette ax-color-palette-favorite div{position:relative;display:flex;cursor:pointer;align-items:center;justify-content:center;border-radius:9999px;border-width:1px;border-color:rgba(var(--ax-color-border-default))}ax-color-palette ax-color-palette-swatches div:before,ax-color-palette ax-color-palette-swatches div:after,ax-color-palette ax-color-palette-favorite div:before,ax-color-palette ax-color-palette-favorite div:after{content:\"\"}ax-color-palette ax-color-palette-swatches div:before,ax-color-palette ax-color-palette-favorite div:before{float:left;padding-top:100%}ax-color-palette ax-color-palette-swatches div:after,ax-color-palette ax-color-palette-favorite div:after{clear:both;display:block}ax-color-palette ax-color-palette-swatches div:hover,ax-color-palette ax-color-palette-swatches div.ax-state-selected,ax-color-palette ax-color-palette-favorite div:hover,ax-color-palette ax-color-palette-favorite div.ax-state-selected{box-shadow:0 0 0 1px rgba(var(--ax-color-white)),0 0 0 3px rgba(var(--ax-color-black))}ax-color-palette ax-color-palette-input{display:flex;gap:.5rem;padding:.5rem}ax-color-palette ax-color-palette-input .palette-inputs{display:flex;flex:1 1 0%;gap:.5rem}ax-color-palette ax-color-palette-input .palette-inputs div{width:100%;text-align:center}ax-color-palette ax-color-palette-input .palette-inputs div label{margin-top:.75rem;font-size:.75rem;line-height:1rem}ax-color-palette ax-color-palette-input .palette-inputs .ax-editor-container .ax-input{padding:0}ax-color-palette ax-color-palette-picker{display:flex;flex-direction:column;gap:.5rem;padding:.5rem}ax-color-palette ax-color-palette-picker .ax-color-box-overlay-trans{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAADFJREFUOE9jZGBgEGHAD97gk2YcNYBhmIQBgWSAP52AwoAQwJvQRg1gACckQoC2gQgAIF8IscwEtKYAAAAASUVORK5CYII=)}ax-color-palette ax-color-palette-picker .ax-color-box-overlay{position:relative;display:flex;height:8rem;width:100%}ax-color-palette ax-color-palette-picker .ax-color-box-overlay .ax-color-box-pointer{position:relative;z-index:10;height:.75rem;width:.75rem;border-radius:9999px;border-width:1px;border-color:rgba(var(--ax-color-border-default));background-color:transparent}ax-color-palette ax-color-palette-picker .ax-color-box-overlay .ax-color-box-overlay-g1,ax-color-palette ax-color-palette-picker .ax-color-box-overlay .ax-color-box-overlay-g2{position:absolute;bottom:0;inset-inline-end:0px;inset-inline-start:0px;top:0;height:100%;width:100%}ax-color-palette ax-color-palette-picker .ax-color-box-overlay .ax-color-box-overlay-g1{background:linear-gradient(to right,#fff,#fff0);z-index:0}ax-color-palette ax-color-palette-picker .ax-color-box-overlay .ax-color-box-overlay-g2{z-index:10;background:linear-gradient(to bottom,transparent 0%,#000 100%)}ax-color-palette ax-color-palette-picker ax-range-slider.ax-color-box-gradient .ax-range-slider-bar{background:linear-gradient(to right,red,#ff0 17%,#0f0 33%,#0ff,#00f 67%,#f0f 83%,red)}ax-color-palette ax-color-palette-picker ax-range-slider.ax-color-box-gradient .ax-range-slider-highlight{background:transparent!important}ax-color-palette ax-color-palette-picker ax-range-slider.ax-color-box-gradient .ax-range-slider-handler{background:#fff!important;border:1px solid lightgray!important}ax-color-palette ax-color-palette-picker ax-range-slider.ax-color-box-transparent .ax-range-slider-bar{background-image:linear-gradient(to right,#f5f6fc00,#000),url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAADFJREFUOE9jZGBgEGHAD97gk2YcNYBhmIQBgWSAP52AwoAQwJvQRg1gACckQoC2gQgAIF8IscwEtKYAAAAASUVORK5CYII=)}ax-color-palette ax-color-palette-picker ax-range-slider.ax-color-box-transparent .ax-range-slider-highlight{background:transparent!important}ax-color-palette ax-color-palette-picker ax-range-slider.ax-color-box-transparent .ax-range-slider-handler{background:#fff!important;border:1px solid lightgray!important}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.AXColorPalettePreviewComponent, selector: "ax-color-palette-preview" }, { kind: "component", type: i3.AXColorPaletteSwatchesComponent, selector: "ax-color-palette-swatches, ax-color-palette-favorite", inputs: ["colors"] }, { kind: "component", type: i4.AXColorPaletteInputComponent, selector: "ax-color-palette-input" }, { kind: "component", type: i5.AXColorPalettePickerComponent, selector: "ax-color-palette-picker" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
35
+ ], queries: [{ propertyName: "_children", predicate: AXColorPaletteChildComponent }], usesInheritance: true, ngImport: i0, template: "<ng-content select='ax-header'></ng-content>\n\n@if(_children?.length){\n<ng-container [ngTemplateOutlet]=\"custom\"></ng-container>\n} @else{\n<ng-container [ngTemplateOutlet]=\"default\"></ng-container>\n\n}\n<ng-template #custom>\n <ng-content select='ax-color-palette-preview'></ng-content>\n <ng-content select='ax-color-palette-picker'></ng-content>\n <ng-content select='ax-color-palette-swatches'></ng-content>\n <ng-content select='ax-color-palette-favorite'></ng-content>\n <ng-content select='ax-color-palette-input'></ng-content>\n</ng-template>\n<ng-template #default>\n <ax-color-palette-preview></ax-color-palette-preview>\n <ax-color-palette-picker></ax-color-palette-picker>\n <ax-color-palette-swatches></ax-color-palette-swatches>\n <ax-color-palette-input></ax-color-palette-input>\n</ng-template>\n<ng-content select='ax-footer'></ng-content>", styles: ["ax-color-palette{display:flex;width:100%;flex-direction:column;border-radius:var(--ax-rounded-border-default);border-color:rgba(var(--ax-color-border-default));background-color:rgba(var(--ax-color-surface))}@media (min-width: 768px){ax-color-palette{width:20rem}}ax-color-palette.ax-state-disabled{cursor:not-allowed;opacity:.5}ax-color-palette.ax-state-disabled ax-color-palette-swatches div:hover,ax-color-palette.ax-state-disabled ax-color-palette-swatches div.ax-state-selected,ax-color-palette.ax-state-disabled ax-color-palette-favorite div:hover,ax-color-palette.ax-state-disabled ax-color-palette-favorite div.ax-state-selected{cursor:not-allowed;opacity:.5}ax-color-palette ax-header,ax-color-palette ax-footer{display:flex;border-top-width:1px;border-color:rgba(var(--ax-color-border-default));padding:.75rem}ax-color-palette ax-color-palette-preview{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAADFJREFUOE9jZGBgEGHAD97gk2YcNYBhmIQBgWSAP52AwoAQwJvQRg1gACckQoC2gQgAIF8IscwEtKYAAAAASUVORK5CYII=) left center;position:relative;height:6rem;width:100%;gap:.5rem;border-top-left-radius:var(--ax-rounded-border-default);border-top-right-radius:var(--ax-rounded-border-default)}ax-color-palette ax-color-palette-preview .palette-preview-overlay{position:absolute;inset-inline-start:0px;display:flex;height:100%;width:100%;align-items:center;justify-content:center;border-bottom-width:1px;border-color:rgba(var(--ax-color-border-default));text-transform:uppercase}ax-color-palette ax-color-palette-favorite{display:block;border-top-width:1px;border-color:rgba(var(--ax-color-border-default))}ax-color-palette ax-color-palette-swatches,ax-color-palette ax-color-palette-favorite{display:grid;max-height:9rem;grid-template-columns:repeat(10,minmax(0,1fr));gap:.5rem;overflow-y:auto;overflow-x:hidden;padding:.5rem}ax-color-palette ax-color-palette-swatches div,ax-color-palette ax-color-palette-favorite div{position:relative;display:flex;cursor:pointer;align-items:center;justify-content:center;border-radius:9999px;border-width:1px;border-color:rgba(var(--ax-color-border-default))}ax-color-palette ax-color-palette-swatches div:before,ax-color-palette ax-color-palette-swatches div:after,ax-color-palette ax-color-palette-favorite div:before,ax-color-palette ax-color-palette-favorite div:after{content:\"\"}ax-color-palette ax-color-palette-swatches div:before,ax-color-palette ax-color-palette-favorite div:before{float:left;padding-top:100%}ax-color-palette ax-color-palette-swatches div:after,ax-color-palette ax-color-palette-favorite div:after{clear:both;display:block}ax-color-palette ax-color-palette-swatches div:hover,ax-color-palette ax-color-palette-swatches div.ax-state-selected,ax-color-palette ax-color-palette-favorite div:hover,ax-color-palette ax-color-palette-favorite div.ax-state-selected{box-shadow:0 0 0 1px rgba(var(--ax-color-white)),0 0 0 3px rgba(var(--ax-color-black))}ax-color-palette ax-color-palette-input{display:flex;gap:.5rem;padding:.5rem}ax-color-palette ax-color-palette-input .palette-inputs{display:flex;flex:1 1 0%;gap:.5rem}ax-color-palette ax-color-palette-input .palette-inputs div{width:100%;text-align:center}ax-color-palette ax-color-palette-input .palette-inputs div label{margin-top:.75rem;font-size:.75rem;line-height:1rem}ax-color-palette ax-color-palette-input .palette-inputs .ax-editor-container .ax-input{padding:0}ax-color-palette ax-color-palette-picker{display:flex;flex-direction:column;gap:.5rem;padding:.5rem}ax-color-palette ax-color-palette-picker .ax-color-box-overlay-trans{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAADFJREFUOE9jZGBgEGHAD97gk2YcNYBhmIQBgWSAP52AwoAQwJvQRg1gACckQoC2gQgAIF8IscwEtKYAAAAASUVORK5CYII=)}ax-color-palette ax-color-palette-picker .ax-color-box-overlay{position:relative;display:flex;height:8rem;width:100%}ax-color-palette ax-color-palette-picker .ax-color-box-overlay .ax-color-box-pointer{position:relative;z-index:10;height:.75rem;width:.75rem;border-radius:9999px;border-width:1px;border-color:rgba(var(--ax-color-border-default));background-color:transparent}ax-color-palette ax-color-palette-picker .ax-color-box-overlay .ax-color-box-overlay-g1,ax-color-palette ax-color-palette-picker .ax-color-box-overlay .ax-color-box-overlay-g2{position:absolute;bottom:0;inset-inline-end:0px;inset-inline-start:0px;top:0;height:100%;width:100%}ax-color-palette ax-color-palette-picker .ax-color-box-overlay .ax-color-box-overlay-g1{background:linear-gradient(to right,#fff,#fff0);z-index:0}ax-color-palette ax-color-palette-picker .ax-color-box-overlay .ax-color-box-overlay-g2{z-index:10;background:linear-gradient(to bottom,transparent 0%,#000 100%)}ax-color-palette ax-color-palette-picker ax-range-slider.ax-color-box-gradient .ax-range-slider-bar{background:linear-gradient(to right,red,#ff0 17%,#0f0 33%,#0ff,#00f 67%,#f0f 83%,red)}ax-color-palette ax-color-palette-picker ax-range-slider.ax-color-box-gradient .ax-range-slider-highlight{background:transparent!important}ax-color-palette ax-color-palette-picker ax-range-slider.ax-color-box-gradient .ax-range-slider-handler{background:#fff!important;border:1px solid lightgray!important}ax-color-palette ax-color-palette-picker ax-range-slider.ax-color-box-transparent .ax-range-slider-bar{background-image:linear-gradient(to right,#f5f6fc00,#000),url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAADFJREFUOE9jZGBgEGHAD97gk2YcNYBhmIQBgWSAP52AwoAQwJvQRg1gACckQoC2gQgAIF8IscwEtKYAAAAASUVORK5CYII=)}ax-color-palette ax-color-palette-picker ax-range-slider.ax-color-box-transparent .ax-range-slider-highlight{background:transparent!important}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.AXColorPalettePreviewComponent, selector: "ax-color-palette-preview" }, { kind: "component", type: i3.AXColorPaletteSwatchesComponent, selector: "ax-color-palette-swatches, ax-color-palette-favorite", inputs: ["colors"] }, { kind: "component", type: i4.AXColorPaletteInputComponent, selector: "ax-color-palette-input" }, { kind: "component", type: i5.AXColorPalettePickerComponent, selector: "ax-color-palette-picker" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
36
36
  }
37
37
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXColorPalleteComponent, decorators: [{
38
38
  type: Component,
@@ -47,7 +47,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
47
47
  provide: AXColorPaletteParentComponent,
48
48
  useExisting: AXColorPalleteComponent,
49
49
  },
50
- ], template: "<ng-content select='ax-header'></ng-content>\n\n@if(_children?.length){\n<ng-container [ngTemplateOutlet]=\"custom\"></ng-container>\n} @else{\n<ng-container [ngTemplateOutlet]=\"default\"></ng-container>\n\n}\n<ng-template #custom>\n <ng-content select='ax-color-palette-preview'></ng-content>\n <ng-content select='ax-color-palette-picker'></ng-content>\n <ng-content select='ax-color-palette-swatches'></ng-content>\n <ng-content select='ax-color-palette-favorite'></ng-content>\n <ng-content select='ax-color-palette-input'></ng-content>\n</ng-template>\n<ng-template #default>\n <ax-color-palette-preview></ax-color-palette-preview>\n <ax-color-palette-picker></ax-color-palette-picker>\n <ax-color-palette-swatches></ax-color-palette-swatches>\n <ax-color-palette-input></ax-color-palette-input>\n</ng-template>\n<ng-content select='ax-footer'></ng-content>", styles: ["ax-color-palette{display:flex;width:100%;flex-direction:column;border-radius:var(--ax-rounded-border-default);border-color:rgba(var(--ax-color-border-default));background-color:rgba(var(--ax-color-surface))}@media (min-width: 768px){ax-color-palette{width:20rem}}ax-color-palette.ax-state-disabled{cursor:not-allowed;opacity:.5}ax-color-palette.ax-state-disabled ax-color-palette-swatches div:hover,ax-color-palette.ax-state-disabled ax-color-palette-swatches div.ax-state-selected,ax-color-palette.ax-state-disabled ax-color-palette-favorite div:hover,ax-color-palette.ax-state-disabled ax-color-palette-favorite div.ax-state-selected{cursor:not-allowed;opacity:.5}ax-color-palette ax-header,ax-color-palette ax-footer{display:flex;border-top-width:1px;border-color:rgba(var(--ax-color-border-default));padding:.75rem}ax-color-palette ax-color-palette-preview{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAADFJREFUOE9jZGBgEGHAD97gk2YcNYBhmIQBgWSAP52AwoAQwJvQRg1gACckQoC2gQgAIF8IscwEtKYAAAAASUVORK5CYII=) left center;position:relative;height:6rem;width:100%;gap:.5rem;border-top-left-radius:var(--ax-rounded-border-default);border-top-right-radius:var(--ax-rounded-border-default)}ax-color-palette ax-color-palette-preview .palette-preview-overlay{position:absolute;inset-inline-start:0px;display:flex;height:100%;width:100%;align-items:center;justify-content:center;border-bottom-width:1px;border-color:rgba(var(--ax-color-border-default));text-transform:uppercase}ax-color-palette ax-color-palette-favorite{display:block;border-top-width:1px;border-color:rgba(var(--ax-color-border-default))}ax-color-palette ax-color-palette-swatches,ax-color-palette ax-color-palette-favorite{display:grid;max-height:9rem;grid-template-columns:repeat(10,minmax(0,1fr));gap:.5rem;overflow-y:auto;overflow-x:hidden;padding:.5rem}ax-color-palette ax-color-palette-swatches div,ax-color-palette ax-color-palette-favorite div{position:relative;display:flex;cursor:pointer;align-items:center;justify-content:center;border-radius:9999px;border-width:1px;border-color:rgba(var(--ax-color-border-default))}ax-color-palette ax-color-palette-swatches div:before,ax-color-palette ax-color-palette-swatches div:after,ax-color-palette ax-color-palette-favorite div:before,ax-color-palette ax-color-palette-favorite div:after{content:\"\"}ax-color-palette ax-color-palette-swatches div:before,ax-color-palette ax-color-palette-favorite div:before{float:left;padding-top:100%}ax-color-palette ax-color-palette-swatches div:after,ax-color-palette ax-color-palette-favorite div:after{clear:both;display:block}ax-color-palette ax-color-palette-swatches div:hover,ax-color-palette ax-color-palette-swatches div.ax-state-selected,ax-color-palette ax-color-palette-favorite div:hover,ax-color-palette ax-color-palette-favorite div.ax-state-selected{box-shadow:0 0 0 1px rgba(var(--ax-color-white)),0 0 0 3px rgba(var(--ax-color-black))}ax-color-palette ax-color-palette-input{display:flex;gap:.5rem;padding:.5rem}ax-color-palette ax-color-palette-input .palette-inputs{display:flex;flex:1 1 0%;gap:.5rem}ax-color-palette ax-color-palette-input .palette-inputs div{width:100%;text-align:center}ax-color-palette ax-color-palette-input .palette-inputs div label{margin-top:.75rem;font-size:.75rem;line-height:1rem}ax-color-palette ax-color-palette-input .palette-inputs .ax-editor-container .ax-input{padding:0}ax-color-palette ax-color-palette-picker{display:flex;flex-direction:column;gap:.5rem;padding:.5rem}ax-color-palette ax-color-palette-picker .ax-color-box-overlay-trans{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAADFJREFUOE9jZGBgEGHAD97gk2YcNYBhmIQBgWSAP52AwoAQwJvQRg1gACckQoC2gQgAIF8IscwEtKYAAAAASUVORK5CYII=)}ax-color-palette ax-color-palette-picker .ax-color-box-overlay{position:relative;display:flex;height:8rem;width:100%}ax-color-palette ax-color-palette-picker .ax-color-box-overlay .ax-color-box-pointer{position:relative;z-index:10;height:.75rem;width:.75rem;border-radius:9999px;border-width:1px;border-color:rgba(var(--ax-color-border-default));background-color:transparent}ax-color-palette ax-color-palette-picker .ax-color-box-overlay .ax-color-box-overlay-g1,ax-color-palette ax-color-palette-picker .ax-color-box-overlay .ax-color-box-overlay-g2{position:absolute;bottom:0;inset-inline-end:0px;inset-inline-start:0px;top:0;height:100%;width:100%}ax-color-palette ax-color-palette-picker .ax-color-box-overlay .ax-color-box-overlay-g1{background:linear-gradient(to right,#fff,#fff0);z-index:0}ax-color-palette ax-color-palette-picker .ax-color-box-overlay .ax-color-box-overlay-g2{z-index:10;background:linear-gradient(to bottom,transparent 0%,#000 100%)}ax-color-palette ax-color-palette-picker ax-range-slider.ax-color-box-gradient .ax-range-slider-bar{background:linear-gradient(to right,red,#ff0 17%,#0f0 33%,#0ff,#00f 67%,#f0f 83%,red)}ax-color-palette ax-color-palette-picker ax-range-slider.ax-color-box-gradient .ax-range-slider-highlight{background:transparent!important}ax-color-palette ax-color-palette-picker ax-range-slider.ax-color-box-gradient .ax-range-slider-handler{background:#fff!important;border:1px solid lightgray!important}ax-color-palette ax-color-palette-picker ax-range-slider.ax-color-box-transparent .ax-range-slider-bar{background-image:linear-gradient(to right,#f5f6fc00,#000),url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAADFJREFUOE9jZGBgEGHAD97gk2YcNYBhmIQBgWSAP52AwoAQwJvQRg1gACckQoC2gQgAIF8IscwEtKYAAAAASUVORK5CYII=)}ax-color-palette ax-color-palette-picker ax-range-slider.ax-color-box-transparent .ax-range-slider-highlight{background:transparent!important}ax-color-palette ax-color-palette-picker ax-range-slider.ax-color-box-transparent .ax-range-slider-handler{background:#fff!important;border:1px solid lightgray!important}\n"] }]
50
+ ], template: "<ng-content select='ax-header'></ng-content>\n\n@if(_children?.length){\n<ng-container [ngTemplateOutlet]=\"custom\"></ng-container>\n} @else{\n<ng-container [ngTemplateOutlet]=\"default\"></ng-container>\n\n}\n<ng-template #custom>\n <ng-content select='ax-color-palette-preview'></ng-content>\n <ng-content select='ax-color-palette-picker'></ng-content>\n <ng-content select='ax-color-palette-swatches'></ng-content>\n <ng-content select='ax-color-palette-favorite'></ng-content>\n <ng-content select='ax-color-palette-input'></ng-content>\n</ng-template>\n<ng-template #default>\n <ax-color-palette-preview></ax-color-palette-preview>\n <ax-color-palette-picker></ax-color-palette-picker>\n <ax-color-palette-swatches></ax-color-palette-swatches>\n <ax-color-palette-input></ax-color-palette-input>\n</ng-template>\n<ng-content select='ax-footer'></ng-content>", styles: ["ax-color-palette{display:flex;width:100%;flex-direction:column;border-radius:var(--ax-rounded-border-default);border-color:rgba(var(--ax-color-border-default));background-color:rgba(var(--ax-color-surface))}@media (min-width: 768px){ax-color-palette{width:20rem}}ax-color-palette.ax-state-disabled{cursor:not-allowed;opacity:.5}ax-color-palette.ax-state-disabled ax-color-palette-swatches div:hover,ax-color-palette.ax-state-disabled ax-color-palette-swatches div.ax-state-selected,ax-color-palette.ax-state-disabled ax-color-palette-favorite div:hover,ax-color-palette.ax-state-disabled ax-color-palette-favorite div.ax-state-selected{cursor:not-allowed;opacity:.5}ax-color-palette ax-header,ax-color-palette ax-footer{display:flex;border-top-width:1px;border-color:rgba(var(--ax-color-border-default));padding:.75rem}ax-color-palette ax-color-palette-preview{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAADFJREFUOE9jZGBgEGHAD97gk2YcNYBhmIQBgWSAP52AwoAQwJvQRg1gACckQoC2gQgAIF8IscwEtKYAAAAASUVORK5CYII=) left center;position:relative;height:6rem;width:100%;gap:.5rem;border-top-left-radius:var(--ax-rounded-border-default);border-top-right-radius:var(--ax-rounded-border-default)}ax-color-palette ax-color-palette-preview .palette-preview-overlay{position:absolute;inset-inline-start:0px;display:flex;height:100%;width:100%;align-items:center;justify-content:center;border-bottom-width:1px;border-color:rgba(var(--ax-color-border-default));text-transform:uppercase}ax-color-palette ax-color-palette-favorite{display:block;border-top-width:1px;border-color:rgba(var(--ax-color-border-default))}ax-color-palette ax-color-palette-swatches,ax-color-palette ax-color-palette-favorite{display:grid;max-height:9rem;grid-template-columns:repeat(10,minmax(0,1fr));gap:.5rem;overflow-y:auto;overflow-x:hidden;padding:.5rem}ax-color-palette ax-color-palette-swatches div,ax-color-palette ax-color-palette-favorite div{position:relative;display:flex;cursor:pointer;align-items:center;justify-content:center;border-radius:9999px;border-width:1px;border-color:rgba(var(--ax-color-border-default))}ax-color-palette ax-color-palette-swatches div:before,ax-color-palette ax-color-palette-swatches div:after,ax-color-palette ax-color-palette-favorite div:before,ax-color-palette ax-color-palette-favorite div:after{content:\"\"}ax-color-palette ax-color-palette-swatches div:before,ax-color-palette ax-color-palette-favorite div:before{float:left;padding-top:100%}ax-color-palette ax-color-palette-swatches div:after,ax-color-palette ax-color-palette-favorite div:after{clear:both;display:block}ax-color-palette ax-color-palette-swatches div:hover,ax-color-palette ax-color-palette-swatches div.ax-state-selected,ax-color-palette ax-color-palette-favorite div:hover,ax-color-palette ax-color-palette-favorite div.ax-state-selected{box-shadow:0 0 0 1px rgba(var(--ax-color-white)),0 0 0 3px rgba(var(--ax-color-black))}ax-color-palette ax-color-palette-input{display:flex;gap:.5rem;padding:.5rem}ax-color-palette ax-color-palette-input .palette-inputs{display:flex;flex:1 1 0%;gap:.5rem}ax-color-palette ax-color-palette-input .palette-inputs div{width:100%;text-align:center}ax-color-palette ax-color-palette-input .palette-inputs div label{margin-top:.75rem;font-size:.75rem;line-height:1rem}ax-color-palette ax-color-palette-input .palette-inputs .ax-editor-container .ax-input{padding:0}ax-color-palette ax-color-palette-picker{display:flex;flex-direction:column;gap:.5rem;padding:.5rem}ax-color-palette ax-color-palette-picker .ax-color-box-overlay-trans{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAADFJREFUOE9jZGBgEGHAD97gk2YcNYBhmIQBgWSAP52AwoAQwJvQRg1gACckQoC2gQgAIF8IscwEtKYAAAAASUVORK5CYII=)}ax-color-palette ax-color-palette-picker .ax-color-box-overlay{position:relative;display:flex;height:8rem;width:100%}ax-color-palette ax-color-palette-picker .ax-color-box-overlay .ax-color-box-pointer{position:relative;z-index:10;height:.75rem;width:.75rem;border-radius:9999px;border-width:1px;border-color:rgba(var(--ax-color-border-default));background-color:transparent}ax-color-palette ax-color-palette-picker .ax-color-box-overlay .ax-color-box-overlay-g1,ax-color-palette ax-color-palette-picker .ax-color-box-overlay .ax-color-box-overlay-g2{position:absolute;bottom:0;inset-inline-end:0px;inset-inline-start:0px;top:0;height:100%;width:100%}ax-color-palette ax-color-palette-picker .ax-color-box-overlay .ax-color-box-overlay-g1{background:linear-gradient(to right,#fff,#fff0);z-index:0}ax-color-palette ax-color-palette-picker .ax-color-box-overlay .ax-color-box-overlay-g2{z-index:10;background:linear-gradient(to bottom,transparent 0%,#000 100%)}ax-color-palette ax-color-palette-picker ax-range-slider.ax-color-box-gradient .ax-range-slider-bar{background:linear-gradient(to right,red,#ff0 17%,#0f0 33%,#0ff,#00f 67%,#f0f 83%,red)}ax-color-palette ax-color-palette-picker ax-range-slider.ax-color-box-gradient .ax-range-slider-highlight{background:transparent!important}ax-color-palette ax-color-palette-picker ax-range-slider.ax-color-box-gradient .ax-range-slider-handler{background:#fff!important;border:1px solid lightgray!important}ax-color-palette ax-color-palette-picker ax-range-slider.ax-color-box-transparent .ax-range-slider-bar{background-image:linear-gradient(to right,#f5f6fc00,#000),url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAADFJREFUOE9jZGBgEGHAD97gk2YcNYBhmIQBgWSAP52AwoAQwJvQRg1gACckQoC2gQgAIF8IscwEtKYAAAAASUVORK5CYII=)}ax-color-palette ax-color-palette-picker ax-range-slider.ax-color-box-transparent .ax-range-slider-highlight{background:transparent!important}\n"] }]
51
51
  }], propDecorators: { _children: [{
52
52
  type: ContentChildren,
53
53
  args: [AXColorPaletteChildComponent]
@@ -223,4 +223,4 @@ export class MXValueComponent extends MXInteractiveComponent {
223
223
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: MXValueComponent, decorators: [{
224
224
  type: Injectable
225
225
  }] });
226
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUtY29tcG9uZW50LmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvbW1vbi9zcmMvbGliL2NvbXBvbmVudHMvdmFsdWUtY29tcG9uZW50LmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsbUJBQW1CLEVBQXVCLE1BQU0seUJBQXlCLENBQUM7QUFDbkYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpFLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJNUIsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0JBQStCLENBQUM7O0FBR3ZFLE1BQU0sT0FBTyxnQkFBMEIsU0FBUSxzQkFBc0I7SUFEckU7O1FBRUU7OztXQUdHO1FBQ0gsbUJBQWMsR0FBMkMsSUFBSSxZQUFZLEVBQTRCLENBQUM7UUFFdEc7O1dBRUc7UUFDSCxnQkFBVyxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBRXpELG1CQUFjLEdBQTBCLElBQUksWUFBWSxFQUFXLENBQUM7UUFDNUQsY0FBUyxHQUFHLEtBQUssQ0FBQztRQTBCbEIsV0FBTSxHQUFHLEtBQUssQ0FBQztRQVNmLHVCQUFrQixHQUFHLEtBQUssQ0FBQztRQTBCbkMsZ0JBQVcsR0FBbUMsSUFBSSxZQUFZLEVBQW9CLENBQUM7UUFFM0UsV0FBTSxHQUFxQixPQUFPLENBQUM7UUFzRG5DLHNCQUFpQixHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBRWpELDBC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SSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQztRQUNqQyxDQUFDO1FBQ0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQsS0FBSyxDQUFDLENBQUMsR0FBRyxLQUFLO1FBQ2IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3pCLENBQUM7OEdBcFBVLGdCQUFnQjtrSEFBaEIsZ0JBQWdCOzsyRkFBaEIsZ0JBQWdCO2tCQUQ1QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNCcm93c2VyIH0gZnJvbSAnQGFjb3JleC9jb3JlL3BsYXRmb3JtJztcbmltcG9ydCB7IEFYVmFsaWRhdGlvblNlcnZpY2UsIEFYVmFsaWRhdGlvblN1bW1hcnkgfSBmcm9tICdAYWNvcmV4L2NvcmUvdmFsaWRhdGlvbic7XG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgY2xvbmUsIGlzRXF1YWwgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgbm9vcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQVhGb3JtVmFsaWRhdGlvblJ1bGUgfSBmcm9tICcuLi9jbGFzc2VzL2NvbXBvbmVudHMuY2xhc3MnO1xuaW1wb3J0IHsgQVhWYWx1ZUNoYW5nZWRFdmVudCB9IGZyb20gJy4uL2NsYXNzZXMvZXZlbnRzLmNsYXNzJztcbmltcG9ydCB7IEFYQ29tcG9uZW50U3RhdGUgfSBmcm9tICcuL2Jhc2UtY29tcG9uZW50LmNsYXNzJztcbmltcG9ydCB7IE1YSW50ZXJhY3RpdmVDb21wb25lbnQgfSBmcm9tICcuL2ludGVyYWN0aXZlLWNvbXBvbmVudC5jbGFzcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNWFZhbHVlQ29tcG9uZW50PFQgPSBhbnk+IGV4dGVuZHMgTVhJbnRlcmFjdGl2ZUNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgLyoqXG4gICAqICBGaXJlcyBlYWNoIHRpbWUgdGhlIHVzZXIgcHJlc3MgYSBrZXkuXG4gICAqICBAZXZlbnRcbiAgICovXG4gIG9uVmFsdWVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8QVhWYWx1ZUNoYW5nZWRFdmVudDxhbnk+PiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhWYWx1ZUNoYW5nZWRFdmVudDxhbnk+PigpO1xuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBUaGUgZXZlbnQgc2hvdWxkIG5vdCBiZSB1c2VkLCB1c2UgbmdNb2RlbENoYW5nZSBpbnN0ZWFkXG4gICAqL1xuICB2YWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICByZWFkb25seUNoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBwcml2YXRlIF9yZWFkb25seSA9IGZhbHNlO1xuICAvKipcbiAgICogIElmIHNldCB0byB0cnVlLCB1c2VyIGNhbm5vdCBjaGFuZ2UgdGhlIHZhbHVlIG9mIGNvbXBvbmVudC5cbiAgICovXG4gIGdldCByZWFkb25seSgpIHtcbiAgICByZXR1cm4gdGhpcy5fcmVhZG9ubHk7XG4gIH1cbiAgc2V0IHJlYWRvbmx5KHZhbHVlOiBib29sZWFuKSB7XG4gICAgdmFsdWUgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIHRoaXMuc2V0T3B0aW9uKHtcbiAgICAgIG5hbWU6ICdyZWFkb25seScsXG4gICAgICB2YWx1ZSxcbiAgICAgIGFmdGVyQ2FsbGJhY2s6ICgpID0+IHtcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfbmFtZTogc3RyaW5nO1xuICBnZXQgbmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fbmFtZTtcbiAgfVxuICBzZXQgbmFtZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fbmFtZSA9IHZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBfZGlydHkgPSBmYWxzZTtcbiAgcHVibGljIGdldCBkaXJ0eSgpIHtcbiAgICByZXR1cm4gdGhpcy5fZGlydHk7XG4gIH1cblxuICBtYXJrQXNEaXJ0eSgpIHtcbiAgICB0aGlzLl9kaXJ0eSA9IHRydWU7XG4gIH1cblxuICBwcml2YXRlIF9pc1VzZXJJbnRlcmFjdGlvbiA9IGZhbHNlO1xuXG4gIGluaXRWYWx1ZTogVDtcbiAgZGVmYXVsdFZhbHVlOiBUO1xuXG4gIHByaXZhdGUgX3ZhbHVlOiBUO1xuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgVGhlIHByb3BlcnR5IHNob3VsZCBub3QgYmUgdXNlZCwgdXNlIG5nTW9kZWwgaW5zdGVhZFxuICAgKi9cbiAgZ2V0IHZhbHVlKCk6IFQge1xuICAgIHJldHVybiB0aGlzLmludGVybmFsR2V0VmFsdWUodGhpcy5fdmFsdWUpID8/IHRoaXMuZGVmYXVsdFZhbHVlO1xuICB9XG4gIHNldCB2YWx1ZSh2OiBUKSB7XG4gICAgdiA9IHRoaXMuaW50ZXJuYWxTZXRWYWx1ZSh2KTtcbiAgICBjb25zdCBvbGQgPSBjbG9uZSh0aGlzLnZhbHVlKTtcbiAgICBpZiAoIWlzRXF1YWwob2xkLCB2KSkge1xuICAgICAgdGhpcy5fdmFsdWUgPSB2O1xuICAgICAgdGhpcy5lbWl0T25WYWx1ZUNoYW5nZWRFdmVudChvbGQsIHRoaXMudmFsdWUpO1xuXG4gICAgICB0aGlzLmludGVybmFsVmFsdWVDaGFuZ2VkKHRoaXMudmFsdWUpO1xuICAgIH1cbiAgICBpZiAodiA9PSBudWxsIHx8IHYgPT0gdW5kZWZpbmVkIHx8IHYgPT0gJycgfHwgKEFycmF5LmlzQXJyYXkodikgJiYgdi5sZW5ndGggPT0gMCkpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoJ2NsZWFyJyk7XG4gICAgfVxuICB9XG5cbiAgc3RhdGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxBWENvbXBvbmVudFN0YXRlPiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhDb21wb25lbnRTdGF0ZT4oKTtcblxuICBwcml2YXRlIF9zdGF0ZTogQVhDb21wb25lbnRTdGF0ZSA9ICdjbGVhcic7XG5cbiAgZ2V0IHN0YXRlKCk6IEFYQ29tcG9uZW50U3RhdGUge1xuICAgIHJldHVybiB0aGlzLl9zdGF0ZTtcbiAgfVxuXG4gIHNldCBzdGF0ZSh2YWx1ZTogQVhDb21wb25lbnRTdGF0ZSkge1xuICAgIHRoaXMuc2V0U3RhdGUodmFsdWUpO1xuICAgIHRoaXMuc3RhdGVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZW1pdE9uVmFsdWVDaGFuZ2VkRXZlbnQob2xkVmFsdWU/OiBhbnksIG5ld1ZhbHVlPzogYW55KSB7XG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KG5ld1ZhbHVlKTtcbiAgICB0aGlzLm9uVmFsdWVDaGFuZ2VkLmVtaXQoe1xuICAgICAgY29tcG9uZW50OiB0aGlzLFxuICAgICAgdmFsdWU6IG5ld1ZhbHVlLFxuICAgICAgb2xkVmFsdWU6IG9sZFZhbHVlLFxuICAgICAgbmFtZTogdGhpcy5uYW1lLFxuICAgICAgaXNVc2VySW50ZXJhY3Rpb246IHRoaXMuX2lzVXNlckludGVyYWN0aW9uLFxuICAgIH0pO1xuICAgIHRoaXMub25DaGFuZ2VDYWxsYmFjayhuZXdWYWx1ZSk7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgdGhpcy5faXNVc2VySW50ZXJhY3Rpb24gPSBmYWxzZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBpbnRlcm5hbFNldFZhbHVlKHZhbHVlOiBhbnkpOiBUIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBwcm90ZWN0ZWQgaW50ZXJuYWxHZXRWYWx1ZSh2YWx1ZTogYW55KTogVCB7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGludGVybmFsVmFsdWVDaGFuZ2VkKHZhbHVlOiBhbnkpOiB2b2lkIHt9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgLy9cbiAgICB0aGlzLnJlZ2lzdGVyVmFsaWRhdGlvbigpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMub25WYWx1ZUNoYW5nZWQ/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5vbk9wdGlvbkNoYW5nZWQ/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVnaXN0ZXJWYWxpZGF0aW9uKCkge1xuICAgIGNvbnN0IGEgPSB0aGlzLmdldEhvc3RFbGVtZW50KCkucXVlcnlTZWxlY3RvckFsbCgnW2F4LWZvcm0taXRlbT1cInRydWVcIl0nKTtcbiAgICBhLmZvckVhY2goKGMpID0+IHtcbiAgICAgIGMucmVtb3ZlQXR0cmlidXRlKCdheC1mb3JtLWl0ZW0nKTtcbiAgICB9KTtcbiAgICB0aGlzLmdldEhvc3RFbGVtZW50KCkuc2V0QXR0cmlidXRlKCdheC1mb3JtLWl0ZW0nLCAndHJ1ZScpO1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0aW9uU2VydmljZSA9IGluamVjdChBWFZhbGlkYXRpb25TZXJ2aWNlKTtcblxuICBwdWJsaWMgdmFsaWRhdGlvblJ1bGVzQ2hhbmdlOiBFdmVudEVtaXR0ZXI8QVhGb3JtVmFsaWRhdGlvblJ1bGVbXT4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYRm9ybVZhbGlkYXRpb25SdWxlW10+KCk7XG4gIHByaXZhdGUgdmFsaWRhdGlvblJ1bGVzOiBBWEZvcm1WYWxpZGF0aW9uUnVsZVtdID0gW107XG5cbiAgcHVibGljIGdldCBpc1JlcXVpcmVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnZhbGlkYXRpb25SdWxlcz8uc29tZSgoYykgPT4gYy5ydWxlID09ICdyZXF1aXJlZCcpO1xuICB9XG5cbiAgYWRkVmFsaWRhdGlvblJ1bGUocnVsZTogQVhGb3JtVmFsaWRhdGlvblJ1bGUpIHtcbiAgICB0aGlzLnZhbGlkYXRpb25SdWxlcy5wdXNoKHJ1bGUpO1xuICAgIHRoaXMudmFsaWRhdGlvblJ1bGVzQ2hhbmdlLmVtaXQodGhpcy52YWxpZGF0aW9uUnVsZXMpO1xuICB9XG5cbiAgcmVtb3ZlVmFsaWRhdGlvblJ1bGUocnVsZTogQVhGb3JtVmFsaWRhdGlvblJ1bGUpIHtcbiAgICB0aGlzLnZhbGlkYXRpb25SdWxlcyA9IHRoaXMudmFsaWRhdGlvblJ1bGVzLmZpbHRlcigocikgPT4gci5ydWxlICE9PSBydWxlLnJ1bGUgfHwgIWlzRXF1YWwoci5vcHRpb25zLCBydWxlLm9wdGlvbnMpKTtcbiAgICB0aGlzLnZhbGlkYXRpb25SdWxlc0NoYW5nZS5lbWl0KHRoaXMudmFsaWRhdGlvblJ1bGVzKTtcbiAgfVxuXG4gIGFzeW5jIHZhbGlkYXRlKCk6IFByb21pc2U8QVhWYWxpZGF0aW9uU3VtbWFyeT4ge1xuICAgIGNvbnN0IGNvbnRhaW5lcl9jbGFzc2VzID0gWydheC1lZGl0b3ItY29udGFpbmVyJywgJ2F4LWNoZWNrYm94JywgJ2F4LXJhZGlvJ107XG4gICAgY29uc3QgY29udGFpbmVyID0gY29udGFpbmVyX2NsYXNzZXMuc29tZSgoYykgPT4gdGhpcy5nZXRIb3N0RWxlbWVudCgpLmNsYXNzTGlzdC5jb250YWlucyhjKSlcbiAgICAgID8gdGhpcy5nZXRIb3N0RWxlbWVudCgpXG4gICAgICA6IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yKCcuYXgtZWRpdG9yLWNvbnRhaW5lcicpO1xuICAgIGNvbnN0IGZvcm1GaWVsZCA9IGNvbnRhaW5lcj8uY2xvc2VzdCgnYXgtZm9ybS1maWVsZCcpIHx8IGNvbnRhaW5lcj8uY2xvc2VzdCgnYXgtY2hlY2tib3gnKTtcbiAgICBjb25zdCBsYWJlbCA9IGZvcm1GaWVsZD8ucXVlcnlTZWxlY3RvcignYXgtbGFiZWwnKSB8fCBmb3JtRmllbGQ/LnF1ZXJ5U2VsZWN0b3IoJ2xhYmVsJyk7XG4gICAgLy9cbiAgICBjb25zdCBydWxlcyA9IHRoaXMudmFsaWRhdGlvblNlcnZpY2UucnVsZUZvcih0aGlzLnZhbHVlKTtcbiAgICB0aGlzLnZhbGlkYXRpb25SdWxlcy5mb3JFYWNoKChyKSA9PiB7XG4gICAgICByLm9wdGlvbnNbJ3RpdGxlJ10gPSAobGFiZWw/LmZpcnN0Q2hpbGQ/LnRleHRDb250ZW50ID8/IHRoaXMubmFtZSk/LnJlcGxhY2UoJyonLCAnJykudHJpbSgpO1xuICAgICAgcnVsZXMuYWRkUnVsZShyLnJ1bGUgYXMgYW55LCByLm9wdGlvbnMpO1xuICAgIH0pO1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHJ1bGVzLnZhbGlkYXRlKCk7XG4gICAgaWYgKHJlc3VsdC5yZXN1bHQpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoJ2NsZWFyJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSByZXN1bHQucnVsZXMuZmluZCgoYykgPT4gIWMucmVzdWx0KS5tZXNzYWdlO1xuICAgICAgdGhpcy5zZXRTdGF0ZSgnZXJyb3InLCBtZXNzYWdlKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXRTdGF0ZShzdGF0ZTogQVhDb21wb25lbnRTdGF0ZSwgLi4uYXJncykge1xuICAgIC8vVE9ETzogZmluZCBhIGJldHRlciBzb2x1dGlvblxuICAgIGlmIChpc0Jyb3dzZXIoKSkge1xuICAgICAgY29uc3QgY29udGFpbmVyID0gdGhpcy5nZXRIb3N0RWxlbWVudCgpLmNsYXNzTGlzdC5jb250YWlucygnYXgtZWRpdG9yLWNvbnRhaW5lcicpXG4gICAgICAgID8gdGhpcy5nZXRIb3N0RWxlbWVudCgpXG4gICAgICAgIDogdGhpcy5nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3IoJy5heC1lZGl0b3ItY29udGFpbmVyJyk7XG4gICAgICBjb25zdCBmb3JtRmllbGQgPSBjb250YWluZXI/LmNsb3Nlc3QoJ2F4LWZvcm0tZmllbGQnKTtcbiAgICAgIGNvbnN0IGxhYmVsID0gZm9ybUZpZWxkPy5xdWVyeVNlbGVjdG9yKCdheC1sYWJlbCcpIHx8IGZvcm1GaWVsZD8ucXVlcnlTZWxlY3RvcignbGFiZWwnKTtcbiAgICAgIGxldCB0YXJnZXQgPSBjb250YWluZXIgfHwgdGhpcy5nZXRIb3N0RWxlbWVudCgpLmZpcnN0RWxlbWVudENoaWxkO1xuICAgICAgaWYgKHRhcmdldD8ucXVlcnlTZWxlY3RvcignLmF4LWVycm9yLWNvbnRhaW5lcicpKSB7XG4gICAgICAgIHRhcmdldCA9IHRhcmdldC5xdWVyeVNlbGVjdG9yKCcuYXgtZXJyb3ItY29udGFpbmVyJyk7XG4gICAgICB9XG4gICAgICBjb25zdCBwYXJlbnQgPSB0YXJnZXQ/LnBhcmVudEVsZW1lbnQ7XG4gICAgICBpZiAoIXRhcmdldCB8fCAhcGFyZW50KSByZXR1cm47XG5cbiAgICAgIHN3aXRjaCAoc3RhdGUpIHtcbiAgICAgICAgY2FzZSAnY2xlYXInOlxuICAgICAgICAgIHRoaXMuX3N0YXRlID0gJ2NsZWFyJztcbiAgICAgICAgICBpZiAocGFyZW50LnF1ZXJ5U2VsZWN0b3IoJ3NwYW4uYXgtZXJyb3ItbWVzc2FnZScpKSB7XG4gICAgICAgICAgICBwYXJlbnQucmVtb3ZlQ2hpbGQocGFyZW50LnF1ZXJ5U2VsZWN0b3IoJ3NwYW4uYXgtZXJyb3ItbWVzc2FnZScpISk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGxhYmVsPy5jbGFzc0xpc3QucmVtb3ZlKCdheC1zdGF0ZS1lcnJvcicpO1xuICAgICAgICAgIHRhcmdldC5jbGFzc0xpc3QucmVtb3ZlKCdheC1zdGF0ZS1lcnJvcicsICdheC1zdGF0ZS1zdWNjZXNzJyk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ3N1Y2Nlc3MnOlxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoJ2NsZWFyJyk7XG4gICAgICAgICAgdGFyZ2V0LmNsYXNzTGlzdC5hZGQoJ2F4LXN0YXRlLXN1Y2Nlc3MnKTtcbiAgICAgICAgICB0aGlzLl9zdGF0ZSA9ICdzdWNjZXNzJztcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnZXJyb3InOlxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoJ2NsZWFyJyk7XG4gICAgICAgICAgaWYgKGFyZ3NbMF0pIHtcbiAgICAgICAgICAgIGNvbnN0IHNwYW4gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XG4gICAgICAgICAgICBzcGFuLmlubmVySFRNTCA9IGFyZ3NbMF07XG4gICAgICAgICAgICBzcGFuLmNsYXNzTGlzdC5hZGQoJ2F4LWVycm9yLW1lc3NhZ2UnKTtcbiAgICAgICAgICAgIHBhcmVudC5hcHBlbmRDaGlsZChzcGFuKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgbGFiZWw/LmNsYXNzTGlzdC5hZGQoJ2F4LXN0YXRlLWVycm9yJyk7XG4gICAgICAgICAgdGFyZ2V0LmNsYXNzTGlzdC5hZGQoJ2F4LXN0YXRlLWVycm9yJyk7XG5cbiAgICAgICAgICB0aGlzLl9zdGF0ZSA9ICdlcnJvcic7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb25DaGFuZ2VDYWxsYmFjazogKHZhbHVlOiBUKSA9PiB2b2lkID0gbm9vcDtcblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IFQpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlQ2FsbGJhY2sgPSBmbjtcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IFQpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgY29tbWl0VmFsdWUodmFsdWU6IFQsIHUgPSBmYWxzZSkge1xuICAgIGlmICh1KSB7XG4gICAgICB0aGlzLm1hcmtBc1RvdWNoZWQoKTtcbiAgICAgIHRoaXMubWFya0FzRGlydHkoKTtcbiAgICAgIHRoaXMuX2lzVXNlckludGVyYWN0aW9uID0gdHJ1ZTtcbiAgICB9XG4gICAgdGhpcy53cml0ZVZhbHVlKHZhbHVlKTtcbiAgfVxuXG4gIHJlc2V0KGUgPSBmYWxzZSkge1xuICAgIHRoaXMuY29tbWl0VmFsdWUobnVsbCwgZSk7XG4gIH1cblxuICByZXNldEVycm9ycygpIHtcbiAgICB0aGlzLnNldFN0YXRlKCdjbGVhcicpO1xuICB9XG59XG4iXX0=
226
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUtY29tcG9uZW50LmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvbW1vbi9zcmMvbGliL2NvbXBvbmVudHMvdmFsdWUtY29tcG9uZW50LmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsbUJBQW1CLEVBQXVCLE1BQU0seUJBQXlCLENBQUM7QUFDbkYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpFLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJNUIsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0JBQStCLENBQUM7O0FBR3ZFLE1BQU0sT0FBTyxnQkFBMEIsU0FBUSxzQkFBc0I7SUFEckU7O1FBRUU7OztXQUdHO1FBQ0gsbUJBQWMsR0FBMkMsSUFBSSxZQUFZLEVBQTRCLENBQUM7UUFFdEc7O1dBRUc7UUFDSCxnQkFBVyxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBRXpELG1CQUFjLEdBQTBCLElBQUksWUFBWSxFQUFXLENBQUM7UUFDNUQsY0FBUyxHQUFHLEtBQUssQ0FBQztRQTBCbEIsV0FBTSxHQUFHLEtBQUssQ0FBQztRQVNmLHVCQUFrQixHQUFHLEtBQUssQ0FBQztRQTBCbkMsZ0JBQVcsR0FBbUMsSUFBSSxZQUFZLEVBQW9CLENBQUM7UUFFM0UsV0FBTSxHQUFxQixPQUFPLENBQUM7UUFzRG5DLHNCQUFpQixHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBRWpELDBC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SSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQztRQUNqQyxDQUFDO1FBQ0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQsS0FBSyxDQUFDLENBQUMsR0FBRyxLQUFLO1FBQ2IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3pCLENBQUM7OEdBeFBVLGdCQUFnQjtrSEFBaEIsZ0JBQWdCOzsyRkFBaEIsZ0JBQWdCO2tCQUQ1QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNCcm93c2VyIH0gZnJvbSAnQGFjb3JleC9jb3JlL3BsYXRmb3JtJztcbmltcG9ydCB7IEFYVmFsaWRhdGlvblNlcnZpY2UsIEFYVmFsaWRhdGlvblN1bW1hcnkgfSBmcm9tICdAYWNvcmV4L2NvcmUvdmFsaWRhdGlvbic7XG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgY2xvbmUsIGlzRXF1YWwgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgbm9vcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQVhGb3JtVmFsaWRhdGlvblJ1bGUgfSBmcm9tICcuLi9jbGFzc2VzL2NvbXBvbmVudHMuY2xhc3MnO1xuaW1wb3J0IHsgQVhWYWx1ZUNoYW5nZWRFdmVudCB9IGZyb20gJy4uL2NsYXNzZXMvZXZlbnRzLmNsYXNzJztcbmltcG9ydCB7IEFYQ29tcG9uZW50U3RhdGUgfSBmcm9tICcuL2Jhc2UtY29tcG9uZW50LmNsYXNzJztcbmltcG9ydCB7IE1YSW50ZXJhY3RpdmVDb21wb25lbnQgfSBmcm9tICcuL2ludGVyYWN0aXZlLWNvbXBvbmVudC5jbGFzcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNWFZhbHVlQ29tcG9uZW50PFQgPSBhbnk+IGV4dGVuZHMgTVhJbnRlcmFjdGl2ZUNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgLyoqXG4gICAqICBGaXJlcyBlYWNoIHRpbWUgdGhlIHVzZXIgcHJlc3MgYSBrZXkuXG4gICAqICBAZXZlbnRcbiAgICovXG4gIG9uVmFsdWVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8QVhWYWx1ZUNoYW5nZWRFdmVudDxhbnk+PiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhWYWx1ZUNoYW5nZWRFdmVudDxhbnk+PigpO1xuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBUaGUgZXZlbnQgc2hvdWxkIG5vdCBiZSB1c2VkLCB1c2UgbmdNb2RlbENoYW5nZSBpbnN0ZWFkXG4gICAqL1xuICB2YWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICByZWFkb25seUNoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBwcml2YXRlIF9yZWFkb25seSA9IGZhbHNlO1xuICAvKipcbiAgICogIElmIHNldCB0byB0cnVlLCB1c2VyIGNhbm5vdCBjaGFuZ2UgdGhlIHZhbHVlIG9mIGNvbXBvbmVudC5cbiAgICovXG4gIGdldCByZWFkb25seSgpIHtcbiAgICByZXR1cm4gdGhpcy5fcmVhZG9ubHk7XG4gIH1cbiAgc2V0IHJlYWRvbmx5KHZhbHVlOiBib29sZWFuKSB7XG4gICAgdmFsdWUgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIHRoaXMuc2V0T3B0aW9uKHtcbiAgICAgIG5hbWU6ICdyZWFkb25seScsXG4gICAgICB2YWx1ZSxcbiAgICAgIGFmdGVyQ2FsbGJhY2s6ICgpID0+IHtcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfbmFtZTogc3RyaW5nO1xuICBnZXQgbmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fbmFtZTtcbiAgfVxuICBzZXQgbmFtZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fbmFtZSA9IHZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBfZGlydHkgPSBmYWxzZTtcbiAgcHVibGljIGdldCBkaXJ0eSgpIHtcbiAgICByZXR1cm4gdGhpcy5fZGlydHk7XG4gIH1cblxuICBtYXJrQXNEaXJ0eSgpIHtcbiAgICB0aGlzLl9kaXJ0eSA9IHRydWU7XG4gIH1cblxuICBwcml2YXRlIF9pc1VzZXJJbnRlcmFjdGlvbiA9IGZhbHNlO1xuXG4gIGluaXRWYWx1ZTogVDtcbiAgZGVmYXVsdFZhbHVlOiBUO1xuXG4gIHByaXZhdGUgX3ZhbHVlOiBUO1xuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgVGhlIHByb3BlcnR5IHNob3VsZCBub3QgYmUgdXNlZCwgdXNlIG5nTW9kZWwgaW5zdGVhZFxuICAgKi9cbiAgZ2V0IHZhbHVlKCk6IFQge1xuICAgIHJldHVybiB0aGlzLmludGVybmFsR2V0VmFsdWUodGhpcy5fdmFsdWUpID8/IHRoaXMuZGVmYXVsdFZhbHVlO1xuICB9XG4gIHNldCB2YWx1ZSh2OiBUKSB7XG4gICAgdiA9IHRoaXMuaW50ZXJuYWxTZXRWYWx1ZSh2KTtcbiAgICBjb25zdCBvbGQgPSBjbG9uZSh0aGlzLnZhbHVlKTtcbiAgICBpZiAoIWlzRXF1YWwob2xkLCB2KSkge1xuICAgICAgdGhpcy5fdmFsdWUgPSB2O1xuICAgICAgdGhpcy5lbWl0T25WYWx1ZUNoYW5nZWRFdmVudChvbGQsIHRoaXMudmFsdWUpO1xuXG4gICAgICB0aGlzLmludGVybmFsVmFsdWVDaGFuZ2VkKHRoaXMudmFsdWUpO1xuICAgIH1cbiAgICBpZiAodiA9PSBudWxsIHx8IHYgPT0gdW5kZWZpbmVkIHx8IHYgPT0gJycgfHwgKEFycmF5LmlzQXJyYXkodikgJiYgdi5sZW5ndGggPT0gMCkpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoJ2NsZWFyJyk7XG4gICAgfVxuICB9XG5cbiAgc3RhdGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxBWENvbXBvbmVudFN0YXRlPiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhDb21wb25lbnRTdGF0ZT4oKTtcblxuICBwcml2YXRlIF9zdGF0ZTogQVhDb21wb25lbnRTdGF0ZSA9ICdjbGVhcic7XG5cbiAgZ2V0IHN0YXRlKCk6IEFYQ29tcG9uZW50U3RhdGUge1xuICAgIHJldHVybiB0aGlzLl9zdGF0ZTtcbiAgfVxuXG4gIHNldCBzdGF0ZSh2YWx1ZTogQVhDb21wb25lbnRTdGF0ZSkge1xuICAgIHRoaXMuc2V0U3RhdGUodmFsdWUpO1xuICAgIHRoaXMuc3RhdGVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZW1pdE9uVmFsdWVDaGFuZ2VkRXZlbnQob2xkVmFsdWU/OiBhbnksIG5ld1ZhbHVlPzogYW55KSB7XG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KG5ld1ZhbHVlKTtcbiAgICB0aGlzLm9uVmFsdWVDaGFuZ2VkLmVtaXQoe1xuICAgICAgY29tcG9uZW50OiB0aGlzLFxuICAgICAgdmFsdWU6IG5ld1ZhbHVlLFxuICAgICAgb2xkVmFsdWU6IG9sZFZhbHVlLFxuICAgICAgbmFtZTogdGhpcy5uYW1lLFxuICAgICAgaXNVc2VySW50ZXJhY3Rpb246IHRoaXMuX2lzVXNlckludGVyYWN0aW9uLFxuICAgIH0pO1xuICAgIHRoaXMub25DaGFuZ2VDYWxsYmFjayhuZXdWYWx1ZSk7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgdGhpcy5faXNVc2VySW50ZXJhY3Rpb24gPSBmYWxzZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBpbnRlcm5hbFNldFZhbHVlKHZhbHVlOiBhbnkpOiBUIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBwcm90ZWN0ZWQgaW50ZXJuYWxHZXRWYWx1ZSh2YWx1ZTogYW55KTogVCB7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGludGVybmFsVmFsdWVDaGFuZ2VkKHZhbHVlOiBhbnkpOiB2b2lkIHt9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgLy9cbiAgICB0aGlzLnJlZ2lzdGVyVmFsaWRhdGlvbigpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMub25WYWx1ZUNoYW5nZWQ/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5vbk9wdGlvbkNoYW5nZWQ/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVnaXN0ZXJWYWxpZGF0aW9uKCkge1xuICAgIGNvbnN0IGEgPSB0aGlzLmdldEhvc3RFbGVtZW50KCkucXVlcnlTZWxlY3RvckFsbCgnW2F4LWZvcm0taXRlbT1cInRydWVcIl0nKTtcbiAgICBhLmZvckVhY2goKGMpID0+IHtcbiAgICAgIGMucmVtb3ZlQXR0cmlidXRlKCdheC1mb3JtLWl0ZW0nKTtcbiAgICB9KTtcbiAgICB0aGlzLmdldEhvc3RFbGVtZW50KCkuc2V0QXR0cmlidXRlKCdheC1mb3JtLWl0ZW0nLCAndHJ1ZScpO1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0aW9uU2VydmljZSA9IGluamVjdChBWFZhbGlkYXRpb25TZXJ2aWNlKTtcblxuICBwdWJsaWMgdmFsaWRhdGlvblJ1bGVzQ2hhbmdlOiBFdmVudEVtaXR0ZXI8QVhGb3JtVmFsaWRhdGlvblJ1bGVbXT4gPSBuZXcgRXZlbnRFbWl0dGVyPFxuICAgIEFYRm9ybVZhbGlkYXRpb25SdWxlW11cbiAgPigpO1xuICBwcml2YXRlIHZhbGlkYXRpb25SdWxlczogQVhGb3JtVmFsaWRhdGlvblJ1bGVbXSA9IFtdO1xuXG4gIHB1YmxpYyBnZXQgaXNSZXF1aXJlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy52YWxpZGF0aW9uUnVsZXM/LnNvbWUoKGMpID0+IGMucnVsZSA9PSAncmVxdWlyZWQnKTtcbiAgfVxuXG4gIGFkZFZhbGlkYXRpb25SdWxlKHJ1bGU6IEFYRm9ybVZhbGlkYXRpb25SdWxlKSB7XG4gICAgdGhpcy52YWxpZGF0aW9uUnVsZXMucHVzaChydWxlKTtcbiAgICB0aGlzLnZhbGlkYXRpb25SdWxlc0NoYW5nZS5lbWl0KHRoaXMudmFsaWRhdGlvblJ1bGVzKTtcbiAgfVxuXG4gIHJlbW92ZVZhbGlkYXRpb25SdWxlKHJ1bGU6IEFYRm9ybVZhbGlkYXRpb25SdWxlKSB7XG4gICAgdGhpcy52YWxpZGF0aW9uUnVsZXMgPSB0aGlzLnZhbGlkYXRpb25SdWxlcy5maWx0ZXIoXG4gICAgICAocikgPT4gci5ydWxlICE9PSBydWxlLnJ1bGUgfHwgIWlzRXF1YWwoci5vcHRpb25zLCBydWxlLm9wdGlvbnMpLFxuICAgICk7XG4gICAgdGhpcy52YWxpZGF0aW9uUnVsZXNDaGFuZ2UuZW1pdCh0aGlzLnZhbGlkYXRpb25SdWxlcyk7XG4gIH1cblxuICBhc3luYyB2YWxpZGF0ZSgpOiBQcm9taXNlPEFYVmFsaWRhdGlvblN1bW1hcnk+IHtcbiAgICBjb25zdCBjb250YWluZXJfY2xhc3NlcyA9IFsnYXgtZWRpdG9yLWNvbnRhaW5lcicsICdheC1jaGVja2JveCcsICdheC1yYWRpbyddO1xuICAgIGNvbnN0IGNvbnRhaW5lciA9IGNvbnRhaW5lcl9jbGFzc2VzLnNvbWUoKGMpID0+IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5jbGFzc0xpc3QuY29udGFpbnMoYykpXG4gICAgICA/IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKVxuICAgICAgOiB0aGlzLmdldEhvc3RFbGVtZW50KCkucXVlcnlTZWxlY3RvcignLmF4LWVkaXRvci1jb250YWluZXInKTtcbiAgICBjb25zdCBmb3JtRmllbGQgPSBjb250YWluZXI/LmNsb3Nlc3QoJ2F4LWZvcm0tZmllbGQnKSB8fCBjb250YWluZXI/LmNsb3Nlc3QoJ2F4LWNoZWNrYm94Jyk7XG4gICAgY29uc3QgbGFiZWwgPSBmb3JtRmllbGQ/LnF1ZXJ5U2VsZWN0b3IoJ2F4LWxhYmVsJykgfHwgZm9ybUZpZWxkPy5xdWVyeVNlbGVjdG9yKCdsYWJlbCcpO1xuICAgIC8vXG4gICAgY29uc3QgcnVsZXMgPSB0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLnJ1bGVGb3IodGhpcy52YWx1ZSk7XG4gICAgdGhpcy52YWxpZGF0aW9uUnVsZXMuZm9yRWFjaCgocikgPT4ge1xuICAgICAgci5vcHRpb25zWyd0aXRsZSddID0gKGxhYmVsPy5maXJzdENoaWxkPy50ZXh0Q29udGVudCA/PyB0aGlzLm5hbWUpPy5yZXBsYWNlKCcqJywgJycpLnRyaW0oKTtcbiAgICAgIHJ1bGVzLmFkZFJ1bGUoci5ydWxlIGFzIGFueSwgci5vcHRpb25zKTtcbiAgICB9KTtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBydWxlcy52YWxpZGF0ZSgpO1xuICAgIGlmIChyZXN1bHQucmVzdWx0KSB7XG4gICAgICB0aGlzLnNldFN0YXRlKCdjbGVhcicpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBtZXNzYWdlID0gcmVzdWx0LnJ1bGVzLmZpbmQoKGMpID0+ICFjLnJlc3VsdCkubWVzc2FnZTtcbiAgICAgIHRoaXMuc2V0U3RhdGUoJ2Vycm9yJywgbWVzc2FnZSk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0U3RhdGUoc3RhdGU6IEFYQ29tcG9uZW50U3RhdGUsIC4uLmFyZ3MpIHtcbiAgICAvL1RPRE86IGZpbmQgYSBiZXR0ZXIgc29sdXRpb25cbiAgICBpZiAoaXNCcm93c2VyKCkpIHtcbiAgICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5jbGFzc0xpc3QuY29udGFpbnMoJ2F4LWVkaXRvci1jb250YWluZXInKVxuICAgICAgICA/IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKVxuICAgICAgICA6IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yKCcuYXgtZWRpdG9yLWNvbnRhaW5lcicpO1xuICAgICAgY29uc3QgZm9ybUZpZWxkID0gY29udGFpbmVyPy5jbG9zZXN0KCdheC1mb3JtLWZpZWxkJyk7XG4gICAgICBjb25zdCBsYWJlbCA9IGZvcm1GaWVsZD8ucXVlcnlTZWxlY3RvcignYXgtbGFiZWwnKSB8fCBmb3JtRmllbGQ/LnF1ZXJ5U2VsZWN0b3IoJ2xhYmVsJyk7XG4gICAgICBsZXQgdGFyZ2V0ID0gY29udGFpbmVyIHx8IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5maXJzdEVsZW1lbnRDaGlsZDtcbiAgICAgIGlmICh0YXJnZXQ/LnF1ZXJ5U2VsZWN0b3IoJy5heC1lcnJvci1jb250YWluZXInKSkge1xuICAgICAgICB0YXJnZXQgPSB0YXJnZXQucXVlcnlTZWxlY3RvcignLmF4LWVycm9yLWNvbnRhaW5lcicpO1xuICAgICAgfVxuICAgICAgY29uc3QgcGFyZW50ID0gdGFyZ2V0Py5wYXJlbnRFbGVtZW50O1xuICAgICAgaWYgKCF0YXJnZXQgfHwgIXBhcmVudCkgcmV0dXJuO1xuXG4gICAgICBzd2l0Y2ggKHN0YXRlKSB7XG4gICAgICAgIGNhc2UgJ2NsZWFyJzpcbiAgICAgICAgICB0aGlzLl9zdGF0ZSA9ICdjbGVhcic7XG4gICAgICAgICAgaWYgKHBhcmVudC5xdWVyeVNlbGVjdG9yKCdzcGFuLmF4LWVycm9yLW1lc3NhZ2UnKSkge1xuICAgICAgICAgICAgcGFyZW50LnJlbW92ZUNoaWxkKHBhcmVudC5xdWVyeVNlbGVjdG9yKCdzcGFuLmF4LWVycm9yLW1lc3NhZ2UnKSEpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBsYWJlbD8uY2xhc3NMaXN0LnJlbW92ZSgnYXgtc3RhdGUtZXJyb3InKTtcbiAgICAgICAgICB0YXJnZXQuY2xhc3NMaXN0LnJlbW92ZSgnYXgtc3RhdGUtZXJyb3InLCAnYXgtc3RhdGUtc3VjY2VzcycpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdzdWNjZXNzJzpcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKCdjbGVhcicpO1xuICAgICAgICAgIHRhcmdldC5jbGFzc0xpc3QuYWRkKCdheC1zdGF0ZS1zdWNjZXNzJyk7XG4gICAgICAgICAgdGhpcy5fc3RhdGUgPSAnc3VjY2Vzcyc7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2Vycm9yJzpcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKCdjbGVhcicpO1xuICAgICAgICAgIGlmIChhcmdzWzBdKSB7XG4gICAgICAgICAgICBjb25zdCBzcGFuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICAgICAgICAgICAgc3Bhbi5pbm5lckhUTUwgPSBhcmdzWzBdO1xuICAgICAgICAgICAgc3Bhbi5jbGFzc0xpc3QuYWRkKCdheC1lcnJvci1tZXNzYWdlJyk7XG4gICAgICAgICAgICBwYXJlbnQuYXBwZW5kQ2hpbGQoc3Bhbik7XG4gICAgICAgICAgfVxuICAgICAgICAgIGxhYmVsPy5jbGFzc0xpc3QuYWRkKCdheC1zdGF0ZS1lcnJvcicpO1xuICAgICAgICAgIHRhcmdldC5jbGFzc0xpc3QuYWRkKCdheC1zdGF0ZS1lcnJvcicpO1xuXG4gICAgICAgICAgdGhpcy5fc3RhdGUgPSAnZXJyb3InO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG9uQ2hhbmdlQ2FsbGJhY2s6ICh2YWx1ZTogVCkgPT4gdm9pZCA9IG5vb3A7XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBUKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrID0gZm47XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBUKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGNvbW1pdFZhbHVlKHZhbHVlOiBULCB1ID0gZmFsc2UpIHtcbiAgICBpZiAodSkge1xuICAgICAgdGhpcy5tYXJrQXNUb3VjaGVkKCk7XG4gICAgICB0aGlzLm1hcmtBc0RpcnR5KCk7XG4gICAgICB0aGlzLl9pc1VzZXJJbnRlcmFjdGlvbiA9IHRydWU7XG4gICAgfVxuICAgIHRoaXMud3JpdGVWYWx1ZSh2YWx1ZSk7XG4gIH1cblxuICByZXNldChlID0gZmFsc2UpIHtcbiAgICB0aGlzLmNvbW1pdFZhbHVlKG51bGwsIGUpO1xuICB9XG5cbiAgcmVzZXRFcnJvcnMoKSB7XG4gICAgdGhpcy5zZXRTdGF0ZSgnY2xlYXInKTtcbiAgfVxufVxuIl19
@@ -138,7 +138,7 @@ export class AXConversationMessageAudioComponent extends AXConversationMessageBa
138
138
  });
139
139
  }
140
140
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXConversationMessageAudioComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
141
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXConversationMessageAudioComponent, selector: "ax-conversation-message-audio", viewQueries: [{ propertyName: "audioTag", first: true, predicate: ["a"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<audio #a></audio>\n<ax-prefix>\n <div class=\"ax-time-rate\">\n @switch (audioState()) {\n @case ('paused') {\n {{ currentTimeFormat() | format: 'time-duration' | async }}\n }\n @case ('playing') {\n {{ currentTimeFormat() | format: 'time-duration' | async }}\n }\n @default {\n {{ durationFormat() | format: 'time-duration' | async }}\n }\n }\n <button class=\"ax-audio-speed\" (click)=\"handleRateClick()\">{{ audioRate() }}X</button>\n </div>\n</ax-prefix>\n<div class=\"ax-conversation-controller\">\n @switch (audioState()) {\n @case ('playing') {\n <button (click)=\"handlePauseClick()\">\n <i class=\"ax-icon ax-icon-pause\"></i>\n </button>\n }\n @case ('paused') {\n <button (click)=\"handlePlayClick()\">\n <i class=\"ax-icon ax-icon-play\"></i>\n </button>\n }\n }\n</div>\n<ax-range-slider\n class=\"ax-modify-bgSlider\"\n (onStart)=\"clickHandler($event)\"\n [max]=\"duration()\"\n [min]=\"0\"\n mode=\"single\"\n [values]=\"currentTime()\"\n color=\"secondary\"\n>\n</ax-range-slider>\n", styles: [".ax-time-rate button{margin-inline-start:.3rem;background-color:rgba(var(--ax-color-primary-fore));color:rgba(var(--ax-color-neutral-950));border-radius:.2rem;min-width:2rem}.ax-modify-bgSlider{width:14rem;margin:0 1rem}\n"], dependencies: [{ kind: "component", type: i1.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "component", type: i2.AXRangeSliderComponent, selector: "ax-range-slider", inputs: ["disabled", "readonly", "orientation", "color", "values", "mode", "min", "max", "step", "snap", "tooltipMode", "snapMode", "hasSnap", "hasLable", "hasTooltip"], outputs: ["onStart", "valuesChange"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.AXFormatPipe, name: "format" }], encapsulation: i0.ViewEncapsulation.None }); }
141
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXConversationMessageAudioComponent, selector: "ax-conversation-message-audio", viewQueries: [{ propertyName: "audioTag", first: true, predicate: ["a"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<audio #a></audio>\n<ax-prefix>\n <div class=\"ax-time-rate\">\n @switch (audioState()) {\n @case ('paused') {\n {{ currentTimeFormat() | format: 'time-duration' | async }}\n }\n @case ('playing') {\n {{ currentTimeFormat() | format: 'time-duration' | async }}\n }\n @default {\n {{ durationFormat() | format: 'time-duration' | async }}\n }\n }\n <button class=\"ax-audio-speed\" (click)=\"handleRateClick()\">{{ audioRate() }}X</button>\n </div>\n</ax-prefix>\n<div class=\"ax-conversation-controller\">\n @switch (audioState()) {\n @case ('playing') {\n <button (click)=\"handlePauseClick()\">\n <i class=\"ax-icon ax-icon-pause\"></i>\n </button>\n }\n @case ('paused') {\n <button (click)=\"handlePlayClick()\">\n <i class=\"ax-icon ax-icon-play\"></i>\n </button>\n }\n }\n</div>\n<ax-range-slider\n class=\"ax-modify-bgSlider\"\n (onStart)=\"clickHandler($event)\"\n [max]=\"duration()\"\n [min]=\"0\"\n mode=\"single\"\n [values]=\"currentTime()\"\n color=\"secondary\"\n>\n</ax-range-slider>\n", styles: [".ax-time-rate button{margin-inline-start:.3rem;background-color:rgba(var(--ax-color-primary-fore));color:rgba(var(--ax-color-neutral-950));border-radius:.2rem;min-width:2rem}.ax-modify-bgSlider{width:14rem;margin:0 1rem}\n"], dependencies: [{ kind: "component", type: i1.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "component", type: i2.AXRangeSliderComponent, selector: "ax-range-slider", inputs: ["disabled", "readonly", "orientation", "color", "values", "mode", "min", "max", "step", "snap", "tooltipMode", "snapMode", "hasStep", "hasSnap", "hasLable", "hasTooltip"], outputs: ["onStart", "valuesChange"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.AXFormatPipe, name: "format" }], encapsulation: i0.ViewEncapsulation.None }); }
142
142
  }
143
143
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXConversationMessageAudioComponent, decorators: [{
144
144
  type: Component,
@@ -57,7 +57,7 @@ export class AXDataPagerInputSelectorComponent extends AXDataPagerChild {
57
57
  [maxValue]="_totalPages"
58
58
  >
59
59
  </ax-number-box>
60
- `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.AXNumberBoxComponent, selector: "ax-number-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "thousandsSeparator", "padDecimalZeros", "step", "decimals", "decimalStep", "showSpinButtons", "minValue", "maxValue", "class"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
60
+ `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.AXNumberBoxComponent, selector: "ax-number-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "hasWheel", "thousandsSeparator", "padDecimalZeros", "step", "decimals", "decimalStep", "showSpinButtons", "minValue", "maxValue", "class"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
61
61
  }
62
62
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXDataPagerInputSelectorComponent, decorators: [{
63
63
  type: Component,