primeng 12.1.1 → 12.2.2

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 (403) hide show
  1. package/autocomplete/autocomplete.d.ts +2 -1
  2. package/blockui/blockui.d.ts +3 -0
  3. package/breadcrumb/breadcrumb.d.ts +2 -1
  4. package/bundles/primeng-accordion.umd.js +4 -6
  5. package/bundles/primeng-accordion.umd.js.map +1 -1
  6. package/bundles/primeng-api.umd.js +5 -7
  7. package/bundles/primeng-api.umd.js.map +1 -1
  8. package/bundles/primeng-autocomplete.umd.js +9 -9
  9. package/bundles/primeng-autocomplete.umd.js.map +1 -1
  10. package/bundles/primeng-avatar.umd.js +4 -6
  11. package/bundles/primeng-avatar.umd.js.map +1 -1
  12. package/bundles/primeng-avatargroup.umd.js +4 -6
  13. package/bundles/primeng-avatargroup.umd.js.map +1 -1
  14. package/bundles/primeng-badge.umd.js +4 -6
  15. package/bundles/primeng-badge.umd.js.map +1 -1
  16. package/bundles/primeng-blockui.umd.js +30 -13
  17. package/bundles/primeng-blockui.umd.js.map +1 -1
  18. package/bundles/primeng-breadcrumb.umd.js +8 -8
  19. package/bundles/primeng-breadcrumb.umd.js.map +1 -1
  20. package/bundles/primeng-button.umd.js +11 -8
  21. package/bundles/primeng-button.umd.js.map +1 -1
  22. package/bundles/primeng-calendar.umd.js +39 -26
  23. package/bundles/primeng-calendar.umd.js.map +1 -1
  24. package/bundles/primeng-captcha.umd.js +4 -6
  25. package/bundles/primeng-captcha.umd.js.map +1 -1
  26. package/bundles/primeng-card.umd.js +4 -6
  27. package/bundles/primeng-card.umd.js.map +1 -1
  28. package/bundles/primeng-carousel.umd.js +5 -7
  29. package/bundles/primeng-carousel.umd.js.map +1 -1
  30. package/bundles/primeng-cascadeselect.umd.js +34 -15
  31. package/bundles/primeng-cascadeselect.umd.js.map +1 -1
  32. package/bundles/primeng-chart.umd.js +7 -8
  33. package/bundles/primeng-chart.umd.js.map +1 -1
  34. package/bundles/primeng-checkbox.umd.js +31 -39
  35. package/bundles/primeng-checkbox.umd.js.map +1 -1
  36. package/bundles/primeng-chip.umd.js +4 -6
  37. package/bundles/primeng-chip.umd.js.map +1 -1
  38. package/bundles/primeng-chips.umd.js +7 -8
  39. package/bundles/primeng-chips.umd.js.map +1 -1
  40. package/bundles/primeng-codehighlighter.umd.js +4 -6
  41. package/bundles/primeng-codehighlighter.umd.js.map +1 -1
  42. package/bundles/primeng-colorpicker.umd.js +4 -6
  43. package/bundles/primeng-colorpicker.umd.js.map +1 -1
  44. package/bundles/primeng-confirmdialog.umd.js +15 -14
  45. package/bundles/primeng-confirmdialog.umd.js.map +1 -1
  46. package/bundles/primeng-confirmpopup.umd.js +22 -7
  47. package/bundles/primeng-confirmpopup.umd.js.map +1 -1
  48. package/bundles/primeng-contextmenu.umd.js +5 -7
  49. package/bundles/primeng-contextmenu.umd.js.map +1 -1
  50. package/bundles/primeng-dataview.umd.js +5 -7
  51. package/bundles/primeng-dataview.umd.js.map +1 -1
  52. package/bundles/primeng-defer.umd.js +4 -6
  53. package/bundles/primeng-defer.umd.js.map +1 -1
  54. package/bundles/primeng-dialog.umd.js +14 -8
  55. package/bundles/primeng-dialog.umd.js.map +1 -1
  56. package/bundles/primeng-divider.umd.js +4 -6
  57. package/bundles/primeng-divider.umd.js.map +1 -1
  58. package/bundles/primeng-dock.umd.js +6 -8
  59. package/bundles/primeng-dock.umd.js.map +1 -1
  60. package/bundles/primeng-dom.umd.js +7 -4
  61. package/bundles/primeng-dom.umd.js.map +1 -1
  62. package/bundles/primeng-dragdrop.umd.js +4 -6
  63. package/bundles/primeng-dragdrop.umd.js.map +1 -1
  64. package/bundles/primeng-dropdown.umd.js +25 -20
  65. package/bundles/primeng-dropdown.umd.js.map +1 -1
  66. package/bundles/primeng-dynamicdialog.umd.js +10 -9
  67. package/bundles/primeng-dynamicdialog.umd.js.map +1 -1
  68. package/bundles/primeng-editor.umd.js +6 -8
  69. package/bundles/primeng-editor.umd.js.map +1 -1
  70. package/bundles/primeng-fieldset.umd.js +4 -6
  71. package/bundles/primeng-fieldset.umd.js.map +1 -1
  72. package/bundles/primeng-fileupload.umd.js +5 -7
  73. package/bundles/primeng-fileupload.umd.js.map +1 -1
  74. package/bundles/primeng-focustrap.umd.js +4 -6
  75. package/bundles/primeng-focustrap.umd.js.map +1 -1
  76. package/bundles/primeng-fullcalendar.umd.js +4 -6
  77. package/bundles/primeng-fullcalendar.umd.js.map +1 -1
  78. package/bundles/primeng-galleria.umd.js +74 -28
  79. package/bundles/primeng-galleria.umd.js.map +1 -1
  80. package/bundles/primeng-gmap.umd.js +5 -7
  81. package/bundles/primeng-gmap.umd.js.map +1 -1
  82. package/bundles/primeng-image.umd.js +241 -0
  83. package/bundles/primeng-image.umd.js.map +1 -0
  84. package/bundles/primeng-inplace.umd.js +4 -6
  85. package/bundles/primeng-inplace.umd.js.map +1 -1
  86. package/bundles/primeng-inputmask.umd.js +4 -6
  87. package/bundles/primeng-inputmask.umd.js.map +1 -1
  88. package/bundles/primeng-inputnumber.umd.js +5 -7
  89. package/bundles/primeng-inputnumber.umd.js.map +1 -1
  90. package/bundles/primeng-inputswitch.umd.js +22 -15
  91. package/bundles/primeng-inputswitch.umd.js.map +1 -1
  92. package/bundles/primeng-inputtext.umd.js +12 -9
  93. package/bundles/primeng-inputtext.umd.js.map +1 -1
  94. package/bundles/primeng-inputtextarea.umd.js +4 -6
  95. package/bundles/primeng-inputtextarea.umd.js.map +1 -1
  96. package/bundles/primeng-keyfilter.umd.js +5 -7
  97. package/bundles/primeng-keyfilter.umd.js.map +1 -1
  98. package/bundles/primeng-knob.umd.js +4 -6
  99. package/bundles/primeng-knob.umd.js.map +1 -1
  100. package/bundles/primeng-lightbox.umd.js +5 -7
  101. package/bundles/primeng-lightbox.umd.js.map +1 -1
  102. package/bundles/primeng-listbox.umd.js +7 -9
  103. package/bundles/primeng-listbox.umd.js.map +1 -1
  104. package/bundles/primeng-megamenu.umd.js +4 -6
  105. package/bundles/primeng-megamenu.umd.js.map +1 -1
  106. package/bundles/primeng-menu.umd.js +51 -11
  107. package/bundles/primeng-menu.umd.js.map +1 -1
  108. package/bundles/primeng-menubar.umd.js +4 -6
  109. package/bundles/primeng-menubar.umd.js.map +1 -1
  110. package/bundles/primeng-message.umd.js +4 -6
  111. package/bundles/primeng-message.umd.js.map +1 -1
  112. package/bundles/primeng-messages.umd.js +5 -7
  113. package/bundles/primeng-messages.umd.js.map +1 -1
  114. package/bundles/primeng-multiselect.umd.js +11 -10
  115. package/bundles/primeng-multiselect.umd.js.map +1 -1
  116. package/bundles/primeng-orderlist.umd.js +5 -7
  117. package/bundles/primeng-orderlist.umd.js.map +1 -1
  118. package/bundles/primeng-organizationchart.umd.js +5 -7
  119. package/bundles/primeng-organizationchart.umd.js.map +1 -1
  120. package/bundles/primeng-overlaypanel.umd.js +9 -8
  121. package/bundles/primeng-overlaypanel.umd.js.map +1 -1
  122. package/bundles/primeng-paginator.umd.js +28 -21
  123. package/bundles/primeng-paginator.umd.js.map +1 -1
  124. package/bundles/primeng-panel.umd.js +4 -6
  125. package/bundles/primeng-panel.umd.js.map +1 -1
  126. package/bundles/primeng-panelmenu.umd.js +42 -14
  127. package/bundles/primeng-panelmenu.umd.js.map +1 -1
  128. package/bundles/primeng-password.umd.js +16 -10
  129. package/bundles/primeng-password.umd.js.map +1 -1
  130. package/bundles/primeng-picklist.umd.js +22 -8
  131. package/bundles/primeng-picklist.umd.js.map +1 -1
  132. package/bundles/primeng-progressbar.umd.js +4 -6
  133. package/bundles/primeng-progressbar.umd.js.map +1 -1
  134. package/bundles/primeng-progressspinner.umd.js +4 -6
  135. package/bundles/primeng-progressspinner.umd.js.map +1 -1
  136. package/bundles/primeng-radiobutton.umd.js +4 -6
  137. package/bundles/primeng-radiobutton.umd.js.map +1 -1
  138. package/bundles/primeng-rating.umd.js +4 -6
  139. package/bundles/primeng-rating.umd.js.map +1 -1
  140. package/bundles/primeng-ripple.umd.js +4 -6
  141. package/bundles/primeng-ripple.umd.js.map +1 -1
  142. package/bundles/primeng-scrollpanel.umd.js +4 -6
  143. package/bundles/primeng-scrollpanel.umd.js.map +1 -1
  144. package/bundles/primeng-scrolltop.umd.js +4 -6
  145. package/bundles/primeng-scrolltop.umd.js.map +1 -1
  146. package/bundles/primeng-selectbutton.umd.js +5 -7
  147. package/bundles/primeng-selectbutton.umd.js.map +1 -1
  148. package/bundles/primeng-sidebar.umd.js +28 -19
  149. package/bundles/primeng-sidebar.umd.js.map +1 -1
  150. package/bundles/primeng-skeleton.umd.js +4 -6
  151. package/bundles/primeng-skeleton.umd.js.map +1 -1
  152. package/bundles/primeng-slidemenu.umd.js +63 -10
  153. package/bundles/primeng-slidemenu.umd.js.map +1 -1
  154. package/bundles/primeng-slider.umd.js +4 -6
  155. package/bundles/primeng-slider.umd.js.map +1 -1
  156. package/bundles/primeng-speeddial.umd.js +4 -6
  157. package/bundles/primeng-speeddial.umd.js.map +1 -1
  158. package/bundles/primeng-spinner.umd.js +4 -6
  159. package/bundles/primeng-spinner.umd.js.map +1 -1
  160. package/bundles/primeng-splitbutton.umd.js +4 -6
  161. package/bundles/primeng-splitbutton.umd.js.map +1 -1
  162. package/bundles/primeng-splitter.umd.js +5 -7
  163. package/bundles/primeng-splitter.umd.js.map +1 -1
  164. package/bundles/primeng-steps.umd.js +4 -6
  165. package/bundles/primeng-steps.umd.js.map +1 -1
  166. package/bundles/primeng-styleclass.umd.js +4 -6
  167. package/bundles/primeng-styleclass.umd.js.map +1 -1
  168. package/bundles/primeng-table.umd.js +75 -64
  169. package/bundles/primeng-table.umd.js.map +1 -1
  170. package/bundles/primeng-tabmenu.umd.js +5 -7
  171. package/bundles/primeng-tabmenu.umd.js.map +1 -1
  172. package/bundles/primeng-tabview.umd.js +4 -6
  173. package/bundles/primeng-tabview.umd.js.map +1 -1
  174. package/bundles/primeng-tag.umd.js +4 -6
  175. package/bundles/primeng-tag.umd.js.map +1 -1
  176. package/bundles/primeng-terminal.umd.js +4 -6
  177. package/bundles/primeng-terminal.umd.js.map +1 -1
  178. package/bundles/primeng-tieredmenu.umd.js +4 -6
  179. package/bundles/primeng-tieredmenu.umd.js.map +1 -1
  180. package/bundles/primeng-timeline.umd.js +4 -6
  181. package/bundles/primeng-timeline.umd.js.map +1 -1
  182. package/bundles/primeng-toast.umd.js +5 -7
  183. package/bundles/primeng-toast.umd.js.map +1 -1
  184. package/bundles/primeng-togglebutton.umd.js +4 -6
  185. package/bundles/primeng-togglebutton.umd.js.map +1 -1
  186. package/bundles/primeng-toolbar.umd.js +4 -6
  187. package/bundles/primeng-toolbar.umd.js.map +1 -1
  188. package/bundles/primeng-tooltip.umd.js +5 -7
  189. package/bundles/primeng-tooltip.umd.js.map +1 -1
  190. package/bundles/primeng-tree.umd.js +10 -10
  191. package/bundles/primeng-tree.umd.js.map +1 -1
  192. package/bundles/primeng-treeselect.umd.js +13 -8
  193. package/bundles/primeng-treeselect.umd.js.map +1 -1
  194. package/bundles/primeng-treetable.umd.js +6 -8
  195. package/bundles/primeng-treetable.umd.js.map +1 -1
  196. package/bundles/primeng-tristatecheckbox.umd.js +4 -6
  197. package/bundles/primeng-tristatecheckbox.umd.js.map +1 -1
  198. package/bundles/primeng-utils.umd.js +340 -2
  199. package/bundles/primeng-utils.umd.js.map +1 -1
  200. package/bundles/primeng-virtualscroller.umd.js +4 -6
  201. package/bundles/primeng-virtualscroller.umd.js.map +1 -1
  202. package/bundles/primeng.umd.js +2 -2
  203. package/calendar/calendar.d.ts +5 -1
  204. package/cascadeselect/cascadeselect.d.ts +2 -1
  205. package/checkbox/checkbox.d.ts +4 -5
  206. package/confirmpopup/confirmpopup.d.ts +3 -1
  207. package/dialog/dialog.d.ts +2 -1
  208. package/dom/domhandler.d.ts +1 -0
  209. package/dropdown/dropdown.d.ts +3 -1
  210. package/esm2015/autocomplete/autocomplete.js +6 -4
  211. package/esm2015/blockui/blockui.js +25 -5
  212. package/esm2015/breadcrumb/breadcrumb.js +9 -7
  213. package/esm2015/button/button.js +8 -3
  214. package/esm2015/calendar/calendar.js +36 -21
  215. package/esm2015/cascadeselect/cascadeselect.js +29 -10
  216. package/esm2015/chart/chart.js +3 -2
  217. package/esm2015/checkbox/checkbox.js +36 -41
  218. package/esm2015/chips/chips.js +3 -2
  219. package/esm2015/confirmdialog/confirmdialog.js +13 -10
  220. package/esm2015/confirmpopup/confirmpopup.js +19 -2
  221. package/esm2015/dataview/dataview.js +1 -1
  222. package/esm2015/dialog/dialog.js +15 -7
  223. package/esm2015/dock/dock.js +40 -36
  224. package/esm2015/dom/domhandler.js +5 -2
  225. package/esm2015/dropdown/dropdown.js +22 -15
  226. package/esm2015/dynamicdialog/dynamicdialog.js +8 -5
  227. package/esm2015/editor/editor.js +7 -7
  228. package/esm2015/galleria/galleria.js +74 -23
  229. package/esm2015/image/image.js +276 -0
  230. package/esm2015/image/primeng-image.js +5 -0
  231. package/esm2015/image/public_api.js +2 -0
  232. package/esm2015/inputswitch/inputswitch.js +24 -15
  233. package/esm2015/inputtext/inputtext.js +9 -4
  234. package/esm2015/lightbox/lightbox.js +1 -1
  235. package/esm2015/listbox/listbox.js +3 -3
  236. package/esm2015/menu/menu.js +61 -19
  237. package/esm2015/multiselect/multiselect.js +7 -4
  238. package/esm2015/overlaypanel/overlaypanel.js +6 -3
  239. package/esm2015/paginator/paginator.js +45 -33
  240. package/esm2015/panelmenu/panelmenu.js +49 -18
  241. package/esm2015/password/password.js +17 -9
  242. package/esm2015/picklist/picklist.js +42 -26
  243. package/esm2015/sidebar/sidebar.js +25 -14
  244. package/esm2015/slidemenu/slidemenu.js +68 -18
  245. package/esm2015/table/table.js +82 -68
  246. package/esm2015/tabmenu/tabmenu.js +1 -1
  247. package/esm2015/tooltip/tooltip.js +2 -2
  248. package/esm2015/tree/tree.js +8 -6
  249. package/esm2015/treeselect/treeselect.js +9 -2
  250. package/esm2015/treetable/treetable.js +2 -2
  251. package/esm2015/utils/objectutils.js +10 -1
  252. package/fesm2015/primeng-autocomplete.js +5 -3
  253. package/fesm2015/primeng-autocomplete.js.map +1 -1
  254. package/fesm2015/primeng-blockui.js +24 -4
  255. package/fesm2015/primeng-blockui.js.map +1 -1
  256. package/fesm2015/primeng-breadcrumb.js +8 -6
  257. package/fesm2015/primeng-breadcrumb.js.map +1 -1
  258. package/fesm2015/primeng-button.js +7 -2
  259. package/fesm2015/primeng-button.js.map +1 -1
  260. package/fesm2015/primeng-calendar.js +35 -20
  261. package/fesm2015/primeng-calendar.js.map +1 -1
  262. package/fesm2015/primeng-cascadeselect.js +28 -9
  263. package/fesm2015/primeng-cascadeselect.js.map +1 -1
  264. package/fesm2015/primeng-chart.js +2 -1
  265. package/fesm2015/primeng-chart.js.map +1 -1
  266. package/fesm2015/primeng-checkbox.js +35 -40
  267. package/fesm2015/primeng-checkbox.js.map +1 -1
  268. package/fesm2015/primeng-chips.js +2 -1
  269. package/fesm2015/primeng-chips.js.map +1 -1
  270. package/fesm2015/primeng-confirmdialog.js +12 -9
  271. package/fesm2015/primeng-confirmdialog.js.map +1 -1
  272. package/fesm2015/primeng-confirmpopup.js +18 -1
  273. package/fesm2015/primeng-confirmpopup.js.map +1 -1
  274. package/fesm2015/primeng-dataview.js +1 -1
  275. package/fesm2015/primeng-dialog.js +14 -6
  276. package/fesm2015/primeng-dialog.js.map +1 -1
  277. package/fesm2015/primeng-dock.js +39 -35
  278. package/fesm2015/primeng-dock.js.map +1 -1
  279. package/fesm2015/primeng-dom.js +4 -1
  280. package/fesm2015/primeng-dom.js.map +1 -1
  281. package/fesm2015/primeng-dropdown.js +21 -14
  282. package/fesm2015/primeng-dropdown.js.map +1 -1
  283. package/fesm2015/primeng-dynamicdialog.js +7 -4
  284. package/fesm2015/primeng-dynamicdialog.js.map +1 -1
  285. package/fesm2015/primeng-editor.js +6 -6
  286. package/fesm2015/primeng-editor.js.map +1 -1
  287. package/fesm2015/primeng-galleria.js +73 -22
  288. package/fesm2015/primeng-galleria.js.map +1 -1
  289. package/fesm2015/primeng-image.js +283 -0
  290. package/fesm2015/primeng-image.js.map +1 -0
  291. package/fesm2015/primeng-inputswitch.js +23 -14
  292. package/fesm2015/primeng-inputswitch.js.map +1 -1
  293. package/fesm2015/primeng-inputtext.js +8 -3
  294. package/fesm2015/primeng-inputtext.js.map +1 -1
  295. package/fesm2015/primeng-lightbox.js +1 -1
  296. package/fesm2015/primeng-listbox.js +2 -2
  297. package/fesm2015/primeng-listbox.js.map +1 -1
  298. package/fesm2015/primeng-menu.js +60 -18
  299. package/fesm2015/primeng-menu.js.map +1 -1
  300. package/fesm2015/primeng-multiselect.js +6 -3
  301. package/fesm2015/primeng-multiselect.js.map +1 -1
  302. package/fesm2015/primeng-overlaypanel.js +5 -2
  303. package/fesm2015/primeng-overlaypanel.js.map +1 -1
  304. package/fesm2015/primeng-paginator.js +44 -32
  305. package/fesm2015/primeng-paginator.js.map +1 -1
  306. package/fesm2015/primeng-panelmenu.js +48 -17
  307. package/fesm2015/primeng-panelmenu.js.map +1 -1
  308. package/fesm2015/primeng-password.js +16 -8
  309. package/fesm2015/primeng-password.js.map +1 -1
  310. package/fesm2015/primeng-picklist.js +41 -25
  311. package/fesm2015/primeng-picklist.js.map +1 -1
  312. package/fesm2015/primeng-sidebar.js +24 -13
  313. package/fesm2015/primeng-sidebar.js.map +1 -1
  314. package/fesm2015/primeng-slidemenu.js +68 -18
  315. package/fesm2015/primeng-slidemenu.js.map +1 -1
  316. package/fesm2015/primeng-table.js +81 -67
  317. package/fesm2015/primeng-table.js.map +1 -1
  318. package/fesm2015/primeng-tabmenu.js +1 -1
  319. package/fesm2015/primeng-tooltip.js +1 -1
  320. package/fesm2015/primeng-tooltip.js.map +1 -1
  321. package/fesm2015/primeng-tree.js +7 -5
  322. package/fesm2015/primeng-tree.js.map +1 -1
  323. package/fesm2015/primeng-treeselect.js +8 -1
  324. package/fesm2015/primeng-treeselect.js.map +1 -1
  325. package/fesm2015/primeng-treetable.js +1 -1
  326. package/fesm2015/primeng-treetable.js.map +1 -1
  327. package/fesm2015/primeng-utils.js +9 -0
  328. package/fesm2015/primeng-utils.js.map +1 -1
  329. package/galleria/galleria.d.ts +9 -1
  330. package/image/image.d.ts +62 -0
  331. package/image/package.json +10 -0
  332. package/image/primeng-image.d.ts +5 -0
  333. package/image/public_api.d.ts +1 -0
  334. package/inputswitch/inputswitch.d.ts +6 -3
  335. package/inputtext/inputtext.d.ts +6 -4
  336. package/menu/menu.d.ts +3 -0
  337. package/overlaypanel/overlaypanel.d.ts +1 -0
  338. package/package.json +1 -1
  339. package/paginator/paginator.d.ts +9 -5
  340. package/panelmenu/panelmenu.d.ts +4 -1
  341. package/password/password.d.ts +6 -4
  342. package/picklist/picklist.d.ts +9 -1
  343. package/resources/components/breadcrumb/breadcrumb.css +4 -0
  344. package/resources/components/checkbox/checkbox.css +2 -1
  345. package/resources/components/dialog/dialog.css +0 -7
  346. package/resources/components/dock/dock.css +5 -1
  347. package/resources/components/image/image.css +55 -0
  348. package/resources/components/radiobutton/radiobutton.css +2 -1
  349. package/resources/components/sidebar/sidebar.css +1 -10
  350. package/resources/components/table/table.css +1 -5
  351. package/resources/components/tabmenu/tabmenu.css +4 -0
  352. package/resources/components/tooltip/tooltip.css +2 -1
  353. package/resources/primeng.css +6 -1
  354. package/resources/primeng.min.css +1 -1
  355. package/resources/themes/arya-blue/theme.css +99 -17
  356. package/resources/themes/arya-green/theme.css +99 -17
  357. package/resources/themes/arya-orange/theme.css +99 -17
  358. package/resources/themes/arya-purple/theme.css +99 -17
  359. package/resources/themes/bootstrap4-dark-blue/theme.css +99 -17
  360. package/resources/themes/bootstrap4-dark-purple/theme.css +99 -17
  361. package/resources/themes/bootstrap4-light-blue/theme.css +99 -17
  362. package/resources/themes/bootstrap4-light-purple/theme.css +99 -17
  363. package/resources/themes/fluent-light/theme.css +99 -17
  364. package/resources/themes/luna-amber/theme.css +99 -17
  365. package/resources/themes/luna-blue/theme.css +99 -17
  366. package/resources/themes/luna-green/theme.css +99 -17
  367. package/resources/themes/luna-pink/theme.css +99 -17
  368. package/resources/themes/md-dark-deeppurple/theme.css +287 -46
  369. package/resources/themes/md-dark-indigo/theme.css +287 -46
  370. package/resources/themes/md-light-deeppurple/theme.css +287 -46
  371. package/resources/themes/md-light-indigo/theme.css +287 -46
  372. package/resources/themes/mdc-dark-deeppurple/theme.css +287 -46
  373. package/resources/themes/mdc-dark-indigo/theme.css +287 -46
  374. package/resources/themes/mdc-light-deeppurple/theme.css +287 -46
  375. package/resources/themes/mdc-light-indigo/theme.css +287 -46
  376. package/resources/themes/nova/theme.css +99 -17
  377. package/resources/themes/nova-accent/theme.css +99 -17
  378. package/resources/themes/nova-alt/theme.css +99 -17
  379. package/resources/themes/rhea/theme.css +99 -17
  380. package/resources/themes/saga-blue/theme.css +99 -17
  381. package/resources/themes/saga-green/theme.css +99 -17
  382. package/resources/themes/saga-orange/theme.css +99 -17
  383. package/resources/themes/saga-purple/theme.css +99 -17
  384. package/resources/themes/tailwind-light/fonts/Inter-Bold.woff +0 -0
  385. package/resources/themes/tailwind-light/fonts/Inter-Bold.woff2 +0 -0
  386. package/resources/themes/tailwind-light/fonts/Inter-Light.woff +0 -0
  387. package/resources/themes/tailwind-light/fonts/Inter-Light.woff2 +0 -0
  388. package/resources/themes/tailwind-light/fonts/Inter-Medium.woff +0 -0
  389. package/resources/themes/tailwind-light/fonts/Inter-Medium.woff2 +0 -0
  390. package/resources/themes/tailwind-light/fonts/Inter-Regular.woff +0 -0
  391. package/resources/themes/tailwind-light/fonts/Inter-Regular.woff2 +0 -0
  392. package/resources/themes/tailwind-light/fonts/Inter-SemiBold.woff +0 -0
  393. package/resources/themes/tailwind-light/fonts/Inter-SemiBold.woff2 +0 -0
  394. package/resources/themes/tailwind-light/theme.css +5743 -0
  395. package/resources/themes/vela-blue/theme.css +99 -17
  396. package/resources/themes/vela-green/theme.css +99 -17
  397. package/resources/themes/vela-orange/theme.css +99 -17
  398. package/resources/themes/vela-purple/theme.css +99 -17
  399. package/sidebar/sidebar.d.ts +3 -0
  400. package/slidemenu/slidemenu.d.ts +7 -0
  401. package/table/table.d.ts +8 -3
  402. package/tree/tree.d.ts +2 -1
  403. package/utils/objectutils.d.ts +1 -0
@@ -115,6 +115,15 @@ export class ObjectUtils {
115
115
  }
116
116
  return index;
117
117
  }
118
+ static contains(value, list) {
119
+ if (value != null && list && list.length) {
120
+ for (let val of list) {
121
+ if (this.equals(value, val))
122
+ return true;
123
+ }
124
+ }
125
+ return false;
126
+ }
118
127
  static removeAccents(str) {
119
128
  if (str && str.search(/[\xC0-\xFF]/g) > -1) {
120
129
  str = str
@@ -143,4 +152,4 @@ export class ObjectUtils {
143
152
  return str;
144
153
  }
145
154
  }
146
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0dXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvdXRpbHMvb2JqZWN0dXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFdBQVc7SUFFYixNQUFNLENBQUMsTUFBTSxDQUFDLElBQVMsRUFBRSxJQUFTLEVBQUUsS0FBYztRQUNyRCxJQUFJLEtBQUs7WUFDTCxPQUFPLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsS0FBSyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7O1lBRW5GLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBUyxFQUFFLElBQVM7UUFDNUMsSUFBSSxJQUFJLEtBQUssSUFBSTtZQUFFLE9BQU8sSUFBSSxDQUFDO1FBRS9CLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxPQUFPLElBQUksSUFBSSxRQUFRLElBQUksT0FBTyxJQUFJLElBQUksUUFBUSxFQUFFO1lBQ3BFLElBQUksSUFBSSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQ3hCLElBQUksR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUMxQixDQUFDLEVBQ0QsTUFBTSxFQUNOLEdBQUcsQ0FBQztZQUVWLElBQUksSUFBSSxJQUFJLElBQUksRUFBRTtnQkFDZCxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztnQkFDckIsSUFBSSxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU07b0JBQUUsT0FBTyxLQUFLLENBQUM7Z0JBQ3hDLEtBQUssQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDO29CQUN0QixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUFFLE9BQU8sS0FBSyxDQUFDO2dCQUM1RCxPQUFPLElBQUksQ0FBQzthQUNmO1lBRUQsSUFBSSxJQUFJLElBQUksSUFBSTtnQkFBRSxPQUFPLEtBQUssQ0FBQztZQUUvQixJQUFJLEtBQUssR0FBRyxJQUFJLFlBQVksSUFBSSxFQUMxQixLQUFLLEdBQUcsSUFBSSxZQUFZLElBQUksQ0FBQztZQUNuQyxJQUFJLEtBQUssSUFBSSxLQUFLO2dCQUFFLE9BQU8sS0FBSyxDQUFDO1lBQ2pDLElBQUksS0FBSyxJQUFJLEtBQUs7Z0JBQUUsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBRTVELElBQUksT0FBTyxHQUFHLElBQUksWUFBWSxNQUFNLEVBQzlCLE9BQU8sR0FBRyxJQUFJLFlBQVksTUFBTSxDQUFDO1lBQ3ZDLElBQUksT0FBTyxJQUFJLE9BQU87Z0JBQUUsT0FBTyxLQUFLLENBQUM7WUFDckMsSUFBSSxPQUFPLElBQUksT0FBTztnQkFBRSxPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFFbEUsSUFBSSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM3QixNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUVyQixJQUFJLE1BQU0sS0FBSyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU07Z0JBQ25DLE9BQU8sS0FBSyxDQUFDO1lBRWpCLEtBQUssQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDO2dCQUN0QixJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQUUsT0FBTyxLQUFLLENBQUM7WUFFM0UsS0FBSyxDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsR0FBRztnQkFDekIsR0FBRyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDZCxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUFFLE9BQU8sS0FBSyxDQUFDO2FBQy9EO1lBRUQsT0FBTyxJQUFJLENBQUM7U0FDZjtRQUVELE9BQU8sSUFBSSxLQUFLLElBQUksSUFBSSxJQUFJLEtBQUssSUFBSSxDQUFDO0lBQzFDLENBQUM7SUFFTSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsSUFBUyxFQUFFLEtBQVU7UUFDaEQsSUFBSSxJQUFJLElBQUksS0FBSyxFQUFFO1lBQ2YsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUN4QixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUN0QjtpQkFDSSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUU7Z0JBQy9CLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ3RCO2lCQUNJO2dCQUNELElBQUksTUFBTSxHQUFhLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3hDLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQztnQkFDakIsS0FBSSxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxFQUFFLENBQUMsRUFBRTtvQkFDOUMsSUFBSSxLQUFLLElBQUksSUFBSSxFQUFFO3dCQUNmLE9BQU8sSUFBSSxDQUFDO3FCQUNmO29CQUNELEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQzVCO2dCQUNELE9BQU8sS0FBSyxDQUFDO2FBQ2hCO1NBQ0o7YUFDSTtZQUNELE9BQU8sSUFBSSxDQUFDO1NBQ2Y7SUFDTCxDQUFDO0lBRU0sTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFRO1FBQzdCLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxXQUFXLElBQUksR0FBRyxDQUFDLElBQUksSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVNLE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBWSxFQUFFLElBQVksRUFBRSxFQUFVO1FBQzdELElBQUksTUFBYyxDQUFDO1FBQ25CLElBQUksS0FBSyxJQUFJLElBQUksS0FBSyxFQUFFLEVBQUU7WUFDdEIsSUFBSSxFQUFFLElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRTtnQkFDcEIsRUFBRSxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUM7Z0JBQ25CLElBQUksSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDO2FBQ3hCO1lBQ0QsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDakQ7SUFDTCxDQUFDO0lBRU0sTUFBTSxDQUFDLHNCQUFzQixDQUFDLElBQVMsRUFBRSxLQUFhLEVBQUUsR0FBVSxFQUFFLFNBQWdCO1FBQ3ZGLElBQUksR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDaEIsSUFBSSxRQUFRLEdBQUcsS0FBSyxDQUFDO1lBQ3JCLEtBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUNoQyxJQUFJLGdCQUFnQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO2dCQUMvRCxJQUFJLGdCQUFnQixHQUFHLEtBQUssRUFBRTtvQkFDMUIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO29CQUN2QixRQUFRLEdBQUcsSUFBSSxDQUFDO29CQUNoQixNQUFNO2lCQUNUO2FBQ0o7WUFFRCxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNYLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDbEI7U0FDSjthQUNJO1lBQ0QsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNsQjtJQUNMLENBQUM7SUFFTSxNQUFNLENBQUMsZUFBZSxDQUFDLElBQVMsRUFBRSxJQUFTO1FBQzlDLElBQUksS0FBSyxHQUFXLENBQUMsQ0FBQyxDQUFDO1FBRXZCLElBQUksSUFBSSxFQUFFO1lBQ04sS0FBSSxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQ2pDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksRUFBRTtvQkFDakIsS0FBSyxHQUFHLENBQUMsQ0FBQztvQkFDVixNQUFNO2lCQUNUO2FBQ0o7U0FDSjtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFFTSxNQUFNLENBQUMsYUFBYSxDQUFDLEdBQUc7UUFDM0IsSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRTtZQUN4QyxHQUFHLEdBQUcsR0FBRztpQkFDQSxPQUFPLENBQUMsY0FBYyxFQUFFLEdBQUcsQ0FBQztpQkFDNUIsT0FBTyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUM7aUJBQ3hCLE9BQU8sQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDO2lCQUN2QixPQUFPLENBQUMsY0FBYyxFQUFFLEdBQUcsQ0FBQztpQkFDNUIsT0FBTyxDQUFDLGNBQWMsRUFBRSxHQUFHLENBQUM7aUJBQzVCLE9BQU8sQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDO2lCQUN2QixPQUFPLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQztpQkFDdkIsT0FBTyxDQUFDLGtCQUFrQixFQUFFLEdBQUcsQ0FBQztpQkFDaEMsT0FBTyxDQUFDLGNBQWMsRUFBRSxHQUFHLENBQUM7aUJBQzVCLE9BQU8sQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDO2lCQUN2QixPQUFPLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQztpQkFDdkIsT0FBTyxDQUFDLGNBQWMsRUFBRSxHQUFHLENBQUM7aUJBQzVCLE9BQU8sQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDO2lCQUN4QixPQUFPLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQztpQkFDdkIsT0FBTyxDQUFDLGNBQWMsRUFBRSxHQUFHLENBQUM7aUJBQzVCLE9BQU8sQ0FBQyxjQUFjLEVBQUUsR0FBRyxDQUFDO2lCQUM1QixPQUFPLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQztpQkFDdkIsT0FBTyxDQUFDLGtCQUFrQixFQUFFLEdBQUcsQ0FBQztpQkFDaEMsT0FBTyxDQUFDLGNBQWMsRUFBRSxHQUFHLENBQUM7aUJBQzVCLE9BQU8sQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDO2lCQUN2QixPQUFPLENBQUMsYUFBYSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1NBQ3hDO1FBRUQsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0NBQ04iLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgT2JqZWN0VXRpbHMge1xuXG4gICAgcHVibGljIHN0YXRpYyBlcXVhbHMob2JqMTogYW55LCBvYmoyOiBhbnksIGZpZWxkPzogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGlmIChmaWVsZClcbiAgICAgICAgICAgIHJldHVybiAodGhpcy5yZXNvbHZlRmllbGREYXRhKG9iajEsIGZpZWxkKSA9PT0gdGhpcy5yZXNvbHZlRmllbGREYXRhKG9iajIsIGZpZWxkKSk7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmVxdWFsc0J5VmFsdWUob2JqMSwgb2JqMik7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBlcXVhbHNCeVZhbHVlKG9iajE6IGFueSwgb2JqMjogYW55KTogYm9vbGVhbiB7XG4gICAgICAgIGlmIChvYmoxID09PSBvYmoyKSByZXR1cm4gdHJ1ZTtcblxuICAgICAgICBpZiAob2JqMSAmJiBvYmoyICYmIHR5cGVvZiBvYmoxID09ICdvYmplY3QnICYmIHR5cGVvZiBvYmoyID09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICB2YXIgYXJyQSA9IEFycmF5LmlzQXJyYXkob2JqMSlcbiAgICAgICAgICAgICAgICAsIGFyckIgPSBBcnJheS5pc0FycmF5KG9iajIpXG4gICAgICAgICAgICAgICAgLCBpXG4gICAgICAgICAgICAgICAgLCBsZW5ndGhcbiAgICAgICAgICAgICAgICAsIGtleTtcblxuICAgICAgICAgICAgaWYgKGFyckEgJiYgYXJyQikge1xuICAgICAgICAgICAgICAgIGxlbmd0aCA9IG9iajEubGVuZ3RoO1xuICAgICAgICAgICAgICAgIGlmIChsZW5ndGggIT0gb2JqMi5sZW5ndGgpIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICBmb3IgKGkgPSBsZW5ndGg7IGktLSAhPT0gMDspXG4gICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5lcXVhbHNCeVZhbHVlKG9iajFbaV0sIG9iajJbaV0pKSByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChhcnJBICE9IGFyckIpIHJldHVybiBmYWxzZTtcblxuICAgICAgICAgICAgdmFyIGRhdGVBID0gb2JqMSBpbnN0YW5jZW9mIERhdGVcbiAgICAgICAgICAgICAgICAsIGRhdGVCID0gb2JqMiBpbnN0YW5jZW9mIERhdGU7XG4gICAgICAgICAgICBpZiAoZGF0ZUEgIT0gZGF0ZUIpIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIGlmIChkYXRlQSAmJiBkYXRlQikgcmV0dXJuIG9iajEuZ2V0VGltZSgpID09IG9iajIuZ2V0VGltZSgpO1xuXG4gICAgICAgICAgICB2YXIgcmVnZXhwQSA9IG9iajEgaW5zdGFuY2VvZiBSZWdFeHBcbiAgICAgICAgICAgICAgICAsIHJlZ2V4cEIgPSBvYmoyIGluc3RhbmNlb2YgUmVnRXhwO1xuICAgICAgICAgICAgaWYgKHJlZ2V4cEEgIT0gcmVnZXhwQikgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgaWYgKHJlZ2V4cEEgJiYgcmVnZXhwQikgcmV0dXJuIG9iajEudG9TdHJpbmcoKSA9PSBvYmoyLnRvU3RyaW5nKCk7XG5cbiAgICAgICAgICAgIHZhciBrZXlzID0gT2JqZWN0LmtleXMob2JqMSk7XG4gICAgICAgICAgICBsZW5ndGggPSBrZXlzLmxlbmd0aDtcblxuICAgICAgICAgICAgaWYgKGxlbmd0aCAhPT0gT2JqZWN0LmtleXMob2JqMikubGVuZ3RoKVxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcblxuICAgICAgICAgICAgZm9yIChpID0gbGVuZ3RoOyBpLS0gIT09IDA7KVxuICAgICAgICAgICAgICAgIGlmICghT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iajIsIGtleXNbaV0pKSByZXR1cm4gZmFsc2U7XG5cbiAgICAgICAgICAgIGZvciAoaSA9IGxlbmd0aDsgaS0tICE9PSAwOykge1xuICAgICAgICAgICAgICAgIGtleSA9IGtleXNbaV07XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLmVxdWFsc0J5VmFsdWUob2JqMVtrZXldLCBvYmoyW2tleV0pKSByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG9iajEgIT09IG9iajEgJiYgb2JqMiAhPT0gb2JqMjtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIHJlc29sdmVGaWVsZERhdGEoZGF0YTogYW55LCBmaWVsZDogYW55KTogYW55IHtcbiAgICAgICAgaWYgKGRhdGEgJiYgZmllbGQpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzRnVuY3Rpb24oZmllbGQpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZpZWxkKGRhdGEpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoZmllbGQuaW5kZXhPZignLicpID09IC0xKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGRhdGFbZmllbGRdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgbGV0IGZpZWxkczogc3RyaW5nW10gPSBmaWVsZC5zcGxpdCgnLicpO1xuICAgICAgICAgICAgICAgIGxldCB2YWx1ZSA9IGRhdGE7XG4gICAgICAgICAgICAgICAgZm9yKGxldCBpID0gMCwgbGVuID0gZmllbGRzLmxlbmd0aDsgaSA8IGxlbjsgKytpKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh2YWx1ZSA9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9IHZhbHVlW2ZpZWxkc1tpXV07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBpc0Z1bmN0aW9uKG9iajogYW55KSB7XG4gICAgICAgIHJldHVybiAhIShvYmogJiYgb2JqLmNvbnN0cnVjdG9yICYmIG9iai5jYWxsICYmIG9iai5hcHBseSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyByZW9yZGVyQXJyYXkodmFsdWU6IGFueVtdLCBmcm9tOiBudW1iZXIsIHRvOiBudW1iZXIpIHtcbiAgICAgICAgbGV0IHRhcmdldDogbnVtYmVyO1xuICAgICAgICBpZiAodmFsdWUgJiYgZnJvbSAhPT0gdG8pIHtcbiAgICAgICAgICAgIGlmICh0byA+PSB2YWx1ZS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICB0byAlPSB2YWx1ZS5sZW5ndGg7XG4gICAgICAgICAgICAgICAgZnJvbSAlPSB2YWx1ZS5sZW5ndGg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2YWx1ZS5zcGxpY2UodG8sIDAsIHZhbHVlLnNwbGljZShmcm9tLCAxKVswXSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGluc2VydEludG9PcmRlcmVkQXJyYXkoaXRlbTogYW55LCBpbmRleDogbnVtYmVyLCBhcnI6IGFueVtdLCBzb3VyY2VBcnI6IGFueVtdKTogdm9pZCB7XG4gICAgICAgIGlmIChhcnIubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgbGV0IGluamVjdGVkID0gZmFsc2U7XG4gICAgICAgICAgICBmb3IobGV0IGkgPSAwOyBpIDwgYXJyLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgbGV0IGN1cnJlbnRJdGVtSW5kZXggPSB0aGlzLmZpbmRJbmRleEluTGlzdChhcnJbaV0sIHNvdXJjZUFycik7XG4gICAgICAgICAgICAgICAgaWYgKGN1cnJlbnRJdGVtSW5kZXggPiBpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICBhcnIuc3BsaWNlKGksIDAsIGl0ZW0pO1xuICAgICAgICAgICAgICAgICAgICBpbmplY3RlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKCFpbmplY3RlZCkge1xuICAgICAgICAgICAgICAgIGFyci5wdXNoKGl0ZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgYXJyLnB1c2goaXRlbSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGZpbmRJbmRleEluTGlzdChpdGVtOiBhbnksIGxpc3Q6IGFueSk6IG51bWJlciB7XG4gICAgICAgIGxldCBpbmRleDogbnVtYmVyID0gLTE7XG5cbiAgICAgICAgaWYgKGxpc3QpIHtcbiAgICAgICAgICAgIGZvcihsZXQgaSA9IDA7IGkgPCBsaXN0Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgaWYgKGxpc3RbaV0gPT0gaXRlbSkge1xuICAgICAgICAgICAgICAgICAgICBpbmRleCA9IGk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBpbmRleDtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIHJlbW92ZUFjY2VudHMoc3RyKSB7XG4gICAgICAgIGlmIChzdHIgJiYgc3RyLnNlYXJjaCgvW1xceEMwLVxceEZGXS9nKSA+IC0xKSB7XG4gICAgICAgICAgICBzdHIgPSBzdHJcbiAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoL1tcXHhDMC1cXHhDNV0vZywgXCJBXCIpXG4gICAgICAgICAgICAgICAgICAgIC5yZXBsYWNlKC9bXFx4QzZdL2csIFwiQUVcIilcbiAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoL1tcXHhDN10vZywgXCJDXCIpXG4gICAgICAgICAgICAgICAgICAgIC5yZXBsYWNlKC9bXFx4QzgtXFx4Q0JdL2csIFwiRVwiKVxuICAgICAgICAgICAgICAgICAgICAucmVwbGFjZSgvW1xceENDLVxceENGXS9nLCBcIklcIilcbiAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoL1tcXHhEMF0vZywgXCJEXCIpXG4gICAgICAgICAgICAgICAgICAgIC5yZXBsYWNlKC9bXFx4RDFdL2csIFwiTlwiKVxuICAgICAgICAgICAgICAgICAgICAucmVwbGFjZSgvW1xceEQyLVxceEQ2XFx4RDhdL2csIFwiT1wiKVxuICAgICAgICAgICAgICAgICAgICAucmVwbGFjZSgvW1xceEQ5LVxceERDXS9nLCBcIlVcIilcbiAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoL1tcXHhERF0vZywgXCJZXCIpXG4gICAgICAgICAgICAgICAgICAgIC5yZXBsYWNlKC9bXFx4REVdL2csIFwiUFwiKVxuICAgICAgICAgICAgICAgICAgICAucmVwbGFjZSgvW1xceEUwLVxceEU1XS9nLCBcImFcIilcbiAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoL1tcXHhFNl0vZywgXCJhZVwiKVxuICAgICAgICAgICAgICAgICAgICAucmVwbGFjZSgvW1xceEU3XS9nLCBcImNcIilcbiAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoL1tcXHhFOC1cXHhFQl0vZywgXCJlXCIpXG4gICAgICAgICAgICAgICAgICAgIC5yZXBsYWNlKC9bXFx4RUMtXFx4RUZdL2csIFwiaVwiKVxuICAgICAgICAgICAgICAgICAgICAucmVwbGFjZSgvW1xceEYxXS9nLCBcIm5cIilcbiAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoL1tcXHhGMi1cXHhGNlxceEY4XS9nLCBcIm9cIilcbiAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoL1tcXHhGOS1cXHhGQ10vZywgXCJ1XCIpXG4gICAgICAgICAgICAgICAgICAgIC5yZXBsYWNlKC9bXFx4RkVdL2csIFwicFwiKVxuICAgICAgICAgICAgICAgICAgICAucmVwbGFjZSgvW1xceEZEXFx4RkZdL2csIFwieVwiKTtcbiAgICAgICAgfVxuICAgICAgXG4gICAgICAgIHJldHVybiBzdHI7XG4gICAgICB9XG59XG4iXX0=
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0dXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvdXRpbHMvb2JqZWN0dXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFdBQVc7SUFFYixNQUFNLENBQUMsTUFBTSxDQUFDLElBQVMsRUFBRSxJQUFTLEVBQUUsS0FBYztRQUNyRCxJQUFJLEtBQUs7WUFDTCxPQUFPLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsS0FBSyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7O1lBRW5GLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBUyxFQUFFLElBQVM7UUFDNUMsSUFBSSxJQUFJLEtBQUssSUFBSTtZQUFFLE9BQU8sSUFBSSxDQUFDO1FBRS9CLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxPQUFPLElBQUksSUFBSSxRQUFRLElBQUksT0FBTyxJQUFJLElBQUksUUFBUSxFQUFFO1lBQ3BFLElBQUksSUFBSSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQ3hCLElBQUksR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUMxQixDQUFDLEVBQ0QsTUFBTSxFQUNOLEdBQUcsQ0FBQztZQUVWLElBQUksSUFBSSxJQUFJLElBQUksRUFBRTtnQkFDZCxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztnQkFDckIsSUFBSSxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU07b0JBQUUsT0FBTyxLQUFLLENBQUM7Z0JBQ3hDLEtBQUssQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDO29CQUN0QixJQUFJLENBQUMs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dFV0aWxzIHtcblxuICAgIHB1YmxpYyBzdGF0aWMgZXF1YWxzKG9iajE6IGFueSwgb2JqMjogYW55LCBmaWVsZD86IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoZmllbGQpXG4gICAgICAgICAgICByZXR1cm4gKHRoaXMucmVzb2x2ZUZpZWxkRGF0YShvYmoxLCBmaWVsZCkgPT09IHRoaXMucmVzb2x2ZUZpZWxkRGF0YShvYmoyLCBmaWVsZCkpO1xuICAgICAgICBlbHNlXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5lcXVhbHNCeVZhbHVlKG9iajEsIG9iajIpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZXF1YWxzQnlWYWx1ZShvYmoxOiBhbnksIG9iajI6IGFueSk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAob2JqMSA9PT0gb2JqMikgcmV0dXJuIHRydWU7XG5cbiAgICAgICAgaWYgKG9iajEgJiYgb2JqMiAmJiB0eXBlb2Ygb2JqMSA9PSAnb2JqZWN0JyAmJiB0eXBlb2Ygb2JqMiA9PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgdmFyIGFyckEgPSBBcnJheS5pc0FycmF5KG9iajEpXG4gICAgICAgICAgICAgICAgLCBhcnJCID0gQXJyYXkuaXNBcnJheShvYmoyKVxuICAgICAgICAgICAgICAgICwgaVxuICAgICAgICAgICAgICAgICwgbGVuZ3RoXG4gICAgICAgICAgICAgICAgLCBrZXk7XG5cbiAgICAgICAgICAgIGlmIChhcnJBICYmIGFyckIpIHtcbiAgICAgICAgICAgICAgICBsZW5ndGggPSBvYmoxLmxlbmd0aDtcbiAgICAgICAgICAgICAgICBpZiAobGVuZ3RoICE9IG9iajIubGVuZ3RoKSByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgZm9yIChpID0gbGVuZ3RoOyBpLS0gIT09IDA7KVxuICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuZXF1YWxzQnlWYWx1ZShvYmoxW2ldLCBvYmoyW2ldKSkgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoYXJyQSAhPSBhcnJCKSByZXR1cm4gZmFsc2U7XG5cbiAgICAgICAgICAgIHZhciBkYXRlQSA9IG9iajEgaW5zdGFuY2VvZiBEYXRlXG4gICAgICAgICAgICAgICAgLCBkYXRlQiA9IG9iajIgaW5zdGFuY2VvZiBEYXRlO1xuICAgICAgICAgICAgaWYgKGRhdGVBICE9IGRhdGVCKSByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICBpZiAoZGF0ZUEgJiYgZGF0ZUIpIHJldHVybiBvYmoxLmdldFRpbWUoKSA9PSBvYmoyLmdldFRpbWUoKTtcblxuICAgICAgICAgICAgdmFyIHJlZ2V4cEEgPSBvYmoxIGluc3RhbmNlb2YgUmVnRXhwXG4gICAgICAgICAgICAgICAgLCByZWdleHBCID0gb2JqMiBpbnN0YW5jZW9mIFJlZ0V4cDtcbiAgICAgICAgICAgIGlmIChyZWdleHBBICE9IHJlZ2V4cEIpIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIGlmIChyZWdleHBBICYmIHJlZ2V4cEIpIHJldHVybiBvYmoxLnRvU3RyaW5nKCkgPT0gb2JqMi50b1N0cmluZygpO1xuXG4gICAgICAgICAgICB2YXIga2V5cyA9IE9iamVjdC5rZXlzKG9iajEpO1xuICAgICAgICAgICAgbGVuZ3RoID0ga2V5cy5sZW5ndGg7XG5cbiAgICAgICAgICAgIGlmIChsZW5ndGggIT09IE9iamVjdC5rZXlzKG9iajIpLmxlbmd0aClcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG5cbiAgICAgICAgICAgIGZvciAoaSA9IGxlbmd0aDsgaS0tICE9PSAwOylcbiAgICAgICAgICAgICAgICBpZiAoIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmoyLCBrZXlzW2ldKSkgcmV0dXJuIGZhbHNlO1xuXG4gICAgICAgICAgICBmb3IgKGkgPSBsZW5ndGg7IGktLSAhPT0gMDspIHtcbiAgICAgICAgICAgICAgICBrZXkgPSBrZXlzW2ldO1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5lcXVhbHNCeVZhbHVlKG9iajFba2V5XSwgb2JqMltrZXldKSkgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBvYmoxICE9PSBvYmoxICYmIG9iajIgIT09IG9iajI7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyByZXNvbHZlRmllbGREYXRhKGRhdGE6IGFueSwgZmllbGQ6IGFueSk6IGFueSB7XG4gICAgICAgIGlmIChkYXRhICYmIGZpZWxkKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5pc0Z1bmN0aW9uKGZpZWxkKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmaWVsZChkYXRhKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGZpZWxkLmluZGV4T2YoJy4nKSA9PSAtMSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBkYXRhW2ZpZWxkXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGxldCBmaWVsZHM6IHN0cmluZ1tdID0gZmllbGQuc3BsaXQoJy4nKTtcbiAgICAgICAgICAgICAgICBsZXQgdmFsdWUgPSBkYXRhO1xuICAgICAgICAgICAgICAgIGZvcihsZXQgaSA9IDAsIGxlbiA9IGZpZWxkcy5sZW5ndGg7IGkgPCBsZW47ICsraSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAodmFsdWUgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZVtmaWVsZHNbaV1dO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgaXNGdW5jdGlvbihvYmo6IGFueSkge1xuICAgICAgICByZXR1cm4gISEob2JqICYmIG9iai5jb25zdHJ1Y3RvciAmJiBvYmouY2FsbCAmJiBvYmouYXBwbHkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgcmVvcmRlckFycmF5KHZhbHVlOiBhbnlbXSwgZnJvbTogbnVtYmVyLCB0bzogbnVtYmVyKSB7XG4gICAgICAgIGxldCB0YXJnZXQ6IG51bWJlcjtcbiAgICAgICAgaWYgKHZhbHVlICYmIGZyb20gIT09IHRvKSB7XG4gICAgICAgICAgICBpZiAodG8gPj0gdmFsdWUubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgdG8gJT0gdmFsdWUubGVuZ3RoO1xuICAgICAgICAgICAgICAgIGZyb20gJT0gdmFsdWUubGVuZ3RoO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdmFsdWUuc3BsaWNlKHRvLCAwLCB2YWx1ZS5zcGxpY2UoZnJvbSwgMSlbMF0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBpbnNlcnRJbnRvT3JkZXJlZEFycmF5KGl0ZW06IGFueSwgaW5kZXg6IG51bWJlciwgYXJyOiBhbnlbXSwgc291cmNlQXJyOiBhbnlbXSk6IHZvaWQge1xuICAgICAgICBpZiAoYXJyLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGxldCBpbmplY3RlZCA9IGZhbHNlO1xuICAgICAgICAgICAgZm9yKGxldCBpID0gMDsgaSA8IGFyci5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgIGxldCBjdXJyZW50SXRlbUluZGV4ID0gdGhpcy5maW5kSW5kZXhJbkxpc3QoYXJyW2ldLCBzb3VyY2VBcnIpO1xuICAgICAgICAgICAgICAgIGlmIChjdXJyZW50SXRlbUluZGV4ID4gaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgYXJyLnNwbGljZShpLCAwLCBpdGVtKTtcbiAgICAgICAgICAgICAgICAgICAgaW5qZWN0ZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICghaW5qZWN0ZWQpIHtcbiAgICAgICAgICAgICAgICBhcnIucHVzaChpdGVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGFyci5wdXNoKGl0ZW0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBmaW5kSW5kZXhJbkxpc3QoaXRlbTogYW55LCBsaXN0OiBhbnkpOiBudW1iZXIge1xuICAgICAgICBsZXQgaW5kZXg6IG51bWJlciA9IC0xO1xuXG4gICAgICAgIGlmIChsaXN0KSB7XG4gICAgICAgICAgICBmb3IobGV0IGkgPSAwOyBpIDwgbGlzdC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgIGlmIChsaXN0W2ldID09IGl0ZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgaW5kZXggPSBpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gaW5kZXg7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBjb250YWlucyh2YWx1ZSwgbGlzdCkge1xuICAgICAgICBpZiAodmFsdWUgIT0gbnVsbCAmJiBsaXN0ICYmIGxpc3QubGVuZ3RoKSB7XG4gICAgICAgICAgICBmb3IgKGxldCB2YWwgb2YgbGlzdCkge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmVxdWFscyh2YWx1ZSwgdmFsKSlcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyByZW1vdmVBY2NlbnRzKHN0cikge1xuICAgICAgICBpZiAoc3RyICYmIHN0ci5zZWFyY2goL1tcXHhDMC1cXHhGRl0vZykgPiAtMSkge1xuICAgICAgICAgICAgc3RyID0gc3RyXG4gICAgICAgICAgICAgICAgICAgIC5yZXBsYWNlKC9bXFx4QzAtXFx4QzVdL2csIFwiQVwiKVxuICAgICAgICAgICAgICAgICAgICAucmVwbGFjZSgvW1xceEM2XS9nLCBcIkFFXCIpXG4gICAgICAgICAgICAgICAgICAgIC5yZXBsYWNlKC9bXFx4QzddL2csIFwiQ1wiKVxuICAgICAgICAgICAgICAgICAgICAucmVwbGFjZSgvW1xceEM4LVxceENCXS9nLCBcIkVcIilcbiAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoL1tcXHhDQy1cXHhDRl0vZywgXCJJXCIpXG4gICAgICAgICAgICAgICAgICAgIC5yZXBsYWNlKC9bXFx4RDBdL2csIFwiRFwiKVxuICAgICAgICAgICAgICAgICAgICAucmVwbGFjZSgvW1xceEQxXS9nLCBcIk5cIilcbiAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoL1tcXHhEMi1cXHhENlxceEQ4XS9nLCBcIk9cIilcbiAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoL1tcXHhEOS1cXHhEQ10vZywgXCJVXCIpXG4gICAgICAgICAgICAgICAgICAgIC5yZXBsYWNlKC9bXFx4RERdL2csIFwiWVwiKVxuICAgICAgICAgICAgICAgICAgICAucmVwbGFjZSgvW1xceERFXS9nLCBcIlBcIilcbiAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoL1tcXHhFMC1cXHhFNV0vZywgXCJhXCIpXG4gICAgICAgICAgICAgICAgICAgIC5yZXBsYWNlKC9bXFx4RTZdL2csIFwiYWVcIilcbiAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoL1tcXHhFN10vZywgXCJjXCIpXG4gICAgICAgICAgICAgICAgICAgIC5yZXBsYWNlKC9bXFx4RTgtXFx4RUJdL2csIFwiZVwiKVxuICAgICAgICAgICAgICAgICAgICAucmVwbGFjZSgvW1xceEVDLVxceEVGXS9nLCBcImlcIilcbiAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoL1tcXHhGMV0vZywgXCJuXCIpXG4gICAgICAgICAgICAgICAgICAgIC5yZXBsYWNlKC9bXFx4RjItXFx4RjZcXHhGOF0vZywgXCJvXCIpXG4gICAgICAgICAgICAgICAgICAgIC5yZXBsYWNlKC9bXFx4RjktXFx4RkNdL2csIFwidVwiKVxuICAgICAgICAgICAgICAgICAgICAucmVwbGFjZSgvW1xceEZFXS9nLCBcInBcIilcbiAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoL1tcXHhGRFxceEZGXS9nLCBcInlcIik7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gc3RyO1xuICAgICAgfVxufVxuIl19
@@ -650,7 +650,7 @@ class AutoComplete {
650
650
  }
651
651
  }
652
652
  AutoComplete.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: AutoComplete, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i0.IterableDiffers }, { token: i1.PrimeNGConfig }, { token: i1.OverlayService }], target: i0.ɵɵFactoryTarget.Component });
653
- AutoComplete.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: AutoComplete, selector: "p-autoComplete", inputs: { minLength: "minLength", delay: "delay", style: "style", panelStyle: "panelStyle", styleClass: "styleClass", panelStyleClass: "panelStyleClass", inputStyle: "inputStyle", inputId: "inputId", inputStyleClass: "inputStyleClass", placeholder: "placeholder", readonly: "readonly", disabled: "disabled", virtualScroll: "virtualScroll", itemSize: "itemSize", maxlength: "maxlength", name: "name", required: "required", size: "size", appendTo: "appendTo", autoHighlight: "autoHighlight", forceSelection: "forceSelection", type: "type", autoZIndex: "autoZIndex", baseZIndex: "baseZIndex", ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", dropdownIcon: "dropdownIcon", unique: "unique", group: "group", completeOnFocus: "completeOnFocus", field: "field", scrollHeight: "scrollHeight", dropdown: "dropdown", showEmptyMessage: "showEmptyMessage", dropdownMode: "dropdownMode", multiple: "multiple", tabindex: "tabindex", dataKey: "dataKey", emptyMessage: "emptyMessage", showTransitionOptions: "showTransitionOptions", hideTransitionOptions: "hideTransitionOptions", autofocus: "autofocus", autocomplete: "autocomplete", optionGroupChildren: "optionGroupChildren", optionGroupLabel: "optionGroupLabel", suggestions: "suggestions" }, outputs: { completeMethod: "completeMethod", onSelect: "onSelect", onUnselect: "onUnselect", onFocus: "onFocus", onBlur: "onBlur", onDropdownClick: "onDropdownClick", onClear: "onClear", onKeyUp: "onKeyUp", onShow: "onShow", onHide: "onHide" }, host: { properties: { "class.p-inputwrapper-filled": "filled", "class.p-inputwrapper-focus": "(focus && !disabled) ||\u00A0overlayVisible" }, classAttribute: "p-element p-inputwrapper" }, providers: [AUTOCOMPLETE_VALUE_ACCESSOR], queries: [{ propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "containerEL", first: true, predicate: ["container"], descendants: true }, { propertyName: "inputEL", first: true, predicate: ["in"], descendants: true }, { propertyName: "multiInputEL", first: true, predicate: ["multiIn"], descendants: true }, { propertyName: "multiContainerEL", first: true, predicate: ["multiContainer"], descendants: true }, { propertyName: "dropdownButton", first: true, predicate: ["ddBtn"], descendants: true }, { propertyName: "viewPort", first: true, predicate: CdkVirtualScrollViewport, descendants: true }], ngImport: i0, template: `
653
+ AutoComplete.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: AutoComplete, selector: "p-autoComplete", inputs: { minLength: "minLength", delay: "delay", style: "style", panelStyle: "panelStyle", styleClass: "styleClass", panelStyleClass: "panelStyleClass", inputStyle: "inputStyle", inputId: "inputId", inputStyleClass: "inputStyleClass", placeholder: "placeholder", readonly: "readonly", disabled: "disabled", virtualScroll: "virtualScroll", itemSize: "itemSize", maxlength: "maxlength", name: "name", required: "required", size: "size", appendTo: "appendTo", autoHighlight: "autoHighlight", forceSelection: "forceSelection", type: "type", autoZIndex: "autoZIndex", baseZIndex: "baseZIndex", ariaLabel: "ariaLabel", dropdownAriaLabel: "dropdownAriaLabel", ariaLabelledBy: "ariaLabelledBy", dropdownIcon: "dropdownIcon", unique: "unique", group: "group", completeOnFocus: "completeOnFocus", field: "field", scrollHeight: "scrollHeight", dropdown: "dropdown", showEmptyMessage: "showEmptyMessage", dropdownMode: "dropdownMode", multiple: "multiple", tabindex: "tabindex", dataKey: "dataKey", emptyMessage: "emptyMessage", showTransitionOptions: "showTransitionOptions", hideTransitionOptions: "hideTransitionOptions", autofocus: "autofocus", autocomplete: "autocomplete", optionGroupChildren: "optionGroupChildren", optionGroupLabel: "optionGroupLabel", suggestions: "suggestions" }, outputs: { completeMethod: "completeMethod", onSelect: "onSelect", onUnselect: "onUnselect", onFocus: "onFocus", onBlur: "onBlur", onDropdownClick: "onDropdownClick", onClear: "onClear", onKeyUp: "onKeyUp", onShow: "onShow", onHide: "onHide" }, host: { properties: { "class.p-inputwrapper-filled": "filled", "class.p-inputwrapper-focus": "(focus && !disabled) ||\u00A0overlayVisible" }, classAttribute: "p-element p-inputwrapper" }, providers: [AUTOCOMPLETE_VALUE_ACCESSOR], queries: [{ propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "containerEL", first: true, predicate: ["container"], descendants: true }, { propertyName: "inputEL", first: true, predicate: ["in"], descendants: true }, { propertyName: "multiInputEL", first: true, predicate: ["multiIn"], descendants: true }, { propertyName: "multiContainerEL", first: true, predicate: ["multiContainer"], descendants: true }, { propertyName: "dropdownButton", first: true, predicate: ["ddBtn"], descendants: true }, { propertyName: "viewPort", first: true, predicate: CdkVirtualScrollViewport, descendants: true }], ngImport: i0, template: `
654
654
  <span #container [ngClass]="{'p-autocomplete p-component':true,'p-autocomplete-dd':dropdown,'p-autocomplete-multiple':multiple}" [ngStyle]="style" [class]="styleClass">
655
655
  <input *ngIf="!multiple" #in [attr.type]="type" [attr.id]="inputId" [ngStyle]="inputStyle" [class]="inputStyleClass" [autocomplete]="autocomplete" [attr.required]="required" [attr.name]="name"
656
656
  class="p-autocomplete-input p-inputtext p-component" [ngClass]="{'p-autocomplete-dd-input':dropdown,'p-disabled': disabled}" [value]="inputFieldValue" aria-autocomplete="list" [attr.aria-controls]="listId" role="searchbox" [attr.aria-expanded]="overlayVisible" aria-haspopup="true" [attr.aria-activedescendant]="'p-highlighted-option'"
@@ -669,7 +669,7 @@ AutoComplete.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
669
669
  aria-autocomplete="list" [attr.aria-controls]="listId" role="searchbox" [attr.aria-expanded]="overlayVisible" aria-haspopup="true" [attr.aria-activedescendant]="'p-highlighted-option'">
670
670
  </li>
671
671
  </ul>
672
- <i *ngIf="loading" class="p-autocomplete-loader pi pi-spinner pi-spin"></i><button #ddBtn type="button" pButton [icon]="dropdownIcon" class="p-autocomplete-dropdown" [disabled]="disabled" pRipple
672
+ <i *ngIf="loading" class="p-autocomplete-loader pi pi-spinner pi-spin"></i><button #ddBtn type="button" pButton [icon]="dropdownIcon" [attr.aria-label]="dropdownAriaLabel" class="p-autocomplete-dropdown" [disabled]="disabled" pRipple
673
673
  (click)="handleDropdownClick($event)" *ngIf="dropdown" [attr.tabindex]="tabindex"></button>
674
674
  <div #panel *ngIf="overlayVisible" (click)="onOverlayClick($event)" [ngClass]="['p-autocomplete-panel p-component']" [style.max-height]="virtualScroll ? 'auto' : scrollHeight" [ngStyle]="panelStyle" [class]="panelStyleClass"
675
675
  [@overlayAnimation]="{value: 'visible', params: {showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions}}" (@overlayAnimation.start)="onOverlayAnimationStart($event)" (@overlayAnimation.done)="onOverlayAnimationEnd($event)">
@@ -749,7 +749,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImpor
749
749
  aria-autocomplete="list" [attr.aria-controls]="listId" role="searchbox" [attr.aria-expanded]="overlayVisible" aria-haspopup="true" [attr.aria-activedescendant]="'p-highlighted-option'">
750
750
  </li>
751
751
  </ul>
752
- <i *ngIf="loading" class="p-autocomplete-loader pi pi-spinner pi-spin"></i><button #ddBtn type="button" pButton [icon]="dropdownIcon" class="p-autocomplete-dropdown" [disabled]="disabled" pRipple
752
+ <i *ngIf="loading" class="p-autocomplete-loader pi pi-spinner pi-spin"></i><button #ddBtn type="button" pButton [icon]="dropdownIcon" [attr.aria-label]="dropdownAriaLabel" class="p-autocomplete-dropdown" [disabled]="disabled" pRipple
753
753
  (click)="handleDropdownClick($event)" *ngIf="dropdown" [attr.tabindex]="tabindex"></button>
754
754
  <div #panel *ngIf="overlayVisible" (click)="onOverlayClick($event)" [ngClass]="['p-autocomplete-panel p-component']" [style.max-height]="virtualScroll ? 'auto' : scrollHeight" [ngStyle]="panelStyle" [class]="panelStyleClass"
755
755
  [@overlayAnimation]="{value: 'visible', params: {showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions}}" (@overlayAnimation.start)="onOverlayAnimationStart($event)" (@overlayAnimation.done)="onOverlayAnimationEnd($event)">
@@ -867,6 +867,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImpor
867
867
  type: Input
868
868
  }], ariaLabel: [{
869
869
  type: Input
870
+ }], dropdownAriaLabel: [{
871
+ type: Input
870
872
  }], ariaLabelledBy: [{
871
873
  type: Input
872
874
  }], dropdownIcon: [{
@@ -1 +1 @@
1
- {"version":3,"file":"primeng-autocomplete.js","sources":["../../src/app/components/autocomplete/autocomplete.ts","../../src/app/components/autocomplete/primeng-autocomplete.ts"],"sourcesContent":["import {NgModule,Component,ViewChild,ElementRef,AfterViewChecked,AfterContentInit,OnDestroy,Input,Output,EventEmitter,ContentChildren,QueryList,TemplateRef,Renderer2,forwardRef,ChangeDetectorRef,IterableDiffers,ChangeDetectionStrategy, ViewEncapsulation} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {trigger,style,transition,animate,AnimationEvent} from '@angular/animations';\nimport {InputTextModule} from 'primeng/inputtext';\nimport {ButtonModule} from 'primeng/button';\nimport {RippleModule} from 'primeng/ripple';\nimport {SharedModule,PrimeTemplate, TranslationKeys, PrimeNGConfig, OverlayService} from 'primeng/api';\nimport {DomHandler, ConnectedOverlayScrollHandler} from 'primeng/dom';\nimport {ObjectUtils, UniqueComponentId, ZIndexUtils} from 'primeng/utils';\nimport {NG_VALUE_ACCESSOR, ControlValueAccessor} from '@angular/forms';\nimport {CdkVirtualScrollViewport, ScrollingModule} from '@angular/cdk/scrolling';\n\nexport const AUTOCOMPLETE_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AutoComplete),\n multi: true\n};\n\n@Component({\n selector: 'p-autoComplete',\n template: `\n <span #container [ngClass]=\"{'p-autocomplete p-component':true,'p-autocomplete-dd':dropdown,'p-autocomplete-multiple':multiple}\" [ngStyle]=\"style\" [class]=\"styleClass\">\n <input *ngIf=\"!multiple\" #in [attr.type]=\"type\" [attr.id]=\"inputId\" [ngStyle]=\"inputStyle\" [class]=\"inputStyleClass\" [autocomplete]=\"autocomplete\" [attr.required]=\"required\" [attr.name]=\"name\"\n class=\"p-autocomplete-input p-inputtext p-component\" [ngClass]=\"{'p-autocomplete-dd-input':dropdown,'p-disabled': disabled}\" [value]=\"inputFieldValue\" aria-autocomplete=\"list\" [attr.aria-controls]=\"listId\" role=\"searchbox\" [attr.aria-expanded]=\"overlayVisible\" aria-haspopup=\"true\" [attr.aria-activedescendant]=\"'p-highlighted-option'\"\n (click)=\"onInputClick($event)\" (input)=\"onInput($event)\" (keydown)=\"onKeydown($event)\" (keyup)=\"onKeyup($event)\" [attr.autofocus]=\"autofocus\" (focus)=\"onInputFocus($event)\" (blur)=\"onInputBlur($event)\" (change)=\"onInputChange($event)\" (paste)=\"onInputPaste($event)\"\n [attr.placeholder]=\"placeholder\" [attr.size]=\"size\" [attr.maxlength]=\"maxlength\" [attr.tabindex]=\"tabindex\" [readonly]=\"readonly\" [disabled]=\"disabled\" [attr.aria-label]=\"ariaLabel\" [attr.aria-labelledby]=\"ariaLabelledBy\" [attr.aria-required]=\"required\"\n ><ul *ngIf=\"multiple\" #multiContainer class=\"p-autocomplete-multiple-container p-component p-inputtext\" [ngClass]=\"{'p-disabled':disabled,'p-focus':focus}\" (click)=\"multiIn.focus()\">\n <li #token *ngFor=\"let val of value\" class=\"p-autocomplete-token\">\n <ng-container *ngTemplateOutlet=\"selectedItemTemplate; context: {$implicit: val}\"></ng-container>\n <span *ngIf=\"!selectedItemTemplate\" class=\"p-autocomplete-token-label\">{{resolveFieldData(val)}}</span>\n <span class=\"p-autocomplete-token-icon pi pi-times-circle\" (click)=\"removeItem(token)\" *ngIf=\"!disabled && !readonly\"></span>\n </li>\n <li class=\"p-autocomplete-input-token\">\n <input #multiIn [attr.type]=\"type\" [attr.id]=\"inputId\" [disabled]=\"disabled\" [attr.placeholder]=\"(value&&value.length ? null : placeholder)\" [attr.tabindex]=\"tabindex\" [attr.maxlength]=\"maxlength\" (input)=\"onInput($event)\" (click)=\"onInputClick($event)\"\n (keydown)=\"onKeydown($event)\" [readonly]=\"readonly\" (keyup)=\"onKeyup($event)\" [attr.autofocus]=\"autofocus\" (focus)=\"onInputFocus($event)\" (blur)=\"onInputBlur($event)\" (change)=\"onInputChange($event)\" (paste)=\"onInputPaste($event)\" [autocomplete]=\"autocomplete\"\n [ngStyle]=\"inputStyle\" [class]=\"inputStyleClass\" [attr.aria-label]=\"ariaLabel\" [attr.aria-labelledby]=\"ariaLabelledBy\" [attr.aria-required]=\"required\"\n aria-autocomplete=\"list\" [attr.aria-controls]=\"listId\" role=\"searchbox\" [attr.aria-expanded]=\"overlayVisible\" aria-haspopup=\"true\" [attr.aria-activedescendant]=\"'p-highlighted-option'\">\n </li>\n </ul>\n <i *ngIf=\"loading\" class=\"p-autocomplete-loader pi pi-spinner pi-spin\"></i><button #ddBtn type=\"button\" pButton [icon]=\"dropdownIcon\" class=\"p-autocomplete-dropdown\" [disabled]=\"disabled\" pRipple\n (click)=\"handleDropdownClick($event)\" *ngIf=\"dropdown\" [attr.tabindex]=\"tabindex\"></button>\n <div #panel *ngIf=\"overlayVisible\" (click)=\"onOverlayClick($event)\" [ngClass]=\"['p-autocomplete-panel p-component']\" [style.max-height]=\"virtualScroll ? 'auto' : scrollHeight\" [ngStyle]=\"panelStyle\" [class]=\"panelStyleClass\"\n [@overlayAnimation]=\"{value: 'visible', params: {showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions}}\" (@overlayAnimation.start)=\"onOverlayAnimationStart($event)\" (@overlayAnimation.done)=\"onOverlayAnimationEnd($event)\">\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n <ul role=\"listbox\" [attr.id]=\"listId\" class=\"p-autocomplete-items\" [ngClass]=\"{'p-autocomplete-virtualscroll': virtualScroll}\">\n <ng-container *ngIf=\"group\">\n <ng-template ngFor let-optgroup [ngForOf]=\"suggestions\">\n <li class=\"p-autocomplete-item-group\">\n <span *ngIf=\"!groupTemplate\">{{getOptionGroupLabel(optgroup)||'empty'}}</span>\n <ng-container *ngTemplateOutlet=\"groupTemplate; context: {$implicit: optgroup}\"></ng-container>\n </li>\n <ng-container *ngTemplateOutlet=\"itemslist; context: {$implicit: getOptionGroupChildren(optgroup)}\"></ng-container>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"!group\">\n <ng-container *ngTemplateOutlet=\"itemslist; context: {$implicit: suggestions}\"></ng-container>\n </ng-container>\n <ng-template #itemslist let-suggestionsToDisplay>\n <ng-container *ngIf=\"!virtualScroll; else virtualScrollList\">\n <li role=\"option\" *ngFor=\"let option of suggestionsToDisplay; let idx = index\" class=\"p-autocomplete-item\" pRipple [ngClass]=\"{'p-highlight': (option === highlightOption)}\" [id]=\"highlightOption == option ? 'p-highlighted-option':''\" (click)=\"selectItem(option)\">\n <span *ngIf=\"!itemTemplate\">{{resolveFieldData(option)}}</span>\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: {$implicit: option, index: idx}\"></ng-container>\n </li>\n </ng-container>\n <ng-template #virtualScrollList>\n <cdk-virtual-scroll-viewport [ngStyle]=\"{'height': scrollHeight}\" [itemSize]=\"itemSize\" *ngIf=\"virtualScroll && !noResults\">\n <ng-container *cdkVirtualFor=\"let option of suggestionsToDisplay; let i = index; let c = count; let f = first; let l = last; let e = even; let o = odd\">\n <li role=\"option\" class=\"p-autocomplete-item\" pRipple [ngClass]=\"{'p-highlight': (option === highlightOption)}\" [ngStyle]=\"{'height': itemSize + 'px'}\" [id]=\"highlightOption == option ? 'p-highlighted-option':''\" (click)=\"selectItem(option)\">\n <span *ngIf=\"!itemTemplate\">{{resolveFieldData(option)}}</span>\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: {$implicit: option, index: i}\"></ng-container>\n </li>\n </ng-container>\n </cdk-virtual-scroll-viewport>\n </ng-template>\n <li *ngIf=\"noResults && showEmptyMessage\" class=\"p-autocomplete-empty-message\">\n <ng-container *ngIf=\"!emptyTemplate; else empty\">\n {{emptyMessageLabel}}\n </ng-container>\n <ng-container #empty *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\n </li>\n </ng-template>\n </ul>\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </div>\n </span>\n `,\n animations: [\n trigger('overlayAnimation', [\n transition(':enter', [\n style({opacity: 0, transform: 'scaleY(0.8)'}),\n animate('{{showTransitionParams}}')\n ]),\n transition(':leave', [\n animate('{{hideTransitionParams}}', style({ opacity: 0 }))\n ])\n ])\n ],\n host: {\n 'class': 'p-element p-inputwrapper',\n '[class.p-inputwrapper-filled]': 'filled',\n '[class.p-inputwrapper-focus]': '(focus && !disabled) || overlayVisible'\n },\n providers: [AUTOCOMPLETE_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./autocomplete.css']\n})\nexport class AutoComplete implements AfterViewChecked,AfterContentInit,OnDestroy,ControlValueAccessor {\n\n @Input() minLength: number = 1;\n\n @Input() delay: number = 300;\n\n @Input() style: any;\n\n @Input() panelStyle: any;\n\n @Input() styleClass: string;\n\n @Input() panelStyleClass: string;\n\n @Input() inputStyle: any;\n\n @Input() inputId: string;\n\n @Input() inputStyleClass: string;\n\n @Input() placeholder: string;\n\n @Input() readonly: boolean;\n\n @Input() disabled: boolean;\n\n @Input() virtualScroll: boolean;\n\n @Input() itemSize: number;\n\n @Input() maxlength: number;\n\n @Input() name: string;\n\n @Input() required: boolean;\n\n @Input() size: number;\n\n @Input() appendTo: any;\n\n @Input() autoHighlight: boolean;\n\n @Input() forceSelection: boolean;\n\n @Input() type: string = 'text';\n\n @Input() autoZIndex: boolean = true;\n\n @Input() baseZIndex: number = 0;\n\n @Input() ariaLabel: string;\n\n @Input() ariaLabelledBy: string;\n\n @Input() dropdownIcon: string = \"pi pi-chevron-down\";\n\n @Input() unique: boolean = true;\n\n @Input() group: boolean;\n\n @Input() completeOnFocus: boolean = false;\n\n @Output() completeMethod: EventEmitter<any> = new EventEmitter();\n\n @Output() onSelect: EventEmitter<any> = new EventEmitter();\n\n @Output() onUnselect: EventEmitter<any> = new EventEmitter();\n\n @Output() onFocus: EventEmitter<any> = new EventEmitter();\n\n @Output() onBlur: EventEmitter<any> = new EventEmitter();\n\n @Output() onDropdownClick: EventEmitter<any> = new EventEmitter();\n\n\t@Output() onClear: EventEmitter<any> = new EventEmitter();\n\n @Output() onKeyUp: EventEmitter<any> = new EventEmitter();\n\n @Output() onShow: EventEmitter<any> = new EventEmitter();\n\n @Output() onHide: EventEmitter<any> = new EventEmitter();\n\n @Input() field: string;\n\n @Input() scrollHeight: string = '200px';\n\n @Input() dropdown: boolean;\n\n @Input() showEmptyMessage: boolean;\n\n @Input() dropdownMode: string = 'blank';\n\n @Input() multiple: boolean;\n\n @Input() tabindex: number;\n\n @Input() dataKey: string;\n\n @Input() emptyMessage: string;\n\n @Input() showTransitionOptions: string = '.12s cubic-bezier(0, 0, 0.2, 1)';\n\n @Input() hideTransitionOptions: string = '.1s linear';\n\n @Input() autofocus: boolean;\n\n @Input() autocomplete: string = 'off';\n\n @Input() optionGroupChildren: string;\n\n @Input() optionGroupLabel: string;\n\n @ViewChild('container') containerEL: ElementRef;\n\n @ViewChild('in') inputEL: ElementRef;\n\n @ViewChild('multiIn') multiInputEL: ElementRef;\n\n @ViewChild('multiContainer') multiContainerEL: ElementRef;\n\n @ViewChild('ddBtn') dropdownButton: ElementRef;\n\n @ViewChild(CdkVirtualScrollViewport) viewPort: CdkVirtualScrollViewport;\n\n @ContentChildren(PrimeTemplate) templates: QueryList<any>;\n\n overlay: HTMLDivElement;\n\n itemsWrapper: HTMLDivElement;\n\n itemTemplate: TemplateRef<any>;\n\n emptyTemplate: TemplateRef<any>;\n\n headerTemplate: TemplateRef<any>;\n\n footerTemplate: TemplateRef<any>;\n\n selectedItemTemplate: TemplateRef<any>;\n\n groupTemplate: TemplateRef<any>;\n\n value: any;\n\n _suggestions: any[];\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n timeout: any;\n\n overlayVisible: boolean = false;\n\n documentClickListener: any;\n\n suggestionsUpdated: boolean;\n\n highlightOption: any;\n\n highlightOptionChanged: boolean;\n\n focus: boolean = false;\n\n filled: boolean;\n\n inputClick: boolean;\n\n inputKeyDown: boolean;\n\n noResults: boolean;\n\n differ: any;\n\n inputFieldValue: string = null;\n\n loading: boolean;\n\n scrollHandler: any;\n\n documentResizeListener: any;\n\n forceSelectionUpdateModelTimeout: any;\n\n listId: string;\n\n itemClicked: boolean;\n\n virtualScrollSelectedIndex: number;\n\n constructor(public el: ElementRef, public renderer: Renderer2, public cd: ChangeDetectorRef, public differs: IterableDiffers, public config: PrimeNGConfig, public overlayService: OverlayService) {\n this.differ = differs.find([]).create(null);\n this.listId = UniqueComponentId() + '_list';\n }\n\n @Input() get suggestions(): any[] {\n return this._suggestions;\n }\n\n set suggestions(val:any[]) {\n this._suggestions = val;\n this.handleSuggestionsChange();\n }\n\n ngAfterViewChecked() {\n //Use timeouts as since Angular 4.2, AfterViewChecked is broken and not called after panel is updated\n if (this.suggestionsUpdated && this.overlay && this.overlay.offsetParent) {\n setTimeout(() => {\n if (this.overlay) {\n this.alignOverlay();\n }\n }, 1);\n this.suggestionsUpdated = false;\n }\n\n if (this.highlightOptionChanged) {\n setTimeout(() => {\n if (this.overlay && this.itemsWrapper) {\n let listItem = DomHandler.findSingle(this.overlay, 'li.p-highlight');\n\n if (listItem) {\n DomHandler.scrollInView(this.itemsWrapper, listItem);\n }\n\n if (this.virtualScroll && this.viewPort) {\n let range = this.viewPort.getRenderedRange();\n this.updateVirtualScrollSelectedIndex();\n\n if (range.start > this.virtualScrollSelectedIndex || range.end < this.virtualScrollSelectedIndex) {\n this.viewPort.scrollToIndex(this.virtualScrollSelectedIndex);\n }\n }\n }\n }, 1);\n this.highlightOptionChanged = false;\n }\n }\n\n handleSuggestionsChange() {\n if (this._suggestions != null && this.loading) {\n this.highlightOption = null;\n if (this._suggestions.length) {\n this.noResults = false;\n this.show();\n this.suggestionsUpdated = true;\n\n if (this.autoHighlight) {\n this.highlightOption = this._suggestions[0];\n }\n }\n else {\n this.noResults = true;\n\n if (this.showEmptyMessage) {\n this.show();\n this.suggestionsUpdated = true;\n }\n else {\n this.hide();\n }\n }\n\n this.loading = false;\n }\n }\n\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch(item.getType()) {\n case 'item':\n this.itemTemplate = item.template;\n break;\n\n case 'group':\n this.groupTemplate = item.template;\n break;\n\n case 'selectedItem':\n this.selectedItemTemplate = item.template;\n break;\n\n case 'header':\n this.headerTemplate = item.template;\n break;\n\n case 'empty':\n this.emptyTemplate = item.template;\n break;\n\n case 'footer':\n this.footerTemplate = item.template;\n break;\n\n default:\n this.itemTemplate = item.template;\n break;\n }\n });\n }\n\n updateVirtualScrollSelectedIndex() {\n if (this.highlightOption && this.suggestions && this.suggestions.length) {\n this.virtualScrollSelectedIndex = this.findOptionIndex(this.highlightOption, this.suggestions);\n }\n }\n\n writeValue(value: any) : void {\n this.value = value;\n this.filled = this.value && this.value != '';\n this.updateInputField();\n this.cd.markForCheck();\n }\n\n getOptionGroupChildren(optionGroup: any) {\n return this.optionGroupChildren ? ObjectUtils.resolveFieldData(optionGroup, this.optionGroupChildren) : optionGroup.items;\n }\n\n getOptionGroupLabel(optionGroup: any) {\n return this.optionGroupLabel ? ObjectUtils.resolveFieldData(optionGroup, this.optionGroupLabel) : (optionGroup.label != undefined ? optionGroup.label : optionGroup);\n }\n\n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n\n setDisabledState(val: boolean): void {\n this.disabled = val;\n this.cd.markForCheck();\n }\n\n onInput(event: Event) {\n // When an input element with a placeholder is clicked, the onInput event is invoked in IE.\n if (!this.inputKeyDown && DomHandler.isIE()) {\n return;\n }\n\n if (this.timeout) {\n clearTimeout(this.timeout);\n }\n\n let value = (<HTMLInputElement> event.target).value;\n if (!this.multiple && !this.forceSelection) {\n this.onModelChange(value);\n }\n\n if (value.length === 0 && !this.multiple) {\n this.hide();\n this.onClear.emit(event);\n\t this.onModelChange(value);\n }\n\n if (value.length >= this.minLength) {\n this.timeout = setTimeout(() => {\n this.search(event, value);\n }, this.delay);\n }\n else {\n this.hide();\n }\n this.updateFilledState();\n this.inputKeyDown = false;\n }\n\n onInputClick(event: MouseEvent) {\n if (this.documentClickListener) {\n this.inputClick = true;\n }\n }\n\n search(event: any, query: string) {\n //allow empty string but not undefined or null\n if (query === undefined || query === null) {\n return;\n }\n\n this.loading = true;\n\n this.completeMethod.emit({\n originalEvent: event,\n query: query\n });\n }\n\n selectItem(option: any, focus: boolean = true) {\n if (this.forceSelectionUpdateModelTimeout) {\n clearTimeout(this.forceSelectionUpdateModelTimeout);\n this.forceSelectionUpdateModelTimeout = null;\n }\n\n if (this.multiple) {\n this.multiInputEL.nativeElement.value = '';\n this.value = this.value||[];\n if (!this.isSelected(option) || !this.unique) {\n this.value = [...this.value,option];\n this.onModelChange(this.value);\n }\n }\n else {\n this.inputEL.nativeElement.value = this.resolveFieldData(option);\n this.value = option;\n this.onModelChange(this.value);\n }\n\n this.onSelect.emit(option);\n this.updateFilledState();\n\n if (focus) {\n this.itemClicked = true;\n this.focusInput();\n }\n }\n\n show() {\n if (this.multiInputEL || this.inputEL) {\n let hasFocus = this.multiple ?\n this.multiInputEL.nativeElement.ownerDocument.activeElement == this.multiInputEL.nativeElement :\n this.inputEL.nativeElement.ownerDocument.activeElement == this.inputEL.nativeElement;\n\n if (!this.overlayVisible && hasFocus) {\n this.overlayVisible = true;\n }\n }\n }\n\n onOverlayAnimationStart(event: AnimationEvent) {\n switch (event.toState) {\n case 'visible':\n this.overlay = event.element;\n this.itemsWrapper = this.virtualScroll ? DomHandler.findSingle(this.overlay, '.cdk-virtual-scroll-viewport') : this.overlay;\n this.appendOverlay();\n\n if (this.autoZIndex) {\n ZIndexUtils.set('overlay', this.overlay, this.baseZIndex + this.config.zIndex.overlay);\n }\n\n this.alignOverlay();\n this.bindDocumentClickListener();\n this.bindDocumentResizeListener();\n this.bindScrollListener();\n this.onShow.emit(event);\n break;\n\n case 'void':\n this.onOverlayHide();\n break;\n }\n }\n\n onOverlayAnimationEnd(event: AnimationEvent) {\n switch(event.toState) {\n case 'void':\n if (this.autoZIndex) {\n ZIndexUtils.clear(event.element);\n }\n break;\n }\n }\n\n onOverlayClick(event) {\n this.overlayService.add({\n originalEvent: event,\n target: this.el.nativeElement\n });\n }\n\n appendOverlay() {\n if (this.appendTo) {\n if (this.appendTo === 'body')\n document.body.appendChild(this.overlay);\n else\n DomHandler.appendChild(this.overlay, this.appendTo);\n\n if (!this.overlay.style.minWidth) {\n this.overlay.style.minWidth = DomHandler.getWidth(this.el.nativeElement.children[0]) + 'px';\n }\n }\n }\n\n resolveFieldData(value) {\n let data = this.field ? ObjectUtils.resolveFieldData(value, this.field) : value;\n return data !== (null || undefined) ? data : '';\n }\n\n restoreOverlayAppend() {\n if (this.overlay && this.appendTo) {\n this.el.nativeElement.appendChild(this.overlay);\n }\n }\n\n alignOverlay() {\n if (this.appendTo)\n DomHandler.absolutePosition(this.overlay, (this.multiple ? this.multiContainerEL.nativeElement : this.inputEL.nativeElement));\n else\n DomHandler.relativePosition(this.overlay, (this.multiple ? this.multiContainerEL.nativeElement : this.inputEL.nativeElement));\n }\n\n hide() {\n this.overlayVisible = false;\n this.cd.markForCheck();\n }\n\n handleDropdownClick(event) {\n if (!this.overlayVisible) {\n this.focusInput();\n let queryValue = this.multiple ? this.multiInputEL.nativeElement.value : this.inputEL.nativeElement.value;\n\n if (this.dropdownMode === 'blank')\n this.search(event, '');\n else if (this.dropdownMode === 'current')\n this.search(event, queryValue);\n\n this.onDropdownClick.emit({\n originalEvent: event,\n query: queryValue\n });\n }\n else {\n this.hide();\n }\n }\n\n focusInput() {\n if (this.multiple)\n this.multiInputEL.nativeElement.focus();\n else\n this.inputEL.nativeElement.focus();\n }\n\n get emptyMessageLabel(): string {\n return this.emptyMessage || this.config.getTranslation(TranslationKeys.EMPTY_MESSAGE);\n }\n\n removeItem(item: any) {\n let itemIndex = DomHandler.index(item);\n let removedValue = this.value[itemIndex];\n this.value = this.value.filter((val, i) => i!=itemIndex);\n this.onModelChange(this.value);\n this.updateFilledState();\n this.onUnselect.emit(removedValue);\n }\n\n onKeydown(event) {\n if (this.overlayVisible) {\n switch(event.which) {\n //down\n case 40:\n if (this.group) {\n let highlightItemIndex = this.findOptionGroupIndex(this.highlightOption, this.suggestions);\n\n if (highlightItemIndex !== -1) {\n let nextItemIndex = highlightItemIndex.itemIndex + 1;\n if (nextItemIndex < (this.getOptionGroupChildren(this.suggestions[highlightItemIndex.groupIndex]).length)) {\n this.highlightOption = this.getOptionGroupChildren(this.suggestions[highlightItemIndex.groupIndex])[nextItemIndex];\n this.highlightOptionChanged = true;\n }\n else if (this.suggestions[highlightItemIndex.groupIndex + 1]) {\n this.highlightOption = this.getOptionGroupChildren(this.suggestions[highlightItemIndex.groupIndex + 1])[0];\n this.highlightOptionChanged = true;\n }\n }\n else {\n this.highlightOption = this.getOptionGroupChildren(this.suggestions[0])[0];\n }\n }\n else {\n let highlightItemIndex = this.findOptionIndex(this.highlightOption, this.suggestions);\n\n if (highlightItemIndex != -1) {\n var nextItemIndex = highlightItemIndex + 1;\n if (nextItemIndex != (this.suggestions.length)) {\n this.highlightOption = this.suggestions[nextItemIndex];\n this.highlightOptionChanged = true;\n }\n }\n else {\n this.highlightOption = this.suggestions[0];\n }\n }\n\n event.preventDefault();\n break;\n\n //up\n case 38:\n if (this.group) {\n let highlightItemIndex = this.findOptionGroupIndex(this.highlightOption, this.suggestions);\n if (highlightItemIndex !== -1) {\n let prevItemIndex = highlightItemIndex.itemIndex - 1;\n if (prevItemIndex >= 0) {\n this.highlightOption = this.getOptionGroupChildren(this.suggestions[highlightItemIndex.groupIndex])[prevItemIndex];\n this.highlightOptionChanged = true;\n }\n else if (prevItemIndex < 0) {\n let prevGroup = this.suggestions[highlightItemIndex.groupIndex - 1];\n if (prevGroup) {\n this.highlightOption = this.getOptionGroupChildren(prevGroup)[this.getOptionGroupChildren(prevGroup).length - 1];\n this.highlightOptionChanged = true;\n }\n }\n }\n }\n else {\n let highlightItemIndex = this.findOptionIndex(this.highlightOption, this.suggestions);\n\n if (highlightItemIndex > 0) {\n let prevItemIndex = highlightItemIndex - 1;\n this.highlightOption = this.suggestions[prevItemIndex];\n this.highlightOptionChanged = true;\n }\n }\n\n event.preventDefault();\n break;\n\n //enter\n case 13:\n if (this.highlightOption) {\n this.selectItem(this.highlightOption);\n this.hide();\n }\n event.preventDefault();\n break;\n\n //escape\n case 27:\n this.hide();\n event.preventDefault();\n break;\n\n\n //tab\n case 9:\n if (this.highlightOption) {\n this.selectItem(this.highlightOption);\n }\n this.hide();\n break;\n }\n } else {\n if (event.which === 40 && this.suggestions) {\n this.search(event,event.target.value);\n }\n }\n\n if (this.multiple) {\n switch(event.which) {\n //backspace\n case 8:\n if (this.value && this.value.length && !this.multiInputEL.nativeElement.value) {\n this.value = [...this.value];\n const removedValue = this.value.pop();\n this.onModelChange(this.value);\n this.updateFilledState();\n this.onUnselect.emit(removedValue);\n }\n break;\n }\n }\n\n this.inputKeyDown = true;\n }\n\n onKeyup(event) {\n this.onKeyUp.emit(event);\n }\n\n onInputFocus(event) {\n if (!this.itemClicked && this.completeOnFocus ) {\n let queryValue = this.multiple ? this.multiInputEL.nativeElement.value : this.inputEL.nativeElement.value;\n this.search(event, queryValue);\n }\n\n this.focus = true;\n this.onFocus.emit(event);\n this.itemClicked = false;\n }\n\n onInputBlur(event) {\n this.focus = false;\n this.onModelTouched();\n this.onBlur.emit(event);\n }\n\n onInputChange(event) {\n if (this.forceSelection) {\n let valid = false;\n let inputValue = event.target.value.trim();\n\n if (this.suggestions) {\n for (let suggestion of this.suggestions) {\n let itemValue = this.field ? ObjectUtils.resolveFieldData(suggestion, this.field) : suggestion;\n if (itemValue && inputValue === itemValue.trim()) {\n valid = true;\n this.forceSelectionUpdateModelTimeout = setTimeout(() => {\n this.selectItem(suggestion, false);\n }, 250);\n break;\n }\n }\n }\n\n if (!valid) {\n if (this.multiple) {\n this.multiInputEL.nativeElement.value = '';\n }\n else {\n this.value = null;\n this.inputEL.nativeElement.value = '';\n }\n\n this.onClear.emit(event);\n this.onModelChange(this.value);\n this.updateFilledState();\n }\n }\n }\n\n onInputPaste(event: ClipboardEvent) {\n this.onKeydown(event);\n }\n\n isSelected(val: any): boolean {\n let selected: boolean = false;\n if (this.value && this.value.length) {\n for (let i = 0; i < this.value.length; i++) {\n if (ObjectUtils.equals(this.value[i], val, this.dataKey)) {\n selected = true;\n break;\n }\n }\n }\n return selected;\n }\n\n findOptionIndex(option, suggestions): number {\n let index: number = -1;\n if (suggestions) {\n for (let i = 0; i < suggestions.length; i++) {\n if (ObjectUtils.equals(option, suggestions[i])) {\n index = i;\n break;\n }\n }\n }\n\n return index;\n }\n\n findOptionGroupIndex(val: any, opts: any[]): any {\n let groupIndex, itemIndex;\n\n if (opts) {\n for (let i = 0; i < opts.length; i++) {\n groupIndex = i;\n itemIndex = this.findOptionIndex(val, this.getOptionGroupChildren(opts[i]));\n\n if (itemIndex !== -1) {\n break;\n }\n }\n }\n\n if (itemIndex !== -1) {\n return {groupIndex: groupIndex, itemIndex: itemIndex};\n }\n else {\n return -1;\n }\n }\n\n updateFilledState() {\n if (this.multiple)\n this.filled = (this.value && this.value.length) || (this.multiInputEL && this.multiInputEL.nativeElement && this.multiInputEL.nativeElement.value != '');\n else\n this.filled = (this.inputFieldValue && this.inputFieldValue != '') || (this.inputEL && this.inputEL.nativeElement && this.inputEL.nativeElement.value != '');;\n }\n\n updateInputField() {\n let formattedValue = this.resolveFieldData(this.value);\n this.inputFieldValue = formattedValue;\n\n if (this.inputEL && this.inputEL.nativeElement) {\n this.inputEL.nativeElement.value = formattedValue;\n }\n\n this.updateFilledState();\n }\n\n bindDocumentClickListener() {\n if (!this.documentClickListener) {\n const documentTarget: any = this.el ? this.el.nativeElement.ownerDocument : 'document';\n\n this.documentClickListener = this.renderer.listen(documentTarget, 'click', (event) => {\n if (event.which === 3) {\n return;\n }\n\n if (!this.inputClick && !this.isDropdownClick(event)) {\n this.hide();\n }\n\n this.inputClick = false;\n this.cd.markForCheck();\n });\n }\n }\n\n isDropdownClick(event) {\n if (this.dropdown) {\n let target = event.target;\n return (target === this.dropdownButton.nativeElement || target.parentNode === this.dropdownButton.nativeElement);\n }\n else {\n return false;\n }\n }\n\n unbindDocumentClickListener() {\n if (this.documentClickListener) {\n this.documentClickListener();\n this.documentClickListener = null;\n }\n }\n\n bindDocumentResizeListener() {\n this.documentResizeListener = this.onWindowResize.bind(this);\n window.addEventListener('resize', this.documentResizeListener);\n }\n\n unbindDocumentResizeListener() {\n if (this.documentResizeListener) {\n window.removeEventListener('resize', this.documentResizeListener);\n this.documentResizeListener = null;\n }\n }\n\n onWindowResize() {\n this.hide();\n }\n\n bindScrollListener() {\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.containerEL.nativeElement, () => {\n if (this.overlayVisible) {\n this.hide();\n }\n });\n }\n\n this.scrollHandler.bindScrollListener();\n }\n\n unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n }\n\n onOverlayHide() {\n this.unbindDocumentClickListener();\n this.unbindDocumentResizeListener();\n this.unbindScrollListener();\n this.overlay = null;\n this.onHide.emit();\n }\n\n ngOnDestroy() {\n if (this.forceSelectionUpdateModelTimeout) {\n clearTimeout(this.forceSelectionUpdateModelTimeout);\n this.forceSelectionUpdateModelTimeout = null;\n }\n\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n\n if (this.overlay) {\n ZIndexUtils.clear(this.overlay);\n }\n\n this.restoreOverlayAppend();\n this.onOverlayHide();\n }\n}\n\n@NgModule({\n imports: [CommonModule,InputTextModule,ButtonModule,SharedModule,RippleModule,ScrollingModule],\n exports: [AutoComplete,SharedModule,ScrollingModule],\n declarations: [AutoComplete]\n})\nexport class AutoCompleteModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;MAYa,2BAA2B,GAAQ;IAC9C,OAAO,EAAE,iBAAiB;IAC1B,WAAW,EAAE,UAAU,CAAC,MAAM,YAAY,CAAC;IAC3C,KAAK,EAAE,IAAI;EACX;MA2FW,YAAY;IA8LrB,YAAmB,EAAc,EAAS,QAAmB,EAAS,EAAqB,EAAS,OAAwB,EAAS,MAAqB,EAAS,cAA8B;QAA9K,OAAE,GAAF,EAAE,CAAY;QAAS,aAAQ,GAAR,QAAQ,CAAW;QAAS,OAAE,GAAF,EAAE,CAAmB;QAAS,YAAO,GAAP,OAAO,CAAiB;QAAS,WAAM,GAAN,MAAM,CAAe;QAAS,mBAAc,GAAd,cAAc,CAAgB;QA5LxL,cAAS,GAAW,CAAC,CAAC;QAEtB,UAAK,GAAW,GAAG,CAAC;QAwCpB,SAAI,GAAW,MAAM,CAAC;QAEtB,eAAU,GAAY,IAAI,CAAC;QAE3B,eAAU,GAAW,CAAC,CAAC;QAMvB,iBAAY,GAAW,oBAAoB,CAAC;QAE5C,WAAM,GAAY,IAAI,CAAC;QAIvB,oBAAe,GAAY,KAAK,CAAC;QAEhC,mBAAc,GAAsB,IAAI,YAAY,EAAE,CAAC;QAEvD,aAAQ,GAAsB,IAAI,YAAY,EAAE,CAAC;QAEjD,eAAU,GAAsB,IAAI,YAAY,EAAE,CAAC;QAEnD,YAAO,GAAsB,IAAI,YAAY,EAAE,CAAC;QAEhD,WAAM,GAAsB,IAAI,YAAY,EAAE,CAAC;QAE/C,oBAAe,GAAsB,IAAI,YAAY,EAAE,CAAC;QAE3D,YAAO,GAAsB,IAAI,YAAY,EAAE,CAAC;QAE7C,YAAO,GAAsB,IAAI,YAAY,EAAE,CAAC;QAEhD,WAAM,GAAsB,IAAI,YAAY,EAAE,CAAC;QAE/C,WAAM,GAAsB,IAAI,YAAY,EAAE,CAAC;QAIhD,iBAAY,GAAW,OAAO,CAAC;QAM/B,iBAAY,GAAW,OAAO,CAAC;QAU/B,0BAAqB,GAAW,iCAAiC,CAAC;QAElE,0BAAqB,GAAW,YAAY,CAAC;QAI7C,iBAAY,GAAW,KAAK,CAAC;QAwCtC,kBAAa,GAAa,SAAQ,CAAC;QAEnC,mBAAc,GAAa,SAAQ,CAAC;QAIpC,mBAAc,GAAY,KAAK,CAAC;QAUhC,UAAK,GAAY,KAAK,CAAC;QAYvB,oBAAe,GAAW,IAAI,CAAC;QAiB3B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,MAAM,GAAG,iBAAiB,EAAE,GAAG,OAAO,CAAC;KAC/C;IAED,IAAa,WAAW;QACpB,OAAO,IAAI,CAAC,YAAY,CAAC;KAC5B;IAED,IAAI,WAAW,CAAC,GAAS;QACrB,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;QACxB,IAAI,CAAC,uBAAuB,EAAE,CAAC;KAClC;IAED,kBAAkB;;QAEd,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;YACtE,UAAU,CAAC;gBACP,IAAI,IAAI,CAAC,OAAO,EAAE;oBACd,IAAI,CAAC,YAAY,EAAE,CAAC;iBACvB;aACJ,EAAE,CAAC,CAAC,CAAC;YACN,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;SACnC;QAED,IAAI,IAAI,CAAC,sBAAsB,EAAE;YAC7B,UAAU,CAAC;gBACP,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,YAAY,EAAE;oBACnC,IAAI,QAAQ,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;oBAErE,IAAI,QAAQ,EAAE;wBACV,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;qBACxD;oBAED,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,QAAQ,EAAE;wBACrC,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC;wBAC7C,IAAI,CAAC,gCAAgC,EAAE,CAAC;wBAExC,IAAI,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,0BAA0B,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,0BAA0B,EAAE;4BAC9F,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;yBAChE;qBACJ;iBACJ;aACJ,EAAE,CAAC,CAAC,CAAC;YACN,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;SACvC;KACJ;IAED,uBAAuB;QACnB,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE;YAC3C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;gBAC1B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,IAAI,CAAC,IAAI,EAAE,CAAC;gBACZ,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;gBAE/B,IAAI,IAAI,CAAC,aAAa,EAAE;oBACpB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;iBAC/C;aACJ;iBACI;gBACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBAEtB,IAAI,IAAI,CAAC,gBAAgB,EAAE;oBACvB,IAAI,CAAC,IAAI,EAAE,CAAC;oBACZ,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;iBAClC;qBACI;oBACD,IAAI,CAAC,IAAI,EAAE,CAAC;iBACf;aACJ;YAED,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;SACxB;KACJ;IAED,kBAAkB;QACd,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI;YACxB,QAAO,IAAI,CAAC,OAAO,EAAE;gBACjB,KAAK,MAAM;oBACP,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;oBACtC,MAAM;gBAEN,KAAK,OAAO;oBACR,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC;oBACvC,MAAM;gBAEN,KAAK,cAAc;oBACf,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,QAAQ,CAAC;oBAC9C,MAAM;gBAEN,KAAK,QAAQ;oBACT,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC;oBACxC,MAAM;gBAEN,KAAK,OAAO;oBACR,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC;oBACvC,MAAM;gBAEN,KAAK,QAAQ;oBACT,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC;oBACxC,MAAM;gBAEN;oBACI,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;oBACtC,MAAM;aACT;SACJ,CAAC,CAAC;KACN;IAED,gCAAgC;QAC5B,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;YACrE,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;SAClG;KACJ;IAED,UAAU,CAAC,KAAU;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QAC7C,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;KAC1B;IAED,sBAAsB,CAAC,WAAgB;QACnC,OAAO,IAAI,CAAC,mBAAmB,GAAG,WAAW,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,mBAAmB,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC;KAC7H;IAED,mBAAmB,CAAC,WAAgB;QAChC,OAAO,IAAI,CAAC,gBAAgB,GAAG,WAAW,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,WAAW,CAAC,KAAK,IAAI,SAAS,GAAG,WAAW,CAAC,KAAK,GAAG,WAAW,CAAC,CAAC;KACxK;IAED,gBAAgB,CAAC,EAAY;QACzB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;KAC3B;IAED,iBAAiB,CAAC,EAAY;QAC1B,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;KAC5B;IAED,gBAAgB,CAAC,GAAY;QACzB,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;QACpB,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;KAC1B;IAED,OAAO,CAAC,KAAY;;QAEhB,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,UAAU,CAAC,IAAI,EAAE,EAAE;YACzC,OAAO;SACV;QAED,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SAC9B;QAED,IAAI,KAAK,GAAuB,KAAK,CAAC,MAAO,CAAC,KAAK,CAAC;QACpD,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACxC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;SAC7B;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YACtC,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC5B,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;SAC1B;QAED,IAAI,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE;YAChC,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC;gBACtB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;aAC7B,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;SAClB;aACI;YACD,IAAI,CAAC,IAAI,EAAE,CAAC;SACf;QACD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;KAC7B;IAED,YAAY,CAAC,KAAiB;QAC1B,IAAI,IAAI,CAAC,qBAAqB,EAAE;YAC5B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;SAC1B;KACJ;IAED,MAAM,CAAC,KAAU,EAAE,KAAa;;QAE7B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE;YACvC,OAAO;SACV;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAEpB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;YACrB,aAAa,EAAE,KAAK;YACpB,KAAK,EAAE,KAAK;SACf,CAAC,CAAC;KACL;IAED,UAAU,CAAC,MAAW,EAAE,QAAiB,IAAI;QACzC,IAAI,IAAI,CAAC,gCAAgC,EAAE;YACvC,YAAY,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;YACpD,IAAI,CAAC,gCAAgC,GAAG,IAAI,CAAC;SAChD;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,GAAG,EAAE,CAAC;YAC3C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAE,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBAC1C,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,EAAC,MAAM,CAAC,CAAC;gBACpC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAClC;SACJ;aACI;YACD,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,GAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAClE,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;YACpB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAClC;QAED,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3B,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzB,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC,UAAU,EAAE,CAAC;SACrB;KACJ;IAED,IAAI;QACA,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,OAAO,EAAE;YACnC,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ;gBACxB,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,IAAI,IAAI,CAAC,YAAY,CAAC,aAAa;gBAC9F,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;YAEzF,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,QAAQ,EAAE;gBAClC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;aAC9B;SACJ;KACJ;IAED,uBAAuB,CAAC,KAAqB;QACzC,QAAQ,KAAK,CAAC,OAAO;YACjB,KAAK,SAAS;gBACV,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;gBAC7B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,8BAA8B,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;gBAC5H,IAAI,CAAC,aAAa,EAAE,CAAC;gBAErB,IAAI,IAAI,CAAC,UAAU,EAAE;oBACjB,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;iBAC1F;gBAED,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,IAAI,CAAC,yBAAyB,EAAE,CAAC;gBACjC,IAAI,CAAC,0BAA0B,EAAE,CAAC;gBAClC,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC5B,MAAM;YAEN,KAAK,MAAM;gBACP,IAAI,CAAC,aAAa,EAAE,CAAC;gBACzB,MAAM;SACT;KACJ;IAED,qBAAqB,CAAC,KAAqB;QACvC,QAAO,KAAK,CAAC,OAAO;YAChB,KAAK,MAAM;gBACP,IAAI,IAAI,CAAC,UAAU,EAAE;oBACjB,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;iBACpC;gBACL,MAAM;SACT;KACJ;IAED,cAAc,CAAC,KAAK;QAChB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC;YACpB,aAAa,EAAE,KAAK;YACpB,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,aAAa;SAChC,CAAC,CAAC;KACN;IAED,aAAa;QACT,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,IAAI,IAAI,CAAC,QAAQ,KAAK,MAAM;gBACxB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;;gBAExC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YAExD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE;gBAC9B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;aAC/F;SACJ;KACJ;IAED,gBAAgB,CAAC,KAAK;QAClB,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;QAChF,OAAO,IAAI,MAAM,IAAI,IAAI,SAAS,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC;KACnD;IAED,oBAAoB;QAChB,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE;YAC/B,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACnD;KACJ;IAED,YAAY;QACR,IAAI,IAAI,CAAC,QAAQ;YACb,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;;YAE9H,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;KACrI;IAED,IAAI;QACA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;KAC1B;IAED,mBAAmB,CAAC,KAAK;QACrB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACtB,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,UAAU,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC;YAE1G,IAAI,IAAI,CAAC,YAAY,KAAK,OAAO;gBAC7B,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;iBACtB,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS;gBACpC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;YAEnC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;gBACtB,aAAa,EAAE,KAAK;gBACpB,KAAK,EAAE,UAAU;aACpB,CAAC,CAAC;SACN;aACI;YACD,IAAI,CAAC,IAAI,EAAE,CAAC;SACf;KACJ;IAED,UAAU;QACN,IAAI,IAAI,CAAC,QAAQ;YACb,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;;YAExC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;KAC1C;IAED,IAAI,iBAAiB;QACjB,OAAO,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;KACzF;IAED,UAAU,CAAC,IAAS;QAChB,IAAI,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,IAAE,SAAS,CAAC,CAAC;QACzD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KACtC;IAED,SAAS,CAAC,KAAK;QACX,IAAI,IAAI,CAAC,cAAc,EAAE;YACrB,QAAO,KAAK,CAAC,KAAK;;gBAEd,KAAK,EAAE;oBACH,IAAI,IAAI,CAAC,KAAK,EAAE;wBACZ,IAAI,kBAAkB,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;wBAE3F,IAAI,kBAAkB,KAAK,CAAC,CAAC,EAAE;4BAC3B,IAAI,aAAa,GAAG,kBAAkB,CAAC,SAAS,GAAG,CAAC,CAAC;4BACrD,IAAI,aAAa,IAAI,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE;gCACvG,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;gCACnH,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;6BACtC;iCACI,IAAI,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,UAAU,GAAG,CAAC,CAAC,EAAE;gCAC1D,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gCAC3G,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;6BACtC;yBACJ;6BACI;4BACD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;yBAC9E;qBACJ;yBACI;wBACD,IAAI,kBAAkB,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;wBAEtF,IAAI,kBAAkB,IAAI,CAAC,CAAC,EAAE;4BAC1B,IAAI,aAAa,GAAG,kBAAkB,GAAG,CAAC,CAAC;4BAC3C,IAAI,aAAa,KAAK,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE;gCAC5C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;gCACvD,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;6BACtC;yBACJ;6BACI;4BACD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;yBAC9C;qBACJ;oBAED,KAAK,CAAC,cAAc,EAAE,CAAC;oBAC3B,MAAM;;gBAGN,KAAK,EAAE;oBACH,IAAI,IAAI,CAAC,KAAK,EAAE;wBACZ,IAAI,kBAAkB,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;wBAC3F,IAAI,kBAAkB,KAAK,CAAC,CAAC,EAAE;4BAC3B,IAAI,aAAa,GAAG,kBAAkB,CAAC,SAAS,GAAG,CAAC,CAAC;4BACrD,IAAI,aAAa,IAAI,CAAC,EAAE;gCACpB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;gCACnH,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;6BACtC;iCACI,IAAI,aAAa,GAAG,CAAC,EAAE;gCACxB,IAAI,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;gCACpE,IAAI,SAAS,EAAE;oCACX,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oCACjH,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;iCACtC;6BACJ;yBACJ;qBACJ;yBACI;wBACD,IAAI,kBAAkB,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;wBAEtF,IAAI,kBAAkB,GAAG,CAAC,EAAE;4BACxB,IAAI,aAAa,GAAG,kBAAkB,GAAG,CAAC,CAAC;4BAC3C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;4BACvD,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;yBACtC;qBACJ;oBAED,KAAK,CAAC,cAAc,EAAE,CAAC;oBAC3B,MAAM;;gBAGN,KAAK,EAAE;oBACH,IAAI,IAAI,CAAC,eAAe,EAAE;wBACtB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;wBACtC,IAAI,CAAC,IAAI,EAAE,CAAC;qBACf;oBACD,KAAK,CAAC,cAAc,EAAE,CAAC;oBAC3B,MAAM;;gBAGN,KAAK,EAAE;oBACH,IAAI,CAAC,IAAI,EAAE,CAAC;oBACZ,KAAK,CAAC,cAAc,EAAE,CAAC;oBAC3B,MAAM;;gBAIN,KAAK,CAAC;oBACF,IAAI,IAAI,CAAC,eAAe,EAAE;wBACtB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;qBACzC;oBACD,IAAI,CAAC,IAAI,EAAE,CAAC;oBAChB,MAAM;aACT;SACJ;aAAM;YACH,IAAI,KAAK,CAAC,KAAK,KAAK,EAAE,IAAI,IAAI,CAAC,WAAW,EAAE;gBACxC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;aACzC;SACJ;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,QAAO,KAAK,CAAC,KAAK;;gBAEd,KAAK,CAAC;oBACF,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,EAAE;wBAC3E,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;wBAC7B,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;wBACtC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBAC/B,IAAI,CAAC,iBAAiB,EAAE,CAAC;wBACzB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;qBACtC;oBACL,MAAM;aACT;SACJ;QAED,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;KAC5B;IAED,OAAO,CAAC,KAAK;QACT,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC5B;IAED,YAAY,CAAC,KAAK;QACd,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,eAAe,EAAG;YAC5C,IAAI,UAAU,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC;YAC1G,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;SAClC;QAED,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;KAC5B;IAED,WAAW,CAAC,KAAK;QACb,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC3B;IAED,aAAa,CAAC,KAAK;QACf,IAAI,IAAI,CAAC,cAAc,EAAE;YACrB,IAAI,KAAK,GAAG,KAAK,CAAC;YAClB,IAAI,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAE3C,IAAI,IAAI,CAAC,WAAW,EAAG;gBACnB,KAAK,IAAI,UAAU,IAAI,IAAI,CAAC,WAAW,EAAE;oBACrC,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC;oBAC/F,IAAI,SAAS,IAAI,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,EAAE;wBAC9C,KAAK,GAAG,IAAI,CAAC;wBACb,IAAI,CAAC,gCAAgC,GAAG,UAAU,CAAC;4BAC/C,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;yBACtC,EAAE,GAAG,CAAC,CAAC;wBACR,MAAM;qBACT;iBACJ;aACJ;YAED,IAAI,CAAC,KAAK,EAAE;gBACR,IAAI,IAAI,CAAC,QAAQ,EAAE;oBACf,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,GAAG,EAAE,CAAC;iBAC9C;qBACI;oBACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;oBAClB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,GAAG,EAAE,CAAC;iBACzC;gBAED,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACzB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC/B,IAAI,CAAC,iBAAiB,EAAE,CAAC;aAC5B;SACJ;KACJ;IAED,YAAY,CAAC,KAAqB;QAC9B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;KACzB;IAED,UAAU,CAAC,GAAQ;QACf,IAAI,QAAQ,GAAY,KAAK,CAAC;QAC9B,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACxC,IAAI,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;oBACtD,QAAQ,GAAG,IAAI,CAAC;oBAChB,MAAM;iBACT;aACJ;SACJ;QACD,OAAO,QAAQ,CAAC;KACnB;IAED,eAAe,CAAC,MAAM,EAAE,WAAW;QAC/B,IAAI,KAAK,GAAW,CAAC,CAAC,CAAC;QACvB,IAAI,WAAW,EAAE;YACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACzC,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE;oBAC5C,KAAK,GAAG,CAAC,CAAC;oBACV,MAAM;iBACT;aACJ;SACJ;QAED,OAAO,KAAK,CAAC;KAChB;IAED,oBAAoB,CAAC,GAAQ,EAAE,IAAW;QACtC,IAAI,UAAU,EAAE,SAAS,CAAC;QAE1B,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAClC,UAAU,GAAG,CAAC,CAAC;gBACf,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAE5E,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE;oBAClB,MAAM;iBACT;aACJ;SACJ;QAED,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE;YAClB,OAAO,EAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAC,CAAC;SACzD;aACI;YACD,OAAO,CAAC,CAAC,CAAC;SACb;KACJ;IAED,iBAAiB;QACb,IAAI,IAAI,CAAC,QAAQ;YACb,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,MAAM,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,aAAa,IAAI,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;;YAEzJ,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,IAAI,EAAE,MAAM,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QAAA,CAAC;KACrK;IAED,gBAAgB;QACZ,IAAI,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvD,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;QAEtC,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE;YAC5C,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,GAAG,cAAc,CAAC;SACrD;QAED,IAAI,CAAC,iBAAiB,EAAE,CAAC;KAC5B;IAED,yBAAyB;QACrB,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE;YAC7B,MAAM,cAAc,GAAQ,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,aAAa,GAAG,UAAU,CAAC;YAEvF,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAE,OAAO,EAAE,CAAC,KAAK;gBAC7E,IAAI,KAAK,CAAC,KAAK,KAAK,CAAC,EAAE;oBACnB,OAAO;iBACV;gBAED,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE;oBAClD,IAAI,CAAC,IAAI,EAAE,CAAC;iBACf;gBAED,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;gBACxB,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;aAC1B,CAAC,CAAC;SACN;KACJ;IAED,eAAe,CAAC,KAAK;QACjB,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YAC1B,QAAQ,MAAM,KAAK,IAAI,CAAC,cAAc,CAAC,aAAa,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE;SACpH;aACI;YACD,OAAO,KAAK,CAAC;SAChB;KACJ;IAED,2BAA2B;QACvB,IAAI,IAAI,CAAC,qBAAqB,EAAE;YAC5B,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC7B,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;SACrC;KACJ;IAED,0BAA0B;QACtB,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7D,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;KAClE;IAED,4BAA4B;QACxB,IAAI,IAAI,CAAC,sBAAsB,EAAE;YAC7B,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;YAClE,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;SACtC;KACJ;IAED,cAAc;QACV,IAAI,CAAC,IAAI,EAAE,CAAC;KACf;IAED,kBAAkB;QACd,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACrB,IAAI,CAAC,aAAa,GAAG,IAAI,6BAA6B,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE;gBACnF,IAAI,IAAI,CAAC,cAAc,EAAE;oBACrB,IAAI,CAAC,IAAI,EAAE,CAAC;iBACf;aACJ,CAAC,CAAC;SACN;QAED,IAAI,CAAC,aAAa,CAAC,kBAAkB,EAAE,CAAC;KAC3C;IAED,oBAAoB;QAChB,IAAI,IAAI,CAAC,aAAa,EAAE;YACpB,IAAI,CAAC,aAAa,CAAC,oBAAoB,EAAE,CAAC;SAC7C;KACJ;IAED,aAAa;QACT,IAAI,CAAC,2BAA2B,EAAE,CAAC;QACnC,IAAI,CAAC,4BAA4B,EAAE,CAAC;QACpC,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;KACtB;IAED,WAAW;QACP,IAAI,IAAI,CAAC,gCAAgC,EAAE;YACvC,YAAY,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;YACpD,IAAI,CAAC,gCAAgC,GAAG,IAAI,CAAC;SAChD;QAED,IAAI,IAAI,CAAC,aAAa,EAAE;YACpB,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;YAC7B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;SAC7B;QAED,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACnC;QAED,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,aAAa,EAAE,CAAC;KACxB;;yGAv3BQ,YAAY;6FAAZ,YAAY,krDALV,CAAC,2BAA2B,CAAC,oDAiIvB,aAAa,2gBAFnB,wBAAwB,gDAjNzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAiET,44EACW;QACR,OAAO,CAAC,kBAAkB,EAAE;YACxB,UAAU,CAAC,QAAQ,EAAE;gBACjB,KAAK,CAAC,EAAC,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,aAAa,EAAC,CAAC;gBAC7C,OAAO,CAAC,0BAA0B,CAAC;aACpC,CAAC;YACF,UAAU,CAAC,QAAQ,EAAE;gBACnB,OAAO,CAAC,0BAA0B,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;aAC3D,CAAC;SACP,CAAC;KACL;2FAWQ,YAAY;kBAzFxB,SAAS;mBAAC;oBACP,QAAQ,EAAE,gBAAgB;oBAC1B,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAiET;oBACD,UAAU,EAAE;wBACR,OAAO,CAAC,kBAAkB,EAAE;4BACxB,UAAU,CAAC,QAAQ,EAAE;gCACjB,KAAK,CAAC,EAAC,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,aAAa,EAAC,CAAC;gCAC7C,OAAO,CAAC,0BAA0B,CAAC;6BACpC,CAAC;4BACF,UAAU,CAAC,QAAQ,EAAE;gCACnB,OAAO,CAAC,0BAA0B,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;6BAC3D,CAAC;yBACP,CAAC;qBACL;oBACD,IAAI,EAAE;wBACF,OAAO,EAAE,0BAA0B;wBACnC,+BAA+B,EAAE,QAAQ;wBACzC,8BAA8B,EAAE,wCAAwC;qBAC3E;oBACD,SAAS,EAAE,CAAC,2BAA2B,CAAC;oBACxC,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,SAAS,EAAE,CAAC,oBAAoB,CAAC;iBACpC;gPAGY,SAAS;sBAAjB,KAAK;gBAEG,KAAK;sBAAb,KAAK;gBAEG,KAAK;sBAAb,KAAK;gBAEG,UAAU;sBAAlB,KAAK;gBAEG,UAAU;sBAAlB,KAAK;gBAEG,eAAe;sBAAvB,KAAK;gBAEG,UAAU;sBAAlB,KAAK;gBAEG,OAAO;sBAAf,KAAK;gBAEG,eAAe;sBAAvB,KAAK;gBAEG,WAAW;sBAAnB,KAAK;gBAEG,QAAQ;sBAAhB,KAAK;gBAEG,QAAQ;sBAAhB,KAAK;gBAEG,aAAa;sBAArB,KAAK;gBAEG,QAAQ;sBAAhB,KAAK;gBAEG,SAAS;sBAAjB,KAAK;gBAEG,IAAI;sBAAZ,KAAK;gBAEG,QAAQ;sBAAhB,KAAK;gBAEG,IAAI;sBAAZ,KAAK;gBAEG,QAAQ;sBAAhB,KAAK;gBAEG,aAAa;sBAArB,KAAK;gBAEG,cAAc;sBAAtB,KAAK;gBAEG,IAAI;sBAAZ,KAAK;gBAEG,UAAU;sBAAlB,KAAK;gBAEG,UAAU;sBAAlB,KAAK;gBAEG,SAAS;sBAAjB,KAAK;gBAEG,cAAc;sBAAtB,KAAK;gBAEG,YAAY;sBAApB,KAAK;gBAEG,MAAM;sBAAd,KAAK;gBAEG,KAAK;sBAAb,KAAK;gBAEG,eAAe;sBAAvB,KAAK;gBAEI,cAAc;sBAAvB,MAAM;gBAEG,QAAQ;sBAAjB,MAAM;gBAEG,UAAU;sBAAnB,MAAM;gBAEG,OAAO;sBAAhB,MAAM;gBAEG,MAAM;sBAAf,MAAM;gBAEG,eAAe;sBAAxB,MAAM;gBAEA,OAAO;sBAAhB,MAAM;gBAEM,OAAO;sBAAhB,MAAM;gBAEG,MAAM;sBAAf,MAAM;gBAEG,MAAM;sBAAf,MAAM;gBAEE,KAAK;sBAAb,KAAK;gBAEG,YAAY;sBAApB,KAAK;gBAEG,QAAQ;sBAAhB,KAAK;gBAEG,gBAAgB;sBAAxB,KAAK;gBAEG,YAAY;sBAApB,KAAK;gBAEG,QAAQ;sBAAhB,KAAK;gBAEG,QAAQ;sBAAhB,KAAK;gBAEG,OAAO;sBAAf,KAAK;gBAEG,YAAY;sBAApB,KAAK;gBAEG,qBAAqB;sBAA7B,KAAK;gBAEG,qBAAqB;sBAA7B,KAAK;gBAEG,SAAS;sBAAjB,KAAK;gBAEG,YAAY;sBAApB,KAAK;gBAEG,mBAAmB;sBAA3B,KAAK;gBAEG,gBAAgB;sBAAxB,KAAK;gBAEkB,WAAW;sBAAlC,SAAS;uBAAC,WAAW;gBAEL,OAAO;sBAAvB,SAAS;uBAAC,IAAI;gBAEO,YAAY;sBAAjC,SAAS;uBAAC,SAAS;gBAES,gBAAgB;sBAA5C,SAAS;uBAAC,gBAAgB;gBAEP,cAAc;sBAAjC,SAAS;uBAAC,OAAO;gBAEmB,QAAQ;sBAA5C,SAAS;uBAAC,wBAAwB;gBAEH,SAAS;sBAAxC,eAAe;uBAAC,aAAa;gBAuEjB,WAAW;sBAAvB,KAAK;;MA4rBG,kBAAkB;;+GAAlB,kBAAkB;gHAAlB,kBAAkB,iBA/3BlB,YAAY,aA23BX,YAAY,EAAC,eAAe,EAAC,YAAY,EAAC,YAAY,EAAC,YAAY,EAAC,eAAe,aA33BpF,YAAY,EA43BE,YAAY,EAAC,eAAe;gHAG1C,kBAAkB,YAJlB,CAAC,YAAY,EAAC,eAAe,EAAC,YAAY,EAAC,YAAY,EAAC,YAAY,EAAC,eAAe,CAAC,EACvE,YAAY,EAAC,eAAe;2FAG1C,kBAAkB;kBAL9B,QAAQ;mBAAC;oBACN,OAAO,EAAE,CAAC,YAAY,EAAC,eAAe,EAAC,YAAY,EAAC,YAAY,EAAC,YAAY,EAAC,eAAe,CAAC;oBAC9F,OAAO,EAAE,CAAC,YAAY,EAAC,YAAY,EAAC,eAAe,CAAC;oBACpD,YAAY,EAAE,CAAC,YAAY,CAAC;iBAC/B;;;ACz+BD;;;;;;"}
1
+ {"version":3,"file":"primeng-autocomplete.js","sources":["../../src/app/components/autocomplete/autocomplete.ts","../../src/app/components/autocomplete/primeng-autocomplete.ts"],"sourcesContent":["import {NgModule,Component,ViewChild,ElementRef,AfterViewChecked,AfterContentInit,OnDestroy,Input,Output,EventEmitter,ContentChildren,QueryList,TemplateRef,Renderer2,forwardRef,ChangeDetectorRef,IterableDiffers,ChangeDetectionStrategy, ViewEncapsulation} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {trigger,style,transition,animate,AnimationEvent} from '@angular/animations';\nimport {InputTextModule} from 'primeng/inputtext';\nimport {ButtonModule} from 'primeng/button';\nimport {RippleModule} from 'primeng/ripple';\nimport {SharedModule,PrimeTemplate, TranslationKeys, PrimeNGConfig, OverlayService} from 'primeng/api';\nimport {DomHandler, ConnectedOverlayScrollHandler} from 'primeng/dom';\nimport {ObjectUtils, UniqueComponentId, ZIndexUtils} from 'primeng/utils';\nimport {NG_VALUE_ACCESSOR, ControlValueAccessor} from '@angular/forms';\nimport {CdkVirtualScrollViewport, ScrollingModule} from '@angular/cdk/scrolling';\n\nexport const AUTOCOMPLETE_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AutoComplete),\n multi: true\n};\n\n@Component({\n selector: 'p-autoComplete',\n template: `\n <span #container [ngClass]=\"{'p-autocomplete p-component':true,'p-autocomplete-dd':dropdown,'p-autocomplete-multiple':multiple}\" [ngStyle]=\"style\" [class]=\"styleClass\">\n <input *ngIf=\"!multiple\" #in [attr.type]=\"type\" [attr.id]=\"inputId\" [ngStyle]=\"inputStyle\" [class]=\"inputStyleClass\" [autocomplete]=\"autocomplete\" [attr.required]=\"required\" [attr.name]=\"name\"\n class=\"p-autocomplete-input p-inputtext p-component\" [ngClass]=\"{'p-autocomplete-dd-input':dropdown,'p-disabled': disabled}\" [value]=\"inputFieldValue\" aria-autocomplete=\"list\" [attr.aria-controls]=\"listId\" role=\"searchbox\" [attr.aria-expanded]=\"overlayVisible\" aria-haspopup=\"true\" [attr.aria-activedescendant]=\"'p-highlighted-option'\"\n (click)=\"onInputClick($event)\" (input)=\"onInput($event)\" (keydown)=\"onKeydown($event)\" (keyup)=\"onKeyup($event)\" [attr.autofocus]=\"autofocus\" (focus)=\"onInputFocus($event)\" (blur)=\"onInputBlur($event)\" (change)=\"onInputChange($event)\" (paste)=\"onInputPaste($event)\"\n [attr.placeholder]=\"placeholder\" [attr.size]=\"size\" [attr.maxlength]=\"maxlength\" [attr.tabindex]=\"tabindex\" [readonly]=\"readonly\" [disabled]=\"disabled\" [attr.aria-label]=\"ariaLabel\" [attr.aria-labelledby]=\"ariaLabelledBy\" [attr.aria-required]=\"required\"\n ><ul *ngIf=\"multiple\" #multiContainer class=\"p-autocomplete-multiple-container p-component p-inputtext\" [ngClass]=\"{'p-disabled':disabled,'p-focus':focus}\" (click)=\"multiIn.focus()\">\n <li #token *ngFor=\"let val of value\" class=\"p-autocomplete-token\">\n <ng-container *ngTemplateOutlet=\"selectedItemTemplate; context: {$implicit: val}\"></ng-container>\n <span *ngIf=\"!selectedItemTemplate\" class=\"p-autocomplete-token-label\">{{resolveFieldData(val)}}</span>\n <span class=\"p-autocomplete-token-icon pi pi-times-circle\" (click)=\"removeItem(token)\" *ngIf=\"!disabled && !readonly\"></span>\n </li>\n <li class=\"p-autocomplete-input-token\">\n <input #multiIn [attr.type]=\"type\" [attr.id]=\"inputId\" [disabled]=\"disabled\" [attr.placeholder]=\"(value&&value.length ? null : placeholder)\" [attr.tabindex]=\"tabindex\" [attr.maxlength]=\"maxlength\" (input)=\"onInput($event)\" (click)=\"onInputClick($event)\"\n (keydown)=\"onKeydown($event)\" [readonly]=\"readonly\" (keyup)=\"onKeyup($event)\" [attr.autofocus]=\"autofocus\" (focus)=\"onInputFocus($event)\" (blur)=\"onInputBlur($event)\" (change)=\"onInputChange($event)\" (paste)=\"onInputPaste($event)\" [autocomplete]=\"autocomplete\"\n [ngStyle]=\"inputStyle\" [class]=\"inputStyleClass\" [attr.aria-label]=\"ariaLabel\" [attr.aria-labelledby]=\"ariaLabelledBy\" [attr.aria-required]=\"required\"\n aria-autocomplete=\"list\" [attr.aria-controls]=\"listId\" role=\"searchbox\" [attr.aria-expanded]=\"overlayVisible\" aria-haspopup=\"true\" [attr.aria-activedescendant]=\"'p-highlighted-option'\">\n </li>\n </ul>\n <i *ngIf=\"loading\" class=\"p-autocomplete-loader pi pi-spinner pi-spin\"></i><button #ddBtn type=\"button\" pButton [icon]=\"dropdownIcon\" [attr.aria-label]=\"dropdownAriaLabel\" class=\"p-autocomplete-dropdown\" [disabled]=\"disabled\" pRipple\n (click)=\"handleDropdownClick($event)\" *ngIf=\"dropdown\" [attr.tabindex]=\"tabindex\"></button>\n <div #panel *ngIf=\"overlayVisible\" (click)=\"onOverlayClick($event)\" [ngClass]=\"['p-autocomplete-panel p-component']\" [style.max-height]=\"virtualScroll ? 'auto' : scrollHeight\" [ngStyle]=\"panelStyle\" [class]=\"panelStyleClass\"\n [@overlayAnimation]=\"{value: 'visible', params: {showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions}}\" (@overlayAnimation.start)=\"onOverlayAnimationStart($event)\" (@overlayAnimation.done)=\"onOverlayAnimationEnd($event)\">\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n <ul role=\"listbox\" [attr.id]=\"listId\" class=\"p-autocomplete-items\" [ngClass]=\"{'p-autocomplete-virtualscroll': virtualScroll}\">\n <ng-container *ngIf=\"group\">\n <ng-template ngFor let-optgroup [ngForOf]=\"suggestions\">\n <li class=\"p-autocomplete-item-group\">\n <span *ngIf=\"!groupTemplate\">{{getOptionGroupLabel(optgroup)||'empty'}}</span>\n <ng-container *ngTemplateOutlet=\"groupTemplate; context: {$implicit: optgroup}\"></ng-container>\n </li>\n <ng-container *ngTemplateOutlet=\"itemslist; context: {$implicit: getOptionGroupChildren(optgroup)}\"></ng-container>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"!group\">\n <ng-container *ngTemplateOutlet=\"itemslist; context: {$implicit: suggestions}\"></ng-container>\n </ng-container>\n <ng-template #itemslist let-suggestionsToDisplay>\n <ng-container *ngIf=\"!virtualScroll; else virtualScrollList\">\n <li role=\"option\" *ngFor=\"let option of suggestionsToDisplay; let idx = index\" class=\"p-autocomplete-item\" pRipple [ngClass]=\"{'p-highlight': (option === highlightOption)}\" [id]=\"highlightOption == option ? 'p-highlighted-option':''\" (click)=\"selectItem(option)\">\n <span *ngIf=\"!itemTemplate\">{{resolveFieldData(option)}}</span>\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: {$implicit: option, index: idx}\"></ng-container>\n </li>\n </ng-container>\n <ng-template #virtualScrollList>\n <cdk-virtual-scroll-viewport [ngStyle]=\"{'height': scrollHeight}\" [itemSize]=\"itemSize\" *ngIf=\"virtualScroll && !noResults\">\n <ng-container *cdkVirtualFor=\"let option of suggestionsToDisplay; let i = index; let c = count; let f = first; let l = last; let e = even; let o = odd\">\n <li role=\"option\" class=\"p-autocomplete-item\" pRipple [ngClass]=\"{'p-highlight': (option === highlightOption)}\" [ngStyle]=\"{'height': itemSize + 'px'}\" [id]=\"highlightOption == option ? 'p-highlighted-option':''\" (click)=\"selectItem(option)\">\n <span *ngIf=\"!itemTemplate\">{{resolveFieldData(option)}}</span>\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: {$implicit: option, index: i}\"></ng-container>\n </li>\n </ng-container>\n </cdk-virtual-scroll-viewport>\n </ng-template>\n <li *ngIf=\"noResults && showEmptyMessage\" class=\"p-autocomplete-empty-message\">\n <ng-container *ngIf=\"!emptyTemplate; else empty\">\n {{emptyMessageLabel}}\n </ng-container>\n <ng-container #empty *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\n </li>\n </ng-template>\n </ul>\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </div>\n </span>\n `,\n animations: [\n trigger('overlayAnimation', [\n transition(':enter', [\n style({opacity: 0, transform: 'scaleY(0.8)'}),\n animate('{{showTransitionParams}}')\n ]),\n transition(':leave', [\n animate('{{hideTransitionParams}}', style({ opacity: 0 }))\n ])\n ])\n ],\n host: {\n 'class': 'p-element p-inputwrapper',\n '[class.p-inputwrapper-filled]': 'filled',\n '[class.p-inputwrapper-focus]': '(focus && !disabled) || overlayVisible'\n },\n providers: [AUTOCOMPLETE_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./autocomplete.css']\n})\nexport class AutoComplete implements AfterViewChecked,AfterContentInit,OnDestroy,ControlValueAccessor {\n\n @Input() minLength: number = 1;\n\n @Input() delay: number = 300;\n\n @Input() style: any;\n\n @Input() panelStyle: any;\n\n @Input() styleClass: string;\n\n @Input() panelStyleClass: string;\n\n @Input() inputStyle: any;\n\n @Input() inputId: string;\n\n @Input() inputStyleClass: string;\n\n @Input() placeholder: string;\n\n @Input() readonly: boolean;\n\n @Input() disabled: boolean;\n\n @Input() virtualScroll: boolean;\n\n @Input() itemSize: number;\n\n @Input() maxlength: number;\n\n @Input() name: string;\n\n @Input() required: boolean;\n\n @Input() size: number;\n\n @Input() appendTo: any;\n\n @Input() autoHighlight: boolean;\n\n @Input() forceSelection: boolean;\n\n @Input() type: string = 'text';\n\n @Input() autoZIndex: boolean = true;\n\n @Input() baseZIndex: number = 0;\n\n @Input() ariaLabel: string;\n\n @Input() dropdownAriaLabel: string;\n\n @Input() ariaLabelledBy: string;\n\n @Input() dropdownIcon: string = \"pi pi-chevron-down\";\n\n @Input() unique: boolean = true;\n\n @Input() group: boolean;\n\n @Input() completeOnFocus: boolean = false;\n\n @Output() completeMethod: EventEmitter<any> = new EventEmitter();\n\n @Output() onSelect: EventEmitter<any> = new EventEmitter();\n\n @Output() onUnselect: EventEmitter<any> = new EventEmitter();\n\n @Output() onFocus: EventEmitter<any> = new EventEmitter();\n\n @Output() onBlur: EventEmitter<any> = new EventEmitter();\n\n @Output() onDropdownClick: EventEmitter<any> = new EventEmitter();\n\n\t@Output() onClear: EventEmitter<any> = new EventEmitter();\n\n @Output() onKeyUp: EventEmitter<any> = new EventEmitter();\n\n @Output() onShow: EventEmitter<any> = new EventEmitter();\n\n @Output() onHide: EventEmitter<any> = new EventEmitter();\n\n @Input() field: string;\n\n @Input() scrollHeight: string = '200px';\n\n @Input() dropdown: boolean;\n\n @Input() showEmptyMessage: boolean;\n\n @Input() dropdownMode: string = 'blank';\n\n @Input() multiple: boolean;\n\n @Input() tabindex: number;\n\n @Input() dataKey: string;\n\n @Input() emptyMessage: string;\n\n @Input() showTransitionOptions: string = '.12s cubic-bezier(0, 0, 0.2, 1)';\n\n @Input() hideTransitionOptions: string = '.1s linear';\n\n @Input() autofocus: boolean;\n\n @Input() autocomplete: string = 'off';\n\n @Input() optionGroupChildren: string;\n\n @Input() optionGroupLabel: string;\n\n @ViewChild('container') containerEL: ElementRef;\n\n @ViewChild('in') inputEL: ElementRef;\n\n @ViewChild('multiIn') multiInputEL: ElementRef;\n\n @ViewChild('multiContainer') multiContainerEL: ElementRef;\n\n @ViewChild('ddBtn') dropdownButton: ElementRef;\n\n @ViewChild(CdkVirtualScrollViewport) viewPort: CdkVirtualScrollViewport;\n\n @ContentChildren(PrimeTemplate) templates: QueryList<any>;\n\n overlay: HTMLDivElement;\n\n itemsWrapper: HTMLDivElement;\n\n itemTemplate: TemplateRef<any>;\n\n emptyTemplate: TemplateRef<any>;\n\n headerTemplate: TemplateRef<any>;\n\n footerTemplate: TemplateRef<any>;\n\n selectedItemTemplate: TemplateRef<any>;\n\n groupTemplate: TemplateRef<any>;\n\n value: any;\n\n _suggestions: any[];\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n timeout: any;\n\n overlayVisible: boolean = false;\n\n documentClickListener: any;\n\n suggestionsUpdated: boolean;\n\n highlightOption: any;\n\n highlightOptionChanged: boolean;\n\n focus: boolean = false;\n\n filled: boolean;\n\n inputClick: boolean;\n\n inputKeyDown: boolean;\n\n noResults: boolean;\n\n differ: any;\n\n inputFieldValue: string = null;\n\n loading: boolean;\n\n scrollHandler: any;\n\n documentResizeListener: any;\n\n forceSelectionUpdateModelTimeout: any;\n\n listId: string;\n\n itemClicked: boolean;\n\n virtualScrollSelectedIndex: number;\n\n constructor(public el: ElementRef, public renderer: Renderer2, public cd: ChangeDetectorRef, public differs: IterableDiffers, public config: PrimeNGConfig, public overlayService: OverlayService) {\n this.differ = differs.find([]).create(null);\n this.listId = UniqueComponentId() + '_list';\n }\n\n @Input() get suggestions(): any[] {\n return this._suggestions;\n }\n\n set suggestions(val:any[]) {\n this._suggestions = val;\n this.handleSuggestionsChange();\n }\n\n ngAfterViewChecked() {\n //Use timeouts as since Angular 4.2, AfterViewChecked is broken and not called after panel is updated\n if (this.suggestionsUpdated && this.overlay && this.overlay.offsetParent) {\n setTimeout(() => {\n if (this.overlay) {\n this.alignOverlay();\n }\n }, 1);\n this.suggestionsUpdated = false;\n }\n\n if (this.highlightOptionChanged) {\n setTimeout(() => {\n if (this.overlay && this.itemsWrapper) {\n let listItem = DomHandler.findSingle(this.overlay, 'li.p-highlight');\n\n if (listItem) {\n DomHandler.scrollInView(this.itemsWrapper, listItem);\n }\n\n if (this.virtualScroll && this.viewPort) {\n let range = this.viewPort.getRenderedRange();\n this.updateVirtualScrollSelectedIndex();\n\n if (range.start > this.virtualScrollSelectedIndex || range.end < this.virtualScrollSelectedIndex) {\n this.viewPort.scrollToIndex(this.virtualScrollSelectedIndex);\n }\n }\n }\n }, 1);\n this.highlightOptionChanged = false;\n }\n }\n\n handleSuggestionsChange() {\n if (this._suggestions != null && this.loading) {\n this.highlightOption = null;\n if (this._suggestions.length) {\n this.noResults = false;\n this.show();\n this.suggestionsUpdated = true;\n\n if (this.autoHighlight) {\n this.highlightOption = this._suggestions[0];\n }\n }\n else {\n this.noResults = true;\n\n if (this.showEmptyMessage) {\n this.show();\n this.suggestionsUpdated = true;\n }\n else {\n this.hide();\n }\n }\n\n this.loading = false;\n }\n }\n\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch(item.getType()) {\n case 'item':\n this.itemTemplate = item.template;\n break;\n\n case 'group':\n this.groupTemplate = item.template;\n break;\n\n case 'selectedItem':\n this.selectedItemTemplate = item.template;\n break;\n\n case 'header':\n this.headerTemplate = item.template;\n break;\n\n case 'empty':\n this.emptyTemplate = item.template;\n break;\n\n case 'footer':\n this.footerTemplate = item.template;\n break;\n\n default:\n this.itemTemplate = item.template;\n break;\n }\n });\n }\n\n updateVirtualScrollSelectedIndex() {\n if (this.highlightOption && this.suggestions && this.suggestions.length) {\n this.virtualScrollSelectedIndex = this.findOptionIndex(this.highlightOption, this.suggestions);\n }\n }\n\n writeValue(value: any) : void {\n this.value = value;\n this.filled = this.value && this.value != '';\n this.updateInputField();\n this.cd.markForCheck();\n }\n\n getOptionGroupChildren(optionGroup: any) {\n return this.optionGroupChildren ? ObjectUtils.resolveFieldData(optionGroup, this.optionGroupChildren) : optionGroup.items;\n }\n\n getOptionGroupLabel(optionGroup: any) {\n return this.optionGroupLabel ? ObjectUtils.resolveFieldData(optionGroup, this.optionGroupLabel) : (optionGroup.label != undefined ? optionGroup.label : optionGroup);\n }\n\n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n\n setDisabledState(val: boolean): void {\n this.disabled = val;\n this.cd.markForCheck();\n }\n\n onInput(event: Event) {\n // When an input element with a placeholder is clicked, the onInput event is invoked in IE.\n if (!this.inputKeyDown && DomHandler.isIE()) {\n return;\n }\n\n if (this.timeout) {\n clearTimeout(this.timeout);\n }\n\n let value = (<HTMLInputElement> event.target).value;\n if (!this.multiple && !this.forceSelection) {\n this.onModelChange(value);\n }\n\n if (value.length === 0 && !this.multiple) {\n this.hide();\n this.onClear.emit(event);\n\t this.onModelChange(value);\n }\n\n if (value.length >= this.minLength) {\n this.timeout = setTimeout(() => {\n this.search(event, value);\n }, this.delay);\n }\n else {\n this.hide();\n }\n this.updateFilledState();\n this.inputKeyDown = false;\n }\n\n onInputClick(event: MouseEvent) {\n if (this.documentClickListener) {\n this.inputClick = true;\n }\n }\n\n search(event: any, query: string) {\n //allow empty string but not undefined or null\n if (query === undefined || query === null) {\n return;\n }\n\n this.loading = true;\n\n this.completeMethod.emit({\n originalEvent: event,\n query: query\n });\n }\n\n selectItem(option: any, focus: boolean = true) {\n if (this.forceSelectionUpdateModelTimeout) {\n clearTimeout(this.forceSelectionUpdateModelTimeout);\n this.forceSelectionUpdateModelTimeout = null;\n }\n\n if (this.multiple) {\n this.multiInputEL.nativeElement.value = '';\n this.value = this.value||[];\n if (!this.isSelected(option) || !this.unique) {\n this.value = [...this.value,option];\n this.onModelChange(this.value);\n }\n }\n else {\n this.inputEL.nativeElement.value = this.resolveFieldData(option);\n this.value = option;\n this.onModelChange(this.value);\n }\n\n this.onSelect.emit(option);\n this.updateFilledState();\n\n if (focus) {\n this.itemClicked = true;\n this.focusInput();\n }\n }\n\n show() {\n if (this.multiInputEL || this.inputEL) {\n let hasFocus = this.multiple ?\n this.multiInputEL.nativeElement.ownerDocument.activeElement == this.multiInputEL.nativeElement :\n this.inputEL.nativeElement.ownerDocument.activeElement == this.inputEL.nativeElement;\n\n if (!this.overlayVisible && hasFocus) {\n this.overlayVisible = true;\n }\n }\n }\n\n onOverlayAnimationStart(event: AnimationEvent) {\n switch (event.toState) {\n case 'visible':\n this.overlay = event.element;\n this.itemsWrapper = this.virtualScroll ? DomHandler.findSingle(this.overlay, '.cdk-virtual-scroll-viewport') : this.overlay;\n this.appendOverlay();\n\n if (this.autoZIndex) {\n ZIndexUtils.set('overlay', this.overlay, this.baseZIndex + this.config.zIndex.overlay);\n }\n\n this.alignOverlay();\n this.bindDocumentClickListener();\n this.bindDocumentResizeListener();\n this.bindScrollListener();\n this.onShow.emit(event);\n break;\n\n case 'void':\n this.onOverlayHide();\n break;\n }\n }\n\n onOverlayAnimationEnd(event: AnimationEvent) {\n switch(event.toState) {\n case 'void':\n if (this.autoZIndex) {\n ZIndexUtils.clear(event.element);\n }\n break;\n }\n }\n\n onOverlayClick(event) {\n this.overlayService.add({\n originalEvent: event,\n target: this.el.nativeElement\n });\n }\n\n appendOverlay() {\n if (this.appendTo) {\n if (this.appendTo === 'body')\n document.body.appendChild(this.overlay);\n else\n DomHandler.appendChild(this.overlay, this.appendTo);\n\n if (!this.overlay.style.minWidth) {\n this.overlay.style.minWidth = DomHandler.getWidth(this.el.nativeElement.children[0]) + 'px';\n }\n }\n }\n\n resolveFieldData(value) {\n let data = this.field ? ObjectUtils.resolveFieldData(value, this.field) : value;\n return data !== (null || undefined) ? data : '';\n }\n\n restoreOverlayAppend() {\n if (this.overlay && this.appendTo) {\n this.el.nativeElement.appendChild(this.overlay);\n }\n }\n\n alignOverlay() {\n if (this.appendTo)\n DomHandler.absolutePosition(this.overlay, (this.multiple ? this.multiContainerEL.nativeElement : this.inputEL.nativeElement));\n else\n DomHandler.relativePosition(this.overlay, (this.multiple ? this.multiContainerEL.nativeElement : this.inputEL.nativeElement));\n }\n\n hide() {\n this.overlayVisible = false;\n this.cd.markForCheck();\n }\n\n handleDropdownClick(event) {\n if (!this.overlayVisible) {\n this.focusInput();\n let queryValue = this.multiple ? this.multiInputEL.nativeElement.value : this.inputEL.nativeElement.value;\n\n if (this.dropdownMode === 'blank')\n this.search(event, '');\n else if (this.dropdownMode === 'current')\n this.search(event, queryValue);\n\n this.onDropdownClick.emit({\n originalEvent: event,\n query: queryValue\n });\n }\n else {\n this.hide();\n }\n }\n\n focusInput() {\n if (this.multiple)\n this.multiInputEL.nativeElement.focus();\n else\n this.inputEL.nativeElement.focus();\n }\n\n get emptyMessageLabel(): string {\n return this.emptyMessage || this.config.getTranslation(TranslationKeys.EMPTY_MESSAGE);\n }\n\n removeItem(item: any) {\n let itemIndex = DomHandler.index(item);\n let removedValue = this.value[itemIndex];\n this.value = this.value.filter((val, i) => i!=itemIndex);\n this.onModelChange(this.value);\n this.updateFilledState();\n this.onUnselect.emit(removedValue);\n }\n\n onKeydown(event) {\n if (this.overlayVisible) {\n switch(event.which) {\n //down\n case 40:\n if (this.group) {\n let highlightItemIndex = this.findOptionGroupIndex(this.highlightOption, this.suggestions);\n\n if (highlightItemIndex !== -1) {\n let nextItemIndex = highlightItemIndex.itemIndex + 1;\n if (nextItemIndex < (this.getOptionGroupChildren(this.suggestions[highlightItemIndex.groupIndex]).length)) {\n this.highlightOption = this.getOptionGroupChildren(this.suggestions[highlightItemIndex.groupIndex])[nextItemIndex];\n this.highlightOptionChanged = true;\n }\n else if (this.suggestions[highlightItemIndex.groupIndex + 1]) {\n this.highlightOption = this.getOptionGroupChildren(this.suggestions[highlightItemIndex.groupIndex + 1])[0];\n this.highlightOptionChanged = true;\n }\n }\n else {\n this.highlightOption = this.getOptionGroupChildren(this.suggestions[0])[0];\n }\n }\n else {\n let highlightItemIndex = this.findOptionIndex(this.highlightOption, this.suggestions);\n\n if (highlightItemIndex != -1) {\n var nextItemIndex = highlightItemIndex + 1;\n if (nextItemIndex != (this.suggestions.length)) {\n this.highlightOption = this.suggestions[nextItemIndex];\n this.highlightOptionChanged = true;\n }\n }\n else {\n this.highlightOption = this.suggestions[0];\n }\n }\n\n event.preventDefault();\n break;\n\n //up\n case 38:\n if (this.group) {\n let highlightItemIndex = this.findOptionGroupIndex(this.highlightOption, this.suggestions);\n if (highlightItemIndex !== -1) {\n let prevItemIndex = highlightItemIndex.itemIndex - 1;\n if (prevItemIndex >= 0) {\n this.highlightOption = this.getOptionGroupChildren(this.suggestions[highlightItemIndex.groupIndex])[prevItemIndex];\n this.highlightOptionChanged = true;\n }\n else if (prevItemIndex < 0) {\n let prevGroup = this.suggestions[highlightItemIndex.groupIndex - 1];\n if (prevGroup) {\n this.highlightOption = this.getOptionGroupChildren(prevGroup)[this.getOptionGroupChildren(prevGroup).length - 1];\n this.highlightOptionChanged = true;\n }\n }\n }\n }\n else {\n let highlightItemIndex = this.findOptionIndex(this.highlightOption, this.suggestions);\n\n if (highlightItemIndex > 0) {\n let prevItemIndex = highlightItemIndex - 1;\n this.highlightOption = this.suggestions[prevItemIndex];\n this.highlightOptionChanged = true;\n }\n }\n\n event.preventDefault();\n break;\n\n //enter\n case 13:\n if (this.highlightOption) {\n this.selectItem(this.highlightOption);\n this.hide();\n }\n event.preventDefault();\n break;\n\n //escape\n case 27:\n this.hide();\n event.preventDefault();\n break;\n\n\n //tab\n case 9:\n if (this.highlightOption) {\n this.selectItem(this.highlightOption);\n }\n this.hide();\n break;\n }\n } else {\n if (event.which === 40 && this.suggestions) {\n this.search(event,event.target.value);\n }\n }\n\n if (this.multiple) {\n switch(event.which) {\n //backspace\n case 8:\n if (this.value && this.value.length && !this.multiInputEL.nativeElement.value) {\n this.value = [...this.value];\n const removedValue = this.value.pop();\n this.onModelChange(this.value);\n this.updateFilledState();\n this.onUnselect.emit(removedValue);\n }\n break;\n }\n }\n\n this.inputKeyDown = true;\n }\n\n onKeyup(event) {\n this.onKeyUp.emit(event);\n }\n\n onInputFocus(event) {\n if (!this.itemClicked && this.completeOnFocus ) {\n let queryValue = this.multiple ? this.multiInputEL.nativeElement.value : this.inputEL.nativeElement.value;\n this.search(event, queryValue);\n }\n\n this.focus = true;\n this.onFocus.emit(event);\n this.itemClicked = false;\n }\n\n onInputBlur(event) {\n this.focus = false;\n this.onModelTouched();\n this.onBlur.emit(event);\n }\n\n onInputChange(event) {\n if (this.forceSelection) {\n let valid = false;\n let inputValue = event.target.value.trim();\n\n if (this.suggestions) {\n for (let suggestion of this.suggestions) {\n let itemValue = this.field ? ObjectUtils.resolveFieldData(suggestion, this.field) : suggestion;\n if (itemValue && inputValue === itemValue.trim()) {\n valid = true;\n this.forceSelectionUpdateModelTimeout = setTimeout(() => {\n this.selectItem(suggestion, false);\n }, 250);\n break;\n }\n }\n }\n\n if (!valid) {\n if (this.multiple) {\n this.multiInputEL.nativeElement.value = '';\n }\n else {\n this.value = null;\n this.inputEL.nativeElement.value = '';\n }\n\n this.onClear.emit(event);\n this.onModelChange(this.value);\n this.updateFilledState();\n }\n }\n }\n\n onInputPaste(event: ClipboardEvent) {\n this.onKeydown(event);\n }\n\n isSelected(val: any): boolean {\n let selected: boolean = false;\n if (this.value && this.value.length) {\n for (let i = 0; i < this.value.length; i++) {\n if (ObjectUtils.equals(this.value[i], val, this.dataKey)) {\n selected = true;\n break;\n }\n }\n }\n return selected;\n }\n\n findOptionIndex(option, suggestions): number {\n let index: number = -1;\n if (suggestions) {\n for (let i = 0; i < suggestions.length; i++) {\n if (ObjectUtils.equals(option, suggestions[i])) {\n index = i;\n break;\n }\n }\n }\n\n return index;\n }\n\n findOptionGroupIndex(val: any, opts: any[]): any {\n let groupIndex, itemIndex;\n\n if (opts) {\n for (let i = 0; i < opts.length; i++) {\n groupIndex = i;\n itemIndex = this.findOptionIndex(val, this.getOptionGroupChildren(opts[i]));\n\n if (itemIndex !== -1) {\n break;\n }\n }\n }\n\n if (itemIndex !== -1) {\n return {groupIndex: groupIndex, itemIndex: itemIndex};\n }\n else {\n return -1;\n }\n }\n\n updateFilledState() {\n if (this.multiple)\n this.filled = (this.value && this.value.length) || (this.multiInputEL && this.multiInputEL.nativeElement && this.multiInputEL.nativeElement.value != '');\n else\n this.filled = (this.inputFieldValue && this.inputFieldValue != '') || (this.inputEL && this.inputEL.nativeElement && this.inputEL.nativeElement.value != '');;\n }\n\n updateInputField() {\n let formattedValue = this.resolveFieldData(this.value);\n this.inputFieldValue = formattedValue;\n\n if (this.inputEL && this.inputEL.nativeElement) {\n this.inputEL.nativeElement.value = formattedValue;\n }\n\n this.updateFilledState();\n }\n\n bindDocumentClickListener() {\n if (!this.documentClickListener) {\n const documentTarget: any = this.el ? this.el.nativeElement.ownerDocument : 'document';\n\n this.documentClickListener = this.renderer.listen(documentTarget, 'click', (event) => {\n if (event.which === 3) {\n return;\n }\n\n if (!this.inputClick && !this.isDropdownClick(event)) {\n this.hide();\n }\n\n this.inputClick = false;\n this.cd.markForCheck();\n });\n }\n }\n\n isDropdownClick(event) {\n if (this.dropdown) {\n let target = event.target;\n return (target === this.dropdownButton.nativeElement || target.parentNode === this.dropdownButton.nativeElement);\n }\n else {\n return false;\n }\n }\n\n unbindDocumentClickListener() {\n if (this.documentClickListener) {\n this.documentClickListener();\n this.documentClickListener = null;\n }\n }\n\n bindDocumentResizeListener() {\n this.documentResizeListener = this.onWindowResize.bind(this);\n window.addEventListener('resize', this.documentResizeListener);\n }\n\n unbindDocumentResizeListener() {\n if (this.documentResizeListener) {\n window.removeEventListener('resize', this.documentResizeListener);\n this.documentResizeListener = null;\n }\n }\n\n onWindowResize() {\n this.hide();\n }\n\n bindScrollListener() {\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.containerEL.nativeElement, () => {\n if (this.overlayVisible) {\n this.hide();\n }\n });\n }\n\n this.scrollHandler.bindScrollListener();\n }\n\n unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n }\n\n onOverlayHide() {\n this.unbindDocumentClickListener();\n this.unbindDocumentResizeListener();\n this.unbindScrollListener();\n this.overlay = null;\n this.onHide.emit();\n }\n\n ngOnDestroy() {\n if (this.forceSelectionUpdateModelTimeout) {\n clearTimeout(this.forceSelectionUpdateModelTimeout);\n this.forceSelectionUpdateModelTimeout = null;\n }\n\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n\n if (this.overlay) {\n ZIndexUtils.clear(this.overlay);\n }\n\n this.restoreOverlayAppend();\n this.onOverlayHide();\n }\n}\n\n@NgModule({\n imports: [CommonModule,InputTextModule,ButtonModule,SharedModule,RippleModule,ScrollingModule],\n exports: [AutoComplete,SharedModule,ScrollingModule],\n declarations: [AutoComplete]\n})\nexport class AutoCompleteModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import { CommonModule } from '@angular/common';
5
5
  import * as i1 from 'primeng/api';
6
6
  import { PrimeTemplate } from 'primeng/api';
7
7
  import { ZIndexUtils } from 'primeng/utils';
8
+ import { DomHandler } from 'primeng/dom';
8
9
 
9
10
  class BlockUI {
10
11
  constructor(el, cd, config) {
@@ -18,13 +19,15 @@ class BlockUI {
18
19
  return this._blocked;
19
20
  }
20
21
  set blocked(val) {
21
- this._blocked = val;
22
22
  if (this.mask && this.mask.nativeElement) {
23
- if (this._blocked)
23
+ if (val)
24
24
  this.block();
25
25
  else
26
26
  this.unblock();
27
27
  }
28
+ else {
29
+ this._blocked = val;
30
+ }
28
31
  }
29
32
  ngAfterViewInit() {
30
33
  if (this.target && !this.target.getBlockableElement) {
@@ -44,6 +47,7 @@ class BlockUI {
44
47
  });
45
48
  }
46
49
  block() {
50
+ this._blocked = true;
47
51
  if (this.target) {
48
52
  this.target.getBlockableElement().appendChild(this.mask.nativeElement);
49
53
  this.target.getBlockableElement().style.position = 'relative';
@@ -56,16 +60,32 @@ class BlockUI {
56
60
  }
57
61
  }
58
62
  unblock() {
63
+ this.animationEndListener = this.destroyModal.bind(this);
64
+ this.mask.nativeElement.addEventListener('animationend', this.animationEndListener);
65
+ DomHandler.addClass(this.mask.nativeElement, 'p-component-overlay-leave');
66
+ }
67
+ destroyModal() {
68
+ this._blocked = false;
69
+ DomHandler.removeClass(this.mask.nativeElement, 'p-component-overlay-leave');
59
70
  ZIndexUtils.clear(this.mask.nativeElement);
60
71
  this.el.nativeElement.appendChild(this.mask.nativeElement);
72
+ this.unbindAnimationEndListener();
73
+ this.cd.markForCheck();
74
+ }
75
+ unbindAnimationEndListener() {
76
+ if (this.animationEndListener && this.mask) {
77
+ this.mask.nativeElement.removeEventListener('animationend', this.animationEndListener);
78
+ this.animationEndListener = null;
79
+ }
61
80
  }
62
81
  ngOnDestroy() {
63
82
  this.unblock();
83
+ this.destroyModal();
64
84
  }
65
85
  }
66
86
  BlockUI.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: BlockUI, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.PrimeNGConfig }], target: i0.ɵɵFactoryTarget.Component });
67
87
  BlockUI.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: BlockUI, selector: "p-blockUI", inputs: { target: "target", autoZIndex: "autoZIndex", baseZIndex: "baseZIndex", styleClass: "styleClass", blocked: "blocked" }, host: { classAttribute: "p-element" }, queries: [{ propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "mask", first: true, predicate: ["mask"], descendants: true }], ngImport: i0, template: `
68
- <div #mask [class]="styleClass" [ngClass]="{'p-blockui-document':!target, 'p-blockui p-component-overlay': true}" [ngStyle]="{display: blocked ? 'flex' : 'none'}">
88
+ <div #mask [class]="styleClass" [ngClass]="{'p-blockui-document':!target, 'p-blockui p-component-overlay p-component-overlay-enter': true}" [ngStyle]="{display: blocked ? 'flex' : 'none'}">
69
89
  <ng-content></ng-content>
70
90
  <ng-container *ngTemplateOutlet="contentTemplate"></ng-container>
71
91
  </div>
@@ -75,7 +95,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImpor
75
95
  args: [{
76
96
  selector: 'p-blockUI',
77
97
  template: `
78
- <div #mask [class]="styleClass" [ngClass]="{'p-blockui-document':!target, 'p-blockui p-component-overlay': true}" [ngStyle]="{display: blocked ? 'flex' : 'none'}">
98
+ <div #mask [class]="styleClass" [ngClass]="{'p-blockui-document':!target, 'p-blockui p-component-overlay p-component-overlay-enter': true}" [ngStyle]="{display: blocked ? 'flex' : 'none'}">
79
99
  <ng-content></ng-content>
80
100
  <ng-container *ngTemplateOutlet="contentTemplate"></ng-container>
81
101
  </div>
@@ -1 +1 @@
1
- {"version":3,"file":"primeng-blockui.js","sources":["../../src/app/components/blockui/blockui.ts","../../src/app/components/blockui/primeng-blockui.ts"],"sourcesContent":["import {NgModule,Component,Input,AfterViewInit,OnDestroy,ElementRef,ViewChild,ChangeDetectionStrategy, ViewEncapsulation, ChangeDetectorRef, ContentChildren, QueryList, TemplateRef} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {PrimeNGConfig, PrimeTemplate} from 'primeng/api';\nimport {ZIndexUtils} from 'primeng/utils';\n\n@Component({\n selector: 'p-blockUI',\n template: `\n <div #mask [class]=\"styleClass\" [ngClass]=\"{'p-blockui-document':!target, 'p-blockui p-component-overlay': true}\" [ngStyle]=\"{display: blocked ? 'flex' : 'none'}\">\n <ng-content></ng-content>\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./blockui.css'],\n host: {\n 'class': 'p-element'\n }\n})\nexport class BlockUI implements AfterViewInit,OnDestroy {\n\n @Input() target: any;\n\n @Input() autoZIndex: boolean = true;\n\n @Input() baseZIndex: number = 0;\n\n @Input() styleClass: string;\n\n @ContentChildren(PrimeTemplate) templates: QueryList<any>;\n\n @ViewChild('mask') mask: ElementRef;\n\n _blocked: boolean;\n\n contentTemplate: TemplateRef<any>;\n\n constructor(public el: ElementRef, public cd: ChangeDetectorRef, public config: PrimeNGConfig) {}\n\n @Input() get blocked(): boolean {\n return this._blocked;\n }\n\n set blocked(val: boolean) {\n this._blocked = val;\n\n if (this.mask && this.mask.nativeElement) {\n if (this._blocked)\n this.block();\n else\n this.unblock();\n }\n }\n\n ngAfterViewInit() {\n if (this.target && !this.target.getBlockableElement) {\n throw 'Target of BlockUI must implement BlockableUI interface';\n }\n }\n\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch(item.getType()) {\n case 'content':\n this.contentTemplate = item.template;\n break;\n\n default:\n this.contentTemplate = item.template;\n break;\n }\n });\n }\n\n block() {\n if (this.target) {\n this.target.getBlockableElement().appendChild(this.mask.nativeElement);\n this.target.getBlockableElement().style.position = 'relative';\n }\n else {\n document.body.appendChild(this.mask.nativeElement);\n }\n\n if (this.autoZIndex) {\n ZIndexUtils.set('modal', this.mask.nativeElement, this.baseZIndex + this.config.zIndex.modal);\n }\n }\n\n unblock() {\n ZIndexUtils.clear(this.mask.nativeElement);\n this.el.nativeElement.appendChild(this.mask.nativeElement);\n }\n\n ngOnDestroy() {\n this.unblock();\n }\n}\n\n@NgModule({\n imports: [CommonModule],\n exports: [BlockUI],\n declarations: [BlockUI]\n})\nexport class BlockUIModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"primeng-blockui.js","sources":["../../src/app/components/blockui/blockui.ts","../../src/app/components/blockui/primeng-blockui.ts"],"sourcesContent":["import {NgModule,Component,Input,AfterViewInit,OnDestroy,ElementRef,ViewChild,ChangeDetectionStrategy, ViewEncapsulation, ChangeDetectorRef, ContentChildren, QueryList, TemplateRef} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {PrimeNGConfig, PrimeTemplate} from 'primeng/api';\nimport {ZIndexUtils} from 'primeng/utils';\nimport { DomHandler } from 'primeng/dom';\n\n@Component({\n selector: 'p-blockUI',\n template: `\n <div #mask [class]=\"styleClass\" [ngClass]=\"{'p-blockui-document':!target, 'p-blockui p-component-overlay p-component-overlay-enter': true}\" [ngStyle]=\"{display: blocked ? 'flex' : 'none'}\">\n <ng-content></ng-content>\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./blockui.css'],\n host: {\n 'class': 'p-element'\n }\n})\nexport class BlockUI implements AfterViewInit,OnDestroy {\n\n @Input() target: any;\n\n @Input() autoZIndex: boolean = true;\n\n @Input() baseZIndex: number = 0;\n\n @Input() styleClass: string;\n\n @ContentChildren(PrimeTemplate) templates: QueryList<any>;\n\n @ViewChild('mask') mask: ElementRef;\n\n _blocked: boolean;\n\n animationEndListener: any;\n\n contentTemplate: TemplateRef<any>;\n\n constructor(public el: ElementRef, public cd: ChangeDetectorRef, public config: PrimeNGConfig) {}\n\n @Input() get blocked(): boolean {\n return this._blocked;\n }\n\n set blocked(val: boolean) {\n if (this.mask && this.mask.nativeElement) {\n if (val)\n this.block();\n else\n this.unblock();\n }\n else {\n this._blocked = val;\n }\n }\n\n ngAfterViewInit() {\n if (this.target && !this.target.getBlockableElement) {\n throw 'Target of BlockUI must implement BlockableUI interface';\n }\n }\n\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch(item.getType()) {\n case 'content':\n this.contentTemplate = item.template;\n break;\n\n default:\n this.contentTemplate = item.template;\n break;\n }\n });\n }\n\n block() {\n this._blocked = true;\n\n if (this.target) {\n this.target.getBlockableElement().appendChild(this.mask.nativeElement);\n this.target.getBlockableElement().style.position = 'relative';\n }\n else {\n document.body.appendChild(this.mask.nativeElement);\n }\n\n if (this.autoZIndex) {\n ZIndexUtils.set('modal', this.mask.nativeElement, this.baseZIndex + this.config.zIndex.modal);\n }\n }\n\n unblock() {\n this.animationEndListener = this.destroyModal.bind(this);\n this.mask.nativeElement.addEventListener('animationend', this.animationEndListener);\n DomHandler.addClass(this.mask.nativeElement, 'p-component-overlay-leave')\n }\n\n destroyModal() {\n this._blocked = false;\n DomHandler.removeClass(this.mask.nativeElement, 'p-component-overlay-leave');\n ZIndexUtils.clear(this.mask.nativeElement);\n this.el.nativeElement.appendChild(this.mask.nativeElement);\n this.unbindAnimationEndListener();\n this.cd.markForCheck();\n }\n\n unbindAnimationEndListener() {\n if (this.animationEndListener && this.mask) {\n this.mask.nativeElement.removeEventListener('animationend', this.animationEndListener);\n this.animationEndListener = null;\n }\n }\n\n ngOnDestroy() {\n this.unblock();\n this.destroyModal();\n }\n}\n\n@NgModule({\n imports: [CommonModule],\n exports: [BlockUI],\n declarations: [BlockUI]\n})\nexport class BlockUIModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}