@mtna/web-form-angular 1.0.2-SNAPSHOT.2 → 1.0.2

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 (135) hide show
  1. package/_index.scss +1 -2
  2. package/bundles/mtna-web-form-angular.umd.js +1219 -539
  3. package/bundles/mtna-web-form-angular.umd.js.map +1 -1
  4. package/esm2015/lib/components/acknowledge-dialog/acknowledge-dialog.component.js +2 -2
  5. package/esm2015/lib/components/base-form/base-form.component.js +243 -0
  6. package/esm2015/lib/components/base-form/index.js +2 -0
  7. package/esm2015/lib/components/base-items/base-group-item.component.js +5 -5
  8. package/esm2015/lib/components/base-items/base-parent-value-item.component.js +3 -2
  9. package/esm2015/lib/components/base-items/base-section-item.component.js +6 -5
  10. package/esm2015/lib/components/form/form.component.js +13 -239
  11. package/esm2015/lib/components/form-item/form-item.component.js +2 -2
  12. package/esm2015/lib/components/form-item-component-provider/form-item-injected-components.js +7 -1
  13. package/esm2015/lib/components/form-item-dialog/form-item-dialog.component.js +6 -5
  14. package/esm2015/lib/components/form-item-dialog/form-item-dialog.module.js +5 -4
  15. package/esm2015/lib/components/form-item-impl/boolean/boolean.component.js +2 -2
  16. package/esm2015/lib/components/form-item-impl/checkbox/checkbox.component.js +7 -5
  17. package/esm2015/lib/components/form-item-impl/checkbox/checkbox.module.js +5 -1
  18. package/esm2015/lib/components/form-item-impl/date/date.component.js +3 -2
  19. package/esm2015/lib/components/form-item-impl/date-range/date-range.component.js +6 -2
  20. package/esm2015/lib/components/form-item-impl/dropdown/dropdown.component.js +2 -2
  21. package/esm2015/lib/components/form-item-impl/file-upload/file-upload.component.js +3 -2
  22. package/esm2015/lib/components/form-item-impl/form-group/form-group.component.js +2 -2
  23. package/esm2015/lib/components/form-item-impl/i18n-input/i18n-input.component.js +3 -2
  24. package/esm2015/lib/components/form-item-impl/input/input.component.js +3 -2
  25. package/esm2015/lib/components/form-item-impl/multiple-choice/multiple-choice.component.js +2 -2
  26. package/esm2015/lib/components/form-item-impl/repeatable-item-container/repeatable-item-container.component.js +3 -2
  27. package/esm2015/lib/components/form-item-impl/search/resource-search.component.js +2 -2
  28. package/esm2015/lib/components/form-item-impl/year-quarter/year-quarter.component.js +2 -3
  29. package/esm2015/lib/components/form-stepper/form-step/form-step.component.js +10 -3
  30. package/esm2015/lib/components/form-stepper/form-step-group/form-step-group.component.js +4 -2
  31. package/esm2015/lib/components/form-stepper/form-stepper/form-stepper.component.js +52 -10
  32. package/esm2015/lib/components/form-stepper/form-stepper.module.js +17 -5
  33. package/esm2015/lib/components/index.js +2 -1
  34. package/esm2015/lib/components/progressive-form/index.js +3 -0
  35. package/esm2015/lib/components/progressive-form/progressive-form/index.js +3 -0
  36. package/esm2015/lib/components/progressive-form/progressive-form/progressive-form.component.js +287 -0
  37. package/esm2015/lib/components/progressive-form/progressive-form/progressive-form.module.js +68 -0
  38. package/esm2015/lib/components/progressive-form/progressive-form-section/index.js +3 -0
  39. package/esm2015/lib/components/progressive-form/progressive-form-section/progressive-form-section.component.js +27 -0
  40. package/esm2015/lib/components/progressive-form/progressive-form-section/progressive-form-section.module.js +54 -0
  41. package/esm2015/lib/components/step-card/step-card.component.js +10 -2
  42. package/esm2015/lib/components/step-card/step-card.module.js +27 -4
  43. package/esm2015/lib/models/form-stepper/form-step-group.model.js +8 -2
  44. package/esm2015/lib/models/form-stepper/form-step.model.js +7 -1
  45. package/esm2015/lib/models/index.js +2 -1
  46. package/esm2015/lib/models/progressive-form/index.js +4 -0
  47. package/esm2015/lib/models/progressive-form/outline-step.model.js +2 -0
  48. package/esm2015/lib/models/progressive-form/progressive-form-section.model.js +6 -0
  49. package/esm2015/lib/models/progressive-form/progressive-form.model.js +6 -0
  50. package/esm2015/lib/pipes/child-step-active.pipe.js +28 -0
  51. package/esm2015/lib/pipes/coerce-form-step-group.pipe.js +29 -0
  52. package/esm2015/lib/pipes/coerce-form-step.pipe.js +29 -0
  53. package/esm2015/lib/pipes/date-quarter.pipe.js +13 -13
  54. package/esm2015/lib/pipes/get-active-form-step-item.pipe.js +33 -0
  55. package/esm2015/lib/pipes/get-progressive-form-item.pipe.js +40 -0
  56. package/esm2015/lib/pipes/get-selected-option.pipe.js +4 -3
  57. package/esm2015/lib/pipes/get-step-aria-label.pipe.js +55 -0
  58. package/esm2015/lib/pipes/index.js +7 -1
  59. package/esm2015/lib/pipes/items-with-value.pipe.js +5 -10
  60. package/esm2015/lib/services/dialog.service.js +4 -3
  61. package/esm2015/lib/services/form-manager.service.js +19 -7
  62. package/esm2015/lib/services/ng-form.service.js +7 -1
  63. package/esm2015/lib/services/ui.service.js +15 -15
  64. package/esm2015/lib/utilities/generate-form-steps.js +20 -5
  65. package/esm2015/lib/utilities/serializer-util.js +12 -5
  66. package/esm2015/lib/utilities/update-step-status.js +1 -1
  67. package/esm2015/public-api.js +1 -2
  68. package/fesm2015/mtna-web-form-angular.js +962 -364
  69. package/fesm2015/mtna-web-form-angular.js.map +1 -1
  70. package/lib/components/base-form/base-form.component.d.ts +89 -0
  71. package/lib/components/base-form/index.d.ts +1 -0
  72. package/lib/components/base-items/base-group-item.component.d.ts +2 -0
  73. package/lib/components/base-items/base-section-item.component.d.ts +2 -1
  74. package/lib/components/form/form.component.d.ts +4 -86
  75. package/lib/components/form-item-dialog/form-item-dialog.module.d.ts +2 -1
  76. package/lib/components/form-item-impl/checkbox/_checkbox-theme.scss +11 -2
  77. package/lib/components/form-item-impl/checkbox/checkbox.component.d.ts +1 -0
  78. package/lib/components/form-item-impl/checkbox/checkbox.module.d.ts +11 -10
  79. package/lib/components/form-item-impl/date/date.component.d.ts +1 -0
  80. package/lib/components/form-item-impl/date-range/date-range.component.d.ts +1 -0
  81. package/lib/components/form-item-impl/dropdown/_dropdown-theme.scss +35 -0
  82. package/lib/components/form-item-impl/file-upload/file-upload.component.d.ts +1 -0
  83. package/lib/components/form-item-impl/i18n-input/i18n-input.component.d.ts +1 -0
  84. package/lib/components/form-item-impl/input/input.component.d.ts +1 -0
  85. package/lib/components/form-item-impl/repeatable-item-container/repeatable-item-container.component.d.ts +1 -0
  86. package/lib/components/form-stepper/form-step/form-step.component.d.ts +7 -0
  87. package/lib/components/form-stepper/form-step-group/form-step-group.component.d.ts +2 -0
  88. package/lib/components/form-stepper/form-stepper/_form-stepper-theme.scss +30 -15
  89. package/lib/components/form-stepper/form-stepper/form-stepper.component.d.ts +15 -1
  90. package/lib/components/form-stepper/form-stepper.module.d.ts +5 -1
  91. package/lib/components/index.d.ts +1 -0
  92. package/lib/components/progressive-form/index.d.ts +2 -0
  93. package/lib/components/progressive-form/progressive-form/index.d.ts +2 -0
  94. package/lib/components/progressive-form/progressive-form/progressive-form.component.d.ts +101 -0
  95. package/lib/components/progressive-form/progressive-form/progressive-form.module.d.ts +19 -0
  96. package/lib/components/progressive-form/progressive-form-section/index.d.ts +2 -0
  97. package/lib/components/progressive-form/progressive-form-section/progressive-form-section.component.d.ts +9 -0
  98. package/lib/components/progressive-form/progressive-form-section/progressive-form-section.module.d.ts +16 -0
  99. package/lib/components/step-card/step-card.component.d.ts +3 -1
  100. package/lib/components/step-card/step-card.module.d.ts +2 -1
  101. package/lib/core/_all-color.scss +2 -2
  102. package/lib/core/_all-theme.scss +2 -2
  103. package/lib/core/_all-typography.scss +2 -2
  104. package/lib/models/form-stepper/form-step-group.model.d.ts +5 -1
  105. package/lib/models/form-stepper/form-step.model.d.ts +3 -0
  106. package/lib/models/index.d.ts +1 -0
  107. package/lib/models/progressive-form/index.d.ts +3 -0
  108. package/lib/models/progressive-form/outline-step.model.d.ts +7 -0
  109. package/lib/models/progressive-form/progressive-form-section.model.d.ts +4 -0
  110. package/lib/models/progressive-form/progressive-form.model.d.ts +7 -0
  111. package/lib/pipes/child-step-active.pipe.d.ts +13 -0
  112. package/lib/pipes/coerce-form-step-group.pipe.d.ts +13 -0
  113. package/lib/pipes/coerce-form-step.pipe.d.ts +13 -0
  114. package/lib/pipes/get-active-form-step-item.pipe.d.ts +13 -0
  115. package/lib/pipes/get-progressive-form-item.pipe.d.ts +14 -0
  116. package/lib/pipes/get-step-aria-label.pipe.d.ts +17 -0
  117. package/lib/pipes/index.d.ts +6 -0
  118. package/lib/pipes/items-with-value.pipe.d.ts +0 -1
  119. package/lib/services/dialog.service.d.ts +1 -0
  120. package/lib/services/form-manager.service.d.ts +13 -4
  121. package/lib/services/ng-form.service.d.ts +6 -0
  122. package/lib/utilities/generate-form-steps.d.ts +5 -1
  123. package/lib/utilities/update-step-status.d.ts +2 -2
  124. package/package.json +1 -1
  125. package/public-api.d.ts +0 -1
  126. package/esm2015/lib/directives/base-form-item-control.directive.js +0 -58
  127. package/esm2015/lib/directives/base-parent-item-control.directive.js +0 -42
  128. package/esm2015/lib/directives/base-single-selection-parent.directive.js +0 -53
  129. package/esm2015/lib/directives/form-item.directive.js +0 -22
  130. package/esm2015/lib/directives/index.js +0 -5
  131. package/lib/directives/base-form-item-control.directive.d.ts +0 -26
  132. package/lib/directives/base-parent-item-control.directive.d.ts +0 -19
  133. package/lib/directives/base-single-selection-parent.directive.d.ts +0 -26
  134. package/lib/directives/form-item.directive.d.ts +0 -13
  135. package/lib/directives/index.d.ts +0 -4
@@ -0,0 +1,287 @@
1
+ import { coerceBooleanProperty } from '@angular/cdk/coercion';
2
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';
3
+ import { BehaviorSubject } from 'rxjs';
4
+ import { flattenSteps, generateFormStepsFromOutline } from '../../../utilities';
5
+ import { MtnaWfBaseFormComponent } from '../../base-form';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../../../services";
8
+ import * as i2 from "@mtna/core-angular";
9
+ import * as i3 from "../../form-stepper/form-stepper/form-stepper.component";
10
+ import * as i4 from "../../form-disabler/form-disabler.component";
11
+ import * as i5 from "../../form-item/form-item.component";
12
+ import * as i6 from "@angular/material/button";
13
+ import * as i7 from "@angular/flex-layout/flex";
14
+ import * as i8 from "@angular/common";
15
+ import * as i9 from "@angular/forms";
16
+ /* eslint-disable @angular-eslint/no-outputs-metadata-property */
17
+ export class MtnaWfProgressiveFormComponent extends MtnaWfBaseFormComponent {
18
+ constructor(mtnaFormManager, ngFormService, uiService, cdr, scrollService) {
19
+ super(mtnaFormManager, ngFormService, uiService);
20
+ this.cdr = cdr;
21
+ this.scrollService = scrollService;
22
+ this._loading = false;
23
+ /** Emits the updated ProgressiveForm value */
24
+ this.nextStepSelected = new EventEmitter();
25
+ /**
26
+ * Emits the previous steps instanceId.
27
+ * Since this component is always on the last step and the last item, we can always count on having the instanceId of the previous step.
28
+ */
29
+ this.previousStepSelected = new EventEmitter();
30
+ /**
31
+ * Emits the instanceId of the selected step.
32
+ * If the currently active step is the step that is selected, this will not emit.
33
+ */
34
+ this.showSelectedStepId = new EventEmitter();
35
+ this.activeStepId$ = new BehaviorSubject(undefined);
36
+ this.formItems = [];
37
+ this.formStatusValid$ = new BehaviorSubject(false);
38
+ this.lastStepActive = false;
39
+ this.scrollDirection$ = this.scrollService.getScrollDirection();
40
+ this.showPreviousButton = false;
41
+ this.stepArray$ = new BehaviorSubject([]);
42
+ /**
43
+ * Checks if the last step in the form is active.
44
+ * @returns true if the last step in the form is active, otherwise false
45
+ */
46
+ this.checkLastStepActive = () => {
47
+ if (this.stepArray$.value.length > 0) {
48
+ return this.stepArray$.value[this.stepArray$.value.length - 1].active;
49
+ }
50
+ else if (this.stepArray$.value.length === 0) {
51
+ return this.stepArray$.value[0].active;
52
+ }
53
+ else {
54
+ return false;
55
+ }
56
+ };
57
+ }
58
+ get mtnaForm() {
59
+ return super.mtnaForm;
60
+ }
61
+ set mtnaForm(form) {
62
+ if (form) {
63
+ this.formItems = form.items;
64
+ this.resetValues();
65
+ this.generateFormSteps(form.outline);
66
+ this.checkAllStepsIds(form.items);
67
+ super.steps = this.determineStepsToPassToSuper(form.items);
68
+ super.mtnaForm = form;
69
+ this.setStepStatus();
70
+ this.setFormStatusSubscription();
71
+ this.showPreviousButton = this.showPreviousButtonFn();
72
+ this.lastStepActive = this.checkLastStepActive();
73
+ this.cdr.markForCheck();
74
+ }
75
+ }
76
+ get loading() {
77
+ return this._loading;
78
+ }
79
+ set loading(value) {
80
+ this._loading = coerceBooleanProperty(value);
81
+ }
82
+ ngOnDestroy() {
83
+ super.ngOnDestroy();
84
+ if (this.formStatusSubscriber) {
85
+ this.formStatusSubscriber.unsubscribe();
86
+ }
87
+ }
88
+ /**
89
+ * Checks if the previous button should be shown.
90
+ * @returns true if the previous button should be shown, otherwise false
91
+ */
92
+ showPreviousButtonFn() {
93
+ if (this.activeStepId$.value) {
94
+ const indexOfActiveStep = this.stepArray$.value.findIndex((step) => step.instanceId === this.activeStepId$.value);
95
+ return indexOfActiveStep > 0;
96
+ }
97
+ else {
98
+ return false;
99
+ }
100
+ }
101
+ /**
102
+ * Subscribes to the form status changes and updates the formStatusValid$ BehaviorSubject with the validity of the active step.
103
+ */
104
+ setFormStatusSubscription() {
105
+ var _a;
106
+ if (this.ngForm) {
107
+ // Used to set the initial validity of the active step, otherwise it will always default to false
108
+ if (this.activeStepId$.value) {
109
+ const initialValidity = (_a = this.ngForm.controls[this.activeStepId$.value]) === null || _a === void 0 ? void 0 : _a.valid;
110
+ this.formStatusValid$.next(initialValidity);
111
+ }
112
+ if (!this.formStatusSubscriber) {
113
+ this.formStatusSubscriber = this.ngForm.statusChanges.subscribe(() => {
114
+ if (this.activeStepId$.value) {
115
+ if (this.ngForm) {
116
+ const activeControlExists = Object.keys(this.ngForm.controls).includes(this.activeStepId$.value);
117
+ if (activeControlExists) {
118
+ const activeControl = this.ngForm.controls[this.activeStepId$.value];
119
+ if (activeControl) {
120
+ this.formStatusValid$.next(activeControl.valid);
121
+ }
122
+ }
123
+ }
124
+ }
125
+ });
126
+ }
127
+ }
128
+ }
129
+ /**
130
+ * Resets all necessary values to build to form each iteration.
131
+ */
132
+ resetValues() {
133
+ var _a;
134
+ (_a = this.formStatusSubscriber) === null || _a === void 0 ? void 0 : _a.unsubscribe();
135
+ this.ngForm = undefined;
136
+ this._steps = undefined;
137
+ this.ngFormService.disposeForm();
138
+ this.stepArray$.next([]);
139
+ this.activeStepId$.next(undefined);
140
+ }
141
+ /**
142
+ * Generates the steps for the form based on the outline property of the form.
143
+ * @param outline the outline of the form that is the basis for the steps
144
+ */
145
+ generateFormSteps(outline) {
146
+ if (this.stepArray$.value.length === 0) {
147
+ const generatedFormSteps = generateFormStepsFromOutline(outline);
148
+ const flattenedFormSteps = flattenSteps(generatedFormSteps);
149
+ this.stepArray$.next(flattenedFormSteps);
150
+ // Set the active step to the first step in the array for the first load
151
+ const lastItemIndex = this.formItems.length - 1;
152
+ const updatedSteps = [];
153
+ this.stepArray$.value.forEach((step) => {
154
+ if (step.instanceId === this.formItems[lastItemIndex].instanceId || step.instanceId === this.formItems[lastItemIndex].templateId) {
155
+ updatedSteps.push(Object.assign(Object.assign({}, step), { active: true, status: 'INVALID' }));
156
+ }
157
+ else {
158
+ updatedSteps.push(step);
159
+ }
160
+ });
161
+ this.stepArray$.next(updatedSteps);
162
+ }
163
+ }
164
+ /**
165
+ * Checks all of the steps to ensure that each steps instanceId property matches the instanceId of the FormItem and updates the property if needed.
166
+ * This finds the step based on the templateId. When the stepArray is first built, the templateId of the FormItem gets set as the steps instanceId.
167
+ * Here, we just need to find the steps that match the templateId and update the instanceId.
168
+ * Matching is based off of templateId reduces the number of steps that need to be checked/manipulated.
169
+ *
170
+ * @param formItems the FormItems to check against the steps
171
+ */
172
+ checkAllStepsIds(formItems) {
173
+ formItems.forEach((item) => {
174
+ const stepMatchedOnTemplateId = this.stepArray$.value.find((s) => s.instanceId === item.templateId);
175
+ if (stepMatchedOnTemplateId) {
176
+ stepMatchedOnTemplateId.instanceId = item.instanceId;
177
+ if (stepMatchedOnTemplateId.active) {
178
+ this.activeStepId$.next(item.instanceId);
179
+ this.cdr.markForCheck();
180
+ }
181
+ }
182
+ });
183
+ }
184
+ /**
185
+ * Because the super class has no knowledge of the stepArray that have been generated for the form,
186
+ * this function determines which steps need to be passed to the super class and the inherited _steps
187
+ * property. The super class "should" obtain each step as it is passed in. This means that when the
188
+ * call to either grab the form again or to get the next FormItem, should also continue to pass the
189
+ * steps that have been generated.
190
+ * @returns
191
+ */
192
+ determineStepsToPassToSuper(items) {
193
+ const availableItemInstanceIds = [];
194
+ items.forEach((item) => {
195
+ availableItemInstanceIds.push(item.instanceId);
196
+ });
197
+ const stepsToPass = [];
198
+ this.stepArray$.value.forEach((step) => {
199
+ if (availableItemInstanceIds.includes(step.instanceId)) {
200
+ stepsToPass.push(step);
201
+ }
202
+ });
203
+ return stepsToPass;
204
+ }
205
+ /**
206
+ * Sets the status of each step in the form based on the validity of the form control.
207
+ * If the form control key is not found in the controls of the form, the status is set to 'PLACEHOLDER'.
208
+ */
209
+ setStepStatus() {
210
+ const updatedSteps = [];
211
+ this.stepArray$.value.forEach((step) => {
212
+ if (this.ngForm) {
213
+ const controlKeyExists = Object.keys(this.ngForm.controls).includes(step.instanceId);
214
+ if (controlKeyExists) {
215
+ updatedSteps.push(Object.assign(Object.assign({}, step), { status: this.ngForm.controls[step.instanceId].valid ? 'VALID' : 'INVALID' }));
216
+ }
217
+ else {
218
+ updatedSteps.push(Object.assign(Object.assign({}, step), { status: 'PLACEHOLDER' }));
219
+ }
220
+ }
221
+ });
222
+ this.stepArray$.next(updatedSteps);
223
+ }
224
+ /**
225
+ * Emits the next or previous step templateId based on the direction provided.
226
+ * @param stepDirection the direction of the step to emit
227
+ */
228
+ showDirectionalStep(stepDirection) {
229
+ // const stepTemplateId = this.getDirectionalStepTemplateId(stepDirection);
230
+ // if (stepTemplateId) {
231
+ if (this.mtnaForm) {
232
+ const formValue = this.ngFormService.getFormValue();
233
+ const updatedForm = this.mtnaFormManager.insertNewValues(this.mtnaForm, formValue);
234
+ if (stepDirection === 'next') {
235
+ this.nextStepSelected.emit(updatedForm);
236
+ this.scrollService.scrollTop();
237
+ }
238
+ else {
239
+ const previousStepIndex = this.stepArray$.value.findIndex((step) => step.instanceId === this.activeStepId$.value) - 1;
240
+ if (previousStepIndex >= 0) {
241
+ const previousStep = this.stepArray$.value[previousStepIndex];
242
+ if (previousStep) {
243
+ this.previousStepSelected.emit(previousStep.instanceId);
244
+ this.scrollService.scrollTop();
245
+ }
246
+ }
247
+ }
248
+ }
249
+ }
250
+ /**
251
+ * Shows the selected step as the active step in the form.
252
+ * To be used on the mtna-wf-form-stepper components "selected" output.
253
+ * @param step the step to show as the active step
254
+ */
255
+ showSelectedStep(step) {
256
+ if (this.activeStepId$.value !== step.instanceId) {
257
+ this.showSelectedStepId.emit(step.instanceId);
258
+ this.activeStepId$.next(step.instanceId);
259
+ this.scrollService.scrollTop();
260
+ }
261
+ }
262
+ _trackByStepInstanceId(index, formStep) {
263
+ return formStep.instanceId;
264
+ }
265
+ }
266
+ MtnaWfProgressiveFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfProgressiveFormComponent, deps: [{ token: i1.MtnaWfManagerService }, { token: i1.MtnaWfNgFormService }, { token: i1.MtnaWfUIService }, { token: i0.ChangeDetectorRef }, { token: i2.MtnaScrollService }], target: i0.ɵɵFactoryTarget.Component });
267
+ MtnaWfProgressiveFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfProgressiveFormComponent, selector: "mtna-wf-progressive-form", inputs: { loading: "loading" }, outputs: { status: "status", focusedSection: "focusedSection", mtnaFormChange: "mtnaFormChange", nextStepSelected: "nextStepSelected", previousStepSelected: "previousStepSelected", showSelectedStepId: "showSelectedStepId" }, usesInheritance: true, ngImport: i0, template: "<div fxLayout=\"row\" class=\"mtna-wf-progressive-form__container\">\n <mtna-wf-stepper\n *ngIf=\"stepArray$ | async as steps\"\n fxFlex=\"200px\"\n [steps]=\"steps\"\n (selected)=\"showSelectedStep($event)\"\n ></mtna-wf-stepper>\n <div fxFlex class=\"mtna-wf-progressive-form__form-container\">\n <form *ngIf=\"ngForm\" [formGroup]=\"ngForm\" [formDisabled]=\"readonly\">\n <ng-container *ngFor=\"let item of mtnaForm?.items\">\n <ng-container *ngIf=\"activeStepId$ | async as activeStepId\">\n <mtna-wf-item\n *ngIf=\"item.instanceId === activeStepId\"\n [item]=\"item\"\n [control]=\"ngForm.controls[item.instanceId]\"\n [readonly]=\"readonly\"\n [parentIds]=\"componentIds\"\n [step]=\"_steps?.[item.instanceId]\"\n (focusedSection)=\"focusedSection.emit($event)\"\n ></mtna-wf-item>\n </ng-container>\n </ng-container>\n </form>\n <div *ngIf=\"!loading\" class=\"mtna-wf-progressive-form__stepper-actions\" fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"26px\">\n <button *ngIf=\"showPreviousButton\" mat-stroked-button color=\"primary\" (click)=\"showDirectionalStep('previous')\" i18n>\n Previous Step\n </button>\n <ng-container *ngIf=\"!lastStepActive; else parentActions\">\n <button mat-raised-button color=\"primary\" (click)=\"showDirectionalStep('next')\" i18n>Next Step</button>\n </ng-container>\n </div>\n </div>\n</div>\n\n<ng-template #parentActions>\n <ng-content></ng-content>\n</ng-template>\n", styles: ["mtna-wf-progressive-form{display:flex;flex:1}mtna-wf-progressive-form .mtna-wf-progressive-form__container{width:100%}mtna-wf-progressive-form mtna-wf-progressive-form-section mtna-wf-step-card{margin:24px}mtna-wf-progressive-form .mtna-wf-progressive-form__stepper-actions{margin:0 24px 24px}mtna-wf-progressive-form .mtna-wf-progressive-form__stepper-actions .mtna-wf-progressive-form__next-button{margin-left:auto}\n"], components: [{ type: i3.MtnaWfFormStepperComponent, selector: "mtna-wf-stepper", inputs: ["color", "incompleteIcon", "steps"], outputs: ["selected"] }, { type: i4.MtnaWfFormDisablerComponent, selector: "[formDisabled]", inputs: ["formDisabled"] }, { type: i5.MtnaWfFormItemComponent, selector: "mtna-wf-item", inputs: ["color", "control", "header", "inList", "item", "parentIds", "readonly", "step"], outputs: ["focusedSection"] }, { type: i6.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i7.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i9.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i9.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i9.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { type: i7.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }], pipes: { "async": i8.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
268
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfProgressiveFormComponent, decorators: [{
269
+ type: Component,
270
+ args: [{
271
+ selector: 'mtna-wf-progressive-form',
272
+ templateUrl: './progressive-form.component.html',
273
+ styleUrls: ['./progressive-form.component.scss'],
274
+ changeDetection: ChangeDetectionStrategy.OnPush,
275
+ encapsulation: ViewEncapsulation.None,
276
+ outputs: ['status', 'focusedSection', 'mtnaFormChange'],
277
+ }]
278
+ }], ctorParameters: function () { return [{ type: i1.MtnaWfManagerService }, { type: i1.MtnaWfNgFormService }, { type: i1.MtnaWfUIService }, { type: i0.ChangeDetectorRef }, { type: i2.MtnaScrollService }]; }, propDecorators: { loading: [{
279
+ type: Input
280
+ }], nextStepSelected: [{
281
+ type: Output
282
+ }], previousStepSelected: [{
283
+ type: Output
284
+ }], showSelectedStepId: [{
285
+ type: Output
286
+ }] } });
287
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3NpdmUtZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ZWItZm9ybS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9wcm9ncmVzc2l2ZS1mb3JtL3Byb2dyZXNzaXZlLWZvcm0vcHJvZ3Jlc3NpdmUtZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ZWItZm9ybS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9wcm9ncmVzc2l2ZS1mb3JtL3Byb2dyZXNzaXZlLWZvcm0vcHJvZ3Jlc3NpdmUtZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUUsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHdEksT0FBTyxFQUFFLGVBQWUsRUFBNEIsTUFBTSxNQUFNLENBQUM7QUFJakUsT0FBTyxFQUFFLFlBQVksRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7OztBQUUxRCxpRUFBaUU7QUFTakUsTUFBTSxPQUFPLDhCQUErQixTQUFRLHVCQUF3QztJQXNEMUYsWUFDRSxlQUFxQyxFQUNyQyxhQUFrQyxFQUNsQyxTQUEwQixFQUNsQixHQUFzQixFQUN0QixhQUFnQztRQUV4QyxLQUFLLENBQUMsZUFBZSxFQUFFLGFBQWEsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUh6QyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixrQkFBYSxHQUFiLGFBQWEsQ0FBbUI7UUE3QmxDLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFekIsOENBQThDO1FBQ3BDLHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUFtQixDQUFDO1FBQ2pFOzs7V0FHRztRQUNPLHlCQUFvQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDNUQ7OztXQUdHO1FBQ08sdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUUxRCxrQkFBYSxHQUFHLElBQUksZUFBZSxDQUFxQixTQUFTLENBQUMsQ0FBQztRQUNuRSxjQUFTLEdBQWUsRUFBRSxDQUFDO1FBRTNCLHFCQUFnQixHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ3ZELG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLHFCQUFnQixHQUFvQyxJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDNUYsdUJBQWtCLEdBQUcsS0FBSyxDQUFDO1FBQzNCLGVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FBYSxFQUFFLENBQUMsQ0FBQztRQW1CakQ7OztXQUdHO1FBQ0gsd0JBQW1CLEdBQUcsR0FBRyxFQUFFO1lBQ3pCLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDcEMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO2FBQ3ZFO2lCQUFNLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtnQkFDN0MsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7YUFDeEM7aUJBQU07Z0JBQ0wsT0FBTyxLQUFLLENBQUM7YUFDZDtRQUNILENBQUMsQ0FBQztJQXJCRixDQUFDO0lBM0RELElBQWEsUUFBUTtRQUNuQixPQUFPLEtBQUssQ0FBQyxRQUE4QyxDQUFDO0lBQzlELENBQUM7SUFDRCxJQUFhLFFBQVEsQ0FBQyxJQUF3QztRQUM1RCxJQUFJLElBQUksRUFBRTtZQUNSLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUM1QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNyQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2xDLEtBQUssQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLDJCQUEyQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMzRCxLQUFLLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztZQUV0QixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7WUFDakMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1lBQ3RELElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDakQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUN6QjtJQUNILENBQUM7SUFFRCxJQUNJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUNELElBQUksT0FBTyxDQUFDLEtBQWM7UUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBbUNELFdBQVc7UUFDVCxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEIsSUFBSSxJQUFJLENBQUMsb0JBQW9CLEVBQUU7WUFDN0IsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3pDO0lBQ0gsQ0FBQztJQWdCRDs7O09BR0c7SUFDSCxvQkFBb0I7UUFDbEIsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRTtZQUM1QixNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsS0FBSyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2xILE9BQU8saUJBQWlCLEdBQUcsQ0FBQyxDQUFDO1NBQzlCO2FBQU07WUFDTCxPQUFPLEtBQUssQ0FBQztTQUNkO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0sseUJBQXlCOztRQUMvQixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDZixpR0FBaUc7WUFDakcsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRTtnQkFDNUIsTUFBTSxlQUFlLEdBQUcsTUFBQSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQywwQ0FBRSxLQUFLLENBQUM7Z0JBQzlFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7YUFDN0M7WUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFO2dCQUM5QixJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtvQkFDbkUsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRTt3QkFDNUIsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFOzRCQUNmLE1BQU0sbUJBQW1CLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDOzRCQUNqRyxJQUFJLG1CQUFtQixFQUFFO2dDQUN2QixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dDQUNyRSxJQUFJLGFBQWEsRUFBRTtvQ0FDakIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7aUNBQ2pEOzZCQUNGO3lCQUNGO3FCQUNGO2dCQUNILENBQUMsQ0FBQyxDQUFDO2FBQ0o7U0FDRjtJQUNILENBQUM7SUFFRDs7T0FFRztJQUNLLFdBQVc7O1FBQ2pCLE1BQUEsSUFBSSxDQUFDLG9CQUFvQiwwQ0FBRSxXQUFXLEVBQUUsQ0FBQztRQUN6QyxJQUFJLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQztRQUN4QixJQUFJLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQztRQUN4QixJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7O09BR0c7SUFDSyxpQkFBaUIsQ0FBQyxPQUFzQjtRQUM5QyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDdEMsTUFBTSxrQkFBa0IsR0FBRyw0QkFBNEIsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNqRSxNQUFNLGtCQUFrQixHQUFHLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1lBQzVELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7WUFDekMsd0VBQXdFO1lBQ3hFLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztZQUNoRCxNQUFNLFlBQVksR0FBZSxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQ3JDLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLENBQUMsVUFBVSxFQUFFO29CQUNoSSxZQUFZLENBQUMsSUFBSSxpQ0FBTSxJQUFJLEtBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsU0FBUyxJQUFHLENBQUM7aUJBQ2pFO3FCQUFNO29CQUNMLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQ3pCO1lBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUNwQztJQUNILENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ssZ0JBQWdCLENBQUMsU0FBcUI7UUFDNUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3pCLE1BQU0sdUJBQXVCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxLQUFLLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNwRyxJQUFJLHVCQUF1QixFQUFFO2dCQUMzQix1QkFBdUIsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztnQkFDckQsSUFBSSx1QkFBdUIsQ0FBQyxNQUFNLEVBQUU7b0JBQ2xDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztvQkFDekMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztpQkFDekI7YUFDRjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSywyQkFBMkIsQ0FBQyxLQUFpQjtRQUNuRCxNQUFNLHdCQUF3QixHQUFhLEVBQUUsQ0FBQztRQUM5QyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDckIsd0JBQXdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNqRCxDQUFDLENBQUMsQ0FBQztRQUVILE1BQU0sV0FBVyxHQUFlLEVBQUUsQ0FBQztRQUNuQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNyQyxJQUFJLHdCQUF3QixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUU7Z0JBQ3RELFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDeEI7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7O09BR0c7SUFDSyxhQUFhO1FBQ25CLE1BQU0sWUFBWSxHQUFlLEVBQUUsQ0FBQztRQUNwQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNyQyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7Z0JBQ2YsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDckYsSUFBSSxnQkFBZ0IsRUFBRTtvQkFDcEIsWUFBWSxDQUFDLElBQUksaUNBQU0sSUFBSSxLQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVMsSUFBRyxDQUFDO2lCQUMzRztxQkFBTTtvQkFDTCxZQUFZLENBQUMsSUFBSSxpQ0FBTSxJQUFJLEtBQUUsTUFBTSxFQUFFLGFBQWEsSUFBRyxDQUFDO2lCQUN2RDthQUNGO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsbUJBQW1CLENBQUMsYUFBa0M7UUFDcEQsMkVBQTJFO1FBQzNFLHdCQUF3QjtRQUN4QixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNwRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBb0IsQ0FBQztZQUN0RyxJQUFJLGFBQWEsS0FBSyxNQUFNLEVBQUU7Z0JBQzVCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQ3hDLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFLENBQUM7YUFDaEM7aUJBQU07Z0JBQ0wsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLEtBQUssSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3RILElBQUksaUJBQWlCLElBQUksQ0FBQyxFQUFFO29CQUMxQixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO29CQUM5RCxJQUFJLFlBQVksRUFBRTt3QkFDaEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUM7d0JBQ3hELElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFLENBQUM7cUJBQ2hDO2lCQUNGO2FBQ0Y7U0FDRjtJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsZ0JBQWdCLENBQUMsSUFBYztRQUM3QixJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDaEQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDOUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3pDLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDaEM7SUFDSCxDQUFDO0lBRUQsc0JBQXNCLENBQUMsS0FBYSxFQUFFLFFBQWtCO1FBQ3RELE9BQU8sUUFBUSxDQUFDLFVBQVUsQ0FBQztJQUM3QixDQUFDOzs0SEEzUVUsOEJBQThCO2dIQUE5Qiw4QkFBOEIsd1ZDcEIzQyxnbERBcUNBOzRGRGpCYSw4QkFBOEI7a0JBUjFDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDBCQUEwQjtvQkFDcEMsV0FBVyxFQUFFLG1DQUFtQztvQkFDaEQsU0FBUyxFQUFFLENBQUMsbUNBQW1DLENBQUM7b0JBQ2hELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsT0FBTyxFQUFFLENBQUMsUUFBUSxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixDQUFDO2lCQUN4RDsyT0F5QkssT0FBTztzQkFEVixLQUFLO2dCQVVJLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFLRyxvQkFBb0I7c0JBQTdCLE1BQU07Z0JBS0csa0JBQWtCO3NCQUEzQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQm9vbGVhbklucHV0LCBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE10bmFTY3JvbGxEaXJlY3Rpb24sIE10bmFTY3JvbGxTZXJ2aWNlIH0gZnJvbSAnQG10bmEvY29yZS1hbmd1bGFyJztcbmltcG9ydCB7IEZvcm1JdGVtIH0gZnJvbSAnQG10bmEvd2ViLWZvcm0tdHMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRm9ybVN0ZXAsIE91dGxpbmVTdGVwLCBQcm9ncmVzc2l2ZUZvcm0gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgTXRuYVdmTWFuYWdlclNlcnZpY2UsIE10bmFXZk5nRm9ybVNlcnZpY2UsIE10bmFXZlVJU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IGZsYXR0ZW5TdGVwcywgZ2VuZXJhdGVGb3JtU3RlcHNGcm9tT3V0bGluZSB9IGZyb20gJy4uLy4uLy4uL3V0aWxpdGllcyc7XG5pbXBvcnQgeyBNdG5hV2ZCYXNlRm9ybUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Jhc2UtZm9ybSc7XG5cbi8qIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXRzLW1ldGFkYXRhLXByb3BlcnR5ICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtdG5hLXdmLXByb2dyZXNzaXZlLWZvcm0nLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZ3Jlc3NpdmUtZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Byb2dyZXNzaXZlLWZvcm0uY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIG91dHB1dHM6IFsnc3RhdHVzJywgJ2ZvY3VzZWRTZWN0aW9uJywgJ210bmFGb3JtQ2hhbmdlJ10sXG59KVxuZXhwb3J0IGNsYXNzIE10bmFXZlByb2dyZXNzaXZlRm9ybUNvbXBvbmVudCBleHRlbmRzIE10bmFXZkJhc2VGb3JtQ29tcG9uZW50PFByb2dyZXNzaXZlRm9ybT4ge1xuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfbG9hZGluZzogQm9vbGVhbklucHV0O1xuXG4gIG92ZXJyaWRlIGdldCBtdG5hRm9ybSgpOiBQcm9ncmVzc2l2ZUZvcm0gfCBudWxsIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gc3VwZXIubXRuYUZvcm0gYXMgUHJvZ3Jlc3NpdmVGb3JtIHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgfVxuICBvdmVycmlkZSBzZXQgbXRuYUZvcm0oZm9ybTogUHJvZ3Jlc3NpdmVGb3JtIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xuICAgIGlmIChmb3JtKSB7XG4gICAgICB0aGlzLmZvcm1JdGVtcyA9IGZvcm0uaXRlbXM7XG4gICAgICB0aGlzLnJlc2V0VmFsdWVzKCk7XG4gICAgICB0aGlzLmdlbmVyYXRlRm9ybVN0ZXBzKGZvcm0ub3V0bGluZSk7XG4gICAgICB0aGlzLmNoZWNrQWxsU3RlcHNJZHMoZm9ybS5pdGVtcyk7XG4gICAgICBzdXBlci5zdGVwcyA9IHRoaXMuZGV0ZXJtaW5lU3RlcHNUb1Bhc3NUb1N1cGVyKGZvcm0uaXRlbXMpO1xuICAgICAgc3VwZXIubXRuYUZvcm0gPSBmb3JtO1xuXG4gICAgICB0aGlzLnNldFN0ZXBTdGF0dXMoKTtcbiAgICAgIHRoaXMuc2V0Rm9ybVN0YXR1c1N1YnNjcmlwdGlvbigpO1xuICAgICAgdGhpcy5zaG93UHJldmlvdXNCdXR0b24gPSB0aGlzLnNob3dQcmV2aW91c0J1dHRvbkZuKCk7XG4gICAgICB0aGlzLmxhc3RTdGVwQWN0aXZlID0gdGhpcy5jaGVja0xhc3RTdGVwQWN0aXZlKCk7XG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxuICBASW5wdXQoKVxuICBnZXQgbG9hZGluZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fbG9hZGluZztcbiAgfVxuICBzZXQgbG9hZGluZyh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2xvYWRpbmcgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICB9XG4gIHByaXZhdGUgX2xvYWRpbmcgPSBmYWxzZTtcblxuICAvKiogRW1pdHMgdGhlIHVwZGF0ZWQgUHJvZ3Jlc3NpdmVGb3JtIHZhbHVlICovXG4gIEBPdXRwdXQoKSBuZXh0U3RlcFNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxQcm9ncmVzc2l2ZUZvcm0+KCk7XG4gIC8qKlxuICAgKiBFbWl0cyB0aGUgcHJldmlvdXMgc3RlcHMgaW5zdGFuY2VJZC5cbiAgICogU2luY2UgdGhpcyBjb21wb25lbnQgaXMgYWx3YXlzIG9uIHRoZSBsYXN0IHN0ZXAgYW5kIHRoZSBsYXN0IGl0ZW0sIHdlIGNhbiBhbHdheXMgY291bnQgb24gaGF2aW5nIHRoZSBpbnN0YW5jZUlkIG9mIHRoZSBwcmV2aW91cyBzdGVwLlxuICAgKi9cbiAgQE91dHB1dCgpIHByZXZpb3VzU3RlcFNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIC8qKlxuICAgKiBFbWl0cyB0aGUgaW5zdGFuY2VJZCBvZiB0aGUgc2VsZWN0ZWQgc3RlcC5cbiAgICogSWYgdGhlIGN1cnJlbnRseSBhY3RpdmUgc3RlcCBpcyB0aGUgc3RlcCB0aGF0IGlzIHNlbGVjdGVkLCB0aGlzIHdpbGwgbm90IGVtaXQuXG4gICAqL1xuICBAT3V0cHV0KCkgc2hvd1NlbGVjdGVkU3RlcElkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgYWN0aXZlU3RlcElkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICBmb3JtSXRlbXM6IEZvcm1JdGVtW10gPSBbXTtcbiAgZm9ybVN0YXR1c1N1YnNjcmliZXI6IFN1YnNjcmlwdGlvbiB8IHVuZGVmaW5lZDtcbiAgZm9ybVN0YXR1c1ZhbGlkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBsYXN0U3RlcEFjdGl2ZSA9IGZhbHNlO1xuICBzY3JvbGxEaXJlY3Rpb24kOiBPYnNlcnZhYmxlPE10bmFTY3JvbGxEaXJlY3Rpb24+ID0gdGhpcy5zY3JvbGxTZXJ2aWNlLmdldFNjcm9sbERpcmVjdGlvbigpO1xuICBzaG93UHJldmlvdXNCdXR0b24gPSBmYWxzZTtcbiAgc3RlcEFycmF5JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Rm9ybVN0ZXBbXT4oW10pO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIG10bmFGb3JtTWFuYWdlcjogTXRuYVdmTWFuYWdlclNlcnZpY2UsXG4gICAgbmdGb3JtU2VydmljZTogTXRuYVdmTmdGb3JtU2VydmljZSxcbiAgICB1aVNlcnZpY2U6IE10bmFXZlVJU2VydmljZSxcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBzY3JvbGxTZXJ2aWNlOiBNdG5hU2Nyb2xsU2VydmljZVxuICApIHtcbiAgICBzdXBlcihtdG5hRm9ybU1hbmFnZXIsIG5nRm9ybVNlcnZpY2UsIHVpU2VydmljZSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIGlmICh0aGlzLmZvcm1TdGF0dXNTdWJzY3JpYmVyKSB7XG4gICAgICB0aGlzLmZvcm1TdGF0dXNTdWJzY3JpYmVyLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGUgbGFzdCBzdGVwIGluIHRoZSBmb3JtIGlzIGFjdGl2ZS5cbiAgICogQHJldHVybnMgdHJ1ZSBpZiB0aGUgbGFzdCBzdGVwIGluIHRoZSBmb3JtIGlzIGFjdGl2ZSwgb3RoZXJ3aXNlIGZhbHNlXG4gICAqL1xuICBjaGVja0xhc3RTdGVwQWN0aXZlID0gKCkgPT4ge1xuICAgIGlmICh0aGlzLnN0ZXBBcnJheSQudmFsdWUubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIHRoaXMuc3RlcEFycmF5JC52YWx1ZVt0aGlzLnN0ZXBBcnJheSQudmFsdWUubGVuZ3RoIC0gMV0uYWN0aXZlO1xuICAgIH0gZWxzZSBpZiAodGhpcy5zdGVwQXJyYXkkLnZhbHVlLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHRoaXMuc3RlcEFycmF5JC52YWx1ZVswXS5hY3RpdmU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH07XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGUgcHJldmlvdXMgYnV0dG9uIHNob3VsZCBiZSBzaG93bi5cbiAgICogQHJldHVybnMgdHJ1ZSBpZiB0aGUgcHJldmlvdXMgYnV0dG9uIHNob3VsZCBiZSBzaG93biwgb3RoZXJ3aXNlIGZhbHNlXG4gICAqL1xuICBzaG93UHJldmlvdXNCdXR0b25GbigpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5hY3RpdmVTdGVwSWQkLnZhbHVlKSB7XG4gICAgICBjb25zdCBpbmRleE9mQWN0aXZlU3RlcCA9IHRoaXMuc3RlcEFycmF5JC52YWx1ZS5maW5kSW5kZXgoKHN0ZXApID0+IHN0ZXAuaW5zdGFuY2VJZCA9PT0gdGhpcy5hY3RpdmVTdGVwSWQkLnZhbHVlKTtcbiAgICAgIHJldHVybiBpbmRleE9mQWN0aXZlU3RlcCA+IDA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU3Vic2NyaWJlcyB0byB0aGUgZm9ybSBzdGF0dXMgY2hhbmdlcyBhbmQgdXBkYXRlcyB0aGUgZm9ybVN0YXR1c1ZhbGlkJCBCZWhhdmlvclN1YmplY3Qgd2l0aCB0aGUgdmFsaWRpdHkgb2YgdGhlIGFjdGl2ZSBzdGVwLlxuICAgKi9cbiAgcHJpdmF0ZSBzZXRGb3JtU3RhdHVzU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm5nRm9ybSkge1xuICAgICAgLy8gVXNlZCB0byBzZXQgdGhlIGluaXRpYWwgdmFsaWRpdHkgb2YgdGhlIGFjdGl2ZSBzdGVwLCBvdGhlcndpc2UgaXQgd2lsbCBhbHdheXMgZGVmYXVsdCB0byBmYWxzZVxuICAgICAgaWYgKHRoaXMuYWN0aXZlU3RlcElkJC52YWx1ZSkge1xuICAgICAgICBjb25zdCBpbml0aWFsVmFsaWRpdHkgPSB0aGlzLm5nRm9ybS5jb250cm9sc1t0aGlzLmFjdGl2ZVN0ZXBJZCQudmFsdWVdPy52YWxpZDtcbiAgICAgICAgdGhpcy5mb3JtU3RhdHVzVmFsaWQkLm5leHQoaW5pdGlhbFZhbGlkaXR5KTtcbiAgICAgIH1cblxuICAgICAgaWYgKCF0aGlzLmZvcm1TdGF0dXNTdWJzY3JpYmVyKSB7XG4gICAgICAgIHRoaXMuZm9ybVN0YXR1c1N1YnNjcmliZXIgPSB0aGlzLm5nRm9ybS5zdGF0dXNDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgaWYgKHRoaXMuYWN0aXZlU3RlcElkJC52YWx1ZSkge1xuICAgICAgICAgICAgaWYgKHRoaXMubmdGb3JtKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGFjdGl2ZUNvbnRyb2xFeGlzdHMgPSBPYmplY3Qua2V5cyh0aGlzLm5nRm9ybS5jb250cm9scykuaW5jbHVkZXModGhpcy5hY3RpdmVTdGVwSWQkLnZhbHVlKTtcbiAgICAgICAgICAgICAgaWYgKGFjdGl2ZUNvbnRyb2xFeGlzdHMpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBhY3RpdmVDb250cm9sID0gdGhpcy5uZ0Zvcm0uY29udHJvbHNbdGhpcy5hY3RpdmVTdGVwSWQkLnZhbHVlXTtcbiAgICAgICAgICAgICAgICBpZiAoYWN0aXZlQ29udHJvbCkge1xuICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtU3RhdHVzVmFsaWQkLm5leHQoYWN0aXZlQ29udHJvbC52YWxpZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmVzZXRzIGFsbCBuZWNlc3NhcnkgdmFsdWVzIHRvIGJ1aWxkIHRvIGZvcm0gZWFjaCBpdGVyYXRpb24uXG4gICAqL1xuICBwcml2YXRlIHJlc2V0VmFsdWVzKCkge1xuICAgIHRoaXMuZm9ybVN0YXR1c1N1YnNjcmliZXI/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5uZ0Zvcm0gPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5fc3RlcHMgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5uZ0Zvcm1TZXJ2aWNlLmRpc3Bvc2VGb3JtKCk7XG4gICAgdGhpcy5zdGVwQXJyYXkkLm5leHQoW10pO1xuICAgIHRoaXMuYWN0aXZlU3RlcElkJC5uZXh0KHVuZGVmaW5lZCk7XG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhdGVzIHRoZSBzdGVwcyBmb3IgdGhlIGZvcm0gYmFzZWQgb24gdGhlIG91dGxpbmUgcHJvcGVydHkgb2YgdGhlIGZvcm0uXG4gICAqIEBwYXJhbSBvdXRsaW5lIHRoZSBvdXRsaW5lIG9mIHRoZSBmb3JtIHRoYXQgaXMgdGhlIGJhc2lzIGZvciB0aGUgc3RlcHNcbiAgICovXG4gIHByaXZhdGUgZ2VuZXJhdGVGb3JtU3RlcHMob3V0bGluZTogT3V0bGluZVN0ZXBbXSkge1xuICAgIGlmICh0aGlzLnN0ZXBBcnJheSQudmFsdWUubGVuZ3RoID09PSAwKSB7XG4gICAgICBjb25zdCBnZW5lcmF0ZWRGb3JtU3RlcHMgPSBnZW5lcmF0ZUZvcm1TdGVwc0Zyb21PdXRsaW5lKG91dGxpbmUpO1xuICAgICAgY29uc3QgZmxhdHRlbmVkRm9ybVN0ZXBzID0gZmxhdHRlblN0ZXBzKGdlbmVyYXRlZEZvcm1TdGVwcyk7XG4gICAgICB0aGlzLnN0ZXBBcnJheSQubmV4dChmbGF0dGVuZWRGb3JtU3RlcHMpO1xuICAgICAgLy8gU2V0IHRoZSBhY3RpdmUgc3RlcCB0byB0aGUgZmlyc3Qgc3RlcCBpbiB0aGUgYXJyYXkgZm9yIHRoZSBmaXJzdCBsb2FkXG4gICAgICBjb25zdCBsYXN0SXRlbUluZGV4ID0gdGhpcy5mb3JtSXRlbXMubGVuZ3RoIC0gMTtcbiAgICAgIGNvbnN0IHVwZGF0ZWRTdGVwczogRm9ybVN0ZXBbXSA9IFtdO1xuICAgICAgdGhpcy5zdGVwQXJyYXkkLnZhbHVlLmZvckVhY2goKHN0ZXApID0+IHtcbiAgICAgICAgaWYgKHN0ZXAuaW5zdGFuY2VJZCA9PT0gdGhpcy5mb3JtSXRlbXNbbGFzdEl0ZW1JbmRleF0uaW5zdGFuY2VJZCB8fCBzdGVwLmluc3RhbmNlSWQgPT09IHRoaXMuZm9ybUl0ZW1zW2xhc3RJdGVtSW5kZXhdLnRlbXBsYXRlSWQpIHtcbiAgICAgICAgICB1cGRhdGVkU3RlcHMucHVzaCh7IC4uLnN0ZXAsIGFjdGl2ZTogdHJ1ZSwgc3RhdHVzOiAnSU5WQUxJRCcgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdXBkYXRlZFN0ZXBzLnB1c2goc3RlcCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgdGhpcy5zdGVwQXJyYXkkLm5leHQodXBkYXRlZFN0ZXBzKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGFsbCBvZiB0aGUgc3RlcHMgdG8gZW5zdXJlIHRoYXQgZWFjaCBzdGVwcyBpbnN0YW5jZUlkIHByb3BlcnR5IG1hdGNoZXMgdGhlIGluc3RhbmNlSWQgb2YgdGhlIEZvcm1JdGVtIGFuZCB1cGRhdGVzIHRoZSBwcm9wZXJ0eSBpZiBuZWVkZWQuXG4gICAqIFRoaXMgZmluZHMgdGhlIHN0ZXAgYmFzZWQgb24gdGhlIHRlbXBsYXRlSWQuIFdoZW4gdGhlIHN0ZXBBcnJheSBpcyBmaXJzdCBidWlsdCwgdGhlIHRlbXBsYXRlSWQgb2YgdGhlIEZvcm1JdGVtIGdldHMgc2V0IGFzIHRoZSBzdGVwcyBpbnN0YW5jZUlkLlxuICAgKiBIZXJlLCB3ZSBqdXN0IG5lZWQgdG8gZmluZCB0aGUgc3RlcHMgdGhhdCBtYXRjaCB0aGUgdGVtcGxhdGVJZCBhbmQgdXBkYXRlIHRoZSBpbnN0YW5jZUlkLlxuICAgKiBNYXRjaGluZyBpcyBiYXNlZCBvZmYgb2YgdGVtcGxhdGVJZCByZWR1Y2VzIHRoZSBudW1iZXIgb2Ygc3RlcHMgdGhhdCBuZWVkIHRvIGJlIGNoZWNrZWQvbWFuaXB1bGF0ZWQuXG4gICAqXG4gICAqIEBwYXJhbSBmb3JtSXRlbXMgdGhlIEZvcm1JdGVtcyB0byBjaGVjayBhZ2FpbnN0IHRoZSBzdGVwc1xuICAgKi9cbiAgcHJpdmF0ZSBjaGVja0FsbFN0ZXBzSWRzKGZvcm1JdGVtczogRm9ybUl0ZW1bXSkge1xuICAgIGZvcm1JdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICBjb25zdCBzdGVwTWF0Y2hlZE9uVGVtcGxhdGVJZCA9IHRoaXMuc3RlcEFycmF5JC52YWx1ZS5maW5kKChzKSA9PiBzLmluc3RhbmNlSWQgPT09IGl0ZW0udGVtcGxhdGVJZCk7XG4gICAgICBpZiAoc3RlcE1hdGNoZWRPblRlbXBsYXRlSWQpIHtcbiAgICAgICAgc3RlcE1hdGNoZWRPblRlbXBsYXRlSWQuaW5zdGFuY2VJZCA9IGl0ZW0uaW5zdGFuY2VJZDtcbiAgICAgICAgaWYgKHN0ZXBNYXRjaGVkT25UZW1wbGF0ZUlkLmFjdGl2ZSkge1xuICAgICAgICAgIHRoaXMuYWN0aXZlU3RlcElkJC5uZXh0KGl0ZW0uaW5zdGFuY2VJZCk7XG4gICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCZWNhdXNlIHRoZSBzdXBlciBjbGFzcyBoYXMgbm8ga25vd2xlZGdlIG9mIHRoZSBzdGVwQXJyYXkgdGhhdCBoYXZlIGJlZW4gZ2VuZXJhdGVkIGZvciB0aGUgZm9ybSxcbiAgICogdGhpcyBmdW5jdGlvbiBkZXRlcm1pbmVzIHdoaWNoIHN0ZXBzIG5lZWQgdG8gYmUgcGFzc2VkIHRvIHRoZSBzdXBlciBjbGFzcyBhbmQgdGhlIGluaGVyaXRlZCBfc3RlcHNcbiAgICogcHJvcGVydHkuIFRoZSBzdXBlciBjbGFzcyBcInNob3VsZFwiIG9idGFpbiBlYWNoIHN0ZXAgYXMgaXQgaXMgcGFzc2VkIGluLiBUaGlzIG1lYW5zIHRoYXQgd2hlbiB0aGVcbiAgICogY2FsbCB0byBlaXRoZXIgZ3JhYiB0aGUgZm9ybSBhZ2FpbiBvciB0byBnZXQgdGhlIG5leHQgRm9ybUl0ZW0sIHNob3VsZCBhbHNvIGNvbnRpbnVlIHRvIHBhc3MgdGhlXG4gICAqIHN0ZXBzIHRoYXQgaGF2ZSBiZWVuIGdlbmVyYXRlZC5cbiAgICogQHJldHVybnNcbiAgICovXG4gIHByaXZhdGUgZGV0ZXJtaW5lU3RlcHNUb1Bhc3NUb1N1cGVyKGl0ZW1zOiBGb3JtSXRlbVtdKTogRm9ybVN0ZXBbXSB7XG4gICAgY29uc3QgYXZhaWxhYmxlSXRlbUluc3RhbmNlSWRzOiBzdHJpbmdbXSA9IFtdO1xuICAgIGl0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIGF2YWlsYWJsZUl0ZW1JbnN0YW5jZUlkcy5wdXNoKGl0ZW0uaW5zdGFuY2VJZCk7XG4gICAgfSk7XG5cbiAgICBjb25zdCBzdGVwc1RvUGFzczogRm9ybVN0ZXBbXSA9IFtdO1xuICAgIHRoaXMuc3RlcEFycmF5JC52YWx1ZS5mb3JFYWNoKChzdGVwKSA9PiB7XG4gICAgICBpZiAoYXZhaWxhYmxlSXRlbUluc3RhbmNlSWRzLmluY2x1ZGVzKHN0ZXAuaW5zdGFuY2VJZCkpIHtcbiAgICAgICAgc3RlcHNUb1Bhc3MucHVzaChzdGVwKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBzdGVwc1RvUGFzcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBzdGF0dXMgb2YgZWFjaCBzdGVwIGluIHRoZSBmb3JtIGJhc2VkIG9uIHRoZSB2YWxpZGl0eSBvZiB0aGUgZm9ybSBjb250cm9sLlxuICAgKiBJZiB0aGUgZm9ybSBjb250cm9sIGtleSBpcyBub3QgZm91bmQgaW4gdGhlIGNvbnRyb2xzIG9mIHRoZSBmb3JtLCB0aGUgc3RhdHVzIGlzIHNldCB0byAnUExBQ0VIT0xERVInLlxuICAgKi9cbiAgcHJpdmF0ZSBzZXRTdGVwU3RhdHVzKCkge1xuICAgIGNvbnN0IHVwZGF0ZWRTdGVwczogRm9ybVN0ZXBbXSA9IFtdO1xuICAgIHRoaXMuc3RlcEFycmF5JC52YWx1ZS5mb3JFYWNoKChzdGVwKSA9PiB7XG4gICAgICBpZiAodGhpcy5uZ0Zvcm0pIHtcbiAgICAgICAgY29uc3QgY29udHJvbEtleUV4aXN0cyA9IE9iamVjdC5rZXlzKHRoaXMubmdGb3JtLmNvbnRyb2xzKS5pbmNsdWRlcyhzdGVwLmluc3RhbmNlSWQpO1xuICAgICAgICBpZiAoY29udHJvbEtleUV4aXN0cykge1xuICAgICAgICAgIHVwZGF0ZWRTdGVwcy5wdXNoKHsgLi4uc3RlcCwgc3RhdHVzOiB0aGlzLm5nRm9ybS5jb250cm9sc1tzdGVwLmluc3RhbmNlSWRdLnZhbGlkID8gJ1ZBTElEJyA6ICdJTlZBTElEJyB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB1cGRhdGVkU3RlcHMucHVzaCh7IC4uLnN0ZXAsIHN0YXR1czogJ1BMQUNFSE9MREVSJyB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuc3RlcEFycmF5JC5uZXh0KHVwZGF0ZWRTdGVwcyk7XG4gIH1cblxuICAvKipcbiAgICogRW1pdHMgdGhlIG5leHQgb3IgcHJldmlvdXMgc3RlcCB0ZW1wbGF0ZUlkIGJhc2VkIG9uIHRoZSBkaXJlY3Rpb24gcHJvdmlkZWQuXG4gICAqIEBwYXJhbSBzdGVwRGlyZWN0aW9uIHRoZSBkaXJlY3Rpb24gb2YgdGhlIHN0ZXAgdG8gZW1pdFxuICAgKi9cbiAgc2hvd0RpcmVjdGlvbmFsU3RlcChzdGVwRGlyZWN0aW9uOiAncHJldmlvdXMnIHwgJ25leHQnKSB7XG4gICAgLy8gY29uc3Qgc3RlcFRlbXBsYXRlSWQgPSB0aGlzLmdldERpcmVjdGlvbmFsU3RlcFRlbXBsYXRlSWQoc3RlcERpcmVjdGlvbik7XG4gICAgLy8gaWYgKHN0ZXBUZW1wbGF0ZUlkKSB7XG4gICAgaWYgKHRoaXMubXRuYUZvcm0pIHtcbiAgICAgIGNvbnN0IGZvcm1WYWx1ZSA9IHRoaXMubmdGb3JtU2VydmljZS5nZXRGb3JtVmFsdWUoKTtcbiAgICAgIGNvbnN0IHVwZGF0ZWRGb3JtID0gdGhpcy5tdG5hRm9ybU1hbmFnZXIuaW5zZXJ0TmV3VmFsdWVzKHRoaXMubXRuYUZvcm0sIGZvcm1WYWx1ZSkgYXMgUHJvZ3Jlc3NpdmVGb3JtO1xuICAgICAgaWYgKHN0ZXBEaXJlY3Rpb24gPT09ICduZXh0Jykge1xuICAgICAgICB0aGlzLm5leHRTdGVwU2VsZWN0ZWQuZW1pdCh1cGRhdGVkRm9ybSk7XG4gICAgICAgIHRoaXMuc2Nyb2xsU2VydmljZS5zY3JvbGxUb3AoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHByZXZpb3VzU3RlcEluZGV4ID0gdGhpcy5zdGVwQXJyYXkkLnZhbHVlLmZpbmRJbmRleCgoc3RlcCkgPT4gc3RlcC5pbnN0YW5jZUlkID09PSB0aGlzLmFjdGl2ZVN0ZXBJZCQudmFsdWUpIC0gMTtcbiAgICAgICAgaWYgKHByZXZpb3VzU3RlcEluZGV4ID49IDApIHtcbiAgICAgICAgICBjb25zdCBwcmV2aW91c1N0ZXAgPSB0aGlzLnN0ZXBBcnJheSQudmFsdWVbcHJldmlvdXNTdGVwSW5kZXhdO1xuICAgICAgICAgIGlmIChwcmV2aW91c1N0ZXApIHtcbiAgICAgICAgICAgIHRoaXMucHJldmlvdXNTdGVwU2VsZWN0ZWQuZW1pdChwcmV2aW91c1N0ZXAuaW5zdGFuY2VJZCk7XG4gICAgICAgICAgICB0aGlzLnNjcm9sbFNlcnZpY2Uuc2Nyb2xsVG9wKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNob3dzIHRoZSBzZWxlY3RlZCBzdGVwIGFzIHRoZSBhY3RpdmUgc3RlcCBpbiB0aGUgZm9ybS5cbiAgICogVG8gYmUgdXNlZCBvbiB0aGUgbXRuYS13Zi1mb3JtLXN0ZXBwZXIgY29tcG9uZW50cyBcInNlbGVjdGVkXCIgb3V0cHV0LlxuICAgKiBAcGFyYW0gc3RlcCB0aGUgc3RlcCB0byBzaG93IGFzIHRoZSBhY3RpdmUgc3RlcFxuICAgKi9cbiAgc2hvd1NlbGVjdGVkU3RlcChzdGVwOiBGb3JtU3RlcCkge1xuICAgIGlmICh0aGlzLmFjdGl2ZVN0ZXBJZCQudmFsdWUgIT09IHN0ZXAuaW5zdGFuY2VJZCkge1xuICAgICAgdGhpcy5zaG93U2VsZWN0ZWRTdGVwSWQuZW1pdChzdGVwLmluc3RhbmNlSWQpO1xuICAgICAgdGhpcy5hY3RpdmVTdGVwSWQkLm5leHQoc3RlcC5pbnN0YW5jZUlkKTtcbiAgICAgIHRoaXMuc2Nyb2xsU2VydmljZS5zY3JvbGxUb3AoKTtcbiAgICB9XG4gIH1cblxuICBfdHJhY2tCeVN0ZXBJbnN0YW5jZUlkKGluZGV4OiBudW1iZXIsIGZvcm1TdGVwOiBGb3JtU3RlcCkge1xuICAgIHJldHVybiBmb3JtU3RlcC5pbnN0YW5jZUlkO1xuICB9XG59XG4iLCI8ZGl2IGZ4TGF5b3V0PVwicm93XCIgY2xhc3M9XCJtdG5hLXdmLXByb2dyZXNzaXZlLWZvcm1fX2NvbnRhaW5lclwiPlxuICA8bXRuYS13Zi1zdGVwcGVyXG4gICAgKm5nSWY9XCJzdGVwQXJyYXkkIHwgYXN5bmMgYXMgc3RlcHNcIlxuICAgIGZ4RmxleD1cIjIwMHB4XCJcbiAgICBbc3RlcHNdPVwic3RlcHNcIlxuICAgIChzZWxlY3RlZCk9XCJzaG93U2VsZWN0ZWRTdGVwKCRldmVudClcIlxuICA+PC9tdG5hLXdmLXN0ZXBwZXI+XG4gIDxkaXYgZnhGbGV4IGNsYXNzPVwibXRuYS13Zi1wcm9ncmVzc2l2ZS1mb3JtX19mb3JtLWNvbnRhaW5lclwiPlxuICAgIDxmb3JtICpuZ0lmPVwibmdGb3JtXCIgW2Zvcm1Hcm91cF09XCJuZ0Zvcm1cIiBbZm9ybURpc2FibGVkXT1cInJlYWRvbmx5XCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIG10bmFGb3JtPy5pdGVtc1wiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYWN0aXZlU3RlcElkJCB8IGFzeW5jIGFzIGFjdGl2ZVN0ZXBJZFwiPlxuICAgICAgICAgIDxtdG5hLXdmLWl0ZW1cbiAgICAgICAgICAgICpuZ0lmPVwiaXRlbS5pbnN0YW5jZUlkID09PSBhY3RpdmVTdGVwSWRcIlxuICAgICAgICAgICAgW2l0ZW1dPVwiaXRlbVwiXG4gICAgICAgICAgICBbY29udHJvbF09XCJuZ0Zvcm0uY29udHJvbHNbaXRlbS5pbnN0YW5jZUlkXVwiXG4gICAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgICAgICAgICAgW3BhcmVudElkc109XCJjb21wb25lbnRJZHNcIlxuICAgICAgICAgICAgW3N0ZXBdPVwiX3N0ZXBzPy5baXRlbS5pbnN0YW5jZUlkXVwiXG4gICAgICAgICAgICAoZm9jdXNlZFNlY3Rpb24pPVwiZm9jdXNlZFNlY3Rpb24uZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICA+PC9tdG5hLXdmLWl0ZW0+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9mb3JtPlxuICAgIDxkaXYgKm5nSWY9XCIhbG9hZGluZ1wiIGNsYXNzPVwibXRuYS13Zi1wcm9ncmVzc2l2ZS1mb3JtX19zdGVwcGVyLWFjdGlvbnNcIiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCIgZnhMYXlvdXRHYXA9XCIyNnB4XCI+XG4gICAgICA8YnV0dG9uICpuZ0lmPVwic2hvd1ByZXZpb3VzQnV0dG9uXCIgbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJzaG93RGlyZWN0aW9uYWxTdGVwKCdwcmV2aW91cycpXCIgaTE4bj5cbiAgICAgICAgUHJldmlvdXMgU3RlcFxuICAgICAgPC9idXR0b24+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWxhc3RTdGVwQWN0aXZlOyBlbHNlIHBhcmVudEFjdGlvbnNcIj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwic2hvd0RpcmVjdGlvbmFsU3RlcCgnbmV4dCcpXCIgaTE4bj5OZXh0IFN0ZXA8L2J1dHRvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI3BhcmVudEFjdGlvbnM+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -0,0 +1,68 @@
1
+ import { A11yModule } from '@angular/cdk/a11y';
2
+ import { CommonModule } from '@angular/common';
3
+ import { NgModule } from '@angular/core';
4
+ import { FlexLayoutModule } from '@angular/flex-layout';
5
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
6
+ import { MatButtonModule } from '@angular/material/button';
7
+ import { MatIconModule } from '@angular/material/icon';
8
+ import { GetActiveFormStepItemPipeModule, GetProgressiveFormItemPipeModule } from '../../../pipes';
9
+ import { MtnaWfFormDisablerModule } from '../../form-disabler/form-disabler.module';
10
+ import { MtnaWfFormItemModule } from '../../form-item/form-item.module';
11
+ import { MtnaWfFormStepperModule } from '../../form-stepper/form-stepper.module';
12
+ import { MtnaWfProgressiveFormSectionModule } from '../progressive-form-section/progressive-form-section.module';
13
+ import { MtnaWfProgressiveFormComponent } from './progressive-form.component';
14
+ import * as i0 from "@angular/core";
15
+ export class MtnaWfProgressiveFormModule {
16
+ }
17
+ MtnaWfProgressiveFormModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfProgressiveFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
18
+ MtnaWfProgressiveFormModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfProgressiveFormModule, declarations: [MtnaWfProgressiveFormComponent], imports: [A11yModule,
19
+ CommonModule,
20
+ FlexLayoutModule,
21
+ FormsModule,
22
+ MatButtonModule,
23
+ MatIconModule,
24
+ MtnaWfFormDisablerModule,
25
+ MtnaWfFormItemModule,
26
+ MtnaWfProgressiveFormSectionModule,
27
+ ReactiveFormsModule,
28
+ MtnaWfFormStepperModule,
29
+ GetProgressiveFormItemPipeModule,
30
+ GetActiveFormStepItemPipeModule], exports: [MtnaWfProgressiveFormComponent] });
31
+ MtnaWfProgressiveFormModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfProgressiveFormModule, imports: [[
32
+ A11yModule,
33
+ CommonModule,
34
+ FlexLayoutModule,
35
+ FormsModule,
36
+ MatButtonModule,
37
+ MatIconModule,
38
+ MtnaWfFormDisablerModule,
39
+ MtnaWfFormItemModule,
40
+ MtnaWfProgressiveFormSectionModule,
41
+ ReactiveFormsModule,
42
+ MtnaWfFormStepperModule,
43
+ GetProgressiveFormItemPipeModule,
44
+ GetActiveFormStepItemPipeModule,
45
+ ]] });
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfProgressiveFormModule, decorators: [{
47
+ type: NgModule,
48
+ args: [{
49
+ imports: [
50
+ A11yModule,
51
+ CommonModule,
52
+ FlexLayoutModule,
53
+ FormsModule,
54
+ MatButtonModule,
55
+ MatIconModule,
56
+ MtnaWfFormDisablerModule,
57
+ MtnaWfFormItemModule,
58
+ MtnaWfProgressiveFormSectionModule,
59
+ ReactiveFormsModule,
60
+ MtnaWfFormStepperModule,
61
+ GetProgressiveFormItemPipeModule,
62
+ GetActiveFormStepItemPipeModule,
63
+ ],
64
+ declarations: [MtnaWfProgressiveFormComponent],
65
+ exports: [MtnaWfProgressiveFormComponent],
66
+ }]
67
+ }] });
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3NpdmUtZm9ybS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ZWItZm9ybS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9wcm9ncmVzc2l2ZS1mb3JtL3Byb2dyZXNzaXZlLWZvcm0vcHJvZ3Jlc3NpdmUtZm9ybS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXZELE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25HLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQ2pILE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQXFCOUUsTUFBTSxPQUFPLDJCQUEyQjs7eUhBQTNCLDJCQUEyQjswSEFBM0IsMkJBQTJCLGlCQUh2Qiw4QkFBOEIsYUFkM0MsVUFBVTtRQUNWLFlBQVk7UUFDWixnQkFBZ0I7UUFDaEIsV0FBVztRQUNYLGVBQWU7UUFDZixhQUFhO1FBQ2Isd0JBQXdCO1FBQ3hCLG9CQUFvQjtRQUNwQixrQ0FBa0M7UUFDbEMsbUJBQW1CO1FBQ25CLHVCQUF1QjtRQUN2QixnQ0FBZ0M7UUFDaEMsK0JBQStCLGFBR3ZCLDhCQUE4QjswSEFFN0IsMkJBQTJCLFlBbEI3QjtZQUNQLFVBQVU7WUFDVixZQUFZO1lBQ1osZ0JBQWdCO1lBQ2hCLFdBQVc7WUFDWCxlQUFlO1lBQ2YsYUFBYTtZQUNiLHdCQUF3QjtZQUN4QixvQkFBb0I7WUFDcEIsa0NBQWtDO1lBQ2xDLG1CQUFtQjtZQUNuQix1QkFBdUI7WUFDdkIsZ0NBQWdDO1lBQ2hDLCtCQUErQjtTQUNoQzs0RkFJVSwyQkFBMkI7a0JBbkJ2QyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxVQUFVO3dCQUNWLFlBQVk7d0JBQ1osZ0JBQWdCO3dCQUNoQixXQUFXO3dCQUNYLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYix3QkFBd0I7d0JBQ3hCLG9CQUFvQjt3QkFDcEIsa0NBQWtDO3dCQUNsQyxtQkFBbUI7d0JBQ25CLHVCQUF1Qjt3QkFDdkIsZ0NBQWdDO3dCQUNoQywrQkFBK0I7cUJBQ2hDO29CQUNELFlBQVksRUFBRSxDQUFDLDhCQUE4QixDQUFDO29CQUM5QyxPQUFPLEVBQUUsQ0FBQyw4QkFBOEIsQ0FBQztpQkFDMUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBMTF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGbGV4TGF5b3V0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZmxleC1sYXlvdXQnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuXG5pbXBvcnQgeyBHZXRBY3RpdmVGb3JtU3RlcEl0ZW1QaXBlTW9kdWxlLCBHZXRQcm9ncmVzc2l2ZUZvcm1JdGVtUGlwZU1vZHVsZSB9IGZyb20gJy4uLy4uLy4uL3BpcGVzJztcbmltcG9ydCB7IE10bmFXZkZvcm1EaXNhYmxlck1vZHVsZSB9IGZyb20gJy4uLy4uL2Zvcm0tZGlzYWJsZXIvZm9ybS1kaXNhYmxlci5tb2R1bGUnO1xuaW1wb3J0IHsgTXRuYVdmRm9ybUl0ZW1Nb2R1bGUgfSBmcm9tICcuLi8uLi9mb3JtLWl0ZW0vZm9ybS1pdGVtLm1vZHVsZSc7XG5pbXBvcnQgeyBNdG5hV2ZGb3JtU3RlcHBlck1vZHVsZSB9IGZyb20gJy4uLy4uL2Zvcm0tc3RlcHBlci9mb3JtLXN0ZXBwZXIubW9kdWxlJztcbmltcG9ydCB7IE10bmFXZlByb2dyZXNzaXZlRm9ybVNlY3Rpb25Nb2R1bGUgfSBmcm9tICcuLi9wcm9ncmVzc2l2ZS1mb3JtLXNlY3Rpb24vcHJvZ3Jlc3NpdmUtZm9ybS1zZWN0aW9uLm1vZHVsZSc7XG5pbXBvcnQgeyBNdG5hV2ZQcm9ncmVzc2l2ZUZvcm1Db21wb25lbnQgfSBmcm9tICcuL3Byb2dyZXNzaXZlLWZvcm0uY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIEExMXlNb2R1bGUsXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZsZXhMYXlvdXRNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTXRuYVdmRm9ybURpc2FibGVyTW9kdWxlLFxuICAgIE10bmFXZkZvcm1JdGVtTW9kdWxlLFxuICAgIE10bmFXZlByb2dyZXNzaXZlRm9ybVNlY3Rpb25Nb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBNdG5hV2ZGb3JtU3RlcHBlck1vZHVsZSxcbiAgICBHZXRQcm9ncmVzc2l2ZUZvcm1JdGVtUGlwZU1vZHVsZSxcbiAgICBHZXRBY3RpdmVGb3JtU3RlcEl0ZW1QaXBlTW9kdWxlLFxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtNdG5hV2ZQcm9ncmVzc2l2ZUZvcm1Db21wb25lbnRdLFxuICBleHBvcnRzOiBbTXRuYVdmUHJvZ3Jlc3NpdmVGb3JtQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgTXRuYVdmUHJvZ3Jlc3NpdmVGb3JtTW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,3 @@
1
+ export * from './progressive-form-section.component';
2
+ export * from './progressive-form-section.module';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ZWItZm9ybS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9wcm9ncmVzc2l2ZS1mb3JtL3Byb2dyZXNzaXZlLWZvcm0tc2VjdGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsbUNBQW1DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3Byb2dyZXNzaXZlLWZvcm0tc2VjdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9wcm9ncmVzc2l2ZS1mb3JtLXNlY3Rpb24ubW9kdWxlJztcbiJdfQ==
@@ -0,0 +1,27 @@
1
+ import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';
2
+ import { MtnaWfBaseSectionItem } from '../../base-items/base-section-item.component';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../step-card/step-card.component";
5
+ import * as i2 from "@angular/material/divider";
6
+ import * as i3 from "../../form-item/form-item.component";
7
+ import * as i4 from "@mtna/core-angular";
8
+ import * as i5 from "@angular/common";
9
+ import * as i6 from "../../../pipes/get-object-type.pipe";
10
+ export class MtnaWfProgressiveFormSectionComponent extends MtnaWfBaseSectionItem {
11
+ constructor(cdr) {
12
+ super(cdr);
13
+ }
14
+ }
15
+ MtnaWfProgressiveFormSectionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfProgressiveFormSectionComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
16
+ MtnaWfProgressiveFormSectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfProgressiveFormSectionComponent, selector: "mtna-wf-progressive-form-section", usesInheritance: true, ngImport: i0, template: "<mtna-wf-step-card [step]=\"step\" [subtitle]=\"item.descriptiveText\" [mtnaHighlight]=\"indicatorStatus === 'ACTIVE'\">\n <div cardContent>\n <ng-container *ngFor=\"let subItem of item.items; trackBy: _trackByInstanceId\">\n <mat-divider\n *ngIf=\"(subItem.itemId | mtnaWfGetObjectType) === 'formitemgroupimpl' && item.items.indexOf(subItem) !== 0\"\n class=\"section-item-divider\"\n [inset]=\"true\"\n ></mat-divider>\n\n <mtna-wf-item\n [item]=\"subItem\"\n [readonly]=\"readonly\"\n [parentIds]=\"parentIds\"\n [control]=\"!!control && !!control.controls ? control.controls[subItem.instanceId] : undefined\"\n (focusedSection)=\"focused.emit($event)\"\n ></mtna-wf-item>\n </ng-container>\n </div>\n</mtna-wf-step-card>\n", styles: ["mtna-wf-progressive-form-section mat-divider.mat-divider-horizontal.progressive-form-section-actions-divider{position:relative;left:unset;padding-bottom:8px}mtna-wf-progressive-form-section .progressive-form-section-actions-wrapper .mat-raised-button{margin:0}\n"], components: [{ type: i1.MtnaWfStepCardComponent, selector: "mtna-wf-step-card", inputs: ["color", "step", "subtitle"], outputs: ["focused"] }, { type: i2.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { type: i3.MtnaWfFormItemComponent, selector: "mtna-wf-item", inputs: ["color", "control", "header", "inList", "item", "parentIds", "readonly", "step"], outputs: ["focusedSection"] }], directives: [{ type: i4.MtnaHighlightDirective, selector: "[mtnaHighlight]", inputs: ["mtnaHighlight", "mtnaHighlightColor"], exportAs: ["mtnaHighlight"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "mtnaWfGetObjectType": i6.MtnaWfGetObjectTypePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfProgressiveFormSectionComponent, decorators: [{
18
+ type: Component,
19
+ args: [{
20
+ selector: 'mtna-wf-progressive-form-section',
21
+ templateUrl: './progressive-form-section.component.html',
22
+ styleUrls: ['./progressive-form-section.component.scss'],
23
+ changeDetection: ChangeDetectionStrategy.OnPush,
24
+ encapsulation: ViewEncapsulation.None,
25
+ }]
26
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; } });
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3NpdmUtZm9ybS1zZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dlYi1mb3JtLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3Byb2dyZXNzaXZlLWZvcm0vcHJvZ3Jlc3NpdmUtZm9ybS1zZWN0aW9uL3Byb2dyZXNzaXZlLWZvcm0tc2VjdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ZWItZm9ybS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9wcm9ncmVzc2l2ZS1mb3JtL3Byb2dyZXNzaXZlLWZvcm0tc2VjdGlvbi9wcm9ncmVzc2l2ZS1mb3JtLXNlY3Rpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHekcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sOENBQThDLENBQUM7Ozs7Ozs7O0FBU3JGLE1BQU0sT0FBTyxxQ0FBc0MsU0FBUSxxQkFBNkM7SUFDdEcsWUFBWSxHQUFzQjtRQUNoQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDYixDQUFDOzttSUFIVSxxQ0FBcUM7dUhBQXJDLHFDQUFxQywrRkNabEQsNHlCQW1CQTs0RkRQYSxxQ0FBcUM7a0JBUGpELFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGtDQUFrQztvQkFDNUMsV0FBVyxFQUFFLDJDQUEyQztvQkFDeEQsU0FBUyxFQUFFLENBQUMsMkNBQTJDLENBQUM7b0JBQ3hELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtpQkFDdEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgUHJvZ3Jlc3NpdmVGb3JtU2VjdGlvbiB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9wcm9ncmVzc2l2ZS1mb3JtL3Byb2dyZXNzaXZlLWZvcm0tc2VjdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBNdG5hV2ZCYXNlU2VjdGlvbkl0ZW0gfSBmcm9tICcuLi8uLi9iYXNlLWl0ZW1zL2Jhc2Utc2VjdGlvbi1pdGVtLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ210bmEtd2YtcHJvZ3Jlc3NpdmUtZm9ybS1zZWN0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2dyZXNzaXZlLWZvcm0tc2VjdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Byb2dyZXNzaXZlLWZvcm0tc2VjdGlvbi5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgTXRuYVdmUHJvZ3Jlc3NpdmVGb3JtU2VjdGlvbkNvbXBvbmVudCBleHRlbmRzIE10bmFXZkJhc2VTZWN0aW9uSXRlbTxQcm9ncmVzc2l2ZUZvcm1TZWN0aW9uPiB7XG4gIGNvbnN0cnVjdG9yKGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICBzdXBlcihjZHIpO1xuICB9XG59XG4iLCI8bXRuYS13Zi1zdGVwLWNhcmQgW3N0ZXBdPVwic3RlcFwiIFtzdWJ0aXRsZV09XCJpdGVtLmRlc2NyaXB0aXZlVGV4dFwiIFttdG5hSGlnaGxpZ2h0XT1cImluZGljYXRvclN0YXR1cyA9PT0gJ0FDVElWRSdcIj5cbiAgPGRpdiBjYXJkQ29udGVudD5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBzdWJJdGVtIG9mIGl0ZW0uaXRlbXM7IHRyYWNrQnk6IF90cmFja0J5SW5zdGFuY2VJZFwiPlxuICAgICAgPG1hdC1kaXZpZGVyXG4gICAgICAgICpuZ0lmPVwiKHN1Ykl0ZW0uaXRlbUlkIHwgbXRuYVdmR2V0T2JqZWN0VHlwZSkgPT09ICdmb3JtaXRlbWdyb3VwaW1wbCcgJiYgaXRlbS5pdGVtcy5pbmRleE9mKHN1Ykl0ZW0pICE9PSAwXCJcbiAgICAgICAgY2xhc3M9XCJzZWN0aW9uLWl0ZW0tZGl2aWRlclwiXG4gICAgICAgIFtpbnNldF09XCJ0cnVlXCJcbiAgICAgID48L21hdC1kaXZpZGVyPlxuXG4gICAgICA8bXRuYS13Zi1pdGVtXG4gICAgICAgIFtpdGVtXT1cInN1Ykl0ZW1cIlxuICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgICAgICBbcGFyZW50SWRzXT1cInBhcmVudElkc1wiXG4gICAgICAgIFtjb250cm9sXT1cIiEhY29udHJvbCAmJiAhIWNvbnRyb2wuY29udHJvbHMgPyBjb250cm9sLmNvbnRyb2xzW3N1Ykl0ZW0uaW5zdGFuY2VJZF0gOiB1bmRlZmluZWRcIlxuICAgICAgICAoZm9jdXNlZFNlY3Rpb24pPVwiZm9jdXNlZC5lbWl0KCRldmVudClcIlxuICAgICAgPjwvbXRuYS13Zi1pdGVtPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvbXRuYS13Zi1zdGVwLWNhcmQ+XG4iXX0=
@@ -0,0 +1,54 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { FlexLayoutModule } from '@angular/flex-layout';
4
+ import { MatButtonModule } from '@angular/material/button';
5
+ import { MatDividerModule } from '@angular/material/divider';
6
+ import { MatIconModule } from '@angular/material/icon';
7
+ import { MtnaHighlightModule } from '@mtna/core-angular';
8
+ import { MtnaWfGetObjectTypePipeModule } from '../../../pipes/get-object-type.pipe';
9
+ import { MtnaWfFormItemModule } from '../../form-item/form-item.module';
10
+ import { MtnaWfStepCardModule } from '../../step-card/step-card.module';
11
+ import { MtnaWfProgressiveFormSectionComponent } from './progressive-form-section.component';
12
+ import * as i0 from "@angular/core";
13
+ export class MtnaWfProgressiveFormSectionModule {
14
+ }
15
+ MtnaWfProgressiveFormSectionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfProgressiveFormSectionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
16
+ MtnaWfProgressiveFormSectionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfProgressiveFormSectionModule, declarations: [MtnaWfProgressiveFormSectionComponent], imports: [CommonModule,
17
+ FlexLayoutModule,
18
+ MtnaWfStepCardModule,
19
+ MtnaHighlightModule,
20
+ MatDividerModule,
21
+ MtnaWfGetObjectTypePipeModule,
22
+ MtnaWfFormItemModule,
23
+ MatButtonModule,
24
+ MatIconModule], exports: [MtnaWfProgressiveFormSectionComponent] });
25
+ MtnaWfProgressiveFormSectionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfProgressiveFormSectionModule, imports: [[
26
+ CommonModule,
27
+ FlexLayoutModule,
28
+ MtnaWfStepCardModule,
29
+ MtnaHighlightModule,
30
+ MatDividerModule,
31
+ MtnaWfGetObjectTypePipeModule,
32
+ MtnaWfFormItemModule,
33
+ MatButtonModule,
34
+ MatIconModule,
35
+ ]] });
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfProgressiveFormSectionModule, decorators: [{
37
+ type: NgModule,
38
+ args: [{
39
+ imports: [
40
+ CommonModule,
41
+ FlexLayoutModule,
42
+ MtnaWfStepCardModule,
43
+ MtnaHighlightModule,
44
+ MatDividerModule,
45
+ MtnaWfGetObjectTypePipeModule,
46
+ MtnaWfFormItemModule,
47
+ MatButtonModule,
48
+ MatIconModule,
49
+ ],
50
+ declarations: [MtnaWfProgressiveFormSectionComponent],
51
+ exports: [MtnaWfProgressiveFormSectionComponent],
52
+ }]
53
+ }] });
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3NpdmUtZm9ybS1zZWN0aW9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dlYi1mb3JtLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3Byb2dyZXNzaXZlLWZvcm0vcHJvZ3Jlc3NpdmUtZm9ybS1zZWN0aW9uL3Byb2dyZXNzaXZlLWZvcm0tc2VjdGlvbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV6RCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNwRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUscUNBQXFDLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7QUFpQjdGLE1BQU0sT0FBTyxrQ0FBa0M7O2dJQUFsQyxrQ0FBa0M7aUlBQWxDLGtDQUFrQyxpQkFIOUIscUNBQXFDLGFBVmxELFlBQVk7UUFDWixnQkFBZ0I7UUFDaEIsb0JBQW9CO1FBQ3BCLG1CQUFtQjtRQUNuQixnQkFBZ0I7UUFDaEIsNkJBQTZCO1FBQzdCLG9CQUFvQjtRQUNwQixlQUFlO1FBQ2YsYUFBYSxhQUdMLHFDQUFxQztpSUFFcEMsa0NBQWtDLFlBZHBDO1lBQ1AsWUFBWTtZQUNaLGdCQUFnQjtZQUNoQixvQkFBb0I7WUFDcEIsbUJBQW1CO1lBQ25CLGdCQUFnQjtZQUNoQiw2QkFBNkI7WUFDN0Isb0JBQW9CO1lBQ3BCLGVBQWU7WUFDZixhQUFhO1NBQ2Q7NEZBSVUsa0NBQWtDO2tCQWY5QyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsb0JBQW9CO3dCQUNwQixtQkFBbUI7d0JBQ25CLGdCQUFnQjt3QkFDaEIsNkJBQTZCO3dCQUM3QixvQkFBb0I7d0JBQ3BCLGVBQWU7d0JBQ2YsYUFBYTtxQkFDZDtvQkFDRCxZQUFZLEVBQUUsQ0FBQyxxQ0FBcUMsQ0FBQztvQkFDckQsT0FBTyxFQUFFLENBQUMscUNBQXFDLENBQUM7aUJBQ2pEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGbGV4TGF5b3V0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZmxleC1sYXlvdXQnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdERpdmlkZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaXZpZGVyJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE10bmFIaWdobGlnaHRNb2R1bGUgfSBmcm9tICdAbXRuYS9jb3JlLWFuZ3VsYXInO1xuXG5pbXBvcnQgeyBNdG5hV2ZHZXRPYmplY3RUeXBlUGlwZU1vZHVsZSB9IGZyb20gJy4uLy4uLy4uL3BpcGVzL2dldC1vYmplY3QtdHlwZS5waXBlJztcbmltcG9ydCB7IE10bmFXZkZvcm1JdGVtTW9kdWxlIH0gZnJvbSAnLi4vLi4vZm9ybS1pdGVtL2Zvcm0taXRlbS5tb2R1bGUnO1xuaW1wb3J0IHsgTXRuYVdmU3RlcENhcmRNb2R1bGUgfSBmcm9tICcuLi8uLi9zdGVwLWNhcmQvc3RlcC1jYXJkLm1vZHVsZSc7XG5pbXBvcnQgeyBNdG5hV2ZQcm9ncmVzc2l2ZUZvcm1TZWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9wcm9ncmVzc2l2ZS1mb3JtLXNlY3Rpb24uY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGbGV4TGF5b3V0TW9kdWxlLFxuICAgIE10bmFXZlN0ZXBDYXJkTW9kdWxlLFxuICAgIE10bmFIaWdobGlnaHRNb2R1bGUsXG4gICAgTWF0RGl2aWRlck1vZHVsZSxcbiAgICBNdG5hV2ZHZXRPYmplY3RUeXBlUGlwZU1vZHVsZSxcbiAgICBNdG5hV2ZGb3JtSXRlbU1vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbTXRuYVdmUHJvZ3Jlc3NpdmVGb3JtU2VjdGlvbkNvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtNdG5hV2ZQcm9ncmVzc2l2ZUZvcm1TZWN0aW9uQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgTXRuYVdmUHJvZ3Jlc3NpdmVGb3JtU2VjdGlvbk1vZHVsZSB7fVxuIl19
@@ -22,6 +22,14 @@ export class MtnaWfStepCardComponent extends _StepCardMixinBase {
22
22
  var _a;
23
23
  return !!((_a = this.step) === null || _a === void 0 ? void 0 : _a.active);
24
24
  }
25
+ // @Input() step: FormStep | null | undefined;
26
+ get step() {
27
+ return this._step;
28
+ }
29
+ set step(step) {
30
+ this._step = step;
31
+ console.warn({ stepInsideStepCard: step });
32
+ }
25
33
  handleFocusChange(event) {
26
34
  if (!!this.step && !!event && !this.step.active) {
27
35
  this.focused.emit(this.step);
@@ -29,7 +37,7 @@ export class MtnaWfStepCardComponent extends _StepCardMixinBase {
29
37
  }
30
38
  }
31
39
  MtnaWfStepCardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfStepCardComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
32
- MtnaWfStepCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfStepCardComponent, selector: "mtna-wf-step-card", inputs: { color: "color", step: "step", subtitle: "subtitle" }, outputs: { focused: "focused" }, host: { properties: { "class.active": "this.active" } }, usesInheritance: true, ngImport: i0, template: "<mat-card cdkMonitorSubtreeFocus (cdkFocusChange)=\"handleFocusChange($event)\">\n <mat-card-header>\n <mtna-status-circle mat-card-avatar [circleNumber]=\"step?.num\" [optional]=\"step?.optional\" [status]=\"step?.status\"></mtna-status-circle>\n <mat-card-title>{{ step?.label }}</mat-card-title>\n <mat-card-subtitle [innerHTML]=\"subtitle | mtnaWfSanitizeHtml\"></mat-card-subtitle>\n <p *ngIf=\"step?.optional\" class=\"optional mat-caption\">Optional</p>\n </mat-card-header>\n\n <mat-divider [inset]=\"true\"></mat-divider>\n\n <mat-card-content>\n <ng-content select=\"[cardContent]\"></ng-content>\n </mat-card-content>\n\n <mat-card-actions>\n <ng-content select=\"[cardActions]\"></ng-content>\n </mat-card-actions>\n</mat-card>\n", styles: ["mtna-wf-step-card{display:block;position:relative}mtna-wf-step-card.active:before{transform-origin:top;transform:scaleY(1)}mtna-wf-step-card:before{content:\"\";display:block;position:absolute;top:0;left:0;bottom:0;width:5px;transition:transform .4s cubic-bezier(.25,.8,.25,1);transform-origin:bottom;transform:scaleY(0);z-index:1;border-top-left-radius:2px;border-bottom-left-radius:2px}mtna-wf-step-card mat-card-header{position:relative}mtna-wf-step-card mat-card-header mat-card-title{line-height:24px;margin-right:100px}mtna-wf-step-card mat-card-header mtna-status-circle[mat-card-avatar]{width:24px;height:24px}mtna-wf-step-card mat-card-header>.optional:not(.mtna-status-circle){position:absolute;right:16px;top:0;margin:0;line-height:24px}mtna-wf-step-card mat-card-actions{padding:0;margin:0}mtna-wf-step-card mat-card-content{margin-top:16px}mtna-wf-step-card mat-card-content [cardcontent]>:first-child{margin-top:0}\n"], components: [{ type: i1.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { type: i1.MatCardHeader, selector: "mat-card-header" }, { type: i2.MtnaStatusCircleComponent, selector: "mtna-status-circle", inputs: ["color", "circleNumber", "incompleteIcon", "status", "validIcon", "optional"] }, { type: i3.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }], directives: [{ type: i4.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"] }, { type: i1.MatCardAvatar, selector: "[mat-card-avatar], [matCardAvatar]" }, { type: i1.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { type: i1.MatCardSubtitle, selector: "mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]" }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { type: i1.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }], pipes: { "mtnaWfSanitizeHtml": i6.MtnaWfSanitizeHtmlPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
40
+ MtnaWfStepCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfStepCardComponent, selector: "mtna-wf-step-card", inputs: { color: "color", step: "step", subtitle: "subtitle" }, outputs: { focused: "focused" }, host: { properties: { "class.active": "this.active" } }, usesInheritance: true, ngImport: i0, template: "<mat-card cdkMonitorSubtreeFocus (cdkFocusChange)=\"handleFocusChange($event)\">\n <mat-card-header>\n <mtna-status-circle mat-card-avatar [circleNumber]=\"step?.num\" [optional]=\"step?.optional\" [status]=\"step?.status\"></mtna-status-circle>\n <mat-card-title>{{ step?.label }}</mat-card-title>\n <mat-card-subtitle [innerHTML]=\"subtitle | mtnaWfSanitizeHtml\"></mat-card-subtitle>\n <p *ngIf=\"step?.optional\" class=\"optional mat-caption\" i18n>Optional</p>\n </mat-card-header>\n\n <mat-divider [inset]=\"true\"></mat-divider>\n\n <mat-card-content>\n <ng-content select=\"[cardContent]\"></ng-content>\n </mat-card-content>\n\n <mat-card-actions>\n <ng-content select=\"[cardActions]\"></ng-content>\n </mat-card-actions>\n</mat-card>\n", styles: ["mtna-wf-step-card{display:block;position:relative}mtna-wf-step-card.active:before{transform-origin:top;transform:scaleY(1)}mtna-wf-step-card:before{content:\"\";display:block;position:absolute;top:0;left:0;bottom:0;width:5px;transition:transform .4s cubic-bezier(.25,.8,.25,1);transform-origin:bottom;transform:scaleY(0);z-index:1;border-top-left-radius:2px;border-bottom-left-radius:2px}mtna-wf-step-card mat-card-header{position:relative}mtna-wf-step-card mat-card-header mat-card-title{line-height:24px;margin-right:100px}mtna-wf-step-card mat-card-header mtna-status-circle[mat-card-avatar]{width:24px;height:24px}mtna-wf-step-card mat-card-header>.optional:not(.mtna-status-circle){position:absolute;right:16px;top:0;margin:0;line-height:24px}mtna-wf-step-card mat-card-actions{padding:0;margin:0}mtna-wf-step-card mat-card-content{margin-top:16px}mtna-wf-step-card mat-card-content [cardcontent]>:first-child{margin-top:0}\n"], components: [{ type: i1.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { type: i1.MatCardHeader, selector: "mat-card-header" }, { type: i2.MtnaStatusCircleComponent, selector: "mtna-status-circle", inputs: ["color", "circleNumber", "incompleteIcon", "status", "validIcon", "optional"] }, { type: i3.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }], directives: [{ type: i4.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"] }, { type: i1.MatCardAvatar, selector: "[mat-card-avatar], [matCardAvatar]" }, { type: i1.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { type: i1.MatCardSubtitle, selector: "mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]" }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { type: i1.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }], pipes: { "mtnaWfSanitizeHtml": i6.MtnaWfSanitizeHtmlPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
33
41
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfStepCardComponent, decorators: [{
34
42
  type: Component,
35
43
  args: [{
@@ -50,4 +58,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
50
58
  }], focused: [{
51
59
  type: Output
52
60
  }] } });
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dlYi1mb3JtLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3N0ZXAtY2FyZC9zdGVwLWNhcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2ViLWZvcm0tYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvc3RlcC1jYXJkL3N0ZXAtY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1SSxPQUFPLEVBQVksVUFBVSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7Ozs7O0FBSTlELGdFQUFnRTtBQUNoRSxNQUFNLGtCQUFrQixHQUFHLFVBQVUsQ0FDbkM7SUFDRSxZQUFtQixXQUF1QjtRQUF2QixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtJQUFHLENBQUM7Q0FDL0MsRUFDRCxRQUFRLENBQ1QsQ0FBQztBQVVGLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxrQkFBa0I7SUFXN0QsWUFBWSxVQUFzQjtRQUNoQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7UUFIVixZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQVksQ0FBQztJQUlqRCxDQUFDO0lBWkQsSUFDSSxNQUFNOztRQUNSLE9BQU8sQ0FBQyxDQUFDLENBQUEsTUFBQSxJQUFJLENBQUMsSUFBSSwwQ0FBRSxNQUFNLENBQUEsQ0FBQztJQUM3QixDQUFDO0lBV0QsaUJBQWlCLENBQUMsS0FBa0I7UUFDbEMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDL0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzlCO0lBQ0gsQ0FBQzs7cUhBbkJVLHVCQUF1Qjt5R0FBdkIsdUJBQXVCLDBPQ3RCcEMsZ3dCQWtCQTs0RkRJYSx1QkFBdUI7a0JBUm5DLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsV0FBVyxFQUFFLDRCQUE0QjtvQkFDekMsU0FBUyxFQUFFLENBQUMsNEJBQTRCLENBQUM7b0JBQ3pDLE1BQU0sRUFBRSxDQUFDLE9BQU8sQ0FBQztvQkFDakIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2lCQUN0QztpR0FHSyxNQUFNO3NCQURULFdBQVc7dUJBQUMsY0FBYztnQkFLbEIsSUFBSTtzQkFBWixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUksT0FBTztzQkFBaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvY3VzT3JpZ2luIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENhbkNvbG9yLCBtaXhpbkNvbG9yIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5cbmltcG9ydCB7IEZvcm1TdGVwIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Zvcm0tc3RlcHBlci9mb3JtLXN0ZXAubW9kZWwnO1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5ICovXG5jb25zdCBfU3RlcENhcmRNaXhpbkJhc2UgPSBtaXhpbkNvbG9yKFxuICBjbGFzcyB7XG4gICAgY29uc3RydWN0b3IocHVibGljIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7fVxuICB9LFxuICAnYWNjZW50J1xuKTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbXRuYS13Zi1zdGVwLWNhcmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vc3RlcC1jYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc3RlcC1jYXJkLmNvbXBvbmVudC5zY3NzJ10sXG4gIGlucHV0czogWydjb2xvciddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgTXRuYVdmU3RlcENhcmRDb21wb25lbnQgZXh0ZW5kcyBfU3RlcENhcmRNaXhpbkJhc2UgaW1wbGVtZW50cyBDYW5Db2xvciB7XG4gIEBIb3N0QmluZGluZygnY2xhc3MuYWN0aXZlJylcbiAgZ2V0IGFjdGl2ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLnN0ZXA/LmFjdGl2ZTtcbiAgfVxuXG4gIEBJbnB1dCgpIHN0ZXA6IEZvcm1TdGVwIHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgc3VidGl0bGU6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ7XG5cbiAgQE91dHB1dCgpIGZvY3VzZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEZvcm1TdGVwPigpO1xuXG4gIGNvbnN0cnVjdG9yKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHtcbiAgICBzdXBlcihlbGVtZW50UmVmKTtcbiAgfVxuXG4gIGhhbmRsZUZvY3VzQ2hhbmdlKGV2ZW50OiBGb2N1c09yaWdpbikge1xuICAgIGlmICghIXRoaXMuc3RlcCAmJiAhIWV2ZW50ICYmICF0aGlzLnN0ZXAuYWN0aXZlKSB7XG4gICAgICB0aGlzLmZvY3VzZWQuZW1pdCh0aGlzLnN0ZXApO1xuICAgIH1cbiAgfVxufVxuIiwiPG1hdC1jYXJkIGNka01vbml0b3JTdWJ0cmVlRm9jdXMgKGNka0ZvY3VzQ2hhbmdlKT1cImhhbmRsZUZvY3VzQ2hhbmdlKCRldmVudClcIj5cbiAgPG1hdC1jYXJkLWhlYWRlcj5cbiAgICA8bXRuYS1zdGF0dXMtY2lyY2xlIG1hdC1jYXJkLWF2YXRhciBbY2lyY2xlTnVtYmVyXT1cInN0ZXA/Lm51bVwiIFtvcHRpb25hbF09XCJzdGVwPy5vcHRpb25hbFwiIFtzdGF0dXNdPVwic3RlcD8uc3RhdHVzXCI+PC9tdG5hLXN0YXR1cy1jaXJjbGU+XG4gICAgPG1hdC1jYXJkLXRpdGxlPnt7IHN0ZXA/LmxhYmVsIH19PC9tYXQtY2FyZC10aXRsZT5cbiAgICA8bWF0LWNhcmQtc3VidGl0bGUgW2lubmVySFRNTF09XCJzdWJ0aXRsZSB8IG10bmFXZlNhbml0aXplSHRtbFwiPjwvbWF0LWNhcmQtc3VidGl0bGU+XG4gICAgPHAgKm5nSWY9XCJzdGVwPy5vcHRpb25hbFwiIGNsYXNzPVwib3B0aW9uYWwgbWF0LWNhcHRpb25cIj5PcHRpb25hbDwvcD5cbiAgPC9tYXQtY2FyZC1oZWFkZXI+XG5cbiAgPG1hdC1kaXZpZGVyIFtpbnNldF09XCJ0cnVlXCI+PC9tYXQtZGl2aWRlcj5cblxuICA8bWF0LWNhcmQtY29udGVudD5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbY2FyZENvbnRlbnRdXCI+PC9uZy1jb250ZW50PlxuICA8L21hdC1jYXJkLWNvbnRlbnQ+XG5cbiAgPG1hdC1jYXJkLWFjdGlvbnM+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2NhcmRBY3Rpb25zXVwiPjwvbmctY29udGVudD5cbiAgPC9tYXQtY2FyZC1hY3Rpb25zPlxuPC9tYXQtY2FyZD5cbiJdfQ==
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dlYi1mb3JtLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3N0ZXAtY2FyZC9zdGVwLWNhcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2ViLWZvcm0tYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvc3RlcC1jYXJkL3N0ZXAtY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1SSxPQUFPLEVBQVksVUFBVSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7Ozs7O0FBSTlELGdFQUFnRTtBQUNoRSxNQUFNLGtCQUFrQixHQUFHLFVBQVUsQ0FDbkM7SUFDRSxZQUFtQixXQUF1QjtRQUF2QixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtJQUFHLENBQUM7Q0FDL0MsRUFDRCxRQUFRLENBQ1QsQ0FBQztBQVVGLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxrQkFBa0I7SUFxQjdELFlBQVksVUFBc0I7UUFDaEMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBSFYsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFZLENBQUM7SUFJakQsQ0FBQztJQXRCRCxJQUNJLE1BQU07O1FBQ1IsT0FBTyxDQUFDLENBQUMsQ0FBQSxNQUFBLElBQUksQ0FBQyxJQUFJLDBDQUFFLE1BQU0sQ0FBQSxDQUFDO0lBQzdCLENBQUM7SUFFRCw4Q0FBOEM7SUFDOUMsSUFDSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFDRCxJQUFJLElBQUksQ0FBQyxJQUFpQztRQUN4QyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQixPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBV0QsaUJBQWlCLENBQUMsS0FBa0I7UUFDbEMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDL0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzlCO0lBQ0gsQ0FBQzs7cUhBN0JVLHVCQUF1Qjt5R0FBdkIsdUJBQXVCLDBPQ3RCcEMscXdCQWtCQTs0RkRJYSx1QkFBdUI7a0JBUm5DLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsV0FBVyxFQUFFLDRCQUE0QjtvQkFDekMsU0FBUyxFQUFFLENBQUMsNEJBQTRCLENBQUM7b0JBQ3pDLE1BQU0sRUFBRSxDQUFDLE9BQU8sQ0FBQztvQkFDakIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2lCQUN0QztpR0FHSyxNQUFNO3NCQURULFdBQVc7dUJBQUMsY0FBYztnQkFPdkIsSUFBSTtzQkFEUCxLQUFLO2dCQVVHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUksT0FBTztzQkFBaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvY3VzT3JpZ2luIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENhbkNvbG9yLCBtaXhpbkNvbG9yIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5cbmltcG9ydCB7IEZvcm1TdGVwIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Zvcm0tc3RlcHBlci9mb3JtLXN0ZXAubW9kZWwnO1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5ICovXG5jb25zdCBfU3RlcENhcmRNaXhpbkJhc2UgPSBtaXhpbkNvbG9yKFxuICBjbGFzcyB7XG4gICAgY29uc3RydWN0b3IocHVibGljIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7fVxuICB9LFxuICAnYWNjZW50J1xuKTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbXRuYS13Zi1zdGVwLWNhcmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vc3RlcC1jYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc3RlcC1jYXJkLmNvbXBvbmVudC5zY3NzJ10sXG4gIGlucHV0czogWydjb2xvciddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgTXRuYVdmU3RlcENhcmRDb21wb25lbnQgZXh0ZW5kcyBfU3RlcENhcmRNaXhpbkJhc2UgaW1wbGVtZW50cyBDYW5Db2xvciB7XG4gIEBIb3N0QmluZGluZygnY2xhc3MuYWN0aXZlJylcbiAgZ2V0IGFjdGl2ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLnN0ZXA/LmFjdGl2ZTtcbiAgfVxuXG4gIC8vIEBJbnB1dCgpIHN0ZXA6IEZvcm1TdGVwIHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgQElucHV0KClcbiAgZ2V0IHN0ZXAoKTogRm9ybVN0ZXAgfCBudWxsIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fc3RlcDtcbiAgfVxuICBzZXQgc3RlcChzdGVwOiBGb3JtU3RlcCB8IG51bGwgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLl9zdGVwID0gc3RlcDtcbiAgICBjb25zb2xlLndhcm4oeyBzdGVwSW5zaWRlU3RlcENhcmQ6IHN0ZXAgfSk7XG4gIH1cbiAgcHJpdmF0ZSBfc3RlcDogRm9ybVN0ZXAgfCBudWxsIHwgdW5kZWZpbmVkO1xuXG4gIEBJbnB1dCgpIHN1YnRpdGxlOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkO1xuXG4gIEBPdXRwdXQoKSBmb2N1c2VkID0gbmV3IEV2ZW50RW1pdHRlcjxGb3JtU3RlcD4oKTtcblxuICBjb25zdHJ1Y3RvcihlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XG4gICAgc3VwZXIoZWxlbWVudFJlZik7XG4gIH1cblxuICBoYW5kbGVGb2N1c0NoYW5nZShldmVudDogRm9jdXNPcmlnaW4pIHtcbiAgICBpZiAoISF0aGlzLnN0ZXAgJiYgISFldmVudCAmJiAhdGhpcy5zdGVwLmFjdGl2ZSkge1xuICAgICAgdGhpcy5mb2N1c2VkLmVtaXQodGhpcy5zdGVwKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxtYXQtY2FyZCBjZGtNb25pdG9yU3VidHJlZUZvY3VzIChjZGtGb2N1c0NoYW5nZSk9XCJoYW5kbGVGb2N1c0NoYW5nZSgkZXZlbnQpXCI+XG4gIDxtYXQtY2FyZC1oZWFkZXI+XG4gICAgPG10bmEtc3RhdHVzLWNpcmNsZSBtYXQtY2FyZC1hdmF0YXIgW2NpcmNsZU51bWJlcl09XCJzdGVwPy5udW1cIiBbb3B0aW9uYWxdPVwic3RlcD8ub3B0aW9uYWxcIiBbc3RhdHVzXT1cInN0ZXA/LnN0YXR1c1wiPjwvbXRuYS1zdGF0dXMtY2lyY2xlPlxuICAgIDxtYXQtY2FyZC10aXRsZT57eyBzdGVwPy5sYWJlbCB9fTwvbWF0LWNhcmQtdGl0bGU+XG4gICAgPG1hdC1jYXJkLXN1YnRpdGxlIFtpbm5lckhUTUxdPVwic3VidGl0bGUgfCBtdG5hV2ZTYW5pdGl6ZUh0bWxcIj48L21hdC1jYXJkLXN1YnRpdGxlPlxuICAgIDxwICpuZ0lmPVwic3RlcD8ub3B0aW9uYWxcIiBjbGFzcz1cIm9wdGlvbmFsIG1hdC1jYXB0aW9uXCIgaTE4bj5PcHRpb25hbDwvcD5cbiAgPC9tYXQtY2FyZC1oZWFkZXI+XG5cbiAgPG1hdC1kaXZpZGVyIFtpbnNldF09XCJ0cnVlXCI+PC9tYXQtZGl2aWRlcj5cblxuICA8bWF0LWNhcmQtY29udGVudD5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbY2FyZENvbnRlbnRdXCI+PC9uZy1jb250ZW50PlxuICA8L21hdC1jYXJkLWNvbnRlbnQ+XG5cbiAgPG1hdC1jYXJkLWFjdGlvbnM+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2NhcmRBY3Rpb25zXVwiPjwvbmctY29udGVudD5cbiAgPC9tYXQtY2FyZC1hY3Rpb25zPlxuPC9tYXQtY2FyZD5cbiJdfQ==