@acorex/components 5.0.2 → 5.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/bundles/acorex-components.umd.js +1528 -1038
  2. package/bundles/acorex-components.umd.js.map +1 -1
  3. package/esm2015/lib/alert/alert.component.js +17 -17
  4. package/esm2015/lib/badge/badge.component.js +34 -0
  5. package/esm2015/lib/badge/badge.module.js +21 -0
  6. package/esm2015/lib/badge/index.js +3 -0
  7. package/esm2015/lib/base/events.class.js +7 -1
  8. package/esm2015/lib/base/mixin/base-components.class.js +6 -6
  9. package/esm2015/lib/base/mixin/button-mixin.class.js +2 -2
  10. package/esm2015/lib/base/mixin/interactive-mixin.class.js +6 -1
  11. package/esm2015/lib/base/mixin/mixin.class.js +2 -3
  12. package/esm2015/lib/button/button-group.component.js +3 -3
  13. package/esm2015/lib/button/button.component.js +27 -6
  14. package/esm2015/lib/button/button.module.js +1 -5
  15. package/esm2015/lib/button/index.js +1 -2
  16. package/esm2015/lib/calendar/calendar.component.js +266 -38
  17. package/esm2015/lib/calendar/calendar.module.js +4 -3
  18. package/esm2015/lib/checkbox/checkbox.component.js +2 -2
  19. package/esm2015/lib/datepicker/datepicker.component.js +21 -5
  20. package/esm2015/lib/decorators/prefix.component.js +3 -3
  21. package/esm2015/lib/decorators/suffix.component.js +3 -11
  22. package/esm2015/lib/dialog/dialog.component.js +2 -2
  23. package/esm2015/lib/dialog/dialog.service.js +24 -5
  24. package/esm2015/lib/dropdown/dropdown-base.class.js +98 -0
  25. package/esm2015/lib/dropdown/dropdown-panel.component.js +23 -130
  26. package/esm2015/lib/dropdown/dropdown.component.js +16 -123
  27. package/esm2015/lib/dropdown/dropdown.module.js +5 -4
  28. package/esm2015/lib/icon/icon.component.js +4 -4
  29. package/esm2015/lib/number-box/number-box.component.js +4 -4
  30. package/esm2015/lib/password-box/index.js +3 -0
  31. package/esm2015/lib/password-box/password-box.component.js +74 -0
  32. package/esm2015/lib/password-box/password-box.module.js +35 -0
  33. package/esm2015/lib/popover/popover.component.js +183 -82
  34. package/esm2015/lib/range-slider/index.js +3 -0
  35. package/esm2015/lib/range-slider/range-slider.component.js +22 -0
  36. package/esm2015/lib/range-slider/range-slider.module.js +21 -0
  37. package/esm2015/lib/selectbox/selectbox.component.js +11 -3
  38. package/esm2015/lib/selectbox/selectbox.module.js +8 -4
  39. package/esm2015/lib/selection-list/selection-list.component.js +3 -2
  40. package/esm2015/lib/switch/switch.component.js +2 -2
  41. package/esm2015/lib/tabs/index.js +4 -2
  42. package/esm2015/lib/tabs/tab-content.directive.js +27 -0
  43. package/esm2015/lib/tabs/tab-item.component.js +76 -0
  44. package/esm2015/lib/tabs/tab-strip.component.js +15 -7
  45. package/esm2015/lib/tabs/tab-view.component.js +4 -5
  46. package/esm2015/lib/tabs/tab.component.js +2 -3
  47. package/esm2015/lib/tabs/tabs.component.js +74 -0
  48. package/esm2015/lib/tabs/tabs.module.js +9 -7
  49. package/esm2015/lib/textbox/textbox.component.js +8 -6
  50. package/esm2015/lib/textbox/textbox.module.js +6 -2
  51. package/esm2015/lib/time-box/time-box.component.js +1 -1
  52. package/esm2015/lib/toast/toast.component.js +2 -2
  53. package/esm2015/public-api.js +4 -1
  54. package/fesm2015/acorex-components.js +1316 -883
  55. package/fesm2015/acorex-components.js.map +1 -1
  56. package/lib/alert/alert.component.d.ts +4 -4
  57. package/lib/badge/badge.component.d.ts +11 -0
  58. package/lib/badge/badge.module.d.ts +8 -0
  59. package/lib/badge/index.d.ts +2 -0
  60. package/lib/base/events.class.d.ts +7 -0
  61. package/lib/base/mixin/button-mixin.class.d.ts +3 -1
  62. package/lib/base/mixin/interactive-mixin.class.d.ts +2 -3
  63. package/lib/base/mixin/loading-mixin.class.d.ts +1 -3
  64. package/lib/base/mixin/mixin.class.d.ts +1 -224
  65. package/lib/base/mixin/textbox-mixin.class.d.ts +4 -7
  66. package/lib/base/mixin/value-mixin.class.d.ts +4 -5
  67. package/lib/button/button-group.component.d.ts +3 -2
  68. package/lib/button/button.component.d.ts +4 -1
  69. package/lib/button/button.module.d.ts +6 -7
  70. package/lib/button/index.d.ts +0 -1
  71. package/lib/calendar/calendar.component.d.ts +52 -12
  72. package/lib/calendar/calendar.module.d.ts +4 -3
  73. package/lib/datepicker/datepicker.component.d.ts +3 -3
  74. package/lib/decorators/prefix.component.d.ts +1 -1
  75. package/lib/decorators/suffix.component.d.ts +1 -1
  76. package/lib/dialog/dialog.service.d.ts +20 -2
  77. package/lib/dropdown/dropdown-base.class.d.ts +92 -0
  78. package/lib/dropdown/dropdown-panel.component.d.ts +12 -100
  79. package/lib/dropdown/dropdown.component.d.ts +9 -27
  80. package/lib/dropdown/dropdown.module.d.ts +2 -1
  81. package/lib/icon/icon.component.d.ts +1 -1
  82. package/lib/number-box/number-box.component.d.ts +1 -1
  83. package/lib/password-box/index.d.ts +2 -0
  84. package/lib/password-box/password-box.component.d.ts +24 -0
  85. package/lib/password-box/password-box.module.d.ts +12 -0
  86. package/lib/popover/popover.component.d.ts +37 -23
  87. package/lib/range-slider/index.d.ts +2 -0
  88. package/lib/range-slider/range-slider.component.d.ts +8 -0
  89. package/lib/range-slider/range-slider.module.d.ts +8 -0
  90. package/lib/selectbox/selectbox.component.d.ts +1 -0
  91. package/lib/selectbox/selectbox.module.d.ts +5 -1
  92. package/lib/selection-list/selection-list.component.d.ts +1 -1
  93. package/lib/tabs/index.d.ts +3 -1
  94. package/lib/tabs/tab-content.directive.d.ts +11 -0
  95. package/lib/tabs/tab-item.component.d.ts +16 -0
  96. package/lib/tabs/tab-strip.component.d.ts +5 -3
  97. package/lib/tabs/tab-view.component.d.ts +2 -2
  98. package/lib/tabs/tabs.component.d.ts +19 -0
  99. package/lib/tabs/tabs.module.d.ts +6 -4
  100. package/lib/textbox/textbox.module.d.ts +3 -2
  101. package/package.json +1 -1
  102. package/public-api.d.ts +3 -0
  103. package/esm2015/lib/button/dropdown-button.component.js +0 -200
  104. package/lib/button/dropdown-button.component.d.ts +0 -234
@@ -1,31 +1,22 @@
1
- import { TemplatePortal } from '@angular/cdk/portal';
2
- import { Component, ViewEncapsulation, ChangeDetectionStrategy, ContentChildren, ViewChildren, EventEmitter, Output, Input, ViewChild, HostListener, Optional } from '@angular/core';
3
- import { AXBaseComponent } from '../base';
4
- import { _DropdownComponenetMixin } from '../base/mixin/dropdown-mixin.class';
5
- import { _InteractiveComponenetMixin } from '../base/mixin/interactive-mixin.class';
1
+ import { Component, ViewEncapsulation, ChangeDetectionStrategy, ContentChildren, ViewChildren, EventEmitter, Output, Input, ViewChild, Optional } from '@angular/core';
6
2
  import { AXButtonItemComponent } from '../button';
3
+ import { AXPopoverComponent } from '../popover';
4
+ import { AXBaseDropDownComponent } from './dropdown-base.class';
7
5
  import * as i0 from "@angular/core";
8
- import * as i1 from "@angular/cdk/overlay";
9
- import * as i2 from "@acorex/core";
10
- import * as i3 from "../button";
11
- import * as i4 from "../button/button-item.component";
12
- import * as i5 from "../decorators/prefix.component";
13
- import * as i6 from "../icon/icon.component";
14
- import * as i7 from "@angular/common";
15
- export const AXBaseDropdownMenuMixin = _InteractiveComponenetMixin(_DropdownComponenetMixin((AXBaseComponent)));
16
- export class AXDropdownPanelComponent extends AXBaseDropdownMenuMixin {
17
- constructor(elementRef, cdr, _overlay, _platform, _viewContainerRef, _parent) {
6
+ import * as i1 from "../button";
7
+ import * as i2 from "../popover/popover.component";
8
+ import * as i3 from "../button/button-item.component";
9
+ import * as i4 from "../decorators/prefix.component";
10
+ import * as i5 from "../icon/icon.component";
11
+ import * as i6 from "@angular/common";
12
+ export class AXDropdownPanelComponent extends AXBaseDropDownComponent {
13
+ constructor(elementRef, cdr, _parent) {
18
14
  super(elementRef, cdr);
19
- this._overlay = _overlay;
20
- this._platform = _platform;
21
- this._viewContainerRef = _viewContainerRef;
22
15
  this._parent = _parent;
23
16
  this.onItemClick = new EventEmitter();
17
+ this._needBorder = false;
24
18
  this._subs = [];
25
- if (_parent) {
26
- this.target = _parent;
27
- this._subs.push(_parent.onClick.subscribe(this.toggle.bind(this)));
28
- }
19
+ this._target = this._parent._getHostElement();
29
20
  }
30
21
  get items() {
31
22
  return this._items || [];
@@ -38,32 +29,18 @@ export class AXDropdownPanelComponent extends AXBaseDropdownMenuMixin {
38
29
  return [...Array.from(this._viewButtons), ...Array.from(this._contentButtons)];
39
30
  }
40
31
  onViewInit() {
32
+ super.onViewInit();
41
33
  this._getAllButtons().forEach(c => {
34
+ this._needBorder = true;
42
35
  this._subs.push(c.onClick.subscribe(this._handleOnItemClick.bind(this)));
36
+ this._cdr.markForCheck();
43
37
  });
44
38
  }
45
39
  onDestroy() {
46
- var _a, _b;
47
- (_a = this._overlayRef) === null || _a === void 0 ? void 0 : _a.detach();
48
- (_b = this._overlayRef) === null || _b === void 0 ? void 0 : _b.dispose();
49
40
  this._subs.forEach(s => {
50
41
  s === null || s === void 0 ? void 0 : s.unsubscribe();
51
42
  });
52
43
  }
53
- _handleKeydownHandler(e) {
54
- if (e.key === 'Enter' && e.type === 'keydown') {
55
- this.toggle();
56
- }
57
- if (e.key === 'Escape') {
58
- if (this.isOpen) {
59
- this.close();
60
- e.stopPropagation();
61
- }
62
- }
63
- }
64
- _handleArrowClickEvent(e) {
65
- this.toggle();
66
- }
67
44
  _emitOnItemClickEvent(e, item) {
68
45
  this.onItemClick.emit({
69
46
  component: this,
@@ -72,93 +49,14 @@ export class AXDropdownPanelComponent extends AXBaseDropdownMenuMixin {
72
49
  name: item.name,
73
50
  data: item.data,
74
51
  });
75
- this.close();
76
52
  }
77
53
  _handleOnItemClick(e) {
78
54
  this.close();
79
55
  this._emitOnItemClickEvent(e, e.component);
80
56
  }
81
- toggle() {
82
- if (this.disabled !== true) {
83
- this.isOpen ? this.close() : this.open();
84
- }
85
- }
86
- close() {
87
- var _a, _b;
88
- if (!this.isOpen) {
89
- return;
90
- }
91
- (_a = this._overlayRef) === null || _a === void 0 ? void 0 : _a.detach();
92
- (_b = this._subs[1]) === null || _b === void 0 ? void 0 : _b.unsubscribe();
93
- this._emitOnClosedEvent();
94
- }
95
- open() {
96
- if (this.isOpen) {
97
- return;
98
- }
99
- this._ensureOverlayCreated();
100
- this._overlayRef.attach(this._templatePortal);
101
- this._emitOnOpenedEvent();
102
- }
103
- _ensureOverlayCreated() {
104
- let baseSize = Number(getComputedStyle(document.documentElement).getPropertyValue('--ax-base-size').replace('px', ''));
105
- const targetRef = this.target._getInnerElement();
106
- if (!this._overlayRef) {
107
- const positionStrategy = this._overlay.position()
108
- .flexibleConnectedTo(targetRef)
109
- .withPositions([
110
- {
111
- originX: 'start',
112
- originY: 'bottom',
113
- overlayX: 'start',
114
- overlayY: 'top',
115
- offsetY: baseSize
116
- },
117
- {
118
- originX: 'start',
119
- originY: 'top',
120
- overlayX: 'start',
121
- overlayY: 'bottom'
122
- }
123
- ])
124
- .withPush(false);
125
- this._overlayRef = this._overlay.create({
126
- positionStrategy,
127
- scrollStrategy: this._overlay.scrollStrategies.close(),
128
- panelClass: ['animate__animated', 'animate__fadeIn', 'animate__faster'],
129
- hasBackdrop: false,
130
- backdropClass: ['cdk-overlay-transparent-backdrop']
131
- });
132
- this._subs[0] = this._overlayRef._outsidePointerEvents.subscribe(c => {
133
- const target = c.target;
134
- const comElem = targetRef;
135
- if (!(comElem.contains(target))) {
136
- this.close();
137
- }
138
- });
139
- this._subs[1] = this._overlayRef.attachments().subscribe(() => {
140
- if (this.fitParent === true) {
141
- this._dropdownWidth = targetRef.offsetWidth;
142
- }
143
- else {
144
- this._dropdownWidth = targetRef.offsetWidth * 1.5;
145
- }
146
- this._subs[2] = this._platform.scroll.subscribe(c => {
147
- if (!c.nativeEvent.target.closest('.ax-overlay-pane'))
148
- this.close();
149
- });
150
- });
151
- }
152
- if (!this._templatePortal) {
153
- this._templatePortal = new TemplatePortal(this._baseTemplate, this._viewContainerRef);
154
- }
155
- }
156
- get isOpen() {
157
- return this._overlayRef ? this._overlayRef.hasAttached() : false;
158
- }
159
57
  }
160
- AXDropdownPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXDropdownPanelComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.Overlay }, { token: i2.AXPlatform }, { token: i0.ViewContainerRef }, { token: i3.AXButtonComponent, optional: true }], target: i0.ɵɵFactoryTarget.Component });
161
- AXDropdownPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: { target: "target", items: "items" }, outputs: { onItemClick: "onItemClick" }, host: { listeners: { "keydown": "_handleKeydownHandler($event)" } }, queries: [{ propertyName: "_contentButtons", predicate: AXButtonItemComponent }], viewQueries: [{ propertyName: "_baseTemplate", first: true, predicate: ["baseTemplate"], descendants: true }, { propertyName: "_viewButtons", predicate: AXButtonItemComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #baseTemplate>\n <div class=\"ax-overlay-pane ax-dropdown-list\" [style.min-width.px]=\"_dropdownWidth\">\n <ng-container *ngIf=\"items && items.length;else panelTpl\">\n <ax-button-item [text]=\"item.text\" [color]=\"item.color\" *ngFor=\"let item of items\">\n <ax-prefix *ngIf=\"item.iconClass\">\n <ax-icon [icon]=\"item.iconClass\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n </ng-container>\n <ng-template #panelTpl>\n <ng-content select=\"ng-container[panel],ax-button-item\">\n </ng-content>\n </ng-template>\n </div>\n</ng-template>", components: [{ type: i4.AXButtonItemComponent, selector: "ax-button-item", inputs: ["text", "tooltip", "selected", "seperated", "name", "data", "color"] }, { type: i5.AXDecoratorPrefixComponent, selector: "ax-prefix" }, { type: i6.AXIconComponent, selector: "ax-icon", inputs: ["icon"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
58
+ AXDropdownPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXDropdownPanelComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.AXButtonComponent, optional: true }], target: i0.ɵɵFactoryTarget.Component });
59
+ AXDropdownPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: { items: "items" }, outputs: { onItemClick: "onItemClick" }, queries: [{ propertyName: "_contentButtons", predicate: AXButtonItemComponent }], viewQueries: [{ propertyName: "popover", first: true, predicate: AXPopoverComponent, descendants: true }, { propertyName: "_viewButtons", predicate: AXButtonItemComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ax-popover [target]=\"_target\" [position]=\"position\" [openTrigger]=\"'toggle'\" [closeTrigger]=\"'clickout'\">\r\n <div class=\"ax-overlay-pane\" [class.ax-dropdown-list]=\"_needBorder\" >\r\n <ng-container *ngIf=\"items && items.length;else panelTpl\">\r\n <ax-button-item [text]=\"item.text\" [color]=\"item.color\" *ngFor=\"let item of items\">\r\n <ax-prefix *ngIf=\"item.iconClass\">\r\n <ax-icon [icon]=\"item.iconClass\"></ax-icon>\r\n </ax-prefix>\r\n </ax-button-item>\r\n </ng-container>\r\n <ng-template #panelTpl>\r\n <ng-content select=\"[panel],ax-button-item\">\r\n </ng-content>\r\n </ng-template>\r\n </div>\r\n</ax-popover>", components: [{ type: i2.AXPopoverComponent, selector: "ax-popover", inputs: ["target", "position", "openTrigger", "closeTrigger", "hasBackdrop", "backdropClass"] }, { type: i3.AXButtonItemComponent, selector: "ax-button-item", inputs: ["text", "tooltip", "selected", "seperated", "name", "data", "color"] }, { type: i4.AXDecoratorPrefixComponent, selector: "ax-prefix" }, { type: i5.AXIconComponent, selector: "ax-icon", inputs: ["icon"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
162
60
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXDropdownPanelComponent, decorators: [{
163
61
  type: Component,
164
62
  args: [{
@@ -167,7 +65,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImpor
167
65
  changeDetection: ChangeDetectionStrategy.OnPush,
168
66
  encapsulation: ViewEncapsulation.None,
169
67
  }]
170
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.Overlay }, { type: i2.AXPlatform }, { type: i0.ViewContainerRef }, { type: i3.AXButtonComponent, decorators: [{
68
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.AXButtonComponent, decorators: [{
171
69
  type: Optional
172
70
  }] }]; }, propDecorators: { _contentButtons: [{
173
71
  type: ContentChildren,
@@ -177,15 +75,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImpor
177
75
  args: [AXButtonItemComponent]
178
76
  }], onItemClick: [{
179
77
  type: Output
180
- }], target: [{
181
- type: Input
78
+ }], popover: [{
79
+ type: ViewChild,
80
+ args: [AXPopoverComponent]
182
81
  }], items: [{
183
82
  type: Input
184
- }], _baseTemplate: [{
185
- type: ViewChild,
186
- args: ['baseTemplate']
187
- }], _handleKeydownHandler: [{
188
- type: HostListener,
189
- args: ['keydown', ['$event']]
190
83
  }] } });
191
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tcGFuZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvc3JjL2xpYi9kcm9wZG93bi9kcm9wZG93bi1wYW5lbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2Ryb3Bkb3duL2Ryb3Bkb3duLXBhbmVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQ0gsU0FBUyxFQUNULGlCQUFpQixFQUNqQix1QkFBdUIsRUFHdkIsZUFBZSxFQUNmLFlBQVksRUFFWixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFFTCxTQUFTLEVBQ1QsWUFBWSxFQUdaLFFBQVEsRUFDWCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsZUFBZSxFQUFvQyxNQUFNLFNBQVMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNwRixPQUFPLEVBQW1DLHFCQUFxQixFQUFFLE1BQU0sV0FBVyxDQUFDOzs7Ozs7Ozs7QUFHbkYsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQ2hDLDJCQUEyQixDQUN2Qix3QkFBd0IsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUN6QyxDQUNKLENBQUE7QUFTTCxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsdUJBQXVCO0lBRWpFLFlBQ0ksVUFBc0IsRUFDdEIsR0FBc0IsRUFDZCxRQUFpQixFQUNqQixTQUFxQixFQUNyQixpQkFBbUMsRUFFbkMsT0FBMEI7UUFFbEMsS0FBSyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FB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UUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsV0FBVyxFQUFFLGlDQUFpQztvQkFDOUMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2lCQUN4Qzs7MEJBU1EsUUFBUTs0Q0FVMkIsZUFBZTtzQkFBdEQsZUFBZTt1QkFBQyxxQkFBcUI7Z0JBQ0QsWUFBWTtzQkFBaEQsWUFBWTt1QkFBQyxxQkFBcUI7Z0JBR25DLFdBQVc7c0JBRFYsTUFBTTtnQkFLUCxNQUFNO3NCQURMLEtBQUs7Z0JBU0ssS0FBSztzQkFEZixLQUFLO2dCQVlOLGFBQWE7c0JBRFosU0FBUzt1QkFBQyxjQUFjO2dCQTZCekIscUJBQXFCO3NCQURwQixZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUGxhdGZvcm0gfSBmcm9tICdAYWNvcmV4L2NvcmUnO1xyXG5pbXBvcnQgeyBPdmVybGF5LCBPdmVybGF5UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xyXG5pbXBvcnQge1xyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICAgIEVsZW1lbnRSZWYsXHJcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIENvbnRlbnRDaGlsZHJlbixcclxuICAgIFZpZXdDaGlsZHJlbixcclxuICAgIFF1ZXJ5TGlzdCxcclxuICAgIEV2ZW50RW1pdHRlcixcclxuICAgIE91dHB1dCxcclxuICAgIElucHV0LFxyXG4gICAgVGVtcGxhdGVSZWYsXHJcbiAgICBWaWV3Q2hpbGQsXHJcbiAgICBIb3N0TGlzdGVuZXIsXHJcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgSW5qZWN0LFxyXG4gICAgT3B0aW9uYWxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEFYQmFzZUNvbXBvbmVudCwgQVhCdXR0b25DbGlja0V2ZW50LCBBWENsaWNrRXZlbnQgfSBmcm9tICcuLi9iYXNlJztcclxuaW1wb3J0IHsgX0Ryb3Bkb3duQ29tcG9uZW5ldE1peGluIH0gZnJvbSAnLi4vYmFzZS9taXhpbi9kcm9wZG93bi1taXhpbi5jbGFzcyc7XHJcbmltcG9ydCB7IF9JbnRlcmFjdGl2ZUNvbXBvbmVuZXRNaXhpbiB9IGZyb20gJy4uL2Jhc2UvbWl4aW4vaW50ZXJhY3RpdmUtbWl4aW4uY2xhc3MnO1xyXG5pbXBvcnQgeyBBWEJ1dHRvbkNvbXBvbmVudCwgQVhCdXR0b25JdGVtLCBBWEJ1dHRvbkl0ZW1Db21wb25lbnQgfSBmcm9tICcuLi9idXR0b24nO1xyXG5cclxuXHJcbmV4cG9ydCBjb25zdCBBWEJhc2VEcm9wZG93bk1lbnVNaXhpbiA9XHJcbiAgICBfSW50ZXJhY3RpdmVDb21wb25lbmV0TWl4aW4oXHJcbiAgICAgICAgX0Ryb3Bkb3duQ29tcG9uZW5ldE1peGluKChBWEJhc2VDb21wb25lbnQpXHJcbiAgICAgICAgKVxyXG4gICAgKVxyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdheC1kcm9wZG93bi1wYW5lbCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vZHJvcGRvd24tcGFuZWwuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhEcm9wZG93blBhbmVsQ29tcG9uZW50IGV4dGVuZHMgQVhCYXNlRHJvcGRvd25NZW51TWl4aW4ge1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICAgICAgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgICAgICBwcml2YXRlIF9vdmVybGF5OiBPdmVybGF5LFxyXG4gICAgICAgIHByaXZhdGUgX3BsYXRmb3JtOiBBWFBsYXRmb3JtLFxyXG4gICAgICAgIHByaXZhdGUgX3ZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICAgICAgQE9wdGlvbmFsKClcclxuICAgICAgICBwcml2YXRlIF9wYXJlbnQ6IEFYQnV0dG9uQ29tcG9uZW50LFxyXG4gICAgKSB7XHJcbiAgICAgICAgc3VwZXIoZWxlbWVudFJlZiwgY2RyKTtcclxuICAgICAgICBpZiAoX3BhcmVudCkge1xyXG4gICAgICAgICAgICB0aGlzLnRhcmdldCA9IF9wYXJlbnQ7XHJcbiAgICAgICAgICAgIHRoaXMuX3N1YnMucHVzaChfcGFyZW50Lm9uQ2xpY2suc3Vic2NyaWJlKHRoaXMudG9nZ2xlLmJpbmQodGhpcykpKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQENvbnRlbnRDaGlsZHJlbihBWEJ1dHRvbkl0ZW1Db21wb25lbnQpIF9jb250ZW50QnV0dG9uczogUXVlcnlMaXN0PEFYQnV0dG9uSXRlbUNvbXBvbmVudD47XHJcbiAgICBAVmlld0NoaWxkcmVuKEFYQnV0dG9uSXRlbUNvbXBvbmVudCkgX3ZpZXdCdXR0b25zOiBRdWVyeUxpc3Q8QVhCdXR0b25JdGVtQ29tcG9uZW50PjtcclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIG9uSXRlbUNsaWNrOiBFdmVudEVtaXR0ZXI8QVhCdXR0b25DbGlja0V2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhCdXR0b25DbGlja0V2ZW50PigpO1xyXG5cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgdGFyZ2V0OiBBWEJhc2VDb21wb25lbnRcclxuXHJcblxyXG5cclxuXHJcblxyXG4gICAgcHJpdmF0ZSBfaXRlbXM6IEFYQnV0dG9uSXRlbVtdO1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBnZXQgaXRlbXMoKTogQVhCdXR0b25JdGVtW10ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9pdGVtcyB8fCBbXTtcclxuICAgIH1cclxuICAgIHB1YmxpYyBzZXQgaXRlbXModjogQVhCdXR0b25JdGVtW10pIHtcclxuICAgICAgICB0aGlzLl9pdGVtcyA9IHY7XHJcbiAgICAgICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfVxyXG5cclxuXHJcblxyXG4gICAgQFZpZXdDaGlsZCgnYmFzZVRlbXBsYXRlJylcclxuICAgIF9iYXNlVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgICBfb3ZlcmxheVJlZjogT3ZlcmxheVJlZjtcclxuICAgIF90ZW1wbGF0ZVBvcnRhbDogVGVtcGxhdGVQb3J0YWw7XHJcblxyXG4gICAgX2Ryb3Bkb3duV2lkdGg6IG51bWJlcjtcclxuICAgIF9zdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG5cclxuICAgIHByaXZhdGUgX2dldEFsbEJ1dHRvbnMoKTogQVhCdXR0b25JdGVtQ29tcG9uZW50W10ge1xyXG4gICAgICAgIHJldHVybiBbLi4uQXJyYXkuZnJvbSh0aGlzLl92aWV3QnV0dG9ucyksIC4uLkFycmF5LmZyb20odGhpcy5fY29udGVudEJ1dHRvbnMpXTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgb25WaWV3SW5pdCgpIHtcclxuICAgICAgICB0aGlzLl9nZXRBbGxCdXR0b25zKCkuZm9yRWFjaChjID0+IHtcclxuICAgICAgICAgICAgdGhpcy5fc3Vicy5wdXNoKGMub25DbGljay5zdWJzY3JpYmUodGhpcy5faGFuZGxlT25JdGVtQ2xpY2suYmluZCh0aGlzKSkpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG9uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9vdmVybGF5UmVmPy5kZXRhY2goKTtcclxuICAgICAgICB0aGlzLl9vdmVybGF5UmVmPy5kaXNwb3NlKCk7XHJcbiAgICAgICAgdGhpcy5fc3Vicy5mb3JFYWNoKHMgPT4ge1xyXG4gICAgICAgICAgICBzPy51bnN1YnNjcmliZSgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcclxuICAgIF9oYW5kbGVLZXlkb3duSGFuZGxlcihlOiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICAgICAgaWYgKGUua2V5ID09PSAnRW50ZXInICYmIGUudHlwZSA9PT0gJ2tleWRvd24nKSB7XHJcbiAgICAgICAgICAgIHRoaXMudG9nZ2xlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChlLmtleSA9PT0gJ0VzY2FwZScpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuaXNPcGVuKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcblxyXG4gICAgX2hhbmRsZUFycm93Q2xpY2tFdmVudChlOiBNb3VzZUV2ZW50KSB7XHJcbiAgICAgICAgdGhpcy50b2dnbGUoKTtcclxuICAgIH1cclxuXHJcbiAgICBfZW1pdE9uSXRlbUNsaWNrRXZlbnQoZTogQVhDbGlja0V2ZW50LCBpdGVtOiBBWEJ1dHRvbkl0ZW1Db21wb25lbnQpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm9uSXRlbUNsaWNrLmVtaXQoe1xyXG4gICAgICAgICAgICBjb21wb25lbnQ6IHRoaXMsXHJcbiAgICAgICAgICAgIGh0bWxFbGVtZW50OiB0aGlzLl9nZXRIb3N0RWxlbWVudCgpLFxyXG4gICAgICAgICAgICBuYXRpdmVFdmVudDogZS5uYXRpdmVFdmVudCxcclxuICAgICAgICAgICAgbmFtZTogaXRlbS5uYW1lLFxyXG4gICAgICAgICAgICBkYXRhOiBpdGVtLmRhdGEsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX2hhbmRsZU9uSXRlbUNsaWNrKGU6IEFYQ2xpY2tFdmVudCkge1xyXG4gICAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgICAgICB0aGlzLl9lbWl0T25JdGVtQ2xpY2tFdmVudChlLCBlLmNvbXBvbmVudCk7XHJcblxyXG4gICAgfVxyXG5cclxuXHJcbiAgICB0b2dnbGUoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQgIT09IHRydWUpIHtcclxuICAgICAgICAgICAgdGhpcy5pc09wZW4gPyB0aGlzLmNsb3NlKCkgOiB0aGlzLm9wZW4oKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgY2xvc2UoKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmlzT3Blbikge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuX292ZXJsYXlSZWY/LmRldGFjaCgpO1xyXG4gICAgICAgIHRoaXMuX3N1YnNbMV0/LnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgdGhpcy5fZW1pdE9uQ2xvc2VkRXZlbnQoKTtcclxuICAgIH1cclxuXHJcbiAgICBvcGVuKCkge1xyXG4gICAgICAgIGlmICh0aGlzLmlzT3Blbikge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuX2Vuc3VyZU92ZXJsYXlDcmVhdGVkKCk7XHJcbiAgICAgICAgdGhpcy5fb3ZlcmxheVJlZi5hdHRhY2godGhpcy5fdGVtcGxhdGVQb3J0YWwpO1xyXG4gICAgICAgIHRoaXMuX2VtaXRPbk9wZW5lZEV2ZW50KCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfZW5zdXJlT3ZlcmxheUNyZWF0ZWQoKSB7XHJcbiAgICAgICAgbGV0IGJhc2VTaXplID0gTnVtYmVyKGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS5nZXRQcm9wZXJ0eVZhbHVlKCctLWF4LWJhc2Utc2l6ZScpLnJlcGxhY2UoJ3B4JywgJycpKTtcclxuICAgICAgICBjb25zdCB0YXJnZXRSZWYgPSB0aGlzLnRhcmdldC5fZ2V0SW5uZXJFbGVtZW50KCk7XHJcblxyXG4gICAgICAgIGlmICghdGhpcy5fb3ZlcmxheVJlZikge1xyXG4gICAgICAgICAgICBjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5fb3ZlcmxheS5wb3NpdGlvbigpXHJcbiAgICAgICAgICAgICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyh0YXJnZXRSZWYpXHJcbiAgICAgICAgICAgICAgICAud2l0aFBvc2l0aW9ucyhbXHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBvcmlnaW5ZOiAnYm90dG9tJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJsYXlZOiAndG9wJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0WTogYmFzZVNpemVcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVybGF5WTogJ2JvdHRvbSdcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBdKVxyXG4gICAgICAgICAgICAgICAgLndpdGhQdXNoKGZhbHNlKTtcclxuICAgICAgICAgICAgdGhpcy5fb3ZlcmxheVJlZiA9IHRoaXMuX292ZXJsYXkuY3JlYXRlKHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uU3RyYXRlZ3ksXHJcbiAgICAgICAgICAgICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5fb3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLmNsb3NlKCksXHJcbiAgICAgICAgICAgICAgICBwYW5lbENsYXNzOiBbJ2FuaW1hdGVfX2FuaW1hdGVkJywgJ2FuaW1hdGVfX2ZhZGVJbicsICdhbmltYXRlX19mYXN0ZXInXSxcclxuICAgICAgICAgICAgICAgIGhhc0JhY2tkcm9wOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgIGJhY2tkcm9wQ2xhc3M6IFsnY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AnXVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgdGhpcy5fc3Vic1swXSA9IHRoaXMuX292ZXJsYXlSZWYuX291dHNpZGVQb2ludGVyRXZlbnRzLnN1YnNjcmliZShjID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHRhcmdldCA9IGMudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xyXG4gICAgICAgICAgICAgICAgY29uc3QgY29tRWxlbSA9IHRhcmdldFJlZjtcclxuICAgICAgICAgICAgICAgIGlmICghKGNvbUVsZW0uY29udGFpbnModGFyZ2V0KSkpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB0aGlzLl9zdWJzWzFdID0gdGhpcy5fb3ZlcmxheVJlZi5hdHRhY2htZW50cygpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5maXRQYXJlbnQgPT09IHRydWUpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9kcm9wZG93bldpZHRoID0gdGFyZ2V0UmVmLm9mZnNldFdpZHRoO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9kcm9wZG93bldpZHRoID0gdGFyZ2V0UmVmLm9mZnNldFdpZHRoICogMS41O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGhpcy5fc3Vic1syXSA9IHRoaXMuX3BsYXRmb3JtLnNjcm9sbC5zdWJzY3JpYmUoYyA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCEoYy5uYXRpdmVFdmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmNsb3Nlc3QoJy5heC1vdmVybGF5LXBhbmUnKSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoIXRoaXMuX3RlbXBsYXRlUG9ydGFsKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3RlbXBsYXRlUG9ydGFsID0gbmV3IFRlbXBsYXRlUG9ydGFsKHRoaXMuX2Jhc2VUZW1wbGF0ZSwgdGhpcy5fdmlld0NvbnRhaW5lclJlZik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGdldCBpc09wZW4oKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX292ZXJsYXlSZWYgPyB0aGlzLl9vdmVybGF5UmVmLmhhc0F0dGFjaGVkKCkgOiBmYWxzZTtcclxuICAgIH1cclxuXHJcbn1cclxuIiwiPG5nLXRlbXBsYXRlICNiYXNlVGVtcGxhdGU+XG4gICAgPGRpdiBjbGFzcz1cImF4LW92ZXJsYXktcGFuZSBheC1kcm9wZG93bi1saXN0XCIgW3N0eWxlLm1pbi13aWR0aC5weF09XCJfZHJvcGRvd25XaWR0aFwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbXMgJiYgaXRlbXMubGVuZ3RoO2Vsc2UgcGFuZWxUcGxcIj5cbiAgICAgICAgICAgIDxheC1idXR0b24taXRlbSBbdGV4dF09XCJpdGVtLnRleHRcIiBbY29sb3JdPVwiaXRlbS5jb2xvclwiICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXNcIj5cbiAgICAgICAgICAgICAgICA8YXgtcHJlZml4ICpuZ0lmPVwiaXRlbS5pY29uQ2xhc3NcIj5cbiAgICAgICAgICAgICAgICAgICAgPGF4LWljb24gW2ljb25dPVwiaXRlbS5pY29uQ2xhc3NcIj48L2F4LWljb24+XG4gICAgICAgICAgICAgICAgPC9heC1wcmVmaXg+XG4gICAgICAgICAgICA8L2F4LWJ1dHRvbi1pdGVtPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNwYW5lbFRwbD5cbiAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIm5nLWNvbnRhaW5lcltwYW5lbF0sYXgtYnV0dG9uLWl0ZW1cIj5cbiAgICAgICAgICAgIDwvbmctY29udGVudD5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+Il19
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tcGFuZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvc3JjL2xpYi9kcm9wZG93bi9kcm9wZG93bi1wYW5lbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2Ryb3Bkb3duL2Ryb3Bkb3duLXBhbmVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUd2QixlQUFlLEVBQ2YsWUFBWSxFQUVaLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFNBQVMsRUFDVCxRQUFRLEVBQ1gsTUFBTSxlQUFlLENBQUM7QUFLdkIsT0FBTyxFQUFtQyxxQkFBcUIsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNuRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDaEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7O0FBWWhFLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSx1QkFBdUI7SUFFakUsWUFDSSxVQUFzQixFQUN0QixHQUFzQixFQUVmLE9BQTBCO1FBRWpDLEtBQUssQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFGaEIsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7UUFVckMsZ0JBQVcsR0FBcUMsSUFBSSxZQUFZLEVBQXNCLENBQUM7UUFldkYsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFDN0IsVUFBSyxHQUFtQixFQUFFLENBQUM7UUF2QnZCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUNsRCxDQUFDO0lBWUQsSUFDVyxLQUFLO1FBQ1osT0FBTyxJQUFJLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBQ0QsSUFBVyxLQUFLLENBQUMsQ0FBaUI7UUFDOUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBTU8sY0FBYztRQUNsQixPQUFPLENBQUMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7SUFDbkYsQ0FBQztJQUdELFVBQVU7UUFDTixLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7UUFFbkIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUM5QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztZQUN4QixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN6RSxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFNBQVM7UUFDTCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNuQixDQUFDLGFBQUQsQ0FBQyx1QkFBRCxDQUFDLENBQUUsV0FBVyxFQUFFLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQscUJBQXFCLENBQUMsQ0FBZSxFQUFFLElBQTJCO1FBQzlELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1lBQ2xCLFNBQVMsRUFBRSxJQUFJO1lBQ2YsV0FBVyxFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDbkMsV0FBVyxFQUFFLENBQUMsQ0FBQyxXQUFXO1lBQzFCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtTQUNsQixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sa0JBQWtCLENBQUMsQ0FBZTtRQUN0QyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDYixJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUUvQyxDQUFDOztxSEF0RVEsd0JBQXdCO3lHQUF4Qix3QkFBd0IsOEpBWWhCLHFCQUFxQixzRUFNM0Isa0JBQWtCLGtFQUxmLHFCQUFxQix1RUM5Q3ZDLHN3QkFjYTsyRkRtQkEsd0JBQXdCO2tCQU5wQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFdBQVcsRUFBRSxpQ0FBaUM7b0JBQzlDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtpQkFDeEM7OzBCQU1RLFFBQVE7NENBTzJCLGVBQWU7c0JBQXRELGVBQWU7dUJBQUMscUJBQXFCO2dCQUNELFlBQVk7c0JBQWhELFlBQVk7dUJBQUMscUJBQXFCO2dCQUduQyxXQUFXO3NCQURWLE1BQU07Z0JBSUcsT0FBTztzQkFEaEIsU0FBUzt1QkFBQyxrQkFBa0I7Z0JBS2xCLEtBQUs7c0JBRGYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gICAgRWxlbWVudFJlZixcclxuICAgIENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgQ29udGVudENoaWxkcmVuLFxyXG4gICAgVmlld0NoaWxkcmVuLFxyXG4gICAgUXVlcnlMaXN0LFxyXG4gICAgRXZlbnRFbWl0dGVyLFxyXG4gICAgT3V0cHV0LFxyXG4gICAgSW5wdXQsXHJcbiAgICBWaWV3Q2hpbGQsXHJcbiAgICBPcHRpb25hbFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQVhCYXNlQ29tcG9uZW50LCBBWEJ1dHRvbkNsaWNrRXZlbnQsIEFYQ2xpY2tFdmVudCwgQVhDb25uZWN0ZWRQb3NpdGlvbiB9IGZyb20gJy4uL2Jhc2UnO1xyXG5pbXBvcnQgeyBfRHJvcGRvd25Db21wb25lbmV0TWl4aW4gfSBmcm9tICcuLi9iYXNlL21peGluL2Ryb3Bkb3duLW1peGluLmNsYXNzJztcclxuaW1wb3J0IHsgX0ludGVyYWN0aXZlQ29tcG9uZW5ldE1peGluIH0gZnJvbSAnLi4vYmFzZS9taXhpbi9pbnRlcmFjdGl2ZS1taXhpbi5jbGFzcyc7XHJcbmltcG9ydCB7IEFYQnV0dG9uQ29tcG9uZW50LCBBWEJ1dHRvbkl0ZW0sIEFYQnV0dG9uSXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL2J1dHRvbic7XHJcbmltcG9ydCB7IEFYUG9wb3ZlckNvbXBvbmVudCB9IGZyb20gJy4uL3BvcG92ZXInO1xyXG5pbXBvcnQgeyBBWEJhc2VEcm9wRG93bkNvbXBvbmVudCB9IGZyb20gJy4vZHJvcGRvd24tYmFzZS5jbGFzcyc7XHJcblxyXG5cclxuXHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2F4LWRyb3Bkb3duLXBhbmVsJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9kcm9wZG93bi1wYW5lbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWERyb3Bkb3duUGFuZWxDb21wb25lbnQgZXh0ZW5kcyBBWEJhc2VEcm9wRG93bkNvbXBvbmVudCB7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgICAgICBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgICAgIEBPcHRpb25hbCgpXHJcbiAgICAgICAgcHVibGljIF9wYXJlbnQ6IEFYQnV0dG9uQ29tcG9uZW50LFxyXG4gICAgKSB7XHJcbiAgICAgICAgc3VwZXIoZWxlbWVudFJlZiwgY2RyKTtcclxuICAgICAgICB0aGlzLl90YXJnZXQgPSB0aGlzLl9wYXJlbnQuX2dldEhvc3RFbGVtZW50KCk7XHJcbiAgICB9XHJcblxyXG4gICAgQENvbnRlbnRDaGlsZHJlbihBWEJ1dHRvbkl0ZW1Db21wb25lbnQpIF9jb250ZW50QnV0dG9uczogUXVlcnlMaXN0PEFYQnV0dG9uSXRlbUNvbXBvbmVudD47XHJcbiAgICBAVmlld0NoaWxkcmVuKEFYQnV0dG9uSXRlbUNvbXBvbmVudCkgX3ZpZXdCdXR0b25zOiBRdWVyeUxpc3Q8QVhCdXR0b25JdGVtQ29tcG9uZW50PjtcclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIG9uSXRlbUNsaWNrOiBFdmVudEVtaXR0ZXI8QVhCdXR0b25DbGlja0V2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhCdXR0b25DbGlja0V2ZW50PigpO1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoQVhQb3BvdmVyQ29tcG9uZW50KVxyXG4gICAgcHJvdGVjdGVkIHBvcG92ZXI6IEFYUG9wb3ZlckNvbXBvbmVudDtcclxuXHJcbiAgICBwcml2YXRlIF9pdGVtczogQVhCdXR0b25JdGVtW107XHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGdldCBpdGVtcygpOiBBWEJ1dHRvbkl0ZW1bXSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2l0ZW1zIHx8IFtdO1xyXG4gICAgfVxyXG4gICAgcHVibGljIHNldCBpdGVtcyh2OiBBWEJ1dHRvbkl0ZW1bXSkge1xyXG4gICAgICAgIHRoaXMuX2l0ZW1zID0gdjtcclxuICAgICAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgICB9XHJcblxyXG4gICAgX25lZWRCb3JkZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIF9zdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG4gICAgX3RhcmdldDogSFRNTEVsZW1lbnQ7XHJcblxyXG4gICAgcHJpdmF0ZSBfZ2V0QWxsQnV0dG9ucygpOiBBWEJ1dHRvbkl0ZW1Db21wb25lbnRbXSB7XHJcbiAgICAgICAgcmV0dXJuIFsuLi5BcnJheS5mcm9tKHRoaXMuX3ZpZXdCdXR0b25zKSwgLi4uQXJyYXkuZnJvbSh0aGlzLl9jb250ZW50QnV0dG9ucyldO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBvblZpZXdJbml0KCkge1xyXG4gICAgICAgIHN1cGVyLm9uVmlld0luaXQoKTtcclxuICAgICAgXHJcbiAgICAgICAgdGhpcy5fZ2V0QWxsQnV0dG9ucygpLmZvckVhY2goYyA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuX25lZWRCb3JkZXIgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLl9zdWJzLnB1c2goYy5vbkNsaWNrLnN1YnNjcmliZSh0aGlzLl9oYW5kbGVPbkl0ZW1DbGljay5iaW5kKHRoaXMpKSk7XHJcbiAgICAgICAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBvbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fc3Vicy5mb3JFYWNoKHMgPT4ge1xyXG4gICAgICAgICAgICBzPy51bnN1YnNjcmliZSgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIF9lbWl0T25JdGVtQ2xpY2tFdmVudChlOiBBWENsaWNrRXZlbnQsIGl0ZW06IEFYQnV0dG9uSXRlbUNvbXBvbmVudCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMub25JdGVtQ2xpY2suZW1pdCh7XHJcbiAgICAgICAgICAgIGNvbXBvbmVudDogdGhpcyxcclxuICAgICAgICAgICAgaHRtbEVsZW1lbnQ6IHRoaXMuX2dldEhvc3RFbGVtZW50KCksXHJcbiAgICAgICAgICAgIG5hdGl2ZUV2ZW50OiBlLm5hdGl2ZUV2ZW50LFxyXG4gICAgICAgICAgICBuYW1lOiBpdGVtLm5hbWUsXHJcbiAgICAgICAgICAgIGRhdGE6IGl0ZW0uZGF0YSxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9oYW5kbGVPbkl0ZW1DbGljayhlOiBBWENsaWNrRXZlbnQpIHtcclxuICAgICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICAgICAgdGhpcy5fZW1pdE9uSXRlbUNsaWNrRXZlbnQoZSwgZS5jb21wb25lbnQpO1xyXG5cclxuICAgIH1cclxufVxyXG4iLCI8YXgtcG9wb3ZlciBbdGFyZ2V0XT1cIl90YXJnZXRcIiBbcG9zaXRpb25dPVwicG9zaXRpb25cIiBbb3BlblRyaWdnZXJdPVwiJ3RvZ2dsZSdcIiBbY2xvc2VUcmlnZ2VyXT1cIidjbGlja291dCdcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJheC1vdmVybGF5LXBhbmVcIiBbY2xhc3MuYXgtZHJvcGRvd24tbGlzdF09XCJfbmVlZEJvcmRlclwiID5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbXMgJiYgaXRlbXMubGVuZ3RoO2Vsc2UgcGFuZWxUcGxcIj5cclxuICAgICAgICAgICAgPGF4LWJ1dHRvbi1pdGVtIFt0ZXh0XT1cIml0ZW0udGV4dFwiIFtjb2xvcl09XCJpdGVtLmNvbG9yXCIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXNcIj5cclxuICAgICAgICAgICAgICAgIDxheC1wcmVmaXggKm5nSWY9XCJpdGVtLmljb25DbGFzc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxheC1pY29uIFtpY29uXT1cIml0ZW0uaWNvbkNsYXNzXCI+PC9heC1pY29uPlxyXG4gICAgICAgICAgICAgICAgPC9heC1wcmVmaXg+XHJcbiAgICAgICAgICAgIDwvYXgtYnV0dG9uLWl0ZW0+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlICNwYW5lbFRwbD5cclxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3BhbmVsXSxheC1idXR0b24taXRlbVwiPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRlbnQ+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvZGl2PlxyXG48L2F4LXBvcG92ZXI+Il19
@@ -1,139 +1,32 @@
1
- import { TemplatePortal } from '@angular/cdk/portal';
2
- import { ChangeDetectionStrategy, Component, HostListener, ViewChild, ViewEncapsulation } from '@angular/core';
3
- import { AXBaseDropdownMixin } from '../base/mixin/mixin.class';
1
+ import { ChangeDetectionStrategy, Component, ViewChild, ViewEncapsulation } from '@angular/core';
2
+ import { AXPopoverComponent } from '../popover';
3
+ import { AXBaseDropDownComponent } from './dropdown-base.class';
4
4
  import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/cdk/overlay";
6
- import * as i2 from "@acorex/core";
7
- import * as i3 from "../button/button.component";
8
- import * as i4 from "../icon/icon.component";
9
- export class AXDropdownComponent extends AXBaseDropdownMixin {
10
- constructor(_elementRef, _cdr, _overlay, _platform, _viewContainerRef) {
5
+ import * as i1 from "../button/button.component";
6
+ import * as i2 from "../icon/icon.component";
7
+ import * as i3 from "../popover/popover.component";
8
+ export class AXDropdownComponent extends AXBaseDropDownComponent {
9
+ constructor(_elementRef, _cdr) {
11
10
  super(_elementRef, _cdr);
12
- this._overlay = _overlay;
13
- this._platform = _platform;
14
- this._viewContainerRef = _viewContainerRef;
15
- this._subs = [];
16
- }
17
- onViewInit() {
18
- }
19
- ngOnDestroy() {
20
- var _a, _b;
21
- (_a = this._overlayRef) === null || _a === void 0 ? void 0 : _a.detach();
22
- (_b = this._overlayRef) === null || _b === void 0 ? void 0 : _b.dispose();
23
- this._subs.forEach(s => {
24
- s === null || s === void 0 ? void 0 : s.unsubscribe();
25
- });
26
- }
27
- _handleKeydownHandler(e) {
28
- if (e.key === 'Enter' && e.type === 'keydown') {
29
- this.toggle();
30
- }
31
- if (e.key === 'Escape') {
32
- if (this.isOpen) {
33
- this.close();
34
- e.stopPropagation();
35
- }
36
- }
11
+ this._target = this;
37
12
  }
38
13
  _handleArrowClickEvent() {
39
14
  this.toggle();
40
15
  }
41
- toggle() {
42
- if (this.disabled !== true && this.readonly !== true) {
43
- this.isOpen ? this.close() : this.open();
44
- }
45
- }
46
- close() {
47
- var _a, _b;
48
- if (!this.isOpen) {
49
- return;
50
- }
51
- (_a = this._overlayRef) === null || _a === void 0 ? void 0 : _a.detach();
52
- (_b = this._subs[1]) === null || _b === void 0 ? void 0 : _b.unsubscribe();
53
- this._emitOnClosedEvent();
54
- }
55
- open() {
56
- if (this.isOpen) {
57
- return;
58
- }
59
- this._ensureOverlayCreated();
60
- this._overlayRef.attach(this._templatePortal);
61
- this._emitOnOpenedEvent();
62
- }
63
- _ensureOverlayCreated() {
64
- let baseSize = Number(getComputedStyle(document.documentElement).getPropertyValue('--ax-base-size').replace('px', '')) / 2;
65
- if (!this._overlayRef) {
66
- const positionStrategy = this._overlay.position()
67
- .flexibleConnectedTo(this._getInnerElement())
68
- .withPositions([
69
- {
70
- originX: 'start',
71
- originY: 'bottom',
72
- overlayX: 'start',
73
- overlayY: 'top',
74
- offsetY: baseSize
75
- },
76
- {
77
- originX: 'start',
78
- originY: 'top',
79
- overlayX: 'start',
80
- overlayY: 'bottom'
81
- }
82
- ])
83
- .withPush(false);
84
- this._overlayRef = this._overlay.create({
85
- positionStrategy,
86
- scrollStrategy: this._overlay.scrollStrategies.close(),
87
- panelClass: ['animate__animated', 'animate__fadeIn', 'animate__faster'],
88
- hasBackdrop: false,
89
- backdropClass: ['cdk-overlay-transparent-backdrop']
90
- });
91
- this._subs[0] = this._overlayRef._outsidePointerEvents.subscribe(c => {
92
- const target = c.target;
93
- const comElem = this._getHostElement();
94
- if (!(comElem.contains(target))) {
95
- this.close();
96
- }
97
- });
98
- this._subs[1] = this._overlayRef.attachments().subscribe(() => {
99
- if (this.fitParent === true) {
100
- this._dropdownWidth = this._getInnerElement().offsetWidth;
101
- }
102
- else {
103
- this._dropdownWidth = null;
104
- }
105
- this._subs[2] = this._platform.scroll.subscribe(c => {
106
- if (!c.nativeEvent.target.closest('.ax-overlay-pane'))
107
- this.close();
108
- });
109
- });
110
- }
111
- if (!this._templatePortal) {
112
- this._templatePortal = new TemplatePortal(this._baseTemplate, this._viewContainerRef);
113
- }
114
- }
115
- get isOpen() {
116
- return this._overlayRef ? this._overlayRef.hasAttached() : false;
117
- }
118
16
  }
119
- AXDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXDropdownComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.Overlay }, { token: i2.AXPlatform }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
120
- AXDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: AXDropdownComponent, selector: "ax-drop-down", inputs: { disabled: "disabled", readonly: "readonly", tabIndex: "tabIndex", size: "size", fitParent: "fitParent" }, outputs: { onOpened: "onOpened", onClosed: "onClosed" }, host: { listeners: { "keydown": "_handleKeydownHandler($event)" }, classAttribute: "ax-dropdown" }, viewQueries: [{ propertyName: "_baseTemplate", first: true, predicate: ["baseTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-editor-container\">\r\n <ng-content select=\"ax-prefix\">\r\n </ng-content>\r\n <div class=\"ax-dropdown-content\" style=\"display: inline-flex;\" (click)=\"_handleArrowClickEvent()\">\r\n <ng-content select=\"ng-container[input]\">\r\n </ng-content>\r\n </div>\r\n <ax-button [disabled]=\"disabled\" [tabIndex]=\"-1\" [size]=\"size\" color=\"light\" look=\"blank\" (onClick)=\"_handleArrowClickEvent()\">\r\n <ax-icon icon=\"ax-ic ax-ic-chevron ax-transform ax--rotate-90\"></ax-icon>\r\n </ax-button>\r\n <ng-content select=\"ax-suffix\">\r\n </ng-content>\r\n <ng-template #baseTemplate>\r\n <div class=\"ax-overlay-pane ax-transition ax-duration-300 ax-ease-in-out\" [style.min-width.px]=\"_dropdownWidth\">\r\n <ng-content select=\"ng-container[panel]\">\r\n </ng-content>\r\n </div>\r\n </ng-template>\r\n</div>", components: [{ type: i3.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "tabIndex", "size", "cssClass", "cssStyle", "text", "submitBehavior", "cancelBehavior", "color", "look", "toggleable", "selected"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange"] }, { type: i4.AXIconComponent, selector: "ax-icon", inputs: ["icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
17
+ AXDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXDropdownComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
18
+ AXDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: AXDropdownComponent, selector: "ax-drop-down", inputs: { disabled: "disabled", tabIndex: "tabIndex", size: "size", fitParent: "fitParent" }, viewQueries: [{ propertyName: "popover", first: true, predicate: AXPopoverComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-editor-container\" [class.ax-state-disabled]=\"disabled\">\r\n <ng-content select=\"ax-prefix\">\r\n </ng-content>\r\n <div class=\"ax-dropdown-content\" style=\"display: inline-flex;\" (click)=\"_handleArrowClickEvent()\">\r\n <ng-content select=\"[input]\">\r\n </ng-content>\r\n </div>\r\n <ax-button [disabled]=\"disabled\" [tabIndex]=\"-1\" [size]=\"size\" color=\"light\" look=\"blank\" (onClick)=\"_handleArrowClickEvent()\">\r\n <ax-icon icon=\"ax-ic ax-ic-chevron ax-transform ax--rotate-90\"></ax-icon>\r\n </ax-button>\r\n <ng-content select=\"ax-suffix\">\r\n </ng-content>\r\n</div>\r\n<ax-popover [target]=\"_target\" [position]=\"position\" [openTrigger]=\"'manual'\" [closeTrigger]=\"'clickout'\">\r\n <div class=\"ax-overlay-pane\" [style.min-width.px]=\"dropdownWidth\">\r\n <ng-content select=\"[panel]\">\r\n </ng-content>\r\n </div>\r\n</ax-popover>", components: [{ type: i1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "tabIndex", "size", "text", "submitBehavior", "cancelBehavior", "color", "look", "toggleable", "selected"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange"] }, { type: i2.AXIconComponent, selector: "ax-icon", inputs: ["icon"] }, { type: i3.AXPopoverComponent, selector: "ax-popover", inputs: ["target", "position", "openTrigger", "closeTrigger", "hasBackdrop", "backdropClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
121
19
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXDropdownComponent, decorators: [{
122
20
  type: Component,
123
21
  args: [{
124
22
  selector: 'ax-drop-down',
125
23
  templateUrl: 'dropdown.component.html',
126
- inputs: ['disabled', 'readonly', 'tabIndex', 'size', 'fitParent'],
127
- outputs: ['onOpened', 'onClosed'],
24
+ inputs: ['disabled', 'tabIndex', 'size', 'fitParent'],
128
25
  encapsulation: ViewEncapsulation.None,
129
- changeDetection: ChangeDetectionStrategy.OnPush,
130
- host: { class: 'ax-dropdown' }
26
+ changeDetection: ChangeDetectionStrategy.OnPush
131
27
  }]
132
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.Overlay }, { type: i2.AXPlatform }, { type: i0.ViewContainerRef }]; }, propDecorators: { _baseTemplate: [{
28
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { popover: [{
133
29
  type: ViewChild,
134
- args: ['baseTemplate']
135
- }], _handleKeydownHandler: [{
136
- type: HostListener,
137
- args: ['keydown', ['$event']]
30
+ args: [AXPopoverComponent]
138
31
  }] } });
139
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvc3JjL2xpYi9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBYyxZQUFZLEVBQWUsU0FBUyxFQUFvQixpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUc3SyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7O0FBV2hFLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxtQkFBbUI7SUFZeEQsWUFDSSxXQUF1QixFQUN2QixJQUF1QixFQUNmLFFBQWlCLEVBQ2pCLFNBQXFCLEVBQ3JCLGlCQUFtQztRQUUzQyxLQUFLLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBSmpCLGFBQVEsR0FBUixRQUFRLENBQVM7UUFDakIsY0FBUyxHQUFULFNBQVMsQ0FBWTtRQUNyQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQWtCO1FBUi9DLFVBQUssR0FBbUIsRUFBRSxDQUFDO0lBVzNCLENBQUM7SUFJRCxVQUFVO0lBRVYsQ0FBQztJQUVELFdBQVc7O1FBQ1AsTUFBQSxJQUFJLENBQUMsV0FBVywwQ0FBRSxNQUFNLEVBQUUsQ0FBQztRQUMzQixNQUFBLElBQUksQ0FBQyxXQUFXLDBDQUFFLE9BQU8sRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ25CLENBQUMsYUFB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ZSxHQUFHLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7U0FDekY7SUFDTCxDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ04sT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDckUsQ0FBQzs7Z0hBdElRLG1CQUFtQjtvR0FBbkIsbUJBQW1CLDJjQ2pCaEMsMjVCQWtCTTsyRkRETyxtQkFBbUI7a0JBVC9CLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLFdBQVcsRUFBRSx5QkFBeUI7b0JBQ3RDLE1BQU0sRUFBRSxDQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxXQUFXLENBQUM7b0JBQ2pFLE9BQU8sRUFBRSxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUM7b0JBQ2pDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRTtpQkFDakM7K01BSUcsYUFBYTtzQkFEWixTQUFTO3VCQUFDLGNBQWM7Z0JBbUN6QixxQkFBcUI7c0JBRHBCLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQbGF0Zm9ybSB9IGZyb20gJ0BhY29yZXgvY29yZSc7XHJcbmltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XHJcbmltcG9ydCB7IFRlbXBsYXRlUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XHJcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQsIFZpZXdDb250YWluZXJSZWYsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBEcm9wZG93bkNvbXBvbmVudEludGVyZmFjZSB9IGZyb20gJy4uL2Jhc2UvbWl4aW4vZHJvcGRvd24tbWl4aW4uY2xhc3MnO1xyXG5pbXBvcnQgeyBBWEJhc2VEcm9wZG93bk1peGluIH0gZnJvbSAnLi4vYmFzZS9taXhpbi9taXhpbi5jbGFzcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYXgtZHJvcC1kb3duJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnZHJvcGRvd24uY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ3JlYWRvbmx5JywgJ3RhYkluZGV4JywgJ3NpemUnLCAnZml0UGFyZW50J10sXHJcbiAgICBvdXRwdXRzOiBbJ29uT3BlbmVkJywgJ29uQ2xvc2VkJ10sXHJcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBob3N0OiB7IGNsYXNzOiAnYXgtZHJvcGRvd24nIH1cclxufSlcclxuZXhwb3J0IGNsYXNzIEFYRHJvcGRvd25Db21wb25lbnQgZXh0ZW5kcyBBWEJhc2VEcm9wZG93bk1peGluIGltcGxlbWVudHMgRHJvcGRvd25Db21wb25lbnRJbnRlcmZhY2Uge1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoJ2Jhc2VUZW1wbGF0ZScpXHJcbiAgICBfYmFzZVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gICAgX292ZXJsYXlSZWY6IE92ZXJsYXlSZWY7XHJcbiAgICBfdGVtcGxhdGVQb3J0YWw6IFRlbXBsYXRlUG9ydGFsO1xyXG5cclxuICAgIF9kcm9wZG93bldpZHRoOiBudW1iZXI7XHJcbiAgICBfZHJvcGRvd25OYXRpdmU6IG51bWJlcjtcclxuICAgIF9zdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG5cclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBfZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgICAgICBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgICAgICBwcml2YXRlIF9vdmVybGF5OiBPdmVybGF5LFxyXG4gICAgICAgIHByaXZhdGUgX3BsYXRmb3JtOiBBWFBsYXRmb3JtLFxyXG4gICAgICAgIHByaXZhdGUgX3ZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWZcclxuICAgICkge1xyXG4gICAgICAgIHN1cGVyKF9lbGVtZW50UmVmLCBfY2RyKTtcclxuICAgIH1cclxuXHJcblxyXG5cclxuICAgIG9uVmlld0luaXQoKSB7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX292ZXJsYXlSZWY/LmRldGFjaCgpO1xyXG4gICAgICAgIHRoaXMuX292ZXJsYXlSZWY/LmRpc3Bvc2UoKTtcclxuICAgICAgICB0aGlzLl9zdWJzLmZvckVhY2gocyA9PiB7XHJcbiAgICAgICAgICAgIHM/LnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pXHJcbiAgICBfaGFuZGxlS2V5ZG93bkhhbmRsZXIoZTogS2V5Ym9hcmRFdmVudCkge1xyXG4gICAgICAgIGlmIChlLmtleSA9PT0gJ0VudGVyJyAmJiBlLnR5cGUgPT09ICdrZXlkb3duJykge1xyXG4gICAgICAgICAgICB0aGlzLnRvZ2dsZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoZS5rZXkgPT09ICdFc2NhcGUnKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmlzT3Blbikge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xyXG4gICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBfaGFuZGxlQXJyb3dDbGlja0V2ZW50KCkge1xyXG4gICAgICAgIHRoaXMudG9nZ2xlKCk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHRvZ2dsZSgpIHtcclxuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCAhPT0gdHJ1ZSAmJiB0aGlzLnJlYWRvbmx5ICE9PSB0cnVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaXNPcGVuID8gdGhpcy5jbG9zZSgpIDogdGhpcy5vcGVuKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNsb3NlKCkge1xyXG4gICAgICAgIGlmICghdGhpcy5pc09wZW4pIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLl9vdmVybGF5UmVmPy5kZXRhY2goKTtcclxuICAgICAgICB0aGlzLl9zdWJzWzFdPy51bnN1YnNjcmliZSgpO1xyXG4gICAgICAgIHRoaXMuX2VtaXRPbkNsb3NlZEV2ZW50KCk7XHJcbiAgICB9XHJcblxyXG4gICAgb3BlbigpIHtcclxuICAgICAgICBpZiAodGhpcy5pc09wZW4pIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLl9lbnN1cmVPdmVybGF5Q3JlYXRlZCgpO1xyXG4gICAgICAgIHRoaXMuX292ZXJsYXlSZWYuYXR0YWNoKHRoaXMuX3RlbXBsYXRlUG9ydGFsKTtcclxuXHJcbiAgICAgICAgdGhpcy5fZW1pdE9uT3BlbmVkRXZlbnQoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9lbnN1cmVPdmVybGF5Q3JlYXRlZCgpIHtcclxuICAgICAgICBsZXQgYmFzZVNpemUgPSBOdW1iZXIoZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUoJy0tYXgtYmFzZS1zaXplJykucmVwbGFjZSgncHgnLCAnJykpIC8gMjtcclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLl9vdmVybGF5UmVmKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLl9vdmVybGF5LnBvc2l0aW9uKClcclxuICAgICAgICAgICAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKHRoaXMuX2dldElubmVyRWxlbWVudCgpKVxyXG4gICAgICAgICAgICAgICAgLndpdGhQb3NpdGlvbnMoW1xyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9mZnNldFk6IGJhc2VTaXplXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9yaWdpblg6ICdzdGFydCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9yaWdpblk6ICd0b3AnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmxheVk6ICdib3R0b20nXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXSlcclxuICAgICAgICAgICAgICAgIC53aXRoUHVzaChmYWxzZSk7XHJcbiAgICAgICAgICAgIHRoaXMuX292ZXJsYXlSZWYgPSB0aGlzLl9vdmVybGF5LmNyZWF0ZSh7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvblN0cmF0ZWd5LFxyXG4gICAgICAgICAgICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMuX292ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5jbG9zZSgpLFxyXG4gICAgICAgICAgICAgICAgcGFuZWxDbGFzczogWydhbmltYXRlX19hbmltYXRlZCcsICdhbmltYXRlX19mYWRlSW4nLCAnYW5pbWF0ZV9fZmFzdGVyJ10sXHJcbiAgICAgICAgICAgICAgICBoYXNCYWNrZHJvcDogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICBiYWNrZHJvcENsYXNzOiBbJ2Nkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wJ11cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHRoaXMuX3N1YnNbMF0gPSB0aGlzLl9vdmVybGF5UmVmLl9vdXRzaWRlUG9pbnRlckV2ZW50cy5zdWJzY3JpYmUoYyA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCB0YXJnZXQgPSBjLnRhcmdldCBhcyBIVE1MRWxlbWVudDtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGNvbUVsZW0gPSB0aGlzLl9nZXRIb3N0RWxlbWVudCgpO1xyXG4gICAgICAgICAgICAgICAgaWYgKCEoY29tRWxlbS5jb250YWlucyh0YXJnZXQpKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHRoaXMuX3N1YnNbMV0gPSB0aGlzLl9vdmVybGF5UmVmLmF0dGFjaG1lbnRzKCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmZpdFBhcmVudCA9PT0gdHJ1ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2Ryb3Bkb3duV2lkdGggPSB0aGlzLl9nZXRJbm5lckVsZW1lbnQoKS5vZmZzZXRXaWR0aDtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fZHJvcGRvd25XaWR0aCA9IG51bGw7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9zdWJzWzJdID0gdGhpcy5fcGxhdGZvcm0uc2Nyb2xsLnN1YnNjcmliZShjID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoIShjLm5hdGl2ZUV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkuY2xvc2VzdCgnLmF4LW92ZXJsYXktcGFuZScpKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICghdGhpcy5fdGVtcGxhdGVQb3J0YWwpIHtcclxuICAgICAgICAgICAgdGhpcy5fdGVtcGxhdGVQb3J0YWwgPSBuZXcgVGVtcGxhdGVQb3J0YWwodGhpcy5fYmFzZVRlbXBsYXRlLCB0aGlzLl92aWV3Q29udGFpbmVyUmVmKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGlzT3BlbigpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fb3ZlcmxheVJlZiA/IHRoaXMuX292ZXJsYXlSZWYuaGFzQXR0YWNoZWQoKSA6IGZhbHNlO1xyXG4gICAgfVxyXG59IiwiPGRpdiBjbGFzcz1cImF4LWVkaXRvci1jb250YWluZXJcIj5cclxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LXByZWZpeFwiPlxyXG4gICAgPC9uZy1jb250ZW50PlxyXG4gICAgPGRpdiBjbGFzcz1cImF4LWRyb3Bkb3duLWNvbnRlbnRcIiBzdHlsZT1cImRpc3BsYXk6IGlubGluZS1mbGV4O1wiIChjbGljayk9XCJfaGFuZGxlQXJyb3dDbGlja0V2ZW50KClcIj5cclxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJuZy1jb250YWluZXJbaW5wdXRdXCI+XHJcbiAgICAgICAgPC9uZy1jb250ZW50PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8YXgtYnV0dG9uIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIFt0YWJJbmRleF09XCItMVwiIFtzaXplXT1cInNpemVcIiBjb2xvcj1cImxpZ2h0XCIgbG9vaz1cImJsYW5rXCIgIChvbkNsaWNrKT1cIl9oYW5kbGVBcnJvd0NsaWNrRXZlbnQoKVwiPlxyXG4gICAgICAgIDxheC1pY29uIGljb249XCJheC1pYyBheC1pYy1jaGV2cm9uIGF4LXRyYW5zZm9ybSBheC0tcm90YXRlLTkwXCI+PC9heC1pY29uPlxyXG4gICAgPC9heC1idXR0b24+XHJcbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJheC1zdWZmaXhcIj5cclxuICAgIDwvbmctY29udGVudD5cclxuICAgIDxuZy10ZW1wbGF0ZSAjYmFzZVRlbXBsYXRlPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJheC1vdmVybGF5LXBhbmUgYXgtdHJhbnNpdGlvbiBheC1kdXJhdGlvbi0zMDAgYXgtZWFzZS1pbi1vdXRcIiBbc3R5bGUubWluLXdpZHRoLnB4XT1cIl9kcm9wZG93bldpZHRoXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIm5nLWNvbnRhaW5lcltwYW5lbF1cIj5cclxuICAgICAgICAgICAgPC9uZy1jb250ZW50PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuPC9kaXY+Il19
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvc3JjL2xpYi9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFjLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVoSSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDaEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7O0FBU2hFLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSx1QkFBdUI7SUFPNUQsWUFDSSxXQUF1QixFQUN2QixJQUF1QjtRQUV2QixLQUFLLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxzQkFBc0I7UUFDbEIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2xCLENBQUM7O2dIQWpCUSxtQkFBbUI7b0dBQW5CLG1CQUFtQiwyTEFFakIsa0JBQWtCLHVFQ2RqQywwN0JBa0JhOzJGRE5BLG1CQUFtQjtrQkFQL0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsY0FBYztvQkFDeEIsV0FBVyxFQUFFLHlCQUF5QjtvQkFDdEMsTUFBTSxFQUFFLENBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDO29CQUNyRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2xEO2lJQUlhLE9BQU87c0JBRGhCLFNBQVM7dUJBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQVhCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZSc7XHJcbmltcG9ydCB7IEFYUG9wb3ZlckNvbXBvbmVudCB9IGZyb20gJy4uL3BvcG92ZXInO1xyXG5pbXBvcnQgeyBBWEJhc2VEcm9wRG93bkNvbXBvbmVudCB9IGZyb20gJy4vZHJvcGRvd24tYmFzZS5jbGFzcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYXgtZHJvcC1kb3duJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnZHJvcGRvd24uY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ3RhYkluZGV4JywgJ3NpemUnLCAnZml0UGFyZW50J10sXHJcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYRHJvcGRvd25Db21wb25lbnQgZXh0ZW5kcyBBWEJhc2VEcm9wRG93bkNvbXBvbmVudCB7XHJcblxyXG4gICAgQFZpZXdDaGlsZChBWFBvcG92ZXJDb21wb25lbnQpXHJcbiAgICBwcm90ZWN0ZWQgcG9wb3ZlcjogQVhQb3BvdmVyQ29tcG9uZW50O1xyXG5cclxuICAgIF90YXJnZXQ6IEFYQmFzZUNvbXBvbmVudDtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBfZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgICAgICBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxyXG4gICAgKSB7XHJcbiAgICAgICAgc3VwZXIoX2VsZW1lbnRSZWYsIF9jZHIpO1xyXG4gICAgICAgIHRoaXMuX3RhcmdldCA9IHRoaXM7XHJcbiAgICB9XHJcblxyXG4gICAgX2hhbmRsZUFycm93Q2xpY2tFdmVudCgpIHtcclxuICAgICAgICB0aGlzLnRvZ2dsZSgpO1xyXG4gICAgfVxyXG59IiwiPGRpdiBjbGFzcz1cImF4LWVkaXRvci1jb250YWluZXJcIiBbY2xhc3MuYXgtc3RhdGUtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cclxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LXByZWZpeFwiPlxyXG4gICAgPC9uZy1jb250ZW50PlxyXG4gICAgPGRpdiBjbGFzcz1cImF4LWRyb3Bkb3duLWNvbnRlbnRcIiBzdHlsZT1cImRpc3BsYXk6IGlubGluZS1mbGV4O1wiIChjbGljayk9XCJfaGFuZGxlQXJyb3dDbGlja0V2ZW50KClcIj5cclxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbaW5wdXRdXCI+XHJcbiAgICAgICAgPC9uZy1jb250ZW50PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8YXgtYnV0dG9uIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIFt0YWJJbmRleF09XCItMVwiIFtzaXplXT1cInNpemVcIiBjb2xvcj1cImxpZ2h0XCIgbG9vaz1cImJsYW5rXCIgKG9uQ2xpY2spPVwiX2hhbmRsZUFycm93Q2xpY2tFdmVudCgpXCI+XHJcbiAgICAgICAgPGF4LWljb24gaWNvbj1cImF4LWljIGF4LWljLWNoZXZyb24gYXgtdHJhbnNmb3JtIGF4LS1yb3RhdGUtOTBcIj48L2F4LWljb24+XHJcbiAgICA8L2F4LWJ1dHRvbj5cclxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LXN1ZmZpeFwiPlxyXG4gICAgPC9uZy1jb250ZW50PlxyXG48L2Rpdj5cclxuPGF4LXBvcG92ZXIgW3RhcmdldF09XCJfdGFyZ2V0XCIgW3Bvc2l0aW9uXT1cInBvc2l0aW9uXCIgW29wZW5UcmlnZ2VyXT1cIidtYW51YWwnXCIgW2Nsb3NlVHJpZ2dlcl09XCInY2xpY2tvdXQnXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYXgtb3ZlcmxheS1wYW5lXCIgIFtzdHlsZS5taW4td2lkdGgucHhdPVwiZHJvcGRvd25XaWR0aFwiPlxyXG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltwYW5lbF1cIj5cclxuICAgICAgICA8L25nLWNvbnRlbnQ+XHJcbiAgICA8L2Rpdj5cclxuPC9heC1wb3BvdmVyPiJdfQ==
@@ -4,21 +4,22 @@ import { NgModule } from '@angular/core';
4
4
  import { AXButtonModule } from '../button';
5
5
  import { AXEditorDecoratorModule } from '../decorators';
6
6
  import { AXIconModule } from '../icon';
7
+ import { AXPopoverModule } from '../popover';
7
8
  import { AXDropdownPanelComponent } from './dropdown-panel.component';
8
9
  import { AXDropdownComponent } from './dropdown.component';
9
10
  import * as i0 from "@angular/core";
10
11
  export class AXDropdownModule {
11
12
  }
12
13
  AXDropdownModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXDropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
- AXDropdownModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXDropdownModule, declarations: [AXDropdownComponent, AXDropdownPanelComponent], imports: [CommonModule, AXButtonModule, OverlayModule, AXIconModule, AXEditorDecoratorModule], exports: [AXDropdownComponent, AXDropdownPanelComponent] });
14
- AXDropdownModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXDropdownModule, providers: [], imports: [[CommonModule, AXButtonModule, OverlayModule, AXIconModule, AXEditorDecoratorModule]] });
14
+ AXDropdownModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXDropdownModule, declarations: [AXDropdownComponent, AXDropdownPanelComponent], imports: [CommonModule, AXButtonModule, OverlayModule, AXIconModule, AXEditorDecoratorModule, AXPopoverModule], exports: [AXDropdownComponent, AXDropdownPanelComponent] });
15
+ AXDropdownModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXDropdownModule, providers: [], imports: [[CommonModule, AXButtonModule, OverlayModule, AXIconModule, AXEditorDecoratorModule, AXPopoverModule]] });
15
16
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXDropdownModule, decorators: [{
16
17
  type: NgModule,
17
18
  args: [{
18
- imports: [CommonModule, AXButtonModule, OverlayModule, AXIconModule, AXEditorDecoratorModule],
19
+ imports: [CommonModule, AXButtonModule, OverlayModule, AXIconModule, AXEditorDecoratorModule, AXPopoverModule],
19
20
  exports: [AXDropdownComponent, AXDropdownPanelComponent],
20
21
  declarations: [AXDropdownComponent, AXDropdownPanelComponent],
21
22
  providers: [],
22
23
  }]
23
24
  }] });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvc3JjL2xpYi9kcm9wZG93bi9kcm9wZG93bi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDM0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDdkMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBUTNELE1BQU0sT0FBTyxnQkFBZ0I7OzZHQUFoQixnQkFBZ0I7OEdBQWhCLGdCQUFnQixpQkFIVixtQkFBbUIsRUFBRSx3QkFBd0IsYUFGbEQsWUFBWSxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLHVCQUF1QixhQUNsRixtQkFBbUIsRUFBRSx3QkFBd0I7OEdBSTlDLGdCQUFnQixhQUZkLEVBQUUsWUFISixDQUFDLFlBQVksRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSx1QkFBdUIsQ0FBQzsyRkFLcEYsZ0JBQWdCO2tCQU41QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSx1QkFBdUIsQ0FBQztvQkFDN0YsT0FBTyxFQUFFLENBQUMsbUJBQW1CLEVBQUUsd0JBQXdCLENBQUM7b0JBQ3hELFlBQVksRUFBRSxDQUFDLG1CQUFtQixFQUFFLHdCQUF3QixDQUFDO29CQUM3RCxTQUFTLEVBQUUsRUFBRTtpQkFDaEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPdmVybGF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBWEJ1dHRvbk1vZHVsZSB9IGZyb20gJy4uL2J1dHRvbic7XHJcbmltcG9ydCB7IEFYRWRpdG9yRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnLi4vZGVjb3JhdG9ycyc7XHJcbmltcG9ydCB7IEFYSWNvbk1vZHVsZSB9IGZyb20gJy4uL2ljb24nO1xyXG5pbXBvcnQgeyBBWERyb3Bkb3duUGFuZWxDb21wb25lbnQgfSBmcm9tICcuL2Ryb3Bkb3duLXBhbmVsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFYRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuL2Ryb3Bkb3duLmNvbXBvbmVudCc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQVhCdXR0b25Nb2R1bGUsIE92ZXJsYXlNb2R1bGUsIEFYSWNvbk1vZHVsZSwgQVhFZGl0b3JEZWNvcmF0b3JNb2R1bGVdLFxyXG4gICAgZXhwb3J0czogW0FYRHJvcGRvd25Db21wb25lbnQsIEFYRHJvcGRvd25QYW5lbENvbXBvbmVudF0sXHJcbiAgICBkZWNsYXJhdGlvbnM6IFtBWERyb3Bkb3duQ29tcG9uZW50LCBBWERyb3Bkb3duUGFuZWxDb21wb25lbnRdLFxyXG4gICAgcHJvdmlkZXJzOiBbXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYRHJvcGRvd25Nb2R1bGUgeyB9XHJcbiJdfQ==
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvc3JjL2xpYi9kcm9wZG93bi9kcm9wZG93bi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDM0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDdkMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUM3QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFRM0QsTUFBTSxPQUFPLGdCQUFnQjs7NkdBQWhCLGdCQUFnQjs4R0FBaEIsZ0JBQWdCLGlCQUhWLG1CQUFtQixFQUFFLHdCQUF3QixhQUZsRCxZQUFZLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsdUJBQXVCLEVBQUUsZUFBZSxhQUNuRyxtQkFBbUIsRUFBRSx3QkFBd0I7OEdBSTlDLGdCQUFnQixhQUZkLEVBQUUsWUFISixDQUFDLFlBQVksRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSx1QkFBdUIsRUFBRSxlQUFlLENBQUM7MkZBS3JHLGdCQUFnQjtrQkFONUIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsdUJBQXVCLEVBQUUsZUFBZSxDQUFDO29CQUM5RyxPQUFPLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSx3QkFBd0IsQ0FBQztvQkFDeEQsWUFBWSxFQUFFLENBQUMsbUJBQW1CLEVBQUUsd0JBQXdCLENBQUM7b0JBQzdELFNBQVMsRUFBRSxFQUFFO2lCQUNoQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJsYXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFYQnV0dG9uTW9kdWxlIH0gZnJvbSAnLi4vYnV0dG9uJztcclxuaW1wb3J0IHsgQVhFZGl0b3JEZWNvcmF0b3JNb2R1bGUgfSBmcm9tICcuLi9kZWNvcmF0b3JzJztcclxuaW1wb3J0IHsgQVhJY29uTW9kdWxlIH0gZnJvbSAnLi4vaWNvbic7XHJcbmltcG9ydCB7IEFYUG9wb3Zlck1vZHVsZSB9IGZyb20gJy4uL3BvcG92ZXInO1xyXG5pbXBvcnQgeyBBWERyb3Bkb3duUGFuZWxDb21wb25lbnQgfSBmcm9tICcuL2Ryb3Bkb3duLXBhbmVsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFYRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuL2Ryb3Bkb3duLmNvbXBvbmVudCc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQVhCdXR0b25Nb2R1bGUsIE92ZXJsYXlNb2R1bGUsIEFYSWNvbk1vZHVsZSwgQVhFZGl0b3JEZWNvcmF0b3JNb2R1bGUsIEFYUG9wb3Zlck1vZHVsZV0sXHJcbiAgICBleHBvcnRzOiBbQVhEcm9wZG93bkNvbXBvbmVudCwgQVhEcm9wZG93blBhbmVsQ29tcG9uZW50XSxcclxuICAgIGRlY2xhcmF0aW9uczogW0FYRHJvcGRvd25Db21wb25lbnQsIEFYRHJvcGRvd25QYW5lbENvbXBvbmVudF0sXHJcbiAgICBwcm92aWRlcnM6IFtdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhEcm9wZG93bk1vZHVsZSB7IH1cclxuIl19
@@ -5,12 +5,12 @@ export class AXIconComponent extends AXSizableComponentMixin {
5
5
  constructor(elementRef, cdr) {
6
6
  super(elementRef, cdr);
7
7
  }
8
- get iconClass() {
8
+ get __iconClass() {
9
9
  return `ax-ic ${this.icon}`;
10
10
  }
11
11
  }
12
12
  AXIconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXIconComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
13
- AXIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: AXIconComponent, selector: "ax-icon", inputs: { icon: "icon" }, host: { properties: { "class": "this.iconClass" } }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
13
+ AXIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: AXIconComponent, selector: "ax-icon", inputs: { icon: "icon" }, host: { properties: { "class": "this.__iconClass" } }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
14
14
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXIconComponent, decorators: [{
15
15
  type: Component,
16
16
  args: [{
@@ -21,8 +21,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImpor
21
21
  }]
22
22
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { icon: [{
23
23
  type: Input
24
- }], iconClass: [{
24
+ }], __iconClass: [{
25
25
  type: HostBinding,
26
26
  args: ['class']
27
27
  }] } });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2ljb24vaWNvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSx1QkFBdUIsRUFBaUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6SSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxTQUFTLENBQUM7O0FBUWxELE1BQU0sT0FBTyxlQUFnQixTQUFRLHVCQUF1QjtJQVV4RCxZQUNJLFVBQXNCLEVBQ3RCLEdBQXNCO1FBRXRCLEtBQUssQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQVZELElBQ0ksU0FBUztRQUNULE9BQU8sU0FBUyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDaEMsQ0FBQzs7NEdBUlEsZUFBZTtnR0FBZixlQUFlLHFKQUpkLEVBQUU7MkZBSUgsZUFBZTtrQkFOM0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsU0FBUztvQkFDbkIsUUFBUSxFQUFFLEVBQUU7b0JBQ1osZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2lCQUN4QztpSUFJRyxJQUFJO3NCQURILEtBQUs7Z0JBSUYsU0FBUztzQkFEWixXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgRWxlbWVudFJlZiwgQ2hhbmdlRGV0ZWN0b3JSZWYsIElucHV0LCBIb3N0QmluZGluZyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBWFNpemFibGVDb21wb25lbnRNaXhpbiB9IGZyb20gJy4uL2Jhc2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2F4LWljb24nLFxyXG4gICAgdGVtcGxhdGU6ICcnLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhJY29uQ29tcG9uZW50IGV4dGVuZHMgQVhTaXphYmxlQ29tcG9uZW50TWl4aW4ge1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBpY29uOiBzdHJpbmc7XHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXHJcbiAgICBnZXQgaWNvbkNsYXNzKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIGBheC1pYyAke3RoaXMuaWNvbn1gO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICAgICAgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxyXG4gICAgKSB7XHJcbiAgICAgICAgc3VwZXIoZWxlbWVudFJlZiwgY2RyKTtcclxuICAgIH1cclxuXHJcbn1cclxuIl19
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2ljb24vaWNvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSx1QkFBdUIsRUFBaUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6SSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxTQUFTLENBQUM7O0FBUWxELE1BQU0sT0FBTyxlQUFnQixTQUFRLHVCQUF1QjtJQVV4RCxZQUNJLFVBQXNCLEVBQ3RCLEdBQXNCO1FBRXRCLEtBQUssQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQVZELElBQ1ksV0FBVztRQUNuQixPQUFPLFNBQVMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2hDLENBQUM7OzRHQVJRLGVBQWU7Z0dBQWYsZUFBZSx1SkFKZCxFQUFFOzJGQUlILGVBQWU7a0JBTjNCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLFNBQVM7b0JBQ25CLFFBQVEsRUFBRSxFQUFFO29CQUNaLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtpQkFDeEM7aUlBSUcsSUFBSTtzQkFESCxLQUFLO2dCQUlNLFdBQVc7c0JBRHRCLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24sIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBFbGVtZW50UmVmLCBDaGFuZ2VEZXRlY3RvclJlZiwgSW5wdXQsIEhvc3RCaW5kaW5nIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFYU2l6YWJsZUNvbXBvbmVudE1peGluIH0gZnJvbSAnLi4vYmFzZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYXgtaWNvbicsXHJcbiAgICB0ZW1wbGF0ZTogJycsXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWEljb25Db21wb25lbnQgZXh0ZW5kcyBBWFNpemFibGVDb21wb25lbnRNaXhpbiB7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIGljb246IHN0cmluZztcclxuXHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcclxuICAgIHByaXZhdGUgZ2V0IF9faWNvbkNsYXNzKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIGBheC1pYyAke3RoaXMuaWNvbn1gO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICAgICAgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxyXG4gICAgKSB7XHJcbiAgICAgICAgc3VwZXIoZWxlbWVudFJlZiwgY2RyKTtcclxuICAgIH1cclxuXHJcbn1cclxuIl19