monkey-style-guide 2.0.131 → 2.0.134

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.
package/README.md CHANGED
@@ -591,7 +591,7 @@ import { MonkeyInputModule } from 'monkey-style-guide';
591
591
  errorMessage="Validation Message"
592
592
  formControlName="name"
593
593
  helperMessage="Mandatory"
594
- icon="user-s20"
594
+ icon="user-20"
595
595
  infoMessage="Info message"
596
596
  label="Name"
597
597
  placeholder="Input your full name">
@@ -600,6 +600,54 @@ import { MonkeyInputModule } from 'monkey-style-guide';
600
600
 
601
601
  ---
602
602
 
603
+ ### **Input Filter**
604
+
605
+ ![Input Filter Demo Screen Shot][input-filter-screenshot]
606
+
607
+ Parameters:
608
+
609
+ - **helperMessage** (optional)(string) message to help user to know what to do
610
+ - **icon** (optional)(string) icon name and size separeted by hyfhen
611
+ - **infoMessage** (optional)(string) message to help user knows about this component purpose
612
+ - **label** (string) define the label that will be displayed inside
613
+ - **maxLength** (optional)(number) max 255
614
+ - **name** (optional)(string) name to identify the input
615
+ - **placeholder** (optional)(string) message to help user that will be displayed inside the input
616
+
617
+ Events:
618
+
619
+ - **onChange** event emited when user make changes
620
+
621
+ Example:
622
+
623
+ `example.module.ts`
624
+
625
+ ```Typescript
626
+ import { MonkeyInputModule } from 'monkey-style-guide';
627
+
628
+ ...
629
+
630
+ @NgModule({
631
+ imports: [MonkeyInputModule]
632
+ })
633
+ ...
634
+ ```
635
+
636
+ `example.component.html`
637
+
638
+ ```HTML
639
+ <monkey-input-filter
640
+ formControlName="name"
641
+ helperMessage="Mandatory"
642
+ icon="user-20"
643
+ infoMessage="Info message"
644
+ label="Name"
645
+ placeholder="Input your full name">
646
+ </monkey-input-filter>
647
+ ```
648
+
649
+ ---
650
+
603
651
  ### **Modal**
604
652
 
605
653
  ![Modal Demo Screen Shot][modal-screenshot]
@@ -780,7 +828,7 @@ import { MonkeyRadioButtonModule } from 'monkey-style-guide';
780
828
  formControlName="gender"
781
829
  label="Gender"
782
830
  helperMessage="Mandatory"
783
- icon="help-s20"
831
+ icon="help-20"
784
832
  infoMessage="Info message"
785
833
  errorMessage="Validation message"
786
834
  >
@@ -837,7 +885,7 @@ import {
837
885
  errorMessage="Validation Message"
838
886
  formControlName="documentType"
839
887
  helperMessage="Mandatory"
840
- icon="upload-s20"
888
+ icon="upload-20"
841
889
  infoMessage="Info message"
842
890
  label="Select the document type to upload"
843
891
  >
@@ -1150,6 +1198,7 @@ export class AppComponent {
1150
1198
  [button-dropdown-screenshot1]: https://user-images.githubusercontent.com/10110065/111631407-1e875680-87d2-11eb-9631-d1d2ccf8f076.png
1151
1199
  [button-dropdown-screenshot2]: https://user-images.githubusercontent.com/10110065/111631726-82118400-87d2-11eb-9653-4502c3d82d51.png
1152
1200
  [input-screenshot]: https://dev-monkey-emails.s3-us-west-2.amazonaws.com/monkey-style-guide/demos/images/input.png
1201
+ [input-filter-screenshot]: https://user-images.githubusercontent.com/32619691/163216159-3a9f985e-3ba9-4e10-8ba4-0f60931f83d1.png
1153
1202
  [select-screenshot]: https://dev-monkey-emails.s3-us-west-2.amazonaws.com/monkey-style-guide/demos/images/select.png
1154
1203
  [checkbox-screenshot]: https://dev-monkey-emails.s3-us-west-2.amazonaws.com/monkey-style-guide/demos/images/checkbox.png
1155
1204
  [date-range-picker]: https://user-images.githubusercontent.com/12416871/146080473-8543b9ae-7186-42ee-8ec8-bfd1eef09df6.png
@@ -206,6 +206,30 @@ mecx-form-field-filter {
206
206
  display: flex;
207
207
  flex-direction: column;
208
208
 
209
+ mecx-form-field-header {
210
+ width: 100%;
211
+ display: flex;
212
+ flex-direction: row;
213
+ justify-content: space-between;
214
+ align-items: center;
215
+ margin-bottom: 16px;
216
+
217
+ label {
218
+ color: #4b4a53;
219
+ font-size: 18px;
220
+ line-height: 21px;
221
+ font-weight: 500;
222
+ text-align: left;
223
+ }
224
+
225
+ helper {
226
+ color: #adadad;
227
+ font-size: 12px;
228
+ line-height: 14px;
229
+ font-weight: 400;
230
+ }
231
+ }
232
+
209
233
  mecx-form-field-body {
210
234
  width: 100%;
211
235
  display: flex;
@@ -18,6 +18,7 @@ export class MonkeyInputFilterComponent {
18
18
  this.elementRef = elementRef;
19
19
  this.currencyPipe = currencyPipe;
20
20
  this.settingsService = settingsService;
21
+ this.iconPosition = 'right';
21
22
  this.onChange = new EventEmitter();
22
23
  this.onModelChange = (value) => { };
23
24
  this.onModelTouched = (value) => { };
@@ -93,7 +94,7 @@ export class MonkeyInputFilterComponent {
93
94
  }
94
95
  }
95
96
  MonkeyInputFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MonkeyInputFilterComponent, deps: [{ token: i0.ElementRef }, { token: i1.CurrencyPipe }, { token: i2.MonkeyStyleGuideSettingsService }], target: i0.ɵɵFactoryTarget.Component });
96
- MonkeyInputFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: MonkeyInputFilterComponent, selector: "monkey-input-filter", inputs: { name: "name", label: "label", helperMessage: "helperMessage", placeholder: "placeholder", icon: "icon", type: "type", infoMessage: "infoMessage", errorMessage: "errorMessage", mask: "mask", prefix: "prefix", onlyNumber: "onlyNumber", onlyAlphaNumeric: "onlyAlphaNumeric", upperCase: "upperCase", lowerCase: "lowerCase", capitalize: "capitalize", currency: "currency", value: "value" }, outputs: { onChange: "onChange" }, host: { listeners: { "click": "onClick($event)" } }, providers: [
97
+ MonkeyInputFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: MonkeyInputFilterComponent, selector: "monkey-input-filter", inputs: { name: "name", label: "label", helperMessage: "helperMessage", placeholder: "placeholder", icon: "icon", type: "type", infoMessage: "infoMessage", errorMessage: "errorMessage", mask: "mask", prefix: "prefix", onlyNumber: "onlyNumber", onlyAlphaNumeric: "onlyAlphaNumeric", upperCase: "upperCase", lowerCase: "lowerCase", capitalize: "capitalize", currency: "currency", iconPosition: "iconPosition", value: "value" }, outputs: { onChange: "onChange" }, host: { listeners: { "click": "onClick($event)" } }, providers: [
97
98
  {
98
99
  provide: NG_VALUE_ACCESSOR,
99
100
  useExisting: forwardRef(() => MonkeyInputFilterComponent),
@@ -102,7 +103,17 @@ MonkeyInputFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
102
103
  CurrencyPipe,
103
104
  ], ngImport: i0, template: `
104
105
  <mecx-form-field-filter [ngClass]="{ disabled: _disabled }">
106
+ <mecx-form-field-header *ngIf="label">
107
+ <label>
108
+ {{ label }}
109
+ </label>
110
+ <helper>
111
+ {{ helperMessage }}
112
+ </helper>
113
+ </mecx-form-field-header>
105
114
  <mecx-form-field-body>
115
+ <monkey-icon [icon]="icon" [color]="'#4B4A53'"
116
+ *ngIf="iconPosition === 'left' && icon"></monkey-icon>
106
117
  <input
107
118
  [name]="name"
108
119
  [type]="type"
@@ -136,7 +147,8 @@ MonkeyInputFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
136
147
  [disabled]="_disabled"
137
148
  *ngIf="!mask && !prefix"
138
149
  />
139
- <monkey-icon [icon]="icon" [color]="'#4B4A53'"></monkey-icon>
150
+ <monkey-icon [icon]="icon" [color]="'#4B4A53'"
151
+ *ngIf="iconPosition === 'right' && icon"></monkey-icon>
140
152
  <monkey-icon
141
153
  icon="eyes-16"
142
154
  [color]="'#4B4A53'"
@@ -158,7 +170,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
158
170
  selector: 'monkey-input-filter',
159
171
  template: `
160
172
  <mecx-form-field-filter [ngClass]="{ disabled: _disabled }">
173
+ <mecx-form-field-header *ngIf="label">
174
+ <label>
175
+ {{ label }}
176
+ </label>
177
+ <helper>
178
+ {{ helperMessage }}
179
+ </helper>
180
+ </mecx-form-field-header>
161
181
  <mecx-form-field-body>
182
+ <monkey-icon [icon]="icon" [color]="'#4B4A53'"
183
+ *ngIf="iconPosition === 'left' && icon"></monkey-icon>
162
184
  <input
163
185
  [name]="name"
164
186
  [type]="type"
@@ -192,7 +214,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
192
214
  [disabled]="_disabled"
193
215
  *ngIf="!mask && !prefix"
194
216
  />
195
- <monkey-icon [icon]="icon" [color]="'#4B4A53'"></monkey-icon>
217
+ <monkey-icon [icon]="icon" [color]="'#4B4A53'"
218
+ *ngIf="iconPosition === 'right' && icon"></monkey-icon>
196
219
  <monkey-icon
197
220
  icon="eyes-16"
198
221
  [color]="'#4B4A53'"
@@ -250,6 +273,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
250
273
  type: Input
251
274
  }], currency: [{
252
275
  type: Input
276
+ }], iconPosition: [{
277
+ type: Input
253
278
  }], onChange: [{
254
279
  type: Output
255
280
  }], value: [{
@@ -258,4 +283,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
258
283
  type: HostListener,
259
284
  args: ['click', ['$event']]
260
285
  }] } });
261
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1zdHlsZS1ndWlkZS9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXQvaW5wdXQtZmlsdGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs0QkFJNEI7QUFDNUIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLEtBQUssRUFDTCxVQUFVLEVBQ1YsWUFBWSxFQUdaLE1BQU0sRUFDTixZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7OztBQWtFL0MsTUFBTSxPQUFPLDBCQUEwQjtJQTZCckMsWUFDVSxVQUFzQixFQUN0QixZQUEwQixFQUMxQixlQUFnRDtRQUZoRCxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQztRQWZoRCxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUlyQyxrQkFBYSxHQUFHLENBQUMsS0FBVSxFQUFFLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFDbkMsbUJBQWMsR0FBRyxDQUFDLEtBQVUsRUFBRSxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBR3JDLFFBQUcsR0FBVyxjQUFjLFdBQVcsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUM5RCxjQUFTLEdBQVksS0FBSyxDQUFDO0lBTy9CLENBQUM7SUFFSSxXQUFXLENBQUMsS0FBVTtRQUM1QixNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFD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ekQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7d0JBQ0QsWUFBWTtxQkFDYjtpQkFDRjswS0FFVSxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0ksUUFBUTtzQkFBakIsTUFBTTtnQkE4REgsS0FBSztzQkFEUixLQUFLO2dCQW1DTixPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiAqIENvcHlyaWdodCBNb25rZXkgRXhjaGFuZ2UuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcclxuICogVGhpcyBzdHlsZSBndWlkZSB3YXMgZGV2ZWxvcGVkIGJ5IE1vbmtleSBFeGNoYW5nZSBUZWFtXHJcbiAqIE1JVCBMaWNlbmNlXHJcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuaW1wb3J0IHsgQ3VycmVuY3lQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgSW5wdXQsXHJcbiAgZm9yd2FyZFJlZixcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgT25Jbml0LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgT3V0cHV0LFxyXG4gIEV2ZW50RW1pdHRlcixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNb25rZXlTdHlsZUd1aWRlU2V0dGluZ3NTZXJ2aWNlLCBNb25rZXlTdHlsZVNldHRpbmdzIH0gZnJvbSAnLi4vLi4vY29yZSc7XHJcbmltcG9ydCB7IE1vbmtleVV0aWxzIH0gZnJvbSAnLi4vLi4vY29yZS91dGlscyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ21vbmtleS1pbnB1dC1maWx0ZXInLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8bWVjeC1mb3JtLWZpZWxkLWZpbHRlciBbbmdDbGFzc109XCJ7IGRpc2FibGVkOiBfZGlzYWJsZWQgfVwiPlxyXG4gICAgICA8bWVjeC1mb3JtLWZpZWxkLWJvZHk+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICBbbmFtZV09XCJuYW1lXCJcclxuICAgICAgICAgIFt0eXBlXT1cInR5cGVcIlxyXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxyXG4gICAgICAgICAgKGlucHV0KT1cIm9uQ2hhbmdlSW5wdXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICBbaWRdPVwiX2lkXCJcclxuICAgICAgICAgIFtkaXNhYmxlZF09XCJfZGlzYWJsZWRcIlxyXG4gICAgICAgICAgW21hc2tdPVwibWFza1wiXHJcbiAgICAgICAgICBbcHJlZml4XT1cInByZWZpeFwiXHJcbiAgICAgICAgICAqbmdJZj1cIm1hc2sgJiYgcHJlZml4XCJcclxuICAgICAgICAvPlxyXG4gICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgW25hbWVdPVwibmFtZVwiXHJcbiAgICAgICAgICBbdHlwZV09XCJ0eXBlXCJcclxuICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcclxuICAgICAgICAgIChpbnB1dCk9XCJvbkNoYW5nZUlucHV0KCRldmVudClcIlxyXG4gICAgICAgICAgW2lkXT1cIl9pZFwiXHJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiX2Rpc2FibGVkXCJcclxuICAgICAgICAgIFttYXNrXT1cIm1hc2tcIlxyXG4gICAgICAgICAgKm5nSWY9XCJtYXNrICYmICFwcmVmaXhcIlxyXG4gICAgICAgIC8+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICBbbmFtZV09XCJuYW1lXCJcclxuICAgICAgICAgIFt0eXBlXT1cInR5cGVcIlxyXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxyXG4gICAgICAgICAgKGlucHV0KT1cIm9uQ2hhbmdlSW5wdXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICBbaWRdPVwiX2lkXCJcclxuICAgICAgICAgIFtkaXNhYmxlZF09XCJfZGlzYWJsZWRcIlxyXG4gICAgICAgICAgKm5nSWY9XCIhbWFzayAmJiAhcHJlZml4XCJcclxuICAgICAgICAvPlxyXG4gICAgICAgIDxtb25rZXktaWNvbiBbaWNvbl09XCJpY29uXCIgW2NvbG9yXT1cIicjNEI0QTUzJ1wiPjwvbW9ua2V5LWljb24+XHJcbiAgICAgICAgPG1vbmtleS1pY29uXHJcbiAgICAgICAgICBpY29uPVwiZXllcy0xNlwiXHJcbiAgICAgICAgICBbY29sb3JdPVwiJyM0QjRBNTMnXCJcclxuICAgICAgICAgICpuZ0lmPVwiX29sZFR5cGUgPT09ICdwYXNzd29yZCcgJiYgdHlwZSA9PT0gJ3RleHQnXCJcclxuICAgICAgICAgIChjbGljayk9XCJvblNob3dBbmRIaWRlUGFzc3dvcmQoKVwiXHJcbiAgICAgICAgPjwvbW9ua2V5LWljb24+XHJcbiAgICAgICAgPG1vbmtleS1pY29uXHJcbiAgICAgICAgICBpY29uPVwiZXllcy1vZmYtMTZcIlxyXG4gICAgICAgICAgW2NvbG9yXT1cIicjNEI0QTUzJ1wiXHJcbiAgICAgICAgICAqbmdJZj1cIl9vbGRUeXBlID09PSAncGFzc3dvcmQnICYmIHR5cGUgPT09ICdwYXNzd29yZCdcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cIm9uU2hvd0FuZEhpZGVQYXNzd29yZCgpXCJcclxuICAgICAgICA+PC9tb25rZXktaWNvbj5cclxuICAgICAgPC9tZWN4LWZvcm0tZmllbGQtYm9keT5cclxuICAgIDwvbWVjeC1mb3JtLWZpZWxkLWZpbHRlcj5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBNb25rZXlJbnB1dEZpbHRlckNvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICAgIEN1cnJlbmN5UGlwZSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTW9ua2V5SW5wdXRGaWx0ZXJDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25Jbml0IHtcclxuICBASW5wdXQoKSBuYW1lOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZztcclxuICBASW5wdXQoKSBoZWxwZXJNZXNzYWdlOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcclxuICBASW5wdXQoKSBpY29uOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgdHlwZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGluZm9NZXNzYWdlOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgZXJyb3JNZXNzYWdlOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgbWFzazogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHByZWZpeDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIG9ubHlOdW1iZXI6IGFueTtcclxuICBASW5wdXQoKSBvbmx5QWxwaGFOdW1lcmljOiBhbnk7XHJcbiAgQElucHV0KCkgdXBwZXJDYXNlOiBhbnk7XHJcbiAgQElucHV0KCkgbG93ZXJDYXNlOiBhbnk7XHJcbiAgQElucHV0KCkgY2FwaXRhbGl6ZTogYW55O1xyXG4gIEBJbnB1dCgpIGN1cnJlbmN5OiBhbnk7XHJcbiAgQE91dHB1dCgpIG9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIHByaXZhdGUgc2V0dGluZ3M6IE1vbmtleVN0eWxlU2V0dGluZ3M7XHJcbiAgcHJpdmF0ZSBoYW5kbGVkVmFsdWU6IGFueTtcclxuICBwcml2YXRlIG9uTW9kZWxDaGFuZ2UgPSAodmFsdWU6IGFueSkgPT4ge307XHJcbiAgcHJpdmF0ZSBvbk1vZGVsVG91Y2hlZCA9ICh2YWx1ZTogYW55KSA9PiB7fTtcclxuICBwcml2YXRlIHRpbWVyOiBhbnk7XHJcblxyXG4gIHB1YmxpYyBfaWQ6IHN0cmluZyA9IGBtZWN4LWlucHV0LSR7TW9ua2V5VXRpbHMuZ2V0UmFuZG9tU3RyaW5nKDEwKX1gO1xyXG4gIHB1YmxpYyBfZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgX29sZFR5cGU6IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICBwcml2YXRlIGN1cnJlbmN5UGlwZTogQ3VycmVuY3lQaXBlLFxyXG4gICAgcHJpdmF0ZSBzZXR0aW5nc1NlcnZpY2U6IE1vbmtleVN0eWxlR3VpZGVTZXR0aW5nc1NlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIHByaXZhdGUgaGFuZGxlVmFsdWUodmFsdWU6IGFueSk6IGFueSB7XHJcbiAgICBjb25zdCB7IHNldHRpbmdzIH0gPSB0aGlzO1xyXG4gICAgaWYgKHRoaXMub25seU51bWJlciAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHJldHVybiBNb25rZXlVdGlscy5oYW5kbGVPbmx5TnVtYmVycyhgJHt2YWx1ZX1gKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5vbmx5QWxwaGFOdW1lcmljICE9PSB1bmRlZmluZWQpXHJcbiAgICAgIHJldHVybiBNb25rZXlVdGlscy5oYW5kbGVPbmx5QWxwaGFOdW1lcmljKGAke3ZhbHVlfWApO1xyXG4gICAgZWxzZSBpZiAodGhpcy51cHBlckNhc2UgIT09IHVuZGVmaW5lZCkgcmV0dXJuIGAke3ZhbHVlfWAudG9VcHBlckNhc2UoKTtcclxuICAgIGVsc2UgaWYgKHRoaXMubG93ZXJDYXNlICE9PSB1bmRlZmluZWQpIHJldHVybiBgJHt2YWx1ZX1gLnRvTG93ZXJDYXNlKCk7XHJcbiAgICBlbHNlIGlmICh0aGlzLmNhcGl0YWxpemUgIT09IHVuZGVmaW5lZCkgcmV0dXJuIE1vbmtleVV0aWxzLmNhcGl0YWxpemUoYCR7dmFsdWV9YC50b1VwcGVyQ2FzZSgpKTtcclxuICAgIGVsc2UgaWYgKHRoaXMuY3VycmVuY3kgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICBjb25zdCBuZXdWYWx1ZSA9IE1vbmtleVV0aWxzLmhhbmRsZU9ubHlOdW1iZXJzKHZhbHVlKTtcclxuICAgICAgcmV0dXJuIHRoaXMuY3VycmVuY3lQaXBlLnRyYW5zZm9ybShcclxuICAgICAgICBuZXdWYWx1ZSAvIDEwMCxcclxuICAgICAgICBzZXR0aW5ncz8uY3VycmVuY3k/LmNvZGUgfHwgJ0JSTCcsXHJcbiAgICAgICAgJ3N5bWJvbCcsXHJcbiAgICAgICAgJycsXHJcbiAgICAgICAgc2V0dGluZ3M/LmN1cnJlbmN5Py5sb2NhbGUgfHwgJ3B0LUJSJ1xyXG4gICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB2YWx1ZTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgY29uc3QgeyBzZXR0aW5nc1NlcnZpY2UgfSA9IHRoaXM7XHJcbiAgICB0aGlzLl9vbGRUeXBlID0gdGhpcy50eXBlO1xyXG4gICAgc2V0dGluZ3NTZXJ2aWNlLnNldHRpbmdzKCkuc3Vic2NyaWJlKCh2YWw6IE1vbmtleVN0eWxlU2V0dGluZ3MpID0+IHtcclxuICAgICAgdGhpcy5zZXR0aW5ncyA9IHZhbDtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uTW9kZWxDaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25Nb2RlbFRvdWNoZWQgPSBmbjtcclxuICB9XHJcblxyXG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuX2Rpc2FibGVkID0gaXNEaXNhYmxlZDtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHZhbHVlKHZhbHVlOiBhbnkpIHtcclxuICAgIHRoaXMuaGFuZGxlZFZhbHVlID0gdmFsdWU7XHJcbiAgICB0aGlzLm9uTW9kZWxDaGFuZ2UodmFsdWUpO1xyXG4gICAgdGhpcy5vbk1vZGVsVG91Y2hlZCh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBnZXQgdmFsdWUoKTogYW55IHtcclxuICAgIHJldHVybiB0aGlzLmhhbmRsZWRWYWx1ZTtcclxuICB9XHJcblxyXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgb25DaGFuZ2VJbnB1dChldmVudDogYW55KSB7XHJcbiAgICBjb25zdCB7IHZhbHVlIH0gPSBldmVudD8udGFyZ2V0O1xyXG4gICAgZXZlbnQ/LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICBldmVudD8uc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICBjb25zdCBoYW5kbGVkID0gdGhpcy5oYW5kbGVWYWx1ZSh2YWx1ZSk7XHJcbiAgICBldmVudC50YXJnZXQudmFsdWUgPSBoYW5kbGVkO1xyXG4gICAgdGhpcy53cml0ZVZhbHVlKGhhbmRsZWQpO1xyXG4gICAgaWYgKHRoaXMudGltZXIpIHtcclxuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMudGltZXIpO1xyXG4gICAgfVxyXG4gICAgdGhpcy50aW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLm9uQ2hhbmdlLm5leHQodmFsdWUpO1xyXG4gICAgfSwgNDAwKTtcclxuICB9XHJcblxyXG4gIG9uU2hvd0FuZEhpZGVQYXNzd29yZCgpIHtcclxuICAgIHRoaXMudHlwZSA9IHRoaXMudHlwZSA9PT0gJ3Bhc3N3b3JkJyA/ICd0ZXh0JyA6ICdwYXNzd29yZCc7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXHJcbiAgb25DbGljayhldmVudDogYW55KSB7XHJcbiAgICBjb25zdCB7IF9pZCB9ID0gdGhpcztcclxuICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKF9pZCkuZm9jdXMoKTtcclxuICB9XHJcbn1cclxuIl19
286
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1zdHlsZS1ndWlkZS9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXQvaW5wdXQtZmlsdGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs0QkFJNEI7QUFDNUIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLEtBQUssRUFDTCxVQUFVLEVBQ1YsWUFBWSxFQUdaLE1BQU0sRUFDTixZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7OztBQTZFL0MsTUFBTSxPQUFPLDBCQUEwQjtJQThCckMsWUFDVSxVQUFzQixFQUN0QixZQUEwQixFQUMxQixlQUFnRDtRQUZoRCxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQztRQWhCakQsaUJBQVksR0FBVyxPQUFPLENBQUM7UUFDOUIsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFJckMsa0JBQWEsR0FBRyxDQUFDLEtBQVUsRUFBRSxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBQ25DLG1CQUFjLEdBQUcsQ0FBQyxLQUFVLEVBQUUsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUdyQyxRQUFHLEdBQVcsY0FBYyxXQUFXLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDOUQsY0FBUyxHQUFZLEtBQUssQ0FBQztJQU8vQixDQUFDO0lBRUksV0FBVyxDQUFDLEtBQVU7UUFDNUIsTUFBTSxF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QzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLDJCQUEyQixDQUFDOzRCQUN6RCxLQUFLLEVBQUUsSUFBSTt5QkFDWjt3QkFDRCxZQUFZO3FCQUNiO2lCQUNGOzBLQUVVLElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNJLFFBQVE7c0JBQWpCLE1BQU07Z0JBOERILEtBQUs7c0JBRFIsS0FBSztnQkFtQ04sT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4gKiBDb3B5cmlnaHQgTW9ua2V5IEV4Y2hhbmdlLiBBbGwgUmlnaHRzIFJlc2VydmVkXHJcbiAqIFRoaXMgc3R5bGUgZ3VpZGUgd2FzIGRldmVsb3BlZCBieSBNb25rZXkgRXhjaGFuZ2UgVGVhbVxyXG4gKiBNSVQgTGljZW5jZVxyXG4gKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbmltcG9ydCB7IEN1cnJlbmN5UGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIElucHV0LFxyXG4gIGZvcndhcmRSZWYsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIE9uSW5pdCxcclxuICBFbGVtZW50UmVmLFxyXG4gIE91dHB1dCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTW9ua2V5U3R5bGVHdWlkZVNldHRpbmdzU2VydmljZSwgTW9ua2V5U3R5bGVTZXR0aW5ncyB9IGZyb20gJy4uLy4uL2NvcmUnO1xyXG5pbXBvcnQgeyBNb25rZXlVdGlscyB9IGZyb20gJy4uLy4uL2NvcmUvdXRpbHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdtb25rZXktaW5wdXQtZmlsdGVyJyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPG1lY3gtZm9ybS1maWVsZC1maWx0ZXIgW25nQ2xhc3NdPVwieyBkaXNhYmxlZDogX2Rpc2FibGVkIH1cIj5cclxuICAgICAgPG1lY3gtZm9ybS1maWVsZC1oZWFkZXIgKm5nSWY9XCJsYWJlbFwiPlxyXG4gICAgICAgIDxsYWJlbD5cclxuICAgICAgICAgIHt7IGxhYmVsIH19XHJcbiAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICA8aGVscGVyPlxyXG4gICAgICAgICAge3sgaGVscGVyTWVzc2FnZSB9fVxyXG4gICAgICAgIDwvaGVscGVyPlxyXG4gICAgICA8L21lY3gtZm9ybS1maWVsZC1oZWFkZXI+XHJcbiAgICAgIDxtZWN4LWZvcm0tZmllbGQtYm9keT5cclxuICAgICAgICA8bW9ua2V5LWljb24gW2ljb25dPVwiaWNvblwiIFtjb2xvcl09XCInIzRCNEE1MydcIlxyXG4gICAgICAgICAgKm5nSWY9XCJpY29uUG9zaXRpb24gPT09ICdsZWZ0JyAmJiBpY29uXCI+PC9tb25rZXktaWNvbj5cclxuICAgICAgICA8aW5wdXRcclxuICAgICAgICAgIFtuYW1lXT1cIm5hbWVcIlxyXG4gICAgICAgICAgW3R5cGVdPVwidHlwZVwiXHJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXHJcbiAgICAgICAgICAoaW5wdXQpPVwib25DaGFuZ2VJbnB1dCgkZXZlbnQpXCJcclxuICAgICAgICAgIFtpZF09XCJfaWRcIlxyXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIl9kaXNhYmxlZFwiXHJcbiAgICAgICAgICBbbWFza109XCJtYXNrXCJcclxuICAgICAgICAgIFtwcmVmaXhdPVwicHJlZml4XCJcclxuICAgICAgICAgICpuZ0lmPVwibWFzayAmJiBwcmVmaXhcIlxyXG4gICAgICAgIC8+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICBbbmFtZV09XCJuYW1lXCJcclxuICAgICAgICAgIFt0eXBlXT1cInR5cGVcIlxyXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxyXG4gICAgICAgICAgKGlucHV0KT1cIm9uQ2hhbmdlSW5wdXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICBbaWRdPVwiX2lkXCJcclxuICAgICAgICAgIFtkaXNhYmxlZF09XCJfZGlzYWJsZWRcIlxyXG4gICAgICAgICAgW21hc2tdPVwibWFza1wiXHJcbiAgICAgICAgICAqbmdJZj1cIm1hc2sgJiYgIXByZWZpeFwiXHJcbiAgICAgICAgLz5cclxuICAgICAgICA8aW5wdXRcclxuICAgICAgICAgIFtuYW1lXT1cIm5hbWVcIlxyXG4gICAgICAgICAgW3R5cGVdPVwidHlwZVwiXHJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXHJcbiAgICAgICAgICAoaW5wdXQpPVwib25DaGFuZ2VJbnB1dCgkZXZlbnQpXCJcclxuICAgICAgICAgIFtpZF09XCJfaWRcIlxyXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIl9kaXNhYmxlZFwiXHJcbiAgICAgICAgICAqbmdJZj1cIiFtYXNrICYmICFwcmVmaXhcIlxyXG4gICAgICAgIC8+XHJcbiAgICAgICAgPG1vbmtleS1pY29uIFtpY29uXT1cImljb25cIiBbY29sb3JdPVwiJyM0QjRBNTMnXCJcclxuICAgICAgICAgICpuZ0lmPVwiaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIGljb25cIj48L21vbmtleS1pY29uPlxyXG4gICAgICAgIDxtb25rZXktaWNvblxyXG4gICAgICAgICAgaWNvbj1cImV5ZXMtMTZcIlxyXG4gICAgICAgICAgW2NvbG9yXT1cIicjNEI0QTUzJ1wiXHJcbiAgICAgICAgICAqbmdJZj1cIl9vbGRUeXBlID09PSAncGFzc3dvcmQnICYmIHR5cGUgPT09ICd0ZXh0J1wiXHJcbiAgICAgICAgICAoY2xpY2spPVwib25TaG93QW5kSGlkZVBhc3N3b3JkKClcIlxyXG4gICAgICAgID48L21vbmtleS1pY29uPlxyXG4gICAgICAgIDxtb25rZXktaWNvblxyXG4gICAgICAgICAgaWNvbj1cImV5ZXMtb2ZmLTE2XCJcclxuICAgICAgICAgIFtjb2xvcl09XCInIzRCNEE1MydcIlxyXG4gICAgICAgICAgKm5nSWY9XCJfb2xkVHlwZSA9PT0gJ3Bhc3N3b3JkJyAmJiB0eXBlID09PSAncGFzc3dvcmQnXCJcclxuICAgICAgICAgIChjbGljayk9XCJvblNob3dBbmRIaWRlUGFzc3dvcmQoKVwiXHJcbiAgICAgICAgPjwvbW9ua2V5LWljb24+XHJcbiAgICAgIDwvbWVjeC1mb3JtLWZpZWxkLWJvZHk+XHJcbiAgICA8L21lY3gtZm9ybS1maWVsZC1maWx0ZXI+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTW9ua2V5SW5wdXRGaWx0ZXJDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgICBDdXJyZW5jeVBpcGUsXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIE1vbmtleUlucHV0RmlsdGVyQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgbmFtZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgaGVscGVyTWVzc2FnZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgaWNvbjogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHR5cGU6IHN0cmluZztcclxuICBASW5wdXQoKSBpbmZvTWVzc2FnZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGVycm9yTWVzc2FnZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIG1hc2s6IHN0cmluZztcclxuICBASW5wdXQoKSBwcmVmaXg6IHN0cmluZztcclxuICBASW5wdXQoKSBvbmx5TnVtYmVyOiBhbnk7XHJcbiAgQElucHV0KCkgb25seUFscGhhTnVtZXJpYzogYW55O1xyXG4gIEBJbnB1dCgpIHVwcGVyQ2FzZTogYW55O1xyXG4gIEBJbnB1dCgpIGxvd2VyQ2FzZTogYW55O1xyXG4gIEBJbnB1dCgpIGNhcGl0YWxpemU6IGFueTtcclxuICBASW5wdXQoKSBjdXJyZW5jeTogYW55O1xyXG4gIEBJbnB1dCgpIGljb25Qb3NpdGlvbjogc3RyaW5nID0gJ3JpZ2h0JztcclxuICBAT3V0cHV0KCkgb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgcHJpdmF0ZSBzZXR0aW5nczogTW9ua2V5U3R5bGVTZXR0aW5ncztcclxuICBwcml2YXRlIGhhbmRsZWRWYWx1ZTogYW55O1xyXG4gIHByaXZhdGUgb25Nb2RlbENoYW5nZSA9ICh2YWx1ZTogYW55KSA9PiB7fTtcclxuICBwcml2YXRlIG9uTW9kZWxUb3VjaGVkID0gKHZhbHVlOiBhbnkpID0+IHt9O1xyXG4gIHByaXZhdGUgdGltZXI6IGFueTtcclxuXHJcbiAgcHVibGljIF9pZDogc3RyaW5nID0gYG1lY3gtaW5wdXQtJHtNb25rZXlVdGlscy5nZXRSYW5kb21TdHJpbmcoMTApfWA7XHJcbiAgcHVibGljIF9kaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBfb2xkVHlwZTogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgIHByaXZhdGUgY3VycmVuY3lQaXBlOiBDdXJyZW5jeVBpcGUsXHJcbiAgICBwcml2YXRlIHNldHRpbmdzU2VydmljZTogTW9ua2V5U3R5bGVHdWlkZVNldHRpbmdzU2VydmljZVxyXG4gICkge31cclxuXHJcbiAgcHJpdmF0ZSBoYW5kbGVWYWx1ZSh2YWx1ZTogYW55KTogYW55IHtcclxuICAgIGNvbnN0IHsgc2V0dGluZ3MgfSA9IHRoaXM7XHJcbiAgICBpZiAodGhpcy5vbmx5TnVtYmVyICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgcmV0dXJuIE1vbmtleVV0aWxzLmhhbmRsZU9ubHlOdW1iZXJzKGAke3ZhbHVlfWApO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLm9ubHlBbHBoYU51bWVyaWMgIT09IHVuZGVmaW5lZClcclxuICAgICAgcmV0dXJuIE1vbmtleVV0aWxzLmhhbmRsZU9ubHlBbHBoYU51bWVyaWMoYCR7dmFsdWV9YCk7XHJcbiAgICBlbHNlIGlmICh0aGlzLnVwcGVyQ2FzZSAhPT0gdW5kZWZpbmVkKSByZXR1cm4gYCR7dmFsdWV9YC50b1VwcGVyQ2FzZSgpO1xyXG4gICAgZWxzZSBpZiAodGhpcy5sb3dlckNhc2UgIT09IHVuZGVmaW5lZCkgcmV0dXJuIGAke3ZhbHVlfWAudG9Mb3dlckNhc2UoKTtcclxuICAgIGVsc2UgaWYgKHRoaXMuY2FwaXRhbGl6ZSAhPT0gdW5kZWZpbmVkKSByZXR1cm4gTW9ua2V5VXRpbHMuY2FwaXRhbGl6ZShgJHt2YWx1ZX1gLnRvVXBwZXJDYXNlKCkpO1xyXG4gICAgZWxzZSBpZiAodGhpcy5jdXJyZW5jeSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGNvbnN0IG5ld1ZhbHVlID0gTW9ua2V5VXRpbHMuaGFuZGxlT25seU51bWJlcnModmFsdWUpO1xyXG4gICAgICByZXR1cm4gdGhpcy5jdXJyZW5jeVBpcGUudHJhbnNmb3JtKFxyXG4gICAgICAgIG5ld1ZhbHVlIC8gMTAwLFxyXG4gICAgICAgIHNldHRpbmdzPy5jdXJyZW5jeT8uY29kZSB8fCAnQlJMJyxcclxuICAgICAgICAnc3ltYm9sJyxcclxuICAgICAgICAnJyxcclxuICAgICAgICBzZXR0aW5ncz8uY3VycmVuY3k/LmxvY2FsZSB8fCAncHQtQlInXHJcbiAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBjb25zdCB7IHNldHRpbmdzU2VydmljZSB9ID0gdGhpcztcclxuICAgIHRoaXMuX29sZFR5cGUgPSB0aGlzLnR5cGU7XHJcbiAgICBzZXR0aW5nc1NlcnZpY2Uuc2V0dGluZ3MoKS5zdWJzY3JpYmUoKHZhbDogTW9ua2V5U3R5bGVTZXR0aW5ncykgPT4ge1xyXG4gICAgICB0aGlzLnNldHRpbmdzID0gdmFsO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25Nb2RlbENoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vbk1vZGVsVG91Y2hlZCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5fZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBzZXQgdmFsdWUodmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5oYW5kbGVkVmFsdWUgPSB2YWx1ZTtcclxuICAgIHRoaXMub25Nb2RlbENoYW5nZSh2YWx1ZSk7XHJcbiAgICB0aGlzLm9uTW9kZWxUb3VjaGVkKHZhbHVlKTtcclxuICB9XHJcblxyXG4gIGdldCB2YWx1ZSgpOiBhbnkge1xyXG4gICAgcmV0dXJuIHRoaXMuaGFuZGxlZFZhbHVlO1xyXG4gIH1cclxuXHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBvbkNoYW5nZUlucHV0KGV2ZW50OiBhbnkpIHtcclxuICAgIGNvbnN0IHsgdmFsdWUgfSA9IGV2ZW50Py50YXJnZXQ7XHJcbiAgICBldmVudD8ucHJldmVudERlZmF1bHQoKTtcclxuICAgIGV2ZW50Py5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIGNvbnN0IGhhbmRsZWQgPSB0aGlzLmhhbmRsZVZhbHVlKHZhbHVlKTtcclxuICAgIGV2ZW50LnRhcmdldC52YWx1ZSA9IGhhbmRsZWQ7XHJcbiAgICB0aGlzLndyaXRlVmFsdWUoaGFuZGxlZCk7XHJcbiAgICBpZiAodGhpcy50aW1lcikge1xyXG4gICAgICBjbGVhclRpbWVvdXQodGhpcy50aW1lcik7XHJcbiAgICB9XHJcbiAgICB0aGlzLnRpbWVyID0gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMub25DaGFuZ2UubmV4dCh2YWx1ZSk7XHJcbiAgICB9LCA0MDApO1xyXG4gIH1cclxuXHJcbiAgb25TaG93QW5kSGlkZVBhc3N3b3JkKCkge1xyXG4gICAgdGhpcy50eXBlID0gdGhpcy50eXBlID09PSAncGFzc3dvcmQnID8gJ3RleHQnIDogJ3Bhc3N3b3JkJztcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcclxuICBvbkNsaWNrKGV2ZW50OiBhbnkpIHtcclxuICAgIGNvbnN0IHsgX2lkIH0gPSB0aGlzO1xyXG4gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoX2lkKS5mb2N1cygpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -4014,6 +4014,7 @@ class MonkeyInputFilterComponent {
4014
4014
  this.elementRef = elementRef;
4015
4015
  this.currencyPipe = currencyPipe;
4016
4016
  this.settingsService = settingsService;
4017
+ this.iconPosition = 'right';
4017
4018
  this.onChange = new EventEmitter();
4018
4019
  this.onModelChange = (value) => { };
4019
4020
  this.onModelTouched = (value) => { };
@@ -4090,7 +4091,7 @@ class MonkeyInputFilterComponent {
4090
4091
  }
4091
4092
  }
4092
4093
  MonkeyInputFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MonkeyInputFilterComponent, deps: [{ token: i0.ElementRef }, { token: i1$1.CurrencyPipe }, { token: MonkeyStyleGuideSettingsService }], target: i0.ɵɵFactoryTarget.Component });
4093
- MonkeyInputFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: MonkeyInputFilterComponent, selector: "monkey-input-filter", inputs: { name: "name", label: "label", helperMessage: "helperMessage", placeholder: "placeholder", icon: "icon", type: "type", infoMessage: "infoMessage", errorMessage: "errorMessage", mask: "mask", prefix: "prefix", onlyNumber: "onlyNumber", onlyAlphaNumeric: "onlyAlphaNumeric", upperCase: "upperCase", lowerCase: "lowerCase", capitalize: "capitalize", currency: "currency", value: "value" }, outputs: { onChange: "onChange" }, host: { listeners: { "click": "onClick($event)" } }, providers: [
4094
+ MonkeyInputFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: MonkeyInputFilterComponent, selector: "monkey-input-filter", inputs: { name: "name", label: "label", helperMessage: "helperMessage", placeholder: "placeholder", icon: "icon", type: "type", infoMessage: "infoMessage", errorMessage: "errorMessage", mask: "mask", prefix: "prefix", onlyNumber: "onlyNumber", onlyAlphaNumeric: "onlyAlphaNumeric", upperCase: "upperCase", lowerCase: "lowerCase", capitalize: "capitalize", currency: "currency", iconPosition: "iconPosition", value: "value" }, outputs: { onChange: "onChange" }, host: { listeners: { "click": "onClick($event)" } }, providers: [
4094
4095
  {
4095
4096
  provide: NG_VALUE_ACCESSOR,
4096
4097
  useExisting: forwardRef(() => MonkeyInputFilterComponent),
@@ -4099,7 +4100,17 @@ MonkeyInputFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
4099
4100
  CurrencyPipe,
4100
4101
  ], ngImport: i0, template: `
4101
4102
  <mecx-form-field-filter [ngClass]="{ disabled: _disabled }">
4103
+ <mecx-form-field-header *ngIf="label">
4104
+ <label>
4105
+ {{ label }}
4106
+ </label>
4107
+ <helper>
4108
+ {{ helperMessage }}
4109
+ </helper>
4110
+ </mecx-form-field-header>
4102
4111
  <mecx-form-field-body>
4112
+ <monkey-icon [icon]="icon" [color]="'#4B4A53'"
4113
+ *ngIf="iconPosition === 'left' && icon"></monkey-icon>
4103
4114
  <input
4104
4115
  [name]="name"
4105
4116
  [type]="type"
@@ -4133,7 +4144,8 @@ MonkeyInputFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
4133
4144
  [disabled]="_disabled"
4134
4145
  *ngIf="!mask && !prefix"
4135
4146
  />
4136
- <monkey-icon [icon]="icon" [color]="'#4B4A53'"></monkey-icon>
4147
+ <monkey-icon [icon]="icon" [color]="'#4B4A53'"
4148
+ *ngIf="iconPosition === 'right' && icon"></monkey-icon>
4137
4149
  <monkey-icon
4138
4150
  icon="eyes-16"
4139
4151
  [color]="'#4B4A53'"
@@ -4155,7 +4167,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
4155
4167
  selector: 'monkey-input-filter',
4156
4168
  template: `
4157
4169
  <mecx-form-field-filter [ngClass]="{ disabled: _disabled }">
4170
+ <mecx-form-field-header *ngIf="label">
4171
+ <label>
4172
+ {{ label }}
4173
+ </label>
4174
+ <helper>
4175
+ {{ helperMessage }}
4176
+ </helper>
4177
+ </mecx-form-field-header>
4158
4178
  <mecx-form-field-body>
4179
+ <monkey-icon [icon]="icon" [color]="'#4B4A53'"
4180
+ *ngIf="iconPosition === 'left' && icon"></monkey-icon>
4159
4181
  <input
4160
4182
  [name]="name"
4161
4183
  [type]="type"
@@ -4189,7 +4211,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
4189
4211
  [disabled]="_disabled"
4190
4212
  *ngIf="!mask && !prefix"
4191
4213
  />
4192
- <monkey-icon [icon]="icon" [color]="'#4B4A53'"></monkey-icon>
4214
+ <monkey-icon [icon]="icon" [color]="'#4B4A53'"
4215
+ *ngIf="iconPosition === 'right' && icon"></monkey-icon>
4193
4216
  <monkey-icon
4194
4217
  icon="eyes-16"
4195
4218
  [color]="'#4B4A53'"
@@ -4247,6 +4270,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
4247
4270
  type: Input
4248
4271
  }], currency: [{
4249
4272
  type: Input
4273
+ }], iconPosition: [{
4274
+ type: Input
4250
4275
  }], onChange: [{
4251
4276
  type: Output
4252
4277
  }], value: [{