mstate-angular 0.2.2 → 0.2.3

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 (33) hide show
  1. package/esm2022/lib/action-form/action-form.component.mjs +85 -48
  2. package/esm2022/lib/common/constant.mjs +2 -2
  3. package/esm2022/lib/components/action-card/action-card.component.mjs +9 -8
  4. package/esm2022/lib/components/button/button.component.mjs +13 -5
  5. package/esm2022/lib/components/dropdown/dropdown.component.mjs +7 -4
  6. package/esm2022/lib/components/error-card/error-card.component.mjs +23 -0
  7. package/esm2022/lib/components/input-field/input-field.component.mjs +14 -7
  8. package/esm2022/lib/components/loader/loader.component.mjs +3 -3
  9. package/esm2022/lib/components/select/select.component.mjs +7 -4
  10. package/esm2022/lib/components/workflow-end-card/workflow-end-card.component.mjs +11 -0
  11. package/esm2022/lib/input-selector/input-selector.component.mjs +6 -3
  12. package/esm2022/lib/interfaces/interface.mjs +1 -1
  13. package/esm2022/lib/mstate-angular/mstate-angular.component.mjs +33 -21
  14. package/esm2022/lib/mstate-angular.helper.mjs +28 -1
  15. package/esm2022/lib/mstate-angular.module.mjs +5 -4
  16. package/esm2022/lib/mstate-angular.service.mjs +3 -3
  17. package/fesm2022/mstate-angular.mjs +218 -95
  18. package/fesm2022/mstate-angular.mjs.map +1 -1
  19. package/lib/action-form/action-form.component.d.ts +16 -9
  20. package/lib/common/constant.d.ts +2 -2
  21. package/lib/components/action-card/action-card.component.d.ts +4 -4
  22. package/lib/components/button/button.component.d.ts +3 -1
  23. package/lib/components/dropdown/dropdown.component.d.ts +6 -1
  24. package/lib/components/error-card/error-card.component.d.ts +9 -0
  25. package/lib/components/input-field/input-field.component.d.ts +9 -1
  26. package/lib/components/select/select.component.d.ts +6 -1
  27. package/lib/components/workflow-end-card/workflow-end-card.component.d.ts +5 -0
  28. package/lib/input-selector/input-selector.component.d.ts +6 -1
  29. package/lib/interfaces/interface.d.ts +1 -1
  30. package/lib/mstate-angular/mstate-angular.component.d.ts +7 -3
  31. package/lib/mstate-angular.helper.d.ts +7 -0
  32. package/lib/mstate-angular.module.d.ts +2 -1
  33. package/package.json +1 -1
@@ -1,18 +1,21 @@
1
- import { Component, Input, } from '@angular/core';
1
+ import { Component, Input, Output, EventEmitter } from '@angular/core';
2
2
  import { MstateAngularService } from '../mstate-angular.service';
3
+ import { catchError, finalize } from 'rxjs';
3
4
  import { ActionType, ManualStepModule } from '../common/enum';
4
5
  import { InputSelectorComponent } from '../input-selector/input-selector.component';
5
6
  import { ButtonComponent } from '../components/button/button.component';
6
- import { FormsModule } from '@angular/forms';
7
+ import { ReactiveFormsModule, Validators, } from '@angular/forms';
7
8
  import { MstateAngularHelper } from '../mstate-angular.helper';
9
+ import { LoaderComponent } from '../components/loader/loader.component';
8
10
  import * as i0 from "@angular/core";
9
- import * as i1 from "../mstate-angular.service";
10
- import * as i2 from "../mstate-angular.helper";
11
- import * as i3 from "@angular/forms";
11
+ import * as i1 from "@angular/forms";
12
+ import * as i2 from "../mstate-angular.service";
13
+ import * as i3 from "../mstate-angular.helper";
12
14
  export class ActionFormComponent {
13
- constructor(mstateAngularService, mstateAngularHelper) {
15
+ constructor(fb, mstateAngularService, mstateHelper) {
16
+ this.fb = fb;
14
17
  this.mstateAngularService = mstateAngularService;
15
- this.mstateAngularHelper = mstateAngularHelper;
18
+ this.mstateHelper = mstateHelper;
16
19
  this.token = '';
17
20
  this.workflow = '';
18
21
  this.config = {
@@ -20,23 +23,23 @@ export class ActionFormComponent {
20
23
  type: ActionType.MANUAL,
21
24
  steps: [],
22
25
  };
23
- this.onExecuteAction = () => { };
24
- //#region Custom Declaration
25
- this.isLoading = true;
26
- this.mstateModel = {};
26
+ this.onExecuteAction = new EventEmitter();
27
+ this.isLoading = false;
28
+ this.nonUserInputField = {};
27
29
  this.handleStepConfigFilter = () => {
28
30
  const keyForAPISet = new Set();
29
- this.config.steps = this.config?.steps?.filter(stepConfig => {
31
+ this.config.steps = this.config?.steps?.filter((stepConfig) => {
30
32
  const step = stepConfig;
31
33
  switch (step?.module) {
32
34
  case ManualStepModule.CUSTOM_FIELD: {
33
35
  if (this.updateCustomFieldValue) {
34
- this.mstateModel[step?.context?.as] = this.updateCustomFieldValue(step?.context?.key);
36
+ this.nonUserInputField[step?.context?.as] =
37
+ this.updateCustomFieldValue(step?.context?.key);
35
38
  }
36
39
  return true;
37
40
  }
38
41
  case ManualStepModule.CONTEXT_FIELD:
39
- this.mstateModel[step?.context?.as] = step?.context?.value;
42
+ this.nonUserInputField[step?.context?.as] = step?.context?.value;
40
43
  return true;
41
44
  default: {
42
45
  const isDuplicate = keyForAPISet.has(step?.field?.keyForAPI);
@@ -52,45 +55,80 @@ export class ActionFormComponent {
52
55
  this.handleExecuteAction();
53
56
  return;
54
57
  }
58
+ this.assignFormBuilder();
55
59
  this.handleStepConfigFilter();
56
60
  }
57
- ngOnChanges(changes) {
58
- console.log({ changes });
59
- if (this.mstateAngularHelper.detectChange(changes, ['mstateModel'])) {
60
- }
61
- }
62
61
  //#region handlers
63
62
  handleExecuteAction() {
64
- this.isLoading = true;
65
- console.log(this.mstateModel);
66
- // this.mstateAngularService
67
- // .executeAction({
68
- // action: {
69
- // name: this.config.name,
70
- // payload: this.mstateModel,
71
- // },
72
- // token: this.token,
73
- // workflow: this.workflow,
74
- // })
75
- // .pipe(
76
- // catchError(e => {
77
- // throw e;
78
- // }),
79
- // finalize(() => {
80
- // this.isLoading = false;
81
- // })
82
- // )
83
- // .subscribe(data => {
84
- // this.onExecuteAction(data.data);
85
- // });
63
+ if (this.form.status === 'VALID') {
64
+ this.isLoading = true;
65
+ this.mstateAngularService
66
+ .executeAction({
67
+ action: {
68
+ name: this.config.name,
69
+ payload: {
70
+ ...this.form.value,
71
+ ...this.nonUserInputField,
72
+ },
73
+ },
74
+ token: this.token,
75
+ workflow: this.workflow,
76
+ })
77
+ .pipe(catchError((e) => {
78
+ this.onExecuteAction.emit({
79
+ value: {},
80
+ errors: e.error?.errors ?? [],
81
+ });
82
+ throw e;
83
+ }), finalize(() => {
84
+ this.isLoading = false;
85
+ }))
86
+ .subscribe((data) => {
87
+ this.onExecuteAction.emit({
88
+ value: data.data,
89
+ errors: [],
90
+ });
91
+ if (this.onSuccess) {
92
+ this.onSuccess(this.config.name);
93
+ }
94
+ });
95
+ }
96
+ else {
97
+ this.markAllAsTouched(this.form);
98
+ }
99
+ }
100
+ markAllAsTouched(formGroup) {
101
+ Object.keys(formGroup.controls).forEach((key) => {
102
+ const control = formGroup.get(key);
103
+ if (control?.markAsTouched) {
104
+ control?.markAsTouched();
105
+ }
106
+ });
107
+ }
108
+ assignFormBuilder() {
109
+ const validators = this.config.steps.reduce((acc, data) => Object.assign(acc, this.mstateHelper.checkIsStep(data) === false &&
110
+ this.mstateHelper.checkIsHandledStep(data.fieldType)
111
+ ? {
112
+ [data?.field?.keyForAPI]: [
113
+ data?.field.multiple ? [] : '',
114
+ data?.field?.isRequired ? [Validators.required] : undefined,
115
+ ],
116
+ }
117
+ : {}), {});
118
+ this.form = this.fb.group(validators);
86
119
  }
87
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ActionFormComponent, deps: [{ token: i1.MstateAngularService }, { token: i2.MstateAngularHelper }], target: i0.ɵɵFactoryTarget.Component }); }
88
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ActionFormComponent, isStandalone: true, selector: "lib-action-form", inputs: { token: "token", workflow: "workflow", config: "config", onExecuteAction: "onExecuteAction", updateCustomFieldValue: "updateCustomFieldValue", instanceID: "instanceID", onSuccess: "onSuccess" }, providers: [MstateAngularService, MstateAngularHelper], usesOnChanges: true, ngImport: i0, template: "<div>\r\n <h4>{{ config.meta?.title ?? config.name }}</h4>\r\n\r\n <form #userForm=\"ngForm\">\r\n @for (step of config.steps; track $index) {\r\n <mobi-office-input-selector [step]=\"step\" [mstateModel]=\"mstateModel\" />\r\n }\r\n </form>\r\n\r\n <mobi-office-button (click)=\"handleExecuteAction()\"\r\n >Submit</mobi-office-button\r\n >\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: InputSelectorComponent, selector: "mobi-office-input-selector", inputs: ["step", "mstateModel"] }, { kind: "component", type: ButtonComponent, selector: "mobi-office-button" }] }); }
120
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ActionFormComponent, deps: [{ token: i1.FormBuilder }, { token: i2.MstateAngularService }, { token: i3.MstateAngularHelper }], target: i0.ɵɵFactoryTarget.Component }); }
121
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ActionFormComponent, isStandalone: true, selector: "lib-action-form", inputs: { token: "token", workflow: "workflow", config: "config", updateCustomFieldValue: "updateCustomFieldValue", instanceID: "instanceID", onSuccess: "onSuccess" }, outputs: { onExecuteAction: "onExecuteAction" }, providers: [MstateAngularService, MstateAngularHelper], ngImport: i0, template: "<div>\r\n <p style=\"font-size: 2rem; text-align: center\">\r\n {{ config.meta?.title ?? config.name }}\r\n </p>\r\n\r\n <form [formGroup]=\"form\" (ngSubmit)=\"handleExecuteAction()\">\r\n @for (step of config.steps; track $index) {\r\n <mobi-office-input-selector [step]=\"step\" [mstateModel]=\"form\" />\r\n }\r\n\r\n <div style=\"margin-top: 10px\">\r\n <mobi-office-button type=\"submit\">\r\n @if (isLoading) {\r\n <mobi-office-loader></mobi-office-loader>\r\n } @else {\r\n Submit\r\n }\r\n </mobi-office-button>\r\n </div>\r\n </form>\r\n</div>\r\n", styles: ["form{display:flex;flex-direction:column}label{margin-bottom:5px}\n"], dependencies: [{ kind: "component", type: InputSelectorComponent, selector: "mobi-office-input-selector", inputs: ["step", "mstateModel"] }, { kind: "component", type: ButtonComponent, selector: "mobi-office-button", inputs: ["type", "onClick"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: LoaderComponent, selector: "mobi-office-loader" }] }); }
89
122
  }
90
123
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ActionFormComponent, decorators: [{
91
124
  type: Component,
92
- args: [{ selector: 'lib-action-form', standalone: true, imports: [FormsModule, InputSelectorComponent, ButtonComponent], providers: [MstateAngularService, MstateAngularHelper], template: "<div>\r\n <h4>{{ config.meta?.title ?? config.name }}</h4>\r\n\r\n <form #userForm=\"ngForm\">\r\n @for (step of config.steps; track $index) {\r\n <mobi-office-input-selector [step]=\"step\" [mstateModel]=\"mstateModel\" />\r\n }\r\n </form>\r\n\r\n <mobi-office-button (click)=\"handleExecuteAction()\"\r\n >Submit</mobi-office-button\r\n >\r\n</div>\r\n" }]
93
- }], ctorParameters: () => [{ type: i1.MstateAngularService }, { type: i2.MstateAngularHelper }], propDecorators: { token: [{
125
+ args: [{ selector: 'lib-action-form', standalone: true, imports: [
126
+ InputSelectorComponent,
127
+ ButtonComponent,
128
+ ReactiveFormsModule,
129
+ LoaderComponent,
130
+ ], providers: [MstateAngularService, MstateAngularHelper], template: "<div>\r\n <p style=\"font-size: 2rem; text-align: center\">\r\n {{ config.meta?.title ?? config.name }}\r\n </p>\r\n\r\n <form [formGroup]=\"form\" (ngSubmit)=\"handleExecuteAction()\">\r\n @for (step of config.steps; track $index) {\r\n <mobi-office-input-selector [step]=\"step\" [mstateModel]=\"form\" />\r\n }\r\n\r\n <div style=\"margin-top: 10px\">\r\n <mobi-office-button type=\"submit\">\r\n @if (isLoading) {\r\n <mobi-office-loader></mobi-office-loader>\r\n } @else {\r\n Submit\r\n }\r\n </mobi-office-button>\r\n </div>\r\n </form>\r\n</div>\r\n", styles: ["form{display:flex;flex-direction:column}label{margin-bottom:5px}\n"] }]
131
+ }], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.MstateAngularService }, { type: i3.MstateAngularHelper }], propDecorators: { token: [{
94
132
  type: Input,
95
133
  args: [{ required: true }]
96
134
  }], workflow: [{
@@ -100,8 +138,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
100
138
  type: Input,
101
139
  args: [{ required: true }]
102
140
  }], onExecuteAction: [{
103
- type: Input,
104
- args: [{ required: true }]
141
+ type: Output
105
142
  }], updateCustomFieldValue: [{
106
143
  type: Input
107
144
  }], instanceID: [{
@@ -109,4 +146,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
109
146
  }], onSuccess: [{
110
147
  type: Input
111
148
  }] } });
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXN0YXRlLWFuZ3VsYXIvc3JjL2xpYi9hY3Rpb24tZm9ybS9hY3Rpb24tZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tc3RhdGUtYW5ndWxhci9zcmMvbGliL2FjdGlvbi1mb3JtL2FjdGlvbi1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxHQUlOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBSWpFLE9BQU8sRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNwRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDeEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7OztBQVUvRCxNQUFNLE9BQU8sbUJBQW1CO0lBcUI5QixZQUNVLG9CQUEwQyxFQUMxQyxtQkFBd0M7UUFEeEMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUMxQyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBdEJ2QixVQUFLLEdBQVcsRUFBRSxDQUFDO1FBQ25CLGFBQVEsR0FBVyxFQUFFLENBQUM7UUFDdEIsV0FBTSxHQUFtQztZQUNsRSxJQUFJLEVBQUUsRUFBRTtZQUNSLElBQUksRUFBRSxVQUFVLENBQUMsTUFBTTtZQUN2QixLQUFLLEVBQUUsRUFBRTtTQUNWLENBQUM7UUFDeUIsb0JBQWUsR0FHOUIsR0FBRyxFQUFF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LGVBQWU7OzRGQUtuRCxtQkFBbUI7a0JBUi9CLFNBQVM7K0JBQ0UsaUJBQWlCLGNBQ2YsSUFBSSxXQUNQLENBQUMsV0FBVyxFQUFFLHNCQUFzQixFQUFFLGVBQWUsQ0FBQyxhQUNwRCxDQUFDLG9CQUFvQixFQUFFLG1CQUFtQixDQUFDOzJIQUszQixLQUFLO3NCQUEvQixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFDRSxRQUFRO3NCQUFsQyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFDRSxNQUFNO3NCQUFoQyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFLRSxlQUFlO3NCQUF6QyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFJaEIsc0JBQXNCO3NCQUE5QixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkluaXQsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTXN0YXRlQW5ndWxhclNlcnZpY2UgfSBmcm9tICcuLi9tc3RhdGUtYW5ndWxhci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmluYWxpemUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQWN0aW9uQ29uZmlnLCBVc2VySW5wdXQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2ludGVyZmFjZSc7XHJcbmltcG9ydCB7IEV2YWx1YXRlZEFjdGlvbiB9IGZyb20gJy4uL2ludGVyZmFjZXMvYXBpLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IEFjdGlvblR5cGUsIE1hbnVhbFN0ZXBNb2R1bGUgfSBmcm9tICcuLi9jb21tb24vZW51bSc7XHJcbmltcG9ydCB7IElucHV0U2VsZWN0b3JDb21wb25lbnQgfSBmcm9tICcuLi9pbnB1dC1zZWxlY3Rvci9pbnB1dC1zZWxlY3Rvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1zdGF0ZUFuZ3VsYXJIZWxwZXIgfSBmcm9tICcuLi9tc3RhdGUtYW5ndWxhci5oZWxwZXInO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItYWN0aW9uLWZvcm0nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0Zvcm1zTW9kdWxlLCBJbnB1dFNlbGVjdG9yQ29tcG9uZW50LCBCdXR0b25Db21wb25lbnRdLFxyXG4gIHByb3ZpZGVyczogW01zdGF0ZUFuZ3VsYXJTZXJ2aWNlLCBNc3RhdGVBbmd1bGFySGVscGVyXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vYWN0aW9uLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9hY3Rpb24tZm9ybS5jb21wb25lbnQuc2NzcycsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBY3Rpb25Gb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIHRva2VuOiBzdHJpbmcgPSAnJztcclxuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSB3b3JrZmxvdzogc3RyaW5nID0gJyc7XHJcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgY29uZmlnOiBBY3Rpb25Db25maWcgfCBFdmFsdWF0ZWRBY3Rpb24gPSB7XHJcbiAgICBuYW1lOiAnJyxcclxuICAgIHR5cGU6IEFjdGlvblR5cGUuTUFOVUFMLFxyXG4gICAgc3RlcHM6IFtdLFxyXG4gIH07XHJcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgb25FeGVjdXRlQWN0aW9uOiAoXHJcbiAgICByZXNwb25zZTogYW55LFxyXG4gICAgZXJyb3JzPzogc3RyaW5nW11cclxuICApID0+IHZvaWQgPSAoKSA9PiB7fTtcclxuICBASW5wdXQoKSB1cGRhdGVDdXN0b21GaWVsZFZhbHVlPzogKGtleTogc3RyaW5nKSA9PiB1bmtub3duO1xyXG5cclxuICBASW5wdXQoKSBpbnN0YW5jZUlEPzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIG9uU3VjY2Vzcz86IChhY3Rpb25OYW1lOiBzdHJpbmcpID0+IHZvaWQ7XHJcblxyXG4gIC8vI3JlZ2lvbiBDdXN0b20gRGVjbGFyYXRpb25cclxuICBwcm90ZWN0ZWQgaXNMb2FkaW5nID0gdHJ1ZTtcclxuICBwcm90ZWN0ZWQgbXN0YXRlTW9kZWw6IGFueSA9IHt9O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgbXN0YXRlQW5ndWxhclNlcnZpY2U6IE1zdGF0ZUFuZ3VsYXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBtc3RhdGVBbmd1bGFySGVscGVyOiBNc3RhdGVBbmd1bGFySGVscGVyXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmIChCb29sZWFuKHRoaXMuY29uZmlnPy5zdGVwcz8ubGVuZ3RoKSA9PT0gZmFsc2UpIHtcclxuICAgICAgdGhpcy5oYW5kbGVFeGVjdXRlQWN0aW9uKCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmhhbmRsZVN0ZXBDb25maWdGaWx0ZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGNvbnNvbGUubG9nKHsgY2hhbmdlcyB9KTtcclxuICAgIGlmICh0aGlzLm1zdGF0ZUFuZ3VsYXJIZWxwZXIuZGV0ZWN0Q2hhbmdlKGNoYW5nZXMsIFsnbXN0YXRlTW9kZWwnXSkpIHtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vI3JlZ2lvbiBoYW5kbGVyc1xyXG5cclxuICBwcm90ZWN0ZWQgaGFuZGxlRXhlY3V0ZUFjdGlvbigpIHtcclxuICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcclxuICAgIGNvbnNvbGUubG9nKHRoaXMubXN0YXRlTW9kZWwpO1xyXG4gICAgLy8gdGhpcy5tc3RhdGVBbmd1bGFyU2VydmljZVxyXG4gICAgLy8gICAuZXhlY3V0ZUFjdGlvbih7XHJcbiAgICAvLyAgICAgYWN0aW9uOiB7XHJcbiAgICAvLyAgICAgICBuYW1lOiB0aGlzLmNvbmZpZy5uYW1lLFxyXG4gICAgLy8gICAgICAgcGF5bG9hZDogdGhpcy5tc3RhdGVNb2RlbCxcclxuICAgIC8vICAgICB9LFxyXG4gICAgLy8gICAgIHRva2VuOiB0aGlzLnRva2VuLFxyXG4gICAgLy8gICAgIHdvcmtmbG93OiB0aGlzLndvcmtmbG93LFxyXG4gICAgLy8gICB9KVxyXG4gICAgLy8gICAucGlwZShcclxuICAgIC8vICAgICBjYXRjaEVycm9yKGUgPT4ge1xyXG4gICAgLy8gICAgICAgdGhyb3cgZTtcclxuICAgIC8vICAgICB9KSxcclxuICAgIC8vICAgICBmaW5hbGl6ZSgoKSA9PiB7XHJcbiAgICAvLyAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgLy8gICAgIH0pXHJcbiAgICAvLyAgIClcclxuICAgIC8vICAgLnN1YnNjcmliZShkYXRhID0+IHtcclxuICAgIC8vICAgICB0aGlzLm9uRXhlY3V0ZUFjdGlvbihkYXRhLmRhdGEpO1xyXG4gICAgLy8gICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaGFuZGxlU3RlcENvbmZpZ0ZpbHRlciA9ICgpID0+IHtcclxuICAgIGNvbnN0IGtleUZvckFQSVNldCA9IG5ldyBTZXQoKTtcclxuXHJcbiAgICB0aGlzLmNvbmZpZy5zdGVwcyA9IHRoaXMuY29uZmlnPy5zdGVwcz8uZmlsdGVyKHN0ZXBDb25maWcgPT4ge1xyXG4gICAgICBjb25zdCBzdGVwID0gc3RlcENvbmZpZyBhcyBVc2VySW5wdXQ7XHJcblxyXG4gICAgICBzd2l0Y2ggKHN0ZXA/Lm1vZHVsZSkge1xyXG4gICAgICAgIGNhc2UgTWFudWFsU3RlcE1vZHVsZS5DVVNUT01fRklFTEQ6IHtcclxuICAgICAgICAgIGlmICh0aGlzLnVwZGF0ZUN1c3RvbUZpZWxkVmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy5tc3RhdGVNb2RlbFtzdGVwPy5jb250ZXh0Py5hc10gPSB0aGlzLnVwZGF0ZUN1c3RvbUZpZWxkVmFsdWUoXHJcbiAgICAgICAgICAgICAgc3RlcD8uY29udGV4dD8ua2V5XHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNhc2UgTWFudWFsU3RlcE1vZHVsZS5DT05URVhUX0ZJRUxEOlxyXG4gICAgICAgICAgdGhpcy5tc3RhdGVNb2RlbFtzdGVwPy5jb250ZXh0Py5hc10gPSBzdGVwPy5jb250ZXh0Py52YWx1ZTtcclxuICAgICAgICAgIHJldHVybiB0cnVlO1xyXG5cclxuICAgICAgICBkZWZhdWx0OiB7XHJcbiAgICAgICAgICBjb25zdCBpc0R1cGxpY2F0ZSA9IGtleUZvckFQSVNldC5oYXMoc3RlcD8uZmllbGQ/LmtleUZvckFQSSk7XHJcbiAgICAgICAgICBrZXlGb3JBUElTZXQuYWRkKHN0ZXA/LmZpZWxkPy5rZXlGb3JBUEkpO1xyXG4gICAgICAgICAgcmV0dXJuIGlzRHVwbGljYXRlID09PSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pIGFzIFVzZXJJbnB1dFtdO1xyXG4gIH07XHJcblxyXG4gIC8vI2VuZHJlZ2lvblxyXG59XHJcbiIsIjxkaXY+XHJcbiAgPGg0Pnt7IGNvbmZpZy5tZXRhPy50aXRsZSA/PyBjb25maWcubmFtZSB9fTwvaDQ+XHJcblxyXG4gIDxmb3JtICN1c2VyRm9ybT1cIm5nRm9ybVwiPlxyXG4gICAgQGZvciAoc3RlcCBvZiBjb25maWcuc3RlcHM7IHRyYWNrICRpbmRleCkge1xyXG4gICAgICA8bW9iaS1vZmZpY2UtaW5wdXQtc2VsZWN0b3IgW3N0ZXBdPVwic3RlcFwiIFttc3RhdGVNb2RlbF09XCJtc3RhdGVNb2RlbFwiIC8+XHJcbiAgICB9XHJcbiAgPC9mb3JtPlxyXG5cclxuICA8bW9iaS1vZmZpY2UtYnV0dG9uIChjbGljayk9XCJoYW5kbGVFeGVjdXRlQWN0aW9uKClcIlxyXG4gICAgPlN1Ym1pdDwvbW9iaS1vZmZpY2UtYnV0dG9uXHJcbiAgPlxyXG48L2Rpdj5cclxuIl19
149
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXN0YXRlLWFuZ3VsYXIvc3JjL2xpYi9hY3Rpb24tZm9ybS9hY3Rpb24tZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tc3RhdGUtYW5ndWxhci9zcmMvbGliL2FjdGlvbi1mb3JtL2FjdGlvbi1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakUsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHNUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN4RSxPQUFPLEVBR0wsbUJBQW1CLEVBQ25CLFVBQVUsR0FDWCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7Ozs7QUFleEUsTUFBTSxPQUFPLG1CQUFtQjtJQXNCOUIsWUFDVSxFQUFlLEVBQ2Ysb0JBQTBDLEVBQzFDLFlBQWlDO1FBRmpDLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQXhCaEIsVUFBSyxHQUFXLEVBQUUs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QWxDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNFLE1BQU07c0JBQWhDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUtmLGVBQWU7c0JBQXhCLE1BQU07Z0JBSUUsc0JBQXNCO3NCQUE5QixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTXN0YXRlQW5ndWxhclNlcnZpY2UgfSBmcm9tICcuLi9tc3RhdGUtYW5ndWxhci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmluYWxpemUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQWN0aW9uQ29uZmlnLCBVc2VySW5wdXQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2ludGVyZmFjZSc7XHJcbmltcG9ydCB7IEV2YWx1YXRlZEFjdGlvbiB9IGZyb20gJy4uL2ludGVyZmFjZXMvYXBpLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IEFjdGlvblR5cGUsIE1hbnVhbFN0ZXBNb2R1bGUgfSBmcm9tICcuLi9jb21tb24vZW51bSc7XHJcbmltcG9ydCB7IElucHV0U2VsZWN0b3JDb21wb25lbnQgfSBmcm9tICcuLi9pbnB1dC1zZWxlY3Rvci9pbnB1dC1zZWxlY3Rvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICBGb3JtQnVpbGRlcixcclxuICBGb3JtR3JvdXAsXHJcbiAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICBWYWxpZGF0b3JzLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTXN0YXRlQW5ndWxhckhlbHBlciB9IGZyb20gJy4uL21zdGF0ZS1hbmd1bGFyLmhlbHBlcic7XHJcbmltcG9ydCB7IExvYWRlckNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvbG9hZGVyL2xvYWRlci5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItYWN0aW9uLWZvcm0nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgSW5wdXRTZWxlY3RvckNvbXBvbmVudCxcclxuICAgIEJ1dHRvbkNvbXBvbmVudCxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBMb2FkZXJDb21wb25lbnQsXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtNc3RhdGVBbmd1bGFyU2VydmljZSwgTXN0YXRlQW5ndWxhckhlbHBlcl0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FjdGlvbi1mb3JtLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vYWN0aW9uLWZvcm0uY29tcG9uZW50LnNjc3MnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWN0aW9uRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgdG9rZW46IHN0cmluZyA9ICcnO1xyXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIHdvcmtmbG93OiBzdHJpbmcgPSAnJztcclxuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBjb25maWc6IEFjdGlvbkNvbmZpZyB8IEV2YWx1YXRlZEFjdGlvbiA9IHtcclxuICAgIG5hbWU6ICcnLFxyXG4gICAgdHlwZTogQWN0aW9uVHlwZS5NQU5VQUwsXHJcbiAgICBzdGVwczogW10sXHJcbiAgfTtcclxuICBAT3V0cHV0KCkgb25FeGVjdXRlQWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjx7XHJcbiAgICB2YWx1ZTogYW55O1xyXG4gICAgZXJyb3JzPzogc3RyaW5nW107XHJcbiAgfT4oKTtcclxuICBASW5wdXQoKSB1cGRhdGVDdXN0b21GaWVsZFZhbHVlPzogKGtleTogc3RyaW5nKSA9PiBhbnk7XHJcblxyXG4gIEBJbnB1dCgpIGluc3RhbmNlSUQ/OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgb25TdWNjZXNzPzogKGFjdGlvbk5hbWU6IHN0cmluZykgPT4gdm9pZDtcclxuXHJcbiAgLy8jcmVnaW9uIEN1c3RvbSBEZWNsYXJhdGlvblxyXG4gIHByb3RlY3RlZCBmb3JtITogRm9ybUdyb3VwO1xyXG4gIHByb3RlY3RlZCBpc0xvYWRpbmcgPSBmYWxzZTtcclxuICBwcm90ZWN0ZWQgbm9uVXNlcklucHV0RmllbGQ6IGFueSA9IHt9O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxyXG4gICAgcHJpdmF0ZSBtc3RhdGVBbmd1bGFyU2VydmljZTogTXN0YXRlQW5ndWxhclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIG1zdGF0ZUhlbHBlcjogTXN0YXRlQW5ndWxhckhlbHBlcixcclxuICApIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKEJvb2xlYW4odGhpcy5jb25maWc/LnN0ZXBzPy5sZW5ndGgpID09PSBmYWxzZSkge1xyXG4gICAgICB0aGlzLmhhbmRsZUV4ZWN1dGVBY3Rpb24oKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYXNzaWduRm9ybUJ1aWxkZXIoKTtcclxuICAgIHRoaXMuaGFuZGxlU3RlcENvbmZpZ0ZpbHRlcigpO1xyXG4gIH1cclxuXHJcbiAgLy8jcmVnaW9uIGhhbmRsZXJzXHJcblxyXG4gIHByb3RlY3RlZCBoYW5kbGVFeGVjdXRlQWN0aW9uKCkge1xyXG4gICAgaWYgKHRoaXMuZm9ybS5zdGF0dXMgPT09ICdWQUxJRCcpIHtcclxuICAgICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xyXG5cclxuICAgICAgdGhpcy5tc3RhdGVBbmd1bGFyU2VydmljZVxyXG4gICAgICAgIC5leGVjdXRlQWN0aW9uKHtcclxuICAgICAgICAgIGFjdGlvbjoge1xyXG4gICAgICAgICAgICBuYW1lOiB0aGlzLmNvbmZpZy5uYW1lLFxyXG4gICAgICAgICAgICBwYXlsb2FkOiB7XHJcbiAgICAgICAgICAgICAgLi4udGhpcy5mb3JtLnZhbHVlLFxyXG4gICAgICAgICAgICAgIC4uLnRoaXMubm9uVXNlcklucHV0RmllbGQsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgdG9rZW46IHRoaXMudG9rZW4sXHJcbiAgICAgICAgICB3b3JrZmxvdzogdGhpcy53b3JrZmxvdyxcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLm9uRXhlY3V0ZUFjdGlvbi5lbWl0KHtcclxuICAgICAgICAgICAgICB2YWx1ZToge30sXHJcbiAgICAgICAgICAgICAgZXJyb3JzOiBlLmVycm9yPy5lcnJvcnMgPz8gW10sXHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgdGhyb3cgZTtcclxuICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgZmluYWxpemUoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgfSksXHJcbiAgICAgICAgKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKGRhdGEpID0+IHtcclxuICAgICAgICAgIHRoaXMub25FeGVjdXRlQWN0aW9uLmVtaXQoe1xyXG4gICAgICAgICAgICB2YWx1ZTogZGF0YS5kYXRhLFxyXG4gICAgICAgICAgICBlcnJvcnM6IFtdLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICBpZiAodGhpcy5vblN1Y2Nlc3MpIHtcclxuICAgICAgICAgICAgdGhpcy5vblN1Y2Nlc3ModGhpcy5jb25maWcubmFtZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm1hcmtBbGxBc1RvdWNoZWQodGhpcy5mb3JtKTtcclxuICAgIH1cclxuICB9XHJcbiAgcHJpdmF0ZSBtYXJrQWxsQXNUb3VjaGVkKGZvcm1Hcm91cDogRm9ybUdyb3VwKTogdm9pZCB7XHJcbiAgICBPYmplY3Qua2V5cyhmb3JtR3JvdXAuY29udHJvbHMpLmZvckVhY2goKGtleSkgPT4ge1xyXG4gICAgICBjb25zdCBjb250cm9sID0gZm9ybUdyb3VwLmdldChrZXkpO1xyXG4gICAgICBpZiAoY29udHJvbD8ubWFya0FzVG91Y2hlZCkge1xyXG4gICAgICAgIGNvbnRyb2w/Lm1hcmtBc1RvdWNoZWQoKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhhbmRsZVN0ZXBDb25maWdGaWx0ZXIgPSAoKSA9PiB7XHJcbiAgICBjb25zdCBrZXlGb3JBUElTZXQgPSBuZXcgU2V0KCk7XHJcblxyXG4gICAgdGhpcy5jb25maWcuc3RlcHMgPSB0aGlzLmNvbmZpZz8uc3RlcHM/LmZpbHRlcigoc3RlcENvbmZpZykgPT4ge1xyXG4gICAgICBjb25zdCBzdGVwID0gc3RlcENvbmZpZyBhcyBVc2VySW5wdXQ7XHJcblxyXG4gICAgICBzd2l0Y2ggKHN0ZXA/Lm1vZHVsZSkge1xyXG4gICAgICAgIGNhc2UgTWFudWFsU3RlcE1vZHVsZS5DVVNUT01fRklFTEQ6IHtcclxuICAgICAgICAgIGlmICh0aGlzLnVwZGF0ZUN1c3RvbUZpZWxkVmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy5ub25Vc2VySW5wdXRGaWVsZFtzdGVwPy5jb250ZXh0Py5hc10gPVxyXG4gICAgICAgICAgICAgIHRoaXMudXBkYXRlQ3VzdG9tRmllbGRWYWx1ZShzdGVwPy5jb250ZXh0Py5rZXkpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjYXNlIE1hbnVhbFN0ZXBNb2R1bGUuQ09OVEVYVF9GSUVMRDpcclxuICAgICAgICAgIHRoaXMubm9uVXNlcklucHV0RmllbGRbc3RlcD8uY29udGV4dD8uYXNdID0gc3RlcD8uY29udGV4dD8udmFsdWU7XHJcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuXHJcbiAgICAgICAgZGVmYXVsdDoge1xyXG4gICAgICAgICAgY29uc3QgaXNEdXBsaWNhdGUgPSBrZXlGb3JBUElTZXQuaGFzKHN0ZXA/LmZpZWxkPy5rZXlGb3JBUEkpO1xyXG4gICAgICAgICAga2V5Rm9yQVBJU2V0LmFkZChzdGVwPy5maWVsZD8ua2V5Rm9yQVBJKTtcclxuICAgICAgICAgIHJldHVybiBpc0R1cGxpY2F0ZSA9PT0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KSBhcyBVc2VySW5wdXRbXTtcclxuICB9O1xyXG5cclxuICBwcml2YXRlIGFzc2lnbkZvcm1CdWlsZGVyKCkge1xyXG4gICAgY29uc3QgdmFsaWRhdG9ycyA9IHRoaXMuY29uZmlnLnN0ZXBzLnJlZHVjZShcclxuICAgICAgKGFjYywgZGF0YSkgPT5cclxuICAgICAgICBPYmplY3QuYXNzaWduKFxyXG4gICAgICAgICAgYWNjLFxyXG4gICAgICAgICAgdGhpcy5tc3RhdGVIZWxwZXIuY2hlY2tJc1N0ZXAoZGF0YSkgPT09IGZhbHNlICYmXHJcbiAgICAgICAgICAgIHRoaXMubXN0YXRlSGVscGVyLmNoZWNrSXNIYW5kbGVkU3RlcChkYXRhLmZpZWxkVHlwZSlcclxuICAgICAgICAgICAgPyB7XHJcbiAgICAgICAgICAgICAgICBbZGF0YT8uZmllbGQ/LmtleUZvckFQSV06IFtcclxuICAgICAgICAgICAgICAgICAgZGF0YT8uZmllbGQubXVsdGlwbGUgPyBbXSA6ICcnLFxyXG4gICAgICAgICAgICAgICAgICBkYXRhPy5maWVsZD8uaXNSZXF1aXJlZCA/IFtWYWxpZGF0b3JzLnJlcXVpcmVkXSA6IHVuZGVmaW5lZCxcclxuICAgICAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA6IHt9LFxyXG4gICAgICAgICksXHJcbiAgICAgIHt9LFxyXG4gICAgKTtcclxuICAgIHRoaXMuZm9ybSA9IHRoaXMuZmIuZ3JvdXAodmFsaWRhdG9ycyk7XHJcbiAgfVxyXG5cclxuICAvLyNlbmRyZWdpb25cclxufVxyXG4iLCI8ZGl2PlxyXG4gIDxwIHN0eWxlPVwiZm9udC1zaXplOiAycmVtOyB0ZXh0LWFsaWduOiBjZW50ZXJcIj5cclxuICAgIHt7IGNvbmZpZy5tZXRhPy50aXRsZSA/PyBjb25maWcubmFtZSB9fVxyXG4gIDwvcD5cclxuXHJcbiAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCIgKG5nU3VibWl0KT1cImhhbmRsZUV4ZWN1dGVBY3Rpb24oKVwiPlxyXG4gICAgQGZvciAoc3RlcCBvZiBjb25maWcuc3RlcHM7IHRyYWNrICRpbmRleCkge1xyXG4gICAgICA8bW9iaS1vZmZpY2UtaW5wdXQtc2VsZWN0b3IgW3N0ZXBdPVwic3RlcFwiIFttc3RhdGVNb2RlbF09XCJmb3JtXCIgLz5cclxuICAgIH1cclxuXHJcbiAgICA8ZGl2IHN0eWxlPVwibWFyZ2luLXRvcDogMTBweFwiPlxyXG4gICAgICA8bW9iaS1vZmZpY2UtYnV0dG9uIHR5cGU9XCJzdWJtaXRcIj5cclxuICAgICAgICBAaWYgKGlzTG9hZGluZykge1xyXG4gICAgICAgICAgPG1vYmktb2ZmaWNlLWxvYWRlcj48L21vYmktb2ZmaWNlLWxvYWRlcj5cclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgIFN1Ym1pdFxyXG4gICAgICAgIH1cclxuICAgICAgPC9tb2JpLW9mZmljZS1idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Zvcm0+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -1,5 +1,5 @@
1
- // export const MSTATE_URL = 'https://dev.mstate.mobioffice.io/api';
1
+ // export const MSTATE_URL: string = 'https://dev.mstate.mobioffice.io/api';
2
2
  // export const MSTATE_URL = 'http://localhost:3000/api';
3
3
  export const MSTATE_URL = 'https://api.mstate.mobioffice.io/api';
4
4
  export const TOKEN_KEY = 'secret-key';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tc3RhdGUtYW5ndWxhci9zcmMvbGliL2NvbW1vbi9jb25zdGFudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvRUFBb0U7QUFDcEUseURBQXlEO0FBQ3pELE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxzQ0FBc0MsQ0FBQztBQUNqRSxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gZXhwb3J0IGNvbnN0IE1TVEFURV9VUkwgPSAnaHR0cHM6Ly9kZXYubXN0YXRlLm1vYmlvZmZpY2UuaW8vYXBpJztcclxuLy8gZXhwb3J0IGNvbnN0IE1TVEFURV9VUkwgPSAnaHR0cDovL2xvY2FsaG9zdDozMDAwL2FwaSc7XHJcbmV4cG9ydCBjb25zdCBNU1RBVEVfVVJMID0gJ2h0dHBzOi8vYXBpLm1zdGF0ZS5tb2Jpb2ZmaWNlLmlvL2FwaSc7XHJcbmV4cG9ydCBjb25zdCBUT0tFTl9LRVkgPSAnc2VjcmV0LWtleSc7XHJcbiJdfQ==
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tc3RhdGUtYW5ndWxhci9zcmMvbGliL2NvbW1vbi9jb25zdGFudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0RUFBNEU7QUFDNUUseURBQXlEO0FBQ3pELE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBVyxzQ0FBc0MsQ0FBQztBQUN6RSxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQVcsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gZXhwb3J0IGNvbnN0IE1TVEFURV9VUkw6IHN0cmluZyA9ICdodHRwczovL2Rldi5tc3RhdGUubW9iaW9mZmljZS5pby9hcGknO1xyXG4vLyBleHBvcnQgY29uc3QgTVNUQVRFX1VSTCA9ICdodHRwOi8vbG9jYWxob3N0OjMwMDAvYXBpJztcclxuZXhwb3J0IGNvbnN0IE1TVEFURV9VUkw6IHN0cmluZyA9ICdodHRwczovL2FwaS5tc3RhdGUubW9iaW9mZmljZS5pby9hcGknO1xyXG5leHBvcnQgY29uc3QgVE9LRU5fS0VZOiBzdHJpbmcgPSAnc2VjcmV0LWtleSc7XHJcbiJdfQ==
@@ -1,23 +1,24 @@
1
1
  import { Component, EventEmitter, Input, Output } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
+ import { ButtonComponent } from '../button/button.component';
3
4
  import * as i0 from "@angular/core";
4
5
  export class ActionCardComponent {
5
6
  constructor() {
6
- this.retryEmitter = new EventEmitter();
7
+ this.executeAction = new EventEmitter();
7
8
  }
8
- handleRetry() {
9
- this.retryEmitter.emit(this.error);
9
+ triggerExecuteAction() {
10
+ this.executeAction.emit(this.config);
10
11
  }
11
12
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ActionCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ActionCardComponent, isStandalone: true, selector: "mobi-office-action-card", inputs: { error: "error" }, outputs: { retryEmitter: "retryEmitter" }, ngImport: i0, template: "<p>action-card works!</p>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
13
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ActionCardComponent, isStandalone: true, selector: "mobi-office-action-card", inputs: { config: "config" }, outputs: { executeAction: "executeAction" }, ngImport: i0, template: "<div class=\"card\">\n <div class=\"img\"></div>\n <div class=\"card-action\">\n <mobi-office-button (click)=\"triggerExecuteAction()\">\n perform\n </mobi-office-button>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: ButtonComponent, selector: "mobi-office-button", inputs: ["type", "onClick"] }] }); }
13
14
  }
14
15
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ActionCardComponent, decorators: [{
15
16
  type: Component,
16
- args: [{ selector: 'mobi-office-action-card', standalone: true, imports: [CommonModule], template: "<p>action-card works!</p>\n" }]
17
- }], propDecorators: { error: [{
17
+ args: [{ selector: 'mobi-office-action-card', standalone: true, imports: [CommonModule, ButtonComponent], template: "<div class=\"card\">\n <div class=\"img\"></div>\n <div class=\"card-action\">\n <mobi-office-button (click)=\"triggerExecuteAction()\">\n perform\n </mobi-office-button>\n </div>\n</div>\n" }]
18
+ }], propDecorators: { config: [{
18
19
  type: Input,
19
20
  args: [{ required: true }]
20
- }], retryEmitter: [{
21
+ }], executeAction: [{
21
22
  type: Output
22
23
  }] } });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXN0YXRlLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2FjdGlvbi1jYXJkL2FjdGlvbi1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdGF0ZS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9hY3Rpb24tY2FyZC9hY3Rpb24tY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFXL0MsTUFBTSxPQUFPLG1CQUFtQjtJQVBoQztRQVVZLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQWtDLENBQUM7S0FLN0U7SUFIQyxXQUFXO1FBQ1QsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JDLENBQUM7K0dBUFUsbUJBQW1CO21HQUFuQixtQkFBbUIsMEpDWmhDLDZCQUNBLHlERE9ZLFlBQVk7OzRGQUlYLG1CQUFtQjtrQkFQL0IsU0FBUzsrQkFDRSx5QkFBeUIsY0FDdkIsSUFBSSxXQUNQLENBQUMsWUFBWSxDQUFDOzhCQUtJLEtBQUs7c0JBQS9CLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUVmLFlBQVk7c0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEV2YWx1YXRlZEFjdGlvbiB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvYXBpLmludGVyZmFjZSc7XG5pbXBvcnQgeyBBY3Rpb25Db25maWcgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2ludGVyZmFjZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21vYmktb2ZmaWNlLWFjdGlvbi1jYXJkJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9hY3Rpb24tY2FyZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9hY3Rpb24tY2FyZC5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIEFjdGlvbkNhcmRDb21wb25lbnQge1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBlcnJvcj86IEV2YWx1YXRlZEFjdGlvbiB8IEFjdGlvbkNvbmZpZztcblxuICBAT3V0cHV0KCkgcmV0cnlFbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcjxFdmFsdWF0ZWRBY3Rpb24gfCBBY3Rpb25Db25maWc+KCk7XG5cbiAgaGFuZGxlUmV0cnkoKSB7XG4gICAgdGhpcy5yZXRyeUVtaXR0ZXIuZW1pdCh0aGlzLmVycm9yKTtcbiAgfVxufVxuIiwiPHA+YWN0aW9uLWNhcmQgd29ya3MhPC9wPlxuIl19
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXN0YXRlLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2FjdGlvbi1jYXJkL2FjdGlvbi1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdGF0ZS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9hY3Rpb24tY2FyZC9hY3Rpb24tY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUcvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBUzdELE1BQU0sT0FBTyxtQkFBbUI7SUFQaEM7UUFTWSxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFrQyxDQUFDO0tBSzlFO0lBSEMsb0JBQW9CO1FBQ2xCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN2QyxDQUFDOytHQU5VLG1CQUFtQjttR0FBbkIsbUJBQW1CLDhKQ2JoQyw2TUFRQSx5RERDWSxZQUFZLCtCQUFFLGVBQWU7OzRGQUk1QixtQkFBbUI7a0JBUC9CLFNBQVM7K0JBQ0UseUJBQXlCLGNBQ3ZCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxlQUFlLENBQUM7OEJBS2IsTUFBTTtzQkFBaEMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ2YsYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRXZhbHVhdGVkQWN0aW9uIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9hcGkuaW50ZXJmYWNlJztcbmltcG9ydCB7IEFjdGlvbkNvbmZpZyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvaW50ZXJmYWNlJztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbW9iaS1vZmZpY2UtYWN0aW9uLWNhcmQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBCdXR0b25Db21wb25lbnRdLFxuICB0ZW1wbGF0ZVVybDogJy4vYWN0aW9uLWNhcmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vYWN0aW9uLWNhcmQuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBBY3Rpb25DYXJkQ29tcG9uZW50IHtcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgY29uZmlnPzogRXZhbHVhdGVkQWN0aW9uIHwgQWN0aW9uQ29uZmlnO1xuICBAT3V0cHV0KCkgZXhlY3V0ZUFjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8RXZhbHVhdGVkQWN0aW9uIHwgQWN0aW9uQ29uZmlnPigpO1xuXG4gIHRyaWdnZXJFeGVjdXRlQWN0aW9uKCkge1xuICAgIHRoaXMuZXhlY3V0ZUFjdGlvbi5lbWl0KHRoaXMuY29uZmlnKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImNhcmRcIj5cbiAgPGRpdiBjbGFzcz1cImltZ1wiPjwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiY2FyZC1hY3Rpb25cIj5cbiAgICA8bW9iaS1vZmZpY2UtYnV0dG9uIChjbGljayk9XCJ0cmlnZ2VyRXhlY3V0ZUFjdGlvbigpXCI+XG4gICAgICBwZXJmb3JtXG4gICAgPC9tb2JpLW9mZmljZS1idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -1,12 +1,20 @@
1
- import { Component } from '@angular/core';
1
+ import { Component, Input } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import * as i0 from "@angular/core";
4
4
  export class ButtonComponent {
5
+ constructor() {
6
+ this.type = 'submit';
7
+ this.onClick = () => { };
8
+ }
5
9
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ButtonComponent, isStandalone: true, selector: "mobi-office-button", ngImport: i0, template: "<button>\n <ng-content></ng-content>\n</button>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
10
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ButtonComponent, isStandalone: true, selector: "mobi-office-button", inputs: { type: "type", onClick: "onClick" }, ngImport: i0, template: "<button [type]=\"type\" (click)=\"onClick()\" class=\"btn\">\n <ng-content></ng-content>\n</button>\n", styles: [".btn{width:100%;display:flex;align-items:center;justify-content:center;background-color:#007bff;color:#fff;border:1px solid #007bff;padding:10px 20px;font-size:16px;border-radius:4px;text-align:center;cursor:pointer;transition:all .3s ease}.btn:hover{background-color:#0056b3;border-color:#0056b3}.btn:focus{outline:none;box-shadow:0 0 0 .2rem #007bff40}.btn:active{background-color:#004085;border-color:#036}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
7
11
  }
8
12
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ButtonComponent, decorators: [{
9
13
  type: Component,
10
- args: [{ selector: 'mobi-office-button', standalone: true, imports: [CommonModule], template: "<button>\n <ng-content></ng-content>\n</button>\n" }]
11
- }] });
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdGF0ZS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdGF0ZS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQVMvQyxNQUFNLE9BQU8sZUFBZTsrR0FBZixlQUFlO21HQUFmLGVBQWUsOEVDVjVCLG9EQUdBLHlEREdZLFlBQVk7OzRGQUlYLGVBQWU7a0JBUDNCLFNBQVM7K0JBQ0Usb0JBQW9CLGNBQ2xCLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbW9iaS1vZmZpY2UtYnV0dG9uJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vYnV0dG9uLmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgQnV0dG9uQ29tcG9uZW50IHt9XG4iLCI8YnV0dG9uPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2J1dHRvbj5cbiJdfQ==
14
+ args: [{ selector: 'mobi-office-button', standalone: true, imports: [CommonModule], template: "<button [type]=\"type\" (click)=\"onClick()\" class=\"btn\">\n <ng-content></ng-content>\n</button>\n", styles: [".btn{width:100%;display:flex;align-items:center;justify-content:center;background-color:#007bff;color:#fff;border:1px solid #007bff;padding:10px 20px;font-size:16px;border-radius:4px;text-align:center;cursor:pointer;transition:all .3s ease}.btn:hover{background-color:#0056b3;border-color:#0056b3}.btn:focus{outline:none;box-shadow:0 0 0 .2rem #007bff40}.btn:active{background-color:#004085;border-color:#036}\n"] }]
15
+ }], propDecorators: { type: [{
16
+ type: Input
17
+ }], onClick: [{
18
+ type: Input
19
+ }] } });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdGF0ZS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdGF0ZS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFTL0MsTUFBTSxPQUFPLGVBQWU7SUFQNUI7UUFRVyxTQUFJLEdBQTJDLFFBQVEsQ0FBQztRQUN4RCxZQUFPLEdBQWUsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO0tBQ3pDOytHQUhZLGVBQWU7bUdBQWYsZUFBZSw0SENWNUIsd0dBR0Esb2RER1ksWUFBWTs7NEZBSVgsZUFBZTtrQkFQM0IsU0FBUzsrQkFDRSxvQkFBb0IsY0FDbEIsSUFBSSxXQUNQLENBQUMsWUFBWSxDQUFDOzhCQUtkLElBQUk7c0JBQVosS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtb2JpLW9mZmljZS1idXR0b24nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2J1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9idXR0b24uY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBCdXR0b25Db21wb25lbnQge1xuICBASW5wdXQoKSB0eXBlOiAnc3VibWl0JyB8ICdtZW51JyB8ICdyZXNldCcgfCAnYnV0dG9uJyA9ICdzdWJtaXQnO1xuICBASW5wdXQoKSBvbkNsaWNrOiAoKSA9PiB2b2lkID0gKCkgPT4ge307XG59XG4iLCI8YnV0dG9uIFt0eXBlXT1cInR5cGVcIiAoY2xpY2spPVwib25DbGljaygpXCIgY2xhc3M9XCJidG5cIj5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9idXR0b24+XG4iXX0=
@@ -1,6 +1,6 @@
1
1
  import { Component, Input } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
- import { FormsModule } from '@angular/forms';
3
+ import { ReactiveFormsModule } from '@angular/forms';
4
4
  import { MstateAngularService } from '../../mstate-angular.service';
5
5
  import { NgSelectModule } from '@ng-select/ng-select';
6
6
  import * as i0 from "@angular/core";
@@ -31,12 +31,15 @@ export class DropdownComponent {
31
31
  getObjectValue(obj, target) {
32
32
  return this.mstateHelper.getObjectValue(obj, target);
33
33
  }
34
+ checkInputError(form, key) {
35
+ return this.mstateHelper.checkInputError(form, key);
36
+ }
34
37
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DropdownComponent, deps: [{ token: i1.MstateAngularService }, { token: i2.MstateAngularHelper }], target: i0.ɵɵFactoryTarget.Component }); }
35
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DropdownComponent, isStandalone: true, selector: "mobi-office-dropdown", inputs: { config: "config", mstateModel: "mstateModel" }, providers: [MstateAngularService], ngImport: i0, template: "<div class=\"form-group\">\n <ng-select\n [items]=\"list\"\n [multiple]=\"config.field.placeholder\"\n [bindLabel]=\"this.config.field.mapper?.label ?? 'label'\"\n [placeholder]=\"config.field.placeholder\"\n [(ngModel)]=\"mstateModel[config.field.keyForAPI]\"\n >\n </ng-select>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: NgSelectModule }, { kind: "component", type: i4.NgSelectComponent, selector: "ng-select", inputs: ["ariaLabelDropdown", "bindLabel", "bindValue", "ariaLabel", "markFirst", "placeholder", "fixedPlaceholder", "notFoundText", "typeToSearchText", "preventToggleOnRightClick", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "ngClass", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "deselectOnClick", "keyDownFn"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "ngmodule", type: CommonModule }] }); }
38
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: DropdownComponent, isStandalone: true, selector: "mobi-office-dropdown", inputs: { config: "config", mstateModel: "mstateModel" }, providers: [MstateAngularService], ngImport: i0, template: "<div class=\"form-group\" [formGroup]=\"mstateModel\">\n <label>{{ config.label }}</label>\n\n <ng-select\n [items]=\"list\"\n [multiple]=\"false\"\n [bindLabel]=\"this.config.field.mapper?.label ?? 'label'\"\n [placeholder]=\"config.field.placeholder\"\n [formControlName]=\"config.field.keyForAPI\"\n [required]=\"config.field.isRequired || false\"\n >\n </ng-select>\n\n @if (checkInputError(mstateModel, config.field.keyForAPI).isError) {\n <small>{{\n checkInputError(mstateModel, config.field.keyForAPI).message\n }}</small>\n }\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: NgSelectModule }, { kind: "component", type: i4.NgSelectComponent, selector: "ng-select", inputs: ["ariaLabelDropdown", "bindLabel", "bindValue", "ariaLabel", "markFirst", "placeholder", "fixedPlaceholder", "notFoundText", "typeToSearchText", "preventToggleOnRightClick", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "ngClass", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "deselectOnClick", "keyDownFn"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "ngmodule", type: CommonModule }] }); }
36
39
  }
37
40
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DropdownComponent, decorators: [{
38
41
  type: Component,
39
- args: [{ selector: 'mobi-office-dropdown', standalone: true, imports: [FormsModule, NgSelectModule, CommonModule], providers: [MstateAngularService], template: "<div class=\"form-group\">\n <ng-select\n [items]=\"list\"\n [multiple]=\"config.field.placeholder\"\n [bindLabel]=\"this.config.field.mapper?.label ?? 'label'\"\n [placeholder]=\"config.field.placeholder\"\n [(ngModel)]=\"mstateModel[config.field.keyForAPI]\"\n >\n </ng-select>\n</div>\n" }]
42
+ args: [{ selector: 'mobi-office-dropdown', standalone: true, imports: [ReactiveFormsModule, NgSelectModule, CommonModule], providers: [MstateAngularService], template: "<div class=\"form-group\" [formGroup]=\"mstateModel\">\n <label>{{ config.label }}</label>\n\n <ng-select\n [items]=\"list\"\n [multiple]=\"false\"\n [bindLabel]=\"this.config.field.mapper?.label ?? 'label'\"\n [placeholder]=\"config.field.placeholder\"\n [formControlName]=\"config.field.keyForAPI\"\n [required]=\"config.field.isRequired || false\"\n >\n </ng-select>\n\n @if (checkInputError(mstateModel, config.field.keyForAPI).isError) {\n <small>{{\n checkInputError(mstateModel, config.field.keyForAPI).message\n }}</small>\n }\n</div>\n" }]
40
43
  }], ctorParameters: () => [{ type: i1.MstateAngularService }, { type: i2.MstateAngularHelper }], propDecorators: { config: [{
41
44
  type: Input,
42
45
  args: [{ required: true }]
@@ -44,4 +47,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
44
47
  type: Input,
45
48
  args: [{ required: true }]
46
49
  }] } });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXN0YXRlLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdGF0ZS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRXBFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7O0FBVXRELE1BQU0sT0FBTyxpQkFBaUI7SUFJNUIsWUFDVSxhQUFtQyxFQUNuQyxZQUFpQztRQURqQyxrQkFBYSxHQUFiLGFBQWEsQ0FBc0I7UUFDbkMsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBR2pDLFNBQUksR0FBVSxFQUFFLENBQUM7SUFGeEIsQ0FBQztJQUlKLFFBQVE7UUFDTixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7UUFFdEMsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLGFBQWE7aUJBQ2YsaUJBQWlCLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sSUFBSSxFQUFFLENBQUM7aUJBQzdELElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUNiLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1lBQ25CLENBQUMsQ0FBQztpQkFDRCxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsQyxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUM7UUFDbkMsQ0FBQztJQUNILENBQUM7SUFFRCxjQUFjLENBQUMsR0FBUSxFQUFFLE1BQWM7UUFDckMsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDdkQsQ0FBQzsrR0E1QlUsaUJBQWlCO21HQUFqQixpQkFBaUIsNkhBSmpCLENBQUMsb0JBQW9CLENBQUMsMEJDWm5DLHFUQVVBLHlERENZLFdBQVcsOFZBQUUsY0FBYyxrL0JBQUUsWUFBWTs7NEZBS3hDLGlCQUFpQjtrQkFSN0IsU0FBUzsrQkFDRSxzQkFBc0IsY0FDcEIsSUFBSSxXQUNQLENBQUMsV0FBVyxFQUFFLGNBQWMsRUFBRSxZQUFZLENBQUMsYUFDekMsQ0FBQyxvQkFBb0IsQ0FBQzsySEFLTixNQUFNO3NCQUFoQyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFDRSxXQUFXO3NCQUFyQyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFVzZXJJbnB1dCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvaW50ZXJmYWNlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTXN0YXRlQW5ndWxhclNlcnZpY2UgfSBmcm9tICcuLi8uLi9tc3RhdGUtYW5ndWxhci5zZXJ2aWNlJztcbmltcG9ydCB7IE1zdGF0ZUFuZ3VsYXJIZWxwZXIgfSBmcm9tICcuLi8uLi9tc3RhdGUtYW5ndWxhci5oZWxwZXInO1xuaW1wb3J0IHsgTmdTZWxlY3RNb2R1bGUgfSBmcm9tICdAbmctc2VsZWN0L25nLXNlbGVjdCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21vYmktb2ZmaWNlLWRyb3Bkb3duJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0Zvcm1zTW9kdWxlLCBOZ1NlbGVjdE1vZHVsZSwgQ29tbW9uTW9kdWxlXSxcbiAgcHJvdmlkZXJzOiBbTXN0YXRlQW5ndWxhclNlcnZpY2VdLFxuICB0ZW1wbGF0ZVVybDogJy4vZHJvcGRvd24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vZHJvcGRvd24uY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBEcm9wZG93bkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIGNvbmZpZyE6IFVzZXJJbnB1dDtcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgbXN0YXRlTW9kZWwhOiBhbnk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBtc3RhdGVTZXJ2aWNlOiBNc3RhdGVBbmd1bGFyU2VydmljZSxcbiAgICBwcml2YXRlIG1zdGF0ZUhlbHBlcjogTXN0YXRlQW5ndWxhckhlbHBlclxuICApIHt9XG5cbiAgcHJvdGVjdGVkIGxpc3Q6IGFueVtdID0gW107XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgY29uc3QgZmllbGQgPSB0aGlzLmNvbmZpZy5maWVsZCA/PyB7fTtcblxuICAgIGlmIChmaWVsZC5yZXF1ZXN0KSB7XG4gICAgICB0aGlzLm1zdGF0ZVNlcnZpY2VcbiAgICAgICAgLmhhbmRsZURyb3Bkb3duQVBJKGZpZWxkLnJlcXVlc3QsIGZpZWxkPy5tYXBwZXI/LnRhcmdldCA/PyAnJylcbiAgICAgICAgLnRoZW4oKGRhdGEpID0+IHtcbiAgICAgICAgICB0aGlzLmxpc3QgPSBkYXRhO1xuICAgICAgICB9KVxuICAgICAgICAuY2F0Y2goKGUpID0+IGNvbnNvbGUubG9nKGUpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5saXN0ID0gZmllbGQuaXRlbUxpc3QgPz8gW107XG4gICAgfVxuICB9XG5cbiAgZ2V0T2JqZWN0VmFsdWUob2JqOiBhbnksIHRhcmdldDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMubXN0YXRlSGVscGVyLmdldE9iamVjdFZhbHVlKG9iaiwgdGFyZ2V0KTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgPG5nLXNlbGVjdFxuICAgIFtpdGVtc109XCJsaXN0XCJcbiAgICBbbXVsdGlwbGVdPVwiY29uZmlnLmZpZWxkLnBsYWNlaG9sZGVyXCJcbiAgICBbYmluZExhYmVsXT1cInRoaXMuY29uZmlnLmZpZWxkLm1hcHBlcj8ubGFiZWwgPz8gJ2xhYmVsJ1wiXG4gICAgW3BsYWNlaG9sZGVyXT1cImNvbmZpZy5maWVsZC5wbGFjZWhvbGRlclwiXG4gICAgWyhuZ01vZGVsKV09XCJtc3RhdGVNb2RlbFtjb25maWcuZmllbGQua2V5Rm9yQVBJXVwiXG4gID5cbiAgPC9uZy1zZWxlY3Q+XG48L2Rpdj5cbiJdfQ==
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXN0YXRlLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdGF0ZS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFhLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFcEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7QUFVdEQsTUFBTSxPQUFPLGlCQUFpQjtJQUk1QixZQUNVLGFBQW1DLEVBQ25DLFlBQWlDO1FBRGpDLGtCQUFhLEdBQWIsYUFBYSxDQUFzQjtRQUNuQyxpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFHakMsU0FBSSxHQUFVLEVBQUUsQ0FBQztJQUZ4QixDQUFDO0lBSUosUUFBUTtRQUNOLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUV0QyxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsYUFBYTtpQkFDZixpQkFBaUIsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxJQUFJLEVBQUUsQ0FBQztpQkFDN0QsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQ2IsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7WUFDbkIsQ0FBQyxDQUFDO2lCQUNELEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xDLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQztRQUNuQyxDQUFDO0lBQ0gsQ0FBQztJQUVELGNBQWMsQ0FBQyxHQUFRLEVBQUUsTUFBYztRQUNyQyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsZUFBZSxDQUFDLElBQWUsRUFBRSxHQUFXO1FBQzFDLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7K0dBaENVLGlCQUFpQjttR0FBakIsaUJBQWlCLDZIQUpqQixDQUFDLG9CQUFvQixDQUFDLDBCQ1puQywrakJBbUJBLHlERFJZLG1CQUFtQixnekJBQUUsY0FBYyxrL0JBQUUsWUFBWTs7NEZBS2hELGlCQUFpQjtrQkFSN0IsU0FBUzsrQkFDRSxzQkFBc0IsY0FDcEIsSUFBSSxXQUNQLENBQUMsbUJBQW1CLEVBQUUsY0FBYyxFQUFFLFlBQVksQ0FBQyxhQUNqRCxDQUFDLG9CQUFvQixDQUFDOzJIQUtOLE1BQU07c0JBQWhDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNFLFdBQVc7c0JBQXJDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVXNlcklucHV0IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRm9ybUdyb3VwLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTXN0YXRlQW5ndWxhclNlcnZpY2UgfSBmcm9tICcuLi8uLi9tc3RhdGUtYW5ndWxhci5zZXJ2aWNlJztcbmltcG9ydCB7IE1zdGF0ZUFuZ3VsYXJIZWxwZXIgfSBmcm9tICcuLi8uLi9tc3RhdGUtYW5ndWxhci5oZWxwZXInO1xuaW1wb3J0IHsgTmdTZWxlY3RNb2R1bGUgfSBmcm9tICdAbmctc2VsZWN0L25nLXNlbGVjdCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21vYmktb2ZmaWNlLWRyb3Bkb3duJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1JlYWN0aXZlRm9ybXNNb2R1bGUsIE5nU2VsZWN0TW9kdWxlLCBDb21tb25Nb2R1bGVdLFxuICBwcm92aWRlcnM6IFtNc3RhdGVBbmd1bGFyU2VydmljZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9kcm9wZG93bi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9kcm9wZG93bi5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIERyb3Bkb3duQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgY29uZmlnITogVXNlcklucHV0O1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBtc3RhdGVNb2RlbCE6IEZvcm1Hcm91cDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG1zdGF0ZVNlcnZpY2U6IE1zdGF0ZUFuZ3VsYXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgbXN0YXRlSGVscGVyOiBNc3RhdGVBbmd1bGFySGVscGVyXG4gICkge31cblxuICBwcm90ZWN0ZWQgbGlzdDogYW55W10gPSBbXTtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBmaWVsZCA9IHRoaXMuY29uZmlnLmZpZWxkID8/IHt9O1xuXG4gICAgaWYgKGZpZWxkLnJlcXVlc3QpIHtcbiAgICAgIHRoaXMubXN0YXRlU2VydmljZVxuICAgICAgICAuaGFuZGxlRHJvcGRvd25BUEkoZmllbGQucmVxdWVzdCwgZmllbGQ/Lm1hcHBlcj8udGFyZ2V0ID8/ICcnKVxuICAgICAgICAudGhlbigoZGF0YSkgPT4ge1xuICAgICAgICAgIHRoaXMubGlzdCA9IGRhdGE7XG4gICAgICAgIH0pXG4gICAgICAgIC5jYXRjaCgoZSkgPT4gY29uc29sZS5sb2coZSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmxpc3QgPSBmaWVsZC5pdGVtTGlzdCA/PyBbXTtcbiAgICB9XG4gIH1cblxuICBnZXRPYmplY3RWYWx1ZShvYmo6IGFueSwgdGFyZ2V0OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5tc3RhdGVIZWxwZXIuZ2V0T2JqZWN0VmFsdWUob2JqLCB0YXJnZXQpO1xuICB9XG5cbiAgY2hlY2tJbnB1dEVycm9yKGZvcm06IEZvcm1Hcm91cCwga2V5OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5tc3RhdGVIZWxwZXIuY2hlY2tJbnB1dEVycm9yKGZvcm0sIGtleSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCIgW2Zvcm1Hcm91cF09XCJtc3RhdGVNb2RlbFwiPlxuICA8bGFiZWw+e3sgY29uZmlnLmxhYmVsIH19PC9sYWJlbD5cblxuICA8bmctc2VsZWN0XG4gICAgW2l0ZW1zXT1cImxpc3RcIlxuICAgIFttdWx0aXBsZV09XCJmYWxzZVwiXG4gICAgW2JpbmRMYWJlbF09XCJ0aGlzLmNvbmZpZy5maWVsZC5tYXBwZXI/LmxhYmVsID8/ICdsYWJlbCdcIlxuICAgIFtwbGFjZWhvbGRlcl09XCJjb25maWcuZmllbGQucGxhY2Vob2xkZXJcIlxuICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiY29uZmlnLmZpZWxkLmtleUZvckFQSVwiXG4gICAgW3JlcXVpcmVkXT1cImNvbmZpZy5maWVsZC5pc1JlcXVpcmVkIHx8IGZhbHNlXCJcbiAgPlxuICA8L25nLXNlbGVjdD5cblxuICBAaWYgKGNoZWNrSW5wdXRFcnJvcihtc3RhdGVNb2RlbCwgY29uZmlnLmZpZWxkLmtleUZvckFQSSkuaXNFcnJvcikge1xuICA8c21hbGw+e3tcbiAgICBjaGVja0lucHV0RXJyb3IobXN0YXRlTW9kZWwsIGNvbmZpZy5maWVsZC5rZXlGb3JBUEkpLm1lc3NhZ2VcbiAgfX08L3NtYWxsPlxuICB9XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,23 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { ButtonComponent } from '../button/button.component';
3
+ import * as i0 from "@angular/core";
4
+ export class ErrorCardComponent {
5
+ constructor() {
6
+ this.retry = new EventEmitter();
7
+ }
8
+ handleRetryError() {
9
+ this.retry.emit();
10
+ }
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ErrorCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ErrorCardComponent, isStandalone: true, selector: "lib-error-card", inputs: { errors: "errors" }, outputs: { retry: "retry" }, ngImport: i0, template: "<div class=\"error\">\r\n <p style=\"font-size: 2rem; text-align: center\">Error</p>\r\n\r\n @for (message of errors; track message) {\r\n <small>\r\n {{ message }}\r\n </small>\r\n }\r\n <mobi-office-button (click)=\"handleRetryError()\">Retry</mobi-office-button>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "component", type: ButtonComponent, selector: "mobi-office-button", inputs: ["type", "onClick"] }] }); }
13
+ }
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ErrorCardComponent, decorators: [{
15
+ type: Component,
16
+ args: [{ selector: 'lib-error-card', standalone: true, imports: [ButtonComponent], template: "<div class=\"error\">\r\n <p style=\"font-size: 2rem; text-align: center\">Error</p>\r\n\r\n @for (message of errors; track message) {\r\n <small>\r\n {{ message }}\r\n </small>\r\n }\r\n <mobi-office-button (click)=\"handleRetryError()\">Retry</mobi-office-button>\r\n</div>\r\n" }]
17
+ }], propDecorators: { errors: [{
18
+ type: Input,
19
+ args: [{ required: true }]
20
+ }], retry: [{
21
+ type: Output
22
+ }] } });
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tc3RhdGUtYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvZXJyb3ItY2FyZC9lcnJvci1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdGF0ZS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9lcnJvci1jYXJkL2Vycm9yLWNhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBUzdELE1BQU0sT0FBTyxrQkFBa0I7SUFQL0I7UUFTWSxVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQWEsQ0FBQztLQUtqRDtJQUhXLGdCQUFnQjtRQUN4QixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3BCLENBQUM7K0dBTlUsa0JBQWtCO21HQUFsQixrQkFBa0IscUlDVi9CLHdTQVVBLDBEREpZLGVBQWU7OzRGQUlkLGtCQUFrQjtrQkFQOUIsU0FBUzsrQkFDRSxnQkFBZ0IsY0FDZCxJQUFJLFdBQ1AsQ0FBQyxlQUFlLENBQUM7OEJBS0MsTUFBTTtzQkFBaEMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ2YsS0FBSztzQkFBZCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItZXJyb3ItY2FyZCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQnV0dG9uQ29tcG9uZW50XSxcclxuICB0ZW1wbGF0ZVVybDogJy4vZXJyb3ItY2FyZC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2Vycm9yLWNhcmQuY29tcG9uZW50LnNjc3MnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRXJyb3JDYXJkQ29tcG9uZW50IHtcclxuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBlcnJvcnMhOiBzdHJpbmdbXTtcclxuICBAT3V0cHV0KCkgcmV0cnkgPSBuZXcgRXZlbnRFbWl0dGVyPHVuZGVmaW5lZD4oKTtcclxuXHJcbiAgcHJvdGVjdGVkIGhhbmRsZVJldHJ5RXJyb3IoKSB7XHJcbiAgICB0aGlzLnJldHJ5LmVtaXQoKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImVycm9yXCI+XHJcbiAgPHAgc3R5bGU9XCJmb250LXNpemU6IDJyZW07IHRleHQtYWxpZ246IGNlbnRlclwiPkVycm9yPC9wPlxyXG5cclxuICBAZm9yIChtZXNzYWdlIG9mIGVycm9yczsgdHJhY2sgbWVzc2FnZSkge1xyXG4gICAgPHNtYWxsPlxyXG4gICAgICB7eyBtZXNzYWdlIH19XHJcbiAgICA8L3NtYWxsPlxyXG4gIH1cclxuICA8bW9iaS1vZmZpY2UtYnV0dG9uIChjbGljayk9XCJoYW5kbGVSZXRyeUVycm9yKClcIj5SZXRyeTwvbW9iaS1vZmZpY2UtYnV0dG9uPlxyXG48L2Rpdj5cclxuIl19
@@ -1,20 +1,27 @@
1
1
  import { Component, Input } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
- import { FormsModule } from '@angular/forms';
3
+ import { ReactiveFormsModule } from '@angular/forms';
4
4
  import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/forms";
5
+ import * as i1 from "../../mstate-angular.helper";
6
+ import * as i2 from "@angular/forms";
6
7
  export class InputFieldComponent {
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: InputFieldComponent, isStandalone: true, selector: "mobi-office-input-field", inputs: { config: "config", mstateModel: "mstateModel" }, ngImport: i0, template: "<div class=\"form-group\">\n <label>{{ config.label }}</label>\n <input\n [type]=\"config.inputType\"\n [name]=\"config.field.keyForAPI\"\n [placeholder]=\"config.field.placeholder\"\n [(ngModel)]=\"mstateModel[config.field.keyForAPI]\"\n class=\"form-control\" />\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
8
+ constructor(mstateHelper) {
9
+ this.mstateHelper = mstateHelper;
10
+ }
11
+ checkInputError(form, key) {
12
+ return this.mstateHelper.checkInputError(form, key);
13
+ }
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputFieldComponent, deps: [{ token: i1.MstateAngularHelper }], target: i0.ɵɵFactoryTarget.Component }); }
15
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: InputFieldComponent, isStandalone: true, selector: "mobi-office-input-field", inputs: { config: "config", mstateModel: "mstateModel" }, ngImport: i0, template: "<div\n class=\"form-group\"\n [formGroup]=\"mstateModel\"\n style=\"display: flex; flex-direction: column\"\n>\n <label>{{ config.label }}</label>\n <input\n style=\"flex: 1\"\n [required]=\"config.field.isRequired || false\"\n [type]=\"config.inputType\"\n [name]=\"config.field.keyForAPI\"\n [placeholder]=\"config.field.placeholder\"\n [formControlName]=\"config.field.keyForAPI\"\n class=\"form-control\"\n />\n @if (checkInputError(mstateModel, config.field.keyForAPI).isError) {\n <small>{{\n checkInputError(mstateModel, config.field.keyForAPI).message\n }}</small>\n }\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { 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.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] }); }
9
16
  }
10
17
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputFieldComponent, decorators: [{
11
18
  type: Component,
12
- args: [{ selector: 'mobi-office-input-field', standalone: true, imports: [CommonModule, FormsModule], template: "<div class=\"form-group\">\n <label>{{ config.label }}</label>\n <input\n [type]=\"config.inputType\"\n [name]=\"config.field.keyForAPI\"\n [placeholder]=\"config.field.placeholder\"\n [(ngModel)]=\"mstateModel[config.field.keyForAPI]\"\n class=\"form-control\" />\n</div>\n" }]
13
- }], propDecorators: { config: [{
19
+ args: [{ selector: 'mobi-office-input-field', standalone: true, imports: [CommonModule, ReactiveFormsModule], template: "<div\n class=\"form-group\"\n [formGroup]=\"mstateModel\"\n style=\"display: flex; flex-direction: column\"\n>\n <label>{{ config.label }}</label>\n <input\n style=\"flex: 1\"\n [required]=\"config.field.isRequired || false\"\n [type]=\"config.inputType\"\n [name]=\"config.field.keyForAPI\"\n [placeholder]=\"config.field.placeholder\"\n [formControlName]=\"config.field.keyForAPI\"\n class=\"form-control\"\n />\n @if (checkInputError(mstateModel, config.field.keyForAPI).isError) {\n <small>{{\n checkInputError(mstateModel, config.field.keyForAPI).message\n }}</small>\n }\n</div>\n" }]
20
+ }], ctorParameters: () => [{ type: i1.MstateAngularHelper }], propDecorators: { config: [{
14
21
  type: Input,
15
22
  args: [{ required: true }]
16
23
  }], mstateModel: [{
17
24
  type: Input,
18
25
  args: [{ required: true }]
19
26
  }] } });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXN0YXRlLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2lucHV0LWZpZWxkL2lucHV0LWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdGF0ZS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC1maWVsZC9pbnB1dC1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFTN0MsTUFBTSxPQUFPLG1CQUFtQjsrR0FBbkIsbUJBQW1CO21HQUFuQixtQkFBbUIsNklDWmhDLHFTQVNBLHlERERZLFlBQVksOEJBQUUsV0FBVzs7NEZBSXhCLG1CQUFtQjtrQkFQL0IsU0FBUzsrQkFDRSx5QkFBeUIsY0FDdkIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLFdBQVcsQ0FBQzs4QkFLVCxNQUFNO3NCQUFoQyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFDRSxXQUFXO3NCQUFyQyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBVc2VySW5wdXQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2ludGVyZmFjZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbW9iaS1vZmZpY2UtaW5wdXQtZmllbGQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1maWVsZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9pbnB1dC1maWVsZC5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIElucHV0RmllbGRDb21wb25lbnQge1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBjb25maWchOiBVc2VySW5wdXQ7XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIG1zdGF0ZU1vZGVsITogYW55O1xufVxuIiwiPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgPGxhYmVsPnt7IGNvbmZpZy5sYWJlbCB9fTwvbGFiZWw+XG4gIDxpbnB1dFxuICAgIFt0eXBlXT1cImNvbmZpZy5pbnB1dFR5cGVcIlxuICAgIFtuYW1lXT1cImNvbmZpZy5maWVsZC5rZXlGb3JBUElcIlxuICAgIFtwbGFjZWhvbGRlcl09XCJjb25maWcuZmllbGQucGxhY2Vob2xkZXJcIlxuICAgIFsobmdNb2RlbCldPVwibXN0YXRlTW9kZWxbY29uZmlnLmZpZWxkLmtleUZvckFQSV1cIlxuICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgLz5cbjwvZGl2PlxuIl19
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXN0YXRlLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2lucHV0LWZpZWxkL2lucHV0LWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdGF0ZS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC1maWVsZC9pbnB1dC1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFhLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFVaEUsTUFBTSxPQUFPLG1CQUFtQjtJQUk5QixZQUFvQixZQUFpQztRQUFqQyxpQkFBWSxHQUFaLFlBQVksQ0FBcUI7SUFBRyxDQUFDO0lBRXpELGVBQWUsQ0FBQyxJQUFlLEVBQUUsR0FBVztRQUMxQyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN0RCxDQUFDOytHQVJVLG1CQUFtQjttR0FBbkIsbUJBQW1CLDZJQ2JoQyw4bUJBcUJBLHlERFpZLFlBQVksOEJBQUUsbUJBQW1COzs0RkFJaEMsbUJBQW1CO2tCQVAvQixTQUFTOytCQUNFLHlCQUF5QixjQUN2QixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLENBQUM7d0ZBS2pCLE1BQU07c0JBQWhDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNFLFdBQVc7c0JBQXJDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFVzZXJJbnB1dCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvaW50ZXJmYWNlJztcbmltcG9ydCB7IEZvcm1Hcm91cCwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1zdGF0ZUFuZ3VsYXJIZWxwZXIgfSBmcm9tICcuLi8uLi9tc3RhdGUtYW5ndWxhci5oZWxwZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtb2JpLW9mZmljZS1pbnB1dC1maWVsZCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtZmllbGQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vaW5wdXQtZmllbGQuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBJbnB1dEZpZWxkQ29tcG9uZW50IHtcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgY29uZmlnITogVXNlcklucHV0O1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBtc3RhdGVNb2RlbCE6IEZvcm1Hcm91cDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG1zdGF0ZUhlbHBlcjogTXN0YXRlQW5ndWxhckhlbHBlcikge31cblxuICBjaGVja0lucHV0RXJyb3IoZm9ybTogRm9ybUdyb3VwLCBrZXk6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLm1zdGF0ZUhlbHBlci5jaGVja0lucHV0RXJyb3IoZm9ybSwga2V5KTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cImZvcm0tZ3JvdXBcIlxuICBbZm9ybUdyb3VwXT1cIm1zdGF0ZU1vZGVsXCJcbiAgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uXCJcbj5cbiAgPGxhYmVsPnt7IGNvbmZpZy5sYWJlbCB9fTwvbGFiZWw+XG4gIDxpbnB1dFxuICAgIHN0eWxlPVwiZmxleDogMVwiXG4gICAgW3JlcXVpcmVkXT1cImNvbmZpZy5maWVsZC5pc1JlcXVpcmVkIHx8IGZhbHNlXCJcbiAgICBbdHlwZV09XCJjb25maWcuaW5wdXRUeXBlXCJcbiAgICBbbmFtZV09XCJjb25maWcuZmllbGQua2V5Rm9yQVBJXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwiY29uZmlnLmZpZWxkLnBsYWNlaG9sZGVyXCJcbiAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImNvbmZpZy5maWVsZC5rZXlGb3JBUElcIlxuICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgLz5cbiAgQGlmIChjaGVja0lucHV0RXJyb3IobXN0YXRlTW9kZWwsIGNvbmZpZy5maWVsZC5rZXlGb3JBUEkpLmlzRXJyb3IpIHtcbiAgPHNtYWxsPnt7XG4gICAgY2hlY2tJbnB1dEVycm9yKG1zdGF0ZU1vZGVsLCBjb25maWcuZmllbGQua2V5Rm9yQVBJKS5tZXNzYWdlXG4gIH19PC9zbWFsbD5cbiAgfVxuPC9kaXY+XG4iXX0=
@@ -3,10 +3,10 @@ import { CommonModule } from '@angular/common';
3
3
  import * as i0 from "@angular/core";
4
4
  export class LoaderComponent {
5
5
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LoaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: LoaderComponent, isStandalone: true, selector: "mobi-office-loader", ngImport: i0, template: "<p>Loading...</p>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
6
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: LoaderComponent, isStandalone: true, selector: "mobi-office-loader", ngImport: i0, template: "<span>Loading...</span>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
7
7
  }
8
8
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LoaderComponent, decorators: [{
9
9
  type: Component,
10
- args: [{ selector: 'mobi-office-loader', standalone: true, imports: [CommonModule], template: "<p>Loading...</p>\n" }]
10
+ args: [{ selector: 'mobi-office-loader', standalone: true, imports: [CommonModule], template: "<span>Loading...</span>\n" }]
11
11
  }] });
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdGF0ZS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9sb2FkZXIvbG9hZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdGF0ZS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9sb2FkZXIvbG9hZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQVMvQyxNQUFNLE9BQU8sZUFBZTsrR0FBZixlQUFlO21HQUFmLGVBQWUsOEVDVjVCLHFCQUNBLHlEREtZLFlBQVk7OzRGQUlYLGVBQWU7a0JBUDNCLFNBQVM7K0JBQ0Usb0JBQW9CLGNBQ2xCLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbW9iaS1vZmZpY2UtbG9hZGVyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9sb2FkZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vbG9hZGVyLmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgTG9hZGVyQ29tcG9uZW50IHt9XG4iLCI8cD5Mb2FkaW5nLi4uPC9wPlxuIl19
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdGF0ZS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9sb2FkZXIvbG9hZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdGF0ZS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9sb2FkZXIvbG9hZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQVMvQyxNQUFNLE9BQU8sZUFBZTsrR0FBZixlQUFlO21HQUFmLGVBQWUsOEVDVjVCLDJCQUNBLHlEREtZLFlBQVk7OzRGQUlYLGVBQWU7a0JBUDNCLFNBQVM7K0JBQ0Usb0JBQW9CLGNBQ2xCLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbW9iaS1vZmZpY2UtbG9hZGVyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9sb2FkZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vbG9hZGVyLmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgTG9hZGVyQ29tcG9uZW50IHt9XG4iLCI8c3Bhbj5Mb2FkaW5nLi4uPC9zcGFuPlxuIl19
@@ -1,6 +1,6 @@
1
1
  import { Component, Input } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
- import { FormsModule } from '@angular/forms';
3
+ import { ReactiveFormsModule } from '@angular/forms';
4
4
  import { MstateAngularService } from '../../mstate-angular.service';
5
5
  import { NgSelectModule } from '@ng-select/ng-select';
6
6
  import * as i0 from "@angular/core";
@@ -31,12 +31,15 @@ export class SelectComponent {
31
31
  getObjectValue(obj, target) {
32
32
  return this.mstateHelper.getObjectValue(obj, target);
33
33
  }
34
+ checkInputError(form, key) {
35
+ return this.mstateHelper.checkInputError(form, key);
36
+ }
34
37
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectComponent, deps: [{ token: i1.MstateAngularService }, { token: i2.MstateAngularHelper }], target: i0.ɵɵFactoryTarget.Component }); }
35
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SelectComponent, isStandalone: true, selector: "mobi-office-select", inputs: { config: "config", mstateModel: "mstateModel" }, providers: [MstateAngularService], ngImport: i0, template: "<div class=\"form-group\">\n <ng-select\n [items]=\"list\"\n [multiple]=\"config.field.placeholder\"\n [bindLabel]=\"this.config.field.mapper?.label ?? 'label'\"\n [placeholder]=\"config.field.placeholder\"\n [(ngModel)]=\"mstateModel[config.field.keyForAPI]\"\n >\n </ng-select>\n</div>\n", styles: [".dropdown{position:relative;width:300px}.search-input{width:100%;padding:8px;border:1px solid #ccc;border-radius:4px}.dropdown-menu{position:absolute;width:100%;max-height:150px;overflow-y:auto;background:#fff;border:1px solid #ccc;border-radius:4px;margin-top:5px;z-index:10}.dropdown-item{padding:8px;cursor:pointer}.dropdown-item:hover{background-color:#f0f0f0}.no-results{padding:8px;color:#888;text-align:center}.selected-option{margin-top:10px;font-weight:700}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: NgSelectModule }, { kind: "component", type: i4.NgSelectComponent, selector: "ng-select", inputs: ["ariaLabelDropdown", "bindLabel", "bindValue", "ariaLabel", "markFirst", "placeholder", "fixedPlaceholder", "notFoundText", "typeToSearchText", "preventToggleOnRightClick", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "ngClass", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "deselectOnClick", "keyDownFn"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "ngmodule", type: CommonModule }] }); }
38
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: SelectComponent, isStandalone: true, selector: "mobi-office-select", inputs: { config: "config", mstateModel: "mstateModel" }, providers: [MstateAngularService], ngImport: i0, template: "<div class=\"form-group\" [formGroup]=\"mstateModel\">\n <label>{{ config.label }}</label>\n\n <ng-select\n [required]=\"config.field.isRequired || false\"\n [items]=\"list\"\n [multiple]=\"true\"\n [bindLabel]=\"this.config.field.mapper?.label ?? 'label'\"\n [placeholder]=\"config.field.placeholder\"\n [formControlName]=\"config.field.keyForAPI\"\n >\n </ng-select>\n\n @if (checkInputError(mstateModel, config.field.keyForAPI).isError) {\n <small>{{\n checkInputError(mstateModel, config.field.keyForAPI).message\n }}</small>\n }\n</div>\n", styles: [".dropdown{position:relative;width:300px}.search-input{width:100%;padding:8px;border:1px solid #ccc;border-radius:4px}.dropdown-menu{position:absolute;width:100%;max-height:150px;overflow-y:auto;background:#fff;border:1px solid #ccc;border-radius:4px;margin-top:5px;z-index:10}.dropdown-item{padding:8px;cursor:pointer}.dropdown-item:hover{background-color:#f0f0f0}.no-results{padding:8px;color:#888;text-align:center}.selected-option{margin-top:10px;font-weight:700}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: NgSelectModule }, { kind: "component", type: i4.NgSelectComponent, selector: "ng-select", inputs: ["ariaLabelDropdown", "bindLabel", "bindValue", "ariaLabel", "markFirst", "placeholder", "fixedPlaceholder", "notFoundText", "typeToSearchText", "preventToggleOnRightClick", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "ngClass", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "deselectOnClick", "keyDownFn"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "ngmodule", type: CommonModule }] }); }
36
39
  }
37
40
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectComponent, decorators: [{
38
41
  type: Component,
39
- args: [{ selector: 'mobi-office-select', standalone: true, imports: [FormsModule, NgSelectModule, CommonModule], providers: [MstateAngularService], template: "<div class=\"form-group\">\n <ng-select\n [items]=\"list\"\n [multiple]=\"config.field.placeholder\"\n [bindLabel]=\"this.config.field.mapper?.label ?? 'label'\"\n [placeholder]=\"config.field.placeholder\"\n [(ngModel)]=\"mstateModel[config.field.keyForAPI]\"\n >\n </ng-select>\n</div>\n", styles: [".dropdown{position:relative;width:300px}.search-input{width:100%;padding:8px;border:1px solid #ccc;border-radius:4px}.dropdown-menu{position:absolute;width:100%;max-height:150px;overflow-y:auto;background:#fff;border:1px solid #ccc;border-radius:4px;margin-top:5px;z-index:10}.dropdown-item{padding:8px;cursor:pointer}.dropdown-item:hover{background-color:#f0f0f0}.no-results{padding:8px;color:#888;text-align:center}.selected-option{margin-top:10px;font-weight:700}\n"] }]
42
+ args: [{ selector: 'mobi-office-select', standalone: true, imports: [ReactiveFormsModule, NgSelectModule, CommonModule], providers: [MstateAngularService], template: "<div class=\"form-group\" [formGroup]=\"mstateModel\">\n <label>{{ config.label }}</label>\n\n <ng-select\n [required]=\"config.field.isRequired || false\"\n [items]=\"list\"\n [multiple]=\"true\"\n [bindLabel]=\"this.config.field.mapper?.label ?? 'label'\"\n [placeholder]=\"config.field.placeholder\"\n [formControlName]=\"config.field.keyForAPI\"\n >\n </ng-select>\n\n @if (checkInputError(mstateModel, config.field.keyForAPI).isError) {\n <small>{{\n checkInputError(mstateModel, config.field.keyForAPI).message\n }}</small>\n }\n</div>\n", styles: [".dropdown{position:relative;width:300px}.search-input{width:100%;padding:8px;border:1px solid #ccc;border-radius:4px}.dropdown-menu{position:absolute;width:100%;max-height:150px;overflow-y:auto;background:#fff;border:1px solid #ccc;border-radius:4px;margin-top:5px;z-index:10}.dropdown-item{padding:8px;cursor:pointer}.dropdown-item:hover{background-color:#f0f0f0}.no-results{padding:8px;color:#888;text-align:center}.selected-option{margin-top:10px;font-weight:700}\n"] }]
40
43
  }], ctorParameters: () => [{ type: i1.MstateAngularService }, { type: i2.MstateAngularHelper }], propDecorators: { config: [{
41
44
  type: Input,
42
45
  args: [{ required: true }]
@@ -44,4 +47,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
44
47
  type: Input,
45
48
  args: [{ required: true }]
46
49
  }] } });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdGF0ZS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdGF0ZS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFcEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7QUFVdEQsTUFBTSxPQUFPLGVBQWU7SUFJMUIsWUFDVSxhQUFtQyxFQUNuQyxZQUFpQztRQURqQyxrQkFBYSxHQUFiLGFBQWEsQ0FBc0I7UUFDbkMsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBR2pDLFNBQUksR0FBVSxFQUFFLENBQUM7SUFGeEIsQ0FBQztJQUlKLFFBQVE7UUFDTixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7UUFFdEMsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLGFBQWE7aUJBQ2YsaUJBQWlCLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sSUFBSSxFQUFFLENBQUM7aUJBQzdELElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUNiLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1lBQ25CLENBQUMsQ0FBQztpQkFDRCxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsQyxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUM7UUFDbkMsQ0FBQztJQUNILENBQUM7SUFFRCxjQUFjLENBQUMsR0FBUSxFQUFFLE1BQWM7UUFDckMsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDdkQsQ0FBQzsrR0E1QlUsZUFBZTttR0FBZixlQUFlLDJIQUpmLENBQUMsb0JBQW9CLENBQUMsMEJDWm5DLHFUQVVBLDZnQkRDWSxXQUFXLDhWQUFFLGNBQWMsay9CQUFFLFlBQVk7OzRGQUt4QyxlQUFlO2tCQVIzQixTQUFTOytCQUNFLG9CQUFvQixjQUNsQixJQUFJLFdBQ1AsQ0FBQyxXQUFXLEVBQUUsY0FBYyxFQUFFLFlBQVksQ0FBQyxhQUN6QyxDQUFDLG9CQUFvQixDQUFDOzJIQUtOLE1BQU07c0JBQWhDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNFLFdBQVc7c0JBQXJDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVXNlcklucHV0IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNc3RhdGVBbmd1bGFyU2VydmljZSB9IGZyb20gJy4uLy4uL21zdGF0ZS1hbmd1bGFyLnNlcnZpY2UnO1xuaW1wb3J0IHsgTXN0YXRlQW5ndWxhckhlbHBlciB9IGZyb20gJy4uLy4uL21zdGF0ZS1hbmd1bGFyLmhlbHBlcic7XG5pbXBvcnQgeyBOZ1NlbGVjdE1vZHVsZSB9IGZyb20gJ0BuZy1zZWxlY3Qvbmctc2VsZWN0JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbW9iaS1vZmZpY2Utc2VsZWN0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0Zvcm1zTW9kdWxlLCBOZ1NlbGVjdE1vZHVsZSwgQ29tbW9uTW9kdWxlXSxcbiAgcHJvdmlkZXJzOiBbTXN0YXRlQW5ndWxhclNlcnZpY2VdLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3NlbGVjdC5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIGNvbmZpZyE6IFVzZXJJbnB1dDtcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgbXN0YXRlTW9kZWwhOiBhbnk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBtc3RhdGVTZXJ2aWNlOiBNc3RhdGVBbmd1bGFyU2VydmljZSxcbiAgICBwcml2YXRlIG1zdGF0ZUhlbHBlcjogTXN0YXRlQW5ndWxhckhlbHBlclxuICApIHt9XG5cbiAgcHJvdGVjdGVkIGxpc3Q6IGFueVtdID0gW107XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgY29uc3QgZmllbGQgPSB0aGlzLmNvbmZpZy5maWVsZCA/PyB7fTtcblxuICAgIGlmIChmaWVsZC5yZXF1ZXN0KSB7XG4gICAgICB0aGlzLm1zdGF0ZVNlcnZpY2VcbiAgICAgICAgLmhhbmRsZURyb3Bkb3duQVBJKGZpZWxkLnJlcXVlc3QsIGZpZWxkPy5tYXBwZXI/LnRhcmdldCA/PyAnJylcbiAgICAgICAgLnRoZW4oKGRhdGEpID0+IHtcbiAgICAgICAgICB0aGlzLmxpc3QgPSBkYXRhO1xuICAgICAgICB9KVxuICAgICAgICAuY2F0Y2goKGUpID0+IGNvbnNvbGUubG9nKGUpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5saXN0ID0gZmllbGQuaXRlbUxpc3QgPz8gW107XG4gICAgfVxuICB9XG5cbiAgZ2V0T2JqZWN0VmFsdWUob2JqOiBhbnksIHRhcmdldDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMubXN0YXRlSGVscGVyLmdldE9iamVjdFZhbHVlKG9iaiwgdGFyZ2V0KTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgPG5nLXNlbGVjdFxuICAgIFtpdGVtc109XCJsaXN0XCJcbiAgICBbbXVsdGlwbGVdPVwiY29uZmlnLmZpZWxkLnBsYWNlaG9sZGVyXCJcbiAgICBbYmluZExhYmVsXT1cInRoaXMuY29uZmlnLmZpZWxkLm1hcHBlcj8ubGFiZWwgPz8gJ2xhYmVsJ1wiXG4gICAgW3BsYWNlaG9sZGVyXT1cImNvbmZpZy5maWVsZC5wbGFjZWhvbGRlclwiXG4gICAgWyhuZ01vZGVsKV09XCJtc3RhdGVNb2RlbFtjb25maWcuZmllbGQua2V5Rm9yQVBJXVwiXG4gID5cbiAgPC9uZy1zZWxlY3Q+XG48L2Rpdj5cbiJdfQ==
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdGF0ZS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdGF0ZS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQWEsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUVwRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7OztBQVV0RCxNQUFNLE9BQU8sZUFBZTtJQUkxQixZQUNVLGFBQW1DLEVBQ25DLFlBQWlDO1FBRGpDLGtCQUFhLEdBQWIsYUFBYSxDQUFzQjtRQUNuQyxpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFHakMsU0FBSSxHQUFVLEVBQUUsQ0FBQztJQUZ4QixDQUFDO0lBSUosUUFBUTtRQUNOLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUV0QyxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsYUFBYTtpQkFDZixpQkFBaUIsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxJQUFJLEVBQUUsQ0FBQztpQkFDN0QsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQ2IsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7WUFDbkIsQ0FBQyxDQUFDO2lCQUNELEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xDLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQztRQUNuQyxDQUFDO0lBQ0gsQ0FBQztJQUVELGNBQWMsQ0FBQyxHQUFRLEVBQUUsTUFBYztRQUNyQyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsZUFBZSxDQUFDLElBQWUsRUFBRSxHQUFXO1FBQzFDLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7K0dBaENVLGVBQWU7bUdBQWYsZUFBZSwySEFKZixDQUFDLG9CQUFvQixDQUFDLDBCQ1puQyw4akJBbUJBLDZnQkRSWSxtQkFBbUIsZ3pCQUFFLGNBQWMsay9CQUFFLFlBQVk7OzRGQUtoRCxlQUFlO2tCQVIzQixTQUFTOytCQUNFLG9CQUFvQixjQUNsQixJQUFJLFdBQ1AsQ0FBQyxtQkFBbUIsRUFBRSxjQUFjLEVBQUUsWUFBWSxDQUFDLGFBQ2pELENBQUMsb0JBQW9CLENBQUM7MkhBS04sTUFBTTtzQkFBaEMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ0UsV0FBVztzQkFBckMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBVc2VySW5wdXQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2ludGVyZmFjZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNc3RhdGVBbmd1bGFyU2VydmljZSB9IGZyb20gJy4uLy4uL21zdGF0ZS1hbmd1bGFyLnNlcnZpY2UnO1xuaW1wb3J0IHsgTXN0YXRlQW5ndWxhckhlbHBlciB9IGZyb20gJy4uLy4uL21zdGF0ZS1hbmd1bGFyLmhlbHBlcic7XG5pbXBvcnQgeyBOZ1NlbGVjdE1vZHVsZSB9IGZyb20gJ0BuZy1zZWxlY3Qvbmctc2VsZWN0JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbW9iaS1vZmZpY2Utc2VsZWN0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1JlYWN0aXZlRm9ybXNNb2R1bGUsIE5nU2VsZWN0TW9kdWxlLCBDb21tb25Nb2R1bGVdLFxuICBwcm92aWRlcnM6IFtNc3RhdGVBbmd1bGFyU2VydmljZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vc2VsZWN0LmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgY29uZmlnITogVXNlcklucHV0O1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBtc3RhdGVNb2RlbCE6IEZvcm1Hcm91cDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG1zdGF0ZVNlcnZpY2U6IE1zdGF0ZUFuZ3VsYXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgbXN0YXRlSGVscGVyOiBNc3RhdGVBbmd1bGFySGVscGVyXG4gICkge31cblxuICBwcm90ZWN0ZWQgbGlzdDogYW55W10gPSBbXTtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBmaWVsZCA9IHRoaXMuY29uZmlnLmZpZWxkID8/IHt9O1xuXG4gICAgaWYgKGZpZWxkLnJlcXVlc3QpIHtcbiAgICAgIHRoaXMubXN0YXRlU2VydmljZVxuICAgICAgICAuaGFuZGxlRHJvcGRvd25BUEkoZmllbGQucmVxdWVzdCwgZmllbGQ/Lm1hcHBlcj8udGFyZ2V0ID8/ICcnKVxuICAgICAgICAudGhlbigoZGF0YSkgPT4ge1xuICAgICAgICAgIHRoaXMubGlzdCA9IGRhdGE7XG4gICAgICAgIH0pXG4gICAgICAgIC5jYXRjaCgoZSkgPT4gY29uc29sZS5sb2coZSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmxpc3QgPSBmaWVsZC5pdGVtTGlzdCA/PyBbXTtcbiAgICB9XG4gIH1cblxuICBnZXRPYmplY3RWYWx1ZShvYmo6IGFueSwgdGFyZ2V0OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5tc3RhdGVIZWxwZXIuZ2V0T2JqZWN0VmFsdWUob2JqLCB0YXJnZXQpO1xuICB9XG5cbiAgY2hlY2tJbnB1dEVycm9yKGZvcm06IEZvcm1Hcm91cCwga2V5OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5tc3RhdGVIZWxwZXIuY2hlY2tJbnB1dEVycm9yKGZvcm0sIGtleSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCIgW2Zvcm1Hcm91cF09XCJtc3RhdGVNb2RlbFwiPlxuICA8bGFiZWw+e3sgY29uZmlnLmxhYmVsIH19PC9sYWJlbD5cblxuICA8bmctc2VsZWN0XG4gICAgW3JlcXVpcmVkXT1cImNvbmZpZy5maWVsZC5pc1JlcXVpcmVkIHx8IGZhbHNlXCJcbiAgICBbaXRlbXNdPVwibGlzdFwiXG4gICAgW211bHRpcGxlXT1cInRydWVcIlxuICAgIFtiaW5kTGFiZWxdPVwidGhpcy5jb25maWcuZmllbGQubWFwcGVyPy5sYWJlbCA/PyAnbGFiZWwnXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwiY29uZmlnLmZpZWxkLnBsYWNlaG9sZGVyXCJcbiAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImNvbmZpZy5maWVsZC5rZXlGb3JBUElcIlxuICA+XG4gIDwvbmctc2VsZWN0PlxuXG4gIEBpZiAoY2hlY2tJbnB1dEVycm9yKG1zdGF0ZU1vZGVsLCBjb25maWcuZmllbGQua2V5Rm9yQVBJKS5pc0Vycm9yKSB7XG4gIDxzbWFsbD57e1xuICAgIGNoZWNrSW5wdXRFcnJvcihtc3RhdGVNb2RlbCwgY29uZmlnLmZpZWxkLmtleUZvckFQSSkubWVzc2FnZVxuICB9fTwvc21hbGw+XG4gIH1cbjwvZGl2PlxuIl19