@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
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, InjectionToken, Optional, Inject, Component, Input, HostBinding, EventEmitter, Output, Pipe, NgModule, ChangeDetectionStrategy, ViewEncapsulation, ViewChild, Directive } from '@angular/core';
2
+ import { InjectionToken, Injectable, Optional, Inject, Component, Input, HostBinding, EventEmitter, Output, Pipe, NgModule, ChangeDetectionStrategy, ViewEncapsulation, ViewChild } from '@angular/core';
3
3
  import * as i1 from '@angular/material/dialog';
4
4
  import { MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';
5
5
  import { coerceBooleanProperty } from '@angular/cdk/coercion';
@@ -7,29 +7,29 @@ import { isForm, I18N_SHORT_ANSWER_ITEM_ID, I18N_PARAGRAPH_ANSWER_ITEM_ID, SHORT
7
7
  import { BehaviorSubject, Subject, Subscription, merge } from 'rxjs';
8
8
  import * as i6 from '@angular/forms';
9
9
  import { FormGroup, Validators, FormControl, FormArray, FormsModule, ReactiveFormsModule } from '@angular/forms';
10
- import { isKey, isNullOrUndefined, isPresent, isType, isObject, toLetters } from '@mtna/core-ts';
10
+ import { isType, isKey, isNullOrUndefined, isPresent, isObject, toLetters } from '@mtna/core-ts';
11
11
  import * as i3$3 from '@angular/material/core';
12
12
  import { ErrorStateMatcher, mixinColor, MatRippleModule } from '@angular/material/core';
13
13
  import { trigger, state, style, transition, animate } from '@angular/animations';
14
14
  import * as i2 from '@mtna/pojo-social-angular';
15
15
  import { MtnaAnnotationsIndicatorModule } from '@mtna/pojo-social-angular';
16
- import * as i1$1 from '@mtna/core-angular';
16
+ import * as i4 from '@mtna/core-angular';
17
17
  import { mixinDestroyNotifier, MtnaComponentInjector, INJECTION_SERVICE, MtnaStatusCircleModule, MtnaHighlightModule, COMPLEX_STANDARD as COMPLEX_STANDARD$1, MtnaTrackByPropertyPipeModule, InjectedComponentProvider } from '@mtna/core-angular';
18
- import * as i1$7 from '@angular/material/radio';
18
+ import * as i1$6 from '@angular/material/radio';
19
19
  import { MatRadioChange, MatRadioModule } from '@angular/material/radio';
20
20
  import * as i2$4 from '@angular/material/select';
21
21
  import { MatSelectChange, MatSelectModule } from '@angular/material/select';
22
22
  import * as i3 from '@angular/common';
23
23
  import { CommonModule } from '@angular/common';
24
- import * as i1$2 from '@angular/platform-browser';
24
+ import * as i1$1 from '@angular/platform-browser';
25
25
  import * as i3$1 from '@angular/material/button';
26
26
  import { MatButtonModule } from '@angular/material/button';
27
27
  import { MatMomentDateModule } from '@angular/material-moment-adapter';
28
28
  import { skipWhile, take, takeUntil, distinctUntilChanged } from 'rxjs/operators';
29
- import * as i1$3 from '@angular/common/http';
30
- import * as i1$8 from '@mtna/search-manager-angular';
29
+ import * as i1$2 from '@angular/common/http';
30
+ import * as i1$7 from '@mtna/search-manager-angular';
31
31
  import { MtnaSearchSelectionService, MtnaSearchDialogComponent, MtnaSearchDialogData } from '@mtna/search-manager-angular';
32
- import * as i4 from '@angular/cdk/a11y';
32
+ import * as i4$1 from '@angular/cdk/a11y';
33
33
  import { A11yModule } from '@angular/cdk/a11y';
34
34
  import { FlexLayoutModule } from '@angular/flex-layout';
35
35
  import * as i2$1 from '@angular/material/divider';
@@ -39,29 +39,104 @@ import { MatIconModule } from '@angular/material/icon';
39
39
  import * as i6$1 from '@angular/material/tooltip';
40
40
  import { MatTooltipModule } from '@angular/material/tooltip';
41
41
  import * as i3$2 from '@angular/flex-layout/flex';
42
- import * as i1$4 from '@angular/material/card';
42
+ import * as i7 from '@angular/flex-layout/extended';
43
+ import * as i1$3 from '@angular/material/card';
43
44
  import { MatCardModule } from '@angular/material/card';
44
45
  import * as i2$2 from '@angular/material/slide-toggle';
45
46
  import { MatSlideToggleModule } from '@angular/material/slide-toggle';
46
47
  import * as i2$3 from '@angular/material/checkbox';
47
48
  import { MatCheckboxModule } from '@angular/material/checkbox';
48
- import * as i1$5 from '@angular/material/form-field';
49
+ import * as i1$4 from '@angular/material/form-field';
49
50
  import { MatFormFieldModule } from '@angular/material/form-field';
50
51
  import * as i3$4 from '@angular/material/datepicker';
51
52
  import { MatDatepicker, MatDatepickerModule } from '@angular/material/datepicker';
52
53
  import * as i5$1 from '@angular/material/input';
53
54
  import { MatInputModule } from '@angular/material/input';
54
- import * as i4$1 from '@angular/material/list';
55
+ import * as i4$2 from '@angular/material/list';
55
56
  import { MatListModule } from '@angular/material/list';
56
- import * as i1$6 from '@mtna/file-manager-angular';
57
+ import * as i1$5 from '@mtna/file-manager-angular';
57
58
  import { MtnaFileDownloadModule, MtnaFileUploadModule } from '@mtna/file-manager-angular';
58
59
  import * as i5$2 from '@angular/material/progress-spinner';
59
60
  import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
60
- import * as i6$2 from '@angular/flex-layout/extended';
61
61
  import { MtnaLocaleIds, mtnaToLanguageId, mtnaLanguageIdToDisplay } from '@mtna/core-i18n-angular';
62
- import * as i1$9 from '@angular/material/table';
62
+ import * as i1$8 from '@angular/material/table';
63
63
  import { MatTableModule } from '@angular/material/table';
64
64
 
65
+ class BaseFormStep {
66
+ constructor(instanceId) {
67
+ this.instanceId = instanceId;
68
+ }
69
+ }
70
+
71
+ class FormStepGroup extends BaseFormStep {
72
+ constructor(steps, instanceId, collapsed = false, label, num) {
73
+ super(instanceId);
74
+ this.steps = steps;
75
+ this.collapsed = collapsed;
76
+ this.label = label;
77
+ this.num = num;
78
+ this.className = 'FormStepGroup';
79
+ }
80
+ }
81
+ function isFormStepGroup(something) {
82
+ return isType(something, 'steps') && Array.isArray(something.steps);
83
+ }
84
+ function instanceOfFormStepGroup(something) {
85
+ return isType(something, 'className') && something.className === 'FormStepGroup';
86
+ }
87
+
88
+ class FormStep extends BaseFormStep {
89
+ constructor(num, label, instanceId, optional = false) {
90
+ super(instanceId);
91
+ this.num = num;
92
+ this.label = label;
93
+ this.optional = optional;
94
+ this.className = 'FormStep';
95
+ this.active = false;
96
+ this.status = 'INVALID';
97
+ this.disabled = false;
98
+ }
99
+ }
100
+ function instanceOfFormStep(something) {
101
+ return isType(something, 'className') && something.className === 'FormStep';
102
+ }
103
+
104
+ const PROGRESSIVE_FORM_ID = 'us.mtna.web.form.impl.ProgressiveFormImpl';
105
+ function isProgressiveForm(something) {
106
+ return isType(something, 'itemId') && something.itemId === PROGRESSIVE_FORM_ID;
107
+ }
108
+
109
+ const PROGRESSIVE_FORM_SECTION_ID = 'us.mtna.web.form.impl.ProgressiveFormSectionImpl';
110
+ function isProgressiveFormSection(something) {
111
+ return isType(something, 'itemId') && something.itemId === PROGRESSIVE_FORM_SECTION_ID;
112
+ }
113
+
114
+ const MTNA_WF_API_TOKEN = new InjectionToken('mtnaWfApiConfig');
115
+
116
+ /**
117
+ * Dialog data for a {@link MtnaWfFormItemDialogComponent}
118
+ */
119
+ class MtnaWfFormItemDialogData {
120
+ /**
121
+ * @param formItems The form items to render in the dialog
122
+ * @param title optional dialog title
123
+ */
124
+ constructor(formItems, title) {
125
+ this.formItems = formItems;
126
+ this.title = title;
127
+ }
128
+ }
129
+
130
+ const MTNA_WF_ITEM_WHITELIST = new InjectionToken('mtna-wf-item-whitelist', {
131
+ providedIn: 'root',
132
+ factory: MTNA_WF_ITEM_WHITELIST_FACTORY,
133
+ });
134
+ function MTNA_WF_ITEM_WHITELIST_FACTORY() {
135
+ return {
136
+ itemTypes: [],
137
+ };
138
+ }
139
+
65
140
  const MTNA_WF_FORM_ITEM_VALIDATION_RESULT_ERROR_NAME = 'formItemValidationResult';
66
141
  /**
67
142
  * Valitator function that will check the root level {@link FormValidationResult} on
@@ -249,7 +324,12 @@ function serializeTableItem(item, managerService, customFormItemConditional = ()
249
324
  * @param customControlGenerator Serializer for a custom FormItem
250
325
  */
251
326
  function determineSerializeFunctionToUse(formItem, managerService, customFormItemConditional = () => false, customControlGenerator) {
252
- if (isForm(formItem) || isRepeatableItem(formItem) || isSection(formItem) || isFormItemGroupImpl(formItem)) {
327
+ if (isForm(formItem) ||
328
+ isProgressiveForm(formItem) ||
329
+ isRepeatableItem(formItem) ||
330
+ isSection(formItem) ||
331
+ isProgressiveFormSection(formItem) ||
332
+ isFormItemGroupImpl(formItem)) {
253
333
  return serializeFormItems(formItem, managerService, customFormItemConditional, customControlGenerator);
254
334
  }
255
335
  else if (isTableItem(formItem)) {
@@ -337,7 +417,7 @@ function insertTableItemValues(item, ngFormValue, disabledState, customFormItemC
337
417
  * @param parent Parent of the FormItem, used to pass to the customFormItemBuilder
338
418
  */
339
419
  function determineInsertFunctionToUse(formItem, ngFormValue, disabledState, customFormItemConditional = () => false, customFormItemBuilder, parent) {
340
- if (isSection(formItem) || isFormItemGroupImpl(formItem) || isRepeatableItem(formItem)) {
420
+ if (isSection(formItem) || isProgressiveFormSection(formItem) || isFormItemGroupImpl(formItem) || isRepeatableItem(formItem)) {
341
421
  const items = insertFormItemValues(formItem, ngFormValue, disabledState, customFormItemConditional, customFormItemBuilder);
342
422
  return Object.assign(Object.assign({}, formItem), { items, disabled: _isDisabled(formItem, disabledState) });
343
423
  }
@@ -428,9 +508,9 @@ function numCheckboxesValidator(typeCheck, limit = 1) {
428
508
  }
429
509
  switch (typeCheck) {
430
510
  case 'MIN':
431
- return totalSelected >= limit ? null : { minSelected: `Select at least ${limit}` };
511
+ return totalSelected >= limit ? null : { minSelected: $localize `Select at least ${limit}` };
432
512
  case 'MAX':
433
- return totalSelected <= limit ? null : { maxSelected: `Select no more than ${limit}` };
513
+ return totalSelected <= limit ? null : { maxSelected: $localize `Select no more than ${limit}` };
434
514
  }
435
515
  };
436
516
  }
@@ -568,60 +648,6 @@ function findFormItem(instanceId, group) {
568
648
  return null;
569
649
  }
570
650
 
571
- class BaseFormStep {
572
- constructor(instanceId) {
573
- this.instanceId = instanceId;
574
- }
575
- }
576
-
577
- class FormStepGroup extends BaseFormStep {
578
- constructor(steps, instanceId, collapsed = false) {
579
- super(instanceId);
580
- this.steps = steps;
581
- this.collapsed = collapsed;
582
- }
583
- }
584
- function isFormStepGroup(something) {
585
- return isType(something, 'steps') && Array.isArray(something.steps);
586
- }
587
-
588
- class FormStep extends BaseFormStep {
589
- constructor(num, label, instanceId, optional = false) {
590
- super(instanceId);
591
- this.num = num;
592
- this.label = label;
593
- this.optional = optional;
594
- this.active = false;
595
- this.status = 'INVALID';
596
- }
597
- }
598
-
599
- const MTNA_WF_API_TOKEN = new InjectionToken('mtnaWfApiConfig');
600
-
601
- /**
602
- * Dialog data for a {@link MtnaWfFormItemDialogComponent}
603
- */
604
- class MtnaWfFormItemDialogData {
605
- /**
606
- * @param formItems The form items to render in the dialog
607
- * @param title optional dialog title
608
- */
609
- constructor(formItems, title) {
610
- this.formItems = formItems;
611
- this.title = title;
612
- }
613
- }
614
-
615
- const MTNA_WF_ITEM_WHITELIST = new InjectionToken('mtna-wf-item-whitelist', {
616
- providedIn: 'root',
617
- factory: MTNA_WF_ITEM_WHITELIST_FACTORY,
618
- });
619
- function MTNA_WF_ITEM_WHITELIST_FACTORY() {
620
- return {
621
- itemTypes: [],
622
- };
623
- }
624
-
625
651
  /**
626
652
  * Flattens formStepGroup.steps and combines all steps into single array
627
653
  * @param steps Array<FormStep | FormStepGroup>
@@ -678,7 +704,7 @@ function generateFormSteps(items, allSteps = false) {
678
704
  if (allSteps) {
679
705
  newArray.push(new FormStep(count + 1, item.name || 'No Title', item.instanceId, !item.required));
680
706
  }
681
- else if (isSection(item)) {
707
+ else if (isSection(item) || isProgressiveFormSection(item)) {
682
708
  // If the item is a Section, add a step
683
709
  newArray.push(new FormStep(count + 1, item.title.value || 'No Title', item.instanceId, !item.required));
684
710
  }
@@ -686,9 +712,24 @@ function generateFormSteps(items, allSteps = false) {
686
712
  // If the item is a DataCubeItem, add a step and add a group step for the sub-sections
687
713
  newArray.push(new FormStep(count + 1, item.title.value || '', item.instanceId, !item.required));
688
714
  const subSectionSteps = item.items
689
- .filter(isSection)
715
+ .filter(isSection || isProgressiveFormSection)
690
716
  .map((item, index) => new FormStep(`${count + 1}${toLetters(index + 1)}`, item.title.value || '', item.instanceId, !item.required));
691
- newArray.push(new FormStepGroup(subSectionSteps, item.instanceId, false));
717
+ newArray.push(new FormStepGroup(subSectionSteps, item.instanceId, false, item.name, count + 1));
718
+ }
719
+ return newArray;
720
+ }, []);
721
+ }
722
+ function generateFormStepsFromOutline(outline) {
723
+ return outline.reduce((newArray, step) => {
724
+ // The number of non-group steps, used to number the top level steps
725
+ const count = newArray.filter((step) => !isFormStepGroup(step)).length;
726
+ if (step.childSteps && step.childSteps.length > 0) {
727
+ newArray.push(new FormStep(count + 1, step.label, step.instanceId || step.templateId, step.optional));
728
+ const subSectionSteps = step.childSteps.map((item, index) => new FormStep(`${count + 1}${toLetters(index + 1)}`, item.label, item.instanceId || item.templateId, item.optional));
729
+ newArray.push(new FormStepGroup(subSectionSteps, step.instanceId || step.templateId, false, step.label, count + 1));
730
+ }
731
+ else {
732
+ newArray.push(new FormStep(count + 1, step.label, step.instanceId || step.templateId, step.optional));
692
733
  }
693
734
  return newArray;
694
735
  }, []);
@@ -752,24 +793,24 @@ function updateStepStatus(instanceId, step, status, form) {
752
793
 
753
794
  /** List of default error messages to display */
754
795
  const DEFAULT_ERROR_MESSAGES = {
755
- email: 'This field must include a valid email format.',
796
+ email: $localize `This field must include a valid email format.`,
756
797
  max: (item) => !isPresent(item) || !isPresent(item === null || item === void 0 ? void 0 : item.maxValue)
757
- ? `This field's value must be less.`
758
- : `${isPresent(item === null || item === void 0 ? void 0 : item.minValue) ? `Min value: ${item === null || item === void 0 ? void 0 : item.minValue} - ` : ''}Max value: ${item === null || item === void 0 ? void 0 : item.minValue}`,
759
- maxlength: 'This field has exceeded the allowed maximum.',
798
+ ? $localize `This field's value must be less.`
799
+ : isPresent(item === null || item === void 0 ? void 0 : item.minValue) ? $localize `Min value: ${item.minValue} - ` : '' + $localize `Max value: ${item.maxValue}`,
800
+ maxlength: $localize `This field has exceeded the allowed maximum.`,
760
801
  maxSelected: null,
761
802
  min: (item) => !isPresent(item) || !isPresent(item === null || item === void 0 ? void 0 : item.minValue)
762
- ? `This field's value must be greater.`
763
- : `Min value: ${item === null || item === void 0 ? void 0 : item.minValue}${!isPresent(item === null || item === void 0 ? void 0 : item.maxValue) ? '' : ` - Max value: ${item === null || item === void 0 ? void 0 : item.maxValue}`}`,
764
- minlength: 'This field has not met the required minimum.',
803
+ ? $localize `This field's value must be greater.`
804
+ : $localize `Min Value: ${item.minValue}` + isPresent(item === null || item === void 0 ? void 0 : item.maxValue) ? $localize ` - Max Value: ${item.maxValue}` : '',
805
+ minlength: $localize `This field has not met the required minimum.`,
765
806
  minSelected: null,
766
- nonDigit: `This field's value must be numeric.`,
767
- pattern: `This field's input does not meet the accepted pattern.`,
768
- positive: `This field's value cannot be negative.`,
769
- required: 'This field is required.',
770
- requiredTrue: `This field's value must be 'true'.`,
771
- wholeNumber: `This field cannot contain a decimal.`,
772
- matDatepickerParse: `This field's value is not an accepted format.`,
807
+ nonDigit: $localize `This field's value must be numeric.`,
808
+ pattern: $localize `This field's input does not meet the accepted pattern.`,
809
+ positive: $localize `This field's value cannot be negative.`,
810
+ required: $localize `This field is required.`,
811
+ requiredTrue: `$localizeThis field's value must be 'true'.`,
812
+ wholeNumber: $localize `This field cannot contain a decimal.`,
813
+ matDatepickerParse: $localize `This field's value is not an accepted format.`,
773
814
  };
774
815
  const WEB_FORM_CUSTOM_ERRORS = new InjectionToken('mtnaWebFormCustomFormErrors');
775
816
  class MtnaWfUIService {
@@ -1166,8 +1207,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
1166
1207
 
1167
1208
  /* eslint-disable-next-line @angular-eslint/component-class-suffix */
1168
1209
  class MtnaWfBaseGroupItem extends MtnaWfBaseFormItemControl {
1169
- constructor() {
1170
- super(...arguments);
1210
+ constructor(cdr) {
1211
+ super(cdr);
1171
1212
  this._parentIds = new Array();
1172
1213
  }
1173
1214
  get parentIds() {
@@ -1180,14 +1221,14 @@ class MtnaWfBaseGroupItem extends MtnaWfBaseFormItemControl {
1180
1221
  return item.instanceId;
1181
1222
  }
1182
1223
  }
1183
- MtnaWfBaseGroupItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfBaseGroupItem, deps: null, target: i0.ɵɵFactoryTarget.Component });
1224
+ MtnaWfBaseGroupItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfBaseGroupItem, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
1184
1225
  MtnaWfBaseGroupItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfBaseGroupItem, selector: "ng-component", inputs: { parentIds: "parentIds" }, usesInheritance: true, ngImport: i0, template: ``, isInline: true });
1185
1226
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfBaseGroupItem, decorators: [{
1186
1227
  type: Component,
1187
1228
  args: [{
1188
1229
  template: ``,
1189
1230
  }]
1190
- }], propDecorators: { parentIds: [{
1231
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { parentIds: [{
1191
1232
  type: Input
1192
1233
  }] } });
1193
1234
 
@@ -1246,7 +1287,8 @@ class MtnaWfBaseParentValueItem extends MtnaWfBaseValueItem {
1246
1287
  return super.control;
1247
1288
  }
1248
1289
  set control(control) {
1249
- if (control instanceof FormGroup) {
1290
+ // Checks for a wrapping form group around this item.
1291
+ if (control instanceof FormGroup && control.get(this.item.instanceId)) {
1250
1292
  super.control = control.get(this.item.instanceId);
1251
1293
  this.controlWrapper = control;
1252
1294
  }
@@ -1270,8 +1312,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
1270
1312
 
1271
1313
  /* eslint-disable-next-line @angular-eslint/component-class-suffix */
1272
1314
  class MtnaWfBaseSectionItem extends MtnaWfBaseGroupItem {
1273
- constructor() {
1274
- super(...arguments);
1315
+ constructor(cdr) {
1316
+ super(cdr);
1275
1317
  this.focused = new EventEmitter();
1276
1318
  }
1277
1319
  get step() {
@@ -1279,16 +1321,17 @@ class MtnaWfBaseSectionItem extends MtnaWfBaseGroupItem {
1279
1321
  }
1280
1322
  set step(value) {
1281
1323
  this._step = value;
1324
+ console.warn({ value });
1282
1325
  }
1283
1326
  }
1284
- MtnaWfBaseSectionItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfBaseSectionItem, deps: null, target: i0.ɵɵFactoryTarget.Component });
1327
+ MtnaWfBaseSectionItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfBaseSectionItem, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
1285
1328
  MtnaWfBaseSectionItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfBaseSectionItem, selector: "ng-component", inputs: { step: "step" }, outputs: { focused: "focused" }, usesInheritance: true, ngImport: i0, template: ``, isInline: true });
1286
1329
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfBaseSectionItem, decorators: [{
1287
1330
  type: Component,
1288
1331
  args: [{
1289
1332
  template: ``,
1290
1333
  }]
1291
- }], propDecorators: { step: [{
1334
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { step: [{
1292
1335
  type: Input
1293
1336
  }], focused: [{
1294
1337
  type: Output
@@ -1474,7 +1517,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
1474
1517
  selector: 'mtna-wf-item-injector',
1475
1518
  template: ``,
1476
1519
  }]
1477
- }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.ComponentFactoryResolver }, { type: i0.ViewContainerRef }, { type: i1$1.InjectionService, decorators: [{
1520
+ }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.ComponentFactoryResolver }, { type: i0.ViewContainerRef }, { type: i4.InjectionService, decorators: [{
1478
1521
  type: Inject,
1479
1522
  args: [INJECTION_SERVICE]
1480
1523
  }] }]; }, propDecorators: { color: [{
@@ -1512,14 +1555,14 @@ class MtnaWfSanitizeHtmlPipe {
1512
1555
  return this._sanitizer.bypassSecurityTrustHtml(v);
1513
1556
  }
1514
1557
  }
1515
- MtnaWfSanitizeHtmlPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfSanitizeHtmlPipe, deps: [{ token: i1$2.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
1558
+ MtnaWfSanitizeHtmlPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfSanitizeHtmlPipe, deps: [{ token: i1$1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
1516
1559
  MtnaWfSanitizeHtmlPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfSanitizeHtmlPipe, name: "mtnaWfSanitizeHtml" });
1517
1560
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfSanitizeHtmlPipe, decorators: [{
1518
1561
  type: Pipe,
1519
1562
  args: [{
1520
1563
  name: 'mtnaWfSanitizeHtml',
1521
1564
  }]
1522
- }], ctorParameters: function () { return [{ type: i1$2.DomSanitizer }]; } });
1565
+ }], ctorParameters: function () { return [{ type: i1$1.DomSanitizer }]; } });
1523
1566
  class MtnaWfSanitizeHtmlPipeModule {
1524
1567
  }
1525
1568
  MtnaWfSanitizeHtmlPipeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfSanitizeHtmlPipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
@@ -1679,7 +1722,7 @@ class MtnaWfFormItemComponent {
1679
1722
  }
1680
1723
  }
1681
1724
  MtnaWfFormItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfFormItemComponent, deps: [{ token: i0.ElementRef }, { token: MtnaWfUIService }], target: i0.ɵɵFactoryTarget.Component });
1682
- MtnaWfFormItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfFormItemComponent, selector: "mtna-wf-item", inputs: { color: "color", control: "control", header: "header", inList: "inList", item: "item", parentIds: "parentIds", readonly: "readonly", step: "step" }, outputs: { focusedSection: "focusedSection" }, host: { properties: { "@mtnaWfExpandCollapse": "this.visible", "attr.id": "this.elementId" } }, ngImport: i0, template: "<mtna-annotations-indicator\n *ngIf=\"item.annotationEnabled\"\n [annotatableId]=\"item.annotatableId\"\n color=\"primary\"\n [count]=\"annotations$ | async\"\n (status)=\"updateIndicatorStatus($event)\"\n></mtna-annotations-indicator>\n\n<mtna-wf-item-injector\n [color]=\"color\"\n [control]=\"control\"\n [header]=\"header\"\n [indicatorStatus]=\"indicatorStatus$.value\"\n [inList]=\"inList\"\n [item]=\"item\"\n [parentIds]=\"parentIds\"\n [readonly]=\"readonly\"\n [step]=\"step\"\n (focusedSection)=\"focusedSection.emit($event)\"\n (toggleFormItems)=\"toggleFormItems($event)\"\n></mtna-wf-item-injector>\n\n<ng-template #header let-hideRequiredMarker=\"hideRequiredMarker\">\n <mtna-wf-item-header\n *ngIf=\"!!item.questionText || !!item.descriptiveText\"\n [descriptiveText]=\"item.descriptiveText\"\n [disabled]=\"control?.disabled\"\n [hideRequiredMarker]=\"hideRequiredMarker\"\n [invalid]=\"control?.invalid && (control?.dirty || control?.touched)\"\n [questionText]=\"item.questionText\"\n [required]=\"item.required\"\n ></mtna-wf-item-header>\n</ng-template>\n\n<!-- <ng-container [ngSwitch]=\"item.itemId | mtnaWfGetObjectType\">\n <mtna-wf-section\n *ngSwitchCase=\"'sectionimpl'\"\n [control]=\"$any(control)\"\n [item]=\"$any(item)\"\n [mtnaHighlight]=\"indicatorStatus === 'ACTIVE'\"\n [parentIds]=\"parentIds.concat(item.instanceId)\"\n [readonly]=\"readonly\"\n [step]=\"step\"\n (focused)=\"focusedSection.emit($event)\"\n ></mtna-wf-section>\n\n <mtna-wf-group\n *ngSwitchCase=\"'formitemgroupimpl'\"\n [indicatorStatus]=\"indicatorStatus\"\n [item]=\"$any(item)\"\n [control]=\"$any(control)\"\n [mtnaHighlight]=\"indicatorStatus === 'ACTIVE' && (!!item.descriptiveText || !!item.questionText)\"\n [parentIds]=\"parentIds.concat(item.instanceId)\"\n [readonly]=\"readonly\"\n ></mtna-wf-group>\n\n <mtna-wf-repeatable-item-container\n *ngSwitchCase=\"'repeatableitem'\"\n [indicatorStatus]=\"indicatorStatus\"\n [item]=\"$any(item)\"\n [control]=\"$any(control)\"\n [mtnaHighlight]=\"indicatorStatus === 'ACTIVE' && (!!item.descriptiveText || !!item.questionText)\"\n [parentIds]=\"parentIds.concat(item.instanceId)\"\n [readonly]=\"readonly\"\n ></mtna-wf-repeatable-item-container>\n\n <mtna-wf-value-item\n *ngSwitchDefault\n [indicatorStatus]=\"indicatorStatus\"\n [item]=\"$any(item)\"\n [control]=\"control\"\n [mtnaHighlight]=\"indicatorStatus === 'ACTIVE' && (!!item.descriptiveText || !!item.questionText)\"\n [parentIds]=\"parentIds.concat(item.instanceId)\"\n [readonly]=\"readonly\"\n ></mtna-wf-value-item>\n</ng-container> -->\n", styles: ["mtna-wf-item{display:block;position:relative}mtna-wf-item mtna-annotations-indicator{position:absolute;top:0;right:0;z-index:2}mtna-wf-item .mat-list-base{padding-top:0}\n"], components: [{ type: i2.MtnaAnnotationsIndicatorComponent, selector: "mtna-annotations-indicator", inputs: ["color", "annotatableId", "annotatableItemName", "count"], outputs: ["status"] }, { type: MtnaWfItemInjector, selector: "mtna-wf-item-injector", inputs: ["color", "control", "header", "indicatorStatus", "inList", "item", "parentIds", "readonly", "step"], outputs: ["focusedSection", "toggleFormItems"] }, { type: MtnaWfItemHeaderComponent, selector: "mtna-wf-item-header", inputs: ["descriptiveText", "disabled", "hideRequiredMarker", "invalid", "questionText", "required"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i3.AsyncPipe }, animations: [MTNA_WF_EXPAND_COLLAPSE], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1725
+ MtnaWfFormItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfFormItemComponent, selector: "mtna-wf-item", inputs: { color: "color", control: "control", header: "header", inList: "inList", item: "item", parentIds: "parentIds", readonly: "readonly", step: "step" }, outputs: { focusedSection: "focusedSection" }, host: { properties: { "@mtnaWfExpandCollapse": "this.visible", "attr.id": "this.elementId" } }, ngImport: i0, template: "<mtna-annotations-indicator\n *ngIf=\"item.annotationEnabled\"\n [annotatableId]=\"item.annotatableId\"\n color=\"primary\"\n [count]=\"annotations$ | async\"\n (status)=\"updateIndicatorStatus($event)\"\n></mtna-annotations-indicator>\n\n<mtna-wf-item-injector\n [color]=\"color\"\n [control]=\"control\"\n [header]=\"header\"\n [indicatorStatus]=\"indicatorStatus$.value\"\n [inList]=\"inList\"\n [item]=\"item\"\n [parentIds]=\"parentIds\"\n [readonly]=\"readonly\"\n [step]=\"step\"\n (focusedSection)=\"focusedSection.emit($event)\"\n (toggleFormItems)=\"toggleFormItems($event)\"\n></mtna-wf-item-injector>\n\n<ng-template #header let-hideRequiredMarker=\"hideRequiredMarker\">\n <mtna-wf-item-header\n *ngIf=\"!!item.questionText || !!item.descriptiveText\"\n [descriptiveText]=\"item.descriptiveText\"\n [disabled]=\"control?.disabled\"\n [hideRequiredMarker]=\"hideRequiredMarker\"\n [invalid]=\"control?.invalid && (control?.dirty || control?.touched)\"\n [questionText]=\"item.questionText\"\n [required]=\"item.required\"\n ></mtna-wf-item-header>\n</ng-template>\n", styles: ["mtna-wf-item{display:block;position:relative}mtna-wf-item mtna-annotations-indicator{position:absolute;top:0;right:0;z-index:2}mtna-wf-item .mat-list-base{padding-top:0}\n"], components: [{ type: i2.MtnaAnnotationsIndicatorComponent, selector: "mtna-annotations-indicator", inputs: ["color", "annotatableId", "annotatableItemName", "count"], outputs: ["status"] }, { type: MtnaWfItemInjector, selector: "mtna-wf-item-injector", inputs: ["color", "control", "header", "indicatorStatus", "inList", "item", "parentIds", "readonly", "step"], outputs: ["focusedSection", "toggleFormItems"] }, { type: MtnaWfItemHeaderComponent, selector: "mtna-wf-item-header", inputs: ["descriptiveText", "disabled", "hideRequiredMarker", "invalid", "questionText", "required"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i3.AsyncPipe }, animations: [MTNA_WF_EXPAND_COLLAPSE], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1683
1726
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfFormItemComponent, decorators: [{
1684
1727
  type: Component,
1685
1728
  args: [{
@@ -1726,7 +1769,7 @@ class MtnaWfAcknowledgeDialogComponent {
1726
1769
  }
1727
1770
  }
1728
1771
  MtnaWfAcknowledgeDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfAcknowledgeDialogComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component });
1729
- MtnaWfAcknowledgeDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfAcknowledgeDialogComponent, selector: "mtna-wf-acknowledge-dialog", ngImport: i0, template: "<h2 *ngIf=\"data.title as title\" mat-dialog-title>{{ title }}</h2>\n<mat-dialog-content>\n <mtna-wf-item *ngFor=\"let item of data.formItems\" [item]=\"item\" [readonly]=\"true\"></mtna-wf-item>\n</mat-dialog-content>\n<mat-dialog-actions align=\"end\">\n <button [mat-dialog-close]=\"false\" mat-button>CANCEL</button>\n <button [mat-dialog-close]=\"true\" color=\"accent\" mat-raised-button>ACKNOWLEDGE</button>\n</mat-dialog-actions>\n", components: [{ type: MtnaWfFormItemComponent, selector: "mtna-wf-item", inputs: ["color", "control", "header", "inList", "item", "parentIds", "readonly", "step"], outputs: ["focusedSection"] }, { type: i3$1.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: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["type", "mat-dialog-close", "aria-label", "matDialogClose"], exportAs: ["matDialogClose"] }] });
1772
+ MtnaWfAcknowledgeDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfAcknowledgeDialogComponent, selector: "mtna-wf-acknowledge-dialog", ngImport: i0, template: "<h2 *ngIf=\"data.title as title\" mat-dialog-title>{{ title }}</h2>\n<mat-dialog-content>\n <mtna-wf-item *ngFor=\"let item of data.formItems\" [item]=\"item\" [readonly]=\"true\"></mtna-wf-item>\n</mat-dialog-content>\n<mat-dialog-actions align=\"end\">\n <button [mat-dialog-close]=\"false\" mat-button i18n>CANCEL</button>\n <button [mat-dialog-close]=\"true\" color=\"accent\" mat-raised-button i18n>ACKNOWLEDGE</button>\n</mat-dialog-actions>\n", components: [{ type: MtnaWfFormItemComponent, selector: "mtna-wf-item", inputs: ["color", "control", "header", "inList", "item", "parentIds", "readonly", "step"], outputs: ["focusedSection"] }, { type: i3$1.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: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["type", "mat-dialog-close", "aria-label", "matDialogClose"], exportAs: ["matDialogClose"] }] });
1730
1773
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfAcknowledgeDialogComponent, decorators: [{
1731
1774
  type: Component,
1732
1775
  args: [{
@@ -1752,6 +1795,32 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
1752
1795
  }]
1753
1796
  }] });
1754
1797
 
1798
+ class ChildStepActivePipe {
1799
+ transform(steps) {
1800
+ return steps.some((step) => step.active);
1801
+ }
1802
+ }
1803
+ ChildStepActivePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ChildStepActivePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
1804
+ ChildStepActivePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ChildStepActivePipe, name: "childStepActive" });
1805
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ChildStepActivePipe, decorators: [{
1806
+ type: Pipe,
1807
+ args: [{
1808
+ name: 'childStepActive'
1809
+ }]
1810
+ }] });
1811
+ class ChildStepActivePipeModule {
1812
+ }
1813
+ ChildStepActivePipeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ChildStepActivePipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1814
+ ChildStepActivePipeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ChildStepActivePipeModule, declarations: [ChildStepActivePipe], exports: [ChildStepActivePipe] });
1815
+ ChildStepActivePipeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ChildStepActivePipeModule });
1816
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ChildStepActivePipeModule, decorators: [{
1817
+ type: NgModule,
1818
+ args: [{
1819
+ declarations: [ChildStepActivePipe],
1820
+ exports: [ChildStepActivePipe]
1821
+ }]
1822
+ }] });
1823
+
1755
1824
  class MtnaWfGetObjectTypePipe {
1756
1825
  transform(id) {
1757
1826
  const newId = id.toLowerCase().split('.');
@@ -1922,25 +1991,77 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
1922
1991
  }]
1923
1992
  }] });
1924
1993
 
1994
+ class CoerceFormStepGroupPipe {
1995
+ transform(value) {
1996
+ return instanceOfFormStepGroup(value) ? value : null;
1997
+ }
1998
+ }
1999
+ CoerceFormStepGroupPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CoerceFormStepGroupPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
2000
+ CoerceFormStepGroupPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CoerceFormStepGroupPipe, name: "coerceFormStepGroup" });
2001
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CoerceFormStepGroupPipe, decorators: [{
2002
+ type: Pipe,
2003
+ args: [{
2004
+ name: 'coerceFormStepGroup',
2005
+ }]
2006
+ }] });
2007
+ class CoerceFormStepGroupPipeModule {
2008
+ }
2009
+ CoerceFormStepGroupPipeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CoerceFormStepGroupPipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2010
+ CoerceFormStepGroupPipeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CoerceFormStepGroupPipeModule, declarations: [CoerceFormStepGroupPipe], exports: [CoerceFormStepGroupPipe] });
2011
+ CoerceFormStepGroupPipeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CoerceFormStepGroupPipeModule });
2012
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CoerceFormStepGroupPipeModule, decorators: [{
2013
+ type: NgModule,
2014
+ args: [{
2015
+ declarations: [CoerceFormStepGroupPipe],
2016
+ exports: [CoerceFormStepGroupPipe],
2017
+ }]
2018
+ }] });
2019
+
2020
+ class CoerceFormStepPipe {
2021
+ transform(value) {
2022
+ return instanceOfFormStep(value) ? value : null;
2023
+ }
2024
+ }
2025
+ CoerceFormStepPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CoerceFormStepPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
2026
+ CoerceFormStepPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CoerceFormStepPipe, name: "coerceFormStep" });
2027
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CoerceFormStepPipe, decorators: [{
2028
+ type: Pipe,
2029
+ args: [{
2030
+ name: 'coerceFormStep'
2031
+ }]
2032
+ }] });
2033
+ class CoerceFormStepPipeModule {
2034
+ }
2035
+ CoerceFormStepPipeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CoerceFormStepPipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2036
+ CoerceFormStepPipeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CoerceFormStepPipeModule, declarations: [CoerceFormStepPipe], exports: [CoerceFormStepPipe] });
2037
+ CoerceFormStepPipeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CoerceFormStepPipeModule });
2038
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CoerceFormStepPipeModule, decorators: [{
2039
+ type: NgModule,
2040
+ args: [{
2041
+ declarations: [CoerceFormStepPipe],
2042
+ exports: [CoerceFormStepPipe],
2043
+ }]
2044
+ }] });
2045
+
1925
2046
  class MtnaWfDateQuarterPipe {
1926
2047
  transform(quarter, format = 'short') {
1927
2048
  const short = {
1928
- 0: 'Q1',
1929
- 1: 'Q2',
1930
- 2: 'Q3',
1931
- 3: 'Q4',
2049
+ 0: $localize `Q1`,
2050
+ 1: $localize `Q2`,
2051
+ 2: $localize `Q3`,
2052
+ 3: $localize `Q4`,
1932
2053
  };
1933
2054
  const medium = {
1934
- 0: '1st Quarter',
1935
- 1: '2nd Quarter',
1936
- 2: '3rd Quarter',
1937
- 3: '4th Quarter',
2055
+ 0: $localize `1st Quarter`,
2056
+ 1: $localize `2nd Quarter`,
2057
+ 2: $localize `3rd Quarter`,
2058
+ 3: $localize `4th Quarter`,
1938
2059
  };
1939
2060
  const long = {
1940
- 0: 'First Quarter',
1941
- 1: 'Second Quarter',
1942
- 2: 'Third Quarter',
1943
- 3: 'Fourth Quarter',
2061
+ 0: $localize `First Quarter`,
2062
+ 1: $localize `Second Quarter`,
2063
+ 2: $localize `Third Quarter`,
2064
+ 3: $localize `Fourth Quarter`,
1944
2065
  };
1945
2066
  switch (format) {
1946
2067
  case 'short':
@@ -2004,6 +2125,37 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
2004
2125
  }]
2005
2126
  }] });
2006
2127
 
2128
+ class GetActiveFormStepItemPipe {
2129
+ transform(items, activeStepId) {
2130
+ if (!items || !activeStepId) {
2131
+ return undefined;
2132
+ }
2133
+ else {
2134
+ return items.find((item) => item.instanceId === activeStepId);
2135
+ }
2136
+ }
2137
+ }
2138
+ GetActiveFormStepItemPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GetActiveFormStepItemPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
2139
+ GetActiveFormStepItemPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GetActiveFormStepItemPipe, name: "getActiveFormStepItem" });
2140
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GetActiveFormStepItemPipe, decorators: [{
2141
+ type: Pipe,
2142
+ args: [{
2143
+ name: 'getActiveFormStepItem',
2144
+ }]
2145
+ }] });
2146
+ class GetActiveFormStepItemPipeModule {
2147
+ }
2148
+ GetActiveFormStepItemPipeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GetActiveFormStepItemPipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2149
+ GetActiveFormStepItemPipeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GetActiveFormStepItemPipeModule, declarations: [GetActiveFormStepItemPipe], exports: [GetActiveFormStepItemPipe] });
2150
+ GetActiveFormStepItemPipeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GetActiveFormStepItemPipeModule });
2151
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GetActiveFormStepItemPipeModule, decorators: [{
2152
+ type: NgModule,
2153
+ args: [{
2154
+ declarations: [GetActiveFormStepItemPipe],
2155
+ exports: [GetActiveFormStepItemPipe],
2156
+ }]
2157
+ }] });
2158
+
2007
2159
  class MtnaWfGetAutoCompletePipe {
2008
2160
  transform(label) {
2009
2161
  if (label) {
@@ -2187,13 +2339,52 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
2187
2339
  }]
2188
2340
  }] });
2189
2341
 
2342
+ class GetProgressiveFormItemPipe {
2343
+ transform(step, items) {
2344
+ if (items) {
2345
+ const item = items.find((item) => item.instanceId || item.templateId === step.instanceId);
2346
+ console.warn({ itemFromPipe: item });
2347
+ if (item) {
2348
+ return item;
2349
+ }
2350
+ else {
2351
+ return undefined;
2352
+ }
2353
+ }
2354
+ else {
2355
+ return undefined;
2356
+ }
2357
+ }
2358
+ }
2359
+ GetProgressiveFormItemPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GetProgressiveFormItemPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
2360
+ GetProgressiveFormItemPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GetProgressiveFormItemPipe, name: "getProgressiveFormItem" });
2361
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GetProgressiveFormItemPipe, decorators: [{
2362
+ type: Pipe,
2363
+ args: [{
2364
+ name: 'getProgressiveFormItem',
2365
+ }]
2366
+ }] });
2367
+ class GetProgressiveFormItemPipeModule {
2368
+ }
2369
+ GetProgressiveFormItemPipeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GetProgressiveFormItemPipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2370
+ GetProgressiveFormItemPipeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GetProgressiveFormItemPipeModule, declarations: [GetProgressiveFormItemPipe], exports: [GetProgressiveFormItemPipe] });
2371
+ GetProgressiveFormItemPipeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GetProgressiveFormItemPipeModule });
2372
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GetProgressiveFormItemPipeModule, decorators: [{
2373
+ type: NgModule,
2374
+ args: [{
2375
+ declarations: [GetProgressiveFormItemPipe],
2376
+ exports: [GetProgressiveFormItemPipe],
2377
+ }]
2378
+ }] });
2379
+
2190
2380
  class MtnaWfGetSelectedOptionNamePipe {
2191
2381
  transform(id, options) {
2382
+ const _notApplicableText = $localize `N/A`;
2192
2383
  if (!options || !id) {
2193
- return 'N/A';
2384
+ return _notApplicableText;
2194
2385
  }
2195
2386
  const foundOption = options.find((o) => o.option.id === id);
2196
- return foundOption ? foundOption.option.name : 'N/A';
2387
+ return foundOption ? foundOption.option.name : _notApplicableText;
2197
2388
  }
2198
2389
  }
2199
2390
  MtnaWfGetSelectedOptionNamePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfGetSelectedOptionNamePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
@@ -2217,21 +2408,68 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
2217
2408
  }]
2218
2409
  }] });
2219
2410
 
2411
+ class GetStepAriaLabel {
2412
+ constructor() {
2413
+ this.stepStatusTextMap = {
2414
+ ['INVALID']: $localize `Invalid`,
2415
+ ['VALID']: $localize `Valid`,
2416
+ ['DISABLED']: $localize `Disabled`,
2417
+ ['ERROR']: $localize `Error`,
2418
+ ['PENDING']: $localize `Pending`,
2419
+ ['EMPTY']: $localize `Empty`,
2420
+ ['INCOMPLETE']: $localize `Incomplete`,
2421
+ ['PLACEHOLDER']: $localize `Placeholder`,
2422
+ };
2423
+ }
2424
+ transform(step, collapsed) {
2425
+ const stepText = $localize `Step`;
2426
+ if (instanceOfFormStepGroup(step)) {
2427
+ const collapsedText = collapsed ? $localize `collapsed step` : $localize `expanded step`;
2428
+ const childStepsActiveText = step.steps.some((childStep) => childStep.active) ? $localize `Child step active.` : '';
2429
+ return `${stepText} ${step.num}: ${step.label} - ${collapsedText}. ${childStepsActiveText}`;
2430
+ }
2431
+ else if (instanceOfFormStep(step)) {
2432
+ const status = step.status === 'EMPTY' || step.status === 'PLACEHOLDER' ? undefined : this.stepStatusTextMap[step.status];
2433
+ const activeText = step.active ? $localize `Active step` : undefined;
2434
+ return `${stepText} ${step.num}: ${step.label} ${status ? ' - ' + status : ''}${activeText ? ' - ' + activeText : ''}.`;
2435
+ }
2436
+ else {
2437
+ // Handle for unexpected types. Should never reach this point because the step should always be a FormStep or a FormStepGroup.
2438
+ return '';
2439
+ }
2440
+ }
2441
+ }
2442
+ GetStepAriaLabel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GetStepAriaLabel, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
2443
+ GetStepAriaLabel.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GetStepAriaLabel, name: "getStepAriaLabel" });
2444
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GetStepAriaLabel, decorators: [{
2445
+ type: Pipe,
2446
+ args: [{
2447
+ name: 'getStepAriaLabel',
2448
+ }]
2449
+ }] });
2450
+ class GetStepAriaLabelModule {
2451
+ }
2452
+ GetStepAriaLabelModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GetStepAriaLabelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2453
+ GetStepAriaLabelModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GetStepAriaLabelModule, declarations: [GetStepAriaLabel], exports: [GetStepAriaLabel] });
2454
+ GetStepAriaLabelModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GetStepAriaLabelModule });
2455
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GetStepAriaLabelModule, decorators: [{
2456
+ type: NgModule,
2457
+ args: [{
2458
+ declarations: [GetStepAriaLabel],
2459
+ exports: [GetStepAriaLabel],
2460
+ }]
2461
+ }] });
2462
+
2220
2463
  /**
2221
2464
  * Returns an array of FormItems that contain a value.
2222
2465
  * Use only for readonly forms
2223
2466
  */
2224
2467
  class MtnaWfItemsWithValuePipe {
2225
- constructor() {
2226
- this.itemsCache = [];
2227
- }
2228
2468
  transform(items) {
2229
- var _a;
2230
- if ((_a = this.itemsCache) === null || _a === void 0 ? void 0 : _a.length) {
2231
- return this.itemsCache;
2232
- }
2233
- this.itemsCache = !items ? [] : items.filter(isValueItem);
2234
- return this.itemsCache;
2469
+ const list = items ? items.filter(isValueItem) : [];
2470
+ console.error({ items });
2471
+ console.error({ list });
2472
+ return list;
2235
2473
  }
2236
2474
  }
2237
2475
  MtnaWfItemsWithValuePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfItemsWithValuePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
@@ -2370,7 +2608,7 @@ class MtnaWfApiService {
2370
2608
  return this.http.get(this.TEMPLATE_DELETE_URL);
2371
2609
  }
2372
2610
  }
2373
- MtnaWfApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfApiService, deps: [{ token: MTNA_WF_API_TOKEN }, { token: i1$3.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
2611
+ MtnaWfApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfApiService, deps: [{ token: MTNA_WF_API_TOKEN }, { token: i1$2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
2374
2612
  MtnaWfApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfApiService, providedIn: 'root' });
2375
2613
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfApiService, decorators: [{
2376
2614
  type: Injectable,
@@ -2378,7 +2616,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
2378
2616
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
2379
2617
  type: Inject,
2380
2618
  args: [MTNA_WF_API_TOKEN]
2381
- }] }, { type: i1$3.HttpClient }]; } });
2619
+ }] }, { type: i1$2.HttpClient }]; } });
2382
2620
 
2383
2621
  /**
2384
2622
  * A dialog that renders a form item.
@@ -2390,7 +2628,7 @@ class MtnaWfFormItemDialogComponent {
2390
2628
  }
2391
2629
  }
2392
2630
  MtnaWfFormItemDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfFormItemDialogComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component });
2393
- MtnaWfFormItemDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfFormItemDialogComponent, selector: "mtna-wf-form-item-dialog", ngImport: i0, template: "<h2 *ngIf=\"data.title as title\" mat-dialog-title>{{ title }}</h2>\n<mat-dialog-content>\n <mtna-wf-item *ngFor=\"let item of data.formItems\" [item]=\"item\" [readonly]=\"true\"></mtna-wf-item>\n</mat-dialog-content>\n<mat-dialog-actions align=\"end\">\n <button mat-button mat-dialog-close>Close</button>\n</mat-dialog-actions>\n", components: [{ type: MtnaWfFormItemComponent, selector: "mtna-wf-item", inputs: ["color", "control", "header", "inList", "item", "parentIds", "readonly", "step"], outputs: ["focusedSection"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["type", "mat-dialog-close", "aria-label", "matDialogClose"], exportAs: ["matDialogClose"] }] });
2631
+ MtnaWfFormItemDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfFormItemDialogComponent, selector: "mtna-wf-form-item-dialog", ngImport: i0, template: "<h2 *ngIf=\"data.title as title\" mat-dialog-title>{{ title }}</h2>\n<mat-dialog-content>\n <mtna-wf-item *ngFor=\"let item of data.formItems\" [item]=\"item\" [readonly]=\"true\"></mtna-wf-item>\n</mat-dialog-content>\n<mat-dialog-actions align=\"end\">\n <button mat-raised-button mat-dialog-close color=\"primary\" i18n>Close</button>\n</mat-dialog-actions>\n", components: [{ type: MtnaWfFormItemComponent, selector: "mtna-wf-item", inputs: ["color", "control", "header", "inList", "item", "parentIds", "readonly", "step"], outputs: ["focusedSection"] }, { type: i3$1.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: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["type", "mat-dialog-close", "aria-label", "matDialogClose"], exportAs: ["matDialogClose"] }] });
2394
2632
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfFormItemDialogComponent, decorators: [{
2395
2633
  type: Component,
2396
2634
  args: [{
@@ -2405,6 +2643,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
2405
2643
  class MtnaWfDialogService {
2406
2644
  constructor(dialog) {
2407
2645
  this.dialog = dialog;
2646
+ this._acknowledgementText = $localize `Acknowledgement`;
2408
2647
  }
2409
2648
  /**
2410
2649
  * Display the acknowledgement the user agreed to for a given option.
@@ -2413,7 +2652,7 @@ class MtnaWfDialogService {
2413
2652
  showAcknowledgement(acknowledgementItem) {
2414
2653
  this.dialog.open(MtnaWfFormItemDialogComponent, {
2415
2654
  closeOnNavigation: true,
2416
- data: new MtnaWfFormItemDialogData(acknowledgementItem.items, acknowledgementItem.title.value || 'Acknowledgement'),
2655
+ data: new MtnaWfFormItemDialogData(acknowledgementItem.items, acknowledgementItem.title.value || this._acknowledgementText),
2417
2656
  disableClose: false,
2418
2657
  hasBackdrop: true,
2419
2658
  maxWidth: '500px',
@@ -2428,7 +2667,7 @@ class MtnaWfDialogService {
2428
2667
  return this.dialog
2429
2668
  .open(MtnaWfAcknowledgeDialogComponent, {
2430
2669
  closeOnNavigation: true,
2431
- data: new MtnaWfFormItemDialogData(acknowledgementItem.items, acknowledgementItem.title.value || 'Acknowledgement'),
2670
+ data: new MtnaWfFormItemDialogData(acknowledgementItem.items, acknowledgementItem.title.value || this._acknowledgementText),
2432
2671
  disableClose: true,
2433
2672
  hasBackdrop: true,
2434
2673
  maxWidth: '500px',
@@ -2443,6 +2682,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
2443
2682
  args: [{ providedIn: 'root' }]
2444
2683
  }], ctorParameters: function () { return [{ type: i1.MatDialog }]; } });
2445
2684
 
2685
+ /**
2686
+ * This service manages and interacts with an Angular FormGroup. It provides functionality
2687
+ * to add or remove form controls dynamically, track the form's state, and notify other
2688
+ * components about unsaved changes. This service is used to centralize form handling and
2689
+ * state management, providing a reliableway to monitor and respond to form changes.
2690
+ */
2446
2691
  class MtnaWfNgFormService {
2447
2692
  constructor() {
2448
2693
  this.unsavedChanges$ = new BehaviorSubject(false);
@@ -2596,12 +2841,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
2596
2841
  * @export
2597
2842
  */
2598
2843
  class MtnaWfManagerService {
2599
- constructor(apiService, ngFormManager, uiService) {
2844
+ constructor(apiService, ngFormService, uiService) {
2600
2845
  this.apiService = apiService;
2601
- this.ngFormManager = ngFormManager;
2846
+ this.ngFormService = ngFormService;
2602
2847
  this.uiService = uiService;
2603
2848
  this.components = new Map();
2604
2849
  this.formChange$ = new Subject();
2850
+ this.progressiveFormChange$ = new Subject();
2605
2851
  /** A map of all {@link FormItemValidationResult} keyed on id */
2606
2852
  this._formItemValidationResults = {};
2607
2853
  /**
@@ -2635,7 +2881,7 @@ class MtnaWfManagerService {
2635
2881
  let newForm = this._modifyFormItem(this._mtnaForm, change);
2636
2882
  // modify the conditions of all effected form items
2637
2883
  newForm = this._modifyFormItemConditions(newForm, change);
2638
- this.ngFormManager.removeControl(change.id, change.parentIds);
2884
+ this.ngFormService.removeControl(change.id, change.parentIds);
2639
2885
  this.formChange$.next(newForm);
2640
2886
  }
2641
2887
  else {
@@ -2645,7 +2891,7 @@ class MtnaWfManagerService {
2645
2891
  .subscribe((newItem) => {
2646
2892
  const newFormControl = this.serializeMtnaFormItem(newItem);
2647
2893
  if (newFormControl && this._mtnaForm) {
2648
- this.ngFormManager.addControl(newItem.instanceId, change.parentIds, newFormControl);
2894
+ this.ngFormService.addControl(newItem.instanceId, change.parentIds, newFormControl);
2649
2895
  // Add the new repeatable item into the mtnaform
2650
2896
  let newForm = this._modifyFormItem(this._mtnaForm, Object.assign(Object.assign({}, change), { id: newItem.instanceId }), newItem);
2651
2897
  // Generate a list of all formitem conditions needing change & modify those items in the form
@@ -2675,6 +2921,16 @@ class MtnaWfManagerService {
2675
2921
  getFormItemValidationResults() {
2676
2922
  return this._formItemValidationResults;
2677
2923
  }
2924
+ /**
2925
+ * Returns a new MtnaForm using the MtnaForm & reacive form values from the MtnaWfNgFormService's internal form.
2926
+ *
2927
+ * @param ngFormValues JSON object of ngFormValues
2928
+ * @returns
2929
+ */
2930
+ updateForm(ngFormValues) {
2931
+ const currentForm = this.ngFormService.getFormValue();
2932
+ return Object.assign(Object.assign({}, currentForm), { items: insertFormItemValues(currentForm, ngFormValues, this.uiService.getDisabledStates(), this.dynamicFormConditional, this.dynamicWebFormItemBuilder) });
2933
+ }
2678
2934
  /**
2679
2935
  * Returns a new MtnaForm using the previous MtnaForm & reactive form values.
2680
2936
  *
@@ -2793,7 +3049,7 @@ class MtnaWfManagerService {
2793
3049
  return item;
2794
3050
  }
2795
3051
  }
2796
- if (isForm(item) || isSection(item) || isFormItemGroupImpl(item) || isRepeatableItem(item)) {
3052
+ if (isForm(item) || isSection(item) || isProgressiveFormSection(item) || isFormItemGroupImpl(item) || isRepeatableItem(item)) {
2797
3053
  const items = [...item.items];
2798
3054
  const indexToModify = item.items.findIndex((i) => i.instanceId === change.parentIds[0]);
2799
3055
  const itemToModify = item.items[indexToModify];
@@ -3027,7 +3283,7 @@ class MtnaWfManagerService {
3027
3283
  }
3028
3284
  }
3029
3285
  // Only revalidate controls actually changes
3030
- const form = this.ngFormManager.getForm();
3286
+ const form = this.ngFormService.getForm();
3031
3287
  if (form) {
3032
3288
  for (const id of controlIdsToRevalidate) {
3033
3289
  const control = findFormControl(id, form);
@@ -3065,44 +3321,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
3065
3321
  type: Injectable
3066
3322
  }] });
3067
3323
 
3068
- /* eslint-disable @angular-eslint/component-selector */
3069
- class MtnaWfFormDisablerComponent {
3070
- constructor() {
3071
- this.formDisabled = false;
3072
- }
3073
- }
3074
- MtnaWfFormDisablerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfFormDisablerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3075
- MtnaWfFormDisablerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfFormDisablerComponent, selector: "[formDisabled]", inputs: { formDisabled: "formDisabled" }, ngImport: i0, template: `
3076
- <fieldset [disabled]="formDisabled">
3077
- <ng-content></ng-content>
3078
- </fieldset>
3079
- `, isInline: true, styles: ["\n fieldset {\n display: block;\n margin: unset;\n padding: unset;\n border: unset;\n }\n "] });
3080
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfFormDisablerComponent, decorators: [{
3081
- type: Component,
3082
- args: [{
3083
- selector: '[formDisabled]',
3084
- template: `
3085
- <fieldset [disabled]="formDisabled">
3086
- <ng-content></ng-content>
3087
- </fieldset>
3088
- `,
3089
- styles: [
3090
- `
3091
- fieldset {
3092
- display: block;
3093
- margin: unset;
3094
- padding: unset;
3095
- border: unset;
3096
- }
3097
- `,
3098
- ],
3099
- }]
3100
- }], propDecorators: { formDisabled: [{
3101
- type: Input
3102
- }] } });
3103
-
3104
- class MtnaWfFormComponent extends mixinDestroyNotifier(class {
3105
- }) {
3324
+ const _BaseFormComponent = mixinDestroyNotifier(class {
3325
+ });
3326
+ class MtnaWfBaseFormComponent extends _BaseFormComponent {
3106
3327
  constructor(mtnaFormManager, ngFormService, uiService) {
3107
3328
  super();
3108
3329
  this.mtnaFormManager = mtnaFormManager;
@@ -3214,7 +3435,7 @@ class MtnaWfFormComponent extends mixinDestroyNotifier(class {
3214
3435
  /**
3215
3436
  * Find a form control with the given name, then emit it's status.
3216
3437
  *
3217
- * @param name — The unique name of the form cotrol to find and emit the status for.
3438
+ * @param name — The unique name of the form control to find and emit the status for.
3218
3439
  */
3219
3440
  _emitFormControlStatus(name) {
3220
3441
  if (this.ngForm) {
@@ -3247,9 +3468,9 @@ class MtnaWfFormComponent extends mixinDestroyNotifier(class {
3247
3468
  });
3248
3469
  }
3249
3470
  // Subscribe to status changes of each step & emit on change
3250
- this._ngFormStatusChangeSub.add(control.statusChanges
3251
- .pipe(takeUntil(this.destroyed$), distinctUntilChanged())
3252
- .subscribe((status) => this.status.emit({ id: key, status })));
3471
+ this._ngFormStatusChangeSub.add(control.statusChanges.pipe(takeUntil(this.destroyed$), distinctUntilChanged()).subscribe((status) => {
3472
+ this.status.emit({ id: key, status });
3473
+ }));
3253
3474
  }
3254
3475
  }
3255
3476
  }
@@ -3310,16 +3531,12 @@ class MtnaWfFormComponent extends mixinDestroyNotifier(class {
3310
3531
  }
3311
3532
  }
3312
3533
  }
3313
- MtnaWfFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfFormComponent, deps: [{ token: MtnaWfManagerService }, { token: MtnaWfNgFormService }, { token: MtnaWfUIService }], target: i0.ɵɵFactoryTarget.Component });
3314
- MtnaWfFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfFormComponent, selector: "mtna-form", inputs: { annotations: "annotations", emitStatusOnMtnaFormChange: "emitStatusOnMtnaFormChange", mtnaForm: "mtnaForm", steps: "steps", readonly: "readonly" }, outputs: { status: "status", focusedSection: "focusedSection", mtnaFormChange: "mtnaFormChange" }, usesInheritance: true, ngImport: i0, template: "<form *ngIf=\"ngForm\" [formGroup]=\"ngForm\" [formDisabled]=\"readonly\">\n <mtna-wf-item\n *ngFor=\"let item of mtnaForm?.items; let index = index; trackBy: _trackByInstanceId\"\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</form>\n", styles: ["mtna-form form{display:block}mtna-form form .mtna-wf-section{display:block;margin:32px 0}mtna-form form fieldset[disabled] .mtna-wf-item .mtna-wf-date-item .mat-form-field.mat-form-field-appearance-outline .mat-form-field-flex:hover .mat-form-field-outline{opacity:0}mtna-form form fieldset[disabled] .mtna-wf-item .mtna-wf-date-item .mat-form-field.mat-form-field-appearance-outline .mat-form-field-flex:hover .mat-form-field-outline-thick{opacity:1}mtna-form form fieldset[disabled] .mtna-wf-item .mtna-wf-date-item .mat-form-field.mat-form-field-appearance-outline .mat-form-field-flex:hover .mat-form-field-outline-thick .mat-form-field-outline-end,mtna-form form fieldset[disabled] .mtna-wf-item .mtna-wf-date-item .mat-form-field.mat-form-field-appearance-outline .mat-form-field-flex:hover .mat-form-field-outline-thick .mat-form-field-outline-gap,mtna-form form fieldset[disabled] .mtna-wf-item .mtna-wf-date-item .mat-form-field.mat-form-field-appearance-outline .mat-form-field-flex:hover .mat-form-field-outline-thick .mat-form-field-outline-start{border-width:1px}mtna-form form fieldset[disabled] .mtna-wf-item .mtna-wf-date-item .mat-form-field.mat-form-field-appearance-outline .mat-form-field-suffix .mat-datepicker-toggle .mat-icon-button{cursor:default}mtna-form .mtna-wf-item,mtna-form .mtna-wf-title{margin-top:1rem}mtna-form .mtna-wf-text{margin:.5rem 0;font-size:.9rem}mtna-form .mtna-wf-title-item,mtna-form .mtna-wf-text-item{margin:0}\n"], components: [{ type: MtnaWfFormDisablerComponent, selector: "[formDisabled]", inputs: ["formDisabled"] }, { type: MtnaWfFormItemComponent, selector: "mtna-wf-item", inputs: ["color", "control", "header", "inList", "item", "parentIds", "readonly", "step"], outputs: ["focusedSection"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
3315
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfFormComponent, decorators: [{
3534
+ MtnaWfBaseFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfBaseFormComponent, deps: [{ token: MtnaWfManagerService }, { token: MtnaWfNgFormService }, { token: MtnaWfUIService }], target: i0.ɵɵFactoryTarget.Component });
3535
+ MtnaWfBaseFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfBaseFormComponent, selector: "ng-component", inputs: { annotations: "annotations", emitStatusOnMtnaFormChange: "emitStatusOnMtnaFormChange", mtnaForm: "mtnaForm", steps: "steps", readonly: "readonly" }, outputs: { status: "status", focusedSection: "focusedSection", mtnaFormChange: "mtnaFormChange" }, usesInheritance: true, ngImport: i0, template: ``, isInline: true });
3536
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfBaseFormComponent, decorators: [{
3316
3537
  type: Component,
3317
3538
  args: [{
3318
- selector: 'mtna-form',
3319
- templateUrl: './form.component.html',
3320
- styleUrls: ['./form.component.scss'],
3321
- changeDetection: ChangeDetectionStrategy.OnPush,
3322
- encapsulation: ViewEncapsulation.None,
3539
+ template: ``,
3323
3540
  }]
3324
3541
  }], ctorParameters: function () { return [{ type: MtnaWfManagerService }, { type: MtnaWfNgFormService }, { type: MtnaWfUIService }]; }, propDecorators: { annotations: [{
3325
3542
  type: Input
@@ -3339,6 +3556,59 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
3339
3556
  type: Output
3340
3557
  }] } });
3341
3558
 
3559
+ /* eslint-disable @angular-eslint/component-selector */
3560
+ class MtnaWfFormDisablerComponent {
3561
+ constructor() {
3562
+ this.formDisabled = false;
3563
+ }
3564
+ }
3565
+ MtnaWfFormDisablerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfFormDisablerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3566
+ MtnaWfFormDisablerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfFormDisablerComponent, selector: "[formDisabled]", inputs: { formDisabled: "formDisabled" }, ngImport: i0, template: `
3567
+ <fieldset [disabled]="formDisabled">
3568
+ <ng-content></ng-content>
3569
+ </fieldset>
3570
+ `, isInline: true, styles: ["\n fieldset {\n display: block;\n margin: unset;\n padding: unset;\n border: unset;\n }\n "] });
3571
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfFormDisablerComponent, decorators: [{
3572
+ type: Component,
3573
+ args: [{
3574
+ selector: '[formDisabled]',
3575
+ template: `
3576
+ <fieldset [disabled]="formDisabled">
3577
+ <ng-content></ng-content>
3578
+ </fieldset>
3579
+ `,
3580
+ styles: [
3581
+ `
3582
+ fieldset {
3583
+ display: block;
3584
+ margin: unset;
3585
+ padding: unset;
3586
+ border: unset;
3587
+ }
3588
+ `,
3589
+ ],
3590
+ }]
3591
+ }], propDecorators: { formDisabled: [{
3592
+ type: Input
3593
+ }] } });
3594
+
3595
+ /* eslint-disable @angular-eslint/no-outputs-metadata-property */
3596
+ class MtnaWfFormComponent extends MtnaWfBaseFormComponent {
3597
+ }
3598
+ MtnaWfFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfFormComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
3599
+ MtnaWfFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfFormComponent, selector: "mtna-form", outputs: { status: "status", focusedSection: "focusedSection", mtnaFormChange: "mtnaFormChange" }, usesInheritance: true, ngImport: i0, template: "<form *ngIf=\"ngForm\" [formGroup]=\"ngForm\" [formDisabled]=\"readonly\">\n <mtna-wf-item\n *ngFor=\"let item of mtnaForm?.items; let index = index; trackBy: _trackByInstanceId\"\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</form>\n", styles: ["mtna-form form{display:block}mtna-form form .mtna-wf-section{display:block;margin:32px 0}mtna-form form fieldset[disabled] .mtna-wf-item .mtna-wf-date-item .mat-form-field.mat-form-field-appearance-outline .mat-form-field-flex:hover .mat-form-field-outline{opacity:0}mtna-form form fieldset[disabled] .mtna-wf-item .mtna-wf-date-item .mat-form-field.mat-form-field-appearance-outline .mat-form-field-flex:hover .mat-form-field-outline-thick{opacity:1}mtna-form form fieldset[disabled] .mtna-wf-item .mtna-wf-date-item .mat-form-field.mat-form-field-appearance-outline .mat-form-field-flex:hover .mat-form-field-outline-thick .mat-form-field-outline-end,mtna-form form fieldset[disabled] .mtna-wf-item .mtna-wf-date-item .mat-form-field.mat-form-field-appearance-outline .mat-form-field-flex:hover .mat-form-field-outline-thick .mat-form-field-outline-gap,mtna-form form fieldset[disabled] .mtna-wf-item .mtna-wf-date-item .mat-form-field.mat-form-field-appearance-outline .mat-form-field-flex:hover .mat-form-field-outline-thick .mat-form-field-outline-start{border-width:1px}mtna-form form fieldset[disabled] .mtna-wf-item .mtna-wf-date-item .mat-form-field.mat-form-field-appearance-outline .mat-form-field-suffix .mat-datepicker-toggle .mat-icon-button{cursor:default}mtna-form .mtna-wf-item,mtna-form .mtna-wf-title{margin-top:1rem}mtna-form .mtna-wf-text{margin:.5rem 0;font-size:.9rem}mtna-form .mtna-wf-title-item,mtna-form .mtna-wf-text-item{margin:0}\n"], components: [{ type: MtnaWfFormDisablerComponent, selector: "[formDisabled]", inputs: ["formDisabled"] }, { type: MtnaWfFormItemComponent, selector: "mtna-wf-item", inputs: ["color", "control", "header", "inList", "item", "parentIds", "readonly", "step"], outputs: ["focusedSection"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
3600
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfFormComponent, decorators: [{
3601
+ type: Component,
3602
+ args: [{
3603
+ selector: 'mtna-form',
3604
+ templateUrl: './form.component.html',
3605
+ styleUrls: ['./form.component.scss'],
3606
+ changeDetection: ChangeDetectionStrategy.OnPush,
3607
+ encapsulation: ViewEncapsulation.None,
3608
+ outputs: ['status', 'focusedSection', 'mtnaFormChange'],
3609
+ }]
3610
+ }] });
3611
+
3342
3612
  class MtnaWfFormDisablerModule {
3343
3613
  }
3344
3614
  MtnaWfFormDisablerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfFormDisablerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
@@ -3359,18 +3629,25 @@ const _FormStepMixinBase$1 = mixinColor(class {
3359
3629
  this._elementRef = _elementRef;
3360
3630
  }
3361
3631
  }, 'primary');
3632
+ /**
3633
+ * A component that represents a single step in a form stepper.
3634
+ * NOTE:
3635
+ * - disabled: property on the FormStep used to determine if the step is disabled. This will affect the disabled property and the clickable property.
3636
+ * - clickable: property on the FormStep used to determine if the step is clickable. This does not affect the disabled property.
3637
+ */
3362
3638
  class MtnaWfFormStepComponent extends _FormStepMixinBase$1 {
3363
3639
  constructor(elementRef) {
3364
3640
  super(elementRef);
3365
3641
  this.disabled = false;
3366
3642
  this._clickable = true;
3643
+ this.notApplicableText = $localize `Not Applicable`;
3367
3644
  }
3368
3645
  get step() {
3369
3646
  return this._step;
3370
3647
  }
3371
3648
  set step(step) {
3372
3649
  this._step = step;
3373
- this.disabled = step.status === 'DISABLED';
3650
+ this.disabled = step.status === 'DISABLED' || step.disabled;
3374
3651
  }
3375
3652
  get clickable() {
3376
3653
  return !this.disabled && this._clickable;
@@ -3389,7 +3666,7 @@ class MtnaWfFormStepComponent extends _FormStepMixinBase$1 {
3389
3666
  }
3390
3667
  }
3391
3668
  MtnaWfFormStepComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfFormStepComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
3392
- MtnaWfFormStepComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfFormStepComponent, selector: "mtna-wf-step", inputs: { color: "color", step: "step", clickable: "clickable", incompleteIcon: "incompleteIcon" }, host: { properties: { "class.disabled": "this.disabled", "class.clickable": "this.clickable" } }, usesInheritance: true, ngImport: i0, template: "<li\n fxLayout=\"row\"\n fxLayoutAlign=\"start center\"\n matRipple\n [matRippleDisabled]=\"!clickable\"\n [class.active-step]=\"step.active\"\n (click)=\"_haltClickEvent($event)\"\n>\n <mtna-status-circle\n [color]=\"color\"\n [circleNumber]=\"step.num\"\n [incompleteIcon]=\"incompleteIcon\"\n [optional]=\"step.optional\"\n [status]=\"step.status\"\n ></mtna-status-circle>\n <div fxLayout=\"column\" fxFlex=\"100\">\n <p class=\"step-title\">{{ step.label }}</p>\n <p *ngIf=\"step.optional || disabled\" class=\"step-status\">{{ disabled ? step.disabledText || 'Not Applicable' : 'Optional' }}</p>\n </div>\n</li>\n", styles: ["mtna-wf-step li{padding:8px 16px;position:relative;-webkit-user-select:none;-o-user-select:none;user-select:none;line-height:24px;font-size:14px;transition:background-color .15s cubic-bezier(0,0,.2,1)}mtna-wf-step li:after{content:\"\";display:block;position:absolute;top:0;right:0;bottom:0;width:5px;transition:transform .4s cubic-bezier(.25,.8,.25,1);transform-origin:bottom;transform:scaleY(0);z-index:1}mtna-wf-step li .step-title,mtna-wf-step li .step-status{margin:0}mtna-wf-step.disabled{font-style:italic}\n"], components: [{ type: i1$1.MtnaStatusCircleComponent, selector: "mtna-status-circle", inputs: ["color", "circleNumber", "incompleteIcon", "status", "validIcon", "optional"] }], directives: [{ type: i3$2.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: i3$2.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: i3$3.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleRadius", "matRippleDisabled", "matRippleTrigger", "matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleAnimation"], exportAs: ["matRipple"] }, { type: i3$2.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: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
3669
+ MtnaWfFormStepComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfFormStepComponent, selector: "mtna-wf-step", inputs: { color: "color", step: "step", clickable: "clickable", incompleteIcon: "incompleteIcon" }, host: { properties: { "class.disabled": "this.disabled", "class.clickable": "this.clickable" } }, usesInheritance: true, ngImport: i0, template: "<li\n fxLayout=\"row\"\n fxLayoutAlign=\"start center\"\n matRipple\n [matRippleDisabled]=\"!clickable\"\n [class.active-step]=\"step.active\"\n (click)=\"_haltClickEvent($event)\"\n>\n <mtna-status-circle\n [color]=\"color\"\n [circleNumber]=\"step.num\"\n [incompleteIcon]=\"incompleteIcon\"\n [optional]=\"step.optional\"\n [status]=\"step.status\"\n ></mtna-status-circle>\n <div fxLayout=\"column\" fxFlex=\"100\">\n <p class=\"step-title\">{{ step.label }}</p>\n <p *ngIf=\"step.optional && !disabled\" class=\"step-status\" i18n>Optional</p>\n <p *ngIf=\"disabled\" class=\"step-status\">{{ step.disabledText || notApplicableText }}</p>\n </div>\n</li>\n", styles: ["mtna-wf-step li{padding:8px 16px;position:relative;-webkit-user-select:none;-o-user-select:none;user-select:none;line-height:24px;font-size:14px;transition:background-color .15s cubic-bezier(0,0,.2,1)}mtna-wf-step li:after{content:\"\";display:block;position:absolute;top:0;right:0;bottom:0;width:5px;transition:transform .4s cubic-bezier(.25,.8,.25,1);transform-origin:bottom;transform:scaleY(0);z-index:1}mtna-wf-step li .step-title,mtna-wf-step li .step-status{margin:0}mtna-wf-step.disabled{font-style:italic}\n"], components: [{ type: i4.MtnaStatusCircleComponent, selector: "mtna-status-circle", inputs: ["color", "circleNumber", "incompleteIcon", "status", "validIcon", "optional"] }], directives: [{ type: i3$2.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: i3$2.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: i3$3.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleRadius", "matRippleDisabled", "matRippleTrigger", "matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleAnimation"], exportAs: ["matRipple"] }, { type: i3$2.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: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
3393
3670
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfFormStepComponent, decorators: [{
3394
3671
  type: Component,
3395
3672
  args: [{
@@ -3427,6 +3704,8 @@ class MtnaWfFormStepGroupComponent extends _FormStepMixinBase {
3427
3704
  this.collapsed = false;
3428
3705
  this._steps = [];
3429
3706
  this.selected = new EventEmitter();
3707
+ this._collapsedText = $localize `View All`;
3708
+ this._hideText = $localize `Hide`;
3430
3709
  }
3431
3710
  /** Steps to be displayed */
3432
3711
  get steps() {
@@ -3437,7 +3716,7 @@ class MtnaWfFormStepGroupComponent extends _FormStepMixinBase {
3437
3716
  }
3438
3717
  }
3439
3718
  MtnaWfFormStepGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfFormStepGroupComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
3440
- MtnaWfFormStepGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfFormStepGroupComponent, selector: "mtna-wf-step-group", inputs: { color: "color", collapsed: "collapsed", incompleteIcon: "incompleteIcon", steps: "steps" }, outputs: { selected: "selected" }, usesInheritance: true, ngImport: i0, template: "<ng-container *ngFor=\"let step of steps | slice : 0 : (collapsed ? 1 : steps.length); let last = last\">\n <mtna-wf-step\n [clickable]=\"step.status !== 'DISABLED'\"\n [color]=\"color\"\n [incompleteIcon]=\"incompleteIcon\"\n [step]=\"step\"\n (click)=\"selected.emit(step)\"\n ></mtna-wf-step>\n <mat-divider *ngIf=\"!last\" [vertical]=\"true\"></mat-divider>\n <p *ngIf=\"collapsed\" class=\"show-more mat-caption\">and {{ steps.length - 1 }} more...</p>\n</ng-container>\n<button\n mat-icon-button\n class=\"collapse-button\"\n [color]=\"color\"\n (click)=\"collapsed = !collapsed\"\n [matTooltip]=\"collapsed ? 'View All' : 'Hide'\"\n>\n <mat-icon>{{ collapsed ? 'expand_more' : 'expand_less' }}</mat-icon>\n</button>\n", styles: ["mtna-wf-step-group{border-style:solid;border-radius:4px;border-width:1px;display:block;margin:4px 4px 16px 8px;padding-bottom:16px;position:relative}mtna-wf-step-group .collapse-button{bottom:-19px;left:calc(50% - 20px);position:absolute;z-index:10}mtna-wf-step-group .collapse-button:after{bottom:8px;content:\"\";height:12px;left:calc(50% - 16px);position:absolute;width:32px;z-index:-1}mtna-wf-step-group mtna-wf-step li{padding-left:8px}mtna-wf-step-group mat-divider.mat-divider{margin-left:20px}mtna-wf-step-group .show-more{margin:0;text-align:center}\n"], components: [{ type: MtnaWfFormStepComponent, selector: "mtna-wf-step", inputs: ["color", "step", "clickable", "incompleteIcon"] }, { type: i2$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { type: i3$1.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"] }, { type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6$1.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }], pipes: { "slice": i3.SlicePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
3719
+ MtnaWfFormStepGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfFormStepGroupComponent, selector: "mtna-wf-step-group", inputs: { color: "color", collapsed: "collapsed", incompleteIcon: "incompleteIcon", steps: "steps" }, outputs: { selected: "selected" }, usesInheritance: true, ngImport: i0, template: "<ng-container *ngFor=\"let step of steps | slice : 0 : (collapsed ? 1 : steps.length); let last = last\">\n <mtna-wf-step\n [clickable]=\"step.status !== 'DISABLED' && step.status !== 'PLACEHOLDER'\"\n [color]=\"color\"\n [incompleteIcon]=\"incompleteIcon\"\n [step]=\"step\"\n (click)=\"selected.emit(step)\"\n ></mtna-wf-step>\n <mat-divider *ngIf=\"!last\" [vertical]=\"true\"></mat-divider>\n <p *ngIf=\"collapsed\" class=\"show-more mat-caption\" i18n>and {{ steps.length - 1 }} more...</p>\n</ng-container>\n<button\n mat-icon-button\n class=\"collapse-button\"\n [color]=\"color\"\n (click)=\"collapsed = !collapsed\"\n [matTooltip]=\"collapsed ? _collapsedText : _hideText\"\n>\n <mat-icon>{{ collapsed ? 'expand_more' : 'expand_less' }}</mat-icon>\n</button>\n", styles: ["mtna-wf-step-group{border-style:solid;border-radius:4px;border-width:1px;display:block;margin:4px 4px 16px 8px;padding-bottom:16px;position:relative}mtna-wf-step-group .collapse-button{bottom:-19px;left:calc(50% - 20px);position:absolute;z-index:10}mtna-wf-step-group .collapse-button:after{bottom:8px;content:\"\";height:12px;left:calc(50% - 16px);position:absolute;width:32px;z-index:-1}mtna-wf-step-group mtna-wf-step li{padding-left:8px}mtna-wf-step-group mat-divider.mat-divider{margin-left:20px}mtna-wf-step-group .show-more{margin:0;text-align:center}\n"], components: [{ type: MtnaWfFormStepComponent, selector: "mtna-wf-step", inputs: ["color", "step", "clickable", "incompleteIcon"] }, { type: i2$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { type: i3$1.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"] }, { type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6$1.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }], pipes: { "slice": i3.SlicePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
3441
3720
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfFormStepGroupComponent, decorators: [{
3442
3721
  type: Component,
3443
3722
  args: [{
@@ -3473,10 +3752,21 @@ const _FormStepperMixinBase = mixinColor(class {
3473
3752
  class MtnaWfFormStepperComponent extends _FormStepperMixinBase {
3474
3753
  constructor(elementRef) {
3475
3754
  super(elementRef);
3476
- /** Form steps */
3477
- this.steps = [];
3755
+ this._steps = [];
3478
3756
  /** When a step is selected */
3479
3757
  this.selected = new EventEmitter();
3758
+ this.groupStepCollapsedMap = {};
3759
+ this.notApplicableText = $localize `Not Applicable`;
3760
+ this._collapsedText = $localize `View All`;
3761
+ this._hideText = $localize `Hide`;
3762
+ }
3763
+ /** Form steps */
3764
+ get steps() {
3765
+ return this._steps;
3766
+ }
3767
+ set steps(steps) {
3768
+ this._steps = steps;
3769
+ this.createGroupStepCollapsedMap(steps);
3480
3770
  }
3481
3771
  /**
3482
3772
  * Improves effeciency of the *ngFor loop that creates the steps.
@@ -3488,14 +3778,37 @@ class MtnaWfFormStepperComponent extends _FormStepperMixinBase {
3488
3778
  _trackStep(index, step) {
3489
3779
  return step.instanceId || index;
3490
3780
  }
3781
+ /**
3782
+ * Prevents click event if this step is not clickable
3783
+ */
3784
+ _haltClickEvent(event, step) {
3785
+ const clickable = step.status !== 'DISABLED' && step.status !== 'PLACEHOLDER';
3786
+ if (!clickable) {
3787
+ event.preventDefault();
3788
+ event.stopImmediatePropagation();
3789
+ }
3790
+ }
3791
+ createGroupStepCollapsedMap(steps) {
3792
+ steps.forEach((step) => {
3793
+ if (isFormStepGroup(step)) {
3794
+ this.groupStepCollapsedMap[step.instanceId] = step.collapsed;
3795
+ }
3796
+ });
3797
+ console.warn('groupStepCollapsedMap', this.groupStepCollapsedMap);
3798
+ }
3799
+ toggleGroupStep(step) {
3800
+ this.groupStepCollapsedMap[step.instanceId] = !this.groupStepCollapsedMap[step.instanceId];
3801
+ console.warn('groupStepCollapsedMap', this.groupStepCollapsedMap);
3802
+ }
3491
3803
  }
3492
3804
  MtnaWfFormStepperComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfFormStepperComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
3493
- MtnaWfFormStepperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfFormStepperComponent, selector: "mtna-wf-stepper", inputs: { color: "color", incompleteIcon: "incompleteIcon", steps: "steps" }, outputs: { selected: "selected" }, usesInheritance: true, ngImport: i0, template: "<ol>\n <ng-container *ngFor=\"let step of steps; let last = last; trackBy: _trackStep\">\n <ng-container\n [ngTemplateOutlet]=\"(step | mtnaWfStepGroupPipe) ? groupStep : singleStep\"\n [ngTemplateOutletContext]=\"{ $implicit: step }\"\n ></ng-container>\n <mat-divider *ngIf=\"!last\" [vertical]=\"true\"></mat-divider>\n </ng-container>\n <ng-template #singleStep let-step>\n <mtna-wf-step\n [clickable]=\"step.status !== 'DISABLED'\"\n [color]=\"color\"\n [step]=\"step\"\n [incompleteIcon]=\"incompleteIcon\"\n (click)=\"selected.emit(step)\"\n ></mtna-wf-step>\n </ng-template>\n <ng-template #groupStep let-step>\n <mtna-wf-step-group\n [collapsed]=\"step.collapsed\"\n [color]=\"color\"\n [incompleteIcon]=\"incompleteIcon\"\n [steps]=\"step.steps\"\n (selected)=\"selected.emit($event)\"\n ></mtna-wf-step-group>\n </ng-template>\n</ol>\n", styles: ["mtna-wf-stepper{border-right-width:1px;border-right-style:solid;overflow-y:auto}mtna-wf-stepper mtna-wf-step li.active-step:after{transform-origin:top;transform:scaleY(1)}mtna-wf-stepper mtna-wf-step.clickable{cursor:pointer}mtna-wf-stepper mat-divider.mat-divider{height:24px;width:1px;margin-left:28px}mtna-wf-stepper ol{padding:0}\n"], components: [{ type: i2$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { type: MtnaWfFormStepComponent, selector: "mtna-wf-step", inputs: ["color", "step", "clickable", "incompleteIcon"] }, { type: MtnaWfFormStepGroupComponent, selector: "mtna-wf-step-group", inputs: ["color", "collapsed", "incompleteIcon", "steps"], outputs: ["selected"] }], directives: [{ type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "mtnaWfStepGroupPipe": MtnaWfFormStepGroupPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
3805
+ MtnaWfFormStepperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfFormStepperComponent, selector: "mtna-wf-stepper", inputs: { color: "color", incompleteIcon: "incompleteIcon", steps: "steps" }, outputs: { selected: "selected" }, usesInheritance: true, ngImport: i0, template: "<ol>\n <ng-container *ngFor=\"let step of steps; let last = last; trackBy: _trackStep\">\n <ng-container\n [ngTemplateOutlet]=\"(step | mtnaWfStepGroupPipe) ? groupStep : singleStep\"\n [ngTemplateOutletContext]=\"{ $implicit: step }\"\n ></ng-container>\n </ng-container>\n</ol>\n\n<ng-template #singleStep let-step>\n <ng-container *ngIf=\"step | coerceFormStep as singleStep\">\n <li\n fxLayout=\"row\"\n fxLayouAlign=\"start center\"\n [ngClass]=\"{\n 'disabled-step': singleStep.status === 'DISABLED',\n 'active-step': singleStep.active,\n 'clickable': singleStep.status !== 'DISABLED' && singleStep.status !== 'PLACEHOLDER'\n }\"\n >\n <ng-container [ngTemplateOutlet]=\"stepContent\" [ngTemplateOutletContext]=\"{ $implicit: singleStep }\"></ng-container>\n </li>\n </ng-container>\n</ng-template>\n\n<ng-template #groupStep let-step>\n <ng-container *ngIf=\"step | coerceFormStepGroup as groupStepParent\">\n <li fxLayout=\"column\" fxLayoutAlign=\"start start\" [class.child-step-active]=\"(groupStepParent.steps | childStepActive) && groupStepCollapsedMap[groupStepParent.instanceId]\">\n <div fxFlex=\"100\" fxLayout=\"row\" fxLayoutAlign=\"start center\" class=\"mtna-wf-step-item-content\">\n <button fxFlex mat-button class=\"step-button\" [attr.aria-label]=\"groupStepParent | getStepAriaLabel : groupStepCollapsedMap[groupStepParent.instanceId]\" (click)=\"toggleGroupStep(step)\">\n <mtna-status-circle [color]=\"color\" [circleNumber]=\"groupStepParent.num\" [incompleteIcon]=\"incompleteIcon\"></mtna-status-circle>\n <div fxLayout=\"row\" class=\"step-button-label-wrapper\" fxFlex=\"100\">\n <p class=\"step-title\">{{ groupStepParent.label }}</p>\n </div>\n <mat-icon>{{ groupStepCollapsedMap[step.instanceId] ? 'expand_more' : 'expand_less' }}</mat-icon>\n </button>\n </div>\n <ol class=\"group-step-list\">\n <ng-container\n *ngFor=\"let groupStep of step.steps | slice : 0 : (groupStepCollapsedMap[step.instanceId] ? 0 : step.steps.length); let last = last\"\n >\n <!-- All children in the steps property of FormStepGroup are FormStep(s). Only using coercion here to assist in defining properties we can use. -->\n <li\n *ngIf=\"groupStep | coerceFormStep as groupStepChild\"\n fxLayout=\"row\"\n fxLayouAlign=\"start center\"\n [ngClass]=\"{\n 'disabled-step': groupStepChild.status === 'DISABLED',\n 'active-step': groupStepChild.active,\n 'clickable': groupStepChild.status !== 'DISABLED' && groupStepChild.status !== 'PLACEHOLDER',\n 'group-step': true\n }\"\n >\n <ng-container [ngTemplateOutlet]=\"stepContent\" [ngTemplateOutletContext]=\"{ $implicit: groupStepChild, isChildStep: true }\"></ng-container>\n </li>\n </ng-container>\n </ol>\n </li>\n </ng-container>\n</ng-template>\n\n<!-- The individual, stand-alone step template -->\n<ng-template #stepContent let-step let-isChildStep=\"isChildStep\">\n <div fxFlex=\"100\" fxLayout=\"row\" fxLayoutAlign=\"start center\" class=\"mtna-wf-step-item-content\">\n <mat-divider *ngIf=\"isChildStep\" [vertical]=\"true\"></mat-divider>\n <button fxFlex mat-button class=\"step-button\" [attr.aria-label]=\"step | getStepAriaLabel\" [disabled]=\"step.status === 'DISABLED' || step.status === 'PLACEHOLDER'\" (click)=\"_haltClickEvent($event, step)\">\n <mtna-status-circle\n [color]=\"color\"\n [circleNumber]=\"step.num\"\n [incompleteIcon]=\"incompleteIcon\"\n [optional]=\"step.optional\"\n [status]=\"step.status\"\n ></mtna-status-circle>\n <div fxLayout=\"column\" class=\"step-button-label-wrapper\">\n <p class=\"step-title\">{{ step.label }}</p>\n <p *ngIf=\"step.optional && step.status !== 'DISABLED'\" class=\"step-status\" i18n>Optional</p>\n <p *ngIf=\"step.status === 'DISABLED'\" class=\"step-status\">{{ step.disabledText || notApplicableText }}</p>\n </div>\n </button>\n </div>\n</ng-template>\n", styles: ["mtna-wf-stepper{border-right-width:1px;border-right-style:solid;overflow-y:auto}mtna-wf-stepper li{padding:0 0 0 16px;position:relative;-webkit-user-select:none;-o-user-select:none;user-select:none;line-height:24px;font-size:14px;transition:background-color .15s cubic-bezier(0,0,.2,1)}mtna-wf-stepper li:after{content:\"\";display:block;position:absolute;top:0;right:0;bottom:0;width:5px;transition:transform .4s cubic-bezier(.25,.8,.25,1);transform-origin:bottom;transform:scaleY(0);z-index:1}mtna-wf-stepper li.disabled-step{font-style:italic}mtna-wf-stepper li.clickable{cursor:pointer}mtna-wf-stepper li.active-step:after,mtna-wf-stepper li.child-step-active:after{transform-origin:top;transform:scaleY(1)}mtna-wf-stepper li:not(.group-step){padding-left:0}mtna-wf-stepper li .mtna-wf-step-item-content{width:100%}mtna-wf-stepper li .mtna-wf-step-item-content mat-divider.mat-divider.mat-divider-vertical{height:100%}mtna-wf-stepper li .mtna-wf-step-item-content .mat-button.step-button{text-align:left;height:-moz-fit-content;height:fit-content;min-height:36px;line-height:20px;border:none;padding:4px 13px 4px 8px;font-weight:400;border-radius:0}mtna-wf-stepper li .mtna-wf-step-item-content .mat-button.step-button .mat-button-wrapper{align-items:center;display:flex;flex-direction:row}mtna-wf-stepper li .mtna-wf-step-item-content .mat-button.step-button .mat-button-wrapper .step-button-label-wrapper{width:calc(100% - 48px - 8px)}mtna-wf-stepper li .mtna-wf-step-item-content .mat-button.step-button .mat-button-wrapper .step-button-label-wrapper .step-title{margin:0;overflow:hidden;white-space:wrap}mtna-wf-stepper li .mtna-wf-step-item-content .mat-button.step-button .mat-button-wrapper .step-button-label-wrapper .step-status{margin:0}mtna-wf-stepper li.active-step .mtna-wf-step-item-content .mat-button.step-button{font-weight:500}mtna-wf-stepper li .step-title,mtna-wf-stepper li .step-status{margin:0}mtna-wf-stepper ol:not(.group-step-list){padding:0}mtna-wf-stepper ol.group-step-list{padding-left:16px;width:calc(100% - 16px)}mtna-wf-stepper ol li.group-step{padding-left:0;padding-right:0}\n"], components: [{ type: i3$1.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"] }, { type: i4.MtnaStatusCircleComponent, selector: "mtna-status-circle", inputs: ["color", "circleNumber", "incompleteIcon", "status", "validIcon", "optional"] }, { type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i2$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }], directives: [{ type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3$2.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: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i7.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { type: i3$2.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: i3$2.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"] }], pipes: { "mtnaWfStepGroupPipe": MtnaWfFormStepGroupPipe, "coerceFormStep": CoerceFormStepPipe, "coerceFormStepGroup": CoerceFormStepGroupPipe, "childStepActive": ChildStepActivePipe, "getStepAriaLabel": GetStepAriaLabel, "slice": i3.SlicePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
3494
3806
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfFormStepperComponent, decorators: [{
3495
3807
  type: Component,
3496
3808
  args: [{
3497
3809
  selector: 'mtna-wf-stepper',
3498
- templateUrl: './form-stepper.component.html',
3810
+ // templateUrl: './form-stepper.component.html',
3811
+ templateUrl: './form-stepper-new.component.html',
3499
3812
  styleUrls: ['./form-stepper.component.scss'],
3500
3813
  inputs: ['color'],
3501
3814
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -3520,7 +3833,11 @@ MtnaWfFormStepperModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0",
3520
3833
  MatButtonModule,
3521
3834
  MatTooltipModule,
3522
3835
  MatIconModule,
3523
- MtnaWfFormStepGroupPipeModule], exports: [MtnaWfFormStepComponent, MtnaWfFormStepGroupComponent, MtnaWfFormStepperComponent] });
3836
+ MtnaWfFormStepGroupPipeModule,
3837
+ CoerceFormStepGroupPipeModule,
3838
+ CoerceFormStepPipeModule,
3839
+ ChildStepActivePipeModule,
3840
+ GetStepAriaLabelModule], exports: [MtnaWfFormStepComponent, MtnaWfFormStepGroupComponent, MtnaWfFormStepperComponent] });
3524
3841
  MtnaWfFormStepperModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfFormStepperModule, imports: [[
3525
3842
  CommonModule,
3526
3843
  FlexLayoutModule,
@@ -3531,6 +3848,10 @@ MtnaWfFormStepperModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0",
3531
3848
  MatTooltipModule,
3532
3849
  MatIconModule,
3533
3850
  MtnaWfFormStepGroupPipeModule,
3851
+ CoerceFormStepGroupPipeModule,
3852
+ CoerceFormStepPipeModule,
3853
+ ChildStepActivePipeModule,
3854
+ GetStepAriaLabelModule
3534
3855
  ]] });
3535
3856
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfFormStepperModule, decorators: [{
3536
3857
  type: NgModule,
@@ -3545,9 +3866,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
3545
3866
  MatTooltipModule,
3546
3867
  MatIconModule,
3547
3868
  MtnaWfFormStepGroupPipeModule,
3869
+ CoerceFormStepGroupPipeModule,
3870
+ CoerceFormStepPipeModule,
3871
+ ChildStepActivePipeModule,
3872
+ GetStepAriaLabelModule
3548
3873
  ],
3549
- exports: [MtnaWfFormStepComponent, MtnaWfFormStepGroupComponent, MtnaWfFormStepperComponent],
3550
3874
  declarations: [MtnaWfFormStepComponent, MtnaWfFormStepGroupComponent, MtnaWfFormStepperComponent],
3875
+ exports: [MtnaWfFormStepComponent, MtnaWfFormStepGroupComponent, MtnaWfFormStepperComponent],
3551
3876
  }]
3552
3877
  }] });
3553
3878
 
@@ -3566,6 +3891,14 @@ class MtnaWfStepCardComponent extends _StepCardMixinBase {
3566
3891
  var _a;
3567
3892
  return !!((_a = this.step) === null || _a === void 0 ? void 0 : _a.active);
3568
3893
  }
3894
+ // @Input() step: FormStep | null | undefined;
3895
+ get step() {
3896
+ return this._step;
3897
+ }
3898
+ set step(step) {
3899
+ this._step = step;
3900
+ console.warn({ stepInsideStepCard: step });
3901
+ }
3569
3902
  handleFocusChange(event) {
3570
3903
  if (!!this.step && !!event && !this.step.active) {
3571
3904
  this.focused.emit(this.step);
@@ -3573,7 +3906,7 @@ class MtnaWfStepCardComponent extends _StepCardMixinBase {
3573
3906
  }
3574
3907
  }
3575
3908
  MtnaWfStepCardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfStepCardComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
3576
- 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$4.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { type: i1$4.MatCardHeader, selector: "mat-card-header" }, { type: i1$1.MtnaStatusCircleComponent, selector: "mtna-status-circle", inputs: ["color", "circleNumber", "incompleteIcon", "status", "validIcon", "optional"] }, { type: i2$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }], directives: [{ type: i4.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"] }, { type: i1$4.MatCardAvatar, selector: "[mat-card-avatar], [matCardAvatar]" }, { type: i1$4.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { type: i1$4.MatCardSubtitle, selector: "mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]" }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$4.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { type: i1$4.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }], pipes: { "mtnaWfSanitizeHtml": MtnaWfSanitizeHtmlPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
3909
+ 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$3.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { type: i1$3.MatCardHeader, selector: "mat-card-header" }, { type: i4.MtnaStatusCircleComponent, selector: "mtna-status-circle", inputs: ["color", "circleNumber", "incompleteIcon", "status", "validIcon", "optional"] }, { type: i2$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }], directives: [{ type: i4$1.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"] }, { type: i1$3.MatCardAvatar, selector: "[mat-card-avatar], [matCardAvatar]" }, { type: i1$3.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { type: i1$3.MatCardSubtitle, selector: "mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]" }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$3.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { type: i1$3.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }], pipes: { "mtnaWfSanitizeHtml": MtnaWfSanitizeHtmlPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
3577
3910
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfStepCardComponent, decorators: [{
3578
3911
  type: Component,
3579
3912
  args: [{
@@ -3598,12 +3931,34 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
3598
3931
  class MtnaWfStepCardModule {
3599
3932
  }
3600
3933
  MtnaWfStepCardModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfStepCardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3601
- MtnaWfStepCardModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfStepCardModule, declarations: [MtnaWfStepCardComponent], imports: [A11yModule, CommonModule, MatCardModule, MtnaStatusCircleModule, MtnaWfSanitizeHtmlPipeModule, MatDividerModule], exports: [MtnaWfStepCardComponent] });
3602
- MtnaWfStepCardModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfStepCardModule, imports: [[A11yModule, CommonModule, MatCardModule, MtnaStatusCircleModule, MtnaWfSanitizeHtmlPipeModule, MatDividerModule]] });
3934
+ MtnaWfStepCardModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfStepCardModule, declarations: [MtnaWfStepCardComponent], imports: [A11yModule,
3935
+ CommonModule,
3936
+ MatCardModule,
3937
+ MtnaStatusCircleModule,
3938
+ MtnaWfSanitizeHtmlPipeModule,
3939
+ MatDividerModule,
3940
+ MtnaWfFormItemModule], exports: [MtnaWfStepCardComponent] });
3941
+ MtnaWfStepCardModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfStepCardModule, imports: [[
3942
+ A11yModule,
3943
+ CommonModule,
3944
+ MatCardModule,
3945
+ MtnaStatusCircleModule,
3946
+ MtnaWfSanitizeHtmlPipeModule,
3947
+ MatDividerModule,
3948
+ MtnaWfFormItemModule,
3949
+ ]] });
3603
3950
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfStepCardModule, decorators: [{
3604
3951
  type: NgModule,
3605
3952
  args: [{
3606
- imports: [A11yModule, CommonModule, MatCardModule, MtnaStatusCircleModule, MtnaWfSanitizeHtmlPipeModule, MatDividerModule],
3953
+ imports: [
3954
+ A11yModule,
3955
+ CommonModule,
3956
+ MatCardModule,
3957
+ MtnaStatusCircleModule,
3958
+ MtnaWfSanitizeHtmlPipeModule,
3959
+ MatDividerModule,
3960
+ MtnaWfFormItemModule,
3961
+ ],
3607
3962
  declarations: [MtnaWfStepCardComponent],
3608
3963
  exports: [MtnaWfStepCardComponent],
3609
3964
  }]
@@ -3668,7 +4023,7 @@ class MtnaWfBooleanComponent extends MtnaWfBaseParentValueItem {
3668
4023
  }
3669
4024
  }
3670
4025
  MtnaWfBooleanComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfBooleanComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: MtnaWfUIService }], target: i0.ɵɵFactoryTarget.Component });
3671
- MtnaWfBooleanComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfBooleanComponent, selector: "mtna-wf-boolean-item", usesInheritance: true, ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"header\"></ng-container>\n<mat-slide-toggle\n *ngIf=\"control\"\n [formControl]=\"control\"\n [disabled]=\"readonly\"\n [mtnaHighlight]=\"indicatorStatus === 'ACTIVE'\"\n (change)=\"toggleChange($event)\"\n >{{ item.option.option.name }}</mat-slide-toggle\n>\n<ng-container *ngIf=\"!!item.optionItemMap\">\n <mtna-wf-item\n *ngFor=\"let f of item.optionItemMap | keyvalue; trackBy: _trackByInstanceId\"\n [item]=\"f.value\"\n [control]=\"!!controlWrapper && controlWrapper.controls ? controlWrapper.controls[f.value.instanceId] : undefined\"\n [parentIds]=\"parentIds\"\n [readonly]=\"readonly\"\n ></mtna-wf-item>\n <ng-container> </ng-container>\n</ng-container>\n", styles: ["mtna-annotations-indicator+mtna-wf-item-injector+mtna-wf-boolean-item{padding-right:24px}mtna-wf-boolean-item{display:block}mtna-wf-boolean-item.mtna-wf-control-item .mat-form-field{width:100%}mtna-wf-boolean-item.mtna-wf-control-item .mtna-wf-error-container{font-size:75%;line-height:1;min-height:1em;margin-top:-.75rem}mtna-wf-boolean-item.mtna-wf-control-item .control-item-content{padding:.35em .75em .625em}mtna-wf-boolean-item.mtna-wf-control-item .mtna-wf-item-header~:not(.mtna-wf-error-container):not(.mat-list){padding-left:.75em}mtna-wf-boolean-item.mtna-wf-control-item .mtna-wf-item-header~:not(.mtna-wf-error-container):not(.mat-list).mat-form-field{width:calc(100% - .75em)}mtna-wf-boolean-item .mat-slide-toggle{margin:4px 0}mtna-wf-boolean-item .mat-slide-toggle+mtna-wf-item{margin-top:0}mtna-wf-boolean-item .mat-slide-toggle~mtna-wf-item{padding-left:18px}mtna-wf-boolean-item.read-only .mat-slide-toggle.mat-disabled{opacity:.8}mtna-wf-boolean-item.read-only .mat-slide-toggle .mat-slide-toggle-label,mtna-wf-boolean-item.read-only .mat-slide-toggle .mat-slide-toggle-label .mat-slide-toggle-bar .mat-slide-toggle-thumb-container{cursor:default}mtna-wf-boolean-item .mat-slide-toggle{height:auto;min-height:24px;width:100%}mtna-wf-boolean-item .mat-slide-toggle>.mat-slide-toggle-label>.mat-slide-toggle-content{white-space:normal}\n"], components: [{ type: i2$2.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex", "name", "id", "labelPosition", "aria-label", "aria-labelledby", "required", "checked", "aria-describedby"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { type: MtnaWfFormItemComponent, selector: "mtna-wf-item", inputs: ["color", "control", "header", "inList", "item", "parentIds", "readonly", "step"], outputs: ["focusedSection"] }], directives: [{ type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i1$1.MtnaHighlightDirective, selector: "[mtnaHighlight]", inputs: ["mtnaHighlight", "mtnaHighlightColor"], exportAs: ["mtnaHighlight"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "keyvalue": i3.KeyValuePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
4026
+ MtnaWfBooleanComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfBooleanComponent, selector: "mtna-wf-boolean-item", usesInheritance: true, ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"header\"></ng-container>\n<mat-slide-toggle\n *ngIf=\"control\"\n [aria-label]=\"item.option.option.name\"\n [formControl]=\"control\"\n [disabled]=\"readonly\"\n [mtnaHighlight]=\"indicatorStatus === 'ACTIVE'\"\n (change)=\"toggleChange($event)\"\n >{{ item.option.option.name }}</mat-slide-toggle\n>\n<ng-container *ngIf=\"!!item.optionItemMap\">\n <mtna-wf-item\n *ngFor=\"let f of item.optionItemMap | keyvalue; trackBy: _trackByInstanceId\"\n [item]=\"f.value\"\n [control]=\"!!controlWrapper && controlWrapper.controls ? controlWrapper.controls[f.value.instanceId] : undefined\"\n [parentIds]=\"parentIds\"\n [readonly]=\"readonly\"\n ></mtna-wf-item>\n <ng-container> </ng-container>\n</ng-container>\n", styles: ["mtna-annotations-indicator+mtna-wf-item-injector+mtna-wf-boolean-item{padding-right:24px}mtna-wf-boolean-item{display:block}mtna-wf-boolean-item.mtna-wf-control-item .mat-form-field{width:100%}mtna-wf-boolean-item.mtna-wf-control-item .mtna-wf-error-container{font-size:75%;line-height:1;min-height:1em;margin-top:-.75rem}mtna-wf-boolean-item.mtna-wf-control-item .control-item-content{padding:.35em .75em .625em}mtna-wf-boolean-item.mtna-wf-control-item .mtna-wf-item-header~:not(.mtna-wf-error-container):not(.mat-list){padding-left:.75em}mtna-wf-boolean-item.mtna-wf-control-item .mtna-wf-item-header~:not(.mtna-wf-error-container):not(.mat-list).mat-form-field{width:calc(100% - .75em)}mtna-wf-boolean-item .mat-slide-toggle{margin:4px 0}mtna-wf-boolean-item .mat-slide-toggle+mtna-wf-item{margin-top:0}mtna-wf-boolean-item .mat-slide-toggle~mtna-wf-item{padding-left:18px}mtna-wf-boolean-item.read-only .mat-slide-toggle.mat-disabled{opacity:.8}mtna-wf-boolean-item.read-only .mat-slide-toggle .mat-slide-toggle-label,mtna-wf-boolean-item.read-only .mat-slide-toggle .mat-slide-toggle-label .mat-slide-toggle-bar .mat-slide-toggle-thumb-container{cursor:default}mtna-wf-boolean-item .mat-slide-toggle{height:auto;min-height:24px;width:100%}mtna-wf-boolean-item .mat-slide-toggle>.mat-slide-toggle-label>.mat-slide-toggle-content{white-space:normal}\n"], components: [{ type: i2$2.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex", "name", "id", "labelPosition", "aria-label", "aria-labelledby", "required", "checked", "aria-describedby"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { type: MtnaWfFormItemComponent, selector: "mtna-wf-item", inputs: ["color", "control", "header", "inList", "item", "parentIds", "readonly", "step"], outputs: ["focusedSection"] }], directives: [{ type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i4.MtnaHighlightDirective, selector: "[mtnaHighlight]", inputs: ["mtnaHighlight", "mtnaHighlightColor"], exportAs: ["mtnaHighlight"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "keyvalue": i3.KeyValuePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
3672
4027
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfBooleanComponent, decorators: [{
3673
4028
  type: Component,
3674
4029
  args: [{
@@ -3721,6 +4076,7 @@ class MtnaWfCheckboxComponent extends MtnaWfBaseParentValueItem {
3721
4076
  super(cdr);
3722
4077
  this.dialogService = dialogService;
3723
4078
  this.destroyed$ = new Subject();
4079
+ this._acknowledgementText = $localize `Acknowledged. Click to view the agreement.`;
3724
4080
  }
3725
4081
  handleChange(change, index) {
3726
4082
  var _a;
@@ -3779,7 +4135,7 @@ class MtnaWfCheckboxComponent extends MtnaWfBaseParentValueItem {
3779
4135
  }
3780
4136
  }
3781
4137
  MtnaWfCheckboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfCheckboxComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: MtnaWfDialogService }], target: i0.ɵɵFactoryTarget.Component });
3782
- MtnaWfCheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfCheckboxComponent, selector: "mtna-wf-checkbox-item", usesInheritance: true, ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"header\"></ng-container>\n<div *ngIf=\"hasItemHeader\" class=\"mtna-wf-error-container\">\n <ng-container *ngIf=\"control?.invalid && (control?.dirty || control?.touched)\">\n <mat-error *ngFor=\"let error of control?.errors | keyvalue\">\n {{ error | mtnaWfGetControlError : item }}\n </mat-error>\n </ng-container>\n</div>\n<fieldset\n class=\"control-item-content\"\n [class.single-option]=\"item.options.length === 1\"\n [mtnaHighlight]=\"indicatorStatus === 'ACTIVE' && !hasItemHeader\"\n>\n <ng-container *ngFor=\"let opt of item.options; let i = index; trackBy: _trackByOptionId\">\n <mat-checkbox\n *ngIf=\"!!control && !!control.controls && !!control.controls[i]\"\n [disableRipple]=\"readonly\"\n [formControl]=\"$any(control.controls[i])\"\n [color]=\"color\"\n [disabled]=\"readonly\"\n (change)=\"handleChange($event, i)\"\n >{{ opt.option.name }}\n <button\n *ngIf=\"opt.acknowledgement && control.controls[i].value\"\n aria-label=\"Acknowledged. Click to view the agreement.\"\n class=\"acknowledge-verification-button\"\n mat-icon-button\n matTooltip=\"Acknowledged. Click to view the agreement.\"\n matTooltipShowDelay=\"800\"\n (click)=\"showAcknowledgement($event, opt.acknowledgement)\"\n (mousedown)=\"stopEventPropagation($event)\"\n (touchstart)=\"stopEventPropagation($event)\"\n >\n <mat-icon>verified</mat-icon>\n </button>\n </mat-checkbox>\n <ng-container *ngIf=\"item.optionItemMap[opt.option.id]\">\n <mtna-wf-item\n *ngIf=\"item.optionItemMap[opt.option.id] as subItem\"\n [item]=\"subItem\"\n [control]=\"!!controlWrapper && controlWrapper.controls ? controlWrapper.controls[subItem.instanceId] : undefined\"\n [readonly]=\"readonly\"\n [parentIds]=\"parentIds.concat(opt.option.id)\"\n ></mtna-wf-item>\n </ng-container>\n </ng-container>\n</fieldset>\n", styles: ["mtna-wf-checkbox-item{display:flex;flex-direction:column;position:relative}mtna-wf-checkbox-item.mtna-wf-control-item .mat-form-field{width:100%}mtna-wf-checkbox-item.mtna-wf-control-item .mtna-wf-error-container{font-size:75%;line-height:1;min-height:1em;margin-top:-.75rem}mtna-wf-checkbox-item.mtna-wf-control-item .control-item-content{padding:.35em .75em .625em}mtna-wf-checkbox-item.mtna-wf-control-item .mtna-wf-item-header~:not(.mtna-wf-error-container):not(.mat-list){padding-left:.75em}mtna-wf-checkbox-item.mtna-wf-control-item .mtna-wf-item-header~:not(.mtna-wf-error-container):not(.mat-list).mat-form-field{width:calc(100% - .75em)}mtna-wf-checkbox-item .mat-checkbox{display:block}mtna-wf-checkbox-item .mat-checkbox>.mat-checkbox-layout{display:block}mtna-wf-checkbox-item .mat-checkbox>.mat-checkbox-layout>.mat-checkbox-label{white-space:normal}mtna-wf-checkbox-item .mat-checkbox .acknowledge-verification-button{vertical-align:top;width:18px;height:18px;line-height:18px;margin-left:4px}mtna-wf-checkbox-item .mat-checkbox .acknowledge-verification-button .mat-icon{width:18px;height:18px;line-height:18px;font-size:18px}mtna-wf-checkbox-item fieldset{border:none;margin:0}mtna-wf-checkbox-item fieldset.control-item-content.single-option{padding:0}mtna-wf-checkbox-item .mat-checkbox+mtna-wf-item{margin-top:0;padding-left:24px}mtna-wf-checkbox-item.read-only .mat-checkbox{cursor:default}\n"], components: [{ type: i2$3.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "id", "labelPosition", "name", "required", "checked", "disabled", "indeterminate", "aria-describedby", "value"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: i3$1.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"] }, { type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: MtnaWfFormItemComponent, selector: "mtna-wf-item", inputs: ["color", "control", "header", "inList", "item", "parentIds", "readonly", "step"], outputs: ["focusedSection"] }], directives: [{ type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1$5.MatError, selector: "mat-error", inputs: ["id"] }, { type: i1$1.MtnaHighlightDirective, selector: "[mtnaHighlight]", inputs: ["mtnaHighlight", "mtnaHighlightColor"], exportAs: ["mtnaHighlight"] }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i6$1.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }], pipes: { "keyvalue": i3.KeyValuePipe, "mtnaWfGetControlError": MtnaWfGetFormControlErrorPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
4138
+ MtnaWfCheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfCheckboxComponent, selector: "mtna-wf-checkbox-item", usesInheritance: true, ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"header\"></ng-container>\n<div *ngIf=\"hasItemHeader\" class=\"mtna-wf-error-container\">\n <ng-container *ngIf=\"control?.invalid && (control?.dirty || control?.touched)\">\n <mat-error *ngFor=\"let error of control?.errors | keyvalue\">\n {{ error | mtnaWfGetControlError : item }}\n </mat-error>\n </ng-container>\n</div>\n<fieldset\n class=\"control-item-content\"\n [class.single-option]=\"item.options.length === 1\"\n [mtnaHighlight]=\"indicatorStatus === 'ACTIVE' && !hasItemHeader\"\n>\n <ng-container *ngFor=\"let opt of item.options; let i = index; trackBy: _trackByOptionId\">\n <div *ngIf=\"!!control && !!control.controls && !!control.controls[i]\" fxLayout=\"row\">\n <mat-checkbox\n [disableRipple]=\"readonly\"\n [formControl]=\"$any(control.controls[i])\"\n [color]=\"color\"\n [disabled]=\"readonly\"\n (change)=\"handleChange($event, i)\"\n >{{ opt.option.name }}\n </mat-checkbox>\n <button\n *ngIf=\"opt.acknowledgement && control.controls[i].value\"\n mat-icon-button\n class=\"acknowledge-verification-button\"\n [attr.aria-label]=\"_acknowledgementText\"\n [matTooltip]=\"_acknowledgementText\"\n matTooltipShowDelay=\"800\"\n (click)=\"showAcknowledgement($event, opt.acknowledgement)\"\n (mousedown)=\"stopEventPropagation($event)\"\n (touchstart)=\"stopEventPropagation($event)\"\n >\n <mat-icon>verified</mat-icon>\n </button>\n </div>\n <ng-container *ngIf=\"item.optionItemMap[opt.option.id]\">\n <mtna-wf-item\n *ngIf=\"item.optionItemMap[opt.option.id] as subItem\"\n [item]=\"subItem\"\n [control]=\"!!controlWrapper && controlWrapper.controls ? controlWrapper.controls[subItem.instanceId] : undefined\"\n [readonly]=\"readonly\"\n [parentIds]=\"parentIds.concat(opt.option.id)\"\n ></mtna-wf-item>\n </ng-container>\n </ng-container>\n</fieldset>\n", styles: ["mtna-wf-checkbox-item{display:flex;flex-direction:column;position:relative}mtna-wf-checkbox-item.mtna-wf-control-item .mat-form-field{width:100%}mtna-wf-checkbox-item.mtna-wf-control-item .mtna-wf-error-container{font-size:75%;line-height:1;min-height:1em;margin-top:-.75rem}mtna-wf-checkbox-item.mtna-wf-control-item .control-item-content{padding:.35em .75em .625em}mtna-wf-checkbox-item.mtna-wf-control-item .mtna-wf-item-header~:not(.mtna-wf-error-container):not(.mat-list){padding-left:.75em}mtna-wf-checkbox-item.mtna-wf-control-item .mtna-wf-item-header~:not(.mtna-wf-error-container):not(.mat-list).mat-form-field{width:calc(100% - .75em)}mtna-wf-checkbox-item .mat-checkbox{display:block}mtna-wf-checkbox-item .mat-checkbox>.mat-checkbox-layout{display:block}mtna-wf-checkbox-item .mat-checkbox>.mat-checkbox-layout>.mat-checkbox-label{white-space:normal}mtna-wf-checkbox-item .mat-checkbox .mat-checkbox-inner-container{bottom:1px}mtna-wf-checkbox-item .acknowledge-verification-button{vertical-align:top;width:18px;height:18px;line-height:18px;margin-left:4px}mtna-wf-checkbox-item .acknowledge-verification-button .mat-icon{width:18px;height:18px;line-height:18px;font-size:18px}mtna-wf-checkbox-item fieldset{border:none;margin:0}mtna-wf-checkbox-item fieldset.control-item-content.single-option{padding:0}mtna-wf-checkbox-item .mat-checkbox+mtna-wf-item{margin-top:0;padding-left:24px}mtna-wf-checkbox-item.read-only .mat-checkbox{cursor:default}\n"], components: [{ type: i2$3.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "id", "labelPosition", "name", "required", "checked", "disabled", "indeterminate", "aria-describedby", "value"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: i3$1.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"] }, { type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: MtnaWfFormItemComponent, selector: "mtna-wf-item", inputs: ["color", "control", "header", "inList", "item", "parentIds", "readonly", "step"], outputs: ["focusedSection"] }], directives: [{ type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1$4.MatError, selector: "mat-error", inputs: ["id"] }, { type: i4.MtnaHighlightDirective, selector: "[mtnaHighlight]", inputs: ["mtnaHighlight", "mtnaHighlightColor"], exportAs: ["mtnaHighlight"] }, { type: i3$2.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: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i6$1.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }], pipes: { "keyvalue": i3.KeyValuePipe, "mtnaWfGetControlError": MtnaWfGetFormControlErrorPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
3783
4139
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfCheckboxComponent, decorators: [{
3784
4140
  type: Component,
3785
4141
  args: [{
@@ -3794,12 +4150,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
3794
4150
  class MtnaWfFormItemDialogModule {
3795
4151
  }
3796
4152
  MtnaWfFormItemDialogModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfFormItemDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3797
- MtnaWfFormItemDialogModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfFormItemDialogModule, declarations: [MtnaWfFormItemDialogComponent], imports: [CommonModule, MatDialogModule, MtnaWfFormItemModule], exports: [MtnaWfFormItemDialogComponent] });
3798
- MtnaWfFormItemDialogModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfFormItemDialogModule, imports: [[CommonModule, MatDialogModule, MtnaWfFormItemModule]] });
4153
+ MtnaWfFormItemDialogModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfFormItemDialogModule, declarations: [MtnaWfFormItemDialogComponent], imports: [CommonModule, MatDialogModule, MtnaWfFormItemModule, MatButtonModule], exports: [MtnaWfFormItemDialogComponent] });
4154
+ MtnaWfFormItemDialogModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfFormItemDialogModule, imports: [[CommonModule, MatDialogModule, MtnaWfFormItemModule, MatButtonModule]] });
3799
4155
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfFormItemDialogModule, decorators: [{
3800
4156
  type: NgModule,
3801
4157
  args: [{
3802
- imports: [CommonModule, MatDialogModule, MtnaWfFormItemModule],
4158
+ imports: [CommonModule, MatDialogModule, MtnaWfFormItemModule, MatButtonModule],
3803
4159
  declarations: [MtnaWfFormItemDialogComponent],
3804
4160
  exports: [MtnaWfFormItemDialogComponent],
3805
4161
  }]
@@ -3810,6 +4166,7 @@ class MtnaWfCheckboxModule {
3810
4166
  MtnaWfCheckboxModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfCheckboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3811
4167
  MtnaWfCheckboxModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfCheckboxModule, declarations: [MtnaWfCheckboxComponent], imports: [CommonModule,
3812
4168
  MtnaWfGetFormControlErrorPipeModule,
4169
+ FlexLayoutModule,
3813
4170
  FormsModule,
3814
4171
  MatFormFieldModule,
3815
4172
  MatCheckboxModule,
@@ -3823,6 +4180,7 @@ MtnaWfCheckboxModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", ve
3823
4180
  MtnaWfCheckboxModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfCheckboxModule, imports: [[
3824
4181
  CommonModule,
3825
4182
  MtnaWfGetFormControlErrorPipeModule,
4183
+ FlexLayoutModule,
3826
4184
  FormsModule,
3827
4185
  MatFormFieldModule,
3828
4186
  MatCheckboxModule,
@@ -3840,6 +4198,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
3840
4198
  imports: [
3841
4199
  CommonModule,
3842
4200
  MtnaWfGetFormControlErrorPipeModule,
4201
+ FlexLayoutModule,
3843
4202
  FormsModule,
3844
4203
  MatFormFieldModule,
3845
4204
  MatCheckboxModule,
@@ -3863,6 +4222,7 @@ class MtnaWfDateComponent extends MtnaWfBaseValueItem {
3863
4222
  // TODO: This is not currenlty used, the back end needs to add range limits on the DateItem in order for this to work
3864
4223
  // Remove once accomplished and replace usage with item.rangeLimits in the html
3865
4224
  this.rangeLimits = { end: null, start: null };
4225
+ this._dateText = $localize `Date`;
3866
4226
  // We need to check to ensure 'moment' & 'moment-jdateformatparser' scripts have been added to angular.json so that
3867
4227
  // the DateFormItemComponent doesn't break when attempting to format SimpleDateFormat string to Moment format string
3868
4228
  MtnaWfDateComponent.dateFormItemComponentInstances++;
@@ -3916,8 +4276,8 @@ class MtnaWfDateComponent extends MtnaWfBaseValueItem {
3916
4276
  }
3917
4277
  }
3918
4278
  MtnaWfDateComponent.dateFormItemComponentInstances = 0;
3919
- MtnaWfDateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfDateComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1$1.MtnaLogger }], target: i0.ɵɵFactoryTarget.Component });
3920
- MtnaWfDateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfDateComponent, selector: "mtna-wf-date-item", inputs: { rangeLimits: "rangeLimits" }, host: { properties: { "class.mtna-wf-date-item": "this.dateItemClass" } }, viewQueries: [{ propertyName: "picker", first: true, predicate: MatDatepicker, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"header\"></ng-container>\n<mat-form-field *ngIf=\"control\" appearance=\"outline\" [mtnaHighlight]=\"indicatorStatus === 'ACTIVE' && !hasItemHeader\">\n <mat-label>{{ item.label || 'Date' }}</mat-label>\n <input\n matInput\n [matDatepicker]=\"picker\"\n [formControl]=\"control\"\n [max]=\"rangeLimits?.end\"\n [min]=\"rangeLimits?.start\"\n placeholder=\"Choose a date\"\n [required]=\"item.required\"\n />\n <mat-datepicker-toggle matSuffix [for]=\"picker\" [disabled]=\"readonly || control.disabled\"></mat-datepicker-toggle>\n <mat-datepicker #picker></mat-datepicker>\n <mat-error *ngFor=\"let error of control.errors | keyvalue\">\n {{ error | mtnaWfGetControlError : item }}\n </mat-error>\n <mat-hint>{{ item.format }}</mat-hint>\n</mat-form-field>\n", styles: ["mtna-wf-date-item.mtna-wf-control-item .mat-form-field{width:100%}mtna-wf-date-item.mtna-wf-control-item .mtna-wf-error-container{font-size:75%;line-height:1;min-height:1em;margin-top:-.75rem}mtna-wf-date-item.mtna-wf-control-item .control-item-content{padding:.35em .75em .625em}mtna-wf-date-item.mtna-wf-control-item .mtna-wf-item-header~:not(.mtna-wf-error-container):not(.mat-list){padding-left:.75em}mtna-wf-date-item.mtna-wf-control-item .mtna-wf-item-header~:not(.mtna-wf-error-container):not(.mat-list).mat-form-field{width:calc(100% - .75em)}\n"], components: [{ type: i1$5.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i3$4.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["tabIndex", "disabled", "for", "aria-label", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { type: i3$4.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }], directives: [{ type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$1.MtnaHighlightDirective, selector: "[mtnaHighlight]", inputs: ["mtnaHighlight", "mtnaHighlightColor"], exportAs: ["mtnaHighlight"] }, { type: i1$5.MatLabel, selector: "mat-label" }, { type: i5$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["id", "disabled", "required", "type", "value", "readonly", "placeholder", "errorStateMatcher", "aria-describedby"], exportAs: ["matInput"] }, { type: i3$4.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i6.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i1$5.MatSuffix, selector: "[matSuffix]" }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1$5.MatError, selector: "mat-error", inputs: ["id"] }, { type: i1$5.MatHint, selector: "mat-hint", inputs: ["align", "id"] }], pipes: { "keyvalue": i3.KeyValuePipe, "mtnaWfGetControlError": MtnaWfGetFormControlErrorPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
4279
+ MtnaWfDateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfDateComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i4.MtnaLogger }], target: i0.ɵɵFactoryTarget.Component });
4280
+ MtnaWfDateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfDateComponent, selector: "mtna-wf-date-item", inputs: { rangeLimits: "rangeLimits" }, host: { properties: { "class.mtna-wf-date-item": "this.dateItemClass" } }, viewQueries: [{ propertyName: "picker", first: true, predicate: MatDatepicker, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"header\"></ng-container>\n<mat-form-field *ngIf=\"control\" appearance=\"outline\" [mtnaHighlight]=\"indicatorStatus === 'ACTIVE' && !hasItemHeader\">\n <mat-label>{{ item.label || _dateText }}</mat-label>\n <input\n matInput\n [formControl]=\"control\"\n [matDatepicker]=\"picker\"\n [max]=\"rangeLimits?.end\"\n [min]=\"rangeLimits?.start\"\n placeholder=\"Choose a date\"\n i18n-placeholder\n [required]=\"item.required\"\n [disabled]=\"readonly || control.disabled\"\n />\n <mat-datepicker-toggle matSuffix [for]=\"picker\" [disabled]=\"readonly || control.disabled\"></mat-datepicker-toggle>\n <mat-datepicker #picker></mat-datepicker>\n <mat-error *ngFor=\"let error of control.errors | keyvalue\">\n {{ error | mtnaWfGetControlError : item }}\n </mat-error>\n <mat-hint>{{ item.format }}</mat-hint>\n</mat-form-field>\n", styles: ["mtna-wf-date-item.mtna-wf-control-item .mat-form-field{width:100%}mtna-wf-date-item.mtna-wf-control-item .mtna-wf-error-container{font-size:75%;line-height:1;min-height:1em;margin-top:-.75rem}mtna-wf-date-item.mtna-wf-control-item .control-item-content{padding:.35em .75em .625em}mtna-wf-date-item.mtna-wf-control-item .mtna-wf-item-header~:not(.mtna-wf-error-container):not(.mat-list){padding-left:.75em}mtna-wf-date-item.mtna-wf-control-item .mtna-wf-item-header~:not(.mtna-wf-error-container):not(.mat-list).mat-form-field{width:calc(100% - .75em)}\n"], components: [{ type: i1$4.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i3$4.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["tabIndex", "disabled", "for", "aria-label", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { type: i3$4.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }], directives: [{ type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.MtnaHighlightDirective, selector: "[mtnaHighlight]", inputs: ["mtnaHighlight", "mtnaHighlightColor"], exportAs: ["mtnaHighlight"] }, { type: i1$4.MatLabel, selector: "mat-label" }, { type: i5$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["id", "disabled", "required", "type", "value", "readonly", "placeholder", "errorStateMatcher", "aria-describedby"], exportAs: ["matInput"] }, { type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3$4.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i6.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i1$4.MatSuffix, selector: "[matSuffix]" }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1$4.MatError, selector: "mat-error", inputs: ["id"] }, { type: i1$4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }], pipes: { "keyvalue": i3.KeyValuePipe, "mtnaWfGetControlError": MtnaWfGetFormControlErrorPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
3921
4281
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfDateComponent, decorators: [{
3922
4282
  type: Component,
3923
4283
  args: [{
@@ -3927,7 +4287,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
3927
4287
  changeDetection: ChangeDetectionStrategy.OnPush,
3928
4288
  encapsulation: ViewEncapsulation.None,
3929
4289
  }]
3930
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1$1.MtnaLogger }]; }, propDecorators: { dateItemClass: [{
4290
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i4.MtnaLogger }]; }, propDecorators: { dateItemClass: [{
3931
4291
  type: HostBinding,
3932
4292
  args: ['class.mtna-wf-date-item']
3933
4293
  }], rangeLimits: [{
@@ -3980,6 +4340,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
3980
4340
  }] });
3981
4341
 
3982
4342
  class MtnaWfDateRangeComponent extends MtnaWfBaseValueItem {
4343
+ constructor() {
4344
+ super(...arguments);
4345
+ this.toText = $localize `to`;
4346
+ }
3983
4347
  get item() {
3984
4348
  return this._item;
3985
4349
  }
@@ -3991,7 +4355,7 @@ class MtnaWfDateRangeComponent extends MtnaWfBaseValueItem {
3991
4355
  }
3992
4356
  }
3993
4357
  MtnaWfDateRangeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfDateRangeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
3994
- MtnaWfDateRangeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfDateRangeComponent, selector: "mtna-wf-date-range", usesInheritance: true, ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"header\"></ng-container>\n\n<div\n *ngIf=\"control\"\n class=\"range-item-container\"\n fxLayout=\"row\"\n fxLayoutAlign=\"start center\"\n fxLayoutGap=\"8px\"\n [mtnaHighlight]=\"indicatorStatus === 'ACTIVE' && !hasItemHeader\"\n>\n <mtna-wf-date-item\n [control]=\"control.controls['start'] | mtnaWfCoerceFormControl\"\n [item]=\"_startItem\"\n [rangeLimits]=\"item.rangeLimits\"\n [readonly]=\"readonly\"\n ></mtna-wf-date-item>\n <span fxFlex=\"14px\"> to </span>\n <mtna-wf-date-item\n [control]=\"control.controls['end'] | mtnaWfCoerceFormControl\"\n [item]=\"_endItem\"\n [rangeLimits]=\"item.rangeLimits\"\n [readonly]=\"readonly\"\n ></mtna-wf-date-item>\n</div>\n", components: [{ type: MtnaWfDateComponent, selector: "mtna-wf-date-item", inputs: ["rangeLimits"] }], directives: [{ type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3$2.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: i3$2.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: i3$2.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"] }, { type: i1$1.MtnaHighlightDirective, selector: "[mtnaHighlight]", inputs: ["mtnaHighlight", "mtnaHighlightColor"], exportAs: ["mtnaHighlight"] }, { type: i3$2.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"] }], pipes: { "mtnaWfCoerceFormControl": MtnaWfCoerceFormControlPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
4358
+ MtnaWfDateRangeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfDateRangeComponent, selector: "mtna-wf-date-range", usesInheritance: true, ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"header\"></ng-container>\n\n<div\n *ngIf=\"control\"\n class=\"range-item-container\"\n fxLayout=\"row\"\n fxLayoutAlign=\"start center\"\n fxLayoutGap=\"8px\"\n [mtnaHighlight]=\"indicatorStatus === 'ACTIVE' && !hasItemHeader\"\n>\n <mtna-wf-date-item\n [control]=\"control.controls['start'] | mtnaWfCoerceFormControl\"\n [item]=\"_startItem\"\n [rangeLimits]=\"item.rangeLimits\"\n [readonly]=\"readonly\"\n ></mtna-wf-date-item>\n <span fxFlex=\"14px\"> {{toText}} </span>\n <mtna-wf-date-item\n [control]=\"control.controls['end'] | mtnaWfCoerceFormControl\"\n [item]=\"_endItem\"\n [rangeLimits]=\"item.rangeLimits\"\n [readonly]=\"readonly\"\n ></mtna-wf-date-item>\n</div>\n", components: [{ type: MtnaWfDateComponent, selector: "mtna-wf-date-item", inputs: ["rangeLimits"] }], directives: [{ type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3$2.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: i3$2.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: i3$2.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"] }, { type: i4.MtnaHighlightDirective, selector: "[mtnaHighlight]", inputs: ["mtnaHighlight", "mtnaHighlightColor"], exportAs: ["mtnaHighlight"] }, { type: i3$2.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"] }], pipes: { "mtnaWfCoerceFormControl": MtnaWfCoerceFormControlPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
3995
4359
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfDateRangeComponent, decorators: [{
3996
4360
  type: Component,
3997
4361
  args: [{
@@ -4041,7 +4405,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
4041
4405
  class MtnaWfDropdownComponent extends MtnaWfBaseSingleSelectionParentValueItem {
4042
4406
  }
4043
4407
  MtnaWfDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfDropdownComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
4044
- MtnaWfDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfDropdownComponent, selector: "mtna-wf-dropdown-item", usesInheritance: true, ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"header; context: { $implicit: true }\"></ng-container>\n<mat-form-field\n *ngIf=\"!readonly && !!control; else readOnly\"\n appearance=\"outline\"\n [mtnaHighlight]=\"indicatorStatus === 'ACTIVE' && !hasItemHeader\"\n>\n <mat-label>{{ item.label }}</mat-label>\n <mat-select [formControl]=\"control\" (selectionChange)=\"selectionChange($event)\" [required]=\"item.required\">\n <mat-option *ngIf=\"!item.required\">-- None --</mat-option>\n <mat-option *ngFor=\"let opt of item.options\" [value]=\"opt.option.id\" [disabled]=\"control.value === opt.option.id\">{{\n opt.option.name\n }}</mat-option>\n </mat-select>\n <mat-error *ngFor=\"let error of control.errors | keyvalue\">\n {{ error | mtnaWfGetControlError : item }}\n </mat-error>\n</mat-form-field>\n\n<ng-template #readOnly>\n <ng-container *ngIf=\"inList; else fullList\">\n <mat-list-item *ngIf=\"item.required || !!item.value\">\n <mat-icon *ngIf=\"item.label | mtnaWfGetListIcon as icon\" matListIcon>{{ icon }}</mat-icon>\n <h4 matLine>{{ item.label }}</h4>\n <p matLine>{{ item.value || control?.value | mtnaWfGetSelectedOptionName : item.options }}</p>\n </mat-list-item>\n </ng-container>\n\n <ng-template #fullList>\n <mat-list>\n <mat-list-item *ngIf=\"item.required || !!item.value\">\n <mat-icon *ngIf=\"item.label | mtnaWfGetListIcon as icon\" matListIcon>{{ icon }}</mat-icon>\n <h4 matLine>{{ item.label }}</h4>\n <p matLine>{{ item.value || control?.value | mtnaWfGetSelectedOptionName : item.options }}</p>\n </mat-list-item>\n </mat-list>\n </ng-template>\n</ng-template>\n", styles: ["mtna-wf-dropdown-item.mtna-wf-control-item .mat-form-field{width:100%}mtna-wf-dropdown-item.mtna-wf-control-item .mtna-wf-error-container{font-size:75%;line-height:1;min-height:1em;margin-top:-.75rem}mtna-wf-dropdown-item.mtna-wf-control-item .control-item-content{padding:.35em .75em .625em}mtna-wf-dropdown-item.mtna-wf-control-item .mtna-wf-item-header~:not(.mtna-wf-error-container):not(.mat-list){padding-left:.75em}mtna-wf-dropdown-item.mtna-wf-control-item .mtna-wf-item-header~:not(.mtna-wf-error-container):not(.mat-list).mat-form-field{width:calc(100% - .75em)}\n"], components: [{ type: i1$5.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i2$4.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i3$3.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: i4$1.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["disableRipple", "disabled"], exportAs: ["matListItem"] }, { type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i4$1.MatList, selector: "mat-list, mat-action-list", inputs: ["disableRipple", "disabled"], exportAs: ["matList"] }], directives: [{ type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$1.MtnaHighlightDirective, selector: "[mtnaHighlight]", inputs: ["mtnaHighlight", "mtnaHighlightColor"], exportAs: ["mtnaHighlight"] }, { type: i1$5.MatLabel, selector: "mat-label" }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i6.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1$5.MatError, selector: "mat-error", inputs: ["id"] }, { type: i4$1.MatListIconCssMatStyler, selector: "[mat-list-icon], [matListIcon]" }, { type: i3$3.MatLine, selector: "[mat-line], [matLine]" }], pipes: { "keyvalue": i3.KeyValuePipe, "mtnaWfGetControlError": MtnaWfGetFormControlErrorPipe, "mtnaWfGetListIcon": MtnaWfGetListIconPipe, "mtnaWfGetSelectedOptionName": MtnaWfGetSelectedOptionNamePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
4408
+ MtnaWfDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfDropdownComponent, selector: "mtna-wf-dropdown-item", usesInheritance: true, ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"header; context: { $implicit: true }\"></ng-container>\n<mat-form-field\n *ngIf=\"!readonly && !!control; else readOnly\"\n appearance=\"outline\"\n [mtnaHighlight]=\"indicatorStatus === 'ACTIVE' && !hasItemHeader\"\n>\n <mat-label>{{ item.label }}</mat-label>\n <mat-select [formControl]=\"control\" [panelClass]=\"'mtna-wf-dropdown-item__select-panel'\" [required]=\"item.required\" (selectionChange)=\"selectionChange($event)\">\n <mat-option *ngIf=\"!item.required\" i18n>-- None --</mat-option>\n <mat-option *ngFor=\"let opt of item.options\" [value]=\"opt.option.id\" [disabled]=\"control.value === opt.option.id\">{{\n opt.option.name\n }}</mat-option>\n </mat-select>\n <mat-error *ngFor=\"let error of control.errors | keyvalue\">\n {{ error | mtnaWfGetControlError : item }}\n </mat-error>\n</mat-form-field>\n\n<ng-template #readOnly>\n <ng-container *ngIf=\"inList; else fullList\">\n <mat-list-item *ngIf=\"item.required || !!item.value\">\n <mat-icon *ngIf=\"item.label | mtnaWfGetListIcon as icon\" matListIcon>{{ icon }}</mat-icon>\n <h4 matLine>{{ item.label }}</h4>\n <p matLine>{{ item.value || control?.value | mtnaWfGetSelectedOptionName : item.options }}</p>\n </mat-list-item>\n </ng-container>\n\n <ng-template #fullList>\n <mat-list>\n <mat-list-item *ngIf=\"item.required || !!item.value\">\n <mat-icon *ngIf=\"item.label | mtnaWfGetListIcon as icon\" matListIcon>{{ icon }}</mat-icon>\n <h4 matLine>{{ item.label }}</h4>\n <p matLine>{{ item.value || control?.value | mtnaWfGetSelectedOptionName : item.options }}</p>\n </mat-list-item>\n </mat-list>\n </ng-template>\n</ng-template>\n", styles: ["mtna-wf-dropdown-item.mtna-wf-control-item .mat-form-field{width:100%}mtna-wf-dropdown-item.mtna-wf-control-item .mtna-wf-error-container{font-size:75%;line-height:1;min-height:1em;margin-top:-.75rem}mtna-wf-dropdown-item.mtna-wf-control-item .control-item-content{padding:.35em .75em .625em}mtna-wf-dropdown-item.mtna-wf-control-item .mtna-wf-item-header~:not(.mtna-wf-error-container):not(.mat-list){padding-left:.75em}mtna-wf-dropdown-item.mtna-wf-control-item .mtna-wf-item-header~:not(.mtna-wf-error-container):not(.mat-list).mat-form-field{width:calc(100% - .75em)}\n"], components: [{ type: i1$4.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i2$4.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i3$3.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: i4$2.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["disableRipple", "disabled"], exportAs: ["matListItem"] }, { type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i4$2.MatList, selector: "mat-list, mat-action-list", inputs: ["disableRipple", "disabled"], exportAs: ["matList"] }], directives: [{ type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.MtnaHighlightDirective, selector: "[mtnaHighlight]", inputs: ["mtnaHighlight", "mtnaHighlightColor"], exportAs: ["mtnaHighlight"] }, { type: i1$4.MatLabel, selector: "mat-label" }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i6.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1$4.MatError, selector: "mat-error", inputs: ["id"] }, { type: i4$2.MatListIconCssMatStyler, selector: "[mat-list-icon], [matListIcon]" }, { type: i3$3.MatLine, selector: "[mat-line], [matLine]" }], pipes: { "keyvalue": i3.KeyValuePipe, "mtnaWfGetControlError": MtnaWfGetFormControlErrorPipe, "mtnaWfGetListIcon": MtnaWfGetListIconPipe, "mtnaWfGetSelectedOptionName": MtnaWfGetSelectedOptionNamePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
4045
4409
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfDropdownComponent, decorators: [{
4046
4410
  type: Component,
4047
4411
  args: [{
@@ -4106,6 +4470,7 @@ class MtnaWfFileUploadComponent extends MtnaWfBaseFormItemControl {
4106
4470
  super(cdr);
4107
4471
  this.fileService = fileService;
4108
4472
  this.loading = false;
4473
+ this._fileUploadButtonText = $localize `CHOOSE A FILE`;
4109
4474
  }
4110
4475
  fileToUpload(file) {
4111
4476
  this.loading = true;
@@ -4135,8 +4500,8 @@ class MtnaWfFileUploadComponent extends MtnaWfBaseFormItemControl {
4135
4500
  }
4136
4501
  }
4137
4502
  }
4138
- MtnaWfFileUploadComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfFileUploadComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1$6.FileService }], target: i0.ɵɵFactoryTarget.Component });
4139
- MtnaWfFileUploadComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfFileUploadComponent, selector: "mtna-wf-file-upload-item", usesInheritance: true, ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"header\"></ng-container>\n\n<div class=\"content\" [mtnaHighlight]=\"indicatorStatus === 'ACTIVE' && !item.questionText && !item?.descriptiveText\">\n <ng-container *ngIf=\"!readonly; else readOnly\">\n <ng-container *ngIf=\"!loading; else loader\">\n <mtna-file-download\n *ngIf=\"!!fileInfo; else fileUpload\"\n [fileInfo]=\"fileInfo\"\n [canRemove]=\"true\"\n color=\"primary\"\n [canDownload]=\"true\"\n (download)=\"handleDownload($event)\"\n (remove)=\"removeFile()\"\n ></mtna-file-download>\n\n <ng-template #fileUpload>\n <mtna-file-upload\n [automaticUpload]=\"false\"\n color=\"primary\"\n [buttonText]=\"'CHOOSE A FILE'\"\n (fileToUpload)=\"fileToUpload($event)\"\n ></mtna-file-upload>\n </ng-template>\n </ng-container>\n </ng-container>\n\n <!-- READONLY -->\n <ng-template #readOnly>\n <!-- anchor being used, due to <fieldset disabled> blocking a <button>'s click event -->\n <a\n *ngIf=\"!!item && !!item.value; else unpopulated\"\n class=\"single-icon-button\"\n color=\"primary\"\n mat-stroked-button\n role=\"button\"\n (click)=\"handleDownload(item.value)\"\n >\n <mat-icon color=\"primary\">file_download</mat-icon>\n {{ (item!.value!.fileName ? item!.value!.fileName : '') | uppercase }}\n </a>\n <ng-template #unpopulated>\n <mat-list>\n <mat-list-item class=\"wrappable-list-item\">\n <p mat-line class=\"wrap-line\">No File Provided</p>\n </mat-list-item>\n </mat-list>\n </ng-template>\n </ng-template>\n</div>\n\n<!-- PROGRESS SPINNER -->\n<ng-template #loader>\n <mat-spinner diameter=\"125\" strokeWidth=\"10\" mode=\"indeterminate\"></mat-spinner>\n</ng-template>\n", styles: [":host{display:block;margin:1rem 0}mtna-file-download{margin:37px 0}mat-spinner{margin:0 87.5px}\n"], components: [{ type: i1$6.MtnaFileDownloadComponent, selector: "mtna-file-download", inputs: ["color", "canDownload", "canRemove", "fileInfo", "loading"], outputs: ["download", "remove"] }, { type: i1$6.MtnaFileUploadComponent, selector: "mtna-file-upload", inputs: ["automaticUpload", "buttonText", "buttonColor", "disabled", "fileUploadUrl", "isProd", "maxUploadSize", "uploading"], outputs: ["uploaded", "fileToUpload", "uploadStatus"] }, { type: i3$1.MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-icon-button], a[mat-fab], a[mat-mini-fab], a[mat-stroked-button], a[mat-flat-button]", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matButton", "matAnchor"] }, { type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i4$1.MatList, selector: "mat-list, mat-action-list", inputs: ["disableRipple", "disabled"], exportAs: ["matList"] }, { type: i4$1.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["disableRipple", "disabled"], exportAs: ["matListItem"] }, { type: i5$2.MatSpinner, selector: "mat-spinner", inputs: ["color"] }], directives: [{ type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i1$1.MtnaHighlightDirective, selector: "[mtnaHighlight]", inputs: ["mtnaHighlight", "mtnaHighlightColor"], exportAs: ["mtnaHighlight"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3$3.MatLine, selector: "[mat-line], [matLine]" }], pipes: { "uppercase": i3.UpperCasePipe } });
4503
+ MtnaWfFileUploadComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfFileUploadComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1$5.FileService }], target: i0.ɵɵFactoryTarget.Component });
4504
+ MtnaWfFileUploadComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfFileUploadComponent, selector: "mtna-wf-file-upload-item", usesInheritance: true, ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"header\"></ng-container>\n\n<div class=\"content\" [mtnaHighlight]=\"indicatorStatus === 'ACTIVE' && !item.questionText && !item.descriptiveText\">\n <ng-container *ngIf=\"!readonly; else readOnly\">\n <ng-container *ngIf=\"!loading; else loader\">\n <mtna-file-download\n *ngIf=\"!!fileInfo; else fileUpload\"\n [fileInfo]=\"fileInfo\"\n [canRemove]=\"true\"\n color=\"primary\"\n [canDownload]=\"true\"\n (download)=\"handleDownload($event)\"\n (remove)=\"removeFile()\"\n ></mtna-file-download>\n\n <ng-template #fileUpload>\n <mtna-file-upload\n [automaticUpload]=\"false\"\n color=\"primary\"\n [buttonText]=\"_fileUploadButtonText\"\n (fileToUpload)=\"fileToUpload($event)\"\n ></mtna-file-upload>\n </ng-template>\n </ng-container>\n </ng-container>\n\n <!-- READONLY -->\n <ng-template #readOnly>\n <!-- anchor being used, due to <fieldset disabled> blocking a <button>'s click event -->\n <a\n *ngIf=\"!!item && !!item.value; else unpopulated\"\n class=\"single-icon-button\"\n color=\"primary\"\n mat-stroked-button\n role=\"button\"\n (click)=\"handleDownload(item.value)\"\n >\n <mat-icon color=\"primary\">file_download</mat-icon>\n {{ (item!.value!.fileName ? item!.value!.fileName : '') | uppercase }}\n </a>\n <ng-template #unpopulated>\n <mat-list>\n <mat-list-item class=\"wrappable-list-item\">\n <p mat-line class=\"wrap-line\" i18n>No File Provided</p>\n </mat-list-item>\n </mat-list>\n </ng-template>\n </ng-template>\n</div>\n\n<!-- PROGRESS SPINNER -->\n<ng-template #loader>\n <mat-spinner diameter=\"125\" strokeWidth=\"10\" mode=\"indeterminate\"></mat-spinner>\n</ng-template>\n", styles: [":host{display:block;margin:1rem 0}mtna-file-download{margin:37px 0}mat-spinner{margin:0 87.5px}\n"], components: [{ type: i1$5.MtnaFileDownloadComponent, selector: "mtna-file-download", inputs: ["color", "canDownload", "canRemove", "fileInfo", "loading"], outputs: ["download", "remove"] }, { type: i1$5.MtnaFileUploadComponent, selector: "mtna-file-upload", inputs: ["automaticUpload", "buttonText", "buttonColor", "disabled", "fileUploadUrl", "isProd", "maxUploadSize", "uploading"], outputs: ["uploaded", "fileToUpload", "uploadStatus"] }, { type: i3$1.MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-icon-button], a[mat-fab], a[mat-mini-fab], a[mat-stroked-button], a[mat-flat-button]", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matButton", "matAnchor"] }, { type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i4$2.MatList, selector: "mat-list, mat-action-list", inputs: ["disableRipple", "disabled"], exportAs: ["matList"] }, { type: i4$2.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["disableRipple", "disabled"], exportAs: ["matListItem"] }, { type: i5$2.MatSpinner, selector: "mat-spinner", inputs: ["color"] }], directives: [{ type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i4.MtnaHighlightDirective, selector: "[mtnaHighlight]", inputs: ["mtnaHighlight", "mtnaHighlightColor"], exportAs: ["mtnaHighlight"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3$3.MatLine, selector: "[mat-line], [matLine]" }], pipes: { "uppercase": i3.UpperCasePipe } });
4140
4505
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfFileUploadComponent, decorators: [{
4141
4506
  type: Component,
4142
4507
  args: [{
@@ -4144,7 +4509,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
4144
4509
  templateUrl: './file-upload.component.html',
4145
4510
  styleUrls: ['./file-upload.component.scss'],
4146
4511
  }]
4147
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1$6.FileService }]; } });
4512
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1$5.FileService }]; } });
4148
4513
 
4149
4514
  class MtnaWfFileUploadModule {
4150
4515
  }
@@ -4212,7 +4577,7 @@ class MtnaWfFormGroupComponent extends MtnaWfBaseGroupItem {
4212
4577
  }
4213
4578
  }
4214
4579
  MtnaWfFormGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfFormGroupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
4215
- MtnaWfFormGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfFormGroupComponent, selector: "mtna-wf-group", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"item && control\">\n <mtna-wf-item-header\n *ngIf=\"!!item.questionText || !!item.descriptiveText\"\n [descriptiveText]=\"item.descriptiveText\"\n [disabled]=\"control.disabled\"\n [questionText]=\"item.questionText\"\n [required]=\"item.required\"\n ></mtna-wf-item-header>\n <ng-template #fullLayout>\n <div\n class=\"item-group-container\"\n [mtnaHighlight]=\"indicatorStatus === 'ACTIVE' && !item.questionText && !item.descriptiveText\"\n [formGroup]=\"control\"\n [ngClass]=\"item.layout\"\n >\n <mtna-wf-item\n *ngFor=\"let subItem of item.items; trackBy: _trackByInstanceId\"\n [class.row-item]=\"item.layout === 'ROW' && !fullWidth[subItem.itemId]\"\n [ngClass.lt-md]=\"'width-100'\"\n [item]=\"subItem\"\n [control]=\"control.controls[subItem.instanceId]\"\n [parentIds]=\"parentIds\"\n [readonly]=\"readonly\"\n ></mtna-wf-item>\n </div>\n </ng-template>\n\n <!-- When readonly, && all child items should be displayed in a mat-list-->\n <mat-list *ngIf=\"readonly && inList; else fullLayout\" [ngClass]=\"item.layout\">\n <mtna-wf-item\n *ngFor=\"let subItem of item.items | mtnaWfItemsWithValue; trackby: _trackByInstanceId\"\n [class.row-item]=\"item.layout === 'ROW'\"\n [ngClass.lt-md]=\"'width-100'\"\n [item]=\"subItem\"\n [inList]=\"true\"\n [parentIds]=\"parentIds\"\n [readonly]=\"true\"\n ></mtna-wf-item>\n </mat-list>\n</ng-container>\n", styles: ["mtna-annotations-indicator+mtna-wf-item-injector+mtna-wf-group .item-group-container{padding-top:24px}mtna-wf-group .mtna-wf-group-header{margin-top:1rem}mtna-wf-group .mtna-wf-group-description{margin-bottom:1rem}mtna-wf-group mat-list mat-list-item [mat-line]{letter-spacing:.5px}mtna-wf-group mtna-wf-multiple-choice-item{display:block}mtna-wf-group .item-group-container>.mtna-wf-group{margin-top:1rem}mtna-wf-group .item-group-container>mtna-wf-item.mtna-wf-title~mtna-wf-item:not(.mtna-wf-title):not(.row-item){padding-left:16px}mtna-wf-group .item-group-container>mtna-wf-item.mtna-wf-title~mtna-wf-item:not(.mtna-wf-title):not(.row-item).width-100{width:calc(100% - 16px)}mtna-wf-group .item-group-container>mtna-wf-item:first-of-type{margin-top:0}mtna-wf-group .item-group-container.ROW>mtna-wf-item{margin-top:0}mtna-wf-group .item-group-container.ROW>*{display:block}mtna-wf-group .item-group-container .row-item{width:calc(50% - 16px);display:inline-block;margin:0 8px}mtna-wf-group .item-group-container .width-100{width:100%}mtna-wf-group .item-group-container .width-100.row-item{width:calc(100% - 16px)}mtna-wf-group mtna-wf-item-header+.item-group-container{padding:.35em .75em .625em}mtna-wf-group mtna-wf-item-header+.item-group-container>mtna-wf-item{margin-top:0}\n"], components: [{ type: MtnaWfItemHeaderComponent, selector: "mtna-wf-item-header", inputs: ["descriptiveText", "disabled", "hideRequiredMarker", "invalid", "questionText", "required"] }, { type: MtnaWfFormItemComponent, selector: "mtna-wf-item", inputs: ["color", "control", "header", "inList", "item", "parentIds", "readonly", "step"], outputs: ["focusedSection"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$1.MtnaHighlightDirective, selector: "[mtnaHighlight]", inputs: ["mtnaHighlight", "mtnaHighlightColor"], exportAs: ["mtnaHighlight"] }, { type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6$2.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "mtnaWfItemsWithValue": MtnaWfItemsWithValuePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
4580
+ MtnaWfFormGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfFormGroupComponent, selector: "mtna-wf-group", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"item && control\">\n <mtna-wf-item-header\n *ngIf=\"!!item.questionText || !!item.descriptiveText\"\n [descriptiveText]=\"item.descriptiveText\"\n [disabled]=\"control.disabled\"\n [questionText]=\"item.questionText\"\n [required]=\"item.required\"\n ></mtna-wf-item-header>\n <ng-template #fullLayout>\n <div\n class=\"item-group-container\"\n [mtnaHighlight]=\"indicatorStatus === 'ACTIVE' && !item.questionText && !item.descriptiveText\"\n [formGroup]=\"control\"\n [ngClass]=\"item.layout\"\n >\n <mtna-wf-item\n *ngFor=\"let subItem of item.items; trackBy: _trackByInstanceId\"\n [class.row-item]=\"item.layout === 'ROW' && !fullWidth[subItem.itemId]\"\n [ngClass.lt-md]=\"'width-100'\"\n [item]=\"subItem\"\n [control]=\"control.controls[subItem.instanceId]\"\n [parentIds]=\"parentIds\"\n [readonly]=\"readonly\"\n ></mtna-wf-item>\n </div>\n </ng-template>\n\n <!-- When readonly, && all child items should be displayed in a mat-list-->\n <mat-list *ngIf=\"readonly && inList; else fullLayout\" [ngClass]=\"item.layout\">\n <mtna-wf-item\n *ngFor=\"let subItem of item.items | mtnaWfItemsWithValue; let index = index; trackBy: _trackByInstanceId\"\n [class.row-item]=\"item.layout === 'ROW'\"\n [ngClass.lt-md]=\"'width-100'\"\n [item]=\"subItem\"\n [inList]=\"true\"\n [parentIds]=\"parentIds\"\n [readonly]=\"true\"\n ></mtna-wf-item>\n </mat-list>\n</ng-container>\n", styles: ["mtna-annotations-indicator+mtna-wf-item-injector+mtna-wf-group .item-group-container{padding-top:24px}mtna-wf-group .mtna-wf-group-header{margin-top:1rem}mtna-wf-group .mtna-wf-group-description{margin-bottom:1rem}mtna-wf-group mat-list mat-list-item [mat-line]{letter-spacing:.5px}mtna-wf-group mtna-wf-multiple-choice-item{display:block}mtna-wf-group .item-group-container>.mtna-wf-group{margin-top:1rem}mtna-wf-group .item-group-container>mtna-wf-item.mtna-wf-title~mtna-wf-item:not(.mtna-wf-title):not(.row-item){padding-left:16px}mtna-wf-group .item-group-container>mtna-wf-item.mtna-wf-title~mtna-wf-item:not(.mtna-wf-title):not(.row-item).width-100{width:calc(100% - 16px)}mtna-wf-group .item-group-container>mtna-wf-item:first-of-type{margin-top:0}mtna-wf-group .item-group-container.ROW>mtna-wf-item{margin-top:0}mtna-wf-group .item-group-container.ROW>*{display:block}mtna-wf-group .item-group-container .row-item{width:calc(50% - 16px);display:inline-block;margin:0 8px}mtna-wf-group .item-group-container .width-100{width:100%}mtna-wf-group .item-group-container .width-100.row-item{width:calc(100% - 16px)}mtna-wf-group mtna-wf-item-header+.item-group-container{padding:.35em .75em .625em}mtna-wf-group mtna-wf-item-header+.item-group-container>mtna-wf-item{margin-top:0}\n"], components: [{ type: MtnaWfItemHeaderComponent, selector: "mtna-wf-item-header", inputs: ["descriptiveText", "disabled", "hideRequiredMarker", "invalid", "questionText", "required"] }, { type: MtnaWfFormItemComponent, selector: "mtna-wf-item", inputs: ["color", "control", "header", "inList", "item", "parentIds", "readonly", "step"], outputs: ["focusedSection"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.MtnaHighlightDirective, selector: "[mtnaHighlight]", inputs: ["mtnaHighlight", "mtnaHighlightColor"], exportAs: ["mtnaHighlight"] }, { type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i7.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "mtnaWfItemsWithValue": MtnaWfItemsWithValuePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
4216
4581
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfFormGroupComponent, decorators: [{
4217
4582
  type: Component,
4218
4583
  args: [{
@@ -4266,7 +4631,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
4266
4631
  class MtnaWfFormSectionComponent extends MtnaWfBaseSectionItem {
4267
4632
  }
4268
4633
  MtnaWfFormSectionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfFormSectionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
4269
- MtnaWfFormSectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfFormSectionComponent, selector: "mtna-wf-section", usesInheritance: true, ngImport: i0, template: "<mtna-wf-step-card\n [step]=\"step\"\n [subtitle]=\"item.descriptiveText\"\n [mtnaHighlight]=\"indicatorStatus === 'ACTIVE'\"\n (focused)=\"focused.emit($event)\"\n>\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: [":host{display:block}mat-divider.mat-divider-horizontal.mat-divider-inset.section-item-divider{margin-top:8px;margin-bottom:8px}mtna-wf-section mtna-wf-title-item .mtna-wf-title-item{font-size:.875rem;line-height:28px;font-weight:500}\n"], components: [{ type: MtnaWfStepCardComponent, selector: "mtna-wf-step-card", inputs: ["color", "step", "subtitle"], outputs: ["focused"] }, { type: i2$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { type: MtnaWfFormItemComponent, selector: "mtna-wf-item", inputs: ["color", "control", "header", "inList", "item", "parentIds", "readonly", "step"], outputs: ["focusedSection"] }], directives: [{ type: i1$1.MtnaHighlightDirective, selector: "[mtnaHighlight]", inputs: ["mtnaHighlight", "mtnaHighlightColor"], exportAs: ["mtnaHighlight"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "mtnaWfGetObjectType": MtnaWfGetObjectTypePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
4634
+ MtnaWfFormSectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfFormSectionComponent, selector: "mtna-wf-section", usesInheritance: true, ngImport: i0, template: "<mtna-wf-step-card\n [step]=\"step\"\n [subtitle]=\"item.descriptiveText\"\n [mtnaHighlight]=\"indicatorStatus === 'ACTIVE'\"\n (focused)=\"focused.emit($event)\"\n>\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: [":host{display:block}mat-divider.mat-divider-horizontal.mat-divider-inset.section-item-divider{margin-top:8px;margin-bottom:8px}mtna-wf-section mtna-wf-title-item .mtna-wf-title-item{font-size:.875rem;line-height:28px;font-weight:500}\n"], components: [{ type: MtnaWfStepCardComponent, selector: "mtna-wf-step-card", inputs: ["color", "step", "subtitle"], outputs: ["focused"] }, { type: i2$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { type: 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: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "mtnaWfGetObjectType": MtnaWfGetObjectTypePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
4270
4635
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfFormSectionComponent, decorators: [{
4271
4636
  type: Component,
4272
4637
  args: [{
@@ -4295,6 +4660,7 @@ class MtnaWfI18nInputComponent extends MtnaWfBaseValueItem {
4295
4660
  constructor() {
4296
4661
  super(...arguments);
4297
4662
  this.isParagraph = false;
4663
+ this._notInformationText = $localize `No Information Provided`;
4298
4664
  }
4299
4665
  get item() {
4300
4666
  return super.item;
@@ -4320,7 +4686,7 @@ class MtnaWfI18nInputComponent extends MtnaWfBaseValueItem {
4320
4686
  }
4321
4687
  }
4322
4688
  MtnaWfI18nInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfI18nInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
4323
- MtnaWfI18nInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfI18nInputComponent, selector: "mtna-wf-i18n-input-item", usesInheritance: true, ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"header; context: { $implicit: true }\"></ng-container>\n<ng-container *ngIf=\"!readonly && !!control; else readOnly\">\n <mat-form-field\n *ngFor=\"let language of item.languageTags\"\n appearance=\"outline\"\n [mtnaHighlight]=\"indicatorStatus === 'ACTIVE' && !hasItemHeader\"\n >\n <mat-label>{{ item.label + ' - ' + getLanguageDisplay(language) }}</mat-label>\n <ng-container *ngIf=\"isParagraph; else shortInput\">\n <textarea\n matInput\n [formControl]=\"getFormControl(language)\"\n [required]=\"item.required\"\n [attr.autocomplete]=\"item.label || item.name | mtnaWfGetAutoComplete\"\n cdkTextareaAutoSize\n cdkAutosizeMinRows=\"3\"\n cdkAutosizeMaxRows=\"5\"\n ></textarea>\n </ng-container>\n <ng-template #shortInput>\n <input\n matInput\n [formControl]=\"getFormControl(language)\"\n [autocomplete]=\"item.label || item.name | mtnaWfGetAutoComplete\"\n [required]=\"item.required\"\n />\n </ng-template>\n\n <mat-error *ngFor=\"let error of control.errors | keyvalue | slice : 0 : 1\">\n {{ error | mtnaWfGetControlError : item }}\n </mat-error>\n </mat-form-field>\n</ng-container>\n<!-- READONLY -->\n<ng-template #readOnly>\n <ng-container *ngTemplateOutlet=\"inList ? listItem : fullList\"></ng-container>\n</ng-template>\n\n<ng-template #fullList>\n <mat-list>\n <ng-container *ngTemplateOutlet=\"listItem\"></ng-container>\n </mat-list>\n</ng-template>\n\n<ng-template #listItem>\n <mat-list-item *ngFor=\"let language of item.languageTags\" class=\"wrappable-list-item\">\n <!-- <mat-icon *ngIf=\"item.label || item.header as label\" matListIcon>{{ label | mtnaWfGetListIcon }}</mat-icon> -->\n <h4 *ngIf=\"!item.questionText && (item.label || item.name) as label\" mat-line>{{ label }}</h4>\n <p mat-line class=\"wrap-line\">{{ item.value || 'No Information Provided - ' + language }}</p>\n </mat-list-item>\n</ng-template>\n", styles: ["mtna-wf-i18n-input-item.mtna-wf-control-item .mat-form-field{width:100%}mtna-wf-i18n-input-item.mtna-wf-control-item .mtna-wf-error-container{font-size:75%;line-height:1;min-height:1em;margin-top:-.75rem}mtna-wf-i18n-input-item.mtna-wf-control-item .control-item-content{padding:.35em .75em .625em}mtna-wf-i18n-input-item.mtna-wf-control-item .mtna-wf-item-header~:not(.mtna-wf-error-container):not(.mat-list){padding-left:.75em}mtna-wf-i18n-input-item.mtna-wf-control-item .mtna-wf-item-header~:not(.mtna-wf-error-container):not(.mat-list).mat-form-field{width:calc(100% - .75em)}mtna-wf-i18n-input-item .mat-list-base .mat-list-item,mtna-wf-i18n-input-item .mat-list-base .mat-list-item.mat-list-item-with-avatar{height:auto;padding:12px 0}mtna-wf-i18n-input-item .mat-list-base .mat-list-item.mat-2-line,mtna-wf-i18n-input-item .mat-list-base .mat-list-item.mat-2-line.mat-list-item-with-avatar{padding:18.5px 0}mtna-wf-i18n-input-item .mat-list-base .mat-list-item .mat-line{white-space:normal;overflow:unset;text-overflow:unset}\n"], components: [{ type: i1$5.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i4$1.MatList, selector: "mat-list, mat-action-list", inputs: ["disableRipple", "disabled"], exportAs: ["matList"] }, { type: i4$1.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["disableRipple", "disabled"], exportAs: ["matListItem"] }], directives: [{ type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1$1.MtnaHighlightDirective, selector: "[mtnaHighlight]", inputs: ["mtnaHighlight", "mtnaHighlightColor"], exportAs: ["mtnaHighlight"] }, { type: i1$5.MatLabel, selector: "mat-label" }, { type: i5$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["id", "disabled", "required", "type", "value", "readonly", "placeholder", "errorStateMatcher", "aria-describedby"], exportAs: ["matInput"] }, { type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i6.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i1$5.MatError, selector: "mat-error", inputs: ["id"] }, { type: i3$3.MatLine, selector: "[mat-line], [matLine]" }], pipes: { "mtnaWfGetAutoComplete": MtnaWfGetAutoCompletePipe, "slice": i3.SlicePipe, "keyvalue": i3.KeyValuePipe, "mtnaWfGetControlError": MtnaWfGetFormControlErrorPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
4689
+ MtnaWfI18nInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfI18nInputComponent, selector: "mtna-wf-i18n-input-item", usesInheritance: true, ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"header; context: { $implicit: true }\"></ng-container>\n<ng-container *ngIf=\"!readonly && !!control; else readOnly\">\n <mat-form-field\n *ngFor=\"let language of item.languageTags\"\n appearance=\"outline\"\n [mtnaHighlight]=\"indicatorStatus === 'ACTIVE' && !hasItemHeader\"\n >\n <mat-label>{{ item.label + ' - ' + getLanguageDisplay(language) }}</mat-label>\n <ng-container *ngIf=\"isParagraph; else shortInput\">\n <textarea\n matInput\n [formControl]=\"getFormControl(language)\"\n [required]=\"item.required\"\n [attr.autocomplete]=\"item.label || item.name | mtnaWfGetAutoComplete\"\n cdkTextareaAutoSize\n cdkAutosizeMinRows=\"3\"\n cdkAutosizeMaxRows=\"5\"\n ></textarea>\n </ng-container>\n <ng-template #shortInput>\n <input\n matInput\n [formControl]=\"getFormControl(language)\"\n [autocomplete]=\"item.label || item.name | mtnaWfGetAutoComplete\"\n [required]=\"item.required\"\n />\n </ng-template>\n\n <mat-error *ngFor=\"let error of control.errors | keyvalue | slice : 0 : 1\">\n {{ error | mtnaWfGetControlError : item }}\n </mat-error>\n </mat-form-field>\n</ng-container>\n<!-- READONLY -->\n<ng-template #readOnly>\n <ng-container *ngTemplateOutlet=\"inList ? listItem : fullList\"></ng-container>\n</ng-template>\n\n<ng-template #fullList>\n <mat-list>\n <ng-container *ngTemplateOutlet=\"listItem\"></ng-container>\n </mat-list>\n</ng-template>\n\n<ng-template #listItem>\n <mat-list-item *ngFor=\"let language of item.languageTags\" class=\"wrappable-list-item\">\n <!-- <mat-icon *ngIf=\"item.label || item.header as label\" matListIcon>{{ label | mtnaWfGetListIcon }}</mat-icon> -->\n <h4 *ngIf=\"!item.questionText && (item.label || item.name) as label\" mat-line>{{ label }}</h4>\n <p mat-line class=\"wrap-line\">{{ item.value || _notInformationText + ' - ' + language }}</p>\n </mat-list-item>\n</ng-template>\n", styles: ["mtna-wf-i18n-input-item.mtna-wf-control-item .mat-form-field{width:100%}mtna-wf-i18n-input-item.mtna-wf-control-item .mtna-wf-error-container{font-size:75%;line-height:1;min-height:1em;margin-top:-.75rem}mtna-wf-i18n-input-item.mtna-wf-control-item .control-item-content{padding:.35em .75em .625em}mtna-wf-i18n-input-item.mtna-wf-control-item .mtna-wf-item-header~:not(.mtna-wf-error-container):not(.mat-list){padding-left:.75em}mtna-wf-i18n-input-item.mtna-wf-control-item .mtna-wf-item-header~:not(.mtna-wf-error-container):not(.mat-list).mat-form-field{width:calc(100% - .75em)}mtna-wf-i18n-input-item .mat-list-base .mat-list-item,mtna-wf-i18n-input-item .mat-list-base .mat-list-item.mat-list-item-with-avatar{height:auto;padding:12px 0}mtna-wf-i18n-input-item .mat-list-base .mat-list-item.mat-2-line,mtna-wf-i18n-input-item .mat-list-base .mat-list-item.mat-2-line.mat-list-item-with-avatar{padding:18.5px 0}mtna-wf-i18n-input-item .mat-list-base .mat-list-item .mat-line{white-space:normal;overflow:unset;text-overflow:unset}\n"], components: [{ type: i1$4.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i4$2.MatList, selector: "mat-list, mat-action-list", inputs: ["disableRipple", "disabled"], exportAs: ["matList"] }, { type: i4$2.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["disableRipple", "disabled"], exportAs: ["matListItem"] }], directives: [{ type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.MtnaHighlightDirective, selector: "[mtnaHighlight]", inputs: ["mtnaHighlight", "mtnaHighlightColor"], exportAs: ["mtnaHighlight"] }, { type: i1$4.MatLabel, selector: "mat-label" }, { type: i5$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["id", "disabled", "required", "type", "value", "readonly", "placeholder", "errorStateMatcher", "aria-describedby"], exportAs: ["matInput"] }, { type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i6.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i1$4.MatError, selector: "mat-error", inputs: ["id"] }, { type: i3$3.MatLine, selector: "[mat-line], [matLine]" }], pipes: { "mtnaWfGetAutoComplete": MtnaWfGetAutoCompletePipe, "slice": i3.SlicePipe, "keyvalue": i3.KeyValuePipe, "mtnaWfGetControlError": MtnaWfGetFormControlErrorPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
4324
4690
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfI18nInputComponent, decorators: [{
4325
4691
  type: Component,
4326
4692
  args: [{
@@ -4379,6 +4745,7 @@ class MtnaWfInputComponent extends MtnaWfBaseValueItem {
4379
4745
  super(...arguments);
4380
4746
  this.isParagraph = false;
4381
4747
  this.isNumberInput = false;
4748
+ this._noInformationText = $localize `No Information Provided`;
4382
4749
  }
4383
4750
  get item() {
4384
4751
  return super.item;
@@ -4394,7 +4761,7 @@ class MtnaWfInputComponent extends MtnaWfBaseValueItem {
4394
4761
  }
4395
4762
  }
4396
4763
  MtnaWfInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
4397
- MtnaWfInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfInputComponent, selector: "mtna-wf-input-item", usesInheritance: true, ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"header; context: { $implicit: true }\"></ng-container>\n<mat-form-field\n *ngIf=\"!readonly && !!control; else readOnly\"\n appearance=\"outline\"\n [mtnaHighlight]=\"indicatorStatus === 'ACTIVE' && !hasItemHeader\"\n>\n <mat-label>{{ item.label }}</mat-label>\n <textarea\n *ngIf=\"isParagraph; else shortInput\"\n matInput\n [formControl]=\"control\"\n [required]=\"item.required\"\n [attr.autocomplete]=\"item.label || item.name | mtnaWfGetAutoComplete\"\n cdkTextareaAutoSize\n cdkAutosizeMinRows=\"3\"\n cdkAutosizeMaxRows=\"5\"\n ></textarea>\n\n <ng-template #shortInput>\n <input matInput [formControl]=\"control!\" [autocomplete]=\"item.label || item.name | mtnaWfGetAutoComplete\" [required]=\"item.required\" />\n </ng-template>\n\n <mat-error *ngFor=\"let error of control.errors | keyvalue | slice : 0 : 1\">\n {{ error | mtnaWfGetControlError : item }}\n </mat-error>\n</mat-form-field>\n\n<!-- READONLY -->\n<ng-template #readOnly>\n <ng-container *ngTemplateOutlet=\"inList ? listItem : fullList\"></ng-container>\n</ng-template>\n\n<ng-template #fullList>\n <mat-list>\n <ng-container *ngTemplateOutlet=\"listItem\"></ng-container>\n </mat-list>\n</ng-template>\n\n<ng-template #listItem>\n <mat-list-item class=\"wrappable-list-item\">\n <!-- <mat-icon *ngIf=\"item.label || item.header as label\" matListIcon>{{ label | mtnaWfGetListIcon }}</mat-icon> -->\n <h4 *ngIf=\"!item.questionText && (item.label || item.name) as label\" mat-line>{{ label }}</h4>\n <p mat-line class=\"wrap-line\">{{ item.value || 'No Information Provided' }}</p>\n </mat-list-item>\n</ng-template>\n", styles: ["mtna-wf-input-item.mtna-wf-control-item .mat-form-field{width:100%}mtna-wf-input-item.mtna-wf-control-item .mtna-wf-error-container{font-size:75%;line-height:1;min-height:1em;margin-top:-.75rem}mtna-wf-input-item.mtna-wf-control-item .control-item-content{padding:.35em .75em .625em}mtna-wf-input-item.mtna-wf-control-item .mtna-wf-item-header~:not(.mtna-wf-error-container):not(.mat-list){padding-left:.75em}mtna-wf-input-item.mtna-wf-control-item .mtna-wf-item-header~:not(.mtna-wf-error-container):not(.mat-list).mat-form-field{width:calc(100% - .75em)}mtna-wf-input-item .mat-list-base .mat-list-item,mtna-wf-input-item .mat-list-base .mat-list-item.mat-list-item-with-avatar{height:auto;padding:12px 0}mtna-wf-input-item .mat-list-base .mat-list-item.mat-2-line,mtna-wf-input-item .mat-list-base .mat-list-item.mat-2-line.mat-list-item-with-avatar{padding:18.5px 0}mtna-wf-input-item .mat-list-base .mat-list-item .mat-line{white-space:normal;overflow:unset;text-overflow:unset}\n"], components: [{ type: i1$5.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i4$1.MatList, selector: "mat-list, mat-action-list", inputs: ["disableRipple", "disabled"], exportAs: ["matList"] }, { type: i4$1.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["disableRipple", "disabled"], exportAs: ["matListItem"] }], directives: [{ type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$1.MtnaHighlightDirective, selector: "[mtnaHighlight]", inputs: ["mtnaHighlight", "mtnaHighlightColor"], exportAs: ["mtnaHighlight"] }, { type: i1$5.MatLabel, selector: "mat-label" }, { type: i5$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["id", "disabled", "required", "type", "value", "readonly", "placeholder", "errorStateMatcher", "aria-describedby"], exportAs: ["matInput"] }, { type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i6.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1$5.MatError, selector: "mat-error", inputs: ["id"] }, { type: i3$3.MatLine, selector: "[mat-line], [matLine]" }], pipes: { "mtnaWfGetAutoComplete": MtnaWfGetAutoCompletePipe, "slice": i3.SlicePipe, "keyvalue": i3.KeyValuePipe, "mtnaWfGetControlError": MtnaWfGetFormControlErrorPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
4764
+ MtnaWfInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfInputComponent, selector: "mtna-wf-input-item", usesInheritance: true, ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"header; context: { $implicit: true }\"></ng-container>\n<mat-form-field\n *ngIf=\"!readonly && !!control; else readOnly\"\n appearance=\"outline\"\n [mtnaHighlight]=\"indicatorStatus === 'ACTIVE' && !hasItemHeader\"\n>\n <mat-label>{{ item.label }}</mat-label>\n <textarea\n *ngIf=\"isParagraph; else shortInput\"\n matInput\n [formControl]=\"control\"\n [required]=\"item.required\"\n [attr.autocomplete]=\"item.label || item.name | mtnaWfGetAutoComplete\"\n cdkTextareaAutoSize\n cdkAutosizeMinRows=\"3\"\n cdkAutosizeMaxRows=\"5\"\n ></textarea>\n\n <ng-template #shortInput>\n <input matInput [formControl]=\"control!\" [autocomplete]=\"item.label || item.name | mtnaWfGetAutoComplete\" [required]=\"item.required\" />\n </ng-template>\n\n <mat-error *ngFor=\"let error of control.errors | keyvalue | slice : 0 : 1\">\n {{ error | mtnaWfGetControlError : item }}\n </mat-error>\n</mat-form-field>\n\n<!-- READONLY -->\n<ng-template #readOnly>\n <ng-container *ngTemplateOutlet=\"inList ? listItem : fullList\"></ng-container>\n</ng-template>\n\n<ng-template #fullList>\n <mat-list>\n <ng-container *ngTemplateOutlet=\"listItem\"></ng-container>\n </mat-list>\n</ng-template>\n\n<ng-template #listItem>\n <mat-list-item class=\"wrappable-list-item\">\n <!-- <mat-icon *ngIf=\"item.label || item.header as label\" matListIcon>{{ label | mtnaWfGetListIcon }}</mat-icon> -->\n <h4 *ngIf=\"!item.questionText && (item.label || item.name) as label\" mat-line>{{ label }}</h4>\n <p mat-line class=\"wrap-line\">{{ item.value || _noInformationText }}</p>\n </mat-list-item>\n</ng-template>\n", styles: ["mtna-wf-input-item.mtna-wf-control-item .mat-form-field{width:100%}mtna-wf-input-item.mtna-wf-control-item .mtna-wf-error-container{font-size:75%;line-height:1;min-height:1em;margin-top:-.75rem}mtna-wf-input-item.mtna-wf-control-item .control-item-content{padding:.35em .75em .625em}mtna-wf-input-item.mtna-wf-control-item .mtna-wf-item-header~:not(.mtna-wf-error-container):not(.mat-list){padding-left:.75em}mtna-wf-input-item.mtna-wf-control-item .mtna-wf-item-header~:not(.mtna-wf-error-container):not(.mat-list).mat-form-field{width:calc(100% - .75em)}mtna-wf-input-item .mat-list-base .mat-list-item,mtna-wf-input-item .mat-list-base .mat-list-item.mat-list-item-with-avatar{height:auto;padding:12px 0}mtna-wf-input-item .mat-list-base .mat-list-item.mat-2-line,mtna-wf-input-item .mat-list-base .mat-list-item.mat-2-line.mat-list-item-with-avatar{padding:18.5px 0}mtna-wf-input-item .mat-list-base .mat-list-item .mat-line{white-space:normal;overflow:unset;text-overflow:unset}\n"], components: [{ type: i1$4.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i4$2.MatList, selector: "mat-list, mat-action-list", inputs: ["disableRipple", "disabled"], exportAs: ["matList"] }, { type: i4$2.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["disableRipple", "disabled"], exportAs: ["matListItem"] }], directives: [{ type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.MtnaHighlightDirective, selector: "[mtnaHighlight]", inputs: ["mtnaHighlight", "mtnaHighlightColor"], exportAs: ["mtnaHighlight"] }, { type: i1$4.MatLabel, selector: "mat-label" }, { type: i5$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["id", "disabled", "required", "type", "value", "readonly", "placeholder", "errorStateMatcher", "aria-describedby"], exportAs: ["matInput"] }, { type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i6.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1$4.MatError, selector: "mat-error", inputs: ["id"] }, { type: i3$3.MatLine, selector: "[mat-line], [matLine]" }], pipes: { "mtnaWfGetAutoComplete": MtnaWfGetAutoCompletePipe, "slice": i3.SlicePipe, "keyvalue": i3.KeyValuePipe, "mtnaWfGetControlError": MtnaWfGetFormControlErrorPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
4398
4765
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfInputComponent, decorators: [{
4399
4766
  type: Component,
4400
4767
  args: [{
@@ -4451,7 +4818,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
4451
4818
  class MtnaWfMultipleChoiceComponent extends MtnaWfBaseSingleSelectionParentValueItem {
4452
4819
  }
4453
4820
  MtnaWfMultipleChoiceComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfMultipleChoiceComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
4454
- MtnaWfMultipleChoiceComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfMultipleChoiceComponent, selector: "mtna-wf-multiple-choice-item", usesInheritance: true, ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"header\"></ng-container>\n<div *ngIf=\"control\" [mtnaHighlight]=\"indicatorStatus === 'ACTIVE'\">\n <div class=\"mtna-wf-error-container\">\n <ng-container *ngIf=\"control.invalid && (control.dirty || control.touched)\">\n <mat-error *ngFor=\"let error of control.errors | keyvalue\">\n {{ error | mtnaWfGetControlError : item }}\n </mat-error>\n </ng-container>\n </div>\n <mat-radio-group class=\"control-item-content\" [formControl]=\"control\" (change)=\"selectionChange($event)\">\n <ng-container *ngFor=\"let opt of item.options; trackBy: _trackByOptionId\">\n <mat-radio-button [disableRipple]=\"readonly\" [value]=\"opt.option.id\">{{ opt.option.name }}</mat-radio-button>\n <mtna-wf-item\n *ngIf=\"item.optionItemMap[opt.option.id] as subItem\"\n [item]=\"subItem\"\n [control]=\"!!controlWrapper && !!controlWrapper.controls ? controlWrapper.controls[subItem.instanceId] : undefined\"\n [parentIds]=\"parentIds.concat(opt.option.id)\"\n [readonly]=\"readonly\"\n ></mtna-wf-item>\n </ng-container>\n </mat-radio-group>\n</div>\n", styles: ["mtna-wf-multiple-choice-item.mtna-wf-control-item .mat-form-field{width:100%}mtna-wf-multiple-choice-item.mtna-wf-control-item .mtna-wf-error-container{font-size:75%;line-height:1;min-height:1em;margin-top:-.75rem}mtna-wf-multiple-choice-item.mtna-wf-control-item .control-item-content{padding:.35em .75em .625em}mtna-wf-multiple-choice-item.mtna-wf-control-item .mtna-wf-item-header~:not(.mtna-wf-error-container):not(.mat-list){padding-left:.75em}mtna-wf-multiple-choice-item.mtna-wf-control-item .mtna-wf-item-header~:not(.mtna-wf-error-container):not(.mat-list).mat-form-field{width:calc(100% - .75em)}mtna-wf-multiple-choice-item .mat-radio-group{display:inline-block;max-width:100%;width:100%}mtna-wf-multiple-choice-item .mat-radio-button{display:block;max-width:100%}mtna-wf-multiple-choice-item .mat-radio-button:not(:last-of-type){margin-bottom:4px}mtna-wf-multiple-choice-item .mat-radio-button .mat-radio-label{white-space:normal}mtna-wf-multiple-choice-item .mat-radio-button+mtna-wf-item{padding-left:28px;margin-top:0}mtna-wf-multiple-choice-item.read-only .mat-radio-button .mat-radio-label{cursor:default}\n"], components: [{ type: i1$7.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }, { type: MtnaWfFormItemComponent, selector: "mtna-wf-item", inputs: ["color", "control", "header", "inList", "item", "parentIds", "readonly", "step"], outputs: ["focusedSection"] }], directives: [{ type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$1.MtnaHighlightDirective, selector: "[mtnaHighlight]", inputs: ["mtnaHighlight", "mtnaHighlightColor"], exportAs: ["mtnaHighlight"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1$5.MatError, selector: "mat-error", inputs: ["id"] }, { type: i1$7.MatRadioGroup, selector: "mat-radio-group", exportAs: ["matRadioGroup"] }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], pipes: { "keyvalue": i3.KeyValuePipe, "mtnaWfGetControlError": MtnaWfGetFormControlErrorPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
4821
+ MtnaWfMultipleChoiceComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfMultipleChoiceComponent, selector: "mtna-wf-multiple-choice-item", usesInheritance: true, ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"header\"></ng-container>\n<div *ngIf=\"control\" [mtnaHighlight]=\"indicatorStatus === 'ACTIVE'\">\n <div class=\"mtna-wf-error-container\">\n <ng-container *ngIf=\"control.invalid && (control.dirty || control.touched)\">\n <mat-error *ngFor=\"let error of control.errors | keyvalue\">\n {{ error | mtnaWfGetControlError : item }}\n </mat-error>\n </ng-container>\n </div>\n <mat-radio-group class=\"control-item-content\" [formControl]=\"control\" (change)=\"selectionChange($event)\">\n <ng-container *ngFor=\"let opt of item.options; trackBy: _trackByOptionId\">\n <mat-radio-button [disableRipple]=\"readonly\" [disabled]=\"readonly || control.disabled\" [value]=\"opt.option.id\">{{ opt.option.name }}</mat-radio-button>\n <mtna-wf-item\n *ngIf=\"item.optionItemMap[opt.option.id] as subItem\"\n [item]=\"subItem\"\n [control]=\"!!controlWrapper && !!controlWrapper.controls ? controlWrapper.controls[subItem.instanceId] : undefined\"\n [parentIds]=\"parentIds.concat(opt.option.id)\"\n [readonly]=\"readonly\"\n ></mtna-wf-item>\n </ng-container>\n </mat-radio-group>\n</div>\n", styles: ["mtna-wf-multiple-choice-item.mtna-wf-control-item .mat-form-field{width:100%}mtna-wf-multiple-choice-item.mtna-wf-control-item .mtna-wf-error-container{font-size:75%;line-height:1;min-height:1em;margin-top:-.75rem}mtna-wf-multiple-choice-item.mtna-wf-control-item .control-item-content{padding:.35em .75em .625em}mtna-wf-multiple-choice-item.mtna-wf-control-item .mtna-wf-item-header~:not(.mtna-wf-error-container):not(.mat-list){padding-left:.75em}mtna-wf-multiple-choice-item.mtna-wf-control-item .mtna-wf-item-header~:not(.mtna-wf-error-container):not(.mat-list).mat-form-field{width:calc(100% - .75em)}mtna-wf-multiple-choice-item .mat-radio-group{display:inline-block;max-width:100%;width:100%}mtna-wf-multiple-choice-item .mat-radio-button{display:block;max-width:100%}mtna-wf-multiple-choice-item .mat-radio-button:not(:last-of-type){margin-bottom:4px}mtna-wf-multiple-choice-item .mat-radio-button .mat-radio-label{white-space:normal}mtna-wf-multiple-choice-item .mat-radio-button+mtna-wf-item{padding-left:28px;margin-top:0}mtna-wf-multiple-choice-item.read-only .mat-radio-button .mat-radio-label{cursor:default}\n"], components: [{ type: i1$6.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }, { type: MtnaWfFormItemComponent, selector: "mtna-wf-item", inputs: ["color", "control", "header", "inList", "item", "parentIds", "readonly", "step"], outputs: ["focusedSection"] }], directives: [{ type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.MtnaHighlightDirective, selector: "[mtnaHighlight]", inputs: ["mtnaHighlight", "mtnaHighlightColor"], exportAs: ["mtnaHighlight"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1$4.MatError, selector: "mat-error", inputs: ["id"] }, { type: i1$6.MatRadioGroup, selector: "mat-radio-group", exportAs: ["matRadioGroup"] }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], pipes: { "keyvalue": i3.KeyValuePipe, "mtnaWfGetControlError": MtnaWfGetFormControlErrorPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
4455
4822
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfMultipleChoiceComponent, decorators: [{
4456
4823
  type: Component,
4457
4824
  args: [{
@@ -4505,7 +4872,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
4505
4872
  class MtnaWfOrderedListItemComponent extends MtnaWfBaseFormItem {
4506
4873
  }
4507
4874
  MtnaWfOrderedListItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfOrderedListItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
4508
- MtnaWfOrderedListItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfOrderedListItemComponent, selector: "mtna-wf-ordered-list-item", usesInheritance: true, ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"header\"></ng-container>\n<ol [mtnaHighlight]=\"indicatorStatus === 'ACTIVE' && !item.questionText && !item.descriptiveText\">\n <li *ngFor=\"let item of item.value\" [innerHTML]=\"item | mtnaWfSanitizeHtml\"></li>\n</ol>\n", styles: ["mtna-wf-ordered-list-item>ol{list-style:decimal outside;padding-left:1rem}mtna-annotations-indicator+mtna-wf-item-injector+mtna-wf-ordered-list-item>ol{padding-right:24px}\n"], directives: [{ type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i1$1.MtnaHighlightDirective, selector: "[mtnaHighlight]", inputs: ["mtnaHighlight", "mtnaHighlightColor"], exportAs: ["mtnaHighlight"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "mtnaWfSanitizeHtml": MtnaWfSanitizeHtmlPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
4875
+ MtnaWfOrderedListItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfOrderedListItemComponent, selector: "mtna-wf-ordered-list-item", usesInheritance: true, ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"header\"></ng-container>\n<ol [mtnaHighlight]=\"indicatorStatus === 'ACTIVE' && !item.questionText && !item.descriptiveText\">\n <li *ngFor=\"let item of item.value\" [innerHTML]=\"item | mtnaWfSanitizeHtml\"></li>\n</ol>\n", styles: ["mtna-wf-ordered-list-item>ol{list-style:decimal outside;padding-left:1rem}mtna-annotations-indicator+mtna-wf-item-injector+mtna-wf-ordered-list-item>ol{padding-right:24px}\n"], directives: [{ type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i4.MtnaHighlightDirective, selector: "[mtnaHighlight]", inputs: ["mtnaHighlight", "mtnaHighlightColor"], exportAs: ["mtnaHighlight"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "mtnaWfSanitizeHtml": MtnaWfSanitizeHtmlPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
4509
4876
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfOrderedListItemComponent, decorators: [{
4510
4877
  type: Component,
4511
4878
  args: [{
@@ -4570,6 +4937,7 @@ class MtnaWfRepeatableItemContainerComponent extends MtnaWfBaseParentValueItem {
4570
4937
  constructor(cdr, manager) {
4571
4938
  super(cdr);
4572
4939
  this.manager = manager;
4940
+ this._addText = $localize `ADD`;
4573
4941
  }
4574
4942
  addItem() {
4575
4943
  this.manager.changeMtnaFormItem(new MtnaWfFormItemChange(this.item.repeatableTemplateId, this.parentIds, 'ADD'));
@@ -4580,7 +4948,7 @@ class MtnaWfRepeatableItemContainerComponent extends MtnaWfBaseParentValueItem {
4580
4948
  }
4581
4949
  }
4582
4950
  MtnaWfRepeatableItemContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfRepeatableItemContainerComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: MtnaWfManagerService }], target: i0.ɵɵFactoryTarget.Component });
4583
- MtnaWfRepeatableItemContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfRepeatableItemContainerComponent, selector: "mtna-wf-repeatable-item-container", usesInheritance: true, ngImport: i0, template: "<mtna-wf-item-header\n *ngIf=\"!!item.questionText || !!item.descriptiveText\"\n [descriptiveText]=\"item.descriptiveText\"\n [disabled]=\"control?.disabled || false\"\n [questionText]=\"item.questionText\"\n [required]=\"item.required\"\n></mtna-wf-item-header>\n<section [mtnaHighlight]=\"indicatorStatus === 'ACTIVE' && !item.questionText && !item.descriptiveText\">\n <mtna-wf-repeatable-item\n @repeatItemExpandCollapse\n *ngFor=\"let subitem of item.items; let first = first; trackBy: 'instanceId' | mtnaTrackByProperty\"\n >\n <ng-container *ngIf=\"subitem | coerceFormItem as coercedSubItem\">\n <button\n *ngIf=\"!readonly && item.items.length > item.minOccurrences\"\n mat-icon-button\n class=\"item-remove-button\"\n color=\"warn\"\n (click)=\"removeItem(coercedSubItem)\"\n matTooltip=\"Remove Item\"\n >\n <mat-icon>remove_circle</mat-icon>\n </button>\n <mtna-wf-item\n [item]=\"coercedSubItem\"\n [control]=\"!!control && !!control.controls ? control.controls[coercedSubItem.instanceId] : undefined\"\n [readonly]=\"readonly\"\n [parentIds]=\"parentIds\"\n ></mtna-wf-item>\n </ng-container>\n </mtna-wf-repeatable-item>\n</section>\n<button *ngIf=\"!readonly\" mat-raised-button (click)=\"addItem()\" class=\"new-item-button\" color=\"primary\">\n {{ item.additionalText || 'ADD' | uppercase }}\n</button>\n", styles: ["mtna-wf-repeatable-item-container{display:block}mtna-wf-repeatable-item-container>section>mtna-wf-repeatable-item{position:relative;padding:16px;border-style:dashed;border-width:4px;border-radius:4px;display:inline-block;margin:8px;max-width:100%}mtna-wf-repeatable-item-container>section>mtna-wf-repeatable-item .item-remove-button{position:absolute;top:-22px;left:-22px}mtna-wf-repeatable-item-container>section>mtna-wf-repeatable-item>mtna-wf-item:first-child{margin-top:0}mtna-wf-repeatable-item-container .new-item-button{margin-left:.75em}mtna-wf-repeatable-item-container>section{padding-left:.75em}mtna-wf-repeatable-item-container>section,mtna-wf-repeatable-item-container .new-item-button{margin-top:16px}\n"], components: [{ type: MtnaWfItemHeaderComponent, selector: "mtna-wf-item-header", inputs: ["descriptiveText", "disabled", "hideRequiredMarker", "invalid", "questionText", "required"] }, { type: MtnaWfRepeatableItemComponent, selector: "mtna-wf-repeatable-item" }, { type: i3$1.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"] }, { type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: MtnaWfFormItemComponent, selector: "mtna-wf-item", inputs: ["color", "control", "header", "inList", "item", "parentIds", "readonly", "step"], outputs: ["focusedSection"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$1.MtnaHighlightDirective, selector: "[mtnaHighlight]", inputs: ["mtnaHighlight", "mtnaHighlightColor"], exportAs: ["mtnaHighlight"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6$1.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }], pipes: { "mtnaTrackByProperty": i1$1.MtnaTrackByPropertyPipe, "coerceFormItem": MtnaWfCoerceFormItemPipe, "uppercase": i3.UpperCasePipe }, animations: [
4951
+ MtnaWfRepeatableItemContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfRepeatableItemContainerComponent, selector: "mtna-wf-repeatable-item-container", usesInheritance: true, ngImport: i0, template: "<mtna-wf-item-header\n *ngIf=\"!!item.questionText || !!item.descriptiveText\"\n [descriptiveText]=\"item.descriptiveText\"\n [disabled]=\"control?.disabled || false\"\n [questionText]=\"item.questionText\"\n [required]=\"item.required\"\n></mtna-wf-item-header>\n<section [mtnaHighlight]=\"indicatorStatus === 'ACTIVE' && !item.questionText && !item.descriptiveText\">\n <mtna-wf-repeatable-item\n @repeatItemExpandCollapse\n *ngFor=\"let subitem of item.items; let first = first; trackBy: 'instanceId' | mtnaTrackByProperty\"\n >\n <ng-container *ngIf=\"subitem | coerceFormItem as coercedSubItem\">\n <button\n *ngIf=\"!readonly && item.items.length > item.minOccurrences\"\n mat-icon-button\n class=\"item-remove-button\"\n color=\"warn\"\n (click)=\"removeItem(coercedSubItem)\"\n matTooltip=\"Remove Item\"\n i18n-matTooltip\n >\n <mat-icon>remove_circle</mat-icon>\n </button>\n <mtna-wf-item\n [item]=\"coercedSubItem\"\n [control]=\"!!control && !!control.controls ? control.controls[coercedSubItem.instanceId] : undefined\"\n [readonly]=\"readonly\"\n [parentIds]=\"parentIds\"\n ></mtna-wf-item>\n </ng-container>\n </mtna-wf-repeatable-item>\n</section>\n<button *ngIf=\"!readonly\" mat-raised-button (click)=\"addItem()\" class=\"new-item-button\" color=\"primary\">\n {{ item.additionalText || _addText | uppercase }}\n</button>\n", styles: ["mtna-wf-repeatable-item-container{display:block}mtna-wf-repeatable-item-container>section>mtna-wf-repeatable-item{position:relative;padding:16px;border-style:dashed;border-width:4px;border-radius:4px;display:inline-block;margin:8px;max-width:100%}mtna-wf-repeatable-item-container>section>mtna-wf-repeatable-item .item-remove-button{position:absolute;top:-22px;left:-22px}mtna-wf-repeatable-item-container>section>mtna-wf-repeatable-item>mtna-wf-item:first-child{margin-top:0}mtna-wf-repeatable-item-container .new-item-button{margin-left:.75em}mtna-wf-repeatable-item-container>section{padding-left:.75em}mtna-wf-repeatable-item-container>section,mtna-wf-repeatable-item-container .new-item-button{margin-top:16px}\n"], components: [{ type: MtnaWfItemHeaderComponent, selector: "mtna-wf-item-header", inputs: ["descriptiveText", "disabled", "hideRequiredMarker", "invalid", "questionText", "required"] }, { type: MtnaWfRepeatableItemComponent, selector: "mtna-wf-repeatable-item" }, { type: i3$1.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"] }, { type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: MtnaWfFormItemComponent, selector: "mtna-wf-item", inputs: ["color", "control", "header", "inList", "item", "parentIds", "readonly", "step"], outputs: ["focusedSection"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.MtnaHighlightDirective, selector: "[mtnaHighlight]", inputs: ["mtnaHighlight", "mtnaHighlightColor"], exportAs: ["mtnaHighlight"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6$1.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }], pipes: { "mtnaTrackByProperty": i4.MtnaTrackByPropertyPipe, "coerceFormItem": MtnaWfCoerceFormItemPipe, "uppercase": i3.UpperCasePipe }, animations: [
4584
4952
  trigger('repeatItemExpandCollapse', [
4585
4953
  state('in', style({ height: '*', margin: '*', opacity: 1 })),
4586
4954
  state('void', style({ height: 0, margin: 0, opacity: 0, visibility: 'hidden' })),
@@ -4683,8 +5051,8 @@ class MtnaWfResourceSearchComponent extends MtnaWfBaseValueItem {
4683
5051
  });
4684
5052
  }
4685
5053
  }
4686
- MtnaWfResourceSearchComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfResourceSearchComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1$8.MtnaInMemorySearchFacade }, { token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
4687
- MtnaWfResourceSearchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfResourceSearchComponent, selector: "mtna-wf-resource-search-item", usesInheritance: true, ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"header\"></ng-container>\n<div class=\"label-container\" fxLayout=\"row\" fxLayoutAlign=\"start center\">\n <div class=\"label-text\" role=\"heading\">\n {{ item.label }}\n </div>\n <mat-divider fxFlex></mat-divider>\n</div>\n<div class=\"values-container\">\n <!-- <aria-ui-reference-list-table\n [path]=\"path\"\n [referenceConfiguration]=\"referenceConfiguration\"\n [references]=\"references\"\n [termReference]=\"termReference\"\n (openDetails)=\"openDetails.emit($event)\"\n (referenceSelected)=\"addButtonDisabled = !!$event\"\n (updateValues)=\"updateValues.emit($event)\"\n >\n </aria-ui-reference-list-table>\n -->\n <button mat-flat-button class=\"add-button\" color=\"primary\" [disabled]=\"readonly\" i18n (click)=\"openDialog()\">\n Add Resource<mat-icon>add_circle_outline</mat-icon>\n </button>\n</div>\n", styles: ["mtna-wf-resource-search-item .label-container .label-text{margin:0 8px 0 0}mtna-wf-resource-search-item .label-container .mat-divider.mat-divider-horizontal{position:unset;width:unset}mtna-wf-resource-search-item .values-container{margin-left:1em;border-width:1px;border-style:solid;border-radius:4px;border-color:#0000001f;padding:8px}mtna-wf-resource-search-item .values-container .paginator-and-order-controls{margin-bottom:8px}mtna-wf-resource-search-item .values-container .add-button .mat-icon{margin-left:4px}\n"], components: [{ type: i2$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { type: i3$1.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"] }, { type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3$2.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: i3$2.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: i3$2.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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
5054
+ MtnaWfResourceSearchComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfResourceSearchComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1$7.MtnaInMemorySearchFacade }, { token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
5055
+ MtnaWfResourceSearchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfResourceSearchComponent, selector: "mtna-wf-resource-search-item", usesInheritance: true, ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"header\"></ng-container>\n<div class=\"label-container\" fxLayout=\"row\" fxLayoutAlign=\"start center\">\n <div class=\"label-text\">\n {{ item.label }}\n </div>\n <mat-divider fxFlex></mat-divider>\n</div>\n<div class=\"values-container\">\n <!-- <aria-ui-reference-list-table\n [path]=\"path\"\n [referenceConfiguration]=\"referenceConfiguration\"\n [references]=\"references\"\n [termReference]=\"termReference\"\n (openDetails)=\"openDetails.emit($event)\"\n (referenceSelected)=\"addButtonDisabled = !!$event\"\n (updateValues)=\"updateValues.emit($event)\"\n >\n </aria-ui-reference-list-table>\n -->\n <button mat-flat-button class=\"add-button\" color=\"primary\" [disabled]=\"readonly\" (click)=\"openDialog()\" i18n>\n Add Resource<mat-icon>add_circle_outline</mat-icon>\n </button>\n</div>\n", styles: ["mtna-wf-resource-search-item .label-container .label-text{margin:0 8px 0 0}mtna-wf-resource-search-item .label-container .mat-divider.mat-divider-horizontal{position:unset;width:unset}mtna-wf-resource-search-item .values-container{margin-left:1em;border-width:1px;border-style:solid;border-radius:4px;border-color:#0000001f;padding:8px}mtna-wf-resource-search-item .values-container .paginator-and-order-controls{margin-bottom:8px}mtna-wf-resource-search-item .values-container .add-button .mat-icon{margin-left:4px}\n"], components: [{ type: i2$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { type: i3$1.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"] }, { type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3$2.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: i3$2.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: i3$2.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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
4688
5056
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfResourceSearchComponent, decorators: [{
4689
5057
  type: Component,
4690
5058
  args: [{
@@ -4694,7 +5062,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
4694
5062
  encapsulation: ViewEncapsulation.None,
4695
5063
  changeDetection: ChangeDetectionStrategy.OnPush,
4696
5064
  }]
4697
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1$8.MtnaInMemorySearchFacade }, { type: i1.MatDialog }]; } });
5065
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1$7.MtnaInMemorySearchFacade }, { type: i1.MatDialog }]; } });
4698
5066
 
4699
5067
  class MtnaWfResourceSearchModule {
4700
5068
  }
@@ -4719,7 +5087,7 @@ class MtnaWfTableFormItemComponent extends MtnaWfBaseParentValueItem {
4719
5087
  }
4720
5088
  }
4721
5089
  MtnaWfTableFormItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfTableFormItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
4722
- MtnaWfTableFormItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfTableFormItemComponent, selector: "mtna-wf-table-item", usesInheritance: true, ngImport: i0, template: "<table mat-table [dataSource]=\"item.tableRows\" [trackBy]=\"_trackByTableRow\">\n <ng-container *ngFor=\"let header of item.headers; let index = index\" [matColumnDef]=\"header\">\n <th mat-header-cell *matHeaderCellDef>{{ header }}</th>\n\n <td mat-cell *matCellDef=\"let rowItem\">\n <mtna-wf-item\n *ngIf=\"!!rowItem.items[index]\"\n [control]=\"!!control && !!control.controls ? control.controls[rowItem.items[index].instanceId] : undefined\"\n [item]=\"rowItem.items[index]\"\n [readonly]=\"readonly\"\n [parentIds]=\"parentIds\"\n ></mtna-wf-item>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"item.headers\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: item.headers\"></tr>\n</table>\n", styles: ["mtna-wf-table-item .mat-table{width:100%}mtna-wf-table-item .mat-table tbody tr td.mat-cell{padding:8px;vertical-align:top}mtna-wf-table-item .mat-table tbody tr td mtna-wf-group>.group{flex-direction:column;place-content:start start;align-items:start;justify-content:start}mtna-wf-table-item .mat-table tbody tr td mtna-wf-group>.group *{margin-top:0;margin-bottom:0}mtna-wf-table-item .mat-table tbody tr td mtna-wf-boolean-item>.mat-slide-toggle{margin-bottom:8px;margin-top:8px}mtna-wf-table-item .mat-table tbody tr td mtna-wf-repeatable-item-container .repeat-item-container:not(:first-of-type){margin-top:8px}mtna-wf-table-item .mat-table tbody tr td mtna-wf-repeatable-item-container .new-item-button{margin:8px 0}\n"], components: [{ type: i1$9.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { type: MtnaWfFormItemComponent, selector: "mtna-wf-item", inputs: ["color", "control", "header", "inList", "item", "parentIds", "readonly", "step"], outputs: ["focusedSection"] }, { type: i1$9.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { type: i1$9.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }], directives: [{ type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1$9.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { type: i1$9.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { type: i1$9.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { type: i1$9.MatCellDef, selector: "[matCellDef]" }, { type: i1$9.MatCell, selector: "mat-cell, td[mat-cell]" }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$9.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { type: i1$9.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
5090
+ MtnaWfTableFormItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfTableFormItemComponent, selector: "mtna-wf-table-item", usesInheritance: true, ngImport: i0, template: "<table mat-table [dataSource]=\"item.tableRows\" [trackBy]=\"_trackByTableRow\">\n <ng-container *ngFor=\"let header of item.headers; let index = index\" [matColumnDef]=\"header\">\n <th mat-header-cell *matHeaderCellDef>{{ header }}</th>\n\n <td mat-cell *matCellDef=\"let rowItem\">\n <mtna-wf-item\n *ngIf=\"!!rowItem.items[index]\"\n [control]=\"!!control && !!control.controls ? control.controls[rowItem.items[index].instanceId] : undefined\"\n [item]=\"rowItem.items[index]\"\n [readonly]=\"readonly\"\n [parentIds]=\"parentIds\"\n ></mtna-wf-item>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"item.headers\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: item.headers\"></tr>\n</table>\n", styles: ["mtna-wf-table-item .mat-table{width:100%}mtna-wf-table-item .mat-table tbody tr td.mat-cell{padding:8px;vertical-align:top}mtna-wf-table-item .mat-table tbody tr td mtna-wf-group>.group{flex-direction:column;place-content:start start;align-items:start;justify-content:start}mtna-wf-table-item .mat-table tbody tr td mtna-wf-group>.group *{margin-top:0;margin-bottom:0}mtna-wf-table-item .mat-table tbody tr td mtna-wf-boolean-item>.mat-slide-toggle{margin-bottom:8px;margin-top:8px}mtna-wf-table-item .mat-table tbody tr td mtna-wf-repeatable-item-container .repeat-item-container:not(:first-of-type){margin-top:8px}mtna-wf-table-item .mat-table tbody tr td mtna-wf-repeatable-item-container .new-item-button{margin:8px 0}\n"], components: [{ type: i1$8.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { type: MtnaWfFormItemComponent, selector: "mtna-wf-item", inputs: ["color", "control", "header", "inList", "item", "parentIds", "readonly", "step"], outputs: ["focusedSection"] }, { type: i1$8.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { type: i1$8.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }], directives: [{ type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1$8.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { type: i1$8.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { type: i1$8.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { type: i1$8.MatCellDef, selector: "[matCellDef]" }, { type: i1$8.MatCell, selector: "mat-cell, td[mat-cell]" }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$8.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { type: i1$8.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
4723
5091
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfTableFormItemComponent, decorators: [{
4724
5092
  type: Component,
4725
5093
  args: [{
@@ -4748,7 +5116,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
4748
5116
  class MtnaWfTextItemComponent extends MtnaWfBaseFormItem {
4749
5117
  }
4750
5118
  MtnaWfTextItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfTextItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
4751
- MtnaWfTextItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfTextItemComponent, selector: "mtna-wf-text-item", usesInheritance: true, ngImport: i0, template: "<p [innerHTML]=\"$any(item.value) | mtnaWfSanitizeHtml\" class=\"mtna-wf-text-item\" [mtnaHighlight]=\"indicatorStatus === 'ACTIVE'\"></p>\n", styles: ["mtna-annotations-indicator+mtna-wf-item-injector+mtna-wf-text-item .mtna-wf-text-item{padding-right:24px}\n"], directives: [{ type: i1$1.MtnaHighlightDirective, selector: "[mtnaHighlight]", inputs: ["mtnaHighlight", "mtnaHighlightColor"], exportAs: ["mtnaHighlight"] }], pipes: { "mtnaWfSanitizeHtml": MtnaWfSanitizeHtmlPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
5119
+ MtnaWfTextItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfTextItemComponent, selector: "mtna-wf-text-item", usesInheritance: true, ngImport: i0, template: "<p [innerHTML]=\"$any(item.value) | mtnaWfSanitizeHtml\" class=\"mtna-wf-text-item\" [mtnaHighlight]=\"indicatorStatus === 'ACTIVE'\"></p>\n", styles: ["mtna-annotations-indicator+mtna-wf-item-injector+mtna-wf-text-item .mtna-wf-text-item{padding-right:24px}\n"], directives: [{ type: i4.MtnaHighlightDirective, selector: "[mtnaHighlight]", inputs: ["mtnaHighlight", "mtnaHighlightColor"], exportAs: ["mtnaHighlight"] }], pipes: { "mtnaWfSanitizeHtml": MtnaWfSanitizeHtmlPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
4752
5120
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfTextItemComponent, decorators: [{
4753
5121
  type: Component,
4754
5122
  args: [{
@@ -4777,7 +5145,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
4777
5145
  class MtnaWfTitleItemComponent extends MtnaWfBaseFormItem {
4778
5146
  }
4779
5147
  MtnaWfTitleItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfTitleItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
4780
- MtnaWfTitleItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfTitleItemComponent, selector: "mtna-wf-title-item", usesInheritance: true, ngImport: i0, template: "<h3 class=\"mtna-wf-title-item\" [mtnaHighlight]=\"indicatorStatus === 'ACTIVE'\">{{ item.value }}</h3>\n", styles: ["mtna-annotations-indicator+mtna-wf-item-injector+mtna-wf-title-item .mtna-wf-title-item{padding-right:24px}mtna-wf-title-item .mtna-wf-title-item{font-size:1rem;font-weight:400;letter-spacing:1px;line-height:32px;text-transform:uppercase}\n"], directives: [{ type: i1$1.MtnaHighlightDirective, selector: "[mtnaHighlight]", inputs: ["mtnaHighlight", "mtnaHighlightColor"], exportAs: ["mtnaHighlight"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
5148
+ MtnaWfTitleItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfTitleItemComponent, selector: "mtna-wf-title-item", usesInheritance: true, ngImport: i0, template: "<h3 class=\"mtna-wf-title-item\" [mtnaHighlight]=\"indicatorStatus === 'ACTIVE'\">{{ item.value }}</h3>\n", styles: ["mtna-annotations-indicator+mtna-wf-item-injector+mtna-wf-title-item .mtna-wf-title-item{padding-right:24px}mtna-wf-title-item .mtna-wf-title-item{font-size:1rem;font-weight:400;letter-spacing:1px;line-height:32px;text-transform:uppercase}\n"], directives: [{ type: i4.MtnaHighlightDirective, selector: "[mtnaHighlight]", inputs: ["mtnaHighlight", "mtnaHighlightColor"], exportAs: ["mtnaHighlight"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
4781
5149
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfTitleItemComponent, decorators: [{
4782
5150
  type: Component,
4783
5151
  args: [{
@@ -4806,7 +5174,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
4806
5174
  class MtnaWfUnorderedListItemComponent extends MtnaWfBaseFormItem {
4807
5175
  }
4808
5176
  MtnaWfUnorderedListItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfUnorderedListItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
4809
- MtnaWfUnorderedListItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfUnorderedListItemComponent, selector: "mtna-wf-unordered-list-item", usesInheritance: true, ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"header\"></ng-container>\n<ul [mtnaHighlight]=\"indicatorStatus === 'ACTIVE' && !item.questionText && !item.descriptiveText\">\n <li *ngFor=\"let item of item.value\" [innerHTML]=\"item | mtnaWfSanitizeHtml\"></li>\n</ul>\n", styles: ["mtna-wf-unordered-list-item>ul{list-style:disc outside;padding-left:1rem}mtna-annotations-indicator+mtna-wf-item-injector+mtna-wf-unordered-list-item>ul{padding-right:24px}\n"], directives: [{ type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i1$1.MtnaHighlightDirective, selector: "[mtnaHighlight]", inputs: ["mtnaHighlight", "mtnaHighlightColor"], exportAs: ["mtnaHighlight"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "mtnaWfSanitizeHtml": MtnaWfSanitizeHtmlPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
5177
+ MtnaWfUnorderedListItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfUnorderedListItemComponent, selector: "mtna-wf-unordered-list-item", usesInheritance: true, ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"header\"></ng-container>\n<ul [mtnaHighlight]=\"indicatorStatus === 'ACTIVE' && !item.questionText && !item.descriptiveText\">\n <li *ngFor=\"let item of item.value\" [innerHTML]=\"item | mtnaWfSanitizeHtml\"></li>\n</ul>\n", styles: ["mtna-wf-unordered-list-item>ul{list-style:disc outside;padding-left:1rem}mtna-annotations-indicator+mtna-wf-item-injector+mtna-wf-unordered-list-item>ul{padding-right:24px}\n"], directives: [{ type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i4.MtnaHighlightDirective, selector: "[mtnaHighlight]", inputs: ["mtnaHighlight", "mtnaHighlightColor"], exportAs: ["mtnaHighlight"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "mtnaWfSanitizeHtml": MtnaWfSanitizeHtmlPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
4810
5178
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfUnorderedListItemComponent, decorators: [{
4811
5179
  type: Component,
4812
5180
  args: [{
@@ -4931,7 +5299,6 @@ class MtnaWfYearQuarterComponent extends MtnaWfBaseValueItem {
4931
5299
  }
4932
5300
  ngOnInit() {
4933
5301
  var _a, _b, _c;
4934
- console.warn('YearQuarterItem ngOnInit', this.control);
4935
5302
  // Set any initial value onto the Year & Quarter controls
4936
5303
  this._yearControl.setValue(((_a = this.control) === null || _a === void 0 ? void 0 : _a.value) ? this.control.value.year : null);
4937
5304
  this._quarterControl.setValue(((_b = this.control) === null || _b === void 0 ? void 0 : _b.value) ? this.control.value.quarter : null);
@@ -4961,7 +5328,7 @@ class MtnaWfYearQuarterComponent extends MtnaWfBaseValueItem {
4961
5328
  }
4962
5329
  }
4963
5330
  MtnaWfYearQuarterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfYearQuarterComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: MTNA_WF_DEFAULT_YEAR_RANGE, optional: true }], target: i0.ɵɵFactoryTarget.Component });
4964
- MtnaWfYearQuarterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfYearQuarterComponent, selector: "mtna-wf-year-quarter-item", host: { properties: { "class.mtna-wf-year-quarter-item": "this.yearQuarterItemClass" } }, usesInheritance: true, ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"header\"></ng-container>\n<div\n *ngIf=\"control\"\n class=\"year-quarter-container\"\n fxLayout=\"row\"\n fxLayoutGap=\"8px\"\n [mtnaHighlight]=\"indicatorStatus === 'ACTIVE' && !hasItemHeader\"\n>\n <mat-form-field>\n <mat-select [formControl]=\"_yearControl\" aria-label=\"year selection\">\n <mat-option *ngFor=\"let year of _yearSelection\" [value]=\"year\">{{ year }}</mat-option>\n </mat-select>\n <mat-error *ngFor=\"let error of control.errors | keyvalue\">\n {{ error | mtnaWfGetControlError : item }}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field>\n <mat-select [formControl]=\"_quarterControl\" aria-label=\"quarter selection\">\n <mat-option>None</mat-option>\n <mat-option *ngFor=\"let quarter of _yearControl.value | mtnaWfGetQuarters : componentRangeLimits\" [value]=\"quarter\">{{\n $any(quarter) | mtnaWfDateQuarter : 'short'\n }}</mat-option>\n </mat-select>\n <mat-error *ngFor=\"let error of control.errors | keyvalue\">\n {{ error | mtnaWfGetControlError : item }}\n </mat-error>\n </mat-form-field>\n</div>\n", styles: ["mtna-wf-year-quarter-item.mtna-wf-control-item .mat-form-field{width:100%}mtna-wf-year-quarter-item.mtna-wf-control-item .mtna-wf-error-container{font-size:75%;line-height:1;min-height:1em;margin-top:-.75rem}mtna-wf-year-quarter-item.mtna-wf-control-item .control-item-content{padding:.35em .75em .625em}mtna-wf-year-quarter-item.mtna-wf-control-item .mtna-wf-item-header~:not(.mtna-wf-error-container):not(.mat-list){padding-left:.75em}mtna-wf-year-quarter-item.mtna-wf-control-item .mtna-wf-item-header~:not(.mtna-wf-error-container):not(.mat-list).mat-form-field{width:calc(100% - .75em)}mtna-wf-year-quarter-item.mtna-wf-year-quarter-item .year-quarter-container>.mat-form-field{max-width:75px}mtna-wf-year-quarter-item.mtna-wf-year-quarter-item .year-quarter-container>.mat-form-field:first-of-type{margin-right:8px}\n"], components: [{ type: i1$5.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i2$4.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i3$3.MatOption, selector: "mat-option", exportAs: ["matOption"] }], directives: [{ type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3$2.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: i3$2.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"] }, { type: i1$1.MtnaHighlightDirective, selector: "[mtnaHighlight]", inputs: ["mtnaHighlight", "mtnaHighlightColor"], exportAs: ["mtnaHighlight"] }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1$5.MatError, selector: "mat-error", inputs: ["id"] }], pipes: { "keyvalue": i3.KeyValuePipe, "mtnaWfGetControlError": MtnaWfGetFormControlErrorPipe, "mtnaWfGetQuarters": MtnaWfGetAvailableQuartersPipe, "mtnaWfDateQuarter": MtnaWfDateQuarterPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
5331
+ MtnaWfYearQuarterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfYearQuarterComponent, selector: "mtna-wf-year-quarter-item", host: { properties: { "class.mtna-wf-year-quarter-item": "this.yearQuarterItemClass" } }, usesInheritance: true, ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"header\"></ng-container>\n<div\n *ngIf=\"control\"\n class=\"year-quarter-container\"\n fxLayout=\"row\"\n fxLayoutGap=\"8px\"\n [mtnaHighlight]=\"indicatorStatus === 'ACTIVE' && !hasItemHeader\"\n>\n <mat-form-field>\n <mat-select [formControl]=\"_yearControl\" aria-label=\"Year Selection\" i18n-aria-label>\n <mat-option *ngFor=\"let year of _yearSelection\" [value]=\"year\">{{ year }}</mat-option>\n </mat-select>\n <mat-error *ngFor=\"let error of control.errors | keyvalue\">\n {{ error | mtnaWfGetControlError : item }}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field>\n <mat-select [formControl]=\"_quarterControl\" aria-label=\"Quarter Selection\" i18n-aria-label>\n <mat-option i18n>None</mat-option>\n <mat-option *ngFor=\"let quarter of _yearControl.value | mtnaWfGetQuarters : componentRangeLimits\" [value]=\"quarter\">{{\n $any(quarter) | mtnaWfDateQuarter : 'short'\n }}</mat-option>\n </mat-select>\n <mat-error *ngFor=\"let error of control.errors | keyvalue\">\n {{ error | mtnaWfGetControlError : item }}\n </mat-error>\n </mat-form-field>\n</div>\n", styles: ["mtna-wf-year-quarter-item.mtna-wf-control-item .mat-form-field{width:100%}mtna-wf-year-quarter-item.mtna-wf-control-item .mtna-wf-error-container{font-size:75%;line-height:1;min-height:1em;margin-top:-.75rem}mtna-wf-year-quarter-item.mtna-wf-control-item .control-item-content{padding:.35em .75em .625em}mtna-wf-year-quarter-item.mtna-wf-control-item .mtna-wf-item-header~:not(.mtna-wf-error-container):not(.mat-list){padding-left:.75em}mtna-wf-year-quarter-item.mtna-wf-control-item .mtna-wf-item-header~:not(.mtna-wf-error-container):not(.mat-list).mat-form-field{width:calc(100% - .75em)}mtna-wf-year-quarter-item.mtna-wf-year-quarter-item .year-quarter-container>.mat-form-field{max-width:75px}mtna-wf-year-quarter-item.mtna-wf-year-quarter-item .year-quarter-container>.mat-form-field:first-of-type{margin-right:8px}\n"], components: [{ type: i1$4.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i2$4.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i3$3.MatOption, selector: "mat-option", exportAs: ["matOption"] }], directives: [{ type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3$2.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: i3$2.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"] }, { type: i4.MtnaHighlightDirective, selector: "[mtnaHighlight]", inputs: ["mtnaHighlight", "mtnaHighlightColor"], exportAs: ["mtnaHighlight"] }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1$4.MatError, selector: "mat-error", inputs: ["id"] }], pipes: { "keyvalue": i3.KeyValuePipe, "mtnaWfGetControlError": MtnaWfGetFormControlErrorPipe, "mtnaWfGetQuarters": MtnaWfGetAvailableQuartersPipe, "mtnaWfDateQuarter": MtnaWfDateQuarterPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
4965
5332
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfYearQuarterComponent, decorators: [{
4966
5333
  type: Component,
4967
5334
  args: [{
@@ -5042,7 +5409,7 @@ class MtnaWfYearQuarterRangeComponent extends MtnaWfBaseValueItem {
5042
5409
  }
5043
5410
  }
5044
5411
  MtnaWfYearQuarterRangeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfYearQuarterRangeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
5045
- MtnaWfYearQuarterRangeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfYearQuarterRangeComponent, selector: "mtna-wf-year-quarter-range-item", host: { properties: { "class.mtna-wf-year-quarter-range-item": "this.yearQuarterRangeClass" } }, usesInheritance: true, ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"header\"></ng-container>\n\n<div\n *ngIf=\"control\"\n class=\"range-item-container\"\n fxLayout=\"row\"\n fxLayoutAlign=\"start center\"\n fxLayoutGap=\"8px\"\n [mtnaHighlight]=\"indicatorStatus === 'ACTIVE' && !hasItemHeader\"\n>\n <mtna-wf-year-quarter-item\n [item]=\"_startItem\"\n [control]=\"control.controls['start'] | mtnaWfCoerceFormControl\"\n [readonly]=\"readonly\"\n ></mtna-wf-year-quarter-item>\n <span fxFlex=\"14px\">to</span>\n <mtna-wf-year-quarter-item\n [item]=\"_endItem\"\n [control]=\"control.controls['end'] | mtnaWfCoerceFormControl\"\n [readonly]=\"readonly\"\n ></mtna-wf-year-quarter-item>\n</div>\n", styles: ["mtna-wf-year-quarter-range-item.mtna-wf-control-item .mat-form-field{width:100%}mtna-wf-year-quarter-range-item.mtna-wf-control-item .mtna-wf-error-container{font-size:75%;line-height:1;min-height:1em;margin-top:-.75rem}mtna-wf-year-quarter-range-item.mtna-wf-control-item .control-item-content{padding:.35em .75em .625em}mtna-wf-year-quarter-range-item.mtna-wf-control-item .mtna-wf-item-header~:not(.mtna-wf-error-container):not(.mat-list){padding-left:.75em}mtna-wf-year-quarter-range-item.mtna-wf-control-item .mtna-wf-item-header~:not(.mtna-wf-error-container):not(.mat-list).mat-form-field{width:calc(100% - .75em)}\n"], components: [{ type: MtnaWfYearQuarterComponent, selector: "mtna-wf-year-quarter-item" }], directives: [{ type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3$2.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: i3$2.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: i3$2.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"] }, { type: i1$1.MtnaHighlightDirective, selector: "[mtnaHighlight]", inputs: ["mtnaHighlight", "mtnaHighlightColor"], exportAs: ["mtnaHighlight"] }, { type: i3$2.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"] }], pipes: { "mtnaWfCoerceFormControl": MtnaWfCoerceFormControlPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
5412
+ MtnaWfYearQuarterRangeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfYearQuarterRangeComponent, selector: "mtna-wf-year-quarter-range-item", host: { properties: { "class.mtna-wf-year-quarter-range-item": "this.yearQuarterRangeClass" } }, usesInheritance: true, ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"header\"></ng-container>\n\n<div\n *ngIf=\"control\"\n class=\"range-item-container\"\n fxLayout=\"row\"\n fxLayoutAlign=\"start center\"\n fxLayoutGap=\"8px\"\n [mtnaHighlight]=\"indicatorStatus === 'ACTIVE' && !hasItemHeader\"\n>\n <mtna-wf-year-quarter-item\n [item]=\"_startItem\"\n [control]=\"control.controls['start'] | mtnaWfCoerceFormControl\"\n [readonly]=\"readonly\"\n ></mtna-wf-year-quarter-item>\n <span fxFlex=\"14px\">to</span>\n <mtna-wf-year-quarter-item\n [item]=\"_endItem\"\n [control]=\"control.controls['end'] | mtnaWfCoerceFormControl\"\n [readonly]=\"readonly\"\n ></mtna-wf-year-quarter-item>\n</div>\n", styles: ["mtna-wf-year-quarter-range-item.mtna-wf-control-item .mat-form-field{width:100%}mtna-wf-year-quarter-range-item.mtna-wf-control-item .mtna-wf-error-container{font-size:75%;line-height:1;min-height:1em;margin-top:-.75rem}mtna-wf-year-quarter-range-item.mtna-wf-control-item .control-item-content{padding:.35em .75em .625em}mtna-wf-year-quarter-range-item.mtna-wf-control-item .mtna-wf-item-header~:not(.mtna-wf-error-container):not(.mat-list){padding-left:.75em}mtna-wf-year-quarter-range-item.mtna-wf-control-item .mtna-wf-item-header~:not(.mtna-wf-error-container):not(.mat-list).mat-form-field{width:calc(100% - .75em)}\n"], components: [{ type: MtnaWfYearQuarterComponent, selector: "mtna-wf-year-quarter-item" }], directives: [{ type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3$2.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: i3$2.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: i3$2.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"] }, { type: i4.MtnaHighlightDirective, selector: "[mtnaHighlight]", inputs: ["mtnaHighlight", "mtnaHighlightColor"], exportAs: ["mtnaHighlight"] }, { type: i3$2.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"] }], pipes: { "mtnaWfCoerceFormControl": MtnaWfCoerceFormControlPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
5046
5413
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfYearQuarterRangeComponent, decorators: [{
5047
5414
  type: Component,
5048
5415
  args: [{
@@ -5071,6 +5438,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
5071
5438
  }]
5072
5439
  }] });
5073
5440
 
5441
+ class MtnaWfProgressiveFormSectionComponent extends MtnaWfBaseSectionItem {
5442
+ constructor(cdr) {
5443
+ super(cdr);
5444
+ }
5445
+ }
5446
+ MtnaWfProgressiveFormSectionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfProgressiveFormSectionComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
5447
+ 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: MtnaWfStepCardComponent, selector: "mtna-wf-step-card", inputs: ["color", "step", "subtitle"], outputs: ["focused"] }, { type: i2$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { type: 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: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "mtnaWfGetObjectType": MtnaWfGetObjectTypePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
5448
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfProgressiveFormSectionComponent, decorators: [{
5449
+ type: Component,
5450
+ args: [{
5451
+ selector: 'mtna-wf-progressive-form-section',
5452
+ templateUrl: './progressive-form-section.component.html',
5453
+ styleUrls: ['./progressive-form-section.component.scss'],
5454
+ changeDetection: ChangeDetectionStrategy.OnPush,
5455
+ encapsulation: ViewEncapsulation.None,
5456
+ }]
5457
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; } });
5458
+
5074
5459
  const MTNA_WF_ITEM_INJECTED_COMPONENTS = [
5075
5460
  // Boolean Item Component
5076
5461
  {
@@ -5112,6 +5497,11 @@ const MTNA_WF_ITEM_INJECTED_COMPONENTS = [
5112
5497
  key: 'us.mtna.web.form.impl.SectionImpl',
5113
5498
  component: MtnaWfFormSectionComponent,
5114
5499
  },
5500
+ // Progressive Form Section Component
5501
+ {
5502
+ key: 'us.mtna.web.form.impl.ProgressiveFormSectionImpl',
5503
+ component: MtnaWfProgressiveFormSectionComponent,
5504
+ },
5115
5505
  // I18n Input Item Components
5116
5506
  {
5117
5507
  key: 'us.mtna.web.form.item.impl.InternationalizedParagraphAnswerItem',
@@ -5196,169 +5586,377 @@ class MtnaWfItemComponentProvider extends InjectedComponentProvider {
5196
5586
  }
5197
5587
  }
5198
5588
 
5199
- /**
5200
- * Base control class for a ValueItem.
5201
- * If a FormItem can have value, its component class should extend this class.
5202
- */
5203
- class BaseFormItemControl {
5204
- constructor() {
5205
- this.formControlClass = true;
5206
- this.header = null;
5207
- this.inList = false;
5208
- this.indicatorStatus = 'INACTIVE';
5209
- this.readonly = false;
5210
- }
5211
- get control() {
5212
- return this._control;
5213
- }
5214
- set control(control) {
5215
- this._control = control;
5216
- }
5217
- get item() {
5218
- return this._item;
5589
+ /* eslint-disable @angular-eslint/no-outputs-metadata-property */
5590
+ class MtnaWfProgressiveFormComponent extends MtnaWfBaseFormComponent {
5591
+ constructor(mtnaFormManager, ngFormService, uiService, cdr, scrollService) {
5592
+ super(mtnaFormManager, ngFormService, uiService);
5593
+ this.cdr = cdr;
5594
+ this.scrollService = scrollService;
5595
+ this._loading = false;
5596
+ /** Emits the updated ProgressiveForm value */
5597
+ this.nextStepSelected = new EventEmitter();
5598
+ /**
5599
+ * Emits the previous steps instanceId.
5600
+ * 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.
5601
+ */
5602
+ this.previousStepSelected = new EventEmitter();
5603
+ /**
5604
+ * Emits the instanceId of the selected step.
5605
+ * If the currently active step is the step that is selected, this will not emit.
5606
+ */
5607
+ this.showSelectedStepId = new EventEmitter();
5608
+ this.activeStepId$ = new BehaviorSubject(undefined);
5609
+ this.formItems = [];
5610
+ this.formStatusValid$ = new BehaviorSubject(false);
5611
+ this.lastStepActive = false;
5612
+ this.scrollDirection$ = this.scrollService.getScrollDirection();
5613
+ this.showPreviousButton = false;
5614
+ this.stepArray$ = new BehaviorSubject([]);
5615
+ /**
5616
+ * Checks if the last step in the form is active.
5617
+ * @returns true if the last step in the form is active, otherwise false
5618
+ */
5619
+ this.checkLastStepActive = () => {
5620
+ if (this.stepArray$.value.length > 0) {
5621
+ return this.stepArray$.value[this.stepArray$.value.length - 1].active;
5622
+ }
5623
+ else if (this.stepArray$.value.length === 0) {
5624
+ return this.stepArray$.value[0].active;
5625
+ }
5626
+ else {
5627
+ return false;
5628
+ }
5629
+ };
5219
5630
  }
5220
- set item(item) {
5221
- this._item = item;
5631
+ get mtnaForm() {
5632
+ return super.mtnaForm;
5222
5633
  }
5223
- // Whether the item has a header component above the content
5224
- get hasItemHeader() {
5225
- return !!this.item && (!!this.item.questionText || !!this.item.descriptiveText);
5634
+ set mtnaForm(form) {
5635
+ if (form) {
5636
+ this.formItems = form.items;
5637
+ this.resetValues();
5638
+ this.generateFormSteps(form.outline);
5639
+ this.checkAllStepsIds(form.items);
5640
+ super.steps = this.determineStepsToPassToSuper(form.items);
5641
+ super.mtnaForm = form;
5642
+ this.setStepStatus();
5643
+ this.setFormStatusSubscription();
5644
+ this.showPreviousButton = this.showPreviousButtonFn();
5645
+ this.lastStepActive = this.checkLastStepActive();
5646
+ this.cdr.markForCheck();
5647
+ }
5226
5648
  }
5227
- _trackByOptionId(index, option) {
5228
- return option.option.id;
5649
+ get loading() {
5650
+ return this._loading;
5229
5651
  }
5230
- }
5231
- BaseFormItemControl.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: BaseFormItemControl, deps: [], target: i0.ɵɵFactoryTarget.Directive });
5232
- BaseFormItemControl.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: BaseFormItemControl, inputs: { control: "control", header: "header", inList: "inList", indicatorStatus: "indicatorStatus", item: "item", readonly: "readonly" }, host: { properties: { "class.mtna-wf-control-item": "this.formControlClass", "class.read-only": "this.readonly" } }, ngImport: i0 });
5233
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: BaseFormItemControl, decorators: [{
5234
- type: Directive
5235
- }], propDecorators: { formControlClass: [{
5236
- type: HostBinding,
5237
- args: ['class.mtna-wf-control-item']
5238
- }], control: [{
5239
- type: Input
5240
- }], header: [{
5241
- type: Input
5242
- }], inList: [{
5243
- type: Input
5244
- }], indicatorStatus: [{
5245
- type: Input
5246
- }], item: [{
5247
- type: Input
5248
- }], readonly: [{
5249
- type: HostBinding,
5250
- args: ['class.read-only']
5251
- }, {
5252
- type: Input
5253
- }] } });
5254
-
5255
- /**
5256
- * Base control class for a FormItem with nested FormItems.
5257
- * If a FormItem contains an 'optionItemMap', its component class should extend this class.
5258
- */
5259
- class BaseParentItemControl extends BaseFormItemControl {
5260
- constructor() {
5261
- super(...arguments);
5262
- this.parentIds = new Array();
5652
+ set loading(value) {
5653
+ this._loading = coerceBooleanProperty(value);
5263
5654
  }
5264
- /** FormControl representing this item's value.
5265
- * If this item has items in its 'optionItemMap', this control is nested inside a FormGroup wrapper */
5266
- get control() {
5267
- return this._control;
5655
+ ngOnDestroy() {
5656
+ super.ngOnDestroy();
5657
+ if (this.formStatusSubscriber) {
5658
+ this.formStatusSubscriber.unsubscribe();
5659
+ }
5268
5660
  }
5269
- set control(control) {
5270
- if (control instanceof FormGroup) {
5271
- this._control = control.get(this.item.instanceId);
5272
- this.controlWrapper = control;
5661
+ /**
5662
+ * Checks if the previous button should be shown.
5663
+ * @returns true if the previous button should be shown, otherwise false
5664
+ */
5665
+ showPreviousButtonFn() {
5666
+ if (this.activeStepId$.value) {
5667
+ const indexOfActiveStep = this.stepArray$.value.findIndex((step) => step.instanceId === this.activeStepId$.value);
5668
+ return indexOfActiveStep > 0;
5273
5669
  }
5274
5670
  else {
5275
- super.control = control;
5671
+ return false;
5276
5672
  }
5277
- // FIXME sometimes this gets set with undefined which was a problem
5278
- // Why is it undefined sometimes? something to do with readonly?
5279
- // Do we need to split the read-only components and edit-components
5280
- // I think the read-only components are carrying a bunch of extra unecessary weight
5281
5673
  }
5282
- }
5283
- BaseParentItemControl.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: BaseParentItemControl, deps: null, target: i0.ɵɵFactoryTarget.Directive });
5284
- BaseParentItemControl.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: BaseParentItemControl, inputs: { control: "control", parentIds: "parentIds" }, usesInheritance: true, ngImport: i0 });
5285
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: BaseParentItemControl, decorators: [{
5286
- type: Directive
5287
- }], propDecorators: { control: [{
5288
- type: Input
5289
- }], parentIds: [{
5290
- type: Input
5291
- }] } });
5292
-
5293
- class BaseSingleSelectionParent extends BaseParentItemControl {
5294
- constructor(uiService) {
5295
- super();
5296
- this.uiService = uiService;
5674
+ /**
5675
+ * Subscribes to the form status changes and updates the formStatusValid$ BehaviorSubject with the validity of the active step.
5676
+ */
5677
+ setFormStatusSubscription() {
5678
+ var _a;
5679
+ if (this.ngForm) {
5680
+ // Used to set the initial validity of the active step, otherwise it will always default to false
5681
+ if (this.activeStepId$.value) {
5682
+ const initialValidity = (_a = this.ngForm.controls[this.activeStepId$.value]) === null || _a === void 0 ? void 0 : _a.valid;
5683
+ this.formStatusValid$.next(initialValidity);
5684
+ }
5685
+ if (!this.formStatusSubscriber) {
5686
+ this.formStatusSubscriber = this.ngForm.statusChanges.subscribe(() => {
5687
+ if (this.activeStepId$.value) {
5688
+ if (this.ngForm) {
5689
+ const activeControlExists = Object.keys(this.ngForm.controls).includes(this.activeStepId$.value);
5690
+ if (activeControlExists) {
5691
+ const activeControl = this.ngForm.controls[this.activeStepId$.value];
5692
+ if (activeControl) {
5693
+ this.formStatusValid$.next(activeControl.valid);
5694
+ }
5695
+ }
5696
+ }
5697
+ }
5698
+ });
5699
+ }
5700
+ }
5297
5701
  }
5298
- ngOnInit() {
5702
+ /**
5703
+ * Resets all necessary values to build to form each iteration.
5704
+ */
5705
+ resetValues() {
5299
5706
  var _a;
5300
- if (isPresent((_a = this.control) === null || _a === void 0 ? void 0 : _a.value)) {
5301
- this.selectedOption = this.item.options.find((o) => { var _a; return ((_a = this.control) === null || _a === void 0 ? void 0 : _a.value) === o.option.id; });
5707
+ (_a = this.formStatusSubscriber) === null || _a === void 0 ? void 0 : _a.unsubscribe();
5708
+ this.ngForm = undefined;
5709
+ this._steps = undefined;
5710
+ this.ngFormService.disposeForm();
5711
+ this.stepArray$.next([]);
5712
+ this.activeStepId$.next(undefined);
5713
+ }
5714
+ /**
5715
+ * Generates the steps for the form based on the outline property of the form.
5716
+ * @param outline the outline of the form that is the basis for the steps
5717
+ */
5718
+ generateFormSteps(outline) {
5719
+ if (this.stepArray$.value.length === 0) {
5720
+ const generatedFormSteps = generateFormStepsFromOutline(outline);
5721
+ const flattenedFormSteps = flattenSteps(generatedFormSteps);
5722
+ this.stepArray$.next(flattenedFormSteps);
5723
+ // Set the active step to the first step in the array for the first load
5724
+ const lastItemIndex = this.formItems.length - 1;
5725
+ const updatedSteps = [];
5726
+ this.stepArray$.value.forEach((step) => {
5727
+ if (step.instanceId === this.formItems[lastItemIndex].instanceId || step.instanceId === this.formItems[lastItemIndex].templateId) {
5728
+ updatedSteps.push(Object.assign(Object.assign({}, step), { active: true, status: 'INVALID' }));
5729
+ }
5730
+ else {
5731
+ updatedSteps.push(step);
5732
+ }
5733
+ });
5734
+ this.stepArray$.next(updatedSteps);
5302
5735
  }
5303
5736
  }
5304
5737
  /**
5305
- * Toggles the 'selected' value of the previous & newly selected options,
5306
- * then calls toggleFormItems to change their enabled/disabled items
5307
- * @param change MatRadioChange from the radio group
5738
+ * Checks all of the steps to ensure that each steps instanceId property matches the instanceId of the FormItem and updates the property if needed.
5739
+ * 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.
5740
+ * Here, we just need to find the steps that match the templateId and update the instanceId.
5741
+ * Matching is based off of templateId reduces the number of steps that need to be checked/manipulated.
5742
+ *
5743
+ * @param formItems the FormItems to check against the steps
5308
5744
  */
5309
- selectionChange(change) {
5310
- // event fires when an option's nested item, e.g. FileUploadItem, changes value.
5311
- // This event is not a MatRadioChange, so we need to ignore it.
5312
- if (change instanceof MatRadioChange || change instanceof MatSelectChange) {
5313
- // Newly selected option
5314
- const option = this.item.options.find((o) => o.option.id === change.value);
5315
- if (!!this.selectedOption && this.selectedOption.option.id !== change.value) {
5316
- // New option does not match the previous option
5317
- // Previous option's enabled/disabled items need toggling
5318
- // toggle visibility and enable/disable, should be rendered already
5319
- this.uiService.toggleFormItems(this.selectedOption.enabledItems, this.selectedOption.disabledItems, false, this.item.instanceId);
5745
+ checkAllStepsIds(formItems) {
5746
+ formItems.forEach((item) => {
5747
+ const stepMatchedOnTemplateId = this.stepArray$.value.find((s) => s.instanceId === item.templateId);
5748
+ if (stepMatchedOnTemplateId) {
5749
+ stepMatchedOnTemplateId.instanceId = item.instanceId;
5750
+ if (stepMatchedOnTemplateId.active) {
5751
+ this.activeStepId$.next(item.instanceId);
5752
+ this.cdr.markForCheck();
5753
+ }
5320
5754
  }
5321
- // toggle visibility and enable/disable, should be rendered already
5322
- if (option) {
5323
- this.uiService.toggleFormItems(option.enabledItems, option.disabledItems, true, this.item.instanceId);
5755
+ });
5756
+ }
5757
+ /**
5758
+ * Because the super class has no knowledge of the stepArray that have been generated for the form,
5759
+ * this function determines which steps need to be passed to the super class and the inherited _steps
5760
+ * property. The super class "should" obtain each step as it is passed in. This means that when the
5761
+ * call to either grab the form again or to get the next FormItem, should also continue to pass the
5762
+ * steps that have been generated.
5763
+ * @returns
5764
+ */
5765
+ determineStepsToPassToSuper(items) {
5766
+ const availableItemInstanceIds = [];
5767
+ items.forEach((item) => {
5768
+ availableItemInstanceIds.push(item.instanceId);
5769
+ });
5770
+ const stepsToPass = [];
5771
+ this.stepArray$.value.forEach((step) => {
5772
+ if (availableItemInstanceIds.includes(step.instanceId)) {
5773
+ stepsToPass.push(step);
5774
+ }
5775
+ });
5776
+ return stepsToPass;
5777
+ }
5778
+ /**
5779
+ * Sets the status of each step in the form based on the validity of the form control.
5780
+ * If the form control key is not found in the controls of the form, the status is set to 'PLACEHOLDER'.
5781
+ */
5782
+ setStepStatus() {
5783
+ const updatedSteps = [];
5784
+ this.stepArray$.value.forEach((step) => {
5785
+ if (this.ngForm) {
5786
+ const controlKeyExists = Object.keys(this.ngForm.controls).includes(step.instanceId);
5787
+ if (controlKeyExists) {
5788
+ updatedSteps.push(Object.assign(Object.assign({}, step), { status: this.ngForm.controls[step.instanceId].valid ? 'VALID' : 'INVALID' }));
5789
+ }
5790
+ else {
5791
+ updatedSteps.push(Object.assign(Object.assign({}, step), { status: 'PLACEHOLDER' }));
5792
+ }
5793
+ }
5794
+ });
5795
+ this.stepArray$.next(updatedSteps);
5796
+ }
5797
+ /**
5798
+ * Emits the next or previous step templateId based on the direction provided.
5799
+ * @param stepDirection the direction of the step to emit
5800
+ */
5801
+ showDirectionalStep(stepDirection) {
5802
+ // const stepTemplateId = this.getDirectionalStepTemplateId(stepDirection);
5803
+ // if (stepTemplateId) {
5804
+ if (this.mtnaForm) {
5805
+ const formValue = this.ngFormService.getFormValue();
5806
+ const updatedForm = this.mtnaFormManager.insertNewValues(this.mtnaForm, formValue);
5807
+ if (stepDirection === 'next') {
5808
+ this.nextStepSelected.emit(updatedForm);
5809
+ this.scrollService.scrollTop();
5810
+ }
5811
+ else {
5812
+ const previousStepIndex = this.stepArray$.value.findIndex((step) => step.instanceId === this.activeStepId$.value) - 1;
5813
+ if (previousStepIndex >= 0) {
5814
+ const previousStep = this.stepArray$.value[previousStepIndex];
5815
+ if (previousStep) {
5816
+ this.previousStepSelected.emit(previousStep.instanceId);
5817
+ this.scrollService.scrollTop();
5818
+ }
5819
+ }
5324
5820
  }
5325
- // Set the selected option as the previous
5326
- this.selectedOption = option;
5327
5821
  }
5328
- else {
5329
- console.warn('[BaseSingleSelectionParent] selectionChange - not a MatRadioChange | MatSelectChange', change);
5822
+ }
5823
+ /**
5824
+ * Shows the selected step as the active step in the form.
5825
+ * To be used on the mtna-wf-form-stepper components "selected" output.
5826
+ * @param step the step to show as the active step
5827
+ */
5828
+ showSelectedStep(step) {
5829
+ if (this.activeStepId$.value !== step.instanceId) {
5830
+ this.showSelectedStepId.emit(step.instanceId);
5831
+ this.activeStepId$.next(step.instanceId);
5832
+ this.scrollService.scrollTop();
5330
5833
  }
5331
5834
  }
5835
+ _trackByStepInstanceId(index, formStep) {
5836
+ return formStep.instanceId;
5837
+ }
5332
5838
  }
5333
- BaseSingleSelectionParent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: BaseSingleSelectionParent, deps: [{ token: MtnaWfUIService }], target: i0.ɵɵFactoryTarget.Directive });
5334
- BaseSingleSelectionParentdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: BaseSingleSelectionParent, usesInheritance: true, ngImport: i0 });
5335
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: BaseSingleSelectionParent, decorators: [{
5336
- type: Directive
5337
- }], ctorParameters: function () { return [{ type: MtnaWfUIService }]; } });
5839
+ MtnaWfProgressiveFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfProgressiveFormComponent, deps: [{ token: MtnaWfManagerService }, { token: MtnaWfNgFormService }, { token: MtnaWfUIService }, { token: i0.ChangeDetectorRef }, { token: i4.MtnaScrollService }], target: i0.ɵɵFactoryTarget.Component });
5840
+ MtnaWfProgressiveFormComponentcmp = 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: MtnaWfFormStepperComponent, selector: "mtna-wf-stepper", inputs: ["color", "incompleteIcon", "steps"], outputs: ["selected"] }, { type: MtnaWfFormDisablerComponent, selector: "[formDisabled]", inputs: ["formDisabled"] }, { type: MtnaWfFormItemComponent, selector: "mtna-wf-item", inputs: ["color", "control", "header", "inList", "item", "parentIds", "readonly", "step"], outputs: ["focusedSection"] }, { type: i3$1.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: i3$2.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: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3$2.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: i6.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3$2.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: i3$2.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": i3.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
5841
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfProgressiveFormComponent, decorators: [{
5842
+ type: Component,
5843
+ args: [{
5844
+ selector: 'mtna-wf-progressive-form',
5845
+ templateUrl: './progressive-form.component.html',
5846
+ styleUrls: ['./progressive-form.component.scss'],
5847
+ changeDetection: ChangeDetectionStrategy.OnPush,
5848
+ encapsulation: ViewEncapsulation.None,
5849
+ outputs: ['status', 'focusedSection', 'mtnaFormChange'],
5850
+ }]
5851
+ }], ctorParameters: function () { return [{ type: MtnaWfManagerService }, { type: MtnaWfNgFormService }, { type: MtnaWfUIService }, { type: i0.ChangeDetectorRef }, { type: i4.MtnaScrollService }]; }, propDecorators: { loading: [{
5852
+ type: Input
5853
+ }], nextStepSelected: [{
5854
+ type: Output
5855
+ }], previousStepSelected: [{
5856
+ type: Output
5857
+ }], showSelectedStepId: [{
5858
+ type: Output
5859
+ }] } });
5338
5860
 
5339
- /* eslint-disable @angular-eslint/directive-selector */
5340
- /**
5341
- * Used to retrieve the host container for a dynamically rendered component.
5342
- *
5343
- * @export
5344
- */
5345
- class MtnaWfFormItemDirective {
5346
- constructor(viewContainerRef) {
5347
- this.viewContainerRef = viewContainerRef;
5348
- }
5861
+ class MtnaWfProgressiveFormSectionModule {
5862
+ }
5863
+ MtnaWfProgressiveFormSectionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfProgressiveFormSectionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
5864
+ MtnaWfProgressiveFormSectionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfProgressiveFormSectionModule, declarations: [MtnaWfProgressiveFormSectionComponent], imports: [CommonModule,
5865
+ FlexLayoutModule,
5866
+ MtnaWfStepCardModule,
5867
+ MtnaHighlightModule,
5868
+ MatDividerModule,
5869
+ MtnaWfGetObjectTypePipeModule,
5870
+ MtnaWfFormItemModule,
5871
+ MatButtonModule,
5872
+ MatIconModule], exports: [MtnaWfProgressiveFormSectionComponent] });
5873
+ MtnaWfProgressiveFormSectionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfProgressiveFormSectionModule, imports: [[
5874
+ CommonModule,
5875
+ FlexLayoutModule,
5876
+ MtnaWfStepCardModule,
5877
+ MtnaHighlightModule,
5878
+ MatDividerModule,
5879
+ MtnaWfGetObjectTypePipeModule,
5880
+ MtnaWfFormItemModule,
5881
+ MatButtonModule,
5882
+ MatIconModule,
5883
+ ]] });
5884
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfProgressiveFormSectionModule, decorators: [{
5885
+ type: NgModule,
5886
+ args: [{
5887
+ imports: [
5888
+ CommonModule,
5889
+ FlexLayoutModule,
5890
+ MtnaWfStepCardModule,
5891
+ MtnaHighlightModule,
5892
+ MatDividerModule,
5893
+ MtnaWfGetObjectTypePipeModule,
5894
+ MtnaWfFormItemModule,
5895
+ MatButtonModule,
5896
+ MatIconModule,
5897
+ ],
5898
+ declarations: [MtnaWfProgressiveFormSectionComponent],
5899
+ exports: [MtnaWfProgressiveFormSectionComponent],
5900
+ }]
5901
+ }] });
5902
+
5903
+ class MtnaWfProgressiveFormModule {
5349
5904
  }
5350
- MtnaWfFormItemDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfFormItemDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
5351
- MtnaWfFormItemDirectivedir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfFormItemDirective, selector: "[formItemHost]", ngImport: i0 });
5352
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfFormItemDirective, decorators: [{
5353
- type: Directive,
5905
+ MtnaWfProgressiveFormModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfProgressiveFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
5906
+ MtnaWfProgressiveFormModulemod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfProgressiveFormModule, declarations: [MtnaWfProgressiveFormComponent], imports: [A11yModule,
5907
+ CommonModule,
5908
+ FlexLayoutModule,
5909
+ FormsModule,
5910
+ MatButtonModule,
5911
+ MatIconModule,
5912
+ MtnaWfFormDisablerModule,
5913
+ MtnaWfFormItemModule,
5914
+ MtnaWfProgressiveFormSectionModule,
5915
+ ReactiveFormsModule,
5916
+ MtnaWfFormStepperModule,
5917
+ GetProgressiveFormItemPipeModule,
5918
+ GetActiveFormStepItemPipeModule], exports: [MtnaWfProgressiveFormComponent] });
5919
+ MtnaWfProgressiveFormModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfProgressiveFormModule, imports: [[
5920
+ A11yModule,
5921
+ CommonModule,
5922
+ FlexLayoutModule,
5923
+ FormsModule,
5924
+ MatButtonModule,
5925
+ MatIconModule,
5926
+ MtnaWfFormDisablerModule,
5927
+ MtnaWfFormItemModule,
5928
+ MtnaWfProgressiveFormSectionModule,
5929
+ ReactiveFormsModule,
5930
+ MtnaWfFormStepperModule,
5931
+ GetProgressiveFormItemPipeModule,
5932
+ GetActiveFormStepItemPipeModule,
5933
+ ]] });
5934
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfProgressiveFormModule, decorators: [{
5935
+ type: NgModule,
5354
5936
  args: [{
5355
- selector: '[formItemHost]',
5937
+ imports: [
5938
+ A11yModule,
5939
+ CommonModule,
5940
+ FlexLayoutModule,
5941
+ FormsModule,
5942
+ MatButtonModule,
5943
+ MatIconModule,
5944
+ MtnaWfFormDisablerModule,
5945
+ MtnaWfFormItemModule,
5946
+ MtnaWfProgressiveFormSectionModule,
5947
+ ReactiveFormsModule,
5948
+ MtnaWfFormStepperModule,
5949
+ GetProgressiveFormItemPipeModule,
5950
+ GetActiveFormStepItemPipeModule,
5951
+ ],
5952
+ declarations: [MtnaWfProgressiveFormComponent],
5953
+ exports: [MtnaWfProgressiveFormComponent],
5356
5954
  }]
5357
- }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; } });
5955
+ }] });
5358
5956
 
5359
5957
  /**
5360
5958
  * Generated bundle index. Do not edit.
5361
5959
  */
5362
5960
 
5363
- export { BaseFormItemControl, BaseFormStep, BaseParentItemControl, BaseSingleSelectionParent, COMPLEX_STANDARD, DEFAULT_ERROR_MESSAGES, FormStep, FormStepGroup, MTNA_WF_API_TOKEN, MTNA_WF_DEFAULT_YEAR_RANGE, MTNA_WF_EXPAND_COLLAPSE, MTNA_WF_FORM_ITEM_VALIDATION_RESULT_ERROR_NAME, MTNA_WF_ITEM_INJECTED_COMPONENTS, MTNA_WF_ITEM_WHITELIST, MTNA_WF_ITEM_WHITELIST_FACTORY, MtnaFormModule, MtnaWfAcknowledgeDialogComponent, MtnaWfAcknowledgeDialogModule, MtnaWfApiService, MtnaWfBaseFormItemControl, MtnaWfBaseGroupItem, MtnaWfBaseParentValueItem, MtnaWfBaseSectionItem, MtnaWfBaseSingleSelectionParentValueItem, MtnaWfBaseValueItem, MtnaWfBooleanComponent, MtnaWfBooleanModule, MtnaWfCheckboxComponent, MtnaWfCheckboxModule, MtnaWfCoerceDateItemPipe, MtnaWfCoerceDateItemPipeModule, MtnaWfCoerceFormControlPipe, MtnaWfCoerceFormControlPipeModule, MtnaWfCoerceFormGroupPipe, MtnaWfCoerceFormGroupPipeModule, MtnaWfCoerceFormItemPipe, MtnaWfCoerceFormItemPipeModule, MtnaWfDateComponent, MtnaWfDateModule, MtnaWfDateQuarterPipe, MtnaWfDateQuarterPipeModule, MtnaWfDateRangeComponent, MtnaWfDateRangeModule, MtnaWfDialogService, MtnaWfDropdownComponent, MtnaWfDropdownModule, MtnaWfFileUploadComponent, MtnaWfFileUploadModule, MtnaWfFormComponent, MtnaWfFormDisablerComponent, MtnaWfFormDisablerModule, MtnaWfFormGroupComponent, MtnaWfFormGroupModule, MtnaWfFormItemComponent, MtnaWfFormItemDialogComponent, MtnaWfFormItemDialogData, MtnaWfFormItemDialogModule, MtnaWfFormItemDirective, MtnaWfFormItemModule, MtnaWfFormSectionComponent, MtnaWfFormSectionModule, MtnaWfFormStepComponent, MtnaWfFormStepGroupComponent, MtnaWfFormStepGroupPipe, MtnaWfFormStepGroupPipeModule, MtnaWfFormStepperComponent, MtnaWfFormStepperModule, MtnaWfGetAutoCompletePipe, MtnaWfGetAutoCompletePipeModule, MtnaWfGetAvailableQuartersPipe, MtnaWfGetAvailableQuartersPipeModule, MtnaWfGetFormControlErrorPipe, MtnaWfGetFormControlErrorPipeModule, MtnaWfGetListIconPipe, MtnaWfGetListIconPipeModule, MtnaWfGetObjectTypePipe, MtnaWfGetObjectTypePipeModule, MtnaWfGetSelectedOptionNamePipe, MtnaWfGetSelectedOptionNamePipeModule, MtnaWfI18nInputComponent, MtnaWfI18nInputModule, MtnaWfInputComponent, MtnaWfInputModule, MtnaWfInstantValidationResultErrorStateMatcher, MtnaWfItemComponentProvider, MtnaWfItemHeaderComponent, MtnaWfItemHeaderModule, MtnaWfItemInjector, MtnaWfItemInjectorModule, MtnaWfItemsWithValuePipe, MtnaWfItemsWithValuePipeModule, MtnaWfManagerService, MtnaWfMultipleChoiceComponent, MtnaWfMultipleChoiceModule, MtnaWfNgFormService, MtnaWfOrderedListItemComponent, MtnaWfOrderedListItemModule, MtnaWfRepeatableItemComponent, MtnaWfRepeatableItemContainerComponent, MtnaWfRepeatableItemContainerModule, MtnaWfRepeatableItemModule, MtnaWfResourceSearchComponent, MtnaWfResourceSearchModule, MtnaWfResourceSearchSelectionService, MtnaWfSanitizeHtmlPipe, MtnaWfSanitizeHtmlPipeModule, serializerUtil as MtnaWfSerializer, MtnaWfStepCardComponent, MtnaWfStepCardModule, MtnaWfTableFormItemComponent, MtnaWfTableFormItemModule, MtnaWfTextItemComponent, MtnaWfTextItemModule, MtnaWfTitleItemComponent, MtnaWfTitleItemModule, MtnaWfUIService, MtnaWfUnorderedListItemComponent, MtnaWfUnorderedListItemModule, MtnaWfYearQuarterComponent, MtnaWfYearQuarterModule, MtnaWfYearQuarterRangeComponent, MtnaWfYearQuarterRangeModule, WEB_FORM_CUSTOM_ERRORS, everyStepStatus, findFormControl, findFormItem, flattenSteps, generateFormSteps, getItemClassSuffix, isFormControl, isFormGroup, isFormStepGroup, updateStepStatus, validationResultValidator };
5961
+ export { BaseFormStep, COMPLEX_STANDARD, ChildStepActivePipe, ChildStepActivePipeModule, CoerceFormStepGroupPipe, CoerceFormStepGroupPipeModule, CoerceFormStepPipe, CoerceFormStepPipeModule, DEFAULT_ERROR_MESSAGES, FormStep, FormStepGroup, GetActiveFormStepItemPipe, GetActiveFormStepItemPipeModule, GetProgressiveFormItemPipe, GetProgressiveFormItemPipeModule, GetStepAriaLabel, GetStepAriaLabelModule, MTNA_WF_API_TOKEN, MTNA_WF_DEFAULT_YEAR_RANGE, MTNA_WF_EXPAND_COLLAPSE, MTNA_WF_FORM_ITEM_VALIDATION_RESULT_ERROR_NAME, MTNA_WF_ITEM_INJECTED_COMPONENTS, MTNA_WF_ITEM_WHITELIST, MTNA_WF_ITEM_WHITELIST_FACTORY, MtnaFormModule, MtnaWfAcknowledgeDialogComponent, MtnaWfAcknowledgeDialogModule, MtnaWfApiService, MtnaWfBaseFormItemControl, MtnaWfBaseGroupItem, MtnaWfBaseParentValueItem, MtnaWfBaseSectionItem, MtnaWfBaseSingleSelectionParentValueItem, MtnaWfBaseValueItem, MtnaWfBooleanComponent, MtnaWfBooleanModule, MtnaWfCheckboxComponent, MtnaWfCheckboxModule, MtnaWfCoerceDateItemPipe, MtnaWfCoerceDateItemPipeModule, MtnaWfCoerceFormControlPipe, MtnaWfCoerceFormControlPipeModule, MtnaWfCoerceFormGroupPipe, MtnaWfCoerceFormGroupPipeModule, MtnaWfCoerceFormItemPipe, MtnaWfCoerceFormItemPipeModule, MtnaWfDateComponent, MtnaWfDateModule, MtnaWfDateQuarterPipe, MtnaWfDateQuarterPipeModule, MtnaWfDateRangeComponent, MtnaWfDateRangeModule, MtnaWfDialogService, MtnaWfDropdownComponent, MtnaWfDropdownModule, MtnaWfFileUploadComponent, MtnaWfFileUploadModule, MtnaWfFormComponent, MtnaWfFormDisablerComponent, MtnaWfFormDisablerModule, MtnaWfFormGroupComponent, MtnaWfFormGroupModule, MtnaWfFormItemComponent, MtnaWfFormItemDialogComponent, MtnaWfFormItemDialogData, MtnaWfFormItemDialogModule, MtnaWfFormItemModule, MtnaWfFormSectionComponent, MtnaWfFormSectionModule, MtnaWfFormStepComponent, MtnaWfFormStepGroupComponent, MtnaWfFormStepGroupPipe, MtnaWfFormStepGroupPipeModule, MtnaWfFormStepperComponent, MtnaWfFormStepperModule, MtnaWfGetAutoCompletePipe, MtnaWfGetAutoCompletePipeModule, MtnaWfGetAvailableQuartersPipe, MtnaWfGetAvailableQuartersPipeModule, MtnaWfGetFormControlErrorPipe, MtnaWfGetFormControlErrorPipeModule, MtnaWfGetListIconPipe, MtnaWfGetListIconPipeModule, MtnaWfGetObjectTypePipe, MtnaWfGetObjectTypePipeModule, MtnaWfGetSelectedOptionNamePipe, MtnaWfGetSelectedOptionNamePipeModule, MtnaWfI18nInputComponent, MtnaWfI18nInputModule, MtnaWfInputComponent, MtnaWfInputModule, MtnaWfInstantValidationResultErrorStateMatcher, MtnaWfItemComponentProvider, MtnaWfItemHeaderComponent, MtnaWfItemHeaderModule, MtnaWfItemInjector, MtnaWfItemInjectorModule, MtnaWfItemsWithValuePipe, MtnaWfItemsWithValuePipeModule, MtnaWfManagerService, MtnaWfMultipleChoiceComponent, MtnaWfMultipleChoiceModule, MtnaWfNgFormService, MtnaWfOrderedListItemComponent, MtnaWfOrderedListItemModule, MtnaWfProgressiveFormComponent, MtnaWfProgressiveFormModule, MtnaWfProgressiveFormSectionComponent, MtnaWfProgressiveFormSectionModule, MtnaWfRepeatableItemComponent, MtnaWfRepeatableItemContainerComponent, MtnaWfRepeatableItemContainerModule, MtnaWfRepeatableItemModule, MtnaWfResourceSearchComponent, MtnaWfResourceSearchModule, MtnaWfResourceSearchSelectionService, MtnaWfSanitizeHtmlPipe, MtnaWfSanitizeHtmlPipeModule, serializerUtil as MtnaWfSerializer, MtnaWfStepCardComponent, MtnaWfStepCardModule, MtnaWfTableFormItemComponent, MtnaWfTableFormItemModule, MtnaWfTextItemComponent, MtnaWfTextItemModule, MtnaWfTitleItemComponent, MtnaWfTitleItemModule, MtnaWfUIService, MtnaWfUnorderedListItemComponent, MtnaWfUnorderedListItemModule, MtnaWfYearQuarterComponent, MtnaWfYearQuarterModule, MtnaWfYearQuarterRangeComponent, MtnaWfYearQuarterRangeModule, PROGRESSIVE_FORM_ID, PROGRESSIVE_FORM_SECTION_ID, WEB_FORM_CUSTOM_ERRORS, everyStepStatus, findFormControl, findFormItem, flattenSteps, generateFormSteps, generateFormStepsFromOutline, getItemClassSuffix, instanceOfFormStep, instanceOfFormStepGroup, isFormControl, isFormGroup, isFormStepGroup, isProgressiveForm, isProgressiveFormSection, updateStepStatus, validationResultValidator };
5364
5962
  //# sourceMappingURL=mtna-web-form-angular.js.map