@wizishop/angular-components 15.0.1 → 15.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (170) hide show
  1. package/angular-components.scss +295 -548
  2. package/esm2020/lib/components/alert/alert.component.mjs +3 -3
  3. package/esm2020/lib/components/alert-popup/alert-popup-module.mjs +4 -4
  4. package/esm2020/lib/components/alert-popup/alert-popup.component.mjs +3 -3
  5. package/esm2020/lib/components/alert-popup/alert-popup.service.mjs +3 -3
  6. package/esm2020/lib/components/back/back.component.mjs +3 -3
  7. package/esm2020/lib/components/block/block-title-legacy/block-title-legacy.component.mjs +3 -3
  8. package/esm2020/lib/components/block/block.component.mjs +7 -7
  9. package/esm2020/lib/components/block/separator/block-separator.component.mjs +3 -3
  10. package/esm2020/lib/components/block-with-checkbox/block-with-checkbox.component.mjs +5 -5
  11. package/esm2020/lib/components/breadcrumbs/breadcrumbs.component.mjs +3 -3
  12. package/esm2020/lib/components/button/button.component.mjs +12 -12
  13. package/esm2020/lib/components/calendar/calendar.component.mjs +26 -26
  14. package/esm2020/lib/components/card-price/card-price.component.mjs +7 -5
  15. package/esm2020/lib/components/charging-bar/charging-bar.component.mjs +3 -3
  16. package/esm2020/lib/components/checkbox/checkbox.component.mjs +15 -14
  17. package/esm2020/lib/components/checkbox/checkbox.module.mjs +4 -4
  18. package/esm2020/lib/components/common/label/label.component.mjs +3 -3
  19. package/esm2020/lib/components/common/placeholder/placeholder.component.mjs +3 -3
  20. package/esm2020/lib/components/confirm-delete/confirm-delete.component.mjs +3 -3
  21. package/esm2020/lib/components/content-with-buttons/content-with-buttons.component.mjs +3 -3
  22. package/esm2020/lib/components/delete/delete.component.mjs +3 -3
  23. package/esm2020/lib/components/draganddrop-list/draganddrop-list.component.mjs +3 -3
  24. package/esm2020/lib/components/dropdown/dropdown.component.mjs +3 -3
  25. package/esm2020/lib/components/edit-in-place/edit-in-place.component.mjs +3 -3
  26. package/esm2020/lib/components/expanded-panel/expanded-panel.component.mjs +3 -3
  27. package/esm2020/lib/components/expansion/accordion/accordion.component.mjs +3 -3
  28. package/esm2020/lib/components/expansion/expansion-panel/expansion-panel-base.mjs +12 -12
  29. package/esm2020/lib/components/expansion/expansion-panel/expansion-panel.component.mjs +7 -7
  30. package/esm2020/lib/components/expansion/expansion-panel/expansion-panel.directive.mjs +3 -3
  31. package/esm2020/lib/components/expansion/expansion-panel-header/expansion-panel-header-base.mjs +7 -7
  32. package/esm2020/lib/components/expansion/expansion-panel-header/expansion-panel-header.component.mjs +7 -7
  33. package/esm2020/lib/components/expansion/expansion-panel-header/expansion-panel-header.directive.mjs +3 -3
  34. package/esm2020/lib/components/expansion/expansion.module.mjs +4 -4
  35. package/esm2020/lib/components/filters/filters.component.mjs +3 -3
  36. package/esm2020/lib/components/free-popin/free-popin.component.mjs +3 -3
  37. package/esm2020/lib/components/google-preview/google-preview.component.mjs +3 -3
  38. package/esm2020/lib/components/header-page/header-page.component.mjs +21 -9
  39. package/esm2020/lib/components/hn/h1/h1.component.mjs +3 -3
  40. package/esm2020/lib/components/hn/h2/h2.component.mjs +3 -3
  41. package/esm2020/lib/components/hn/h3/h3.component.mjs +3 -3
  42. package/esm2020/lib/components/hn/h4/h4.component.mjs +3 -3
  43. package/esm2020/lib/components/image/image.component.mjs +3 -3
  44. package/esm2020/lib/components/info/info.component.mjs +3 -3
  45. package/esm2020/lib/components/inputs/input/input.component.mjs +3 -3
  46. package/esm2020/lib/components/inputs/input/input.module.mjs +4 -4
  47. package/esm2020/lib/components/inputs/input-search/input-search.component.mjs +3 -3
  48. package/esm2020/lib/components/inputs/input-search/input-search.module.mjs +4 -4
  49. package/esm2020/lib/components/inputs/input-with-select/input-with-select.component.mjs +5 -5
  50. package/esm2020/lib/components/link/link.component.mjs +9 -9
  51. package/esm2020/lib/components/loader/loader.component.mjs +3 -3
  52. package/esm2020/lib/components/loader/loader.module.mjs +4 -4
  53. package/esm2020/lib/components/logo/logo.component.mjs +3 -3
  54. package/esm2020/lib/components/mosaic/mosaic.component.mjs +3 -3
  55. package/esm2020/lib/components/multiple-search/multiple-search.component.mjs +3 -3
  56. package/esm2020/lib/components/multiple-search-plus/multiple-search-plus.component.mjs +3 -3
  57. package/esm2020/lib/components/optional-disable-container/optional-disable-container.component.mjs +3 -3
  58. package/esm2020/lib/components/pagination/pagination.component.mjs +7 -7
  59. package/esm2020/lib/components/pagination/pagination.module.mjs +4 -4
  60. package/esm2020/lib/components/pagination/pipes/array-pages.pipe.mjs +3 -3
  61. package/esm2020/lib/components/pagination/pipes/custom-text.pipe.mjs +3 -3
  62. package/esm2020/lib/components/pagination/pipes/is-last-page.pipe.mjs +3 -3
  63. package/esm2020/lib/components/popin/popin.component.mjs +5 -5
  64. package/esm2020/lib/components/progress-bar/progress-bar.component.mjs +3 -3
  65. package/esm2020/lib/components/progress-bar/progress-bar.module.mjs +4 -4
  66. package/esm2020/lib/components/radio/radio-directive.mjs +39 -0
  67. package/esm2020/lib/components/radio/radio-group.directive.mjs +34 -0
  68. package/esm2020/lib/components/radio/radio.component.mjs +3 -3
  69. package/esm2020/lib/components/search/search.component.mjs +3 -3
  70. package/esm2020/lib/components/selected-list/selected-list.component.mjs +3 -3
  71. package/esm2020/lib/components/selects/option/option-selection-handler.interface.mjs +1 -1
  72. package/esm2020/lib/components/selects/option/option.component.mjs +8 -5
  73. package/esm2020/lib/components/selects/option/select-option.directive.mjs +18 -13
  74. package/esm2020/lib/components/selects/option-call-to-action/option-call-to-action.component.mjs +4 -4
  75. package/esm2020/lib/components/selects/select/select.component.mjs +197 -0
  76. package/esm2020/lib/components/selects/select/select.directive.mjs +164 -0
  77. package/esm2020/lib/components/selects/select/value-change.service.mjs +190 -0
  78. package/esm2020/lib/components/selects/select-in-text/select-in-text.component.mjs +11 -11
  79. package/esm2020/lib/components/selects/select-search-trigger/select-search-trigger.component.mjs +3 -3
  80. package/esm2020/lib/components/separator/separator.component.mjs +3 -3
  81. package/esm2020/lib/components/settings/settings.component.mjs +3 -3
  82. package/esm2020/lib/components/shared-components.module.mjs +9 -13
  83. package/esm2020/lib/components/snackbar/snackbar.component.mjs +3 -3
  84. package/esm2020/lib/components/state/state.component.mjs +3 -3
  85. package/esm2020/lib/components/summary/summary.component.mjs +8 -8
  86. package/esm2020/lib/components/switch/switch.component.mjs +3 -3
  87. package/esm2020/lib/components/tab/tab.component.mjs +3 -3
  88. package/esm2020/lib/components/table/directives/checkBoxRow.directive.mjs +13 -13
  89. package/esm2020/lib/components/table/directives/column.directive.mjs +3 -3
  90. package/esm2020/lib/components/table/directives/columnHeader.directive.mjs +11 -11
  91. package/esm2020/lib/components/table/directives/raw.directive.mjs +3 -3
  92. package/esm2020/lib/components/table/shared/filters-table.service.mjs +3 -3
  93. package/esm2020/lib/components/table/shared/table-checkbox-id.service.mjs +3 -3
  94. package/esm2020/lib/components/table/table.component.mjs +4 -4
  95. package/esm2020/lib/components/table/table.module.mjs +4 -4
  96. package/esm2020/lib/components/tag/tag.component.mjs +3 -3
  97. package/esm2020/lib/components/tag-label/tag-label.component.mjs +3 -3
  98. package/esm2020/lib/components/text/text.component.mjs +3 -3
  99. package/esm2020/lib/components/text-area/text-area.component.mjs +3 -3
  100. package/esm2020/lib/components/token-check/token-check.component.mjs +3 -3
  101. package/esm2020/lib/components/tooltip/tooltip.component.mjs +3 -3
  102. package/esm2020/lib/components/tooltip/tooltip.module.mjs +4 -4
  103. package/esm2020/lib/components/tree/tree.component.mjs +11 -9
  104. package/esm2020/lib/components/tree/tree.dto.mjs +1 -1
  105. package/esm2020/lib/components/tree/tree.module.mjs +4 -4
  106. package/esm2020/lib/components/upload/upload.component.mjs +3 -3
  107. package/esm2020/lib/components/wrapper/wrapper.component.mjs +3 -3
  108. package/esm2020/lib/components/wrapper-blocs/wrapper-blocs.component.mjs +3 -3
  109. package/esm2020/lib/components/wrapper-multiple-block/wrapper-multiple-block.component.mjs +3 -3
  110. package/esm2020/lib/components/wrapper-sidebar/wrapper-sidebar.component.mjs +3 -3
  111. package/esm2020/lib/directives/abstract-debounce/abstract-debounce.directive.mjs +3 -3
  112. package/esm2020/lib/directives/abstract-debounce/debounce-keyup.directive.mjs +3 -3
  113. package/esm2020/lib/directives/auto-hide/auto-hide.directive.mjs +3 -3
  114. package/esm2020/lib/directives/keyboard-events/keypress-enter.directive.mjs +8 -8
  115. package/esm2020/lib/directives/keyboard-events/only-numbers.directive.mjs +3 -3
  116. package/esm2020/lib/directives/keyboard-events/two-digital-decimal-number.directive.mjs +3 -3
  117. package/esm2020/lib/directives/ng-var.directive.mjs +12 -12
  118. package/esm2020/lib/directives/shared-directives.module.mjs +17 -9
  119. package/esm2020/lib/directives/zindex-toggle/zindex-toggle.directive.mjs +9 -9
  120. package/esm2020/lib/pipes/call-component-function.pipe.mjs +3 -3
  121. package/esm2020/lib/pipes/find-option-selected-field.pipe.mjs +3 -3
  122. package/esm2020/lib/pipes/select/filter-options.pipe.mjs +3 -3
  123. package/esm2020/lib/pipes/select/select-filters.pipe.mjs +3 -3
  124. package/esm2020/lib/pipes/selected-list/are-all-options-selected.pipe.mjs +3 -3
  125. package/esm2020/lib/pipes/shared-pipes.module.mjs +4 -4
  126. package/esm2020/lib/pipes/tree/format-object-to-recursif-tree.pipe.mjs +3 -3
  127. package/esm2020/lib/pipes/tree/format-object-to-simple-tree.pipe.mjs +3 -3
  128. package/esm2020/lib/services/dom.service.mjs +3 -3
  129. package/esm2020/lib/services/history.service.mjs +53 -0
  130. package/esm2020/lib/services/multiple-selection.service.mjs +3 -3
  131. package/esm2020/lib/utils/array.mjs +2 -0
  132. package/esm2020/lib/utils/uuid.mjs +8 -0
  133. package/esm2020/lib/wizi-components.module.mjs +4 -4
  134. package/esm2020/public-api.mjs +8 -5
  135. package/fesm2015/wizishop-angular-components.mjs +829 -748
  136. package/fesm2015/wizishop-angular-components.mjs.map +1 -1
  137. package/fesm2020/wizishop-angular-components.mjs +828 -747
  138. package/fesm2020/wizishop-angular-components.mjs.map +1 -1
  139. package/lib/components/block/block.component.d.ts +1 -1
  140. package/lib/components/card-price/card-price.component.d.ts +2 -1
  141. package/lib/components/checkbox/checkbox.component.d.ts +1 -1
  142. package/lib/components/header-page/header-page.component.d.ts +8 -2
  143. package/lib/components/inputs/input-with-select/input-with-select.component.d.ts +1 -1
  144. package/lib/components/inputs/input-with-select/option-item.dto.d.ts +1 -1
  145. package/lib/components/mosaic/mosaic.component.d.ts +4 -4
  146. package/lib/components/radio/radio-directive.d.ts +12 -0
  147. package/lib/components/radio/radio-group.directive.d.ts +11 -0
  148. package/lib/components/selects/option/option-selection-handler.interface.d.ts +1 -0
  149. package/lib/components/selects/option/option.component.d.ts +1 -0
  150. package/lib/components/selects/option/select-option.directive.d.ts +3 -1
  151. package/lib/components/selects/{select-test → select}/select.component.d.ts +3 -3
  152. package/lib/components/selects/{select-test → select}/select.directive.d.ts +8 -5
  153. package/lib/components/selects/{select-test → select}/value-change.service.d.ts +15 -5
  154. package/lib/components/shared-components.module.d.ts +79 -80
  155. package/lib/components/tree/tree.component.d.ts +8 -7
  156. package/lib/components/tree/tree.dto.d.ts +1 -1
  157. package/lib/directives/shared-directives.module.d.ts +6 -4
  158. package/lib/pipes/call-component-function.pipe.d.ts +1 -1
  159. package/lib/services/history.service.d.ts +14 -0
  160. package/lib/utils/array.d.ts +1 -0
  161. package/lib/utils/uuid.d.ts +1 -0
  162. package/package.json +13 -14
  163. package/public-api.d.ts +7 -4
  164. package/wizishop-angular-components-15.1.1.tgz +0 -0
  165. package/esm2020/lib/components/selects/legacy-select/select.component.mjs +0 -133
  166. package/esm2020/lib/components/selects/select-test/select.component.mjs +0 -197
  167. package/esm2020/lib/components/selects/select-test/select.directive.mjs +0 -154
  168. package/esm2020/lib/components/selects/select-test/value-change.service.mjs +0 -144
  169. package/lib/components/selects/legacy-select/select.component.d.ts +0 -46
  170. package/wizishop-angular-components-15.0.1.tgz +0 -0
package/public-api.d.ts CHANGED
@@ -12,6 +12,8 @@ export * from './lib/components/back/back.component';
12
12
  export * from './lib/components/separator/separator.component';
13
13
  export * from './lib/components/logo/logo.component';
14
14
  export * from './lib/components/radio/radio.component';
15
+ export * from './lib/components/radio/radio-directive';
16
+ export * from './lib/components/radio/radio-group.directive';
15
17
  export * from './lib/components/state/state.component';
16
18
  export * from './lib/components/tag-label/tag-label.component';
17
19
  export * from './lib/components/calendar/calendar.component';
@@ -42,7 +44,6 @@ export * from './lib/components/checkbox/checkbox.component';
42
44
  export * from './lib/components/loader/loader.component';
43
45
  export * from './lib/components/progress-bar/progress-bar.component';
44
46
  export * from './lib/components/upload/upload.component';
45
- export * from './lib/components/selects/legacy-select/select.component';
46
47
  export * from './lib/components/selects/select-items.dto';
47
48
  export * from './lib/components/inputs/input-with-select/input-with-select.component';
48
49
  export * from './lib/components/inputs/input-with-select/option-item.dto';
@@ -56,6 +57,7 @@ export * from './lib/directives/zindex-toggle/zindex-toggle.directive';
56
57
  export * from './lib/directives/keyboard-events/only-numbers.directive';
57
58
  export * from './lib/directives/ng-var.directive';
58
59
  export * from './lib/utils/html-container.class';
60
+ export * from './lib/utils/uuid';
59
61
  export * from './lib/components/selects/call-to-action.model';
60
62
  export * from './lib/components/table/shared/filters-table.service';
61
63
  export * from './lib/components/table/shared/table-filters.model';
@@ -105,9 +107,9 @@ export * from './lib/directives/keyboard-events/keypress-enter.directive';
105
107
  export * from './lib/directives/keyboard-events/two-digital-decimal-number.directive';
106
108
  export * from './lib/components/optional-disable-container/optional-disable-container.component';
107
109
  export * from './lib/components/summary/summary.component';
108
- export * from './lib/components/selects/select-test/select.component';
109
- export * from './lib/components/selects/select-test/value-change.service';
110
- export * from './lib/components/selects/select-test/select.directive';
110
+ export * from './lib/components/selects/select/select.component';
111
+ export * from './lib/components/selects/select/value-change.service';
112
+ export * from './lib/components/selects/select/select.directive';
111
113
  export * from './lib/components/selects/option/option.component';
112
114
  export * from './lib/components/selects/option-call-to-action/option-call-to-action.component';
113
115
  export * from './lib/components/common/placeholder/placeholder.component';
@@ -136,3 +138,4 @@ export * from './lib/animations/list/animate-list-from-left.animation';
136
138
  export * from './lib/animations/switch/switch-in-out.animation';
137
139
  export * from './lib/animations/in-out/in-out-x.animation';
138
140
  export * from './lib/animations/in-out/in-out-y.animation';
141
+ export * from './lib/services/history.service';
@@ -1,133 +0,0 @@
1
- import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common";
5
- import * as i2 from "@angular/forms";
6
- import * as i3 from "../../../directives/auto-hide/auto-hide.directive";
7
- import * as i4 from "../../../directives/zindex-toggle/zindex-toggle.directive";
8
- import * as i5 from "../../../directives/keyboard-events/keypress-enter.directive";
9
- import * as i6 from "ngx-perfect-scrollbar";
10
- import * as i7 from "@ngx-translate/core";
11
- import * as i8 from "../../../pipes/select/select-filters.pipe";
12
- export class SelectComponent {
13
- constructor() {
14
- this.search = false;
15
- this.searchValue = '';
16
- this.openUp = false;
17
- this.searchValueChange = new EventEmitter();
18
- this.type = 'default';
19
- this.maxWidth = '100%';
20
- this.disabled = false;
21
- this.selectValue = new EventEmitter(); // todo rename more explicit
22
- this.clickOnCallToAction = new EventEmitter();
23
- this.openCategories = false;
24
- this.indexItemSelected = -1;
25
- // ControlValueAccessor methods
26
- this.onChange = () => { };
27
- this.onTouch = () => { };
28
- }
29
- set items(items) {
30
- this._items = items;
31
- this.setIndexItemSelected();
32
- }
33
- get items() {
34
- return this._items;
35
- }
36
- set callToAction(callToAction) {
37
- this._calllToAction = callToAction;
38
- }
39
- get callToAction() {
40
- return this._calllToAction;
41
- }
42
- onClose() {
43
- this.openCategories = false;
44
- }
45
- customTB(item, index) {
46
- return `${item.id}-${index}`;
47
- }
48
- onSelectItem(id) {
49
- this.unselectAll();
50
- this.setIndexItemSelectedById(id);
51
- const itemSelected = this.getItemSelected();
52
- itemSelected.selected = true;
53
- this.selectValue.emit(this.indexItemSelected);
54
- this.onChange(itemSelected);
55
- }
56
- onClickCallToAction() {
57
- this.onClose();
58
- this.clickOnCallToAction.emit(this.callToAction.value);
59
- }
60
- onSearcheValueChange() {
61
- this.searchValueChange.emit(this.searchValue);
62
- }
63
- getItemSelected() {
64
- return this.items[this.indexItemSelected];
65
- }
66
- showCategories() {
67
- this.openCategories = true;
68
- setTimeout(() => {
69
- this.searchElement.nativeElement?.focus();
70
- }, 0);
71
- }
72
- unselectAll() {
73
- this.items.forEach(item => item.selected = false);
74
- }
75
- setIndexItemSelectedById(id) {
76
- this.indexItemSelected = this.items.findIndex(item => item.id === id);
77
- }
78
- setIndexItemSelected() {
79
- this.indexItemSelected = this.items.findIndex(item => item.selected);
80
- }
81
- writeValue(selectItem) {
82
- if (!selectItem) {
83
- return;
84
- }
85
- this.unselectAll();
86
- selectItem.selected = true;
87
- this.setIndexItemSelectedById(selectItem.id);
88
- }
89
- registerOnChange(fn) {
90
- this.onChange = fn;
91
- }
92
- registerOnTouched(fn) {
93
- this.onTouch = fn;
94
- }
95
- }
96
- SelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: SelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
97
- SelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.2", type: SelectComponent, selector: "wac-select", inputs: { items: "items", placeholder: "placeholder", label: "label", maxWidthItems: "maxWidthItems", search: "search", searchValue: "searchValue", openUp: "openUp", type: "type", callToAction: "callToAction", maxWidth: "maxWidth", disabled: "disabled" }, outputs: { searchValueChange: "searchValueChange", selectValue: "selectValue", clickOnCallToAction: "clickOnCallToAction" }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: SelectComponent, multi: true }], viewQueries: [{ propertyName: "searchElement", first: true, predicate: ["search"], descendants: true }], ngImport: i0, template: "<p *ngIf=\"label\" [innerHTML]=\"label\" class=\"wac-select__label\"></p>\n\n<div class=\"wac-select\" wzAutoHide (clickOutside)=\"onClose()\" [ngStyle]=\"{ 'max-width': maxWidth }\" [ngClass]=\"{'to-top': openUp}\" [zIndexToggle]=\"openCategories\">\n\n <div class=\"wac-select__current\" [ngClass]=\"{ 'select-disabled' : disabled }\" (click)=\"!disabled && openCategories = !openCategories\" *ngIf=\"!search\">\n <span *ngIf=\"indexItemSelected !== -1\" class=\"icon\" [innerHTML]=\"items[indexItemSelected].icon\"></span>\n <span [innerHTML]=\"indexItemSelected !== -1 ? items[indexItemSelected].name : placeholder\"></span><span><i class=\"fas fa-chevron-down\"></i></span>\n </div>\n\n <div class=\"wac-select__current wac-select__current--withSearch\" [ngClass]=\"{ 'select-disabled' : disabled, 'open-search': openCategories }\" *ngIf=\"search\">\n <div class=\"wac-select__current__search\" *ngIf=\"openCategories && !disabled\">\n <i class=\"far fa-search\"></i>\n <input #search type=\"text\" [(ngModel)]=\"searchValue\" (ngModelChange)=\"onSearcheValueChange()\" (keypressEnter)=\"onClickCallToAction()\"/>\n </div>\n <span (click)=\"openCategories = !openCategories;\" *ngIf=\"items[indexItemSelected]?.icon && !openCategories\" class=\"icon\" [innerHTML]=\"items[indexItemSelected].icon\"></span>\n <span (click)=\"showCategories()\" [innerHTML]=\"items[indexItemSelected]?.name ? items[indexItemSelected].name : placeholder\"></span>\n <span (click)=\"openCategories = !openCategories;\"><i class=\"fas fa-chevron-down\"></i></span>\n </div>\n\n <div class=\"wac-select__content\" *ngIf=\"!disabled\" [ngClass]=\"{ hidden: !openCategories, open: type === 'open' }\" [ngStyle]=\"{ 'max-width': maxWidthItems }\">\n <perfect-scrollbar [config]=\"{ suppressScrollX: true }\" *ngIf=\"items.length\">\n\n <div *ngIf=\"callToAction\" class=\"wac-select__content__cta\">\n <div (click)=\"onClickCallToAction()\">\n <i *ngIf=\"callToAction.icon\" [classList]=\"callToAction.icon\"></i><strong *ngIf=\"callToAction.boldText\">{{ callToAction.boldText }}</strong\n ><span>{{ callToAction?.name }}</span>\n </div>\n </div>\n\n <div\n *ngFor=\"let item of items | selectFilters: searchValue; let index = index;\"\n (click)=\"onClose()\"\n class=\"wac-select__content__item\"\n >\n <div [ngClass]=\"{ selected: item.selected }\" (click)=\"onSelectItem(item.id)\">\n <span class=\"icon\" [innerHTML]=\"item.icon\" *ngIf=\"item.icon\"></span>{{ item.name }}\n </div>\n </div>\n\n </perfect-scrollbar>\n\n <div *ngIf=\"!(items | selectFilters: searchValue)?.length\" class=\"wac-select__content__empty\">\n <span>{{'wac.datatable.noresult' | translate}}</span>\n </div>\n\n </div>\n</div>\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.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.AutoHideDirective, selector: "[wzAutoHide]", inputs: ["triggerElement", "forceOn"], outputs: ["clickOutside"] }, { kind: "directive", type: i4.ZindexToggleDirective, selector: "[zIndexToggle]", inputs: ["zIndexToggle"], outputs: ["onEventChange"] }, { kind: "directive", type: i5.KeypressEnterDirective, selector: "[keypressEnter]", outputs: ["keypressEnter"] }, { kind: "component", type: i6.PerfectScrollbarComponent, selector: "perfect-scrollbar", inputs: ["disabled", "usePSClass", "autoPropagation", "scrollIndicators", "config"], outputs: ["psScrollY", "psScrollX", "psScrollUp", "psScrollDown", "psScrollLeft", "psScrollRight", "psYReachEnd", "psYReachStart", "psXReachEnd", "psXReachStart"], exportAs: ["ngxPerfectScrollbar"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }, { kind: "pipe", type: i8.SelectFiltersPipe, name: "selectFilters" }] });
98
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: SelectComponent, decorators: [{
99
- type: Component,
100
- args: [{ selector: 'wac-select', providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: SelectComponent, multi: true }], template: "<p *ngIf=\"label\" [innerHTML]=\"label\" class=\"wac-select__label\"></p>\n\n<div class=\"wac-select\" wzAutoHide (clickOutside)=\"onClose()\" [ngStyle]=\"{ 'max-width': maxWidth }\" [ngClass]=\"{'to-top': openUp}\" [zIndexToggle]=\"openCategories\">\n\n <div class=\"wac-select__current\" [ngClass]=\"{ 'select-disabled' : disabled }\" (click)=\"!disabled && openCategories = !openCategories\" *ngIf=\"!search\">\n <span *ngIf=\"indexItemSelected !== -1\" class=\"icon\" [innerHTML]=\"items[indexItemSelected].icon\"></span>\n <span [innerHTML]=\"indexItemSelected !== -1 ? items[indexItemSelected].name : placeholder\"></span><span><i class=\"fas fa-chevron-down\"></i></span>\n </div>\n\n <div class=\"wac-select__current wac-select__current--withSearch\" [ngClass]=\"{ 'select-disabled' : disabled, 'open-search': openCategories }\" *ngIf=\"search\">\n <div class=\"wac-select__current__search\" *ngIf=\"openCategories && !disabled\">\n <i class=\"far fa-search\"></i>\n <input #search type=\"text\" [(ngModel)]=\"searchValue\" (ngModelChange)=\"onSearcheValueChange()\" (keypressEnter)=\"onClickCallToAction()\"/>\n </div>\n <span (click)=\"openCategories = !openCategories;\" *ngIf=\"items[indexItemSelected]?.icon && !openCategories\" class=\"icon\" [innerHTML]=\"items[indexItemSelected].icon\"></span>\n <span (click)=\"showCategories()\" [innerHTML]=\"items[indexItemSelected]?.name ? items[indexItemSelected].name : placeholder\"></span>\n <span (click)=\"openCategories = !openCategories;\"><i class=\"fas fa-chevron-down\"></i></span>\n </div>\n\n <div class=\"wac-select__content\" *ngIf=\"!disabled\" [ngClass]=\"{ hidden: !openCategories, open: type === 'open' }\" [ngStyle]=\"{ 'max-width': maxWidthItems }\">\n <perfect-scrollbar [config]=\"{ suppressScrollX: true }\" *ngIf=\"items.length\">\n\n <div *ngIf=\"callToAction\" class=\"wac-select__content__cta\">\n <div (click)=\"onClickCallToAction()\">\n <i *ngIf=\"callToAction.icon\" [classList]=\"callToAction.icon\"></i><strong *ngIf=\"callToAction.boldText\">{{ callToAction.boldText }}</strong\n ><span>{{ callToAction?.name }}</span>\n </div>\n </div>\n\n <div\n *ngFor=\"let item of items | selectFilters: searchValue; let index = index;\"\n (click)=\"onClose()\"\n class=\"wac-select__content__item\"\n >\n <div [ngClass]=\"{ selected: item.selected }\" (click)=\"onSelectItem(item.id)\">\n <span class=\"icon\" [innerHTML]=\"item.icon\" *ngIf=\"item.icon\"></span>{{ item.name }}\n </div>\n </div>\n\n </perfect-scrollbar>\n\n <div *ngIf=\"!(items | selectFilters: searchValue)?.length\" class=\"wac-select__content__empty\">\n <span>{{'wac.datatable.noresult' | translate}}</span>\n </div>\n\n </div>\n</div>\n" }]
101
- }], ctorParameters: function () { return []; }, propDecorators: { items: [{
102
- type: Input
103
- }], placeholder: [{
104
- type: Input
105
- }], label: [{
106
- type: Input
107
- }], maxWidthItems: [{
108
- type: Input
109
- }], search: [{
110
- type: Input
111
- }], searchValue: [{
112
- type: Input
113
- }], openUp: [{
114
- type: Input
115
- }], searchValueChange: [{
116
- type: Output
117
- }], type: [{
118
- type: Input
119
- }], callToAction: [{
120
- type: Input
121
- }], maxWidth: [{
122
- type: Input
123
- }], disabled: [{
124
- type: Input
125
- }], selectValue: [{
126
- type: Output
127
- }], clickOnCallToAction: [{
128
- type: Output
129
- }], searchElement: [{
130
- type: ViewChild,
131
- args: ['search']
132
- }] } });
133
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0cy9sZWdhY3ktc2VsZWN0L3NlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdHMvbGVnYWN5LXNlbGVjdC9zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFHcEcsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7O0FBT3pFLE1BQU0sT0FBTyxlQUFlO0lBNEQxQjtRQXBDQSxXQUFNLEdBQUcsS0FBSyxDQUFDO1FBR2YsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFFaEIsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUVkLHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFHekQsU0FBSSxHQUFHLFNBQVMsQ0FBQztRQVdSLGFBQVEsR0FBRyxNQUFNLENBQUM7UUFHM0IsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUVQLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQyxDQUFDLDRCQUE0QjtRQUV0RSx3QkFBbUIsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBSXhELG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBRXZCLHNCQUFpQixHQUFXLENBQUMsQ0FBQyxDQUFDO1FBcUQvQiwrQkFBK0I7UUFFL0IsYUFBUSxHQUFxQyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFDdEQsWUFBTyxHQUFRLEdB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RCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxpQkFBaUIsQ0FBQyxFQUFPO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO0lBQ3BCLENBQUM7OzRHQWxJVSxlQUFlO2dHQUFmLGVBQWUsa2FBRmYsQ0FBQyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxtSUNSeEYsc3lGQStDQTsyRkRyQ2EsZUFBZTtrQkFMM0IsU0FBUzsrQkFDRSxZQUFZLGFBRVgsQ0FBQyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLGlCQUFpQixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQzswRUFPekUsS0FBSztzQkFBakIsS0FBSztnQkFVTixXQUFXO3NCQURWLEtBQUs7Z0JBSU4sS0FBSztzQkFESixLQUFLO2dCQUlOLGFBQWE7c0JBRFosS0FBSztnQkFJTixNQUFNO3NCQURMLEtBQUs7Z0JBSU4sV0FBVztzQkFEVixLQUFLO2dCQUdHLE1BQU07c0JBQWQsS0FBSztnQkFFSSxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBR1AsSUFBSTtzQkFESCxLQUFLO2dCQUlPLFlBQVk7c0JBQXhCLEtBQUs7Z0JBUUcsUUFBUTtzQkFBaEIsS0FBSztnQkFHTixRQUFRO3NCQURQLEtBQUs7Z0JBR0ksV0FBVztzQkFBcEIsTUFBTTtnQkFFRyxtQkFBbUI7c0JBQTVCLE1BQU07Z0JBRWMsYUFBYTtzQkFBakMsU0FBUzt1QkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2FsbGxUb0FjdGlvbiB9IGZyb20gJy4uL2NhbGwtdG8tYWN0aW9uLm1vZGVsJztcbmltcG9ydCB7IFNlbGVjdEl0ZW0gfSBmcm9tICcuLi9zZWxlY3QtaXRlbXMuZHRvJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnd2FjLXNlbGVjdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLCB1c2VFeGlzdGluZzogU2VsZWN0Q29tcG9uZW50LCBtdWx0aTogdHJ1ZSB9XVxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIC8vISBSZWZhY3RvIGltcHJvdmUgc3JvbGwgb24gbW9iaWxlLCBzZWUgd2l0aCBQYXVsaW5lXG4gIC8vIHRvZG8gY291bGQgYmUgc2ltcGxpZnkuIENoZWNrIGZpbHRlcnMgbWFuYWdlciBpbXBsZW1lbnRhdGlvbiBmb3IgdXNlIGNhc2VcblxuICBfaXRlbXM6IFNlbGVjdEl0ZW1bXTtcbiAgQElucHV0KCkgc2V0IGl0ZW1zKGl0ZW1zOiBTZWxlY3RJdGVtW10pIHtcbiAgICB0aGlzLl9pdGVtcyA9IGl0ZW1zO1xuICAgIHRoaXMuc2V0SW5kZXhJdGVtU2VsZWN0ZWQoKTtcbiAgfVxuXG4gIGdldCBpdGVtcygpIDogU2VsZWN0SXRlbVtdIHtcbiAgICByZXR1cm4gdGhpcy5faXRlbXM7XG4gIH1cblxuICBASW5wdXQoKVxuICBwbGFjZWhvbGRlcjogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIGxhYmVsOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgbWF4V2lkdGhJdGVtczogc3RyaW5nOyAvLyB0b2RvIGltcHJvdnJlIHR5cGUgbGlrZSA6IGV4cG9ydCB0eXBlIENzc1VuaXRzID0gJ2VtJ3wgJ3JlbScgfCAncHgnOyBleHBvcnQgdHlwZSBDc3NVbml0ID0gYCR7bnVtYmVyfSR7Q3NzVW5pdHN9YDtcblxuICBASW5wdXQoKVxuICBzZWFyY2ggPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBzZWFyY2hWYWx1ZTogc3RyaW5nID0gJyc7XG5cbiAgQElucHV0KCkgb3BlblVwID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpIHNlYXJjaFZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgQElucHV0KClcbiAgdHlwZSA9ICdkZWZhdWx0JztcblxuICBfY2FsbGxUb0FjdGlvbjogQ2FsbGxUb0FjdGlvbjsgLy8gdG9kbyBtYXliZSByZXBsYWNlIGJ5IG5nLWNvbnRlbnQgb3IgYWxsb3cgdGVtcGxhdGUgb3IgY2hpbGQgY29tcG9uZW50IGxpa2UgPHdhYy1vcHRpb24tY2FsbC10by1hY3Rpb24+Li4uXG4gIEBJbnB1dCgpIHNldCBjYWxsVG9BY3Rpb24oY2FsbFRvQWN0aW9uOiBDYWxsbFRvQWN0aW9uKSB7XG4gICAgdGhpcy5fY2FsbGxUb0FjdGlvbiA9IGNhbGxUb0FjdGlvbjtcbiAgfVxuXG4gIGdldCBjYWxsVG9BY3Rpb24oKTogQ2FsbGxUb0FjdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuX2NhbGxsVG9BY3Rpb247XG4gIH1cblxuICBASW5wdXQoKSBtYXhXaWR0aCA9ICcxMDAlJztcblxuICBASW5wdXQoKVxuICBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKSBzZWxlY3RWYWx1ZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpOyAvLyB0b2RvIHJlbmFtZSBtb3JlIGV4cGxpY2l0XG5cbiAgQE91dHB1dCgpIGNsaWNrT25DYWxsVG9BY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBAVmlld0NoaWxkKCdzZWFyY2gnKSBzZWFyY2hFbGVtZW50OiBFbGVtZW50UmVmO1xuXG4gIG9wZW5DYXRlZ29yaWVzID0gZmFsc2U7XG5cbiAgaW5kZXhJdGVtU2VsZWN0ZWQ6IG51bWJlciA9IC0xO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBvbkNsb3NlKCkge1xuICAgIHRoaXMub3BlbkNhdGVnb3JpZXMgPSBmYWxzZTtcbiAgfVxuXG4gIGN1c3RvbVRCKGl0ZW06IFNlbGVjdEl0ZW0sIGluZGV4OiBudW1iZXIpIHtcbiAgICByZXR1cm4gYCR7aXRlbS5pZH0tJHtpbmRleH1gO1xuICB9XG5cbiAgb25TZWxlY3RJdGVtKGlkOiBudW1iZXIpIHtcbiAgICB0aGlzLnVuc2VsZWN0QWxsKCk7XG4gICAgdGhpcy5zZXRJbmRleEl0ZW1TZWxlY3RlZEJ5SWQoaWQpO1xuICAgIGNvbnN0IGl0ZW1TZWxlY3RlZDogU2VsZWN0SXRlbSA9IHRoaXMuZ2V0SXRlbVNlbGVjdGVkKCk7XG4gICAgaXRlbVNlbGVjdGVkLnNlbGVjdGVkID0gdHJ1ZTtcbiAgICB0aGlzLnNlbGVjdFZhbHVlLmVtaXQodGhpcy5pbmRleEl0ZW1TZWxlY3RlZCk7XG4gICAgdGhpcy5vbkNoYW5nZShpdGVtU2VsZWN0ZWQpO1xuICB9XG5cbiAgb25DbGlja0NhbGxUb0FjdGlvbigpIHtcbiAgICB0aGlzLm9uQ2xvc2UoKTtcbiAgICB0aGlzLmNsaWNrT25DYWxsVG9BY3Rpb24uZW1pdCh0aGlzLmNhbGxUb0FjdGlvbi52YWx1ZSk7XG4gIH1cblxuICBvblNlYXJjaGVWYWx1ZUNoYW5nZSgpIHtcbiAgICB0aGlzLnNlYXJjaFZhbHVlQ2hhbmdlLmVtaXQodGhpcy5zZWFyY2hWYWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIGdldEl0ZW1TZWxlY3RlZCgpOiBTZWxlY3RJdGVtIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtc1t0aGlzLmluZGV4SXRlbVNlbGVjdGVkXTtcbiAgfVxuXG4gIHNob3dDYXRlZ29yaWVzKCkge1xuICAgIHRoaXMub3BlbkNhdGVnb3JpZXMgPSB0cnVlO1xuICAgIHNldFRpbWVvdXQoKCkgPT4geyAvLyB0aGlzIHdpbGwgbWFrZSB0aGUgZXhlY3V0aW9uIGFmdGVyIHRoZSBhYm92ZSBib29sZWFuIGhhcyBjaGFuZ2VkXG4gICAgICB0aGlzLnNlYXJjaEVsZW1lbnQubmF0aXZlRWxlbWVudD8uZm9jdXMoKTtcbiAgICB9LCAwKTtcbiAgfVxuXG4gIHByaXZhdGUgdW5zZWxlY3RBbGwoKSB7XG4gICAgdGhpcy5pdGVtcy5mb3JFYWNoKGl0ZW0gPT4gaXRlbS5zZWxlY3RlZCA9IGZhbHNlKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0SW5kZXhJdGVtU2VsZWN0ZWRCeUlkKGlkOiBudW1iZXIpIHtcbiAgICB0aGlzLmluZGV4SXRlbVNlbGVjdGVkID0gdGhpcy5pdGVtcy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLmlkID09PSBpZCk7XG4gIH1cblxuICBwcml2YXRlIHNldEluZGV4SXRlbVNlbGVjdGVkKCkge1xuICAgIHRoaXMuaW5kZXhJdGVtU2VsZWN0ZWQgPSB0aGlzLml0ZW1zLmZpbmRJbmRleChpdGVtID0+IGl0ZW0uc2VsZWN0ZWQpO1xuICB9XG5cbiAgLy8gQ29udHJvbFZhbHVlQWNjZXNzb3IgbWV0aG9kc1xuXG4gIG9uQ2hhbmdlOiAoc2VsZWN0SXRlbTogU2VsZWN0SXRlbSkgPT4gdm9pZCA9ICgpID0+IHt9O1xuICBvblRvdWNoOiBhbnkgPSAoKSA9PiB7fVxuXG4gIHdyaXRlVmFsdWUoc2VsZWN0SXRlbTogYW55KXtcbiAgICBpZiAoIXNlbGVjdEl0ZW0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy51bnNlbGVjdEFsbCgpO1xuICAgIHNlbGVjdEl0ZW0uc2VsZWN0ZWQgPSB0cnVlO1xuICAgIHRoaXMuc2V0SW5kZXhJdGVtU2VsZWN0ZWRCeUlkKHNlbGVjdEl0ZW0uaWQpO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KXtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSl7XG4gICAgdGhpcy5vblRvdWNoID0gZm47XG4gIH1cbn1cbiIsIjxwICpuZ0lmPVwibGFiZWxcIiBbaW5uZXJIVE1MXT1cImxhYmVsXCIgY2xhc3M9XCJ3YWMtc2VsZWN0X19sYWJlbFwiPjwvcD5cblxuPGRpdiBjbGFzcz1cIndhYy1zZWxlY3RcIiB3ekF1dG9IaWRlIChjbGlja091dHNpZGUpPVwib25DbG9zZSgpXCIgW25nU3R5bGVdPVwieyAnbWF4LXdpZHRoJzogbWF4V2lkdGggfVwiIFtuZ0NsYXNzXT1cInsndG8tdG9wJzogb3BlblVwfVwiIFt6SW5kZXhUb2dnbGVdPVwib3BlbkNhdGVnb3JpZXNcIj5cblxuICA8ZGl2IGNsYXNzPVwid2FjLXNlbGVjdF9fY3VycmVudFwiIFtuZ0NsYXNzXT1cInsgJ3NlbGVjdC1kaXNhYmxlZCcgOiBkaXNhYmxlZCB9XCIgKGNsaWNrKT1cIiFkaXNhYmxlZCAmJiBvcGVuQ2F0ZWdvcmllcyA9ICFvcGVuQ2F0ZWdvcmllc1wiICpuZ0lmPVwiIXNlYXJjaFwiPlxuICAgIDxzcGFuICpuZ0lmPVwiaW5kZXhJdGVtU2VsZWN0ZWQgIT09IC0xXCIgY2xhc3M9XCJpY29uXCIgW2lubmVySFRNTF09XCJpdGVtc1tpbmRleEl0ZW1TZWxlY3RlZF0uaWNvblwiPjwvc3Bhbj5cbiAgICA8c3BhbiBbaW5uZXJIVE1MXT1cImluZGV4SXRlbVNlbGVjdGVkICE9PSAtMSA/IGl0ZW1zW2luZGV4SXRlbVNlbGVjdGVkXS5uYW1lIDogcGxhY2Vob2xkZXJcIj48L3NwYW4+PHNwYW4+PGkgY2xhc3M9XCJmYXMgZmEtY2hldnJvbi1kb3duXCI+PC9pPjwvc3Bhbj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cIndhYy1zZWxlY3RfX2N1cnJlbnQgd2FjLXNlbGVjdF9fY3VycmVudC0td2l0aFNlYXJjaFwiIFtuZ0NsYXNzXT1cInsgJ3NlbGVjdC1kaXNhYmxlZCcgOiBkaXNhYmxlZCwgJ29wZW4tc2VhcmNoJzogb3BlbkNhdGVnb3JpZXMgfVwiICpuZ0lmPVwic2VhcmNoXCI+XG4gICAgPGRpdiBjbGFzcz1cIndhYy1zZWxlY3RfX2N1cnJlbnRfX3NlYXJjaFwiICpuZ0lmPVwib3BlbkNhdGVnb3JpZXMgJiYgIWRpc2FibGVkXCI+XG4gICAgICA8aSBjbGFzcz1cImZhciBmYS1zZWFyY2hcIj48L2k+XG4gICAgICA8aW5wdXQgI3NlYXJjaCB0eXBlPVwidGV4dFwiIFsobmdNb2RlbCldPVwic2VhcmNoVmFsdWVcIiAobmdNb2RlbENoYW5nZSk9XCJvblNlYXJjaGVWYWx1ZUNoYW5nZSgpXCIgKGtleXByZXNzRW50ZXIpPVwib25DbGlja0NhbGxUb0FjdGlvbigpXCIvPlxuICAgIDwvZGl2PlxuICAgIDxzcGFuIChjbGljayk9XCJvcGVuQ2F0ZWdvcmllcyA9ICFvcGVuQ2F0ZWdvcmllcztcIiAqbmdJZj1cIml0ZW1zW2luZGV4SXRlbVNlbGVjdGVkXT8uaWNvbiAmJiAhb3BlbkNhdGVnb3JpZXNcIiBjbGFzcz1cImljb25cIiBbaW5uZXJIVE1MXT1cIml0ZW1zW2luZGV4SXRlbVNlbGVjdGVkXS5pY29uXCI+PC9zcGFuPlxuICAgIDxzcGFuIChjbGljayk9XCJzaG93Q2F0ZWdvcmllcygpXCIgW2lubmVySFRNTF09XCJpdGVtc1tpbmRleEl0ZW1TZWxlY3RlZF0/Lm5hbWUgPyBpdGVtc1tpbmRleEl0ZW1TZWxlY3RlZF0ubmFtZSA6IHBsYWNlaG9sZGVyXCI+PC9zcGFuPlxuICAgIDxzcGFuIChjbGljayk9XCJvcGVuQ2F0ZWdvcmllcyA9ICFvcGVuQ2F0ZWdvcmllcztcIj48aSBjbGFzcz1cImZhcyBmYS1jaGV2cm9uLWRvd25cIj48L2k+PC9zcGFuPlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwid2FjLXNlbGVjdF9fY29udGVudFwiICpuZ0lmPVwiIWRpc2FibGVkXCIgW25nQ2xhc3NdPVwieyBoaWRkZW46ICFvcGVuQ2F0ZWdvcmllcywgb3BlbjogdHlwZSA9PT0gJ29wZW4nIH1cIiBbbmdTdHlsZV09XCJ7ICdtYXgtd2lkdGgnOiBtYXhXaWR0aEl0ZW1zIH1cIj5cbiAgICA8cGVyZmVjdC1zY3JvbGxiYXIgW2NvbmZpZ109XCJ7IHN1cHByZXNzU2Nyb2xsWDogdHJ1ZSB9XCIgKm5nSWY9XCJpdGVtcy5sZW5ndGhcIj5cblxuICAgICAgPGRpdiAqbmdJZj1cImNhbGxUb0FjdGlvblwiIGNsYXNzPVwid2FjLXNlbGVjdF9fY29udGVudF9fY3RhXCI+XG4gICAgICAgIDxkaXYgKGNsaWNrKT1cIm9uQ2xpY2tDYWxsVG9BY3Rpb24oKVwiPlxuICAgICAgICAgIDxpICpuZ0lmPVwiY2FsbFRvQWN0aW9uLmljb25cIiBbY2xhc3NMaXN0XT1cImNhbGxUb0FjdGlvbi5pY29uXCI+PC9pPjxzdHJvbmcgKm5nSWY9XCJjYWxsVG9BY3Rpb24uYm9sZFRleHRcIj57eyBjYWxsVG9BY3Rpb24uYm9sZFRleHQgfX08L3N0cm9uZ1xuICAgICAgICAgID48c3Bhbj57eyBjYWxsVG9BY3Rpb24/Lm5hbWUgfX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXZcbiAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXMgfCBzZWxlY3RGaWx0ZXJzOiBzZWFyY2hWYWx1ZTsgbGV0IGluZGV4ID0gaW5kZXg7XCJcbiAgICAgICAgKGNsaWNrKT1cIm9uQ2xvc2UoKVwiXG4gICAgICAgIGNsYXNzPVwid2FjLXNlbGVjdF9fY29udGVudF9faXRlbVwiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cInsgc2VsZWN0ZWQ6IGl0ZW0uc2VsZWN0ZWQgfVwiIChjbGljayk9XCJvblNlbGVjdEl0ZW0oaXRlbS5pZClcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaWNvblwiIFtpbm5lckhUTUxdPVwiaXRlbS5pY29uXCIgKm5nSWY9XCJpdGVtLmljb25cIj48L3NwYW4+e3sgaXRlbS5uYW1lIH19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgIDwvcGVyZmVjdC1zY3JvbGxiYXI+XG5cbiAgICA8ZGl2ICpuZ0lmPVwiIShpdGVtcyB8IHNlbGVjdEZpbHRlcnM6IHNlYXJjaFZhbHVlKT8ubGVuZ3RoXCIgY2xhc3M9XCJ3YWMtc2VsZWN0X19jb250ZW50X19lbXB0eVwiPlxuICAgICAgPHNwYW4+e3snd2FjLmRhdGF0YWJsZS5ub3Jlc3VsdCcgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cbiAgICA8L2Rpdj5cblxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,197 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, ContentChild, EventEmitter, HostBinding, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core';
2
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
- import { filter, takeUntil } from 'rxjs/operators';
4
- import { ValueChangeService } from './value-change.service';
5
- import { Subject } from 'rxjs';
6
- import { SelectSearchTriggerComponent } from '../select-search-trigger/select-search-trigger.component';
7
- import { DOWN_ARROW, ENTER, ESCAPE, hasModifierKey, LEFT_ARROW, RIGHT_ARROW, TAB, UP_ARROW, } from '@angular/cdk/keycodes';
8
- import { LabelComponent } from '../../common/label/label.component';
9
- import { SelectDirective } from './select.directive';
10
- import * as i0 from "@angular/core";
11
- import * as i1 from "./value-change.service";
12
- import * as i2 from "@angular/common";
13
- import * as i3 from "../../../directives/auto-hide/auto-hide.directive";
14
- import * as i4 from "../../../directives/zindex-toggle/zindex-toggle.directive";
15
- import * as i5 from "ngx-perfect-scrollbar";
16
- import * as i6 from "@ngx-translate/core";
17
- export class SelectTestComponent extends SelectDirective {
18
- constructor(valueChangeService) {
19
- super(valueChangeService);
20
- this.valueChangeService = valueChangeService;
21
- //! Refacto improve sroll on mobile, see with Pauline
22
- // angular material select https://github.com/angular/components/blob/main/src/material/select/select.ts
23
- this.role = 'combobox';
24
- this._openPanel = false;
25
- this.openPanelChange = new EventEmitter();
26
- this.enableSearch = false;
27
- this.tabIndex = -1;
28
- this.isDestroyed$ = new Subject();
29
- this.isKeyBoardAction = false;
30
- this.skipIfTriggeredByKeyboardAction = () => {
31
- if (!this.isKeyBoardAction) {
32
- return true;
33
- }
34
- this.isKeyBoardAction = false;
35
- return false;
36
- };
37
- this.onSelectTouch = () => { };
38
- }
39
- /** Whether the component is required. */
40
- get required() {
41
- return this._required ?? false;
42
- }
43
- set required(value) {
44
- this._required = value;
45
- }
46
- get selectedOptionContent() {
47
- return this.valueChangeService.selectedOptionContent;
48
- }
49
- ;
50
- set keepPanelOpen(keepPanelOpen) {
51
- this.openPanel = keepPanelOpen;
52
- this._keepPanelOpen = keepPanelOpen;
53
- }
54
- get keepPanelOpen() {
55
- return this._keepPanelOpen;
56
- }
57
- set openPanel(openPanel) {
58
- const wasOpen = this._openPanel;
59
- this._openPanel = this.keepPanelOpen || openPanel;
60
- if (openPanel) {
61
- this.customSearchTrigger?.setFocus();
62
- }
63
- if (wasOpen) {
64
- this.onSelectTouch(this.value);
65
- }
66
- }
67
- get openPanel() {
68
- return this._openPanel;
69
- }
70
- ngOnInit() {
71
- super.ngOnInit();
72
- this.closeTabOnValueChange();
73
- }
74
- closeTabOnValueChange() {
75
- this.valueChangeService.valueChange$.pipe(takeUntil(this.isDestroyed$), filter(this.skipIfTriggeredByKeyboardAction)).subscribe(() => {
76
- this.onClosePanel();
77
- });
78
- }
79
- onTogglePanel() {
80
- this.openPanel = !this.openPanel;
81
- this.openPanelChange.emit(this.openPanel);
82
- }
83
- onClosePanel() {
84
- this.openPanel = false;
85
- this.openPanelChange.emit(this.openPanel);
86
- }
87
- onKeydown(event) {
88
- const keyCode = event.keyCode;
89
- if (event.keyCode === TAB) {
90
- // go to the next element with tabindex
91
- if (this.openPanel) {
92
- this.openPanel = false;
93
- }
94
- return;
95
- }
96
- if (this.disabled) {
97
- return;
98
- }
99
- const actionTriggered = this.openPanel ? this._handleOpenKeydown(event) : this._handleClosedKeydown(event);
100
- if (actionTriggered) {
101
- return;
102
- }
103
- this.isKeyBoardAction = true;
104
- super.onKeydown(event);
105
- }
106
- handleKeyboardActionWithSearch(event) {
107
- const keyCode = event.keyCode;
108
- if (keyCode === DOWN_ARROW) {
109
- this.isKeyBoardAction = true;
110
- this.valueChangeService.selectNextOption();
111
- return true;
112
- }
113
- if (keyCode === UP_ARROW) {
114
- this.isKeyBoardAction = true;
115
- this.valueChangeService.selectPreviousOption();
116
- return true;
117
- }
118
- return false;
119
- }
120
- /** Handles keyboard events while the select is closed. */
121
- _handleClosedKeydown(event) {
122
- const keyCode = event.keyCode;
123
- const isArrowKey = keyCode === DOWN_ARROW ||
124
- keyCode === UP_ARROW ||
125
- keyCode === LEFT_ARROW ||
126
- keyCode === RIGHT_ARROW;
127
- const isOpenKey = keyCode === ENTER;
128
- // Open the select on ALT + arrow key to match the native <select>
129
- if ((isOpenKey && !hasModifierKey(event)) ||
130
- (event.altKey && isArrowKey)) {
131
- this.openPanel = true;
132
- return true;
133
- }
134
- return false;
135
- }
136
- /** Handles keyboard events when the selected is open. */
137
- _handleOpenKeydown(event) {
138
- const keyCode = event.keyCode;
139
- const isArrowKey = keyCode === DOWN_ARROW ||
140
- keyCode === UP_ARROW ||
141
- keyCode === LEFT_ARROW ||
142
- keyCode === RIGHT_ARROW;
143
- const isEscapeKey = keyCode === ESCAPE || keyCode === ENTER || keyCode === TAB;
144
- if ((isArrowKey && event.altKey) || isEscapeKey) {
145
- // Close the select on ALT + arrow key to match the native <select>
146
- this.openPanel = false;
147
- if (this.customSearchTrigger && keyCode !== TAB) {
148
- // If a escape key is used with the search, the focus on the select is loosed. And we can not interact with the select anymore.
149
- this.selectHeader.nativeElement.focus();
150
- }
151
- return true;
152
- }
153
- return false;
154
- }
155
- registerOnTouched(fn) {
156
- this.onSelectTouch = fn;
157
- }
158
- ngOnDestroy() {
159
- this.isDestroyed$.next();
160
- this.isDestroyed$.complete();
161
- }
162
- }
163
- SelectTestComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: SelectTestComponent, deps: [{ token: i1.ValueChangeService }], target: i0.ɵɵFactoryTarget.Component });
164
- SelectTestComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.2", type: SelectTestComponent, selector: "wac-select-test", inputs: { required: "required", keepPanelOpen: "keepPanelOpen", openPanel: "openPanel", enableSearch: "enableSearch" }, outputs: { openPanelChange: "openPanelChange" }, host: { properties: { "attr.role": "this.role" } }, providers: [
165
- { provide: NG_VALUE_ACCESSOR, useExisting: SelectTestComponent, multi: true },
166
- ValueChangeService
167
- ], queries: [{ propertyName: "customSearchTrigger", first: true, predicate: SelectSearchTriggerComponent, descendants: true }, { propertyName: "label", first: true, predicate: LabelComponent, descendants: true }], viewQueries: [{ propertyName: "selectHeader", first: true, predicate: ["selectHeader"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<p *ngIf=\"!!label\" class=\"wac-select-test__label\">\n <ng-content select=\"wac-label, .wac-label\" ></ng-content>\n</p>\n\n\n<div\n class=\"wac-select-test\"\n wzAutoHide\n (clickOutside)=\"onClosePanel()\"\n [triggerElement]=\"'wac-select-test__header__selection'\"\n [zIndexToggle]=\"openPanel\"\n >\n\n <div #selectHeader class=\"wac-select-test__header\" [ngClass]=\"{ 'select-disabled' : disabled }\" (click)=\"!disabled && onTogglePanel()\" tabindex=\"0\">\n\n <ng-container [ngTemplateOutlet]=\"openPanel ? openPanelTrigger : closePanelTrigger\" >\n\n <ng-template #closePanelTrigger>\n <ng-container [ngTemplateOutlet]=\"defaultTrigger\"></ng-container>\n </ng-template>\n\n <ng-template #openPanelTrigger>\n <ng-content *ngIf=\"!!customSearchTrigger; else defaultTrigger\" select=\"wac-select-search-trigger\" ></ng-content>\n </ng-template>\n\n <ng-template #defaultTrigger>\n <ng-content *ngIf=\"!selectedOptionContent\" select=\"wac-placeholder,[role=placeholder]\"></ng-content>\n <div\n class=\"wac-select-test__header__selection wac-option__placeholder\"\n *ngIf=\"!!selectedOptionContent\"\n [innerHtml]=\"selectedOptionContent\">\n </div>\n </ng-template>\n\n </ng-container>\n\n <span class=\"wac-select-test__header__chevron\"><i class=\"fas fa-chevron-down\"></i></span>\n\n </div>\n\n\n <div class=\"wac-select-test__content\" *ngIf=\"!disabled\" [ngClass]=\"{ hidden: !openPanel, open: openPanel }\">\n\n <perfect-scrollbar [config]=\"{ suppressScrollX: true }\">\n <ng-content\n select=\"wac-option-call-to-action, wac-option, option, .option, [selectOption]\">\n </ng-content>\n </perfect-scrollbar>\n\n <div *ngIf=\"!optionChildren?.length\" class=\"wac-select-test__content__empty\">\n <span>{{'wac.datatable.noresult' | translate}}</span>\n </div>\n\n </div>\n</div>", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.AutoHideDirective, selector: "[wzAutoHide]", inputs: ["triggerElement", "forceOn"], outputs: ["clickOutside"] }, { kind: "directive", type: i4.ZindexToggleDirective, selector: "[zIndexToggle]", inputs: ["zIndexToggle"], outputs: ["onEventChange"] }, { kind: "component", type: i5.PerfectScrollbarComponent, selector: "perfect-scrollbar", inputs: ["disabled", "usePSClass", "autoPropagation", "scrollIndicators", "config"], outputs: ["psScrollY", "psScrollX", "psScrollUp", "psScrollDown", "psScrollLeft", "psScrollRight", "psYReachEnd", "psYReachStart", "psXReachEnd", "psXReachStart"], exportAs: ["ngxPerfectScrollbar"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
168
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: SelectTestComponent, decorators: [{
169
- type: Component,
170
- args: [{ selector: 'wac-select-test', providers: [
171
- { provide: NG_VALUE_ACCESSOR, useExisting: SelectTestComponent, multi: true },
172
- ValueChangeService
173
- ], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<p *ngIf=\"!!label\" class=\"wac-select-test__label\">\n <ng-content select=\"wac-label, .wac-label\" ></ng-content>\n</p>\n\n\n<div\n class=\"wac-select-test\"\n wzAutoHide\n (clickOutside)=\"onClosePanel()\"\n [triggerElement]=\"'wac-select-test__header__selection'\"\n [zIndexToggle]=\"openPanel\"\n >\n\n <div #selectHeader class=\"wac-select-test__header\" [ngClass]=\"{ 'select-disabled' : disabled }\" (click)=\"!disabled && onTogglePanel()\" tabindex=\"0\">\n\n <ng-container [ngTemplateOutlet]=\"openPanel ? openPanelTrigger : closePanelTrigger\" >\n\n <ng-template #closePanelTrigger>\n <ng-container [ngTemplateOutlet]=\"defaultTrigger\"></ng-container>\n </ng-template>\n\n <ng-template #openPanelTrigger>\n <ng-content *ngIf=\"!!customSearchTrigger; else defaultTrigger\" select=\"wac-select-search-trigger\" ></ng-content>\n </ng-template>\n\n <ng-template #defaultTrigger>\n <ng-content *ngIf=\"!selectedOptionContent\" select=\"wac-placeholder,[role=placeholder]\"></ng-content>\n <div\n class=\"wac-select-test__header__selection wac-option__placeholder\"\n *ngIf=\"!!selectedOptionContent\"\n [innerHtml]=\"selectedOptionContent\">\n </div>\n </ng-template>\n\n </ng-container>\n\n <span class=\"wac-select-test__header__chevron\"><i class=\"fas fa-chevron-down\"></i></span>\n\n </div>\n\n\n <div class=\"wac-select-test__content\" *ngIf=\"!disabled\" [ngClass]=\"{ hidden: !openPanel, open: openPanel }\">\n\n <perfect-scrollbar [config]=\"{ suppressScrollX: true }\">\n <ng-content\n select=\"wac-option-call-to-action, wac-option, option, .option, [selectOption]\">\n </ng-content>\n </perfect-scrollbar>\n\n <div *ngIf=\"!optionChildren?.length\" class=\"wac-select-test__content__empty\">\n <span>{{'wac.datatable.noresult' | translate}}</span>\n </div>\n\n </div>\n</div>" }]
174
- }], ctorParameters: function () { return [{ type: i1.ValueChangeService }]; }, propDecorators: { role: [{
175
- type: HostBinding,
176
- args: ['attr.role']
177
- }], customSearchTrigger: [{
178
- type: ContentChild,
179
- args: [SelectSearchTriggerComponent]
180
- }], label: [{
181
- type: ContentChild,
182
- args: [LabelComponent]
183
- }], selectHeader: [{
184
- type: ViewChild,
185
- args: ['selectHeader']
186
- }], required: [{
187
- type: Input
188
- }], keepPanelOpen: [{
189
- type: Input
190
- }], openPanel: [{
191
- type: Input
192
- }], openPanelChange: [{
193
- type: Output
194
- }], enableSearch: [{
195
- type: Input
196
- }] } });
197
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0cy9zZWxlY3QtdGVzdC9zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9zZWxlY3RzL3NlbGVjdC10ZXN0L3NlbGVjdC10ZXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFjLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZMLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUN4RyxPQUFPLEVBQ0wsVUFBVSxFQUNWLEtBQUssRUFDTCxNQUFNLEVBQ04sY0FBYyxFQUNkLFVBQVUsRUFDVixXQUFXLEVBRVgsR0FBRyxFQUNILFFBQVEsR0FDVCxNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7Ozs7O0FBYXJELE1BQU0sT0FB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Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgQ29udGVudENoaWxkLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGZpbHRlciwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVmFsdWVDaGFuZ2VTZXJ2aWNlIH0gZnJvbSAnLi92YWx1ZS1jaGFuZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTZWxlY3RTZWFyY2hUcmlnZ2VyQ29tcG9uZW50IH0gZnJvbSAnLi4vc2VsZWN0LXNlYXJjaC10cmlnZ2VyL3NlbGVjdC1zZWFyY2gtdHJpZ2dlci5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgRE9XTl9BUlJPVyxcbiAgRU5URVIsXG4gIEVTQ0FQRSxcbiAgaGFzTW9kaWZpZXJLZXksXG4gIExFRlRfQVJST1csXG4gIFJJR0hUX0FSUk9XLFxuICBTUEFDRSxcbiAgVEFCLFxuICBVUF9BUlJPVyxcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcbmltcG9ydCB7IExhYmVsQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tbW9uL2xhYmVsL2xhYmVsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWxlY3REaXJlY3RpdmUgfSBmcm9tICcuL3NlbGVjdC5kaXJlY3RpdmUnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3dhYy1zZWxlY3QtdGVzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QtdGVzdC5jb21wb25lbnQuaHRtbCcsXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsIHVzZUV4aXN0aW5nOiBTZWxlY3RUZXN0Q29tcG9uZW50LCBtdWx0aTogdHJ1ZSB9LFxuICAgIFZhbHVlQ2hhbmdlU2VydmljZVxuICBdLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0VGVzdENvbXBvbmVudDxUT3B0aW9uVmFsdWU+IGV4dGVuZHMgU2VsZWN0RGlyZWN0aXZlPFRPcHRpb25WYWx1ZT4gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIC8vISBSZWZhY3RvIGltcHJvdmUgc3JvbGwgb24gbW9iaWxlLCBzZWUgd2l0aCBQYXVsaW5lXG4gIC8vIGFuZ3VsYXIgbWF0ZXJpYWwgc2VsZWN0IGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2NvbXBvbmVudHMvYmxvYi9tYWluL3NyYy9tYXRlcmlhbC9zZWxlY3Qvc2VsZWN0LnRzXG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnJvbGUnKSByb2xlID0gJ2NvbWJvYm94JztcblxuICBAQ29udGVudENoaWxkKFNlbGVjdFNlYXJjaFRyaWdnZXJDb21wb25lbnQpIGN1c3RvbVNlYXJjaFRyaWdnZXI6IFNlbGVjdFNlYXJjaFRyaWdnZXJDb21wb25lbnQ7XG5cbiAgQENvbnRlbnRDaGlsZChMYWJlbENvbXBvbmVudCkgbGFiZWw6IExhYmVsQ29tcG9uZW50O1xuXG4gIEBWaWV3Q2hpbGQoJ3NlbGVjdEhlYWRlcicpIHNlbGVjdEhlYWRlcjogRWxlbWVudFJlZjtcblxuICAvKiogV2hldGhlciB0aGUgY29tcG9uZW50IGlzIHJlcXVpcmVkLiAqL1xuICBASW5wdXQoKVxuICBnZXQgcmVxdWlyZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3JlcXVpcmVkID8/IGZhbHNlO1xuICB9XG5cbiAgc2V0IHJlcXVpcmVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fcmVxdWlyZWQgPSB2YWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlcXVpcmVkOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuXG4gIGdldCBzZWxlY3RlZE9wdGlvbkNvbnRlbnQoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZUNoYW5nZVNlcnZpY2Uuc2VsZWN0ZWRPcHRpb25Db250ZW50O1xuICB9O1xuXG4gIEBJbnB1dCgpXG4gIHNldCBrZWVwUGFuZWxPcGVuKGtlZXBQYW5lbE9wZW46IGJvb2xlYW4pIHtcbiAgICB0aGlzLm9wZW5QYW5lbCA9IGtlZXBQYW5lbE9wZW47XG4gICAgdGhpcy5fa2VlcFBhbmVsT3BlbiA9IGtlZXBQYW5lbE9wZW47XG4gIH1cblxuICBnZXQga2VlcFBhbmVsT3BlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fa2VlcFBhbmVsT3BlbiA7XG4gIH1cblxuICBwcml2YXRlIF9rZWVwUGFuZWxPcGVuOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpXG4gIHNldCBvcGVuUGFuZWwob3BlblBhbmVsOiBib29sZWFuKSB7XG4gICAgY29uc3Qgd2FzT3BlbiA9IHRoaXMuX29wZW5QYW5lbDtcbiAgICB0aGlzLl9vcGVuUGFuZWwgPSB0aGlzLmtlZXBQYW5lbE9wZW4gfHwgb3BlblBhbmVsO1xuXG4gICAgaWYgKG9wZW5QYW5lbCkge1xuICAgICAgdGhpcy5jdXN0b21TZWFyY2hUcmlnZ2VyPy5zZXRGb2N1cygpO1xuICAgIH1cblxuICAgIGlmICh3YXNPcGVuKSB7XG4gICAgICB0aGlzLm9uU2VsZWN0VG91Y2godGhpcy52YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IG9wZW5QYW5lbCgpIDogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX29wZW5QYW5lbDtcbiAgfVxuICBfb3BlblBhbmVsOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpIG9wZW5QYW5lbENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBASW5wdXQoKSBlbmFibGVTZWFyY2g6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBvdmVycmlkZSB0YWJJbmRleDogbnVtYmVyID0gLTE7XG5cbiAgaXNEZXN0cm95ZWQkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcblxuICBwcml2YXRlIGlzS2V5Qm9hcmRBY3Rpb24gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgdmFsdWVDaGFuZ2VTZXJ2aWNlOiBWYWx1ZUNoYW5nZVNlcnZpY2U8VE9wdGlvblZhbHVlPixcbiAgICApIHtcbiAgICAgIHN1cGVyKHZhbHVlQ2hhbmdlU2VydmljZSk7XG4gICAgfVxuXG4gIG92ZXJyaWRlIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgdGhpcy5jbG9zZVRhYk9uVmFsdWVDaGFuZ2UoKTtcbiAgfVxuXG4gIHByaXZhdGUgY2xvc2VUYWJPblZhbHVlQ2hhbmdlKCkge1xuICAgIHRoaXMudmFsdWVDaGFuZ2VTZXJ2aWNlLnZhbHVlQ2hhbmdlJC5waXBlKHRha2VVbnRpbCh0aGlzLmlzRGVzdHJveWVkJCksIGZpbHRlcih0aGlzLnNraXBJZlRyaWdnZXJlZEJ5S2V5Ym9hcmRBY3Rpb24pKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5vbkNsb3NlUGFuZWwoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc2tpcElmVHJpZ2dlcmVkQnlLZXlib2FyZEFjdGlvbiA9ICgpID0+IHtcbiAgICBpZighdGhpcy5pc0tleUJvYXJkQWN0aW9uKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgdGhpcy5pc0tleUJvYXJkQWN0aW9uID0gZmFsc2U7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgb25Ub2dnbGVQYW5lbCgpIHtcbiAgICB0aGlzLm9wZW5QYW5lbCA9ICF0aGlzLm9wZW5QYW5lbDtcbiAgICB0aGlzLm9wZW5QYW5lbENoYW5nZS5lbWl0KHRoaXMub3BlblBhbmVsKTtcbiAgfVxuXG4gIG9uQ2xvc2VQYW5lbCgpIHtcbiAgICB0aGlzLm9wZW5QYW5lbCA9IGZhbHNlO1xuICAgIHRoaXMub3BlblBhbmVsQ2hhbmdlLmVtaXQodGhpcy5vcGVuUGFuZWwpO1xuICB9XG5cbiAgb3ZlcnJpZGUgb25LZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3Qga2V5Q29kZSA9IGV2ZW50LmtleUNvZGU7XG4gICAgaWYgKGV2ZW50LmtleUNvZGUgPT09IFRBQikge1xuICAgICAgLy8gZ28gdG8gdGhlIG5leHQgZWxlbWVudCB3aXRoIHRhYmluZGV4XG4gICAgICBpZiAodGhpcy5vcGVuUGFuZWwpIHtcbiAgICAgICAgdGhpcy5vcGVuUGFuZWwgPSBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBhY3Rpb25UcmlnZ2VyZWQgPSB0aGlzLm9wZW5QYW5lbCA/IHRoaXMuX2hhbmRsZU9wZW5LZXlkb3duKGV2ZW50KSA6IHRoaXMuX2hhbmRsZUNsb3NlZEtleWRvd24oZXZlbnQpO1xuXG4gICAgaWYgKGFjdGlvblRyaWdnZXJlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmlzS2V5Qm9hcmRBY3Rpb24gPSB0cnVlO1xuICAgIHN1cGVyLm9uS2V5ZG93bihldmVudCk7XG4gIH1cblxuICBoYW5kbGVLZXlib2FyZEFjdGlvbldpdGhTZWFyY2goZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiBib29sZWFuIHtcbiAgICBjb25zdCBrZXlDb2RlID0gZXZlbnQua2V5Q29kZTtcblxuICAgIGlmIChrZXlDb2RlID09PSBET1dOX0FSUk9XKSB7XG4gICAgICB0aGlzLmlzS2V5Qm9hcmRBY3Rpb24gPSB0cnVlO1xuICAgICAgdGhpcy52YWx1ZUNoYW5nZVNlcnZpY2Uuc2VsZWN0TmV4dE9wdGlvbigpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmIChrZXlDb2RlID09PSBVUF9BUlJPVykge1xuICAgICAgdGhpcy5pc0tleUJvYXJkQWN0aW9uID0gdHJ1ZTtcbiAgICAgIHRoaXMudmFsdWVDaGFuZ2VTZXJ2aWNlLnNlbGVjdFByZXZpb3VzT3B0aW9uKCk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLyoqIEhhbmRsZXMga2V5Ym9hcmQgZXZlbnRzIHdoaWxlIHRoZSBzZWxlY3QgaXMgY2xvc2VkLiAqL1xuICBwcml2YXRlIF9oYW5kbGVDbG9zZWRLZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogYm9vbGVhbiB7XG4gICAgY29uc3Qga2V5Q29kZSA9IGV2ZW50LmtleUNvZGU7XG4gICAgY29uc3QgaXNBcnJvd0tleSA9XG4gICAgICBrZXlDb2RlID09PSBET1dOX0FSUk9XIHx8XG4gICAgICBrZXlDb2RlID09PSBVUF9BUlJPVyB8fFxuICAgICAga2V5Q29kZSA9PT0gTEVGVF9BUlJPVyB8fFxuICAgICAga2V5Q29kZSA9PT0gUklHSFRfQVJST1c7XG4gICAgY29uc3QgaXNPcGVuS2V5ID0ga2V5Q29kZSA9PT0gRU5URVI7XG4gICAgLy8gT3BlbiB0aGUgc2VsZWN0IG9uIEFMVCArIGFycm93IGtleSB0byBtYXRjaCB0aGUgbmF0aXZlIDxzZWxlY3Q+XG4gICAgaWYgKFxuICAgICAgKGlzT3BlbktleSAmJiAhaGFzTW9kaWZpZXJLZXkoZXZlbnQpKSB8fFxuICAgICAgKGV2ZW50LmFsdEtleSAmJiBpc0Fycm93S2V5KVxuICAgICkge1xuICAgICAgdGhpcy5vcGVuUGFuZWwgPSB0cnVlO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLyoqIEhhbmRsZXMga2V5Ym9hcmQgZXZlbnRzIHdoZW4gdGhlIHNlbGVjdGVkIGlzIG9wZW4uICovXG4gIHByaXZhdGUgX2hhbmRsZU9wZW5LZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogYm9vbGVhbiB7XG4gICAgY29uc3Qga2V5Q29kZSA9IGV2ZW50LmtleUNvZGU7XG4gICAgY29uc3QgaXNBcnJvd0tleSA9XG4gICAgICBrZXlDb2RlID09PSBET1dOX0FSUk9XIHx8XG4gICAgICBrZXlDb2RlID09PSBVUF9BUlJPVyB8fFxuICAgICAga2V5Q29kZSA9PT0gTEVGVF9BUlJPVyB8fFxuICAgICAga2V5Q29kZSA9PT0gUklHSFRfQVJST1c7XG4gICAgY29uc3QgaXNFc2NhcGVLZXkgPSBrZXlDb2RlID09PSBFU0NBUEUgfHwga2V5Q29kZSA9PT0gRU5URVIgfHwga2V5Q29kZSA9PT0gVEFCO1xuXG4gICAgaWYgKChpc0Fycm93S2V5ICYmIGV2ZW50LmFsdEtleSkgfHwgaXNFc2NhcGVLZXkpIHtcbiAgICAgIC8vIENsb3NlIHRoZSBzZWxlY3Qgb24gQUxUICsgYXJyb3cga2V5IHRvIG1hdGNoIHRoZSBuYXRpdmUgPHNlbGVjdD5cbiAgICAgIHRoaXMub3BlblBhbmVsID0gZmFsc2U7XG5cbiAgICAgIGlmICh0aGlzLmN1c3RvbVNlYXJjaFRyaWdnZXIgJiYga2V5Q29kZSAhPT0gVEFCKSB7XG4gICAgICAgIC8vIElmIGEgZXNjYXBlIGtleSBpcyB1c2VkIHdpdGggdGhlIHNlYXJjaCwgdGhlIGZvY3VzIG9uIHRoZSBzZWxlY3QgaXMgbG9vc2VkLiBBbmQgd2UgY2FuIG5vdCBpbnRlcmFjdCB3aXRoIHRoZSBzZWxlY3QgYW55bW9yZS5cbiAgICAgICAgdGhpcy5zZWxlY3RIZWFkZXIubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgb25TZWxlY3RUb3VjaDogKHZhbHVlOiBhbnkpID0+IHZvaWQgPSAoKSA9PiB7fTtcblxuICBvdmVycmlkZSByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KXtcbiAgICB0aGlzLm9uU2VsZWN0VG91Y2ggPSBmbjtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuaXNEZXN0cm95ZWQkLm5leHQoKTtcbiAgICB0aGlzLmlzRGVzdHJveWVkJC5jb21wbGV0ZSgpO1xuICB9XG59XG4iLCI8cCAqbmdJZj1cIiEhbGFiZWxcIiBjbGFzcz1cIndhYy1zZWxlY3QtdGVzdF9fbGFiZWxcIj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwid2FjLWxhYmVsLCAud2FjLWxhYmVsXCIgPjwvbmctY29udGVudD5cbjwvcD5cblxuXG48ZGl2XG4gIGNsYXNzPVwid2FjLXNlbGVjdC10ZXN0XCJcbiAgd3pBdXRvSGlkZVxuICAoY2xpY2tPdXRzaWRlKT1cIm9uQ2xvc2VQYW5lbCgpXCJcbiAgW3RyaWdnZXJFbGVtZW50XT1cIid3YWMtc2VsZWN0LXRlc3RfX2hlYWRlcl9fc2VsZWN0aW9uJ1wiXG4gIFt6SW5kZXhUb2dnbGVdPVwib3BlblBhbmVsXCJcbiAgPlxuXG4gICAgPGRpdiAjc2VsZWN0SGVhZGVyIGNsYXNzPVwid2FjLXNlbGVjdC10ZXN0X19oZWFkZXJcIiBbbmdDbGFzc109XCJ7ICdzZWxlY3QtZGlzYWJsZWQnIDogZGlzYWJsZWQgfVwiIChjbGljayk9XCIhZGlzYWJsZWQgJiYgb25Ub2dnbGVQYW5lbCgpXCIgdGFiaW5kZXg9XCIwXCI+XG5cbiAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwib3BlblBhbmVsID8gb3BlblBhbmVsVHJpZ2dlciA6IGNsb3NlUGFuZWxUcmlnZ2VyXCIgPlxuXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjY2xvc2VQYW5lbFRyaWdnZXI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJkZWZhdWx0VHJpZ2dlclwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjb3BlblBhbmVsVHJpZ2dlcj5cbiAgICAgICAgICA8bmctY29udGVudCAqbmdJZj1cIiEhY3VzdG9tU2VhcmNoVHJpZ2dlcjsgZWxzZSBkZWZhdWx0VHJpZ2dlclwiIHNlbGVjdD1cIndhYy1zZWxlY3Qtc2VhcmNoLXRyaWdnZXJcIiA+PC9uZy1jb250ZW50PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdFRyaWdnZXI+XG4gICAgICAgICAgPG5nLWNvbnRlbnQgKm5nSWY9XCIhc2VsZWN0ZWRPcHRpb25Db250ZW50XCIgc2VsZWN0PVwid2FjLXBsYWNlaG9sZGVyLFtyb2xlPXBsYWNlaG9sZGVyXVwiPjwvbmctY29udGVudD5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cIndhYy1zZWxlY3QtdGVzdF9faGVhZGVyX19zZWxlY3Rpb24gd2FjLW9wdGlvbl9fcGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgKm5nSWY9XCIhIXNlbGVjdGVkT3B0aW9uQ29udGVudFwiXG4gICAgICAgICAgICBbaW5uZXJIdG1sXT1cInNlbGVjdGVkT3B0aW9uQ29udGVudFwiPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPHNwYW4gY2xhc3M9XCJ3YWMtc2VsZWN0LXRlc3RfX2hlYWRlcl9fY2hldnJvblwiPjxpIGNsYXNzPVwiZmFzIGZhLWNoZXZyb24tZG93blwiPjwvaT48L3NwYW4+XG5cbiAgICA8L2Rpdj5cblxuXG4gICAgPGRpdiBjbGFzcz1cIndhYy1zZWxlY3QtdGVzdF9fY29udGVudFwiICpuZ0lmPVwiIWRpc2FibGVkXCIgW25nQ2xhc3NdPVwieyBoaWRkZW46ICFvcGVuUGFuZWwsIG9wZW46IG9wZW5QYW5lbCB9XCI+XG5cbiAgICAgIDxwZXJmZWN0LXNjcm9sbGJhciBbY29uZmlnXT1cInsgc3VwcHJlc3NTY3JvbGxYOiB0cnVlIH1cIj5cbiAgICAgICAgPG5nLWNvbnRlbnRcbiAgICAgICAgICBzZWxlY3Q9XCJ3YWMtb3B0aW9uLWNhbGwtdG8tYWN0aW9uLCB3YWMtb3B0aW9uLCBvcHRpb24sIC5vcHRpb24sIFtzZWxlY3RPcHRpb25dXCI+XG4gICAgICAgIDwvbmctY29udGVudD5cbiAgICAgIDwvcGVyZmVjdC1zY3JvbGxiYXI+XG5cbiAgICAgIDxkaXYgKm5nSWY9XCIhb3B0aW9uQ2hpbGRyZW4/Lmxlbmd0aFwiIGNsYXNzPVwid2FjLXNlbGVjdC10ZXN0X19jb250ZW50X19lbXB0eVwiPlxuICAgICAgICA8c3Bhbj57eyd3YWMuZGF0YXRhYmxlLm5vcmVzdWx0JyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxuICAgICAgPC9kaXY+XG5cbiAgICA8L2Rpdj5cbjwvZGl2PiJdfQ==