@acorex/components 16.18.6 → 16.18.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (176) hide show
  1. package/esm2022/lib/accordion/accordion.component.mjs +3 -3
  2. package/esm2022/lib/accordion/accordion.module.mjs +4 -4
  3. package/esm2022/lib/base/base-page.class.mjs +6 -6
  4. package/esm2022/lib/base/components.class.mjs +6 -6
  5. package/esm2022/lib/base/element.class.mjs +15 -15
  6. package/esm2022/lib/button/button.component.mjs +3 -3
  7. package/esm2022/lib/button/button.module.mjs +4 -4
  8. package/esm2022/lib/calendar/calendar-box/calendar-box.component.mjs +77 -34
  9. package/esm2022/lib/calendar/calendar-box/calendar-box.module.mjs +4 -4
  10. package/esm2022/lib/calendar/scheduler/scheduler-views.property.mjs +6 -6
  11. package/esm2022/lib/calendar/scheduler/scheduler.component.mjs +3 -3
  12. package/esm2022/lib/calendar/scheduler/scheduler.module.mjs +4 -4
  13. package/esm2022/lib/calendar/scheduler/toolbars/scheduler-toolbar-navigator.mjs +3 -3
  14. package/esm2022/lib/calendar/scheduler/toolbars/scheduler-toolbar-views.mjs +3 -3
  15. package/esm2022/lib/calendar/scheduler/views/agenda/scheduler-agenda-view.component.mjs +3 -3
  16. package/esm2022/lib/calendar/scheduler/views/daytime/scheduler-daytime-view.component.mjs +3 -3
  17. package/esm2022/lib/calendar/scheduler/views/month/scheduler-month-view.component.mjs +3 -3
  18. package/esm2022/lib/calendar/scheduler/views/scheduler-view.component.mjs +3 -3
  19. package/esm2022/lib/calendar/scheduler/views/timeline/scheduler-timeline-view.component.mjs +3 -3
  20. package/esm2022/lib/checkbox/checkbox.component.mjs +3 -3
  21. package/esm2022/lib/checkbox/checkbox.module.mjs +4 -4
  22. package/esm2022/lib/color-picker/color-box/color-box.component.mjs +3 -3
  23. package/esm2022/lib/color-picker/color-picker.component.mjs +3 -3
  24. package/esm2022/lib/color-picker/color-picker.module.mjs +4 -4
  25. package/esm2022/lib/context-menu/context-menu.component.mjs +3 -3
  26. package/esm2022/lib/context-menu/context-menu.directive.mjs +3 -3
  27. package/esm2022/lib/context-menu/context-menu.module.mjs +4 -4
  28. package/esm2022/lib/data-filter/columns/filter-column-date.component.mjs +3 -3
  29. package/esm2022/lib/data-filter/columns/filter-column-number.component.mjs +3 -3
  30. package/esm2022/lib/data-filter/columns/filter-column-selection.component.mjs +3 -3
  31. package/esm2022/lib/data-filter/columns/filter-column-string.component.mjs +3 -3
  32. package/esm2022/lib/data-filter/filter-panel/filter-panel.component.mjs +3 -3
  33. package/esm2022/lib/data-filter/filter.class.mjs +3 -3
  34. package/esm2022/lib/data-filter/filter.module.mjs +4 -4
  35. package/esm2022/lib/data-filter/toolbar/filter-toolbar.component.mjs +3 -3
  36. package/esm2022/lib/data-list/core/data-list.component.mjs +3 -3
  37. package/esm2022/lib/data-list/list/list.component.mjs +3 -3
  38. package/esm2022/lib/data-list/list/list.module.mjs +4 -4
  39. package/esm2022/lib/data-list/list/toolbar-list-view.component.mjs +3 -3
  40. package/esm2022/lib/data-source/datasource.component.mjs +3 -3
  41. package/esm2022/lib/data-source/datasource.module.mjs +4 -4
  42. package/esm2022/lib/date-picker/date-picker.component.mjs +3 -3
  43. package/esm2022/lib/date-picker/date-picker.module.mjs +4 -4
  44. package/esm2022/lib/dialog/dialog.component.mjs +3 -3
  45. package/esm2022/lib/dialog/dialog.module.mjs +4 -4
  46. package/esm2022/lib/dialog/dialog.service.mjs +3 -3
  47. package/esm2022/lib/drawer/content.component.mjs +3 -3
  48. package/esm2022/lib/drawer/drawer-container.component.mjs +3 -3
  49. package/esm2022/lib/drawer/drawer.component.mjs +3 -3
  50. package/esm2022/lib/drawer/drawer.module.mjs +4 -4
  51. package/esm2022/lib/dropdown/dropdown.component.mjs +3 -3
  52. package/esm2022/lib/dropdown/dropdown.module.mjs +4 -4
  53. package/esm2022/lib/fieldset/fieldset.component.mjs +3 -3
  54. package/esm2022/lib/fieldset/fieldset.module.mjs +4 -4
  55. package/esm2022/lib/form-group/form-group.component.mjs +3 -3
  56. package/esm2022/lib/form-group/form-group.module.mjs +4 -4
  57. package/esm2022/lib/label/label.component.mjs +3 -3
  58. package/esm2022/lib/label/label.module.mjs +4 -4
  59. package/esm2022/lib/loading/loading-indicator.component.mjs +3 -3
  60. package/esm2022/lib/loading/loading-panel.component.mjs +3 -3
  61. package/esm2022/lib/loading/loading.module.mjs +4 -4
  62. package/esm2022/lib/loading/loading.service.mjs +3 -3
  63. package/esm2022/lib/menu/menu-item.component.mjs +3 -3
  64. package/esm2022/lib/menu/menu.component.mjs +3 -3
  65. package/esm2022/lib/menu/menu.module.mjs +4 -4
  66. package/esm2022/lib/menu/menu2.component.mjs +3 -3
  67. package/esm2022/lib/number-box/number-box.component.mjs +3 -3
  68. package/esm2022/lib/number-box/number-box.module.mjs +4 -4
  69. package/esm2022/lib/page/content.component.mjs +3 -3
  70. package/esm2022/lib/page/footer.component.mjs +3 -3
  71. package/esm2022/lib/page/page.component.mjs +3 -3
  72. package/esm2022/lib/page/page.module.mjs +4 -4
  73. package/esm2022/lib/panel-box/panel-box.component.mjs +3 -3
  74. package/esm2022/lib/panel-box/panel-box.module.mjs +4 -4
  75. package/esm2022/lib/password-box/password-box.component.mjs +3 -3
  76. package/esm2022/lib/password-box/password-box.module.mjs +4 -4
  77. package/esm2022/lib/popover/custom-cdk-overlay.service.mjs +6 -6
  78. package/esm2022/lib/popover/overlay.service.mjs +3 -3
  79. package/esm2022/lib/popover/popover.component.mjs +3 -3
  80. package/esm2022/lib/popover/popover.module.mjs +4 -4
  81. package/esm2022/lib/popup/popup.component.mjs +3 -3
  82. package/esm2022/lib/popup/popup.module.mjs +4 -4
  83. package/esm2022/lib/popup/popup.service.mjs +3 -3
  84. package/esm2022/lib/progress-bar/progress-bar.component.mjs +3 -3
  85. package/esm2022/lib/progress-bar/progress-bar.module.mjs +4 -4
  86. package/esm2022/lib/property-editor/editors/check-editor/check-editor.mjs +3 -3
  87. package/esm2022/lib/property-editor/editors/check-editor/check.module.mjs +4 -4
  88. package/esm2022/lib/property-editor/editors/color-editor/color.editor.mjs +3 -3
  89. package/esm2022/lib/property-editor/editors/color-editor/color.module.mjs +4 -4
  90. package/esm2022/lib/property-editor/editors/column-editor/column.editor.mjs +3 -3
  91. package/esm2022/lib/property-editor/editors/column-editor/column.module.mjs +4 -4
  92. package/esm2022/lib/property-editor/editors/conditional-color-editor/conditional-color.editor.mjs +3 -3
  93. package/esm2022/lib/property-editor/editors/conditional-color-editor/conditional-color.module.mjs +4 -4
  94. package/esm2022/lib/property-editor/editors/date-editor/date.editor.mjs +3 -3
  95. package/esm2022/lib/property-editor/editors/date-editor/date.module.mjs +4 -4
  96. package/esm2022/lib/property-editor/editors/number-editor/number.editor.mjs +3 -3
  97. package/esm2022/lib/property-editor/editors/number-editor/number.module.mjs +4 -4
  98. package/esm2022/lib/property-editor/editors/range-editor/range.editor.mjs +3 -3
  99. package/esm2022/lib/property-editor/editors/range-editor/range.module.mjs +4 -4
  100. package/esm2022/lib/property-editor/editors/searchbar-selectbox-editor/searchbar-selectbox-editor.mjs +3 -3
  101. package/esm2022/lib/property-editor/editors/selectbox-editor/selectbox.editor.mjs +7 -7
  102. package/esm2022/lib/property-editor/editors/selectbox-editor/selectbox.module.mjs +4 -4
  103. package/esm2022/lib/property-editor/editors/selection-editor/selection-editor.mjs +3 -3
  104. package/esm2022/lib/property-editor/editors/selection-editor/selection.module.mjs +4 -4
  105. package/esm2022/lib/property-editor/editors/switch-editor/number.editor.mjs +3 -3
  106. package/esm2022/lib/property-editor/editors/switch-editor/number.module.mjs +4 -4
  107. package/esm2022/lib/property-editor/editors/text-editor/text.editor.mjs +3 -3
  108. package/esm2022/lib/property-editor/editors/text-editor/text.module.mjs +4 -4
  109. package/esm2022/lib/property-editor/editors/textarea-editor/textarea.editor.mjs +3 -3
  110. package/esm2022/lib/property-editor/editors/textarea-editor/textarea.module.mjs +4 -4
  111. package/esm2022/lib/property-editor/editors/time-editor/time.editor.mjs +3 -3
  112. package/esm2022/lib/property-editor/editors/time-editor/time.module.mjs +4 -4
  113. package/esm2022/lib/property-editor/property-editor-renderer.directive.mjs +3 -3
  114. package/esm2022/lib/property-editor/property-editor.class.mjs +3 -3
  115. package/esm2022/lib/property-editor/property-editor.module.mjs +4 -4
  116. package/esm2022/lib/query-builder/query-builder-group.component.mjs +3 -3
  117. package/esm2022/lib/query-builder/query-builder-popup/query-builder-popup.component.mjs +3 -3
  118. package/esm2022/lib/query-builder/query-builder-rule.component.mjs +3 -3
  119. package/esm2022/lib/query-builder/query-builder.component.mjs +3 -3
  120. package/esm2022/lib/query-builder/query-builder.module.mjs +4 -4
  121. package/esm2022/lib/query-builder/query-builder.service.mjs +3 -3
  122. package/esm2022/lib/search-bar/search-bar.component.mjs +3 -3
  123. package/esm2022/lib/search-bar/search-bar.module.mjs +4 -4
  124. package/esm2022/lib/searchbox/searchbox.component.mjs +3 -3
  125. package/esm2022/lib/searchbox/searchbox.module.mjs +4 -4
  126. package/esm2022/lib/selectbox/selectbox.component.mjs +3 -3
  127. package/esm2022/lib/selectbox/selectbox.module.mjs +4 -4
  128. package/esm2022/lib/selectbox/selectbox2.component.mjs +3 -3
  129. package/esm2022/lib/selection-list/selection-list.component.mjs +14 -9
  130. package/esm2022/lib/selection-list/selection-list.module.mjs +4 -4
  131. package/esm2022/lib/switch/switch.component.mjs +3 -3
  132. package/esm2022/lib/switch/switch.module.mjs +4 -4
  133. package/esm2022/lib/tab-page/tab-page-Renderer.component.mjs +3 -3
  134. package/esm2022/lib/tab-page/tab-page-host.component.mjs +3 -3
  135. package/esm2022/lib/tab-page/tab-page.module.mjs +4 -4
  136. package/esm2022/lib/tab-page/tab-page.service.mjs +3 -3
  137. package/esm2022/lib/tab-strip/tab-strip.component.mjs +3 -3
  138. package/esm2022/lib/tab-strip/tab-strip.module.mjs +4 -4
  139. package/esm2022/lib/tab-view/dynamic-tabs.directive.mjs +3 -3
  140. package/esm2022/lib/tab-view/tab-view.component.mjs +3 -3
  141. package/esm2022/lib/tab-view/tab-view.module.mjs +4 -4
  142. package/esm2022/lib/tab-view/tab.component.mjs +3 -3
  143. package/esm2022/lib/textarea/textarea.component.mjs +3 -3
  144. package/esm2022/lib/textarea/textarea.module.mjs +4 -4
  145. package/esm2022/lib/textbox/textbox.component.mjs +3 -3
  146. package/esm2022/lib/textbox/textbox.module.mjs +4 -4
  147. package/esm2022/lib/time-picker/time-picker.component.mjs +3 -3
  148. package/esm2022/lib/time-picker/time-picker.module.mjs +4 -4
  149. package/esm2022/lib/toast/toast-message/toast-message.component.mjs +3 -3
  150. package/esm2022/lib/toast/toast-wrapper/toast-wrapper.component.mjs +3 -3
  151. package/esm2022/lib/toast/toast.module.mjs +4 -4
  152. package/esm2022/lib/toast/toast.service.mjs +3 -3
  153. package/esm2022/lib/toolbar/group-button/toolbar-group-button.component.mjs +3 -3
  154. package/esm2022/lib/toolbar/menu/toolbar-menu.component.mjs +3 -3
  155. package/esm2022/lib/toolbar/search/toolbar-search.component.mjs +3 -3
  156. package/esm2022/lib/toolbar/title/toolbar-title.component.mjs +3 -3
  157. package/esm2022/lib/toolbar/toolbar.component.mjs +3 -3
  158. package/esm2022/lib/toolbar/toolbar.module.mjs +4 -4
  159. package/esm2022/lib/tooltip/tooltip.directive.mjs +3 -3
  160. package/esm2022/lib/tooltip/tooltip.module.mjs +4 -4
  161. package/esm2022/lib/tree-side-menu/tree-side-menu.component.mjs +3 -3
  162. package/esm2022/lib/tree-side-menu/tree-side-menu.module.mjs +4 -4
  163. package/esm2022/lib/tree-view/tree-view.component.mjs +3 -3
  164. package/esm2022/lib/tree-view/tree-view.module.mjs +4 -4
  165. package/esm2022/lib/upload-file/upload-file.component.mjs +12 -8
  166. package/esm2022/lib/upload-file/upload-file.module.mjs +4 -4
  167. package/esm2022/lib/validation/validation-form.component.mjs +3 -3
  168. package/esm2022/lib/validation/validation-rule.widget.mjs +24 -19
  169. package/esm2022/lib/validation/validation.component.mjs +6 -6
  170. package/esm2022/lib/validation/validation.module.mjs +4 -4
  171. package/fesm2022/acorex-components.mjs +706 -648
  172. package/fesm2022/acorex-components.mjs.map +1 -1
  173. package/lib/calendar/calendar-box/calendar-box.component.d.ts +8 -4
  174. package/lib/property-editor/editors/selectbox-editor/selectbox.editor.d.ts +2 -2
  175. package/lib/validation/validation-rule.widget.d.ts +2 -1
  176. package/package.json +2 -2
@@ -3,10 +3,10 @@ import * as i0 from "@angular/core";
3
3
  export class AXToastWrapperComponent {
4
4
  constructor() { }
5
5
  ngOnInit() { }
6
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: AXToastWrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.6", type: AXToastWrapperComponent, selector: "ax-toast-wrapper", ngImport: i0, template: '', isInline: true, styles: ["ax-toast-wrapper{min-width:300px;max-width:360px;height:auto;position:fixed;bottom:0;right:50%;left:50%;display:flex;flex-direction:column;margin:auto auto auto -150px;z-index:10003;flex-wrap:wrap}\n"], encapsulation: i0.ViewEncapsulation.None });
6
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXToastWrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.7", type: AXToastWrapperComponent, selector: "ax-toast-wrapper", ngImport: i0, template: '', isInline: true, styles: ["ax-toast-wrapper{min-width:300px;max-width:360px;height:auto;position:fixed;bottom:0;right:50%;left:50%;display:flex;flex-direction:column;margin:auto auto auto -150px;z-index:10003;flex-wrap:wrap}\n"], encapsulation: i0.ViewEncapsulation.None });
8
8
  }
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: AXToastWrapperComponent, decorators: [{
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXToastWrapperComponent, decorators: [{
10
10
  type: Component,
11
11
  args: [{ selector: 'ax-toast-wrapper', template: '', encapsulation: ViewEncapsulation.None, styles: ["ax-toast-wrapper{min-width:300px;max-width:360px;height:auto;position:fixed;bottom:0;right:50%;left:50%;display:flex;flex-direction:column;margin:auto auto auto -150px;z-index:10003;flex-wrap:wrap}\n"] }]
12
12
  }], ctorParameters: () => [] });
@@ -5,11 +5,11 @@ import { AXToastWrapperComponent } from './toast-wrapper/toast-wrapper.component
5
5
  import { AXToastMessageComponent } from './toast-message/toast-message.component';
6
6
  import * as i0 from "@angular/core";
7
7
  export class AXToastModule {
8
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: AXToastModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.6", ngImport: i0, type: AXToastModule, declarations: [AXToastWrapperComponent, AXToastMessageComponent], imports: [CommonModule], exports: [AXToastWrapperComponent] });
10
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: AXToastModule, providers: [AXToastService], imports: [CommonModule] });
8
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXToastModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.7", ngImport: i0, type: AXToastModule, declarations: [AXToastWrapperComponent, AXToastMessageComponent], imports: [CommonModule], exports: [AXToastWrapperComponent] });
10
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXToastModule, providers: [AXToastService], imports: [CommonModule] });
11
11
  }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: AXToastModule, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXToastModule, decorators: [{
13
13
  type: NgModule,
14
14
  args: [{
15
15
  declarations: [AXToastWrapperComponent, AXToastMessageComponent],
@@ -35,10 +35,10 @@ export class AXToastService {
35
35
  this.injectionService.appendComponent(AXToastMessageComponent, opt, wrapper);
36
36
  }
37
37
  }
38
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: AXToastService, deps: [{ token: i1.AXRenderService }], target: i0.ɵɵFactoryTarget.Injectable });
39
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: AXToastService, providedIn: 'root' });
38
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXToastService, deps: [{ token: i1.AXRenderService }], target: i0.ɵɵFactoryTarget.Injectable });
39
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXToastService, providedIn: 'root' });
40
40
  }
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: AXToastService, decorators: [{
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXToastService, decorators: [{
42
42
  type: Injectable,
43
43
  args: [{ providedIn: 'root' }]
44
44
  }], ctorParameters: () => [{ type: i1.AXRenderService }] });
@@ -25,8 +25,8 @@ export class AXToolbarButtonGroupComponent {
25
25
  }
26
26
  }
27
27
  }
28
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: AXToolbarButtonGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
29
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.6", type: AXToolbarButtonGroupComponent, selector: "ax-toolbar-group-button", inputs: { items: "items", mode: "mode" }, outputs: { itemClick: "itemClick" }, providers: [
28
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXToolbarButtonGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
29
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.7", type: AXToolbarButtonGroupComponent, selector: "ax-toolbar-group-button", inputs: { items: "items", mode: "mode" }, outputs: { itemClick: "itemClick" }, providers: [
30
30
  { provide: AXToolbarItem, useExisting: AXToolbarButtonGroupComponent }
31
31
  ], ngImport: i0, template: `
32
32
  <div class="btn-group" role="group">
@@ -44,7 +44,7 @@ export class AXToolbarButtonGroupComponent {
44
44
  </div>
45
45
  `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
46
46
  }
47
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: AXToolbarButtonGroupComponent, decorators: [{
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXToolbarButtonGroupComponent, decorators: [{
48
48
  type: Component,
49
49
  args: [{
50
50
  selector: "ax-toolbar-group-button",
@@ -39,10 +39,10 @@ export class AXToolbarMenuComponent extends AXToolbarItem {
39
39
  //this.menu.update();
40
40
  this.cdr.detectChanges();
41
41
  }
42
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: AXToolbarMenuComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
43
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.6", type: AXToolbarMenuComponent, selector: "ax-toolbar-menu", inputs: { menuTemplate: "menuTemplate", floatPlacemnet: "floatPlacemnet", selection: "selection", items: "items" }, outputs: { onItemClick: "onItemClick" }, providers: [{ provide: AXToolbarItem, useExisting: AXToolbarMenuComponent }], queries: [{ propertyName: "_contentMenuTemplate", first: true, predicate: TemplateRef, descendants: true, static: true }], viewQueries: [{ propertyName: "menu", first: true, predicate: ["menu"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-toolbar-menu-container\">\n <ax-menu\n #menu\n [items]=\"items\"\n [selection]=\"selection\"\n (onItemClick)=\"handleItemClick($event)\"\n [menuTemplate]=\"menuTemplate\"\n [floatPlacemnet]=\"floatPlacemnet\"\n >\n </ax-menu>\n</div>\n", dependencies: [{ kind: "component", type: i1.AXMenuComponent, selector: "ax-menu", inputs: ["menuTemplate", "rtl", "size", "selection", "mode", "target", "floatAlignment", "floatPlacemnet", "direction", "items"], outputs: ["onItemClick"] }], encapsulation: i0.ViewEncapsulation.None });
42
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXToolbarMenuComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
43
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.7", type: AXToolbarMenuComponent, selector: "ax-toolbar-menu", inputs: { menuTemplate: "menuTemplate", floatPlacemnet: "floatPlacemnet", selection: "selection", items: "items" }, outputs: { onItemClick: "onItemClick" }, providers: [{ provide: AXToolbarItem, useExisting: AXToolbarMenuComponent }], queries: [{ propertyName: "_contentMenuTemplate", first: true, predicate: TemplateRef, descendants: true, static: true }], viewQueries: [{ propertyName: "menu", first: true, predicate: ["menu"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-toolbar-menu-container\">\n <ax-menu\n #menu\n [items]=\"items\"\n [selection]=\"selection\"\n (onItemClick)=\"handleItemClick($event)\"\n [menuTemplate]=\"menuTemplate\"\n [floatPlacemnet]=\"floatPlacemnet\"\n >\n </ax-menu>\n</div>\n", dependencies: [{ kind: "component", type: i1.AXMenuComponent, selector: "ax-menu", inputs: ["menuTemplate", "rtl", "size", "selection", "mode", "target", "floatAlignment", "floatPlacemnet", "direction", "items"], outputs: ["onItemClick"] }], encapsulation: i0.ViewEncapsulation.None });
44
44
  }
45
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: AXToolbarMenuComponent, decorators: [{
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXToolbarMenuComponent, decorators: [{
46
46
  type: Component,
47
47
  args: [{ selector: 'ax-toolbar-menu', providers: [{ provide: AXToolbarItem, useExisting: AXToolbarMenuComponent }], encapsulation: ViewEncapsulation.None, template: "<div class=\"ax-toolbar-menu-container\">\n <ax-menu\n #menu\n [items]=\"items\"\n [selection]=\"selection\"\n (onItemClick)=\"handleItemClick($event)\"\n [menuTemplate]=\"menuTemplate\"\n [floatPlacemnet]=\"floatPlacemnet\"\n >\n </ax-menu>\n</div>\n" }]
48
48
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { menu: [{
@@ -39,10 +39,10 @@ export class AXToolbarSearchComponent {
39
39
  }
40
40
  this.searchChangeObserver.next(text);
41
41
  }
42
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: AXToolbarSearchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
43
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.6", type: AXToolbarSearchComponent, selector: "ax-toolbar-search", inputs: { text: "text" }, outputs: { onValueChanged: "onValueChanged" }, providers: [{ provide: AXToolbarItem, useExisting: AXToolbarSearchComponent }], viewQueries: [{ propertyName: "inputSearch", first: true, predicate: ["input"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"search-bar\">\n <input #input type=\"text\" placeholder=\"\u062C\u0633\u062A\u062C\u0648 ...\" (input)=\"onSearchChanged($event.target.value)\" />\n <i class=\"far fa-search text-secondary\"></i>\n</div>", styles: [".search-bar{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--ax-border-color);border-radius:var(--ax-size-border-radius);padding:.3em .6em;background:var(--ax-white-color)}.search-bar input{border:none!important;background-color:transparent;outline-color:transparent!important;flex:1;font-family:inherit;font-size:inherit}.search-bar input::placeholder{color:var(--ax-gray-color)}.search-bar i{color:var(--ax-gray-color)}\n"] });
42
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXToolbarSearchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
43
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.7", type: AXToolbarSearchComponent, selector: "ax-toolbar-search", inputs: { text: "text" }, outputs: { onValueChanged: "onValueChanged" }, providers: [{ provide: AXToolbarItem, useExisting: AXToolbarSearchComponent }], viewQueries: [{ propertyName: "inputSearch", first: true, predicate: ["input"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"search-bar\">\n <input #input type=\"text\" placeholder=\"\u062C\u0633\u062A\u062C\u0648 ...\" (input)=\"onSearchChanged($event.target.value)\" />\n <i class=\"far fa-search text-secondary\"></i>\n</div>", styles: [".search-bar{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--ax-border-color);border-radius:var(--ax-size-border-radius);padding:.3em .6em;background:var(--ax-white-color)}.search-bar input{border:none!important;background-color:transparent;outline-color:transparent!important;flex:1;font-family:inherit;font-size:inherit}.search-bar input::placeholder{color:var(--ax-gray-color)}.search-bar i{color:var(--ax-gray-color)}\n"] });
44
44
  }
45
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: AXToolbarSearchComponent, decorators: [{
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXToolbarSearchComponent, decorators: [{
46
46
  type: Component,
47
47
  args: [{ selector: 'ax-toolbar-search', providers: [{ provide: AXToolbarItem, useExisting: AXToolbarSearchComponent }], template: "<div class=\"search-bar\">\n <input #input type=\"text\" placeholder=\"\u062C\u0633\u062A\u062C\u0648 ...\" (input)=\"onSearchChanged($event.target.value)\" />\n <i class=\"far fa-search text-secondary\"></i>\n</div>", styles: [".search-bar{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--ax-border-color);border-radius:var(--ax-size-border-radius);padding:.3em .6em;background:var(--ax-white-color)}.search-bar input{border:none!important;background-color:transparent;outline-color:transparent!important;flex:1;font-family:inherit;font-size:inherit}.search-bar input::placeholder{color:var(--ax-gray-color)}.search-bar i{color:var(--ax-gray-color)}\n"] }]
48
48
  }], ctorParameters: () => [], propDecorators: { inputSearch: [{
@@ -13,8 +13,8 @@ export class AXToolbarTitleComponent {
13
13
  this._text = v;
14
14
  }
15
15
  }
16
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: AXToolbarTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
17
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.6", type: AXToolbarTitleComponent, selector: "ax-toolbar-title", inputs: { text: "text" }, providers: [{ provide: AXToolbarItem, useExisting: AXToolbarTitleComponent }], ngImport: i0, template: `
16
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXToolbarTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
17
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.7", type: AXToolbarTitleComponent, selector: "ax-toolbar-title", inputs: { text: "text" }, providers: [{ provide: AXToolbarItem, useExisting: AXToolbarTitleComponent }], ngImport: i0, template: `
18
18
  <ng-container *ngIf="text; else elseTemplate">
19
19
  <div class="title">{{text}}</div>
20
20
  </ng-container>
@@ -22,7 +22,7 @@ export class AXToolbarTitleComponent {
22
22
  <ng-content></ng-content>
23
23
  </ng-template>`, isInline: true, styles: [".title{height:100%;display:flex;align-items:center}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
24
24
  }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: AXToolbarTitleComponent, decorators: [{
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXToolbarTitleComponent, decorators: [{
26
26
  type: Component,
27
27
  args: [{ selector: 'ax-toolbar-title', template: `
28
28
  <ng-container *ngIf="text; else elseTemplate">
@@ -3,10 +3,10 @@ import * as i0 from "@angular/core";
3
3
  export class AXToolbarComponent {
4
4
  constructor() { }
5
5
  ngOnInit() { }
6
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: AXToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.6", type: AXToolbarComponent, selector: "ax-toolbar", ngImport: i0, template: "<div class=\"ax-toolbar\">\n <ng-content>\n </ng-content>\n</div>", styles: ["ax-toolbar{width:100%}ax-toolbar .ax-toolbar{display:flex;width:100%;justify-content:space-between;align-items:center}\n"], encapsulation: i0.ViewEncapsulation.None });
6
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.7", type: AXToolbarComponent, selector: "ax-toolbar", ngImport: i0, template: "<div class=\"ax-toolbar\">\n <ng-content>\n </ng-content>\n</div>", styles: ["ax-toolbar{width:100%}ax-toolbar .ax-toolbar{display:flex;width:100%;justify-content:space-between;align-items:center}\n"], encapsulation: i0.ViewEncapsulation.None });
8
8
  }
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: AXToolbarComponent, decorators: [{
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXToolbarComponent, decorators: [{
10
10
  type: Component,
11
11
  args: [{ selector: 'ax-toolbar', encapsulation: ViewEncapsulation.None, template: "<div class=\"ax-toolbar\">\n <ng-content>\n </ng-content>\n</div>", styles: ["ax-toolbar{width:100%}ax-toolbar .ax-toolbar{display:flex;width:100%;justify-content:space-between;align-items:center}\n"] }]
12
12
  }], ctorParameters: () => [] });
@@ -16,8 +16,8 @@ const COMPONENTS = [
16
16
  AXToolbarButtonGroupComponent
17
17
  ];
18
18
  export class AXToolbarModule {
19
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: AXToolbarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
20
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.6", ngImport: i0, type: AXToolbarModule, declarations: [AXToolbarComponent,
19
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXToolbarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
20
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.7", ngImport: i0, type: AXToolbarModule, declarations: [AXToolbarComponent,
21
21
  AXToolbarMenuComponent,
22
22
  AXToolbarSearchComponent,
23
23
  AXToolbarTitleComponent,
@@ -26,9 +26,9 @@ export class AXToolbarModule {
26
26
  AXToolbarSearchComponent,
27
27
  AXToolbarTitleComponent,
28
28
  AXToolbarButtonGroupComponent] });
29
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: AXToolbarModule, imports: [CommonModule, AXPopoverModule, AXMenuModule] });
29
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXToolbarModule, imports: [CommonModule, AXPopoverModule, AXMenuModule] });
30
30
  }
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: AXToolbarModule, decorators: [{
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXToolbarModule, decorators: [{
32
32
  type: NgModule,
33
33
  args: [{
34
34
  declarations: [COMPONENTS],
@@ -87,10 +87,10 @@ export class AXTooltipDirective {
87
87
  this.renderer.setStyle(this.tooltip, 'top', `${top + scrollPos}px`);
88
88
  this.renderer.setStyle(this.tooltip, 'left', `${left}px`);
89
89
  }
90
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: AXTooltipDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
91
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.6", type: AXTooltipDirective, selector: "[axTooltip]", inputs: { tooltipTitle: ["tooltip", "tooltipTitle"], placement: "placement", delay: "delay" }, host: { listeners: { "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()", "click": "onMouseClick()" } }, ngImport: i0 });
90
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXTooltipDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
91
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.7", type: AXTooltipDirective, selector: "[axTooltip]", inputs: { tooltipTitle: ["tooltip", "tooltipTitle"], placement: "placement", delay: "delay" }, host: { listeners: { "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()", "click": "onMouseClick()" } }, ngImport: i0 });
92
92
  }
93
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: AXTooltipDirective, decorators: [{
93
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXTooltipDirective, decorators: [{
94
94
  type: Directive,
95
95
  args: [{
96
96
  selector: '[axTooltip]',
@@ -3,11 +3,11 @@ import { CommonModule } from '@angular/common';
3
3
  import { AXTooltipDirective } from './tooltip.directive';
4
4
  import * as i0 from "@angular/core";
5
5
  export class AXTooltipModule {
6
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: AXTooltipModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
7
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.6", ngImport: i0, type: AXTooltipModule, declarations: [AXTooltipDirective], imports: [CommonModule], exports: [AXTooltipDirective] });
8
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: AXTooltipModule, imports: [CommonModule] });
6
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXTooltipModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
7
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.7", ngImport: i0, type: AXTooltipModule, declarations: [AXTooltipDirective], imports: [CommonModule], exports: [AXTooltipDirective] });
8
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXTooltipModule, imports: [CommonModule] });
9
9
  }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: AXTooltipModule, decorators: [{
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXTooltipModule, decorators: [{
11
11
  type: NgModule,
12
12
  args: [{
13
13
  declarations: [AXTooltipDirective],
@@ -633,10 +633,10 @@ export class AXTreeSideMenuComponent extends AXBaseComponent {
633
633
  });
634
634
  return keyFields;
635
635
  }
636
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: AXTreeSideMenuComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
637
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.6", type: AXTreeSideMenuComponent, selector: "ax-tree-side-menu", inputs: { cssClass: "cssClass", selectionMode: "selectionMode", selectionLevel: "selectionLevel", selectedFieldName: "selectedFieldName", selectNodesRecursive: "selectNodesRecursive", seletedKeyFields: "seletedKeyFields", keyField: "keyField", textField: "textField", hasChildField: "hasChildField", bordered: "bordered", lazyLoading: "lazyLoading", allowDrag: "allowDrag", size: "size", iconStart: "iconStart", closeIconName: "closeIconName", openIconName: "openIconName", contextMenuItems: "contextMenuItems" }, outputs: { selectionChanged: "selectionChanged", onItemOpening: "onItemOpening", onItemClick: "onItemClick", onItemClosing: "onItemClosing", onItemDrag: "onItemDrag", onItemMoved: "onItemMoved", onContextMenuItemClick: "onContextMenuItemClick" }, queries: [{ propertyName: "nodeTemplate", first: true, predicate: TemplateRef, descendants: true, static: true }, { propertyName: "_contentDataSource", first: true, predicate: AXDataSourceComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ul class=\"ax-tree-side-menu {{size}} {{cssClass}}\">\n <ng-template #recursiveList let-list>\n <ng-container *ngFor=\"let item of list\">\n <li (click)=\"handleOnNodeClick($event,item,true)\"\n class=\"{{item[hasChildField] ? '':'node'}} {{!!item.toggle ? 'active':''}}\" style=\"display: flex;\"\n [class.selected]=\"item.select\">\n <div class=\"ax-tree-side-menu-item\" (click)=\"handleOnNodeClick($event,item,true)\">\n\n \n\n <div (click)=\"handleOnNodeClick($event,item,true)\" (dblclick)=\"itemdbClick($event,item)\">\n <ng-container *ngIf=\"nodeTemplate; else elseTemplate\">\n <ng-container *ngTemplateOutlet=\"nodeTemplate; context:{ $implicit: item }\"></ng-container>\n </ng-container>\n <ng-template #elseTemplate>\n {{item[textField]}}\n </ng-template>\n </div>\n\n <div class=\"start-side\" *ngIf=\"iconStart\">\n <div *ngIf=\"item[hasChildField]\">\n <i class=\"{{openIconName}}\" *ngIf=\" !!item.toggle && !item.loading\"></i>\n <i class=\"{{closeIconName}}\" *ngIf=\"!item.toggle && !item.loading\"></i>\n <i class=\"fal fa-spinner fa-spin\" *ngIf=\"item.loading\"></i>\n </div>\n </div>\n\n <div class=\"start-side\" *ngIf=\"!iconStart\">\n <div *ngIf=\"item[hasChildField]\" (click)=\"handleOnNodeClick($event,item,true)\">\n <i class=\"{{openIconName}}\" *ngIf=\" !!item.toggle && !item.loading\"></i>\n <i class=\"{{closeIconName}}\" *ngIf=\"!item.toggle && !item.loading\"></i>\n <i class=\"fal fa-spinner fa-spin\" *ngIf=\"item.loading\"></i>\n </div>\n </div>\n </div>\n <ul class=\"ax-tree-side-menu-child\" *ngIf=\"item.toggle\">\n <ng-container *ngTemplateOutlet=\"recursiveList; context:{ $implicit: item.childeren }\"></ng-container>\n </ul>\n </li>\n </ng-container>\n </ng-template>\n <ng-container *ngTemplateOutlet=\"recursiveList; context:{ $implicit: list }\"></ng-container>\n</ul>", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None });
636
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXTreeSideMenuComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
637
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.7", type: AXTreeSideMenuComponent, selector: "ax-tree-side-menu", inputs: { cssClass: "cssClass", selectionMode: "selectionMode", selectionLevel: "selectionLevel", selectedFieldName: "selectedFieldName", selectNodesRecursive: "selectNodesRecursive", seletedKeyFields: "seletedKeyFields", keyField: "keyField", textField: "textField", hasChildField: "hasChildField", bordered: "bordered", lazyLoading: "lazyLoading", allowDrag: "allowDrag", size: "size", iconStart: "iconStart", closeIconName: "closeIconName", openIconName: "openIconName", contextMenuItems: "contextMenuItems" }, outputs: { selectionChanged: "selectionChanged", onItemOpening: "onItemOpening", onItemClick: "onItemClick", onItemClosing: "onItemClosing", onItemDrag: "onItemDrag", onItemMoved: "onItemMoved", onContextMenuItemClick: "onContextMenuItemClick" }, queries: [{ propertyName: "nodeTemplate", first: true, predicate: TemplateRef, descendants: true, static: true }, { propertyName: "_contentDataSource", first: true, predicate: AXDataSourceComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ul class=\"ax-tree-side-menu {{size}} {{cssClass}}\">\n <ng-template #recursiveList let-list>\n <ng-container *ngFor=\"let item of list\">\n <li (click)=\"handleOnNodeClick($event,item,true)\"\n class=\"{{item[hasChildField] ? '':'node'}} {{!!item.toggle ? 'active':''}}\" style=\"display: flex;\"\n [class.selected]=\"item.select\">\n <div class=\"ax-tree-side-menu-item\" (click)=\"handleOnNodeClick($event,item,true)\">\n\n \n\n <div (click)=\"handleOnNodeClick($event,item,true)\" (dblclick)=\"itemdbClick($event,item)\">\n <ng-container *ngIf=\"nodeTemplate; else elseTemplate\">\n <ng-container *ngTemplateOutlet=\"nodeTemplate; context:{ $implicit: item }\"></ng-container>\n </ng-container>\n <ng-template #elseTemplate>\n {{item[textField]}}\n </ng-template>\n </div>\n\n <div class=\"start-side\" *ngIf=\"iconStart\">\n <div *ngIf=\"item[hasChildField]\">\n <i class=\"{{openIconName}}\" *ngIf=\" !!item.toggle && !item.loading\"></i>\n <i class=\"{{closeIconName}}\" *ngIf=\"!item.toggle && !item.loading\"></i>\n <i class=\"fal fa-spinner fa-spin\" *ngIf=\"item.loading\"></i>\n </div>\n </div>\n\n <div class=\"start-side\" *ngIf=\"!iconStart\">\n <div *ngIf=\"item[hasChildField]\" (click)=\"handleOnNodeClick($event,item,true)\">\n <i class=\"{{openIconName}}\" *ngIf=\" !!item.toggle && !item.loading\"></i>\n <i class=\"{{closeIconName}}\" *ngIf=\"!item.toggle && !item.loading\"></i>\n <i class=\"fal fa-spinner fa-spin\" *ngIf=\"item.loading\"></i>\n </div>\n </div>\n </div>\n <ul class=\"ax-tree-side-menu-child\" *ngIf=\"item.toggle\">\n <ng-container *ngTemplateOutlet=\"recursiveList; context:{ $implicit: item.childeren }\"></ng-container>\n </ul>\n </li>\n </ng-container>\n </ng-template>\n <ng-container *ngTemplateOutlet=\"recursiveList; context:{ $implicit: list }\"></ng-container>\n</ul>", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None });
638
638
  }
639
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: AXTreeSideMenuComponent, decorators: [{
639
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXTreeSideMenuComponent, decorators: [{
640
640
  type: Component,
641
641
  args: [{ selector: 'ax-tree-side-menu', encapsulation: ViewEncapsulation.None, template: "<ul class=\"ax-tree-side-menu {{size}} {{cssClass}}\">\n <ng-template #recursiveList let-list>\n <ng-container *ngFor=\"let item of list\">\n <li (click)=\"handleOnNodeClick($event,item,true)\"\n class=\"{{item[hasChildField] ? '':'node'}} {{!!item.toggle ? 'active':''}}\" style=\"display: flex;\"\n [class.selected]=\"item.select\">\n <div class=\"ax-tree-side-menu-item\" (click)=\"handleOnNodeClick($event,item,true)\">\n\n \n\n <div (click)=\"handleOnNodeClick($event,item,true)\" (dblclick)=\"itemdbClick($event,item)\">\n <ng-container *ngIf=\"nodeTemplate; else elseTemplate\">\n <ng-container *ngTemplateOutlet=\"nodeTemplate; context:{ $implicit: item }\"></ng-container>\n </ng-container>\n <ng-template #elseTemplate>\n {{item[textField]}}\n </ng-template>\n </div>\n\n <div class=\"start-side\" *ngIf=\"iconStart\">\n <div *ngIf=\"item[hasChildField]\">\n <i class=\"{{openIconName}}\" *ngIf=\" !!item.toggle && !item.loading\"></i>\n <i class=\"{{closeIconName}}\" *ngIf=\"!item.toggle && !item.loading\"></i>\n <i class=\"fal fa-spinner fa-spin\" *ngIf=\"item.loading\"></i>\n </div>\n </div>\n\n <div class=\"start-side\" *ngIf=\"!iconStart\">\n <div *ngIf=\"item[hasChildField]\" (click)=\"handleOnNodeClick($event,item,true)\">\n <i class=\"{{openIconName}}\" *ngIf=\" !!item.toggle && !item.loading\"></i>\n <i class=\"{{closeIconName}}\" *ngIf=\"!item.toggle && !item.loading\"></i>\n <i class=\"fal fa-spinner fa-spin\" *ngIf=\"item.loading\"></i>\n </div>\n </div>\n </div>\n <ul class=\"ax-tree-side-menu-child\" *ngIf=\"item.toggle\">\n <ng-container *ngTemplateOutlet=\"recursiveList; context:{ $implicit: item.childeren }\"></ng-container>\n </ul>\n </li>\n </ng-container>\n </ng-template>\n <ng-container *ngTemplateOutlet=\"recursiveList; context:{ $implicit: list }\"></ng-container>\n</ul>" }]
642
642
  }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { nodeTemplate: [{
@@ -6,17 +6,17 @@ import { AXCheckBoxModule } from "../checkbox/checkbox.module";
6
6
  import { AXContextMenuModule } from "../context-menu/context-menu.module";
7
7
  import * as i0 from "@angular/core";
8
8
  export class AXTreeSideMenuModule {
9
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: AXTreeSideMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.6", ngImport: i0, type: AXTreeSideMenuModule, declarations: [AXTreeSideMenuComponent], imports: [AXDataSourceModule,
9
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXTreeSideMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.7", ngImport: i0, type: AXTreeSideMenuModule, declarations: [AXTreeSideMenuComponent], imports: [AXDataSourceModule,
11
11
  CommonModule,
12
12
  AXCheckBoxModule,
13
13
  AXContextMenuModule], exports: [AXTreeSideMenuComponent] });
14
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: AXTreeSideMenuModule, imports: [AXDataSourceModule,
14
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXTreeSideMenuModule, imports: [AXDataSourceModule,
15
15
  CommonModule,
16
16
  AXCheckBoxModule,
17
17
  AXContextMenuModule] });
18
18
  }
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: AXTreeSideMenuModule, decorators: [{
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXTreeSideMenuModule, decorators: [{
20
20
  type: NgModule,
21
21
  args: [{
22
22
  declarations: [AXTreeSideMenuComponent],
@@ -792,10 +792,10 @@ export class AXTreeViewComponent extends AXBaseComponent {
792
792
  });
793
793
  return keyFields;
794
794
  }
795
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: AXTreeViewComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
796
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.6", type: AXTreeViewComponent, selector: "ax-tree-view", inputs: { selectionMode: "selectionMode", selectionLevel: "selectionLevel", selectedFieldName: "selectedFieldName", checkParents: "checkParents", checkChilds: "checkChilds", seletedKeyFields: "seletedKeyFields", keyField: "keyField", hasChildField: "hasChildField", bordered: "bordered", lazyLoading: "lazyLoading", allowDrag: "allowDrag", size: "size", disabled: "disabled", selectableField: "selectableField", contextMenuItems: "contextMenuItems" }, outputs: { selectionChanged: "selectionChanged", seletedKeyFieldsChanged: "seletedKeyFieldsChanged", onItemOpening: "onItemOpening", onItemClick: "onItemClick", onItemClosing: "onItemClosing", onItemDrag: "onItemDrag", onItemMoved: "onItemMoved", onContextMenuItemClick: "onContextMenuItemClick" }, queries: [{ propertyName: "nodeTemplate", first: true, predicate: TemplateRef, descendants: true, static: true }, { propertyName: "_contentDataSource", first: true, predicate: AXDataSourceComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ul class=\"ax treeview {{ size }}\">\n <ng-template #recursiveList let-list>\n <ng-container *ngFor=\"let item of list\">\n <li\n class=\"active {{ item[hasChildField] ? '' : 'node' }}\"\n [class.bordered]=\"bordered\"\n [class.selected]=\"item.select\"\n [draggable]=\"allowDrag\"\n (dragstart)=\"onDragStart($event, item)\"\n [attr.data-id]=\"item[keyField]\"\n (dragleave)=\"onDragEnd($event, item)\"\n (dragend)=\"drop($event)\"\n >\n <div\n [class.disabled]=\"disabled\"\n axContextMenu\n [contextDataItem]=\"item\"\n [contextMenuItems]=\"contextMenuItems\"\n [contextMenu]=\"menu\"\n (onContextMenuItemClick)=\"handleOnContextMenuItem($event)\"\n style=\"display: flex; cursor: pointer; align-items: center\"\n >\n <div class=\"start-side\">\n <div\n *ngIf=\"item[hasChildField]\"\n class=\"collapse-icon\"\n (click)=\"handleOnNodeClick($event, item, true)\"\n >\n <i\n class=\"fal\"\n [ngClass]=\"{\n 'fa-minus': !!item.toggle,\n 'fa-plus': !item.toggle,\n 'fa-spinner fa-spin': item.loading\n }\"\n ></i>\n </div>\n\n <ax-check-box\n *ngIf=\"showSelectBox\"\n [disabled]=\"item.disabledCheckBox || disabled\"\n [size]=\"size\"\n [useTreeView]=\"true\"\n [value]=\"item.select\"\n (onClick)=\"internalSelectItem(item)\"\n >\n </ax-check-box>\n </div>\n <div\n class=\"text-list\"\n (click)=\"nodeClick(item)\"\n (dblclick)=\"itemdbClick($event, item)\"\n >\n <ng-container *ngIf=\"nodeTemplate; else elseTemplate\">\n <ng-container\n *ngTemplateOutlet=\"nodeTemplate; context: { $implicit: item }\"\n ></ng-container>\n </ng-container>\n <ng-template #elseTemplate>\n {{ item.title }}\n </ng-template>\n </div>\n </div>\n <ul *ngIf=\"item.loading\">\n <i class=\"far\"></i>\n </ul>\n <ul\n class=\"child\"\n *ngIf=\"item.toggle\"\n style=\"background-color: white !important\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n recursiveList;\n context: { $implicit: item.childeren }\n \"\n >\n </ng-container>\n </ul>\n </li>\n </ng-container>\n </ng-template>\n <ng-container\n *ngTemplateOutlet=\"recursiveList; context: { $implicit: list }\"\n ></ng-container>\n</ul>\n\n<ax-context-menu #menu></ax-context-menu>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.AXCheckBoxComponent, selector: "ax-check-box", inputs: ["readonly", "disabled", "size", "label", "tabIndex", "indeterminate", "useTreeView", "value"], outputs: ["onValueChanged", "valueChange", "onClick"] }, { kind: "component", type: i3.AXContextMenuComponent, selector: "ax-context-menu", inputs: ["size", "width", "items"], outputs: ["onItemClick", "onClosed"] }, { kind: "directive", type: i4.AXContextMenuDirective, selector: "[axContextMenu]", inputs: ["contextMenu", "contextDataItem", "contextMenuItems", "rtl"], outputs: ["onContextMenuItemClick"] }], encapsulation: i0.ViewEncapsulation.None });
795
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXTreeViewComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
796
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.7", type: AXTreeViewComponent, selector: "ax-tree-view", inputs: { selectionMode: "selectionMode", selectionLevel: "selectionLevel", selectedFieldName: "selectedFieldName", checkParents: "checkParents", checkChilds: "checkChilds", seletedKeyFields: "seletedKeyFields", keyField: "keyField", hasChildField: "hasChildField", bordered: "bordered", lazyLoading: "lazyLoading", allowDrag: "allowDrag", size: "size", disabled: "disabled", selectableField: "selectableField", contextMenuItems: "contextMenuItems" }, outputs: { selectionChanged: "selectionChanged", seletedKeyFieldsChanged: "seletedKeyFieldsChanged", onItemOpening: "onItemOpening", onItemClick: "onItemClick", onItemClosing: "onItemClosing", onItemDrag: "onItemDrag", onItemMoved: "onItemMoved", onContextMenuItemClick: "onContextMenuItemClick" }, queries: [{ propertyName: "nodeTemplate", first: true, predicate: TemplateRef, descendants: true, static: true }, { propertyName: "_contentDataSource", first: true, predicate: AXDataSourceComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ul class=\"ax treeview {{ size }}\">\n <ng-template #recursiveList let-list>\n <ng-container *ngFor=\"let item of list\">\n <li\n class=\"active {{ item[hasChildField] ? '' : 'node' }}\"\n [class.bordered]=\"bordered\"\n [class.selected]=\"item.select\"\n [draggable]=\"allowDrag\"\n (dragstart)=\"onDragStart($event, item)\"\n [attr.data-id]=\"item[keyField]\"\n (dragleave)=\"onDragEnd($event, item)\"\n (dragend)=\"drop($event)\"\n >\n <div\n [class.disabled]=\"disabled\"\n axContextMenu\n [contextDataItem]=\"item\"\n [contextMenuItems]=\"contextMenuItems\"\n [contextMenu]=\"menu\"\n (onContextMenuItemClick)=\"handleOnContextMenuItem($event)\"\n style=\"display: flex; cursor: pointer; align-items: center\"\n >\n <div class=\"start-side\">\n <div\n *ngIf=\"item[hasChildField]\"\n class=\"collapse-icon\"\n (click)=\"handleOnNodeClick($event, item, true)\"\n >\n <i\n class=\"fal\"\n [ngClass]=\"{\n 'fa-minus': !!item.toggle,\n 'fa-plus': !item.toggle,\n 'fa-spinner fa-spin': item.loading\n }\"\n ></i>\n </div>\n\n <ax-check-box\n *ngIf=\"showSelectBox\"\n [disabled]=\"item.disabledCheckBox || disabled\"\n [size]=\"size\"\n [useTreeView]=\"true\"\n [value]=\"item.select\"\n (onClick)=\"internalSelectItem(item)\"\n >\n </ax-check-box>\n </div>\n <div\n class=\"text-list\"\n (click)=\"nodeClick(item)\"\n (dblclick)=\"itemdbClick($event, item)\"\n >\n <ng-container *ngIf=\"nodeTemplate; else elseTemplate\">\n <ng-container\n *ngTemplateOutlet=\"nodeTemplate; context: { $implicit: item }\"\n ></ng-container>\n </ng-container>\n <ng-template #elseTemplate>\n {{ item.title }}\n </ng-template>\n </div>\n </div>\n <ul *ngIf=\"item.loading\">\n <i class=\"far\"></i>\n </ul>\n <ul\n class=\"child\"\n *ngIf=\"item.toggle\"\n style=\"background-color: white !important\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n recursiveList;\n context: { $implicit: item.childeren }\n \"\n >\n </ng-container>\n </ul>\n </li>\n </ng-container>\n </ng-template>\n <ng-container\n *ngTemplateOutlet=\"recursiveList; context: { $implicit: list }\"\n ></ng-container>\n</ul>\n\n<ax-context-menu #menu></ax-context-menu>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.AXCheckBoxComponent, selector: "ax-check-box", inputs: ["readonly", "disabled", "size", "label", "tabIndex", "indeterminate", "useTreeView", "value"], outputs: ["onValueChanged", "valueChange", "onClick"] }, { kind: "component", type: i3.AXContextMenuComponent, selector: "ax-context-menu", inputs: ["size", "width", "items"], outputs: ["onItemClick", "onClosed"] }, { kind: "directive", type: i4.AXContextMenuDirective, selector: "[axContextMenu]", inputs: ["contextMenu", "contextDataItem", "contextMenuItems", "rtl"], outputs: ["onContextMenuItemClick"] }], encapsulation: i0.ViewEncapsulation.None });
797
797
  }
798
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: AXTreeViewComponent, decorators: [{
798
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXTreeViewComponent, decorators: [{
799
799
  type: Component,
800
800
  args: [{ selector: 'ax-tree-view', encapsulation: ViewEncapsulation.None, template: "<ul class=\"ax treeview {{ size }}\">\n <ng-template #recursiveList let-list>\n <ng-container *ngFor=\"let item of list\">\n <li\n class=\"active {{ item[hasChildField] ? '' : 'node' }}\"\n [class.bordered]=\"bordered\"\n [class.selected]=\"item.select\"\n [draggable]=\"allowDrag\"\n (dragstart)=\"onDragStart($event, item)\"\n [attr.data-id]=\"item[keyField]\"\n (dragleave)=\"onDragEnd($event, item)\"\n (dragend)=\"drop($event)\"\n >\n <div\n [class.disabled]=\"disabled\"\n axContextMenu\n [contextDataItem]=\"item\"\n [contextMenuItems]=\"contextMenuItems\"\n [contextMenu]=\"menu\"\n (onContextMenuItemClick)=\"handleOnContextMenuItem($event)\"\n style=\"display: flex; cursor: pointer; align-items: center\"\n >\n <div class=\"start-side\">\n <div\n *ngIf=\"item[hasChildField]\"\n class=\"collapse-icon\"\n (click)=\"handleOnNodeClick($event, item, true)\"\n >\n <i\n class=\"fal\"\n [ngClass]=\"{\n 'fa-minus': !!item.toggle,\n 'fa-plus': !item.toggle,\n 'fa-spinner fa-spin': item.loading\n }\"\n ></i>\n </div>\n\n <ax-check-box\n *ngIf=\"showSelectBox\"\n [disabled]=\"item.disabledCheckBox || disabled\"\n [size]=\"size\"\n [useTreeView]=\"true\"\n [value]=\"item.select\"\n (onClick)=\"internalSelectItem(item)\"\n >\n </ax-check-box>\n </div>\n <div\n class=\"text-list\"\n (click)=\"nodeClick(item)\"\n (dblclick)=\"itemdbClick($event, item)\"\n >\n <ng-container *ngIf=\"nodeTemplate; else elseTemplate\">\n <ng-container\n *ngTemplateOutlet=\"nodeTemplate; context: { $implicit: item }\"\n ></ng-container>\n </ng-container>\n <ng-template #elseTemplate>\n {{ item.title }}\n </ng-template>\n </div>\n </div>\n <ul *ngIf=\"item.loading\">\n <i class=\"far\"></i>\n </ul>\n <ul\n class=\"child\"\n *ngIf=\"item.toggle\"\n style=\"background-color: white !important\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n recursiveList;\n context: { $implicit: item.childeren }\n \"\n >\n </ng-container>\n </ul>\n </li>\n </ng-container>\n </ng-template>\n <ng-container\n *ngTemplateOutlet=\"recursiveList; context: { $implicit: list }\"\n ></ng-container>\n</ul>\n\n<ax-context-menu #menu></ax-context-menu>\n" }]
801
801
  }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { nodeTemplate: [{
@@ -6,11 +6,11 @@ import { AXCheckBoxModule } from '../checkbox/checkbox.module';
6
6
  import { AXContextMenuModule } from '../context-menu/context-menu.module';
7
7
  import * as i0 from "@angular/core";
8
8
  export class AXTreeViewModule {
9
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: AXTreeViewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.6", ngImport: i0, type: AXTreeViewModule, declarations: [AXTreeViewComponent], imports: [AXDataSourceModule, CommonModule, AXCheckBoxModule, AXContextMenuModule], exports: [AXTreeViewComponent] });
11
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: AXTreeViewModule, imports: [AXDataSourceModule, CommonModule, AXCheckBoxModule, AXContextMenuModule] });
9
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXTreeViewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.7", ngImport: i0, type: AXTreeViewModule, declarations: [AXTreeViewComponent], imports: [AXDataSourceModule, CommonModule, AXCheckBoxModule, AXContextMenuModule], exports: [AXTreeViewComponent] });
11
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXTreeViewModule, imports: [AXDataSourceModule, CommonModule, AXCheckBoxModule, AXContextMenuModule] });
12
12
  }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: AXTreeViewModule, decorators: [{
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXTreeViewModule, decorators: [{
14
14
  type: NgModule,
15
15
  args: [{
16
16
  declarations: [AXTreeViewComponent],
@@ -131,9 +131,11 @@ export class AXUploadFileComponent extends AXBaseComponent {
131
131
  }
132
132
  //
133
133
  // this.dropRef.classList.add('ax-upload-drop-over');
134
- this.dropRef.addEventListener('dragover', this.handleDragOver.bind(this));
135
- this.dropRef.addEventListener('dragleave', this.handleDragLeave.bind(this));
136
- this.dropRef.addEventListener('drop', this.handleDrop.bind(this));
134
+ if (this.dropRef) {
135
+ this.dropRef.addEventListener('dragover', this.handleDragOver.bind(this));
136
+ this.dropRef.addEventListener('dragleave', this.handleDragLeave.bind(this));
137
+ this.dropRef.addEventListener('drop', this.handleDrop.bind(this));
138
+ }
137
139
  }
138
140
  handleOverlayDragOver(e) {
139
141
  e.preventDefault();
@@ -173,7 +175,9 @@ export class AXUploadFileComponent extends AXBaseComponent {
173
175
  const progressLabel = this.rendrer.createElement('small');
174
176
  progressLabel.innerText = file.name;
175
177
  this.fileName = file.name;
176
- this.rendrer.appendChild(this.progressRef, progressDiv);
178
+ if (this.type === 'box') {
179
+ this.rendrer.appendChild(this.progressRef, progressDiv);
180
+ }
177
181
  const com = this.injectionService.appendComponent(AXProgressBarComponent, { progress: 0 }, progressDiv).instance;
178
182
  this.rendrer.appendChild(progressDiv, progressLabel);
179
183
  const reader = new FileReader();
@@ -260,10 +264,10 @@ export class AXUploadFileComponent extends AXBaseComponent {
260
264
  this.rendrer.appendChild(this.dropRef, this.overlayDiv);
261
265
  this.dropRef.classList.add('ax-upload-drop-over');
262
266
  }
263
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: AXUploadFileComponent, deps: [{ token: i0.ElementRef }, { token: i1.AXRenderService }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i2.AXToastService }], target: i0.ɵɵFactoryTarget.Component });
264
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.6", type: AXUploadFileComponent, selector: "ax-upload-file", inputs: { contentType: "contentType", dropRef: "dropRef", progressRef: "progressRef", label: "label", size: "size", type: "type", template: "template", disabled: "disabled" }, outputs: { onLoad: "onLoad", onProgress: "onProgress", onRemove: "onRemove" }, host: { styleAttribute: "display: block; width:100%; position: relative" }, viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<input\n #fileInput\n type=\"file\"\n [accept]=\"accessTypes.join(',')\"\n style=\"display: none\"\n (change)=\"onFileChange($event)\"\n/>\n\n<ng-container *ngIf=\"type == 'inline'; else elseTemplate\">\n <ax-form-group size=\"{{ size }}\">\n <ax-text-box\n [value]=\"fileName\"\n readonly=\"true\"\n [disabled]=\"disabled\"\n ></ax-text-box>\n <ax-button\n type=\"blank light\"\n icon=\"far fa-times\"\n (click)=\"remove()\"\n *ngIf=\"fileName\"\n [tabIndex]=\"-1\"\n >\n </ax-button>\n <ax-button\n type=\"primary blank\"\n icon=\"far fa-upload\"\n (click)=\"open()\"\n [disabled]=\"disabled\"\n [tabIndex]=\"-1\"\n >\n </ax-button>\n </ax-form-group>\n</ng-container>\n\n<ng-template #elseTemplate>\n <div class=\"ax upload-file-box\" (click)=\"open()\" #dropRef></div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.AXButtonComponent, selector: "ax-button", inputs: ["type", "icon", "submitBehavior", "cancelBehavior", "block", "loading", "selected"] }, { kind: "component", type: i5.AXTextBoxComponent, selector: "ax-text-box", inputs: ["mask", "showMask", "type", "maxLength", "maskGuid", "maskPlaceholder", "maskKeepCharPositions"] }, { kind: "component", type: i6.AXFormGroupComponent, selector: "ax-form-group", inputs: ["size"] }], encapsulation: i0.ViewEncapsulation.None });
267
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXUploadFileComponent, deps: [{ token: i0.ElementRef }, { token: i1.AXRenderService }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i2.AXToastService }], target: i0.ɵɵFactoryTarget.Component });
268
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.7", type: AXUploadFileComponent, selector: "ax-upload-file", inputs: { contentType: "contentType", dropRef: "dropRef", progressRef: "progressRef", label: "label", size: "size", type: "type", template: "template", disabled: "disabled" }, outputs: { onLoad: "onLoad", onProgress: "onProgress", onRemove: "onRemove" }, host: { styleAttribute: "display: block; width:100%; position: relative" }, viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<input\n #fileInput\n type=\"file\"\n [accept]=\"accessTypes.join(',')\"\n style=\"display: none\"\n (change)=\"onFileChange($event)\"\n/>\n\n<ng-container *ngIf=\"type == 'inline'; else elseTemplate\">\n <ax-form-group size=\"{{ size }}\">\n <ax-text-box\n [value]=\"fileName\"\n readonly=\"true\"\n [disabled]=\"disabled\"\n ></ax-text-box>\n <ax-button\n type=\"blank light\"\n icon=\"far fa-times\"\n (click)=\"remove()\"\n *ngIf=\"fileName\"\n [tabIndex]=\"-1\"\n >\n </ax-button>\n <ax-button\n type=\"primary blank\"\n icon=\"far fa-upload\"\n (click)=\"open()\"\n [disabled]=\"disabled\"\n [tabIndex]=\"-1\"\n >\n </ax-button>\n </ax-form-group>\n</ng-container>\n\n<ng-template #elseTemplate>\n <div class=\"ax upload-file-box\" (click)=\"open()\" #dropRef></div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.AXButtonComponent, selector: "ax-button", inputs: ["type", "icon", "submitBehavior", "cancelBehavior", "block", "loading", "selected"] }, { kind: "component", type: i5.AXTextBoxComponent, selector: "ax-text-box", inputs: ["mask", "showMask", "type", "maxLength", "maskGuid", "maskPlaceholder", "maskKeepCharPositions"] }, { kind: "component", type: i6.AXFormGroupComponent, selector: "ax-form-group", inputs: ["size"] }], encapsulation: i0.ViewEncapsulation.None });
265
269
  }
266
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: AXUploadFileComponent, decorators: [{
270
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXUploadFileComponent, decorators: [{
267
271
  type: Component,
268
272
  args: [{ selector: 'ax-upload-file', encapsulation: ViewEncapsulation.None, host: { style: 'display: block; width:100%; position: relative' }, template: "<input\n #fileInput\n type=\"file\"\n [accept]=\"accessTypes.join(',')\"\n style=\"display: none\"\n (change)=\"onFileChange($event)\"\n/>\n\n<ng-container *ngIf=\"type == 'inline'; else elseTemplate\">\n <ax-form-group size=\"{{ size }}\">\n <ax-text-box\n [value]=\"fileName\"\n readonly=\"true\"\n [disabled]=\"disabled\"\n ></ax-text-box>\n <ax-button\n type=\"blank light\"\n icon=\"far fa-times\"\n (click)=\"remove()\"\n *ngIf=\"fileName\"\n [tabIndex]=\"-1\"\n >\n </ax-button>\n <ax-button\n type=\"primary blank\"\n icon=\"far fa-upload\"\n (click)=\"open()\"\n [disabled]=\"disabled\"\n [tabIndex]=\"-1\"\n >\n </ax-button>\n </ax-form-group>\n</ng-container>\n\n<ng-template #elseTemplate>\n <div class=\"ax upload-file-box\" (click)=\"open()\" #dropRef></div>\n</ng-template>\n" }]
269
273
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.AXRenderService }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: i2.AXToastService }], propDecorators: { contentType: [{
@@ -292,4 +296,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImpor
292
296
  }], onRemove: [{
293
297
  type: Output
294
298
  }] } });
295
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLWZpbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvdXBsb2FkLWZpbGUvdXBsb2FkLWZpbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvdXBsb2FkLWZpbGUvdXBsb2FkLWZpbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDN0QsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxXQUFXLEVBQ1gsU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsZUFBZSxHQUdoQixNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7QUFZeEQsTUFBTSxPQUFPLHFCQUNYLFNBQVEsZUFBZTtJQXFHYjtJQUNBO0lBQ0E7SUFDRTtJQUNGO0lBdEdGLFVBQVUsQ0FBYztJQUdoQyxXQUFXLEdBT0UsS0FBSyxDQUFDO0lBR25CLE9BQU8sQ0FBYztJQUdyQixXQUFXLENBQWM7SUFHekIsS0FBSyxDQUFTO0lBR2QsSUFBSSxHQUFrQixJQUFJLENBQUM7SUFFSCxTQUFTLENBQWE7SUFHOUMsSUFBSSxHQUFnQyxRQUFRLENBQUM7SUFHdEMsUUFBUSxDQUFtQjtJQUV6QixRQUFRLEdBQVksS0FBSyxDQUFDO0lBRW5DLE1BQU0sR0FDSixJQUFJLFlBQVksRUFBeUIsQ0FBQztJQUc1QyxVQUFVLEdBQ1Is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LEtBQUs7Z0JBSU4sV0FBVztzQkFEVixLQUFLO2dCQUlOLEtBQUs7c0JBREosS0FBSztnQkFJTixJQUFJO3NCQURILEtBQUs7Z0JBR2tCLFNBQVM7c0JBQWhDLFNBQVM7dUJBQUMsV0FBVztnQkFHdEIsSUFBSTtzQkFESCxLQUFLO2dCQUlDLFFBQVE7c0JBRGQsS0FBSztnQkFHRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVOLE1BQU07c0JBREwsTUFBTTtnQkFLUCxVQUFVO3NCQURULE1BQU07Z0JBS1AsUUFBUTtzQkFEUCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhSZW5kZXJTZXJ2aWNlLCBBWFRyYW5zbGF0b3IgfSBmcm9tICdAYWNvcmV4L2NvcmUnO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFYQmFzZUNvbXBvbmVudCxcbiAgQVhCYXNlU2l6YWJsZUNvbXBvbmVudCxcbiAgQVhFbGVtZW50U2l6ZSxcbn0gZnJvbSAnLi4vYmFzZS9lbGVtZW50LmNsYXNzJztcbmltcG9ydCB7IEFYUHJvZ3Jlc3NCYXJDb21wb25lbnQgfSBmcm9tICcuLi9wcm9ncmVzcy1iYXIvcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWFRvYXN0U2VydmljZSB9IGZyb20gJy4uL3RvYXN0L3RvYXN0LnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgQVhVcGxvYWRGaWxlTG9hZEV2ZW50LFxuICBBWFVwbG9hZEZpbGVQcm9ncmVzc0V2ZW50LFxufSBmcm9tICcuL3VwbG9hZC1maWxlLmV2ZW50cyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LXVwbG9hZC1maWxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3VwbG9hZC1maWxlLmNvbXBvbmVudC5odG1sJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaG9zdDogeyBzdHlsZTogJ2Rpc3BsYXk6IGJsb2NrOyB3aWR0aDoxMDAlOyBwb3NpdGlvbjogcmVsYXRpdmUnIH0sXG59KVxuZXhwb3J0IGNsYXNzIEFYVXBsb2FkRmlsZUNvbXBvbmVudFxuICBleHRlbmRzIEFYQmFzZUNvbXBvbmVudFxuICBpbXBsZW1lbnRzIEFYQmFzZVNpemFibGVDb21wb25lbnRcbntcbiAgcHJpdmF0ZSBvdmVybGF5RGl2OiBIVE1MRWxlbWVudDtcblxuICBASW5wdXQoKVxuICBjb250ZW50VHlwZTpcbiAgICB8ICdpbWFnZSdcbiAgICB8ICdleGNlbCdcbiAgICB8ICdhdWRpbydcbiAgICB8ICd2aWRlbydcbiAgICB8ICd2aWRlby9pbWFnZSdcbiAgICB8ICdhbnknXG4gICAgfCAnanNvbicgPSAnYW55JztcblxuICBASW5wdXQoKVxuICBkcm9wUmVmOiBIVE1MRWxlbWVudDtcblxuICBASW5wdXQoKVxuICBwcm9ncmVzc1JlZjogSFRNTEVsZW1lbnQ7XG5cbiAgQElucHV0KClcbiAgbGFiZWw6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBzaXplOiBBWEVsZW1lbnRTaXplID0gJ21kJztcblxuICBAVmlld0NoaWxkKCdmaWxlSW5wdXQnKSBmaWxlSW5wdXQ6IEVsZW1lbnRSZWY7XG5cbiAgQElucHV0KClcbiAgdHlwZTogJ2JveCcgfCAnaW5saW5lJyB8ICdoaWRkZW4nID0gJ2lubGluZSc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIEBPdXRwdXQoKVxuICBvbkxvYWQ6IEV2ZW50RW1pdHRlcjxBWFVwbG9hZEZpbGVMb2FkRXZlbnQ+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPEFYVXBsb2FkRmlsZUxvYWRFdmVudD4oKTtcblxuICBAT3V0cHV0KClcbiAgb25Qcm9ncmVzczogRXZlbnRFbWl0dGVyPEFYVXBsb2FkRmlsZVByb2dyZXNzRXZlbnQ+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPEFYVXBsb2FkRmlsZVByb2dyZXNzRXZlbnQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIG9uUmVtb3ZlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBmaWxlVHlwZXM6IGFueVtdID0gW1xuICAgIHtcbiAgICAgIHR5cGU6ICdpbWFnZScsXG4gICAgICBhY2NlcHQ6IFsnaW1hZ2UvZ2lmJywgJ2ltYWdlL2pwZWcnLCAnaW1hZ2UvcG5nJ10sXG4gICAgICBtZXNzYWdlOiAn2LnaqdizJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIHR5cGU6ICdhdWRpbycsXG4gICAgICBhY2NlcHQ6IFsnYXVkaW8vbXAzJ10sXG4gICAgICBtZXNzYWdlOiAnYXVkaW8nLFxuICAgIH0sXG4gICAge1xuICAgICAgdHlwZTogJ2Vib29rJyxcbiAgICAgIGFjY2VwdDogWydhcHBsaWNhdGlvbi9wZGYnXSxcbiAgICAgIG1lc3NhZ2U6ICdwZGYnLFxuICAgIH0sXG4gICAge1xuICAgICAgdHlwZTogJ2V4Y2VsJyxcbiAgICAgIGFjY2VwdDogW1xuICAgICAgICAnYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsJyxcbiAgICAgICAgJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0JyxcbiAgICAgICAgJ2FwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbC5zaGVldC5tYWNyb0VuYWJsZWQuMTInLFxuICAgICAgICAnYXBwbGljYXRpb24vdm5kLm9hc2lzLm9wZW5kb2N1bWVudC5zcHJlYWRzaGVldCcsXG4gICAgICAgICd0ZXh0L2NzdicsXG4gICAgICBdLFxuICAgICAgbWVzc2FnZTogJ9in2qnYs9mEJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIHR5cGU6ICd2aWRlbycsXG4gICAgICBhY2NlcHQ6IFsndmlkZW8vKiddLFxuICAgICAgbWVzc2FnZTogJ3ZpZGVvJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIHR5cGU6ICd2aWRlby9pbWFnZScsXG4gICAgICBhY2NlcHQ6IFsnaW1hZ2UvZ2lmJywgJ2ltYWdlL2pwZWcnLCAnaW1hZ2UvcG5nJywgJ3ZpZGVvLyonXSxcbiAgICAgIG1lc3NhZ2U6ICd2aWRlby9pbWFnZScsXG4gICAgfSxcbiAgICB7XG4gICAgICB0eXBlOiAnanNvbicsXG4gICAgICBhY2NlcHQ6IFsnYXBwbGljYXRpb24vanNvbiddLFxuICAgICAgbWVzc2FnZTogJ2pzb24nLFxuICAgIH0sXG4gICAge1xuICAgICAgdHlwZTogJ2FueScsXG4gICAgICBhY2NlcHQ6IFsnKi8qJ10sXG4gICAgICBtZXNzYWdlOiAnJyxcbiAgICB9LFxuICBdO1xuXG4gIGZpbGVzOiBGaWxlW10gPSBbXTtcbiAgZm9jdXMoKSB7fVxuXG4gIGZpbGVOYW1lOiBzdHJpbmcgPSAnJztcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgcHJpdmF0ZSBpbmplY3Rpb25TZXJ2aWNlOiBBWFJlbmRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZW5kcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJvdGVjdGVkIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSB0b2FzdFNlcnZpY2U6IEFYVG9hc3RTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBvbkRlbGV0ZUNsaWNrKGUpIHtcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG5cbiAgb25GaWxlQ2hhbmdlKGUpIHtcbiAgICBjb25zdCBmaWxlcyA9IGUudGFyZ2V0LmZpbGVzO1xuICAgIHRoaXMuYWRkRmlsZShmaWxlc1swXSk7XG4gICAgKHRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWUgPSBudWxsO1xuICB9XG5cbiAgb3BlbigpIHtcbiAgICB0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50LmNsaWNrKHsgYWNjZXB0OiB0aGlzLmFjY2Vzc1R5cGVzIH0pO1xuICB9XG4gIHJlbW92ZSgpIHtcbiAgICB0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgdGhpcy5maWxlcyA9IFtdO1xuICAgIHRoaXMuZmlsZU5hbWUgPSBudWxsO1xuXG4gICAgaWYgKHRoaXMudHlwZSA9PT0gJ2JveCcpIHtcbiAgICAgIHRoaXMucmVuZHJlci5yZW1vdmVDaGlsZCh0aGlzLmRyb3BSZWYsIHRoaXMub3ZlcmxheURpdik7XG4gICAgICB0aGlzLmhhbmRsZVNob3dFbXB0eUZpbGUoKTtcbiAgICB9XG4gICAgdGhpcy5vblJlbW92ZS5lbWl0KCk7XG4gIH1cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRyb3BSZWYgIT0gbnVsbCkge1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRyb3BSZWYgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLnVwbG9hZC1maWxlLWJveCcpO1xuICAgIH1cbiAgICAvL1xuICAgIGlmICh0aGlzLnByb2dyZXNzUmVmICE9IG51bGwpIHtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5wcm9ncmVzc1JlZiA9XG4gICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcudXBsb2FkLWZpbGUtYm94Jyk7XG4gICAgfVxuICAgIC8vXG4gICAgaWYgKHRoaXMudHlwZSA9PT0gJ2hpZGRlbicgfHwgdGhpcy50eXBlID09PSAnYm94Jykge1xuICAgICAgdGhpcy5oYW5kbGVTaG93RW1wdHlGaWxlKCk7XG4gICAgICB0aGlzLm92ZXJsYXlEaXYuYWRkRXZlbnRMaXN0ZW5lcignZHJhZycsIHRoaXMuaGFuZGxlT3ZlcmxheURyYWdPdmVyKTtcbiAgICAgIHRoaXMub3ZlcmxheURpdi5hZGRFdmVudExpc3RlbmVyKCdkcmFnb3ZlcicsIHRoaXMuaGFuZGxlT3ZlcmxheURyYWdPdmVyKTtcbiAgICAgIHRoaXMub3ZlcmxheURpdi5hZGRFdmVudExpc3RlbmVyKCdkcmFnbGVhdmUnLCB0aGlzLmhhbmRsZU92ZXJsYXlEcmFnT3Zlcik7XG4gICAgfVxuICAgIC8vXG4gICAgLy8gdGhpcy5kcm9wUmVmLmNsYXNzTGlzdC5hZGQoJ2F4LXVwbG9hZC1kcm9wLW92ZXInKTtcbiAgICB0aGlzLmRyb3BSZWYuYWRkRXZlbnRMaXN0ZW5lcignZHJhZ292ZXInLCB0aGlzLmhhbmRsZURyYWdPdmVyLmJpbmQodGhpcykpO1xuICAgIHRoaXMuZHJvcFJlZi5hZGRFdmVudExpc3RlbmVyKCdkcmFnbGVhdmUnLCB0aGlzLmhhbmRsZURyYWdMZWF2ZS5iaW5kKHRoaXMpKTtcbiAgICB0aGlzLmRyb3BSZWYuYWRkRXZlbnRMaXN0ZW5lcignZHJvcCcsIHRoaXMuaGFuZGxlRHJvcC5iaW5kKHRoaXMpKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlT3ZlcmxheURyYWdPdmVyKGU6IERyYWdFdmVudCkge1xuICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlRHJhZ092ZXIoZTogRHJhZ0V2ZW50KSB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5vdmVybGF5RGl2LmNsYXNzTGlzdC5hZGQoJ3Nob3cnKTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZURyYWdMZWF2ZShlOiBEcmFnRXZlbnQpIHtcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLm92ZXJsYXlEaXYuY2xhc3NMaXN0LnJlbW92ZSgnc2hvdycpO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGhhbmRsZURyb3AoZTogRHJhZ0V2ZW50KSB7XG4gICAgdGhpcy5oYW5kbGVEcmFnTGVhdmUoZSk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBlLmRhdGFUcmFuc2Zlci5maWxlcy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgZmlsZSA9IGUuZGF0YVRyYW5zZmVyLmZpbGVzW2ldO1xuICAgICAgdGhpcy5hZGRGaWxlKGZpbGUpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYWRkRmlsZShmaWxlOiBGaWxlKSB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5jb250ZW50VHlwZSAmJlxuICAgICAgdGhpcy5jb250ZW50VHlwZSAhPT0gJ2FueScgJiZcbiAgICAgICF0aGlzLmZpbGVUeXBlc1xuICAgICAgICAuZmluZCgoeCkgPT4geC50eXBlID09PSB0aGlzLmNvbnRlbnRUeXBlKVxuICAgICAgICAuYWNjZXB0LmluY2x1ZGVzKGZpbGUudHlwZSlcbiAgICApIHtcbiAgICAgIHRoaXMudG9hc3RTZXJ2aWNlLmluZm8oXG4gICAgICAgIGDZgdin24zZhCDYqNin2LHar9iw2KfYsduMINio2KfbjNivINin2LIg2YbZiNi5ICR7XG4gICAgICAgICAgdGhpcy5maWxlVHlwZXMuZmluZCgoeCkgPT4geC50eXBlID09PSB0aGlzLmNvbnRlbnRUeXBlKS5tZXNzYWdlXG4gICAgICAgIH0g2KjYp9i02K9gXG4gICAgICApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHByb2dyZXNzRGl2ID0gdGhpcy5yZW5kcmVyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpIGFzIEhUTUxFbGVtZW50O1xuICAgIHByb2dyZXNzRGl2LmNsYXNzTGlzdC5hZGQoJ2F4LXVwbG9hZC1wcm9ncmVzcy1wYW5lbCcpO1xuICAgIGNvbnN0IHByb2dyZXNzTGFiZWwgPSB0aGlzLnJlbmRyZXIuY3JlYXRlRWxlbWVudCgnc21hbGwnKSBhcyBIVE1MRWxlbWVudDtcbiAgICBwcm9ncmVzc0xhYmVsLmlubmVyVGV4dCA9IGZpbGUubmFtZTtcbiAgICB0aGlzLmZpbGVOYW1lID0gZmlsZS5uYW1lO1xuICAgIHRoaXMucmVuZHJlci5hcHBlbmRDaGlsZCh0aGlzLnByb2dyZXNzUmVmLCBwcm9ncmVzc0Rpdik7XG4gICAgY29uc3QgY29tID0gdGhpcy5pbmplY3Rpb25TZXJ2aWNlLmFwcGVuZENvbXBvbmVudChcbiAgICAgIEFYUHJvZ3Jlc3NCYXJDb21wb25lbnQsXG4gICAgICB7IHByb2dyZXNzOiAwIH0sXG4gICAgICBwcm9ncmVzc0RpdlxuICAgICkuaW5zdGFuY2UgYXMgQVhQcm9ncmVzc0JhckNvbXBvbmVudDtcbiAgICB0aGlzLnJlbmRyZXIuYXBwZW5kQ2hpbGQocHJvZ3Jlc3NEaXYsIHByb2dyZXNzTGFiZWwpO1xuXG4gICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICByZWFkZXIuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIChlKSA9PiB7XG4gICAgICB0aGlzLm9uTG9hZC5lbWl0KHtcbiAgICAgICAgZmlsZSxcbiAgICAgICAgZGF0YTogKGUgYXMgYW55KS50YXJnZXQucmVzdWx0LFxuICAgICAgfSk7XG4gICAgICAvL1xuICAgICAgLy8gRmFrZSBVcGxvYWRcbiAgICAgIGxldCBwdiA9IDA7XG4gICAgICBsZXQgdXBsb2FkZWQgPSAwO1xuICAgICAgY29uc3QgaW50diA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICAgICAgdXBsb2FkZWQgKz0gMTAyNCAqIDEwMDA7XG4gICAgICAgIGlmICh1cGxvYWRlZCA+IGUudG90YWwpIHtcbiAgICAgICAgICB1cGxvYWRlZCA9IGUudG90YWw7XG4gICAgICAgIH1cbiAgICAgICAgcHYgPSBNYXRoLmNlaWwoKHVwbG9hZGVkIC8gZS50b3RhbCkgKiAxMDApO1xuICAgICAgICBjb20ucHJvZ3Jlc3MgPSBwdjtcbiAgICAgICAgdGhpcy5vblByb2dyZXNzLmVtaXQoe1xuICAgICAgICAgIGZpbGUsXG4gICAgICAgICAgdG90YWw6IGUudG90YWwsXG4gICAgICAgICAgdXBsb2FkZWQsXG4gICAgICAgICAgdmFsdWU6IHB2LFxuICAgICAgICB9KTtcbiAgICAgICAgLy9cbiAgICAgICAgaWYgKGNvbS5wcm9ncmVzcyA+PSAxMDApIHtcbiAgICAgICAgICBjbGVhckludGVydmFsKGludHYpO1xuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZW5kcmVyLnJlbW92ZUNoaWxkKHRoaXMucHJvZ3Jlc3NSZWYsIHByb2dyZXNzRGl2KTtcbiAgICAgICAgICAgIGlmICh0aGlzLmZpbGVOYW1lKSB7XG4gICAgICAgICAgICAgIHRoaXMucmVuZHJlci5yZW1vdmVDaGlsZCh0aGlzLmRyb3BSZWYsIHRoaXMub3ZlcmxheURpdik7XG4gICAgICAgICAgICAgIHRoaXMub3ZlcmxheURpdiA9IHRoaXMucmVuZHJlci5jcmVhdGVFbGVtZW50KFxuICAgICAgICAgICAgICAgICdkaXYnXG4gICAgICAgICAgICAgICkgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgICAgICAgIHRoaXMub3ZlcmxheURpdi5jbGFzc0xpc3QuYWRkKCdvdmVybGF5Jyk7XG4gICAgICAgICAgICAgIHRoaXMub3ZlcmxheURpdi5pbm5lckhUTUwgPSBgXG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgc3R5bGU9XCJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBnYXA6IDhweDtcbiAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDxpIHN0eWxlPVwiY29sb3I6IHZhcigtLWF4LWRhbmdlci1jb2xvcilcIiBjbGFzcz1cImZhciBmYS10aW1lcyBmYS0zeFwiPjwvaT5cbiAgICAgICAgICAgICAgPHNwYW4+JHt0aGlzLmZpbGVOYW1lfTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgXG4gICAgICAgICAgICBgO1xuICAgICAgICAgICAgICBjb25zdCBjbG9zZUljb24gPSB0aGlzLm92ZXJsYXlEaXYucXVlcnlTZWxlY3RvcignLmZhci5mYS10aW1lcycpO1xuICAgICAgICAgICAgICB0aGlzLnJlbmRyZXIubGlzdGVuKGNsb3NlSWNvbiwgJ2NsaWNrJywgKGUpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZSgpO1xuICAgICAgICAgICAgICAgIHRoaXMucmVuZHJlci5yZW1vdmVDaGlsZCh0aGlzLmRyb3BSZWYsIHRoaXMub3ZlcmxheURpdik7XG4gICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVTaG93RW1wdHlGaWxlKCk7XG4gICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIHRoaXMucmVuZHJlci5hcHBlbmRDaGlsZCh0aGlzLmRyb3BSZWYsIHRoaXMub3ZlcmxheURpdik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSwgMTAwMCk7XG4gICAgICAgIH1cbiAgICAgIH0sIDEwMCk7XG4gICAgfSk7XG4gICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoZmlsZSk7XG4gICAgdGhpcy5maWxlcy5wdXNoKGZpbGUpO1xuICB9XG5cbiAgZ2V0IGFjY2Vzc1R5cGVzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5maWxlVHlwZXMuZmluZCgoaXRlbSkgPT4gaXRlbS50eXBlID09IHRoaXMuY29udGVudFR5cGUpLmFjY2VwdDtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlU2hvd0VtcHR5RmlsZSgpIHtcbiAgICB0aGlzLm92ZXJsYXlEaXYgPSB0aGlzLnJlbmRyZXIuY3JlYXRlRWxlbWVudCgnZGl2JykgYXMgSFRNTEVsZW1lbnQ7XG4gICAgdGhpcy5vdmVybGF5RGl2LmNsYXNzTGlzdC5hZGQoJ292ZXJsYXknKTtcbiAgICB0aGlzLm92ZXJsYXlEaXYuaW5uZXJIVE1MID0gYFxuICAgICAgPGRpdiAgc3R5bGU9XCJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgZ2FwOiA4cHg7XG4gICAgXCI+XG4gICAgPGkgY2xhc3M9XCJmYXIgZmEtY2xvdWQtdXBsb2FkLWFsdCBmYS0zeFwiPjwvaT5cbiAgICA8c3Bhbj4ke0FYVHJhbnNsYXRvci5nZXQoJ2NvbW1vbi51cGxvYWQnKX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICAgIHRoaXMucmVuZHJlci5hcHBlbmRDaGlsZCh0aGlzLmRyb3BSZWYsIHRoaXMub3ZlcmxheURpdik7XG4gICAgdGhpcy5kcm9wUmVmLmNsYXNzTGlzdC5hZGQoJ2F4LXVwbG9hZC1kcm9wLW92ZXInKTtcbiAgfVxufVxuIiwiPGlucHV0XG4gICNmaWxlSW5wdXRcbiAgdHlwZT1cImZpbGVcIlxuICBbYWNjZXB0XT1cImFjY2Vzc1R5cGVzLmpvaW4oJywnKVwiXG4gIHN0eWxlPVwiZGlzcGxheTogbm9uZVwiXG4gIChjaGFuZ2UpPVwib25GaWxlQ2hhbmdlKCRldmVudClcIlxuLz5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cInR5cGUgPT0gJ2lubGluZSc7IGVsc2UgZWxzZVRlbXBsYXRlXCI+XG4gIDxheC1mb3JtLWdyb3VwIHNpemU9XCJ7eyBzaXplIH19XCI+XG4gICAgPGF4LXRleHQtYm94XG4gICAgICBbdmFsdWVdPVwiZmlsZU5hbWVcIlxuICAgICAgcmVhZG9ubHk9XCJ0cnVlXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgPjwvYXgtdGV4dC1ib3g+XG4gICAgPGF4LWJ1dHRvblxuICAgICAgdHlwZT1cImJsYW5rIGxpZ2h0XCJcbiAgICAgIGljb249XCJmYXIgZmEtdGltZXNcIlxuICAgICAgKGNsaWNrKT1cInJlbW92ZSgpXCJcbiAgICAgICpuZ0lmPVwiZmlsZU5hbWVcIlxuICAgICAgW3RhYkluZGV4XT1cIi0xXCJcbiAgICA+XG4gICAgPC9heC1idXR0b24+XG4gICAgPGF4LWJ1dHRvblxuICAgICAgdHlwZT1cInByaW1hcnkgYmxhbmtcIlxuICAgICAgaWNvbj1cImZhciBmYS11cGxvYWRcIlxuICAgICAgKGNsaWNrKT1cIm9wZW4oKVwiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgW3RhYkluZGV4XT1cIi0xXCJcbiAgICA+XG4gICAgPC9heC1idXR0b24+XG4gIDwvYXgtZm9ybS1ncm91cD5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI2Vsc2VUZW1wbGF0ZT5cbiAgPGRpdiBjbGFzcz1cImF4IHVwbG9hZC1maWxlLWJveFwiIChjbGljayk9XCJvcGVuKClcIiAjZHJvcFJlZj48L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
299
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLWZpbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvdXBsb2FkLWZpbGUvdXBsb2FkLWZpbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvdXBsb2FkLWZpbGUvdXBsb2FkLWZpbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDN0QsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxXQUFXLEVBQ1gsU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsZUFBZSxHQUdoQixNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7QUFZeEQsTUFBTSxPQUFPLHFCQUNYLFNBQVEsZUFBZTtJQXFHYjtJQUNBO0lBQ0E7SUFDRTtJQUNGO0lBdEdGLFVBQVUsQ0FBYztJQUdoQyxXQUFXLEdBT0UsS0FBSyxDQUFDO0lBR25CLE9BQU8sQ0FBYztJQUdyQixXQUFXLENBQWM7SUFHekIsS0FBSyxDQUFTO0lBR2QsSUFBSSxHQUFrQixJQUFJLENBQUM7SUFFSCxTQUFTLENBQWE7SUFHOUMsSUFBSSxHQUFnQyxRQUFRLENBQUM7SUFHdEMsUUFBUSxDQUFtQjtJQUV6QixRQUFRLEdBQVksS0FBSyxDQUFDO0lBRW5DLE1BQU0sR0FDSixJQUFJLFlBQVksRUFBeUIsQ0FBQztJQUc1QyxVQUFVLEdBQ1Is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LGdCQUFnQixpQkFFWCxpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CLEVBQUUsS0FBSyxFQUFFLGdEQUFnRCxFQUFFO2tNQVNqRSxXQUFXO3NCQURWLEtBQUs7Z0JBV04sT0FBTztzQkFETixLQUFLO2dCQUlOLFdBQVc7c0JBRFYsS0FBSztnQkFJTixLQUFLO3NCQURKLEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxLQUFLO2dCQUdrQixTQUFTO3NCQUFoQyxTQUFTO3VCQUFDLFdBQVc7Z0JBR3RCLElBQUk7c0JBREgsS0FBSztnQkFJQyxRQUFRO3NCQURkLEtBQUs7Z0JBR0csUUFBUTtzQkFBaEIsS0FBSztnQkFFTixNQUFNO3NCQURMLE1BQU07Z0JBS1AsVUFBVTtzQkFEVCxNQUFNO2dCQUtQLFFBQVE7c0JBRFAsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUmVuZGVyU2VydmljZSwgQVhUcmFuc2xhdG9yIH0gZnJvbSAnQGFjb3JleC9jb3JlJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgUmVuZGVyZXIyLFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBWEJhc2VDb21wb25lbnQsXG4gIEFYQmFzZVNpemFibGVDb21wb25lbnQsXG4gIEFYRWxlbWVudFNpemUsXG59IGZyb20gJy4uL2Jhc2UvZWxlbWVudC5jbGFzcyc7XG5pbXBvcnQgeyBBWFByb2dyZXNzQmFyQ29tcG9uZW50IH0gZnJvbSAnLi4vcHJvZ3Jlc3MtYmFyL3Byb2dyZXNzLWJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi90b2FzdC90b2FzdC5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIEFYVXBsb2FkRmlsZUxvYWRFdmVudCxcbiAgQVhVcGxvYWRGaWxlUHJvZ3Jlc3NFdmVudCxcbn0gZnJvbSAnLi91cGxvYWQtZmlsZS5ldmVudHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC11cGxvYWQtZmlsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi91cGxvYWQtZmlsZS5jb21wb25lbnQuaHRtbCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHsgc3R5bGU6ICdkaXNwbGF5OiBibG9jazsgd2lkdGg6MTAwJTsgcG9zaXRpb246IHJlbGF0aXZlJyB9LFxufSlcbmV4cG9ydCBjbGFzcyBBWFVwbG9hZEZpbGVDb21wb25lbnRcbiAgZXh0ZW5kcyBBWEJhc2VDb21wb25lbnRcbiAgaW1wbGVtZW50cyBBWEJhc2VTaXphYmxlQ29tcG9uZW50XG57XG4gIHByaXZhdGUgb3ZlcmxheURpdjogSFRNTEVsZW1lbnQ7XG5cbiAgQElucHV0KClcbiAgY29udGVudFR5cGU6XG4gICAgfCAnaW1hZ2UnXG4gICAgfCAnZXhjZWwnXG4gICAgfCAnYXVkaW8nXG4gICAgfCAndmlkZW8nXG4gICAgfCAndmlkZW8vaW1hZ2UnXG4gICAgfCAnYW55J1xuICAgIHwgJ2pzb24nID0gJ2FueSc7XG5cbiAgQElucHV0KClcbiAgZHJvcFJlZjogSFRNTEVsZW1lbnQ7XG5cbiAgQElucHV0KClcbiAgcHJvZ3Jlc3NSZWY6IEhUTUxFbGVtZW50O1xuXG4gIEBJbnB1dCgpXG4gIGxhYmVsOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgc2l6ZTogQVhFbGVtZW50U2l6ZSA9ICdtZCc7XG5cbiAgQFZpZXdDaGlsZCgnZmlsZUlucHV0JykgZmlsZUlucHV0OiBFbGVtZW50UmVmO1xuXG4gIEBJbnB1dCgpXG4gIHR5cGU6ICdib3gnIHwgJ2lubGluZScgfCAnaGlkZGVuJyA9ICdpbmxpbmUnO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBAT3V0cHV0KClcbiAgb25Mb2FkOiBFdmVudEVtaXR0ZXI8QVhVcGxvYWRGaWxlTG9hZEV2ZW50PiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxBWFVwbG9hZEZpbGVMb2FkRXZlbnQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIG9uUHJvZ3Jlc3M6IEV2ZW50RW1pdHRlcjxBWFVwbG9hZEZpbGVQcm9ncmVzc0V2ZW50PiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxBWFVwbG9hZEZpbGVQcm9ncmVzc0V2ZW50PigpO1xuXG4gIEBPdXRwdXQoKVxuICBvblJlbW92ZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgZmlsZVR5cGVzOiBhbnlbXSA9IFtcbiAgICB7XG4gICAgICB0eXBlOiAnaW1hZ2UnLFxuICAgICAgYWNjZXB0OiBbJ2ltYWdlL2dpZicsICdpbWFnZS9qcGVnJywgJ2ltYWdlL3BuZyddLFxuICAgICAgbWVzc2FnZTogJ9i52qnYsycsXG4gICAgfSxcbiAgICB7XG4gICAgICB0eXBlOiAnYXVkaW8nLFxuICAgICAgYWNjZXB0OiBbJ2F1ZGlvL21wMyddLFxuICAgICAgbWVzc2FnZTogJ2F1ZGlvJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIHR5cGU6ICdlYm9vaycsXG4gICAgICBhY2NlcHQ6IFsnYXBwbGljYXRpb24vcGRmJ10sXG4gICAgICBtZXNzYWdlOiAncGRmJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIHR5cGU6ICdleGNlbCcsXG4gICAgICBhY2NlcHQ6IFtcbiAgICAgICAgJ2FwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbCcsXG4gICAgICAgICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldCcsXG4gICAgICAgICdhcHBsaWNhdGlvbi92bmQubXMtZXhjZWwuc2hlZXQubWFjcm9FbmFibGVkLjEyJyxcbiAgICAgICAgJ2FwcGxpY2F0aW9uL3ZuZC5vYXNpcy5vcGVuZG9jdW1lbnQuc3ByZWFkc2hlZXQnLFxuICAgICAgICAndGV4dC9jc3YnLFxuICAgICAgXSxcbiAgICAgIG1lc3NhZ2U6ICfYp9qp2LPZhCcsXG4gICAgfSxcbiAgICB7XG4gICAgICB0eXBlOiAndmlkZW8nLFxuICAgICAgYWNjZXB0OiBbJ3ZpZGVvLyonXSxcbiAgICAgIG1lc3NhZ2U6ICd2aWRlbycsXG4gICAgfSxcbiAgICB7XG4gICAgICB0eXBlOiAndmlkZW8vaW1hZ2UnLFxuICAgICAgYWNjZXB0OiBbJ2ltYWdlL2dpZicsICdpbWFnZS9qcGVnJywgJ2ltYWdlL3BuZycsICd2aWRlby8qJ10sXG4gICAgICBtZXNzYWdlOiAndmlkZW8vaW1hZ2UnLFxuICAgIH0sXG4gICAge1xuICAgICAgdHlwZTogJ2pzb24nLFxuICAgICAgYWNjZXB0OiBbJ2FwcGxpY2F0aW9uL2pzb24nXSxcbiAgICAgIG1lc3NhZ2U6ICdqc29uJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIHR5cGU6ICdhbnknLFxuICAgICAgYWNjZXB0OiBbJyovKiddLFxuICAgICAgbWVzc2FnZTogJycsXG4gICAgfSxcbiAgXTtcblxuICBmaWxlczogRmlsZVtdID0gW107XG4gIGZvY3VzKCkge31cblxuICBmaWxlTmFtZTogc3RyaW5nID0gJyc7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgIHByaXZhdGUgaW5qZWN0aW9uU2VydmljZTogQVhSZW5kZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVuZHJlcjogUmVuZGVyZXIyLFxuICAgIHByb3RlY3RlZCBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgdG9hc3RTZXJ2aWNlOiBBWFRvYXN0U2VydmljZVxuICApIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgb25EZWxldGVDbGljayhlKSB7XG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIG9uRmlsZUNoYW5nZShlKSB7XG4gICAgY29uc3QgZmlsZXMgPSBlLnRhcmdldC5maWxlcztcbiAgICB0aGlzLmFkZEZpbGUoZmlsZXNbMF0pO1xuICAgICh0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlID0gbnVsbDtcbiAgfVxuXG4gIG9wZW4oKSB7XG4gICAgdGhpcy5maWxlSW5wdXQubmF0aXZlRWxlbWVudC5jbGljayh7IGFjY2VwdDogdGhpcy5hY2Nlc3NUeXBlcyB9KTtcbiAgfVxuICByZW1vdmUoKSB7XG4gICAgdGhpcy5maWxlSW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xuICAgIHRoaXMuZmlsZXMgPSBbXTtcbiAgICB0aGlzLmZpbGVOYW1lID0gbnVsbDtcblxuICAgIGlmICh0aGlzLnR5cGUgPT09ICdib3gnKSB7XG4gICAgICB0aGlzLnJlbmRyZXIucmVtb3ZlQ2hpbGQodGhpcy5kcm9wUmVmLCB0aGlzLm92ZXJsYXlEaXYpO1xuICAgICAgdGhpcy5oYW5kbGVTaG93RW1wdHlGaWxlKCk7XG4gICAgfVxuICAgIHRoaXMub25SZW1vdmUuZW1pdCgpO1xuICB9XG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kcm9wUmVmICE9IG51bGwpIHtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kcm9wUmVmID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy51cGxvYWQtZmlsZS1ib3gnKTtcbiAgICB9XG4gICAgLy9cbiAgICBpZiAodGhpcy5wcm9ncmVzc1JlZiAhPSBudWxsKSB7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucHJvZ3Jlc3NSZWYgPVxuICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLnVwbG9hZC1maWxlLWJveCcpO1xuICAgIH1cbiAgICAvL1xuICAgIGlmICh0aGlzLnR5cGUgPT09ICdoaWRkZW4nIHx8IHRoaXMudHlwZSA9PT0gJ2JveCcpIHtcbiAgICAgIHRoaXMuaGFuZGxlU2hvd0VtcHR5RmlsZSgpO1xuICAgICAgdGhpcy5vdmVybGF5RGl2LmFkZEV2ZW50TGlzdGVuZXIoJ2RyYWcnLCB0aGlzLmhhbmRsZU92ZXJsYXlEcmFnT3Zlcik7XG4gICAgICB0aGlzLm92ZXJsYXlEaXYuYWRkRXZlbnRMaXN0ZW5lcignZHJhZ292ZXInLCB0aGlzLmhhbmRsZU92ZXJsYXlEcmFnT3Zlcik7XG4gICAgICB0aGlzLm92ZXJsYXlEaXYuYWRkRXZlbnRMaXN0ZW5lcignZHJhZ2xlYXZlJywgdGhpcy5oYW5kbGVPdmVybGF5RHJhZ092ZXIpO1xuICAgIH1cbiAgICAvL1xuICAgIC8vIHRoaXMuZHJvcFJlZi5jbGFzc0xpc3QuYWRkKCdheC11cGxvYWQtZHJvcC1vdmVyJyk7XG4gICAgaWYgKHRoaXMuZHJvcFJlZikge1xuICAgICAgdGhpcy5kcm9wUmVmLmFkZEV2ZW50TGlzdGVuZXIoJ2RyYWdvdmVyJywgdGhpcy5oYW5kbGVEcmFnT3Zlci5iaW5kKHRoaXMpKTtcbiAgICAgIHRoaXMuZHJvcFJlZi5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgICAnZHJhZ2xlYXZlJyxcbiAgICAgICAgdGhpcy5oYW5kbGVEcmFnTGVhdmUuYmluZCh0aGlzKVxuICAgICAgKTtcbiAgICAgIHRoaXMuZHJvcFJlZi5hZGRFdmVudExpc3RlbmVyKCdkcm9wJywgdGhpcy5oYW5kbGVEcm9wLmJpbmQodGhpcykpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlT3ZlcmxheURyYWdPdmVyKGU6IERyYWdFdmVudCkge1xuICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlRHJhZ092ZXIoZTogRHJhZ0V2ZW50KSB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5vdmVybGF5RGl2LmNsYXNzTGlzdC5hZGQoJ3Nob3cnKTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZURyYWdMZWF2ZShlOiBEcmFnRXZlbnQpIHtcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLm92ZXJsYXlEaXYuY2xhc3NMaXN0LnJlbW92ZSgnc2hvdycpO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGhhbmRsZURyb3AoZTogRHJhZ0V2ZW50KSB7XG4gICAgdGhpcy5oYW5kbGVEcmFnTGVhdmUoZSk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBlLmRhdGFUcmFuc2Zlci5maWxlcy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgZmlsZSA9IGUuZGF0YVRyYW5zZmVyLmZpbGVzW2ldO1xuICAgICAgdGhpcy5hZGRGaWxlKGZpbGUpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYWRkRmlsZShmaWxlOiBGaWxlKSB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5jb250ZW50VHlwZSAmJlxuICAgICAgdGhpcy5jb250ZW50VHlwZSAhPT0gJ2FueScgJiZcbiAgICAgICF0aGlzLmZpbGVUeXBlc1xuICAgICAgICAuZmluZCgoeCkgPT4geC50eXBlID09PSB0aGlzLmNvbnRlbnRUeXBlKVxuICAgICAgICAuYWNjZXB0LmluY2x1ZGVzKGZpbGUudHlwZSlcbiAgICApIHtcbiAgICAgIHRoaXMudG9hc3RTZXJ2aWNlLmluZm8oXG4gICAgICAgIGDZgdin24zZhCDYqNin2LHar9iw2KfYsduMINio2KfbjNivINin2LIg2YbZiNi5ICR7XG4gICAgICAgICAgdGhpcy5maWxlVHlwZXMuZmluZCgoeCkgPT4geC50eXBlID09PSB0aGlzLmNvbnRlbnRUeXBlKS5tZXNzYWdlXG4gICAgICAgIH0g2KjYp9i02K9gXG4gICAgICApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHByb2dyZXNzRGl2ID0gdGhpcy5yZW5kcmVyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpIGFzIEhUTUxFbGVtZW50O1xuICAgIHByb2dyZXNzRGl2LmNsYXNzTGlzdC5hZGQoJ2F4LXVwbG9hZC1wcm9ncmVzcy1wYW5lbCcpO1xuICAgIGNvbnN0IHByb2dyZXNzTGFiZWwgPSB0aGlzLnJlbmRyZXIuY3JlYXRlRWxlbWVudCgnc21hbGwnKSBhcyBIVE1MRWxlbWVudDtcbiAgICBwcm9ncmVzc0xhYmVsLmlubmVyVGV4dCA9IGZpbGUubmFtZTtcbiAgICB0aGlzLmZpbGVOYW1lID0gZmlsZS5uYW1lO1xuICAgIGlmICh0aGlzLnR5cGUgPT09ICdib3gnKSB7XG4gICAgICB0aGlzLnJlbmRyZXIuYXBwZW5kQ2hpbGQodGhpcy5wcm9ncmVzc1JlZiwgcHJvZ3Jlc3NEaXYpO1xuICAgIH1cbiAgICBjb25zdCBjb20gPSB0aGlzLmluamVjdGlvblNlcnZpY2UuYXBwZW5kQ29tcG9uZW50KFxuICAgICAgQVhQcm9ncmVzc0JhckNvbXBvbmVudCxcbiAgICAgIHsgcHJvZ3Jlc3M6IDAgfSxcbiAgICAgIHByb2dyZXNzRGl2XG4gICAgKS5pbnN0YW5jZSBhcyBBWFByb2dyZXNzQmFyQ29tcG9uZW50O1xuICAgIHRoaXMucmVuZHJlci5hcHBlbmRDaGlsZChwcm9ncmVzc0RpdiwgcHJvZ3Jlc3NMYWJlbCk7XG5cbiAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICAgIHJlYWRlci5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgKGUpID0+IHtcbiAgICAgIHRoaXMub25Mb2FkLmVtaXQoe1xuICAgICAgICBmaWxlLFxuICAgICAgICBkYXRhOiAoZSBhcyBhbnkpLnRhcmdldC5yZXN1bHQsXG4gICAgICB9KTtcbiAgICAgIC8vXG4gICAgICAvLyBGYWtlIFVwbG9hZFxuICAgICAgbGV0IHB2ID0gMDtcbiAgICAgIGxldCB1cGxvYWRlZCA9IDA7XG4gICAgICBjb25zdCBpbnR2ID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgICB1cGxvYWRlZCArPSAxMDI0ICogMTAwMDtcbiAgICAgICAgaWYgKHVwbG9hZGVkID4gZS50b3RhbCkge1xuICAgICAgICAgIHVwbG9hZGVkID0gZS50b3RhbDtcbiAgICAgICAgfVxuICAgICAgICBwdiA9IE1hdGguY2VpbCgodXBsb2FkZWQgLyBlLnRvdGFsKSAqIDEwMCk7XG4gICAgICAgIGNvbS5wcm9ncmVzcyA9IHB2O1xuICAgICAgICB0aGlzLm9uUHJvZ3Jlc3MuZW1pdCh7XG4gICAgICAgICAgZmlsZSxcbiAgICAgICAgICB0b3RhbDogZS50b3RhbCxcbiAgICAgICAgICB1cGxvYWRlZCxcbiAgICAgICAgICB2YWx1ZTogcHYsXG4gICAgICAgIH0pO1xuICAgICAgICAvL1xuICAgICAgICBpZiAoY29tLnByb2dyZXNzID49IDEwMCkge1xuICAgICAgICAgIGNsZWFySW50ZXJ2YWwoaW50dik7XG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnJlbmRyZXIucmVtb3ZlQ2hpbGQodGhpcy5wcm9ncmVzc1JlZiwgcHJvZ3Jlc3NEaXYpO1xuICAgICAgICAgICAgaWYgKHRoaXMuZmlsZU5hbWUpIHtcbiAgICAgICAgICAgICAgdGhpcy5yZW5kcmVyLnJlbW92ZUNoaWxkKHRoaXMuZHJvcFJlZiwgdGhpcy5vdmVybGF5RGl2KTtcbiAgICAgICAgICAgICAgdGhpcy5vdmVybGF5RGl2ID0gdGhpcy5yZW5kcmVyLmNyZWF0ZUVsZW1lbnQoXG4gICAgICAgICAgICAgICAgJ2RpdidcbiAgICAgICAgICAgICAgKSBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgICAgICAgdGhpcy5vdmVybGF5RGl2LmNsYXNzTGlzdC5hZGQoJ292ZXJsYXknKTtcbiAgICAgICAgICAgICAgdGhpcy5vdmVybGF5RGl2LmlubmVySFRNTCA9IGBcbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBzdHlsZT1cIlxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIGdhcDogOHB4O1xuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPGkgc3R5bGU9XCJjb2xvcjogdmFyKC0tYXgtZGFuZ2VyLWNvbG9yKVwiIGNsYXNzPVwiZmFyIGZhLXRpbWVzIGZhLTN4XCI+PC9pPlxuICAgICAgICAgICAgICA8c3Bhbj4ke3RoaXMuZmlsZU5hbWV9PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGA7XG4gICAgICAgICAgICAgIGNvbnN0IGNsb3NlSWNvbiA9IHRoaXMub3ZlcmxheURpdi5xdWVyeVNlbGVjdG9yKCcuZmFyLmZhLXRpbWVzJyk7XG4gICAgICAgICAgICAgIHRoaXMucmVuZHJlci5saXN0ZW4oY2xvc2VJY29uLCAnY2xpY2snLCAoZSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kcmVyLnJlbW92ZUNoaWxkKHRoaXMuZHJvcFJlZiwgdGhpcy5vdmVybGF5RGl2KTtcbiAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZVNob3dFbXB0eUZpbGUoKTtcbiAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgdGhpcy5yZW5kcmVyLmFwcGVuZENoaWxkKHRoaXMuZHJvcFJlZiwgdGhpcy5vdmVybGF5RGl2KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LCAxMDAwKTtcbiAgICAgICAgfVxuICAgICAgfSwgMTAwKTtcbiAgICB9KTtcbiAgICByZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKTtcbiAgICB0aGlzLmZpbGVzLnB1c2goZmlsZSk7XG4gIH1cblxuICBnZXQgYWNjZXNzVHlwZXMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLmZpbGVUeXBlcy5maW5kKChpdGVtKSA9PiBpdGVtLnR5cGUgPT0gdGhpcy5jb250ZW50VHlwZSkuYWNjZXB0O1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVTaG93RW1wdHlGaWxlKCkge1xuICAgIHRoaXMub3ZlcmxheURpdiA9IHRoaXMucmVuZHJlci5jcmVhdGVFbGVtZW50KCdkaXYnKSBhcyBIVE1MRWxlbWVudDtcbiAgICB0aGlzLm92ZXJsYXlEaXYuY2xhc3NMaXN0LmFkZCgnb3ZlcmxheScpO1xuICAgIHRoaXMub3ZlcmxheURpdi5pbm5lckhUTUwgPSBgXG4gICAgICA8ZGl2ICBzdHlsZT1cIlxuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBnYXA6IDhweDtcbiAgICBcIj5cbiAgICA8aSBjbGFzcz1cImZhciBmYS1jbG91ZC11cGxvYWQtYWx0IGZhLTN4XCI+PC9pPlxuICAgIDxzcGFuPiR7QVhUcmFuc2xhdG9yLmdldCgnY29tbW9uLnVwbG9hZCcpfTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gICAgdGhpcy5yZW5kcmVyLmFwcGVuZENoaWxkKHRoaXMuZHJvcFJlZiwgdGhpcy5vdmVybGF5RGl2KTtcbiAgICB0aGlzLmRyb3BSZWYuY2xhc3NMaXN0LmFkZCgnYXgtdXBsb2FkLWRyb3Atb3ZlcicpO1xuICB9XG59XG4iLCI8aW5wdXRcbiAgI2ZpbGVJbnB1dFxuICB0eXBlPVwiZmlsZVwiXG4gIFthY2NlcHRdPVwiYWNjZXNzVHlwZXMuam9pbignLCcpXCJcbiAgc3R5bGU9XCJkaXNwbGF5OiBub25lXCJcbiAgKGNoYW5nZSk9XCJvbkZpbGVDaGFuZ2UoJGV2ZW50KVwiXG4vPlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwidHlwZSA9PSAnaW5saW5lJzsgZWxzZSBlbHNlVGVtcGxhdGVcIj5cbiAgPGF4LWZvcm0tZ3JvdXAgc2l6ZT1cInt7IHNpemUgfX1cIj5cbiAgICA8YXgtdGV4dC1ib3hcbiAgICAgIFt2YWx1ZV09XCJmaWxlTmFtZVwiXG4gICAgICByZWFkb25seT1cInRydWVcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICA+PC9heC10ZXh0LWJveD5cbiAgICA8YXgtYnV0dG9uXG4gICAgICB0eXBlPVwiYmxhbmsgbGlnaHRcIlxuICAgICAgaWNvbj1cImZhciBmYS10aW1lc1wiXG4gICAgICAoY2xpY2spPVwicmVtb3ZlKClcIlxuICAgICAgKm5nSWY9XCJmaWxlTmFtZVwiXG4gICAgICBbdGFiSW5kZXhdPVwiLTFcIlxuICAgID5cbiAgICA8L2F4LWJ1dHRvbj5cbiAgICA8YXgtYnV0dG9uXG4gICAgICB0eXBlPVwicHJpbWFyeSBibGFua1wiXG4gICAgICBpY29uPVwiZmFyIGZhLXVwbG9hZFwiXG4gICAgICAoY2xpY2spPVwib3BlbigpXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICBbdGFiSW5kZXhdPVwiLTFcIlxuICAgID5cbiAgICA8L2F4LWJ1dHRvbj5cbiAgPC9heC1mb3JtLWdyb3VwPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjZWxzZVRlbXBsYXRlPlxuICA8ZGl2IGNsYXNzPVwiYXggdXBsb2FkLWZpbGUtYm94XCIgKGNsaWNrKT1cIm9wZW4oKVwiICNkcm9wUmVmPjwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -8,11 +8,11 @@ import { AXLabelModule } from '../label/label.module';
8
8
  import { AXFormGroupModule } from '../form-group/form-group.module';
9
9
  import * as i0 from "@angular/core";
10
10
  export class AXUploadFileModule {
11
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: AXUploadFileModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.6", ngImport: i0, type: AXUploadFileModule, declarations: [AXUploadFileComponent], imports: [CommonModule, AXButtonModule, AXTextBoxModule, AXProgressBarModule, AXLabelModule, AXFormGroupModule], exports: [AXUploadFileComponent] });
13
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: AXUploadFileModule, imports: [CommonModule, AXButtonModule, AXTextBoxModule, AXProgressBarModule, AXLabelModule, AXFormGroupModule] });
11
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXUploadFileModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.7", ngImport: i0, type: AXUploadFileModule, declarations: [AXUploadFileComponent], imports: [CommonModule, AXButtonModule, AXTextBoxModule, AXProgressBarModule, AXLabelModule, AXFormGroupModule], exports: [AXUploadFileComponent] });
13
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXUploadFileModule, imports: [CommonModule, AXButtonModule, AXTextBoxModule, AXProgressBarModule, AXLabelModule, AXFormGroupModule] });
14
14
  }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: AXUploadFileModule, decorators: [{
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXUploadFileModule, decorators: [{
16
16
  type: NgModule,
17
17
  args: [{
18
18
  declarations: [AXUploadFileComponent],
@@ -48,10 +48,10 @@ export class AXValidationFormComponent {
48
48
  if (widget)
49
49
  this.widgets.push(widget);
50
50
  }
51
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: AXValidationFormComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
52
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.6", type: AXValidationFormComponent, selector: "ax-validation-form", inputs: { validateOn: "validateOn" }, outputs: { onInit: "onInit" }, queries: [{ propertyName: "widgetsQuery", predicate: AXValidatableComponent, descendants: true }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
51
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXValidationFormComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
52
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.7", type: AXValidationFormComponent, selector: "ax-validation-form", inputs: { validateOn: "validateOn" }, outputs: { onInit: "onInit" }, queries: [{ propertyName: "widgetsQuery", predicate: AXValidatableComponent, descendants: true }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
53
53
  }
54
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: AXValidationFormComponent, decorators: [{
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXValidationFormComponent, decorators: [{
55
55
  type: Component,
56
56
  args: [{
57
57
  selector: 'ax-validation-form',