primeng 11.0.0-rc.1 → 11.1.0

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 (902) hide show
  1. package/api/confirmation.d.ts +2 -0
  2. package/api/filterservice.d.ts +22 -0
  3. package/api/primeicons.d.ts +19 -0
  4. package/api/primeng-api.metadata.json +1 -1
  5. package/api/public_api.d.ts +1 -0
  6. package/api/translation.d.ts +1 -0
  7. package/api/translationkeys.d.ts +1 -0
  8. package/autocomplete/autocomplete.d.ts +0 -1
  9. package/autocomplete/primeng-autocomplete.metadata.json +1 -1
  10. package/avatar/avatar.d.ts +18 -0
  11. package/avatar/package.json +11 -0
  12. package/avatar/primeng-avatar.d.ts +4 -0
  13. package/avatar/primeng-avatar.metadata.json +1 -0
  14. package/avatar/public_api.d.ts +1 -0
  15. package/avatargroup/avatargroup.d.ts +6 -0
  16. package/avatargroup/package.json +11 -0
  17. package/avatargroup/primeng-avatargroup.d.ts +4 -0
  18. package/avatargroup/primeng-avatargroup.metadata.json +1 -0
  19. package/avatargroup/public_api.d.ts +1 -0
  20. package/badge/badge.d.ts +33 -0
  21. package/badge/package.json +11 -0
  22. package/badge/primeng-badge.d.ts +4 -0
  23. package/badge/primeng-badge.metadata.json +1 -0
  24. package/badge/public_api.d.ts +1 -0
  25. package/bundles/primeng-accordion.umd.js.map +1 -1
  26. package/bundles/primeng-accordion.umd.min.js.map +1 -1
  27. package/bundles/primeng-api.umd.js +539 -5
  28. package/bundles/primeng-api.umd.js.map +1 -1
  29. package/bundles/primeng-api.umd.min.js +1 -1
  30. package/bundles/primeng-api.umd.min.js.map +1 -1
  31. package/bundles/primeng-autocomplete.umd.js +12 -9
  32. package/bundles/primeng-autocomplete.umd.js.map +1 -1
  33. package/bundles/primeng-autocomplete.umd.min.js +1 -1
  34. package/bundles/primeng-autocomplete.umd.min.js.map +1 -1
  35. package/bundles/primeng-avatar.umd.js +64 -0
  36. package/bundles/primeng-avatar.umd.js.map +1 -0
  37. package/bundles/primeng-avatar.umd.min.js +2 -0
  38. package/bundles/primeng-avatar.umd.min.js.map +1 -0
  39. package/bundles/primeng-avatargroup.umd.js +48 -0
  40. package/bundles/primeng-avatargroup.umd.js.map +1 -0
  41. package/bundles/primeng-avatargroup.umd.min.js +2 -0
  42. package/bundles/primeng-avatargroup.umd.min.js.map +1 -0
  43. package/bundles/primeng-badge.umd.js +139 -0
  44. package/bundles/primeng-badge.umd.js.map +1 -0
  45. package/bundles/primeng-badge.umd.min.js +2 -0
  46. package/bundles/primeng-badge.umd.min.js.map +1 -0
  47. package/bundles/primeng-blockui.umd.js.map +1 -1
  48. package/bundles/primeng-blockui.umd.min.js.map +1 -1
  49. package/bundles/primeng-breadcrumb.umd.js.map +1 -1
  50. package/bundles/primeng-breadcrumb.umd.min.js.map +1 -1
  51. package/bundles/primeng-button.umd.js +7 -1
  52. package/bundles/primeng-button.umd.js.map +1 -1
  53. package/bundles/primeng-button.umd.min.js +1 -1
  54. package/bundles/primeng-button.umd.min.js.map +1 -1
  55. package/bundles/primeng-calendar.umd.js +10 -2
  56. package/bundles/primeng-calendar.umd.js.map +1 -1
  57. package/bundles/primeng-calendar.umd.min.js +1 -1
  58. package/bundles/primeng-calendar.umd.min.js.map +1 -1
  59. package/bundles/primeng-captcha.umd.js.map +1 -1
  60. package/bundles/primeng-captcha.umd.min.js.map +1 -1
  61. package/bundles/primeng-card.umd.js.map +1 -1
  62. package/bundles/primeng-card.umd.min.js.map +1 -1
  63. package/bundles/primeng-carousel.umd.js +36 -7
  64. package/bundles/primeng-carousel.umd.js.map +1 -1
  65. package/bundles/primeng-carousel.umd.min.js +1 -1
  66. package/bundles/primeng-carousel.umd.min.js.map +1 -1
  67. package/bundles/primeng-cascadeselect.umd.js +896 -0
  68. package/bundles/primeng-cascadeselect.umd.js.map +1 -0
  69. package/bundles/primeng-cascadeselect.umd.min.js +16 -0
  70. package/bundles/primeng-cascadeselect.umd.min.js.map +1 -0
  71. package/bundles/primeng-chart.umd.js.map +1 -1
  72. package/bundles/primeng-chart.umd.min.js.map +1 -1
  73. package/bundles/primeng-checkbox.umd.js +9 -1
  74. package/bundles/primeng-checkbox.umd.js.map +1 -1
  75. package/bundles/primeng-checkbox.umd.min.js.map +1 -1
  76. package/bundles/primeng-chip.umd.js +67 -0
  77. package/bundles/primeng-chip.umd.js.map +1 -0
  78. package/bundles/primeng-chip.umd.min.js +2 -0
  79. package/bundles/primeng-chip.umd.min.js.map +1 -0
  80. package/bundles/primeng-chips.umd.js +10 -2
  81. package/bundles/primeng-chips.umd.js.map +1 -1
  82. package/bundles/primeng-chips.umd.min.js +2 -2
  83. package/bundles/primeng-chips.umd.min.js.map +1 -1
  84. package/bundles/primeng-codehighlighter.umd.js.map +1 -1
  85. package/bundles/primeng-codehighlighter.umd.min.js.map +1 -1
  86. package/bundles/primeng-colorpicker.umd.js +18 -1
  87. package/bundles/primeng-colorpicker.umd.js.map +1 -1
  88. package/bundles/primeng-colorpicker.umd.min.js +1 -1
  89. package/bundles/primeng-colorpicker.umd.min.js.map +1 -1
  90. package/bundles/primeng-confirmdialog.umd.js +30 -10
  91. package/bundles/primeng-confirmdialog.umd.js.map +1 -1
  92. package/bundles/primeng-confirmdialog.umd.min.js +1 -1
  93. package/bundles/primeng-confirmdialog.umd.min.js.map +1 -1
  94. package/bundles/primeng-confirmpopup.umd.js +17 -8
  95. package/bundles/primeng-confirmpopup.umd.js.map +1 -1
  96. package/bundles/primeng-confirmpopup.umd.min.js +1 -1
  97. package/bundles/primeng-confirmpopup.umd.min.js.map +1 -1
  98. package/bundles/primeng-contextmenu.umd.js +9 -1
  99. package/bundles/primeng-contextmenu.umd.js.map +1 -1
  100. package/bundles/primeng-contextmenu.umd.min.js.map +1 -1
  101. package/bundles/primeng-dataview.umd.js +5 -3
  102. package/bundles/primeng-dataview.umd.js.map +1 -1
  103. package/bundles/primeng-dataview.umd.min.js +1 -1
  104. package/bundles/primeng-dataview.umd.min.js.map +1 -1
  105. package/bundles/primeng-defer.umd.js.map +1 -1
  106. package/bundles/primeng-defer.umd.min.js.map +1 -1
  107. package/bundles/primeng-dialog.umd.js +6 -1
  108. package/bundles/primeng-dialog.umd.js.map +1 -1
  109. package/bundles/primeng-dialog.umd.min.js +1 -1
  110. package/bundles/primeng-dialog.umd.min.js.map +1 -1
  111. package/bundles/primeng-divider.umd.js +68 -0
  112. package/bundles/primeng-divider.umd.js.map +1 -0
  113. package/bundles/primeng-divider.umd.min.js +2 -0
  114. package/bundles/primeng-divider.umd.min.js.map +1 -0
  115. package/bundles/primeng-dom.umd.js +9 -1
  116. package/bundles/primeng-dom.umd.js.map +1 -1
  117. package/bundles/primeng-dom.umd.min.js.map +1 -1
  118. package/bundles/primeng-dragdrop.umd.js.map +1 -1
  119. package/bundles/primeng-dragdrop.umd.min.js.map +1 -1
  120. package/bundles/primeng-dropdown.umd.js +16 -6
  121. package/bundles/primeng-dropdown.umd.js.map +1 -1
  122. package/bundles/primeng-dropdown.umd.min.js +1 -1
  123. package/bundles/primeng-dropdown.umd.min.js.map +1 -1
  124. package/bundles/primeng-dynamicdialog.umd.js.map +1 -1
  125. package/bundles/primeng-dynamicdialog.umd.min.js.map +1 -1
  126. package/bundles/primeng-editor.umd.js +7 -3
  127. package/bundles/primeng-editor.umd.js.map +1 -1
  128. package/bundles/primeng-editor.umd.min.js +1 -1
  129. package/bundles/primeng-editor.umd.min.js.map +1 -1
  130. package/bundles/primeng-fieldset.umd.js.map +1 -1
  131. package/bundles/primeng-fieldset.umd.min.js.map +1 -1
  132. package/bundles/primeng-fileupload.umd.js +10 -2
  133. package/bundles/primeng-fileupload.umd.js.map +1 -1
  134. package/bundles/primeng-fileupload.umd.min.js +1 -1
  135. package/bundles/primeng-fileupload.umd.min.js.map +1 -1
  136. package/bundles/primeng-focustrap.umd.js.map +1 -1
  137. package/bundles/primeng-focustrap.umd.min.js.map +1 -1
  138. package/bundles/primeng-fullcalendar.umd.js.map +1 -1
  139. package/bundles/primeng-fullcalendar.umd.min.js.map +1 -1
  140. package/bundles/primeng-galleria.umd.js +9 -1
  141. package/bundles/primeng-galleria.umd.js.map +1 -1
  142. package/bundles/primeng-galleria.umd.min.js.map +1 -1
  143. package/bundles/primeng-gmap.umd.js +9 -1
  144. package/bundles/primeng-gmap.umd.js.map +1 -1
  145. package/bundles/primeng-gmap.umd.min.js.map +1 -1
  146. package/bundles/primeng-inplace.umd.js.map +1 -1
  147. package/bundles/primeng-inplace.umd.min.js.map +1 -1
  148. package/bundles/primeng-inputmask.umd.js.map +1 -1
  149. package/bundles/primeng-inputmask.umd.min.js.map +1 -1
  150. package/bundles/primeng-inputnumber.umd.js +9 -1
  151. package/bundles/primeng-inputnumber.umd.js.map +1 -1
  152. package/bundles/primeng-inputnumber.umd.min.js.map +1 -1
  153. package/bundles/primeng-inputswitch.umd.js.map +1 -1
  154. package/bundles/primeng-inputswitch.umd.min.js.map +1 -1
  155. package/bundles/primeng-inputtext.umd.js.map +1 -1
  156. package/bundles/primeng-inputtext.umd.min.js.map +1 -1
  157. package/bundles/primeng-inputtextarea.umd.js +7 -3
  158. package/bundles/primeng-inputtextarea.umd.js.map +1 -1
  159. package/bundles/primeng-inputtextarea.umd.min.js +1 -1
  160. package/bundles/primeng-inputtextarea.umd.min.js.map +1 -1
  161. package/bundles/primeng-keyfilter.umd.js +9 -1
  162. package/bundles/primeng-keyfilter.umd.js.map +1 -1
  163. package/bundles/primeng-keyfilter.umd.min.js.map +1 -1
  164. package/bundles/primeng-knob.umd.js +250 -0
  165. package/bundles/primeng-knob.umd.js.map +1 -0
  166. package/bundles/primeng-knob.umd.min.js +2 -0
  167. package/bundles/primeng-knob.umd.min.js.map +1 -0
  168. package/bundles/primeng-lightbox.umd.js.map +1 -1
  169. package/bundles/primeng-lightbox.umd.min.js.map +1 -1
  170. package/bundles/primeng-listbox.umd.js +15 -5
  171. package/bundles/primeng-listbox.umd.js.map +1 -1
  172. package/bundles/primeng-listbox.umd.min.js +1 -1
  173. package/bundles/primeng-listbox.umd.min.js.map +1 -1
  174. package/bundles/primeng-megamenu.umd.js.map +1 -1
  175. package/bundles/primeng-megamenu.umd.min.js.map +1 -1
  176. package/bundles/primeng-menu.umd.js +9 -1
  177. package/bundles/primeng-menu.umd.js.map +1 -1
  178. package/bundles/primeng-menu.umd.min.js.map +1 -1
  179. package/bundles/primeng-menubar.umd.js.map +1 -1
  180. package/bundles/primeng-menubar.umd.min.js.map +1 -1
  181. package/bundles/primeng-message.umd.js.map +1 -1
  182. package/bundles/primeng-message.umd.min.js.map +1 -1
  183. package/bundles/primeng-messages.umd.js +10 -1
  184. package/bundles/primeng-messages.umd.js.map +1 -1
  185. package/bundles/primeng-messages.umd.min.js +1 -1
  186. package/bundles/primeng-messages.umd.min.js.map +1 -1
  187. package/bundles/primeng-multiselect.umd.js +22 -9
  188. package/bundles/primeng-multiselect.umd.js.map +1 -1
  189. package/bundles/primeng-multiselect.umd.min.js +1 -1
  190. package/bundles/primeng-multiselect.umd.min.js.map +1 -1
  191. package/bundles/primeng-orderlist.umd.js +15 -5
  192. package/bundles/primeng-orderlist.umd.js.map +1 -1
  193. package/bundles/primeng-orderlist.umd.min.js +1 -1
  194. package/bundles/primeng-orderlist.umd.min.js.map +1 -1
  195. package/bundles/primeng-organizationchart.umd.js +9 -1
  196. package/bundles/primeng-organizationchart.umd.js.map +1 -1
  197. package/bundles/primeng-organizationchart.umd.min.js.map +1 -1
  198. package/bundles/primeng-overlaypanel.umd.js +9 -6
  199. package/bundles/primeng-overlaypanel.umd.js.map +1 -1
  200. package/bundles/primeng-overlaypanel.umd.min.js +1 -1
  201. package/bundles/primeng-overlaypanel.umd.min.js.map +1 -1
  202. package/bundles/primeng-paginator.umd.js +9 -1
  203. package/bundles/primeng-paginator.umd.js.map +1 -1
  204. package/bundles/primeng-paginator.umd.min.js.map +1 -1
  205. package/bundles/primeng-panel.umd.js.map +1 -1
  206. package/bundles/primeng-panel.umd.min.js.map +1 -1
  207. package/bundles/primeng-panelmenu.umd.js +9 -1
  208. package/bundles/primeng-panelmenu.umd.js.map +1 -1
  209. package/bundles/primeng-panelmenu.umd.min.js +1 -1
  210. package/bundles/primeng-panelmenu.umd.min.js.map +1 -1
  211. package/bundles/primeng-password.umd.js.map +1 -1
  212. package/bundles/primeng-password.umd.min.js.map +1 -1
  213. package/bundles/primeng-picklist.umd.js +7 -11
  214. package/bundles/primeng-picklist.umd.js.map +1 -1
  215. package/bundles/primeng-picklist.umd.min.js +1 -1
  216. package/bundles/primeng-picklist.umd.min.js.map +1 -1
  217. package/bundles/primeng-progressbar.umd.js.map +1 -1
  218. package/bundles/primeng-progressbar.umd.min.js.map +1 -1
  219. package/bundles/primeng-progressspinner.umd.js.map +1 -1
  220. package/bundles/primeng-progressspinner.umd.min.js.map +1 -1
  221. package/bundles/primeng-radiobutton.umd.js.map +1 -1
  222. package/bundles/primeng-radiobutton.umd.min.js.map +1 -1
  223. package/bundles/primeng-rating.umd.js.map +1 -1
  224. package/bundles/primeng-rating.umd.min.js.map +1 -1
  225. package/bundles/primeng-ripple.umd.js.map +1 -1
  226. package/bundles/primeng-ripple.umd.min.js.map +1 -1
  227. package/bundles/primeng-scrollpanel.umd.js.map +1 -1
  228. package/bundles/primeng-scrollpanel.umd.min.js.map +1 -1
  229. package/bundles/primeng-scrolltop.umd.js +140 -0
  230. package/bundles/primeng-scrolltop.umd.js.map +1 -0
  231. package/bundles/primeng-scrolltop.umd.min.js +2 -0
  232. package/bundles/primeng-scrolltop.umd.min.js.map +1 -0
  233. package/bundles/primeng-selectbutton.umd.js +11 -3
  234. package/bundles/primeng-selectbutton.umd.js.map +1 -1
  235. package/bundles/primeng-selectbutton.umd.min.js +1 -1
  236. package/bundles/primeng-selectbutton.umd.min.js.map +1 -1
  237. package/bundles/primeng-sidebar.umd.js.map +1 -1
  238. package/bundles/primeng-sidebar.umd.min.js.map +1 -1
  239. package/bundles/primeng-skeleton.umd.js +73 -0
  240. package/bundles/primeng-skeleton.umd.js.map +1 -0
  241. package/bundles/primeng-skeleton.umd.min.js +2 -0
  242. package/bundles/primeng-skeleton.umd.min.js.map +1 -0
  243. package/bundles/primeng-slidemenu.umd.js.map +1 -1
  244. package/bundles/primeng-slidemenu.umd.min.js.map +1 -1
  245. package/bundles/primeng-slider.umd.js +12 -2
  246. package/bundles/primeng-slider.umd.js.map +1 -1
  247. package/bundles/primeng-slider.umd.min.js +1 -1
  248. package/bundles/primeng-slider.umd.min.js.map +1 -1
  249. package/bundles/primeng-spinner.umd.js.map +1 -1
  250. package/bundles/primeng-spinner.umd.min.js.map +1 -1
  251. package/bundles/primeng-splitbutton.umd.js.map +1 -1
  252. package/bundles/primeng-splitbutton.umd.min.js.map +1 -1
  253. package/bundles/primeng-splitter.umd.js +580 -0
  254. package/bundles/primeng-splitter.umd.js.map +1 -0
  255. package/bundles/primeng-splitter.umd.min.js +16 -0
  256. package/bundles/primeng-splitter.umd.min.js.map +1 -0
  257. package/bundles/primeng-steps.umd.js.map +1 -1
  258. package/bundles/primeng-steps.umd.min.js.map +1 -1
  259. package/bundles/primeng-table.umd.js +33 -18
  260. package/bundles/primeng-table.umd.js.map +1 -1
  261. package/bundles/primeng-table.umd.min.js +1 -1
  262. package/bundles/primeng-table.umd.min.js.map +1 -1
  263. package/bundles/primeng-tabmenu.umd.js.map +1 -1
  264. package/bundles/primeng-tabmenu.umd.min.js.map +1 -1
  265. package/bundles/primeng-tabview.umd.js +15 -3
  266. package/bundles/primeng-tabview.umd.js.map +1 -1
  267. package/bundles/primeng-tabview.umd.min.js +1 -1
  268. package/bundles/primeng-tabview.umd.min.js.map +1 -1
  269. package/bundles/primeng-tag.umd.js +62 -0
  270. package/bundles/primeng-tag.umd.js.map +1 -0
  271. package/bundles/primeng-tag.umd.min.js +2 -0
  272. package/bundles/primeng-tag.umd.min.js.map +1 -0
  273. package/bundles/primeng-terminal.umd.js.map +1 -1
  274. package/bundles/primeng-terminal.umd.min.js.map +1 -1
  275. package/bundles/primeng-tieredmenu.umd.js.map +1 -1
  276. package/bundles/primeng-tieredmenu.umd.min.js.map +1 -1
  277. package/bundles/primeng-timeline.umd.js.map +1 -1
  278. package/bundles/primeng-timeline.umd.min.js.map +1 -1
  279. package/bundles/primeng-toast.umd.js +10 -2
  280. package/bundles/primeng-toast.umd.js.map +1 -1
  281. package/bundles/primeng-toast.umd.min.js +1 -1
  282. package/bundles/primeng-toast.umd.min.js.map +1 -1
  283. package/bundles/primeng-togglebutton.umd.js.map +1 -1
  284. package/bundles/primeng-togglebutton.umd.min.js.map +1 -1
  285. package/bundles/primeng-toolbar.umd.js.map +1 -1
  286. package/bundles/primeng-toolbar.umd.min.js.map +1 -1
  287. package/bundles/primeng-tooltip.umd.js.map +1 -1
  288. package/bundles/primeng-tooltip.umd.min.js.map +1 -1
  289. package/bundles/primeng-tree.umd.js +10 -2
  290. package/bundles/primeng-tree.umd.js.map +1 -1
  291. package/bundles/primeng-tree.umd.min.js +1 -1
  292. package/bundles/primeng-tree.umd.min.js.map +1 -1
  293. package/bundles/primeng-treetable.umd.js +19 -9
  294. package/bundles/primeng-treetable.umd.js.map +1 -1
  295. package/bundles/primeng-treetable.umd.min.js +1 -1
  296. package/bundles/primeng-treetable.umd.min.js.map +1 -1
  297. package/bundles/primeng-tristatecheckbox.umd.js.map +1 -1
  298. package/bundles/primeng-tristatecheckbox.umd.min.js.map +1 -1
  299. package/bundles/primeng-utils.umd.js +0 -517
  300. package/bundles/primeng-utils.umd.js.map +1 -1
  301. package/bundles/primeng-utils.umd.min.js +1 -15
  302. package/bundles/primeng-utils.umd.min.js.map +1 -1
  303. package/bundles/primeng-virtualscroller.umd.js.map +1 -1
  304. package/bundles/primeng-virtualscroller.umd.min.js.map +1 -1
  305. package/bundles/primeng.umd.js.map +1 -1
  306. package/button/button.d.ts +4 -0
  307. package/button/primeng-button.metadata.json +1 -1
  308. package/calendar/primeng-calendar.metadata.json +1 -1
  309. package/carousel/carousel.d.ts +2 -1
  310. package/carousel/primeng-carousel.metadata.json +1 -1
  311. package/cascadeselect/cascadeselect.d.ts +134 -0
  312. package/cascadeselect/package.json +11 -0
  313. package/cascadeselect/primeng-cascadeselect.d.ts +4 -0
  314. package/cascadeselect/primeng-cascadeselect.metadata.json +1 -0
  315. package/cascadeselect/public_api.d.ts +1 -0
  316. package/chip/chip.d.ts +19 -0
  317. package/chip/package.json +11 -0
  318. package/chip/primeng-chip.d.ts +4 -0
  319. package/chip/primeng-chip.metadata.json +1 -0
  320. package/chip/public_api.d.ts +1 -0
  321. package/chips/primeng-chips.metadata.json +1 -1
  322. package/colorpicker/colorpicker.d.ts +3 -0
  323. package/colorpicker/primeng-colorpicker.metadata.json +1 -1
  324. package/confirmdialog/confirmdialog.d.ts +3 -0
  325. package/confirmdialog/primeng-confirmdialog.metadata.json +1 -1
  326. package/confirmpopup/confirmpopup.d.ts +1 -0
  327. package/confirmpopup/primeng-confirmpopup.metadata.json +1 -1
  328. package/dataview/dataview.d.ts +3 -1
  329. package/dataview/primeng-dataview.metadata.json +1 -1
  330. package/dialog/dialog.d.ts +1 -0
  331. package/dialog/primeng-dialog.metadata.json +1 -1
  332. package/divider/divider.d.ts +22 -0
  333. package/divider/package.json +11 -0
  334. package/divider/primeng-divider.d.ts +4 -0
  335. package/divider/primeng-divider.metadata.json +1 -0
  336. package/divider/public_api.d.ts +1 -0
  337. package/dropdown/dropdown.d.ts +3 -1
  338. package/dropdown/primeng-dropdown.metadata.json +1 -1
  339. package/editor/editor.d.ts +1 -0
  340. package/editor/primeng-editor.metadata.json +1 -1
  341. package/esm2015/accordion/accordion.js +1 -1
  342. package/esm2015/accordion/primeng-accordion.js +1 -1
  343. package/esm2015/accordion/public_api.js +1 -1
  344. package/esm2015/api/blockableui.js +1 -1
  345. package/esm2015/api/confirmation.js +1 -1
  346. package/esm2015/api/confirmationservice.js +1 -1
  347. package/esm2015/api/contextmenuservice.js +1 -1
  348. package/esm2015/api/filtermatchmode.js +1 -1
  349. package/esm2015/api/filtermetadata.js +1 -1
  350. package/esm2015/api/filteroperator.js +1 -1
  351. package/esm2015/api/filterservice.js +183 -0
  352. package/esm2015/api/lazyloadevent.js +1 -1
  353. package/esm2015/api/megamenuitem.js +1 -1
  354. package/esm2015/api/menuitem.js +1 -1
  355. package/esm2015/api/message.js +1 -1
  356. package/esm2015/api/messageservice.js +1 -1
  357. package/esm2015/api/primeicons.js +20 -1
  358. package/esm2015/api/primeng-api.js +1 -1
  359. package/esm2015/api/primengconfig.js +3 -2
  360. package/esm2015/api/public_api.js +2 -1
  361. package/esm2015/api/selectitem.js +1 -1
  362. package/esm2015/api/selectitemgroup.js +1 -1
  363. package/esm2015/api/shared.js +1 -1
  364. package/esm2015/api/sortevent.js +1 -1
  365. package/esm2015/api/sortmeta.js +1 -1
  366. package/esm2015/api/tablestate.js +1 -1
  367. package/esm2015/api/translation.js +1 -1
  368. package/esm2015/api/translationkeys.js +2 -1
  369. package/esm2015/api/treedragdropservice.js +1 -1
  370. package/esm2015/api/treenode.js +1 -1
  371. package/esm2015/api/treenodedragevent.js +1 -1
  372. package/esm2015/autocomplete/autocomplete.js +4 -9
  373. package/esm2015/autocomplete/primeng-autocomplete.js +1 -1
  374. package/esm2015/autocomplete/public_api.js +1 -1
  375. package/esm2015/avatar/avatar.js +52 -0
  376. package/esm2015/avatar/primeng-avatar.js +5 -0
  377. package/esm2015/avatar/public_api.js +2 -0
  378. package/esm2015/avatargroup/avatargroup.js +31 -0
  379. package/esm2015/avatargroup/primeng-avatargroup.js +5 -0
  380. package/esm2015/avatargroup/public_api.js +2 -0
  381. package/esm2015/badge/badge.js +119 -0
  382. package/esm2015/badge/primeng-badge.js +5 -0
  383. package/esm2015/badge/public_api.js +2 -0
  384. package/esm2015/blockui/blockui.js +1 -1
  385. package/esm2015/blockui/primeng-blockui.js +1 -1
  386. package/esm2015/blockui/public_api.js +1 -1
  387. package/esm2015/breadcrumb/breadcrumb.js +1 -1
  388. package/esm2015/breadcrumb/primeng-breadcrumb.js +1 -1
  389. package/esm2015/breadcrumb/public_api.js +1 -1
  390. package/esm2015/button/button.js +8 -2
  391. package/esm2015/button/primeng-button.js +1 -1
  392. package/esm2015/button/public_api.js +1 -1
  393. package/esm2015/calendar/calendar.js +4 -4
  394. package/esm2015/calendar/primeng-calendar.js +1 -1
  395. package/esm2015/calendar/public_api.js +1 -1
  396. package/esm2015/captcha/captcha.js +1 -1
  397. package/esm2015/captcha/primeng-captcha.js +1 -1
  398. package/esm2015/captcha/public_api.js +1 -1
  399. package/esm2015/card/card.js +1 -1
  400. package/esm2015/card/primeng-card.js +1 -1
  401. package/esm2015/card/public_api.js +1 -1
  402. package/esm2015/carousel/carousel.js +27 -6
  403. package/esm2015/carousel/primeng-carousel.js +1 -1
  404. package/esm2015/carousel/public_api.js +1 -1
  405. package/esm2015/cascadeselect/cascadeselect.js +579 -0
  406. package/esm2015/cascadeselect/primeng-cascadeselect.js +5 -0
  407. package/esm2015/cascadeselect/public_api.js +2 -0
  408. package/esm2015/chart/chart.js +1 -1
  409. package/esm2015/chart/primeng-chart.js +1 -1
  410. package/esm2015/chart/public_api.js +1 -1
  411. package/esm2015/checkbox/checkbox.js +1 -1
  412. package/esm2015/checkbox/primeng-checkbox.js +1 -1
  413. package/esm2015/checkbox/public_api.js +1 -1
  414. package/esm2015/chip/chip.js +56 -0
  415. package/esm2015/chip/primeng-chip.js +5 -0
  416. package/esm2015/chip/public_api.js +2 -0
  417. package/esm2015/chips/chips.js +2 -2
  418. package/esm2015/chips/primeng-chips.js +1 -1
  419. package/esm2015/chips/public_api.js +1 -1
  420. package/esm2015/codehighlighter/codehighlighter.js +1 -1
  421. package/esm2015/codehighlighter/primeng-codehighlighter.js +1 -1
  422. package/esm2015/codehighlighter/public_api.js +1 -1
  423. package/esm2015/colorpicker/colorpicker.js +20 -2
  424. package/esm2015/colorpicker/primeng-colorpicker.js +1 -1
  425. package/esm2015/colorpicker/public_api.js +1 -1
  426. package/esm2015/confirmdialog/confirmdialog.js +30 -11
  427. package/esm2015/confirmdialog/primeng-confirmdialog.js +1 -1
  428. package/esm2015/confirmdialog/public_api.js +1 -1
  429. package/esm2015/confirmpopup/confirmpopup.js +19 -10
  430. package/esm2015/confirmpopup/primeng-confirmpopup.js +1 -1
  431. package/esm2015/confirmpopup/public_api.js +1 -1
  432. package/esm2015/contextmenu/contextmenu.js +1 -1
  433. package/esm2015/contextmenu/primeng-contextmenu.js +1 -1
  434. package/esm2015/contextmenu/public_api.js +1 -1
  435. package/esm2015/dataview/dataview.js +7 -6
  436. package/esm2015/dataview/primeng-dataview.js +1 -1
  437. package/esm2015/dataview/public_api.js +1 -1
  438. package/esm2015/defer/defer.js +1 -1
  439. package/esm2015/defer/primeng-defer.js +1 -1
  440. package/esm2015/defer/public_api.js +1 -1
  441. package/esm2015/dialog/dialog.js +7 -2
  442. package/esm2015/dialog/primeng-dialog.js +1 -1
  443. package/esm2015/dialog/public_api.js +1 -1
  444. package/esm2015/divider/divider.js +55 -0
  445. package/esm2015/divider/primeng-divider.js +5 -0
  446. package/esm2015/divider/public_api.js +2 -0
  447. package/esm2015/dom/connectedoverlayscrollhandler.js +1 -1
  448. package/esm2015/dom/domhandler.js +1 -1
  449. package/esm2015/dom/primeng-dom.js +1 -1
  450. package/esm2015/dom/public_api.js +1 -1
  451. package/esm2015/dragdrop/dragdrop.js +1 -1
  452. package/esm2015/dragdrop/primeng-dragdrop.js +1 -1
  453. package/esm2015/dragdrop/public_api.js +1 -1
  454. package/esm2015/dropdown/dropdown.js +9 -8
  455. package/esm2015/dropdown/primeng-dropdown.js +1 -1
  456. package/esm2015/dropdown/public_api.js +1 -1
  457. package/esm2015/dynamicdialog/dialogservice.js +1 -1
  458. package/esm2015/dynamicdialog/dynamicdialog-config.js +1 -1
  459. package/esm2015/dynamicdialog/dynamicdialog-injector.js +1 -1
  460. package/esm2015/dynamicdialog/dynamicdialog-ref.js +1 -1
  461. package/esm2015/dynamicdialog/dynamicdialog.js +1 -1
  462. package/esm2015/dynamicdialog/dynamicdialogcontent.js +1 -1
  463. package/esm2015/dynamicdialog/primeng-dynamicdialog.js +1 -1
  464. package/esm2015/dynamicdialog/public_api.js +1 -1
  465. package/esm2015/editor/editor.js +8 -4
  466. package/esm2015/editor/primeng-editor.js +1 -1
  467. package/esm2015/editor/public_api.js +1 -1
  468. package/esm2015/fieldset/fieldset.js +1 -1
  469. package/esm2015/fieldset/primeng-fieldset.js +1 -1
  470. package/esm2015/fieldset/public_api.js +1 -1
  471. package/esm2015/fileupload/fileupload.js +3 -3
  472. package/esm2015/fileupload/primeng-fileupload.js +1 -1
  473. package/esm2015/fileupload/public_api.js +1 -1
  474. package/esm2015/focustrap/focustrap.js +1 -1
  475. package/esm2015/focustrap/primeng-focustrap.js +1 -1
  476. package/esm2015/focustrap/public_api.js +1 -1
  477. package/esm2015/fullcalendar/fullcalendar.js +1 -1
  478. package/esm2015/fullcalendar/primeng-fullcalendar.js +1 -1
  479. package/esm2015/fullcalendar/public_api.js +1 -1
  480. package/esm2015/galleria/galleria.js +1 -1
  481. package/esm2015/galleria/primeng-galleria.js +1 -1
  482. package/esm2015/galleria/public_api.js +1 -1
  483. package/esm2015/gmap/gmap.js +1 -1
  484. package/esm2015/gmap/primeng-gmap.js +1 -1
  485. package/esm2015/gmap/public_api.js +1 -1
  486. package/esm2015/inplace/inplace.js +1 -1
  487. package/esm2015/inplace/primeng-inplace.js +1 -1
  488. package/esm2015/inplace/public_api.js +1 -1
  489. package/esm2015/inputmask/inputmask.js +1 -1
  490. package/esm2015/inputmask/primeng-inputmask.js +1 -1
  491. package/esm2015/inputmask/public_api.js +1 -1
  492. package/esm2015/inputnumber/inputnumber.js +1 -1
  493. package/esm2015/inputnumber/primeng-inputnumber.js +1 -1
  494. package/esm2015/inputnumber/public_api.js +1 -1
  495. package/esm2015/inputswitch/inputswitch.js +1 -1
  496. package/esm2015/inputswitch/primeng-inputswitch.js +1 -1
  497. package/esm2015/inputswitch/public_api.js +1 -1
  498. package/esm2015/inputtext/inputtext.js +1 -1
  499. package/esm2015/inputtext/primeng-inputtext.js +1 -1
  500. package/esm2015/inputtext/public_api.js +1 -1
  501. package/esm2015/inputtextarea/inputtextarea.js +9 -5
  502. package/esm2015/inputtextarea/primeng-inputtextarea.js +1 -1
  503. package/esm2015/inputtextarea/public_api.js +1 -1
  504. package/esm2015/keyfilter/keyfilter.js +1 -1
  505. package/esm2015/keyfilter/primeng-keyfilter.js +1 -1
  506. package/esm2015/keyfilter/public_api.js +1 -1
  507. package/esm2015/knob/knob.js +236 -0
  508. package/esm2015/knob/primeng-knob.js +5 -0
  509. package/esm2015/knob/public_api.js +2 -0
  510. package/esm2015/lightbox/lightbox.js +1 -1
  511. package/esm2015/lightbox/primeng-lightbox.js +1 -1
  512. package/esm2015/lightbox/public_api.js +1 -1
  513. package/esm2015/listbox/listbox.js +8 -7
  514. package/esm2015/listbox/primeng-listbox.js +1 -1
  515. package/esm2015/listbox/public_api.js +1 -1
  516. package/esm2015/megamenu/megamenu.js +1 -1
  517. package/esm2015/megamenu/primeng-megamenu.js +1 -1
  518. package/esm2015/megamenu/public_api.js +1 -1
  519. package/esm2015/menu/menu.js +1 -1
  520. package/esm2015/menu/primeng-menu.js +1 -1
  521. package/esm2015/menu/public_api.js +1 -1
  522. package/esm2015/menubar/menubar.js +1 -1
  523. package/esm2015/menubar/primeng-menubar.js +1 -1
  524. package/esm2015/menubar/public_api.js +1 -1
  525. package/esm2015/message/message.js +1 -1
  526. package/esm2015/message/primeng-message.js +1 -1
  527. package/esm2015/message/public_api.js +1 -1
  528. package/esm2015/messages/messages.js +2 -1
  529. package/esm2015/messages/primeng-messages.js +1 -1
  530. package/esm2015/messages/public_api.js +1 -1
  531. package/esm2015/multiselect/multiselect.js +15 -11
  532. package/esm2015/multiselect/primeng-multiselect.js +1 -1
  533. package/esm2015/multiselect/public_api.js +1 -1
  534. package/esm2015/orderlist/orderlist.js +8 -7
  535. package/esm2015/orderlist/primeng-orderlist.js +1 -1
  536. package/esm2015/orderlist/public_api.js +1 -1
  537. package/esm2015/organizationchart/organizationchart.js +1 -1
  538. package/esm2015/organizationchart/primeng-organizationchart.js +1 -1
  539. package/esm2015/organizationchart/public_api.js +1 -1
  540. package/esm2015/overlaypanel/overlaypanel.js +10 -7
  541. package/esm2015/overlaypanel/primeng-overlaypanel.js +1 -1
  542. package/esm2015/overlaypanel/public_api.js +1 -1
  543. package/esm2015/paginator/paginator.js +1 -1
  544. package/esm2015/paginator/primeng-paginator.js +1 -1
  545. package/esm2015/paginator/public_api.js +1 -1
  546. package/esm2015/panel/panel.js +1 -1
  547. package/esm2015/panel/primeng-panel.js +1 -1
  548. package/esm2015/panel/public_api.js +1 -1
  549. package/esm2015/panelmenu/panelmenu.js +1 -1
  550. package/esm2015/panelmenu/primeng-panelmenu.js +1 -1
  551. package/esm2015/panelmenu/public_api.js +1 -1
  552. package/esm2015/password/password.js +1 -1
  553. package/esm2015/password/primeng-password.js +1 -1
  554. package/esm2015/password/public_api.js +1 -1
  555. package/esm2015/picklist/picklist.js +9 -14
  556. package/esm2015/picklist/primeng-picklist.js +1 -1
  557. package/esm2015/picklist/public_api.js +1 -1
  558. package/esm2015/primeng.js +1 -1
  559. package/esm2015/progressbar/primeng-progressbar.js +1 -1
  560. package/esm2015/progressbar/progressbar.js +1 -1
  561. package/esm2015/progressbar/public_api.js +1 -1
  562. package/esm2015/progressspinner/primeng-progressspinner.js +1 -1
  563. package/esm2015/progressspinner/progressspinner.js +1 -1
  564. package/esm2015/progressspinner/public_api.js +1 -1
  565. package/esm2015/public_api.js +1 -1
  566. package/esm2015/radiobutton/primeng-radiobutton.js +1 -1
  567. package/esm2015/radiobutton/public_api.js +1 -1
  568. package/esm2015/radiobutton/radiobutton.js +1 -1
  569. package/esm2015/rating/primeng-rating.js +1 -1
  570. package/esm2015/rating/public_api.js +1 -1
  571. package/esm2015/rating/rating.js +1 -1
  572. package/esm2015/ripple/primeng-ripple.js +1 -1
  573. package/esm2015/ripple/public_api.js +1 -1
  574. package/esm2015/ripple/ripple.js +1 -1
  575. package/esm2015/scrollpanel/primeng-scrollpanel.js +1 -1
  576. package/esm2015/scrollpanel/public_api.js +1 -1
  577. package/esm2015/scrollpanel/scrollpanel.js +1 -1
  578. package/esm2015/scrolltop/primeng-scrolltop.js +5 -0
  579. package/esm2015/scrolltop/public_api.js +2 -0
  580. package/esm2015/scrolltop/scrolltop.js +126 -0
  581. package/esm2015/selectbutton/primeng-selectbutton.js +1 -1
  582. package/esm2015/selectbutton/public_api.js +1 -1
  583. package/esm2015/selectbutton/selectbutton.js +3 -3
  584. package/esm2015/sidebar/primeng-sidebar.js +1 -1
  585. package/esm2015/sidebar/public_api.js +1 -1
  586. package/esm2015/sidebar/sidebar.js +1 -1
  587. package/esm2015/skeleton/primeng-skeleton.js +5 -0
  588. package/esm2015/skeleton/public_api.js +2 -0
  589. package/esm2015/skeleton/skeleton.js +57 -0
  590. package/esm2015/slidemenu/primeng-slidemenu.js +1 -1
  591. package/esm2015/slidemenu/public_api.js +1 -1
  592. package/esm2015/slidemenu/slidemenu.js +1 -1
  593. package/esm2015/slider/primeng-slider.js +1 -1
  594. package/esm2015/slider/public_api.js +1 -1
  595. package/esm2015/slider/slider.js +13 -3
  596. package/esm2015/spinner/primeng-spinner.js +1 -1
  597. package/esm2015/spinner/public_api.js +1 -1
  598. package/esm2015/spinner/spinner.js +1 -1
  599. package/esm2015/splitbutton/primeng-splitbutton.js +1 -1
  600. package/esm2015/splitbutton/public_api.js +1 -1
  601. package/esm2015/splitbutton/splitbutton.js +1 -1
  602. package/esm2015/splitter/primeng-splitter.js +5 -0
  603. package/esm2015/splitter/public_api.js +2 -0
  604. package/esm2015/splitter/splitter.js +262 -0
  605. package/esm2015/steps/primeng-steps.js +1 -1
  606. package/esm2015/steps/public_api.js +1 -1
  607. package/esm2015/steps/steps.js +1 -1
  608. package/esm2015/table/primeng-table.js +1 -1
  609. package/esm2015/table/public_api.js +1 -1
  610. package/esm2015/table/table.js +23 -21
  611. package/esm2015/tabmenu/primeng-tabmenu.js +1 -1
  612. package/esm2015/tabmenu/public_api.js +1 -1
  613. package/esm2015/tabmenu/tabmenu.js +1 -1
  614. package/esm2015/tabview/primeng-tabview.js +1 -1
  615. package/esm2015/tabview/public_api.js +1 -1
  616. package/esm2015/tabview/tabview.js +12 -4
  617. package/esm2015/tag/primeng-tag.js +5 -0
  618. package/esm2015/tag/public_api.js +2 -0
  619. package/esm2015/tag/tag.js +47 -0
  620. package/esm2015/terminal/primeng-terminal.js +1 -1
  621. package/esm2015/terminal/public_api.js +1 -1
  622. package/esm2015/terminal/terminal.js +1 -1
  623. package/esm2015/terminal/terminalservice.js +1 -1
  624. package/esm2015/tieredmenu/primeng-tieredmenu.js +1 -1
  625. package/esm2015/tieredmenu/public_api.js +1 -1
  626. package/esm2015/tieredmenu/tieredmenu.js +1 -1
  627. package/esm2015/timeline/primeng-timeline.js +1 -1
  628. package/esm2015/timeline/public_api.js +1 -1
  629. package/esm2015/timeline/timeline.js +1 -1
  630. package/esm2015/toast/primeng-toast.js +1 -1
  631. package/esm2015/toast/public_api.js +1 -1
  632. package/esm2015/toast/toast.js +2 -2
  633. package/esm2015/togglebutton/primeng-togglebutton.js +1 -1
  634. package/esm2015/togglebutton/public_api.js +1 -1
  635. package/esm2015/togglebutton/togglebutton.js +1 -1
  636. package/esm2015/toolbar/primeng-toolbar.js +1 -1
  637. package/esm2015/toolbar/public_api.js +1 -1
  638. package/esm2015/toolbar/toolbar.js +1 -1
  639. package/esm2015/tooltip/primeng-tooltip.js +1 -1
  640. package/esm2015/tooltip/public_api.js +1 -1
  641. package/esm2015/tooltip/tooltip.js +1 -1
  642. package/esm2015/tree/primeng-tree.js +1 -1
  643. package/esm2015/tree/public_api.js +1 -1
  644. package/esm2015/tree/tree.js +5 -5
  645. package/esm2015/treetable/primeng-treetable.js +1 -1
  646. package/esm2015/treetable/public_api.js +1 -1
  647. package/esm2015/treetable/treetable.js +12 -11
  648. package/esm2015/tristatecheckbox/primeng-tristatecheckbox.js +1 -1
  649. package/esm2015/tristatecheckbox/public_api.js +1 -1
  650. package/esm2015/tristatecheckbox/tristatecheckbox.js +1 -1
  651. package/esm2015/utils/objectutils.js +1 -11
  652. package/esm2015/utils/primeng-utils.js +1 -1
  653. package/esm2015/utils/public_api.js +1 -2
  654. package/esm2015/utils/uniquecomponentid.js +1 -1
  655. package/esm2015/virtualscroller/primeng-virtualscroller.js +1 -1
  656. package/esm2015/virtualscroller/public_api.js +1 -1
  657. package/esm2015/virtualscroller/virtualscroller.js +1 -1
  658. package/fesm2015/primeng-accordion.js.map +1 -1
  659. package/fesm2015/primeng-api.js +204 -2
  660. package/fesm2015/primeng-api.js.map +1 -1
  661. package/fesm2015/primeng-autocomplete.js +3 -8
  662. package/fesm2015/primeng-autocomplete.js.map +1 -1
  663. package/fesm2015/primeng-avatar.js +59 -0
  664. package/fesm2015/primeng-avatar.js.map +1 -0
  665. package/fesm2015/primeng-avatargroup.js +38 -0
  666. package/fesm2015/primeng-avatargroup.js.map +1 -0
  667. package/fesm2015/primeng-badge.js +126 -0
  668. package/fesm2015/primeng-badge.js.map +1 -0
  669. package/fesm2015/primeng-blockui.js.map +1 -1
  670. package/fesm2015/primeng-breadcrumb.js.map +1 -1
  671. package/fesm2015/primeng-button.js +7 -1
  672. package/fesm2015/primeng-button.js.map +1 -1
  673. package/fesm2015/primeng-calendar.js +3 -3
  674. package/fesm2015/primeng-calendar.js.map +1 -1
  675. package/fesm2015/primeng-captcha.js.map +1 -1
  676. package/fesm2015/primeng-card.js.map +1 -1
  677. package/fesm2015/primeng-carousel.js +26 -5
  678. package/fesm2015/primeng-carousel.js.map +1 -1
  679. package/fesm2015/primeng-cascadeselect.js +585 -0
  680. package/fesm2015/primeng-cascadeselect.js.map +1 -0
  681. package/fesm2015/primeng-chart.js.map +1 -1
  682. package/fesm2015/primeng-checkbox.js.map +1 -1
  683. package/fesm2015/primeng-chip.js +63 -0
  684. package/fesm2015/primeng-chip.js.map +1 -0
  685. package/fesm2015/primeng-chips.js +1 -1
  686. package/fesm2015/primeng-chips.js.map +1 -1
  687. package/fesm2015/primeng-codehighlighter.js.map +1 -1
  688. package/fesm2015/primeng-colorpicker.js +19 -1
  689. package/fesm2015/primeng-colorpicker.js.map +1 -1
  690. package/fesm2015/primeng-confirmdialog.js +29 -10
  691. package/fesm2015/primeng-confirmdialog.js.map +1 -1
  692. package/fesm2015/primeng-confirmpopup.js +18 -9
  693. package/fesm2015/primeng-confirmpopup.js.map +1 -1
  694. package/fesm2015/primeng-contextmenu.js.map +1 -1
  695. package/fesm2015/primeng-dataview.js +7 -5
  696. package/fesm2015/primeng-dataview.js.map +1 -1
  697. package/fesm2015/primeng-defer.js.map +1 -1
  698. package/fesm2015/primeng-dialog.js +6 -1
  699. package/fesm2015/primeng-dialog.js.map +1 -1
  700. package/fesm2015/primeng-divider.js +62 -0
  701. package/fesm2015/primeng-divider.js.map +1 -0
  702. package/fesm2015/primeng-dom.js.map +1 -1
  703. package/fesm2015/primeng-dragdrop.js.map +1 -1
  704. package/fesm2015/primeng-dropdown.js +9 -7
  705. package/fesm2015/primeng-dropdown.js.map +1 -1
  706. package/fesm2015/primeng-dynamicdialog.js.map +1 -1
  707. package/fesm2015/primeng-editor.js +7 -3
  708. package/fesm2015/primeng-editor.js.map +1 -1
  709. package/fesm2015/primeng-fieldset.js.map +1 -1
  710. package/fesm2015/primeng-fileupload.js +2 -2
  711. package/fesm2015/primeng-fileupload.js.map +1 -1
  712. package/fesm2015/primeng-focustrap.js.map +1 -1
  713. package/fesm2015/primeng-fullcalendar.js.map +1 -1
  714. package/fesm2015/primeng-galleria.js.map +1 -1
  715. package/fesm2015/primeng-gmap.js.map +1 -1
  716. package/fesm2015/primeng-inplace.js.map +1 -1
  717. package/fesm2015/primeng-inputmask.js.map +1 -1
  718. package/fesm2015/primeng-inputnumber.js.map +1 -1
  719. package/fesm2015/primeng-inputswitch.js.map +1 -1
  720. package/fesm2015/primeng-inputtext.js.map +1 -1
  721. package/fesm2015/primeng-inputtextarea.js +8 -4
  722. package/fesm2015/primeng-inputtextarea.js.map +1 -1
  723. package/fesm2015/primeng-keyfilter.js.map +1 -1
  724. package/fesm2015/primeng-knob.js +243 -0
  725. package/fesm2015/primeng-knob.js.map +1 -0
  726. package/fesm2015/primeng-lightbox.js.map +1 -1
  727. package/fesm2015/primeng-listbox.js +8 -6
  728. package/fesm2015/primeng-listbox.js.map +1 -1
  729. package/fesm2015/primeng-megamenu.js.map +1 -1
  730. package/fesm2015/primeng-menu.js.map +1 -1
  731. package/fesm2015/primeng-menubar.js.map +1 -1
  732. package/fesm2015/primeng-message.js.map +1 -1
  733. package/fesm2015/primeng-messages.js +1 -0
  734. package/fesm2015/primeng-messages.js.map +1 -1
  735. package/fesm2015/primeng-multiselect.js +15 -10
  736. package/fesm2015/primeng-multiselect.js.map +1 -1
  737. package/fesm2015/primeng-orderlist.js +8 -6
  738. package/fesm2015/primeng-orderlist.js.map +1 -1
  739. package/fesm2015/primeng-organizationchart.js.map +1 -1
  740. package/fesm2015/primeng-overlaypanel.js +9 -6
  741. package/fesm2015/primeng-overlaypanel.js.map +1 -1
  742. package/fesm2015/primeng-paginator.js.map +1 -1
  743. package/fesm2015/primeng-panel.js.map +1 -1
  744. package/fesm2015/primeng-panelmenu.js.map +1 -1
  745. package/fesm2015/primeng-password.js.map +1 -1
  746. package/fesm2015/primeng-picklist.js +9 -13
  747. package/fesm2015/primeng-picklist.js.map +1 -1
  748. package/fesm2015/primeng-progressbar.js.map +1 -1
  749. package/fesm2015/primeng-progressspinner.js.map +1 -1
  750. package/fesm2015/primeng-radiobutton.js.map +1 -1
  751. package/fesm2015/primeng-rating.js.map +1 -1
  752. package/fesm2015/primeng-ripple.js.map +1 -1
  753. package/fesm2015/primeng-scrollpanel.js.map +1 -1
  754. package/fesm2015/primeng-scrolltop.js +133 -0
  755. package/fesm2015/primeng-scrolltop.js.map +1 -0
  756. package/fesm2015/primeng-selectbutton.js +2 -2
  757. package/fesm2015/primeng-selectbutton.js.map +1 -1
  758. package/fesm2015/primeng-sidebar.js.map +1 -1
  759. package/fesm2015/primeng-skeleton.js +64 -0
  760. package/fesm2015/primeng-skeleton.js.map +1 -0
  761. package/fesm2015/primeng-slidemenu.js.map +1 -1
  762. package/fesm2015/primeng-slider.js +12 -2
  763. package/fesm2015/primeng-slider.js.map +1 -1
  764. package/fesm2015/primeng-spinner.js.map +1 -1
  765. package/fesm2015/primeng-splitbutton.js.map +1 -1
  766. package/fesm2015/primeng-splitter.js +269 -0
  767. package/fesm2015/primeng-splitter.js.map +1 -0
  768. package/fesm2015/primeng-steps.js.map +1 -1
  769. package/fesm2015/primeng-table.js +23 -20
  770. package/fesm2015/primeng-table.js.map +1 -1
  771. package/fesm2015/primeng-tabmenu.js.map +1 -1
  772. package/fesm2015/primeng-tabview.js +11 -3
  773. package/fesm2015/primeng-tabview.js.map +1 -1
  774. package/fesm2015/primeng-tag.js +54 -0
  775. package/fesm2015/primeng-tag.js.map +1 -0
  776. package/fesm2015/primeng-terminal.js.map +1 -1
  777. package/fesm2015/primeng-tieredmenu.js.map +1 -1
  778. package/fesm2015/primeng-timeline.js.map +1 -1
  779. package/fesm2015/primeng-toast.js +1 -1
  780. package/fesm2015/primeng-toast.js.map +1 -1
  781. package/fesm2015/primeng-togglebutton.js.map +1 -1
  782. package/fesm2015/primeng-toolbar.js.map +1 -1
  783. package/fesm2015/primeng-tooltip.js.map +1 -1
  784. package/fesm2015/primeng-tree.js +4 -4
  785. package/fesm2015/primeng-tree.js.map +1 -1
  786. package/fesm2015/primeng-treetable.js +12 -10
  787. package/fesm2015/primeng-treetable.js.map +1 -1
  788. package/fesm2015/primeng-tristatecheckbox.js.map +1 -1
  789. package/fesm2015/primeng-utils.js +1 -181
  790. package/fesm2015/primeng-utils.js.map +1 -1
  791. package/fesm2015/primeng-virtualscroller.js.map +1 -1
  792. package/fesm2015/primeng.js.map +1 -1
  793. package/fileupload/primeng-fileupload.metadata.json +1 -1
  794. package/inputtextarea/inputtextarea.d.ts +3 -2
  795. package/inputtextarea/primeng-inputtextarea.metadata.json +1 -1
  796. package/knob/knob.d.ts +72 -0
  797. package/knob/package.json +11 -0
  798. package/knob/primeng-knob.d.ts +4 -0
  799. package/knob/primeng-knob.metadata.json +1 -0
  800. package/knob/public_api.d.ts +1 -0
  801. package/listbox/listbox.d.ts +3 -1
  802. package/listbox/primeng-listbox.metadata.json +1 -1
  803. package/messages/primeng-messages.metadata.json +1 -1
  804. package/multiselect/multiselect.d.ts +5 -3
  805. package/multiselect/primeng-multiselect.metadata.json +1 -1
  806. package/orderlist/orderlist.d.ts +3 -1
  807. package/orderlist/primeng-orderlist.metadata.json +1 -1
  808. package/overlaypanel/primeng-overlaypanel.metadata.json +1 -1
  809. package/package.json +4 -4
  810. package/picklist/picklist.d.ts +3 -1
  811. package/picklist/primeng-picklist.metadata.json +1 -1
  812. package/resources/components/autocomplete/autocomplete.css +1 -0
  813. package/resources/components/avatar/avatar.css +25 -0
  814. package/resources/components/avatargroup/avatargroup.css +8 -0
  815. package/resources/components/badge/badge.css +17 -13
  816. package/resources/components/cascadeselect/cascadeselect.css +84 -0
  817. package/resources/components/chip/chip.css +21 -0
  818. package/resources/components/chips/chips.css +1 -0
  819. package/resources/components/confirmpopup/confirmpopup.css +3 -3
  820. package/resources/components/divider/divider.css +84 -0
  821. package/resources/components/editor/editor.css +4 -0
  822. package/resources/components/knob/knob.css +18 -0
  823. package/resources/components/orderlist/orderlist.css +4 -0
  824. package/resources/components/overlaypanel/overlaypanel.css +2 -2
  825. package/resources/components/picklist/picklist.css +4 -0
  826. package/resources/components/scrolltop/scrolltop.css +16 -0
  827. package/resources/components/skeleton/skeleton.css +33 -0
  828. package/resources/components/splitter/splitter.css +62 -0
  829. package/resources/components/table/table.css +8 -0
  830. package/resources/components/tag/tag.css +15 -0
  831. package/resources/components/treetable/treetable.css +4 -0
  832. package/resources/primeng.css +17 -13
  833. package/resources/primeng.min.css +1 -1
  834. package/resources/themes/arya-blue/theme.css +309 -47
  835. package/resources/themes/arya-green/theme.css +309 -47
  836. package/resources/themes/arya-orange/theme.css +309 -47
  837. package/resources/themes/arya-purple/theme.css +309 -47
  838. package/resources/themes/bootstrap4-dark-blue/theme.css +309 -47
  839. package/resources/themes/bootstrap4-dark-purple/theme.css +309 -47
  840. package/resources/themes/bootstrap4-light-blue/theme.css +309 -47
  841. package/resources/themes/bootstrap4-light-purple/theme.css +309 -47
  842. package/resources/themes/fluent-light/theme.css +309 -47
  843. package/resources/themes/luna-amber/theme.css +309 -47
  844. package/resources/themes/luna-blue/theme.css +309 -47
  845. package/resources/themes/luna-green/theme.css +309 -47
  846. package/resources/themes/luna-pink/theme.css +309 -47
  847. package/resources/themes/md-dark-deeppurple/theme.css +522 -86
  848. package/resources/themes/md-dark-indigo/theme.css +522 -86
  849. package/resources/themes/md-light-deeppurple/theme.css +528 -92
  850. package/resources/themes/md-light-indigo/theme.css +528 -92
  851. package/resources/themes/mdc-dark-deeppurple/theme.css +535 -99
  852. package/resources/themes/mdc-dark-indigo/theme.css +535 -99
  853. package/resources/themes/mdc-light-deeppurple/theme.css +537 -101
  854. package/resources/themes/mdc-light-indigo/theme.css +537 -101
  855. package/resources/themes/nova/theme.css +309 -47
  856. package/resources/themes/nova-accent/theme.css +309 -47
  857. package/resources/themes/nova-alt/theme.css +309 -47
  858. package/resources/themes/rhea/theme.css +309 -47
  859. package/resources/themes/saga-blue/theme.css +309 -47
  860. package/resources/themes/saga-green/theme.css +309 -47
  861. package/resources/themes/saga-orange/theme.css +309 -47
  862. package/resources/themes/saga-purple/theme.css +309 -47
  863. package/resources/themes/vela-blue/theme.css +309 -47
  864. package/resources/themes/vela-green/theme.css +309 -47
  865. package/resources/themes/vela-orange/theme.css +309 -47
  866. package/resources/themes/vela-purple/theme.css +309 -47
  867. package/scrolltop/package.json +11 -0
  868. package/scrolltop/primeng-scrolltop.d.ts +4 -0
  869. package/scrolltop/primeng-scrolltop.metadata.json +1 -0
  870. package/scrolltop/public_api.d.ts +1 -0
  871. package/scrolltop/scrolltop.d.ts +31 -0
  872. package/selectbutton/primeng-selectbutton.metadata.json +1 -1
  873. package/skeleton/package.json +11 -0
  874. package/skeleton/primeng-skeleton.d.ts +4 -0
  875. package/skeleton/primeng-skeleton.metadata.json +1 -0
  876. package/skeleton/public_api.d.ts +1 -0
  877. package/skeleton/skeleton.d.ts +18 -0
  878. package/slider/primeng-slider.metadata.json +1 -1
  879. package/splitter/package.json +11 -0
  880. package/splitter/primeng-splitter.d.ts +4 -0
  881. package/splitter/primeng-splitter.metadata.json +1 -0
  882. package/splitter/public_api.d.ts +1 -0
  883. package/splitter/splitter.d.ts +68 -0
  884. package/table/primeng-table.metadata.json +1 -1
  885. package/table/table.d.ts +5 -3
  886. package/tabview/primeng-tabview.metadata.json +1 -1
  887. package/tabview/tabview.d.ts +3 -1
  888. package/tag/package.json +11 -0
  889. package/tag/primeng-tag.d.ts +4 -0
  890. package/tag/primeng-tag.metadata.json +1 -0
  891. package/tag/public_api.d.ts +1 -0
  892. package/tag/tag.d.ts +18 -0
  893. package/toast/primeng-toast.metadata.json +1 -1
  894. package/tree/primeng-tree.metadata.json +1 -1
  895. package/treetable/primeng-treetable.metadata.json +1 -1
  896. package/treetable/treetable.d.ts +3 -2
  897. package/utils/objectutils.d.ts +0 -2
  898. package/utils/primeng-utils.metadata.json +1 -1
  899. package/utils/public_api.d.ts +0 -1
  900. package/esm2015/utils/filterutils.js +0 -171
  901. package/resources/components/selectbutton/selectbutton.css +0 -11
  902. package/utils/filterutils.d.ts +0 -19
@@ -12,5 +12,5 @@
12
12
  LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
13
13
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14
14
  PERFORMANCE OF THIS SOFTWARE.
15
- ***************************************************************************** */Object.create;function h(t){var e="function"==typeof Symbol&&Symbol.iterator,i=e&&t[e],n=0;if(i)return i.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}Object.create;var u={provide:p.NG_VALUE_ACCESSOR,useExisting:i.forwardRef((function(){return y})),multi:!0},c=function(){function t(){this.onClick=new i.EventEmitter}return t.prototype.onOptionClick=function(t){this.onClick.emit({originalEvent:t,option:this.option})},t}();c.decorators=[{type:i.Component,args:[{selector:"p-dropdownItem",template:'\n <li (click)="onOptionClick($event)" role="option" pRipple\n [attr.aria-label]="label" [attr.aria-selected]="selected"\n [ngStyle]="{\'height\': itemSize + \'px\'}"\n [ngClass]="{\'p-dropdown-item\':true, \'p-highlight\': selected, \'p-disabled\': disabled}">\n <span *ngIf="!template">{{label||\'empty\'}}</span>\n <ng-container *ngTemplateOutlet="template; context: {$implicit: option}"></ng-container>\n </li>\n '}]}],c.propDecorators={option:[{type:i.Input}],selected:[{type:i.Input}],label:[{type:i.Input}],disabled:[{type:i.Input}],visible:[{type:i.Input}],itemSize:[{type:i.Input}],template:[{type:i.Input}],onClick:[{type:i.Output}]};var y=function(){function t(t,e,n,o){this.el=t,this.renderer=e,this.cd=n,this.zone=o,this.scrollHeight="200px",this.resetFilterOnHide=!1,this.dropdownIcon="pi pi-chevron-down",this.autoDisplayFirst=!0,this.emptyFilterMessage="No results found",this.autoZIndex=!0,this.baseZIndex=0,this.showTransitionOptions=".12s cubic-bezier(0, 0, 0.2, 1)",this.hideTransitionOptions=".1s linear",this.filterMatchMode="contains",this.tooltip="",this.tooltipPosition="right",this.tooltipPositionStyle="absolute",this.autofocusFilter=!0,this.onChange=new i.EventEmitter,this.onFocus=new i.EventEmitter,this.onBlur=new i.EventEmitter,this.onClick=new i.EventEmitter,this.onShow=new i.EventEmitter,this.onHide=new i.EventEmitter,this.onModelChange=function(){},this.onModelTouched=function(){},this.viewPortOffsetTop=0}return Object.defineProperty(t.prototype,"disabled",{get:function(){return this._disabled},set:function(t){t&&(this.focused=!1),this._disabled=t,this.cd.destroyed||this.cd.detectChanges()},enumerable:!1,configurable:!0}),t.prototype.ngAfterContentInit=function(){var t=this;this.templates.forEach((function(e){switch(e.getType()){case"item":t.itemTemplate=e.template;break;case"selectedItem":t.selectedItemTemplate=e.template;break;case"group":t.groupTemplate=e.template;break;default:t.itemTemplate=e.template}}))},t.prototype.ngOnInit=function(){this.optionsToDisplay=this.options,this.updateSelectedOption(null)},Object.defineProperty(t.prototype,"options",{get:function(){return this._options},set:function(t){this._options=t,this.optionsToDisplay=this._options,this.updateSelectedOption(this.value),this.optionsChanged=!0,this.updateFilledState(),this._filterValue&&this._filterValue.length&&this.activateFilter()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"filterValue",{get:function(){return this._filterValue},set:function(t){this._filterValue=t,this.activateFilter()},enumerable:!1,configurable:!0}),t.prototype.ngAfterViewInit=function(){this.editable&&this.updateEditableLabel()},Object.defineProperty(t.prototype,"label",{get:function(){return this.selectedOption?this.getOptionLabel(this.selectedOption):null},enumerable:!1,configurable:!0}),t.prototype.updateEditableLabel=function(){this.editableInputViewChild&&this.editableInputViewChild.nativeElement&&(this.editableInputViewChild.nativeElement.value=this.selectedOption?this.getOptionLabel(this.selectedOption):this.value||"")},t.prototype.getOptionLabel=function(t){return this.optionLabel?r.ObjectUtils.resolveFieldData(t,this.optionLabel):null!=t.label?t.label:t},t.prototype.getOptionValue=function(t){return this.optionValue?r.ObjectUtils.resolveFieldData(t,this.optionValue):void 0!==t.value?t.value:t},t.prototype.isOptionDisabled=function(t){return this.optionDisabled?r.ObjectUtils.resolveFieldData(t,this.optionDisabled):void 0!==t.disabled&&t.disabled},t.prototype.getOptionGroupLabel=function(t){return this.optionGroupLabel?r.ObjectUtils.resolveFieldData(t,this.optionGroupLabel):null!=t.label?t.label:t},t.prototype.getOptionGroupChildren=function(t){return this.optionGroupChildren?r.ObjectUtils.resolveFieldData(t,this.optionGroupChildren):t.items},t.prototype.onItemClick=function(t){var e=this,i=t.option;this.isOptionDisabled(i)||(this.selectItem(t,i),this.accessibleViewChild.nativeElement.focus()),setTimeout((function(){e.hide(t)}),150)},t.prototype.selectItem=function(t,e){var i=this;this.selectedOption!=e&&(this.selectedOption=e,this.value=this.getOptionValue(e),this.filled=!0,this.onModelChange(this.value),this.updateEditableLabel(),this.onChange.emit({originalEvent:t.originalEvent,value:this.value}),this.virtualScroll&&setTimeout((function(){i.viewPortOffsetTop=i.viewPort?i.viewPort.measureScrollOffset():0}),1))},t.prototype.ngAfterViewChecked=function(){var t=this;if(this.optionsChanged&&this.overlayVisible&&(this.optionsChanged=!1,this.virtualScroll&&this.updateVirtualScrollSelectedIndex(!0),this.zone.runOutsideAngular((function(){setTimeout((function(){t.alignOverlay()}),1)}))),this.selectedOptionUpdated&&this.itemsWrapper){if(this.virtualScroll&&this.viewPort){var e=this.viewPort.getRenderedRange();this.updateVirtualScrollSelectedIndex(!1),(e.start>this.virtualScrollSelectedIndex||e.end<this.virtualScrollSelectedIndex)&&this.viewPort.scrollToIndex(this.virtualScrollSelectedIndex)}s.DomHandler.findSingle(this.overlay,"li.p-highlight")&&s.DomHandler.scrollInView(this.itemsWrapper,s.DomHandler.findSingle(this.overlay,"li.p-highlight")),this.selectedOptionUpdated=!1}},t.prototype.writeValue=function(t){this.filter&&this.resetFilter(),this.value=t,this.updateSelectedOption(t),this.updateEditableLabel(),this.updateFilledState(),this.cd.markForCheck()},t.prototype.resetFilter=function(){this._filterValue=null,this.filterViewChild&&this.filterViewChild.nativeElement&&(this.filterViewChild.nativeElement.value=""),this.optionsToDisplay=this.options},t.prototype.updateSelectedOption=function(t){this.selectedOption=this.findOption(t,this.optionsToDisplay),this.autoDisplayFirst&&!this.placeholder&&!this.selectedOption&&this.optionsToDisplay&&this.optionsToDisplay.length&&!this.editable&&(this.selectedOption=this.optionsToDisplay[0]),this.selectedOptionUpdated=!0},t.prototype.registerOnChange=function(t){this.onModelChange=t},t.prototype.registerOnTouched=function(t){this.onModelTouched=t},t.prototype.setDisabledState=function(t){this.disabled=t,this.cd.markForCheck()},t.prototype.onMouseclick=function(t){this.disabled||this.readonly||this.isInputClick(t)||(this.onClick.emit(t),this.accessibleViewChild.nativeElement.focus(),this.overlayVisible?this.hide(t):this.show(),this.cd.detectChanges())},t.prototype.isInputClick=function(t){return s.DomHandler.hasClass(t.target,"p-dropdown-clear-icon")||t.target.isSameNode(this.accessibleViewChild.nativeElement)||this.editableInputViewChild&&t.target.isSameNode(this.editableInputViewChild.nativeElement)},t.prototype.isOutsideClicked=function(t){return!(this.el.nativeElement.isSameNode(t.target)||this.el.nativeElement.contains(t.target)||this.overlay&&this.overlay.contains(t.target))},t.prototype.onEditableInputClick=function(){this.bindDocumentClickListener()},t.prototype.onEditableInputFocus=function(t){this.focused=!0,this.hide(t),this.onFocus.emit(t)},t.prototype.onEditableInputChange=function(t){this.value=t.target.value,this.updateSelectedOption(this.value),this.onModelChange(this.value),this.onChange.emit({originalEvent:t,value:this.value})},t.prototype.show=function(){this.overlayVisible=!0},t.prototype.onOverlayAnimationStart=function(t){switch(t.toState){case"visible":this.overlay=t.element;var e=this.virtualScroll?".cdk-virtual-scroll-viewport":".p-dropdown-items-wrapper";if(this.itemsWrapper=s.DomHandler.findSingle(this.overlay,e),this.appendOverlay(),this.autoZIndex&&(this.overlay.style.zIndex=String(this.baseZIndex+ ++s.DomHandler.zindex)),this.alignOverlay(),this.bindDocumentClickListener(),this.bindDocumentResizeListener(),this.bindScrollListener(),this.options&&this.options.length&&!this.virtualScroll){var i=s.DomHandler.findSingle(this.itemsWrapper,".p-dropdown-item.p-highlight");i&&s.DomHandler.scrollInView(this.itemsWrapper,i)}this.filterViewChild&&this.filterViewChild.nativeElement&&(this.preventModelTouched=!0,this.autofocusFilter&&this.filterViewChild.nativeElement.focus()),this.onShow.emit(t);break;case"void":this.onOverlayHide()}},t.prototype.scrollToSelectedVirtualScrollElement=function(){this.virtualAutoScrolled||(this.viewPortOffsetTop?this.viewPort.scrollToOffset(this.viewPortOffsetTop):this.virtualScrollSelectedIndex>-1&&this.viewPort.scrollToIndex(this.virtualScrollSelectedIndex)),this.virtualAutoScrolled=!0},t.prototype.updateVirtualScrollSelectedIndex=function(t){this.selectedOption&&this.optionsToDisplay&&this.optionsToDisplay.length&&(t&&(this.viewPortOffsetTop=0),this.virtualScrollSelectedIndex=this.findOptionIndex(this.getOptionValue(this.selectedOption),this.optionsToDisplay))},t.prototype.appendOverlay=function(){this.appendTo&&("body"===this.appendTo?document.body.appendChild(this.overlay):s.DomHandler.appendChild(this.overlay,this.appendTo),this.overlay.style.minWidth||(this.overlay.style.minWidth=s.DomHandler.getWidth(this.containerViewChild.nativeElement)+"px"))},t.prototype.restoreOverlayAppend=function(){this.overlay&&this.appendTo&&this.el.nativeElement.appendChild(this.overlay)},t.prototype.hide=function(t){this.overlayVisible=!1,this.filter&&this.resetFilterOnHide&&this.resetFilter(),this.virtualScroll&&(this.virtualAutoScrolled=!1),this.cd.markForCheck(),this.onHide.emit(t)},t.prototype.alignOverlay=function(){this.overlay&&(this.appendTo?s.DomHandler.absolutePosition(this.overlay,this.containerViewChild.nativeElement):s.DomHandler.relativePosition(this.overlay,this.containerViewChild.nativeElement))},t.prototype.onInputFocus=function(t){this.focused=!0,this.onFocus.emit(t)},t.prototype.onInputBlur=function(t){this.focused=!1,this.onBlur.emit(t),this.preventModelTouched||this.onModelTouched(),this.preventModelTouched=!1},t.prototype.findPrevEnabledOption=function(t){var e;if(this.optionsToDisplay&&this.optionsToDisplay.length){for(var i=t-1;0<=i;i--){if(!(n=this.optionsToDisplay[i]).disabled){e=n;break}}if(!e)for(i=this.optionsToDisplay.length-1;i>=t;i--){var n=this.optionsToDisplay[i];if(!this.isOptionDisabled(n)){e=n;break}}}return e},t.prototype.findNextEnabledOption=function(t){var e;if(this.optionsToDisplay&&this.optionsToDisplay.length){for(var i=t+1;t<this.optionsToDisplay.length-1;i++){var n=this.optionsToDisplay[i];if(!this.isOptionDisabled(n)){e=n;break}}if(!e)for(i=0;i<t;i++){n=this.optionsToDisplay[i];if(!this.isOptionDisabled(n)){e=n;break}}}return e},t.prototype.onKeydown=function(t,e){if(!this.readonly&&this.optionsToDisplay&&null!==this.optionsToDisplay.length)switch(t.which){case 40:if(!this.overlayVisible&&t.altKey)this.show();else if(this.group){if(-1!==(n=this.selectedOption?this.findOptionGroupIndex(this.getOptionValue(this.selectedOption),this.optionsToDisplay):-1)){var i=n.itemIndex+1;i<this.getOptionGroupChildren(this.optionsToDisplay[n.groupIndex]).length?(this.selectItem(t,this.getOptionGroupChildren(this.optionsToDisplay[n.groupIndex])[i]),this.selectedOptionUpdated=!0):this.optionsToDisplay[n.groupIndex+1]&&(this.selectItem(t,this.getOptionGroupChildren(this.optionsToDisplay[n.groupIndex+1])[0]),this.selectedOptionUpdated=!0)}else this.selectItem(t,this.getOptionGroupChildren(this.optionsToDisplay[0])[0])}else{var n=this.selectedOption?this.findOptionIndex(this.getOptionValue(this.selectedOption),this.optionsToDisplay):-1,o=this.findNextEnabledOption(n);o&&(this.selectItem(t,o),this.selectedOptionUpdated=!0)}t.preventDefault();break;case 38:if(this.group){if(-1!==(n=this.selectedOption?this.findOptionGroupIndex(this.getOptionValue(this.selectedOption),this.optionsToDisplay):-1)){var l=n.itemIndex-1;if(l>=0)this.selectItem(t,this.getOptionGroupChildren(this.optionsToDisplay[n.groupIndex])[l]),this.selectedOptionUpdated=!0;else if(l<0){var s=this.optionsToDisplay[n.groupIndex-1];s&&(this.selectItem(t,this.getOptionGroupChildren(s)[this.getOptionGroupChildren(s).length-1]),this.selectedOptionUpdated=!0)}}}else{n=this.selectedOption?this.findOptionIndex(this.getOptionValue(this.selectedOption),this.optionsToDisplay):-1;var r=this.findPrevEnabledOption(n);r&&(this.selectItem(t,r),this.selectedOptionUpdated=!0)}t.preventDefault();break;case 32:case 32:this.overlayVisible||(this.show(),t.preventDefault());break;case 13:(!this.filter||this.optionsToDisplay&&this.optionsToDisplay.length>0)&&this.hide(t),t.preventDefault();break;case 27:case 9:this.hide(t);break;default:e&&this.search(t)}},t.prototype.search=function(t){var e=this;this.searchTimeout&&clearTimeout(this.searchTimeout);var i,n=t.key;if(this.previousSearchChar=this.currentSearchChar,this.currentSearchChar=n,this.previousSearchChar===this.currentSearchChar?this.searchValue=this.currentSearchChar:this.searchValue=this.searchValue?this.searchValue+n:n,this.group){var o=this.selectedOption?this.findOptionGroupIndex(this.getOptionValue(this.selectedOption),this.optionsToDisplay):{groupIndex:0,itemIndex:0};i=this.searchOptionWithinGroup(o)}else{o=this.selectedOption?this.findOptionIndex(this.getOptionValue(this.selectedOption),this.optionsToDisplay):-1;i=this.searchOption(++o)}i&&!this.isOptionDisabled(i)&&(this.selectItem(t,i),this.selectedOptionUpdated=!0),this.searchTimeout=setTimeout((function(){e.searchValue=null}),250)},t.prototype.searchOption=function(t){var e;return this.searchValue&&((e=this.searchOptionInRange(t,this.optionsToDisplay.length))||(e=this.searchOptionInRange(0,t))),e},t.prototype.searchOptionInRange=function(t,e){for(var i=t;i<e;i++){var n=this.optionsToDisplay[i];if(this.getOptionLabel(n).toLocaleLowerCase(this.filterLocale).startsWith(this.searchValue.toLocaleLowerCase(this.filterLocale))&&!this.isOptionDisabled(n))return n}return null},t.prototype.searchOptionWithinGroup=function(t){if(this.searchValue){for(var e=t.groupIndex;e<this.optionsToDisplay.length;e++)for(var i=t.groupIndex===e?t.itemIndex+1:0;i<this.getOptionGroupChildren(this.optionsToDisplay[e]).length;i++){var n=this.getOptionGroupChildren(this.optionsToDisplay[e])[i];if(this.getOptionLabel(n).toLocaleLowerCase(this.filterLocale).startsWith(this.searchValue.toLocaleLowerCase(this.filterLocale))&&!this.isOptionDisabled(n))return n}for(e=0;e<=t.groupIndex;e++)for(i=0;i<(t.groupIndex===e?t.itemIndex:this.getOptionGroupChildren(this.optionsToDisplay[e]).length);i++){n=this.getOptionGroupChildren(this.optionsToDisplay[e])[i];if(this.getOptionLabel(n).toLocaleLowerCase(this.filterLocale).startsWith(this.searchValue.toLocaleLowerCase(this.filterLocale))&&!this.isOptionDisabled(n))return n}}return null},t.prototype.findOptionIndex=function(t,e){var i=-1;if(e)for(var n=0;n<e.length;n++)if(null==t&&null==this.getOptionValue(e[n])||r.ObjectUtils.equals(t,this.getOptionValue(e[n]),this.dataKey)){i=n;break}return i},t.prototype.findOptionGroupIndex=function(t,e){var i,n;if(e)for(var o=0;o<e.length&&(i=o,-1===(n=this.findOptionIndex(t,this.getOptionGroupChildren(e[o]))));o++);return-1!==n?{groupIndex:i,itemIndex:n}:-1},t.prototype.findOption=function(t,e,i){var n,o;if(this.group&&!i){var l=void 0;if(e&&e.length)try{for(var s=h(e),r=s.next();!r.done;r=s.next()){var p=r.value;if(l=this.findOption(t,this.getOptionGroupChildren(p),!0))break}}catch(t){n={error:t}}finally{try{r&&!r.done&&(o=s.return)&&o.call(s)}finally{if(n)throw n.error}}return l}var a=this.findOptionIndex(t,e);return-1!=a?e[a]:null},t.prototype.onFilter=function(t){var e=t.target.value;e&&e.length?(this._filterValue=e,this.activateFilter()):(this._filterValue=null,this.optionsToDisplay=this.options),this.optionsChanged=!0},t.prototype.activateFilter=function(){var t,e,i=(this.filterBy||this.optionLabel||"label").split(",");if(this.options&&this.options.length){if(this.group){var n=[];try{for(var o=h(this.options),l=o.next();!l.done;l=o.next()){var s=l.value,p=r.FilterUtils.filter(this.getOptionGroupChildren(s),i,this.filterValue,this.filterMatchMode,this.filterLocale);p&&p.length&&n.push({label:s.label,value:s.value,items:p})}}catch(e){t={error:e}}finally{try{l&&!l.done&&(e=o.return)&&e.call(o)}finally{if(t)throw t.error}}this.optionsToDisplay=n}else this.optionsToDisplay=r.FilterUtils.filter(this.options,i,this.filterValue,this.filterMatchMode,this.filterLocale);this.optionsChanged=!0}},t.prototype.applyFocus=function(){this.editable?s.DomHandler.findSingle(this.el.nativeElement,".p-dropdown-label.p-inputtext").focus():s.DomHandler.findSingle(this.el.nativeElement,"input[readonly]").focus()},t.prototype.focus=function(){this.applyFocus()},t.prototype.bindDocumentClickListener=function(){var t=this;if(!this.documentClickListener){var e=this.el?this.el.nativeElement.ownerDocument:"document";this.documentClickListener=this.renderer.listen(e,"click",(function(e){t.isOutsideClicked(e)&&(t.hide(e),t.unbindDocumentClickListener()),t.cd.markForCheck()}))}},t.prototype.unbindDocumentClickListener=function(){this.documentClickListener&&(this.documentClickListener(),this.documentClickListener=null)},t.prototype.bindDocumentResizeListener=function(){this.documentResizeListener=this.onWindowResize.bind(this),window.addEventListener("resize",this.documentResizeListener)},t.prototype.unbindDocumentResizeListener=function(){this.documentResizeListener&&(window.removeEventListener("resize",this.documentResizeListener),this.documentResizeListener=null)},t.prototype.onWindowResize=function(){s.DomHandler.isAndroid()||this.hide(event)},t.prototype.bindScrollListener=function(){var t=this;this.scrollHandler||(this.scrollHandler=new s.ConnectedOverlayScrollHandler(this.containerViewChild.nativeElement,(function(e){t.overlayVisible&&t.hide(e)}))),this.scrollHandler.bindScrollListener()},t.prototype.unbindScrollListener=function(){this.scrollHandler&&this.scrollHandler.unbindScrollListener()},t.prototype.updateFilledState=function(){this.filled=null!=this.selectedOption},t.prototype.clear=function(t){this.value=null,this.onModelChange(this.value),this.onChange.emit({originalEvent:t,value:this.value}),this.updateSelectedOption(this.value),this.updateEditableLabel(),this.updateFilledState()},t.prototype.onOverlayHide=function(){this.unbindDocumentClickListener(),this.unbindDocumentResizeListener(),this.unbindScrollListener(),this.overlay=null,this.itemsWrapper=null,this.onModelTouched()},t.prototype.ngOnDestroy=function(){this.scrollHandler&&(this.scrollHandler.destroy(),this.scrollHandler=null),this.restoreOverlayAppend(),this.onOverlayHide()},t}();y.decorators=[{type:i.Component,args:[{selector:"p-dropdown",template:'\n <div #container [ngClass]="{\'p-dropdown p-component\':true,\n \'p-disabled\':disabled, \'p-dropdown-open\':overlayVisible, \'p-focus\':focused, \'p-dropdown-clearable\': showClear && !disabled}"\n (click)="onMouseclick($event)" [ngStyle]="style" [class]="styleClass">\n <div class="p-hidden-accessible">\n <input #in [attr.id]="inputId" type="text" [attr.aria-label]="label" readonly (focus)="onInputFocus($event)" aria-haspopup="listbox"\n aria-haspopup="listbox" [attr.aria-expanded]="overlayVisible" [attr.aria-labelledby]="ariaLabelledBy" (blur)="onInputBlur($event)" (keydown)="onKeydown($event, true)"\n [disabled]="disabled" [attr.tabindex]="tabindex" [attr.autofocus]="autofocus" role="listbox">\n </div>\n <span [ngClass]="{\'p-dropdown-label p-inputtext\':true,\'p-dropdown-label-empty\':(label == null || label.length === 0)}" *ngIf="!editable && (label != null)" [pTooltip]="tooltip" [tooltipPosition]="tooltipPosition" [positionStyle]="tooltipPositionStyle" [tooltipStyleClass]="tooltipStyleClass">\n <ng-container *ngIf="!selectedItemTemplate">{{label||\'empty\'}}</ng-container>\n <ng-container *ngTemplateOutlet="selectedItemTemplate; context: {$implicit: selectedOption}"></ng-container>\n </span>\n <span [ngClass]="{\'p-dropdown-label p-inputtext p-placeholder\':true,\'p-dropdown-label-empty\': (placeholder == null || placeholder.length === 0)}" *ngIf="!editable && (label == null)">{{placeholder||\'empty\'}}</span>\n <input #editableInput type="text" [attr.maxlength]="maxlength" [attr.aria-label]="label" class="p-dropdown-label p-inputtext" *ngIf="editable" [disabled]="disabled" [attr.placeholder]="placeholder"\n aria-haspopup="listbox" [attr.aria-expanded]="overlayVisible" (click)="onEditableInputClick()" (input)="onEditableInputChange($event)" (focus)="onEditableInputFocus($event)" (blur)="onInputBlur($event)">\n <i class="p-dropdown-clear-icon pi pi-times" (click)="clear($event)" *ngIf="value != null && showClear && !disabled"></i>\n <div class="p-dropdown-trigger" role="button" aria-haspopup="listbox" [attr.aria-expanded]="overlayVisible">\n <span class="p-dropdown-trigger-icon" [ngClass]="dropdownIcon"></span>\n </div>\n <div *ngIf="overlayVisible" [ngClass]="\'p-dropdown-panel p-component\'" [@overlayAnimation]="{value: \'visible\', params: {showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions}}" (@overlayAnimation.start)="onOverlayAnimationStart($event)" [ngStyle]="panelStyle" [class]="panelStyleClass">\n <div class="p-dropdown-header" *ngIf="filter" >\n <div class="p-dropdown-filter-container" (click)="$event.stopPropagation()">\n <input #filter type="text" autocomplete="off" [value]="filterValue||\'\'" class="p-dropdown-filter p-inputtext p-component" [attr.placeholder]="filterPlaceholder"\n (keydown.enter)="$event.preventDefault()" (keydown)="onKeydown($event, false)" (input)="onFilter($event)" [attr.aria-label]="ariaFilterLabel">\n <span class="p-dropdown-filter-icon pi pi-search"></span>\n </div>\n </div>\n <div class="p-dropdown-items-wrapper" [style.max-height]="virtualScroll ? \'auto\' : (scrollHeight||\'auto\')">\n <ul class="p-dropdown-items" role="listbox">\n <ng-container *ngIf="group">\n <ng-template ngFor let-optgroup [ngForOf]="optionsToDisplay">\n <li class="p-dropdown-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), selectedOption: selectedOption}"></ng-container>\n </ng-template>\n </ng-container>\n <ng-container *ngIf="!group">\n <ng-container *ngTemplateOutlet="itemslist; context: {$implicit: optionsToDisplay, selectedOption: selectedOption}"></ng-container>\n </ng-container>\n <ng-template #itemslist let-options let-selectedOption="selectedOption">\n <ng-container *ngIf="!virtualScroll; else virtualScrollList">\n <ng-template ngFor let-option let-i="index" [ngForOf]="options">\n <p-dropdownItem [option]="option" [selected]="selectedOption == option" [label]="getOptionLabel(option)" [disabled]="isOptionDisabled(option)"\n (onClick)="onItemClick($event)"\n [template]="itemTemplate"></p-dropdownItem>\n </ng-template>\n </ng-container>\n <ng-template #virtualScrollList>\n <cdk-virtual-scroll-viewport (scrolledIndexChange)="scrollToSelectedVirtualScrollElement()" #viewport [ngStyle]="{\'height\': scrollHeight}" [itemSize]="itemSize" *ngIf="virtualScroll && optionsToDisplay && optionsToDisplay.length">\n <ng-container *cdkVirtualFor="let option of options; let i = index; let c = count; let f = first; let l = last; let e = even; let o = odd">\n <p-dropdownItem [option]="option" [selected]="selectedOption == option" [label]="getOptionLabel(option)" [disabled]="isOptionDisabled(option)"\n (onClick)="onItemClick($event)"\n [template]="itemTemplate"></p-dropdownItem>\n </ng-container>\n </cdk-virtual-scroll-viewport>\n </ng-template>\n </ng-template>\n <li *ngIf="filter && (!optionsToDisplay || (optionsToDisplay && optionsToDisplay.length === 0))" class="p-dropdown-empty-message">{{emptyFilterMessage}}</li>\n </ul>\n </div>\n </div>\n </div>\n ',animations:[n.trigger("overlayAnimation",[n.transition(":enter",[n.style({opacity:0,transform:"scaleY(0.8)"}),n.animate("{{showTransitionParams}}")]),n.transition(":leave",[n.animate("{{hideTransitionParams}}",n.style({opacity:0}))])])],host:{"[class.p-inputwrapper-filled]":"filled","[class.p-inputwrapper-focus]":"focused"},providers:[u],changeDetection:i.ChangeDetectionStrategy.OnPush,encapsulation:i.ViewEncapsulation.None,styles:[".p-dropdown{-ms-user-select:none;-webkit-user-select:none;cursor:pointer;display:inline-flex;position:relative;user-select:none}.p-dropdown-clear-icon{margin-top:-.5rem;position:absolute;top:50%}.p-dropdown-trigger{align-items:center;display:flex;flex-shrink:0;justify-content:center}.p-dropdown-label{cursor:pointer;display:block;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:1%}.p-dropdown-label-empty{overflow:hidden;visibility:hidden}input.p-dropdown-label{cursor:default}.p-dropdown .p-dropdown-panel{min-width:100%}.p-dropdown-panel{position:absolute}.p-dropdown-items-wrapper{overflow:auto}.p-dropdown-item{cursor:pointer;font-weight:400;overflow:hidden;position:relative;white-space:nowrap}.p-dropdown-items{list-style-type:none;margin:0;padding:0}.p-dropdown-filter{width:100%}.p-dropdown-filter-container{position:relative}.p-dropdown-filter-icon{margin-top:-.5rem;position:absolute;top:50%}.p-fluid .p-dropdown{display:flex}.p-fluid .p-dropdown .p-dropdown-label{width:1%}"]}]}],y.ctorParameters=function(){return[{type:i.ElementRef},{type:i.Renderer2},{type:i.ChangeDetectorRef},{type:i.NgZone}]},y.propDecorators={scrollHeight:[{type:i.Input}],filter:[{type:i.Input}],name:[{type:i.Input}],style:[{type:i.Input}],panelStyle:[{type:i.Input}],styleClass:[{type:i.Input}],panelStyleClass:[{type:i.Input}],readonly:[{type:i.Input}],required:[{type:i.Input}],editable:[{type:i.Input}],appendTo:[{type:i.Input}],tabindex:[{type:i.Input}],placeholder:[{type:i.Input}],filterPlaceholder:[{type:i.Input}],filterLocale:[{type:i.Input}],inputId:[{type:i.Input}],selectId:[{type:i.Input}],dataKey:[{type:i.Input}],filterBy:[{type:i.Input}],autofocus:[{type:i.Input}],resetFilterOnHide:[{type:i.Input}],dropdownIcon:[{type:i.Input}],optionLabel:[{type:i.Input}],optionValue:[{type:i.Input}],optionDisabled:[{type:i.Input}],optionGroupLabel:[{type:i.Input}],optionGroupChildren:[{type:i.Input}],autoDisplayFirst:[{type:i.Input}],group:[{type:i.Input}],showClear:[{type:i.Input}],emptyFilterMessage:[{type:i.Input}],virtualScroll:[{type:i.Input}],itemSize:[{type:i.Input}],autoZIndex:[{type:i.Input}],baseZIndex:[{type:i.Input}],showTransitionOptions:[{type:i.Input}],hideTransitionOptions:[{type:i.Input}],ariaFilterLabel:[{type:i.Input}],ariaLabelledBy:[{type:i.Input}],filterMatchMode:[{type:i.Input}],maxlength:[{type:i.Input}],tooltip:[{type:i.Input}],tooltipPosition:[{type:i.Input}],tooltipPositionStyle:[{type:i.Input}],tooltipStyleClass:[{type:i.Input}],autofocusFilter:[{type:i.Input}],onChange:[{type:i.Output}],onFocus:[{type:i.Output}],onBlur:[{type:i.Output}],onClick:[{type:i.Output}],onShow:[{type:i.Output}],onHide:[{type:i.Output}],containerViewChild:[{type:i.ViewChild,args:["container"]}],filterViewChild:[{type:i.ViewChild,args:["filter"]}],accessibleViewChild:[{type:i.ViewChild,args:["in"]}],viewPort:[{type:i.ViewChild,args:[e.CdkVirtualScrollViewport]}],editableInputViewChild:[{type:i.ViewChild,args:["editableInput"]}],templates:[{type:i.ContentChildren,args:[l.PrimeTemplate]}],disabled:[{type:i.Input}],options:[{type:i.Input}],filterValue:[{type:i.Input}]};var f=function(){};f.decorators=[{type:i.NgModule,args:[{imports:[o.CommonModule,l.SharedModule,e.ScrollingModule,a.TooltipModule,d.RippleModule],exports:[y,l.SharedModule,e.ScrollingModule],declarations:[y,c]}]}],t.DROPDOWN_VALUE_ACCESSOR=u,t.Dropdown=y,t.DropdownItem=c,t.DropdownModule=f,Object.defineProperty(t,"__esModule",{value:!0})}));
15
+ ***************************************************************************** */Object.create;function h(t){var e="function"==typeof Symbol&&Symbol.iterator,i=e&&t[e],n=0;if(i)return i.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}Object.create;var u={provide:p.NG_VALUE_ACCESSOR,useExisting:i.forwardRef((function(){return y})),multi:!0},c=function(){function t(){this.onClick=new i.EventEmitter}return t.prototype.onOptionClick=function(t){this.onClick.emit({originalEvent:t,option:this.option})},t}();c.decorators=[{type:i.Component,args:[{selector:"p-dropdownItem",template:'\n <li (click)="onOptionClick($event)" role="option" pRipple\n [attr.aria-label]="label" [attr.aria-selected]="selected"\n [ngStyle]="{\'height\': itemSize + \'px\'}"\n [ngClass]="{\'p-dropdown-item\':true, \'p-highlight\': selected, \'p-disabled\': disabled}">\n <span *ngIf="!template">{{label||\'empty\'}}</span>\n <ng-container *ngTemplateOutlet="template; context: {$implicit: option}"></ng-container>\n </li>\n '}]}],c.propDecorators={option:[{type:i.Input}],selected:[{type:i.Input}],label:[{type:i.Input}],disabled:[{type:i.Input}],visible:[{type:i.Input}],itemSize:[{type:i.Input}],template:[{type:i.Input}],onClick:[{type:i.Output}]};var y=function(){function t(t,e,n,o,l){this.el=t,this.renderer=e,this.cd=n,this.zone=o,this.filterService=l,this.scrollHeight="200px",this.resetFilterOnHide=!1,this.dropdownIcon="pi pi-chevron-down",this.autoDisplayFirst=!0,this.emptyFilterMessage="No results found",this.autoZIndex=!0,this.baseZIndex=0,this.showTransitionOptions=".12s cubic-bezier(0, 0, 0.2, 1)",this.hideTransitionOptions=".1s linear",this.filterMatchMode="contains",this.tooltip="",this.tooltipPosition="right",this.tooltipPositionStyle="absolute",this.autofocusFilter=!0,this.onChange=new i.EventEmitter,this.onFocus=new i.EventEmitter,this.onBlur=new i.EventEmitter,this.onClick=new i.EventEmitter,this.onShow=new i.EventEmitter,this.onHide=new i.EventEmitter,this.onModelChange=function(){},this.onModelTouched=function(){},this.viewPortOffsetTop=0}return Object.defineProperty(t.prototype,"disabled",{get:function(){return this._disabled},set:function(t){t&&(this.focused=!1),this._disabled=t,this.cd.destroyed||this.cd.detectChanges()},enumerable:!1,configurable:!0}),t.prototype.ngAfterContentInit=function(){var t=this;this.templates.forEach((function(e){switch(e.getType()){case"item":t.itemTemplate=e.template;break;case"selectedItem":t.selectedItemTemplate=e.template;break;case"group":t.groupTemplate=e.template;break;default:t.itemTemplate=e.template}}))},t.prototype.ngOnInit=function(){this.optionsToDisplay=this.options,this.updateSelectedOption(null)},Object.defineProperty(t.prototype,"options",{get:function(){return this._options},set:function(t){this._options=t,this.optionsToDisplay=this._options,this.updateSelectedOption(this.value),this.optionsChanged=!0,this.updateFilledState(),this._filterValue&&this._filterValue.length&&this.activateFilter()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"filterValue",{get:function(){return this._filterValue},set:function(t){this._filterValue=t,this.activateFilter()},enumerable:!1,configurable:!0}),t.prototype.ngAfterViewInit=function(){this.editable&&this.updateEditableLabel()},Object.defineProperty(t.prototype,"label",{get:function(){return this.selectedOption?this.getOptionLabel(this.selectedOption):null},enumerable:!1,configurable:!0}),t.prototype.updateEditableLabel=function(){this.editableInputViewChild&&this.editableInputViewChild.nativeElement&&(this.editableInputViewChild.nativeElement.value=this.selectedOption?this.getOptionLabel(this.selectedOption):this.value||"")},t.prototype.getOptionLabel=function(t){return this.optionLabel?r.ObjectUtils.resolveFieldData(t,this.optionLabel):null!=t.label?t.label:t},t.prototype.getOptionValue=function(t){return this.optionValue?r.ObjectUtils.resolveFieldData(t,this.optionValue):this.optionLabel?t:t.value},t.prototype.isOptionDisabled=function(t){return this.optionDisabled?r.ObjectUtils.resolveFieldData(t,this.optionDisabled):void 0!==t.disabled&&t.disabled},t.prototype.getOptionGroupLabel=function(t){return this.optionGroupLabel?r.ObjectUtils.resolveFieldData(t,this.optionGroupLabel):null!=t.label?t.label:t},t.prototype.getOptionGroupChildren=function(t){return this.optionGroupChildren?r.ObjectUtils.resolveFieldData(t,this.optionGroupChildren):t.items},t.prototype.onItemClick=function(t){var e=this,i=t.option;this.isOptionDisabled(i)||(this.selectItem(t,i),this.accessibleViewChild.nativeElement.focus()),setTimeout((function(){e.hide(t)}),150)},t.prototype.selectItem=function(t,e){var i=this;this.selectedOption!=e&&(this.selectedOption=e,this.value=this.getOptionValue(e),this.filled=!0,this.onModelChange(this.value),this.updateEditableLabel(),this.onChange.emit({originalEvent:t.originalEvent,value:this.value}),this.virtualScroll&&setTimeout((function(){i.viewPortOffsetTop=i.viewPort?i.viewPort.measureScrollOffset():0}),1))},t.prototype.ngAfterViewChecked=function(){var t=this;if(this.optionsChanged&&this.overlayVisible&&(this.optionsChanged=!1,this.virtualScroll&&this.updateVirtualScrollSelectedIndex(!0),this.zone.runOutsideAngular((function(){setTimeout((function(){t.alignOverlay()}),1)}))),this.selectedOptionUpdated&&this.itemsWrapper){if(this.virtualScroll&&this.viewPort){var e=this.viewPort.getRenderedRange();this.updateVirtualScrollSelectedIndex(!1),(e.start>this.virtualScrollSelectedIndex||e.end<this.virtualScrollSelectedIndex)&&this.viewPort.scrollToIndex(this.virtualScrollSelectedIndex)}s.DomHandler.findSingle(this.overlay,"li.p-highlight")&&s.DomHandler.scrollInView(this.itemsWrapper,s.DomHandler.findSingle(this.overlay,"li.p-highlight")),this.selectedOptionUpdated=!1}},t.prototype.writeValue=function(t){this.filter&&this.resetFilter(),this.value=t,this.updateSelectedOption(t),this.updateEditableLabel(),this.updateFilledState(),this.cd.markForCheck()},t.prototype.resetFilter=function(){this._filterValue=null,this.filterViewChild&&this.filterViewChild.nativeElement&&(this.filterViewChild.nativeElement.value=""),this.optionsToDisplay=this.options},t.prototype.updateSelectedOption=function(t){this.selectedOption=this.findOption(t,this.optionsToDisplay),this.autoDisplayFirst&&!this.placeholder&&!this.selectedOption&&this.optionsToDisplay&&this.optionsToDisplay.length&&!this.editable&&(this.selectedOption=this.optionsToDisplay[0]),this.selectedOptionUpdated=!0},t.prototype.registerOnChange=function(t){this.onModelChange=t},t.prototype.registerOnTouched=function(t){this.onModelTouched=t},t.prototype.setDisabledState=function(t){this.disabled=t,this.cd.markForCheck()},t.prototype.onMouseclick=function(t){this.disabled||this.readonly||this.isInputClick(t)||(this.onClick.emit(t),this.accessibleViewChild.nativeElement.focus(),this.overlayVisible?this.hide(t):this.show(),this.cd.detectChanges())},t.prototype.isInputClick=function(t){return s.DomHandler.hasClass(t.target,"p-dropdown-clear-icon")||t.target.isSameNode(this.accessibleViewChild.nativeElement)||this.editableInputViewChild&&t.target.isSameNode(this.editableInputViewChild.nativeElement)},t.prototype.isOutsideClicked=function(t){return!(this.el.nativeElement.isSameNode(t.target)||this.el.nativeElement.contains(t.target)||this.overlay&&this.overlay.contains(t.target))},t.prototype.onEditableInputClick=function(){this.bindDocumentClickListener()},t.prototype.onEditableInputFocus=function(t){this.focused=!0,this.hide(t),this.onFocus.emit(t)},t.prototype.onEditableInputChange=function(t){this.value=t.target.value,this.updateSelectedOption(this.value),this.onModelChange(this.value),this.onChange.emit({originalEvent:t,value:this.value})},t.prototype.show=function(){this.overlayVisible=!0},t.prototype.onOverlayAnimationStart=function(t){switch(t.toState){case"visible":this.overlay=t.element;var e=this.virtualScroll?".cdk-virtual-scroll-viewport":".p-dropdown-items-wrapper";if(this.itemsWrapper=s.DomHandler.findSingle(this.overlay,e),this.appendOverlay(),this.autoZIndex&&(this.overlay.style.zIndex=String(this.baseZIndex+ ++s.DomHandler.zindex)),this.alignOverlay(),this.bindDocumentClickListener(),this.bindDocumentResizeListener(),this.bindScrollListener(),this.options&&this.options.length&&!this.virtualScroll){var i=s.DomHandler.findSingle(this.itemsWrapper,".p-dropdown-item.p-highlight");i&&s.DomHandler.scrollInView(this.itemsWrapper,i)}this.filterViewChild&&this.filterViewChild.nativeElement&&(this.preventModelTouched=!0,this.autofocusFilter&&this.filterViewChild.nativeElement.focus()),this.onShow.emit(t);break;case"void":this.onOverlayHide()}},t.prototype.scrollToSelectedVirtualScrollElement=function(){this.virtualAutoScrolled||(this.viewPortOffsetTop?this.viewPort.scrollToOffset(this.viewPortOffsetTop):this.virtualScrollSelectedIndex>-1&&this.viewPort.scrollToIndex(this.virtualScrollSelectedIndex)),this.virtualAutoScrolled=!0},t.prototype.updateVirtualScrollSelectedIndex=function(t){this.selectedOption&&this.optionsToDisplay&&this.optionsToDisplay.length&&(t&&(this.viewPortOffsetTop=0),this.virtualScrollSelectedIndex=this.findOptionIndex(this.getOptionValue(this.selectedOption),this.optionsToDisplay))},t.prototype.appendOverlay=function(){this.appendTo&&("body"===this.appendTo?document.body.appendChild(this.overlay):s.DomHandler.appendChild(this.overlay,this.appendTo),this.overlay.style.minWidth||(this.overlay.style.minWidth=s.DomHandler.getWidth(this.containerViewChild.nativeElement)+"px"))},t.prototype.restoreOverlayAppend=function(){this.overlay&&this.appendTo&&this.el.nativeElement.appendChild(this.overlay)},t.prototype.hide=function(t){this.overlayVisible=!1,this.filter&&this.resetFilterOnHide&&this.resetFilter(),this.virtualScroll&&(this.virtualAutoScrolled=!1),this.cd.markForCheck(),this.onHide.emit(t)},t.prototype.alignOverlay=function(){this.overlay&&(this.appendTo?s.DomHandler.absolutePosition(this.overlay,this.containerViewChild.nativeElement):s.DomHandler.relativePosition(this.overlay,this.containerViewChild.nativeElement))},t.prototype.onInputFocus=function(t){this.focused=!0,this.onFocus.emit(t)},t.prototype.onInputBlur=function(t){this.focused=!1,this.onBlur.emit(t),this.preventModelTouched||this.onModelTouched(),this.preventModelTouched=!1},t.prototype.findPrevEnabledOption=function(t){var e;if(this.optionsToDisplay&&this.optionsToDisplay.length){for(var i=t-1;0<=i;i--){if(!(n=this.optionsToDisplay[i]).disabled){e=n;break}}if(!e)for(i=this.optionsToDisplay.length-1;i>=t;i--){var n=this.optionsToDisplay[i];if(!this.isOptionDisabled(n)){e=n;break}}}return e},t.prototype.findNextEnabledOption=function(t){var e;if(this.optionsToDisplay&&this.optionsToDisplay.length){for(var i=t+1;t<this.optionsToDisplay.length-1;i++){var n=this.optionsToDisplay[i];if(!this.isOptionDisabled(n)){e=n;break}}if(!e)for(i=0;i<t;i++){n=this.optionsToDisplay[i];if(!this.isOptionDisabled(n)){e=n;break}}}return e},t.prototype.onKeydown=function(t,e){if(!this.readonly&&this.optionsToDisplay&&null!==this.optionsToDisplay.length)switch(t.which){case 40:if(!this.overlayVisible&&t.altKey)this.show();else if(this.group){if(-1!==(n=this.selectedOption?this.findOptionGroupIndex(this.getOptionValue(this.selectedOption),this.optionsToDisplay):-1)){var i=n.itemIndex+1;i<this.getOptionGroupChildren(this.optionsToDisplay[n.groupIndex]).length?(this.selectItem(t,this.getOptionGroupChildren(this.optionsToDisplay[n.groupIndex])[i]),this.selectedOptionUpdated=!0):this.optionsToDisplay[n.groupIndex+1]&&(this.selectItem(t,this.getOptionGroupChildren(this.optionsToDisplay[n.groupIndex+1])[0]),this.selectedOptionUpdated=!0)}else this.selectItem(t,this.getOptionGroupChildren(this.optionsToDisplay[0])[0])}else{var n=this.selectedOption?this.findOptionIndex(this.getOptionValue(this.selectedOption),this.optionsToDisplay):-1,o=this.findNextEnabledOption(n);o&&(this.selectItem(t,o),this.selectedOptionUpdated=!0)}t.preventDefault();break;case 38:if(this.group){if(-1!==(n=this.selectedOption?this.findOptionGroupIndex(this.getOptionValue(this.selectedOption),this.optionsToDisplay):-1)){var l=n.itemIndex-1;if(l>=0)this.selectItem(t,this.getOptionGroupChildren(this.optionsToDisplay[n.groupIndex])[l]),this.selectedOptionUpdated=!0;else if(l<0){var s=this.optionsToDisplay[n.groupIndex-1];s&&(this.selectItem(t,this.getOptionGroupChildren(s)[this.getOptionGroupChildren(s).length-1]),this.selectedOptionUpdated=!0)}}}else{n=this.selectedOption?this.findOptionIndex(this.getOptionValue(this.selectedOption),this.optionsToDisplay):-1;var r=this.findPrevEnabledOption(n);r&&(this.selectItem(t,r),this.selectedOptionUpdated=!0)}t.preventDefault();break;case 32:case 32:this.overlayVisible||(this.show(),t.preventDefault());break;case 13:(!this.filter||this.optionsToDisplay&&this.optionsToDisplay.length>0)&&this.hide(t),t.preventDefault();break;case 27:case 9:this.hide(t);break;default:e&&this.search(t)}},t.prototype.search=function(t){var e=this;this.searchTimeout&&clearTimeout(this.searchTimeout);var i,n=t.key;if(this.previousSearchChar=this.currentSearchChar,this.currentSearchChar=n,this.previousSearchChar===this.currentSearchChar?this.searchValue=this.currentSearchChar:this.searchValue=this.searchValue?this.searchValue+n:n,this.group){var o=this.selectedOption?this.findOptionGroupIndex(this.getOptionValue(this.selectedOption),this.optionsToDisplay):{groupIndex:0,itemIndex:0};i=this.searchOptionWithinGroup(o)}else{o=this.selectedOption?this.findOptionIndex(this.getOptionValue(this.selectedOption),this.optionsToDisplay):-1;i=this.searchOption(++o)}i&&!this.isOptionDisabled(i)&&(this.selectItem(t,i),this.selectedOptionUpdated=!0),this.searchTimeout=setTimeout((function(){e.searchValue=null}),250)},t.prototype.searchOption=function(t){var e;return this.searchValue&&((e=this.searchOptionInRange(t,this.optionsToDisplay.length))||(e=this.searchOptionInRange(0,t))),e},t.prototype.searchOptionInRange=function(t,e){for(var i=t;i<e;i++){var n=this.optionsToDisplay[i];if(this.getOptionLabel(n).toLocaleLowerCase(this.filterLocale).startsWith(this.searchValue.toLocaleLowerCase(this.filterLocale))&&!this.isOptionDisabled(n))return n}return null},t.prototype.searchOptionWithinGroup=function(t){if(this.searchValue){for(var e=t.groupIndex;e<this.optionsToDisplay.length;e++)for(var i=t.groupIndex===e?t.itemIndex+1:0;i<this.getOptionGroupChildren(this.optionsToDisplay[e]).length;i++){var n=this.getOptionGroupChildren(this.optionsToDisplay[e])[i];if(this.getOptionLabel(n).toLocaleLowerCase(this.filterLocale).startsWith(this.searchValue.toLocaleLowerCase(this.filterLocale))&&!this.isOptionDisabled(n))return n}for(e=0;e<=t.groupIndex;e++)for(i=0;i<(t.groupIndex===e?t.itemIndex:this.getOptionGroupChildren(this.optionsToDisplay[e]).length);i++){n=this.getOptionGroupChildren(this.optionsToDisplay[e])[i];if(this.getOptionLabel(n).toLocaleLowerCase(this.filterLocale).startsWith(this.searchValue.toLocaleLowerCase(this.filterLocale))&&!this.isOptionDisabled(n))return n}}return null},t.prototype.findOptionIndex=function(t,e){var i=-1;if(e)for(var n=0;n<e.length;n++)if(null==t&&null==this.getOptionValue(e[n])||r.ObjectUtils.equals(t,this.getOptionValue(e[n]),this.dataKey)){i=n;break}return i},t.prototype.findOptionGroupIndex=function(t,e){var i,n;if(e)for(var o=0;o<e.length&&(i=o,-1===(n=this.findOptionIndex(t,this.getOptionGroupChildren(e[o]))));o++);return-1!==n?{groupIndex:i,itemIndex:n}:-1},t.prototype.findOption=function(t,e,i){var n,o;if(this.group&&!i){var l=void 0;if(e&&e.length)try{for(var s=h(e),r=s.next();!r.done;r=s.next()){var p=r.value;if(l=this.findOption(t,this.getOptionGroupChildren(p),!0))break}}catch(t){n={error:t}}finally{try{r&&!r.done&&(o=s.return)&&o.call(s)}finally{if(n)throw n.error}}return l}var a=this.findOptionIndex(t,e);return-1!=a?e[a]:null},t.prototype.onFilter=function(t){var e=t.target.value;e&&e.length?(this._filterValue=e,this.activateFilter()):(this._filterValue=null,this.optionsToDisplay=this.options),this.optionsChanged=!0},t.prototype.activateFilter=function(){var t,e,i=(this.filterBy||this.optionLabel||"label").split(",");if(this.options&&this.options.length){if(this.group){var n=[];try{for(var o=h(this.options),l=o.next();!l.done;l=o.next()){var s=l.value,r=this.filterService.filter(this.getOptionGroupChildren(s),i,this.filterValue,this.filterMatchMode,this.filterLocale);r&&r.length&&n.push({label:s.label,value:s.value,items:r})}}catch(e){t={error:e}}finally{try{l&&!l.done&&(e=o.return)&&e.call(o)}finally{if(t)throw t.error}}this.optionsToDisplay=n}else this.optionsToDisplay=this.filterService.filter(this.options,i,this.filterValue,this.filterMatchMode,this.filterLocale);this.optionsChanged=!0}},t.prototype.applyFocus=function(){this.editable?s.DomHandler.findSingle(this.el.nativeElement,".p-dropdown-label.p-inputtext").focus():s.DomHandler.findSingle(this.el.nativeElement,"input[readonly]").focus()},t.prototype.focus=function(){this.applyFocus()},t.prototype.bindDocumentClickListener=function(){var t=this;if(!this.documentClickListener){var e=this.el?this.el.nativeElement.ownerDocument:"document";this.documentClickListener=this.renderer.listen(e,"click",(function(e){t.isOutsideClicked(e)&&(t.hide(e),t.unbindDocumentClickListener()),t.cd.markForCheck()}))}},t.prototype.unbindDocumentClickListener=function(){this.documentClickListener&&(this.documentClickListener(),this.documentClickListener=null)},t.prototype.bindDocumentResizeListener=function(){this.documentResizeListener=this.onWindowResize.bind(this),window.addEventListener("resize",this.documentResizeListener)},t.prototype.unbindDocumentResizeListener=function(){this.documentResizeListener&&(window.removeEventListener("resize",this.documentResizeListener),this.documentResizeListener=null)},t.prototype.onWindowResize=function(){s.DomHandler.isAndroid()||this.hide(event)},t.prototype.bindScrollListener=function(){var t=this;this.scrollHandler||(this.scrollHandler=new s.ConnectedOverlayScrollHandler(this.containerViewChild.nativeElement,(function(e){t.overlayVisible&&t.hide(e)}))),this.scrollHandler.bindScrollListener()},t.prototype.unbindScrollListener=function(){this.scrollHandler&&this.scrollHandler.unbindScrollListener()},t.prototype.updateFilledState=function(){this.filled=null!=this.selectedOption},t.prototype.clear=function(t){this.value=null,this.onModelChange(this.value),this.onChange.emit({originalEvent:t,value:this.value}),this.updateSelectedOption(this.value),this.updateEditableLabel(),this.updateFilledState()},t.prototype.onOverlayHide=function(){this.unbindDocumentClickListener(),this.unbindDocumentResizeListener(),this.unbindScrollListener(),this.overlay=null,this.itemsWrapper=null,this.onModelTouched()},t.prototype.ngOnDestroy=function(){this.scrollHandler&&(this.scrollHandler.destroy(),this.scrollHandler=null),this.restoreOverlayAppend(),this.onOverlayHide()},t}();y.decorators=[{type:i.Component,args:[{selector:"p-dropdown",template:'\n <div #container [ngClass]="{\'p-dropdown p-component\':true,\n \'p-disabled\':disabled, \'p-dropdown-open\':overlayVisible, \'p-focus\':focused, \'p-dropdown-clearable\': showClear && !disabled}"\n (click)="onMouseclick($event)" [ngStyle]="style" [class]="styleClass">\n <div class="p-hidden-accessible">\n <input #in [attr.id]="inputId" type="text" [attr.aria-label]="label" readonly (focus)="onInputFocus($event)" aria-haspopup="listbox"\n aria-haspopup="listbox" [attr.aria-expanded]="overlayVisible" [attr.aria-labelledby]="ariaLabelledBy" (blur)="onInputBlur($event)" (keydown)="onKeydown($event, true)"\n [disabled]="disabled" [attr.tabindex]="tabindex" [attr.autofocus]="autofocus" role="listbox">\n </div>\n <span [ngClass]="{\'p-dropdown-label p-inputtext\':true,\'p-dropdown-label-empty\':(label == null || label.length === 0)}" *ngIf="!editable && (label != null)" [pTooltip]="tooltip" [tooltipPosition]="tooltipPosition" [positionStyle]="tooltipPositionStyle" [tooltipStyleClass]="tooltipStyleClass">\n <ng-container *ngIf="!selectedItemTemplate">{{label||\'empty\'}}</ng-container>\n <ng-container *ngTemplateOutlet="selectedItemTemplate; context: {$implicit: selectedOption}"></ng-container>\n </span>\n <span [ngClass]="{\'p-dropdown-label p-inputtext p-placeholder\':true,\'p-dropdown-label-empty\': (placeholder == null || placeholder.length === 0)}" *ngIf="!editable && (label == null)">{{placeholder||\'empty\'}}</span>\n <input #editableInput type="text" [attr.maxlength]="maxlength" [attr.aria-label]="label" class="p-dropdown-label p-inputtext" *ngIf="editable" [disabled]="disabled" [attr.placeholder]="placeholder"\n aria-haspopup="listbox" [attr.aria-expanded]="overlayVisible" (click)="onEditableInputClick()" (input)="onEditableInputChange($event)" (focus)="onEditableInputFocus($event)" (blur)="onInputBlur($event)">\n <i class="p-dropdown-clear-icon pi pi-times" (click)="clear($event)" *ngIf="value != null && showClear && !disabled"></i>\n <div class="p-dropdown-trigger" role="button" aria-haspopup="listbox" [attr.aria-expanded]="overlayVisible">\n <span class="p-dropdown-trigger-icon" [ngClass]="dropdownIcon"></span>\n </div>\n <div *ngIf="overlayVisible" [ngClass]="\'p-dropdown-panel p-component\'" [@overlayAnimation]="{value: \'visible\', params: {showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions}}" (@overlayAnimation.start)="onOverlayAnimationStart($event)" [ngStyle]="panelStyle" [class]="panelStyleClass">\n <div class="p-dropdown-header" *ngIf="filter" >\n <div class="p-dropdown-filter-container" (click)="$event.stopPropagation()">\n <input #filter type="text" autocomplete="off" [value]="filterValue||\'\'" class="p-dropdown-filter p-inputtext p-component" [attr.placeholder]="filterPlaceholder"\n (keydown.enter)="$event.preventDefault()" (keydown)="onKeydown($event, false)" (input)="onFilter($event)" [attr.aria-label]="ariaFilterLabel">\n <span class="p-dropdown-filter-icon pi pi-search"></span>\n </div>\n </div>\n <div class="p-dropdown-items-wrapper" [style.max-height]="virtualScroll ? \'auto\' : (scrollHeight||\'auto\')">\n <ul class="p-dropdown-items" role="listbox">\n <ng-container *ngIf="group">\n <ng-template ngFor let-optgroup [ngForOf]="optionsToDisplay">\n <li class="p-dropdown-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), selectedOption: selectedOption}"></ng-container>\n </ng-template>\n </ng-container>\n <ng-container *ngIf="!group">\n <ng-container *ngTemplateOutlet="itemslist; context: {$implicit: optionsToDisplay, selectedOption: selectedOption}"></ng-container>\n </ng-container>\n <ng-template #itemslist let-options let-selectedOption="selectedOption">\n <ng-container *ngIf="!virtualScroll; else virtualScrollList">\n <ng-template ngFor let-option let-i="index" [ngForOf]="options">\n <p-dropdownItem [option]="option" [selected]="selectedOption == option" [label]="getOptionLabel(option)" [disabled]="isOptionDisabled(option)"\n (onClick)="onItemClick($event)"\n [template]="itemTemplate"></p-dropdownItem>\n </ng-template>\n </ng-container>\n <ng-template #virtualScrollList>\n <cdk-virtual-scroll-viewport (scrolledIndexChange)="scrollToSelectedVirtualScrollElement()" #viewport [ngStyle]="{\'height\': scrollHeight}" [itemSize]="itemSize" *ngIf="virtualScroll && optionsToDisplay && optionsToDisplay.length">\n <ng-container *cdkVirtualFor="let option of options; let i = index; let c = count; let f = first; let l = last; let e = even; let o = odd">\n <p-dropdownItem [option]="option" [selected]="selectedOption == option" [label]="getOptionLabel(option)" [disabled]="isOptionDisabled(option)"\n (onClick)="onItemClick($event)"\n [template]="itemTemplate"></p-dropdownItem>\n </ng-container>\n </cdk-virtual-scroll-viewport>\n </ng-template>\n </ng-template>\n <li *ngIf="filter && (!optionsToDisplay || (optionsToDisplay && optionsToDisplay.length === 0))" class="p-dropdown-empty-message">{{emptyFilterMessage}}</li>\n </ul>\n </div>\n </div>\n </div>\n ',animations:[n.trigger("overlayAnimation",[n.transition(":enter",[n.style({opacity:0,transform:"scaleY(0.8)"}),n.animate("{{showTransitionParams}}")]),n.transition(":leave",[n.animate("{{hideTransitionParams}}",n.style({opacity:0}))])])],host:{"[class.p-inputwrapper-filled]":"filled","[class.p-inputwrapper-focus]":"focused"},providers:[u],changeDetection:i.ChangeDetectionStrategy.OnPush,encapsulation:i.ViewEncapsulation.None,styles:[".p-dropdown{-ms-user-select:none;-webkit-user-select:none;cursor:pointer;display:inline-flex;position:relative;user-select:none}.p-dropdown-clear-icon{margin-top:-.5rem;position:absolute;top:50%}.p-dropdown-trigger{align-items:center;display:flex;flex-shrink:0;justify-content:center}.p-dropdown-label{cursor:pointer;display:block;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:1%}.p-dropdown-label-empty{overflow:hidden;visibility:hidden}input.p-dropdown-label{cursor:default}.p-dropdown .p-dropdown-panel{min-width:100%}.p-dropdown-panel{position:absolute}.p-dropdown-items-wrapper{overflow:auto}.p-dropdown-item{cursor:pointer;font-weight:400;overflow:hidden;position:relative;white-space:nowrap}.p-dropdown-items{list-style-type:none;margin:0;padding:0}.p-dropdown-filter{width:100%}.p-dropdown-filter-container{position:relative}.p-dropdown-filter-icon{margin-top:-.5rem;position:absolute;top:50%}.p-fluid .p-dropdown{display:flex}.p-fluid .p-dropdown .p-dropdown-label{width:1%}"]}]}],y.ctorParameters=function(){return[{type:i.ElementRef},{type:i.Renderer2},{type:i.ChangeDetectorRef},{type:i.NgZone},{type:l.FilterService}]},y.propDecorators={scrollHeight:[{type:i.Input}],filter:[{type:i.Input}],name:[{type:i.Input}],style:[{type:i.Input}],panelStyle:[{type:i.Input}],styleClass:[{type:i.Input}],panelStyleClass:[{type:i.Input}],readonly:[{type:i.Input}],required:[{type:i.Input}],editable:[{type:i.Input}],appendTo:[{type:i.Input}],tabindex:[{type:i.Input}],placeholder:[{type:i.Input}],filterPlaceholder:[{type:i.Input}],filterLocale:[{type:i.Input}],inputId:[{type:i.Input}],selectId:[{type:i.Input}],dataKey:[{type:i.Input}],filterBy:[{type:i.Input}],autofocus:[{type:i.Input}],resetFilterOnHide:[{type:i.Input}],dropdownIcon:[{type:i.Input}],optionLabel:[{type:i.Input}],optionValue:[{type:i.Input}],optionDisabled:[{type:i.Input}],optionGroupLabel:[{type:i.Input}],optionGroupChildren:[{type:i.Input}],autoDisplayFirst:[{type:i.Input}],group:[{type:i.Input}],showClear:[{type:i.Input}],emptyFilterMessage:[{type:i.Input}],virtualScroll:[{type:i.Input}],itemSize:[{type:i.Input}],autoZIndex:[{type:i.Input}],baseZIndex:[{type:i.Input}],showTransitionOptions:[{type:i.Input}],hideTransitionOptions:[{type:i.Input}],ariaFilterLabel:[{type:i.Input}],ariaLabelledBy:[{type:i.Input}],filterMatchMode:[{type:i.Input}],maxlength:[{type:i.Input}],tooltip:[{type:i.Input}],tooltipPosition:[{type:i.Input}],tooltipPositionStyle:[{type:i.Input}],tooltipStyleClass:[{type:i.Input}],autofocusFilter:[{type:i.Input}],onChange:[{type:i.Output}],onFocus:[{type:i.Output}],onBlur:[{type:i.Output}],onClick:[{type:i.Output}],onShow:[{type:i.Output}],onHide:[{type:i.Output}],containerViewChild:[{type:i.ViewChild,args:["container"]}],filterViewChild:[{type:i.ViewChild,args:["filter"]}],accessibleViewChild:[{type:i.ViewChild,args:["in"]}],viewPort:[{type:i.ViewChild,args:[e.CdkVirtualScrollViewport]}],editableInputViewChild:[{type:i.ViewChild,args:["editableInput"]}],templates:[{type:i.ContentChildren,args:[l.PrimeTemplate]}],disabled:[{type:i.Input}],options:[{type:i.Input}],filterValue:[{type:i.Input}]};var f=function(){};f.decorators=[{type:i.NgModule,args:[{imports:[o.CommonModule,l.SharedModule,e.ScrollingModule,a.TooltipModule,d.RippleModule],exports:[y,l.SharedModule,e.ScrollingModule],declarations:[y,c]}]}],t.DROPDOWN_VALUE_ACCESSOR=u,t.Dropdown=y,t.DropdownItem=c,t.DropdownModule=f,Object.defineProperty(t,"__esModule",{value:!0})}));
16
16
  //# sourceMappingURL=primeng-dropdown.umd.min.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../node_modules/tslib/tslib.es6.js","../../../src/app/components/dropdown/dropdown.ts"],"names":["Object","create","__values","o","s","Symbol","iterator","m","i","call","length","next","value","done","TypeError","DROPDOWN_VALUE_ACCESSOR","provide","NG_VALUE_ACCESSOR","useExisting","forwardRef","Dropdown","multi","DropdownItem","this","onClick","EventEmitter","prototype","onOptionClick","event","emit","originalEvent","option","Component","args","selector","template","Input","Output","el","renderer","cd","zone","scrollHeight","resetFilterOnHide","dropdownIcon","autoDisplayFirst","emptyFilterMessage","autoZIndex","baseZIndex","showTransitionOptions","hideTransitionOptions","filterMatchMode","tooltip","tooltipPosition","tooltipPositionStyle","autofocusFilter","onChange","onFocus","onBlur","onShow","onHide","onModelChange","onModelTouched","viewPortOffsetTop","defineProperty","_disabled","focused","destroyed","detectChanges","ngAfterContentInit","_this","templates","forEach","item","getType","itemTemplate","selectedItemTemplate","groupTemplate","ngOnInit","optionsToDisplay","options","updateSelectedOption","_options","val","optionsChanged","updateFilledState","_filterValue","activateFilter","ngAfterViewInit","editable","updateEditableLabel","selectedOption","getOptionLabel","editableInputViewChild","nativeElement","optionLabel","ObjectUtils","resolveFieldData","undefined","label","getOptionValue","optionValue","isOptionDisabled","optionDisabled","disabled","getOptionGroupLabel","optionGroup","optionGroupLabel","getOptionGroupChildren","optionGroupChildren","items","onItemClick","selectItem","accessibleViewChild","focus","setTimeout","hide","filled","virtualScroll","viewPort","measureScrollOffset","ngAfterViewChecked","overlayVisible","updateVirtualScrollSelectedIndex","runOutsideAngular","alignOverlay","selectedOptionUpdated","itemsWrapper","range","getRenderedRange","start","virtualScrollSelectedIndex","end","scrollToIndex","DomHandler","findSingle","overlay","scrollInView","writeValue","filter","resetFilter","markForCheck","filterViewChild","findOption","placeholder","registerOnChange","fn","registerOnTouched","setDisabledState","onMouseclick","readonly","isInputClick","show","hasClass","target","isSameNode","isOutsideClicked","contains","onEditableInputClick","bindDocumentClickListener","onEditableInputFocus","onEditableInputChange","onOverlayAnimationStart","toState","element","itemsWrapperSelector","appendOverlay","style","zIndex","String","zindex","bindDocumentResizeListener","bindScrollListener","selectedListItem","preventModelTouched","onOverlayHide","scrollToSelectedVirtualScrollElement","virtualAutoScrolled","scrollToOffset","resetOffset","findOptionIndex","appendTo","document","body","appendChild","minWidth","getWidth","containerViewChild","restoreOverlayAppend","absolutePosition","relativePosition","onInputFocus","onInputBlur","findPrevEnabledOption","index","prevEnabledOption","findNextEnabledOption","nextEnabledOption","onKeydown","search","which","altKey","group","selectedItemIndex","findOptionGroupIndex","nextItemIndex","itemIndex","groupIndex","preventDefault","prevItemIndex","prevGroup","searchTimeout","clearTimeout","newOption","char","key","previousSearchChar","currentSearchChar","searchValue","searchIndex","searchOptionWithinGroup","searchOption","searchOptionInRange","opt","toLocaleLowerCase","filterLocale","startsWith","j","opts","equals","dataKey","inGroup","opts_1","opts_1_1","optgroup","onFilter","inputValue","searchFields","filterBy","split","filteredGroups","_b","_c","filteredSubOptions","FilterUtils","filterValue","push","applyFocus","documentClickListener","documentTarget","ownerDocument","listen","unbindDocumentClickListener","documentResizeListener","onWindowResize","bind","window","addEventListener","unbindDocumentResizeListener","removeEventListener","isAndroid","scrollHandler","ConnectedOverlayScrollHandler","unbindScrollListener","clear","ngOnDestroy","destroy","animations","trigger","transition","opacity","transform","animate","host","[class.p-inputwrapper-filled]","[class.p-inputwrapper-focus]","providers","changeDetection","ChangeDetectionStrategy","OnPush","encapsulation","ViewEncapsulation","None","ElementRef","Renderer2","ChangeDetectorRef","NgZone","ViewChild","CdkVirtualScrollViewport","ContentChildren","PrimeTemplate","NgModule","imports","CommonModule","SharedModule","ScrollingModule","TooltipModule","RippleModule","exports","declarations"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import {ScrollingModule, CdkVirtualScrollViewport} from '@angular/cdk/scrolling';\nimport {NgModule,Component,ElementRef,OnInit,AfterViewInit,AfterContentInit,AfterViewChecked,OnDestroy,Input,Output,Renderer2,EventEmitter,ContentChildren,\n QueryList,ViewChild,TemplateRef,forwardRef,ChangeDetectorRef,NgZone,ViewRef,ChangeDetectionStrategy, ViewEncapsulation} from '@angular/core';\nimport {trigger,style,transition,animate,AnimationEvent} from '@angular/animations';\nimport {CommonModule} from '@angular/common';\nimport {SelectItem} from 'primeng/api';\nimport {SharedModule,PrimeTemplate} from 'primeng/api';\nimport {DomHandler, ConnectedOverlayScrollHandler} from 'primeng/dom';\nimport {ObjectUtils} from 'primeng/utils';\nimport {NG_VALUE_ACCESSOR, ControlValueAccessor} from '@angular/forms';\nimport {FilterUtils} from 'primeng/utils';\nimport {TooltipModule} from 'primeng/tooltip';\nimport {RippleModule} from 'primeng/ripple';\n\nexport const DROPDOWN_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => Dropdown),\n multi: true\n};\n\n@Component({\n selector: 'p-dropdownItem',\n template: `\n <li (click)=\"onOptionClick($event)\" role=\"option\" pRipple\n [attr.aria-label]=\"label\" [attr.aria-selected]=\"selected\"\n [ngStyle]=\"{'height': itemSize + 'px'}\"\n [ngClass]=\"{'p-dropdown-item':true, 'p-highlight': selected, 'p-disabled': disabled}\">\n <span *ngIf=\"!template\">{{label||'empty'}}</span>\n <ng-container *ngTemplateOutlet=\"template; context: {$implicit: option}\"></ng-container>\n </li>\n `\n})\nexport class DropdownItem {\n\n @Input() option: SelectItem;\n\n @Input() selected: boolean;\n\n @Input() label: string;\n\n @Input() disabled: boolean;\n\n @Input() visible: boolean;\n\n @Input() itemSize: number;\n\n @Input() template: TemplateRef<any>;\n\n @Output() onClick: EventEmitter<any> = new EventEmitter();\n\n onOptionClick(event: Event) {\n this.onClick.emit({\n originalEvent: event,\n option: this.option\n });\n }\n}\n\n@Component({\n selector: 'p-dropdown',\n template: `\n <div #container [ngClass]=\"{'p-dropdown p-component':true,\n 'p-disabled':disabled, 'p-dropdown-open':overlayVisible, 'p-focus':focused, 'p-dropdown-clearable': showClear && !disabled}\"\n (click)=\"onMouseclick($event)\" [ngStyle]=\"style\" [class]=\"styleClass\">\n <div class=\"p-hidden-accessible\">\n <input #in [attr.id]=\"inputId\" type=\"text\" [attr.aria-label]=\"label\" readonly (focus)=\"onInputFocus($event)\" aria-haspopup=\"listbox\"\n aria-haspopup=\"listbox\" [attr.aria-expanded]=\"overlayVisible\" [attr.aria-labelledby]=\"ariaLabelledBy\" (blur)=\"onInputBlur($event)\" (keydown)=\"onKeydown($event, true)\"\n [disabled]=\"disabled\" [attr.tabindex]=\"tabindex\" [attr.autofocus]=\"autofocus\" role=\"listbox\">\n </div>\n <span [ngClass]=\"{'p-dropdown-label p-inputtext':true,'p-dropdown-label-empty':(label == null || label.length === 0)}\" *ngIf=\"!editable && (label != null)\" [pTooltip]=\"tooltip\" [tooltipPosition]=\"tooltipPosition\" [positionStyle]=\"tooltipPositionStyle\" [tooltipStyleClass]=\"tooltipStyleClass\">\n <ng-container *ngIf=\"!selectedItemTemplate\">{{label||'empty'}}</ng-container>\n <ng-container *ngTemplateOutlet=\"selectedItemTemplate; context: {$implicit: selectedOption}\"></ng-container>\n </span>\n <span [ngClass]=\"{'p-dropdown-label p-inputtext p-placeholder':true,'p-dropdown-label-empty': (placeholder == null || placeholder.length === 0)}\" *ngIf=\"!editable && (label == null)\">{{placeholder||'empty'}}</span>\n <input #editableInput type=\"text\" [attr.maxlength]=\"maxlength\" [attr.aria-label]=\"label\" class=\"p-dropdown-label p-inputtext\" *ngIf=\"editable\" [disabled]=\"disabled\" [attr.placeholder]=\"placeholder\"\n aria-haspopup=\"listbox\" [attr.aria-expanded]=\"overlayVisible\" (click)=\"onEditableInputClick()\" (input)=\"onEditableInputChange($event)\" (focus)=\"onEditableInputFocus($event)\" (blur)=\"onInputBlur($event)\">\n <i class=\"p-dropdown-clear-icon pi pi-times\" (click)=\"clear($event)\" *ngIf=\"value != null && showClear && !disabled\"></i>\n <div class=\"p-dropdown-trigger\" role=\"button\" aria-haspopup=\"listbox\" [attr.aria-expanded]=\"overlayVisible\">\n <span class=\"p-dropdown-trigger-icon\" [ngClass]=\"dropdownIcon\"></span>\n </div>\n <div *ngIf=\"overlayVisible\" [ngClass]=\"'p-dropdown-panel p-component'\" [@overlayAnimation]=\"{value: 'visible', params: {showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions}}\" (@overlayAnimation.start)=\"onOverlayAnimationStart($event)\" [ngStyle]=\"panelStyle\" [class]=\"panelStyleClass\">\n <div class=\"p-dropdown-header\" *ngIf=\"filter\" >\n <div class=\"p-dropdown-filter-container\" (click)=\"$event.stopPropagation()\">\n <input #filter type=\"text\" autocomplete=\"off\" [value]=\"filterValue||''\" class=\"p-dropdown-filter p-inputtext p-component\" [attr.placeholder]=\"filterPlaceholder\"\n (keydown.enter)=\"$event.preventDefault()\" (keydown)=\"onKeydown($event, false)\" (input)=\"onFilter($event)\" [attr.aria-label]=\"ariaFilterLabel\">\n <span class=\"p-dropdown-filter-icon pi pi-search\"></span>\n </div>\n </div>\n <div class=\"p-dropdown-items-wrapper\" [style.max-height]=\"virtualScroll ? 'auto' : (scrollHeight||'auto')\">\n <ul class=\"p-dropdown-items\" role=\"listbox\">\n <ng-container *ngIf=\"group\">\n <ng-template ngFor let-optgroup [ngForOf]=\"optionsToDisplay\">\n <li class=\"p-dropdown-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), selectedOption: selectedOption}\"></ng-container>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"!group\">\n <ng-container *ngTemplateOutlet=\"itemslist; context: {$implicit: optionsToDisplay, selectedOption: selectedOption}\"></ng-container>\n </ng-container>\n <ng-template #itemslist let-options let-selectedOption=\"selectedOption\">\n <ng-container *ngIf=\"!virtualScroll; else virtualScrollList\">\n <ng-template ngFor let-option let-i=\"index\" [ngForOf]=\"options\">\n <p-dropdownItem [option]=\"option\" [selected]=\"selectedOption == option\" [label]=\"getOptionLabel(option)\" [disabled]=\"isOptionDisabled(option)\"\n (onClick)=\"onItemClick($event)\"\n [template]=\"itemTemplate\"></p-dropdownItem>\n </ng-template>\n </ng-container>\n <ng-template #virtualScrollList>\n <cdk-virtual-scroll-viewport (scrolledIndexChange)=\"scrollToSelectedVirtualScrollElement()\" #viewport [ngStyle]=\"{'height': scrollHeight}\" [itemSize]=\"itemSize\" *ngIf=\"virtualScroll && optionsToDisplay && optionsToDisplay.length\">\n <ng-container *cdkVirtualFor=\"let option of options; let i = index; let c = count; let f = first; let l = last; let e = even; let o = odd\">\n <p-dropdownItem [option]=\"option\" [selected]=\"selectedOption == option\" [label]=\"getOptionLabel(option)\" [disabled]=\"isOptionDisabled(option)\"\n (onClick)=\"onItemClick($event)\"\n [template]=\"itemTemplate\"></p-dropdownItem>\n </ng-container>\n </cdk-virtual-scroll-viewport>\n </ng-template>\n </ng-template>\n <li *ngIf=\"filter && (!optionsToDisplay || (optionsToDisplay && optionsToDisplay.length === 0))\" class=\"p-dropdown-empty-message\">{{emptyFilterMessage}}</li>\n </ul>\n </div>\n </div>\n </div>\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-inputwrapper-filled]': 'filled',\n '[class.p-inputwrapper-focus]': 'focused'\n },\n providers: [DROPDOWN_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./dropdown.css']\n})\nexport class Dropdown implements OnInit,AfterViewInit,AfterContentInit,AfterViewChecked,OnDestroy,ControlValueAccessor {\n\n @Input() scrollHeight: string = '200px';\n\n @Input() filter: boolean;\n\n @Input() name: string;\n\n @Input() style: any;\n\n @Input() panelStyle: any;\n\n @Input() styleClass: string;\n\n @Input() panelStyleClass: string;\n\n @Input() readonly: boolean;\n\n @Input() required: boolean;\n\n @Input() editable: boolean;\n\n @Input() appendTo: any;\n\n @Input() tabindex: number;\n\n @Input() placeholder: string;\n\n @Input() filterPlaceholder: string;\n\n @Input() filterLocale: string;\n\n @Input() inputId: string;\n\n @Input() selectId: string;\n\n @Input() dataKey: string;\n\n @Input() filterBy: string;\n\n @Input() autofocus: boolean;\n\n @Input() resetFilterOnHide: boolean = false;\n\n @Input() dropdownIcon: string = 'pi pi-chevron-down';\n\n @Input() optionLabel: string;\n\n @Input() optionValue: string;\n\n @Input() optionDisabled: string;\n\n @Input() optionGroupLabel: string;\n\n @Input() optionGroupChildren: string;\n\n @Input() autoDisplayFirst: boolean = true;\n\n @Input() group: boolean;\n\n @Input() showClear: boolean;\n\n @Input() emptyFilterMessage: string = 'No results found';\n\n @Input() virtualScroll: boolean;\n\n @Input() itemSize: number;\n\n @Input() autoZIndex: boolean = true;\n\n @Input() baseZIndex: number = 0;\n\n @Input() showTransitionOptions: string = '.12s cubic-bezier(0, 0, 0.2, 1)';\n\n @Input() hideTransitionOptions: string = '.1s linear';\n\n @Input() ariaFilterLabel: string;\n\n @Input() ariaLabelledBy: string;\n\n @Input() filterMatchMode: string = \"contains\";\n\n @Input() maxlength: number;\n\n @Input() tooltip: string = '';\n\n @Input() tooltipPosition: string = 'right';\n\n @Input() tooltipPositionStyle: string = 'absolute';\n\n @Input() tooltipStyleClass: string;\n\n @Input() autofocusFilter: boolean = true;\n\n @Output() onChange: EventEmitter<any> = new EventEmitter();\n\n @Output() onFocus: EventEmitter<any> = new EventEmitter();\n\n @Output() onBlur: EventEmitter<any> = new EventEmitter();\n\n @Output() onClick: EventEmitter<any> = new EventEmitter();\n\n @Output() onShow: EventEmitter<any> = new EventEmitter();\n\n @Output() onHide: EventEmitter<any> = new EventEmitter();\n\n @ViewChild('container') containerViewChild: ElementRef;\n\n @ViewChild('filter') filterViewChild: ElementRef;\n\n @ViewChild('in') accessibleViewChild: ElementRef;\n\n @ViewChild(CdkVirtualScrollViewport) viewPort: CdkVirtualScrollViewport;\n\n @ViewChild('editableInput') editableInputViewChild: ElementRef;\n\n @ContentChildren(PrimeTemplate) templates: QueryList<any>;\n\n private _disabled: boolean;\n\n @Input() get disabled(): boolean {\n return this._disabled;\n };\n\n set disabled(_disabled: boolean) {\n if (_disabled)\n this.focused = false;\n\n this._disabled = _disabled;\n if (!(this.cd as ViewRef).destroyed) {\n this.cd.detectChanges();\n }\n }\n\n overlay: HTMLDivElement;\n\n itemsWrapper: HTMLDivElement;\n\n itemTemplate: TemplateRef<any>;\n\n groupTemplate: TemplateRef<any>;\n\n selectedItemTemplate: TemplateRef<any>;\n\n selectedOption: any;\n\n _options: any[];\n\n value: any;\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n optionsToDisplay: any[];\n\n hover: boolean;\n\n focused: boolean;\n\n filled: boolean;\n\n overlayVisible: boolean;\n\n documentClickListener: any;\n\n scrollHandler: any;\n\n optionsChanged: boolean;\n\n panel: HTMLDivElement;\n\n dimensionsUpdated: boolean;\n\n hoveredItem: any;\n\n selectedOptionUpdated: boolean;\n\n _filterValue: string;\n\n searchValue: string;\n\n searchIndex: number;\n\n searchTimeout: any;\n\n previousSearchChar: string;\n\n currentSearchChar: string;\n\n documentResizeListener: any;\n\n virtualAutoScrolled: boolean;\n\n virtualScrollSelectedIndex: number;\n\n viewPortOffsetTop: number = 0;\n\n preventModelTouched: boolean;\n\n constructor(public el: ElementRef, public renderer: Renderer2, public cd: ChangeDetectorRef, public zone: NgZone) {}\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 'selectedItem':\n this.selectedItemTemplate = item.template;\n break;\n\n case 'group':\n this.groupTemplate = item.template;\n break;\n\n default:\n this.itemTemplate = item.template;\n break;\n }\n });\n }\n\n ngOnInit() {\n this.optionsToDisplay = this.options;\n this.updateSelectedOption(null);\n }\n\n @Input() get options(): any[] {\n return this._options;\n }\n\n set options(val: any[]) {\n this._options = val;\n this.optionsToDisplay = this._options;\n this.updateSelectedOption(this.value);\n this.optionsChanged = true;\n this.updateFilledState();\n\n if (this._filterValue && this._filterValue.length) {\n this.activateFilter();\n }\n }\n\n @Input() get filterValue(): string {\n return this._filterValue;\n }\n\n set filterValue(val: string) {\n this._filterValue = val;\n this.activateFilter();\n }\n\n ngAfterViewInit() {\n if (this.editable) {\n this.updateEditableLabel();\n }\n }\n\n get label(): string {\n return this.selectedOption ? this.getOptionLabel(this.selectedOption) : null;\n }\n\n updateEditableLabel(): void {\n if (this.editableInputViewChild && this.editableInputViewChild.nativeElement) {\n this.editableInputViewChild.nativeElement.value = (this.selectedOption ? this.getOptionLabel(this.selectedOption) : this.value||'');\n }\n }\n\n getOptionLabel(option: any) {\n return this.optionLabel ? ObjectUtils.resolveFieldData(option, this.optionLabel) : (option.label != undefined ? option.label : option);\n }\n\n getOptionValue(option: any) {\n return this.optionValue ? ObjectUtils.resolveFieldData(option, this.optionValue) : (option.value !== undefined ? option.value : option);\n }\n\n isOptionDisabled(option: any) {\n return this.optionDisabled ? ObjectUtils.resolveFieldData(option, this.optionDisabled) : (option.disabled !== undefined ? option.disabled : false);\n }\n\n getOptionGroupLabel(optionGroup: any) {\n return this.optionGroupLabel ? ObjectUtils.resolveFieldData(optionGroup, this.optionGroupLabel) : (optionGroup.label != undefined ? optionGroup.label : optionGroup);\n }\n\n getOptionGroupChildren(optionGroup: any) {\n return this.optionGroupChildren ? ObjectUtils.resolveFieldData(optionGroup, this.optionGroupChildren) : optionGroup.items;\n }\n\n onItemClick(event) {\n const option = event.option;\n\n if (!this.isOptionDisabled(option)) {\n this.selectItem(event, option);\n this.accessibleViewChild.nativeElement.focus();\n }\n\n setTimeout(() => {\n this.hide(event);\n }, 150);\n }\n\n selectItem(event, option) {\n if (this.selectedOption != option) {\n this.selectedOption = option;\n this.value = this.getOptionValue(option);\n this.filled = true;\n\n this.onModelChange(this.value);\n this.updateEditableLabel();\n this.onChange.emit({\n originalEvent: event.originalEvent,\n value: this.value\n });\n\n if (this.virtualScroll) {\n setTimeout(() => {\n this.viewPortOffsetTop = this.viewPort ? this.viewPort.measureScrollOffset() : 0;\n }, 1);\n }\n }\n }\n\n ngAfterViewChecked() {\n if (this.optionsChanged && this.overlayVisible) {\n this.optionsChanged = false;\n\n if (this.virtualScroll) {\n this.updateVirtualScrollSelectedIndex(true);\n }\n\n this.zone.runOutsideAngular(() => {\n setTimeout(() => {\n this.alignOverlay();\n }, 1);\n });\n }\n\n if (this.selectedOptionUpdated && this.itemsWrapper) {\n if (this.virtualScroll && this.viewPort) {\n let range = this.viewPort.getRenderedRange();\n this.updateVirtualScrollSelectedIndex(false);\n\n if (range.start > this.virtualScrollSelectedIndex || range.end < this.virtualScrollSelectedIndex) {\n this.viewPort.scrollToIndex(this.virtualScrollSelectedIndex);\n }\n }\n\n let selectedItem = DomHandler.findSingle(this.overlay, 'li.p-highlight');\n if (selectedItem) {\n DomHandler.scrollInView(this.itemsWrapper, DomHandler.findSingle(this.overlay, 'li.p-highlight'));\n }\n this.selectedOptionUpdated = false;\n }\n }\n\n writeValue(value: any): void {\n if (this.filter) {\n this.resetFilter();\n }\n\n this.value = value;\n this.updateSelectedOption(value);\n this.updateEditableLabel();\n this.updateFilledState();\n this.cd.markForCheck();\n }\n\n resetFilter(): void {\n this._filterValue = null;\n\n if (this.filterViewChild && this.filterViewChild.nativeElement) {\n this.filterViewChild.nativeElement.value = '';\n }\n\n this.optionsToDisplay = this.options;\n }\n\n updateSelectedOption(val: any): void {\n this.selectedOption = this.findOption(val, this.optionsToDisplay);\n if (this.autoDisplayFirst && !this.placeholder && !this.selectedOption && this.optionsToDisplay && this.optionsToDisplay.length && !this.editable) {\n this.selectedOption = this.optionsToDisplay[0];\n }\n this.selectedOptionUpdated = true;\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 onMouseclick(event) {\n if (this.disabled || this.readonly || this.isInputClick(event)) {\n return;\n }\n\n this.onClick.emit(event);\n this.accessibleViewChild.nativeElement.focus();\n\n if (this.overlayVisible)\n this.hide(event);\n else\n this.show();\n\n this.cd.detectChanges();\n }\n\n isInputClick(event): boolean {\n return DomHandler.hasClass(event.target, 'p-dropdown-clear-icon') ||\n event.target.isSameNode(this.accessibleViewChild.nativeElement) ||\n (this.editableInputViewChild && event.target.isSameNode(this.editableInputViewChild.nativeElement));\n }\n\n isOutsideClicked(event: Event): boolean {\n return !(this.el.nativeElement.isSameNode(event.target) || this.el.nativeElement.contains(event.target) || (this.overlay && this.overlay.contains(<Node> event.target)));\n }\n\n onEditableInputClick() {\n this.bindDocumentClickListener();\n }\n\n onEditableInputFocus(event) {\n this.focused = true;\n this.hide(event);\n this.onFocus.emit(event);\n }\n\n onEditableInputChange(event) {\n this.value = event.target.value;\n this.updateSelectedOption(this.value);\n this.onModelChange(this.value);\n this.onChange.emit({\n originalEvent: event,\n value: this.value\n });\n }\n\n show() {\n this.overlayVisible = true;\n }\n\n onOverlayAnimationStart(event: AnimationEvent) {\n switch (event.toState) {\n case 'visible':\n this.overlay = event.element;\n let itemsWrapperSelector = this.virtualScroll ? '.cdk-virtual-scroll-viewport' : '.p-dropdown-items-wrapper';\n this.itemsWrapper = DomHandler.findSingle(this.overlay, itemsWrapperSelector);\n this.appendOverlay();\n if (this.autoZIndex) {\n this.overlay.style.zIndex = String(this.baseZIndex + (++DomHandler.zindex));\n }\n this.alignOverlay();\n this.bindDocumentClickListener();\n this.bindDocumentResizeListener();\n this.bindScrollListener();\n\n if (this.options && this.options.length) {\n if (!this.virtualScroll) {\n let selectedListItem = DomHandler.findSingle(this.itemsWrapper, '.p-dropdown-item.p-highlight');\n if (selectedListItem) {\n DomHandler.scrollInView(this.itemsWrapper, selectedListItem);\n }\n }\n }\n\n if (this.filterViewChild && this.filterViewChild.nativeElement) {\n this.preventModelTouched = true;\n\n if (this.autofocusFilter) {\n this.filterViewChild.nativeElement.focus();\n }\n }\n\n this.onShow.emit(event);\n break;\n\n case 'void':\n this.onOverlayHide();\n break;\n }\n }\n\n scrollToSelectedVirtualScrollElement() {\n if (!this.virtualAutoScrolled) {\n if (this.viewPortOffsetTop) {\n this.viewPort.scrollToOffset(this.viewPortOffsetTop);\n }\n else if (this.virtualScrollSelectedIndex > -1) {\n this.viewPort.scrollToIndex(this.virtualScrollSelectedIndex);\n }\n }\n\n this.virtualAutoScrolled = true;\n }\n\n updateVirtualScrollSelectedIndex(resetOffset) {\n if (this.selectedOption && this.optionsToDisplay && this.optionsToDisplay.length) {\n if (resetOffset) {\n this.viewPortOffsetTop = 0;\n }\n\n this.virtualScrollSelectedIndex = this.findOptionIndex(this.getOptionValue(this.selectedOption), this.optionsToDisplay);\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.containerViewChild.nativeElement) + 'px';\n }\n }\n }\n\n restoreOverlayAppend() {\n if (this.overlay && this.appendTo) {\n this.el.nativeElement.appendChild(this.overlay);\n }\n }\n\n hide(event) {\n this.overlayVisible = false;\n\n if (this.filter && this.resetFilterOnHide) {\n this.resetFilter();\n }\n\n if (this.virtualScroll) {\n this.virtualAutoScrolled = false;\n }\n\n this.cd.markForCheck();\n this.onHide.emit(event);\n }\n\n alignOverlay() {\n if (this.overlay) {\n if (this.appendTo)\n DomHandler.absolutePosition(this.overlay, this.containerViewChild.nativeElement);\n else\n DomHandler.relativePosition(this.overlay, this.containerViewChild.nativeElement);\n }\n }\n\n onInputFocus(event) {\n this.focused = true;\n this.onFocus.emit(event);\n }\n\n onInputBlur(event) {\n this.focused = false;\n this.onBlur.emit(event);\n\n if (!this.preventModelTouched) {\n this.onModelTouched();\n }\n this.preventModelTouched = false;\n }\n\n findPrevEnabledOption(index) {\n let prevEnabledOption;\n\n if (this.optionsToDisplay && this.optionsToDisplay.length) {\n for (let i = (index - 1); 0 <= i; i--) {\n let option = this.optionsToDisplay[i];\n if (option.disabled) {\n continue;\n }\n else {\n prevEnabledOption = option;\n break;\n }\n }\n\n if (!prevEnabledOption) {\n for (let i = this.optionsToDisplay.length - 1; i >= index ; i--) {\n let option = this.optionsToDisplay[i];\n if (this.isOptionDisabled(option)) {\n continue;\n }\n else {\n prevEnabledOption = option;\n break;\n }\n }\n }\n }\n\n return prevEnabledOption;\n }\n\n findNextEnabledOption(index) {\n let nextEnabledOption;\n\n if (this.optionsToDisplay && this.optionsToDisplay.length) {\n for (let i = (index + 1); index < (this.optionsToDisplay.length - 1); i++) {\n let option = this.optionsToDisplay[i];\n if (this.isOptionDisabled(option)) {\n continue;\n }\n else {\n nextEnabledOption = option;\n break;\n }\n }\n\n if (!nextEnabledOption) {\n for (let i = 0; i < index; i++) {\n let option = this.optionsToDisplay[i];\n if (this.isOptionDisabled(option)) {\n continue;\n }\n else {\n nextEnabledOption = option;\n break;\n }\n }\n }\n }\n\n return nextEnabledOption;\n }\n\n onKeydown(event: KeyboardEvent, search: boolean) {\n if (this.readonly || !this.optionsToDisplay || this.optionsToDisplay.length === null) {\n return;\n }\n\n switch(event.which) {\n //down\n case 40:\n if (!this.overlayVisible && event.altKey) {\n this.show();\n }\n else {\n if (this.group) {\n let selectedItemIndex = this.selectedOption ? this.findOptionGroupIndex(this.getOptionValue(this.selectedOption), this.optionsToDisplay) : -1;\n \n if (selectedItemIndex !== -1) {\n let nextItemIndex = selectedItemIndex.itemIndex + 1;\n if (nextItemIndex < (this.getOptionGroupChildren(this.optionsToDisplay[selectedItemIndex.groupIndex]).length)) {\n this.selectItem(event, this.getOptionGroupChildren(this.optionsToDisplay[selectedItemIndex.groupIndex])[nextItemIndex]);\n this.selectedOptionUpdated = true;\n }\n else if (this.optionsToDisplay[selectedItemIndex.groupIndex + 1]) {\n this.selectItem(event, this.getOptionGroupChildren(this.optionsToDisplay[selectedItemIndex.groupIndex + 1])[0]);\n this.selectedOptionUpdated = true;\n }\n }\n else {\n this.selectItem(event, this.getOptionGroupChildren(this.optionsToDisplay[0])[0]);\n }\n }\n else {\n let selectedItemIndex = this.selectedOption ? this.findOptionIndex(this.getOptionValue(this.selectedOption), this.optionsToDisplay) : -1;\n let nextEnabledOption = this.findNextEnabledOption(selectedItemIndex);\n if (nextEnabledOption) {\n this.selectItem(event, nextEnabledOption);\n this.selectedOptionUpdated = true;\n }\n }\n }\n\n event.preventDefault();\n\n break;\n\n //up\n case 38:\n if (this.group) {\n let selectedItemIndex = this.selectedOption ? this.findOptionGroupIndex(this.getOptionValue(this.selectedOption), this.optionsToDisplay) : -1;\n if (selectedItemIndex !== -1) {\n let prevItemIndex = selectedItemIndex.itemIndex - 1;\n if (prevItemIndex >= 0) {\n this.selectItem(event, this.getOptionGroupChildren(this.optionsToDisplay[selectedItemIndex.groupIndex])[prevItemIndex]);\n this.selectedOptionUpdated = true;\n }\n else if (prevItemIndex < 0) {\n let prevGroup = this.optionsToDisplay[selectedItemIndex.groupIndex - 1];\n if (prevGroup) {\n this.selectItem(event, this.getOptionGroupChildren(prevGroup)[this.getOptionGroupChildren(prevGroup).length - 1]);\n this.selectedOptionUpdated = true;\n }\n }\n }\n }\n else {\n let selectedItemIndex = this.selectedOption ? this.findOptionIndex(this.getOptionValue(this.selectedOption), this.optionsToDisplay) : -1;\n let prevEnabledOption = this.findPrevEnabledOption(selectedItemIndex);\n if (prevEnabledOption) {\n this.selectItem(event, prevEnabledOption);\n this.selectedOptionUpdated = true;\n }\n }\n\n event.preventDefault();\n break;\n\n //space\n case 32:\n case 32:\n if (!this.overlayVisible){\n this.show();\n event.preventDefault();\n }\n break;\n\n //enter\n case 13:\n if (!this.filter || (this.optionsToDisplay && this.optionsToDisplay.length > 0)) {\n this.hide(event);\n }\n\n event.preventDefault();\n break;\n\n //escape and tab\n case 27:\n case 9:\n this.hide(event);\n break;\n\n //search item based on keyboard input\n default:\n if (search) {\n this.search(event);\n }\n break;\n }\n }\n\n search(event) {\n if (this.searchTimeout) {\n clearTimeout(this.searchTimeout);\n }\n\n const char = event.key;\n this.previousSearchChar = this.currentSearchChar;\n this.currentSearchChar = char;\n\n if (this.previousSearchChar === this.currentSearchChar)\n this.searchValue = this.currentSearchChar;\n else\n this.searchValue = this.searchValue ? this.searchValue + char : char;\n\n let newOption;\n if (this.group) {\n let searchIndex = this.selectedOption ? this.findOptionGroupIndex(this.getOptionValue(this.selectedOption), this.optionsToDisplay) : {groupIndex: 0, itemIndex: 0};\n newOption = this.searchOptionWithinGroup(searchIndex);\n }\n else {\n let searchIndex = this.selectedOption ? this.findOptionIndex(this.getOptionValue(this.selectedOption), this.optionsToDisplay) : -1;\n newOption = this.searchOption(++searchIndex);\n }\n\n if (newOption && !this.isOptionDisabled(newOption)) {\n this.selectItem(event, newOption);\n this.selectedOptionUpdated = true;\n }\n\n this.searchTimeout = setTimeout(() => {\n this.searchValue = null;\n }, 250);\n }\n\n searchOption(index) {\n let option;\n\n if (this.searchValue) {\n option = this.searchOptionInRange(index, this.optionsToDisplay.length);\n\n if (!option) {\n option = this.searchOptionInRange(0, index);\n }\n }\n\n return option;\n }\n\n searchOptionInRange(start, end) {\n for (let i = start; i < end; i++) {\n let opt = this.optionsToDisplay[i];\n if (this.getOptionLabel(opt).toLocaleLowerCase(this.filterLocale).startsWith((this.searchValue as any).toLocaleLowerCase(this.filterLocale)) && !this.isOptionDisabled(opt)) {\n return opt;\n }\n }\n\n return null;\n }\n\n searchOptionWithinGroup(index) {\n let option;\n\n if (this.searchValue) {\n for (let i = index.groupIndex; i < this.optionsToDisplay.length; i++) {\n for (let j = (index.groupIndex === i) ? (index.itemIndex + 1) : 0; j < this.getOptionGroupChildren(this.optionsToDisplay[i]).length; j++) {\n let opt = this.getOptionGroupChildren(this.optionsToDisplay[i])[j];\n if (this.getOptionLabel(opt).toLocaleLowerCase(this.filterLocale).startsWith((this.searchValue as any).toLocaleLowerCase(this.filterLocale)) && !this.isOptionDisabled(opt)) {\n return opt;\n }\n }\n }\n\n if (!option) {\n for (let i = 0; i <= index.groupIndex; i++) {\n for (let j = 0; j < ((index.groupIndex === i) ? index.itemIndex : this.getOptionGroupChildren(this.optionsToDisplay[i]).length); j++) {\n let opt = this.getOptionGroupChildren(this.optionsToDisplay[i])[j];\n if (this.getOptionLabel(opt).toLocaleLowerCase(this.filterLocale).startsWith((this.searchValue as any).toLocaleLowerCase(this.filterLocale)) && !this.isOptionDisabled(opt)) {\n return opt;\n }\n }\n }\n }\n }\n\n return null;\n }\n\n findOptionIndex(val: any, opts: any[]): number {\n let index: number = -1;\n if (opts) {\n for (let i = 0; i < opts.length; i++) {\n if ((val == null && this.getOptionValue(opts[i]) == null) || ObjectUtils.equals(val, this.getOptionValue(opts[i]), this.dataKey)) {\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 findOption(val: any, opts: any[], inGroup?: boolean): SelectItem {\n if (this.group && !inGroup) {\n let opt: SelectItem;\n if (opts && opts.length) {\n for (let optgroup of opts) {\n opt = this.findOption(val, this.getOptionGroupChildren(optgroup), true);\n if (opt) {\n break;\n }\n }\n }\n return opt;\n }\n else {\n let index: number = this.findOptionIndex(val, opts);\n return (index != -1) ? opts[index] : null;\n }\n }\n\n onFilter(event): void {\n let inputValue = event.target.value;\n if (inputValue && inputValue.length) {\n this._filterValue = inputValue;\n this.activateFilter();\n }\n else {\n this._filterValue = null;\n this.optionsToDisplay = this.options;\n }\n\n this.optionsChanged = true;\n }\n\n activateFilter() {\n let searchFields: string[] = (this.filterBy || this.optionLabel || 'label').split(',');\n\n if (this.options && this.options.length) {\n if (this.group) {\n let filteredGroups = [];\n for (let optgroup of this.options) {\n let filteredSubOptions = FilterUtils.filter(this.getOptionGroupChildren(optgroup), searchFields, this.filterValue, this.filterMatchMode, this.filterLocale);\n if (filteredSubOptions && filteredSubOptions.length) {\n filteredGroups.push({\n label: optgroup.label,\n value: optgroup.value,\n items: filteredSubOptions\n });\n }\n }\n\n this.optionsToDisplay = filteredGroups;\n }\n else {\n this.optionsToDisplay = FilterUtils.filter(this.options, searchFields, this.filterValue, this.filterMatchMode, this.filterLocale);\n }\n\n this.optionsChanged = true;\n }\n }\n\n applyFocus(): void {\n if (this.editable)\n DomHandler.findSingle(this.el.nativeElement, '.p-dropdown-label.p-inputtext').focus();\n else\n DomHandler.findSingle(this.el.nativeElement, 'input[readonly]').focus();\n }\n\n focus(): void {\n this.applyFocus();\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 (this.isOutsideClicked(event)) {\n this.hide(event);\n this.unbindDocumentClickListener();\n }\n\n this.cd.markForCheck();\n });\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 if (!DomHandler.isAndroid()) {\n this.hide(event);\n }\n }\n\n bindScrollListener() {\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.containerViewChild.nativeElement, (event: any) => {\n if (this.overlayVisible) {\n this.hide(event);\n }\n });\n }\n\n this.scrollHandler.bindScrollListener();\n }\n\n unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n }\n\n updateFilledState() {\n this.filled = (this.selectedOption != null);\n }\n\n clear(event: Event) {\n this.value = null;\n this.onModelChange(this.value);\n this.onChange.emit({\n originalEvent: event,\n value: this.value\n });\n this.updateSelectedOption(this.value);\n this.updateEditableLabel();\n this.updateFilledState();\n }\n\n onOverlayHide() {\n this.unbindDocumentClickListener();\n this.unbindDocumentResizeListener();\n this.unbindScrollListener();\n this.overlay = null;\n this.itemsWrapper = null;\n this.onModelTouched();\n }\n\n ngOnDestroy() {\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n\n this.restoreOverlayAppend();\n this.onOverlayHide();\n }\n}\n\n@NgModule({\n imports: [CommonModule,SharedModule,ScrollingModule,TooltipModule,RippleModule],\n exports: [Dropdown,SharedModule,ScrollingModule],\n declarations: [Dropdown,DropdownItem]\n})\nexport class DropdownModule { }\n"]}
1
+ {"version":3,"sources":["../../node_modules/tslib/tslib.es6.js","../../src/app/components/dropdown/dropdown.ts"],"names":["Object","create","__values","o","s","Symbol","iterator","m","i","call","length","next","value","done","TypeError","DROPDOWN_VALUE_ACCESSOR","provide","NG_VALUE_ACCESSOR","useExisting","forwardRef","Dropdown","multi","DropdownItem","this","onClick","EventEmitter","prototype","onOptionClick","event","emit","originalEvent","option","Component","args","selector","template","Input","Output","el","renderer","cd","zone","filterService","scrollHeight","resetFilterOnHide","dropdownIcon","autoDisplayFirst","emptyFilterMessage","autoZIndex","baseZIndex","showTransitionOptions","hideTransitionOptions","filterMatchMode","tooltip","tooltipPosition","tooltipPositionStyle","autofocusFilter","onChange","onFocus","onBlur","onShow","onHide","onModelChange","onModelTouched","viewPortOffsetTop","defineProperty","_disabled","focused","destroyed","detectChanges","ngAfterContentInit","_this","templates","forEach","item","getType","itemTemplate","selectedItemTemplate","groupTemplate","ngOnInit","optionsToDisplay","options","updateSelectedOption","_options","val","optionsChanged","updateFilledState","_filterValue","activateFilter","ngAfterViewInit","editable","updateEditableLabel","selectedOption","getOptionLabel","editableInputViewChild","nativeElement","optionLabel","ObjectUtils","resolveFieldData","undefined","label","getOptionValue","optionValue","isOptionDisabled","optionDisabled","disabled","getOptionGroupLabel","optionGroup","optionGroupLabel","getOptionGroupChildren","optionGroupChildren","items","onItemClick","selectItem","accessibleViewChild","focus","setTimeout","hide","filled","virtualScroll","viewPort","measureScrollOffset","ngAfterViewChecked","overlayVisible","updateVirtualScrollSelectedIndex","runOutsideAngular","alignOverlay","selectedOptionUpdated","itemsWrapper","range","getRenderedRange","start","virtualScrollSelectedIndex","end","scrollToIndex","DomHandler","findSingle","overlay","scrollInView","writeValue","filter","resetFilter","markForCheck","filterViewChild","findOption","placeholder","registerOnChange","fn","registerOnTouched","setDisabledState","onMouseclick","readonly","isInputClick","show","hasClass","target","isSameNode","isOutsideClicked","contains","onEditableInputClick","bindDocumentClickListener","onEditableInputFocus","onEditableInputChange","onOverlayAnimationStart","toState","element","itemsWrapperSelector","appendOverlay","style","zIndex","String","zindex","bindDocumentResizeListener","bindScrollListener","selectedListItem","preventModelTouched","onOverlayHide","scrollToSelectedVirtualScrollElement","virtualAutoScrolled","scrollToOffset","resetOffset","findOptionIndex","appendTo","document","body","appendChild","minWidth","getWidth","containerViewChild","restoreOverlayAppend","absolutePosition","relativePosition","onInputFocus","onInputBlur","findPrevEnabledOption","index","prevEnabledOption","findNextEnabledOption","nextEnabledOption","onKeydown","search","which","altKey","group","selectedItemIndex","findOptionGroupIndex","nextItemIndex","itemIndex","groupIndex","preventDefault","prevItemIndex","prevGroup","searchTimeout","clearTimeout","newOption","char","key","previousSearchChar","currentSearchChar","searchValue","searchIndex","searchOptionWithinGroup","searchOption","searchOptionInRange","opt","toLocaleLowerCase","filterLocale","startsWith","j","opts","equals","dataKey","inGroup","opts_1","opts_1_1","optgroup","onFilter","inputValue","searchFields","filterBy","split","filteredGroups","_b","_c","filteredSubOptions","filterValue","push","applyFocus","documentClickListener","documentTarget","ownerDocument","listen","unbindDocumentClickListener","documentResizeListener","onWindowResize","bind","window","addEventListener","unbindDocumentResizeListener","removeEventListener","isAndroid","scrollHandler","ConnectedOverlayScrollHandler","unbindScrollListener","clear","ngOnDestroy","destroy","animations","trigger","transition","opacity","transform","animate","host","[class.p-inputwrapper-filled]","[class.p-inputwrapper-focus]","providers","changeDetection","ChangeDetectionStrategy","OnPush","encapsulation","ViewEncapsulation","None","ElementRef","Renderer2","ChangeDetectorRef","NgZone","FilterService","ViewChild","CdkVirtualScrollViewport","ContentChildren","PrimeTemplate","NgModule","imports","CommonModule","SharedModule","ScrollingModule","TooltipModule","RippleModule","exports","declarations"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import {ScrollingModule, CdkVirtualScrollViewport} from '@angular/cdk/scrolling';\nimport {NgModule,Component,ElementRef,OnInit,AfterViewInit,AfterContentInit,AfterViewChecked,OnDestroy,Input,Output,Renderer2,EventEmitter,ContentChildren,\n QueryList,ViewChild,TemplateRef,forwardRef,ChangeDetectorRef,NgZone,ViewRef,ChangeDetectionStrategy, ViewEncapsulation} from '@angular/core';\nimport {trigger,style,transition,animate,AnimationEvent} from '@angular/animations';\nimport {CommonModule} from '@angular/common';\nimport {SelectItem} from 'primeng/api';\nimport {SharedModule,PrimeTemplate, FilterService} from 'primeng/api';\nimport {DomHandler, ConnectedOverlayScrollHandler} from 'primeng/dom';\nimport {ObjectUtils} from 'primeng/utils';\nimport {NG_VALUE_ACCESSOR, ControlValueAccessor} from '@angular/forms';\nimport {TooltipModule} from 'primeng/tooltip';\nimport {RippleModule} from 'primeng/ripple';\n\nexport const DROPDOWN_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => Dropdown),\n multi: true\n};\n\n@Component({\n selector: 'p-dropdownItem',\n template: `\n <li (click)=\"onOptionClick($event)\" role=\"option\" pRipple\n [attr.aria-label]=\"label\" [attr.aria-selected]=\"selected\"\n [ngStyle]=\"{'height': itemSize + 'px'}\"\n [ngClass]=\"{'p-dropdown-item':true, 'p-highlight': selected, 'p-disabled': disabled}\">\n <span *ngIf=\"!template\">{{label||'empty'}}</span>\n <ng-container *ngTemplateOutlet=\"template; context: {$implicit: option}\"></ng-container>\n </li>\n `\n})\nexport class DropdownItem {\n\n @Input() option: SelectItem;\n\n @Input() selected: boolean;\n\n @Input() label: string;\n\n @Input() disabled: boolean;\n\n @Input() visible: boolean;\n\n @Input() itemSize: number;\n\n @Input() template: TemplateRef<any>;\n\n @Output() onClick: EventEmitter<any> = new EventEmitter();\n\n onOptionClick(event: Event) {\n this.onClick.emit({\n originalEvent: event,\n option: this.option\n });\n }\n}\n\n@Component({\n selector: 'p-dropdown',\n template: `\n <div #container [ngClass]=\"{'p-dropdown p-component':true,\n 'p-disabled':disabled, 'p-dropdown-open':overlayVisible, 'p-focus':focused, 'p-dropdown-clearable': showClear && !disabled}\"\n (click)=\"onMouseclick($event)\" [ngStyle]=\"style\" [class]=\"styleClass\">\n <div class=\"p-hidden-accessible\">\n <input #in [attr.id]=\"inputId\" type=\"text\" [attr.aria-label]=\"label\" readonly (focus)=\"onInputFocus($event)\" aria-haspopup=\"listbox\"\n aria-haspopup=\"listbox\" [attr.aria-expanded]=\"overlayVisible\" [attr.aria-labelledby]=\"ariaLabelledBy\" (blur)=\"onInputBlur($event)\" (keydown)=\"onKeydown($event, true)\"\n [disabled]=\"disabled\" [attr.tabindex]=\"tabindex\" [attr.autofocus]=\"autofocus\" role=\"listbox\">\n </div>\n <span [ngClass]=\"{'p-dropdown-label p-inputtext':true,'p-dropdown-label-empty':(label == null || label.length === 0)}\" *ngIf=\"!editable && (label != null)\" [pTooltip]=\"tooltip\" [tooltipPosition]=\"tooltipPosition\" [positionStyle]=\"tooltipPositionStyle\" [tooltipStyleClass]=\"tooltipStyleClass\">\n <ng-container *ngIf=\"!selectedItemTemplate\">{{label||'empty'}}</ng-container>\n <ng-container *ngTemplateOutlet=\"selectedItemTemplate; context: {$implicit: selectedOption}\"></ng-container>\n </span>\n <span [ngClass]=\"{'p-dropdown-label p-inputtext p-placeholder':true,'p-dropdown-label-empty': (placeholder == null || placeholder.length === 0)}\" *ngIf=\"!editable && (label == null)\">{{placeholder||'empty'}}</span>\n <input #editableInput type=\"text\" [attr.maxlength]=\"maxlength\" [attr.aria-label]=\"label\" class=\"p-dropdown-label p-inputtext\" *ngIf=\"editable\" [disabled]=\"disabled\" [attr.placeholder]=\"placeholder\"\n aria-haspopup=\"listbox\" [attr.aria-expanded]=\"overlayVisible\" (click)=\"onEditableInputClick()\" (input)=\"onEditableInputChange($event)\" (focus)=\"onEditableInputFocus($event)\" (blur)=\"onInputBlur($event)\">\n <i class=\"p-dropdown-clear-icon pi pi-times\" (click)=\"clear($event)\" *ngIf=\"value != null && showClear && !disabled\"></i>\n <div class=\"p-dropdown-trigger\" role=\"button\" aria-haspopup=\"listbox\" [attr.aria-expanded]=\"overlayVisible\">\n <span class=\"p-dropdown-trigger-icon\" [ngClass]=\"dropdownIcon\"></span>\n </div>\n <div *ngIf=\"overlayVisible\" [ngClass]=\"'p-dropdown-panel p-component'\" [@overlayAnimation]=\"{value: 'visible', params: {showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions}}\" (@overlayAnimation.start)=\"onOverlayAnimationStart($event)\" [ngStyle]=\"panelStyle\" [class]=\"panelStyleClass\">\n <div class=\"p-dropdown-header\" *ngIf=\"filter\" >\n <div class=\"p-dropdown-filter-container\" (click)=\"$event.stopPropagation()\">\n <input #filter type=\"text\" autocomplete=\"off\" [value]=\"filterValue||''\" class=\"p-dropdown-filter p-inputtext p-component\" [attr.placeholder]=\"filterPlaceholder\"\n (keydown.enter)=\"$event.preventDefault()\" (keydown)=\"onKeydown($event, false)\" (input)=\"onFilter($event)\" [attr.aria-label]=\"ariaFilterLabel\">\n <span class=\"p-dropdown-filter-icon pi pi-search\"></span>\n </div>\n </div>\n <div class=\"p-dropdown-items-wrapper\" [style.max-height]=\"virtualScroll ? 'auto' : (scrollHeight||'auto')\">\n <ul class=\"p-dropdown-items\" role=\"listbox\">\n <ng-container *ngIf=\"group\">\n <ng-template ngFor let-optgroup [ngForOf]=\"optionsToDisplay\">\n <li class=\"p-dropdown-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), selectedOption: selectedOption}\"></ng-container>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"!group\">\n <ng-container *ngTemplateOutlet=\"itemslist; context: {$implicit: optionsToDisplay, selectedOption: selectedOption}\"></ng-container>\n </ng-container>\n <ng-template #itemslist let-options let-selectedOption=\"selectedOption\">\n <ng-container *ngIf=\"!virtualScroll; else virtualScrollList\">\n <ng-template ngFor let-option let-i=\"index\" [ngForOf]=\"options\">\n <p-dropdownItem [option]=\"option\" [selected]=\"selectedOption == option\" [label]=\"getOptionLabel(option)\" [disabled]=\"isOptionDisabled(option)\"\n (onClick)=\"onItemClick($event)\"\n [template]=\"itemTemplate\"></p-dropdownItem>\n </ng-template>\n </ng-container>\n <ng-template #virtualScrollList>\n <cdk-virtual-scroll-viewport (scrolledIndexChange)=\"scrollToSelectedVirtualScrollElement()\" #viewport [ngStyle]=\"{'height': scrollHeight}\" [itemSize]=\"itemSize\" *ngIf=\"virtualScroll && optionsToDisplay && optionsToDisplay.length\">\n <ng-container *cdkVirtualFor=\"let option of options; let i = index; let c = count; let f = first; let l = last; let e = even; let o = odd\">\n <p-dropdownItem [option]=\"option\" [selected]=\"selectedOption == option\" [label]=\"getOptionLabel(option)\" [disabled]=\"isOptionDisabled(option)\"\n (onClick)=\"onItemClick($event)\"\n [template]=\"itemTemplate\"></p-dropdownItem>\n </ng-container>\n </cdk-virtual-scroll-viewport>\n </ng-template>\n </ng-template>\n <li *ngIf=\"filter && (!optionsToDisplay || (optionsToDisplay && optionsToDisplay.length === 0))\" class=\"p-dropdown-empty-message\">{{emptyFilterMessage}}</li>\n </ul>\n </div>\n </div>\n </div>\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-inputwrapper-filled]': 'filled',\n '[class.p-inputwrapper-focus]': 'focused'\n },\n providers: [DROPDOWN_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./dropdown.css']\n})\nexport class Dropdown implements OnInit,AfterViewInit,AfterContentInit,AfterViewChecked,OnDestroy,ControlValueAccessor {\n\n @Input() scrollHeight: string = '200px';\n\n @Input() filter: boolean;\n\n @Input() name: string;\n\n @Input() style: any;\n\n @Input() panelStyle: any;\n\n @Input() styleClass: string;\n\n @Input() panelStyleClass: string;\n\n @Input() readonly: boolean;\n\n @Input() required: boolean;\n\n @Input() editable: boolean;\n\n @Input() appendTo: any;\n\n @Input() tabindex: number;\n\n @Input() placeholder: string;\n\n @Input() filterPlaceholder: string;\n\n @Input() filterLocale: string;\n\n @Input() inputId: string;\n\n @Input() selectId: string;\n\n @Input() dataKey: string;\n\n @Input() filterBy: string;\n\n @Input() autofocus: boolean;\n\n @Input() resetFilterOnHide: boolean = false;\n\n @Input() dropdownIcon: string = 'pi pi-chevron-down';\n\n @Input() optionLabel: string;\n\n @Input() optionValue: string;\n\n @Input() optionDisabled: string;\n\n @Input() optionGroupLabel: string;\n\n @Input() optionGroupChildren: string;\n\n @Input() autoDisplayFirst: boolean = true;\n\n @Input() group: boolean;\n\n @Input() showClear: boolean;\n\n @Input() emptyFilterMessage: string = 'No results found';\n\n @Input() virtualScroll: boolean;\n\n @Input() itemSize: number;\n\n @Input() autoZIndex: boolean = true;\n\n @Input() baseZIndex: number = 0;\n\n @Input() showTransitionOptions: string = '.12s cubic-bezier(0, 0, 0.2, 1)';\n\n @Input() hideTransitionOptions: string = '.1s linear';\n\n @Input() ariaFilterLabel: string;\n\n @Input() ariaLabelledBy: string;\n\n @Input() filterMatchMode: string = \"contains\";\n\n @Input() maxlength: number;\n\n @Input() tooltip: string = '';\n\n @Input() tooltipPosition: string = 'right';\n\n @Input() tooltipPositionStyle: string = 'absolute';\n\n @Input() tooltipStyleClass: string;\n\n @Input() autofocusFilter: boolean = true;\n\n @Output() onChange: EventEmitter<any> = new EventEmitter();\n\n @Output() onFocus: EventEmitter<any> = new EventEmitter();\n\n @Output() onBlur: EventEmitter<any> = new EventEmitter();\n\n @Output() onClick: EventEmitter<any> = new EventEmitter();\n\n @Output() onShow: EventEmitter<any> = new EventEmitter();\n\n @Output() onHide: EventEmitter<any> = new EventEmitter();\n\n @ViewChild('container') containerViewChild: ElementRef;\n\n @ViewChild('filter') filterViewChild: ElementRef;\n\n @ViewChild('in') accessibleViewChild: ElementRef;\n\n @ViewChild(CdkVirtualScrollViewport) viewPort: CdkVirtualScrollViewport;\n\n @ViewChild('editableInput') editableInputViewChild: ElementRef;\n\n @ContentChildren(PrimeTemplate) templates: QueryList<any>;\n\n private _disabled: boolean;\n\n @Input() get disabled(): boolean {\n return this._disabled;\n };\n\n set disabled(_disabled: boolean) {\n if (_disabled)\n this.focused = false;\n\n this._disabled = _disabled;\n if (!(this.cd as ViewRef).destroyed) {\n this.cd.detectChanges();\n }\n }\n\n overlay: HTMLDivElement;\n\n itemsWrapper: HTMLDivElement;\n\n itemTemplate: TemplateRef<any>;\n\n groupTemplate: TemplateRef<any>;\n\n selectedItemTemplate: TemplateRef<any>;\n\n selectedOption: any;\n\n _options: any[];\n\n value: any;\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n optionsToDisplay: any[];\n\n hover: boolean;\n\n focused: boolean;\n\n filled: boolean;\n\n overlayVisible: boolean;\n\n documentClickListener: any;\n\n scrollHandler: any;\n\n optionsChanged: boolean;\n\n panel: HTMLDivElement;\n\n dimensionsUpdated: boolean;\n\n hoveredItem: any;\n\n selectedOptionUpdated: boolean;\n\n _filterValue: string;\n\n searchValue: string;\n\n searchIndex: number;\n\n searchTimeout: any;\n\n previousSearchChar: string;\n\n currentSearchChar: string;\n\n documentResizeListener: any;\n\n virtualAutoScrolled: boolean;\n\n virtualScrollSelectedIndex: number;\n\n viewPortOffsetTop: number = 0;\n\n preventModelTouched: boolean;\n\n constructor(public el: ElementRef, public renderer: Renderer2, public cd: ChangeDetectorRef, public zone: NgZone, public filterService: FilterService) {}\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 'selectedItem':\n this.selectedItemTemplate = item.template;\n break;\n\n case 'group':\n this.groupTemplate = item.template;\n break;\n\n default:\n this.itemTemplate = item.template;\n break;\n }\n });\n }\n\n ngOnInit() {\n this.optionsToDisplay = this.options;\n this.updateSelectedOption(null);\n }\n\n @Input() get options(): any[] {\n return this._options;\n }\n\n set options(val: any[]) {\n this._options = val;\n this.optionsToDisplay = this._options;\n this.updateSelectedOption(this.value);\n this.optionsChanged = true;\n this.updateFilledState();\n\n if (this._filterValue && this._filterValue.length) {\n this.activateFilter();\n }\n }\n\n @Input() get filterValue(): string {\n return this._filterValue;\n }\n\n set filterValue(val: string) {\n this._filterValue = val;\n this.activateFilter();\n }\n\n ngAfterViewInit() {\n if (this.editable) {\n this.updateEditableLabel();\n }\n }\n\n get label(): string {\n return this.selectedOption ? this.getOptionLabel(this.selectedOption) : null;\n }\n\n updateEditableLabel(): void {\n if (this.editableInputViewChild && this.editableInputViewChild.nativeElement) {\n this.editableInputViewChild.nativeElement.value = (this.selectedOption ? this.getOptionLabel(this.selectedOption) : this.value||'');\n }\n }\n\n getOptionLabel(option: any) {\n return this.optionLabel ? ObjectUtils.resolveFieldData(option, this.optionLabel) : (option.label != undefined ? option.label : option);\n }\n\n getOptionValue(option: any) {\n return this.optionValue ? ObjectUtils.resolveFieldData(option, this.optionValue) : (this.optionLabel ? option : option.value);\n }\n\n isOptionDisabled(option: any) {\n return this.optionDisabled ? ObjectUtils.resolveFieldData(option, this.optionDisabled) : (option.disabled !== undefined ? option.disabled : false);\n }\n\n getOptionGroupLabel(optionGroup: any) {\n return this.optionGroupLabel ? ObjectUtils.resolveFieldData(optionGroup, this.optionGroupLabel) : (optionGroup.label != undefined ? optionGroup.label : optionGroup);\n }\n\n getOptionGroupChildren(optionGroup: any) {\n return this.optionGroupChildren ? ObjectUtils.resolveFieldData(optionGroup, this.optionGroupChildren) : optionGroup.items;\n }\n\n onItemClick(event) {\n const option = event.option;\n\n if (!this.isOptionDisabled(option)) {\n this.selectItem(event, option);\n this.accessibleViewChild.nativeElement.focus();\n }\n\n setTimeout(() => {\n this.hide(event);\n }, 150);\n }\n\n selectItem(event, option) {\n if (this.selectedOption != option) {\n this.selectedOption = option;\n this.value = this.getOptionValue(option);\n this.filled = true;\n\n this.onModelChange(this.value);\n this.updateEditableLabel();\n this.onChange.emit({\n originalEvent: event.originalEvent,\n value: this.value\n });\n\n if (this.virtualScroll) {\n setTimeout(() => {\n this.viewPortOffsetTop = this.viewPort ? this.viewPort.measureScrollOffset() : 0;\n }, 1);\n }\n }\n }\n\n ngAfterViewChecked() {\n if (this.optionsChanged && this.overlayVisible) {\n this.optionsChanged = false;\n\n if (this.virtualScroll) {\n this.updateVirtualScrollSelectedIndex(true);\n }\n\n this.zone.runOutsideAngular(() => {\n setTimeout(() => {\n this.alignOverlay();\n }, 1);\n });\n }\n\n if (this.selectedOptionUpdated && this.itemsWrapper) {\n if (this.virtualScroll && this.viewPort) {\n let range = this.viewPort.getRenderedRange();\n this.updateVirtualScrollSelectedIndex(false);\n\n if (range.start > this.virtualScrollSelectedIndex || range.end < this.virtualScrollSelectedIndex) {\n this.viewPort.scrollToIndex(this.virtualScrollSelectedIndex);\n }\n }\n\n let selectedItem = DomHandler.findSingle(this.overlay, 'li.p-highlight');\n if (selectedItem) {\n DomHandler.scrollInView(this.itemsWrapper, DomHandler.findSingle(this.overlay, 'li.p-highlight'));\n }\n this.selectedOptionUpdated = false;\n }\n }\n\n writeValue(value: any): void {\n if (this.filter) {\n this.resetFilter();\n }\n\n this.value = value;\n this.updateSelectedOption(value);\n this.updateEditableLabel();\n this.updateFilledState();\n this.cd.markForCheck();\n }\n\n resetFilter(): void {\n this._filterValue = null;\n\n if (this.filterViewChild && this.filterViewChild.nativeElement) {\n this.filterViewChild.nativeElement.value = '';\n }\n\n this.optionsToDisplay = this.options;\n }\n\n updateSelectedOption(val: any): void {\n this.selectedOption = this.findOption(val, this.optionsToDisplay);\n if (this.autoDisplayFirst && !this.placeholder && !this.selectedOption && this.optionsToDisplay && this.optionsToDisplay.length && !this.editable) {\n this.selectedOption = this.optionsToDisplay[0];\n }\n this.selectedOptionUpdated = true;\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 onMouseclick(event) {\n if (this.disabled || this.readonly || this.isInputClick(event)) {\n return;\n }\n\n this.onClick.emit(event);\n this.accessibleViewChild.nativeElement.focus();\n\n if (this.overlayVisible)\n this.hide(event);\n else\n this.show();\n\n this.cd.detectChanges();\n }\n\n isInputClick(event): boolean {\n return DomHandler.hasClass(event.target, 'p-dropdown-clear-icon') ||\n event.target.isSameNode(this.accessibleViewChild.nativeElement) ||\n (this.editableInputViewChild && event.target.isSameNode(this.editableInputViewChild.nativeElement));\n }\n\n isOutsideClicked(event: Event): boolean {\n return !(this.el.nativeElement.isSameNode(event.target) || this.el.nativeElement.contains(event.target) || (this.overlay && this.overlay.contains(<Node> event.target)));\n }\n\n onEditableInputClick() {\n this.bindDocumentClickListener();\n }\n\n onEditableInputFocus(event) {\n this.focused = true;\n this.hide(event);\n this.onFocus.emit(event);\n }\n\n onEditableInputChange(event) {\n this.value = event.target.value;\n this.updateSelectedOption(this.value);\n this.onModelChange(this.value);\n this.onChange.emit({\n originalEvent: event,\n value: this.value\n });\n }\n\n show() {\n this.overlayVisible = true;\n }\n\n onOverlayAnimationStart(event: AnimationEvent) {\n switch (event.toState) {\n case 'visible':\n this.overlay = event.element;\n let itemsWrapperSelector = this.virtualScroll ? '.cdk-virtual-scroll-viewport' : '.p-dropdown-items-wrapper';\n this.itemsWrapper = DomHandler.findSingle(this.overlay, itemsWrapperSelector);\n this.appendOverlay();\n if (this.autoZIndex) {\n this.overlay.style.zIndex = String(this.baseZIndex + (++DomHandler.zindex));\n }\n this.alignOverlay();\n this.bindDocumentClickListener();\n this.bindDocumentResizeListener();\n this.bindScrollListener();\n\n if (this.options && this.options.length) {\n if (!this.virtualScroll) {\n let selectedListItem = DomHandler.findSingle(this.itemsWrapper, '.p-dropdown-item.p-highlight');\n if (selectedListItem) {\n DomHandler.scrollInView(this.itemsWrapper, selectedListItem);\n }\n }\n }\n\n if (this.filterViewChild && this.filterViewChild.nativeElement) {\n this.preventModelTouched = true;\n\n if (this.autofocusFilter) {\n this.filterViewChild.nativeElement.focus();\n }\n }\n\n this.onShow.emit(event);\n break;\n\n case 'void':\n this.onOverlayHide();\n break;\n }\n }\n\n scrollToSelectedVirtualScrollElement() {\n if (!this.virtualAutoScrolled) {\n if (this.viewPortOffsetTop) {\n this.viewPort.scrollToOffset(this.viewPortOffsetTop);\n }\n else if (this.virtualScrollSelectedIndex > -1) {\n this.viewPort.scrollToIndex(this.virtualScrollSelectedIndex);\n }\n }\n\n this.virtualAutoScrolled = true;\n }\n\n updateVirtualScrollSelectedIndex(resetOffset) {\n if (this.selectedOption && this.optionsToDisplay && this.optionsToDisplay.length) {\n if (resetOffset) {\n this.viewPortOffsetTop = 0;\n }\n\n this.virtualScrollSelectedIndex = this.findOptionIndex(this.getOptionValue(this.selectedOption), this.optionsToDisplay);\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.containerViewChild.nativeElement) + 'px';\n }\n }\n }\n\n restoreOverlayAppend() {\n if (this.overlay && this.appendTo) {\n this.el.nativeElement.appendChild(this.overlay);\n }\n }\n\n hide(event) {\n this.overlayVisible = false;\n\n if (this.filter && this.resetFilterOnHide) {\n this.resetFilter();\n }\n\n if (this.virtualScroll) {\n this.virtualAutoScrolled = false;\n }\n\n this.cd.markForCheck();\n this.onHide.emit(event);\n }\n\n alignOverlay() {\n if (this.overlay) {\n if (this.appendTo)\n DomHandler.absolutePosition(this.overlay, this.containerViewChild.nativeElement);\n else\n DomHandler.relativePosition(this.overlay, this.containerViewChild.nativeElement);\n }\n }\n\n onInputFocus(event) {\n this.focused = true;\n this.onFocus.emit(event);\n }\n\n onInputBlur(event) {\n this.focused = false;\n this.onBlur.emit(event);\n\n if (!this.preventModelTouched) {\n this.onModelTouched();\n }\n this.preventModelTouched = false;\n }\n\n findPrevEnabledOption(index) {\n let prevEnabledOption;\n\n if (this.optionsToDisplay && this.optionsToDisplay.length) {\n for (let i = (index - 1); 0 <= i; i--) {\n let option = this.optionsToDisplay[i];\n if (option.disabled) {\n continue;\n }\n else {\n prevEnabledOption = option;\n break;\n }\n }\n\n if (!prevEnabledOption) {\n for (let i = this.optionsToDisplay.length - 1; i >= index ; i--) {\n let option = this.optionsToDisplay[i];\n if (this.isOptionDisabled(option)) {\n continue;\n }\n else {\n prevEnabledOption = option;\n break;\n }\n }\n }\n }\n\n return prevEnabledOption;\n }\n\n findNextEnabledOption(index) {\n let nextEnabledOption;\n\n if (this.optionsToDisplay && this.optionsToDisplay.length) {\n for (let i = (index + 1); index < (this.optionsToDisplay.length - 1); i++) {\n let option = this.optionsToDisplay[i];\n if (this.isOptionDisabled(option)) {\n continue;\n }\n else {\n nextEnabledOption = option;\n break;\n }\n }\n\n if (!nextEnabledOption) {\n for (let i = 0; i < index; i++) {\n let option = this.optionsToDisplay[i];\n if (this.isOptionDisabled(option)) {\n continue;\n }\n else {\n nextEnabledOption = option;\n break;\n }\n }\n }\n }\n\n return nextEnabledOption;\n }\n\n onKeydown(event: KeyboardEvent, search: boolean) {\n if (this.readonly || !this.optionsToDisplay || this.optionsToDisplay.length === null) {\n return;\n }\n\n switch(event.which) {\n //down\n case 40:\n if (!this.overlayVisible && event.altKey) {\n this.show();\n }\n else {\n if (this.group) {\n let selectedItemIndex = this.selectedOption ? this.findOptionGroupIndex(this.getOptionValue(this.selectedOption), this.optionsToDisplay) : -1;\n \n if (selectedItemIndex !== -1) {\n let nextItemIndex = selectedItemIndex.itemIndex + 1;\n if (nextItemIndex < (this.getOptionGroupChildren(this.optionsToDisplay[selectedItemIndex.groupIndex]).length)) {\n this.selectItem(event, this.getOptionGroupChildren(this.optionsToDisplay[selectedItemIndex.groupIndex])[nextItemIndex]);\n this.selectedOptionUpdated = true;\n }\n else if (this.optionsToDisplay[selectedItemIndex.groupIndex + 1]) {\n this.selectItem(event, this.getOptionGroupChildren(this.optionsToDisplay[selectedItemIndex.groupIndex + 1])[0]);\n this.selectedOptionUpdated = true;\n }\n }\n else {\n this.selectItem(event, this.getOptionGroupChildren(this.optionsToDisplay[0])[0]);\n }\n }\n else {\n let selectedItemIndex = this.selectedOption ? this.findOptionIndex(this.getOptionValue(this.selectedOption), this.optionsToDisplay) : -1;\n let nextEnabledOption = this.findNextEnabledOption(selectedItemIndex);\n if (nextEnabledOption) {\n this.selectItem(event, nextEnabledOption);\n this.selectedOptionUpdated = true;\n }\n }\n }\n\n event.preventDefault();\n\n break;\n\n //up\n case 38:\n if (this.group) {\n let selectedItemIndex = this.selectedOption ? this.findOptionGroupIndex(this.getOptionValue(this.selectedOption), this.optionsToDisplay) : -1;\n if (selectedItemIndex !== -1) {\n let prevItemIndex = selectedItemIndex.itemIndex - 1;\n if (prevItemIndex >= 0) {\n this.selectItem(event, this.getOptionGroupChildren(this.optionsToDisplay[selectedItemIndex.groupIndex])[prevItemIndex]);\n this.selectedOptionUpdated = true;\n }\n else if (prevItemIndex < 0) {\n let prevGroup = this.optionsToDisplay[selectedItemIndex.groupIndex - 1];\n if (prevGroup) {\n this.selectItem(event, this.getOptionGroupChildren(prevGroup)[this.getOptionGroupChildren(prevGroup).length - 1]);\n this.selectedOptionUpdated = true;\n }\n }\n }\n }\n else {\n let selectedItemIndex = this.selectedOption ? this.findOptionIndex(this.getOptionValue(this.selectedOption), this.optionsToDisplay) : -1;\n let prevEnabledOption = this.findPrevEnabledOption(selectedItemIndex);\n if (prevEnabledOption) {\n this.selectItem(event, prevEnabledOption);\n this.selectedOptionUpdated = true;\n }\n }\n\n event.preventDefault();\n break;\n\n //space\n case 32:\n case 32:\n if (!this.overlayVisible){\n this.show();\n event.preventDefault();\n }\n break;\n\n //enter\n case 13:\n if (!this.filter || (this.optionsToDisplay && this.optionsToDisplay.length > 0)) {\n this.hide(event);\n }\n\n event.preventDefault();\n break;\n\n //escape and tab\n case 27:\n case 9:\n this.hide(event);\n break;\n\n //search item based on keyboard input\n default:\n if (search) {\n this.search(event);\n }\n break;\n }\n }\n\n search(event) {\n if (this.searchTimeout) {\n clearTimeout(this.searchTimeout);\n }\n\n const char = event.key;\n this.previousSearchChar = this.currentSearchChar;\n this.currentSearchChar = char;\n\n if (this.previousSearchChar === this.currentSearchChar)\n this.searchValue = this.currentSearchChar;\n else\n this.searchValue = this.searchValue ? this.searchValue + char : char;\n\n let newOption;\n if (this.group) {\n let searchIndex = this.selectedOption ? this.findOptionGroupIndex(this.getOptionValue(this.selectedOption), this.optionsToDisplay) : {groupIndex: 0, itemIndex: 0};\n newOption = this.searchOptionWithinGroup(searchIndex);\n }\n else {\n let searchIndex = this.selectedOption ? this.findOptionIndex(this.getOptionValue(this.selectedOption), this.optionsToDisplay) : -1;\n newOption = this.searchOption(++searchIndex);\n }\n\n if (newOption && !this.isOptionDisabled(newOption)) {\n this.selectItem(event, newOption);\n this.selectedOptionUpdated = true;\n }\n\n this.searchTimeout = setTimeout(() => {\n this.searchValue = null;\n }, 250);\n }\n\n searchOption(index) {\n let option;\n\n if (this.searchValue) {\n option = this.searchOptionInRange(index, this.optionsToDisplay.length);\n\n if (!option) {\n option = this.searchOptionInRange(0, index);\n }\n }\n\n return option;\n }\n\n searchOptionInRange(start, end) {\n for (let i = start; i < end; i++) {\n let opt = this.optionsToDisplay[i];\n if (this.getOptionLabel(opt).toLocaleLowerCase(this.filterLocale).startsWith((this.searchValue as any).toLocaleLowerCase(this.filterLocale)) && !this.isOptionDisabled(opt)) {\n return opt;\n }\n }\n\n return null;\n }\n\n searchOptionWithinGroup(index) {\n let option;\n\n if (this.searchValue) {\n for (let i = index.groupIndex; i < this.optionsToDisplay.length; i++) {\n for (let j = (index.groupIndex === i) ? (index.itemIndex + 1) : 0; j < this.getOptionGroupChildren(this.optionsToDisplay[i]).length; j++) {\n let opt = this.getOptionGroupChildren(this.optionsToDisplay[i])[j];\n if (this.getOptionLabel(opt).toLocaleLowerCase(this.filterLocale).startsWith((this.searchValue as any).toLocaleLowerCase(this.filterLocale)) && !this.isOptionDisabled(opt)) {\n return opt;\n }\n }\n }\n\n if (!option) {\n for (let i = 0; i <= index.groupIndex; i++) {\n for (let j = 0; j < ((index.groupIndex === i) ? index.itemIndex : this.getOptionGroupChildren(this.optionsToDisplay[i]).length); j++) {\n let opt = this.getOptionGroupChildren(this.optionsToDisplay[i])[j];\n if (this.getOptionLabel(opt).toLocaleLowerCase(this.filterLocale).startsWith((this.searchValue as any).toLocaleLowerCase(this.filterLocale)) && !this.isOptionDisabled(opt)) {\n return opt;\n }\n }\n }\n }\n }\n\n return null;\n }\n\n findOptionIndex(val: any, opts: any[]): number {\n let index: number = -1;\n if (opts) {\n for (let i = 0; i < opts.length; i++) {\n if ((val == null && this.getOptionValue(opts[i]) == null) || ObjectUtils.equals(val, this.getOptionValue(opts[i]), this.dataKey)) {\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 findOption(val: any, opts: any[], inGroup?: boolean): SelectItem {\n if (this.group && !inGroup) {\n let opt: SelectItem;\n if (opts && opts.length) {\n for (let optgroup of opts) {\n opt = this.findOption(val, this.getOptionGroupChildren(optgroup), true);\n if (opt) {\n break;\n }\n }\n }\n return opt;\n }\n else {\n let index: number = this.findOptionIndex(val, opts);\n return (index != -1) ? opts[index] : null;\n }\n }\n\n onFilter(event): void {\n let inputValue = event.target.value;\n if (inputValue && inputValue.length) {\n this._filterValue = inputValue;\n this.activateFilter();\n }\n else {\n this._filterValue = null;\n this.optionsToDisplay = this.options;\n }\n\n this.optionsChanged = true;\n }\n\n activateFilter() {\n let searchFields: string[] = (this.filterBy || this.optionLabel || 'label').split(',');\n\n if (this.options && this.options.length) {\n if (this.group) {\n let filteredGroups = [];\n for (let optgroup of this.options) {\n let filteredSubOptions = this.filterService.filter(this.getOptionGroupChildren(optgroup), searchFields, this.filterValue, this.filterMatchMode, this.filterLocale);\n if (filteredSubOptions && filteredSubOptions.length) {\n filteredGroups.push({\n label: optgroup.label,\n value: optgroup.value,\n items: filteredSubOptions\n });\n }\n }\n\n this.optionsToDisplay = filteredGroups;\n }\n else {\n this.optionsToDisplay = this.filterService.filter(this.options, searchFields, this.filterValue, this.filterMatchMode, this.filterLocale);\n }\n\n this.optionsChanged = true;\n }\n }\n\n applyFocus(): void {\n if (this.editable)\n DomHandler.findSingle(this.el.nativeElement, '.p-dropdown-label.p-inputtext').focus();\n else\n DomHandler.findSingle(this.el.nativeElement, 'input[readonly]').focus();\n }\n\n focus(): void {\n this.applyFocus();\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 (this.isOutsideClicked(event)) {\n this.hide(event);\n this.unbindDocumentClickListener();\n }\n\n this.cd.markForCheck();\n });\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 if (!DomHandler.isAndroid()) {\n this.hide(event);\n }\n }\n\n bindScrollListener() {\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.containerViewChild.nativeElement, (event: any) => {\n if (this.overlayVisible) {\n this.hide(event);\n }\n });\n }\n\n this.scrollHandler.bindScrollListener();\n }\n\n unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n }\n\n updateFilledState() {\n this.filled = (this.selectedOption != null);\n }\n\n clear(event: Event) {\n this.value = null;\n this.onModelChange(this.value);\n this.onChange.emit({\n originalEvent: event,\n value: this.value\n });\n this.updateSelectedOption(this.value);\n this.updateEditableLabel();\n this.updateFilledState();\n }\n\n onOverlayHide() {\n this.unbindDocumentClickListener();\n this.unbindDocumentResizeListener();\n this.unbindScrollListener();\n this.overlay = null;\n this.itemsWrapper = null;\n this.onModelTouched();\n }\n\n ngOnDestroy() {\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n\n this.restoreOverlayAppend();\n this.onOverlayHide();\n }\n}\n\n@NgModule({\n imports: [CommonModule,SharedModule,ScrollingModule,TooltipModule,RippleModule],\n exports: [Dropdown,SharedModule,ScrollingModule],\n declarations: [Dropdown,DropdownItem]\n})\nexport class DropdownModule { }\n"]}