@falcon-ng/tailwind 0.0.2 → 0.0.4

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 (231) hide show
  1. package/esm2020/falcon-ng-tailwind.mjs +5 -0
  2. package/esm2020/lib/base-control.mjs +50 -0
  3. package/esm2020/lib/base-form-component.mjs +234 -0
  4. package/esm2020/lib/component/auto-complete/auto-complete.component.mjs +33 -0
  5. package/esm2020/lib/component/bottom-sheet/bottom-sheet.component.mjs +29 -0
  6. package/esm2020/lib/component/button/button.component.mjs +27 -0
  7. package/esm2020/lib/component/button-toggle/button-toggle.component.mjs +32 -0
  8. package/esm2020/lib/component/checkbox/checkbox.component.mjs +18 -0
  9. package/esm2020/lib/component/chips/chip.component.mjs +109 -0
  10. package/esm2020/lib/component/date-picker/date-picker.component.mjs +17 -0
  11. package/esm2020/lib/component/dialog/dialog.component.mjs +21 -0
  12. package/esm2020/lib/component/pagination/pagination.component.mjs +95 -0
  13. package/esm2020/lib/component/progress-bar/progress-bar.component.mjs +20 -0
  14. package/esm2020/lib/component/progress-spinner/progress-spinner.component.mjs +26 -0
  15. package/esm2020/lib/component/radio/radio.component.mjs +31 -0
  16. package/esm2020/lib/component/rich-text-editor/rich-text-editor.component.mjs +15 -0
  17. package/esm2020/lib/component/select/select.component.mjs +35 -0
  18. package/esm2020/lib/component/slide-toggle/slide-toggle.component.mjs +14 -0
  19. package/esm2020/lib/component/slider/slider.component.mjs +15 -0
  20. package/esm2020/lib/component/snack-bar/snack-bar.component.mjs +11 -0
  21. package/esm2020/lib/component/table/table.component.mjs +74 -0
  22. package/esm2020/lib/component/textarea/textarea.component.mjs +16 -0
  23. package/esm2020/lib/component/textbox/textbox.component.mjs +17 -0
  24. package/esm2020/lib/control-builder/control-builder.component.mjs +18 -0
  25. package/esm2020/lib/control-type/AutoComplete.mjs +8 -0
  26. package/esm2020/lib/control-type/Button.mjs +8 -0
  27. package/esm2020/lib/control-type/ButtonToggle.mjs +8 -0
  28. package/esm2020/lib/control-type/CheckBox.mjs +8 -0
  29. package/esm2020/lib/control-type/Chip.mjs +8 -0
  30. package/esm2020/lib/control-type/DatePicker.mjs +8 -0
  31. package/esm2020/lib/control-type/Divider.mjs +8 -0
  32. package/esm2020/lib/control-type/Editor.mjs +8 -0
  33. package/esm2020/lib/control-type/Radio.mjs +8 -0
  34. package/esm2020/lib/control-type/RichTextEditor.mjs +8 -0
  35. package/esm2020/lib/control-type/SlideToggle.mjs +8 -0
  36. package/esm2020/lib/control-type/Slider.mjs +8 -0
  37. package/esm2020/lib/control-type/Textarea.mjs +8 -0
  38. package/esm2020/lib/control-type/Textbox.mjs +8 -0
  39. package/esm2020/lib/control-type/select.mjs +8 -0
  40. package/esm2020/lib/falcon-core.module.mjs +230 -0
  41. package/esm2020/lib/model/constant.mjs +32 -0
  42. package/esm2020/lib/model/enum.mjs +2 -0
  43. package/esm2020/lib/model/environments.mjs +3 -0
  44. package/esm2020/lib/model/interface.mjs +2 -0
  45. package/esm2020/lib/model/ivalidator.mjs +2 -0
  46. package/esm2020/lib/module/angularmaterial.module.mjs +189 -0
  47. package/esm2020/lib/reactive-field.directive.mjs +28 -0
  48. package/esm2020/lib/service/appsetting.service.mjs +55 -0
  49. package/esm2020/lib/service/http/generic-http-client.mjs +197 -0
  50. package/esm2020/lib/service/http/igeneric-http-client.mjs +10 -0
  51. package/esm2020/lib/service/logger.service.mjs +78 -0
  52. package/esm2020/lib/service/open-id/TokenHelperService.mjs +71 -0
  53. package/esm2020/lib/service/open-id/auth-guard.service.mjs +30 -0
  54. package/esm2020/lib/service/open-id/auth.service.mjs +154 -0
  55. package/esm2020/public-api.mjs +47 -0
  56. package/fesm2015/falcon-ng-tailwind.mjs +1988 -0
  57. package/fesm2015/falcon-ng-tailwind.mjs.map +1 -0
  58. package/fesm2020/falcon-ng-tailwind.mjs +1962 -0
  59. package/fesm2020/falcon-ng-tailwind.mjs.map +1 -0
  60. package/index.d.ts +5 -0
  61. package/lib/base-control.d.ts +104 -0
  62. package/lib/base-form-component.d.ts +169 -0
  63. package/lib/component/auto-complete/auto-complete.component.d.ts +17 -0
  64. package/lib/component/bottom-sheet/bottom-sheet.component.d.ts +11 -0
  65. package/lib/component/button/button.component.d.ts +12 -0
  66. package/lib/component/button-toggle/button-toggle.component.d.ts +14 -0
  67. package/lib/component/checkbox/checkbox.component.d.ts +10 -0
  68. package/lib/component/chips/chip.component.d.ts +35 -0
  69. package/lib/component/date-picker/date-picker.component.d.ts +9 -0
  70. package/lib/component/dialog/dialog.component.d.ts +8 -0
  71. package/lib/component/pagination/pagination.component.d.ts +20 -0
  72. package/lib/component/progress-bar/progress-bar.component.d.ts +11 -0
  73. package/lib/component/progress-spinner/progress-spinner.component.d.ts +12 -0
  74. package/lib/component/radio/radio.component.d.ts +14 -0
  75. package/lib/component/rich-text-editor/rich-text-editor.component.d.ts +9 -0
  76. package/lib/component/select/select.component.d.ts +15 -0
  77. package/lib/component/slide-toggle/slide-toggle.component.d.ts +9 -0
  78. package/lib/component/slider/slider.component.d.ts +9 -0
  79. package/lib/component/snack-bar/snack-bar.component.d.ts +5 -0
  80. package/lib/component/table/table.component.d.ts +21 -0
  81. package/lib/component/textarea/textarea.component.d.ts +9 -0
  82. package/lib/component/textbox/textbox.component.d.ts +9 -0
  83. package/lib/control-builder/control-builder.component.d.ts +9 -0
  84. package/lib/control-type/AutoComplete.d.ts +5 -0
  85. package/lib/control-type/Button.d.ts +5 -0
  86. package/lib/control-type/ButtonToggle.d.ts +5 -0
  87. package/{src/lib/control-type/Chip.ts → lib/control-type/CheckBox.d.ts} +2 -3
  88. package/lib/control-type/Chip.d.ts +5 -0
  89. package/lib/control-type/DatePicker.d.ts +5 -0
  90. package/lib/control-type/Divider.d.ts +5 -0
  91. package/lib/control-type/Editor.d.ts +5 -0
  92. package/lib/control-type/Radio.d.ts +5 -0
  93. package/lib/control-type/RichTextEditor.d.ts +5 -0
  94. package/{src/lib/control-type/Radio.ts → lib/control-type/SlideToggle.d.ts} +2 -3
  95. package/lib/control-type/Slider.d.ts +5 -0
  96. package/lib/control-type/Textarea.d.ts +5 -0
  97. package/lib/control-type/Textbox.d.ts +5 -0
  98. package/lib/control-type/select.d.ts +5 -0
  99. package/lib/falcon-core.module.d.ts +35 -0
  100. package/lib/model/constant.d.ts +5 -0
  101. package/lib/model/enum.d.ts +144 -0
  102. package/{src/lib/model/environments.ts → lib/model/environments.d.ts} +5 -7
  103. package/{src/lib/model/interface.ts → lib/model/interface.d.ts} +80 -91
  104. package/{src/lib/model/ivalidator.ts → lib/model/ivalidator.d.ts} +3 -3
  105. package/lib/module/angularmaterial.module.d.ts +49 -0
  106. package/lib/reactive-field.directive.d.ts +14 -0
  107. package/lib/service/appsetting.service.d.ts +22 -0
  108. package/lib/service/http/generic-http-client.d.ts +121 -0
  109. package/lib/service/http/igeneric-http-client.d.ts +92 -0
  110. package/lib/service/logger.service.d.ts +18 -0
  111. package/lib/service/open-id/TokenHelperService.d.ts +11 -0
  112. package/lib/service/open-id/auth-guard.service.d.ts +11 -0
  113. package/lib/service/open-id/auth.service.d.ts +36 -0
  114. package/package.json +22 -2
  115. package/public-api.d.ts +34 -0
  116. package/ng-package.json +0 -7
  117. package/src/lib/base-control.ts +0 -142
  118. package/src/lib/base-form-component.ts +0 -363
  119. package/src/lib/component/auto-complete/auto-complete.component.html +0 -39
  120. package/src/lib/component/auto-complete/auto-complete.component.scss +0 -0
  121. package/src/lib/component/auto-complete/auto-complete.component.spec.ts +0 -23
  122. package/src/lib/component/auto-complete/auto-complete.component.ts +0 -31
  123. package/src/lib/component/bottom-sheet/bottom-sheet.component.html +0 -9
  124. package/src/lib/component/bottom-sheet/bottom-sheet.component.scss +0 -0
  125. package/src/lib/component/bottom-sheet/bottom-sheet.component.spec.ts +0 -23
  126. package/src/lib/component/bottom-sheet/bottom-sheet.component.ts +0 -19
  127. package/src/lib/component/button/button.component.css +0 -0
  128. package/src/lib/component/button/button.component.html +0 -54
  129. package/src/lib/component/button/button.component.spec.ts +0 -23
  130. package/src/lib/component/button/button.component.ts +0 -17
  131. package/src/lib/component/button-toggle/button-toggle.component.html +0 -21
  132. package/src/lib/component/button-toggle/button-toggle.component.scss +0 -0
  133. package/src/lib/component/button-toggle/button-toggle.component.spec.ts +0 -23
  134. package/src/lib/component/button-toggle/button-toggle.component.ts +0 -26
  135. package/src/lib/component/checkbox/checkbox.component.html +0 -6
  136. package/src/lib/component/checkbox/checkbox.component.scss +0 -0
  137. package/src/lib/component/checkbox/checkbox.component.spec.ts +0 -23
  138. package/src/lib/component/checkbox/checkbox.component.ts +0 -17
  139. package/src/lib/component/chips/chip.component.html +0 -75
  140. package/src/lib/component/chips/chip.component.scss +0 -3
  141. package/src/lib/component/chips/chip.component.spec.ts +0 -23
  142. package/src/lib/component/chips/chip.component.ts +0 -125
  143. package/src/lib/component/date-picker/date-picker.component.html +0 -18
  144. package/src/lib/component/date-picker/date-picker.component.scss +0 -0
  145. package/src/lib/component/date-picker/date-picker.component.spec.ts +0 -23
  146. package/src/lib/component/date-picker/date-picker.component.ts +0 -13
  147. package/src/lib/component/dialog/dialog.component.html +0 -12
  148. package/src/lib/component/dialog/dialog.component.scss +0 -3
  149. package/src/lib/component/dialog/dialog.component.spec.ts +0 -23
  150. package/src/lib/component/dialog/dialog.component.ts +0 -12
  151. package/src/lib/component/pagination/pagination.component.html +0 -10
  152. package/src/lib/component/pagination/pagination.component.scss +0 -0
  153. package/src/lib/component/pagination/pagination.component.spec.ts +0 -23
  154. package/src/lib/component/pagination/pagination.component.ts +0 -86
  155. package/src/lib/component/progress-bar/progress-bar.component.html +0 -1
  156. package/src/lib/component/progress-bar/progress-bar.component.scss +0 -0
  157. package/src/lib/component/progress-bar/progress-bar.component.spec.ts +0 -23
  158. package/src/lib/component/progress-bar/progress-bar.component.ts +0 -15
  159. package/src/lib/component/progress-spinner/progress-spinner.component.html +0 -7
  160. package/src/lib/component/progress-spinner/progress-spinner.component.scss +0 -0
  161. package/src/lib/component/progress-spinner/progress-spinner.component.spec.ts +0 -23
  162. package/src/lib/component/progress-spinner/progress-spinner.component.ts +0 -16
  163. package/src/lib/component/radio/radio.component.html +0 -13
  164. package/src/lib/component/radio/radio.component.scss +0 -14
  165. package/src/lib/component/radio/radio.component.spec.ts +0 -23
  166. package/src/lib/component/radio/radio.component.ts +0 -29
  167. package/src/lib/component/rich-text-editor/rich-text-editor.component.html +0 -10
  168. package/src/lib/component/rich-text-editor/rich-text-editor.component.scss +0 -0
  169. package/src/lib/component/rich-text-editor/rich-text-editor.component.spec.ts +0 -23
  170. package/src/lib/component/rich-text-editor/rich-text-editor.component.ts +0 -13
  171. package/src/lib/component/select/select.component.html +0 -25
  172. package/src/lib/component/select/select.component.scss +0 -0
  173. package/src/lib/component/select/select.component.spec.ts +0 -23
  174. package/src/lib/component/select/select.component.ts +0 -32
  175. package/src/lib/component/slide-toggle/slide-toggle.component.html +0 -7
  176. package/src/lib/component/slide-toggle/slide-toggle.component.scss +0 -0
  177. package/src/lib/component/slide-toggle/slide-toggle.component.spec.ts +0 -23
  178. package/src/lib/component/slide-toggle/slide-toggle.component.ts +0 -13
  179. package/src/lib/component/slider/slider.component.html +0 -11
  180. package/src/lib/component/slider/slider.component.scss +0 -0
  181. package/src/lib/component/slider/slider.component.spec.ts +0 -23
  182. package/src/lib/component/slider/slider.component.ts +0 -13
  183. package/src/lib/component/snack-bar/snack-bar.component.html +0 -1
  184. package/src/lib/component/snack-bar/snack-bar.component.scss +0 -0
  185. package/src/lib/component/snack-bar/snack-bar.component.spec.ts +0 -23
  186. package/src/lib/component/snack-bar/snack-bar.component.ts +0 -10
  187. package/src/lib/component/table/table.component.html +0 -82
  188. package/src/lib/component/table/table.component.scss +0 -17
  189. package/src/lib/component/table/table.component.spec.ts +0 -23
  190. package/src/lib/component/table/table.component.ts +0 -54
  191. package/src/lib/component/textarea/textarea.component.html +0 -22
  192. package/src/lib/component/textarea/textarea.component.scss +0 -3
  193. package/src/lib/component/textarea/textarea.component.spec.ts +0 -23
  194. package/src/lib/component/textarea/textarea.component.ts +0 -13
  195. package/src/lib/component/textbox/textbox.component.html +0 -27
  196. package/src/lib/component/textbox/textbox.component.scss +0 -3
  197. package/src/lib/component/textbox/textbox.component.spec.ts +0 -23
  198. package/src/lib/component/textbox/textbox.component.ts +0 -13
  199. package/src/lib/control-builder/control-builder.component.html +0 -5
  200. package/src/lib/control-builder/control-builder.component.scss +0 -0
  201. package/src/lib/control-builder/control-builder.component.ts +0 -14
  202. package/src/lib/control-type/AutoComplete.ts +0 -6
  203. package/src/lib/control-type/Button.ts +0 -6
  204. package/src/lib/control-type/ButtonToggle.ts +0 -6
  205. package/src/lib/control-type/CheckBox.ts +0 -6
  206. package/src/lib/control-type/DatePicker.ts +0 -6
  207. package/src/lib/control-type/Divider.ts +0 -6
  208. package/src/lib/control-type/Editor.ts +0 -6
  209. package/src/lib/control-type/RichTextEditor.ts +0 -6
  210. package/src/lib/control-type/SlideToggle.ts +0 -6
  211. package/src/lib/control-type/Slider.ts +0 -6
  212. package/src/lib/control-type/select.ts +0 -6
  213. package/src/lib/control-type/textarea.ts +0 -6
  214. package/src/lib/control-type/textbox.ts +0 -6
  215. package/src/lib/falcon-core.module.ts +0 -141
  216. package/src/lib/model/constant.ts +0 -32
  217. package/src/lib/model/enum.ts +0 -151
  218. package/src/lib/module/angularmaterial.module.ts +0 -98
  219. package/src/lib/reactive-field.directive.ts +0 -24
  220. package/src/lib/service/appsetting.service.ts +0 -57
  221. package/src/lib/service/http/generic-http-client.ts +0 -205
  222. package/src/lib/service/http/httpInterceptor.ts +0 -36
  223. package/src/lib/service/http/igeneric-http-client.ts +0 -110
  224. package/src/lib/service/logger.service.ts +0 -75
  225. package/src/lib/service/open-id/TokenHelperService.ts +0 -76
  226. package/src/lib/service/open-id/auth-guard.service.ts +0 -25
  227. package/src/lib/service/open-id/auth.service.ts +0 -179
  228. package/src/public-api.ts +0 -35
  229. package/tsconfig.lib.json +0 -15
  230. package/tsconfig.lib.prod.json +0 -10
  231. package/tsconfig.spec.json +0 -14
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFsY29uLW5nLXRhaWx3aW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZmFsY29uLW5nL3RhaWx3aW5kL3NyYy9mYWxjb24tbmctdGFpbHdpbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -0,0 +1,50 @@
1
+ /**
2
+ * @description
3
+ * Class use for setting the control properties.
4
+ * @usageNotes
5
+ * ```ts
6
+ * new Dropdown({
7
+ * formControlName: 'brave',
8
+ * label: 'Bravery Rating',
9
+ * options: [
10
+ * {key: 'solid', value: 'Solid'},
11
+ * {key: 'great', value: 'Great'},
12
+ * {key: 'good', value: 'Good'},
13
+ * {key: 'unproven', value: 'Unproven'}
14
+ * ],
15
+ * order: 3
16
+ * }),
17
+ ** ```
18
+ */
19
+ export class BaseControl {
20
+ constructor(options = {}) {
21
+ this.value = options.value;
22
+ this.formControlName = options.formControlName || '';
23
+ this.label = options.label || '';
24
+ this.labelPosition = options.labelPosition || 'before' || 'after';
25
+ this.order = options.order === undefined ? 1 : options.order;
26
+ this.controlType = options.controlType || 6 /* ControlType.Button */;
27
+ this.type = options.type || '';
28
+ this.disabled = options.disabled || false;
29
+ this.options = options.options || [];
30
+ this.validations = options.validations || [];
31
+ this.appearance = options.appearance || 'outline';
32
+ this.class = options.class || '';
33
+ this.style = options.style || {};
34
+ this.placeHolder = options.placeHolder || '';
35
+ this.floatLabel = options.floatLabel || 'auto';
36
+ this.hint = options.hint || {};
37
+ this.prefix = options.prefix || {};
38
+ this.suffix = options.suffix || {};
39
+ this.textAreaProperty =
40
+ options.textAreaProperty || {};
41
+ this.event = options.event || {};
42
+ this.selectProperty = options.selectProperty || {};
43
+ this.color = options.color || '';
44
+ this.sliderProperty = options.sliderProperty || {};
45
+ this.chipSelectedOptions = options.chipSelectedOptions || {};
46
+ this.editorProperty = options.editorProperty || {};
47
+ this.formArray = options.formArray || undefined;
48
+ }
49
+ }
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb250cm9sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZmFsY29uLW5nL3RhaWx3aW5kL3NyYy9saWIvYmFzZS1jb250cm9sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQkc7QUFDSCxNQUFNLE9BQU8sV0FBVztJQTJCdEIsWUFDRSxVQTJCSSxFQUFFO1FBRU4sSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQzNCLElBQUksQ0FBQyxlQUFlLEdBQUcsT0FBTyxDQUFDLGVBQWUsSUFBSSxFQUFFLENBQUM7UUFDckQsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUNqQyxJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQyxhQUFhLElBQUksUUFBUSxJQUFJLE9BQU8sQ0FBQztRQUNsRSxJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDN0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsV0FBVyw4QkFBc0IsQ0FBQztRQUM3RCxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQy9CLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsSUFBSSxLQUFLLENBQUM7UUFDMUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUNyQyxJQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDO1FBQzdDLElBQUksQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDLFVBQVUsSUFBSSxTQUFTLENBQUM7UUFDbEQsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUNqQyxJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUM7UUFDN0MsSUFBSSxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUMsVUFBVSxJQUFJLE1BQU0sQ0FBQztRQUMvQyxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLElBQUssRUFBZSxDQUFDO1FBQzdDLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sSUFBSyxFQUEwQixDQUFDO1FBQzVELElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sSUFBSyxFQUEwQixDQUFDO1FBQzVELElBQUksQ0FBQyxnQkFBZ0I7WUFDbkIsT0FBTyxDQUFDLGdCQUFnQixJQUFLLEVBQXdCLENBQUM7UUFDeEQsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUNqQyxJQUFJLENBQUMsY0FBYyxHQUFHLE9BQU8sQ0FBQyxjQUFjLElBQUksRUFBRSxDQUFDO1FBQ25ELElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLGNBQWMsR0FBRyxPQUFPLENBQUMsY0FBYyxJQUFJLEVBQUUsQ0FBQztRQUNuRCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsT0FBTyxDQUFDLG1CQUFtQixJQUFJLEVBQUUsQ0FBQztRQUM3RCxJQUFJLENBQUMsY0FBYyxHQUFHLE9BQU8sQ0FBQyxjQUFjLElBQUksRUFBRSxDQUFDO1FBQ25ELElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLFNBQVMsSUFBSSxTQUFTLENBQUE7SUFDakQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb250cm9sVHlwZX0gZnJvbSAnLi9tb2RlbC9lbnVtJztcbmltcG9ydCB7SVZhbGlkYXRvcn0gZnJvbSAnLi9tb2RlbC9pdmFsaWRhdG9yJztcbmltcG9ydCB7XG4gIEZsb2F0TGFiZWxUeXBlLFxuICBNYXRGb3JtRmllbGRBcHBlYXJhbmNlLFxufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7XG4gIElDb21wb25lbnRFdmVudCxcbiAgSU1hdEhpbnQsXG4gIElPcHRpb25zLFxuICBJU2VsZWN0T3B0aW9ucywgSVNsaWRlclByb3BlcnR5LFxuICBJU3VmZml4UHJlZml4Q29uZmlnLFxuICBJVGV4dEFyZWFQcm9wZXJ0eSxcbn0gZnJvbSAnLi9tb2RlbC9pbnRlcmZhY2UnO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvblxuICogQ2xhc3MgdXNlIGZvciBzZXR0aW5nIHRoZSBsYXlvdXQuXG4gKiBAdXNhZ2VOb3Rlc1xuICogYGBgdHNcbiAqICAgICAgIG5ldyBEcm9wZG93bih7XG4gKiAgICAgICAga2V5OiAnYnJhdmUnLFxuICogICAgICAgbGFiZWw6ICdCcmF2ZXJ5IFJhdGluZycsXG4gKiAgICAgICBvcHRpb25zOiBbXG4gKiAgICAgICAgIHtrZXk6ICdzb2xpZCcsICB2YWx1ZTogJ1NvbGlkJ30sXG4gKiAgICAgICAgIHtrZXk6ICdncmVhdCcsICB2YWx1ZTogJ0dyZWF0J30sXG4gKiAgICAgICAgIHtrZXk6ICdnb29kJywgICB2YWx1ZTogJ0dvb2QnfSxcbiAqICAgICAgICAge2tleTogJ3VucHJvdmVuJywgdmFsdWU6ICdVbnByb3Zlbid9XG4gKiAgICAgICBdLFxuICogICAgICAgb3JkZXI6IDNcbiAqIH0pLFxuICoqIGBgYFxuICovXG5leHBvcnQgaW50ZXJmYWNlIExheW91dDxUPiB7XG4gIGNsYXNzPzogc3RyaW5nO1xuICBiYXNlQ29udHJvbHM6IEJhc2VDb250cm9sPFQ+W107XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uXG4gKiBDbGFzcyB1c2UgZm9yIHNldHRpbmcgdGhlIGNvbnRyb2wgcHJvcGVydGllcy5cbiAqIEB1c2FnZU5vdGVzXG4gKiBgYGB0c1xuICogICAgICAgbmV3IERyb3Bkb3duKHtcbiAqICAgICAgICBmb3JtQ29udHJvbE5hbWU6ICdicmF2ZScsXG4gKiAgICAgICBsYWJlbDogJ0JyYXZlcnkgUmF0aW5nJyxcbiAqICAgICAgIG9wdGlvbnM6IFtcbiAqICAgICAgICAge2tleTogJ3NvbGlkJywgIHZhbHVlOiAnU29saWQnfSxcbiAqICAgICAgICAge2tleTogJ2dyZWF0JywgIHZhbHVlOiAnR3JlYXQnfSxcbiAqICAgICAgICAge2tleTogJ2dvb2QnLCAgIHZhbHVlOiAnR29vZCd9LFxuICogICAgICAgICB7a2V5OiAndW5wcm92ZW4nLCB2YWx1ZTogJ1VucHJvdmVuJ31cbiAqICAgICAgIF0sXG4gKiAgICAgICBvcmRlcjogM1xuICogfSksXG4gKiogYGBgXG4gKi9cbmV4cG9ydCBjbGFzcyBCYXNlQ29udHJvbDxUPiB7XG4gIHZhbHVlOiBUIHwgdW5kZWZpbmVkO1xuICBmb3JtQ29udHJvbE5hbWU6IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbiAgbGFiZWxQb3NpdGlvbjogYW55O1xuICBvcmRlcjogbnVtYmVyO1xuICBjb250cm9sVHlwZTogQ29udHJvbFR5cGU7XG4gIHR5cGU6IHN0cmluZztcbiAgZGlzYWJsZWQ6IGJvb2xlYW47XG4gIG9wdGlvbnM6IElPcHRpb25zW10gfCBhbnk7XG4gIHZhbGlkYXRpb25zOiBJVmFsaWRhdG9yW107XG4gIGFwcGVhcmFuY2U6IE1hdEZvcm1GaWVsZEFwcGVhcmFuY2UgfCBhbnk7XG4gIGNsYXNzOiBzdHJpbmc7XG4gIHN0eWxlOiB7IFtrbGFzczogc3RyaW5nXTogYW55IH07XG4gIHBsYWNlSG9sZGVyOiBzdHJpbmc7XG4gIGZsb2F0TGFiZWw6IEZsb2F0TGFiZWxUeXBlO1xuICBoaW50OiBJTWF0SGludDtcbiAgc3VmZml4OiBJU3VmZml4UHJlZml4Q29uZmlnO1xuICBwcmVmaXg6IElTdWZmaXhQcmVmaXhDb25maWc7XG4gIHRleHRBcmVhUHJvcGVydHk6IElUZXh0QXJlYVByb3BlcnR5O1xuICBldmVudDogSUNvbXBvbmVudEV2ZW50PFQ+O1xuICBzZWxlY3RQcm9wZXJ0eTogSVNlbGVjdE9wdGlvbnM7XG4gIGNvbG9yOiBzdHJpbmc7XG4gIHNsaWRlclByb3BlcnR5OiBJU2xpZGVyUHJvcGVydHk7XG4gIGNoaXBTZWxlY3RlZE9wdGlvbnM6IElPcHRpb25zW10gfCBhbnk7XG4gIGVkaXRvclByb3BlcnR5OiBhbnk7XG4gIGZvcm1BcnJheTogQmFzZUNvbnRyb2w8VD5bXSB8IHVuZGVmaW5lZDtcbiAgY29uc3RydWN0b3IoXG4gICAgb3B0aW9uczoge1xuICAgICAgdmFsdWU/OiBUO1xuICAgICAgZm9ybUNvbnRyb2xOYW1lPzogc3RyaW5nO1xuICAgICAgbGFiZWw/OiBzdHJpbmc7XG4gICAgICBsYWJlbFBvc2l0aW9uPzogYW55O1xuICAgICAgb3JkZXI/OiBudW1iZXI7XG4gICAgICBjb250cm9sVHlwZT86IENvbnRyb2xUeXBlO1xuICAgICAgdHlwZT86IHN0cmluZztcbiAgICAgIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgICAgIG9wdGlvbnM/OiBJT3B0aW9uc1tdIHwgYW55O1xuICAgICAgdmFsaWRhdGlvbnM/OiBJVmFsaWRhdG9yW107XG4gICAgICBhcHBlYXJhbmNlPzogTWF0Rm9ybUZpZWxkQXBwZWFyYW5jZSB8IGFueTtcbiAgICAgIGNsYXNzPzogc3RyaW5nO1xuICAgICAgc3R5bGU/OiB7IFtrbGFzczogc3RyaW5nXTogYW55IH07XG4gICAgICBwbGFjZUhvbGRlcj86IHN0cmluZztcbiAgICAgIGZsb2F0TGFiZWw/OiBGbG9hdExhYmVsVHlwZTtcbiAgICAgIGhpbnQ/OiBJTWF0SGludDtcbiAgICAgIHN1ZmZpeD86IElTdWZmaXhQcmVmaXhDb25maWc7XG4gICAgICBwcmVmaXg/OiBJU3VmZml4UHJlZml4Q29uZmlnO1xuICAgICAgdGV4dEFyZWFQcm9wZXJ0eT86IElUZXh0QXJlYVByb3BlcnR5O1xuICAgICAgZXZlbnQ/OiBJQ29tcG9uZW50RXZlbnQ8VD47XG4gICAgICBzZWxlY3RQcm9wZXJ0eT86IElTZWxlY3RPcHRpb25zO1xuICAgICAgY29sb3I/OiBzdHJpbmc7XG4gICAgICBzbGlkZXJQcm9wZXJ0eT86IElTbGlkZXJQcm9wZXJ0eTtcbiAgICAgIGNoaXBTZWxlY3RlZE9wdGlvbnM/OiBJT3B0aW9uc1tdIHwgYW55O1xuICAgICAgZWRpdG9yUHJvcGVydHk/OiBhbnk7XG4gICAgICBmb3JtQXJyYXk/OiBCYXNlQ29udHJvbDxUPltdO1xuICAgIH0gPSB7fVxuICApIHtcbiAgICB0aGlzLnZhbHVlID0gb3B0aW9ucy52YWx1ZTtcbiAgICB0aGlzLmZvcm1Db250cm9sTmFtZSA9IG9wdGlvbnMuZm9ybUNvbnRyb2xOYW1lIHx8ICcnO1xuICAgIHRoaXMubGFiZWwgPSBvcHRpb25zLmxhYmVsIHx8ICcnO1xuICAgIHRoaXMubGFiZWxQb3NpdGlvbiA9IG9wdGlvbnMubGFiZWxQb3NpdGlvbiB8fCAnYmVmb3JlJyB8fCAnYWZ0ZXInO1xuICAgIHRoaXMub3JkZXIgPSBvcHRpb25zLm9yZGVyID09PSB1bmRlZmluZWQgPyAxIDogb3B0aW9ucy5vcmRlcjtcbiAgICB0aGlzLmNvbnRyb2xUeXBlID0gb3B0aW9ucy5jb250cm9sVHlwZSB8fCBDb250cm9sVHlwZS5CdXR0b247XG4gICAgdGhpcy50eXBlID0gb3B0aW9ucy50eXBlIHx8ICcnO1xuICAgIHRoaXMuZGlzYWJsZWQgPSBvcHRpb25zLmRpc2FibGVkIHx8IGZhbHNlO1xuICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnMub3B0aW9ucyB8fCBbXTtcbiAgICB0aGlzLnZhbGlkYXRpb25zID0gb3B0aW9ucy52YWxpZGF0aW9ucyB8fCBbXTtcbiAgICB0aGlzLmFwcGVhcmFuY2UgPSBvcHRpb25zLmFwcGVhcmFuY2UgfHwgJ291dGxpbmUnO1xuICAgIHRoaXMuY2xhc3MgPSBvcHRpb25zLmNsYXNzIHx8ICcnO1xuICAgIHRoaXMuc3R5bGUgPSBvcHRpb25zLnN0eWxlIHx8IHt9O1xuICAgIHRoaXMucGxhY2VIb2xkZXIgPSBvcHRpb25zLnBsYWNlSG9sZGVyIHx8ICcnO1xuICAgIHRoaXMuZmxvYXRMYWJlbCA9IG9wdGlvbnMuZmxvYXRMYWJlbCB8fCAnYXV0byc7XG4gICAgdGhpcy5oaW50ID0gb3B0aW9ucy5oaW50IHx8ICh7fSBhcyBJTWF0SGludCk7XG4gICAgdGhpcy5wcmVmaXggPSBvcHRpb25zLnByZWZpeCB8fCAoe30gYXMgSVN1ZmZpeFByZWZpeENvbmZpZyk7XG4gICAgdGhpcy5zdWZmaXggPSBvcHRpb25zLnN1ZmZpeCB8fCAoe30gYXMgSVN1ZmZpeFByZWZpeENvbmZpZyk7XG4gICAgdGhpcy50ZXh0QXJlYVByb3BlcnR5ID1cbiAgICAgIG9wdGlvbnMudGV4dEFyZWFQcm9wZXJ0eSB8fCAoe30gYXMgSVRleHRBcmVhUHJvcGVydHkpO1xuICAgIHRoaXMuZXZlbnQgPSBvcHRpb25zLmV2ZW50IHx8IHt9O1xuICAgIHRoaXMuc2VsZWN0UHJvcGVydHkgPSBvcHRpb25zLnNlbGVjdFByb3BlcnR5IHx8IHt9O1xuICAgIHRoaXMuY29sb3IgPSBvcHRpb25zLmNvbG9yIHx8ICcnO1xuICAgIHRoaXMuc2xpZGVyUHJvcGVydHkgPSBvcHRpb25zLnNsaWRlclByb3BlcnR5IHx8IHt9O1xuICAgIHRoaXMuY2hpcFNlbGVjdGVkT3B0aW9ucyA9IG9wdGlvbnMuY2hpcFNlbGVjdGVkT3B0aW9ucyB8fCB7fTtcbiAgICB0aGlzLmVkaXRvclByb3BlcnR5ID0gb3B0aW9ucy5lZGl0b3JQcm9wZXJ0eSB8fCB7fTtcbiAgICB0aGlzLmZvcm1BcnJheSA9IG9wdGlvbnMuZm9ybUFycmF5IHx8IHVuZGVmaW5lZFxuICB9XG59XG4iXX0=
@@ -0,0 +1,234 @@
1
+ import { FormBuilder, Validators, } from '@angular/forms';
2
+ import { inject } from '@angular/core';
3
+ /**
4
+ * @description
5
+ * Base form component initialized to create form controls, set validation, submit.
6
+ *
7
+ * @usageNotes
8
+ * The following snippet shows how a component can implement this abstract class to
9
+ * define its own initialization method.
10
+ * ```ts
11
+ * export class InputComponent extends BaseFormComponent<any> implements OnInit {
12
+ * constructor(fb : FormBuilder) {
13
+ * super(fb);
14
+ * this.defineForm();
15
+ * }
16
+ * protected defineForm(): void {
17
+ * }
18
+ * ngOnInit(): void {
19
+ * this.formGroup = this.createControls();
20
+ * }
21
+ * protected submitDatasource(model: any): Observable<any> {
22
+ * return of(model);
23
+ * }
24
+ * ```
25
+ */
26
+ export class BaseFormComponent {
27
+ constructor() {
28
+ this.dataSource = undefined;
29
+ this.showLoading = false;
30
+ this.fb = inject(FormBuilder);
31
+ }
32
+ /**
33
+ * @description
34
+ * Method evoke on when the form is submitted.
35
+ * @returns submitDatasource() method with form data if valid otherwise form invalid.
36
+ */
37
+ onSubmit() {
38
+ if (this.formGroup !== undefined && this.formGroup.valid) {
39
+ this.submitDataSource(this.formGroup.value);
40
+ }
41
+ else {
42
+ this.validateAllFormFields(this.formGroup);
43
+ }
44
+ }
45
+ /**
46
+ * @description
47
+ * Private method to validate all form controls before is form submited.
48
+ * @param formGroup Validate form group.
49
+ * @returns Groups of controls added to the form builder.
50
+ */
51
+ validateAllFormFields(formGroup) {
52
+ if (this.formGroup !== undefined)
53
+ this.formGroup.markAllAsTouched();
54
+ }
55
+ /**
56
+ * @description
57
+ * Create the reactive form controls
58
+ * @returns Groups of controls added to the form builder.
59
+ */
60
+ createControls() {
61
+ const group = this.fb.group({});
62
+ this.controlsConfig.baseControls.forEach((controls, index) => {
63
+ this.bindControl(controls, group, index);
64
+ });
65
+ return group;
66
+ }
67
+ /**
68
+ * @description
69
+ * Private method to bind the form control.
70
+ * @param controlConfig field to bind.
71
+ * @param group group to add.
72
+ * @param index index of the layout
73
+ */
74
+ bindControl(controlConfig, group, index) {
75
+ if (controlConfig.controlType === 6 /* ControlType.Button */)
76
+ return;
77
+ let control = null;
78
+ if (controlConfig.formArray !== undefined) {
79
+ control =
80
+ controlConfig.formArray.length > 0
81
+ ? this.fb.array([
82
+ this.createFormArrayGroup(controlConfig.formArray[controlConfig.formArray.length - 1].formArray),
83
+ ])
84
+ : this.fb.array([], this.bindValidations(controlConfig.validations || []));
85
+ }
86
+ else {
87
+ control = this.fb.control({
88
+ value: controlConfig.value,
89
+ disabled: controlConfig.disabled,
90
+ }, this.bindValidations(controlConfig.validations || []));
91
+ }
92
+ group.addControl(controlConfig.formControlName, control);
93
+ }
94
+ /**
95
+ * @description
96
+ * Private method to bind the validation to the form controls on form submit.
97
+ * @param validations Push the validation to the controls.
98
+ * @returns Validation.
99
+ */
100
+ bindValidations(validations) {
101
+ if (validations.length > 0) {
102
+ const validList = [];
103
+ validations.forEach((valid) => {
104
+ validList.push(valid.validator);
105
+ });
106
+ return Validators.compose(validList);
107
+ }
108
+ return null;
109
+ }
110
+ /**
111
+ * Create an form array element
112
+ * @param layoutConfig layout of form array
113
+ * @returns Form array group
114
+ */
115
+ createFormArrayGroup(componentConfig) {
116
+ var formGroup = this.fb.group({});
117
+ componentConfig?.forEach((item, index) => {
118
+ var control = null;
119
+ if (item.formArray !== undefined) {
120
+ control =
121
+ item.formArray.length > 0
122
+ ? this.fb.array([
123
+ this.createFormArrayGroup(item.formArray[item.formArray.length - 1].formArray),
124
+ ], this.bindValidations(item.validations || []))
125
+ : this.fb.array([], this.bindValidations(item.validations || []));
126
+ }
127
+ else {
128
+ control = this.fb.control({
129
+ value: item.value,
130
+ disabled: item.disabled,
131
+ }, this.bindValidations(item.validations || []));
132
+ }
133
+ formGroup.addControl(item.formControlName, control);
134
+ });
135
+ return formGroup;
136
+ }
137
+ /**
138
+ * @description
139
+ * Reset fild values to default or specify some value.
140
+ * @param defaultValues Specify the specific value to set to the controls.
141
+ * @returns void.
142
+ */
143
+ reset(defaultValues) {
144
+ this.formGroup.reset(defaultValues);
145
+ }
146
+ /**
147
+ * @description
148
+ * Reset specific fild Errors.
149
+ * @param name Name of the field to reset the error.
150
+ * @returns void.
151
+ */
152
+ resetFieldErrors(name) {
153
+ this.formGroup?.get(name)?.setErrors(null);
154
+ }
155
+ /**
156
+ * @description
157
+ * Get the controls value from the form.
158
+ * @returns Form controls values.
159
+ */
160
+ get value() {
161
+ return this.formGroup.value;
162
+ }
163
+ /**
164
+ * @description
165
+ * Updating parts of the data model.
166
+ * Use the patchValue() method to replace any properties defined in the object that have changed in the form model.
167
+ * @returns Form controls values.
168
+ * @param value The object that matches the structure of the group.
169
+ * @param options Configuration options that determine how the control propagates changes and
170
+ * emits events after the value is patched.
171
+ * `onlySelf`: When true, each change only affects this control and not its parent. Default is
172
+ * true.
173
+ * `emitEvent`: When true or not supplied (the default), both the `statusChanges` and
174
+ * `valueChanges`
175
+ * @usageNotes
176
+ * The following snippet shows how a component can implement this abstract class to
177
+ * define its own initialization method.
178
+ * ```ts
179
+ * this.formGroup.patchValue({
180
+ * name: 'Todd Motto',
181
+ * event: {
182
+ * title: 'AngularCamp 2016',
183
+ * location: 'Barcelona, Spain'
184
+ * }
185
+ * });
186
+ * ```
187
+ */
188
+ patchValue(value, options) {
189
+ return this.formGroup.patchValue(value, options);
190
+ }
191
+ /**
192
+ * @description
193
+ * Updating parts of the data model.
194
+ * Use the setValue() method to set a new value for an individual control. The setValue() method strictly adheres to the structure of the form group and replaces the entire value for the control.
195
+ * @returns Form controls values.
196
+ * @param value The object that matches the structure of the group.
197
+ * @param options Configuration options that determine how the control propagates changes and
198
+ * emits events after the value is patched.
199
+ * `onlySelf`: When true, each change only affects this control and not its parent. Default is
200
+ * true.
201
+ * `emitEvent`: When true or not supplied (the default), both the `statusChanges` and
202
+ * `valueChanges`
203
+ * @usageNotes
204
+ * The following snippet shows how a component can implement this abstract class to
205
+ * define its own initialization method.
206
+ * ```ts
207
+ * this.formGroup.setValue({
208
+ * name: 'Todd Motto',
209
+ * event: {
210
+ * title: 'AngularCamp 2016',
211
+ * location: 'Barcelona, Spain'
212
+ * }
213
+ * });
214
+ * ```
215
+ */
216
+ setValue(value, options) {
217
+ return this.formGroup.setValue(value, options);
218
+ }
219
+ /**
220
+ * @description
221
+ * Dynamically remove the form control.
222
+ * @param index Index of item.
223
+ * @usageNotes
224
+ * The following snippet shows how to remove the form control from Froup Group
225
+ * ```ts
226
+ * removeControl(1);
227
+ * ```
228
+ */
229
+ removeControl(layoutIndex, index) {
230
+ this.formGroup.removeControl(this.controlsConfig.baseControls[layoutIndex].formControlName);
231
+ this.controlsConfig.baseControls.splice(index, 1);
232
+ }
233
+ }
234
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1mb3JtLWNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ZhbGNvbi1uZy90YWlsd2luZC9zcmMvbGliL2Jhc2UtZm9ybS1jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNMLFdBQVcsRUFJWCxVQUFVLEdBQ1gsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBSXJDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBQ0gsTUFBTSxPQUFnQixpQkFBaUI7SUFZckM7UUFMTyxlQUFVLEdBQWtCLFNBQVMsQ0FBQztRQUV0QyxnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUMxQixPQUFFLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBR25DLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksUUFBUTtRQUNiLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUU7WUFDeEQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDN0M7YUFBTTtZQUNMLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDNUM7SUFDSCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSyxxQkFBcUIsQ0FBQyxTQUFvQjtRQUNoRCxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssU0FBUztZQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUN0RSxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNPLGNBQWM7UUFDdEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQzNELElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMzQyxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNLLFdBQVcsQ0FDakIsYUFBNkIsRUFDN0IsS0FBZ0IsRUFDaEIsS0FBYTtRQUViLElBQUksYUFBYSxDQUFDLFdBQVcsK0JBQXVCO1lBQUUsT0FBTztRQUM3RCxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDbkIsSUFBSSxhQUFhLENBQUMsU0FBUyxLQUFLLFNBQVMsRUFBRTtZQUN6QyxPQUFPO2dCQUNMLGFBQWEsQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUM7b0JBQ2hDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQzt3QkFDZCxJQUFJLENBQUMsb0JBQW9CLENBQ3ZCLGFBQWEsQ0FBQyxTQUFTLENBQ3ZCLGFBQWEsQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FDL0IsQ0FBQyxTQUFTLENBQ2Q7cUJBQ0YsQ0FBQztvQkFDRixDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQ2IsRUFBRSxFQUNGLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUMsQ0FDdEQsQ0FBQztTQUNQO2FBQU07WUFDTCxPQUFPLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQ3ZCO2dCQUNFLEtBQUssRUFBRSxhQUFhLENBQUMsS0FBSztnQkFDMUIsUUFBUSxFQUFFLGFBQWEsQ0FBQyxRQUFRO2FBQ2pDLEVBQ0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQyxDQUN0RCxDQUFDO1NBQ0g7UUFDRCxLQUFLLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxlQUFlLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ssZUFBZSxDQUFDLFdBQXlCO1FBQy9DLElBQUksV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDMUIsTUFBTSxTQUFTLEdBQXVDLEVBQUUsQ0FBQztZQUN6RCxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBaUIsRUFBRSxFQUFFO2dCQUN4QyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNsQyxDQUFDLENBQUMsQ0FBQztZQUNILE9BQU8sVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUN0QztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxvQkFBb0IsQ0FBQyxlQUE2QztRQUN4RSxJQUFJLFNBQVMsR0FBYyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM3QyxlQUFlLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ3ZDLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQztZQUNuQixJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssU0FBUyxFQUFFO2dCQUNoQyxPQUFPO29CQUNMLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUM7d0JBQ3ZCLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FDYjs0QkFDRSxJQUFJLENBQUMsb0JBQW9CLENBQ3ZCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUNwRDt5QkFDRixFQUNELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUMsQ0FDN0M7d0JBQ0QsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUNiLEVBQUUsRUFDRixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDLENBQzdDLENBQUM7YUFDUDtpQkFBTTtnQkFDTCxPQUFPLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQ3ZCO29CQUNFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztvQkFDakIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO2lCQUN4QixFQUNELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUMsQ0FDN0MsQ0FBQzthQUNIO1lBQ0QsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3RELENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksS0FBSyxDQUFDLGFBQW1CO1FBQzlCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGdCQUFnQixDQUFDLElBQVk7UUFDM0IsSUFBSSxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQztJQUM5QixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQXdCRztJQUNPLFVBQVUsQ0FDbEIsS0FBNkIsRUFDN0IsT0FBcUQ7UUFFckQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0F3Qkc7SUFDTyxRQUFRLENBQ2hCLEtBQTZCLEVBQzdCLE9BQXFEO1FBRXJELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDTyxhQUFhLENBQUMsV0FBbUIsRUFBRSxLQUFhO1FBQ3hELElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUMxQixJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQyxlQUFlLENBQzlELENBQUM7UUFDRixJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3BELENBQUM7Q0F3RUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgRm9ybUJ1aWxkZXIsXG4gIEZvcm1Db250cm9sLFxuICBGb3JtR3JvdXAsXG4gIFZhbGlkYXRvckZuLFxuICBWYWxpZGF0b3JzLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0Jhc2VDb250cm9sLCBMYXlvdXR9IGZyb20gJy4vYmFzZS1jb250cm9sJztcbmltcG9ydCB7aW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7SVZhbGlkYXRvcn0gZnJvbSAnLi9tb2RlbC9pdmFsaWRhdG9yJztcbmltcG9ydCB7Q29udHJvbFR5cGV9IGZyb20gJy4vbW9kZWwvZW51bSc7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uXG4gKiBCYXNlIGZvcm0gY29tcG9uZW50IGluaXRpYWxpemVkIHRvIGNyZWF0ZSBmb3JtIGNvbnRyb2xzLCBzZXQgdmFsaWRhdGlvbiwgc3VibWl0LlxuICpcbiAqIEB1c2FnZU5vdGVzXG4gKiBUaGUgZm9sbG93aW5nIHNuaXBwZXQgc2hvd3MgaG93IGEgY29tcG9uZW50IGNhbiBpbXBsZW1lbnQgdGhpcyBhYnN0cmFjdCBjbGFzcyB0b1xuICogZGVmaW5lIGl0cyBvd24gaW5pdGlhbGl6YXRpb24gbWV0aG9kLlxuICogYGBgdHNcbiAqICBleHBvcnQgY2xhc3MgSW5wdXRDb21wb25lbnQgZXh0ZW5kcyBCYXNlRm9ybUNvbXBvbmVudDxhbnk+IGltcGxlbWVudHMgT25Jbml0IHtcbiAqICAgICBjb25zdHJ1Y3RvcihmYiA6IEZvcm1CdWlsZGVyKSB7XG4gKiAgICAgICAgc3VwZXIoZmIpO1xuICogICAgICAgIHRoaXMuZGVmaW5lRm9ybSgpO1xuICogICAgfVxuICogICAgcHJvdGVjdGVkIGRlZmluZUZvcm0oKTogdm9pZCB7XG4gKiAgICB9XG4gKiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAqICAgICAgdGhpcy5mb3JtR3JvdXAgPSB0aGlzLmNyZWF0ZUNvbnRyb2xzKCk7XG4gKiAgICB9XG4gKiAgICBwcm90ZWN0ZWQgc3VibWl0RGF0YXNvdXJjZShtb2RlbDogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAqICAgICAgcmV0dXJuIG9mKG1vZGVsKTtcbiAqICAgIH1cbiAqIGBgYFxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZUZvcm1Db21wb25lbnQ8VD4ge1xuICBwdWJsaWMgZm9ybUdyb3VwITogRm9ybUdyb3VwO1xuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBkZWZpbmVGb3JtKCk6IHZvaWQ7XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IHN1Ym1pdERhdGFTb3VyY2UobW9kZWw6IFQpOiBPYnNlcnZhYmxlPFQ+O1xuXG4gIHB1YmxpYyBkYXRhU291cmNlOiBUIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICBwdWJsaWMgY29udHJvbHNDb25maWchOiBMYXlvdXQ8VD47XG4gIHB1YmxpYyBzaG93TG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuICBwcm90ZWN0ZWQgZmIgPSBpbmplY3QoRm9ybUJ1aWxkZXIpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBNZXRob2QgZXZva2Ugb24gd2hlbiB0aGUgZm9ybSBpcyBzdWJtaXR0ZWQuXG4gICAqIEByZXR1cm5zIHN1Ym1pdERhdGFzb3VyY2UoKSBtZXRob2Qgd2l0aCBmb3JtIGRhdGEgaWYgdmFsaWQgb3RoZXJ3aXNlIGZvcm0gaW52YWxpZC5cbiAgICovXG4gIHB1YmxpYyBvblN1Ym1pdCgpIHtcbiAgICBpZiAodGhpcy5mb3JtR3JvdXAgIT09IHVuZGVmaW5lZCAmJiB0aGlzLmZvcm1Hcm91cC52YWxpZCkge1xuICAgICAgdGhpcy5zdWJtaXREYXRhU291cmNlKHRoaXMuZm9ybUdyb3VwLnZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy52YWxpZGF0ZUFsbEZvcm1GaWVsZHModGhpcy5mb3JtR3JvdXApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogUHJpdmF0ZSBtZXRob2QgdG8gdmFsaWRhdGUgYWxsIGZvcm0gY29udHJvbHMgYmVmb3JlIGlzIGZvcm0gc3VibWl0ZWQuXG4gICAqIEBwYXJhbSBmb3JtR3JvdXAgVmFsaWRhdGUgZm9ybSBncm91cC5cbiAgICogQHJldHVybnMgR3JvdXBzIG9mIGNvbnRyb2xzIGFkZGVkIHRvIHRoZSBmb3JtIGJ1aWxkZXIuXG4gICAqL1xuICBwcml2YXRlIHZhbGlkYXRlQWxsRm9ybUZpZWxkcyhmb3JtR3JvdXA6IEZvcm1Hcm91cCkge1xuICAgIGlmICh0aGlzLmZvcm1Hcm91cCAhPT0gdW5kZWZpbmVkKSB0aGlzLmZvcm1Hcm91cC5tYXJrQWxsQXNUb3VjaGVkKCk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIENyZWF0ZSB0aGUgcmVhY3RpdmUgZm9ybSBjb250cm9sc1xuICAgKiBAcmV0dXJucyBHcm91cHMgb2YgY29udHJvbHMgYWRkZWQgdG8gdGhlIGZvcm0gYnVpbGRlci5cbiAgICovXG4gIHByb3RlY3RlZCBjcmVhdGVDb250cm9scygpIHtcbiAgICBjb25zdCBncm91cCA9IHRoaXMuZmIuZ3JvdXAoe30pO1xuICAgIHRoaXMuY29udHJvbHNDb25maWcuYmFzZUNvbnRyb2xzLmZvckVhY2goKGNvbnRyb2xzLCBpbmRleCkgPT4ge1xuICAgICAgdGhpcy5iaW5kQ29udHJvbChjb250cm9scywgZ3JvdXAsIGluZGV4KTtcbiAgICB9KTtcbiAgICByZXR1cm4gZ3JvdXA7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFByaXZhdGUgbWV0aG9kIHRvIGJpbmQgdGhlIGZvcm0gY29udHJvbC5cbiAgICogQHBhcmFtIGNvbnRyb2xDb25maWcgZmllbGQgdG8gYmluZC5cbiAgICogQHBhcmFtIGdyb3VwIGdyb3VwIHRvIGFkZC5cbiAgICogQHBhcmFtIGluZGV4IGluZGV4IG9mIHRoZSBsYXlvdXRcbiAgICovXG4gIHByaXZhdGUgYmluZENvbnRyb2woXG4gICAgY29udHJvbENvbmZpZzogQmFzZUNvbnRyb2w8VD4sXG4gICAgZ3JvdXA6IEZvcm1Hcm91cCxcbiAgICBpbmRleDogbnVtYmVyXG4gICkge1xuICAgIGlmIChjb250cm9sQ29uZmlnLmNvbnRyb2xUeXBlID09PSBDb250cm9sVHlwZS5CdXR0b24pIHJldHVybjtcbiAgICBsZXQgY29udHJvbCA9IG51bGw7XG4gICAgaWYgKGNvbnRyb2xDb25maWcuZm9ybUFycmF5ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnRyb2wgPVxuICAgICAgICBjb250cm9sQ29uZmlnLmZvcm1BcnJheS5sZW5ndGggPiAwXG4gICAgICAgICAgPyB0aGlzLmZiLmFycmF5KFtcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlRm9ybUFycmF5R3JvdXAoXG4gICAgICAgICAgICAgIGNvbnRyb2xDb25maWcuZm9ybUFycmF5W1xuICAgICAgICAgICAgICBjb250cm9sQ29uZmlnLmZvcm1BcnJheS5sZW5ndGggLSAxXG4gICAgICAgICAgICAgICAgXS5mb3JtQXJyYXksXG4gICAgICAgICAgICApLFxuICAgICAgICAgIF0pXG4gICAgICAgICAgOiB0aGlzLmZiLmFycmF5KFxuICAgICAgICAgICAgW10sXG4gICAgICAgICAgICB0aGlzLmJpbmRWYWxpZGF0aW9ucyhjb250cm9sQ29uZmlnLnZhbGlkYXRpb25zIHx8IFtdKSxcbiAgICAgICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb250cm9sID0gdGhpcy5mYi5jb250cm9sKFxuICAgICAgICB7XG4gICAgICAgICAgdmFsdWU6IGNvbnRyb2xDb25maWcudmFsdWUsXG4gICAgICAgICAgZGlzYWJsZWQ6IGNvbnRyb2xDb25maWcuZGlzYWJsZWQsXG4gICAgICAgIH0sXG4gICAgICAgIHRoaXMuYmluZFZhbGlkYXRpb25zKGNvbnRyb2xDb25maWcudmFsaWRhdGlvbnMgfHwgW10pXG4gICAgICApO1xuICAgIH1cbiAgICBncm91cC5hZGRDb250cm9sKGNvbnRyb2xDb25maWcuZm9ybUNvbnRyb2xOYW1lLCBjb250cm9sKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogUHJpdmF0ZSBtZXRob2QgdG8gYmluZCB0aGUgdmFsaWRhdGlvbiB0byB0aGUgZm9ybSBjb250cm9scyBvbiBmb3JtIHN1Ym1pdC5cbiAgICogQHBhcmFtIHZhbGlkYXRpb25zIFB1c2ggdGhlIHZhbGlkYXRpb24gdG8gdGhlIGNvbnRyb2xzLlxuICAgKiBAcmV0dXJucyBWYWxpZGF0aW9uLlxuICAgKi9cbiAgcHJpdmF0ZSBiaW5kVmFsaWRhdGlvbnModmFsaWRhdGlvbnM6IElWYWxpZGF0b3JbXSkge1xuICAgIGlmICh2YWxpZGF0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCB2YWxpZExpc3Q6IChWYWxpZGF0b3JGbiB8IG51bGwgfCB1bmRlZmluZWQpW10gPSBbXTtcbiAgICAgIHZhbGlkYXRpb25zLmZvckVhY2goKHZhbGlkOiBJVmFsaWRhdG9yKSA9PiB7XG4gICAgICAgIHZhbGlkTGlzdC5wdXNoKHZhbGlkLnZhbGlkYXRvcik7XG4gICAgICB9KTtcbiAgICAgIHJldHVybiBWYWxpZGF0b3JzLmNvbXBvc2UodmFsaWRMaXN0KTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGFuIGZvcm0gYXJyYXkgZWxlbWVudFxuICAgKiBAcGFyYW0gbGF5b3V0Q29uZmlnIGxheW91dCBvZiBmb3JtIGFycmF5XG4gICAqIEByZXR1cm5zIEZvcm0gYXJyYXkgZ3JvdXBcbiAgICovXG4gIHByaXZhdGUgY3JlYXRlRm9ybUFycmF5R3JvdXAoY29tcG9uZW50Q29uZmlnOiBCYXNlQ29udHJvbDxUPltdIHwgdW5kZWZpbmVkKTogRm9ybUdyb3VwIHtcbiAgICB2YXIgZm9ybUdyb3VwOiBGb3JtR3JvdXAgPSB0aGlzLmZiLmdyb3VwKHt9KTtcbiAgICBjb21wb25lbnRDb25maWc/LmZvckVhY2goKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICB2YXIgY29udHJvbCA9IG51bGw7XG4gICAgICBpZiAoaXRlbS5mb3JtQXJyYXkgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjb250cm9sID1cbiAgICAgICAgICBpdGVtLmZvcm1BcnJheS5sZW5ndGggPiAwXG4gICAgICAgICAgICA/IHRoaXMuZmIuYXJyYXkoXG4gICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZUZvcm1BcnJheUdyb3VwKFxuICAgICAgICAgICAgICAgICAgaXRlbS5mb3JtQXJyYXlbaXRlbS5mb3JtQXJyYXkubGVuZ3RoIC0gMV0uZm9ybUFycmF5LFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIHRoaXMuYmluZFZhbGlkYXRpb25zKGl0ZW0udmFsaWRhdGlvbnMgfHwgW10pLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgOiB0aGlzLmZiLmFycmF5KFxuICAgICAgICAgICAgICBbXSxcbiAgICAgICAgICAgICAgdGhpcy5iaW5kVmFsaWRhdGlvbnMoaXRlbS52YWxpZGF0aW9ucyB8fCBbXSksXG4gICAgICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29udHJvbCA9IHRoaXMuZmIuY29udHJvbChcbiAgICAgICAgICB7XG4gICAgICAgICAgICB2YWx1ZTogaXRlbS52YWx1ZSxcbiAgICAgICAgICAgIGRpc2FibGVkOiBpdGVtLmRpc2FibGVkLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgdGhpcy5iaW5kVmFsaWRhdGlvbnMoaXRlbS52YWxpZGF0aW9ucyB8fCBbXSksXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBmb3JtR3JvdXAuYWRkQ29udHJvbChpdGVtLmZvcm1Db250cm9sTmFtZSwgY29udHJvbCk7XG4gICAgfSk7XG4gICAgcmV0dXJuIGZvcm1Hcm91cDtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogUmVzZXQgZmlsZCB2YWx1ZXMgdG8gZGVmYXVsdCBvciBzcGVjaWZ5IHNvbWUgdmFsdWUuXG4gICAqIEBwYXJhbSBkZWZhdWx0VmFsdWVzIFNwZWNpZnkgdGhlIHNwZWNpZmljIHZhbHVlIHRvIHNldCB0byB0aGUgY29udHJvbHMuXG4gICAqIEByZXR1cm5zIHZvaWQuXG4gICAqL1xuICBwdWJsaWMgcmVzZXQoZGVmYXVsdFZhbHVlcz86IGFueSk6IHZvaWQge1xuICAgIHRoaXMuZm9ybUdyb3VwLnJlc2V0KGRlZmF1bHRWYWx1ZXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBSZXNldCBzcGVjaWZpYyBmaWxkIEVycm9ycy5cbiAgICogQHBhcmFtIG5hbWUgTmFtZSBvZiB0aGUgZmllbGQgdG8gcmVzZXQgdGhlIGVycm9yLlxuICAgKiBAcmV0dXJucyB2b2lkLlxuICAgKi9cbiAgcmVzZXRGaWVsZEVycm9ycyhuYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm1Hcm91cD8uZ2V0KG5hbWUpPy5zZXRFcnJvcnMobnVsbCk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEdldCB0aGUgY29udHJvbHMgdmFsdWUgZnJvbSB0aGUgZm9ybS5cbiAgICogQHJldHVybnMgRm9ybSBjb250cm9scyB2YWx1ZXMuXG4gICAqL1xuICBnZXQgdmFsdWUoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5mb3JtR3JvdXAudmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFVwZGF0aW5nIHBhcnRzIG9mIHRoZSBkYXRhIG1vZGVsLlxuICAgKiBVc2UgdGhlIHBhdGNoVmFsdWUoKSBtZXRob2QgdG8gcmVwbGFjZSBhbnkgcHJvcGVydGllcyBkZWZpbmVkIGluIHRoZSBvYmplY3QgdGhhdCBoYXZlIGNoYW5nZWQgaW4gdGhlIGZvcm0gbW9kZWwuXG4gICAqIEByZXR1cm5zIEZvcm0gY29udHJvbHMgdmFsdWVzLlxuICAgKiBAcGFyYW0gdmFsdWUgVGhlIG9iamVjdCB0aGF0IG1hdGNoZXMgdGhlIHN0cnVjdHVyZSBvZiB0aGUgZ3JvdXAuXG4gICAqIEBwYXJhbSBvcHRpb25zIENvbmZpZ3VyYXRpb24gb3B0aW9ucyB0aGF0IGRldGVybWluZSBob3cgdGhlIGNvbnRyb2wgcHJvcGFnYXRlcyBjaGFuZ2VzIGFuZFxuICAgKiBlbWl0cyBldmVudHMgYWZ0ZXIgdGhlIHZhbHVlIGlzIHBhdGNoZWQuXG4gICAqIGBvbmx5U2VsZmA6IFdoZW4gdHJ1ZSwgZWFjaCBjaGFuZ2Ugb25seSBhZmZlY3RzIHRoaXMgY29udHJvbCBhbmQgbm90IGl0cyBwYXJlbnQuIERlZmF1bHQgaXNcbiAgICogdHJ1ZS5cbiAgICogYGVtaXRFdmVudGA6IFdoZW4gdHJ1ZSBvciBub3Qgc3VwcGxpZWQgKHRoZSBkZWZhdWx0KSwgYm90aCB0aGUgYHN0YXR1c0NoYW5nZXNgIGFuZFxuICAgKiBgdmFsdWVDaGFuZ2VzYFxuICAgKiAgQHVzYWdlTm90ZXNcbiAgICogVGhlIGZvbGxvd2luZyBzbmlwcGV0IHNob3dzIGhvdyBhIGNvbXBvbmVudCBjYW4gaW1wbGVtZW50IHRoaXMgYWJzdHJhY3QgY2xhc3MgdG9cbiAgICogZGVmaW5lIGl0cyBvd24gaW5pdGlhbGl6YXRpb24gbWV0aG9kLlxuICAgKiBgYGB0c1xuICAgKiAgIHRoaXMuZm9ybUdyb3VwLnBhdGNoVmFsdWUoe1xuICAgKiAgICAgbmFtZTogJ1RvZGQgTW90dG8nLFxuICAgKiAgICAgZXZlbnQ6IHtcbiAgICogICAgICAgdGl0bGU6ICdBbmd1bGFyQ2FtcCAyMDE2JyxcbiAgICogICAgICAgbG9jYXRpb246ICdCYXJjZWxvbmEsIFNwYWluJ1xuICAgKiAgICAgfVxuICAgKiAgIH0pO1xuICAgKiBgYGBcbiAgICovXG4gIHByb3RlY3RlZCBwYXRjaFZhbHVlKFxuICAgIHZhbHVlOiB7IFtrZXk6IHN0cmluZ106IGFueSB9LFxuICAgIG9wdGlvbnM/OiB7IG9ubHlTZWxmPzogYm9vbGVhbjsgZW1pdEV2ZW50PzogYm9vbGVhbiB9XG4gICkge1xuICAgIHJldHVybiB0aGlzLmZvcm1Hcm91cC5wYXRjaFZhbHVlKHZhbHVlLCBvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogVXBkYXRpbmcgcGFydHMgb2YgdGhlIGRhdGEgbW9kZWwuXG4gICAqIFVzZSB0aGUgc2V0VmFsdWUoKSBtZXRob2QgdG8gc2V0IGEgbmV3IHZhbHVlIGZvciBhbiBpbmRpdmlkdWFsIGNvbnRyb2wuIFRoZSBzZXRWYWx1ZSgpIG1ldGhvZCBzdHJpY3RseSBhZGhlcmVzIHRvIHRoZSBzdHJ1Y3R1cmUgb2YgdGhlIGZvcm0gZ3JvdXAgYW5kIHJlcGxhY2VzIHRoZSBlbnRpcmUgdmFsdWUgZm9yIHRoZSBjb250cm9sLlxuICAgKiBAcmV0dXJucyBGb3JtIGNvbnRyb2xzIHZhbHVlcy5cbiAgICogQHBhcmFtIHZhbHVlIFRoZSBvYmplY3QgdGhhdCBtYXRjaGVzIHRoZSBzdHJ1Y3R1cmUgb2YgdGhlIGdyb3VwLlxuICAgKiBAcGFyYW0gb3B0aW9ucyBDb25maWd1cmF0aW9uIG9wdGlvbnMgdGhhdCBkZXRlcm1pbmUgaG93IHRoZSBjb250cm9sIHByb3BhZ2F0ZXMgY2hhbmdlcyBhbmRcbiAgICogZW1pdHMgZXZlbnRzIGFmdGVyIHRoZSB2YWx1ZSBpcyBwYXRjaGVkLlxuICAgKiBgb25seVNlbGZgOiBXaGVuIHRydWUsIGVhY2ggY2hhbmdlIG9ubHkgYWZmZWN0cyB0aGlzIGNvbnRyb2wgYW5kIG5vdCBpdHMgcGFyZW50LiBEZWZhdWx0IGlzXG4gICAqIHRydWUuXG4gICAqIGBlbWl0RXZlbnRgOiBXaGVuIHRydWUgb3Igbm90IHN1cHBsaWVkICh0aGUgZGVmYXVsdCksIGJvdGggdGhlIGBzdGF0dXNDaGFuZ2VzYCBhbmRcbiAgICogYHZhbHVlQ2hhbmdlc2BcbiAgICogIEB1c2FnZU5vdGVzXG4gICAqIFRoZSBmb2xsb3dpbmcgc25pcHBldCBzaG93cyBob3cgYSBjb21wb25lbnQgY2FuIGltcGxlbWVudCB0aGlzIGFic3RyYWN0IGNsYXNzIHRvXG4gICAqIGRlZmluZSBpdHMgb3duIGluaXRpYWxpemF0aW9uIG1ldGhvZC5cbiAgICogYGBgdHNcbiAgICogICB0aGlzLmZvcm1Hcm91cC5zZXRWYWx1ZSh7XG4gICAqICAgICBuYW1lOiAnVG9kZCBNb3R0bycsXG4gICAqICAgICBldmVudDoge1xuICAgKiAgICAgICB0aXRsZTogJ0FuZ3VsYXJDYW1wIDIwMTYnLFxuICAgKiAgICAgICBsb2NhdGlvbjogJ0JhcmNlbG9uYSwgU3BhaW4nXG4gICAqICAgICB9XG4gICAqICAgfSk7XG4gICAqIGBgYFxuICAgKi9cbiAgcHJvdGVjdGVkIHNldFZhbHVlKFxuICAgIHZhbHVlOiB7IFtrZXk6IHN0cmluZ106IGFueSB9LFxuICAgIG9wdGlvbnM/OiB7IG9ubHlTZWxmPzogYm9vbGVhbjsgZW1pdEV2ZW50PzogYm9vbGVhbiB9XG4gICkge1xuICAgIHJldHVybiB0aGlzLmZvcm1Hcm91cC5zZXRWYWx1ZSh2YWx1ZSwgb3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIER5bmFtaWNhbGx5IHJlbW92ZSB0aGUgZm9ybSBjb250cm9sLlxuICAgKiBAcGFyYW0gaW5kZXggSW5kZXggb2YgaXRlbS5cbiAgICogQHVzYWdlTm90ZXNcbiAgICogVGhlIGZvbGxvd2luZyBzbmlwcGV0IHNob3dzIGhvdyB0byByZW1vdmUgdGhlIGZvcm0gY29udHJvbCBmcm9tIEZyb3VwIEdyb3VwXG4gICAqIGBgYHRzXG4gICAqICAgIHJlbW92ZUNvbnRyb2woMSk7XG4gICAqIGBgYFxuICAgKi9cbiAgcHJvdGVjdGVkIHJlbW92ZUNvbnRyb2wobGF5b3V0SW5kZXg6IG51bWJlciwgaW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMuZm9ybUdyb3VwLnJlbW92ZUNvbnRyb2woXG4gICAgICB0aGlzLmNvbnRyb2xzQ29uZmlnLmJhc2VDb250cm9sc1tsYXlvdXRJbmRleF0uZm9ybUNvbnRyb2xOYW1lXG4gICAgKTtcbiAgICB0aGlzLmNvbnRyb2xzQ29uZmlnLmJhc2VDb250cm9scy5zcGxpY2UoaW5kZXgsIDEpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBEeW5hbWljYWxseSBhZGQgdGhlIGZvcm0gY29udHJvbC5cbiAgICogQHBhcmFtIGNvbmZpZ1RvQWRkIENvbmZpZ3VyYXRpb24gb2YgdGhlIGZvcm0gY29udHJvbC5cbiAgICogQHBhcmFtIGluZGV4IEFkZCBjb250cm9scyB0byB0aGUgc3BlY2lmaWMgaW5kZXguXG4gICAqIEB1c2FnZU5vdGVzXG4gICAqIFRoZSBmb2xsb3dpbmcgc25pcHBldCBzaG93cyBob3cgYSBjb21wb25lbnQgY2FuIGltcGxlbWVudCB0aGlzIGFic3RyYWN0IGNsYXNzIHRvXG4gICAqIGRlZmluZSBpdHMgb3duIGluaXRpYWxpemF0aW9uIG1ldGhvZC5cbiAgICogYGBgdHNcbiAgICogICB2YXIgY29uZmlnVG9hZGQgPSB7XG4gICAqICAgIGNvbXBvbmVudFByb3BlcnR5OiB7XG4gICAqICAgICAgbGFiZWw6IFwiT3V0bGluZSBBdXRvIGNvbXBsZXRlXCIsXG4gICAqICAgICAgb3B0aW9uczogW3sgdmFsdWU6ICdFeHRyYS1jaGVlc2UnLCB2aWV3VmFsdWU6ICdFeHRyYSBjaGVlc2UnIH0sXG4gICAqICAgICAgeyB2YWx1ZTogJ0JlbGxzcHJvdXQnLCB2aWV3VmFsdWU6ICdCZWxsc3Byb3V0JyB9LFxuICAgKiAgICAgIHsgdmFsdWU6ICdNdXNocm9vbScsIHZpZXdWYWx1ZTogJ011c2hyb29tJyB9LFxuICAgKiAgICAgIHsgdmFsdWU6ICdPbmlvbicsIHZpZXdWYWx1ZTogJ09uaW9uJyB9LFxuICAgKiAgICAgIHsgdmFsdWU6ICdQZXBwZXJvbmknLCB2aWV3VmFsdWU6ICdQZXBwZXJvbmknIH0sXG4gICAqICAgICAgeyB2YWx1ZTogJ1NhdXNhZ2UnLCB2aWV3VmFsdWU6ICdTYXVzYWdlJyB9LFxuICAgKiAgICAgIHsgdmFsdWU6ICdUb21hdG8nLCB2aWV3VmFsdWU6ICdUb21hdG8nIH1dLFxuICAgKiAgICAgIGFwcGVhcmFuY2U6IEFwcGVhcmFuY2UuT3V0bGluZSxcbiAgICogICAgICBjb2xvcjogJ2FjY2VudCdcbiAgICogICAgfSxcbiAgICogICAgY29tcG9uZW50VHlwZTogQ29tcG9uZW50VHlwZS5BdXRvQ29tcGxldGUsXG4gICAqICAgIGZvcm1Db250cm9sTmFtZTogXCJ0ZXN0XCJcbiAgICogIH07XG4gICAqICB0aGlzLmFkZENvbnRyb2woY29uZmlnVG9hZGQpOyBvciB0aGlzLmFkZENvbnRyb2woY29uZmlnVG9hZGQsMSk7XG4gICAqIGBgYFxuICAgKi9cbiAgLy8gIHByb3RlY3RlZCBhZGRDb250cm9sKGxheW91dFRvQWRkPzogQmFzZUNvbnRyb2w8c3RyaW5nPltdLGluZGV4PzogbnVtYmVyKSB7XG4gIC8vICAgIGxheW91dFRvQWRkLmZvckVhY2goKGxheW91dCwgbGF5b3V0SW5kZXgpID0+IHtcbiAgLy8gICAgICBsYXlvdXQuY29tcG9uZW50Q29uZmlnLmZvckVhY2goXG4gIC8vICAgICAgICAoY29tcG9uZW50Q29uZmlnLCBjb21wb25lbnRJbmRleCkgPT4ge1xuICAvLyAgICAgICAgICBpZiAoY29tcG9uZW50Q29uZmlnLmZvcm1BcnJheSAhPT0gdW5kZWZpbmVkKSB7XG4gIC8vICAgICAgICAgICAgY29tcG9uZW50Q29uZmlnLmZvcm1BcnJheS5mb3JFYWNoKChjb250cm9sKSA9PiB7XG4gIC8vICAgICAgICAgICAgICB0aGlzLmZvcm1Hcm91cC5zZXRDb250cm9sKFxuICAvLyAgICAgICAgICAgICAgICAncHJvZHVjdE9wdGlvbicsXG4gIC8vICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlRm9ybUFycmF5R3JvdXAoY29udHJvbC5jb21wb25lbnRDb25maWcpLFxuICAvLyAgICAgICAgICAgICAgKTtcbiAgLy8gICAgICAgICAgICAgIHRoaXMuY29udHJvbHNDb25maWcuY29udGFpbmVyLmxheW91dENvbmZpZ1sxXS5jb21wb25lbnRDb25maWdbMF0uZm9ybUFycmF5LnB1c2goXG4gIC8vICAgICAgICAgICAgICAgIGxheW91dCxcbiAgLy8gICAgICAgICAgICAgICk7XG4gIC8vICAgICAgICAgICAgfSk7XG4gIC8vICAgICAgICAgIH0gZWxzZSB7XG4gIC8vICAgICAgICAgICAgdGhpcy5mb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgLy8gICAgICAgICAgICAgIGNvbXBvbmVudENvbmZpZy5mb3JtQ29udHJvbE5hbWUsXG4gIC8vICAgICAgICAgICAgICBuZXcgVW50eXBlZEZvcm1Db250cm9sKFxuICAvLyAgICAgICAgICAgICAgICB7XG4gIC8vICAgICAgICAgICAgICAgICAgdmFsdWU6IGNvbXBvbmVudENvbmZpZy5jb21wb25lbnRQcm9wZXJ0eS52YWx1ZSxcbiAgLy8gICAgICAgICAgICAgICAgICBkaXNhYmxlZDpcbiAgLy8gICAgICAgICAgICAgICAgICBjb21wb25lbnRDb25maWcuY29tcG9uZW50UHJvcGVydHkuZGlzYWJsZWQsXG4gIC8vICAgICAgICAgICAgICAgIH0sXG4gIC8vICAgICAgICAgICAgICAgIHRoaXMuYmluZFZhbGlkYXRpb25zKFxuICAvLyAgICAgICAgICAgICAgICAgIGNvbXBvbmVudENvbmZpZy52YWxpZGF0aW9ucyB8fCBbXSxcbiAgLy8gICAgICAgICAgICAgICAgKSxcbiAgLy8gICAgICAgICAgICAgICksXG4gIC8vICAgICAgICAgICAgKTtcbiAgLy8gICAgICAgICAgICBpbmRleCAhPT0gbnVsbFxuICAvLyAgICAgICAgICAgICAgPyB0aGlzLmNvbnRyb2xzQ29uZmlnLmNvbnRhaW5lci5sYXlvdXRDb25maWcuc3BsaWNlKFxuICAvLyAgICAgICAgICAgICAgICBpbmRleCxcbiAgLy8gICAgICAgICAgICAgICAgMCxcbiAgLy8gICAgICAgICAgICAgICAgbGF5b3V0LFxuICAvLyAgICAgICAgICAgICAgKVxuICAvLyAgICAgICAgICAgICAgOiB0aGlzLmNvbnRyb2xzQ29uZmlnLmNvbnRhaW5lci5sYXlvdXRDb25maWcucHVzaChcbiAgLy8gICAgICAgICAgICAgICAgbGF5b3V0LFxuICAvLyAgICAgICAgICAgICAgKTtcbiAgLy8gICAgICAgICAgfVxuICAvLyAgICAgICAgfSxcbiAgLy8gICAgICApO1xuICAvLyAgICB9KTtcbiAgLy8gIH1cbn1cbiJdfQ==
@@ -0,0 +1,33 @@
1
+ import { Component } from '@angular/core';
2
+ import { FormControl } from "@angular/forms";
3
+ import { map, startWith } from 'rxjs/operators';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/material/autocomplete";
6
+ import * as i2 from "@angular/material/core";
7
+ import * as i3 from "@angular/material/input";
8
+ import * as i4 from "@angular/material/form-field";
9
+ import * as i5 from "@angular/material/tooltip";
10
+ import * as i6 from "@angular/common";
11
+ import * as i7 from "@angular/forms";
12
+ export class AutoCompleteComponent {
13
+ constructor() {
14
+ this.autoCompleteControl = new FormControl();
15
+ }
16
+ ngOnInit() {
17
+ this.filteredOptions = this.autoCompleteControl.valueChanges.pipe(startWith(''), map(value => this._filter(value)));
18
+ }
19
+ _filter(value) {
20
+ const filterValue = value.toLowerCase();
21
+ return this.control.options.filter((option) => option?.key?.toLowerCase().includes(filterValue));
22
+ }
23
+ optionSelected(value) {
24
+ this.formGroup?.get(this.control?.formControlName)?.setValue(value);
25
+ }
26
+ }
27
+ AutoCompleteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: AutoCompleteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
28
+ AutoCompleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.1", type: AutoCompleteComponent, selector: "falcon-auto-complete", ngImport: i0, template: "<mat-form-field *ngIf=\"control.appearance != 'plain'; else plainInput\" [appearance]=\"control.appearance\"\n [formGroup]=\"formGroup\" [ngStyle]=\"control.style\" [ngClass]=\"control.class\">\n <mat-label>{{control.label}}</mat-label>\n <input matInput [formControl]=\"autoCompleteControl\" [formControlName]=\"control.formControlName\"\n [placeholder]=\"control.placeHolder\" [type]=\"control.type\" [ngStyle]=\"control.style\" [ngClass]=\"control.class\"\n [matAutocomplete]=\"auto\"\n [required]=\"formGroup.get(control.formControlName)?.errors !== null && formGroup.get(control.formControlName)?.errors?.['required']\">\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)='optionSelected($event.option.viewValue)'>\n <mat-option *ngFor=\"let item of filteredOptions | async\" [value]=\"item.key\">\n {{item.value}}\n </mat-option>\n </mat-autocomplete>\n\n <span matPrefix [matTooltip]=\"control.prefix.toolTipText!\"\n [ngClass]=\"{'material-icons': control.prefix.isIcon}\">{{control.prefix.text}} &nbsp;&nbsp;</span>\n <span matSuffix [matTooltip]=\"control.suffix.toolTipText!\"\n [ngClass]=\"{'material-icons': control.suffix.isIcon}\">{{control.suffix.text}} &nbsp;&nbsp;</span>\n\n <mat-hint>{{control.hint.text}}</mat-hint>\n <ng-container *ngFor=\"let validation of control.validations;\" ngProjectAs=\"mat-error\">\n <mat-error *ngIf=\"formGroup.get(control.formControlName)?.hasError(validation.name)\">{{validation.message}}\n </mat-error>\n </ng-container>\n</mat-form-field>\n\n<ng-template #plainInput>\n <div [formGroup]=\"formGroup\" [ngStyle]=\"control.style\" [ngClass]=\"control.class\">\n <input type=\"text\" [formControl]=\"autoCompleteControl\" [formControlName]=\"control.formControlName\"\n [placeholder]=\"control.placeHolder\" [type]=\"control.type\" [ngStyle]=\"control.style\" [ngClass]=\"control.class\"\n [matAutocomplete]=\"auto\"\n [required]=\"formGroup.get(control.formControlName)?.errors !== null && formGroup.get(control.formControlName)?.errors?.['required']\"\n class=\"bg-gray-200 appearance-none border-2 border-gray-200 rounded w-full py-2 px-4 text-gray-700 leading-tight focus:outline-none focus:bg-white focus:border-purple-500\">\n </div>\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)='optionSelected($event.option.viewValue)'>\n <mat-option *ngFor=\"let item of filteredOptions | async\" [value]=\"item.key\">\n {{item.value}}\n </mat-option>\n </mat-autocomplete>\n</ng-template>", styles: [""], dependencies: [{ kind: "component", type: i1.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i2.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i1.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i4.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i4.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]" }, { kind: "directive", type: i4.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]" }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i7.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: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i7.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i7.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i7.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i7.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }] });
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: AutoCompleteComponent, decorators: [{
30
+ type: Component,
31
+ args: [{ selector: 'falcon-auto-complete', template: "<mat-form-field *ngIf=\"control.appearance != 'plain'; else plainInput\" [appearance]=\"control.appearance\"\n [formGroup]=\"formGroup\" [ngStyle]=\"control.style\" [ngClass]=\"control.class\">\n <mat-label>{{control.label}}</mat-label>\n <input matInput [formControl]=\"autoCompleteControl\" [formControlName]=\"control.formControlName\"\n [placeholder]=\"control.placeHolder\" [type]=\"control.type\" [ngStyle]=\"control.style\" [ngClass]=\"control.class\"\n [matAutocomplete]=\"auto\"\n [required]=\"formGroup.get(control.formControlName)?.errors !== null && formGroup.get(control.formControlName)?.errors?.['required']\">\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)='optionSelected($event.option.viewValue)'>\n <mat-option *ngFor=\"let item of filteredOptions | async\" [value]=\"item.key\">\n {{item.value}}\n </mat-option>\n </mat-autocomplete>\n\n <span matPrefix [matTooltip]=\"control.prefix.toolTipText!\"\n [ngClass]=\"{'material-icons': control.prefix.isIcon}\">{{control.prefix.text}} &nbsp;&nbsp;</span>\n <span matSuffix [matTooltip]=\"control.suffix.toolTipText!\"\n [ngClass]=\"{'material-icons': control.suffix.isIcon}\">{{control.suffix.text}} &nbsp;&nbsp;</span>\n\n <mat-hint>{{control.hint.text}}</mat-hint>\n <ng-container *ngFor=\"let validation of control.validations;\" ngProjectAs=\"mat-error\">\n <mat-error *ngIf=\"formGroup.get(control.formControlName)?.hasError(validation.name)\">{{validation.message}}\n </mat-error>\n </ng-container>\n</mat-form-field>\n\n<ng-template #plainInput>\n <div [formGroup]=\"formGroup\" [ngStyle]=\"control.style\" [ngClass]=\"control.class\">\n <input type=\"text\" [formControl]=\"autoCompleteControl\" [formControlName]=\"control.formControlName\"\n [placeholder]=\"control.placeHolder\" [type]=\"control.type\" [ngStyle]=\"control.style\" [ngClass]=\"control.class\"\n [matAutocomplete]=\"auto\"\n [required]=\"formGroup.get(control.formControlName)?.errors !== null && formGroup.get(control.formControlName)?.errors?.['required']\"\n class=\"bg-gray-200 appearance-none border-2 border-gray-200 rounded w-full py-2 px-4 text-gray-700 leading-tight focus:outline-none focus:bg-white focus:border-purple-500\">\n </div>\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)='optionSelected($event.option.viewValue)'>\n <mat-option *ngFor=\"let item of filteredOptions | async\" [value]=\"item.key\">\n {{item.value}}\n </mat-option>\n </mat-autocomplete>\n</ng-template>" }]
32
+ }], ctorParameters: function () { return []; } });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1jb21wbGV0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mYWxjb24tbmcvdGFpbHdpbmQvc3JjL2xpYi9jb21wb25lbnQvYXV0by1jb21wbGV0ZS9hdXRvLWNvbXBsZXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ZhbGNvbi1uZy90YWlsd2luZC9zcmMvbGliL2NvbXBvbmVudC9hdXRvLWNvbXBsZXRlL2F1dG8tY29tcGxldGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFFekQsT0FBTyxFQUFDLFdBQVcsRUFBWSxNQUFNLGdCQUFnQixDQUFDO0FBR3RELE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7OztBQU1oRCxNQUFNLE9BQU8scUJBQXFCO0lBSWhDO1FBREEsd0JBQW1CLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBR2pCLFFBQVE7UUFDTixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNySCxDQUFDO0lBRU8sT0FBTyxDQUFDLEtBQWE7UUFDM0IsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBZ0IsRUFBRSxFQUFFLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUM3RyxDQUFDO0lBRUQsY0FBYyxDQUFDLEtBQVU7UUFDdkIsSUFBSSxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxlQUFlLENBQUMsRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEUsQ0FBQzs7a0hBbEJVLHFCQUFxQjtzR0FBckIscUJBQXFCLDREQ1hsQyxpL0VBc0NjOzJGRDNCRCxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0Usc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Jhc2VDb250cm9sfSBmcm9tIFwiLi4vLi4vYmFzZS1jb250cm9sXCI7XG5pbXBvcnQge0Zvcm1Db250cm9sLCBGb3JtR3JvdXB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHtJT3B0aW9uc30gZnJvbSBcIi4uLy4uL21vZGVsL2ludGVyZmFjZVwiO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgbWFwLCBzdGFydFdpdGggfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmYWxjb24tYXV0by1jb21wbGV0ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9hdXRvLWNvbXBsZXRlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXV0by1jb21wbGV0ZS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBBdXRvQ29tcGxldGVDb21wb25lbnQge1xuICBjb250cm9sITogQmFzZUNvbnRyb2w8c3RyaW5nPjtcbiAgZm9ybUdyb3VwITogRm9ybUdyb3VwO1xuICBhdXRvQ29tcGxldGVDb250cm9sID0gbmV3IEZvcm1Db250cm9sKCk7XG4gIGNvbnN0cnVjdG9yKCkgeyB9XG4gIGZpbHRlcmVkT3B0aW9ucyE6IE9ic2VydmFibGU8SU9wdGlvbnNbXT47XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMgPSB0aGlzLmF1dG9Db21wbGV0ZUNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKCcnKSxtYXAodmFsdWUgPT4gdGhpcy5fZmlsdGVyKHZhbHVlKSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZmlsdGVyKHZhbHVlOiBzdHJpbmcpOiBJT3B0aW9uc1tdIHtcbiAgICBjb25zdCBmaWx0ZXJWYWx1ZSA9IHZhbHVlLnRvTG93ZXJDYXNlKCk7XG4gICAgcmV0dXJuIHRoaXMuY29udHJvbC5vcHRpb25zLmZpbHRlcigob3B0aW9uOiBJT3B0aW9ucykgPT4gb3B0aW9uPy5rZXk/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoZmlsdGVyVmFsdWUpKTtcbiAgfVxuXG4gIG9wdGlvblNlbGVjdGVkKHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLmZvcm1Hcm91cD8uZ2V0KHRoaXMuY29udHJvbD8uZm9ybUNvbnRyb2xOYW1lKT8uc2V0VmFsdWUodmFsdWUpO1xuICB9XG59XG4iLCI8bWF0LWZvcm0tZmllbGQgKm5nSWY9XCJjb250cm9sLmFwcGVhcmFuY2UgIT0gJ3BsYWluJzsgZWxzZSBwbGFpbklucHV0XCIgW2FwcGVhcmFuY2VdPVwiY29udHJvbC5hcHBlYXJhbmNlXCJcbiAgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIiBbbmdTdHlsZV09XCJjb250cm9sLnN0eWxlXCIgW25nQ2xhc3NdPVwiY29udHJvbC5jbGFzc1wiPlxuICA8bWF0LWxhYmVsPnt7Y29udHJvbC5sYWJlbH19PC9tYXQtbGFiZWw+XG4gIDxpbnB1dCBtYXRJbnB1dCBbZm9ybUNvbnRyb2xdPVwiYXV0b0NvbXBsZXRlQ29udHJvbFwiIFtmb3JtQ29udHJvbE5hbWVdPVwiY29udHJvbC5mb3JtQ29udHJvbE5hbWVcIlxuICAgIFtwbGFjZWhvbGRlcl09XCJjb250cm9sLnBsYWNlSG9sZGVyXCIgW3R5cGVdPVwiY29udHJvbC50eXBlXCIgW25nU3R5bGVdPVwiY29udHJvbC5zdHlsZVwiIFtuZ0NsYXNzXT1cImNvbnRyb2wuY2xhc3NcIlxuICAgIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b1wiXG4gICAgW3JlcXVpcmVkXT1cImZvcm1Hcm91cC5nZXQoY29udHJvbC5mb3JtQ29udHJvbE5hbWUpPy5lcnJvcnMgIT09IG51bGwgJiYgZm9ybUdyb3VwLmdldChjb250cm9sLmZvcm1Db250cm9sTmFtZSk/LmVycm9ycz8uWydyZXF1aXJlZCddXCI+XG4gIDxtYXQtYXV0b2NvbXBsZXRlICNhdXRvPVwibWF0QXV0b2NvbXBsZXRlXCIgKG9wdGlvblNlbGVjdGVkKT0nb3B0aW9uU2VsZWN0ZWQoJGV2ZW50Lm9wdGlvbi52aWV3VmFsdWUpJz5cbiAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBmaWx0ZXJlZE9wdGlvbnMgfCBhc3luY1wiIFt2YWx1ZV09XCJpdGVtLmtleVwiPlxuICAgICAge3tpdGVtLnZhbHVlfX1cbiAgICA8L21hdC1vcHRpb24+XG4gIDwvbWF0LWF1dG9jb21wbGV0ZT5cblxuICA8c3BhbiBtYXRQcmVmaXggW21hdFRvb2x0aXBdPVwiY29udHJvbC5wcmVmaXgudG9vbFRpcFRleHQhXCJcbiAgICBbbmdDbGFzc109XCJ7J21hdGVyaWFsLWljb25zJzogY29udHJvbC5wcmVmaXguaXNJY29ufVwiPnt7Y29udHJvbC5wcmVmaXgudGV4dH19ICZuYnNwOyZuYnNwOzwvc3Bhbj5cbiAgPHNwYW4gbWF0U3VmZml4IFttYXRUb29sdGlwXT1cImNvbnRyb2wuc3VmZml4LnRvb2xUaXBUZXh0IVwiXG4gICAgW25nQ2xhc3NdPVwieydtYXRlcmlhbC1pY29ucyc6IGNvbnRyb2wuc3VmZml4LmlzSWNvbn1cIj57e2NvbnRyb2wuc3VmZml4LnRleHR9fSAmbmJzcDsmbmJzcDs8L3NwYW4+XG5cbiAgPG1hdC1oaW50Pnt7Y29udHJvbC5oaW50LnRleHR9fTwvbWF0LWhpbnQ+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHZhbGlkYXRpb24gb2YgY29udHJvbC52YWxpZGF0aW9ucztcIiBuZ1Byb2plY3RBcz1cIm1hdC1lcnJvclwiPlxuICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtR3JvdXAuZ2V0KGNvbnRyb2wuZm9ybUNvbnRyb2xOYW1lKT8uaGFzRXJyb3IodmFsaWRhdGlvbi5uYW1lKVwiPnt7dmFsaWRhdGlvbi5tZXNzYWdlfX1cbiAgICA8L21hdC1lcnJvcj5cbiAgPC9uZy1jb250YWluZXI+XG48L21hdC1mb3JtLWZpZWxkPlxuXG48bmctdGVtcGxhdGUgI3BsYWluSW5wdXQ+XG4gIDxkaXYgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIiBbbmdTdHlsZV09XCJjb250cm9sLnN0eWxlXCIgW25nQ2xhc3NdPVwiY29udHJvbC5jbGFzc1wiPlxuICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIFtmb3JtQ29udHJvbF09XCJhdXRvQ29tcGxldGVDb250cm9sXCIgW2Zvcm1Db250cm9sTmFtZV09XCJjb250cm9sLmZvcm1Db250cm9sTmFtZVwiXG4gICAgICBbcGxhY2Vob2xkZXJdPVwiY29udHJvbC5wbGFjZUhvbGRlclwiIFt0eXBlXT1cImNvbnRyb2wudHlwZVwiIFtuZ1N0eWxlXT1cImNvbnRyb2wuc3R5bGVcIiBbbmdDbGFzc109XCJjb250cm9sLmNsYXNzXCJcbiAgICAgIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b1wiXG4gICAgICBbcmVxdWlyZWRdPVwiZm9ybUdyb3VwLmdldChjb250cm9sLmZvcm1Db250cm9sTmFtZSk/LmVycm9ycyAhPT0gbnVsbCAmJiBmb3JtR3JvdXAuZ2V0KGNvbnRyb2wuZm9ybUNvbnRyb2xOYW1lKT8uZXJyb3JzPy5bJ3JlcXVpcmVkJ11cIlxuICAgICAgY2xhc3M9XCJiZy1ncmF5LTIwMCBhcHBlYXJhbmNlLW5vbmUgYm9yZGVyLTIgYm9yZGVyLWdyYXktMjAwIHJvdW5kZWQgdy1mdWxsIHB5LTIgcHgtNCB0ZXh0LWdyYXktNzAwIGxlYWRpbmctdGlnaHQgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOmJnLXdoaXRlIGZvY3VzOmJvcmRlci1wdXJwbGUtNTAwXCI+XG4gIDwvZGl2PlxuICA8bWF0LWF1dG9jb21wbGV0ZSAjYXV0bz1cIm1hdEF1dG9jb21wbGV0ZVwiIChvcHRpb25TZWxlY3RlZCk9J29wdGlvblNlbGVjdGVkKCRldmVudC5vcHRpb24udmlld1ZhbHVlKSc+XG4gICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IGl0ZW0gb2YgZmlsdGVyZWRPcHRpb25zIHwgYXN5bmNcIiBbdmFsdWVdPVwiaXRlbS5rZXlcIj5cbiAgICAgIHt7aXRlbS52YWx1ZX19XG4gICAgPC9tYXQtb3B0aW9uPlxuICA8L21hdC1hdXRvY29tcGxldGU+XG48L25nLXRlbXBsYXRlPiJdfQ==
@@ -0,0 +1,29 @@
1
+ import { Component, Inject } from '@angular/core';
2
+ import { MAT_BOTTOM_SHEET_DATA } from "@angular/material/bottom-sheet";
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/material/bottom-sheet";
5
+ import * as i2 from "@angular/material/core";
6
+ import * as i3 from "@angular/material/list";
7
+ import * as i4 from "@angular/common";
8
+ export class BottomSheetComponent {
9
+ constructor(_bottomSheetRef, data) {
10
+ this._bottomSheetRef = _bottomSheetRef;
11
+ this.data = data;
12
+ }
13
+ ngOnInit() {
14
+ }
15
+ click(event, item) {
16
+ this._bottomSheetRef.dismiss(item);
17
+ event.preventDefault();
18
+ }
19
+ }
20
+ BottomSheetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: BottomSheetComponent, deps: [{ token: i1.MatBottomSheetRef }, { token: MAT_BOTTOM_SHEET_DATA }], target: i0.ɵɵFactoryTarget.Component });
21
+ BottomSheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.1", type: BottomSheetComponent, selector: "lib-bottom-sheet", ngImport: i0, template: "<mat-nav-list>\n <ng-container *ngFor=\"let item of data\">\n <a [href]=\"item.link\" mat-list-item (click)=\"click($event,item)\">\n <span matListItemTitle>{{item.levelOneText}}</span>\n <span matLine>{{item.levelTwoText}}</span>\n </a>\n </ng-container>\n\n</mat-nav-list>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.MatLine, selector: "[mat-line], [matLine]" }, { kind: "component", type: i3.MatNavList, selector: "mat-nav-list", exportAs: ["matNavList"] }, { kind: "component", type: i3.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i3.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: BottomSheetComponent, decorators: [{
23
+ type: Component,
24
+ args: [{ selector: 'lib-bottom-sheet', template: "<mat-nav-list>\n <ng-container *ngFor=\"let item of data\">\n <a [href]=\"item.link\" mat-list-item (click)=\"click($event,item)\">\n <span matListItemTitle>{{item.levelOneText}}</span>\n <span matLine>{{item.levelTwoText}}</span>\n </a>\n </ng-container>\n\n</mat-nav-list>\n" }]
25
+ }], ctorParameters: function () { return [{ type: i1.MatBottomSheetRef }, { type: undefined, decorators: [{
26
+ type: Inject,
27
+ args: [MAT_BOTTOM_SHEET_DATA]
28
+ }] }]; } });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm90dG9tLXNoZWV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ZhbGNvbi1uZy90YWlsd2luZC9zcmMvbGliL2NvbXBvbmVudC9ib3R0b20tc2hlZXQvYm90dG9tLXNoZWV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ZhbGNvbi1uZy90YWlsd2luZC9zcmMvbGliL2NvbXBvbmVudC9ib3R0b20tc2hlZXQvYm90dG9tLXNoZWV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2hELE9BQU8sRUFBQyxxQkFBcUIsRUFBb0IsTUFBTSxnQ0FBZ0MsQ0FBQzs7Ozs7O0FBT3hGLE1BQU0sT0FBTyxvQkFBb0I7SUFDL0IsWUFBb0IsZUFBd0QsRUFBd0MsSUFBUztRQUF6RyxvQkFBZSxHQUFmLGVBQWUsQ0FBeUM7UUFBd0MsU0FBSSxHQUFKLElBQUksQ0FBSztJQUFJLENBQUM7SUFFbEksUUFBUTtJQUNSLENBQUM7SUFFRCxLQUFLLENBQUMsS0FBaUIsRUFBRSxJQUFVO1FBQ2pDLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN6QixDQUFDOztpSEFUVSxvQkFBb0IsbURBQ3VELHFCQUFxQjtxR0FEaEcsb0JBQW9CLHdEQ1JqQyx3U0FTQTsyRkREYSxvQkFBb0I7a0JBTGhDLFNBQVM7K0JBQ0Usa0JBQWtCOzswQkFLbUQsTUFBTTsyQkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TUFUX0JPVFRPTV9TSEVFVF9EQVRBLCBNYXRCb3R0b21TaGVldFJlZn0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2JvdHRvbS1zaGVldFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItYm90dG9tLXNoZWV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2JvdHRvbS1zaGVldC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2JvdHRvbS1zaGVldC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEJvdHRvbVNoZWV0Q29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfYm90dG9tU2hlZXRSZWY6IE1hdEJvdHRvbVNoZWV0UmVmPEJvdHRvbVNoZWV0Q29tcG9uZW50PiwgQEluamVjdChNQVRfQk9UVE9NX1NIRUVUX0RBVEEpIHB1YmxpYyBkYXRhOiBhbnkpIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICB9XG5cbiAgY2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQsIGl0ZW0gOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9ib3R0b21TaGVldFJlZi5kaXNtaXNzKGl0ZW0pO1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gIH1cbn1cbiIsIjxtYXQtbmF2LWxpc3Q+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZGF0YVwiPlxuICAgIDxhIFtocmVmXT1cIml0ZW0ubGlua1wiIG1hdC1saXN0LWl0ZW0gKGNsaWNrKT1cImNsaWNrKCRldmVudCxpdGVtKVwiPlxuICAgICAgPHNwYW4gbWF0TGlzdEl0ZW1UaXRsZT57e2l0ZW0ubGV2ZWxPbmVUZXh0fX08L3NwYW4+XG4gICAgICA8c3BhbiBtYXRMaW5lPnt7aXRlbS5sZXZlbFR3b1RleHR9fTwvc3Bhbj5cbiAgICA8L2E+XG4gIDwvbmctY29udGFpbmVyPlxuXG48L21hdC1uYXYtbGlzdD5cbiJdfQ==
@@ -0,0 +1,27 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/material/button";
4
+ import * as i2 from "@angular/material/icon";
5
+ import * as i3 from "@angular/common";
6
+ import * as i4 from "@angular/router";
7
+ export class ButtonComponent {
8
+ constructor() {
9
+ this.btnClick = new EventEmitter();
10
+ }
11
+ childBtnClick() {
12
+ this.btnClick.emit("Button Click Event");
13
+ }
14
+ }
15
+ ButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
16
+ ButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.1", type: ButtonComponent, selector: "falcon-button", inputs: { control: "control", formGroup: "formGroup" }, outputs: { btnClick: "btnClick" }, ngImport: i0, template: "<div [ngStyle]=\"control.style\" [ngClass]=\"control.class\">\n <ng-container [ngSwitch]=\"control.appearance\">\n <button [disabled]=\"control.disabled\" (click)=\"childBtnClick()\"\n [color]=\"control.color\" [ngClass]=\"control.class\"\n [ngStyle]=\"control.style\" mat-button *ngSwitchCase=\"0\">\n <mat-icon *ngIf=\"control?.suffix?.isIcon\" style=\"margin-bottom: 1px;\">\n {{control.suffix.text}}</mat-icon>&nbsp;{{control.label}}\n </button>\n <button [disabled]=\"control.disabled\" (click)=\"childBtnClick()\"\n [type]=\"control.type\" [ngClass]=\"control.class\"\n [color]=\"control.color\" [ngStyle]=\"control.style\"\n mat-raised-button *ngSwitchCase=\"1\">\n <mat-icon *ngIf=\"control.suffix?.isIcon\" style=\"margin-bottom: 1px;\">\n {{control.suffix.text}}</mat-icon>&nbsp;{{control.label}}\n </button>\n <button [disabled]=\"control.disabled\" (click)=\"childBtnClick()\"\n [type]=\"control.type\" [ngClass]=\"control.class\"\n [color]=\"control.color\" [ngStyle]=\"control.style\"\n mat-stroked-button *ngSwitchCase=\"2\">\n <mat-icon *ngIf=\"control.suffix?.isIcon\" style=\"margin-bottom: 1px;\">\n {{control.suffix.text}}</mat-icon>&nbsp;{{control.label}}\n </button>\n <button [disabled]=\"control.disabled\" (click)=\"childBtnClick()\"\n [type]=\"control.type\" [ngClass]=\"control.class\"\n [color]=\"control.color\" [ngStyle]=\"control.style\"\n mat-flat-button *ngSwitchCase=\"3\">\n <mat-icon *ngIf=\"control.suffix.isIcon\" style=\"margin-bottom: 1px;\">\n {{control.suffix.text}}</mat-icon>&nbsp;{{control.label}}\n </button>\n <button [disabled]=\"control.disabled\" (click)=\"childBtnClick()\"\n [type]=\"control.type\" [ngClass]=\"control.class\"\n [color]=\"control.color\" [ngStyle]=\"control.style\"\n mat-icon-button [attr.aria-label]=\"control.label\" *ngSwitchCase=\"4\">\n <mat-icon>{{control.label}}</mat-icon>\n </button>\n <button [disabled]=\"control.disabled\" (click)=\"childBtnClick()\"\n [type]=\"control.type\" [ngClass]=\"control.class\"\n [color]=\"control.color\" [ngStyle]=\"control.style\" mat-fab\n [attr.aria-label]=\"control.label\" *ngSwitchCase=\"5\">\n <mat-icon>{{control.label}}</mat-icon>\n </button>\n <button [disabled]=\"control.disabled\" (click)=\"childBtnClick()\"\n [type]=\"control.type\" [ngClass]=\"control.class\"\n [color]=\"control.color\" [ngStyle]=\"control.style\" mat-mini-fab\n [attr.aria-label]=\"control.label\" *ngSwitchCase=\"6\">\n <mat-icon>{{control.label}}</mat-icon>\n </button>\n <a mat-stroked-button *ngSwitchCase=\"7\" [ngClass]=\"control.class\"\n [ngStyle]=\"control.style\" routerLink=\"[]\">{{control.label}}</a>\n <a mat-stroked-button *ngSwitchCase=\"8\" [ngClass]=\"control.class\"\n [ngStyle]=\"control.style\"\n href=\"{{control.value}}\">{{control.label}}</a>\n </ng-container>\n</div>", styles: [""], dependencies: [{ kind: "component", type: i1.MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button]", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i1.MatMiniFabButton, selector: "button[mat-mini-fab]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i1.MatFabButton, selector: "button[mat-fab]", inputs: ["disabled", "disableRipple", "color", "tabIndex", "extended"], exportAs: ["matButton"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i4.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] });
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: ButtonComponent, decorators: [{
18
+ type: Component,
19
+ args: [{ selector: 'falcon-button', template: "<div [ngStyle]=\"control.style\" [ngClass]=\"control.class\">\n <ng-container [ngSwitch]=\"control.appearance\">\n <button [disabled]=\"control.disabled\" (click)=\"childBtnClick()\"\n [color]=\"control.color\" [ngClass]=\"control.class\"\n [ngStyle]=\"control.style\" mat-button *ngSwitchCase=\"0\">\n <mat-icon *ngIf=\"control?.suffix?.isIcon\" style=\"margin-bottom: 1px;\">\n {{control.suffix.text}}</mat-icon>&nbsp;{{control.label}}\n </button>\n <button [disabled]=\"control.disabled\" (click)=\"childBtnClick()\"\n [type]=\"control.type\" [ngClass]=\"control.class\"\n [color]=\"control.color\" [ngStyle]=\"control.style\"\n mat-raised-button *ngSwitchCase=\"1\">\n <mat-icon *ngIf=\"control.suffix?.isIcon\" style=\"margin-bottom: 1px;\">\n {{control.suffix.text}}</mat-icon>&nbsp;{{control.label}}\n </button>\n <button [disabled]=\"control.disabled\" (click)=\"childBtnClick()\"\n [type]=\"control.type\" [ngClass]=\"control.class\"\n [color]=\"control.color\" [ngStyle]=\"control.style\"\n mat-stroked-button *ngSwitchCase=\"2\">\n <mat-icon *ngIf=\"control.suffix?.isIcon\" style=\"margin-bottom: 1px;\">\n {{control.suffix.text}}</mat-icon>&nbsp;{{control.label}}\n </button>\n <button [disabled]=\"control.disabled\" (click)=\"childBtnClick()\"\n [type]=\"control.type\" [ngClass]=\"control.class\"\n [color]=\"control.color\" [ngStyle]=\"control.style\"\n mat-flat-button *ngSwitchCase=\"3\">\n <mat-icon *ngIf=\"control.suffix.isIcon\" style=\"margin-bottom: 1px;\">\n {{control.suffix.text}}</mat-icon>&nbsp;{{control.label}}\n </button>\n <button [disabled]=\"control.disabled\" (click)=\"childBtnClick()\"\n [type]=\"control.type\" [ngClass]=\"control.class\"\n [color]=\"control.color\" [ngStyle]=\"control.style\"\n mat-icon-button [attr.aria-label]=\"control.label\" *ngSwitchCase=\"4\">\n <mat-icon>{{control.label}}</mat-icon>\n </button>\n <button [disabled]=\"control.disabled\" (click)=\"childBtnClick()\"\n [type]=\"control.type\" [ngClass]=\"control.class\"\n [color]=\"control.color\" [ngStyle]=\"control.style\" mat-fab\n [attr.aria-label]=\"control.label\" *ngSwitchCase=\"5\">\n <mat-icon>{{control.label}}</mat-icon>\n </button>\n <button [disabled]=\"control.disabled\" (click)=\"childBtnClick()\"\n [type]=\"control.type\" [ngClass]=\"control.class\"\n [color]=\"control.color\" [ngStyle]=\"control.style\" mat-mini-fab\n [attr.aria-label]=\"control.label\" *ngSwitchCase=\"6\">\n <mat-icon>{{control.label}}</mat-icon>\n </button>\n <a mat-stroked-button *ngSwitchCase=\"7\" [ngClass]=\"control.class\"\n [ngStyle]=\"control.style\" routerLink=\"[]\">{{control.label}}</a>\n <a mat-stroked-button *ngSwitchCase=\"8\" [ngClass]=\"control.class\"\n [ngStyle]=\"control.style\"\n href=\"{{control.value}}\">{{control.label}}</a>\n </ng-container>\n</div>" }]
20
+ }], propDecorators: { control: [{
21
+ type: Input
22
+ }], formGroup: [{
23
+ type: Input
24
+ }], btnClick: [{
25
+ type: Output
26
+ }] } });
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ZhbGNvbi1uZy90YWlsd2luZC9zcmMvbGliL2NvbXBvbmVudC9idXR0b24vYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ZhbGNvbi1uZy90YWlsd2luZC9zcmMvbGliL2NvbXBvbmVudC9idXR0b24vYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7Ozs7OztBQVNyRSxNQUFNLE9BQU8sZUFBZTtJQUw1QjtRQVFZLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0tBSWpEO0lBSEMsYUFBYTtRQUNYLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDM0MsQ0FBQzs7NEdBTlUsZUFBZTtnR0FBZixlQUFlLGdKQ1Q1QixrdUdBcURNOzJGRDVDTyxlQUFlO2tCQUwzQixTQUFTOytCQUNFLGVBQWU7OEJBS2hCLE9BQU87c0JBQWYsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNJLFFBQVE7c0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybUdyb3VwfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7QmFzZUNvbnRyb2x9IGZyb20gXCIuLi8uLi9iYXNlLWNvbnRyb2xcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZmFsY29uLWJ1dHRvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9idXR0b24uY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIEJ1dHRvbkNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGNvbnRyb2whOiBCYXNlQ29udHJvbDxzdHJpbmc+O1xuICBASW5wdXQoKSBmb3JtR3JvdXAhOiBGb3JtR3JvdXA7XG4gIEBPdXRwdXQoKSBidG5DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICBjaGlsZEJ0bkNsaWNrKCkge1xuICAgIHRoaXMuYnRuQ2xpY2suZW1pdChcIkJ1dHRvbiBDbGljayBFdmVudFwiKTtcbiAgfVxufVxuIiwiPGRpdiBbbmdTdHlsZV09XCJjb250cm9sLnN0eWxlXCIgW25nQ2xhc3NdPVwiY29udHJvbC5jbGFzc1wiPlxuICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImNvbnRyb2wuYXBwZWFyYW5jZVwiPlxuICAgICAgICA8YnV0dG9uIFtkaXNhYmxlZF09XCJjb250cm9sLmRpc2FibGVkXCIgKGNsaWNrKT1cImNoaWxkQnRuQ2xpY2soKVwiXG4gICAgICAgICAgICBbY29sb3JdPVwiY29udHJvbC5jb2xvclwiIFtuZ0NsYXNzXT1cImNvbnRyb2wuY2xhc3NcIlxuICAgICAgICAgICAgW25nU3R5bGVdPVwiY29udHJvbC5zdHlsZVwiIG1hdC1idXR0b24gKm5nU3dpdGNoQ2FzZT1cIjBcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cImNvbnRyb2w/LnN1ZmZpeD8uaXNJY29uXCIgc3R5bGU9XCJtYXJnaW4tYm90dG9tOiAxcHg7XCI+XG4gICAgICAgICAgICAgICAge3tjb250cm9sLnN1ZmZpeC50ZXh0fX08L21hdC1pY29uPiZuYnNwO3t7Y29udHJvbC5sYWJlbH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIFtkaXNhYmxlZF09XCJjb250cm9sLmRpc2FibGVkXCIgKGNsaWNrKT1cImNoaWxkQnRuQ2xpY2soKVwiXG4gICAgICAgICAgICBbdHlwZV09XCJjb250cm9sLnR5cGVcIiBbbmdDbGFzc109XCJjb250cm9sLmNsYXNzXCJcbiAgICAgICAgICAgIFtjb2xvcl09XCJjb250cm9sLmNvbG9yXCIgW25nU3R5bGVdPVwiY29udHJvbC5zdHlsZVwiXG4gICAgICAgICAgICBtYXQtcmFpc2VkLWJ1dHRvbiAqbmdTd2l0Y2hDYXNlPVwiMVwiPlxuICAgICAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwiY29udHJvbC5zdWZmaXg/LmlzSWNvblwiIHN0eWxlPVwibWFyZ2luLWJvdHRvbTogMXB4O1wiPlxuICAgICAgICAgICAgICAgIHt7Y29udHJvbC5zdWZmaXgudGV4dH19PC9tYXQtaWNvbj4mbmJzcDt7e2NvbnRyb2wubGFiZWx9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBbZGlzYWJsZWRdPVwiY29udHJvbC5kaXNhYmxlZFwiIChjbGljayk9XCJjaGlsZEJ0bkNsaWNrKClcIlxuICAgICAgICAgICAgW3R5cGVdPVwiY29udHJvbC50eXBlXCIgW25nQ2xhc3NdPVwiY29udHJvbC5jbGFzc1wiXG4gICAgICAgICAgICBbY29sb3JdPVwiY29udHJvbC5jb2xvclwiIFtuZ1N0eWxlXT1cImNvbnRyb2wuc3R5bGVcIlxuICAgICAgICAgICAgbWF0LXN0cm9rZWQtYnV0dG9uICpuZ1N3aXRjaENhc2U9XCIyXCI+XG4gICAgICAgICAgICA8bWF0LWljb24gKm5nSWY9XCJjb250cm9sLnN1ZmZpeD8uaXNJY29uXCIgc3R5bGU9XCJtYXJnaW4tYm90dG9tOiAxcHg7XCI+XG4gICAgICAgICAgICAgICAge3tjb250cm9sLnN1ZmZpeC50ZXh0fX08L21hdC1pY29uPiZuYnNwO3t7Y29udHJvbC5sYWJlbH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIFtkaXNhYmxlZF09XCJjb250cm9sLmRpc2FibGVkXCIgKGNsaWNrKT1cImNoaWxkQnRuQ2xpY2soKVwiXG4gICAgICAgICAgICBbdHlwZV09XCJjb250cm9sLnR5cGVcIiBbbmdDbGFzc109XCJjb250cm9sLmNsYXNzXCJcbiAgICAgICAgICAgIFtjb2xvcl09XCJjb250cm9sLmNvbG9yXCIgW25nU3R5bGVdPVwiY29udHJvbC5zdHlsZVwiXG4gICAgICAgICAgICBtYXQtZmxhdC1idXR0b24gKm5nU3dpdGNoQ2FzZT1cIjNcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cImNvbnRyb2wuc3VmZml4LmlzSWNvblwiIHN0eWxlPVwibWFyZ2luLWJvdHRvbTogMXB4O1wiPlxuICAgICAgICAgICAgICAgIHt7Y29udHJvbC5zdWZmaXgudGV4dH19PC9tYXQtaWNvbj4mbmJzcDt7e2NvbnRyb2wubGFiZWx9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBbZGlzYWJsZWRdPVwiY29udHJvbC5kaXNhYmxlZFwiIChjbGljayk9XCJjaGlsZEJ0bkNsaWNrKClcIlxuICAgICAgICAgICAgW3R5cGVdPVwiY29udHJvbC50eXBlXCIgW25nQ2xhc3NdPVwiY29udHJvbC5jbGFzc1wiXG4gICAgICAgICAgICBbY29sb3JdPVwiY29udHJvbC5jb2xvclwiIFtuZ1N0eWxlXT1cImNvbnRyb2wuc3R5bGVcIlxuICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uIFthdHRyLmFyaWEtbGFiZWxdPVwiY29udHJvbC5sYWJlbFwiICpuZ1N3aXRjaENhc2U9XCI0XCI+XG4gICAgICAgICAgICA8bWF0LWljb24+e3tjb250cm9sLmxhYmVsfX08L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBbZGlzYWJsZWRdPVwiY29udHJvbC5kaXNhYmxlZFwiIChjbGljayk9XCJjaGlsZEJ0bkNsaWNrKClcIlxuICAgICAgICAgICAgW3R5cGVdPVwiY29udHJvbC50eXBlXCIgW25nQ2xhc3NdPVwiY29udHJvbC5jbGFzc1wiXG4gICAgICAgICAgICBbY29sb3JdPVwiY29udHJvbC5jb2xvclwiIFtuZ1N0eWxlXT1cImNvbnRyb2wuc3R5bGVcIiBtYXQtZmFiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImNvbnRyb2wubGFiZWxcIiAqbmdTd2l0Y2hDYXNlPVwiNVwiPlxuICAgICAgICAgICAgPG1hdC1pY29uPnt7Y29udHJvbC5sYWJlbH19PC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gW2Rpc2FibGVkXT1cImNvbnRyb2wuZGlzYWJsZWRcIiAoY2xpY2spPVwiY2hpbGRCdG5DbGljaygpXCJcbiAgICAgICAgICAgIFt0eXBlXT1cImNvbnRyb2wudHlwZVwiIFtuZ0NsYXNzXT1cImNvbnRyb2wuY2xhc3NcIlxuICAgICAgICAgICAgW2NvbG9yXT1cImNvbnRyb2wuY29sb3JcIiBbbmdTdHlsZV09XCJjb250cm9sLnN0eWxlXCIgbWF0LW1pbmktZmFiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImNvbnRyb2wubGFiZWxcIiAqbmdTd2l0Y2hDYXNlPVwiNlwiPlxuICAgICAgICAgICAgPG1hdC1pY29uPnt7Y29udHJvbC5sYWJlbH19PC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxhIG1hdC1zdHJva2VkLWJ1dHRvbiAqbmdTd2l0Y2hDYXNlPVwiN1wiIFtuZ0NsYXNzXT1cImNvbnRyb2wuY2xhc3NcIlxuICAgICAgICAgICAgW25nU3R5bGVdPVwiY29udHJvbC5zdHlsZVwiIHJvdXRlckxpbms9XCJbXVwiPnt7Y29udHJvbC5sYWJlbH19PC9hPlxuICAgICAgICA8YSBtYXQtc3Ryb2tlZC1idXR0b24gKm5nU3dpdGNoQ2FzZT1cIjhcIiBbbmdDbGFzc109XCJjb250cm9sLmNsYXNzXCJcbiAgICAgICAgICAgIFtuZ1N0eWxlXT1cImNvbnRyb2wuc3R5bGVcIlxuICAgICAgICAgICAgaHJlZj1cInt7Y29udHJvbC52YWx1ZX19XCI+e3tjb250cm9sLmxhYmVsfX08L2E+XG4gICAgPC9uZy1jb250YWluZXI+XG48L2Rpdj4iXX0=
@@ -0,0 +1,32 @@
1
+ import { Component, EventEmitter, Output } from '@angular/core';
2
+ import { FormControl, FormGroup } from "@angular/forms";
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/material/button-toggle";
5
+ import * as i2 from "@angular/material/icon";
6
+ import * as i3 from "@angular/material/form-field";
7
+ import * as i4 from "@angular/common";
8
+ import * as i5 from "@angular/forms";
9
+ export class ButtonToggleComponent {
10
+ constructor() {
11
+ this.toggleGroupChange = new EventEmitter();
12
+ }
13
+ ngOnInit() {
14
+ if (this.formGroup === undefined) {
15
+ this.formGroup = new FormGroup({
16
+ default: new FormControl()
17
+ });
18
+ }
19
+ }
20
+ toggleChange($event) {
21
+ this.toggleGroupChange.emit($event.value);
22
+ }
23
+ }
24
+ ButtonToggleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: ButtonToggleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
25
+ ButtonToggleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.1", type: ButtonToggleComponent, selector: "falcon-button-toggle", outputs: { toggleGroupChange: "toggleGroupChange" }, ngImport: i0, template: "<div [ngStyle]=\"control.style\" [ngClass]=\"control.class\"\n [formGroup]=\"formGroup\">\n <mat-label [ngStyle]=\"control.style\" [ngClass]=\"control.class\"\n *ngIf=\"control.label != undefined\">\n {{control.label | titlecase}}\n </mat-label>\n <mat-button-toggle-group\n [formControlName]=\"control.formControlName != undefined ? control.formControlName : 'default'\"\n [appearance]=\"control.appearance\" [ngStyle]=\"control.style\"\n [ngClass]=\"control.class\" [attr.aria-label]=\"control.label\"\n class=\"botton-toggle\" (change)=\"toggleChange($event)\">\n <mat-button-toggle *ngFor=\"let item of control.options\" [value]=\"item?.value\"\n [ngStyle]=\"control.style\"\n [ngClass]=\"control.class\">\n <mat-icon [ngClass]=\"item?.class\" aria-hidden=\"false\" aria-label=\"item icon\" *ngIf=\"item?.icon != undefined\">\n {{item?.icon}}\n </mat-icon>\n {{item.viewValue | titlecase}}\n </mat-button-toggle>\n </mat-button-toggle-group>\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i1.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: i1.MatButtonToggle, selector: "mat-button-toggle", inputs: ["disableRipple", "aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "appearance", "checked", "disabled"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "pipe", type: i4.TitleCasePipe, name: "titlecase" }] });
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: ButtonToggleComponent, decorators: [{
27
+ type: Component,
28
+ args: [{ selector: 'falcon-button-toggle', template: "<div [ngStyle]=\"control.style\" [ngClass]=\"control.class\"\n [formGroup]=\"formGroup\">\n <mat-label [ngStyle]=\"control.style\" [ngClass]=\"control.class\"\n *ngIf=\"control.label != undefined\">\n {{control.label | titlecase}}\n </mat-label>\n <mat-button-toggle-group\n [formControlName]=\"control.formControlName != undefined ? control.formControlName : 'default'\"\n [appearance]=\"control.appearance\" [ngStyle]=\"control.style\"\n [ngClass]=\"control.class\" [attr.aria-label]=\"control.label\"\n class=\"botton-toggle\" (change)=\"toggleChange($event)\">\n <mat-button-toggle *ngFor=\"let item of control.options\" [value]=\"item?.value\"\n [ngStyle]=\"control.style\"\n [ngClass]=\"control.class\">\n <mat-icon [ngClass]=\"item?.class\" aria-hidden=\"false\" aria-label=\"item icon\" *ngIf=\"item?.icon != undefined\">\n {{item?.icon}}\n </mat-icon>\n {{item.viewValue | titlecase}}\n </mat-button-toggle>\n </mat-button-toggle-group>\n</div>" }]
29
+ }], propDecorators: { toggleGroupChange: [{
30
+ type: Output
31
+ }] } });
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLXRvZ2dsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mYWxjb24tbmcvdGFpbHdpbmQvc3JjL2xpYi9jb21wb25lbnQvYnV0dG9uLXRvZ2dsZS9idXR0b24tdG9nZ2xlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ZhbGNvbi1uZy90YWlsd2luZC9zcmMvbGliL2NvbXBvbmVudC9idXR0b24tdG9nZ2xlL2J1dHRvbi10b2dnbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQVUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBQyxXQUFXLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7QUFTdEQsTUFBTSxPQUFPLHFCQUFxQjtJQUxsQztRQVFZLHNCQUFpQixHQUF3QyxJQUFJLFlBQVksRUFBeUIsQ0FBQztLQVk5RztJQVhDLFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssU0FBUyxFQUFFO1lBQ2hDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxTQUFTLENBQUM7Z0JBQzdCLE9BQU8sRUFBRSxJQUFJLFdBQVcsRUFBRTthQUMzQixDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFRCxZQUFZLENBQUMsTUFBVztRQUN0QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QyxDQUFDOztrSEFkVSxxQkFBcUI7c0dBQXJCLHFCQUFxQixpSENWbEMsc2lDQW9CTTsyRkRWTyxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0Usc0JBQXNCOzhCQU90QixpQkFBaUI7c0JBQTFCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPbkluaXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Zvcm1Db250cm9sLCBGb3JtR3JvdXB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHtCYXNlQ29udHJvbH0gZnJvbSBcIi4uLy4uL2Jhc2UtY29udHJvbFwiO1xuaW1wb3J0IHtNYXRCdXR0b25Ub2dnbGVDaGFuZ2V9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9idXR0b24tdG9nZ2xlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZhbGNvbi1idXR0b24tdG9nZ2xlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2J1dHRvbi10b2dnbGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9idXR0b24tdG9nZ2xlLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEJ1dHRvblRvZ2dsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGNvbnRyb2whOiBCYXNlQ29udHJvbDxzdHJpbmc+O1xuICBmb3JtR3JvdXAhOiBGb3JtR3JvdXA7XG4gIEBPdXRwdXQoKSB0b2dnbGVHcm91cENoYW5nZTogRXZlbnRFbWl0dGVyPE1hdEJ1dHRvblRvZ2dsZUNoYW5nZT4gPSBuZXcgRXZlbnRFbWl0dGVyPE1hdEJ1dHRvblRvZ2dsZUNoYW5nZT4oKTtcbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZm9ybUdyb3VwID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuZm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cCh7XG4gICAgICAgIGRlZmF1bHQ6IG5ldyBGb3JtQ29udHJvbCgpXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICB0b2dnbGVDaGFuZ2UoJGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnRvZ2dsZUdyb3VwQ2hhbmdlLmVtaXQoJGV2ZW50LnZhbHVlKTtcbiAgfVxufVxuIiwiPGRpdiBbbmdTdHlsZV09XCJjb250cm9sLnN0eWxlXCIgW25nQ2xhc3NdPVwiY29udHJvbC5jbGFzc1wiXG4gICAgIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCI+XG4gIDxtYXQtbGFiZWwgW25nU3R5bGVdPVwiY29udHJvbC5zdHlsZVwiIFtuZ0NsYXNzXT1cImNvbnRyb2wuY2xhc3NcIlxuICAgICAgICAgICAgICpuZ0lmPVwiY29udHJvbC5sYWJlbCAhPSB1bmRlZmluZWRcIj5cbiAgICB7e2NvbnRyb2wubGFiZWwgfCB0aXRsZWNhc2V9fVxuICA8L21hdC1sYWJlbD5cbiAgPG1hdC1idXR0b24tdG9nZ2xlLWdyb3VwXG4gICAgW2Zvcm1Db250cm9sTmFtZV09XCJjb250cm9sLmZvcm1Db250cm9sTmFtZSAhPSB1bmRlZmluZWQgPyBjb250cm9sLmZvcm1Db250cm9sTmFtZSA6ICdkZWZhdWx0J1wiXG4gICAgW2FwcGVhcmFuY2VdPVwiY29udHJvbC5hcHBlYXJhbmNlXCIgW25nU3R5bGVdPVwiY29udHJvbC5zdHlsZVwiXG4gICAgW25nQ2xhc3NdPVwiY29udHJvbC5jbGFzc1wiIFthdHRyLmFyaWEtbGFiZWxdPVwiY29udHJvbC5sYWJlbFwiXG4gICAgY2xhc3M9XCJib3R0b24tdG9nZ2xlXCIgKGNoYW5nZSk9XCJ0b2dnbGVDaGFuZ2UoJGV2ZW50KVwiPlxuICAgIDxtYXQtYnV0dG9uLXRvZ2dsZSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBjb250cm9sLm9wdGlvbnNcIiBbdmFsdWVdPVwiaXRlbT8udmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgICBbbmdTdHlsZV09XCJjb250cm9sLnN0eWxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiY29udHJvbC5jbGFzc1wiPlxuICAgICAgPG1hdC1pY29uIFtuZ0NsYXNzXT1cIml0ZW0/LmNsYXNzXCIgYXJpYS1oaWRkZW49XCJmYWxzZVwiIGFyaWEtbGFiZWw9XCJpdGVtIGljb25cIiAqbmdJZj1cIml0ZW0/Lmljb24gIT0gdW5kZWZpbmVkXCI+XG4gICAgICAgIHt7aXRlbT8uaWNvbn19XG4gICAgICA8L21hdC1pY29uPlxuICAgICAge3tpdGVtLnZpZXdWYWx1ZSB8IHRpdGxlY2FzZX19XG4gICAgPC9tYXQtYnV0dG9uLXRvZ2dsZT5cbiAgPC9tYXQtYnV0dG9uLXRvZ2dsZS1ncm91cD5cbjwvZGl2PiJdfQ==
@@ -0,0 +1,18 @@
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/material/checkbox";
4
+ import * as i2 from "@angular/common";
5
+ import * as i3 from "@angular/forms";
6
+ export class CheckboxComponent {
7
+ change($event) {
8
+ if (this.control.event !== undefined)
9
+ this.control?.event?.change?.emit($event);
10
+ }
11
+ }
12
+ CheckboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: CheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
13
+ CheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.1", type: CheckboxComponent, selector: "falcon-checkbox", ngImport: i0, template: "<div [formGroup]=\"formGroup\">\n <mat-checkbox [ngStyle]=\"control.style\" [ngClass]=\"control.class\"\n [color]=\"control.color != null ? control.color : 'accent'\" [labelPosition]=\"control.labelPosition\"\n [formControlName]=\"control.formControlName\" (change)=\"change($event)\">\n {{control.label}}</mat-checkbox>\n</div>", styles: [""], dependencies: [{ kind: "component", type: i1.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: CheckboxComponent, decorators: [{
15
+ type: Component,
16
+ args: [{ selector: 'falcon-checkbox', template: "<div [formGroup]=\"formGroup\">\n <mat-checkbox [ngStyle]=\"control.style\" [ngClass]=\"control.class\"\n [color]=\"control.color != null ? control.color : 'accent'\" [labelPosition]=\"control.labelPosition\"\n [formControlName]=\"control.formControlName\" (change)=\"change($event)\">\n {{control.label}}</mat-checkbox>\n</div>" }]
17
+ }] });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZmFsY29uLW5nL3RhaWx3aW5kL3NyYy9saWIvY29tcG9uZW50L2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ZhbGNvbi1uZy90YWlsd2luZC9zcmMvbGliL2NvbXBvbmVudC9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQVMxQyxNQUFNLE9BQU8saUJBQWlCO0lBRzVCLE1BQU0sQ0FBQyxNQUFXO1FBQ2hCLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEtBQUssU0FBUztZQUNsQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzlDLENBQUM7OzhHQU5VLGlCQUFpQjtrR0FBakIsaUJBQWlCLHVEQ1Q5QixrV0FLTTsyRkRJTyxpQkFBaUI7a0JBTDdCLFNBQVM7K0JBQ0UsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBCYXNlQ29udHJvbCB9IGZyb20gJy4uLy4uL2Jhc2UtY29udHJvbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZhbGNvbi1jaGVja2JveCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGVja2JveC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NoZWNrYm94LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENoZWNrYm94Q29tcG9uZW50IHtcbiAgY29udHJvbCE6IEJhc2VDb250cm9sPHN0cmluZz47XG4gIGZvcm1Hcm91cCE6IEZvcm1Hcm91cDtcbiAgY2hhbmdlKCRldmVudDogYW55KSB7XG4gICAgaWYgKHRoaXMuY29udHJvbC5ldmVudCAhPT0gdW5kZWZpbmVkKVxuICAgICAgdGhpcy5jb250cm9sPy5ldmVudD8uY2hhbmdlPy5lbWl0KCRldmVudCk7XG4gIH1cbn1cbiIsIjxkaXYgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIj5cbiAgICA8bWF0LWNoZWNrYm94IFtuZ1N0eWxlXT1cImNvbnRyb2wuc3R5bGVcIiBbbmdDbGFzc109XCJjb250cm9sLmNsYXNzXCJcbiAgICAgICAgW2NvbG9yXT1cImNvbnRyb2wuY29sb3IgIT0gbnVsbCA/IGNvbnRyb2wuY29sb3IgOiAnYWNjZW50J1wiIFtsYWJlbFBvc2l0aW9uXT1cImNvbnRyb2wubGFiZWxQb3NpdGlvblwiXG4gICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiY29udHJvbC5mb3JtQ29udHJvbE5hbWVcIiAoY2hhbmdlKT1cImNoYW5nZSgkZXZlbnQpXCI+XG4gICAgICAgIHt7Y29udHJvbC5sYWJlbH19PC9tYXQtY2hlY2tib3g+XG48L2Rpdj4iXX0=