bpm-core 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 (186) hide show
  1. package/README.md +30 -0
  2. package/esm2022/bpm-core.mjs +5 -0
  3. package/esm2022/lib/classes/form-validation.mjs +80 -0
  4. package/esm2022/lib/classes/index.mjs +2 -0
  5. package/esm2022/lib/components/app-component-sections/activities/activities.component.mjs +51 -0
  6. package/esm2022/lib/components/app-component-sections/comment-section/comment-section.component.mjs +66 -0
  7. package/esm2022/lib/components/app-component-sections/faq-sidenav/faq-sidenav.component.mjs +29 -0
  8. package/esm2022/lib/components/app-component-sections/faqs/faqs.component.mjs +32 -0
  9. package/esm2022/lib/components/app-component-sections/faqs/index.mjs +2 -0
  10. package/esm2022/lib/components/app-component-sections/feedback-section/feedback-section.component.mjs +236 -0
  11. package/esm2022/lib/components/app-component-sections/form-section/form-section.component.mjs +270 -0
  12. package/esm2022/lib/components/app-component-sections/index.mjs +9 -0
  13. package/esm2022/lib/components/app-component-sections/main-request-details/main-request-details.component.mjs +34 -0
  14. package/esm2022/lib/components/app-component-sections/profile-section/profile-section.component.mjs +45 -0
  15. package/esm2022/lib/components/app-component-sections/service-header/service-header.component.mjs +162 -0
  16. package/esm2022/lib/components/app-component-sections/status/status.component.mjs +38 -0
  17. package/esm2022/lib/components/app-component-sections/workflow-section/workflow-section.component.mjs +162 -0
  18. package/esm2022/lib/components/shared-components/confirmation-popup/confirmation-popup.component.mjs +39 -0
  19. package/esm2022/lib/components/shared-components/delete-popup/delete-popup.component.mjs +19 -0
  20. package/esm2022/lib/components/shared-components/dialogs/confirm-dialog/confirm-dialog.component.mjs +30 -0
  21. package/esm2022/lib/components/shared-components/dialogs/delete-dialog/delete-dialog.component.mjs +28 -0
  22. package/esm2022/lib/components/shared-components/dialogs/submit-dialog/submit-dialog.component.mjs +72 -0
  23. package/esm2022/lib/components/shared-components/doc-uploader/docs-uploader.component.mjs +686 -0
  24. package/esm2022/lib/components/shared-components/form-field/add-attachment-section/add-attachment-section.component.mjs +77 -0
  25. package/esm2022/lib/components/shared-components/form-field/attachment-section/attachment-section.component.mjs +181 -0
  26. package/esm2022/lib/components/shared-components/form-field/base-component/base-component.component.mjs +198 -0
  27. package/esm2022/lib/components/shared-components/form-field/checkbox/checkbox.component.mjs +69 -0
  28. package/esm2022/lib/components/shared-components/form-field/custom-searchable-autocomplete/custom-searchable.component.mjs +201 -0
  29. package/esm2022/lib/components/shared-components/form-field/date-picker/date-format.mjs +31 -0
  30. package/esm2022/lib/components/shared-components/form-field/date-picker/date-picker.component.mjs +244 -0
  31. package/esm2022/lib/components/shared-components/form-field/date-range-picker/date-range-picker.component.mjs +26 -0
  32. package/esm2022/lib/components/shared-components/form-field/form-label/form-label.component.mjs +31 -0
  33. package/esm2022/lib/components/shared-components/form-field/index.mjs +25 -0
  34. package/esm2022/lib/components/shared-components/form-field/info-item/info-item.component.mjs +72 -0
  35. package/esm2022/lib/components/shared-components/form-field/input/input.component.mjs +155 -0
  36. package/esm2022/lib/components/shared-components/form-field/input-autocomplete/index.mjs +3 -0
  37. package/esm2022/lib/components/shared-components/form-field/input-autocomplete/input-autocomplete.model.mjs +2 -0
  38. package/esm2022/lib/components/shared-components/form-field/input-currency/input-currency.component.mjs +157 -0
  39. package/esm2022/lib/components/shared-components/form-field/input-email/input-email.component.mjs +114 -0
  40. package/esm2022/lib/components/shared-components/form-field/input-mask/input-mask.component.mjs +111 -0
  41. package/esm2022/lib/components/shared-components/form-field/input-number/input-number.component.mjs +153 -0
  42. package/esm2022/lib/components/shared-components/form-field/input-telephone/input-telephone.component.mjs +176 -0
  43. package/esm2022/lib/components/shared-components/form-field/radio/radio.component.mjs +38 -0
  44. package/esm2022/lib/components/shared-components/form-field/repeated-list/repeated-list.component.mjs +32 -0
  45. package/esm2022/lib/components/shared-components/form-field/search-employee/search-employee.component.mjs +228 -0
  46. package/esm2022/lib/components/shared-components/form-field/select/select.component.mjs +191 -0
  47. package/esm2022/lib/components/shared-components/form-field/table-list/table-list.component.mjs +116 -0
  48. package/esm2022/lib/components/shared-components/form-field/textarea/special-chars.directive.mjs +39 -0
  49. package/esm2022/lib/components/shared-components/form-field/textarea/textarea.component.mjs +88 -0
  50. package/esm2022/lib/components/shared-components/form-field/toggle-button/toggle-button.component.mjs +75 -0
  51. package/esm2022/lib/components/shared-components/index.mjs +10 -0
  52. package/esm2022/lib/components/shared-components/terms-conditions/terms-conditions.component.mjs +31 -0
  53. package/esm2022/lib/components/shared-components/title-section/title-section.component.mjs +31 -0
  54. package/esm2022/lib/constants/constants.mjs +144 -0
  55. package/esm2022/lib/constants/index.mjs +2 -0
  56. package/esm2022/lib/environments/environment.local.mjs +27 -0
  57. package/esm2022/lib/functions/data-to-blob.mjs +12 -0
  58. package/esm2022/lib/functions/encode-password.mjs +14 -0
  59. package/esm2022/lib/functions/handel-error-response.mjs +12 -0
  60. package/esm2022/lib/functions/index.mjs +5 -0
  61. package/esm2022/lib/functions/is-valid-data.mjs +42 -0
  62. package/esm2022/lib/hooks/index.mjs +3 -0
  63. package/esm2022/lib/hooks/load-form.mjs +13 -0
  64. package/esm2022/lib/hooks/save-form.mjs +18 -0
  65. package/esm2022/lib/i18n/ar.mjs +183 -0
  66. package/esm2022/lib/i18n/en.mjs +187 -0
  67. package/esm2022/lib/i18n/index.mjs +3 -0
  68. package/esm2022/lib/interfaces/api-response.interface.mjs +2 -0
  69. package/esm2022/lib/interfaces/document-file.interface.mjs +2 -0
  70. package/esm2022/lib/interfaces/form-items.interface.mjs +2 -0
  71. package/esm2022/lib/interfaces/form.interface.mjs +150 -0
  72. package/esm2022/lib/interfaces/igate-user.interface.mjs +2 -0
  73. package/esm2022/lib/interfaces/index.mjs +8 -0
  74. package/esm2022/lib/interfaces/lov-list.interface.mjs +2 -0
  75. package/esm2022/lib/interfaces/lov.interface.mjs +2 -0
  76. package/esm2022/lib/interfaces/shared.interface.mjs +2 -0
  77. package/esm2022/lib/pipes/currency.pipe.mjs +66 -0
  78. package/esm2022/lib/pipes/format-as-password.pipe.mjs +19 -0
  79. package/esm2022/lib/pipes/index.mjs +3 -0
  80. package/esm2022/lib/services/feedBack.service.mjs +80 -0
  81. package/esm2022/lib/services/i18n.service.mjs +36 -0
  82. package/esm2022/lib/services/index.mjs +3 -0
  83. package/esm2022/lib/services/sidenav.service.mjs +69 -0
  84. package/esm2022/lib/validators/ar.directive.mjs +53 -0
  85. package/esm2022/lib/validators/currency.directive.mjs +74 -0
  86. package/esm2022/lib/validators/en.directive.mjs +50 -0
  87. package/esm2022/lib/validators/id.validator.mjs +66 -0
  88. package/esm2022/lib/validators/index.mjs +8 -0
  89. package/esm2022/lib/validators/string-to-boolean.pipe.mjs +16 -0
  90. package/esm2022/lib/validators/text.directive.mjs +50 -0
  91. package/esm2022/lib/validators/timer.pipe.mjs +19 -0
  92. package/esm2022/public-api.mjs +16 -0
  93. package/fesm2022/bpm-core.mjs +6005 -0
  94. package/fesm2022/bpm-core.mjs.map +1 -0
  95. package/index.d.ts +5 -0
  96. package/lib/classes/form-validation.d.ts +19 -0
  97. package/lib/classes/index.d.ts +1 -0
  98. package/lib/components/app-component-sections/activities/activities.component.d.ts +22 -0
  99. package/lib/components/app-component-sections/comment-section/comment-section.component.d.ts +19 -0
  100. package/lib/components/app-component-sections/faq-sidenav/faq-sidenav.component.d.ts +13 -0
  101. package/lib/components/app-component-sections/faqs/faqs.component.d.ts +17 -0
  102. package/lib/components/app-component-sections/faqs/index.d.ts +1 -0
  103. package/lib/components/app-component-sections/feedback-section/feedback-section.component.d.ts +38 -0
  104. package/lib/components/app-component-sections/form-section/form-section.component.d.ts +58 -0
  105. package/lib/components/app-component-sections/index.d.ts +8 -0
  106. package/lib/components/app-component-sections/main-request-details/main-request-details.component.d.ts +13 -0
  107. package/lib/components/app-component-sections/profile-section/profile-section.component.d.ts +17 -0
  108. package/lib/components/app-component-sections/service-header/service-header.component.d.ts +35 -0
  109. package/lib/components/app-component-sections/status/status.component.d.ts +23 -0
  110. package/lib/components/app-component-sections/workflow-section/workflow-section.component.d.ts +29 -0
  111. package/lib/components/shared-components/confirmation-popup/confirmation-popup.component.d.ts +25 -0
  112. package/lib/components/shared-components/delete-popup/delete-popup.component.d.ts +6 -0
  113. package/lib/components/shared-components/dialogs/confirm-dialog/confirm-dialog.component.d.ts +11 -0
  114. package/lib/components/shared-components/dialogs/delete-dialog/delete-dialog.component.d.ts +11 -0
  115. package/lib/components/shared-components/dialogs/submit-dialog/submit-dialog.component.d.ts +15 -0
  116. package/lib/components/shared-components/doc-uploader/docs-uploader.component.d.ts +144 -0
  117. package/lib/components/shared-components/form-field/add-attachment-section/add-attachment-section.component.d.ts +16 -0
  118. package/lib/components/shared-components/form-field/attachment-section/attachment-section.component.d.ts +30 -0
  119. package/lib/components/shared-components/form-field/base-component/base-component.component.d.ts +63 -0
  120. package/lib/components/shared-components/form-field/checkbox/checkbox.component.d.ts +18 -0
  121. package/lib/components/shared-components/form-field/custom-searchable-autocomplete/custom-searchable.component.d.ts +29 -0
  122. package/lib/components/shared-components/form-field/date-picker/date-format.d.ts +17 -0
  123. package/lib/components/shared-components/form-field/date-picker/date-picker.component.d.ts +41 -0
  124. package/lib/components/shared-components/form-field/date-range-picker/date-range-picker.component.d.ts +10 -0
  125. package/lib/components/shared-components/form-field/form-label/form-label.component.d.ts +12 -0
  126. package/lib/components/shared-components/form-field/index.d.ts +24 -0
  127. package/lib/components/shared-components/form-field/info-item/info-item.component.d.ts +23 -0
  128. package/lib/components/shared-components/form-field/input/input.component.d.ts +32 -0
  129. package/lib/components/shared-components/form-field/input-autocomplete/index.d.ts +1 -0
  130. package/lib/components/shared-components/form-field/input-autocomplete/input-autocomplete.model.d.ts +6 -0
  131. package/lib/components/shared-components/form-field/input-currency/input-currency.component.d.ts +31 -0
  132. package/lib/components/shared-components/form-field/input-email/input-email.component.d.ts +27 -0
  133. package/lib/components/shared-components/form-field/input-mask/input-mask.component.d.ts +27 -0
  134. package/lib/components/shared-components/form-field/input-number/input-number.component.d.ts +30 -0
  135. package/lib/components/shared-components/form-field/input-telephone/input-telephone.component.d.ts +45 -0
  136. package/lib/components/shared-components/form-field/radio/radio.component.d.ts +10 -0
  137. package/lib/components/shared-components/form-field/repeated-list/repeated-list.component.d.ts +9 -0
  138. package/lib/components/shared-components/form-field/search-employee/search-employee.component.d.ts +44 -0
  139. package/lib/components/shared-components/form-field/select/select.component.d.ts +36 -0
  140. package/lib/components/shared-components/form-field/table-list/table-list.component.d.ts +26 -0
  141. package/lib/components/shared-components/form-field/textarea/special-chars.directive.d.ts +10 -0
  142. package/lib/components/shared-components/form-field/textarea/textarea.component.d.ts +20 -0
  143. package/lib/components/shared-components/form-field/toggle-button/toggle-button.component.d.ts +20 -0
  144. package/lib/components/shared-components/index.d.ts +9 -0
  145. package/lib/components/shared-components/terms-conditions/terms-conditions.component.d.ts +12 -0
  146. package/lib/components/shared-components/title-section/title-section.component.d.ts +13 -0
  147. package/lib/constants/constants.d.ts +122 -0
  148. package/lib/constants/index.d.ts +1 -0
  149. package/lib/environments/environment.local.d.ts +26 -0
  150. package/lib/functions/data-to-blob.d.ts +1 -0
  151. package/lib/functions/encode-password.d.ts +1 -0
  152. package/lib/functions/handel-error-response.d.ts +4 -0
  153. package/lib/functions/index.d.ts +4 -0
  154. package/lib/functions/is-valid-data.d.ts +1 -0
  155. package/lib/hooks/index.d.ts +2 -0
  156. package/lib/hooks/load-form.d.ts +10 -0
  157. package/lib/hooks/save-form.d.ts +15 -0
  158. package/lib/i18n/ar.d.ts +170 -0
  159. package/lib/i18n/en.d.ts +174 -0
  160. package/lib/i18n/index.d.ts +2 -0
  161. package/lib/interfaces/api-response.interface.d.ts +5 -0
  162. package/lib/interfaces/document-file.interface.d.ts +12 -0
  163. package/lib/interfaces/form-items.interface.d.ts +14 -0
  164. package/lib/interfaces/form.interface.d.ts +95 -0
  165. package/lib/interfaces/igate-user.interface.d.ts +16 -0
  166. package/lib/interfaces/index.d.ts +7 -0
  167. package/lib/interfaces/lov-list.interface.d.ts +10 -0
  168. package/lib/interfaces/lov.interface.d.ts +19 -0
  169. package/lib/interfaces/shared.interface.d.ts +21 -0
  170. package/lib/pipes/currency.pipe.d.ts +13 -0
  171. package/lib/pipes/format-as-password.pipe.d.ts +7 -0
  172. package/lib/pipes/index.d.ts +2 -0
  173. package/lib/services/feedBack.service.d.ts +21 -0
  174. package/lib/services/i18n.service.d.ts +10 -0
  175. package/lib/services/index.d.ts +2 -0
  176. package/lib/services/sidenav.service.d.ts +28 -0
  177. package/lib/validators/ar.directive.d.ts +11 -0
  178. package/lib/validators/currency.directive.d.ts +16 -0
  179. package/lib/validators/en.directive.d.ts +11 -0
  180. package/lib/validators/id.validator.d.ts +3 -0
  181. package/lib/validators/index.d.ts +7 -0
  182. package/lib/validators/string-to-boolean.pipe.d.ts +7 -0
  183. package/lib/validators/text.directive.d.ts +12 -0
  184. package/lib/validators/timer.pipe.d.ts +7 -0
  185. package/package.json +26 -0
  186. package/public-api.d.ts +13 -0
@@ -0,0 +1,198 @@
1
+ import { MAT_DATE_FORMATS } from '@angular/material/core';
2
+ import { FormControl } from '@angular/forms';
3
+ import { MAT_DIALOG_DATA } from '@angular/material/dialog';
4
+ import { Component, Input, Output, EventEmitter, forwardRef, Inject, } from '@angular/core';
5
+ import { ControlContainer, NgForm, NG_VALUE_ACCESSOR, } from '@angular/forms';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../../../../services";
8
+ import * as i2 from "@angular/common/http";
9
+ import * as i3 from "@angular/forms";
10
+ import * as i4 from "@angular/material/core";
11
+ import * as i5 from "@angular/material/dialog";
12
+ import * as i6 from "../../../../pipes";
13
+ import * as i7 from "@angular/platform-browser";
14
+ import * as i8 from "../date-picker/date-format";
15
+ const CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR = {
16
+ provide: NG_VALUE_ACCESSOR,
17
+ useExisting: forwardRef(() => BaseComponent),
18
+ multi: true,
19
+ };
20
+ export class BaseComponent {
21
+ i18n;
22
+ http;
23
+ fb;
24
+ dateAdapter;
25
+ cdRef;
26
+ dialog;
27
+ dialogRef;
28
+ dialogData;
29
+ mycurrencyPipe;
30
+ dateFormat;
31
+ sanitizer;
32
+ hideOption = false;
33
+ // hideOption: InputSignal<boolean> = input(false);
34
+ type = 'text';
35
+ // hideOption: InputSignal<string> = input('text');
36
+ loading;
37
+ // loading: InputSignal<boolean>;
38
+ field;
39
+ // loafieldding: InputSignal<any>;
40
+ labelTextReadMode;
41
+ // labelTextReadMode: InputSignal<string>
42
+ labelTextWriteMode;
43
+ // labelTextWriteMode: InputSignal<string>
44
+ isReadOnly;
45
+ // isReadOnly: InputSignal<boolean>;
46
+ name;
47
+ // name: InputSignal<string>
48
+ required = true;
49
+ // required: InputSignal<boolean> = input(true);
50
+ mask;
51
+ // mask: InputSignal<string>
52
+ allowedExtensions = '';
53
+ // allowedExtensions: InputSignal<string> = input('');
54
+ link;
55
+ // link: InputSignal<boolean>;
56
+ multiple;
57
+ // multiple: InputSignal<boolean>;
58
+ insideTable;
59
+ // insideTable: InputSignal<boolean>;
60
+ showIfEmpty = false;
61
+ // showIfEmpty: InputSignal<boolean> = input(false);
62
+ showErrorMessage;
63
+ // showErrorMessage: InputSignal<boolean>;
64
+ showHint = false;
65
+ // showHint: InputSignal<boolean> = input(false);
66
+ hint = '';
67
+ // hint: InputSignal<string> = input('');
68
+ errorMessage;
69
+ // errorMessage: InputSignal<string>
70
+ placeholder;
71
+ // placeholder: InputSignal<string>
72
+ maxLength;
73
+ // maxLength: InputSignal<number>
74
+ minLength;
75
+ // minLength: InputSignal<number>
76
+ maxValue;
77
+ // maxValue: InputSignal<string>
78
+ minValue;
79
+ // minValue: InputSignal<string>
80
+ disabled = false;
81
+ // disabled: InputSignal<boolean> = input(false);
82
+ lov;
83
+ // lov: InputSignal<any>
84
+ hasLabel = true;
85
+ // hasLabel: InputSignal<boolean> = input(true);
86
+ section;
87
+ // section: InputSignal<Section>
88
+ controller = new FormControl();
89
+ value;
90
+ emitedValue = new EventEmitter();
91
+ filesize;
92
+ // public options: any;
93
+ randomID = Math.floor(Math.random() * (999999 - 100000)) + 100000;
94
+ constructor(i18n, http, fb, dateAdapter, cdRef, dialog, dialogRef, dialogData, mycurrencyPipe, dateFormat, sanitizer) {
95
+ this.i18n = i18n;
96
+ this.http = http;
97
+ this.fb = fb;
98
+ this.dateAdapter = dateAdapter;
99
+ this.cdRef = cdRef;
100
+ this.dialog = dialog;
101
+ this.dialogRef = dialogRef;
102
+ this.dialogData = dialogData;
103
+ this.mycurrencyPipe = mycurrencyPipe;
104
+ this.dateFormat = dateFormat;
105
+ this.sanitizer = sanitizer;
106
+ this.dateAdapter.setLocale(this.i18n.language);
107
+ this.value = this.field;
108
+ this.emitedValue = new EventEmitter();
109
+ if (this.shouldSetDateFormateInAr) {
110
+ dateFormat.display = { dateInput: 'YYYY/MM/DD' };
111
+ dateFormat.parse = { dateInput: 'YYYY/MM/DD' };
112
+ }
113
+ }
114
+ get shouldSetDateFormateInAr() {
115
+ return this.i18n.language == 'ar';
116
+ }
117
+ resetData() {
118
+ if (!this.isReadOnly) {
119
+ this.field = '';
120
+ this.controller.setValue(this.field);
121
+ this.controller.markAsUntouched();
122
+ this.emitedValue.emit(this.field);
123
+ }
124
+ }
125
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: BaseComponent, deps: [{ token: i1.CoreI18nService }, { token: i2.HttpClient }, { token: i3.FormBuilder }, { token: i4.DateAdapter }, { token: i0.ChangeDetectorRef }, { token: i5.MatDialog }, { token: i5.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i6.MycurrencyPipe }, { token: MAT_DATE_FORMATS }, { token: i7.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
126
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: BaseComponent, isStandalone: true, selector: "app-base-component", inputs: { hideOption: "hideOption", type: "type", loading: "loading", field: "field", labelTextReadMode: "labelTextReadMode", labelTextWriteMode: "labelTextWriteMode", isReadOnly: "isReadOnly", name: "name", required: "required", mask: "mask", allowedExtensions: "allowedExtensions", link: "link", multiple: "multiple", insideTable: "insideTable", showIfEmpty: "showIfEmpty", showErrorMessage: "showErrorMessage", showHint: "showHint", hint: "hint", errorMessage: "errorMessage", placeholder: "placeholder", maxLength: "maxLength", minLength: "minLength", maxValue: "maxValue", minValue: "minValue", disabled: "disabled", lov: "lov", hasLabel: "hasLabel", section: "section", controller: "controller" }, outputs: { emitedValue: "emitedValue" }, providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR], ngImport: i0, template: '', isInline: true, styles: [""], viewProviders: [{ provide: ControlContainer, useExisting: NgForm }] });
127
+ }
128
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: BaseComponent, decorators: [{
129
+ type: Component,
130
+ args: [{ selector: 'app-base-component', template: '', providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR], viewProviders: [{ provide: ControlContainer, useExisting: NgForm }], standalone: true }]
131
+ }], ctorParameters: () => [{ type: i1.CoreI18nService }, { type: i2.HttpClient }, { type: i3.FormBuilder }, { type: i4.DateAdapter }, { type: i0.ChangeDetectorRef }, { type: i5.MatDialog }, { type: i5.MatDialogRef }, { type: undefined, decorators: [{
132
+ type: Inject,
133
+ args: [MAT_DIALOG_DATA]
134
+ }] }, { type: i6.MycurrencyPipe }, { type: i8.CustomDateFormat, decorators: [{
135
+ type: Inject,
136
+ args: [MAT_DATE_FORMATS]
137
+ }] }, { type: i7.DomSanitizer }], propDecorators: { hideOption: [{
138
+ type: Input
139
+ }], type: [{
140
+ type: Input
141
+ }], loading: [{
142
+ type: Input
143
+ }], field: [{
144
+ type: Input
145
+ }], labelTextReadMode: [{
146
+ type: Input
147
+ }], labelTextWriteMode: [{
148
+ type: Input
149
+ }], isReadOnly: [{
150
+ type: Input
151
+ }], name: [{
152
+ type: Input
153
+ }], required: [{
154
+ type: Input
155
+ }], mask: [{
156
+ type: Input
157
+ }], allowedExtensions: [{
158
+ type: Input
159
+ }], link: [{
160
+ type: Input
161
+ }], multiple: [{
162
+ type: Input
163
+ }], insideTable: [{
164
+ type: Input
165
+ }], showIfEmpty: [{
166
+ type: Input
167
+ }], showErrorMessage: [{
168
+ type: Input
169
+ }], showHint: [{
170
+ type: Input
171
+ }], hint: [{
172
+ type: Input
173
+ }], errorMessage: [{
174
+ type: Input
175
+ }], placeholder: [{
176
+ type: Input
177
+ }], maxLength: [{
178
+ type: Input
179
+ }], minLength: [{
180
+ type: Input
181
+ }], maxValue: [{
182
+ type: Input
183
+ }], minValue: [{
184
+ type: Input
185
+ }], disabled: [{
186
+ type: Input
187
+ }], lov: [{
188
+ type: Input
189
+ }], hasLabel: [{
190
+ type: Input
191
+ }], section: [{
192
+ type: Input
193
+ }], controller: [{
194
+ type: Input
195
+ }], emitedValue: [{
196
+ type: Output
197
+ }] } });
198
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb21wb25lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzL2Zvcm0tZmllbGQvYmFzZS1jb21wb25lbnQvYmFzZS1jb21wb25lbnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQTJCLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3BGLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osVUFBVSxFQUVWLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLE1BQU0sRUFDTixpQkFBaUIsR0FFbEIsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7OztBQVV4QixNQUFNLG1DQUFtQyxHQUFHO0lBQzFDLE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxhQUFhLENBQUM7SUFDNUMsS0FBSyxFQUFFLElBQUk7Q0FDWixDQUFDO0FBU0YsTUFBTSxPQUFPLGFBQWE7SUFrRWY7SUFDQTtJQUNBO0lBQ0M7SUFDRDtJQUNBO0lBQ0E7SUFDeUI7SUFDekI7SUFDMEI7SUFDMUI7SUEzRUEsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUM1QixtREFBbUQ7SUFDMUMsSUFBSSxHQUFHLE1BQU0sQ0FBQztJQUN2QixtREFBbUQ7SUFDMUMsT0FBTyxDQUFXO0lBQzNCLGlDQUFpQztJQUN4QixLQUFLLENBQU07SUFDbkIsa0NBQWtDO0lBQzFCLGlCQUFpQixDQUFTO0lB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QUFLO2dCQUVHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUcsV0FBVztzQkFBbkIsS0FBSztnQkFFRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFFRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSztnQkFFRyxZQUFZO3NCQUFwQixLQUFLO2dCQUVHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsU0FBUztzQkFBakIsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFFRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVHLEdBQUc7c0JBQVgsS0FBSztnQkFFRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVHLE9BQU87c0JBQWYsS0FBSztnQkFFRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVJLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRlQWRhcHRlciwgTUFUX0RBVEVfRk9STUFUUyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nLCBNYXREaWFsb2dSZWYsIE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIElucHV0LFxyXG4gIE91dHB1dCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgZm9yd2FyZFJlZixcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBJbmplY3QsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgQ29udHJvbENvbnRhaW5lcixcclxuICBOZ0Zvcm0sXHJcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgRm9ybUJ1aWxkZXIsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBTZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7XHJcbiAgQ29yZUkxOG5TZXJ2aWNlXHJcbn0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBNeWN1cnJlbmN5UGlwZSB9IGZyb20gJy4uLy4uLy4uLy4uL3BpcGVzJztcclxuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7IEN1c3RvbURhdGVGb3JtYXQgfSBmcm9tICcuLi9kYXRlLXBpY2tlci9kYXRlLWZvcm1hdCc7XHJcblxyXG5jb25zdCBDVVNUT01fSU5QVVRfQ09OVFJPTF9WQUxVRV9BQ0NFU1NPUiA9IHtcclxuICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBCYXNlQ29tcG9uZW50KSxcclxuICBtdWx0aTogdHJ1ZSxcclxufTtcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtYmFzZS1jb21wb25lbnQnLFxyXG4gIHRlbXBsYXRlOiAnJyxcclxuICBzdHlsZVVybHM6IFsnLi9iYXNlLWNvbXBvbmVudC5jb21wb25lbnQuc2NzcyddLFxyXG4gIHByb3ZpZGVyczogW0NVU1RPTV9JTlBVVF9DT05UUk9MX1ZBTFVFX0FDQ0VTU09SXSxcclxuICB2aWV3UHJvdmlkZXJzOiBbe3Byb3ZpZGU6IENvbnRyb2xDb250YWluZXIsIHVzZUV4aXN0aW5nOiBOZ0Zvcm19XSxcclxuICBzdGFuZGFsb25lOiB0cnVlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCYXNlQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSBoaWRlT3B0aW9uID0gZmFsc2U7XHJcbiAgLy8gaGlkZU9wdGlvbjogSW5wdXRTaWduYWw8Ym9vbGVhbj4gPSBpbnB1dChmYWxzZSk7XHJcbiAgQElucHV0KCkgdHlwZSA9ICd0ZXh0JztcclxuICAvLyBoaWRlT3B0aW9uOiBJbnB1dFNpZ25hbDxzdHJpbmc+ID0gaW5wdXQoJ3RleHQnKTtcclxuICBASW5wdXQoKSBsb2FkaW5nITogYm9vbGVhbjtcclxuICAvLyBsb2FkaW5nOiBJbnB1dFNpZ25hbDxib29sZWFuPjtcclxuICBASW5wdXQoKSBmaWVsZDogYW55O1xyXG4gICAvLyBsb2FmaWVsZGRpbmc6IElucHV0U2lnbmFsPGFueT47XHJcbiAgQElucHV0KCkgbGFiZWxUZXh0UmVhZE1vZGU6IHN0cmluZztcclxuICAvLyBsYWJlbFRleHRSZWFkTW9kZTogSW5wdXRTaWduYWw8c3RyaW5nPlxyXG4gIEBJbnB1dCgpIGxhYmVsVGV4dFdyaXRlTW9kZTogc3RyaW5nO1xyXG4gIC8vIGxhYmVsVGV4dFdyaXRlTW9kZTogSW5wdXRTaWduYWw8c3RyaW5nPlxyXG4gIEBJbnB1dCgpIGlzUmVhZE9ubHk6IGJvb2xlYW47XHJcbiAgLy8gaXNSZWFkT25seTogSW5wdXRTaWduYWw8Ym9vbGVhbj47XHJcbiAgQElucHV0KCkgbmFtZTogc3RyaW5nO1xyXG4gIC8vIG5hbWU6IElucHV0U2lnbmFsPHN0cmluZz5cclxuICBASW5wdXQoKSByZXF1aXJlZCA9IHRydWU7XHJcbiAgLy8gcmVxdWlyZWQ6IElucHV0U2lnbmFsPGJvb2xlYW4+ID0gaW5wdXQodHJ1ZSk7XHJcbiAgQElucHV0KCkgbWFzazogc3RyaW5nO1xyXG4gIC8vIG1hc2s6IElucHV0U2lnbmFsPHN0cmluZz5cclxuICBASW5wdXQoKSBhbGxvd2VkRXh0ZW5zaW9ucyA9ICcnO1xyXG4gIC8vIGFsbG93ZWRFeHRlbnNpb25zOiBJbnB1dFNpZ25hbDxzdHJpbmc+ID0gaW5wdXQoJycpO1xyXG4gIEBJbnB1dCgpIGxpbms6IGJvb2xlYW47XHJcbiAgLy8gbGluazogSW5wdXRTaWduYWw8Ym9vbGVhbj47XHJcbiAgQElucHV0KCkgbXVsdGlwbGU6IGJvb2xlYW47XHJcbiAgLy8gbXVsdGlwbGU6IElucHV0U2lnbmFsPGJvb2xlYW4+O1xyXG4gIEBJbnB1dCgpIGluc2lkZVRhYmxlOiBib29sZWFuO1xyXG4gIC8vIGluc2lkZVRhYmxlOiBJbnB1dFNpZ25hbDxib29sZWFuPjtcclxuICBASW5wdXQoKSBzaG93SWZFbXB0eSA9IGZhbHNlO1xyXG4gIC8vIHNob3dJZkVtcHR5OiBJbnB1dFNpZ25hbDxib29sZWFuPiA9IGlucHV0KGZhbHNlKTtcclxuICBASW5wdXQoKSBzaG93RXJyb3JNZXNzYWdlOiBib29sZWFuO1xyXG4gIC8vIHNob3dFcnJvck1lc3NhZ2U6IElucHV0U2lnbmFsPGJvb2xlYW4+O1xyXG4gIEBJbnB1dCgpIHNob3dIaW50ID0gZmFsc2U7XHJcbiAgLy8gc2hvd0hpbnQ6IElucHV0U2lnbmFsPGJvb2xlYW4+ID0gaW5wdXQoZmFsc2UpO1xyXG4gIEBJbnB1dCgpIGhpbnQgPSAnJztcclxuICAvLyBoaW50OiBJbnB1dFNpZ25hbDxzdHJpbmc+ID0gaW5wdXQoJycpO1xyXG4gIEBJbnB1dCgpIGVycm9yTWVzc2FnZTogc3RyaW5nO1xyXG4gIC8vIGVycm9yTWVzc2FnZTogSW5wdXRTaWduYWw8c3RyaW5nPlxyXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmdcclxuICAvLyBwbGFjZWhvbGRlcjogSW5wdXRTaWduYWw8c3RyaW5nPlxyXG4gIEBJbnB1dCgpIG1heExlbmd0aDogbnVtYmVyO1xyXG4gIC8vIG1heExlbmd0aDogSW5wdXRTaWduYWw8bnVtYmVyPlxyXG4gIEBJbnB1dCgpIG1pbkxlbmd0aDogbnVtYmVyO1xyXG4gIC8vIG1pbkxlbmd0aDogSW5wdXRTaWduYWw8bnVtYmVyPlxyXG4gIEBJbnB1dCgpIG1heFZhbHVlOiBzdHJpbmc7XHJcbiAgLy8gbWF4VmFsdWU6IElucHV0U2lnbmFsPHN0cmluZz5cclxuICBASW5wdXQoKSBtaW5WYWx1ZTogc3RyaW5nO1xyXG4gIC8vIG1pblZhbHVlOiBJbnB1dFNpZ25hbDxzdHJpbmc+XHJcbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcclxuICAvLyBkaXNhYmxlZDogSW5wdXRTaWduYWw8Ym9vbGVhbj4gPSBpbnB1dChmYWxzZSk7XHJcbiAgQElucHV0KCkgbG92OiBhbnk7XHJcbiAgLy8gbG92OiBJbnB1dFNpZ25hbDxhbnk+XHJcbiAgQElucHV0KCkgaGFzTGFiZWwgPSB0cnVlO1xyXG4gIC8vIGhhc0xhYmVsOiBJbnB1dFNpZ25hbDxib29sZWFuPiA9IGlucHV0KHRydWUpO1xyXG4gIEBJbnB1dCgpIHNlY3Rpb246IFNlY3Rpb247XHJcbiAgLy8gc2VjdGlvbjogSW5wdXRTaWduYWw8U2VjdGlvbj5cclxuICBASW5wdXQoKSBjb250cm9sbGVyOiBGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgpO1xyXG4gIHZhbHVlOiBhbnk7XHJcbiAgQE91dHB1dCgpIGVtaXRlZFZhbHVlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBmaWxlc2l6ZTogc3RyaW5nO1xyXG4gIC8vIHB1YmxpYyBvcHRpb25zOiBhbnk7XHJcbiAgcHVibGljIHJhbmRvbUlEOiBudW1iZXIgPVxyXG4gIE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqICg5OTk5OTkgLSAxMDAwMDApKSArIDEwMDAwMDtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBpMThuOiBDb3JlSTE4blNlcnZpY2UsXHJcbiAgICBwdWJsaWMgaHR0cDogSHR0cENsaWVudCxcclxuICAgIHB1YmxpYyBmYjogRm9ybUJ1aWxkZXIsXHJcbiAgICBwcml2YXRlIGRhdGVBZGFwdGVyOiBEYXRlQWRhcHRlcjxEYXRlPixcclxuICAgIHB1YmxpYyBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwdWJsaWMgZGlhbG9nOiBNYXREaWFsb2csXHJcbiAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8YW55PixcclxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGlhbG9nRGF0YTogYW55LFxyXG4gICAgcHVibGljIG15Y3VycmVuY3lQaXBlOiBNeWN1cnJlbmN5UGlwZSxcclxuICAgIEBJbmplY3QoTUFUX0RBVEVfRk9STUFUUykgcHVibGljIGRhdGVGb3JtYXQ6IEN1c3RvbURhdGVGb3JtYXQsXHJcbiAgICBwdWJsaWMgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXJcclxuICApIHtcclxuICAgIHRoaXMuZGF0ZUFkYXB0ZXIuc2V0TG9jYWxlKHRoaXMuaTE4bi5sYW5ndWFnZSk7XHJcbiAgICB0aGlzLnZhbHVlID0gdGhpcy5maWVsZDtcclxuICAgIHRoaXMuZW1pdGVkVmFsdWUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgICBpZiAodGhpcy5zaG91bGRTZXREYXRlRm9ybWF0ZUluQXIpIHtcclxuICAgICAgZGF0ZUZvcm1hdC5kaXNwbGF5ID0ge2RhdGVJbnB1dDogJ1lZWVkvTU0vREQnfTtcclxuICAgICAgZGF0ZUZvcm1hdC5wYXJzZSA9IHtkYXRlSW5wdXQ6ICdZWVlZL01NL0REJ307XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXQgc2hvdWxkU2V0RGF0ZUZvcm1hdGVJbkFyKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaTE4bi5sYW5ndWFnZSA9PSAnYXInO1xyXG4gIH1cclxuXHJcbiAgcmVzZXREYXRhKCkge1xyXG4gICAgaWYgKCF0aGlzLmlzUmVhZE9ubHkpIHtcclxuICAgICAgdGhpcy5maWVsZCA9ICcnO1xyXG4gICAgICB0aGlzLmNvbnRyb2xsZXIuc2V0VmFsdWUodGhpcy5maWVsZClcclxuICAgICAgdGhpcy5jb250cm9sbGVyLm1hcmtBc1VudG91Y2hlZCgpXHJcbiAgICAgIHRoaXMuZW1pdGVkVmFsdWUuZW1pdCh0aGlzLmZpZWxkKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,69 @@
1
+ /* eslint-disable @typescript-eslint/no-empty-function */
2
+ /* eslint-disable @angular-eslint/use-lifecycle-interface */
3
+ /* eslint-disable @angular-eslint/component-selector */
4
+ import { Component, CUSTOM_ELEMENTS_SCHEMA, EventEmitter, Input, Output } from '@angular/core';
5
+ import { BaseComponent } from '../base-component/base-component.component';
6
+ import { MatCheckbox } from "@angular/material/checkbox";
7
+ import { FormsModule } from "@angular/forms";
8
+ import { NgIf } from "@angular/common";
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@angular/forms";
11
+ export class CheckBoxComponent extends BaseComponent {
12
+ containTerms;
13
+ termsLabel;
14
+ linkText;
15
+ hrefLink;
16
+ downloadCheckBox = new EventEmitter();
17
+ ngOnInit() {
18
+ this.value = this.field ? JSON.parse(this.field) : false;
19
+ // this.resetPropagator.subscribe(this, this.resetCheckBoxData);
20
+ }
21
+ resetCheckBoxData() {
22
+ if (!this.isReadOnly) {
23
+ this.emitedValue.emit('false');
24
+ this.value = false;
25
+ }
26
+ }
27
+ openUrl() {
28
+ window.open(this.hrefLink);
29
+ }
30
+ valueChange(event) {
31
+ const checked = event.checked;
32
+ this.value = checked;
33
+ this.field = (checked).toString();
34
+ this.emitedValue.emit(this.field);
35
+ }
36
+ downloadFile() {
37
+ this.downloadCheckBox.emit();
38
+ }
39
+ openTermsPopup() {
40
+ // const dialogRef = this.dialog.open(TermsConditionsComponent, {
41
+ // data: this.termsBody,
42
+ // width: '700px',
43
+ // panelClass: ['main-popup'],
44
+ // });
45
+ // dialogRef.afterClosed().subscribe(() => {
46
+ // });
47
+ }
48
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: CheckBoxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
49
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: CheckBoxComponent, isStandalone: true, selector: "app-checkbox", inputs: { containTerms: "containTerms", termsLabel: "termsLabel", linkText: "linkText", hrefLink: "hrefLink" }, outputs: { downloadCheckBox: "downloadCheckBox" }, usesInheritance: true, ngImport: i0, template: "<mat-checkbox\r\n class=\"my-3\" [disabled]=\"isReadOnly || disabled\" id=\"{{name}}{{randomID}}\" [(ngModel)]=\"value\" [name]=\"name\"\r\n (change)=\"valueChange($event)\" [checked]=\"field\"\r\n>\r\n <span class=\"fs-12 fw-medium fc-onyx\">\r\n {{ isReadOnly ? labelTextReadMode : labelTextWriteMode }}\r\n </span>\r\n <span\r\n class=\"fs-12 fw-bold fc-coral cursor-pointer mx-1\" *ngIf=\"containTerms\"\r\n (click)=\"openTermsPopup(); false\">\r\n {{ termsLabel ? termsLabel : i18n.translate('termsAndConditions') }}\r\n </span>\r\n <ng-container *ngIf=\"link\">\r\n <span> | </span>\r\n <a class=\"fs-12 fw-bold fc-coral cursor-pointer mx-1 d-inline-flex align-items-center gap-1\" href=\"{{hrefLink}}\" target=\"_blank\">\r\n <ds-icon icon=\"external-link\"></ds-icon>\r\n <span class=\"underline\">{{ linkText }}</span>\r\n </a>\r\n </ng-container>\r\n <!-- <a *ngIf=\"containDownload\" style=\"color: blue;\" class=\"fs-12 fw-bold fc-coral cursor-pointer mx-1\" href=\"{{hrefLink}}\" target=\"_top\"> {{termsLabel}}</a> -->\r\n</mat-checkbox>\r\n", styles: [".checkbox{margin-top:10px!important;position:relative;margin-bottom:0!important}.checkbox label{padding-left:30px;font-size:14px;color:#414142}.checkbox input[type=checkbox]{opacity:0}.checkbox input[type=checkbox]+label.checkboxInput{position:absolute;width:25px;height:25px;top:0;left:0;padding-left:0}@media (max-width: 768px){.checkbox input[type=checkbox]+label.checkboxInput{top:8px!important}}.checkbox input[type=checkbox]+label.checkboxInput:before{content:\"\\f096\";font-family:FontAwesome;font-size:25px;display:block;margin-top:-7px;color:#ddd}.checkbox input[type=checkbox]:checked+label.checkboxInput:before{content:\"\\f14a\";color:#da3f7b;background-color:#fff}.rtlCheckbox.checkbox input[type=checkbox]+label.checkboxInput{left:inherit;right:0;padding-left:0;padding-right:0}.rtlCheckbox.checkbox label{padding-left:0;padding-right:30px}\n"], dependencies: [{ kind: "component", type: MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
50
+ }
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: CheckBoxComponent, decorators: [{
52
+ type: Component,
53
+ args: [{ selector: 'app-checkbox', schemas: [CUSTOM_ELEMENTS_SCHEMA], imports: [
54
+ MatCheckbox,
55
+ FormsModule,
56
+ NgIf
57
+ ], standalone: true, template: "<mat-checkbox\r\n class=\"my-3\" [disabled]=\"isReadOnly || disabled\" id=\"{{name}}{{randomID}}\" [(ngModel)]=\"value\" [name]=\"name\"\r\n (change)=\"valueChange($event)\" [checked]=\"field\"\r\n>\r\n <span class=\"fs-12 fw-medium fc-onyx\">\r\n {{ isReadOnly ? labelTextReadMode : labelTextWriteMode }}\r\n </span>\r\n <span\r\n class=\"fs-12 fw-bold fc-coral cursor-pointer mx-1\" *ngIf=\"containTerms\"\r\n (click)=\"openTermsPopup(); false\">\r\n {{ termsLabel ? termsLabel : i18n.translate('termsAndConditions') }}\r\n </span>\r\n <ng-container *ngIf=\"link\">\r\n <span> | </span>\r\n <a class=\"fs-12 fw-bold fc-coral cursor-pointer mx-1 d-inline-flex align-items-center gap-1\" href=\"{{hrefLink}}\" target=\"_blank\">\r\n <ds-icon icon=\"external-link\"></ds-icon>\r\n <span class=\"underline\">{{ linkText }}</span>\r\n </a>\r\n </ng-container>\r\n <!-- <a *ngIf=\"containDownload\" style=\"color: blue;\" class=\"fs-12 fw-bold fc-coral cursor-pointer mx-1\" href=\"{{hrefLink}}\" target=\"_top\"> {{termsLabel}}</a> -->\r\n</mat-checkbox>\r\n", styles: [".checkbox{margin-top:10px!important;position:relative;margin-bottom:0!important}.checkbox label{padding-left:30px;font-size:14px;color:#414142}.checkbox input[type=checkbox]{opacity:0}.checkbox input[type=checkbox]+label.checkboxInput{position:absolute;width:25px;height:25px;top:0;left:0;padding-left:0}@media (max-width: 768px){.checkbox input[type=checkbox]+label.checkboxInput{top:8px!important}}.checkbox input[type=checkbox]+label.checkboxInput:before{content:\"\\f096\";font-family:FontAwesome;font-size:25px;display:block;margin-top:-7px;color:#ddd}.checkbox input[type=checkbox]:checked+label.checkboxInput:before{content:\"\\f14a\";color:#da3f7b;background-color:#fff}.rtlCheckbox.checkbox input[type=checkbox]+label.checkboxInput{left:inherit;right:0;padding-left:0;padding-right:0}.rtlCheckbox.checkbox label{padding-left:0;padding-right:30px}\n"] }]
58
+ }], propDecorators: { containTerms: [{
59
+ type: Input
60
+ }], termsLabel: [{
61
+ type: Input
62
+ }], linkText: [{
63
+ type: Input
64
+ }], hrefLink: [{
65
+ type: Input
66
+ }], downloadCheckBox: [{
67
+ type: Output
68
+ }] } });
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzL2Zvcm0tZmllbGQvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzL2Zvcm0tZmllbGQvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEseURBQXlEO0FBQ3pELDREQUE0RDtBQUM1RCx1REFBdUQ7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxzQkFBc0IsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDM0UsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0saUJBQWlCLENBQUM7OztBQWVyQyxNQUFNLE9BQU8saUJBQWtCLFNBQVEsYUFBYTtJQUN6QyxZQUFZLENBQVU7SUFDdEIsVUFBVSxDQUFTO0lBQ25CLFFBQVEsQ0FBUztJQUNqQixRQUFRLENBQVM7SUFDaEIsZ0JBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUNoRCxRQUFRO1FBQ04sSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBRXpELGdFQUFnRTtJQUNsRSxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQTtZQUM5QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNyQixDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU87UUFDTCxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUM1QixDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQVU7UUFDcEIsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUM5QixJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQztRQUNyQixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ25DLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxDQUFBO0lBQzlCLENBQUM7SUFFRCxjQUFjO1FBQ1osaUVBQWlFO1FBQ2pFLDBCQUEwQjtRQUMxQixvQkFBb0I7UUFDcEIsZ0NBQWdDO1FBQ2hDLE1BQU07UUFFTiw0Q0FBNEM7UUFDNUMsTUFBTTtJQUNSLENBQUM7dUdBM0NVLGlCQUFpQjsyRkFBakIsaUJBQWlCLGtRQ3RCOUIseWtDQXFCQSxtNUJETkksV0FBVyx1VkFDWCxXQUFXLCtWQUNYLElBQUk7OzJGQUtLLGlCQUFpQjtrQkFiN0IsU0FBUzsrQkFDRSxjQUFjLFdBR2YsQ0FBQyxzQkFBc0IsQ0FBQyxXQUN4Qjt3QkFDUCxXQUFXO3dCQUNYLFdBQVc7d0JBQ1gsSUFBSTtxQkFDTCxjQUNXLElBQUk7OEJBSVAsWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDSSxnQkFBZ0I7c0JBQXpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb24gKi9cclxuLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L3VzZS1saWZlY3ljbGUtaW50ZXJmYWNlICovXHJcbi8qIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3IgKi9cclxuaW1wb3J0IHsgQ29tcG9uZW50LCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UtY29tcG9uZW50L2Jhc2UtY29tcG9uZW50LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7TWF0Q2hlY2tib3h9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveFwiO1xyXG5pbXBvcnQge0Zvcm1zTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHtOZ0lmfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1jaGVja2JveCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NoZWNrYm94LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jaGVja2JveC5jb21wb25lbnQuc2NzcyddLFxyXG4gIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBNYXRDaGVja2JveCxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgTmdJZlxyXG4gIF0sXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZVxyXG5cclxufSlcclxuZXhwb3J0IGNsYXNzIENoZWNrQm94Q29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgY29udGFpblRlcm1zOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIHRlcm1zTGFiZWw6IHN0cmluZztcclxuICBASW5wdXQoKSBsaW5rVGV4dDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGhyZWZMaW5rOiBzdHJpbmc7XHJcbiAgQE91dHB1dCgpIGRvd25sb2FkQ2hlY2tCb3ggPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnZhbHVlID0gdGhpcy5maWVsZCA/IEpTT04ucGFyc2UodGhpcy5maWVsZCkgOiBmYWxzZTtcclxuXHJcbiAgICAvLyB0aGlzLnJlc2V0UHJvcGFnYXRvci5zdWJzY3JpYmUodGhpcywgdGhpcy5yZXNldENoZWNrQm94RGF0YSk7XHJcbiAgfVxyXG5cclxuICByZXNldENoZWNrQm94RGF0YSgpIHtcclxuICAgIGlmICghdGhpcy5pc1JlYWRPbmx5KSB7XHJcbiAgICAgIHRoaXMuZW1pdGVkVmFsdWUuZW1pdCgnZmFsc2UnKVxyXG4gICAgICB0aGlzLnZhbHVlID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvcGVuVXJsKCl7XHJcbiAgICB3aW5kb3cub3Blbih0aGlzLmhyZWZMaW5rKVxyXG4gIH1cclxuXHJcbiAgdmFsdWVDaGFuZ2UoZXZlbnQ6IGFueSkge1xyXG4gICAgY29uc3QgY2hlY2tlZCA9IGV2ZW50LmNoZWNrZWQ7XHJcbiAgICB0aGlzLnZhbHVlID0gY2hlY2tlZDtcclxuICAgIHRoaXMuZmllbGQgPSAoY2hlY2tlZCkudG9TdHJpbmcoKTtcclxuICAgIHRoaXMuZW1pdGVkVmFsdWUuZW1pdCh0aGlzLmZpZWxkKVxyXG4gIH1cclxuXHJcbiAgZG93bmxvYWRGaWxlKCl7XHJcbiAgICB0aGlzLmRvd25sb2FkQ2hlY2tCb3guZW1pdCgpXHJcbiAgfVxyXG5cclxuICBvcGVuVGVybXNQb3B1cCgpOiB2b2lkIHtcclxuICAgIC8vIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oVGVybXNDb25kaXRpb25zQ29tcG9uZW50LCB7XHJcbiAgICAvLyAgIGRhdGE6IHRoaXMudGVybXNCb2R5LFxyXG4gICAgLy8gICB3aWR0aDogJzcwMHB4JyxcclxuICAgIC8vICAgcGFuZWxDbGFzczogWydtYWluLXBvcHVwJ10sXHJcbiAgICAvLyB9KTtcclxuXHJcbiAgICAvLyBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgLy8gfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxtYXQtY2hlY2tib3hcclxuICBjbGFzcz1cIm15LTNcIiBbZGlzYWJsZWRdPVwiaXNSZWFkT25seSB8fCBkaXNhYmxlZFwiIGlkPVwie3tuYW1lfX17e3JhbmRvbUlEfX1cIiBbKG5nTW9kZWwpXT1cInZhbHVlXCIgW25hbWVdPVwibmFtZVwiXHJcbiAgKGNoYW5nZSk9XCJ2YWx1ZUNoYW5nZSgkZXZlbnQpXCIgW2NoZWNrZWRdPVwiZmllbGRcIlxyXG4+XHJcbiAgPHNwYW4gY2xhc3M9XCJmcy0xMiBmdy1tZWRpdW0gZmMtb255eFwiPlxyXG4gICAge3sgaXNSZWFkT25seSA/IGxhYmVsVGV4dFJlYWRNb2RlIDogbGFiZWxUZXh0V3JpdGVNb2RlIH19XHJcbiAgPC9zcGFuPlxyXG4gIDxzcGFuXHJcbiAgICBjbGFzcz1cImZzLTEyIGZ3LWJvbGQgZmMtY29yYWwgY3Vyc29yLXBvaW50ZXIgbXgtMVwiICpuZ0lmPVwiY29udGFpblRlcm1zXCJcclxuICAgIChjbGljayk9XCJvcGVuVGVybXNQb3B1cCgpOyBmYWxzZVwiPlxyXG4gICAge3sgdGVybXNMYWJlbCA/IHRlcm1zTGFiZWwgOiBpMThuLnRyYW5zbGF0ZSgndGVybXNBbmRDb25kaXRpb25zJykgfX1cclxuICA8L3NwYW4+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxpbmtcIj5cclxuICAgIDxzcGFuPiB8IDwvc3Bhbj5cclxuICAgIDxhIGNsYXNzPVwiZnMtMTIgZnctYm9sZCBmYy1jb3JhbCBjdXJzb3ItcG9pbnRlciBteC0xIGQtaW5saW5lLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0xXCIgaHJlZj1cInt7aHJlZkxpbmt9fVwiIHRhcmdldD1cIl9ibGFua1wiPlxyXG4gICAgICA8ZHMtaWNvbiBpY29uPVwiZXh0ZXJuYWwtbGlua1wiPjwvZHMtaWNvbj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJ1bmRlcmxpbmVcIj57eyBsaW5rVGV4dCB9fTwvc3Bhbj5cclxuICAgIDwvYT5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8IS0tIDxhICpuZ0lmPVwiY29udGFpbkRvd25sb2FkXCIgc3R5bGU9XCJjb2xvcjogYmx1ZTtcIiBjbGFzcz1cImZzLTEyIGZ3LWJvbGQgZmMtY29yYWwgY3Vyc29yLXBvaW50ZXIgbXgtMVwiIGhyZWY9XCJ7e2hyZWZMaW5rfX1cIiB0YXJnZXQ9XCJfdG9wXCI+IHt7dGVybXNMYWJlbH19PC9hPiAtLT5cclxuPC9tYXQtY2hlY2tib3g+XHJcbiJdfQ==
@@ -0,0 +1,201 @@
1
+ /* eslint-disable @typescript-eslint/no-this-alias */
2
+ /* eslint-disable no-var */
3
+ import { ReactiveFormsModule, Validators } from '@angular/forms';
4
+ /* eslint-disable @typescript-eslint/no-explicit-any */
5
+ /* eslint-disable @angular-eslint/use-lifecycle-interface */
6
+ /* eslint-disable @angular-eslint/component-selector */
7
+ import { Component, Input, Output, EventEmitter } from '@angular/core';
8
+ import { FormControl } from '@angular/forms';
9
+ import { MatError, MatFormField, MatHint } from '@angular/material/form-field';
10
+ import { map, startWith } from 'rxjs/operators';
11
+ import { BaseComponent } from '../base-component/base-component.component';
12
+ import { InfoItemComponent } from "../info-item/info-item.component";
13
+ import { AsyncPipe, NgClass, NgForOf, NgIf } from "@angular/common";
14
+ import { MatAutocomplete, MatAutocompleteTrigger, MatOption } from "@angular/material/autocomplete";
15
+ import * as i0 from "@angular/core";
16
+ import * as i1 from "@angular/forms";
17
+ export class CustomSearchableComponent extends BaseComponent {
18
+ myControl = new FormControl();
19
+ options;
20
+ label;
21
+ selectedValue = new EventEmitter();
22
+ resetByDeleteBtn = new EventEmitter();
23
+ isLengthGreaterThan4 = new EventEmitter();
24
+ noData = false;
25
+ filteredOptions;
26
+ // @Input() floatLabel: FloatLabelType = 'auto';
27
+ floatLabel = 'auto';
28
+ className = 'bordered-input';
29
+ // @Input() disabled: boolean = false;
30
+ // form: FormGroup = new FormGroup({});
31
+ ngOnInit() {
32
+ // this.resetPropagator.subscribe(this, this.clearInput);
33
+ if (this.field?.key) {
34
+ const obj = {
35
+ description: this.field.value,
36
+ value: this.field.key
37
+ };
38
+ this.myControl.setValue(obj);
39
+ }
40
+ if (this.required) {
41
+ this.controller.setValidators([Validators.required]);
42
+ }
43
+ // var leftDomain = false;
44
+ // const self = this
45
+ // var interval = setInterval(function () {
46
+ // try {
47
+ // if (self.field?.key) {
48
+ // if (self.lov?.options?.length) {
49
+ // const obj = {
50
+ // description: self.field.value,
51
+ // value: self.field.key
52
+ // }
53
+ // self.myControl.setValue(obj)
54
+ // }
55
+ // else {
56
+ // leftDomain = true;
57
+ // }
58
+ // } else {
59
+ // leftDomain = true;
60
+ // }
61
+ // }
62
+ // catch (e) {
63
+ // if (leftDomain || !self.field?.key) {
64
+ // clearInterval(interval);
65
+ // return;
66
+ // }
67
+ // leftDomain = true;
68
+ // }
69
+ // }, 1000);
70
+ }
71
+ clearInput() {
72
+ if (!this.isReadOnly) {
73
+ this.myControl.setValue(null);
74
+ this.controller.setValue(null);
75
+ this.emitedValue.emit({
76
+ key: null,
77
+ value: null
78
+ });
79
+ }
80
+ }
81
+ onKeyDown(e, input) {
82
+ setTimeout(() => {
83
+ //reset in case no value and delete or backspace pressed
84
+ if ((e.keyCode == 8 || e.keyCode == 46) && !this.myControl.value) {
85
+ if (this.field) {
86
+ this.field.key = null;
87
+ this.field.value = null;
88
+ }
89
+ this.myControl.setValue(null);
90
+ input.focus();
91
+ this.resetByDeleteBtn.emit();
92
+ }
93
+ });
94
+ }
95
+ ngOnChanges(changes) {
96
+ console.log(changes);
97
+ if (changes?.['disabled']) {
98
+ changes?.['disabled']?.currentValue ? this.myControl.disable() : this.myControl.enable();
99
+ }
100
+ if (changes?.['field']?.currentValue?.key == null) {
101
+ // this.myControl.setValue(null)
102
+ }
103
+ else {
104
+ this.controller.setValue(changes['field'].currentValue.key);
105
+ }
106
+ this.loading = !!(changes['loading'] && changes['loading'].currentValue);
107
+ if (changes['options'] && changes['options'].currentValue) {
108
+ // this.loading = true
109
+ this.options = changes['options'].currentValue;
110
+ if (this.options.length > 0) {
111
+ // console.log('yes')
112
+ this.noData = false;
113
+ // this.loading = false
114
+ this.filteredOptions = this.myControl.valueChanges.pipe(startWith(''), map(value => {
115
+ console.log(value);
116
+ return (value ? this._filter(value) : this.options.slice(0, 30));
117
+ }));
118
+ }
119
+ else {
120
+ this.noData = true;
121
+ }
122
+ }
123
+ }
124
+ onValueChange() {
125
+ // this.myControl.setErrors({'incorrect': true});
126
+ }
127
+ focusOutFunction(event) {
128
+ console.log("event", event);
129
+ // if(!this.field.key || !this.myControl?.valid){
130
+ // this.clearInput()
131
+ // // this.field.key=null
132
+ // // this.myControl.setValue(null);
133
+ // }
134
+ }
135
+ _filter(value) {
136
+ const filterValue = typeof value === 'string' ? value?.toLowerCase() : value;
137
+ return this.options.filter((option) => Object.values(option).join('')?.toLowerCase().includes(filterValue)).slice(0, 30);
138
+ }
139
+ displayFn(option) {
140
+ return option ? option.description : '';
141
+ }
142
+ getAutoComplete(value) {
143
+ console.log('value', value);
144
+ if (this.name == 'organizationDetails') {
145
+ this.emitedValue.emit({
146
+ key: value.value,
147
+ orgId: value.orgId,
148
+ value: value.description
149
+ });
150
+ }
151
+ else {
152
+ this.myControl.setValue(value.value);
153
+ this.emitedValue.emit({
154
+ key: value.value,
155
+ value: value.description
156
+ });
157
+ }
158
+ }
159
+ onLoadOptions(event) {
160
+ const input = event.target.value;
161
+ if (input.length >= 4) {
162
+ this.isLengthGreaterThan4.emit(input);
163
+ }
164
+ }
165
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: CustomSearchableComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
166
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: CustomSearchableComponent, isStandalone: true, selector: "app-custom-searchable", inputs: { myControl: "myControl", options: "options", label: "label", floatLabel: "floatLabel", className: "className" }, outputs: { selectedValue: "selectedValue", resetByDeleteBtn: "resetByDeleteBtn", isLengthGreaterThan4: "isLengthGreaterThan4" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"isReadOnly && field?.value\">\r\n <app-info-item class=\"info-item w-100\" [label]=\"label\" [insideTable]=\"insideTable\" [hasLabel]=\"hasLabel\" [value]=\"field?.value\"></app-info-item>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"!isReadOnly\">\r\n <div class=\"d-flex justify-content-between mb-1\" *ngIf=\"hasLabel\">\r\n <span class=\"form-label mb-0\">{{label}}</span>\r\n <span *ngIf=\"!required\" class=\"fs-11 fc-dark-gray\">\r\n {{i18n.translate('Optional')}}\r\n </span>\r\n </div>\r\n <mat-form-field class=\"primary-form {{className}}\" [ngClass]=\"{'input-disabled' : (disabled || loading) }\"\r\n [floatLabel]=\"floatLabel\" >\r\n <!-- (click)=\"clearInput()\" -->\r\n <span class=\"sfi sfi-search fc-coral fs-18\" matPrefix></span>\r\n <label class=\"mat-form-content\">\r\n <!-- <bdi> -->\r\n <input #autocompleteInput type=\"text\" (keydown)=\"onKeyDown($event, autocompleteInput)\" [attr.disabled]=\"disabled \" [placeholder]=\"label\" aria-label=\"Number\" matInput\r\n (input)=\"onValueChange()\" [formControl]=\"myControl\"\r\n [value]=\"field?.value\" ngDefaultControl [name]=\"name\" [matAutocomplete]=\"auto\">\r\n <!-- </bdi> -->\r\n </label>\r\n <span class=\"sfi sfi-spinner d-inline-block spin fc-coral\" matSuffix *ngIf=\"loading\"></span>\r\n <span class=\"sfi sfi-close d-inline-block fc-black cursor-pointer\" (click)=\"clearInput()\" matSuffix\r\n *ngIf=\"!loading && field?.value\"></span>\r\n <mat-autocomplete autoActiveFirstOption #auto=\"matAutocomplete\" [displayWith]=\"displayFn\" \r\n (optionSelected)='getAutoComplete($event.option.value)'>\r\n <ng-container *ngIf=\"!noData\">\r\n <mat-option *ngFor=\"let option of filteredOptions | async\" [value]=\"option\">\r\n <div class=\"d-flex align-items-center\">\r\n <figure *ngIf=\"option['avatar_url']\" class=\"img-card small circled-img p-0 m-0\">\r\n <img [src]=\"option['avatar_url']\" alt=\"\">\r\n </figure>\r\n <span *ngIf=\"option['avatar_url']\" class=\"mx-2\"></span>\r\n <!-- <bdi> -->\r\n {{option['description']}}\r\n <!-- </bdi> -->\r\n </div>\r\n </mat-option>\r\n </ng-container>\r\n <ng-container *ngIf=\"noData\">\r\n <mat-option [disabled]=\"true\" class=\"text-center\">No Data</mat-option>\r\n </ng-container>\r\n </mat-autocomplete>\r\n <mat-error class=\"mb-2\" *ngIf=\"(!myControl?.valid)\">{{i18n.translate('validSelectError')}}{{label}}\r\n </mat-error>\r\n <mat-hint *ngIf=\"showHint\">\r\n <span class=\"sfi sfi-check-circle font-10 fc-dark-gray\" [ngClass]=\"{'fc-oasis-light-imp':value}\"></span>\r\n <span class=\"mx-1\"></span>\r\n <span class=\"fs-12 fc-onyx\">{{hint}}</span>\r\n </mat-hint>\r\n </mat-form-field>\r\n</ng-container>\r\n", styles: [".small-input~.btn{height:41px}:host{flex-grow:1}\n"], dependencies: [{ kind: "component", type: InfoItemComponent, selector: "app-info-item", inputs: ["label", "value", "name", "type", "dateType", "multiple", "insideTable", "hasLabel", "arrayList", "actionType", "download"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "directive", type: MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }] });
167
+ }
168
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: CustomSearchableComponent, decorators: [{
169
+ type: Component,
170
+ args: [{ selector: 'app-custom-searchable', imports: [
171
+ InfoItemComponent,
172
+ NgClass,
173
+ NgIf,
174
+ ReactiveFormsModule,
175
+ MatAutocomplete,
176
+ MatOption,
177
+ AsyncPipe,
178
+ MatAutocompleteTrigger,
179
+ MatError,
180
+ MatHint,
181
+ NgForOf,
182
+ MatFormField
183
+ ], standalone: true, template: "<ng-container *ngIf=\"isReadOnly && field?.value\">\r\n <app-info-item class=\"info-item w-100\" [label]=\"label\" [insideTable]=\"insideTable\" [hasLabel]=\"hasLabel\" [value]=\"field?.value\"></app-info-item>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"!isReadOnly\">\r\n <div class=\"d-flex justify-content-between mb-1\" *ngIf=\"hasLabel\">\r\n <span class=\"form-label mb-0\">{{label}}</span>\r\n <span *ngIf=\"!required\" class=\"fs-11 fc-dark-gray\">\r\n {{i18n.translate('Optional')}}\r\n </span>\r\n </div>\r\n <mat-form-field class=\"primary-form {{className}}\" [ngClass]=\"{'input-disabled' : (disabled || loading) }\"\r\n [floatLabel]=\"floatLabel\" >\r\n <!-- (click)=\"clearInput()\" -->\r\n <span class=\"sfi sfi-search fc-coral fs-18\" matPrefix></span>\r\n <label class=\"mat-form-content\">\r\n <!-- <bdi> -->\r\n <input #autocompleteInput type=\"text\" (keydown)=\"onKeyDown($event, autocompleteInput)\" [attr.disabled]=\"disabled \" [placeholder]=\"label\" aria-label=\"Number\" matInput\r\n (input)=\"onValueChange()\" [formControl]=\"myControl\"\r\n [value]=\"field?.value\" ngDefaultControl [name]=\"name\" [matAutocomplete]=\"auto\">\r\n <!-- </bdi> -->\r\n </label>\r\n <span class=\"sfi sfi-spinner d-inline-block spin fc-coral\" matSuffix *ngIf=\"loading\"></span>\r\n <span class=\"sfi sfi-close d-inline-block fc-black cursor-pointer\" (click)=\"clearInput()\" matSuffix\r\n *ngIf=\"!loading && field?.value\"></span>\r\n <mat-autocomplete autoActiveFirstOption #auto=\"matAutocomplete\" [displayWith]=\"displayFn\" \r\n (optionSelected)='getAutoComplete($event.option.value)'>\r\n <ng-container *ngIf=\"!noData\">\r\n <mat-option *ngFor=\"let option of filteredOptions | async\" [value]=\"option\">\r\n <div class=\"d-flex align-items-center\">\r\n <figure *ngIf=\"option['avatar_url']\" class=\"img-card small circled-img p-0 m-0\">\r\n <img [src]=\"option['avatar_url']\" alt=\"\">\r\n </figure>\r\n <span *ngIf=\"option['avatar_url']\" class=\"mx-2\"></span>\r\n <!-- <bdi> -->\r\n {{option['description']}}\r\n <!-- </bdi> -->\r\n </div>\r\n </mat-option>\r\n </ng-container>\r\n <ng-container *ngIf=\"noData\">\r\n <mat-option [disabled]=\"true\" class=\"text-center\">No Data</mat-option>\r\n </ng-container>\r\n </mat-autocomplete>\r\n <mat-error class=\"mb-2\" *ngIf=\"(!myControl?.valid)\">{{i18n.translate('validSelectError')}}{{label}}\r\n </mat-error>\r\n <mat-hint *ngIf=\"showHint\">\r\n <span class=\"sfi sfi-check-circle font-10 fc-dark-gray\" [ngClass]=\"{'fc-oasis-light-imp':value}\"></span>\r\n <span class=\"mx-1\"></span>\r\n <span class=\"fs-12 fc-onyx\">{{hint}}</span>\r\n </mat-hint>\r\n </mat-form-field>\r\n</ng-container>\r\n", styles: [".small-input~.btn{height:41px}:host{flex-grow:1}\n"] }]
184
+ }], propDecorators: { myControl: [{
185
+ type: Input
186
+ }], options: [{
187
+ type: Input
188
+ }], label: [{
189
+ type: Input
190
+ }], selectedValue: [{
191
+ type: Output
192
+ }], resetByDeleteBtn: [{
193
+ type: Output
194
+ }], isLengthGreaterThan4: [{
195
+ type: Output
196
+ }], floatLabel: [{
197
+ type: Input
198
+ }], className: [{
199
+ type: Input
200
+ }] } });
201
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXNlYXJjaGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzL2Zvcm0tZmllbGQvY3VzdG9tLXNlYXJjaGFibGUtYXV0b2NvbXBsZXRlL2N1c3RvbS1zZWFyY2hhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JwbS1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9zaGFyZWQtY29tcG9uZW50cy9mb3JtLWZpZWxkL2N1c3RvbS1zZWFyY2hhYmxlLWF1dG9jb21wbGV0ZS9jdXN0b20tc2VhcmNoYWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxxREFBcUQ7QUFDckQsMkJBQTJCO0FBQzNCLE9BQU8sRUFBQyxtQkFBbUIsRUFBRSxVQUFVLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvRCx1REFBdUQ7QUFDdkQsNERBQTREO0FBQzVELHVEQUF1RDtBQUN2RCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUF5QyxNQUFNLGVBQWUsQ0FBQztBQUM5RyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFpQixRQUFRLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQzdGLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFaEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzNFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ25FLE9BQU8sRUFBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxJ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Z01BQ2pCLE9BQU8sb0ZBQ1AsSUFBSSw0RkFDSixtQkFBbUIsMGtCQUNuQixlQUFlLHlXQUNmLFNBQVMsZ0pBQ1QsU0FBUyw4Q0FDVCxzQkFBc0IscVFBQ3RCLFFBQVEsa0ZBQ1IsT0FBTyw4RUFDUCxPQUFPLG1IQUNQLFlBQVk7OzJGQU9ILHlCQUF5QjtrQkF2QnJDLFNBQVM7K0JBQ0UsdUJBQXVCLFdBR3hCO3dCQUNQLGlCQUFpQjt3QkFDakIsT0FBTzt3QkFDUCxJQUFJO3dCQUNKLG1CQUFtQjt3QkFDbkIsZUFBZTt3QkFDZixTQUFTO3dCQUNULFNBQVM7d0JBQ1Qsc0JBQXNCO3dCQUN0QixRQUFRO3dCQUNSLE9BQU87d0JBQ1AsT0FBTzt3QkFDUCxZQUFZO3FCQUNiLGNBQ1csSUFBSTs4QkFNUCxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0ksYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBQ0csb0JBQW9CO3NCQUE3QixNQUFNO2dCQUlFLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby10aGlzLWFsaWFzICovXHJcbi8qIGVzbGludC1kaXNhYmxlIG5vLXZhciAqL1xyXG5pbXBvcnQge1JlYWN0aXZlRm9ybXNNb2R1bGUsIFZhbGlkYXRvcnN9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xyXG4vKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvdXNlLWxpZmVjeWNsZS1pbnRlcmZhY2UgKi9cclxuLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvciAqL1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgU2ltcGxlQ2hhbmdlcywgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHtGbG9hdExhYmVsVHlwZSwgTWF0RXJyb3IsIE1hdEZvcm1GaWVsZCwgTWF0SGludH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IG1hcCwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UtY29tcG9uZW50L2Jhc2UtY29tcG9uZW50LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7SW5mb0l0ZW1Db21wb25lbnR9IGZyb20gXCIuLi9pbmZvLWl0ZW0vaW5mby1pdGVtLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge0FzeW5jUGlwZSwgTmdDbGFzcywgTmdGb3JPZiwgTmdJZn0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQge01hdEF1dG9jb21wbGV0ZSwgTWF0QXV0b2NvbXBsZXRlVHJpZ2dlciwgTWF0T3B0aW9ufSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlXCI7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtY3VzdG9tLXNlYXJjaGFibGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jdXN0b20tc2VhcmNoYWJsZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY3VzdG9tLXNlYXJjaGFibGUuY29tcG9uZW50LnNjc3MnXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBJbmZvSXRlbUNvbXBvbmVudCxcclxuICAgIE5nQ2xhc3MsXHJcbiAgICBOZ0lmLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIE1hdEF1dG9jb21wbGV0ZSxcclxuICAgIE1hdE9wdGlvbixcclxuICAgIEFzeW5jUGlwZSxcclxuICAgIE1hdEF1dG9jb21wbGV0ZVRyaWdnZXIsXHJcbiAgICBNYXRFcnJvcixcclxuICAgIE1hdEhpbnQsXHJcbiAgICBOZ0Zvck9mLFxyXG4gICAgTWF0Rm9ybUZpZWxkXHJcbiAgXSxcclxuICBzdGFuZGFsb25lOiB0cnVlXHJcbn0pXHJcblxyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBDdXN0b21TZWFyY2hhYmxlQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgbXlDb250cm9sOiBGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgpO1xyXG4gIEBJbnB1dCgpIG9wdGlvbnMhOiBhbnk7XHJcbiAgQElucHV0KCkgbGFiZWwhOiBzdHJpbmc7XHJcbiAgQE91dHB1dCgpIHNlbGVjdGVkVmFsdWUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIHJlc2V0QnlEZWxldGVCdG4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGlzTGVuZ3RoR3JlYXRlclRoYW40ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIG5vRGF0YSA9IGZhbHNlO1xyXG4gIGZpbHRlcmVkT3B0aW9ucyE6IE9ic2VydmFibGU8YW55PjtcclxuICAvLyBASW5wdXQoKSBmbG9hdExhYmVsOiBGbG9hdExhYmVsVHlwZSA9ICdhdXRvJztcclxuICBASW5wdXQoKSBmbG9hdExhYmVsOiBhbnkgPSAnYXV0byc7XHJcbiAgQElucHV0KCkgY2xhc3NOYW1lID0gJ2JvcmRlcmVkLWlucHV0JztcclxuICAvLyBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIC8vIGZvcm06IEZvcm1Hcm91cCA9IG5ldyBGb3JtR3JvdXAoe30pO1xyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgLy8gdGhpcy5yZXNldFByb3BhZ2F0b3Iuc3Vic2NyaWJlKHRoaXMsIHRoaXMuY2xlYXJJbnB1dCk7XHJcbiAgICBpZiAodGhpcy5maWVsZD8ua2V5KSB7XHJcbiAgICAgIGNvbnN0IG9iaiA9IHtcclxuICAgICAgICBkZXNjcmlwdGlvbjogdGhpcy5maWVsZC52YWx1ZSxcclxuICAgICAgICB2YWx1ZTogdGhpcy5maWVsZC5rZXlcclxuICAgICAgfVxyXG4gICAgICB0aGlzLm15Q29udHJvbC5zZXRWYWx1ZShvYmopXHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMucmVxdWlyZWQpIHtcclxuICAgICAgdGhpcy5jb250cm9sbGVyLnNldFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMucmVxdWlyZWRdKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyB2YXIgbGVmdERvbWFpbiA9IGZhbHNlO1xyXG4gICAgLy8gY29uc3Qgc2VsZiA9IHRoaXNcclxuICAgIC8vIHZhciBpbnRlcnZhbCA9IHNldEludGVydmFsKGZ1bmN0aW9uICgpIHtcclxuICAgIC8vICAgdHJ5IHtcclxuICAgIC8vICAgICBpZiAoc2VsZi5maWVsZD8ua2V5KSB7XHJcblxyXG4gICAgLy8gICAgICAgaWYgKHNlbGYubG92Py5vcHRpb25zPy5sZW5ndGgpIHtcclxuICAgIC8vICAgICAgICAgY29uc3Qgb2JqID0ge1xyXG4gICAgLy8gICAgICAgICAgIGRlc2NyaXB0aW9uOiBzZWxmLmZpZWxkLnZhbHVlLFxyXG4gICAgLy8gICAgICAgICAgIHZhbHVlOiBzZWxmLmZpZWxkLmtleVxyXG4gICAgLy8gICAgICAgICB9XHJcbiAgICAvLyAgICAgICAgIHNlbGYubXlDb250cm9sLnNldFZhbHVlKG9iailcclxuICAgIC8vICAgICAgIH1cclxuICAgIC8vICAgICAgIGVsc2Uge1xyXG4gICAgLy8gICAgICAgICBsZWZ0RG9tYWluID0gdHJ1ZTtcclxuICAgIC8vICAgICAgIH1cclxuICAgIC8vICAgICB9IGVsc2Uge1xyXG4gICAgLy8gICAgICAgbGVmdERvbWFpbiA9IHRydWU7XHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gICB9XHJcbiAgICAvLyAgIGNhdGNoIChlKSB7XHJcbiAgICAvLyAgICAgaWYgKGxlZnREb21haW4gfHwgIXNlbGYuZmllbGQ/LmtleSkge1xyXG4gICAgLy8gICAgICAgY2xlYXJJbnRlcnZhbChpbnRlcnZhbCk7XHJcbiAgICAvLyAgICAgICByZXR1cm47XHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gICAgIGxlZnREb21haW4gPSB0cnVlO1xyXG4gICAgLy8gICB9XHJcbiAgICAvLyB9LCAxMDAwKTtcclxuICB9XHJcblxyXG4gIGNsZWFySW5wdXQoKSB7XHJcbiAgICBpZiAoIXRoaXMuaXNSZWFkT25seSkge1xyXG4gICAgICB0aGlzLm15Q29udHJvbC5zZXRWYWx1ZShudWxsKVxyXG4gICAgICB0aGlzLmNvbnRyb2xsZXIuc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIHRoaXMuZW1pdGVkVmFsdWUuZW1pdCh7XHJcbiAgICAgICAga2V5OiBudWxsLFxyXG4gICAgICAgIHZhbHVlOiBudWxsXHJcbiAgICAgIH0pXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbktleURvd24oZTogS2V5Ym9hcmRFdmVudCwgaW5wdXQ6IEhUTUxJbnB1dEVsZW1lbnQpe1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIC8vcmVzZXQgaW4gY2FzZSBubyB2YWx1ZSBhbmQgZGVsZXRlIG9yIGJhY2tzcGFjZSBwcmVzc2VkXHJcbiAgICAgIGlmKCAoZS5rZXlDb2RlID09IDggfHwgZS5rZXlDb2RlID09IDQ2KSAmJiAhdGhpcy5teUNvbnRyb2wudmFsdWUpe1xyXG4gICAgICAgIGlmKHRoaXMuZmllbGQpe1xyXG4gICAgICAgICAgdGhpcy5maWVsZC5rZXkgPSBudWxsO1xyXG4gICAgICAgICAgdGhpcy5maWVsZC52YWx1ZSA9IG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubXlDb250cm9sLnNldFZhbHVlKG51bGwpO1xyXG4gICAgICAgIGlucHV0LmZvY3VzKCk7XHJcbiAgICAgICAgdGhpcy5yZXNldEJ5RGVsZXRlQnRuLmVtaXQoKTtcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIGNvbnNvbGUubG9nKGNoYW5nZXMpXHJcbiAgICBpZiAoY2hhbmdlcz8uWydkaXNhYmxlZCddKSB7XHJcbiAgICAgIGNoYW5nZXM/LlsnZGlzYWJsZWQnXT8uY3VycmVudFZhbHVlID8gdGhpcy5teUNvbnRyb2wuZGlzYWJsZSgpIDogdGhpcy5teUNvbnRyb2wuZW5hYmxlKClcclxuICAgIH1cclxuXHJcbiAgICBpZiAoY2hhbmdlcz8uWydmaWVsZCddPy5jdXJyZW50VmFsdWU/LmtleSA9PSBudWxsKSB7XHJcbiAgICAgIC8vIHRoaXMubXlDb250cm9sLnNldFZhbHVlKG51bGwpXHJcbiAgICB9IGVsc2Uge1xyXG5cclxuICAgICAgdGhpcy5jb250cm9sbGVyLnNldFZhbHVlKGNoYW5nZXNbJ2ZpZWxkJ10uY3VycmVudFZhbHVlLmtleSlcclxuICAgIH1cclxuXHJcblxyXG4gICAgdGhpcy5sb2FkaW5nID0gISEoY2hhbmdlc1snbG9hZGluZyddICYmIGNoYW5nZXNbJ2xvYWRpbmcnXS5jdXJyZW50VmFsdWUpO1xyXG4gICAgaWYgKGNoYW5nZXNbJ29wdGlvbnMnXSAmJiBjaGFuZ2VzWydvcHRpb25zJ10uY3VycmVudFZhbHVlKSB7XHJcbiAgICAgIC8vIHRoaXMubG9hZGluZyA9IHRydWVcclxuICAgICAgdGhpcy5vcHRpb25zID0gY2hhbmdlc1snb3B0aW9ucyddLmN1cnJlbnRWYWx1ZVxyXG4gICAgICBpZiAodGhpcy5vcHRpb25zLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAvLyBjb25zb2xlLmxvZygneWVzJylcclxuICAgICAgICB0aGlzLm5vRGF0YSA9IGZhbHNlXHJcbiAgICAgICAgLy8gdGhpcy5sb2FkaW5nID0gZmFsc2VcclxuICAgICAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucyA9IHRoaXMubXlDb250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKFxyXG4gICAgICAgICAgc3RhcnRXaXRoKCcnKSxcclxuICAgICAgICAgIG1hcCh2YWx1ZSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKHZhbHVlKVxyXG4gICAgICAgICAgICByZXR1cm4gKHZhbHVlID8gdGhpcy5fZmlsdGVyKHZhbHVlKSA6IHRoaXMub3B0aW9ucy5zbGljZSgwLCAzMCkpXHJcbiAgICAgICAgICB9KSxcclxuICAgICAgICApO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMubm9EYXRhID0gdHJ1ZVxyXG4gICAgICB9XHJcblxyXG4gICAgfVxyXG4gIH1cclxuICBvblZhbHVlQ2hhbmdlKCkge1xyXG4gICAgLy8gdGhpcy5teUNvbnRyb2wuc2V0RXJyb3JzKHsnaW5jb3JyZWN0JzogdHJ1ZX0pO1xyXG4gIH1cclxuXHJcbiAgZm9jdXNPdXRGdW5jdGlvbihldmVudCkge1xyXG4gICAgY29uc29sZS5sb2coXCJldmVudFwiLCBldmVudClcclxuICAgIC8vIGlmKCF0aGlzLmZpZWxkLmtleSB8fCAhdGhpcy5teUNvbnRyb2w/LnZhbGlkKXtcclxuICAgIC8vICAgdGhpcy5jbGVhcklucHV0KClcclxuICAgIC8vICAgLy8gdGhpcy5maWVsZC5rZXk9bnVsbFxyXG4gICAgLy8gICAvLyB0aGlzLm15Q29udHJvbC5zZXRWYWx1ZShudWxsKTtcclxuICAgIC8vIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2ZpbHRlcih2YWx1ZTogYW55KTogYW55IHtcclxuICAgIGNvbnN0IGZpbHRlclZhbHVlID0gdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyA/IHZhbHVlPy50b0xvd2VyQ2FzZSgpIDogdmFsdWU7XHJcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zLmZpbHRlcigob3B0aW9uOiBhbnkpID0+IE9iamVjdC52YWx1ZXMob3B0aW9uKS5qb2luKCcnKT8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhmaWx0ZXJWYWx1ZSkpLnNsaWNlKDAsIDMwKTtcclxuICB9XHJcblxyXG4gIGRpc3BsYXlGbihvcHRpb246IGFueSk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gb3B0aW9uID8gb3B0aW9uLmRlc2NyaXB0aW9uIDogJyc7XHJcbiAgfVxyXG5cclxuICBnZXRBdXRvQ29tcGxldGUodmFsdWU6IGFueSkge1xyXG4gICAgY29uc29sZS5sb2coJ3ZhbHVlJywgdmFsdWUpO1xyXG4gICAgaWYgKHRoaXMubmFtZSA9PSAnb3JnYW5pemF0aW9uRGV0YWlscycpIHtcclxuICAgICAgdGhpcy5lbWl0ZWRWYWx1ZS5lbWl0KHtcclxuICAgICAgICBrZXk6IHZhbHVlLnZhbHVlLFxyXG4gICAgICAgIG9yZ0lkOiB2YWx1ZS5vcmdJZCxcclxuICAgICAgICB2YWx1ZTogdmFsdWUuZGVzY3JpcHRpb25cclxuICAgICAgfSlcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMubXlDb250cm9sLnNldFZhbHVlKHZhbHVlLnZhbHVlKTtcclxuICAgICAgdGhpcy5lbWl0ZWRWYWx1ZS5lbWl0KHtcclxuICAgICAgICBrZXk6IHZhbHVlLnZhbHVlLFxyXG4gICAgICAgIHZhbHVlOiB2YWx1ZS5kZXNjcmlwdGlvblxyXG4gICAgICB9KVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25Mb2FkT3B0aW9ucyhldmVudDogYW55KSB7XHJcbiAgICBjb25zdCBpbnB1dCA9IGV2ZW50LnRhcmdldC52YWx1ZTtcclxuICAgIGlmIChpbnB1dC5sZW5ndGggPj0gNCkge1xyXG4gICAgICB0aGlzLmlzTGVuZ3RoR3JlYXRlclRoYW40LmVtaXQoaW5wdXQpXHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiaXNSZWFkT25seSAmJiBmaWVsZD8udmFsdWVcIj5cclxuICA8YXBwLWluZm8taXRlbSBjbGFzcz1cImluZm8taXRlbSB3LTEwMFwiIFtsYWJlbF09XCJsYWJlbFwiIFtpbnNpZGVUYWJsZV09XCJpbnNpZGVUYWJsZVwiIFtoYXNMYWJlbF09XCJoYXNMYWJlbFwiIFt2YWx1ZV09XCJmaWVsZD8udmFsdWVcIj48L2FwcC1pbmZvLWl0ZW0+XHJcbjwvbmctY29udGFpbmVyPlxyXG5cclxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc1JlYWRPbmx5XCI+XHJcbiAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBtYi0xXCIgKm5nSWY9XCJoYXNMYWJlbFwiPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJmb3JtLWxhYmVsIG1iLTBcIj57e2xhYmVsfX08L3NwYW4+XHJcbiAgICA8c3BhbiAqbmdJZj1cIiFyZXF1aXJlZFwiIGNsYXNzPVwiZnMtMTEgZmMtZGFyay1ncmF5XCI+XHJcbiAgICAgIHt7aTE4bi50cmFuc2xhdGUoJ09wdGlvbmFsJyl9fVxyXG4gICAgPC9zcGFuPlxyXG4gIDwvZGl2PlxyXG4gIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cInByaW1hcnktZm9ybSB7e2NsYXNzTmFtZX19XCIgW25nQ2xhc3NdPVwieydpbnB1dC1kaXNhYmxlZCcgOiAoZGlzYWJsZWQgfHwgbG9hZGluZykgfVwiXHJcbiAgICBbZmxvYXRMYWJlbF09XCJmbG9hdExhYmVsXCIgPlxyXG4gICAgPCEtLSAoY2xpY2spPVwiY2xlYXJJbnB1dCgpXCIgLS0+XHJcbiAgICA8c3BhbiBjbGFzcz1cInNmaSBzZmktc2VhcmNoIGZjLWNvcmFsIGZzLTE4XCIgbWF0UHJlZml4Pjwvc3Bhbj5cclxuICAgIDxsYWJlbCBjbGFzcz1cIm1hdC1mb3JtLWNvbnRlbnRcIj5cclxuICAgICAgPCEtLSA8YmRpPiAtLT5cclxuICAgICAgPGlucHV0ICNhdXRvY29tcGxldGVJbnB1dCB0eXBlPVwidGV4dFwiIChrZXlkb3duKT1cIm9uS2V5RG93bigkZXZlbnQsIGF1dG9jb21wbGV0ZUlucHV0KVwiIFthdHRyLmRpc2FibGVkXT1cImRpc2FibGVkIFwiIFtwbGFjZWhvbGRlcl09XCJsYWJlbFwiIGFyaWEtbGFiZWw9XCJOdW1iZXJcIiBtYXRJbnB1dFxyXG4gICAgICAoaW5wdXQpPVwib25WYWx1ZUNoYW5nZSgpXCIgW2Zvcm1Db250cm9sXT1cIm15Q29udHJvbFwiXHJcbiAgICAgIFt2YWx1ZV09XCJmaWVsZD8udmFsdWVcIiBuZ0RlZmF1bHRDb250cm9sIFtuYW1lXT1cIm5hbWVcIiBbbWF0QXV0b2NvbXBsZXRlXT1cImF1dG9cIj5cclxuICAgIDwhLS0gPC9iZGk+IC0tPlxyXG4gIDwvbGFiZWw+XHJcbiAgICA8c3BhbiBjbGFzcz1cInNmaSBzZmktc3Bpbm5lciBkLWlubGluZS1ibG9jayBzcGluIGZjLWNvcmFsXCIgbWF0U3VmZml4ICpuZ0lmPVwibG9hZGluZ1wiPjwvc3Bhbj5cclxuICAgIDxzcGFuIGNsYXNzPVwic2ZpIHNmaS1jbG9zZSBkLWlubGluZS1ibG9jayBmYy1ibGFjayBjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJjbGVhcklucHV0KClcIiBtYXRTdWZmaXhcclxuICAgICAgKm5nSWY9XCIhbG9hZGluZyAmJiBmaWVsZD8udmFsdWVcIj48L3NwYW4+XHJcbiAgICA8bWF0LWF1dG9jb21wbGV0ZSBhdXRvQWN0aXZlRmlyc3RPcHRpb24gI2F1dG89XCJtYXRBdXRvY29tcGxldGVcIiBbZGlzcGxheVdpdGhdPVwiZGlzcGxheUZuXCIgXHJcbiAgICAgIChvcHRpb25TZWxlY3RlZCk9J2dldEF1dG9Db21wbGV0ZSgkZXZlbnQub3B0aW9uLnZhbHVlKSc+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbm9EYXRhXCI+XHJcbiAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBmaWx0ZXJlZE9wdGlvbnMgfCBhc3luY1wiIFt2YWx1ZV09XCJvcHRpb25cIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxmaWd1cmUgKm5nSWY9XCJvcHRpb25bJ2F2YXRhcl91cmwnXVwiIGNsYXNzPVwiaW1nLWNhcmQgc21hbGwgY2lyY2xlZC1pbWcgcC0wIG0tMFwiPlxyXG4gICAgICAgICAgICAgIDxpbWcgW3NyY109XCJvcHRpb25bJ2F2YXRhcl91cmwnXVwiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICA8L2ZpZ3VyZT5cclxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJvcHRpb25bJ2F2YXRhcl91cmwnXVwiIGNsYXNzPVwibXgtMlwiPjwvc3Bhbj5cclxuICAgICAgICAgICA8IS0tIDxiZGk+IC0tPlxyXG4gICAgICAgICAgICAge3tvcHRpb25bJ2Rlc2NyaXB0aW9uJ119fVxyXG4gICAgICAgICAgIDwhLS0gPC9iZGk+IC0tPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm5vRGF0YVwiPlxyXG4gICAgICAgIDxtYXQtb3B0aW9uIFtkaXNhYmxlZF09XCJ0cnVlXCIgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiPk5vIERhdGE8L21hdC1vcHRpb24+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9tYXQtYXV0b2NvbXBsZXRlPlxyXG4gICAgPG1hdC1lcnJvciBjbGFzcz1cIm1iLTJcIiAqbmdJZj1cIighbXlDb250cm9sPy52YWxpZClcIj57e2kxOG4udHJhbnNsYXRlKCd2YWxpZFNlbGVjdEVycm9yJyl9fXt7bGFiZWx9fVxyXG4gICAgPC9tYXQtZXJyb3I+XHJcbiAgICA8bWF0LWhpbnQgKm5nSWY9XCJzaG93SGludFwiPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cInNmaSBzZmktY2hlY2stY2lyY2xlIGZvbnQtMTAgZmMtZGFyay1ncmF5XCIgW25nQ2xhc3NdPVwieydmYy1vYXNpcy1saWdodC1pbXAnOnZhbHVlfVwiPjwvc3Bhbj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJteC0xXCI+PC9zcGFuPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cImZzLTEyIGZjLW9ueXhcIj57e2hpbnR9fTwvc3Bhbj5cclxuICAgIDwvbWF0LWhpbnQ+XHJcbiAgPC9tYXQtZm9ybS1maWVsZD5cclxuPC9uZy1jb250YWluZXI+XHJcbiJdfQ==
@@ -0,0 +1,31 @@
1
+ export class CustomDateFormat {
2
+ _parse = {
3
+ dateInput: 'DD/MM/YYYY'
4
+ };
5
+ _display = {
6
+ dateInput: 'DD/MM/YYYY',
7
+ monthYearLabel: 'DD MMM YYYY',
8
+ dateA11yLabel: 'LL',
9
+ monthYearA11yLabel: 'MMMM YYYY'
10
+ };
11
+ set parse(parse) {
12
+ this._parse = Object.assign({}, this._parse, parse);
13
+ }
14
+ get parse() {
15
+ return this._parse;
16
+ }
17
+ set display(display) {
18
+ this._display = Object.assign({}, this._display, display);
19
+ }
20
+ get display() {
21
+ return this._display;
22
+ }
23
+ updateDateFormat(parse, display) {
24
+ this.parse = parse;
25
+ if (!display) {
26
+ display = parse;
27
+ }
28
+ this.display = display;
29
+ }
30
+ }
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1mb3JtYXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9icG0tY29yZS9zcmMvbGliL2NvbXBvbmVudHMvc2hhcmVkLWNvbXBvbmVudHMvZm9ybS1maWVsZC9kYXRlLXBpY2tlci9kYXRlLWZvcm1hdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxNQUFNLE9BQU8sZ0JBQWdCO0lBQ2pCLE1BQU0sR0FBYztRQUN4QixTQUFTLEVBQUUsWUFBWTtLQUMxQixDQUFDO0lBQ00sUUFBUSxHQUFnQjtRQUM1QixTQUFTLEVBQUUsWUFBWTtRQUN2QixjQUFjLEVBQUUsYUFBYTtRQUM3QixhQUFhLEVBQUUsSUFBSTtRQUNuQixrQkFBa0IsRUFBRSxXQUFXO0tBQ2xDLENBQUM7SUFFRixJQUFJLEtBQUssQ0FBQyxLQUFnQjtRQUN0QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELElBQUksS0FBSztRQUNMLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBSSxPQUFPLENBQUMsT0FBb0I7UUFDNUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCxJQUFJLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQWdCLEVBQUUsT0FBcUI7UUFDcEQsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ1gsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNwQixDQUFDO1FBQ0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDM0IsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBEYXRlUGFyc2UgeyBkYXRlSW5wdXQ6IHN0cmluZzsgfVxyXG5leHBvcnQgdHlwZSBEYXRlRGlzcGxheSA9IERhdGVQYXJzZSAmIHtcclxuICAgIG1vbnRoWWVhckxhYmVsPzogc3RyaW5nLFxyXG4gICAgZGF0ZUExMXlMYWJlbD86IHN0cmluZyxcclxuICAgIG1vbnRoWWVhckExMXlMYWJlbD86IHN0cmluZyxcclxufTtcclxuXHJcbmV4cG9ydCBjbGFzcyBDdXN0b21EYXRlRm9ybWF0IHtcclxuICAgIHByaXZhdGUgX3BhcnNlOiBEYXRlUGFyc2UgPSB7XHJcbiAgICAgICAgZGF0ZUlucHV0OiAnREQvTU0vWVlZWSdcclxuICAgIH07XHJcbiAgICBwcml2YXRlIF9kaXNwbGF5OiBEYXRlRGlzcGxheSA9IHtcclxuICAgICAgICBkYXRlSW5wdXQ6ICdERC9NTS9ZWVlZJyxcclxuICAgICAgICBtb250aFllYXJMYWJlbDogJ0REIE1NTSBZWVlZJyxcclxuICAgICAgICBkYXRlQTExeUxhYmVsOiAnTEwnLFxyXG4gICAgICAgIG1vbnRoWWVhckExMXlMYWJlbDogJ01NTU0gWVlZWSdcclxuICAgIH07XHJcblxyXG4gICAgc2V0IHBhcnNlKHBhcnNlOiBEYXRlUGFyc2UpIHtcclxuICAgICAgICB0aGlzLl9wYXJzZSA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMuX3BhcnNlLCBwYXJzZSk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IHBhcnNlKCk6IERhdGVQYXJzZSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3BhcnNlO1xyXG4gICAgfVxyXG5cclxuICAgIHNldCBkaXNwbGF5KGRpc3BsYXk6IERhdGVEaXNwbGF5KSB7XHJcbiAgICAgICAgdGhpcy5fZGlzcGxheSA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMuX2Rpc3BsYXksIGRpc3BsYXkpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBkaXNwbGF5KCk6IERhdGVEaXNwbGF5IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZGlzcGxheTtcclxuICAgIH1cclxuXHJcbiAgICB1cGRhdGVEYXRlRm9ybWF0KHBhcnNlOiBEYXRlUGFyc2UsIGRpc3BsYXk/OiBEYXRlRGlzcGxheSkge1xyXG4gICAgICAgIHRoaXMucGFyc2UgPSBwYXJzZTtcclxuICAgICAgICBpZiAoIWRpc3BsYXkpIHtcclxuICAgICAgICAgICAgZGlzcGxheSA9IHBhcnNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmRpc3BsYXkgPSBkaXNwbGF5O1xyXG4gICAgfVxyXG59Il19