@mtna/web-form-angular 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (170) hide show
  1. package/_index.scss +25 -0
  2. package/bundles/mtna-web-form-angular.umd.js +4982 -0
  3. package/bundles/mtna-web-form-angular.umd.js.map +1 -0
  4. package/esm2015/lib/core/animations.js +8 -0
  5. package/esm2015/lib/core/api-config.js +3 -0
  6. package/esm2015/lib/core/index.js +7 -0
  7. package/esm2015/lib/core/pipes/coerce-date-item.pipe.js +23 -0
  8. package/esm2015/lib/core/pipes/coerce-form-group.pipe.js +35 -0
  9. package/esm2015/lib/core/pipes/date-quarter.pipe.js +43 -0
  10. package/esm2015/lib/core/pipes/get-auto-complete.pipe.js +42 -0
  11. package/esm2015/lib/core/pipes/get-available-quarters.pipe.js +29 -0
  12. package/esm2015/lib/core/pipes/get-form-control-error.pipe.js +20 -0
  13. package/esm2015/lib/core/pipes/get-list-icon.pipe.js +53 -0
  14. package/esm2015/lib/core/pipes/get-object-type.pipe.js +17 -0
  15. package/esm2015/lib/core/pipes/get-selected-option.pipe.js +20 -0
  16. package/esm2015/lib/core/pipes/index.js +71 -0
  17. package/esm2015/lib/core/pipes/items-with-value.pipe.js +30 -0
  18. package/esm2015/lib/core/pipes/sanitize-html.pipe.js +23 -0
  19. package/esm2015/lib/core/services/api.service.js +67 -0
  20. package/esm2015/lib/core/services/form-manager.service.js +465 -0
  21. package/esm2015/lib/core/services/index.js +5 -0
  22. package/esm2015/lib/core/services/ng-form.service.js +150 -0
  23. package/esm2015/lib/core/services/ui.service.js +333 -0
  24. package/esm2015/lib/core/utilities/find-form-control.js +29 -0
  25. package/esm2015/lib/core/utilities/find-form-item.js +25 -0
  26. package/esm2015/lib/core/utilities/flatten-steps.js +10 -0
  27. package/esm2015/lib/core/utilities/generate-form-steps.js +25 -0
  28. package/esm2015/lib/core/utilities/index.js +9 -0
  29. package/esm2015/lib/core/utilities/is-form-group.js +6 -0
  30. package/esm2015/lib/core/utilities/serializer-util.js +358 -0
  31. package/esm2015/lib/core/utilities/update-step-status.js +38 -0
  32. package/esm2015/lib/core/validators/index.js +3 -0
  33. package/esm2015/lib/core/validators/instant-validation-result-error-state-matcher.js +23 -0
  34. package/esm2015/lib/core/validators/validation-result-validator.js +19 -0
  35. package/esm2015/lib/file-upload/file-upload.component.js +66 -0
  36. package/esm2015/lib/file-upload/index.js +2 -0
  37. package/esm2015/lib/form/base-form-item.model.js +2 -0
  38. package/esm2015/lib/form/form-disabler.component.js +38 -0
  39. package/esm2015/lib/form/form-item.directive.js +22 -0
  40. package/esm2015/lib/form/form.component.js +250 -0
  41. package/esm2015/lib/form/form.module.js +214 -0
  42. package/esm2015/lib/form/index.js +5 -0
  43. package/esm2015/lib/form/white-list.model.js +11 -0
  44. package/esm2015/lib/form-item-controls/base-form-item-control.directive.js +58 -0
  45. package/esm2015/lib/form-item-controls/base-parent-item-control.directive.js +42 -0
  46. package/esm2015/lib/form-item-controls/base-single-selection-parent.directive.js +53 -0
  47. package/esm2015/lib/form-item-controls/date-range.component.js +84 -0
  48. package/esm2015/lib/form-item-controls/date.component.js +134 -0
  49. package/esm2015/lib/form-item-controls/dropdown.component.js +109 -0
  50. package/esm2015/lib/form-item-controls/index.js +8 -0
  51. package/esm2015/lib/form-item-controls/input.component.js +149 -0
  52. package/esm2015/lib/form-item-controls/year-quarter-range.component.js +75 -0
  53. package/esm2015/lib/form-item-controls/year-quarter.component.js +228 -0
  54. package/esm2015/lib/form-stepper/form-step-group.component.js +95 -0
  55. package/esm2015/lib/form-stepper/form-step-group.pipe.js +20 -0
  56. package/esm2015/lib/form-stepper/form-step.component.js +110 -0
  57. package/esm2015/lib/form-stepper/form-step.util.js +28 -0
  58. package/esm2015/lib/form-stepper/form-stepper.component.js +115 -0
  59. package/esm2015/lib/form-stepper/form-stepper.module.js +53 -0
  60. package/esm2015/lib/form-stepper/index.js +8 -0
  61. package/esm2015/lib/form-stepper/models/base-form-step.model.js +6 -0
  62. package/esm2015/lib/form-stepper/models/form-step-group.model.js +13 -0
  63. package/esm2015/lib/form-stepper/models/form-step.model.js +12 -0
  64. package/esm2015/lib/form-stepper/models/index.js +4 -0
  65. package/esm2015/lib/groups/form-item-dialog-data.model.js +14 -0
  66. package/esm2015/lib/groups/group-components.js +646 -0
  67. package/esm2015/lib/groups/index.js +3 -0
  68. package/esm2015/lib/groups/repeatable-item.component.js +23 -0
  69. package/esm2015/lib/item-header/index.js +2 -0
  70. package/esm2015/lib/item-header/item-header.component.js +108 -0
  71. package/esm2015/lib/static-form-items/index.js +3 -0
  72. package/esm2015/lib/static-form-items/ordered-list-item.js +50 -0
  73. package/esm2015/lib/static-form-items/unordered-list-item.js +52 -0
  74. package/esm2015/lib/step-card/index.js +2 -0
  75. package/esm2015/lib/step-card/step-card.component.js +53 -0
  76. package/esm2015/mtna-web-form-angular.js +5 -0
  77. package/esm2015/public-api.js +10 -0
  78. package/fesm2015/mtna-web-form-angular.js +4614 -0
  79. package/fesm2015/mtna-web-form-angular.js.map +1 -0
  80. package/lib/_index.scss +25 -0
  81. package/lib/core/_all-color.scss +25 -0
  82. package/lib/core/_all-theme.scss +28 -0
  83. package/lib/core/_all-typography.scss +25 -0
  84. package/lib/core/_core-theme.scss +43 -0
  85. package/lib/core/animations.d.ts +2 -0
  86. package/lib/core/api-config.d.ts +5 -0
  87. package/lib/core/index.d.ts +6 -0
  88. package/lib/core/pipes/coerce-date-item.pipe.d.ts +11 -0
  89. package/lib/core/pipes/coerce-form-group.pipe.d.ts +23 -0
  90. package/lib/core/pipes/date-quarter.pipe.d.ts +7 -0
  91. package/lib/core/pipes/get-auto-complete.pipe.d.ts +7 -0
  92. package/lib/core/pipes/get-available-quarters.pipe.d.ts +8 -0
  93. package/lib/core/pipes/get-form-control-error.pipe.d.ts +14 -0
  94. package/lib/core/pipes/get-list-icon.pipe.d.ts +7 -0
  95. package/lib/core/pipes/get-object-type.pipe.d.ts +7 -0
  96. package/lib/core/pipes/get-selected-option.pipe.d.ts +8 -0
  97. package/lib/core/pipes/index.d.ts +28 -0
  98. package/lib/core/pipes/items-with-value.pipe.d.ts +13 -0
  99. package/lib/core/pipes/sanitize-html.pipe.d.ts +10 -0
  100. package/lib/core/services/api.service.d.ts +41 -0
  101. package/lib/core/services/form-manager.service.d.ts +184 -0
  102. package/lib/core/services/index.d.ts +4 -0
  103. package/lib/core/services/ng-form.service.d.ts +76 -0
  104. package/lib/core/services/ui.service.d.ts +123 -0
  105. package/lib/core/utilities/find-form-control.d.ts +11 -0
  106. package/lib/core/utilities/find-form-item.d.ts +10 -0
  107. package/lib/core/utilities/flatten-steps.d.ts +7 -0
  108. package/lib/core/utilities/generate-form-steps.d.ts +3 -0
  109. package/lib/core/utilities/index.d.ts +8 -0
  110. package/lib/core/utilities/is-form-group.d.ts +3 -0
  111. package/lib/core/utilities/serializer-util.d.ts +81 -0
  112. package/lib/core/utilities/update-step-status.d.ts +14 -0
  113. package/lib/core/validators/index.d.ts +2 -0
  114. package/lib/core/validators/instant-validation-result-error-state-matcher.d.ts +13 -0
  115. package/lib/core/validators/validation-result-validator.d.ts +12 -0
  116. package/lib/file-upload/file-upload.component.d.ts +23 -0
  117. package/lib/file-upload/index.d.ts +1 -0
  118. package/lib/form/base-form-item.model.d.ts +15 -0
  119. package/lib/form/form-disabler.component.d.ts +6 -0
  120. package/lib/form/form-item.directive.d.ts +13 -0
  121. package/lib/form/form.component.d.ts +89 -0
  122. package/lib/form/form.module.d.ts +52 -0
  123. package/lib/form/index.d.ts +4 -0
  124. package/lib/form/white-list.model.d.ts +6 -0
  125. package/lib/form-item-controls/_date-item-theme.scss +29 -0
  126. package/lib/form-item-controls/_form-control-theme.scss +28 -0
  127. package/lib/form-item-controls/_year-quarter-item-theme.scss +28 -0
  128. package/lib/form-item-controls/base-form-item-control.directive.d.ts +26 -0
  129. package/lib/form-item-controls/base-parent-item-control.directive.d.ts +19 -0
  130. package/lib/form-item-controls/base-single-selection-parent.directive.d.ts +26 -0
  131. package/lib/form-item-controls/date-range.component.d.ts +12 -0
  132. package/lib/form-item-controls/date.component.d.ts +24 -0
  133. package/lib/form-item-controls/dropdown.component.d.ts +9 -0
  134. package/lib/form-item-controls/index.d.ts +7 -0
  135. package/lib/form-item-controls/input.component.d.ts +14 -0
  136. package/lib/form-item-controls/year-quarter-range.component.d.ts +9 -0
  137. package/lib/form-item-controls/year-quarter.component.d.ts +33 -0
  138. package/lib/form-stepper/_form-step-group-theme.scss +43 -0
  139. package/lib/form-stepper/_form-stepper-theme.scss +72 -0
  140. package/lib/form-stepper/form-step-group.component.d.ts +23 -0
  141. package/lib/form-stepper/form-step-group.pipe.d.ts +11 -0
  142. package/lib/form-stepper/form-step.component.d.ts +27 -0
  143. package/lib/form-stepper/form-step.util.d.ts +27 -0
  144. package/lib/form-stepper/form-stepper.component.d.ts +35 -0
  145. package/lib/form-stepper/form-stepper.module.d.ts +18 -0
  146. package/lib/form-stepper/index.d.ts +7 -0
  147. package/lib/form-stepper/models/base-form-step.model.d.ts +4 -0
  148. package/lib/form-stepper/models/form-step-group.model.d.ts +8 -0
  149. package/lib/form-stepper/models/form-step.model.d.ts +11 -0
  150. package/lib/form-stepper/models/index.d.ts +3 -0
  151. package/lib/groups/_checkbox-theme.scss +62 -0
  152. package/lib/groups/_form-group-theme.scss +32 -0
  153. package/lib/groups/_multiple-choice-theme.scss +65 -0
  154. package/lib/groups/_repeatable-item-theme.scss +28 -0
  155. package/lib/groups/form-item-dialog-data.model.d.ts +13 -0
  156. package/lib/groups/group-components.d.ts +221 -0
  157. package/lib/groups/index.d.ts +2 -0
  158. package/lib/groups/repeatable-item.component.d.ts +5 -0
  159. package/lib/item-header/_item-header-theme.scss +28 -0
  160. package/lib/item-header/index.d.ts +1 -0
  161. package/lib/item-header/item-header.component.d.ts +35 -0
  162. package/lib/static-form-items/index.d.ts +2 -0
  163. package/lib/static-form-items/ordered-list-item.d.ts +11 -0
  164. package/lib/static-form-items/unordered-list-item.d.ts +11 -0
  165. package/lib/step-card/_step-card-theme.scss +42 -0
  166. package/lib/step-card/index.d.ts +1 -0
  167. package/lib/step-card/step-card.component.d.ts +21 -0
  168. package/mtna-web-form-angular.d.ts +5 -0
  169. package/package.json +43 -0
  170. package/public-api.d.ts +9 -0
@@ -0,0 +1,134 @@
1
+ import { ChangeDetectionStrategy, Component, HostBinding, Input, ViewChild, ViewEncapsulation } from '@angular/core';
2
+ import { MatDatepicker } from '@angular/material/datepicker';
3
+ import { BaseFormItemControl } from './base-form-item-control.directive';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@mtna/core-angular";
6
+ import * as i2 from "@angular/material/form-field";
7
+ import * as i3 from "@angular/material/datepicker";
8
+ import * as i4 from "@angular/common";
9
+ import * as i5 from "@angular/material/input";
10
+ import * as i6 from "@angular/forms";
11
+ import * as i7 from "../core/pipes/get-form-control-error.pipe";
12
+ export class MtnaWfDateComponent extends BaseFormItemControl {
13
+ constructor(logger) {
14
+ super();
15
+ this.dateItemClass = true;
16
+ this._format = 'YYYY-MM-DD';
17
+ this.rangeLimits = { end: null, start: null };
18
+ // We need to check to ensure 'moment' & 'moment-jdateformatparser' scripts have been added to angular.json so that
19
+ // the DateFormItemComponent doesn't break when attempting to format SimpleDateFormat string to Moment format string
20
+ MtnaWfDateComponent.dateFormItemComponentInstances++;
21
+ if (MtnaWfDateComponent.dateFormItemComponentInstances === 1) {
22
+ try {
23
+ if (!!moment && typeof moment().toMomentFormatString !== 'function') {
24
+ logger.error(`[DateFormItemComponent] constructor
25
+ - Cannot find moment-jdateformatparser, make sure to install the dependency and add the script in angular.json, i.e.
26
+ "scripts": ["node_modules/moment-jdateformatparser/moment-jdateformatparser.min.js"]`);
27
+ }
28
+ }
29
+ catch (e) {
30
+ logger.error(`[DateFormItemComponent] constructor
31
+ - Cannot find moment.js, make sure to install the dependency and add the script in angular.json, i.e.
32
+ "scripts": ["node_modules/moment/min/moment.min.js"]`);
33
+ }
34
+ }
35
+ }
36
+ get format() {
37
+ return this._format;
38
+ }
39
+ set format(f) {
40
+ if (f) {
41
+ this._format = f;
42
+ // Update configuration anytime the formatter changes
43
+ this.configureDatePickerFormatter();
44
+ }
45
+ }
46
+ ngAfterViewInit() {
47
+ this.configureDatePickerFormatter();
48
+ }
49
+ /**
50
+ * Manually change the parse and display formats of the date picker.
51
+ * @see https://github.com/angular/components/issues/8355#issuecomment-376783293
52
+ */
53
+ configureDatePickerFormatter() {
54
+ if (this.picker) {
55
+ const datepickerInput = this.picker.datepickerInput;
56
+ // @ts-ignore: access the private date formats on the date picker
57
+ const d = JSON.parse(JSON.stringify(datepickerInput._dateFormats));
58
+ // Convert the Java SimpleDateFormat to the moment equivalents using moment-jdateformatparser
59
+ const momentFormatString = moment().toMomentFormatString(this.format);
60
+ // Use the converted format for the date picker display
61
+ d.display.dateInput = momentFormatString;
62
+ // Use the converted format for the date picker parser (user input)
63
+ d.parse.dateInput = momentFormatString;
64
+ // @ts-ignore: set the updated date formats
65
+ datepickerInput._dateFormats = d;
66
+ // @ts-ignore: manually format the current value in the date picker
67
+ datepickerInput._formatValue(datepickerInput.value);
68
+ }
69
+ }
70
+ }
71
+ MtnaWfDateComponent.dateFormItemComponentInstances = 0;
72
+ MtnaWfDateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfDateComponent, deps: [{ token: i1.MtnaLogger }], target: i0.ɵɵFactoryTarget.Component });
73
+ MtnaWfDateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfDateComponent, selector: "mtna-wf-date-item", inputs: { format: "format", 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: `
74
+ <ng-container *ngTemplateOutlet="header"></ng-container>
75
+ <mat-form-field *ngIf="control" appearance="outline" [mtnaHighlight]="indicatorStatus === 'ACTIVE' && !hasItemHeader">
76
+ <mat-label>{{ item.label || 'Date' }}</mat-label>
77
+ <input
78
+ matInput
79
+ [matDatepicker]="picker"
80
+ [formControl]="$any(control)"
81
+ [max]="rangeLimits?.end"
82
+ [min]="rangeLimits?.start"
83
+ placeholder="Choose a date"
84
+ [required]="item.required"
85
+ />
86
+ <mat-datepicker-toggle matSuffix [for]="picker" [disabled]="readonly || control.disabled"></mat-datepicker-toggle>
87
+ <mat-datepicker #picker></mat-datepicker>
88
+ <mat-error *ngFor="let error of control.errors | keyvalue">
89
+ {{ error | mtnaWfGetControlError : item }}
90
+ </mat-error>
91
+ <mat-hint>{{ item?.format || format }}</mat-hint>
92
+ </mat-form-field>
93
+ `, isInline: true, styles: [".mtna-wf-control-item .mat-form-field{width:100%}.mtna-wf-control-item .mtna-wf-error-container{font-size:75%;line-height:1;min-height:1em;margin-top:-.75rem}.mtna-wf-control-item .control-item-content{padding:.35em .75em .625em}.mtna-wf-control-item .mtna-wf-item-header~:not(.mtna-wf-error-container):not(.mat-list){padding-left:.75em}.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: i2.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i3.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["tabIndex", "disabled", "for", "aria-label", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { type: i3.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }], directives: [{ type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.MtnaHighlightDirective, selector: "[mtnaHighlight]", inputs: ["mtnaHighlight", "mtnaHighlightColor"], exportAs: ["mtnaHighlight"] }, { type: i2.MatLabel, selector: "mat-label" }, { type: i5.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.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: i2.MatSuffix, selector: "[matSuffix]" }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.MatError, selector: "mat-error", inputs: ["id"] }, { type: i2.MatHint, selector: "mat-hint", inputs: ["align", "id"] }], pipes: { "keyvalue": i4.KeyValuePipe, "mtnaWfGetControlError": i7.MtnaGetFormControlErrorPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
94
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfDateComponent, decorators: [{
95
+ type: Component,
96
+ args: [{
97
+ selector: 'mtna-wf-date-item',
98
+ template: `
99
+ <ng-container *ngTemplateOutlet="header"></ng-container>
100
+ <mat-form-field *ngIf="control" appearance="outline" [mtnaHighlight]="indicatorStatus === 'ACTIVE' && !hasItemHeader">
101
+ <mat-label>{{ item.label || 'Date' }}</mat-label>
102
+ <input
103
+ matInput
104
+ [matDatepicker]="picker"
105
+ [formControl]="$any(control)"
106
+ [max]="rangeLimits?.end"
107
+ [min]="rangeLimits?.start"
108
+ placeholder="Choose a date"
109
+ [required]="item.required"
110
+ />
111
+ <mat-datepicker-toggle matSuffix [for]="picker" [disabled]="readonly || control.disabled"></mat-datepicker-toggle>
112
+ <mat-datepicker #picker></mat-datepicker>
113
+ <mat-error *ngFor="let error of control.errors | keyvalue">
114
+ {{ error | mtnaWfGetControlError : item }}
115
+ </mat-error>
116
+ <mat-hint>{{ item?.format || format }}</mat-hint>
117
+ </mat-form-field>
118
+ `,
119
+ styleUrls: [`form-control.scss`],
120
+ changeDetection: ChangeDetectionStrategy.OnPush,
121
+ encapsulation: ViewEncapsulation.None,
122
+ }]
123
+ }], ctorParameters: function () { return [{ type: i1.MtnaLogger }]; }, propDecorators: { dateItemClass: [{
124
+ type: HostBinding,
125
+ args: ['class.mtna-wf-date-item']
126
+ }], format: [{
127
+ type: Input
128
+ }], rangeLimits: [{
129
+ type: Input
130
+ }], picker: [{
131
+ type: ViewChild,
132
+ args: [MatDatepicker, { static: false }]
133
+ }] } });
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ZWItZm9ybS1hbmd1bGFyL3NyYy9saWIvZm9ybS1pdGVtLWNvbnRyb2xzL2RhdGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXBJLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUs3RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7Ozs7Ozs7O0FBbUN6RSxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsbUJBQTZCO0lBcUJwRSxZQUFZLE1BQWtCO1FBQzVCLEtBQUssRUFBRSxDQUFDO1FBcEI4QixrQkFBYSxHQUFHLElBQUksQ0FBQztRQWFyRCxZQUFPLEdBQUcsWUFBWSxDQUFDO1FBRXRCLGdCQUFXLEdBQThDLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFNM0YsbUhBQW1IO1FBQ25ILG9IQUFvSDtRQUNwSCxtQkFBbUIsQ0FBQyw4QkFBOEIsRUFBRSxDQUFDO1FBQ3JELElBQUksbUJBQW1CLENBQUMsOEJBQThCLEtBQUssQ0FBQyxFQUFFO1lBQzVELElBQUk7Z0JBQ0YsSUFBSSxDQUFDLENBQUMsTUFBTSxJQUFJLE9BQU8sTUFBTSxFQUFFLENBQUMsb0JBQW9CLEtBQUssVUFBVSxFQUFFO29CQUNuRSxNQUFNLENBQUMsS0FBSyxDQUFDOzs4RkFFdUUsQ0FBQyxDQUFDO2lCQUN2RjthQUNGO1lBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ1YsTUFBTSxDQUFDLEtBQUssQ0FBQzs7NERBRXVDLENBQUMsQ0FBQzthQUN2RDtTQUNGO0lBQ0gsQ0FBQztJQW5DRCxJQUNJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUNELElBQUksTUFBTSxDQUFDLENBQTRCO1FBQ3JDLElBQUksQ0FBQyxFQUFFO1lBQ0wsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUM7WUFDakIscURBQXFEO1lBQ3JELElBQUksQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO1NBQ3JDO0lBQ0gsQ0FBQztJQTJCRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVEOzs7T0FHRztJQUNLLDRCQUE0QjtRQUNsQyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDZixNQUFNLGVBQWUsR0FBNkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUEyQyxDQUFDO1lBQzFHLGlFQUFpRTtZQUNqRSxNQUFNLENBQUMsR0FBbUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO1lBRW5GLDZGQUE2RjtZQUM3RixNQUFNLGtCQUFrQixHQUFHLE1BQU0sRUFBRSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN0RSx1REFBdUQ7WUFDdkQsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEdBQUcsa0JBQWtCLENBQUM7WUFDekMsbUVBQW1FO1lBQ25FLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLGtCQUFrQixDQUFDO1lBQ3ZDLDJDQUEyQztZQUMzQyxlQUFlLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQztZQUVqQyxtRUFBbUU7WUFDbkUsZUFBZSxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDckQ7SUFDSCxDQUFDOztBQWxFTSxrREFBOEIsR0FBRyxDQUFDLENBQUM7aUhBRC9CLG1CQUFtQjtxR0FBbkIsbUJBQW1CLHNPQW1CbkIsYUFBYSx1RUE1Q2Q7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JUOzRGQUtVLG1CQUFtQjtrQkEzQi9CLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CVDtvQkFDRCxTQUFTLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztvQkFDaEMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2lCQUN0QztpR0FHeUMsYUFBYTtzQkFBcEQsV0FBVzt1QkFBQyx5QkFBeUI7Z0JBR2xDLE1BQU07c0JBRFQsS0FBSztnQkFhRyxXQUFXO3NCQUFuQixLQUFLO2dCQUV1QyxNQUFNO3NCQUFsRCxTQUFTO3VCQUFDLGFBQWEsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERhdGVGb3JtYXRzIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBNYXREYXRlcGlja2VyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XG5cbmltcG9ydCB7IE10bmFMb2dnZXIgfSBmcm9tICdAbXRuYS9jb3JlLWFuZ3VsYXInO1xuaW1wb3J0IHsgRGF0ZUl0ZW0sIERhdGVSYW5nZSB9IGZyb20gJ0BtdG5hL3dlYi1mb3JtLXRzJztcblxuaW1wb3J0IHsgQmFzZUZvcm1JdGVtQ29udHJvbCB9IGZyb20gJy4vYmFzZS1mb3JtLWl0ZW0tY29udHJvbC5kaXJlY3RpdmUnO1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXRzLWNvbW1lbnQgKi9cbmltcG9ydCB0eXBlIHsgTWF0RGF0ZXBpY2tlcklucHV0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55LG5vLXZhclxuZGVjbGFyZSB2YXIgbW9tZW50OiBhbnk7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ210bmEtd2YtZGF0ZS1pdGVtJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaGVhZGVyXCI+PC9uZy1jb250YWluZXI+XG4gICAgPG1hdC1mb3JtLWZpZWxkICpuZ0lmPVwiY29udHJvbFwiIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCIgW210bmFIaWdobGlnaHRdPVwiaW5kaWNhdG9yU3RhdHVzID09PSAnQUNUSVZFJyAmJiAhaGFzSXRlbUhlYWRlclwiPlxuICAgICAgPG1hdC1sYWJlbD57eyBpdGVtLmxhYmVsIHx8ICdEYXRlJyB9fTwvbWF0LWxhYmVsPlxuICAgICAgPGlucHV0XG4gICAgICAgIG1hdElucHV0XG4gICAgICAgIFttYXREYXRlcGlja2VyXT1cInBpY2tlclwiXG4gICAgICAgIFtmb3JtQ29udHJvbF09XCIkYW55KGNvbnRyb2wpXCJcbiAgICAgICAgW21heF09XCJyYW5nZUxpbWl0cz8uZW5kXCJcbiAgICAgICAgW21pbl09XCJyYW5nZUxpbWl0cz8uc3RhcnRcIlxuICAgICAgICBwbGFjZWhvbGRlcj1cIkNob29zZSBhIGRhdGVcIlxuICAgICAgICBbcmVxdWlyZWRdPVwiaXRlbS5yZXF1aXJlZFwiXG4gICAgICAvPlxuICAgICAgPG1hdC1kYXRlcGlja2VyLXRvZ2dsZSBtYXRTdWZmaXggW2Zvcl09XCJwaWNrZXJcIiBbZGlzYWJsZWRdPVwicmVhZG9ubHkgfHwgY29udHJvbC5kaXNhYmxlZFwiPjwvbWF0LWRhdGVwaWNrZXItdG9nZ2xlPlxuICAgICAgPG1hdC1kYXRlcGlja2VyICNwaWNrZXI+PC9tYXQtZGF0ZXBpY2tlcj5cbiAgICAgIDxtYXQtZXJyb3IgKm5nRm9yPVwibGV0IGVycm9yIG9mIGNvbnRyb2wuZXJyb3JzIHwga2V5dmFsdWVcIj5cbiAgICAgICAge3sgZXJyb3IgfCBtdG5hV2ZHZXRDb250cm9sRXJyb3IgOiBpdGVtIH19XG4gICAgICA8L21hdC1lcnJvcj5cbiAgICAgIDxtYXQtaGludD57eyBpdGVtPy5mb3JtYXQgfHwgZm9ybWF0IH19PC9tYXQtaGludD5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICBgLFxuICBzdHlsZVVybHM6IFtgZm9ybS1jb250cm9sLnNjc3NgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIE10bmFXZkRhdGVDb21wb25lbnQgZXh0ZW5kcyBCYXNlRm9ybUl0ZW1Db250cm9sPERhdGVJdGVtPiBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBzdGF0aWMgZGF0ZUZvcm1JdGVtQ29tcG9uZW50SW5zdGFuY2VzID0gMDtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5tdG5hLXdmLWRhdGUtaXRlbScpIGRhdGVJdGVtQ2xhc3MgPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBmb3JtYXQoKTogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX2Zvcm1hdDtcbiAgfVxuICBzZXQgZm9ybWF0KGY6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAoZikge1xuICAgICAgdGhpcy5fZm9ybWF0ID0gZjtcbiAgICAgIC8vIFVwZGF0ZSBjb25maWd1cmF0aW9uIGFueXRpbWUgdGhlIGZvcm1hdHRlciBjaGFuZ2VzXG4gICAgICB0aGlzLmNvbmZpZ3VyZURhdGVQaWNrZXJGb3JtYXR0ZXIoKTtcbiAgICB9XG4gIH1cbiAgcHJpdmF0ZSBfZm9ybWF0ID0gJ1lZWVktTU0tREQnO1xuXG4gIEBJbnB1dCgpIHJhbmdlTGltaXRzOiBEYXRlUmFuZ2U8RGF0ZSB8IG51bGw+IHwgbnVsbCB8IHVuZGVmaW5lZCA9IHsgZW5kOiBudWxsLCBzdGFydDogbnVsbCB9O1xuXG4gIEBWaWV3Q2hpbGQoTWF0RGF0ZXBpY2tlciwgeyBzdGF0aWM6IGZhbHNlIH0pIHBpY2tlcjogTWF0RGF0ZXBpY2tlcjxEYXRlPiB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3Rvcihsb2dnZXI6IE10bmFMb2dnZXIpIHtcbiAgICBzdXBlcigpO1xuICAgIC8vIFdlIG5lZWQgdG8gY2hlY2sgdG8gZW5zdXJlICdtb21lbnQnICYgJ21vbWVudC1qZGF0ZWZvcm1hdHBhcnNlcicgc2NyaXB0cyBoYXZlIGJlZW4gYWRkZWQgdG8gYW5ndWxhci5qc29uIHNvIHRoYXRcbiAgICAvLyB0aGUgRGF0ZUZvcm1JdGVtQ29tcG9uZW50IGRvZXNuJ3QgYnJlYWsgd2hlbiBhdHRlbXB0aW5nIHRvIGZvcm1hdCBTaW1wbGVEYXRlRm9ybWF0IHN0cmluZyB0byBNb21lbnQgZm9ybWF0IHN0cmluZ1xuICAgIE10bmFXZkRhdGVDb21wb25lbnQuZGF0ZUZvcm1JdGVtQ29tcG9uZW50SW5zdGFuY2VzKys7XG4gICAgaWYgKE10bmFXZkRhdGVDb21wb25lbnQuZGF0ZUZvcm1JdGVtQ29tcG9uZW50SW5zdGFuY2VzID09PSAxKSB7XG4gICAgICB0cnkge1xuICAgICAgICBpZiAoISFtb21lbnQgJiYgdHlwZW9mIG1vbWVudCgpLnRvTW9tZW50Rm9ybWF0U3RyaW5nICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgbG9nZ2VyLmVycm9yKGBbRGF0ZUZvcm1JdGVtQ29tcG9uZW50XSBjb25zdHJ1Y3RvclxuICAgICAgICAgLSBDYW5ub3QgZmluZCBtb21lbnQtamRhdGVmb3JtYXRwYXJzZXIsIG1ha2Ugc3VyZSB0byBpbnN0YWxsIHRoZSBkZXBlbmRlbmN5IGFuZCBhZGQgdGhlIHNjcmlwdCBpbiBhbmd1bGFyLmpzb24sIGkuZS5cbiAgICAgICAgIFwic2NyaXB0c1wiOiBbXCJub2RlX21vZHVsZXMvbW9tZW50LWpkYXRlZm9ybWF0cGFyc2VyL21vbWVudC1qZGF0ZWZvcm1hdHBhcnNlci5taW4uanNcIl1gKTtcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBsb2dnZXIuZXJyb3IoYFtEYXRlRm9ybUl0ZW1Db21wb25lbnRdIGNvbnN0cnVjdG9yXG4gICAgICAgLSBDYW5ub3QgZmluZCBtb21lbnQuanMsIG1ha2Ugc3VyZSB0byBpbnN0YWxsIHRoZSBkZXBlbmRlbmN5IGFuZCBhZGQgdGhlIHNjcmlwdCBpbiBhbmd1bGFyLmpzb24sIGkuZS5cbiAgICAgICBcInNjcmlwdHNcIjogW1wibm9kZV9tb2R1bGVzL21vbWVudC9taW4vbW9tZW50Lm1pbi5qc1wiXWApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmNvbmZpZ3VyZURhdGVQaWNrZXJGb3JtYXR0ZXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNYW51YWxseSBjaGFuZ2UgdGhlIHBhcnNlIGFuZCBkaXNwbGF5IGZvcm1hdHMgb2YgdGhlIGRhdGUgcGlja2VyLlxuICAgKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2NvbXBvbmVudHMvaXNzdWVzLzgzNTUjaXNzdWVjb21tZW50LTM3Njc4MzI5M1xuICAgKi9cbiAgcHJpdmF0ZSBjb25maWd1cmVEYXRlUGlja2VyRm9ybWF0dGVyKCkge1xuICAgIGlmICh0aGlzLnBpY2tlcikge1xuICAgICAgY29uc3QgZGF0ZXBpY2tlcklucHV0OiBNYXREYXRlcGlja2VySW5wdXQ8RGF0ZT4gPSB0aGlzLnBpY2tlci5kYXRlcGlja2VySW5wdXQgYXMgTWF0RGF0ZXBpY2tlcklucHV0PERhdGU+O1xuICAgICAgLy8gQHRzLWlnbm9yZTogYWNjZXNzIHRoZSBwcml2YXRlIGRhdGUgZm9ybWF0cyBvbiB0aGUgZGF0ZSBwaWNrZXJcbiAgICAgIGNvbnN0IGQ6IE1hdERhdGVGb3JtYXRzID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShkYXRlcGlja2VySW5wdXQuX2RhdGVGb3JtYXRzKSk7XG5cbiAgICAgIC8vIENvbnZlcnQgdGhlIEphdmEgU2ltcGxlRGF0ZUZvcm1hdCB0byB0aGUgbW9tZW50IGVxdWl2YWxlbnRzIHVzaW5nIG1vbWVudC1qZGF0ZWZvcm1hdHBhcnNlclxuICAgICAgY29uc3QgbW9tZW50Rm9ybWF0U3RyaW5nID0gbW9tZW50KCkudG9Nb21lbnRGb3JtYXRTdHJpbmcodGhpcy5mb3JtYXQpO1xuICAgICAgLy8gVXNlIHRoZSBjb252ZXJ0ZWQgZm9ybWF0IGZvciB0aGUgZGF0ZSBwaWNrZXIgZGlzcGxheVxuICAgICAgZC5kaXNwbGF5LmRhdGVJbnB1dCA9IG1vbWVudEZvcm1hdFN0cmluZztcbiAgICAgIC8vIFVzZSB0aGUgY29udmVydGVkIGZvcm1hdCBmb3IgdGhlIGRhdGUgcGlja2VyIHBhcnNlciAodXNlciBpbnB1dClcbiAgICAgIGQucGFyc2UuZGF0ZUlucHV0ID0gbW9tZW50Rm9ybWF0U3RyaW5nO1xuICAgICAgLy8gQHRzLWlnbm9yZTogc2V0IHRoZSB1cGRhdGVkIGRhdGUgZm9ybWF0c1xuICAgICAgZGF0ZXBpY2tlcklucHV0Ll9kYXRlRm9ybWF0cyA9IGQ7XG5cbiAgICAgIC8vIEB0cy1pZ25vcmU6IG1hbnVhbGx5IGZvcm1hdCB0aGUgY3VycmVudCB2YWx1ZSBpbiB0aGUgZGF0ZSBwaWNrZXJcbiAgICAgIGRhdGVwaWNrZXJJbnB1dC5fZm9ybWF0VmFsdWUoZGF0ZXBpY2tlcklucHV0LnZhbHVlKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,109 @@
1
+ import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';
2
+ import { BaseSingleSelectionParent } from './base-single-selection-parent.directive';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../core/services/ui.service";
5
+ import * as i2 from "@angular/material/form-field";
6
+ import * as i3 from "@angular/material/select";
7
+ import * as i4 from "@angular/material/core";
8
+ import * as i5 from "@angular/material/list";
9
+ import * as i6 from "@angular/material/icon";
10
+ import * as i7 from "@angular/common";
11
+ import * as i8 from "@mtna/core-angular";
12
+ import * as i9 from "@angular/forms";
13
+ import * as i10 from "../core/pipes/get-form-control-error.pipe";
14
+ import * as i11 from "../core/pipes/get-list-icon.pipe";
15
+ import * as i12 from "../core/pipes/get-selected-option.pipe";
16
+ export class MtnaWfDropdownComponent extends BaseSingleSelectionParent {
17
+ constructor(uiService) {
18
+ super(uiService);
19
+ }
20
+ }
21
+ MtnaWfDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfDropdownComponent, deps: [{ token: i1.MtnaWfUIService }], target: i0.ɵɵFactoryTarget.Component });
22
+ MtnaWfDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfDropdownComponent, selector: "mtna-wf-dropdown-item", usesInheritance: true, ngImport: i0, template: `
23
+ <ng-container *ngTemplateOutlet="header; context: { $implicit: true }"></ng-container>
24
+ <mat-form-field
25
+ *ngIf="!readonly && !!control; else readOnly"
26
+ appearance="outline"
27
+ [mtnaHighlight]="indicatorStatus === 'ACTIVE' && !hasItemHeader"
28
+ >
29
+ <mat-label>{{ item.label }}</mat-label>
30
+ <mat-select [formControl]="control" (selectionChange)="selectionChange($event)" [required]="item.required">
31
+ <mat-option *ngIf="!item.required">-- None --</mat-option>
32
+ <mat-option *ngFor="let opt of item.options" [value]="opt.option.id" [disabled]="control.value === opt.option.id">{{
33
+ opt.option.name
34
+ }}</mat-option>
35
+ </mat-select>
36
+ <mat-error *ngFor="let error of control.errors | keyvalue">
37
+ {{ error | mtnaWfGetControlError : item }}
38
+ </mat-error>
39
+ </mat-form-field>
40
+
41
+ <ng-template #readOnly>
42
+ <ng-container *ngIf="inList; else fullList">
43
+ <mat-list-item *ngIf="item.required || !!item.value">
44
+ <mat-icon *ngIf="item.label | getListIcon as icon" matListIcon>{{ icon }}</mat-icon>
45
+ <h4 matLine>{{ item.label }}</h4>
46
+ <p matLine>{{ item.value || control?.value | mtnaWfGetSelectedOptionName : item.options }}</p>
47
+ </mat-list-item>
48
+ </ng-container>
49
+
50
+ <ng-template #fullList>
51
+ <mat-list>
52
+ <mat-list-item *ngIf="item.required || !!item.value">
53
+ <mat-icon *ngIf="item.label | getListIcon as icon" matListIcon>{{ icon }}</mat-icon>
54
+ <h4 matLine>{{ item.label }}</h4>
55
+ <p matLine>{{ item.value || control?.value | mtnaWfGetSelectedOptionName : item.options }}</p>
56
+ </mat-list-item>
57
+ </mat-list>
58
+ </ng-template>
59
+ </ng-template>
60
+ `, isInline: true, styles: [".mtna-wf-control-item .mat-form-field{width:100%}.mtna-wf-control-item .mtna-wf-error-container{font-size:75%;line-height:1;min-height:1em;margin-top:-.75rem}.mtna-wf-control-item .control-item-content{padding:.35em .75em .625em}.mtna-wf-control-item .mtna-wf-item-header~:not(.mtna-wf-error-container):not(.mat-list){padding-left:.75em}.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: i2.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i3.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i4.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: i5.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["disableRipple", "disabled"], exportAs: ["matListItem"] }, { type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i5.MatList, selector: "mat-list, mat-action-list", inputs: ["disableRipple", "disabled"], exportAs: ["matList"] }], directives: [{ type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.MtnaHighlightDirective, selector: "[mtnaHighlight]", inputs: ["mtnaHighlight", "mtnaHighlightColor"], exportAs: ["mtnaHighlight"] }, { type: i2.MatLabel, selector: "mat-label" }, { type: i9.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i9.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i9.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.MatError, selector: "mat-error", inputs: ["id"] }, { type: i5.MatListIconCssMatStyler, selector: "[mat-list-icon], [matListIcon]" }, { type: i4.MatLine, selector: "[mat-line], [matLine]" }], pipes: { "keyvalue": i7.KeyValuePipe, "mtnaWfGetControlError": i10.MtnaGetFormControlErrorPipe, "getListIcon": i11.GetListIconPipe, "mtnaWfGetSelectedOptionName": i12.MtnaWfGetSelectedOptionNamePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfDropdownComponent, decorators: [{
62
+ type: Component,
63
+ args: [{
64
+ selector: 'mtna-wf-dropdown-item',
65
+ template: `
66
+ <ng-container *ngTemplateOutlet="header; context: { $implicit: true }"></ng-container>
67
+ <mat-form-field
68
+ *ngIf="!readonly && !!control; else readOnly"
69
+ appearance="outline"
70
+ [mtnaHighlight]="indicatorStatus === 'ACTIVE' && !hasItemHeader"
71
+ >
72
+ <mat-label>{{ item.label }}</mat-label>
73
+ <mat-select [formControl]="control" (selectionChange)="selectionChange($event)" [required]="item.required">
74
+ <mat-option *ngIf="!item.required">-- None --</mat-option>
75
+ <mat-option *ngFor="let opt of item.options" [value]="opt.option.id" [disabled]="control.value === opt.option.id">{{
76
+ opt.option.name
77
+ }}</mat-option>
78
+ </mat-select>
79
+ <mat-error *ngFor="let error of control.errors | keyvalue">
80
+ {{ error | mtnaWfGetControlError : item }}
81
+ </mat-error>
82
+ </mat-form-field>
83
+
84
+ <ng-template #readOnly>
85
+ <ng-container *ngIf="inList; else fullList">
86
+ <mat-list-item *ngIf="item.required || !!item.value">
87
+ <mat-icon *ngIf="item.label | getListIcon as icon" matListIcon>{{ icon }}</mat-icon>
88
+ <h4 matLine>{{ item.label }}</h4>
89
+ <p matLine>{{ item.value || control?.value | mtnaWfGetSelectedOptionName : item.options }}</p>
90
+ </mat-list-item>
91
+ </ng-container>
92
+
93
+ <ng-template #fullList>
94
+ <mat-list>
95
+ <mat-list-item *ngIf="item.required || !!item.value">
96
+ <mat-icon *ngIf="item.label | getListIcon as icon" matListIcon>{{ icon }}</mat-icon>
97
+ <h4 matLine>{{ item.label }}</h4>
98
+ <p matLine>{{ item.value || control?.value | mtnaWfGetSelectedOptionName : item.options }}</p>
99
+ </mat-list-item>
100
+ </mat-list>
101
+ </ng-template>
102
+ </ng-template>
103
+ `,
104
+ styleUrls: [`form-control.scss`],
105
+ encapsulation: ViewEncapsulation.None,
106
+ changeDetection: ChangeDetectionStrategy.OnPush,
107
+ }]
108
+ }], ctorParameters: function () { return [{ type: i1.MtnaWfUIService }]; } });
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2ViLWZvcm0tYW5ndWxhci9zcmMvbGliL2Zvcm0taXRlbS1jb250cm9scy9kcm9wZG93bi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUt0RixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUErQ3JGLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSx5QkFBdUM7SUFDbEYsWUFBWSxTQUEwQjtRQUNwQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDbkIsQ0FBQzs7cUhBSFUsdUJBQXVCO3lHQUF2Qix1QkFBdUIsb0ZBM0N4Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQ1Q7NEZBS1UsdUJBQXVCO2tCQTdDbkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0NUO29CQUNELFNBQVMsRUFBRSxDQUFDLG1CQUFtQixDQUFDO29CQUNoQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRHJvcGRvd25JdGVtIH0gZnJvbSAnQG10bmEvd2ViLWZvcm0tdHMnO1xuXG5pbXBvcnQgeyBNdG5hV2ZVSVNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL3NlcnZpY2VzL3VpLnNlcnZpY2UnO1xuaW1wb3J0IHsgQmFzZVNpbmdsZVNlbGVjdGlvblBhcmVudCB9IGZyb20gJy4vYmFzZS1zaW5nbGUtc2VsZWN0aW9uLXBhcmVudC5kaXJlY3RpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtdG5hLXdmLWRyb3Bkb3duLWl0ZW0nLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJoZWFkZXI7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiB0cnVlIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICA8bWF0LWZvcm0tZmllbGRcbiAgICAgICpuZ0lmPVwiIXJlYWRvbmx5ICYmICEhY29udHJvbDsgZWxzZSByZWFkT25seVwiXG4gICAgICBhcHBlYXJhbmNlPVwib3V0bGluZVwiXG4gICAgICBbbXRuYUhpZ2hsaWdodF09XCJpbmRpY2F0b3JTdGF0dXMgPT09ICdBQ1RJVkUnICYmICFoYXNJdGVtSGVhZGVyXCJcbiAgICA+XG4gICAgICA8bWF0LWxhYmVsPnt7IGl0ZW0ubGFiZWwgfX08L21hdC1sYWJlbD5cbiAgICAgIDxtYXQtc2VsZWN0IFtmb3JtQ29udHJvbF09XCJjb250cm9sXCIgKHNlbGVjdGlvbkNoYW5nZSk9XCJzZWxlY3Rpb25DaGFuZ2UoJGV2ZW50KVwiIFtyZXF1aXJlZF09XCJpdGVtLnJlcXVpcmVkXCI+XG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0lmPVwiIWl0ZW0ucmVxdWlyZWRcIj4tLSBOb25lIC0tPC9tYXQtb3B0aW9uPlxuICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgb3B0IG9mIGl0ZW0ub3B0aW9uc1wiIFt2YWx1ZV09XCJvcHQub3B0aW9uLmlkXCIgW2Rpc2FibGVkXT1cImNvbnRyb2wudmFsdWUgPT09IG9wdC5vcHRpb24uaWRcIj57e1xuICAgICAgICAgIG9wdC5vcHRpb24ubmFtZVxuICAgICAgICB9fTwvbWF0LW9wdGlvbj5cbiAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgIDxtYXQtZXJyb3IgKm5nRm9yPVwibGV0IGVycm9yIG9mIGNvbnRyb2wuZXJyb3JzIHwga2V5dmFsdWVcIj5cbiAgICAgICAge3sgZXJyb3IgfCBtdG5hV2ZHZXRDb250cm9sRXJyb3IgOiBpdGVtIH19XG4gICAgICA8L21hdC1lcnJvcj5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgPG5nLXRlbXBsYXRlICNyZWFkT25seT5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpbkxpc3Q7IGVsc2UgZnVsbExpc3RcIj5cbiAgICAgICAgPG1hdC1saXN0LWl0ZW0gKm5nSWY9XCJpdGVtLnJlcXVpcmVkIHx8ICEhaXRlbS52YWx1ZVwiPlxuICAgICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cIml0ZW0ubGFiZWwgfCBnZXRMaXN0SWNvbiBhcyBpY29uXCIgbWF0TGlzdEljb24+e3sgaWNvbiB9fTwvbWF0LWljb24+XG4gICAgICAgICAgPGg0IG1hdExpbmU+e3sgaXRlbS5sYWJlbCB9fTwvaDQ+XG4gICAgICAgICAgPHAgbWF0TGluZT57eyBpdGVtLnZhbHVlIHx8IGNvbnRyb2w/LnZhbHVlIHwgbXRuYVdmR2V0U2VsZWN0ZWRPcHRpb25OYW1lIDogaXRlbS5vcHRpb25zIH19PC9wPlxuICAgICAgICA8L21hdC1saXN0LWl0ZW0+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPG5nLXRlbXBsYXRlICNmdWxsTGlzdD5cbiAgICAgICAgPG1hdC1saXN0PlxuICAgICAgICAgIDxtYXQtbGlzdC1pdGVtICpuZ0lmPVwiaXRlbS5yZXF1aXJlZCB8fCAhIWl0ZW0udmFsdWVcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cIml0ZW0ubGFiZWwgfCBnZXRMaXN0SWNvbiBhcyBpY29uXCIgbWF0TGlzdEljb24+e3sgaWNvbiB9fTwvbWF0LWljb24+XG4gICAgICAgICAgICA8aDQgbWF0TGluZT57eyBpdGVtLmxhYmVsIH19PC9oND5cbiAgICAgICAgICAgIDxwIG1hdExpbmU+e3sgaXRlbS52YWx1ZSB8fCBjb250cm9sPy52YWx1ZSB8IG10bmFXZkdldFNlbGVjdGVkT3B0aW9uTmFtZSA6IGl0ZW0ub3B0aW9ucyB9fTwvcD5cbiAgICAgICAgICA8L21hdC1saXN0LWl0ZW0+XG4gICAgICAgIDwvbWF0LWxpc3Q+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIGAsXG4gIHN0eWxlVXJsczogW2Bmb3JtLWNvbnRyb2wuc2Nzc2BdLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTXRuYVdmRHJvcGRvd25Db21wb25lbnQgZXh0ZW5kcyBCYXNlU2luZ2xlU2VsZWN0aW9uUGFyZW50PERyb3Bkb3duSXRlbT4ge1xuICBjb25zdHJ1Y3Rvcih1aVNlcnZpY2U6IE10bmFXZlVJU2VydmljZSkge1xuICAgIHN1cGVyKHVpU2VydmljZSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,8 @@
1
+ export * from './base-form-item-control.directive';
2
+ export * from './date.component';
3
+ export * from './date-range.component';
4
+ export * from './dropdown.component';
5
+ export * from './input.component';
6
+ export * from './year-quarter.component';
7
+ export * from './year-quarter-range.component';
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ZWItZm9ybS1hbmd1bGFyL3NyYy9saWIvZm9ybS1pdGVtLWNvbnRyb2xzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsZ0NBQWdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2Jhc2UtZm9ybS1pdGVtLWNvbnRyb2wuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0ZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9kYXRlLXJhbmdlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2Ryb3Bkb3duLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2lucHV0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3llYXItcXVhcnRlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi95ZWFyLXF1YXJ0ZXItcmFuZ2UuY29tcG9uZW50JztcbiJdfQ==
@@ -0,0 +1,149 @@
1
+ import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';
2
+ import { BaseFormItemControl } from './base-form-item-control.directive';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/material/form-field";
5
+ import * as i2 from "@angular/material/list";
6
+ import * as i3 from "@angular/common";
7
+ import * as i4 from "@mtna/core-angular";
8
+ import * as i5 from "@angular/material/input";
9
+ import * as i6 from "@angular/forms";
10
+ import * as i7 from "@angular/material/core";
11
+ import * as i8 from "../core/pipes/get-auto-complete.pipe";
12
+ import * as i9 from "../core/pipes/get-form-control-error.pipe";
13
+ export class MtnaWfInputComponent extends BaseFormItemControl {
14
+ constructor(elementRef) {
15
+ super();
16
+ this.elementRef = elementRef;
17
+ this.isParagraph = this._hasHostAttributes('mtnaWfParagraphItem');
18
+ this.isNumberInput = this._hasHostAttributes('mtnaWfDecimalItem', 'mtnaWfWholeNumberItem');
19
+ }
20
+ _hasHostAttributes(...attributes) {
21
+ return attributes.some((attr) => this.elementRef.nativeElement.hasAttribute(attr));
22
+ }
23
+ }
24
+ MtnaWfInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfInputComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
25
+ MtnaWfInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MtnaWfInputComponent, selector: "mtna-wf-input-item[mtnaWfDecimalItem],\n mtna-wf-input-item[mtnaWfParagraphItem],\n mtna-wf-input-item[mtnaWfShortAnswerItem],\n mtna-wf-input-item[mtnaWfWholeNumberItem],", usesInheritance: true, ngImport: i0, template: `
26
+ <ng-container *ngTemplateOutlet="header; context: { $implicit: true }"></ng-container>
27
+ <mat-form-field
28
+ *ngIf="!readonly && !!control; else readOnly"
29
+ appearance="outline"
30
+ [mtnaHighlight]="indicatorStatus === 'ACTIVE' && !hasItemHeader"
31
+ >
32
+ <mat-label>{{ item.label }}</mat-label>
33
+ <textarea
34
+ *ngIf="isParagraph; else shortInput"
35
+ matInput
36
+ [formControl]="control"
37
+ [required]="item.required"
38
+ [attr.autocomplete]="item.label || item.name | getAutoComplete"
39
+ cdkTextareaAutoSize
40
+ cdkAutosizeMinRows="3"
41
+ cdkAutosizeMaxRows="5"
42
+ ></textarea>
43
+
44
+ <ng-template #shortInput>
45
+ <input matInput [formControl]="control!" [autocomplete]="item.label || item.name | getAutoComplete" [required]="item.required" />
46
+ </ng-template>
47
+
48
+ <mat-error *ngFor="let error of control.errors | keyvalue | slice : 0 : 1">
49
+ {{ error | mtnaWfGetControlError : item }}
50
+ </mat-error>
51
+ </mat-form-field>
52
+
53
+ <!-- READONLY -->
54
+ <ng-template #readOnly>
55
+ <ng-container *ngTemplateOutlet="inList ? listItem : fullList"></ng-container>
56
+ </ng-template>
57
+
58
+ <ng-template #fullList>
59
+ <mat-list>
60
+ <ng-container *ngTemplateOutlet="listItem"></ng-container>
61
+ </mat-list>
62
+ </ng-template>
63
+
64
+ <ng-template #listItem>
65
+ <mat-list-item class="wrappable-list-item">
66
+ <!-- <mat-icon *ngIf="item.label || item.header as label" matListIcon>{{ label | getListIcon }}</mat-icon> -->
67
+ <h4 *ngIf="!item.questionText && (item.label || item.name) as label" mat-line>{{ label }}</h4>
68
+ <p mat-line class="wrap-line">{{ item.value || 'No Information Provided' }}</p>
69
+ </mat-list-item>
70
+ </ng-template>
71
+ `, isInline: true, styles: [".mtna-wf-control-item .mat-form-field{width:100%}.mtna-wf-control-item .mtna-wf-error-container{font-size:75%;line-height:1;min-height:1em;margin-top:-.75rem}.mtna-wf-control-item .control-item-content{padding:.35em .75em .625em}.mtna-wf-control-item .mtna-wf-item-header~:not(.mtna-wf-error-container):not(.mat-list){padding-left:.75em}.mtna-wf-control-item .mtna-wf-item-header~:not(.mtna-wf-error-container):not(.mat-list).mat-form-field{width:calc(100% - .75em)}\n", "\n mtna-wf-input-item .mat-list-base .mat-list-item,\n mtna-wf-input-item .mat-list-base .mat-list-item.mat-list-item-with-avatar {\n height: auto;\n padding: 12px 0;\n }\n mtna-wf-input-item .mat-list-base .mat-list-item.mat-2-line,\n mtna-wf-input-item .mat-list-base .mat-list-item.mat-2-line.mat-list-item-with-avatar {\n padding: 18.5px 0;\n }\n mtna-wf-input-item .mat-list-base .mat-list-item .mat-line {\n white-space: normal;\n overflow: unset;\n text-overflow: unset;\n }\n "], components: [{ type: i1.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i2.MatList, selector: "mat-list, mat-action-list", inputs: ["disableRipple", "disabled"], exportAs: ["matList"] }, { type: i2.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.MatLabel, selector: "mat-label" }, { type: i5.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.MatError, selector: "mat-error", inputs: ["id"] }, { type: i7.MatLine, selector: "[mat-line], [matLine]" }], pipes: { "getAutoComplete": i8.GetAutoCompletePipe, "slice": i3.SlicePipe, "keyvalue": i3.KeyValuePipe, "mtnaWfGetControlError": i9.MtnaGetFormControlErrorPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
72
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfInputComponent, decorators: [{
73
+ type: Component,
74
+ args: [{
75
+ selector: `mtna-wf-input-item[mtnaWfDecimalItem],
76
+ mtna-wf-input-item[mtnaWfParagraphItem],
77
+ mtna-wf-input-item[mtnaWfShortAnswerItem],
78
+ mtna-wf-input-item[mtnaWfWholeNumberItem],`,
79
+ template: `
80
+ <ng-container *ngTemplateOutlet="header; context: { $implicit: true }"></ng-container>
81
+ <mat-form-field
82
+ *ngIf="!readonly && !!control; else readOnly"
83
+ appearance="outline"
84
+ [mtnaHighlight]="indicatorStatus === 'ACTIVE' && !hasItemHeader"
85
+ >
86
+ <mat-label>{{ item.label }}</mat-label>
87
+ <textarea
88
+ *ngIf="isParagraph; else shortInput"
89
+ matInput
90
+ [formControl]="control"
91
+ [required]="item.required"
92
+ [attr.autocomplete]="item.label || item.name | getAutoComplete"
93
+ cdkTextareaAutoSize
94
+ cdkAutosizeMinRows="3"
95
+ cdkAutosizeMaxRows="5"
96
+ ></textarea>
97
+
98
+ <ng-template #shortInput>
99
+ <input matInput [formControl]="control!" [autocomplete]="item.label || item.name | getAutoComplete" [required]="item.required" />
100
+ </ng-template>
101
+
102
+ <mat-error *ngFor="let error of control.errors | keyvalue | slice : 0 : 1">
103
+ {{ error | mtnaWfGetControlError : item }}
104
+ </mat-error>
105
+ </mat-form-field>
106
+
107
+ <!-- READONLY -->
108
+ <ng-template #readOnly>
109
+ <ng-container *ngTemplateOutlet="inList ? listItem : fullList"></ng-container>
110
+ </ng-template>
111
+
112
+ <ng-template #fullList>
113
+ <mat-list>
114
+ <ng-container *ngTemplateOutlet="listItem"></ng-container>
115
+ </mat-list>
116
+ </ng-template>
117
+
118
+ <ng-template #listItem>
119
+ <mat-list-item class="wrappable-list-item">
120
+ <!-- <mat-icon *ngIf="item.label || item.header as label" matListIcon>{{ label | getListIcon }}</mat-icon> -->
121
+ <h4 *ngIf="!item.questionText && (item.label || item.name) as label" mat-line>{{ label }}</h4>
122
+ <p mat-line class="wrap-line">{{ item.value || 'No Information Provided' }}</p>
123
+ </mat-list-item>
124
+ </ng-template>
125
+ `,
126
+ styleUrls: [`form-control.scss`],
127
+ styles: [
128
+ `
129
+ mtna-wf-input-item .mat-list-base .mat-list-item,
130
+ mtna-wf-input-item .mat-list-base .mat-list-item.mat-list-item-with-avatar {
131
+ height: auto;
132
+ padding: 12px 0;
133
+ }
134
+ mtna-wf-input-item .mat-list-base .mat-list-item.mat-2-line,
135
+ mtna-wf-input-item .mat-list-base .mat-list-item.mat-2-line.mat-list-item-with-avatar {
136
+ padding: 18.5px 0;
137
+ }
138
+ mtna-wf-input-item .mat-list-base .mat-list-item .mat-line {
139
+ white-space: normal;
140
+ overflow: unset;
141
+ text-overflow: unset;
142
+ }
143
+ `,
144
+ ],
145
+ encapsulation: ViewEncapsulation.None,
146
+ changeDetection: ChangeDetectionStrategy.OnPush,
147
+ }]
148
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
149
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2ViLWZvcm0tYW5ndWxhci9zcmMvbGliL2Zvcm0taXRlbS1jb250cm9scy9pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBYyxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUtsRyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7Ozs7Ozs7Ozs7QUE0RXpFLE1BQU0sT0FBTyxvQkFFWCxTQUFRLG1CQUFtQztJQUkzQyxZQUFzQixVQUFzQjtRQUMxQyxLQUFLLEVBQUUsQ0FBQztRQURZLGVBQVUsR0FBVixVQUFVLENBQVk7UUFIbkMsZ0JBQVcsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUM3RCxrQkFBYSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxtQkFBbUIsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO0lBSS9GLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxHQUFHLFVBQW9CO1FBQ2hELE9BQU8sVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUE2QixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3RHLENBQUM7O2tIQVpVLG9CQUFvQjtzR0FBcEIsb0JBQW9CLDhRQXJFckI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E4Q1Q7NEZBdUJVLG9CQUFvQjtrQkExRWhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFOzs7d0RBRzRDO29CQUN0RCxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E4Q1Q7b0JBQ0QsU0FBUyxFQUFFLENBQUMsbUJBQW1CLENBQUM7b0JBQ2hDLE1BQU0sRUFBRTt3QkFDTjs7Ozs7Ozs7Ozs7Ozs7O0tBZUM7cUJBQ0Y7b0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgRGVjaW1hbEFuc3dlckl0ZW0sIFBhcmFncmFwaEFuc3dlckl0ZW0sIFNob3J0QW5zd2VySXRlbSwgV2hvbGVOdW1iZXJBbnN3ZXJJdGVtIH0gZnJvbSAnQG10bmEvd2ViLWZvcm0tdHMnO1xuXG5pbXBvcnQgeyBCYXNlRm9ybUl0ZW1Db250cm9sIH0gZnJvbSAnLi9iYXNlLWZvcm0taXRlbS1jb250cm9sLmRpcmVjdGl2ZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogYG10bmEtd2YtaW5wdXQtaXRlbVttdG5hV2ZEZWNpbWFsSXRlbV0sXG4gICAgICAgICAgICAgbXRuYS13Zi1pbnB1dC1pdGVtW210bmFXZlBhcmFncmFwaEl0ZW1dLFxuICAgICAgICAgICAgIG10bmEtd2YtaW5wdXQtaXRlbVttdG5hV2ZTaG9ydEFuc3dlckl0ZW1dLFxuICAgICAgICAgICAgIG10bmEtd2YtaW5wdXQtaXRlbVttdG5hV2ZXaG9sZU51bWJlckl0ZW1dLGAsXG4gIHRlbXBsYXRlOiBgXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImhlYWRlcjsgY29udGV4dDogeyAkaW1wbGljaXQ6IHRydWUgfVwiPjwvbmctY29udGFpbmVyPlxuICAgIDxtYXQtZm9ybS1maWVsZFxuICAgICAgKm5nSWY9XCIhcmVhZG9ubHkgJiYgISFjb250cm9sOyBlbHNlIHJlYWRPbmx5XCJcbiAgICAgIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCJcbiAgICAgIFttdG5hSGlnaGxpZ2h0XT1cImluZGljYXRvclN0YXR1cyA9PT0gJ0FDVElWRScgJiYgIWhhc0l0ZW1IZWFkZXJcIlxuICAgID5cbiAgICAgIDxtYXQtbGFiZWw+e3sgaXRlbS5sYWJlbCB9fTwvbWF0LWxhYmVsPlxuICAgICAgPHRleHRhcmVhXG4gICAgICAgICpuZ0lmPVwiaXNQYXJhZ3JhcGg7IGVsc2Ugc2hvcnRJbnB1dFwiXG4gICAgICAgIG1hdElucHV0XG4gICAgICAgIFtmb3JtQ29udHJvbF09XCJjb250cm9sXCJcbiAgICAgICAgW3JlcXVpcmVkXT1cIml0ZW0ucmVxdWlyZWRcIlxuICAgICAgICBbYXR0ci5hdXRvY29tcGxldGVdPVwiaXRlbS5sYWJlbCB8fCBpdGVtLm5hbWUgfCBnZXRBdXRvQ29tcGxldGVcIlxuICAgICAgICBjZGtUZXh0YXJlYUF1dG9TaXplXG4gICAgICAgIGNka0F1dG9zaXplTWluUm93cz1cIjNcIlxuICAgICAgICBjZGtBdXRvc2l6ZU1heFJvd3M9XCI1XCJcbiAgICAgID48L3RleHRhcmVhPlxuXG4gICAgICA8bmctdGVtcGxhdGUgI3Nob3J0SW5wdXQ+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCBbZm9ybUNvbnRyb2xdPVwiY29udHJvbCFcIiBbYXV0b2NvbXBsZXRlXT1cIml0ZW0ubGFiZWwgfHwgaXRlbS5uYW1lIHwgZ2V0QXV0b0NvbXBsZXRlXCIgW3JlcXVpcmVkXT1cIml0ZW0ucmVxdWlyZWRcIiAvPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgPG1hdC1lcnJvciAqbmdGb3I9XCJsZXQgZXJyb3Igb2YgY29udHJvbC5lcnJvcnMgfCBrZXl2YWx1ZSB8IHNsaWNlIDogMCA6IDFcIj5cbiAgICAgICAge3sgZXJyb3IgfCBtdG5hV2ZHZXRDb250cm9sRXJyb3IgOiBpdGVtIH19XG4gICAgICA8L21hdC1lcnJvcj5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgPCEtLSBSRUFET05MWSAtLT5cbiAgICA8bmctdGVtcGxhdGUgI3JlYWRPbmx5PlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImluTGlzdCA/IGxpc3RJdGVtIDogZnVsbExpc3RcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPG5nLXRlbXBsYXRlICNmdWxsTGlzdD5cbiAgICAgIDxtYXQtbGlzdD5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxpc3RJdGVtXCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L21hdC1saXN0PlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8bmctdGVtcGxhdGUgI2xpc3RJdGVtPlxuICAgICAgPG1hdC1saXN0LWl0ZW0gY2xhc3M9XCJ3cmFwcGFibGUtbGlzdC1pdGVtXCI+XG4gICAgICAgIDwhLS0gPG1hdC1pY29uICpuZ0lmPVwiaXRlbS5sYWJlbCB8fCBpdGVtLmhlYWRlciBhcyBsYWJlbFwiIG1hdExpc3RJY29uPnt7IGxhYmVsIHwgZ2V0TGlzdEljb24gfX08L21hdC1pY29uPiAtLT5cbiAgICAgICAgPGg0ICpuZ0lmPVwiIWl0ZW0ucXVlc3Rpb25UZXh0ICYmIChpdGVtLmxhYmVsIHx8IGl0ZW0ubmFtZSkgYXMgbGFiZWxcIiBtYXQtbGluZT57eyBsYWJlbCB9fTwvaDQ+XG4gICAgICAgIDxwIG1hdC1saW5lIGNsYXNzPVwid3JhcC1saW5lXCI+e3sgaXRlbS52YWx1ZSB8fCAnTm8gSW5mb3JtYXRpb24gUHJvdmlkZWQnIH19PC9wPlxuICAgICAgPC9tYXQtbGlzdC1pdGVtPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIGAsXG4gIHN0eWxlVXJsczogW2Bmb3JtLWNvbnRyb2wuc2Nzc2BdLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICBtdG5hLXdmLWlucHV0LWl0ZW0gLm1hdC1saXN0LWJhc2UgLm1hdC1saXN0LWl0ZW0sXG4gICAgICBtdG5hLXdmLWlucHV0LWl0ZW0gLm1hdC1saXN0LWJhc2UgLm1hdC1saXN0LWl0ZW0ubWF0LWxpc3QtaXRlbS13aXRoLWF2YXRhciB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgcGFkZGluZzogMTJweCAwO1xuICAgICAgfVxuICAgICAgbXRuYS13Zi1pbnB1dC1pdGVtIC5tYXQtbGlzdC1iYXNlIC5tYXQtbGlzdC1pdGVtLm1hdC0yLWxpbmUsXG4gICAgICBtdG5hLXdmLWlucHV0LWl0ZW0gLm1hdC1saXN0LWJhc2UgLm1hdC1saXN0LWl0ZW0ubWF0LTItbGluZS5tYXQtbGlzdC1pdGVtLXdpdGgtYXZhdGFyIHtcbiAgICAgICAgcGFkZGluZzogMTguNXB4IDA7XG4gICAgICB9XG4gICAgICBtdG5hLXdmLWlucHV0LWl0ZW0gLm1hdC1saXN0LWJhc2UgLm1hdC1saXN0LWl0ZW0gLm1hdC1saW5lIHtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgICAgb3ZlcmZsb3c6IHVuc2V0O1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiB1bnNldDtcbiAgICAgIH1cbiAgICBgLFxuICBdLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTXRuYVdmSW5wdXRDb21wb25lbnQ8XG4gIEkgZXh0ZW5kcyBEZWNpbWFsQW5zd2VySXRlbSB8IFBhcmFncmFwaEFuc3dlckl0ZW0gfCBTaG9ydEFuc3dlckl0ZW0gfCBXaG9sZU51bWJlckFuc3dlckl0ZW1cbj4gZXh0ZW5kcyBCYXNlRm9ybUl0ZW1Db250cm9sPEksIEZvcm1Db250cm9sPiB7XG4gIHJlYWRvbmx5IGlzUGFyYWdyYXBoID0gdGhpcy5faGFzSG9zdEF0dHJpYnV0ZXMoJ210bmFXZlBhcmFncmFwaEl0ZW0nKTtcbiAgcmVhZG9ubHkgaXNOdW1iZXJJbnB1dCA9IHRoaXMuX2hhc0hvc3RBdHRyaWJ1dGVzKCdtdG5hV2ZEZWNpbWFsSXRlbScsICdtdG5hV2ZXaG9sZU51bWJlckl0ZW0nKTtcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgZWxlbWVudFJlZjogRWxlbWVudFJlZikge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwcml2YXRlIF9oYXNIb3N0QXR0cmlidXRlcyguLi5hdHRyaWJ1dGVzOiBzdHJpbmdbXSkge1xuICAgIHJldHVybiBhdHRyaWJ1dGVzLnNvbWUoKGF0dHIpID0+ICh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCkuaGFzQXR0cmlidXRlKGF0dHIpKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,75 @@
1
+ import { ChangeDetectionStrategy, Component, HostBinding, ViewEncapsulation } from '@angular/core';
2
+ import { BaseFormItemControl } from './base-form-item-control.directive';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "./year-quarter.component";
5
+ import * as i2 from "@angular/common";
6
+ import * as i3 from "@angular/flex-layout/flex";
7
+ import * as i4 from "@mtna/core-angular";
8
+ export class MtnaWfYearQuarterRangeComponent extends BaseFormItemControl {
9
+ constructor() {
10
+ super(...arguments);
11
+ this.yearQuarterRangeClass = true;
12
+ }
13
+ }
14
+ MtnaWfYearQuarterRangeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfYearQuarterRangeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
15
+ 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: `
16
+ <ng-container *ngTemplateOutlet="header"></ng-container>
17
+
18
+ <div
19
+ *ngIf="control"
20
+ class="range-item-container"
21
+ fxLayout="row"
22
+ fxLayoutAlign="start center"
23
+ fxLayoutGap="8px"
24
+ [mtnaHighlight]="indicatorStatus === 'ACTIVE' && !hasItemHeader"
25
+ >
26
+ <mtna-wf-year-quarter-item
27
+ [control]="control.controls['start']"
28
+ [readonly]="readonly"
29
+ [rangeLimits]="item.rangeLimits"
30
+ ></mtna-wf-year-quarter-item>
31
+ <span fxFlex="14px">to</span>
32
+ <mtna-wf-year-quarter-item
33
+ [control]="control.controls['end']"
34
+ [readonly]="readonly"
35
+ [rangeLimits]="item.rangeLimits"
36
+ ></mtna-wf-year-quarter-item>
37
+ </div>
38
+ `, isInline: true, styles: [".mtna-wf-control-item .mat-form-field{width:100%}.mtna-wf-control-item .mtna-wf-error-container{font-size:75%;line-height:1;min-height:1em;margin-top:-.75rem}.mtna-wf-control-item .control-item-content{padding:.35em .75em .625em}.mtna-wf-control-item .mtna-wf-item-header~:not(.mtna-wf-error-container):not(.mat-list){padding-left:.75em}.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.MtnaWfYearQuarterComponent, selector: "mtna-wf-year-quarter-item", inputs: ["rangeLimits"] }], directives: [{ type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.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.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.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.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 });
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MtnaWfYearQuarterRangeComponent, decorators: [{
40
+ type: Component,
41
+ args: [{
42
+ selector: 'mtna-wf-year-quarter-range-item',
43
+ template: `
44
+ <ng-container *ngTemplateOutlet="header"></ng-container>
45
+
46
+ <div
47
+ *ngIf="control"
48
+ class="range-item-container"
49
+ fxLayout="row"
50
+ fxLayoutAlign="start center"
51
+ fxLayoutGap="8px"
52
+ [mtnaHighlight]="indicatorStatus === 'ACTIVE' && !hasItemHeader"
53
+ >
54
+ <mtna-wf-year-quarter-item
55
+ [control]="control.controls['start']"
56
+ [readonly]="readonly"
57
+ [rangeLimits]="item.rangeLimits"
58
+ ></mtna-wf-year-quarter-item>
59
+ <span fxFlex="14px">to</span>
60
+ <mtna-wf-year-quarter-item
61
+ [control]="control.controls['end']"
62
+ [readonly]="readonly"
63
+ [rangeLimits]="item.rangeLimits"
64
+ ></mtna-wf-year-quarter-item>
65
+ </div>
66
+ `,
67
+ styleUrls: [`form-control.scss`],
68
+ encapsulation: ViewEncapsulation.None,
69
+ changeDetection: ChangeDetectionStrategy.OnPush,
70
+ }]
71
+ }], propDecorators: { yearQuarterRangeClass: [{
72
+ type: HostBinding,
73
+ args: ['class.mtna-wf-year-quarter-range-item']
74
+ }] } });
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWVhci1xdWFydGVyLXJhbmdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dlYi1mb3JtLWFuZ3VsYXIvc3JjL2xpYi9mb3JtLWl0ZW0tY29udHJvbHMveWVhci1xdWFydGVyLXJhbmdlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUtuRyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7Ozs7O0FBZ0N6RSxNQUFNLE9BQU8sK0JBQWdDLFNBQVEsbUJBQW9EO0lBOUJ6Rzs7UUErQndELDBCQUFxQixHQUFHLElBQUksQ0FBQztLQUNwRjs7NkhBRlksK0JBQStCO2lIQUEvQiwrQkFBK0IsK0xBNUJoQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1QlQ7NEZBS1UsK0JBQStCO2tCQTlCM0MsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsaUNBQWlDO29CQUMzQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdUJUO29CQUNELFNBQVMsRUFBRSxDQUFDLG1CQUFtQixDQUFDO29CQUNoQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEOzhCQUV1RCxxQkFBcUI7c0JBQTFFLFdBQVc7dUJBQUMsdUNBQXVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IFllYXJRdWFydGVyUmFuZ2VJdGVtIH0gZnJvbSAnQG10bmEvd2ViLWZvcm0tdHMnO1xuXG5pbXBvcnQgeyBCYXNlRm9ybUl0ZW1Db250cm9sIH0gZnJvbSAnLi9iYXNlLWZvcm0taXRlbS1jb250cm9sLmRpcmVjdGl2ZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ210bmEtd2YteWVhci1xdWFydGVyLXJhbmdlLWl0ZW0nLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJoZWFkZXJcIj48L25nLWNvbnRhaW5lcj5cblxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwiY29udHJvbFwiXG4gICAgICBjbGFzcz1cInJhbmdlLWl0ZW0tY29udGFpbmVyXCJcbiAgICAgIGZ4TGF5b3V0PVwicm93XCJcbiAgICAgIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIlxuICAgICAgZnhMYXlvdXRHYXA9XCI4cHhcIlxuICAgICAgW210bmFIaWdobGlnaHRdPVwiaW5kaWNhdG9yU3RhdHVzID09PSAnQUNUSVZFJyAmJiAhaGFzSXRlbUhlYWRlclwiXG4gICAgPlxuICAgICAgPG10bmEtd2YteWVhci1xdWFydGVyLWl0ZW1cbiAgICAgICAgW2NvbnRyb2xdPVwiY29udHJvbC5jb250cm9sc1snc3RhcnQnXVwiXG4gICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgICAgIFtyYW5nZUxpbWl0c109XCJpdGVtLnJhbmdlTGltaXRzXCJcbiAgICAgID48L210bmEtd2YteWVhci1xdWFydGVyLWl0ZW0+XG4gICAgICA8c3BhbiBmeEZsZXg9XCIxNHB4XCI+dG88L3NwYW4+XG4gICAgICA8bXRuYS13Zi15ZWFyLXF1YXJ0ZXItaXRlbVxuICAgICAgICBbY29udHJvbF09XCJjb250cm9sLmNvbnRyb2xzWydlbmQnXVwiXG4gICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgICAgIFtyYW5nZUxpbWl0c109XCJpdGVtLnJhbmdlTGltaXRzXCJcbiAgICAgID48L210bmEtd2YteWVhci1xdWFydGVyLWl0ZW0+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlVXJsczogW2Bmb3JtLWNvbnRyb2wuc2Nzc2BdLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTXRuYVdmWWVhclF1YXJ0ZXJSYW5nZUNvbXBvbmVudCBleHRlbmRzIEJhc2VGb3JtSXRlbUNvbnRyb2w8WWVhclF1YXJ0ZXJSYW5nZUl0ZW0sIEZvcm1Hcm91cD4ge1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLm10bmEtd2YteWVhci1xdWFydGVyLXJhbmdlLWl0ZW0nKSB5ZWFyUXVhcnRlclJhbmdlQ2xhc3MgPSB0cnVlO1xufVxuIl19