@testgorilla/tgo-ui 2.24.23 → 2.24.9999

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 (318) hide show
  1. package/components/alert-banner/index.d.ts +1 -0
  2. package/components/alert-banner/public-api.d.ts +2 -0
  3. package/components/avatar/index.d.ts +1 -0
  4. package/components/avatar/public-api.d.ts +3 -0
  5. package/components/badge/index.d.ts +1 -0
  6. package/components/badge/public-api.d.ts +3 -0
  7. package/components/button/index.d.ts +1 -0
  8. package/components/button/public-api.d.ts +3 -0
  9. package/components/card/index.d.ts +1 -0
  10. package/components/card/public-api.d.ts +3 -0
  11. package/components/checkbox/index.d.ts +1 -0
  12. package/components/checkbox/public-api.d.ts +2 -0
  13. package/components/field/index.d.ts +1 -0
  14. package/components/field/public-api.d.ts +3 -0
  15. package/components/icon/index.d.ts +1 -0
  16. package/components/icon/public-api.d.ts +3 -0
  17. package/components/logo/index.d.ts +1 -0
  18. package/components/logo/public-api.d.ts +3 -0
  19. package/components/radio-button/index.d.ts +1 -0
  20. package/components/radio-button/public-api.d.ts +2 -0
  21. package/components/side-panel/index.d.ts +1 -0
  22. package/components/side-panel/public-api.d.ts +3 -0
  23. package/components/side-panel/side-panel.component.d.ts +1 -1
  24. package/components/snackbar/index.d.ts +1 -0
  25. package/components/snackbar/public-api.d.ts +4 -0
  26. package/components/spinner/index.d.ts +1 -0
  27. package/components/spinner/public-api.d.ts +3 -0
  28. package/components/tooltip/index.d.ts +1 -0
  29. package/components/tooltip/public-api.d.ts +3 -0
  30. package/esm2022/components/alert-banner/index.mjs +2 -0
  31. package/esm2022/components/alert-banner/public-api.mjs +3 -0
  32. package/esm2022/components/avatar/index.mjs +2 -0
  33. package/esm2022/components/avatar/public-api.mjs +4 -0
  34. package/esm2022/components/badge/index.mjs +2 -0
  35. package/esm2022/components/badge/public-api.mjs +4 -0
  36. package/esm2022/components/button/index.mjs +2 -0
  37. package/esm2022/components/button/public-api.mjs +4 -0
  38. package/esm2022/components/card/index.mjs +2 -0
  39. package/esm2022/components/card/public-api.mjs +4 -0
  40. package/esm2022/components/checkbox/index.mjs +2 -0
  41. package/esm2022/components/checkbox/public-api.mjs +3 -0
  42. package/esm2022/components/field/index.mjs +2 -0
  43. package/esm2022/components/field/public-api.mjs +4 -0
  44. package/esm2022/components/icon/index.mjs +2 -0
  45. package/esm2022/components/icon/public-api.mjs +4 -0
  46. package/esm2022/components/logo/index.mjs +2 -0
  47. package/esm2022/components/logo/public-api.mjs +4 -0
  48. package/esm2022/components/radio-button/index.mjs +2 -0
  49. package/esm2022/components/radio-button/public-api.mjs +3 -0
  50. package/esm2022/components/side-panel/index.mjs +2 -0
  51. package/esm2022/components/side-panel/public-api.mjs +4 -0
  52. package/esm2022/components/snackbar/index.mjs +2 -0
  53. package/esm2022/components/snackbar/public-api.mjs +5 -0
  54. package/esm2022/components/spinner/index.mjs +2 -0
  55. package/esm2022/components/spinner/public-api.mjs +4 -0
  56. package/esm2022/components/tooltip/index.mjs +2 -0
  57. package/esm2022/components/tooltip/public-api.mjs +4 -0
  58. package/esm2022/public-api.mjs +184 -214
  59. package/fesm2022/testgorilla-tgo-ui.mjs +3051 -11351
  60. package/fesm2022/testgorilla-tgo-ui.mjs.map +1 -1
  61. package/package.json +3 -2
  62. package/public-api.d.ts +14 -151
  63. package/components/accordion/accordion.component.d.ts +0 -100
  64. package/components/accordion/accordion.component.module.d.ts +0 -12
  65. package/components/accordion/accordion.model.d.ts +0 -2
  66. package/components/autocomplete/autocomplete.component.d.ts +0 -289
  67. package/components/autocomplete/autocomplete.component.module.d.ts +0 -23
  68. package/components/autocomplete/autocomplete.model.d.ts +0 -22
  69. package/components/autocomplete/includes.pipe.d.ts +0 -12
  70. package/components/autocomplete/prevent-input.directive.d.ts +0 -7
  71. package/components/autocomplete/transform-Item.pipe.d.ts +0 -11
  72. package/components/checklist/checklist.component.d.ts +0 -78
  73. package/components/checklist/checklist.model.d.ts +0 -7
  74. package/components/confirm-dialog/confirm-dialog.component.d.ts +0 -29
  75. package/components/confirm-dialog/confirm-dialog.component.module.d.ts +0 -12
  76. package/components/confirm-dialog/confirm-dialog.model.d.ts +0 -11
  77. package/components/datepicker/date-adapter.d.ts +0 -30
  78. package/components/datepicker/datepicker.component.d.ts +0 -214
  79. package/components/datepicker/datepicker.component.module.d.ts +0 -18
  80. package/components/datepicker/datepicker.service.d.ts +0 -8
  81. package/components/datepicker/no-date-format.directive.d.ts +0 -11
  82. package/components/deprecated-paginator/deprecated-paginator.component.d.ts +0 -38
  83. package/components/deprecated-paginator/deprecated-paginator.component.module.d.ts +0 -9
  84. package/components/deprecated-table/deprecated-table.component.d.ts +0 -91
  85. package/components/deprecated-table/deprecated-table.component.module.d.ts +0 -14
  86. package/components/deprecated-table/deprecated-table.model.d.ts +0 -45
  87. package/components/deprecated-table/directives/dynamic-component.directive.d.ts +0 -13
  88. package/components/dialog/dialog.component.d.ts +0 -147
  89. package/components/dialog/dialog.component.module.d.ts +0 -11
  90. package/components/dialog/dialog.service.d.ts +0 -13
  91. package/components/divider/divider.component.d.ts +0 -39
  92. package/components/divider/divider.component.module.d.ts +0 -9
  93. package/components/divider/divider.model.d.ts +0 -1
  94. package/components/dropdown/dropdown.component.d.ts +0 -190
  95. package/components/dropdown/dropdown.component.module.d.ts +0 -17
  96. package/components/dropdown/dropdown.model.d.ts +0 -5
  97. package/components/elevation-shadow/elevation-shadow.component.d.ts +0 -26
  98. package/components/elevation-shadow/elevation-shadow.component.module.d.ts +0 -8
  99. package/components/elevation-shadow/elevation-shadow.constant.d.ts +0 -8
  100. package/components/empty-state/empty-state.component.d.ts +0 -118
  101. package/components/empty-state/empty-state.component.module.d.ts +0 -11
  102. package/components/empty-state/empty-state.model.d.ts +0 -3
  103. package/components/file-upload/file-upload.component.d.ts +0 -120
  104. package/components/file-upload/file-upload.component.module.d.ts +0 -14
  105. package/components/icon-label/icon-label.component.d.ts +0 -39
  106. package/components/icon-label/icon-label.component.module.d.ts +0 -9
  107. package/components/media-card/media-card.component.d.ts +0 -32
  108. package/components/multi-input/multi-input.component.d.ts +0 -164
  109. package/components/multi-input/multi-input.component.module.d.ts +0 -18
  110. package/components/multi-input/multi-input.model.d.ts +0 -1
  111. package/components/navbar/mobile-navbar-side-sheet/mobile-navbar-side-sheet.component.d.ts +0 -25
  112. package/components/navbar/navbar.component.d.ts +0 -119
  113. package/components/navbar/navbar.component.module.d.ts +0 -21
  114. package/components/navbar/navbar.model.d.ts +0 -21
  115. package/components/overflow-menu/overflow-menu.component.d.ts +0 -86
  116. package/components/overflow-menu/overflow-menu.component.module.d.ts +0 -15
  117. package/components/overflow-menu/overflow-menu.model.d.ts +0 -20
  118. package/components/page-header/page-header.component.d.ts +0 -38
  119. package/components/page-header/page-header.component.module.d.ts +0 -10
  120. package/components/paginator/paginator.component.d.ts +0 -58
  121. package/components/paginator/paginator.component.module.d.ts +0 -9
  122. package/components/password-criteria/password.component.d.ts +0 -42
  123. package/components/password-criteria/password.component.module.d.ts +0 -13
  124. package/components/password-strength/password-strength.component.d.ts +0 -45
  125. package/components/password-strength/password-strength.component.module.d.ts +0 -11
  126. package/components/phone-input/join-strings.pipe.d.ts +0 -7
  127. package/components/phone-input/phone-input.component.d.ts +0 -147
  128. package/components/phone-input/phone-input.component.module.d.ts +0 -20
  129. package/components/phone-input/phone-input.model.d.ts +0 -8
  130. package/components/progress-bar/progress-bar.component.d.ts +0 -73
  131. package/components/progress-bar/progress-bar.component.module.d.ts +0 -10
  132. package/components/radial-progress/radial-progress.component.d.ts +0 -68
  133. package/components/radial-progress/radial-progress.component.module.d.ts +0 -10
  134. package/components/radial-progress/radial-progress.model.d.ts +0 -10
  135. package/components/rating/half-star.pipe.d.ts +0 -14
  136. package/components/rating/rating.component.d.ts +0 -64
  137. package/components/rating/rating.component.module.d.ts +0 -10
  138. package/components/scale/scale.component.d.ts +0 -53
  139. package/components/scale/scale.component.module.d.ts +0 -8
  140. package/components/segmented-bar/segmented-bar.component.d.ts +0 -63
  141. package/components/segmented-bar/segmented-bar.component.module.d.ts +0 -13
  142. package/components/segmented-bar/segmented-bar.model.d.ts +0 -12
  143. package/components/segmented-button/segmented-button.component.d.ts +0 -55
  144. package/components/segmented-button/segmented-button.component.module.d.ts +0 -11
  145. package/components/segmented-button/segmented-button.model.d.ts +0 -8
  146. package/components/side-sheet/side-sheet.component.d.ts +0 -43
  147. package/components/side-sheet/side-sheet.component.module.d.ts +0 -14
  148. package/components/side-sheet/side-sheet.model.d.ts +0 -10
  149. package/components/side-sheet/side-sheet.service.d.ts +0 -14
  150. package/components/skeleton/skeleton.component.d.ts +0 -26
  151. package/components/skeleton/skeleton.model.d.ts +0 -2
  152. package/components/slider/slider.component.d.ts +0 -105
  153. package/components/slider/slider.component.module.d.ts +0 -14
  154. package/components/slider/slider.model.d.ts +0 -5
  155. package/components/spider-chart/spider-chart.component.d.ts +0 -88
  156. package/components/spider-chart/spider-chart.model.d.ts +0 -12
  157. package/components/spider-chart/spider-chart.module.d.ts +0 -12
  158. package/components/step/step.component.d.ts +0 -161
  159. package/components/step/step.component.module.d.ts +0 -10
  160. package/components/stepper/stepper.component.d.ts +0 -86
  161. package/components/stepper/stepper.component.module.d.ts +0 -15
  162. package/components/stepper/stepper.model.d.ts +0 -22
  163. package/components/table/sentence-case.pipe.d.ts +0 -7
  164. package/components/table/table.component.d.ts +0 -96
  165. package/components/table/table.component.module.d.ts +0 -20
  166. package/components/table/table.model.d.ts +0 -96
  167. package/components/tabs/tab.directive.d.ts +0 -24
  168. package/components/tabs/tabs.component.d.ts +0 -73
  169. package/components/tabs/tabs.component.module.d.ts +0 -11
  170. package/components/tabs/tabs.model.d.ts +0 -15
  171. package/components/tag/tag.component.d.ts +0 -131
  172. package/components/tag/tag.component.module.d.ts +0 -13
  173. package/components/tag/tag.model.d.ts +0 -1
  174. package/components/toggle/toggle.component.d.ts +0 -113
  175. package/components/toggle/toggle.component.module.d.ts +0 -14
  176. package/components/toggle/toggle.model.d.ts +0 -1
  177. package/components/universal-skills-report/universal-skills-report.component.d.ts +0 -33
  178. package/components/universal-skills-report/universal-skills-report.component.module.d.ts +0 -14
  179. package/components/universal-skills-report/universal-skills-report.model.d.ts +0 -33
  180. package/directives/drag-drop.directive.d.ts +0 -12
  181. package/directives/select-text.directive.d.ts +0 -19
  182. package/directives/step-line-element.directive.d.ts +0 -17
  183. package/esm2022/components/accordion/accordion.component.mjs +0 -135
  184. package/esm2022/components/accordion/accordion.component.module.mjs +0 -40
  185. package/esm2022/components/accordion/accordion.model.mjs +0 -2
  186. package/esm2022/components/autocomplete/autocomplete.component.mjs +0 -716
  187. package/esm2022/components/autocomplete/autocomplete.component.module.mjs +0 -73
  188. package/esm2022/components/autocomplete/autocomplete.model.mjs +0 -25
  189. package/esm2022/components/autocomplete/includes.pipe.mjs +0 -25
  190. package/esm2022/components/autocomplete/prevent-input.directive.mjs +0 -27
  191. package/esm2022/components/autocomplete/transform-Item.pipe.mjs +0 -32
  192. package/esm2022/components/checklist/checklist.component.mjs +0 -147
  193. package/esm2022/components/checklist/checklist.model.mjs +0 -2
  194. package/esm2022/components/confirm-dialog/confirm-dialog.component.mjs +0 -54
  195. package/esm2022/components/confirm-dialog/confirm-dialog.component.module.mjs +0 -29
  196. package/esm2022/components/confirm-dialog/confirm-dialog.model.mjs +0 -2
  197. package/esm2022/components/datepicker/date-adapter.mjs +0 -30
  198. package/esm2022/components/datepicker/datepicker.component.mjs +0 -333
  199. package/esm2022/components/datepicker/datepicker.component.module.mjs +0 -60
  200. package/esm2022/components/datepicker/datepicker.service.mjs +0 -20
  201. package/esm2022/components/datepicker/no-date-format.directive.mjs +0 -56
  202. package/esm2022/components/deprecated-paginator/deprecated-paginator.component.mjs +0 -55
  203. package/esm2022/components/deprecated-paginator/deprecated-paginator.component.module.mjs +0 -20
  204. package/esm2022/components/deprecated-table/deprecated-table.component.mjs +0 -158
  205. package/esm2022/components/deprecated-table/deprecated-table.component.module.mjs +0 -43
  206. package/esm2022/components/deprecated-table/deprecated-table.model.mjs +0 -13
  207. package/esm2022/components/deprecated-table/directives/dynamic-component.directive.mjs +0 -40
  208. package/esm2022/components/dialog/dialog.component.mjs +0 -253
  209. package/esm2022/components/dialog/dialog.component.module.mjs +0 -23
  210. package/esm2022/components/dialog/dialog.service.mjs +0 -35
  211. package/esm2022/components/divider/divider.component.mjs +0 -65
  212. package/esm2022/components/divider/divider.component.module.mjs +0 -19
  213. package/esm2022/components/divider/divider.model.mjs +0 -2
  214. package/esm2022/components/dropdown/dropdown.component.mjs +0 -351
  215. package/esm2022/components/dropdown/dropdown.component.module.mjs +0 -57
  216. package/esm2022/components/dropdown/dropdown.model.mjs +0 -2
  217. package/esm2022/components/elevation-shadow/elevation-shadow.component.mjs +0 -45
  218. package/esm2022/components/elevation-shadow/elevation-shadow.component.module.mjs +0 -18
  219. package/esm2022/components/elevation-shadow/elevation-shadow.constant.mjs +0 -9
  220. package/esm2022/components/empty-state/empty-state.component.mjs +0 -186
  221. package/esm2022/components/empty-state/empty-state.component.module.mjs +0 -21
  222. package/esm2022/components/empty-state/empty-state.model.mjs +0 -2
  223. package/esm2022/components/file-upload/file-upload.component.mjs +0 -282
  224. package/esm2022/components/file-upload/file-upload.component.module.mjs +0 -40
  225. package/esm2022/components/icon-label/icon-label.component.mjs +0 -53
  226. package/esm2022/components/icon-label/icon-label.component.module.mjs +0 -20
  227. package/esm2022/components/media-card/media-card.component.mjs +0 -47
  228. package/esm2022/components/multi-input/multi-input.component.mjs +0 -318
  229. package/esm2022/components/multi-input/multi-input.component.module.mjs +0 -58
  230. package/esm2022/components/multi-input/multi-input.model.mjs +0 -2
  231. package/esm2022/components/navbar/mobile-navbar-side-sheet/mobile-navbar-side-sheet.component.mjs +0 -82
  232. package/esm2022/components/navbar/navbar.component.mjs +0 -209
  233. package/esm2022/components/navbar/navbar.component.module.mjs +0 -71
  234. package/esm2022/components/navbar/navbar.model.mjs +0 -2
  235. package/esm2022/components/overflow-menu/overflow-menu.component.mjs +0 -195
  236. package/esm2022/components/overflow-menu/overflow-menu.component.module.mjs +0 -25
  237. package/esm2022/components/overflow-menu/overflow-menu.model.mjs +0 -2
  238. package/esm2022/components/page-header/page-header.component.mjs +0 -71
  239. package/esm2022/components/page-header/page-header.component.module.mjs +0 -20
  240. package/esm2022/components/paginator/paginator.component.mjs +0 -87
  241. package/esm2022/components/paginator/paginator.component.module.mjs +0 -19
  242. package/esm2022/components/password-criteria/password.component.mjs +0 -105
  243. package/esm2022/components/password-criteria/password.component.module.mjs +0 -39
  244. package/esm2022/components/password-strength/password-strength.component.mjs +0 -93
  245. package/esm2022/components/password-strength/password-strength.component.module.mjs +0 -21
  246. package/esm2022/components/phone-input/join-strings.pipe.mjs +0 -14
  247. package/esm2022/components/phone-input/phone-input.component.mjs +0 -353
  248. package/esm2022/components/phone-input/phone-input.component.module.mjs +0 -63
  249. package/esm2022/components/phone-input/phone-input.model.mjs +0 -2
  250. package/esm2022/components/progress-bar/progress-bar.component.mjs +0 -103
  251. package/esm2022/components/progress-bar/progress-bar.component.module.mjs +0 -21
  252. package/esm2022/components/radial-progress/radial-progress.component.mjs +0 -106
  253. package/esm2022/components/radial-progress/radial-progress.component.module.mjs +0 -20
  254. package/esm2022/components/radial-progress/radial-progress.model.mjs +0 -11
  255. package/esm2022/components/rating/half-star.pipe.mjs +0 -23
  256. package/esm2022/components/rating/rating.component.mjs +0 -92
  257. package/esm2022/components/rating/rating.component.module.mjs +0 -20
  258. package/esm2022/components/scale/scale.component.mjs +0 -124
  259. package/esm2022/components/scale/scale.component.module.mjs +0 -18
  260. package/esm2022/components/segmented-bar/segmented-bar.component.mjs +0 -106
  261. package/esm2022/components/segmented-bar/segmented-bar.component.module.mjs +0 -23
  262. package/esm2022/components/segmented-bar/segmented-bar.model.mjs +0 -2
  263. package/esm2022/components/segmented-button/segmented-button.component.mjs +0 -104
  264. package/esm2022/components/segmented-button/segmented-button.component.module.mjs +0 -21
  265. package/esm2022/components/segmented-button/segmented-button.model.mjs +0 -2
  266. package/esm2022/components/side-sheet/side-sheet.component.mjs +0 -105
  267. package/esm2022/components/side-sheet/side-sheet.component.module.mjs +0 -43
  268. package/esm2022/components/side-sheet/side-sheet.model.mjs +0 -2
  269. package/esm2022/components/side-sheet/side-sheet.service.mjs +0 -31
  270. package/esm2022/components/skeleton/skeleton.component.mjs +0 -71
  271. package/esm2022/components/skeleton/skeleton.model.mjs +0 -2
  272. package/esm2022/components/slider/slider.component.mjs +0 -198
  273. package/esm2022/components/slider/slider.component.module.mjs +0 -43
  274. package/esm2022/components/slider/slider.model.mjs +0 -2
  275. package/esm2022/components/spider-chart/spider-chart.component.mjs +0 -425
  276. package/esm2022/components/spider-chart/spider-chart.model.mjs +0 -4
  277. package/esm2022/components/spider-chart/spider-chart.module.mjs +0 -41
  278. package/esm2022/components/step/step.component.mjs +0 -149
  279. package/esm2022/components/step/step.component.module.mjs +0 -20
  280. package/esm2022/components/stepper/stepper.component.mjs +0 -150
  281. package/esm2022/components/stepper/stepper.component.module.mjs +0 -44
  282. package/esm2022/components/stepper/stepper.model.mjs +0 -2
  283. package/esm2022/components/table/sentence-case.pipe.mjs +0 -19
  284. package/esm2022/components/table/table.component.mjs +0 -238
  285. package/esm2022/components/table/table.component.module.mjs +0 -61
  286. package/esm2022/components/table/table.model.mjs +0 -13
  287. package/esm2022/components/tabs/tab.directive.mjs +0 -54
  288. package/esm2022/components/tabs/tabs.component.mjs +0 -188
  289. package/esm2022/components/tabs/tabs.component.module.mjs +0 -21
  290. package/esm2022/components/tabs/tabs.model.mjs +0 -2
  291. package/esm2022/components/tag/tag.component.mjs +0 -212
  292. package/esm2022/components/tag/tag.component.module.mjs +0 -24
  293. package/esm2022/components/tag/tag.model.mjs +0 -2
  294. package/esm2022/components/toggle/toggle.component.mjs +0 -190
  295. package/esm2022/components/toggle/toggle.component.module.mjs +0 -24
  296. package/esm2022/components/toggle/toggle.model.mjs +0 -2
  297. package/esm2022/components/universal-skills-report/universal-skills-report.component.mjs +0 -115
  298. package/esm2022/components/universal-skills-report/universal-skills-report.component.module.mjs +0 -43
  299. package/esm2022/components/universal-skills-report/universal-skills-report.model.mjs +0 -19
  300. package/esm2022/directives/drag-drop.directive.mjs +0 -55
  301. package/esm2022/directives/select-text.directive.mjs +0 -40
  302. package/esm2022/directives/step-line-element.directive.mjs +0 -51
  303. package/esm2022/models/keyboard-events.model.mjs +0 -13
  304. package/esm2022/models/screen-breakpoints.model.mjs +0 -6
  305. package/esm2022/pipes/data-property-getter.mjs +0 -33
  306. package/esm2022/pipes/ui-ordinal-suffix.pipe.mjs +0 -31
  307. package/esm2022/providers/is-mobile.mjs +0 -11
  308. package/esm2022/utils/autocomplete-utils.mjs +0 -66
  309. package/esm2022/utils/hex-to-rgb.mjs +0 -9
  310. package/esm2022/utils/table.utils.mjs +0 -19
  311. package/models/keyboard-events.model.d.ts +0 -11
  312. package/models/screen-breakpoints.model.d.ts +0 -4
  313. package/pipes/data-property-getter.d.ts +0 -8
  314. package/pipes/ui-ordinal-suffix.pipe.d.ts +0 -7
  315. package/providers/is-mobile.d.ts +0 -2
  316. package/utils/autocomplete-utils.d.ts +0 -12
  317. package/utils/hex-to-rgb.d.ts +0 -1
  318. package/utils/table.utils.d.ts +0 -6
@@ -1,318 +0,0 @@
1
- import { booleanAttribute, Component, EventEmitter, HostBinding, Inject, Input, Optional, Output, Self, } from '@angular/core';
2
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
3
- import { FormControl, Validators } from '@angular/forms';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/forms";
6
- import * as i2 from "@angular/common";
7
- import * as i3 from "@angular/material/form-field";
8
- import * as i4 from "../icon/icon.component";
9
- import * as i5 from "../dropdown/dropdown.component";
10
- import * as i6 from "../validation-error/validation-error.component";
11
- import * as i7 from "../field/field.component";
12
- import * as i8 from "../../pipes/has-validation-error.pipe";
13
- export class MultiInputComponent {
14
- /**
15
- *
16
- * @description The Value of the multi input
17
- * @type {MultiInputValue}
18
- * @memberof MultiInputComponent
19
- */
20
- set value(v) {
21
- this._value = v;
22
- this.addDropdownControl();
23
- this.multiInputForm.patchValue(v);
24
- }
25
- constructor(ngControl, defaultAppTheme, fb) {
26
- this.ngControl = ngControl;
27
- this.defaultAppTheme = defaultAppTheme;
28
- this.fb = fb;
29
- /**
30
- *
31
- * @description List of items to be displayed in the dropdown list
32
- * @type {Record<string, string | null | number>[]}
33
- * @memberof MultiInputComponent
34
- */
35
- this.itemsList = [];
36
- /**
37
- *
38
- * @description The field to be displayed in the dropdown
39
- * @type {string}
40
- * @memberof MultiInputComponent
41
- */
42
- this.itemTextField = '';
43
- /**
44
- *
45
- * @description The value to be displayed in the droddown
46
- * @type {string}
47
- * @memberof MultiInputComponent
48
- */
49
- this.itemValueField = '';
50
- /**
51
- *
52
- * @description Disables the multi input
53
- * @type {boolean}
54
- * @memberof MultiInputComponent
55
- */
56
- this.disabled = false;
57
- /**
58
- *
59
- * @description Defines if the multi input is required
60
- * @type {boolean}
61
- * @memberof MultiInputComponent
62
- */
63
- this.required = false;
64
- /**
65
- *
66
- * @description Defines the label of the multi input
67
- * @type {string}
68
- * @memberof MultiInputComponent
69
- */
70
- this.label = '';
71
- /**
72
- *
73
- * @description Defines the placeholder of the multi input
74
- * @type {string}
75
- * @memberof MultiInputComponent
76
- */
77
- this.placeholder = '';
78
- /**
79
- *
80
- * @description Allow decimal values in the multi input
81
- * @type {boolean}
82
- * @memberof MultiInputComponent
83
- */
84
- this.allowDecimal = true;
85
- /**
86
- *
87
- * @description Allow negative values in the multi input
88
- * @type {boolean}
89
- * @memberof MultiInputComponent
90
- */
91
- this.allowNegative = true;
92
- /**
93
- *
94
- * @description The theme of the application
95
- * @type {ApplicationTheme}
96
- * @memberof MultiInputComponent
97
- */
98
- this.applicationTheme = 'light';
99
- /**
100
- *
101
- * @description The errors of the multi input
102
- * @type {string[]}
103
- * @memberof MultiInputComponent
104
- */
105
- this.errors = [];
106
- /**
107
- *
108
- * @description Hide built in errors for Reactive Forms
109
- * @type {boolean}
110
- * @memberof MultiInputComponent
111
- */
112
- this.hideBuiltInErrors = false;
113
- /**
114
- *
115
- * @description Hide label in errors
116
- * @type {boolean}
117
- * @memberof MultiInputComponent
118
- */
119
- this.hideLabelInErrors = false;
120
- /**
121
- *
122
- * @description The maximum characters allowed in the multi input
123
- * @type {number}
124
- * @memberof MultiInputComponent
125
- */
126
- this.maxCharacters = 0;
127
- /**
128
- *
129
- * @description The width of the multi input
130
- * @type {boolean}
131
- * @memberof MultiInputComponent
132
- */
133
- this.fullWidth = false;
134
- this.valueChange = new EventEmitter();
135
- this.class = 'ui-multi-input';
136
- /**
137
- * @ignore
138
- */
139
- this.onChange = (_) => { };
140
- /**
141
- * @ignore
142
- */
143
- this.onTouch = () => { };
144
- this.showError = false;
145
- this.multiInputForm = this.fb.group({
146
- value: null,
147
- });
148
- if (this.ngControl) {
149
- this.ngControl.valueAccessor = this;
150
- }
151
- if (this.defaultAppTheme) {
152
- this.applicationTheme = this.defaultAppTheme;
153
- }
154
- this.multiInputForm.valueChanges
155
- .pipe(takeUntilDestroyed())
156
- .subscribe(formValue => {
157
- this.valueChanged(formValue);
158
- this.checkFormErrors();
159
- if (!formValue.value && !formValue[this.itemValueField]) {
160
- this.showError = true;
161
- }
162
- });
163
- }
164
- ngOnInit() {
165
- this.addDropdownControl();
166
- this.addValidation();
167
- if (this.ngControl && this.hasRequiredValidator) {
168
- this.inputControl?.addValidators(Validators.required);
169
- this.dropdownControl?.addValidators(Validators.required);
170
- }
171
- }
172
- ngOnChanges(changes) {
173
- if (changes['disabled']) {
174
- this.updateDisableState(this.disabled);
175
- }
176
- }
177
- writeValue(value) {
178
- this.value = value;
179
- this.addDropdownControl();
180
- this.multiInputForm.patchValue(value);
181
- }
182
- setDisabledState(isDisabled) {
183
- this.disabled = isDisabled;
184
- this.updateDisableState(isDisabled);
185
- }
186
- registerOnChange(fn) {
187
- this.onChange = fn;
188
- }
189
- registerOnTouched(fn) {
190
- this.onTouch = fn;
191
- }
192
- valueChanged(value) {
193
- this.valueChange.emit(value);
194
- this.onChange(value);
195
- }
196
- get value() {
197
- return this._value;
198
- }
199
- get hasRequiredValidator() {
200
- return !!this.ngControl.control?.hasValidator(Validators.required);
201
- }
202
- get dropdownControl() {
203
- return this.multiInputForm.get(this.itemValueField);
204
- }
205
- get inputControl() {
206
- return this.multiInputForm.get('value');
207
- }
208
- checkFormErrors() {
209
- if (this.ngControl) {
210
- this.ngControl.control?.setErrors({ ...this.inputControl?.errors, ...this.dropdownControl?.errors });
211
- }
212
- this.showError = !!(this.inputControl?.errors || this.dropdownControl?.errors);
213
- }
214
- markAsTouched() {
215
- if (this.ngControl && ((this.inputControl?.touched && this.dropdownControl?.touched) || (!this.inputControl?.value && !this.dropdownControl?.value))) {
216
- this.ngControl.control?.markAsTouched();
217
- }
218
- }
219
- addDropdownControl() {
220
- if (!this.multiInputForm.value[this.itemValueField]) {
221
- this.multiInputForm.addControl(this.itemValueField, new FormControl(null), { emitEvent: false });
222
- this.updateDisableState(this.disabled);
223
- }
224
- }
225
- get controlHasError() {
226
- return this.ngControl
227
- ? (this.showError && !!this.ngControl.control?.touched)
228
- || (!this.inputControl?.valid && !!this.inputControl?.touched)
229
- || (!this.dropdownControl?.valid && !!this.dropdownControl?.touched)
230
- : this.showError
231
- || !!this.errors.length
232
- || (!this.inputControl?.valid && !!this.inputControl?.touched)
233
- || (!this.dropdownControl?.valid && !!this.dropdownControl?.touched);
234
- }
235
- getValueLength() {
236
- return this.inputControl?.value?.toString().length || 0;
237
- }
238
- addValidation() {
239
- if (this.maxCharacters) {
240
- this.inputControl?.addValidators(Validators.maxLength(this.maxCharacters));
241
- }
242
- }
243
- updateDisableState(state) {
244
- if (state) {
245
- this.multiInputForm.disable({ emitEvent: false });
246
- }
247
- else {
248
- this.multiInputForm.enable({ emitEvent: false });
249
- }
250
- }
251
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MultiInputComponent, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: 'CANOPYUI_DEFAULT_APPLICATION_THEME', optional: true }, { token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
252
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: MultiInputComponent, selector: "ui-multi-input", inputs: { itemsList: "itemsList", itemTextField: "itemTextField", itemValueField: "itemValueField", value: "value", disabled: ["disabled", "disabled", booleanAttribute], required: ["required", "required", booleanAttribute], label: "label", placeholder: "placeholder", allowDecimal: ["allowDecimal", "allowDecimal", booleanAttribute], allowNegative: ["allowNegative", "allowNegative", booleanAttribute], applicationTheme: "applicationTheme", errors: "errors", hideBuiltInErrors: ["hideBuiltInErrors", "hideBuiltInErrors", booleanAttribute], hideLabelInErrors: ["hideLabelInErrors", "hideLabelInErrors", booleanAttribute], maxCharacters: "maxCharacters", fullWidth: "fullWidth" }, outputs: { valueChange: "valueChange" }, host: { properties: { "attr.theme": "this.applicationTheme", "class.full-width": "this.fullWidth", "class": "this.class" } }, usesOnChanges: true, ngImport: i0, template: "<div [formGroup]=\"multiInputForm\">\n <div class=\"controls-wrapper\">\n <ui-dropdown\n [hasError]=\"controlHasError\"\n [formControlName]=\"itemValueField\"\n [valueList]=\"itemsList\"\n [textField]=\"itemTextField\"\n [valueField]=\"itemValueField\"\n [showBottomContent]=\"false\"\n [allowClear]=\"false\"\n (closed)=\"markAsTouched(); checkFormErrors()\"\n ></ui-dropdown>\n\n <ui-field\n [hasError]=\"controlHasError\"\n [formControlName]=\"'value'\"\n [label]=\"label\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n [hideBuiltInErrors]=\"true\"\n [showBottomContent]=\"false\"\n [allowOnlyDigits]=\"true\"\n [fullWidth]=\"fullWidth\"\n (focusout)=\"markAsTouched(); checkFormErrors()\"\n ></ui-field>\n </div>\n\n <mat-hint class=\"info\" *ngIf=\"!controlHasError && maxCharacters && !errors?.length\">{{ getValueLength() }} / {{ maxCharacters }}</mat-hint>\n\n @if (errors?.length || (ngControl?.errors | hasValidationError)) {\n <mat-hint class=\"error\">\n @for (error of errors; track error) {\n <ui-icon\n [applicationTheme]=\"applicationTheme\"\n [name]=\"applicationTheme === 'classic' ? 'Error' : 'Error-in-line'\"\n ></ui-icon>{{ error }}\n }\n @if ((ngControl?.errors | hasValidationError) && !hideBuiltInErrors) {\n <ui-validation-error\n [touchedOn]=\"!controlHasError\"\n [ngControl]=\"ngControl\"\n [label]=\"hideLabelInErrors ? null : label\"\n ></ui-validation-error>\n }\n </mat-hint>\n }\n\n</div>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}:host.ui-multi-input{position:relative!important}:host.ui-multi-input .ng-untouched,:host.ui-multi-input .ng-touched{width:fit-content}:host.ui-multi-input.full-width .ng-untouched{width:100%}:host.ui-multi-input .controls-wrapper{display:flex}:host.ui-multi-input ::ng-deep ui-validation-error .errors{display:flex}:host.ui-multi-input ::ng-deep .ui-dropdown{max-width:120px}:host.ui-multi-input ::ng-deep .ui-dropdown .mdc-notched-outline__trailing{border-right-color:transparent!important;border-top-right-radius:0!important;border-bottom-right-radius:0!important}:host.ui-multi-input ::ng-deep .ui-dropdown:hover .mdc-notched-outline__trailing,:host.ui-multi-input ::ng-deep .ui-dropdown .mat-mdc-form-field-focused .mdc-notched-outline__trailing{border-right-color:#242424}:host.ui-multi-input ::ng-deep .ui-field .mdc-notched-outline__leading{border-top-left-radius:0!important;border-bottom-left-radius:0!important}:host.ui-multi-input ::ng-deep .ui-field .mat-mdc-form-field-subscript-wrapper{position:absolute!important;left:0!important;top:48px!important}:host.ui-multi-input ::ng-deep .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{padding-top:0!important;padding-bottom:0!important;min-height:48px!important;align-items:center!important;display:flex!important}:host.ui-multi-input ::ng-deep .mat-mdc-form-field-hint.info{display:block;color:#888;width:100%;text-align:right}:host.ui-multi-input ::ng-deep .mat-mdc-form-field-hint.error{display:flex;gap:4px;color:#e02800;align-items:center;padding:4px 0 10px}:host.ui-multi-input ::ng-deep .mat-mdc-form-field-hint.error svg{color:#e02800}:host.ui-multi-input ::ng-deep .mat-mdc-form-field-hint:before{display:none}:host.ui-multi-input ::ng-deep .mat-mdc-form-field-hint ui-validation-error{color:#e02800;font-size:12px;line-height:16px;letter-spacing:.4px}:host.ui-multi-input ::ng-deep .mat-mdc-form-field-hint ui-validation-error .errors{display:flex;align-items:center;padding:4px 0 10px}:host.ui-multi-input ::ng-deep .mat-mdc-form-field-hint ui-validation-error svg{margin-right:4px;color:#e02800;row-gap:0}:host.ui-multi-input .separator-line{border-left:1px solid var(--mdc-outlined-text-field-outline-color);height:40px;margin:0 12px -7px 8px}:host.ui-multi-input ::ng-deep .mat-mdc-select .mat-mdc-select-arrow-wrapper{display:none}:host.ui-multi-input ::ng-deep .mdc-text-field--outlined{padding-left:12px!important}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "component", type: i4.IconComponent, selector: "ui-icon", inputs: ["size", "cssClass", "name", "color", "filled", "applicationTheme", "useFullIconName"] }, { kind: "component", type: i5.DropdownComponent, selector: "ui-dropdown", inputs: ["label", "name", "placeholder", "id", "value", "errors", "disabled", "valueList", "allowClear", "allowMultipleSelection", "required", "showBottomContent", "applicationTheme", "hideBuiltInErrors", "hideLabelInErrors", "textField", "valueField", "hasError", "companyColor"], outputs: ["closed", "opened"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i6.ValidationErrorComponent, selector: "ui-validation-error", inputs: ["ngControl", "touchedOn", "errorMessage", "label", "applicationTheme"] }, { kind: "component", type: i7.FieldComponent, selector: "ui-field", inputs: ["fullWidth", "label", "fieldName", "placeholder", "id", "value", "errors", "disabled", "required", "hintMessage", "type", "updateOnBlur", "allowOnlyDigits", "allowNegative", "showBottomContent", "applicationTheme", "ariaLabel", "loading", "isValid", "maxCharacters", "trimOnBlur", "trimOnSubmit", "maxRows", "hideBuiltInErrors", "hideLabelInErrors", "max", "min", "textareaHeight", "ariaLabelledby", "ariaDescribedby", "hasError"], outputs: ["validateEvent", "fieldBlur"] }, { kind: "pipe", type: i8.HasValidationErrorPipe, name: "hasValidationError" }] }); }
253
- }
254
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MultiInputComponent, decorators: [{
255
- type: Component,
256
- args: [{ selector: 'ui-multi-input', template: "<div [formGroup]=\"multiInputForm\">\n <div class=\"controls-wrapper\">\n <ui-dropdown\n [hasError]=\"controlHasError\"\n [formControlName]=\"itemValueField\"\n [valueList]=\"itemsList\"\n [textField]=\"itemTextField\"\n [valueField]=\"itemValueField\"\n [showBottomContent]=\"false\"\n [allowClear]=\"false\"\n (closed)=\"markAsTouched(); checkFormErrors()\"\n ></ui-dropdown>\n\n <ui-field\n [hasError]=\"controlHasError\"\n [formControlName]=\"'value'\"\n [label]=\"label\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n [hideBuiltInErrors]=\"true\"\n [showBottomContent]=\"false\"\n [allowOnlyDigits]=\"true\"\n [fullWidth]=\"fullWidth\"\n (focusout)=\"markAsTouched(); checkFormErrors()\"\n ></ui-field>\n </div>\n\n <mat-hint class=\"info\" *ngIf=\"!controlHasError && maxCharacters && !errors?.length\">{{ getValueLength() }} / {{ maxCharacters }}</mat-hint>\n\n @if (errors?.length || (ngControl?.errors | hasValidationError)) {\n <mat-hint class=\"error\">\n @for (error of errors; track error) {\n <ui-icon\n [applicationTheme]=\"applicationTheme\"\n [name]=\"applicationTheme === 'classic' ? 'Error' : 'Error-in-line'\"\n ></ui-icon>{{ error }}\n }\n @if ((ngControl?.errors | hasValidationError) && !hideBuiltInErrors) {\n <ui-validation-error\n [touchedOn]=\"!controlHasError\"\n [ngControl]=\"ngControl\"\n [label]=\"hideLabelInErrors ? null : label\"\n ></ui-validation-error>\n }\n </mat-hint>\n }\n\n</div>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}:host.ui-multi-input{position:relative!important}:host.ui-multi-input .ng-untouched,:host.ui-multi-input .ng-touched{width:fit-content}:host.ui-multi-input.full-width .ng-untouched{width:100%}:host.ui-multi-input .controls-wrapper{display:flex}:host.ui-multi-input ::ng-deep ui-validation-error .errors{display:flex}:host.ui-multi-input ::ng-deep .ui-dropdown{max-width:120px}:host.ui-multi-input ::ng-deep .ui-dropdown .mdc-notched-outline__trailing{border-right-color:transparent!important;border-top-right-radius:0!important;border-bottom-right-radius:0!important}:host.ui-multi-input ::ng-deep .ui-dropdown:hover .mdc-notched-outline__trailing,:host.ui-multi-input ::ng-deep .ui-dropdown .mat-mdc-form-field-focused .mdc-notched-outline__trailing{border-right-color:#242424}:host.ui-multi-input ::ng-deep .ui-field .mdc-notched-outline__leading{border-top-left-radius:0!important;border-bottom-left-radius:0!important}:host.ui-multi-input ::ng-deep .ui-field .mat-mdc-form-field-subscript-wrapper{position:absolute!important;left:0!important;top:48px!important}:host.ui-multi-input ::ng-deep .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{padding-top:0!important;padding-bottom:0!important;min-height:48px!important;align-items:center!important;display:flex!important}:host.ui-multi-input ::ng-deep .mat-mdc-form-field-hint.info{display:block;color:#888;width:100%;text-align:right}:host.ui-multi-input ::ng-deep .mat-mdc-form-field-hint.error{display:flex;gap:4px;color:#e02800;align-items:center;padding:4px 0 10px}:host.ui-multi-input ::ng-deep .mat-mdc-form-field-hint.error svg{color:#e02800}:host.ui-multi-input ::ng-deep .mat-mdc-form-field-hint:before{display:none}:host.ui-multi-input ::ng-deep .mat-mdc-form-field-hint ui-validation-error{color:#e02800;font-size:12px;line-height:16px;letter-spacing:.4px}:host.ui-multi-input ::ng-deep .mat-mdc-form-field-hint ui-validation-error .errors{display:flex;align-items:center;padding:4px 0 10px}:host.ui-multi-input ::ng-deep .mat-mdc-form-field-hint ui-validation-error svg{margin-right:4px;color:#e02800;row-gap:0}:host.ui-multi-input .separator-line{border-left:1px solid var(--mdc-outlined-text-field-outline-color);height:40px;margin:0 12px -7px 8px}:host.ui-multi-input ::ng-deep .mat-mdc-select .mat-mdc-select-arrow-wrapper{display:none}:host.ui-multi-input ::ng-deep .mdc-text-field--outlined{padding-left:12px!important}\n"] }]
257
- }], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
258
- type: Optional
259
- }, {
260
- type: Self
261
- }] }, { type: undefined, decorators: [{
262
- type: Optional
263
- }, {
264
- type: Inject,
265
- args: ['CANOPYUI_DEFAULT_APPLICATION_THEME']
266
- }] }, { type: i1.FormBuilder }], propDecorators: { itemsList: [{
267
- type: Input,
268
- args: [{ required: true }]
269
- }], itemTextField: [{
270
- type: Input,
271
- args: [{ required: true }]
272
- }], itemValueField: [{
273
- type: Input,
274
- args: [{ required: true }]
275
- }], value: [{
276
- type: Input
277
- }], disabled: [{
278
- type: Input,
279
- args: [{ transform: booleanAttribute }]
280
- }], required: [{
281
- type: Input,
282
- args: [{ transform: booleanAttribute }]
283
- }], label: [{
284
- type: Input
285
- }], placeholder: [{
286
- type: Input
287
- }], allowDecimal: [{
288
- type: Input,
289
- args: [{ transform: booleanAttribute }]
290
- }], allowNegative: [{
291
- type: Input,
292
- args: [{ transform: booleanAttribute }]
293
- }], applicationTheme: [{
294
- type: HostBinding,
295
- args: ['attr.theme']
296
- }, {
297
- type: Input
298
- }], errors: [{
299
- type: Input
300
- }], hideBuiltInErrors: [{
301
- type: Input,
302
- args: [{ transform: booleanAttribute }]
303
- }], hideLabelInErrors: [{
304
- type: Input,
305
- args: [{ transform: booleanAttribute }]
306
- }], maxCharacters: [{
307
- type: Input
308
- }], fullWidth: [{
309
- type: HostBinding,
310
- args: ['class.full-width']
311
- }, {
312
- type: Input
313
- }], valueChange: [{
314
- type: Output
315
- }], class: [{
316
- type: HostBinding
317
- }] } });
318
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGdvLWNhbm9weS11aS9jb21wb25lbnRzL211bHRpLWlucHV0L211bHRpLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9tdWx0aS1pbnB1dC9tdWx0aS1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBRUwsUUFBUSxFQUNSLE1BQU0sRUFDTixJQUFJLEdBQ0wsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFzRCxXQUFXLEVBQWEsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7QUFTeEgsTUFBTSxPQUFPLG1CQUFtQjtJQXlCOUI7Ozs7O09BS0c7SUFDSCxJQUFhLEtBQUssQ0FBQyxDQUFrQjtRQUNuQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUNoQixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBeUhELFlBQ2dDLFNBQW9CLEVBQ3lCLGVBQWlDLEVBQzNGLEVBQWU7UUFGRixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ3lCLG9CQUFlLEdBQWYsZUFBZSxDQUFrQjtRQUMzRixPQUFFLEdBQUYsRUFBRSxDQUFhO1FBOUpsQzs7Ozs7V0FLRztRQUN3QixjQUFTLEdBQTZDLEVBQUUsQ0FBQztRQUVwRjs7Ozs7V0FLRztRQUN3QixrQkFBYSxHQUFHLEVB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RCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQVE3QixhQUFhO3NCQUFyQixLQUFLO2dCQVNHLFNBQVM7c0JBRGpCLFdBQVc7dUJBQUMsa0JBQWtCOztzQkFDOUIsS0FBSztnQkFFSSxXQUFXO3NCQUFwQixNQUFNO2dCQUVRLEtBQUs7c0JBQW5CLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBib29sZWFuQXR0cmlidXRlLFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgU2VsZiwgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wsIE5nQ29udHJvbCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uVGhlbWUgfSBmcm9tICcuLi8uLi9tb2RlbHMvYXBwbGljYXRpb24tdGhlbWUubW9kZWwnO1xuaW1wb3J0IHsgTXVsdGlJbnB1dFZhbHVlIH0gZnJvbSAnLi9tdWx0aS1pbnB1dC5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3VpLW11bHRpLWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL211bHRpLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL211bHRpLWlucHV0LmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgTXVsdGlJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkluaXQge1xuICAvKipcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uIExpc3Qgb2YgaXRlbXMgdG8gYmUgZGlzcGxheWVkIGluIHRoZSBkcm9wZG93biBsaXN0XG4gICAqIEB0eXBlIHtSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudWxsIHwgbnVtYmVyPltdfVxuICAgKiBAbWVtYmVyb2YgTXVsdGlJbnB1dENvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgaXRlbXNMaXN0OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudWxsIHwgbnVtYmVyPltdID0gW107XG5cbiAgLyoqXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvbiBUaGUgZmllbGQgdG8gYmUgZGlzcGxheWVkIGluIHRoZSBkcm9wZG93blxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgTXVsdGlJbnB1dENvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgaXRlbVRleHRGaWVsZCA9ICcnO1xuXG4gIC8qKlxuICAgKlxuICAgKiBAZGVzY3JpcHRpb24gVGhlIHZhbHVlIHRvIGJlIGRpc3BsYXllZCBpbiB0aGUgZHJvZGRvd25cbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIE11bHRpSW5wdXRDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIGl0ZW1WYWx1ZUZpZWxkID0gJyc7XG5cbiAgLyoqXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvbiBUaGUgVmFsdWUgb2YgdGhlIG11bHRpIGlucHV0XG4gICAqIEB0eXBlIHtNdWx0aUlucHV0VmFsdWV9XG4gICAqIEBtZW1iZXJvZiBNdWx0aUlucHV0Q29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBzZXQgdmFsdWUodjogTXVsdGlJbnB1dFZhbHVlKSB7XG4gICAgdGhpcy5fdmFsdWUgPSB2O1xuICAgIHRoaXMuYWRkRHJvcGRvd25Db250cm9sKCk7XG4gICAgdGhpcy5tdWx0aUlucHV0Rm9ybS5wYXRjaFZhbHVlKHYpO1xuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvbiBEaXNhYmxlcyB0aGUgbXVsdGkgaW5wdXRcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBtZW1iZXJvZiBNdWx0aUlucHV0Q29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgZGlzYWJsZWQgPSBmYWxzZTtcblxuICAvKipcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uIERlZmluZXMgaWYgdGhlIG11bHRpIGlucHV0IGlzIHJlcXVpcmVkXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKiBAbWVtYmVyb2YgTXVsdGlJbnB1dENvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHJlcXVpcmVkID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvbiBEZWZpbmVzIHRoZSBsYWJlbCBvZiB0aGUgbXVsdGkgaW5wdXRcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIE11bHRpSW5wdXRDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGxhYmVsID0gJyc7XG5cbiAgICAvKipcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uIERlZmluZXMgdGhlIHBsYWNlaG9sZGVyIG9mIHRoZSBtdWx0aSBpbnB1dFxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgTXVsdGlJbnB1dENvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSAnJztcblxuICAvKipcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uIEFsbG93IGRlY2ltYWwgdmFsdWVzIGluIHRoZSBtdWx0aSBpbnB1dFxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICogQG1lbWJlcm9mIE11bHRpSW5wdXRDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBhbGxvd0RlY2ltYWwgPSB0cnVlO1xuXG4gIC8qKlxuICAgKlxuICAgKiBAZGVzY3JpcHRpb24gQWxsb3cgbmVnYXRpdmUgdmFsdWVzIGluIHRoZSBtdWx0aSBpbnB1dFxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICogQG1lbWJlcm9mIE11bHRpSW5wdXRDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBhbGxvd05lZ2F0aXZlID0gdHJ1ZTtcblxuICAvKipcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uIFRoZSB0aGVtZSBvZiB0aGUgYXBwbGljYXRpb25cbiAgICogQHR5cGUge0FwcGxpY2F0aW9uVGhlbWV9XG4gICAqIEBtZW1iZXJvZiBNdWx0aUlucHV0Q29tcG9uZW50XG4gICAqL1xuICBASG9zdEJpbmRpbmcoJ2F0dHIudGhlbWUnKVxuICBASW5wdXQoKSBhcHBsaWNhdGlvblRoZW1lOiBBcHBsaWNhdGlvblRoZW1lID0gJ2xpZ2h0JztcblxuICAvKipcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uIFRoZSBlcnJvcnMgb2YgdGhlIG11bHRpIGlucHV0XG4gICAqIEB0eXBlIHtzdHJpbmdbXX1cbiAgICogQG1lbWJlcm9mIE11bHRpSW5wdXRDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGVycm9yczogc3RyaW5nW10gPSBbXTtcblxuICAvKipcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uIEhpZGUgYnVpbHQgaW4gZXJyb3JzIGZvciBSZWFjdGl2ZSBGb3Jtc1xuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICogQG1lbWJlcm9mIE11bHRpSW5wdXRDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBoaWRlQnVpbHRJbkVycm9ycyA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKlxuICAgKiBAZGVzY3JpcHRpb24gSGlkZSBsYWJlbCBpbiBlcnJvcnNcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBtZW1iZXJvZiBNdWx0aUlucHV0Q29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaGlkZUxhYmVsSW5FcnJvcnMgPSBmYWxzZTtcblxuICAvKipcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uIFRoZSBtYXhpbXVtIGNoYXJhY3RlcnMgYWxsb3dlZCBpbiB0aGUgbXVsdGkgaW5wdXRcbiAgICogQHR5cGUge251bWJlcn1cbiAgICogQG1lbWJlcm9mIE11bHRpSW5wdXRDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIG1heENoYXJhY3RlcnMgPSAwO1xuXG4gIC8qKlxuICAgKlxuICAgKiBAZGVzY3JpcHRpb24gVGhlIHdpZHRoIG9mIHRoZSBtdWx0aSBpbnB1dFxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICogQG1lbWJlcm9mIE11bHRpSW5wdXRDb21wb25lbnRcbiAgICovXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZnVsbC13aWR0aCcpXG4gIEBJbnB1dCgpIGZ1bGxXaWR0aDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8TXVsdGlJbnB1dFZhbHVlPigpO1xuXG4gIEBIb3N0QmluZGluZygpIGNsYXNzID0gJ3VpLW11bHRpLWlucHV0JztcblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgb25DaGFuZ2UgPSAoXzogYW55KTogdm9pZCA9PiB7fTtcblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgb25Ub3VjaCA9ICgpOiB2b2lkID0+IHt9O1xuXG4gIHByaXZhdGUgX3ZhbHVlOiBNdWx0aUlucHV0VmFsdWUgfCB1bmRlZmluZWQ7XG4gIHByb3RlY3RlZCBzaG93RXJyb3IgPSBmYWxzZTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgbXVsdGlJbnB1dEZvcm0gPSB0aGlzLmZiLmdyb3VwPE11bHRpSW5wdXRWYWx1ZT4oe1xuICAgIHZhbHVlOiBudWxsLFxuICB9KTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBAU2VsZigpIHByb3RlY3RlZCBuZ0NvbnRyb2w6IE5nQ29udHJvbCxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KCdDQU5PUFlVSV9ERUZBVUxUX0FQUExJQ0FUSU9OX1RIRU1FJykgcHJpdmF0ZSByZWFkb25seSBkZWZhdWx0QXBwVGhlbWU6IEFwcGxpY2F0aW9uVGhlbWUsXG4gICAgcHJpdmF0ZSByZWFkb25seSBmYjogRm9ybUJ1aWxkZXIsXG4gICkge1xuICAgIGlmICh0aGlzLm5nQ29udHJvbCkge1xuICAgICAgdGhpcy5uZ0NvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZGVmYXVsdEFwcFRoZW1lKSB7XG4gICAgICB0aGlzLmFwcGxpY2F0aW9uVGhlbWUgPSB0aGlzLmRlZmF1bHRBcHBUaGVtZTtcbiAgICB9XG5cbiAgICB0aGlzLm11bHRpSW5wdXRGb3JtLnZhbHVlQ2hhbmdlc1xuICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKCkpXG4gICAgICAuc3Vic2NyaWJlKGZvcm1WYWx1ZSA9PiB7XG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2VkKGZvcm1WYWx1ZSBhcyBNdWx0aUlucHV0VmFsdWUpO1xuICAgICAgICB0aGlzLmNoZWNrRm9ybUVycm9ycygpO1xuXG4gICAgICAgIGlmICghKGZvcm1WYWx1ZSBhcyBhbnkpLnZhbHVlICYmICEoZm9ybVZhbHVlIGFzIGFueSlbdGhpcy5pdGVtVmFsdWVGaWVsZF0pIHtcbiAgICAgICAgICB0aGlzLnNob3dFcnJvciA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5hZGREcm9wZG93bkNvbnRyb2woKTtcbiAgICB0aGlzLmFkZFZhbGlkYXRpb24oKTtcblxuICAgIGlmICh0aGlzLm5nQ29udHJvbCAmJiB0aGlzLmhhc1JlcXVpcmVkVmFsaWRhdG9yKSB7XG4gICAgICB0aGlzLmlucHV0Q29udHJvbD8uYWRkVmFsaWRhdG9ycyhWYWxpZGF0b3JzLnJlcXVpcmVkKTtcbiAgICAgIHRoaXMuZHJvcGRvd25Db250cm9sPy5hZGRWYWxpZGF0b3JzKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1snZGlzYWJsZWQnXSkge1xuICAgICAgdGhpcy51cGRhdGVEaXNhYmxlU3RhdGUodGhpcy5kaXNhYmxlZCk7XG4gICAgfVxuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogTXVsdGlJbnB1dFZhbHVlKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgIHRoaXMuYWRkRHJvcGRvd25Db250cm9sKCk7XG4gICAgdGhpcy5tdWx0aUlucHV0Rm9ybS5wYXRjaFZhbHVlKHZhbHVlKTtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIHRoaXMudXBkYXRlRGlzYWJsZVN0YXRlKGlzRGlzYWJsZWQpO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaCA9IGZuO1xuICB9XG5cbiAgcHJvdGVjdGVkIHZhbHVlQ2hhbmdlZCh2YWx1ZTogTXVsdGlJbnB1dFZhbHVlKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcbiAgfVxuXG4gIGdldCB2YWx1ZSgpOiBNdWx0aUlucHV0VmFsdWUgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgaGFzUmVxdWlyZWRWYWxpZGF0b3IoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5uZ0NvbnRyb2wuY29udHJvbD8uaGFzVmFsaWRhdG9yKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBkcm9wZG93bkNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sPHN0cmluZyB8IG51bGw+IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMubXVsdGlJbnB1dEZvcm0uZ2V0KHRoaXMuaXRlbVZhbHVlRmllbGQpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBpbnB1dENvbnRyb2woKTogQWJzdHJhY3RDb250cm9sPG51bWJlciB8IG51bGw+IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMubXVsdGlJbnB1dEZvcm0uZ2V0KCd2YWx1ZScpIGFzIGFueTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjaGVja0Zvcm1FcnJvcnMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubmdDb250cm9sKSB7XG4gICAgICB0aGlzLm5nQ29udHJvbC5jb250cm9sPy5zZXRFcnJvcnMoeyAuLi50aGlzLmlucHV0Q29udHJvbD8uZXJyb3JzLCAuLi50aGlzLmRyb3Bkb3duQ29udHJvbD8uZXJyb3JzIH0pO1xuICAgIH1cbiAgICB0aGlzLnNob3dFcnJvciA9ICEhKHRoaXMuaW5wdXRDb250cm9sPy5lcnJvcnMgfHwgdGhpcy5kcm9wZG93bkNvbnRyb2w/LmVycm9ycyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgbWFya0FzVG91Y2hlZCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5uZ0NvbnRyb2wgJiYgKCh0aGlzLmlucHV0Q29udHJvbD8udG91Y2hlZCAmJiB0aGlzLmRyb3Bkb3duQ29udHJvbD8udG91Y2hlZCkgfHwgKCF0aGlzLmlucHV0Q29udHJvbD8udmFsdWUgJiYgIXRoaXMuZHJvcGRvd25Db250cm9sPy52YWx1ZSkpKSB7XG4gICAgICB0aGlzLm5nQ29udHJvbC5jb250cm9sPy5tYXJrQXNUb3VjaGVkKCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGFkZERyb3Bkb3duQ29udHJvbCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMubXVsdGlJbnB1dEZvcm0udmFsdWVbdGhpcy5pdGVtVmFsdWVGaWVsZF0pIHtcbiAgICAgIHRoaXMubXVsdGlJbnB1dEZvcm0uYWRkQ29udHJvbCh0aGlzLml0ZW1WYWx1ZUZpZWxkLCBuZXcgRm9ybUNvbnRyb2wobnVsbCksIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgIHRoaXMudXBkYXRlRGlzYWJsZVN0YXRlKHRoaXMuZGlzYWJsZWQpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgY29udHJvbEhhc0Vycm9yKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm5nQ29udHJvbFxuICAgICAgPyAodGhpcy5zaG93RXJyb3IgJiYgISF0aGlzLm5nQ29udHJvbC5jb250cm9sPy50b3VjaGVkKVxuICAgICAgICB8fCAoIXRoaXMuaW5wdXRDb250cm9sPy52YWxpZCAmJiAhIXRoaXMuaW5wdXRDb250cm9sPy50b3VjaGVkKVxuICAgICAgICB8fCAoIXRoaXMuZHJvcGRvd25Db250cm9sPy52YWxpZCAmJiAhIXRoaXMuZHJvcGRvd25Db250cm9sPy50b3VjaGVkKVxuICAgICAgOiB0aGlzLnNob3dFcnJvclxuICAgICAgfHwgISF0aGlzLmVycm9ycy5sZW5ndGhcbiAgICAgIHx8ICghdGhpcy5pbnB1dENvbnRyb2w/LnZhbGlkICYmICEhdGhpcy5pbnB1dENvbnRyb2w/LnRvdWNoZWQpXG4gICAgICB8fCAoIXRoaXMuZHJvcGRvd25Db250cm9sPy52YWxpZCAmJiAhIXRoaXMuZHJvcGRvd25Db250cm9sPy50b3VjaGVkKVxuICB9XG5cbiAgcHJvdGVjdGVkIGdldFZhbHVlTGVuZ3RoKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuaW5wdXRDb250cm9sPy52YWx1ZT8udG9TdHJpbmcoKS5sZW5ndGggfHwgMDtcbiAgfVxuXG4gIHByaXZhdGUgYWRkVmFsaWRhdGlvbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5tYXhDaGFyYWN0ZXJzKSB7XG4gICAgICB0aGlzLmlucHV0Q29udHJvbD8uYWRkVmFsaWRhdG9ycyhWYWxpZGF0b3JzLm1heExlbmd0aCh0aGlzLm1heENoYXJhY3RlcnMpKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZURpc2FibGVTdGF0ZShzdGF0ZTogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmIChzdGF0ZSkge1xuICAgICAgdGhpcy5tdWx0aUlucHV0Rm9ybS5kaXNhYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5tdWx0aUlucHV0Rm9ybS5lbmFibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBbZm9ybUdyb3VwXT1cIm11bHRpSW5wdXRGb3JtXCI+XG4gIDxkaXYgY2xhc3M9XCJjb250cm9scy13cmFwcGVyXCI+XG4gICAgPHVpLWRyb3Bkb3duXG4gICAgICBbaGFzRXJyb3JdPVwiY29udHJvbEhhc0Vycm9yXCJcbiAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiaXRlbVZhbHVlRmllbGRcIlxuICAgICAgW3ZhbHVlTGlzdF09XCJpdGVtc0xpc3RcIlxuICAgICAgW3RleHRGaWVsZF09XCJpdGVtVGV4dEZpZWxkXCJcbiAgICAgIFt2YWx1ZUZpZWxkXT1cIml0ZW1WYWx1ZUZpZWxkXCJcbiAgICAgIFtzaG93Qm90dG9tQ29udGVudF09XCJmYWxzZVwiXG4gICAgICBbYWxsb3dDbGVhcl09XCJmYWxzZVwiXG4gICAgICAoY2xvc2VkKT1cIm1hcmtBc1RvdWNoZWQoKTsgY2hlY2tGb3JtRXJyb3JzKClcIlxuICAgID48L3VpLWRyb3Bkb3duPlxuXG4gICAgPHVpLWZpZWxkXG4gICAgICBbaGFzRXJyb3JdPVwiY29udHJvbEhhc0Vycm9yXCJcbiAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiJ3ZhbHVlJ1wiXG4gICAgICBbbGFiZWxdPVwibGFiZWxcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICBbaGlkZUJ1aWx0SW5FcnJvcnNdPVwidHJ1ZVwiXG4gICAgICBbc2hvd0JvdHRvbUNvbnRlbnRdPVwiZmFsc2VcIlxuICAgICAgW2FsbG93T25seURpZ2l0c109XCJ0cnVlXCJcbiAgICAgIFtmdWxsV2lkdGhdPVwiZnVsbFdpZHRoXCJcbiAgICAgIChmb2N1c291dCk9XCJtYXJrQXNUb3VjaGVkKCk7IGNoZWNrRm9ybUVycm9ycygpXCJcbiAgICA+PC91aS1maWVsZD5cbiAgPC9kaXY+XG5cbiAgPG1hdC1oaW50IGNsYXNzPVwiaW5mb1wiICpuZ0lmPVwiIWNvbnRyb2xIYXNFcnJvciAmJiBtYXhDaGFyYWN0ZXJzICYmICFlcnJvcnM/Lmxlbmd0aFwiPnt7IGdldFZhbHVlTGVuZ3RoKCkgfX0gLyB7eyBtYXhDaGFyYWN0ZXJzIH19PC9tYXQtaGludD5cblxuICBAaWYgKGVycm9ycz8ubGVuZ3RoIHx8IChuZ0NvbnRyb2w/LmVycm9ycyB8IGhhc1ZhbGlkYXRpb25FcnJvcikpIHtcbiAgICA8bWF0LWhpbnQgY2xhc3M9XCJlcnJvclwiPlxuICAgICAgQGZvciAoZXJyb3Igb2YgZXJyb3JzOyB0cmFjayBlcnJvcikge1xuICAgICAgICA8dWktaWNvblxuICAgICAgICAgIFthcHBsaWNhdGlvblRoZW1lXT1cImFwcGxpY2F0aW9uVGhlbWVcIlxuICAgICAgICAgIFtuYW1lXT1cImFwcGxpY2F0aW9uVGhlbWUgPT09ICdjbGFzc2ljJyA/ICdFcnJvcicgOiAnRXJyb3ItaW4tbGluZSdcIlxuICAgICAgICA+PC91aS1pY29uPnt7IGVycm9yIH19XG4gICAgICB9XG4gICAgICBAaWYgKChuZ0NvbnRyb2w/LmVycm9ycyB8IGhhc1ZhbGlkYXRpb25FcnJvcikgJiYgIWhpZGVCdWlsdEluRXJyb3JzKSB7XG4gICAgICAgIDx1aS12YWxpZGF0aW9uLWVycm9yXG4gICAgICAgICAgW3RvdWNoZWRPbl09XCIhY29udHJvbEhhc0Vycm9yXCJcbiAgICAgICAgICBbbmdDb250cm9sXT1cIm5nQ29udHJvbFwiXG4gICAgICAgICAgW2xhYmVsXT1cImhpZGVMYWJlbEluRXJyb3JzID8gbnVsbCA6IGxhYmVsXCJcbiAgICAgICAgPjwvdWktdmFsaWRhdGlvbi1lcnJvcj5cbiAgICAgIH1cbiAgICA8L21hdC1oaW50PlxuICB9XG5cbjwvZGl2PlxuIl19
@@ -1,58 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { MultiInputComponent } from './multi-input.component';
4
- import { MatInputModule } from '@angular/material/input';
5
- import { MatSelectModule } from '@angular/material/select';
6
- import { DividerComponentModule } from '../divider/divider.component.module';
7
- import { IconComponentModule } from '../icon/icon.component.module';
8
- import { DropdownComponentModule } from '../dropdown/dropdown.component.module';
9
- import { ReactiveFormsModule } from '@angular/forms';
10
- import { DigitsOnlyDirective } from '../../directives/digits-only.directive';
11
- import { HasValidationErrorPipe } from '../../pipes/has-validation-error.pipe';
12
- import { ValidationErrorModule } from '../validation-error/validation-error.module';
13
- import { FieldComponentModule } from '../field/field.component.module';
14
- import * as i0 from "@angular/core";
15
- export class MultiInputComponentModule {
16
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MultiInputComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
17
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: MultiInputComponentModule, declarations: [MultiInputComponent], imports: [CommonModule,
18
- MatInputModule,
19
- MatSelectModule,
20
- DividerComponentModule,
21
- IconComponentModule,
22
- DropdownComponentModule,
23
- ReactiveFormsModule,
24
- DigitsOnlyDirective,
25
- HasValidationErrorPipe,
26
- ValidationErrorModule,
27
- FieldComponentModule], exports: [MultiInputComponent] }); }
28
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MultiInputComponentModule, imports: [CommonModule,
29
- MatInputModule,
30
- MatSelectModule,
31
- DividerComponentModule,
32
- IconComponentModule,
33
- DropdownComponentModule,
34
- ReactiveFormsModule,
35
- ValidationErrorModule,
36
- FieldComponentModule] }); }
37
- }
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MultiInputComponentModule, decorators: [{
39
- type: NgModule,
40
- args: [{
41
- declarations: [MultiInputComponent],
42
- imports: [
43
- CommonModule,
44
- MatInputModule,
45
- MatSelectModule,
46
- DividerComponentModule,
47
- IconComponentModule,
48
- DropdownComponentModule,
49
- ReactiveFormsModule,
50
- DigitsOnlyDirective,
51
- HasValidationErrorPipe,
52
- ValidationErrorModule,
53
- FieldComponentModule,
54
- ],
55
- exports: [MultiInputComponent],
56
- }]
57
- }] });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktaW5wdXQuY29tcG9uZW50Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9tdWx0aS1pbnB1dC9tdWx0aS1pbnB1dC5jb21wb25lbnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDN0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDcEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDaEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDN0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDL0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDcEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUNBQWlDLENBQUM7O0FBcUJ2RSxNQUFNLE9BQU8seUJBQXlCOytHQUF6Qix5QkFBeUI7Z0hBQXpCLHlCQUF5QixpQkFoQnJCLG1CQUFtQixhQUVoQyxZQUFZO1lBQ1osY0FBYztZQUNkLGVBQWU7WUFDZixzQkFBc0I7WUFDdEIsbUJBQW1CO1lBQ25CLHVCQUF1QjtZQUN2QixtQkFBbUI7WUFDbkIsbUJBQW1CO1lBQ25CLHNCQUFzQjtZQUN0QixxQkFBcUI7WUFDckIsb0JBQW9CLGFBRVosbUJBQW1CO2dIQUVsQix5QkFBeUIsWUFkbEMsWUFBWTtZQUNaLGNBQWM7WUFDZCxlQUFlO1lBQ2Ysc0JBQXNCO1lBQ3RCLG1CQUFtQjtZQUNuQix1QkFBdUI7WUFDdkIsbUJBQW1CO1lBR25CLHFCQUFxQjtZQUNyQixvQkFBb0I7OzRGQUlYLHlCQUF5QjtrQkFqQnJDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsbUJBQW1CLENBQUM7b0JBQ25DLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixzQkFBc0I7d0JBQ3RCLG1CQUFtQjt3QkFDbkIsdUJBQXVCO3dCQUN2QixtQkFBbUI7d0JBQ25CLG1CQUFtQjt3QkFDbkIsc0JBQXNCO3dCQUN0QixxQkFBcUI7d0JBQ3JCLG9CQUFvQjtxQkFDckI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsbUJBQW1CLENBQUM7aUJBQy9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNdWx0aUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9tdWx0aS1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHsgRGl2aWRlckNvbXBvbmVudE1vZHVsZSB9IGZyb20gJy4uL2RpdmlkZXIvZGl2aWRlci5jb21wb25lbnQubW9kdWxlJztcbmltcG9ydCB7IEljb25Db21wb25lbnRNb2R1bGUgfSBmcm9tICcuLi9pY29uL2ljb24uY29tcG9uZW50Lm1vZHVsZSc7XG5pbXBvcnQgeyBEcm9wZG93bkNvbXBvbmVudE1vZHVsZSB9IGZyb20gJy4uL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudC5tb2R1bGUnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IERpZ2l0c09ubHlEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2RpZ2l0cy1vbmx5LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBIYXNWYWxpZGF0aW9uRXJyb3JQaXBlIH0gZnJvbSAnLi4vLi4vcGlwZXMvaGFzLXZhbGlkYXRpb24tZXJyb3IucGlwZSc7XG5pbXBvcnQgeyBWYWxpZGF0aW9uRXJyb3JNb2R1bGUgfSBmcm9tICcuLi92YWxpZGF0aW9uLWVycm9yL3ZhbGlkYXRpb24tZXJyb3IubW9kdWxlJztcbmltcG9ydCB7IEZpZWxkQ29tcG9uZW50TW9kdWxlIH0gZnJvbSAnLi4vZmllbGQvZmllbGQuY29tcG9uZW50Lm1vZHVsZSc7XG5cblxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtNdWx0aUlucHV0Q29tcG9uZW50XSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICBNYXRTZWxlY3RNb2R1bGUsXG4gICAgRGl2aWRlckNvbXBvbmVudE1vZHVsZSxcbiAgICBJY29uQ29tcG9uZW50TW9kdWxlLFxuICAgIERyb3Bkb3duQ29tcG9uZW50TW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgRGlnaXRzT25seURpcmVjdGl2ZSxcbiAgICBIYXNWYWxpZGF0aW9uRXJyb3JQaXBlLFxuICAgIFZhbGlkYXRpb25FcnJvck1vZHVsZSxcbiAgICBGaWVsZENvbXBvbmVudE1vZHVsZSxcbiAgXSxcbiAgZXhwb3J0czogW011bHRpSW5wdXRDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBNdWx0aUlucHV0Q29tcG9uZW50TW9kdWxlIHsgfVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktaW5wdXQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90Z28tY2Fub3B5LXVpL2NvbXBvbmVudHMvbXVsdGktaW5wdXQvbXVsdGktaW5wdXQubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIE11bHRpSW5wdXRWYWx1ZSA9IFJlY29yZDxzdHJpbmcsIGFueT47XG4iXX0=
@@ -1,82 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { AsyncPipe, NgClass, NgForOf, NgIf, NgTemplateOutlet } from '@angular/common';
3
- import { IconComponentModule } from "../../icon/icon.component.module";
4
- import { MatIconModule } from "@angular/material/icon";
5
- import { MatMenuModule } from "@angular/material/menu";
6
- import { UiTranslatePipe } from "../../../pipes/ui-translate.pipe";
7
- import { MatButtonModule } from "@angular/material/button";
8
- import { AccordionComponentModule } from "../../accordion/accordion.component.module";
9
- import { AvatarComponentModule } from "../../avatar/avatar.component.module";
10
- import { ButtonComponentModule } from "../../button/button.component.module";
11
- import { AvatarSize } from "../../avatar/avatar.model";
12
- import * as i0 from "@angular/core";
13
- import * as i1 from "../../avatar/avatar.component";
14
- import * as i2 from "../../button/button.component";
15
- export class MobileNavbarSideSheetComponent {
16
- constructor() {
17
- this.routes = [];
18
- this.activedRoute = '';
19
- this.email = '';
20
- this.userName = '';
21
- this.menuItems = [];
22
- this.isDesktop = false;
23
- this.applicationTheme = 'light';
24
- this.navigateEvent = new EventEmitter();
25
- this.menuItemClicked = new EventEmitter();
26
- this.logoutEvent = new EventEmitter();
27
- this.translationContext = 'NAVBAR.';
28
- this.avatarSize = AvatarSize;
29
- }
30
- navigate(routeId) {
31
- this.navigateEvent.emit(`/${routeId}`);
32
- }
33
- logout() {
34
- this.logoutEvent.emit();
35
- }
36
- clickMenuItem(id) {
37
- this.menuItemClicked.emit(id);
38
- }
39
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MobileNavbarSideSheetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
40
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: MobileNavbarSideSheetComponent, isStandalone: true, selector: "ui-mobile-navbar-side-sheet", inputs: { routes: "routes", activedRoute: "activedRoute", email: "email", userName: "userName", menuItems: "menuItems", contentTemplateRef: "contentTemplateRef", isDesktop: "isDesktop", applicationTheme: "applicationTheme" }, outputs: { navigateEvent: "navigateEvent", menuItemClicked: "menuItemClicked", logoutEvent: "logoutEvent" }, ngImport: i0, template: "<div class=\"mobile-navbar-container\">\n <ng-container *ngIf=\"isDesktop\" [ngTemplateOutlet]=\"userInfo\"></ng-container>\n\n <div class=\"routes\">\n <div\n *ngFor=\"let route of routes\"\n [attr.data-testid]=\"route.id\"\n data-test-role=\"nav-route\"\n (click)=\"navigate(route.id)\"\n class=\"route\"\n [ngClass]=\"{ active: activedRoute === route.id }\"\n >\n <span>{{ route.title }}</span>\n </div>\n </div>\n\n <div class=\"settings\">\n <ng-container *ngFor=\"let e of menuItems\">\n <div *ngIf=\"e\" class=\"menu-item\">\n <ui-button\n [attr.data-testid]=\"e.id\"\n data-test-role=\"menu-item\"\n [applicationTheme]=\"applicationTheme\"\n [fullWidth]=\"true\"\n [disabledScaleOnClick]=\"true\"\n [variant]=\"'menuCell'\"\n iconPosition=\"left\"\n [iconName]=\"e.icon\"\n [label]=\"e.text\"\n (buttonClickEvent)=\"clickMenuItem(e.id)\"\n (keydown.Tab)=\"$event.stopPropagation()\"\n (keydown.shift.tab)=\"$event.stopPropagation()\"\n [ariaLabel]=\"e.text + '--' + e.text\"\n ></ui-button>\n </div>\n </ng-container>\n </div>\n</div>\n\n<div class=\"bottom-content\" [ngClass]=\"{ desktop: isDesktop }\">\n <ng-container *ngIf=\"!isDesktop\" [ngTemplateOutlet]=\"contentTemplateRef\"></ng-container>\n <ng-container *ngIf=\"isDesktop; else tablet\">\n <div class=\"menu-item\">\n <ui-button\n data-testid=\"logout-button\"\n [applicationTheme]=\"applicationTheme\"\n [fullWidth]=\"true\"\n [disabledScaleOnClick]=\"true\"\n [variant]=\"'menuCell'\"\n iconPosition=\"left\"\n [iconName]=\"'Logout-in-line'\"\n [label]=\"(translationContext + 'LOG_OUT' | uiTranslate | async)!\"\n (buttonClickEvent)=\"logout()\"\n (keydown.Tab)=\"$event.stopPropagation()\"\n (keydown.shift.tab)=\"$event.stopPropagation()\"\n ></ui-button>\n </div>\n </ng-container>\n\n <ng-template #tablet>\n <ng-container [ngTemplateOutlet]=\"userInfo\"></ng-container>\n </ng-template>\n</div>\n\n<ng-template #userInfo>\n <div class=\"user-info\" [ngClass]=\"{ desktop: isDesktop }\">\n <ui-avatar [size]=\"avatarSize.MEDIUM\" [name]=\"userName\"></ui-avatar>\n <div class=\"details-container\">\n <div class=\"name-container\">\n <span class=\"user-name\">{{ userName }}</span>\n <span class=\"user-email\">{{ email }}</span>\n </div>\n <ui-button\n *ngIf=\"!isDesktop\"\n data-testid=\"logout-button\"\n [tooltip]=\"(translationContext + 'LOG_OUT' | uiTranslate | async)!\"\n [iconName]=\"'Logout-in-line'\"\n [applicationTheme]=\"'light'\"\n [variant]=\"'icon-button'\"\n (click)=\"logout()\"\n ></ui-button>\n </div>\n </div>\n</ng-template>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}:host{display:flex;flex-direction:column;height:100%}.mobile-navbar-container{min-width:340px;padding-top:16px;height:100%}.mobile-navbar-container .routes{display:none}.mobile-navbar-container .routes .route{padding:0 16px;width:100%;height:48px;display:flex;justify-content:flex-start;align-items:center;font-size:14px;cursor:pointer}.mobile-navbar-container .routes .route.active{background-color:#f4f4f4;font-weight:700;font-family:ModernGothic,sans-serif}.mobile-navbar-container .routes .route:hover{background-color:#fff2fc;font-weight:700;font-family:ModernGothic,sans-serif}.mobile-navbar-container .routes .route:active{background-color:#ffe6fa}@media (max-width: 600px){.mobile-navbar-container .routes{display:block}}.menu-item{width:100%;height:48px;display:flex;font-size:14px;font-weight:700;font-family:ModernGothic,sans-serif;flex-direction:row;align-items:center;cursor:pointer}.menu-item ::ng-deep ui-button{width:100%}.menu-item ::ng-deep ui-button button{padding-left:16px!important}.menu-item ::ng-deep ui-button button span.icon{margin-right:16px!important}.menu-item ::ng-deep ui-button button.mat-mdc-unelevated-button.menuCell:hover{background-color:#fff2fc}.menu-item ::ng-deep ui-button button.mat-mdc-unelevated-button.menuCell:active{background-color:#ffe6fa}.bottom-content{width:100%;display:flex;align-items:center;flex-direction:column;position:sticky;bottom:0;background:#fff;z-index:1}.bottom-content.desktop{position:relative;border-top:1px #D3D3D3 solid;margin-top:16px;padding:16px 0 8px}.user-info{display:flex;align-items:center;gap:16px;padding:0 16px;margin-top:32px;margin-bottom:16px;width:100%}.user-info.desktop{margin-top:0;margin-bottom:32px}.user-info .details-container{display:flex;justify-content:space-between;width:100%;gap:8px}.user-info .name-container{display:flex;flex-direction:column;width:224px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-info .name-container .user-name{font-weight:700;font-size:14px;line-height:22px;font-family:ModernGothic,sans-serif;white-space:wrap}.user-info .name-container .user-email{width:100%;font-size:14px;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"], dependencies: [{ kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: IconComponentModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: MatMenuModule }, { kind: "pipe", type: UiTranslatePipe, name: "uiTranslate" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "ngmodule", type: AccordionComponentModule }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: AvatarComponentModule }, { kind: "component", type: i1.AvatarComponent, selector: "ui-avatar", inputs: ["size", "imageUrl", "name", "tooltipText", "allowEdit", "applicationTheme", "backgroundColor"], outputs: ["editClick"] }, { kind: "ngmodule", type: ButtonComponentModule }, { kind: "component", type: i2.ButtonComponent, selector: "ui-button", inputs: ["size", "variant", "label", "iconPosition", "justIcon", "iconName", "disabled", "loading", "fullWidth", "url", "urlTarget", "value", "tooltip", "isPremium", "type", "companyColor", "buttonBadgeConfig", "applicationTheme", "disabledScaleOnClick", "ariaLabel", "ariaRequired", "ariaLabelledby", "ariaDescribedby", "preventDefault", "tooltipPosition"], outputs: ["buttonClickEvent", "buttonHoverEvent"] }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
41
- }
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MobileNavbarSideSheetComponent, decorators: [{
43
- type: Component,
44
- args: [{ selector: 'ui-mobile-navbar-side-sheet', standalone: true, imports: [
45
- NgForOf,
46
- NgClass,
47
- IconComponentModule,
48
- MatIconModule,
49
- MatMenuModule,
50
- UiTranslatePipe,
51
- MatButtonModule,
52
- AccordionComponentModule,
53
- NgIf,
54
- NgTemplateOutlet,
55
- AvatarComponentModule,
56
- ButtonComponentModule,
57
- AsyncPipe,
58
- ], template: "<div class=\"mobile-navbar-container\">\n <ng-container *ngIf=\"isDesktop\" [ngTemplateOutlet]=\"userInfo\"></ng-container>\n\n <div class=\"routes\">\n <div\n *ngFor=\"let route of routes\"\n [attr.data-testid]=\"route.id\"\n data-test-role=\"nav-route\"\n (click)=\"navigate(route.id)\"\n class=\"route\"\n [ngClass]=\"{ active: activedRoute === route.id }\"\n >\n <span>{{ route.title }}</span>\n </div>\n </div>\n\n <div class=\"settings\">\n <ng-container *ngFor=\"let e of menuItems\">\n <div *ngIf=\"e\" class=\"menu-item\">\n <ui-button\n [attr.data-testid]=\"e.id\"\n data-test-role=\"menu-item\"\n [applicationTheme]=\"applicationTheme\"\n [fullWidth]=\"true\"\n [disabledScaleOnClick]=\"true\"\n [variant]=\"'menuCell'\"\n iconPosition=\"left\"\n [iconName]=\"e.icon\"\n [label]=\"e.text\"\n (buttonClickEvent)=\"clickMenuItem(e.id)\"\n (keydown.Tab)=\"$event.stopPropagation()\"\n (keydown.shift.tab)=\"$event.stopPropagation()\"\n [ariaLabel]=\"e.text + '--' + e.text\"\n ></ui-button>\n </div>\n </ng-container>\n </div>\n</div>\n\n<div class=\"bottom-content\" [ngClass]=\"{ desktop: isDesktop }\">\n <ng-container *ngIf=\"!isDesktop\" [ngTemplateOutlet]=\"contentTemplateRef\"></ng-container>\n <ng-container *ngIf=\"isDesktop; else tablet\">\n <div class=\"menu-item\">\n <ui-button\n data-testid=\"logout-button\"\n [applicationTheme]=\"applicationTheme\"\n [fullWidth]=\"true\"\n [disabledScaleOnClick]=\"true\"\n [variant]=\"'menuCell'\"\n iconPosition=\"left\"\n [iconName]=\"'Logout-in-line'\"\n [label]=\"(translationContext + 'LOG_OUT' | uiTranslate | async)!\"\n (buttonClickEvent)=\"logout()\"\n (keydown.Tab)=\"$event.stopPropagation()\"\n (keydown.shift.tab)=\"$event.stopPropagation()\"\n ></ui-button>\n </div>\n </ng-container>\n\n <ng-template #tablet>\n <ng-container [ngTemplateOutlet]=\"userInfo\"></ng-container>\n </ng-template>\n</div>\n\n<ng-template #userInfo>\n <div class=\"user-info\" [ngClass]=\"{ desktop: isDesktop }\">\n <ui-avatar [size]=\"avatarSize.MEDIUM\" [name]=\"userName\"></ui-avatar>\n <div class=\"details-container\">\n <div class=\"name-container\">\n <span class=\"user-name\">{{ userName }}</span>\n <span class=\"user-email\">{{ email }}</span>\n </div>\n <ui-button\n *ngIf=\"!isDesktop\"\n data-testid=\"logout-button\"\n [tooltip]=\"(translationContext + 'LOG_OUT' | uiTranslate | async)!\"\n [iconName]=\"'Logout-in-line'\"\n [applicationTheme]=\"'light'\"\n [variant]=\"'icon-button'\"\n (click)=\"logout()\"\n ></ui-button>\n </div>\n </div>\n</ng-template>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}:host{display:flex;flex-direction:column;height:100%}.mobile-navbar-container{min-width:340px;padding-top:16px;height:100%}.mobile-navbar-container .routes{display:none}.mobile-navbar-container .routes .route{padding:0 16px;width:100%;height:48px;display:flex;justify-content:flex-start;align-items:center;font-size:14px;cursor:pointer}.mobile-navbar-container .routes .route.active{background-color:#f4f4f4;font-weight:700;font-family:ModernGothic,sans-serif}.mobile-navbar-container .routes .route:hover{background-color:#fff2fc;font-weight:700;font-family:ModernGothic,sans-serif}.mobile-navbar-container .routes .route:active{background-color:#ffe6fa}@media (max-width: 600px){.mobile-navbar-container .routes{display:block}}.menu-item{width:100%;height:48px;display:flex;font-size:14px;font-weight:700;font-family:ModernGothic,sans-serif;flex-direction:row;align-items:center;cursor:pointer}.menu-item ::ng-deep ui-button{width:100%}.menu-item ::ng-deep ui-button button{padding-left:16px!important}.menu-item ::ng-deep ui-button button span.icon{margin-right:16px!important}.menu-item ::ng-deep ui-button button.mat-mdc-unelevated-button.menuCell:hover{background-color:#fff2fc}.menu-item ::ng-deep ui-button button.mat-mdc-unelevated-button.menuCell:active{background-color:#ffe6fa}.bottom-content{width:100%;display:flex;align-items:center;flex-direction:column;position:sticky;bottom:0;background:#fff;z-index:1}.bottom-content.desktop{position:relative;border-top:1px #D3D3D3 solid;margin-top:16px;padding:16px 0 8px}.user-info{display:flex;align-items:center;gap:16px;padding:0 16px;margin-top:32px;margin-bottom:16px;width:100%}.user-info.desktop{margin-top:0;margin-bottom:32px}.user-info .details-container{display:flex;justify-content:space-between;width:100%;gap:8px}.user-info .name-container{display:flex;flex-direction:column;width:224px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-info .name-container .user-name{font-weight:700;font-size:14px;line-height:22px;font-family:ModernGothic,sans-serif;white-space:wrap}.user-info .name-container .user-email{width:100%;font-size:14px;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"] }]
59
- }], propDecorators: { routes: [{
60
- type: Input
61
- }], activedRoute: [{
62
- type: Input
63
- }], email: [{
64
- type: Input
65
- }], userName: [{
66
- type: Input
67
- }], menuItems: [{
68
- type: Input
69
- }], contentTemplateRef: [{
70
- type: Input
71
- }], isDesktop: [{
72
- type: Input
73
- }], applicationTheme: [{
74
- type: Input
75
- }], navigateEvent: [{
76
- type: Output
77
- }], menuItemClicked: [{
78
- type: Output
79
- }], logoutEvent: [{
80
- type: Output
81
- }] } });
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9iaWxlLW5hdmJhci1zaWRlLXNoZWV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9uYXZiYXIvbW9iaWxlLW5hdmJhci1zaWRlLXNoZWV0L21vYmlsZS1uYXZiYXItc2lkZS1zaGVldC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90Z28tY2Fub3B5LXVpL2NvbXBvbmVudHMvbmF2YmFyL21vYmlsZS1uYXZiYXItc2lkZS1zaGVldC9tb2JpbGUtbmF2YmFyLXNpZGUtc2hlZXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUVwRixPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7OztBQXdCdkQsTUFBTSxPQUFPLDhCQUE4QjtJQXJCM0M7UUFzQlcsV0FBTSxHQUFhLEVBQUUsQ0FBQztRQUN0QixpQkFBWSxHQUFHLEVBQUUsQ0FBQztRQUNsQixVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNkLGNBQVMsR0FBZSxFQUFFLENBQUM7UUFFM0IsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixxQkFBZ0IsR0FBcUIsT0FBTyxDQUFDO1FBRTVDLGtCQUFhLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFDakUsb0JBQWUsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUNuRSxnQkFBVyxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBRWxELHVCQUFrQixHQUFHLFNBQVMsQ0FBQztRQUN4QyxlQUFVLEdBQUcsVUFBVSxDQUFDO0tBYW5DO0lBWEMsUUFBUSxDQUFDLE9BQWU7UUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsYUFBYSxDQUFDLEVBQVU7UUFDdEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDaEMsQ0FBQzsrR0EzQlUsOEJBQThCO21HQUE5Qiw4QkFBOEIsc2FDbkMzQyx5MkZBb0ZBLDJ6SURoRUksT0FBTyxtSEFDUCxPQUFPLG1GQUNQLG1CQUFtQiw4QkFDbkIsYUFBYSw4QkFDYixhQUFhLDBCQUNiLGVBQWUsbURBQ2YsZUFBZSw4QkFDZix3QkFBd0IsK0JBQ3hCLElBQUksNkZBQ0osZ0JBQWdCLG1KQUNoQixxQkFBcUIsdU9BQ3JCLHFCQUFxQiw0ZkFDckIsU0FBUzs7NEZBR0EsOEJBQThCO2tCQXJCMUMsU0FBUzsrQkFDRSw2QkFBNkIsY0FHM0IsSUFBSSxXQUNQO3dCQUNQLE9BQU87d0JBQ1AsT0FBTzt3QkFDUCxtQkFBbUI7d0JBQ25CLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixlQUFlO3dCQUNmLGVBQWU7d0JBQ2Ysd0JBQXdCO3dCQUN4QixJQUFJO3dCQUNKLGdCQUFnQjt3QkFDaEIscUJBQXFCO3dCQUNyQixxQkFBcUI7d0JBQ3JCLFNBQVM7cUJBQ1Y7OEJBR1EsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBRUksYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxlQUFlO3NCQUF4QixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElSb3V0ZSwgTWVudUl0ZW0gfSBmcm9tIFwiLi4vbmF2YmFyLm1vZGVsXCI7XG5pbXBvcnQgeyBBc3luY1BpcGUsIE5nQ2xhc3MsIE5nRm9yT2YsIE5nSWYsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudE1vZHVsZSB9IGZyb20gXCIuLi8uLi9pY29uL2ljb24uY29tcG9uZW50Lm1vZHVsZVwiO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9pY29uXCI7XG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL21lbnVcIjtcbmltcG9ydCB7IFVpVHJhbnNsYXRlUGlwZSB9IGZyb20gXCIuLi8uLi8uLi9waXBlcy91aS10cmFuc2xhdGUucGlwZVwiO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2J1dHRvblwiO1xuaW1wb3J0IHsgQWNjb3JkaW9uQ29tcG9uZW50TW9kdWxlIH0gZnJvbSBcIi4uLy4uL2FjY29yZGlvbi9hY2NvcmRpb24uY29tcG9uZW50Lm1vZHVsZVwiO1xuaW1wb3J0IHsgQXZhdGFyQ29tcG9uZW50TW9kdWxlIH0gZnJvbSBcIi4uLy4uL2F2YXRhci9hdmF0YXIuY29tcG9uZW50Lm1vZHVsZVwiO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50TW9kdWxlIH0gZnJvbSBcIi4uLy4uL2J1dHRvbi9idXR0b24uY29tcG9uZW50Lm1vZHVsZVwiO1xuaW1wb3J0IHsgQXZhdGFyU2l6ZSB9IGZyb20gXCIuLi8uLi9hdmF0YXIvYXZhdGFyLm1vZGVsXCI7XG5pbXBvcnQgeyBBcHBsaWNhdGlvblRoZW1lIH0gZnJvbSBcIi4uLy4uLy4uL21vZGVscy9hcHBsaWNhdGlvbi10aGVtZS5tb2RlbFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd1aS1tb2JpbGUtbmF2YmFyLXNpZGUtc2hlZXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vbW9iaWxlLW5hdmJhci1zaWRlLXNoZWV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbW9iaWxlLW5hdmJhci1zaWRlLXNoZWV0LmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBOZ0Zvck9mLFxuICAgIE5nQ2xhc3MsXG4gICAgSWNvbkNvbXBvbmVudE1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdE1lbnVNb2R1bGUsXG4gICAgVWlUcmFuc2xhdGVQaXBlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBBY2NvcmRpb25Db21wb25lbnRNb2R1bGUsXG4gICAgTmdJZixcbiAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgIEF2YXRhckNvbXBvbmVudE1vZHVsZSxcbiAgICBCdXR0b25Db21wb25lbnRNb2R1bGUsXG4gICAgQXN5bmNQaXBlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBNb2JpbGVOYXZiYXJTaWRlU2hlZXRDb21wb25lbnQge1xuICBASW5wdXQoKSByb3V0ZXM6IElSb3V0ZVtdID0gW107XG4gIEBJbnB1dCgpIGFjdGl2ZWRSb3V0ZSA9ICcnO1xuICBASW5wdXQoKSBlbWFpbCA9ICcnO1xuICBASW5wdXQoKSB1c2VyTmFtZSA9ICcnO1xuICBASW5wdXQoKSBtZW51SXRlbXM6IE1lbnVJdGVtW10gPSBbXTtcbiAgQElucHV0KCkgY29udGVudFRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBASW5wdXQoKSBpc0Rlc2t0b3AgPSBmYWxzZTtcbiAgQElucHV0KCkgYXBwbGljYXRpb25UaGVtZTogQXBwbGljYXRpb25UaGVtZSA9ICdsaWdodCc7XG5cbiAgQE91dHB1dCgpIG5hdmlnYXRlRXZlbnQ6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIEBPdXRwdXQoKSBtZW51SXRlbUNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIEBPdXRwdXQoKSBsb2dvdXRFdmVudDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSB0cmFuc2xhdGlvbkNvbnRleHQgPSAnTkFWQkFSLic7XG4gIHByb3RlY3RlZCBhdmF0YXJTaXplID0gQXZhdGFyU2l6ZTtcblxuICBuYXZpZ2F0ZShyb3V0ZUlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLm5hdmlnYXRlRXZlbnQuZW1pdChgLyR7cm91dGVJZH1gKTtcbiAgfVxuXG4gIGxvZ291dCgpOiB2b2lkIHtcbiAgICB0aGlzLmxvZ291dEV2ZW50LmVtaXQoKTtcbiAgfVxuXG4gIGNsaWNrTWVudUl0ZW0oaWQ6IHN0cmluZykge1xuICAgIHRoaXMubWVudUl0ZW1DbGlja2VkLmVtaXQoaWQpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibW9iaWxlLW5hdmJhci1jb250YWluZXJcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzRGVza3RvcFwiIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInVzZXJJbmZvXCI+PC9uZy1jb250YWluZXI+XG5cbiAgPGRpdiBjbGFzcz1cInJvdXRlc1wiPlxuICAgIDxkaXZcbiAgICAgICpuZ0Zvcj1cImxldCByb3V0ZSBvZiByb3V0ZXNcIlxuICAgICAgW2F0dHIuZGF0YS10ZXN0aWRdPVwicm91dGUuaWRcIlxuICAgICAgZGF0YS10ZXN0LXJvbGU9XCJuYXYtcm91dGVcIlxuICAgICAgKGNsaWNrKT1cIm5hdmlnYXRlKHJvdXRlLmlkKVwiXG4gICAgICBjbGFzcz1cInJvdXRlXCJcbiAgICAgIFtuZ0NsYXNzXT1cInsgYWN0aXZlOiBhY3RpdmVkUm91dGUgPT09IHJvdXRlLmlkIH1cIlxuICAgID5cbiAgICAgIDxzcGFuPnt7IHJvdXRlLnRpdGxlIH19PC9zcGFuPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwic2V0dGluZ3NcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBlIG9mIG1lbnVJdGVtc1wiPlxuICAgICAgPGRpdiAqbmdJZj1cImVcIiBjbGFzcz1cIm1lbnUtaXRlbVwiPlxuICAgICAgICA8dWktYnV0dG9uXG4gICAgICAgICAgW2F0dHIuZGF0YS10ZXN0aWRdPVwiZS5pZFwiXG4gICAgICAgICAgZGF0YS10ZXN0LXJvbGU9XCJtZW51LWl0ZW1cIlxuICAgICAgICAgIFthcHBsaWNhdGlvblRoZW1lXT1cImFwcGxpY2F0aW9uVGhlbWVcIlxuICAgICAgICAgIFtmdWxsV2lkdGhdPVwidHJ1ZVwiXG4gICAgICAgICAgW2Rpc2FibGVkU2NhbGVPbkNsaWNrXT1cInRydWVcIlxuICAgICAgICAgIFt2YXJpYW50XT1cIidtZW51Q2VsbCdcIlxuICAgICAgICAgIGljb25Qb3NpdGlvbj1cImxlZnRcIlxuICAgICAgICAgIFtpY29uTmFtZV09XCJlLmljb25cIlxuICAgICAgICAgIFtsYWJlbF09XCJlLnRleHRcIlxuICAgICAgICAgIChidXR0b25DbGlja0V2ZW50KT1cImNsaWNrTWVudUl0ZW0oZS5pZClcIlxuICAgICAgICAgIChrZXlkb3duLlRhYik9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAgIChrZXlkb3duLnNoaWZ0LnRhYik9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAgIFthcmlhTGFiZWxdPVwiZS50ZXh0ICsgJy0tJyArIGUudGV4dFwiXG4gICAgICAgID48L3VpLWJ1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwiYm90dG9tLWNvbnRlbnRcIiBbbmdDbGFzc109XCJ7IGRlc2t0b3A6IGlzRGVza3RvcCB9XCI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNEZXNrdG9wXCIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29udGVudFRlbXBsYXRlUmVmXCI+PC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0Rlc2t0b3A7IGVsc2UgdGFibGV0XCI+XG4gICAgPGRpdiBjbGFzcz1cIm1lbnUtaXRlbVwiPlxuICAgICAgPHVpLWJ1dHRvblxuICAgICAgICBkYXRhLXRlc3RpZD1cImxvZ291dC1idXR0b25cIlxuICAgICAgICBbYXBwbGljYXRpb25UaGVtZV09XCJhcHBsaWNhdGlvblRoZW1lXCJcbiAgICAgICAgW2Z1bGxXaWR0aF09XCJ0cnVlXCJcbiAgICAgICAgW2Rpc2FibGVkU2NhbGVPbkNsaWNrXT1cInRydWVcIlxuICAgICAgICBbdmFyaWFudF09XCInbWVudUNlbGwnXCJcbiAgICAgICAgaWNvblBvc2l0aW9uPVwibGVmdFwiXG4gICAgICAgIFtpY29uTmFtZV09XCInTG9nb3V0LWluLWxpbmUnXCJcbiAgICAgICAgW2xhYmVsXT1cIih0cmFuc2xhdGlvbkNvbnRleHQgKyAnTE9HX09VVCcgfCB1aVRyYW5zbGF0ZSB8IGFzeW5jKSFcIlxuICAgICAgICAoYnV0dG9uQ2xpY2tFdmVudCk9XCJsb2dvdXQoKVwiXG4gICAgICAgIChrZXlkb3duLlRhYik9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAoa2V5ZG93bi5zaGlmdC50YWIpPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgID48L3VpLWJ1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPG5nLXRlbXBsYXRlICN0YWJsZXQ+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJ1c2VySW5mb1wiPjwvbmctY29udGFpbmVyPlxuICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjdXNlckluZm8+XG4gIDxkaXYgY2xhc3M9XCJ1c2VyLWluZm9cIiBbbmdDbGFzc109XCJ7IGRlc2t0b3A6IGlzRGVza3RvcCB9XCI+XG4gICAgPHVpLWF2YXRhciBbc2l6ZV09XCJhdmF0YXJTaXplLk1FRElVTVwiIFtuYW1lXT1cInVzZXJOYW1lXCI+PC91aS1hdmF0YXI+XG4gICAgPGRpdiBjbGFzcz1cImRldGFpbHMtY29udGFpbmVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibmFtZS1jb250YWluZXJcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ1c2VyLW5hbWVcIj57eyB1c2VyTmFtZSB9fTwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ1c2VyLWVtYWlsXCI+e3sgZW1haWwgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDx1aS1idXR0b25cbiAgICAgICAgKm5nSWY9XCIhaXNEZXNrdG9wXCJcbiAgICAgICAgZGF0YS10ZXN0aWQ9XCJsb2dvdXQtYnV0dG9uXCJcbiAgICAgICAgW3Rvb2x0aXBdPVwiKHRyYW5zbGF0aW9uQ29udGV4dCArICdMT0dfT1VUJyB8IHVpVHJhbnNsYXRlIHwgYXN5bmMpIVwiXG4gICAgICAgIFtpY29uTmFtZV09XCInTG9nb3V0LWluLWxpbmUnXCJcbiAgICAgICAgW2FwcGxpY2F0aW9uVGhlbWVdPVwiJ2xpZ2h0J1wiXG4gICAgICAgIFt2YXJpYW50XT1cIidpY29uLWJ1dHRvbidcIlxuICAgICAgICAoY2xpY2spPVwibG9nb3V0KClcIlxuICAgICAgPjwvdWktYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=