ngx-t-forms 2.0.29 → 2.0.31

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 (161) hide show
  1. package/fesm2022/ngx-t-forms-auto-complete-input-element.component-DCKuXHAW.mjs +104 -0
  2. package/fesm2022/ngx-t-forms-auto-complete-input-element.component-DCKuXHAW.mjs.map +1 -0
  3. package/fesm2022/ngx-t-forms-basic-input-input-element.component-Ce4ipSUc.mjs +85 -0
  4. package/fesm2022/ngx-t-forms-basic-input-input-element.component-Ce4ipSUc.mjs.map +1 -0
  5. package/fesm2022/ngx-t-forms-calculated-field-rules.component-C5TPddVe.mjs +643 -0
  6. package/fesm2022/ngx-t-forms-calculated-field-rules.component-C5TPddVe.mjs.map +1 -0
  7. package/fesm2022/ngx-t-forms-chip-options-creator-editor.component-CICQaqz6.mjs +97 -0
  8. package/fesm2022/ngx-t-forms-chip-options-creator-editor.component-CICQaqz6.mjs.map +1 -0
  9. package/fesm2022/ngx-t-forms-config-mscoa-additional-inputs.component-CzisLSIP.mjs +195 -0
  10. package/fesm2022/ngx-t-forms-config-mscoa-additional-inputs.component-CzisLSIP.mjs.map +1 -0
  11. package/fesm2022/ngx-t-forms-data-source-picker.component-Dzz_o6fJ.mjs +261 -0
  12. package/fesm2022/ngx-t-forms-data-source-picker.component-Dzz_o6fJ.mjs.map +1 -0
  13. package/fesm2022/ngx-t-forms-date-picker-input-element.component-CYUbVyzP.mjs +85 -0
  14. package/fesm2022/ngx-t-forms-date-picker-input-element.component-CYUbVyzP.mjs.map +1 -0
  15. package/fesm2022/ngx-t-forms-date-range-picker-input-element.component-CmoquQGV.mjs +156 -0
  16. package/fesm2022/ngx-t-forms-date-range-picker-input-element.component-CmoquQGV.mjs.map +1 -0
  17. package/fesm2022/ngx-t-forms-document-list-label-config-editor.component-CLUOXreG.mjs +368 -0
  18. package/fesm2022/ngx-t-forms-document-list-label-config-editor.component-CLUOXreG.mjs.map +1 -0
  19. package/fesm2022/ngx-t-forms-document-picker.component-qObjcqhE.mjs +704 -0
  20. package/fesm2022/ngx-t-forms-document-picker.component-qObjcqhE.mjs.map +1 -0
  21. package/fesm2022/ngx-t-forms-editor-input-element.component-BLXlfb6F.mjs +294 -0
  22. package/fesm2022/ngx-t-forms-editor-input-element.component-BLXlfb6F.mjs.map +1 -0
  23. package/fesm2022/ngx-t-forms-editor-js-input.component-BQL0AH7H.mjs +240 -0
  24. package/fesm2022/ngx-t-forms-editor-js-input.component-BQL0AH7H.mjs.map +1 -0
  25. package/fesm2022/ngx-t-forms-file-upload-input-element.component-C7mMeEjF.mjs +205 -0
  26. package/fesm2022/ngx-t-forms-file-upload-input-element.component-C7mMeEjF.mjs.map +1 -0
  27. package/fesm2022/ngx-t-forms-form-input-selector.component-C9u8zq9B.mjs +86 -0
  28. package/fesm2022/ngx-t-forms-form-input-selector.component-C9u8zq9B.mjs.map +1 -0
  29. package/fesm2022/ngx-t-forms-form-json-view.component-856Hx1Bg.mjs +22 -0
  30. package/fesm2022/ngx-t-forms-form-json-view.component-856Hx1Bg.mjs.map +1 -0
  31. package/fesm2022/ngx-t-forms-form-payload-projection.component-CDkTuX9S.mjs +179 -0
  32. package/fesm2022/ngx-t-forms-form-payload-projection.component-CDkTuX9S.mjs.map +1 -0
  33. package/fesm2022/ngx-t-forms-form-section-stepper.component-Bs50-nEB.mjs +319 -0
  34. package/fesm2022/ngx-t-forms-form-section-stepper.component-Bs50-nEB.mjs.map +1 -0
  35. package/fesm2022/ngx-t-forms-forms-builder-menu.component-qrhM0jGL.mjs +379 -0
  36. package/fesm2022/ngx-t-forms-forms-builder-menu.component-qrhM0jGL.mjs.map +1 -0
  37. package/fesm2022/ngx-t-forms-geo-location.component-Bosp1UzR.mjs +124 -0
  38. package/fesm2022/ngx-t-forms-geo-location.component-Bosp1UzR.mjs.map +1 -0
  39. package/fesm2022/ngx-t-forms-getInputIcon-B4ADgevZ.mjs +31 -0
  40. package/fesm2022/ngx-t-forms-getInputIcon-B4ADgevZ.mjs.map +1 -0
  41. package/fesm2022/ngx-t-forms-image-capture-input-element.component-C1g7Z0cK.mjs +180 -0
  42. package/fesm2022/ngx-t-forms-image-capture-input-element.component-C1g7Z0cK.mjs.map +1 -0
  43. package/fesm2022/ngx-t-forms-index-dDSobs6A.mjs +2 -0
  44. package/fesm2022/ngx-t-forms-index-dDSobs6A.mjs.map +1 -0
  45. package/fesm2022/ngx-t-forms-input-custom.component-BkbHFAyR.mjs +105 -0
  46. package/fesm2022/ngx-t-forms-input-custom.component-BkbHFAyR.mjs.map +1 -0
  47. package/fesm2022/ngx-t-forms-input-editor.component-BPUOM9kQ.mjs +181 -0
  48. package/fesm2022/ngx-t-forms-input-editor.component-BPUOM9kQ.mjs.map +1 -0
  49. package/fesm2022/{ngx-t-forms-map-mat-options-keys-CbdW82su.mjs → ngx-t-forms-map-mat-options-keys-B6hJ7Io5.mjs} +12 -14
  50. package/fesm2022/ngx-t-forms-map-mat-options-keys-B6hJ7Io5.mjs.map +1 -0
  51. package/fesm2022/ngx-t-forms-mat-chip-list-editor.component-c7uZT1sr.mjs +66 -0
  52. package/fesm2022/ngx-t-forms-mat-chip-list-editor.component-c7uZT1sr.mjs.map +1 -0
  53. package/fesm2022/ngx-t-forms-mat-slider-editor.component-CTSBrM-j.mjs +211 -0
  54. package/fesm2022/ngx-t-forms-mat-slider-editor.component-CTSBrM-j.mjs.map +1 -0
  55. package/fesm2022/ngx-t-forms-mat-slider-toggle-editor.component-CcYiwx-8.mjs +165 -0
  56. package/fesm2022/ngx-t-forms-mat-slider-toggle-editor.component-CcYiwx-8.mjs.map +1 -0
  57. package/fesm2022/ngx-t-forms-missing-form-configs.component-DrnH8qdG.mjs +38 -0
  58. package/fesm2022/ngx-t-forms-missing-form-configs.component-DrnH8qdG.mjs.map +1 -0
  59. package/fesm2022/ngx-t-forms-mscoa-chart-toolbar.component-C_abEBQ5.mjs +38 -0
  60. package/fesm2022/ngx-t-forms-mscoa-chart-toolbar.component-C_abEBQ5.mjs.map +1 -0
  61. package/fesm2022/ngx-t-forms-mscoa-error-display.component-99DpVSy7.mjs +126 -0
  62. package/fesm2022/ngx-t-forms-mscoa-error-display.component-99DpVSy7.mjs.map +1 -0
  63. package/fesm2022/ngx-t-forms-mscoa-segment-config.component-C0qsMfsq.mjs +336 -0
  64. package/fesm2022/ngx-t-forms-mscoa-segment-config.component-C0qsMfsq.mjs.map +1 -0
  65. package/fesm2022/ngx-t-forms-mscoa-temporary-hint.component-B1Z-IXSL.mjs +74 -0
  66. package/fesm2022/ngx-t-forms-mscoa-temporary-hint.component-B1Z-IXSL.mjs.map +1 -0
  67. package/fesm2022/ngx-t-forms-multiple-input-input-element.component-C7y1OGPx.mjs +905 -0
  68. package/fesm2022/ngx-t-forms-multiple-input-input-element.component-C7y1OGPx.mjs.map +1 -0
  69. package/fesm2022/ngx-t-forms-ngx-t-forms-u_kigDid.mjs +19461 -0
  70. package/fesm2022/ngx-t-forms-ngx-t-forms-u_kigDid.mjs.map +1 -0
  71. package/fesm2022/ngx-t-forms-paginated-selection-table-AQZSMmhr.mjs +555 -0
  72. package/fesm2022/ngx-t-forms-paginated-selection-table-AQZSMmhr.mjs.map +1 -0
  73. package/fesm2022/ngx-t-forms-pipeline-generator.component-DmNSc5aw.mjs +748 -0
  74. package/fesm2022/ngx-t-forms-pipeline-generator.component-DmNSc5aw.mjs.map +1 -0
  75. package/fesm2022/ngx-t-forms-record-list-manager.component-CUMMvMch.mjs +358 -0
  76. package/fesm2022/ngx-t-forms-record-list-manager.component-CUMMvMch.mjs.map +1 -0
  77. package/fesm2022/ngx-t-forms-required-inputs.component-Ch2yNcIS.mjs +272 -0
  78. package/fesm2022/ngx-t-forms-required-inputs.component-Ch2yNcIS.mjs.map +1 -0
  79. package/fesm2022/ngx-t-forms-rest-api-call-setup.component-C_aFtdvW.mjs +398 -0
  80. package/fesm2022/ngx-t-forms-rest-api-call-setup.component-C_aFtdvW.mjs.map +1 -0
  81. package/fesm2022/ngx-t-forms-search-field.component-B2ZO7lqO.mjs +38 -0
  82. package/fesm2022/ngx-t-forms-search-field.component-B2ZO7lqO.mjs.map +1 -0
  83. package/fesm2022/ngx-t-forms-section-report.component-BxOhR6C0.mjs +98 -0
  84. package/fesm2022/ngx-t-forms-section-report.component-BxOhR6C0.mjs.map +1 -0
  85. package/fesm2022/ngx-t-forms-select-input-element.component-DbgZdNoe.mjs +150 -0
  86. package/fesm2022/ngx-t-forms-select-input-element.component-DbgZdNoe.mjs.map +1 -0
  87. package/fesm2022/ngx-t-forms-selection-options-editor.component-Dhln81DL.mjs +169 -0
  88. package/fesm2022/ngx-t-forms-selection-options-editor.component-Dhln81DL.mjs.map +1 -0
  89. package/fesm2022/ngx-t-forms-t-workflow-picker.component-leBokXvM.mjs +204 -0
  90. package/fesm2022/ngx-t-forms-t-workflow-picker.component-leBokXvM.mjs.map +1 -0
  91. package/fesm2022/ngx-t-forms-textarea-input-element.component-BEbXJjFA.mjs +95 -0
  92. package/fesm2022/ngx-t-forms-textarea-input-element.component-BEbXJjFA.mjs.map +1 -0
  93. package/fesm2022/ngx-t-forms-toggle-input-element.component-DDErRUJd.mjs +82 -0
  94. package/fesm2022/ngx-t-forms-toggle-input-element.component-DDErRUJd.mjs.map +1 -0
  95. package/fesm2022/ngx-t-forms-validators-config.component-oGjQVGE2.mjs +733 -0
  96. package/fesm2022/ngx-t-forms-validators-config.component-oGjQVGE2.mjs.map +1 -0
  97. package/fesm2022/ngx-t-forms-workflow-adjudication.component-CtU8dECN.mjs +1303 -0
  98. package/fesm2022/ngx-t-forms-workflow-adjudication.component-CtU8dECN.mjs.map +1 -0
  99. package/fesm2022/ngx-t-forms.mjs +2 -1
  100. package/fesm2022/ngx-t-forms.mjs.map +1 -1
  101. package/package.json +20 -18
  102. package/styles/_editor-mixins.scss +62 -0
  103. package/styles/_json-editor-syntax.scss +26 -0
  104. package/styles/_signature-pad.scss +26 -0
  105. package/styles/_tokens.scss +148 -0
  106. package/types/ngx-t-forms.d.ts +1767 -621
  107. package/fesm2022/ngx-t-forms-calculated-field-rules.component-D-SBMdYg.mjs +0 -313
  108. package/fesm2022/ngx-t-forms-calculated-field-rules.component-D-SBMdYg.mjs.map +0 -1
  109. package/fesm2022/ngx-t-forms-chip-options-creator-editor.component-1cpszpPN.mjs +0 -191
  110. package/fesm2022/ngx-t-forms-chip-options-creator-editor.component-1cpszpPN.mjs.map +0 -1
  111. package/fesm2022/ngx-t-forms-config-mscoa-additional-inputs.component-DFdAVWTg.mjs +0 -207
  112. package/fesm2022/ngx-t-forms-config-mscoa-additional-inputs.component-DFdAVWTg.mjs.map +0 -1
  113. package/fesm2022/ngx-t-forms-data-source-picker.component-DxORinAD.mjs +0 -204
  114. package/fesm2022/ngx-t-forms-data-source-picker.component-DxORinAD.mjs.map +0 -1
  115. package/fesm2022/ngx-t-forms-document-list-label-config-editor.component-DcWS1txl.mjs +0 -289
  116. package/fesm2022/ngx-t-forms-document-list-label-config-editor.component-DcWS1txl.mjs.map +0 -1
  117. package/fesm2022/ngx-t-forms-form-input-selector.component-B2QEnvkq.mjs +0 -134
  118. package/fesm2022/ngx-t-forms-form-input-selector.component-B2QEnvkq.mjs.map +0 -1
  119. package/fesm2022/ngx-t-forms-form-json-view.component-DePf44w6.mjs +0 -22
  120. package/fesm2022/ngx-t-forms-form-json-view.component-DePf44w6.mjs.map +0 -1
  121. package/fesm2022/ngx-t-forms-form-section-stepper.component-BTkcSjg7.mjs +0 -270
  122. package/fesm2022/ngx-t-forms-form-section-stepper.component-BTkcSjg7.mjs.map +0 -1
  123. package/fesm2022/ngx-t-forms-forms-builder-menu.component-Wamzf_sq.mjs +0 -345
  124. package/fesm2022/ngx-t-forms-forms-builder-menu.component-Wamzf_sq.mjs.map +0 -1
  125. package/fesm2022/ngx-t-forms-input-editor.component-D4xHO76K.mjs +0 -147
  126. package/fesm2022/ngx-t-forms-input-editor.component-D4xHO76K.mjs.map +0 -1
  127. package/fesm2022/ngx-t-forms-map-mat-options-keys-CbdW82su.mjs.map +0 -1
  128. package/fesm2022/ngx-t-forms-mat-chip-list-editor.component-DmTyO9Wi.mjs +0 -105
  129. package/fesm2022/ngx-t-forms-mat-chip-list-editor.component-DmTyO9Wi.mjs.map +0 -1
  130. package/fesm2022/ngx-t-forms-mat-slider-editor.component-DZ4TenrI.mjs +0 -109
  131. package/fesm2022/ngx-t-forms-mat-slider-editor.component-DZ4TenrI.mjs.map +0 -1
  132. package/fesm2022/ngx-t-forms-mat-slider-toggle-editor.component-DPyBYE4p.mjs +0 -155
  133. package/fesm2022/ngx-t-forms-mat-slider-toggle-editor.component-DPyBYE4p.mjs.map +0 -1
  134. package/fesm2022/ngx-t-forms-missing-form-configs.component-BRmnwAK6.mjs +0 -28
  135. package/fesm2022/ngx-t-forms-missing-form-configs.component-BRmnwAK6.mjs.map +0 -1
  136. package/fesm2022/ngx-t-forms-mscoa-chart-toolbar.component-D_umeAPL.mjs +0 -43
  137. package/fesm2022/ngx-t-forms-mscoa-chart-toolbar.component-D_umeAPL.mjs.map +0 -1
  138. package/fesm2022/ngx-t-forms-mscoa-error-display.component-CSX2NCNU.mjs +0 -116
  139. package/fesm2022/ngx-t-forms-mscoa-error-display.component-CSX2NCNU.mjs.map +0 -1
  140. package/fesm2022/ngx-t-forms-mscoa-segment-config.component-B6IF8kGg.mjs +0 -296
  141. package/fesm2022/ngx-t-forms-mscoa-segment-config.component-B6IF8kGg.mjs.map +0 -1
  142. package/fesm2022/ngx-t-forms-mscoa-temporary-hint.component-BPkjsRmH.mjs +0 -83
  143. package/fesm2022/ngx-t-forms-mscoa-temporary-hint.component-BPkjsRmH.mjs.map +0 -1
  144. package/fesm2022/ngx-t-forms-ngx-t-forms-D9qmig6g.mjs +0 -16844
  145. package/fesm2022/ngx-t-forms-ngx-t-forms-D9qmig6g.mjs.map +0 -1
  146. package/fesm2022/ngx-t-forms-pipeline-generator.component-DBJEyCbd.mjs +0 -613
  147. package/fesm2022/ngx-t-forms-pipeline-generator.component-DBJEyCbd.mjs.map +0 -1
  148. package/fesm2022/ngx-t-forms-record-list-manager.component-Dgs9lNSr.mjs +0 -269
  149. package/fesm2022/ngx-t-forms-record-list-manager.component-Dgs9lNSr.mjs.map +0 -1
  150. package/fesm2022/ngx-t-forms-required-inputs.component-CSIJvSHq.mjs +0 -190
  151. package/fesm2022/ngx-t-forms-required-inputs.component-CSIJvSHq.mjs.map +0 -1
  152. package/fesm2022/ngx-t-forms-rest-api-call-setup.component-CY-JSkGs.mjs +0 -291
  153. package/fesm2022/ngx-t-forms-rest-api-call-setup.component-CY-JSkGs.mjs.map +0 -1
  154. package/fesm2022/ngx-t-forms-section-report.component-12-KdKT6.mjs +0 -156
  155. package/fesm2022/ngx-t-forms-section-report.component-12-KdKT6.mjs.map +0 -1
  156. package/fesm2022/ngx-t-forms-selection-options-editor.component-Be3QAG_L.mjs +0 -186
  157. package/fesm2022/ngx-t-forms-selection-options-editor.component-Be3QAG_L.mjs.map +0 -1
  158. package/fesm2022/ngx-t-forms-t-workflow-picker.component-a4f1r8gH.mjs +0 -187
  159. package/fesm2022/ngx-t-forms-t-workflow-picker.component-a4f1r8gH.mjs.map +0 -1
  160. package/fesm2022/ngx-t-forms-validators-config.component-B3j9Dmgu.mjs +0 -215
  161. package/fesm2022/ngx-t-forms-validators-config.component-B3j9Dmgu.mjs.map +0 -1
@@ -1,155 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { EventEmitter, HostBinding, Input, Output, Optional, Self, Component } from '@angular/core';
3
- import { M as MatModulesModule } from './ngx-t-forms-ngx-t-forms-D9qmig6g.mjs';
4
- import { CommonModule } from '@angular/common';
5
- import { MatFormFieldControl } from '@angular/material/form-field';
6
- import { Subject } from 'rxjs/internal/Subject';
7
- import { coerceBooleanProperty } from '@angular/cdk/coercion';
8
- import * as i1 from '@angular/forms';
9
- import * as i9 from '@angular/material/slide-toggle';
10
-
11
- class MatSliderToggleEditorComponent {
12
- static { this.nextId = 0; }
13
- get required() {
14
- return this._required;
15
- }
16
- set required(value) {
17
- this._required = coerceBooleanProperty(value);
18
- this.stateChanges.next();
19
- }
20
- get value() {
21
- return this._value;
22
- }
23
- set value(val) {
24
- this._value = val;
25
- this.onChange(val);
26
- this.stateChanges.next();
27
- }
28
- get placeholder() {
29
- return this._placeholder;
30
- }
31
- set placeholder(value) {
32
- this._placeholder = value;
33
- this.stateChanges.next();
34
- }
35
- get shouldLabelFloat() {
36
- return this.focused || !this.empty;
37
- }
38
- get empty() {
39
- return this.value === false;
40
- }
41
- get errorState() {
42
- return !this.value && this.required && this.touched || !!this.ngControl?.errors || (this.errors || []).length > 0;
43
- }
44
- constructor(ngControl, _elementRef) {
45
- this.ngControl = ngControl;
46
- this._elementRef = _elementRef;
47
- this.stateChanges = new Subject();
48
- this.focused = false;
49
- this.touched = false;
50
- this.controlType = 'lib-mat-slider-toggle-editor';
51
- this.autofilled = false;
52
- this.name = undefined;
53
- this.label = '';
54
- this.errors = [];
55
- this.valueChange = new EventEmitter();
56
- this.disabled = false;
57
- this._required = false;
58
- this._value = false;
59
- this._placeholder = '';
60
- this.id = `lib-mat-slider-toggle-editor-${MatSliderToggleEditorComponent.nextId++}`;
61
- this.describedBy = '';
62
- // ControlValueAccessor methods
63
- this.onChange = (_) => { };
64
- this.onTouched = () => { };
65
- if (this.ngControl != null) {
66
- this.ngControl.valueAccessor = this;
67
- }
68
- }
69
- writeValue(value) {
70
- this._value = value;
71
- this.stateChanges.next();
72
- }
73
- registerOnChange(fn) {
74
- this.onChange = fn;
75
- }
76
- registerOnTouched(fn) {
77
- this.onTouched = fn;
78
- }
79
- setDisabledState(isDisabled) {
80
- this.disabled = isDisabled;
81
- this.stateChanges.next();
82
- }
83
- // MatFormFieldControl methods
84
- setDescribedByIds(ids) {
85
- const element = this._elementRef?.nativeElement;
86
- if (element) {
87
- element.setAttribute('aria-describedby', ids.join(' '));
88
- }
89
- }
90
- onContainerClick(event) {
91
- if (!this.focused) {
92
- this.focused = true;
93
- this.stateChanges.next();
94
- }
95
- }
96
- markAsTouched() {
97
- if (!this.touched) {
98
- this.touched = true;
99
- this.onTouched();
100
- this.stateChanges.next();
101
- }
102
- }
103
- valueToggleChanged(value) {
104
- this.value = value;
105
- this.valueChange.emit(value);
106
- this.markAsTouched();
107
- }
108
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: MatSliderToggleEditorComponent, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
109
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.5", type: MatSliderToggleEditorComponent, isStandalone: true, selector: "lib-mat-slider-toggle-editor", inputs: { name: "name", label: "label", errors: "errors", disabled: "disabled", required: "required", value: "value", placeholder: "placeholder" }, outputs: { valueChange: "valueChange" }, host: { properties: { "id": "this.id", "attr.aria-describedby": "this.describedBy", "class.floating": "this.shouldLabelFloat" } }, providers: [
110
- {
111
- provide: MatFormFieldControl,
112
- useExisting: MatSliderToggleEditorComponent
113
- }
114
- ], ngImport: i0, template: "<mat-slide-toggle\r\n [disabled]=\"disabled\"\r\n [checked]=\"!!value\"\r\n (change)=\"valueToggleChanged($event.checked)\"\r\n (blur)=\"markAsTouched()\"\r\n>\r\n {{ label }}\r\n</mat-slide-toggle>", styles: [""], dependencies: [{ kind: "ngmodule", type: MatModulesModule }, { kind: "component", type: i9.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "ngmodule", type: CommonModule }] }); }
115
- }
116
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: MatSliderToggleEditorComponent, decorators: [{
117
- type: Component,
118
- args: [{ selector: 'lib-mat-slider-toggle-editor', standalone: true, imports: [MatModulesModule, CommonModule], providers: [
119
- {
120
- provide: MatFormFieldControl,
121
- useExisting: MatSliderToggleEditorComponent
122
- }
123
- ], template: "<mat-slide-toggle\r\n [disabled]=\"disabled\"\r\n [checked]=\"!!value\"\r\n (change)=\"valueToggleChanged($event.checked)\"\r\n (blur)=\"markAsTouched()\"\r\n>\r\n {{ label }}\r\n</mat-slide-toggle>" }]
124
- }], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
125
- type: Optional
126
- }, {
127
- type: Self
128
- }] }, { type: i0.ElementRef }], propDecorators: { name: [{
129
- type: Input
130
- }], label: [{
131
- type: Input
132
- }], errors: [{
133
- type: Input
134
- }], valueChange: [{
135
- type: Output
136
- }], disabled: [{
137
- type: Input
138
- }], required: [{
139
- type: Input
140
- }], value: [{
141
- type: Input
142
- }], placeholder: [{
143
- type: Input
144
- }], id: [{
145
- type: HostBinding
146
- }], describedBy: [{
147
- type: HostBinding,
148
- args: ['attr.aria-describedby']
149
- }], shouldLabelFloat: [{
150
- type: HostBinding,
151
- args: ['class.floating']
152
- }] } });
153
-
154
- export { MatSliderToggleEditorComponent };
155
- //# sourceMappingURL=ngx-t-forms-mat-slider-toggle-editor.component-DPyBYE4p.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ngx-t-forms-mat-slider-toggle-editor.component-DPyBYE4p.mjs","sources":["../../../projects/ngx-t-forms/src/lib/components/t-dynamic-data-edit/elements/mat-slider-toggle-editor/mat-slider-toggle-editor.component.ts","../../../projects/ngx-t-forms/src/lib/components/t-dynamic-data-edit/elements/mat-slider-toggle-editor/mat-slider-toggle-editor.component.html"],"sourcesContent":["import { Component, ElementRef, EventEmitter, HostBinding, Input, Optional, Output, Self } from '@angular/core';\r\nimport { MatModulesModule } from '../../../../shared/modules/mat-modules.module';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatFormFieldControl } from '@angular/material/form-field';\r\nimport { Subject } from 'rxjs/internal/Subject';\r\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\r\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\r\nimport { IConfigElementError } from '../../t-dynamic-data-edit.component';\r\n\r\n@Component({\r\n selector: 'lib-mat-slider-toggle-editor',\r\n standalone: true,\r\n imports: [MatModulesModule,CommonModule],\r\n templateUrl: './mat-slider-toggle-editor.component.html',\r\n styleUrl: './mat-slider-toggle-editor.component.css',\r\n providers: [\r\n {\r\n provide: MatFormFieldControl,\r\n useExisting: MatSliderToggleEditorComponent\r\n }\r\n ],\r\n})\r\nexport class MatSliderToggleEditorComponent implements MatFormFieldControl<boolean>, ControlValueAccessor {\r\n static nextId = 0;\r\n stateChanges = new Subject<void>();\r\n focused = false;\r\n touched = false;\r\n controlType = 'lib-mat-slider-toggle-editor';\r\n autofilled = false;\r\n\r\n @Input() name: string | undefined = undefined;\r\n @Input() label: string = '';\r\n @Input() errors:IConfigElementError[] | undefined = [];\r\n @Output() valueChange = new EventEmitter<boolean>();\r\n @Input() disabled: boolean = false;\r\n private _required = false;\r\n @Input()\r\n get required(): boolean {\r\n return this._required;\r\n }\r\n set required(value: boolean) {\r\n this._required = coerceBooleanProperty(value);\r\n this.stateChanges.next();\r\n }\r\n \r\n private _value: boolean = false;\r\n @Input()\r\n get value(): boolean {\r\n \r\n return this._value;\r\n }\r\n set value(val: boolean) {\r\n this._value = val;\r\n this.onChange(val);\r\n this.stateChanges.next();\r\n }\r\n\r\n @Input()\r\n get placeholder(): string {\r\n return this._placeholder;\r\n }\r\n set placeholder(value: string) {\r\n this._placeholder = value;\r\n this.stateChanges.next();\r\n }\r\n private _placeholder: string = '';\r\n\r\n @HostBinding() id = `lib-mat-slider-toggle-editor-${MatSliderToggleEditorComponent.nextId++}`;\r\n @HostBinding('attr.aria-describedby') describedBy = '';\r\n @HostBinding('class.floating') get shouldLabelFloat() {\r\n return this.focused || !this.empty;\r\n }\r\n\r\n get empty(): boolean {\r\n return this.value === false;\r\n }\r\n\r\n get errorState(): boolean {\r\n return !this.value && this.required && this.touched || !!this.ngControl?.errors || (this.errors||[]).length >0;\r\n }\r\n\r\n constructor(\r\n @Optional() @Self() public ngControl: NgControl,\r\n private _elementRef: ElementRef<HTMLElement>\r\n ) {\r\n if (this.ngControl != null) {\r\n this.ngControl.valueAccessor = this;\r\n }\r\n }\r\n\r\n // ControlValueAccessor methods\r\n onChange = (_: any) => {};\r\n onTouched = () => {};\r\n\r\n writeValue(value: boolean): void {\r\n this._value = value;\r\n this.stateChanges.next();\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n setDisabledState(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n this.stateChanges.next();\r\n }\r\n\r\n // MatFormFieldControl methods\r\n setDescribedByIds(ids: string[]): void {\r\n const element = this._elementRef?.nativeElement;\r\n if (element) {\r\n element.setAttribute('aria-describedby', ids.join(' '));\r\n }\r\n }\r\n\r\n onContainerClick(event: MouseEvent): void {\r\n if (!this.focused) {\r\n this.focused = true;\r\n this.stateChanges.next();\r\n }\r\n }\r\n\r\n markAsTouched(): void {\r\n if (!this.touched) {\r\n this.touched = true;\r\n this.onTouched();\r\n this.stateChanges.next();\r\n }\r\n }\r\n\r\n valueToggleChanged(value: boolean): void {\r\n this.value = value;\r\n this.valueChange.emit(value);\r\n this.markAsTouched();\r\n }\r\n}","<mat-slide-toggle\r\n [disabled]=\"disabled\"\r\n [checked]=\"!!value\"\r\n (change)=\"valueToggleChanged($event.checked)\"\r\n (blur)=\"markAsTouched()\"\r\n>\r\n {{ label }}\r\n</mat-slide-toggle>"],"names":["i2"],"mappings":"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"}
@@ -1,28 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { Component } from '@angular/core';
3
- import { F as FormsStoreService, M as MatModulesModule } from './ngx-t-forms-ngx-t-forms-D9qmig6g.mjs';
4
- import * as i2$1 from '@angular/common';
5
- import { CommonModule } from '@angular/common';
6
- import * as i2 from '@angular/material/button';
7
- import * as i3 from '@angular/material/icon';
8
- import * as i5 from '@angular/material/toolbar';
9
- import * as i4 from '@angular/material/tooltip';
10
-
11
- class MissingFormConfigsComponent {
12
- constructor(store) {
13
- this.store = store;
14
- this.errors$ = this.store.formBuilderSelectors.formValidationErrorsMessages$;
15
- this.missingConfigs$ = this.store.formBuilderSelectors.missingConfig$;
16
- this.hideDetails = true;
17
- this.showAllErrors = false;
18
- }
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: MissingFormConfigsComponent, deps: [{ token: FormsStoreService }], target: i0.ɵɵFactoryTarget.Component }); }
20
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.5", type: MissingFormConfigsComponent, isStandalone: true, selector: "app-missing-form-configs", ngImport: i0, template: "@if (hideDetails) {\r\n<button \r\nmatTooltip=\"Click to view form configuration issues and validation errors\"\r\nstyle=\"margin: 16px;\" (click)=\"hideDetails = false\" mat-fab color=\"warn\" aria-label=\"Error icon\">\r\n <mat-icon>error</mat-icon>\r\n</button>\r\n}@else {\r\n<div style=\"margin: 8px;position:relative\" class=\"content \">\r\n <mat-toolbar color=\"warn\">\r\n <button (click)=\" hideDetails = true\" mat-icon-button>\r\n <mat-icon>\r\n close\r\n </mat-icon>\r\n </button>\r\n Missing configurations:\r\n <span class=\"spacer\"></span>\r\n <button [matTooltip]=\"showAllErrors?'Hide all errors':'Show all errors'\"\r\n (click)=\"showAllErrors = !showAllErrors\" mat-icon-button>\r\n\r\n <mat-icon>\r\n unfold_more\r\n </mat-icon>\r\n </button>\r\n </mat-toolbar>\r\n <section style=\"padding: 16px;\" >\r\n <h5>\r\n <strong>\r\n Overall form issues:\r\n </strong>\r\n </h5>\r\n <ul>\r\n @for (issue of (missingConfigs$|async);track issue) {\r\n <li>\r\n {{issue}}\r\n </li>\r\n }\r\n </ul>\r\n\r\n @if(showAllErrors){\r\n <h5>\r\n <strong>\r\n\r\n Form validationErrors :\r\n\r\n </strong>\r\n\r\n\r\n </h5>\r\n <ul>\r\n @for (error of errors$|async; track error) {\r\n\r\n <li>\r\n\r\n {{error}}\r\n\r\n </li>\r\n\r\n }\r\n </ul>\r\n }\r\n\r\n\r\n\r\n\r\n\r\n </section>\r\n\r\n</div>\r\n}", styles: [".content{width:400px;background:var(--mat-sys-surface-container, var(--mat-app-surface));border:solid var(--mat-form-field-error-text-color, var(--mat-app-error)) 1px}ul{margin-top:0}h5{padding-left:16px;padding-right:16px;padding-top:8px}\n"], dependencies: [{ kind: "ngmodule", type: MatModulesModule }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i2.MatFabButton, selector: "button[mat-fab], a[mat-fab], button[matFab], a[matFab]", inputs: ["extended"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i2$1.AsyncPipe, name: "async" }] }); }
21
- }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: MissingFormConfigsComponent, decorators: [{
23
- type: Component,
24
- args: [{ selector: 'app-missing-form-configs', standalone: true, imports: [MatModulesModule, CommonModule], template: "@if (hideDetails) {\r\n<button \r\nmatTooltip=\"Click to view form configuration issues and validation errors\"\r\nstyle=\"margin: 16px;\" (click)=\"hideDetails = false\" mat-fab color=\"warn\" aria-label=\"Error icon\">\r\n <mat-icon>error</mat-icon>\r\n</button>\r\n}@else {\r\n<div style=\"margin: 8px;position:relative\" class=\"content \">\r\n <mat-toolbar color=\"warn\">\r\n <button (click)=\" hideDetails = true\" mat-icon-button>\r\n <mat-icon>\r\n close\r\n </mat-icon>\r\n </button>\r\n Missing configurations:\r\n <span class=\"spacer\"></span>\r\n <button [matTooltip]=\"showAllErrors?'Hide all errors':'Show all errors'\"\r\n (click)=\"showAllErrors = !showAllErrors\" mat-icon-button>\r\n\r\n <mat-icon>\r\n unfold_more\r\n </mat-icon>\r\n </button>\r\n </mat-toolbar>\r\n <section style=\"padding: 16px;\" >\r\n <h5>\r\n <strong>\r\n Overall form issues:\r\n </strong>\r\n </h5>\r\n <ul>\r\n @for (issue of (missingConfigs$|async);track issue) {\r\n <li>\r\n {{issue}}\r\n </li>\r\n }\r\n </ul>\r\n\r\n @if(showAllErrors){\r\n <h5>\r\n <strong>\r\n\r\n Form validationErrors :\r\n\r\n </strong>\r\n\r\n\r\n </h5>\r\n <ul>\r\n @for (error of errors$|async; track error) {\r\n\r\n <li>\r\n\r\n {{error}}\r\n\r\n </li>\r\n\r\n }\r\n </ul>\r\n }\r\n\r\n\r\n\r\n\r\n\r\n </section>\r\n\r\n</div>\r\n}", styles: [".content{width:400px;background:var(--mat-sys-surface-container, var(--mat-app-surface));border:solid var(--mat-form-field-error-text-color, var(--mat-app-error)) 1px}ul{margin-top:0}h5{padding-left:16px;padding-right:16px;padding-top:8px}\n"] }]
25
- }], ctorParameters: () => [{ type: FormsStoreService }] });
26
-
27
- export { MissingFormConfigsComponent };
28
- //# sourceMappingURL=ngx-t-forms-missing-form-configs.component-BRmnwAK6.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ngx-t-forms-missing-form-configs.component-BRmnwAK6.mjs","sources":["../../../projects/ngx-t-forms/src/lib/components/form-builder/elements/missing-form-configs/missing-form-configs.component.ts","../../../projects/ngx-t-forms/src/lib/components/form-builder/elements/missing-form-configs/missing-form-configs.component.html"],"sourcesContent":["import { Component } from '@angular/core';\r\nimport { MatModulesModule } from '../../../../shared/modules/mat-modules.module';\r\n\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsStoreService } from '../../../forms/store/forms-store.service';\r\n\r\n\r\n\r\n@Component({\r\n selector: 'app-missing-form-configs',\r\n standalone: true,\r\n imports: [MatModulesModule, CommonModule],\r\n templateUrl: './missing-form-configs.component.html',\r\n styleUrl: './missing-form-configs.component.scss'\r\n})\r\nexport class MissingFormConfigsComponent {\r\n errors$ = this.store.formBuilderSelectors.formValidationErrorsMessages$\r\n missingConfigs$ = this.store.formBuilderSelectors.missingConfig$\r\n constructor(private store: FormsStoreService) { }\r\n hideDetails: boolean = true;\r\n showAllErrors: boolean = false\r\n\r\n}\r\n","@if (hideDetails) {\r\n<button \r\nmatTooltip=\"Click to view form configuration issues and validation errors\"\r\nstyle=\"margin: 16px;\" (click)=\"hideDetails = false\" mat-fab color=\"warn\" aria-label=\"Error icon\">\r\n <mat-icon>error</mat-icon>\r\n</button>\r\n}@else {\r\n<div style=\"margin: 8px;position:relative\" class=\"content \">\r\n <mat-toolbar color=\"warn\">\r\n <button (click)=\" hideDetails = true\" mat-icon-button>\r\n <mat-icon>\r\n close\r\n </mat-icon>\r\n </button>\r\n Missing configurations:\r\n <span class=\"spacer\"></span>\r\n <button [matTooltip]=\"showAllErrors?'Hide all errors':'Show all errors'\"\r\n (click)=\"showAllErrors = !showAllErrors\" mat-icon-button>\r\n\r\n <mat-icon>\r\n unfold_more\r\n </mat-icon>\r\n </button>\r\n </mat-toolbar>\r\n <section style=\"padding: 16px;\" >\r\n <h5>\r\n <strong>\r\n Overall form issues:\r\n </strong>\r\n </h5>\r\n <ul>\r\n @for (issue of (missingConfigs$|async);track issue) {\r\n <li>\r\n {{issue}}\r\n </li>\r\n }\r\n </ul>\r\n\r\n @if(showAllErrors){\r\n <h5>\r\n <strong>\r\n\r\n Form validationErrors :\r\n\r\n </strong>\r\n\r\n\r\n </h5>\r\n <ul>\r\n @for (error of errors$|async; track error) {\r\n\r\n <li>\r\n\r\n {{error}}\r\n\r\n </li>\r\n\r\n }\r\n </ul>\r\n }\r\n\r\n\r\n\r\n\r\n\r\n </section>\r\n\r\n</div>\r\n}"],"names":["i1.FormsStoreService","i6"],"mappings":";;;;;;;;;;MAea,2BAA2B,CAAA;AAGtC,IAAA,WAAA,CAAoB,KAAwB,EAAA;QAAxB,IAAA,CAAA,KAAK,GAAL,KAAK;QAFzB,IAAA,CAAA,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,6BAA6B;QACvE,IAAA,CAAA,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,cAAc;QAEhE,IAAA,CAAA,WAAW,GAAY,IAAI;QAC3B,IAAA,CAAA,aAAa,GAAY,KAAK;IAFkB;8GAHrC,2BAA2B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2BAA2B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECfxC,urDAoEC,EAAA,MAAA,EAAA,CAAA,mPAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDzDW,gBAAgB,w6BAAE,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAI7B,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAPvC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,0BAA0B,cACxB,IAAI,EAAA,OAAA,EACP,CAAC,gBAAgB,EAAE,YAAY,CAAC,EAAA,QAAA,EAAA,urDAAA,EAAA,MAAA,EAAA,CAAA,mPAAA,CAAA,EAAA;;;;;"}
@@ -1,43 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { EventEmitter, Output, Input, ChangeDetectionStrategy, Component } from '@angular/core';
3
- import { CommonModule } from '@angular/common';
4
- import { A as ACCOUNTING_BASIS, k as getToolbarColor, l as getToolbarBackground, m as getToolbarIconColor, M as MatModulesModule } from './ngx-t-forms-ngx-t-forms-D9qmig6g.mjs';
5
- import * as i2 from '@angular/material/button';
6
- import * as i3 from '@angular/material/icon';
7
- import * as i5 from '@angular/material/toolbar';
8
-
9
- class MscoaChartToolbarComponent {
10
- constructor() {
11
- this.canCollapse = false;
12
- this.isExpanded = true;
13
- this.toggleExpansion = new EventEmitter();
14
- this.ACCOUNTING_BASIS = ACCOUNTING_BASIS;
15
- this.getToolbarColor = getToolbarColor;
16
- this.getToolbarBackground = getToolbarBackground;
17
- this.getToolbarIconColor = getToolbarIconColor;
18
- }
19
- get displayBasis() {
20
- return (this.accountingBasis || ACCOUNTING_BASIS.ACCRUAL).charAt(0).toUpperCase() +
21
- (this.accountingBasis || ACCOUNTING_BASIS.ACCRUAL).slice(1);
22
- }
23
- onToggleClick() {
24
- this.toggleExpansion.emit();
25
- }
26
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: MscoaChartToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
27
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.5", type: MscoaChartToolbarComponent, isStandalone: true, selector: "app-mscoa-chart-toolbar", inputs: { accountingBasis: "accountingBasis", canCollapse: "canCollapse", isExpanded: "isExpanded" }, outputs: { toggleExpansion: "toggleExpansion" }, ngImport: i0, template: "<mat-toolbar \r\n [color]=\"getToolbarColor(accountingBasis)\"\r\n [style.background]=\"getToolbarBackground(accountingBasis)\"\r\n class=\"mscoa-chart-toolbar\"\r\n [attr.aria-label]=\"'Accounting basis: ' + displayBasis\">\r\n \r\n <span class=\"mscoa-chart-toolbar__label\">\r\n Basis: {{ displayBasis }}\r\n </span>\r\n \r\n <span class=\"spacer\"></span>\r\n \r\n @if (canCollapse) {\r\n <button \r\n mat-icon-button \r\n (click)=\"onToggleClick()\"\r\n [attr.aria-label]=\"(isExpanded ? 'Collapse' : 'Expand') + ' ' + displayBasis + ' basis table'\"\r\n [attr.aria-expanded]=\"isExpanded\">\r\n <mat-icon [style.color]=\"getToolbarIconColor(accountingBasis)\">\r\n {{ isExpanded ? 'expand_less' : 'expand_more' }}\r\n </mat-icon>\r\n </button>\r\n }\r\n</mat-toolbar>\r\n", styles: [".mscoa-chart-toolbar{gap:var(--mscoa-chart-spacing-sm, 8px);height:48px;font-size:.875em;font-weight:500;transition:background-color var(--mscoa-chart-transition, .2s ease)}.mscoa-chart-toolbar__label{flex:1}.mscoa-chart-toolbar button:focus-visible{outline:2px solid var(--mat-sys-primary);outline-offset:2px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatModulesModule }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
28
- }
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: MscoaChartToolbarComponent, decorators: [{
30
- type: Component,
31
- args: [{ selector: 'app-mscoa-chart-toolbar', standalone: true, imports: [CommonModule, MatModulesModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-toolbar \r\n [color]=\"getToolbarColor(accountingBasis)\"\r\n [style.background]=\"getToolbarBackground(accountingBasis)\"\r\n class=\"mscoa-chart-toolbar\"\r\n [attr.aria-label]=\"'Accounting basis: ' + displayBasis\">\r\n \r\n <span class=\"mscoa-chart-toolbar__label\">\r\n Basis: {{ displayBasis }}\r\n </span>\r\n \r\n <span class=\"spacer\"></span>\r\n \r\n @if (canCollapse) {\r\n <button \r\n mat-icon-button \r\n (click)=\"onToggleClick()\"\r\n [attr.aria-label]=\"(isExpanded ? 'Collapse' : 'Expand') + ' ' + displayBasis + ' basis table'\"\r\n [attr.aria-expanded]=\"isExpanded\">\r\n <mat-icon [style.color]=\"getToolbarIconColor(accountingBasis)\">\r\n {{ isExpanded ? 'expand_less' : 'expand_more' }}\r\n </mat-icon>\r\n </button>\r\n }\r\n</mat-toolbar>\r\n", styles: [".mscoa-chart-toolbar{gap:var(--mscoa-chart-spacing-sm, 8px);height:48px;font-size:.875em;font-weight:500;transition:background-color var(--mscoa-chart-transition, .2s ease)}.mscoa-chart-toolbar__label{flex:1}.mscoa-chart-toolbar button:focus-visible{outline:2px solid var(--mat-sys-primary);outline-offset:2px}\n"] }]
32
- }], propDecorators: { accountingBasis: [{
33
- type: Input
34
- }], canCollapse: [{
35
- type: Input
36
- }], isExpanded: [{
37
- type: Input
38
- }], toggleExpansion: [{
39
- type: Output
40
- }] } });
41
-
42
- export { MscoaChartToolbarComponent };
43
- //# sourceMappingURL=ngx-t-forms-mscoa-chart-toolbar.component-D_umeAPL.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ngx-t-forms-mscoa-chart-toolbar.component-D_umeAPL.mjs","sources":["../../../projects/ngx-t-forms/src/lib/components/t-form-input/elements/mscoa-form-input/elements/mscoa-chart/components/mscoa-chart-toolbar/mscoa-chart-toolbar.component.ts","../../../projects/ngx-t-forms/src/lib/components/t-form-input/elements/mscoa-form-input/elements/mscoa-chart/components/mscoa-chart-toolbar/mscoa-chart-toolbar.component.html"],"sourcesContent":["import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatModulesModule } from '../../../../../../../../shared/modules/mat-modules.module';\r\nimport { ACCOUNTING_BASIS } from '../../utils/mscoa-chart.constants';\r\nimport { getToolbarColor, getToolbarBackground, getToolbarIconColor } from '../../utils/mscoa-chart.helpers';\r\nimport type { AccountingBasis } from '../../utils/mscoa-chart.constants';\r\n\r\n@Component({\r\n selector: 'app-mscoa-chart-toolbar',\r\n standalone: true,\r\n imports: [CommonModule, MatModulesModule],\r\n templateUrl: './mscoa-chart-toolbar.component.html',\r\n styleUrls: ['./mscoa-chart-toolbar.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class MscoaChartToolbarComponent {\r\n @Input() accountingBasis?: AccountingBasis | string;\r\n @Input() canCollapse: boolean = false;\r\n @Input() isExpanded: boolean = true;\r\n @Output() toggleExpansion = new EventEmitter<void>();\r\n\r\n readonly ACCOUNTING_BASIS = ACCOUNTING_BASIS;\r\n\r\n getToolbarColor = getToolbarColor;\r\n getToolbarBackground = getToolbarBackground;\r\n getToolbarIconColor = getToolbarIconColor;\r\n\r\n get displayBasis(): string {\r\n return (this.accountingBasis || ACCOUNTING_BASIS.ACCRUAL).charAt(0).toUpperCase() + \r\n (this.accountingBasis || ACCOUNTING_BASIS.ACCRUAL).slice(1);\r\n }\r\n\r\n onToggleClick(): void {\r\n this.toggleExpansion.emit();\r\n }\r\n}\r\n","<mat-toolbar \r\n [color]=\"getToolbarColor(accountingBasis)\"\r\n [style.background]=\"getToolbarBackground(accountingBasis)\"\r\n class=\"mscoa-chart-toolbar\"\r\n [attr.aria-label]=\"'Accounting basis: ' + displayBasis\">\r\n \r\n <span class=\"mscoa-chart-toolbar__label\">\r\n Basis: {{ displayBasis }}\r\n </span>\r\n \r\n <span class=\"spacer\"></span>\r\n \r\n @if (canCollapse) {\r\n <button \r\n mat-icon-button \r\n (click)=\"onToggleClick()\"\r\n [attr.aria-label]=\"(isExpanded ? 'Collapse' : 'Expand') + ' ' + displayBasis + ' basis table'\"\r\n [attr.aria-expanded]=\"isExpanded\">\r\n <mat-icon [style.color]=\"getToolbarIconColor(accountingBasis)\">\r\n {{ isExpanded ? 'expand_less' : 'expand_more' }}\r\n </mat-icon>\r\n </button>\r\n }\r\n</mat-toolbar>\r\n"],"names":["i1","i2","i3"],"mappings":";;;;;;;;MAea,0BAA0B,CAAA;AARvC,IAAA,WAAA,GAAA;QAUW,IAAA,CAAA,WAAW,GAAY,KAAK;QAC5B,IAAA,CAAA,UAAU,GAAY,IAAI;AACzB,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,YAAY,EAAQ;QAE3C,IAAA,CAAA,gBAAgB,GAAG,gBAAgB;QAE5C,IAAA,CAAA,eAAe,GAAG,eAAe;QACjC,IAAA,CAAA,oBAAoB,GAAG,oBAAoB;QAC3C,IAAA,CAAA,mBAAmB,GAAG,mBAAmB;AAU1C,IAAA;AARC,IAAA,IAAI,YAAY,GAAA;AACd,QAAA,OAAO,CAAC,IAAI,CAAC,eAAe,IAAI,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;AAC1E,YAAA,CAAC,IAAI,CAAC,eAAe,IAAI,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IACpE;IAEA,aAAa,GAAA;AACX,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE;IAC7B;8GAnBW,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,0BAA0B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,OAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECfvC,q0BAwBA,EAAA,MAAA,EAAA,CAAA,0TAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDdY,YAAY,8BAAE,gBAAgB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,sFAAA,EAAA,QAAA,EAAA,CAAA,WAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAK7B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBARtC,SAAS;+BACE,yBAAyB,EAAA,UAAA,EACvB,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,EAAE,gBAAgB,CAAC,EAAA,eAAA,EAGxB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,q0BAAA,EAAA,MAAA,EAAA,CAAA,0TAAA,CAAA,EAAA;;sBAG9C;;sBACA;;sBACA;;sBACA;;;;;"}
@@ -1,116 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { Input, ChangeDetectionStrategy, Component } from '@angular/core';
3
- import { CommonModule } from '@angular/common';
4
- import { M as MatModulesModule } from './ngx-t-forms-ngx-t-forms-D9qmig6g.mjs';
5
- import { Subject, timer } from 'rxjs';
6
- import { takeUntil } from 'rxjs/operators';
7
- import * as i2 from '@angular/material/button';
8
- import * as i3 from '@angular/material/icon';
9
-
10
- class MscoaErrorDisplayComponent {
11
- constructor(cdr) {
12
- this.cdr = cdr;
13
- this.errors = [];
14
- this.type = 'error';
15
- this.showIcon = true;
16
- this.compact = false;
17
- this.showDismiss = false;
18
- this.visible = true;
19
- this.destroy$ = new Subject();
20
- this.hideTimer$ = new Subject();
21
- }
22
- get iconName() {
23
- switch (this.type) {
24
- case 'error':
25
- return 'error';
26
- case 'warning':
27
- return 'warning';
28
- case 'info':
29
- return 'info';
30
- case 'success':
31
- return 'check_circle';
32
- default:
33
- return 'error';
34
- }
35
- }
36
- get ariaLabel() {
37
- const typeText = this.type === 'error' ? 'errors' :
38
- this.type === 'warning' ? 'warnings' :
39
- this.type === 'success' ? 'success messages' : 'messages';
40
- return `${this.errors.length} ${typeText}`;
41
- }
42
- trackByIndex(index) {
43
- return index;
44
- }
45
- ngOnInit() {
46
- if (this.duration != null && this.errors?.length) {
47
- this.show();
48
- }
49
- }
50
- ngOnChanges(changes) {
51
- if (changes['errors']) {
52
- const current = changes['errors'].currentValue;
53
- const prev = changes['errors'].previousValue;
54
- const hasErrors = (current?.length ?? 0) > 0;
55
- const hadErrors = (prev?.length ?? 0) > 0;
56
- if (this.duration != null) {
57
- if (hasErrors && !hadErrors) {
58
- this.show();
59
- }
60
- else if (!hasErrors && hadErrors) {
61
- this.hide();
62
- }
63
- }
64
- else {
65
- this.visible = true;
66
- }
67
- }
68
- }
69
- ngOnDestroy() {
70
- this.hideTimer$.next();
71
- this.hideTimer$.complete();
72
- this.destroy$.next();
73
- this.destroy$.complete();
74
- }
75
- show() {
76
- this.hideTimer$.next();
77
- this.visible = true;
78
- this.cdr.markForCheck();
79
- if (this.duration != null && this.duration > 0) {
80
- timer(this.duration)
81
- .pipe(takeUntil(this.hideTimer$), takeUntil(this.destroy$))
82
- .subscribe(() => this.hide());
83
- }
84
- }
85
- hide() {
86
- this.hideTimer$.next();
87
- this.visible = false;
88
- this.cdr.markForCheck();
89
- }
90
- dismiss() {
91
- this.hide();
92
- }
93
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: MscoaErrorDisplayComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
94
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.5", type: MscoaErrorDisplayComponent, isStandalone: true, selector: "app-mscoa-error-display", inputs: { errors: "errors", type: "type", context: "context", showIcon: "showIcon", compact: "compact", duration: "duration", showDismiss: "showDismiss" }, usesOnChanges: true, ngImport: i0, template: "@if (visible && errors && errors.length > 0) {\r\n <div \r\n class=\"mscoa-error-display\"\r\n [class.mscoa-error-display--error]=\"type === 'error'\"\r\n [class.mscoa-error-display--warning]=\"type === 'warning'\"\r\n [class.mscoa-error-display--info]=\"type === 'info'\"\r\n [class.mscoa-error-display--success]=\"type === 'success'\"\r\n [class.mscoa-error-display--compact]=\"compact\"\r\n role=\"alert\"\r\n [attr.aria-live]=\"type === 'error' ? 'assertive' : 'polite'\"\r\n [attr.aria-label]=\"ariaLabel\">\r\n \r\n @if (showIcon) {\r\n <mat-icon \r\n class=\"mscoa-error-display__icon\"\r\n [class.mscoa-error-display__icon--error]=\"type === 'error'\"\r\n [class.mscoa-error-display__icon--warning]=\"type === 'warning'\"\r\n [class.mscoa-error-display__icon--info]=\"type === 'info'\"\r\n [class.mscoa-error-display__icon--success]=\"type === 'success'\"\r\n [attr.aria-hidden]=\"true\">\r\n {{ iconName }}\r\n </mat-icon>\r\n }\r\n\r\n <div class=\"mscoa-error-display__content\">\r\n @if (errors.length === 1) {\r\n <p class=\"mscoa-error-display__message\">{{ errors[0] }}</p>\r\n } @else {\r\n <ul class=\"mscoa-error-display__list\">\r\n @for (error of errors; track trackByIndex($index)) {\r\n <li class=\"mscoa-error-display__item\">{{ error }}</li>\r\n }\r\n </ul>\r\n }\r\n <sub class=\"mscoa-error-display__hint\">\r\n Hover over the account for the error message or scroll to bottom of input to see all errors.\r\n </sub>\r\n </div>\r\n\r\n @if (showDismiss) {\r\n <button \r\n class=\"mscoa-error-display__dismiss\"\r\n (click)=\"dismiss()\"\r\n [attr.aria-label]=\"'Dismiss'\"\r\n mat-icon-button\r\n type=\"button\">\r\n <mat-icon aria-hidden=\"true\">close</mat-icon>\r\n </button>\r\n }\r\n </div>\r\n \r\n}\r\n", styles: [".mscoa-error-display{display:flex;align-items:flex-start;gap:var(--mscoa-chart-spacing-sm, 8px);padding:var(--mscoa-chart-spacing-md, 16px);border-radius:var(--mscoa-chart-border-radius, 4px);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.5;margin-top:var(--mscoa-chart-spacing-sm, 8px);transition:all var(--mscoa-chart-transition, .2s ease)}.mscoa-error-display--compact{padding:var(--mscoa-chart-spacing-sm, 8px);font-size:13px}.mscoa-error-display--error{background-color:var(--mat-sys-error-container, #fce8e6);color:var(--mat-sys-on-error-container, #410e0b);border-left:4px solid var(--mat-sys-error, #ba1a1a)}.mscoa-error-display--warning{background-color:var(--mat-sys-warning-container, #fff3e0);color:var(--mat-sys-on-warning-container, #1c1b16);border-left:4px solid var(--mat-sys-warning, #f57c00)}.mscoa-error-display--info{background-color:var(--mat-sys-primary-container, #e3f2fd);color:var(--mat-sys-on-primary-container, #001d35);border-left:4px solid var(--mat-sys-primary, #1976d2)}.mscoa-error-display--success{background-color:var(--mat-sys-success-container, #e8f5e9);color:var(--mat-sys-on-success-container, #1b5e20);border-left:4px solid var(--mat-sys-success, #4caf50)}.mscoa-error-display__icon{flex-shrink:0;width:20px;height:20px;font-size:20px;margin-top:2px}.mscoa-error-display__icon--error{color:var(--mat-sys-error, #ba1a1a)}.mscoa-error-display__icon--warning{color:var(--mat-sys-warning, #f57c00)}.mscoa-error-display__icon--info{color:var(--mat-sys-primary, #1976d2)}.mscoa-error-display__icon--success{color:var(--mat-sys-success, #4caf50)}.mscoa-error-display__content{flex:1;min-width:0}.mscoa-error-display__message{margin:0;font-weight:400}.mscoa-error-display__hint{display:block;margin:var(--mscoa-chart-spacing-xs, 4px) 0 0;font-size:12px;opacity:.85;font-weight:400}.mscoa-error-display__list{margin:0;padding-left:var(--mscoa-chart-spacing-md, 16px);list-style-type:disc}.mscoa-error-display__item{margin-bottom:var(--mscoa-chart-spacing-xs, 4px)}.mscoa-error-display__item:last-child{margin-bottom:0}.mscoa-error-display__dismiss{flex-shrink:0;width:24px;height:24px;opacity:.7;transition:opacity var(--mscoa-chart-transition, .2s ease)}.mscoa-error-display__dismiss:hover{opacity:1}.mscoa-error-display__dismiss mat-icon{font-size:18px;width:18px;height:18px}@media(prefers-contrast:high){.mscoa-error-display{border-width:2px;font-weight:500}}@media(prefers-reduced-motion:reduce){.mscoa-error-display{transition:none}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatModulesModule }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
95
- }
96
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: MscoaErrorDisplayComponent, decorators: [{
97
- type: Component,
98
- args: [{ selector: 'app-mscoa-error-display', standalone: true, imports: [CommonModule, MatModulesModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (visible && errors && errors.length > 0) {\r\n <div \r\n class=\"mscoa-error-display\"\r\n [class.mscoa-error-display--error]=\"type === 'error'\"\r\n [class.mscoa-error-display--warning]=\"type === 'warning'\"\r\n [class.mscoa-error-display--info]=\"type === 'info'\"\r\n [class.mscoa-error-display--success]=\"type === 'success'\"\r\n [class.mscoa-error-display--compact]=\"compact\"\r\n role=\"alert\"\r\n [attr.aria-live]=\"type === 'error' ? 'assertive' : 'polite'\"\r\n [attr.aria-label]=\"ariaLabel\">\r\n \r\n @if (showIcon) {\r\n <mat-icon \r\n class=\"mscoa-error-display__icon\"\r\n [class.mscoa-error-display__icon--error]=\"type === 'error'\"\r\n [class.mscoa-error-display__icon--warning]=\"type === 'warning'\"\r\n [class.mscoa-error-display__icon--info]=\"type === 'info'\"\r\n [class.mscoa-error-display__icon--success]=\"type === 'success'\"\r\n [attr.aria-hidden]=\"true\">\r\n {{ iconName }}\r\n </mat-icon>\r\n }\r\n\r\n <div class=\"mscoa-error-display__content\">\r\n @if (errors.length === 1) {\r\n <p class=\"mscoa-error-display__message\">{{ errors[0] }}</p>\r\n } @else {\r\n <ul class=\"mscoa-error-display__list\">\r\n @for (error of errors; track trackByIndex($index)) {\r\n <li class=\"mscoa-error-display__item\">{{ error }}</li>\r\n }\r\n </ul>\r\n }\r\n <sub class=\"mscoa-error-display__hint\">\r\n Hover over the account for the error message or scroll to bottom of input to see all errors.\r\n </sub>\r\n </div>\r\n\r\n @if (showDismiss) {\r\n <button \r\n class=\"mscoa-error-display__dismiss\"\r\n (click)=\"dismiss()\"\r\n [attr.aria-label]=\"'Dismiss'\"\r\n mat-icon-button\r\n type=\"button\">\r\n <mat-icon aria-hidden=\"true\">close</mat-icon>\r\n </button>\r\n }\r\n </div>\r\n \r\n}\r\n", styles: [".mscoa-error-display{display:flex;align-items:flex-start;gap:var(--mscoa-chart-spacing-sm, 8px);padding:var(--mscoa-chart-spacing-md, 16px);border-radius:var(--mscoa-chart-border-radius, 4px);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.5;margin-top:var(--mscoa-chart-spacing-sm, 8px);transition:all var(--mscoa-chart-transition, .2s ease)}.mscoa-error-display--compact{padding:var(--mscoa-chart-spacing-sm, 8px);font-size:13px}.mscoa-error-display--error{background-color:var(--mat-sys-error-container, #fce8e6);color:var(--mat-sys-on-error-container, #410e0b);border-left:4px solid var(--mat-sys-error, #ba1a1a)}.mscoa-error-display--warning{background-color:var(--mat-sys-warning-container, #fff3e0);color:var(--mat-sys-on-warning-container, #1c1b16);border-left:4px solid var(--mat-sys-warning, #f57c00)}.mscoa-error-display--info{background-color:var(--mat-sys-primary-container, #e3f2fd);color:var(--mat-sys-on-primary-container, #001d35);border-left:4px solid var(--mat-sys-primary, #1976d2)}.mscoa-error-display--success{background-color:var(--mat-sys-success-container, #e8f5e9);color:var(--mat-sys-on-success-container, #1b5e20);border-left:4px solid var(--mat-sys-success, #4caf50)}.mscoa-error-display__icon{flex-shrink:0;width:20px;height:20px;font-size:20px;margin-top:2px}.mscoa-error-display__icon--error{color:var(--mat-sys-error, #ba1a1a)}.mscoa-error-display__icon--warning{color:var(--mat-sys-warning, #f57c00)}.mscoa-error-display__icon--info{color:var(--mat-sys-primary, #1976d2)}.mscoa-error-display__icon--success{color:var(--mat-sys-success, #4caf50)}.mscoa-error-display__content{flex:1;min-width:0}.mscoa-error-display__message{margin:0;font-weight:400}.mscoa-error-display__hint{display:block;margin:var(--mscoa-chart-spacing-xs, 4px) 0 0;font-size:12px;opacity:.85;font-weight:400}.mscoa-error-display__list{margin:0;padding-left:var(--mscoa-chart-spacing-md, 16px);list-style-type:disc}.mscoa-error-display__item{margin-bottom:var(--mscoa-chart-spacing-xs, 4px)}.mscoa-error-display__item:last-child{margin-bottom:0}.mscoa-error-display__dismiss{flex-shrink:0;width:24px;height:24px;opacity:.7;transition:opacity var(--mscoa-chart-transition, .2s ease)}.mscoa-error-display__dismiss:hover{opacity:1}.mscoa-error-display__dismiss mat-icon{font-size:18px;width:18px;height:18px}@media(prefers-contrast:high){.mscoa-error-display{border-width:2px;font-weight:500}}@media(prefers-reduced-motion:reduce){.mscoa-error-display{transition:none}}\n"] }]
99
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { errors: [{
100
- type: Input
101
- }], type: [{
102
- type: Input
103
- }], context: [{
104
- type: Input
105
- }], showIcon: [{
106
- type: Input
107
- }], compact: [{
108
- type: Input
109
- }], duration: [{
110
- type: Input
111
- }], showDismiss: [{
112
- type: Input
113
- }] } });
114
-
115
- export { MscoaErrorDisplayComponent };
116
- //# sourceMappingURL=ngx-t-forms-mscoa-error-display.component-CSX2NCNU.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ngx-t-forms-mscoa-error-display.component-CSX2NCNU.mjs","sources":["../../../projects/ngx-t-forms/src/lib/components/t-form-input/elements/mscoa-form-input/elements/mscoa-chart/components/mscoa-error-display/mscoa-error-display.component.ts","../../../projects/ngx-t-forms/src/lib/components/t-form-input/elements/mscoa-form-input/elements/mscoa-chart/components/mscoa-error-display/mscoa-error-display.component.html"],"sourcesContent":["import { Component, Input, ChangeDetectionStrategy, OnInit, OnChanges, SimpleChanges, OnDestroy, ChangeDetectorRef } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatModulesModule } from '../../../../../../../../shared/modules/mat-modules.module';\r\nimport { Subject, timer } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\n\r\nexport type ErrorDisplayType = 'error' | 'warning' | 'info' | 'success';\r\n\r\nexport interface ErrorDisplayContext {\r\n segment?: string;\r\n accountingBasis?: string;\r\n [key: string]: any;\r\n}\r\n\r\n@Component({\r\n selector: 'app-mscoa-error-display',\r\n standalone: true,\r\n imports: [CommonModule, MatModulesModule],\r\n templateUrl: './mscoa-error-display.component.html',\r\n styleUrls: ['./mscoa-error-display.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class MscoaErrorDisplayComponent implements OnInit, OnChanges, OnDestroy {\r\n @Input() errors: string[] = [];\r\n @Input() type: ErrorDisplayType = 'error';\r\n @Input() context?: ErrorDisplayContext;\r\n @Input() showIcon: boolean = true;\r\n @Input() compact: boolean = false;\r\n /** When set, display auto-hides after this many ms. Keeps error styling. */\r\n @Input() duration?: number;\r\n @Input() showDismiss: boolean = false;\r\n\r\n visible = true;\r\n private readonly destroy$ = new Subject<void>();\r\n private hideTimer$ = new Subject<void>();\r\n\r\n constructor(private readonly cdr: ChangeDetectorRef) {}\r\n\r\n get iconName(): string {\r\n switch (this.type) {\r\n case 'error':\r\n return 'error';\r\n case 'warning':\r\n return 'warning';\r\n case 'info':\r\n return 'info';\r\n case 'success':\r\n return 'check_circle';\r\n default:\r\n return 'error';\r\n }\r\n }\r\n\r\n get ariaLabel(): string {\r\n const typeText = this.type === 'error' ? 'errors' : \r\n this.type === 'warning' ? 'warnings' : \r\n this.type === 'success' ? 'success messages' : 'messages';\r\n return `${this.errors.length} ${typeText}`;\r\n }\r\n\r\n trackByIndex(index: number): number {\r\n return index;\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.duration != null && this.errors?.length) {\r\n this.show();\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['errors']) {\r\n const current = changes['errors'].currentValue as string[] | undefined;\r\n const prev = changes['errors'].previousValue as string[] | undefined;\r\n const hasErrors = (current?.length ?? 0) > 0;\r\n const hadErrors = (prev?.length ?? 0) > 0;\r\n\r\n if (this.duration != null) {\r\n if (hasErrors && !hadErrors) {\r\n this.show();\r\n } else if (!hasErrors && hadErrors) {\r\n this.hide();\r\n }\r\n } else {\r\n this.visible = true;\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.hideTimer$.next();\r\n this.hideTimer$.complete();\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n\r\n private show(): void {\r\n this.hideTimer$.next();\r\n this.visible = true;\r\n this.cdr.markForCheck();\r\n if (this.duration != null && this.duration > 0) {\r\n timer(this.duration)\r\n .pipe(takeUntil(this.hideTimer$), takeUntil(this.destroy$))\r\n .subscribe(() => this.hide());\r\n }\r\n }\r\n\r\n hide(): void {\r\n this.hideTimer$.next();\r\n this.visible = false;\r\n this.cdr.markForCheck();\r\n }\r\n\r\n dismiss(): void {\r\n this.hide();\r\n }\r\n}\r\n","@if (visible && errors && errors.length > 0) {\r\n <div \r\n class=\"mscoa-error-display\"\r\n [class.mscoa-error-display--error]=\"type === 'error'\"\r\n [class.mscoa-error-display--warning]=\"type === 'warning'\"\r\n [class.mscoa-error-display--info]=\"type === 'info'\"\r\n [class.mscoa-error-display--success]=\"type === 'success'\"\r\n [class.mscoa-error-display--compact]=\"compact\"\r\n role=\"alert\"\r\n [attr.aria-live]=\"type === 'error' ? 'assertive' : 'polite'\"\r\n [attr.aria-label]=\"ariaLabel\">\r\n \r\n @if (showIcon) {\r\n <mat-icon \r\n class=\"mscoa-error-display__icon\"\r\n [class.mscoa-error-display__icon--error]=\"type === 'error'\"\r\n [class.mscoa-error-display__icon--warning]=\"type === 'warning'\"\r\n [class.mscoa-error-display__icon--info]=\"type === 'info'\"\r\n [class.mscoa-error-display__icon--success]=\"type === 'success'\"\r\n [attr.aria-hidden]=\"true\">\r\n {{ iconName }}\r\n </mat-icon>\r\n }\r\n\r\n <div class=\"mscoa-error-display__content\">\r\n @if (errors.length === 1) {\r\n <p class=\"mscoa-error-display__message\">{{ errors[0] }}</p>\r\n } @else {\r\n <ul class=\"mscoa-error-display__list\">\r\n @for (error of errors; track trackByIndex($index)) {\r\n <li class=\"mscoa-error-display__item\">{{ error }}</li>\r\n }\r\n </ul>\r\n }\r\n <sub class=\"mscoa-error-display__hint\">\r\n Hover over the account for the error message or scroll to bottom of input to see all errors.\r\n </sub>\r\n </div>\r\n\r\n @if (showDismiss) {\r\n <button \r\n class=\"mscoa-error-display__dismiss\"\r\n (click)=\"dismiss()\"\r\n [attr.aria-label]=\"'Dismiss'\"\r\n mat-icon-button\r\n type=\"button\">\r\n <mat-icon aria-hidden=\"true\">close</mat-icon>\r\n </button>\r\n }\r\n </div>\r\n \r\n}\r\n"],"names":["i1","i2"],"mappings":"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"}