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
@@ -1 +1 @@
1
- {"version":3,"sources":["../../node_modules/tslib/tslib.es6.js","../../../src/app/components/tree/tree.ts"],"names":["Object","create","__values","o","s","Symbol","iterator","m","i","call","length","next","value","done","TypeError","__read","n","r","e","ar","push","error","__spread","arguments","concat","UITreeNode","tree","this","prototype","ngOnInit","node","parent","parentNode","syncNodeOption","getNodeWithKey","key","getIcon","icon","expanded","children","expandedIcon","collapsedIcon","ICON_CLASS","isLeaf","isNodeLeaf","toggle","event","collapse","expand","virtualScroll","updateSerializedValue","onNodeExpand","emit","originalEvent","onNodeCollapse","onNodeClick","onNodeKeydown","which","onNodeTouchEnd","onNodeRightClick","isSelected","onDropPoint","position","_this","preventDefault","dragNode","dragNodeIndex","dragNodeScope","isValidDropPointIndex","dragNodeTree","index","allowDrop","dropParams_1","assign","createDropPointEventMetadata","validateDrop","onNodeDrop","dropNode","dropIndex","accept","processPointDrop","draghoverPrev","draghoverNext","newNodeList","dragNodeSubNodes","splice","dragDropService","stopDrag","subNodes","onDropPointDragOver","dataTransfer","dropEffect","onDropPointDragEnter","onDropPointDragLeave","onDragStart","draggableNodes","draggable","setData","startDrag","scope","draggableScope","onDragStop","onDropNodeDragOver","droppableNodes","stopPropagation","onDropNode","droppable","dropParams_2","createDropNodeEventMetadata","processNodeDrop","draghoverNode","onDropNodeDragEnter","onDropNodeDragLeave","rect","currentTarget","getBoundingClientRect","x","left","width","y","Math","floor","top","height","onKeyDown","nodeElement","target","parentElement","nodeName","contextMenu","containerViewChild","nativeElement","style","display","listElement","focusNode","nextNodeElement","nextElementSibling","nextSiblingAncestor","findNextSiblingOfAncestor","previousElementSibling","findLastVisibleDescendant","parentNodeElement","getParentNodeElement","childrenListElement","Array","from","find","el","DomHandler","hasClass","lastChildElement","tagName","element","focus","Component","args","selector","template","encapsulation","ViewEncapsulation","None","Inject","forwardRef","Tree","Input","selectionChange","EventEmitter","onNodeSelect","onNodeUnselect","onNodeContextMenuSelect","layout","metaKeySelection","propagateSelectionUp","propagateSelectionDown","loadingIcon","emptyMessage","filterBy","filterMode","indentation","trackBy","item","onFilter","dragStartSubscription","dragStart$","subscribe","dragStopSubscription","dragStop$","dragHover","ngOnChanges","simpleChange","scrollHeight","virtualScrollBody","defineProperty","ngAfterContentInit","templates","templateMap","forEach","name","serializedValue","serializeNodes","getRootNode","nodes","level","visible","nodes_1","nodes_1_1","rowNode","eventTarget","selectionMode","selectable","hasFilteredNodes","index_1","findIndexInSelection","selected","isCheckboxSelectionMode","propagateDown","selection","filter","val","propagateUp","nodeTouched","metaKey","ctrlKey","isSingleSelectionMode","isMultipleSelectionMode","className","indexOf","show","selectedNode","parentNodes","option","_node","filteredNodes","nodes_2","nodes_2_1","matchedNode","select","selectedCount","childPartialSelected","_b","_c","child","partialSelected","index_2","leaf","getTemplateForNode","type","onDragOver","onDrop","onDragEnter","onDragLeave","isValidDragScope","allow","dragScope","dropScope","droppableScope","dropScope_1","dropScope_1_1","dragScope_1","e_6","dragScope_1_1","_filter","filterValue","searchFields","split","filterText","ObjectUtils","removeAccents","toLocaleLowerCase","filterLocale","isStrictMode","copyNode","paramsWithoutNode","findFilteredNodes","isFilterMatched","filteredValue","matched","childNodes","childNodes_1","childNodes_1_1","childNode","copyChildNode","_a","searchFields_1","searchFields_1_1","field","String","resolveFieldData","getBlockableElement","ngOnDestroy","unsubscribe","changeDetection","ChangeDetectionStrategy","Default","ElementRef","TreeDragDropService","decorators","Optional","Output","ContentChildren","PrimeTemplate","ViewChild","CdkVirtualScrollViewport","NgModule","imports","CommonModule","ScrollingModule","RippleModule","exports","SharedModule","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 {NgModule,Component,Input,AfterContentInit,OnDestroy,Output,EventEmitter,OnInit,OnChanges,\n ContentChildren,QueryList,TemplateRef,Inject,ElementRef,forwardRef,ChangeDetectionStrategy,SimpleChanges, ViewEncapsulation, ViewChild} from '@angular/core';\nimport {CdkVirtualScrollViewport, ScrollingModule} from '@angular/cdk/scrolling';\nimport {Optional} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {TreeNode} from 'primeng/api';\nimport {SharedModule} from 'primeng/api';\nimport {PrimeTemplate} from 'primeng/api';\nimport {TreeDragDropService} from 'primeng/api';\nimport {Subscription} from 'rxjs';\nimport {BlockableUI} from 'primeng/api';\nimport {ObjectUtils} from 'primeng/utils';\nimport {DomHandler} from 'primeng/dom';\nimport {RippleModule} from 'primeng/ripple';\n\n@Component({\n selector: 'p-treeNode',\n template: `\n <ng-template [ngIf]=\"node\">\n <li *ngIf=\"tree.droppableNodes\" class=\"p-treenode-droppoint\" [ngClass]=\"{'p-treenode-droppoint-active':draghoverPrev}\"\n (drop)=\"onDropPoint($event,-1)\" (dragover)=\"onDropPointDragOver($event)\" (dragenter)=\"onDropPointDragEnter($event,-1)\" (dragleave)=\"onDropPointDragLeave($event)\"></li>\n <li *ngIf=\"!tree.horizontal\" role=\"treeitem\" [ngClass]=\"['p-treenode',node.styleClass||'', isLeaf() ? 'p-treenode-leaf': '']\">\n <div class=\"p-treenode-content\" [style.paddingLeft]=\"(level * indentation) + 'rem'\" (click)=\"onNodeClick($event)\" (contextmenu)=\"onNodeRightClick($event)\" (touchend)=\"onNodeTouchEnd()\"\n (drop)=\"onDropNode($event)\" (dragover)=\"onDropNodeDragOver($event)\" (dragenter)=\"onDropNodeDragEnter($event)\" (dragleave)=\"onDropNodeDragLeave($event)\"\n [draggable]=\"tree.draggableNodes\" (dragstart)=\"onDragStart($event)\" (dragend)=\"onDragStop($event)\" [attr.tabindex]=\"0\"\n [ngClass]=\"{'p-treenode-selectable':tree.selectionMode && node.selectable !== false,'p-treenode-dragover':draghoverNode, 'p-highlight':isSelected()}\"\n (keydown)=\"onKeyDown($event)\" [attr.aria-posinset]=\"this.index + 1\" [attr.aria-expanded]=\"this.node.expanded\" [attr.aria-selected]=\"isSelected()\" [attr.aria-label]=\"node.label\">\n <button type=\"button\" class=\"p-tree-toggler p-link\" (click)=\"toggle($event)\" pRipple>\n <span class=\"p-tree-toggler-icon pi pi-fw\" [ngClass]=\"{'pi-chevron-right':!node.expanded,'pi-chevron-down':node.expanded}\"></span>\n </button>\n <div class=\"p-checkbox p-component\" *ngIf=\"tree.selectionMode == 'checkbox'\" [attr.aria-checked]=\"isSelected()\">\n <div class=\"p-checkbox-box\" [ngClass]=\"{'p-highlight': isSelected(), 'p-indeterminate': node.partialSelected}\">\n <span class=\"p-checkbox-icon pi\" [ngClass]=\"{'pi-check':isSelected(),'pi-minus':node.partialSelected}\"></span>\n </div>\n </div>\n <span [class]=\"getIcon()\" *ngIf=\"node.icon||node.expandedIcon||node.collapsedIcon\"></span>\n <span class=\"p-treenode-label\">\n <span *ngIf=\"!tree.getTemplateForNode(node)\">{{node.label}}</span>\n <span *ngIf=\"tree.getTemplateForNode(node)\">\n <ng-container *ngTemplateOutlet=\"tree.getTemplateForNode(node); context: {$implicit: node}\"></ng-container>\n </span>\n </span>\n </div>\n <ul class=\"p-treenode-children\" style=\"display: none;\" *ngIf=\"!tree.virtualScroll && node.children && node.expanded\" [style.display]=\"node.expanded ? 'block' : 'none'\" role=\"group\">\n <p-treeNode *ngFor=\"let childNode of node.children;let firstChild=first;let lastChild=last; let index=index; trackBy: tree.trackBy\" [node]=\"childNode\" [parentNode]=\"node\"\n [firstChild]=\"firstChild\" [lastChild]=\"lastChild\" [index]=\"index\" [style.height.px]=\"tree.virtualNodeHeight\" [level]=\"level + 1\"></p-treeNode>\n </ul>\n </li>\n <li *ngIf=\"tree.droppableNodes&&lastChild\" class=\"p-treenode-droppoint\" [ngClass]=\"{'p-treenode-droppoint-active':draghoverNext}\"\n (drop)=\"onDropPoint($event,1)\" (dragover)=\"onDropPointDragOver($event)\" (dragenter)=\"onDropPointDragEnter($event,1)\" (dragleave)=\"onDropPointDragLeave($event)\"></li>\n <table *ngIf=\"tree.horizontal\" [class]=\"node.styleClass\">\n <tbody>\n <tr>\n <td class=\"p-treenode-connector\" *ngIf=\"!root\">\n <table class=\"p-treenode-connector-table\">\n <tbody>\n <tr>\n <td [ngClass]=\"{'p-treenode-connector-line':!firstChild}\"></td>\n </tr>\n <tr>\n <td [ngClass]=\"{'p-treenode-connector-line':!lastChild}\"></td>\n </tr>\n </tbody>\n </table>\n </td>\n <td class=\"p-treenode\" [ngClass]=\"{'p-treenode-collapsed':!node.expanded}\">\n <div class=\"p-treenode-content\" tabindex=\"0\" [ngClass]=\"{'p-treenode-selectable':tree.selectionMode,'p-highlight':isSelected()}\" (click)=\"onNodeClick($event)\" (contextmenu)=\"onNodeRightClick($event)\"\n (touchend)=\"onNodeTouchEnd()\" (keydown)=\"onNodeKeydown($event)\">\n <span class=\"p-tree-toggler pi pi-fw\" [ngClass]=\"{'pi-plus':!node.expanded,'pi-minus':node.expanded}\" *ngIf=\"!isLeaf()\" (click)=\"toggle($event)\"></span>\n <span [class]=\"getIcon()\" *ngIf=\"node.icon||node.expandedIcon||node.collapsedIcon\"></span>\n <span class=\"p-treenode-label\">\n <span *ngIf=\"!tree.getTemplateForNode(node)\">{{node.label}}</span>\n <span *ngIf=\"tree.getTemplateForNode(node)\">\n <ng-container *ngTemplateOutlet=\"tree.getTemplateForNode(node); context: {$implicit: node}\"></ng-container>\n </span>\n </span>\n </div>\n </td>\n <td class=\"p-treenode-children-container\" *ngIf=\"node.children && node.expanded\" [style.display]=\"node.expanded ? 'table-cell' : 'none'\">\n <div class=\"p-treenode-children\">\n <p-treeNode *ngFor=\"let childNode of node.children;let firstChild=first;let lastChild=last; trackBy: tree.trackBy\" [node]=\"childNode\"\n [firstChild]=\"firstChild\" [lastChild]=\"lastChild\"></p-treeNode>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n </ng-template>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class UITreeNode implements OnInit {\n\n static ICON_CLASS: string = 'p-treenode-icon ';\n\n @Input() rowNode: any;\n\n @Input() node: TreeNode;\n\n @Input() parentNode: TreeNode;\n\n @Input() root: boolean;\n\n @Input() index: number;\n\n @Input() firstChild: boolean;\n\n @Input() lastChild: boolean;\n\n @Input() level: number;\n\n @Input() indentation: number;\n\n tree: Tree;\n\n constructor(@Inject(forwardRef(() => Tree)) tree) {\n this.tree = tree as Tree;\n }\n\n draghoverPrev: boolean;\n\n draghoverNext: boolean;\n\n draghoverNode: boolean\n\n ngOnInit() {\n this.node.parent = this.parentNode;\n\n if (this.parentNode) {\n this.tree.syncNodeOption(this.node, this.tree.value, 'parent', this.tree.getNodeWithKey(this.parentNode.key, this.tree.value));\n }\n }\n\n getIcon() {\n let icon: string;\n\n if (this.node.icon)\n icon = this.node.icon;\n else\n icon = this.node.expanded && this.node.children && this.node.children.length ? this.node.expandedIcon : this.node.collapsedIcon;\n\n return UITreeNode.ICON_CLASS + ' ' + icon;\n }\n\n isLeaf() {\n return this.tree.isNodeLeaf(this.node);\n }\n\n toggle(event: Event) {\n if (this.node.expanded)\n this.collapse(event);\n else\n this.expand(event);\n }\n\n expand(event: Event) {\n this.node.expanded = true;\n if (this.tree.virtualScroll) {\n this.tree.updateSerializedValue();\n }\n this.tree.onNodeExpand.emit({originalEvent: event, node: this.node});\n }\n\n collapse(event: Event) {\n this.node.expanded = false;\n if (this.tree.virtualScroll) {\n this.tree.updateSerializedValue();\n }\n this.tree.onNodeCollapse.emit({originalEvent: event, node: this.node});\n }\n\n onNodeClick(event: MouseEvent) {\n this.tree.onNodeClick(event, this.node);\n }\n\n onNodeKeydown(event: KeyboardEvent) {\n if (event.which === 13) {\n this.tree.onNodeClick(event, this.node);\n }\n }\n\n onNodeTouchEnd() {\n this.tree.onNodeTouchEnd();\n }\n\n onNodeRightClick(event: MouseEvent) {\n this.tree.onNodeRightClick(event, this.node);\n }\n\n isSelected() {\n return this.tree.isSelected(this.node);\n }\n\n onDropPoint(event: Event, position: number) {\n event.preventDefault();\n let dragNode = this.tree.dragNode;\n let dragNodeIndex = this.tree.dragNodeIndex;\n let dragNodeScope = this.tree.dragNodeScope;\n let isValidDropPointIndex = this.tree.dragNodeTree === this.tree ? (position === 1 || dragNodeIndex !== this.index - 1) : true;\n\n if (this.tree.allowDrop(dragNode, this.node, dragNodeScope) && isValidDropPointIndex) {\n let dropParams = {...this.createDropPointEventMetadata(position)};\n\n if (this.tree.validateDrop) {\n this.tree.onNodeDrop.emit({\n originalEvent: event,\n dragNode: dragNode,\n dropNode: this.node,\n dropIndex: this.index,\n accept: () => {\n this.processPointDrop(dropParams);\n }\n });\n }\n else {\n this.processPointDrop(dropParams);\n this.tree.onNodeDrop.emit({\n originalEvent: event,\n dragNode: dragNode,\n dropNode: this.node,\n dropIndex: this.index\n });\n }\n }\n\n this.draghoverPrev = false;\n this.draghoverNext = false;\n }\n\n processPointDrop(event) {\n let newNodeList = event.dropNode.parent ? event.dropNode.parent.children : this.tree.value;\n event.dragNodeSubNodes.splice(event.dragNodeIndex, 1);\n let dropIndex = this.index;\n\n if (event.position < 0) {\n dropIndex = (event.dragNodeSubNodes === newNodeList) ? ((event.dragNodeIndex > event.index) ? event.index : event.index - 1) : event.index;\n newNodeList.splice(dropIndex, 0, event.dragNode);\n }\n else {\n dropIndex = newNodeList.length;\n newNodeList.push(event.dragNode);\n }\n\n this.tree.dragDropService.stopDrag({\n node: event.dragNode,\n subNodes: event.dropNode.parent ? event.dropNode.parent.children : this.tree.value,\n index: event.dragNodeIndex\n });\n }\n\n createDropPointEventMetadata(position) {\n return {\n dragNode: this.tree.dragNode,\n dragNodeIndex: this.tree.dragNodeIndex,\n dragNodeSubNodes: this.tree.dragNodeSubNodes,\n dropNode: this.node,\n index: this.index,\n position: position\n };\n }\n\n onDropPointDragOver(event) {\n event.dataTransfer.dropEffect = 'move';\n event.preventDefault();\n }\n\n onDropPointDragEnter(event: Event, position: number) {\n if (this.tree.allowDrop(this.tree.dragNode, this.node, this.tree.dragNodeScope)) {\n if (position < 0)\n this.draghoverPrev = true;\n else\n this.draghoverNext = true;\n }\n }\n\n onDropPointDragLeave(event: Event) {\n this.draghoverPrev = false;\n this.draghoverNext = false;\n }\n\n onDragStart(event) {\n if (this.tree.draggableNodes && this.node.draggable !== false) {\n event.dataTransfer.setData(\"text\", \"data\");\n\n this.tree.dragDropService.startDrag({\n tree: this,\n node: this.node,\n subNodes: this.node.parent ? this.node.parent.children : this.tree.value,\n index: this.index,\n scope: this.tree.draggableScope\n });\n }\n else {\n event.preventDefault();\n }\n }\n\n onDragStop(event) {\n this.tree.dragDropService.stopDrag({\n node: this.node,\n subNodes: this.node.parent ? this.node.parent.children : this.tree.value,\n index: this.index\n });\n }\n\n onDropNodeDragOver(event) {\n event.dataTransfer.dropEffect = 'move';\n if (this.tree.droppableNodes) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n\n onDropNode(event) {\n if (this.tree.droppableNodes && this.node.droppable !== false) {\n let dragNode = this.tree.dragNode;\n\n if (this.tree.allowDrop(dragNode, this.node, this.tree.dragNodeScope)) {\n let dropParams = {...this.createDropNodeEventMetadata()};\n\n if (this.tree.validateDrop) {\n this.tree.onNodeDrop.emit({\n originalEvent: event,\n dragNode: dragNode,\n dropNode: this.node,\n index: this.index,\n accept: () => {\n this.processNodeDrop(dropParams);\n }\n });\n }\n else {\n this.processNodeDrop(dropParams);\n this.tree.onNodeDrop.emit({\n originalEvent: event,\n dragNode: dragNode,\n dropNode: this.node,\n index: this.index\n });\n }\n }\n }\n\n event.preventDefault();\n event.stopPropagation();\n this.draghoverNode = false;\n }\n\n createDropNodeEventMetadata() {\n return {\n dragNode: this.tree.dragNode,\n dragNodeIndex: this.tree.dragNodeIndex,\n dragNodeSubNodes: this.tree.dragNodeSubNodes,\n dropNode: this.node\n };\n }\n\n processNodeDrop(event) {\n let dragNodeIndex = event.dragNodeIndex;\n event.dragNodeSubNodes.splice(dragNodeIndex, 1);\n\n if (event.dropNode.children)\n event.dropNode.children.push(event.dragNode);\n else\n event.dropNode.children = [event.dragNode];\n\n this.tree.dragDropService.stopDrag({\n node: event.dragNode,\n subNodes: event.dropNode.parent ? event.dropNode.parent.children : this.tree.value,\n index: dragNodeIndex\n });\n }\n\n onDropNodeDragEnter(event) {\n if (this.tree.droppableNodes && this.node.droppable !== false && this.tree.allowDrop(this.tree.dragNode, this.node, this.tree.dragNodeScope)) {\n this.draghoverNode = true;\n }\n }\n\n onDropNodeDragLeave(event) {\n if (this.tree.droppableNodes) {\n let rect = event.currentTarget.getBoundingClientRect();\n if (event.x > rect.left + rect.width || event.x < rect.left || event.y >= Math.floor(rect.top + rect.height) || event.y < rect.top) {\n this.draghoverNode = false;\n }\n }\n }\n\n onKeyDown(event: KeyboardEvent) {\n const nodeElement = (<HTMLDivElement> event.target).parentElement.parentElement;\n\n if (nodeElement.nodeName !== 'P-TREENODE' || (this.tree.contextMenu && this.tree.contextMenu.containerViewChild.nativeElement.style.display === 'block')) {\n return;\n }\n\n switch (event.which) {\n //down arrow\n case 40:\n const listElement = (this.tree.droppableNodes) ? nodeElement.children[1].children[1] : nodeElement.children[0].children[1];\n if (listElement && listElement.children.length > 0) {\n this.focusNode(listElement.children[0]);\n }\n else {\n const nextNodeElement = nodeElement.nextElementSibling;\n if (nextNodeElement) {\n this.focusNode(nextNodeElement);\n }\n else {\n let nextSiblingAncestor = this.findNextSiblingOfAncestor(nodeElement);\n if (nextSiblingAncestor) {\n this.focusNode(nextSiblingAncestor);\n }\n }\n }\n\n event.preventDefault();\n break;\n\n //up arrow\n case 38:\n if (nodeElement.previousElementSibling) {\n this.focusNode(this.findLastVisibleDescendant(nodeElement.previousElementSibling));\n }\n else {\n let parentNodeElement = this.getParentNodeElement(nodeElement);\n if (parentNodeElement) {\n this.focusNode(parentNodeElement);\n }\n }\n\n event.preventDefault();\n break;\n\n //right arrow\n case 39:\n if (!this.node.expanded && !this.tree.isNodeLeaf(this.node)) {\n this.expand(event);\n }\n\n event.preventDefault();\n break;\n\n //left arrow\n case 37:\n if (this.node.expanded) {\n this.collapse(event);\n }\n else {\n let parentNodeElement = this.getParentNodeElement(nodeElement);\n if (parentNodeElement) {\n this.focusNode(parentNodeElement);\n }\n }\n\n event.preventDefault();\n break;\n\n //enter\n case 13:\n this.tree.onNodeClick(event, this.node);\n event.preventDefault();\n break;\n\n default:\n //no op\n break;\n }\n }\n\n findNextSiblingOfAncestor(nodeElement) {\n let parentNodeElement = this.getParentNodeElement(nodeElement);\n if (parentNodeElement) {\n if (parentNodeElement.nextElementSibling)\n return parentNodeElement.nextElementSibling;\n else\n return this.findNextSiblingOfAncestor(parentNodeElement);\n }\n else {\n return null;\n }\n }\n\n findLastVisibleDescendant(nodeElement) {\n const listElement = <HTMLElement> Array.from(nodeElement.children).find(el => DomHandler.hasClass(el, 'p-treenode'));\n const childrenListElement = listElement.children[1];\n if (childrenListElement && childrenListElement.children.length > 0) {\n const lastChildElement = childrenListElement.children[childrenListElement.children.length - 1];\n\n return this.findLastVisibleDescendant(lastChildElement);\n }\n else {\n return nodeElement;\n }\n }\n\n getParentNodeElement(nodeElement) {\n const parentNodeElement = nodeElement.parentElement.parentElement.parentElement;\n\n return parentNodeElement.tagName === 'P-TREENODE' ? parentNodeElement : null;\n }\n\n focusNode(element) {\n if (this.tree.droppableNodes)\n element.children[1].children[0].focus();\n else\n element.children[0].children[0].focus();\n }\n}\n\n@Component({\n selector: 'p-tree',\n template: `\n <div [ngClass]=\"{'p-tree p-component':true,'p-tree-selectable':selectionMode,\n 'p-treenode-dragover':dragHover,'p-tree-loading': loading, 'p-tree-flex-scrollable': scrollHeight === 'flex'}\" \n [ngStyle]=\"style\" [class]=\"styleClass\" *ngIf=\"!horizontal\"\n (drop)=\"onDrop($event)\" (dragover)=\"onDragOver($event)\" (dragenter)=\"onDragEnter($event)\" (dragleave)=\"onDragLeave($event)\">\n <div class=\"p-tree-loading-overlay p-component-overlay\" *ngIf=\"loading\">\n <i [class]=\"'p-tree-loading-icon pi-spin ' + loadingIcon\"></i>\n </div>\n <div *ngIf=\"filter\" class=\"p-tree-filter-container\">\n <input #filter type=\"text\" autocomplete=\"off\" class=\"p-tree-filter p-inputtext p-component\" [attr.placeholder]=\"filterPlaceholder\"\n (keydown.enter)=\"$event.preventDefault()\" (input)=\"_filter($event)\">\n <span class=\"p-tree-filter-icon pi pi-search\"></span>\n </div>\n <ng-container *ngIf=\"!virtualScroll; else virtualScrollList\">\n <div class=\"p-tree-wrapper\" [style.max-height]=\"scrollHeight\">\n <ul class=\"p-tree-container\" *ngIf=\"getRootNode()\" role=\"tree\" [attr.aria-label]=\"ariaLabel\" [attr.aria-labelledby]=\"ariaLabelledBy\">\n <p-treeNode *ngFor=\"let node of getRootNode(); let firstChild=first;let lastChild=last; let index=index; trackBy: trackBy\" [node]=\"node\"\n [firstChild]=\"firstChild\" [lastChild]=\"lastChild\" [index]=\"index\" [level]=\"0\"></p-treeNode>\n </ul>\n </div>\n </ng-container>\n <ng-template #virtualScrollList>\n <cdk-virtual-scroll-viewport class=\"p-tree-wrapper\" [style.height]=\"scrollHeight\" [itemSize]=\"virtualNodeHeight\" [minBufferPx]=\"minBufferPx\" [maxBufferPx]=\"maxBufferPx\">\n <ul class=\"p-tree-container\" *ngIf=\"getRootNode()\" role=\"tree\" [attr.aria-label]=\"ariaLabel\" [attr.aria-labelledby]=\"ariaLabelledBy\">\n <p-treeNode *cdkVirtualFor=\"let rowNode of serializedValue; let firstChild=first; let lastChild=last; let index=index; trackBy: trackBy; templateCacheSize: 0\" [level]=\"rowNode.level\"\n [rowNode]=\"rowNode\" [node]=\"rowNode.node\" [firstChild]=\"firstChild\" [lastChild]=\"lastChild\" [index]=\"index\" [style.height.px]=\"virtualNodeHeight\" [indentation]=\"indentation\"></p-treeNode>\n </ul>\n </cdk-virtual-scroll-viewport>\n </ng-template>\n <div class=\"p-tree-empty-message\" *ngIf=\"!loading && (value == null || value.length === 0)\">{{emptyMessage}}</div>\n </div>\n <div [ngClass]=\"{'p-tree p-tree-horizontal p-component':true,'p-tree-selectable':selectionMode}\" [ngStyle]=\"style\" [class]=\"styleClass\" *ngIf=\"horizontal\">\n <div class=\"p-tree-loading-mask p-component-overlay\" *ngIf=\"loading\">\n <i [class]=\"'p-tree-loading-icon pi-spin ' + loadingIcon\"></i>\n </div>\n <table *ngIf=\"value&&value[0]\">\n <p-treeNode [node]=\"value[0]\" [root]=\"true\"></p-treeNode>\n </table>\n <div class=\"p-tree-empty-message\" *ngIf=\"!loading && (value == null || value.length === 0)\">{{emptyMessage}}</div>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./tree.css']\n})\nexport class Tree implements OnInit,AfterContentInit,OnChanges,OnDestroy,BlockableUI {\n\n @Input() value: TreeNode[];\n\n @Input() selectionMode: string;\n\n @Input() selection: any;\n\n @Output() selectionChange: EventEmitter<any> = new EventEmitter();\n\n @Output() onNodeSelect: EventEmitter<any> = new EventEmitter();\n\n @Output() onNodeUnselect: EventEmitter<any> = new EventEmitter();\n\n @Output() onNodeExpand: EventEmitter<any> = new EventEmitter();\n\n @Output() onNodeCollapse: EventEmitter<any> = new EventEmitter();\n\n @Output() onNodeContextMenuSelect: EventEmitter<any> = new EventEmitter();\n\n @Output() onNodeDrop: EventEmitter<any> = new EventEmitter();\n\n @Input() style: any;\n\n @Input() styleClass: string;\n\n @Input() contextMenu: any;\n\n @Input() layout: string = 'vertical';\n\n @Input() draggableScope: any;\n\n @Input() droppableScope: any;\n\n @Input() draggableNodes: boolean;\n\n @Input() droppableNodes: boolean;\n\n @Input() metaKeySelection: boolean = true;\n\n @Input() propagateSelectionUp: boolean = true;\n\n @Input() propagateSelectionDown: boolean = true;\n\n @Input() loading: boolean;\n\n @Input() loadingIcon: string = 'pi pi-spinner';\n\n @Input() emptyMessage: string = 'No records found';\n\n @Input() ariaLabel: string;\n\n @Input() ariaLabelledBy: string;\n\n @Input() validateDrop: boolean;\n\n @Input() filter: boolean;\n\n @Input() filterBy: string = 'label';\n\n @Input() filterMode: string = 'lenient';\n\n @Input() filterPlaceholder: string;\n\n @Input() filterLocale: string;\n\n @Input() scrollHeight: string;\n\n @Input() virtualScroll: boolean;\n\n @Input() virtualNodeHeight: string;\n\n @Input() minBufferPx: number;\n\n @Input() maxBufferPx: number;\n\n @Input() indentation: number = 1.5;\n\n @Input() trackBy: Function = (index: number, item: any) => item;\n\n @Output() onFilter: EventEmitter<any> = new EventEmitter();\n\n @ContentChildren(PrimeTemplate) templates: QueryList<any>;\n\n @ViewChild(CdkVirtualScrollViewport) virtualScrollBody: CdkVirtualScrollViewport;\n\n serializedValue: any[];\n\n public templateMap: any;\n\n public nodeTouched: boolean;\n\n public dragNodeTree: Tree;\n\n public dragNode: TreeNode;\n\n public dragNodeSubNodes: TreeNode[];\n\n public dragNodeIndex: number;\n\n public dragNodeScope: any;\n\n public dragHover: boolean;\n\n public dragStartSubscription: Subscription;\n\n public dragStopSubscription: Subscription;\n\n public filteredNodes: TreeNode[];\n\n constructor(public el: ElementRef, @Optional() public dragDropService: TreeDragDropService) {}\n\n ngOnInit() {\n if (this.droppableNodes) {\n this.dragStartSubscription = this.dragDropService.dragStart$.subscribe(\n event => {\n this.dragNodeTree = event.tree;\n this.dragNode = event.node;\n this.dragNodeSubNodes = event.subNodes;\n this.dragNodeIndex = event.index;\n this.dragNodeScope = event.scope;\n });\n\n this.dragStopSubscription = this.dragDropService.dragStop$.subscribe(\n event => {\n this.dragNodeTree = null;\n this.dragNode = null;\n this.dragNodeSubNodes = null;\n this.dragNodeIndex = null;\n this.dragNodeScope = null;\n this.dragHover = false;\n });\n }\n }\n\n ngOnChanges(simpleChange: SimpleChanges) {\n if (simpleChange.value) {\n this.updateSerializedValue();\n }\n\n if (simpleChange.scrollHeight && this.virtualScrollBody) {\n this.virtualScrollBody.ngOnInit();\n }\n }\n\n get horizontal(): boolean {\n return this.layout == 'horizontal';\n }\n\n ngAfterContentInit() {\n if (this.templates.length) {\n this.templateMap = {};\n }\n\n this.templates.forEach((item) => {\n this.templateMap[item.name] = item.template;\n });\n }\n\n updateSerializedValue() {\n this.serializedValue = [];\n this.serializeNodes(null, this.getRootNode(), 0, true);\n }\n\n serializeNodes(parent, nodes, level, visible) {\n if (nodes && nodes.length) {\n for(let node of nodes) {\n node.parent = parent;\n const rowNode = {\n node: node,\n parent: parent,\n level: level,\n visible: visible && (parent ? parent.expanded : true)\n };\n this.serializedValue.push(rowNode);\n\n if (rowNode.visible && node.expanded) {\n this.serializeNodes(node, node.children, level + 1, rowNode.visible);\n }\n }\n }\n }\n\n onNodeClick(event, node: TreeNode) {\n let eventTarget = (<Element> event.target);\n\n if (DomHandler.hasClass(eventTarget, 'p-tree-toggler') || DomHandler.hasClass(eventTarget, 'p-tree-toggler-icon')) {\n return;\n }\n else if (this.selectionMode) {\n if (node.selectable === false) {\n return;\n }\n\n if (this.hasFilteredNodes()) {\n node = this.getNodeWithKey(node.key, this.value);\n\n if (!node) {\n return;\n }\n }\n\n let index = this.findIndexInSelection(node);\n let selected = (index >= 0);\n\n if (this.isCheckboxSelectionMode()) {\n if (selected) {\n if (this.propagateSelectionDown)\n this.propagateDown(node, false);\n else\n this.selection = this.selection.filter((val,i) => i!=index);\n\n if (this.propagateSelectionUp && node.parent) {\n this.propagateUp(node.parent, false);\n }\n\n this.selectionChange.emit(this.selection);\n this.onNodeUnselect.emit({originalEvent: event, node: node});\n }\n else {\n if (this.propagateSelectionDown)\n this.propagateDown(node, true);\n else\n this.selection = [...this.selection||[],node];\n\n if (this.propagateSelectionUp && node.parent) {\n this.propagateUp(node.parent, true);\n }\n\n this.selectionChange.emit(this.selection);\n this.onNodeSelect.emit({originalEvent: event, node: node});\n }\n }\n else {\n let metaSelection = this.nodeTouched ? false : this.metaKeySelection;\n\n if (metaSelection) {\n let metaKey = (event.metaKey||event.ctrlKey);\n\n if (selected && metaKey) {\n if (this.isSingleSelectionMode()) {\n this.selectionChange.emit(null);\n }\n else {\n this.selection = this.selection.filter((val,i) => i!=index);\n this.selectionChange.emit(this.selection);\n }\n\n this.onNodeUnselect.emit({originalEvent: event, node: node});\n }\n else {\n if (this.isSingleSelectionMode()) {\n this.selectionChange.emit(node);\n }\n else if (this.isMultipleSelectionMode()) {\n this.selection = (!metaKey) ? [] : this.selection||[];\n this.selection = [...this.selection,node];\n this.selectionChange.emit(this.selection);\n }\n\n this.onNodeSelect.emit({originalEvent: event, node: node});\n }\n }\n else {\n if (this.isSingleSelectionMode()) {\n if (selected) {\n this.selection = null;\n this.onNodeUnselect.emit({originalEvent: event, node: node});\n }\n else {\n this.selection = node;\n this.onNodeSelect.emit({originalEvent: event, node: node});\n }\n }\n else {\n if (selected) {\n this.selection = this.selection.filter((val,i) => i!=index);\n this.onNodeUnselect.emit({originalEvent: event, node: node});\n }\n else {\n this.selection = [...this.selection||[],node];\n this.onNodeSelect.emit({originalEvent: event, node: node});\n }\n }\n\n this.selectionChange.emit(this.selection);\n }\n }\n }\n\n this.nodeTouched = false;\n }\n\n onNodeTouchEnd() {\n this.nodeTouched = true;\n }\n\n onNodeRightClick(event: MouseEvent, node: TreeNode) {\n if (this.contextMenu) {\n let eventTarget = (<Element> event.target);\n\n if (eventTarget.className && eventTarget.className.indexOf('p-tree-toggler') === 0) {\n return;\n }\n else {\n let index = this.findIndexInSelection(node);\n let selected = (index >= 0);\n\n if (!selected) {\n if (this.isSingleSelectionMode())\n this.selectionChange.emit(node);\n else\n this.selectionChange.emit([node]);\n }\n\n this.contextMenu.show(event);\n this.onNodeContextMenuSelect.emit({originalEvent: event, node: node});\n }\n }\n }\n\n findIndexInSelection(node: TreeNode) {\n let index: number = -1;\n\n if (this.selectionMode && this.selection) {\n if (this.isSingleSelectionMode()) {\n let areNodesEqual = (this.selection.key && this.selection.key === node.key) || this.selection == node;\n index = areNodesEqual ? 0 : - 1;\n }\n else {\n for(let i = 0; i < this.selection.length; i++) {\n let selectedNode = this.selection[i];\n let areNodesEqual = (selectedNode.key && selectedNode.key === node.key) || selectedNode == node;\n if (areNodesEqual) {\n index = i;\n break;\n }\n }\n }\n }\n\n return index;\n }\n\n syncNodeOption(node, parentNodes, option, value?: any) {\n // to synchronize the node option between the filtered nodes and the original nodes(this.value)\n const _node = this.hasFilteredNodes() ? this.getNodeWithKey(node.key, parentNodes) : null;\n if (_node) {\n _node[option] = value||node[option];\n }\n }\n\n hasFilteredNodes() {\n return this.filter && this.filteredNodes && this.filteredNodes.length;\n }\n\n getNodeWithKey(key: string, nodes: TreeNode[]) {\n for (let node of nodes) {\n if (node.key === key) {\n return node;\n }\n\n if (node.children) {\n let matchedNode = this.getNodeWithKey(key, node.children);\n if (matchedNode) {\n return matchedNode;\n }\n }\n }\n }\n\n propagateUp(node: TreeNode, select: boolean) {\n if (node.children && node.children.length) {\n let selectedCount: number = 0;\n let childPartialSelected: boolean = false;\n for(let child of node.children) {\n if (this.isSelected(child)) {\n selectedCount++;\n }\n else if (child.partialSelected) {\n childPartialSelected = true;\n }\n }\n\n if (select && selectedCount == node.children.length) {\n this.selection = [...this.selection||[],node];\n node.partialSelected = false;\n }\n else {\n if (!select) {\n let index = this.findIndexInSelection(node);\n if (index >= 0) {\n this.selection = this.selection.filter((val,i) => i!=index);\n }\n }\n\n if (childPartialSelected || selectedCount > 0 && selectedCount != node.children.length)\n node.partialSelected = true;\n else\n node.partialSelected = false;\n }\n\n this.syncNodeOption(node, this.filteredNodes, 'partialSelected');\n }\n\n let parent = node.parent;\n if (parent) {\n this.propagateUp(parent, select);\n }\n }\n\n propagateDown(node: TreeNode, select: boolean) {\n let index = this.findIndexInSelection(node);\n\n if (select && index == -1) {\n this.selection = [...this.selection||[],node];\n }\n else if (!select && index > -1) {\n this.selection = this.selection.filter((val,i) => i!=index);\n }\n\n node.partialSelected = false;\n\n this.syncNodeOption(node, this.filteredNodes, 'partialSelected');\n\n if (node.children && node.children.length) {\n for(let child of node.children) {\n this.propagateDown(child, select);\n }\n }\n }\n\n isSelected(node: TreeNode) {\n return this.findIndexInSelection(node) != -1;\n }\n\n isSingleSelectionMode() {\n return this.selectionMode && this.selectionMode == 'single';\n }\n\n isMultipleSelectionMode() {\n return this.selectionMode && this.selectionMode == 'multiple';\n }\n\n isCheckboxSelectionMode() {\n return this.selectionMode && this.selectionMode == 'checkbox';\n }\n\n isNodeLeaf(node) {\n return node.leaf == false ? false : !(node.children && node.children.length);\n }\n\n getRootNode() {\n return this.filteredNodes ? this.filteredNodes : this.value;\n }\n\n getTemplateForNode(node: TreeNode): TemplateRef<any> {\n if (this.templateMap)\n return node.type ? this.templateMap[node.type] : this.templateMap['default'];\n else\n return null;\n }\n\n onDragOver(event) {\n if (this.droppableNodes && (!this.value || this.value.length === 0)) {\n event.dataTransfer.dropEffect = 'move';\n event.preventDefault();\n }\n }\n\n onDrop(event) {\n if (this.droppableNodes && (!this.value || this.value.length === 0)) {\n event.preventDefault();\n let dragNode = this.dragNode;\n if (this.allowDrop(dragNode, null, this.dragNodeScope)) {\n let dragNodeIndex = this.dragNodeIndex;\n this.dragNodeSubNodes.splice(dragNodeIndex, 1);\n this.value = this.value||[];\n this.value.push(dragNode);\n\n this.dragDropService.stopDrag({\n node: dragNode\n });\n }\n }\n }\n\n onDragEnter(event) {\n if (this.droppableNodes && this.allowDrop(this.dragNode, null, this.dragNodeScope)) {\n this.dragHover = true;\n }\n }\n\n onDragLeave(event) {\n if (this.droppableNodes) {\n let rect = event.currentTarget.getBoundingClientRect();\n if (event.x > rect.left + rect.width || event.x < rect.left || event.y > rect.top + rect.height || event.y < rect.top) {\n this.dragHover = false;\n }\n }\n }\n\n allowDrop(dragNode: TreeNode, dropNode: TreeNode, dragNodeScope: any): boolean {\n if (!dragNode) {\n //prevent random html elements to be dragged\n return false;\n }\n else if (this.isValidDragScope(dragNodeScope)) {\n let allow: boolean = true;\n if (dropNode) {\n if (dragNode === dropNode) {\n allow = false;\n }\n else {\n let parent = dropNode.parent;\n while(parent != null) {\n if (parent === dragNode) {\n allow = false;\n break;\n }\n parent = parent.parent;\n }\n }\n }\n\n return allow;\n }\n else {\n return false;\n }\n }\n\n isValidDragScope(dragScope: any): boolean {\n let dropScope = this.droppableScope;\n\n if (dropScope) {\n if (typeof dropScope === 'string') {\n if (typeof dragScope === 'string')\n return dropScope === dragScope;\n else if (dragScope instanceof Array)\n return (<Array<any>>dragScope).indexOf(dropScope) != -1;\n }\n else if (dropScope instanceof Array) {\n if (typeof dragScope === 'string') {\n return (<Array<any>>dropScope).indexOf(dragScope) != -1;\n }\n else if (dragScope instanceof Array) {\n for(let s of dropScope) {\n for(let ds of dragScope) {\n if (s === ds) {\n return true;\n }\n }\n }\n }\n }\n return false;\n }\n else {\n return true;\n }\n }\n\n _filter(event) {\n let filterValue = event.target.value;\n if (filterValue === '') {\n this.filteredNodes = null;\n }\n else {\n this.filteredNodes = [];\n const searchFields: string[] = this.filterBy.split(',');\n const filterText = ObjectUtils.removeAccents(filterValue).toLocaleLowerCase(this.filterLocale);\n const isStrictMode = this.filterMode === 'strict';\n for(let node of this.value) {\n let copyNode = {...node};\n let paramsWithoutNode = {searchFields, filterText, isStrictMode};\n if ((isStrictMode && (this.findFilteredNodes(copyNode, paramsWithoutNode) || this.isFilterMatched(copyNode, paramsWithoutNode))) ||\n (!isStrictMode && (this.isFilterMatched(copyNode, paramsWithoutNode) || this.findFilteredNodes(copyNode, paramsWithoutNode)))) {\n this.filteredNodes.push(copyNode);\n }\n }\n }\n\n this.updateSerializedValue();\n this.onFilter.emit({\n filter: filterValue,\n filteredValue: this.filteredNodes\n });\n }\n\n findFilteredNodes(node, paramsWithoutNode) {\n if (node) {\n let matched = false;\n if (node.children) {\n let childNodes = [...node.children];\n node.children = [];\n for (let childNode of childNodes) {\n let copyChildNode = {...childNode};\n if (this.isFilterMatched(copyChildNode, paramsWithoutNode)) {\n matched = true;\n node.children.push(copyChildNode);\n }\n }\n }\n\n if (matched) {\n node.expanded = true;\n return true;\n }\n }\n }\n\n isFilterMatched(node, {searchFields, filterText, isStrictMode}) {\n let matched = false;\n for(let field of searchFields) {\n let fieldValue = ObjectUtils.removeAccents(String(ObjectUtils.resolveFieldData(node, field))).toLocaleLowerCase(this.filterLocale);\n if (fieldValue.indexOf(filterText) > -1) {\n matched = true;\n }\n }\n\n if (!matched || (isStrictMode && !this.isNodeLeaf(node))) {\n matched = this.findFilteredNodes(node, {searchFields, filterText, isStrictMode}) || matched;\n }\n\n return matched;\n }\n\n getBlockableElement(): HTMLElement {\n return this.el.nativeElement.children[0];\n }\n\n ngOnDestroy() {\n if (this.dragStartSubscription) {\n this.dragStartSubscription.unsubscribe();\n }\n\n if (this.dragStopSubscription) {\n this.dragStopSubscription.unsubscribe();\n }\n }\n}\n@NgModule({\n imports: [CommonModule,ScrollingModule,RippleModule],\n exports: [Tree,SharedModule,ScrollingModule],\n declarations: [Tree,UITreeNode]\n})\nexport class TreeModule { }\n"]}
1
+ {"version":3,"sources":["../../node_modules/tslib/tslib.es6.js","../../src/app/components/tree/tree.ts"],"names":["Object","create","__values","o","s","Symbol","iterator","m","i","call","length","next","value","done","TypeError","__read","n","r","e","ar","push","error","__spread","arguments","concat","UITreeNode","tree","this","prototype","ngOnInit","node","parent","parentNode","syncNodeOption","getNodeWithKey","key","getIcon","icon","expanded","children","expandedIcon","collapsedIcon","ICON_CLASS","isLeaf","isNodeLeaf","toggle","event","collapse","expand","virtualScroll","updateSerializedValue","onNodeExpand","emit","originalEvent","onNodeCollapse","onNodeClick","onNodeKeydown","which","onNodeTouchEnd","onNodeRightClick","isSelected","onDropPoint","position","_this","preventDefault","dragNode","dragNodeIndex","dragNodeScope","isValidDropPointIndex","dragNodeTree","index","allowDrop","dropParams_1","assign","createDropPointEventMetadata","validateDrop","onNodeDrop","dropNode","dropIndex","accept","processPointDrop","draghoverPrev","draghoverNext","newNodeList","dragNodeSubNodes","splice","dragDropService","stopDrag","subNodes","onDropPointDragOver","dataTransfer","dropEffect","onDropPointDragEnter","onDropPointDragLeave","onDragStart","draggableNodes","draggable","setData","startDrag","scope","draggableScope","onDragStop","onDropNodeDragOver","droppableNodes","stopPropagation","onDropNode","droppable","dropParams_2","createDropNodeEventMetadata","processNodeDrop","draghoverNode","onDropNodeDragEnter","onDropNodeDragLeave","rect","currentTarget","getBoundingClientRect","x","left","width","y","Math","floor","top","height","onKeyDown","nodeElement","target","parentElement","nodeName","contextMenu","containerViewChild","nativeElement","style","display","listElement","focusNode","nextNodeElement","nextElementSibling","nextSiblingAncestor","findNextSiblingOfAncestor","previousElementSibling","findLastVisibleDescendant","parentNodeElement","getParentNodeElement","childrenListElement","Array","from","find","el","DomHandler","hasClass","lastChildElement","tagName","element","focus","Component","args","selector","template","encapsulation","ViewEncapsulation","None","Inject","forwardRef","Tree","Input","selectionChange","EventEmitter","onNodeSelect","onNodeUnselect","onNodeContextMenuSelect","layout","metaKeySelection","propagateSelectionUp","propagateSelectionDown","loadingIcon","emptyMessage","filterBy","filterMode","indentation","trackBy","item","onFilter","dragStartSubscription","dragStart$","subscribe","dragStopSubscription","dragStop$","dragHover","ngOnChanges","simpleChange","scrollHeight","virtualScrollBody","defineProperty","ngAfterContentInit","templates","templateMap","forEach","name","serializedValue","serializeNodes","getRootNode","nodes","level","visible","nodes_1","nodes_1_1","rowNode","eventTarget","selectionMode","selectable","hasFilteredNodes","index_1","findIndexInSelection","selected","isCheckboxSelectionMode","propagateDown","selection","filter","val","propagateUp","nodeTouched","metaKey","ctrlKey","isSingleSelectionMode","isMultipleSelectionMode","className","indexOf","show","selectedNode","parentNodes","option","_node","filteredNodes","nodes_2","nodes_2_1","matchedNode","select","selectedCount","childPartialSelected","_b","_c","child","partialSelected","index_2","leaf","getTemplateForNode","type","onDragOver","onDrop","onDragEnter","onDragLeave","isValidDragScope","allow","dragScope","dropScope","droppableScope","dropScope_1","dropScope_1_1","dragScope_1","e_6","dragScope_1_1","_filter","filterValue","searchFields","split","filterText","ObjectUtils","removeAccents","toLocaleLowerCase","filterLocale","isStrictMode","copyNode","paramsWithoutNode","findFilteredNodes","isFilterMatched","filteredValue","matched","childNodes","childNodes_1","childNodes_1_1","childNode","copyChildNode","_a","searchFields_1","searchFields_1_1","field","String","resolveFieldData","getBlockableElement","ngOnDestroy","unsubscribe","changeDetection","ChangeDetectionStrategy","Default","ElementRef","TreeDragDropService","decorators","Optional","Output","ContentChildren","PrimeTemplate","ViewChild","CdkVirtualScrollViewport","NgModule","imports","CommonModule","ScrollingModule","RippleModule","exports","SharedModule","declarations"],"mappings":";;;;;;;;;;;;;;oFA2G6BA,OAAOC,gBAYpBC,EAASC,GACrB,IAAIC,EAAsB,mBAAXC,QAAyBA,OAAOC,SAAUC,EAAIH,GAAKD,EAAEC,GAAII,EAAI,EAC5E,GAAID,EAAG,OAAOA,EAAEE,KAAKN,GACrB,GAAIA,GAAyB,iBAAbA,EAAEO,OAAqB,MAAO,CAC1CC,KAAM,WAEF,OADIR,GAAKK,GAAKL,EAAEO,SAAQP,OAAI,GACrB,CAAES,MAAOT,GAAKA,EAAEK,KAAMK,MAAOV,KAG5C,MAAM,IAAIW,UAAUV,EAAI,0BAA4B,4CAGxCW,EAAOZ,EAAGa,GACtB,IAAIT,EAAsB,mBAAXF,QAAyBF,EAAEE,OAAOC,UACjD,IAAKC,EAAG,OAAOJ,EACf,IAAmBc,EAAYC,EAA3BV,EAAID,EAAEE,KAAKN,GAAOgB,EAAK,GAC3B,IACI,WAAc,IAANH,GAAgBA,KAAM,MAAQC,EAAIT,EAAEG,QAAQE,MAAMM,EAAGC,KAAKH,EAAEL,OAExE,MAAOS,GAASH,EAAI,CAAEG,MAAOA,WAEzB,IACQJ,IAAMA,EAAEJ,OAASN,EAAIC,EAAU,SAAID,EAAEE,KAAKD,WAExC,GAAIU,EAAG,MAAMA,EAAEG,OAE7B,OAAOF,WAIKG,IACZ,IAAK,IAAIH,EAAK,GAAIX,EAAI,EAAGA,EAAIe,UAAUb,OAAQF,IAC3CW,EAAKA,EAAGK,OAAOT,EAAOQ,UAAUf,KACpC,OAAOW,EAqDcnB,OAAOC,wBC1F5B,SAAAwB,EAA4CC,GACxCC,KAAKD,KAAOA,SAShBD,EAAAG,UAAAC,SAAA,WACIF,KAAKG,KAAKC,OAASJ,KAAKK,WAEpBL,KAAKK,YACLL,KAAKD,KAAKO,eAAeN,KAAKG,KAAMH,KAAKD,KAAKd,MAAO,SAAUe,KAAKD,KAAKQ,eAAeP,KAAKK,WAAWG,IAAKR,KAAKD,KAAKd,SAI/Ha,EAAAG,UAAAQ,QAAA,WACI,IAAIC,EAOJ,OAJIA,EADAV,KAAKG,KAAKO,KACHV,KAAKG,KAAKO,KAEVV,KAAKG,KAAKQ,UAAYX,KAAKG,KAAKS,UAAYZ,KAAKG,KAAKS,SAAS7B,OAASiB,KAAKG,KAAKU,aAAeb,KAAKG,KAAKW,cAE/GhB,EAAWiB,WAAa,IAAML,GAGzCZ,EAAAG,UAAAe,OAAA,WACI,OAAOhB,KAAKD,KAAKkB,WAAWjB,KAAKG,OAGrCL,EAAAG,UAAAiB,OAAA,SAAOC,GACCnB,KAAKG,KAAKQ,SACVX,KAAKoB,SAASD,GAEdnB,KAAKqB,OAAOF,IAGpBrB,EAAAG,UAAAoB,OAAA,SAAOF,GACHnB,KAAKG,KAAKQ,UAAW,EACjBX,KAAKD,KAAKuB,eACVtB,KAAKD,KAAKwB,wBAEdvB,KAAKD,KAAKyB,aAAaC,KAAK,CAACC,cAAeP,EAAOhB,KAAMH,KAAKG,QAGlEL,EAAAG,UAAAmB,SAAA,SAASD,GACLnB,KAAKG,KAAKQ,UAAW,EACjBX,KAAKD,KAAKuB,eACVtB,KAAKD,KAAKwB,wBAEdvB,KAAKD,KAAK4B,eAAeF,KAAK,CAACC,cAAeP,EAAOhB,KAAMH,KAAKG,QAGpEL,EAAAG,UAAA2B,YAAA,SAAYT,GACRnB,KAAKD,KAAK6B,YAAYT,EAAOnB,KAAKG,OAGtCL,EAAAG,UAAA4B,cAAA,SAAcV,GACU,KAAhBA,EAAMW,OACN9B,KAAKD,KAAK6B,YAAYT,EAAOnB,KAAKG,OAI1CL,EAAAG,UAAA8B,eAAA,WACI/B,KAAKD,KAAKgC,kBAGdjC,EAAAG,UAAA+B,iBAAA,SAAiBb,GACbnB,KAAKD,KAAKiC,iBAAiBb,EAAOnB,KAAKG,OAG3CL,EAAAG,UAAAgC,WAAA,WACI,OAAOjC,KAAKD,KAAKkC,WAAWjC,KAAKG,OAGrCL,EAAAG,UAAAiC,YAAA,SAAYf,EAAcgB,GAA1B,IAAAC,EAAApC,KACImB,EAAMkB,iBACN,IAAIC,EAAWtC,KAAKD,KAAKuC,SACrBC,EAAgBvC,KAAKD,KAAKwC,cAC1BC,EAAgBxC,KAAKD,KAAKyC,cAC1BC,EAAwBzC,KAAKD,KAAK2C,eAAiB1C,KAAKD,OAAqB,IAAboC,GAAkBI,IAAkBvC,KAAK2C,MAAQ,GAErH,GAAI3C,KAAKD,KAAK6C,UAAUN,EAAUtC,KAAKG,KAAMqC,IAAkBC,EAAuB,CAClF,IAAII,EAAUxE,OAAAyE,OAAA,GAAO9C,KAAK+C,6BAA6BZ,IAEnDnC,KAAKD,KAAKiD,aACVhD,KAAKD,KAAKkD,WAAWxB,KAAK,CACtBC,cAAeP,EACfmB,SAAUA,EACVY,SAAUlD,KAAKG,KACfgD,UAAWnD,KAAK2C,MAChBS,OAAQ,WACJhB,EAAKiB,iBAAiBR,OAK9B7C,KAAKqD,iBAAiBR,GACtB7C,KAAKD,KAAKkD,WAAWxB,KAAK,CACtBC,cAAeP,EACfmB,SAAUA,EACVY,SAAUlD,KAAKG,KACfgD,UAAWnD,KAAK2C,SAK5B3C,KAAKsD,eAAgB,EACrBtD,KAAKuD,eAAgB,GAGzBzD,EAAAG,UAAAoD,iBAAA,SAAiBlC,GACb,IAAIqC,EAAcrC,EAAM+B,SAAS9C,OAASe,EAAM+B,SAAS9C,OAAOQ,SAAWZ,KAAKD,KAAKd,MACrFkC,EAAMsC,iBAAiBC,OAAOvC,EAAMoB,cAAe,GACnD,IAAIY,EAAYnD,KAAK2C,MAEjBxB,EAAMgB,SAAW,GACjBgB,EAAahC,EAAMsC,mBAAqBD,EAAiBrC,EAAMoB,cAAgBpB,EAAMwB,MAASxB,EAAMwB,MAAQxB,EAAMwB,MAAQ,EAAKxB,EAAMwB,MACrIa,EAAYE,OAAOP,EAAW,EAAGhC,EAAMmB,YAGvCa,EAAYK,EAAYzE,OACxByE,EAAY/D,KAAK0B,EAAMmB,WAG3BtC,KAAKD,KAAK4D,gBAAgBC,SAAS,CAC/BzD,KAAMgB,EAAMmB,SACZuB,SAAU1C,EAAM+B,SAAS9C,OAASe,EAAM+B,SAAS9C,OAAOQ,SAAWZ,KAAKD,KAAKd,MAC7E0D,MAAOxB,EAAMoB,iBAIrBzC,EAAAG,UAAA8C,6BAAA,SAA6BZ,GACzB,MAAO,CACHG,SAAUtC,KAAKD,KAAKuC,SACpBC,cAAgBvC,KAAKD,KAAKwC,cAC1BkB,iBAAkBzD,KAAKD,KAAK0D,iBAC5BP,SAAUlD,KAAKG,KACfwC,MAAO3C,KAAK2C,MACZR,SAAUA,IAIlBrC,EAAAG,UAAA6D,oBAAA,SAAoB3C,GAChBA,EAAM4C,aAAaC,WAAa,OAChC7C,EAAMkB,kBAGVvC,EAAAG,UAAAgE,qBAAA,SAAqB9C,EAAcgB,GAC3BnC,KAAKD,KAAK6C,UAAU5C,KAAKD,KAAKuC,SAAUtC,KAAKG,KAAMH,KAAKD,KAAKyC,iBACzDL,EAAW,EACXnC,KAAKsD,eAAgB,EAErBtD,KAAKuD,eAAgB,IAIjCzD,EAAAG,UAAAiE,qBAAA,SAAqB/C,GACjBnB,KAAKsD,eAAgB,EACrBtD,KAAKuD,eAAgB,GAGzBzD,EAAAG,UAAAkE,YAAA,SAAYhD,GACJnB,KAAKD,KAAKqE,iBAA0C,IAAxBpE,KAAKG,KAAKkE,WACtClD,EAAM4C,aAAaO,QAAQ,OAAQ,QAEnCtE,KAAKD,KAAK4D,gBAAgBY,UAAU,CAChCxE,KAAMC,KACNG,KAAMH,KAAKG,KACX0D,SAAU7D,KAAKG,KAAKC,OAASJ,KAAKG,KAAKC,OAAOQ,SAAWZ,KAAKD,KAAKd,MACnE0D,MAAO3C,KAAK2C,MACZ6B,MAAOxE,KAAKD,KAAK0E,kBAIrBtD,EAAMkB,kBAIdvC,EAAAG,UAAAyE,WAAA,SAAWvD,GACPnB,KAAKD,KAAK4D,gBAAgBC,SAAS,CAC/BzD,KAAMH,KAAKG,KACX0D,SAAU7D,KAAKG,KAAKC,OAASJ,KAAKG,KAAKC,OAAOQ,SAAWZ,KAAKD,KAAKd,MACnE0D,MAAO3C,KAAK2C,SAIpB7C,EAAAG,UAAA0E,mBAAA,SAAmBxD,GACfA,EAAM4C,aAAaC,WAAa,OAC5BhE,KAAKD,KAAK6E,iBACVzD,EAAMkB,iBACNlB,EAAM0D,oBAId/E,EAAAG,UAAA6E,WAAA,SAAW3D,GAAX,IAAAiB,EAAApC,KACI,GAAIA,KAAKD,KAAK6E,iBAA0C,IAAxB5E,KAAKG,KAAK4E,UAAqB,CAC3D,IAAIzC,EAAWtC,KAAKD,KAAKuC,SAEzB,GAAItC,KAAKD,KAAK6C,UAAUN,EAAUtC,KAAKG,KAAMH,KAAKD,KAAKyC,eAAgB,CACnE,IAAIwC,EAAU3G,OAAAyE,OAAA,GAAO9C,KAAKiF,+BAEtBjF,KAAKD,KAAKiD,aACVhD,KAAKD,KAAKkD,WAAWxB,KAAK,CACtBC,cAAeP,EACfmB,SAAUA,EACVY,SAAUlD,KAAKG,KACfwC,MAAO3C,KAAK2C,MACZS,OAAQ,WACJhB,EAAK8C,gBAAgBF,OAK7BhF,KAAKkF,gBAAgBF,GACrBhF,KAAKD,KAAKkD,WAAWxB,KAAK,CACtBC,cAAeP,EACfmB,SAAUA,EACVY,SAAUlD,KAAKG,KACfwC,MAAO3C,KAAK2C,UAM5BxB,EAAMkB,iBACNlB,EAAM0D,kBACN7E,KAAKmF,eAAgB,GAGzBrF,EAAAG,UAAAgF,4BAAA,WACI,MAAO,CACH3C,SAAUtC,KAAKD,KAAKuC,SACpBC,cAAgBvC,KAAKD,KAAKwC,cAC1BkB,iBAAkBzD,KAAKD,KAAK0D,iBAC5BP,SAAUlD,KAAKG,OAIvBL,EAAAG,UAAAiF,gBAAA,SAAgB/D,GACZ,IAAIoB,EAAgBpB,EAAMoB,cAC1BpB,EAAMsC,iBAAiBC,OAAOnB,EAAe,GAEzCpB,EAAM+B,SAAStC,SACfO,EAAM+B,SAAStC,SAASnB,KAAK0B,EAAMmB,UAEnCnB,EAAM+B,SAAStC,SAAW,CAACO,EAAMmB,UAErCtC,KAAKD,KAAK4D,gBAAgBC,SAAS,CAC/BzD,KAAMgB,EAAMmB,SACZuB,SAAU1C,EAAM+B,SAAS9C,OAASe,EAAM+B,SAAS9C,OAAOQ,SAAWZ,KAAKD,KAAKd,MAC7E0D,MAAOJ,KAIfzC,EAAAG,UAAAmF,oBAAA,SAAoBjE,GACZnB,KAAKD,KAAK6E,iBAA0C,IAAxB5E,KAAKG,KAAK4E,WAAuB/E,KAAKD,KAAK6C,UAAU5C,KAAKD,KAAKuC,SAAUtC,KAAKG,KAAMH,KAAKD,KAAKyC,iBAC1HxC,KAAKmF,eAAgB,IAI7BrF,EAAAG,UAAAoF,oBAAA,SAAoBlE,GAChB,GAAInB,KAAKD,KAAK6E,eAAgB,CAC1B,IAAIU,EAAOnE,EAAMoE,cAAcC,yBAC3BrE,EAAMsE,EAAIH,EAAKI,KAAOJ,EAAKK,OAASxE,EAAMsE,EAAIH,EAAKI,MAAQvE,EAAMyE,GAAKC,KAAKC,MAAMR,EAAKS,IAAMT,EAAKU,SAAW7E,EAAMyE,EAAIN,EAAKS,OAC5H/F,KAAKmF,eAAgB,KAKhCrF,EAAAG,UAAAgG,UAAA,SAAU9E,GACN,IAAM+E,EAAgC/E,EAAMgF,OAAQC,cAAcA,cAElE,KAA6B,eAAzBF,EAAYG,UAA8BrG,KAAKD,KAAKuG,aAAwF,UAAzEtG,KAAKD,KAAKuG,YAAYC,mBAAmBC,cAAcC,MAAMC,SAIpI,OAAQvF,EAAMW,OAEV,KAAK,GACD,IAAM6E,EAAe3G,KAAKD,KAAmB,eAAImG,EAAYtF,SAAS,GAAGA,SAAS,GAAKsF,EAAYtF,SAAS,GAAGA,SAAS,GACxH,GAAI+F,GAAeA,EAAY/F,SAAS7B,OAAS,EAC7CiB,KAAK4G,UAAUD,EAAY/F,SAAS,QAEnC,CACD,IAAMiG,EAAkBX,EAAYY,mBACpC,GAAID,EACA7G,KAAK4G,UAAUC,OAEd,CACD,IAAIE,EAAsB/G,KAAKgH,0BAA0Bd,GACrDa,GACA/G,KAAK4G,UAAUG,IAK3B5F,EAAMkB,iBACV,MAGA,KAAK,GACD,GAAI6D,EAAYe,uBACZjH,KAAK4G,UAAU5G,KAAKkH,0BAA0BhB,EAAYe,8BAGtDE,EAAoBnH,KAAKoH,qBAAqBlB,KAE9ClG,KAAK4G,UAAUO,GAIvBhG,EAAMkB,iBACV,MAGA,KAAK,GACIrC,KAAKG,KAAKQ,UAAaX,KAAKD,KAAKkB,WAAWjB,KAAKG,OAClDH,KAAKqB,OAAOF,GAGhBA,EAAMkB,iBACV,MAGA,KAAK,GAKG,IAAI8E,EAJR,GAAInH,KAAKG,KAAKQ,SACVX,KAAKoB,SAASD,QAGVgG,EAAoBnH,KAAKoH,qBAAqBlB,KAE9ClG,KAAK4G,UAAUO,GAIvBhG,EAAMkB,iBACV,MAGA,KAAK,GACDrC,KAAKD,KAAK6B,YAAYT,EAAOnB,KAAKG,MAClCgB,EAAMkB,mBASlBvC,EAAAG,UAAA+G,0BAAA,SAA0Bd,GACtB,IAAIiB,EAAoBnH,KAAKoH,qBAAqBlB,GAClD,OAAIiB,EACIA,EAAkBL,mBACXK,EAAkBL,mBAElB9G,KAAKgH,0BAA0BG,GAGnC,MAIfrH,EAAAG,UAAAiH,0BAAA,SAA0BhB,GACtB,IACMmB,EAD4BC,MAAMC,KAAKrB,EAAYtF,UAAU4G,MAAK,SAAAC,GAAM,OAAAC,EAAAA,WAAWC,SAASF,EAAI,iBAC9D7G,SAAS,GACjD,GAAIyG,GAAuBA,EAAoBzG,SAAS7B,OAAS,EAAG,CAChE,IAAM6I,EAAmBP,EAAoBzG,SAASyG,EAAoBzG,SAAS7B,OAAS,GAE5F,OAAOiB,KAAKkH,0BAA0BU,GAGtC,OAAO1B,GAIfpG,EAAAG,UAAAmH,qBAAA,SAAqBlB,GACjB,IAAMiB,EAAoBjB,EAAYE,cAAcA,cAAcA,cAElE,MAAqC,eAA9Be,EAAkBU,QAA2BV,EAAoB,MAG5ErH,EAAAG,UAAA2G,UAAA,SAAUkB,GACF9H,KAAKD,KAAK6E,eACVkD,EAAQlH,SAAS,GAAGA,SAAS,GAAGmH,QAEhCD,EAAQlH,SAAS,GAAGA,SAAS,GAAGmH,cA5ZjCjI,EAAAiB,WAAqB,uCA9E/BiH,EAAAA,UAASC,KAAA,CAAC,CACPC,SAAU,aACVC,SAAU,+3MAwEVC,cAAeC,EAAAA,kBAAkBC,2EA0BpBC,EAAAA,OAAMN,KAAA,CAACO,EAAAA,YAAW,WAAM,OAAAC,4CApBpCC,EAAAA,oBAEAA,EAAAA,0BAEAA,EAAAA,oBAEAA,EAAAA,qBAEAA,EAAAA,0BAEAA,EAAAA,yBAEAA,EAAAA,qBAEAA,EAAAA,2BAEAA,EAAAA,0BA2iBD,SAAAD,EAAmBhB,EAAmC9D,GAAnC3D,KAAAyH,GAAAA,EAAmCzH,KAAA2D,gBAAAA,EAtG5C3D,KAAA2I,gBAAqC,IAAIC,EAAAA,aAEzC5I,KAAA6I,aAAkC,IAAID,EAAAA,aAEtC5I,KAAA8I,eAAoC,IAAIF,EAAAA,aAExC5I,KAAAwB,aAAkC,IAAIoH,EAAAA,aAEtC5I,KAAA2B,eAAoC,IAAIiH,EAAAA,aAExC5I,KAAA+I,wBAA6C,IAAIH,EAAAA,aAEjD5I,KAAAiD,WAAgC,IAAI2F,EAAAA,aAQrC5I,KAAAgJ,OAAiB,WAUjBhJ,KAAAiJ,kBAA4B,EAE5BjJ,KAAAkJ,sBAAgC,EAEhClJ,KAAAmJ,wBAAkC,EAIlCnJ,KAAAoJ,YAAsB,gBAEtBpJ,KAAAqJ,aAAuB,mBAUvBrJ,KAAAsJ,SAAmB,QAEnBtJ,KAAAuJ,WAAqB,UAgBrBvJ,KAAAwJ,YAAsB,IAEtBxJ,KAAAyJ,QAAoB,SAAC9G,EAAe+G,GAAc,OAAAA,GAEjD1J,KAAA2J,SAA8B,IAAIf,EAAAA,oBAgC5CH,EAAAxI,UAAAC,SAAA,WAAA,IAAAkC,EAAApC,KACQA,KAAK4E,iBACL5E,KAAK4J,sBAAwB5J,KAAK2D,gBAAgBkG,WAAWC,WAC3D,SAAA3I,GACEiB,EAAKM,aAAevB,EAAMpB,KAC1BqC,EAAKE,SAAWnB,EAAMhB,KACtBiC,EAAKqB,iBAAmBtC,EAAM0C,SAC9BzB,EAAKG,cAAgBpB,EAAMwB,MAC3BP,EAAKI,cAAgBrB,EAAMqD,SAG/BxE,KAAK+J,qBAAuB/J,KAAK2D,gBAAgBqG,UAAUF,WACzD,SAAA3I,GACEiB,EAAKM,aAAe,KACpBN,EAAKE,SAAW,KAChBF,EAAKqB,iBAAmB,KACxBrB,EAAKG,cAAgB,KACrBH,EAAKI,cAAgB,KACrBJ,EAAK6H,WAAY,OAK7BxB,EAAAxI,UAAAiK,YAAA,SAAYC,GACJA,EAAalL,OACbe,KAAKuB,wBAGL4I,EAAaC,cAAgBpK,KAAKqK,mBAClCrK,KAAKqK,kBAAkBnK,YAI/B7B,OAAAiM,eAAI7B,EAAAxI,UAAA,aAAU,KAAd,WACI,MAAsB,cAAfD,KAAKgJ,wCAGhBP,EAAAxI,UAAAsK,mBAAA,WAAA,IAAAnI,EAAApC,KACQA,KAAKwK,UAAUzL,SACfiB,KAAKyK,YAAc,IAGvBzK,KAAKwK,UAAUE,SAAQ,SAAChB,GACpBtH,EAAKqI,YAAYf,EAAKiB,MAAQjB,EAAKvB,aAI3CM,EAAAxI,UAAAsB,sBAAA,WACIvB,KAAK4K,gBAAkB,GACvB5K,KAAK6K,eAAe,KAAM7K,KAAK8K,cAAe,GAAG,IAGrDrC,EAAAxI,UAAA4K,eAAA,SAAezK,EAAQ2K,EAAOC,EAAOC,WACjC,GAAIF,GAASA,EAAMhM,WACf,IAAgB,IAAAmM,EAAA3M,EAAAwM,GAAKI,EAAAD,EAAAlM,QAAAmM,EAAAjM,KAAAiM,EAAAD,EAAAlM,OAAE,CAAnB,IAAImB,EAAIgL,EAAAlM,MACRkB,EAAKC,OAASA,EACd,IAAMgL,EAAU,CACZjL,KAAMA,EACNC,OAAQA,EACR4K,MAAOA,EACPC,QAASA,KAAY7K,GAASA,EAAOO,WAEzCX,KAAK4K,gBAAgBnL,KAAK2L,GAEtBA,EAAQH,SAAW9K,EAAKQ,UACxBX,KAAK6K,eAAe1K,EAAMA,EAAKS,SAAUoK,EAAQ,EAAGI,EAAQH,6GAM5ExC,EAAAxI,UAAA2B,YAAA,SAAYT,EAAOhB,GACf,IAAIkL,EAAyBlK,EAAMgF,OAEnC,IAAIuB,EAAAA,WAAWC,SAAS0D,EAAa,oBAAqB3D,EAAAA,WAAWC,SAAS0D,EAAa,uBAA3F,CAGK,GAAIrL,KAAKsL,cAAe,CACzB,IAAwB,IAApBnL,EAAKoL,WACL,OAGJ,GAAIvL,KAAKwL,sBACLrL,EAAOH,KAAKO,eAAeJ,EAAKK,IAAKR,KAAKf,QAGtC,OAIR,IAAIwM,EAAQzL,KAAK0L,qBAAqBvL,GAClCwL,EAAYF,GAAS,EAEzB,GAAIzL,KAAK4L,0BACDD,GACI3L,KAAKmJ,uBACLnJ,KAAK6L,cAAc1L,GAAM,GAEzBH,KAAK8L,UAAY9L,KAAK8L,UAAUC,QAAO,SAACC,EAAInN,GAAM,OAAAA,GAAG4M,KAErDzL,KAAKkJ,sBAAwB/I,EAAKC,QAClCJ,KAAKiM,YAAY9L,EAAKC,QAAQ,GAGlCJ,KAAK2I,gBAAgBlH,KAAKzB,KAAK8L,WAC/B9L,KAAK8I,eAAerH,KAAK,CAACC,cAAeP,EAAOhB,KAAMA,MAGlDH,KAAKmJ,uBACLnJ,KAAK6L,cAAc1L,GAAM,GAEzBH,KAAK8L,UAASnM,EAAOK,KAAK8L,WAAW,GAAE,CAAC3L,IAExCH,KAAKkJ,sBAAwB/I,EAAKC,QAClCJ,KAAKiM,YAAY9L,EAAKC,QAAQ,GAGlCJ,KAAK2I,gBAAgBlH,KAAKzB,KAAK8L,WAC/B9L,KAAK6I,aAAapH,KAAK,CAACC,cAAeP,EAAOhB,KAAMA,UAMxD,IAFoBH,KAAKkM,aAAsBlM,KAAKiJ,iBAEjC,CACf,IAAIkD,EAAWhL,EAAMgL,SAAShL,EAAMiL,QAEhCT,GAAYQ,GACRnM,KAAKqM,wBACLrM,KAAK2I,gBAAgBlH,KAAK,OAG1BzB,KAAK8L,UAAY9L,KAAK8L,UAAUC,QAAO,SAACC,EAAInN,GAAM,OAAAA,GAAG4M,KACrDzL,KAAK2I,gBAAgBlH,KAAKzB,KAAK8L,YAGnC9L,KAAK8I,eAAerH,KAAK,CAACC,cAAeP,EAAOhB,KAAMA,MAGlDH,KAAKqM,wBACLrM,KAAK2I,gBAAgBlH,KAAKtB,GAErBH,KAAKsM,4BACVtM,KAAK8L,UAAcK,GAAgBnM,KAAK8L,WAAV,GAC9B9L,KAAK8L,UAASnM,EAAOK,KAAK8L,UAAS,CAAC3L,IACpCH,KAAK2I,gBAAgBlH,KAAKzB,KAAK8L,YAGnC9L,KAAK6I,aAAapH,KAAK,CAACC,cAAeP,EAAOhB,KAAMA,UAIpDH,KAAKqM,wBACDV,GACA3L,KAAK8L,UAAY,KACjB9L,KAAK8I,eAAerH,KAAK,CAACC,cAAeP,EAAOhB,KAAMA,MAGtDH,KAAK8L,UAAY3L,EACjBH,KAAK6I,aAAapH,KAAK,CAACC,cAAeP,EAAOhB,KAAMA,KAIpDwL,GACA3L,KAAK8L,UAAY9L,KAAK8L,UAAUC,QAAO,SAACC,EAAInN,GAAM,OAAAA,GAAG4M,KACrDzL,KAAK8I,eAAerH,KAAK,CAACC,cAAeP,EAAOhB,KAAMA,MAGtDH,KAAK8L,UAASnM,EAAOK,KAAK8L,WAAW,GAAE,CAAC3L,IACxCH,KAAK6I,aAAapH,KAAK,CAACC,cAAeP,EAAOhB,KAAMA,KAI5DH,KAAK2I,gBAAgBlH,KAAKzB,KAAK8L,WAK3C9L,KAAKkM,aAAc,IAGvBzD,EAAAxI,UAAA8B,eAAA,WACI/B,KAAKkM,aAAc,GAGvBzD,EAAAxI,UAAA+B,iBAAA,SAAiBb,EAAmBhB,GAChC,GAAIH,KAAKsG,YAAa,CAClB,IAAI+E,EAAyBlK,EAAMgF,OAEnC,GAAIkF,EAAYkB,WAAiE,IAApDlB,EAAYkB,UAAUC,QAAQ,kBACvD,OAGYxM,KAAK0L,qBAAqBvL,IACb,IAGjBH,KAAKqM,wBACLrM,KAAK2I,gBAAgBlH,KAAKtB,GAE1BH,KAAK2I,gBAAgBlH,KAAK,CAACtB,KAGnCH,KAAKsG,YAAYmG,KAAKtL,GACtBnB,KAAK+I,wBAAwBtH,KAAK,CAACC,cAAeP,EAAOhB,KAAMA,MAK3EsI,EAAAxI,UAAAyL,qBAAA,SAAqBvL,GACjB,IAAIwC,GAAiB,EAErB,GAAI3C,KAAKsL,eAAiBtL,KAAK8L,UAC3B,GAAI9L,KAAKqM,wBAEL1J,EADqB3C,KAAK8L,UAAUtL,KAAOR,KAAK8L,UAAUtL,MAAQL,EAAKK,KAAQR,KAAK8L,WAAa3L,EACzE,GAAM,OAG9B,IAAI,IAAItB,EAAI,EAAGA,EAAKmB,KAAK8L,UAAU/M,OAAQF,IAAK,CAC5C,IAAI6N,EAAe1M,KAAK8L,UAAUjN,GAElC,GADqB6N,EAAalM,KAAOkM,EAAalM,MAAQL,EAAKK,KAAQkM,GAAgBvM,EACxE,CACfwC,EAAQ9D,EACR,OAMhB,OAAO8D,GAGX8F,EAAAxI,UAAAK,eAAA,SAAeH,EAAMwM,EAAaC,EAAQ3N,GAEtC,IAAM4N,EAAQ7M,KAAKwL,mBAAqBxL,KAAKO,eAAeJ,EAAKK,IAAKmM,GAAe,KACjFE,IACAA,EAAMD,GAAU3N,GAAOkB,EAAKyM,KAIpCnE,EAAAxI,UAAAuL,iBAAA,WACI,OAAOxL,KAAK+L,QAAU/L,KAAK8M,eAAiB9M,KAAK8M,cAAc/N,QAGnE0J,EAAAxI,UAAAM,eAAA,SAAeC,EAAauK,eACxB,IAAiB,IAAAgC,EAAAxO,EAAAwM,GAAKiC,EAAAD,EAAA/N,QAAAgO,EAAA9N,KAAA8N,EAAAD,EAAA/N,OAAE,CAAnB,IAAImB,EAAI6M,EAAA/N,MACT,GAAIkB,EAAKK,MAAQA,EACb,OAAOL,EAGX,GAAIA,EAAKS,SAAU,CACf,IAAIqM,EAAcjN,KAAKO,eAAeC,EAAKL,EAAKS,UAChD,GAAIqM,EACA,OAAOA,uGAMvBxE,EAAAxI,UAAAgM,YAAA,SAAY9L,EAAgB+M,WACxB,GAAI/M,EAAKS,UAAYT,EAAKS,SAAS7B,OAAQ,CACvC,IAAIoO,EAAwB,EACxBC,GAAgC,MACpC,IAAiB,IAAAC,EAAA9O,EAAA4B,EAAKS,UAAQ0M,EAAAD,EAAArO,QAAAsO,EAAApO,KAAAoO,EAAAD,EAAArO,OAAE,CAA5B,IAAIuO,EAAKD,EAAArO,MACLe,KAAKiC,WAAWsL,GAChBJ,IAEKI,EAAMC,kBACXJ,GAAuB,qGAI/B,GAAIF,GAAUC,GAAiBhN,EAAKS,SAAS7B,OACzCiB,KAAK8L,UAASnM,EAAOK,KAAK8L,WAAW,GAAE,CAAC3L,IACxCA,EAAKqN,iBAAkB,MAEtB,CACD,IAAKN,EAAQ,CACT,IAAIO,EAAQzN,KAAK0L,qBAAqBvL,GAClCsN,GAAS,IACTzN,KAAK8L,UAAY9L,KAAK8L,UAAUC,QAAO,SAACC,EAAInN,GAAM,OAAAA,GAAG4O,MAIzDL,GAAwBD,EAAgB,GAAKA,GAAiBhN,EAAKS,SAAS7B,OAC5EoB,EAAKqN,iBAAkB,EAEvBrN,EAAKqN,iBAAkB,EAG/BxN,KAAKM,eAAeH,EAAMH,KAAK8M,cAAe,mBAGlD,IAAI1M,EAASD,EAAKC,OACdA,GACAJ,KAAKiM,YAAY7L,EAAQ8M,IAIjCzE,EAAAxI,UAAA4L,cAAA,SAAc1L,EAAgB+M,WACtBvK,EAAQ3C,KAAK0L,qBAAqBvL,GAatC,GAXI+M,IAAoB,GAAVvK,EACV3C,KAAK8L,UAASnM,EAAOK,KAAK8L,WAAW,GAAE,CAAC3L,KAElC+M,GAAUvK,GAAS,IACzB3C,KAAK8L,UAAY9L,KAAK8L,UAAUC,QAAO,SAACC,EAAInN,GAAM,OAAAA,GAAG8D,MAGzDxC,EAAKqN,iBAAkB,EAEvBxN,KAAKM,eAAeH,EAAMH,KAAK8M,cAAe,mBAE1C3M,EAAKS,UAAYT,EAAKS,SAAS7B,WAC/B,IAAiB,IAAAsO,EAAA9O,EAAA4B,EAAKS,UAAQ0M,EAAAD,EAAArO,QAAAsO,EAAApO,KAAAoO,EAAAD,EAAArO,OAAE,CAA5B,IAAIuO,EAAKD,EAAArO,MACTe,KAAK6L,cAAc0B,EAAOL,uGAKtCzE,EAAAxI,UAAAgC,WAAA,SAAW9B,GACP,OAA2C,GAApCH,KAAK0L,qBAAqBvL,IAGrCsI,EAAAxI,UAAAoM,sBAAA,WACI,OAAOrM,KAAKsL,eAAuC,UAAtBtL,KAAKsL,eAGtC7C,EAAAxI,UAAAqM,wBAAA,WACI,OAAOtM,KAAKsL,eAAuC,YAAtBtL,KAAKsL,eAGtC7C,EAAAxI,UAAA2L,wBAAA,WACI,OAAO5L,KAAKsL,eAAuC,YAAtBtL,KAAKsL,eAGtC7C,EAAAxI,UAAAgB,WAAA,SAAWd,GACP,OAAoB,GAAbA,EAAKuN,QAA0BvN,EAAKS,UAAYT,EAAKS,SAAS7B,SAGzE0J,EAAAxI,UAAA6K,YAAA,WACI,OAAO9K,KAAK8M,cAAgB9M,KAAK8M,cAAgB9M,KAAKf,OAG1DwJ,EAAAxI,UAAA0N,mBAAA,SAAmBxN,GACf,OAAIH,KAAKyK,YACEtK,EAAKyN,KAAO5N,KAAKyK,YAAYtK,EAAKyN,MAAQ5N,KAAKyK,YAAqB,QAEpE,MAGfhC,EAAAxI,UAAA4N,WAAA,SAAW1M,IACHnB,KAAK4E,gBAAoB5E,KAAKf,OAA+B,IAAtBe,KAAKf,MAAMF,SAClDoC,EAAM4C,aAAaC,WAAa,OAChC7C,EAAMkB,mBAIdoG,EAAAxI,UAAA6N,OAAA,SAAO3M,GACH,GAAInB,KAAK4E,kBAAoB5E,KAAKf,OAA+B,IAAtBe,KAAKf,MAAMF,QAAe,CACjEoC,EAAMkB,iBACN,IAAIC,EAAWtC,KAAKsC,SACpB,GAAItC,KAAK4C,UAAUN,EAAU,KAAMtC,KAAKwC,eAAgB,CACpD,IAAID,EAAgBvC,KAAKuC,cACzBvC,KAAKyD,iBAAiBC,OAAOnB,EAAe,GAC5CvC,KAAKf,MAAQe,KAAKf,OAAO,GACzBe,KAAKf,MAAMQ,KAAK6C,GAEhBtC,KAAK2D,gBAAgBC,SAAS,CAC1BzD,KAAMmC,OAMtBmG,EAAAxI,UAAA8N,YAAA,SAAY5M,GACJnB,KAAK4E,gBAAkB5E,KAAK4C,UAAU5C,KAAKsC,SAAU,KAAMtC,KAAKwC,iBAChExC,KAAKiK,WAAY,IAIzBxB,EAAAxI,UAAA+N,YAAA,SAAY7M,GACR,GAAInB,KAAK4E,eAAgB,CACrB,IAAIU,EAAOnE,EAAMoE,cAAcC,yBAC3BrE,EAAMsE,EAAIH,EAAKI,KAAOJ,EAAKK,OAASxE,EAAMsE,EAAIH,EAAKI,MAAQvE,EAAMyE,EAAIN,EAAKS,IAAMT,EAAKU,QAAU7E,EAAMyE,EAAIN,EAAKS,OAC/G/F,KAAKiK,WAAY,KAK5BxB,EAAAxI,UAAA2C,UAAA,SAAUN,EAAoBY,EAAoBV,GAC9C,GAAKF,EAIA,CAAA,GAAItC,KAAKiO,iBAAiBzL,GAAgB,CAC3C,IAAI0L,GAAiB,EACrB,GAAIhL,EACA,GAAIZ,IAAaY,EACbgL,GAAQ,OAIR,IADA,IAAI9N,EAAS8C,EAAS9C,OACN,MAAVA,GAAgB,CAClB,GAAIA,IAAWkC,EAAU,CACrB4L,GAAQ,EACR,MAEJ9N,EAASA,EAAOA,OAK5B,OAAO8N,EAGP,OAAO,EAvBP,OAAO,GA2BfzF,EAAAxI,UAAAgO,iBAAA,SAAiBE,eACTC,EAAYpO,KAAKqO,eAErB,GAAID,EAAW,CACX,GAAyB,iBAAdA,EAAwB,CAC/B,GAAyB,iBAAdD,EACP,OAAOC,IAAcD,EACpB,GAAIA,aAAqB7G,MAC1B,OAAsD,GAAlC6G,EAAW3B,QAAQ4B,QAE1C,GAAIA,aAAqB9G,MAAO,CACjC,GAAyB,iBAAd6G,EACP,OAAsD,GAAlCC,EAAW5B,QAAQ2B,GAEtC,GAAIA,aAAqB7G,UAC1B,IAAa,IAAAgH,EAAA/P,EAAA6P,GAASG,EAAAD,EAAAtP,QAAAuP,EAAArP,KAAAqP,EAAAD,EAAAtP,OAAE,CAApB,IAAIP,EAAC8P,EAAAtP,UACL,IAAc,IAAAuP,GAAAC,OAAA,EAAAlQ,EAAA4P,IAASO,EAAAF,EAAAxP,QAAA0P,EAAAxP,KAAAwP,EAAAF,EAAAxP,OAAE,CACrB,GAAIP,IADEiQ,EAAAzP,MAEF,OAAO,wMAM3B,OAAO,EAGP,OAAO,GAIfwJ,EAAAxI,UAAA0O,QAAA,SAAQxN,WACAyN,EAAczN,EAAMgF,OAAOlH,MAC/B,GAAoB,KAAhB2P,EACA5O,KAAK8M,cAAgB,SAEpB,CACD9M,KAAK8M,cAAgB,GACrB,IAAM+B,EAAyB7O,KAAKsJ,SAASwF,MAAM,KAC7CC,EAAaC,EAAAA,YAAYC,cAAcL,GAAaM,kBAAkBlP,KAAKmP,cAC3EC,EAAmC,WAApBpP,KAAKuJ,eAC1B,IAAgB,IAAA8D,EAAA9O,EAAAyB,KAAKf,OAAKqO,EAAAD,EAAArO,QAAAsO,EAAApO,KAAAoO,EAAAD,EAAArO,OAAE,CAAxB,IAAImB,EAAImN,EAAArO,MACJoQ,EAAQhR,OAAAyE,OAAA,GAAO3C,GACfmP,EAAoB,CAACT,aAAYA,EAAEE,WAAUA,EAAEK,aAAYA,IAC1DA,IAAiBpP,KAAKuP,kBAAkBF,EAAUC,IAAsBtP,KAAKwP,gBAAgBH,EAAUC,MACtGF,IAAiBpP,KAAKwP,gBAAgBH,EAAUC,IAAsBtP,KAAKuP,kBAAkBF,EAAUC,MACzGtP,KAAK8M,cAAcrN,KAAK4P,sGAKpCrP,KAAKuB,wBACLvB,KAAK2J,SAASlI,KAAK,CACfsK,OAAQ6C,EACRa,cAAezP,KAAK8M,iBAI5BrE,EAAAxI,UAAAsP,kBAAA,SAAkBpP,EAAMmP,WACpB,GAAInP,EAAM,CACN,IAAIuP,GAAU,EACd,GAAIvP,EAAKS,SAAU,CACf,IAAI+O,EAAUhQ,EAAOQ,EAAKS,UAC1BT,EAAKS,SAAW,OAChB,IAAsB,IAAAgP,EAAArR,EAAAoR,GAAUE,EAAAD,EAAA5Q,QAAA6Q,EAAA3Q,KAAA2Q,EAAAD,EAAA5Q,OAAE,CAA7B,IAAI8Q,EAASD,EAAA5Q,MACV8Q,EAAa1R,OAAAyE,OAAA,GAAOgN,GACpB9P,KAAKwP,gBAAgBO,EAAeT,KACpCI,GAAU,EACVvP,EAAKS,SAASnB,KAAKsQ,uGAK/B,GAAIL,EAEA,OADAvP,EAAKQ,UAAW,GACT,IAKnB8H,EAAAxI,UAAAuP,gBAAA,SAAgBrP,EAAM6P,WAACnB,EAAYmB,EAAAnB,aAAEE,EAAUiB,EAAAjB,WAAEK,EAAYY,EAAAZ,aACrDM,GAAU,MACd,IAAiB,IAAAO,EAAA1R,EAAAsQ,GAAYqB,EAAAD,EAAAjR,QAAAkR,EAAAhR,KAAAgR,EAAAD,EAAAjR,OAAE,CAA3B,IAAImR,EAAKD,EAAAjR,MACQ+P,EAAAA,YAAYC,cAAcmB,OAAOpB,EAAAA,YAAYqB,iBAAiBlQ,EAAMgQ,KAASjB,kBAAkBlP,KAAKmP,cACtG3C,QAAQuC,IAAe,IAClCW,GAAU,qGAQlB,QAJKA,GAAYN,IAAiBpP,KAAKiB,WAAWd,MAC9CuP,EAAU1P,KAAKuP,kBAAkBpP,EAAM,CAAC0O,aAAYA,EAAEE,WAAUA,EAAEK,aAAYA,KAAMM,GAGjFA,GAGXjH,EAAAxI,UAAAqQ,oBAAA,WACE,OAAOtQ,KAAKyH,GAAGjB,cAAc5F,SAAS,IAGxC6H,EAAAxI,UAAAsQ,YAAA,WACQvQ,KAAK4J,uBACL5J,KAAK4J,sBAAsB4G,cAG3BxQ,KAAK+J,sBACL/J,KAAK+J,qBAAqByG,wCA7qBrCxI,EAAAA,UAASC,KAAA,CAAC,CACPC,SAAU,SACVC,SAAU,i2GAyCVsI,gBAAiBC,EAAAA,wBAAwBC,QACzCvI,cAAeC,EAAAA,kBAAkBC,oyoCAxiBYsI,EAAAA,kBAOzCC,EAAAA,oBAAmBC,WAAA,CAAA,CAAAlD,KAkpBamD,EAAAA,6CA5GnCrI,EAAAA,6BAEAA,EAAAA,yBAEAA,EAAAA,+BAEAsI,EAAAA,6BAEAA,EAAAA,+BAEAA,EAAAA,6BAEAA,EAAAA,+BAEAA,EAAAA,wCAEAA,EAAAA,2BAEAA,EAAAA,sBAEAtI,EAAAA,0BAEAA,EAAAA,2BAEAA,EAAAA,sBAEAA,EAAAA,8BAEAA,EAAAA,8BAEAA,EAAAA,8BAEAA,EAAAA,8BAEAA,EAAAA,gCAEAA,EAAAA,oCAEAA,EAAAA,sCAEAA,EAAAA,uBAEAA,EAAAA,2BAEAA,EAAAA,4BAEAA,EAAAA,yBAEAA,EAAAA,8BAEAA,EAAAA,4BAEAA,EAAAA,sBAEAA,EAAAA,wBAEAA,EAAAA,0BAEAA,EAAAA,iCAEAA,EAAAA,4BAEAA,EAAAA,4BAEAA,EAAAA,6BAEAA,EAAAA,iCAEAA,EAAAA,2BAEAA,EAAAA,2BAEAA,EAAAA,2BAEAA,EAAAA,uBAEAA,EAAAA,wBAEAsI,EAAAA,0BAEAC,EAAAA,gBAAehJ,KAAA,CAACiJ,EAAAA,0CAEhBC,EAAAA,UAASlJ,KAAA,CAACmJ,EAAAA,mCAmjBf,iCALCC,EAAAA,SAAQpJ,KAAA,CAAC,CACNqJ,QAAS,CAACC,EAAAA,aAAaC,EAAAA,gBAAgBC,EAAAA,cACvCC,QAAS,CAACjJ,EAAKkJ,EAAAA,aAAaH,EAAAA,iBAC5BI,aAAc,CAACnJ,EAAK3I","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 {NgModule,Component,Input,AfterContentInit,OnDestroy,Output,EventEmitter,OnInit,OnChanges,\n ContentChildren,QueryList,TemplateRef,Inject,ElementRef,forwardRef,ChangeDetectionStrategy,SimpleChanges, ViewEncapsulation, ViewChild} from '@angular/core';\nimport {CdkVirtualScrollViewport, ScrollingModule} from '@angular/cdk/scrolling';\nimport {Optional} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {TreeNode} from 'primeng/api';\nimport {SharedModule} from 'primeng/api';\nimport {PrimeTemplate} from 'primeng/api';\nimport {TreeDragDropService} from 'primeng/api';\nimport {Subscription} from 'rxjs';\nimport {BlockableUI} from 'primeng/api';\nimport {ObjectUtils} from 'primeng/utils';\nimport {DomHandler} from 'primeng/dom';\nimport {RippleModule} from 'primeng/ripple';\n\n@Component({\n selector: 'p-treeNode',\n template: `\n <ng-template [ngIf]=\"node\">\n <li *ngIf=\"tree.droppableNodes\" class=\"p-treenode-droppoint\" [ngClass]=\"{'p-treenode-droppoint-active':draghoverPrev}\"\n (drop)=\"onDropPoint($event,-1)\" (dragover)=\"onDropPointDragOver($event)\" (dragenter)=\"onDropPointDragEnter($event,-1)\" (dragleave)=\"onDropPointDragLeave($event)\"></li>\n <li *ngIf=\"!tree.horizontal\" [ngClass]=\"['p-treenode',node.styleClass||'', isLeaf() ? 'p-treenode-leaf': '']\">\n <div class=\"p-treenode-content\" [style.paddingLeft]=\"(level * indentation) + 'rem'\" (click)=\"onNodeClick($event)\" (contextmenu)=\"onNodeRightClick($event)\" (touchend)=\"onNodeTouchEnd()\"\n (drop)=\"onDropNode($event)\" (dragover)=\"onDropNodeDragOver($event)\" (dragenter)=\"onDropNodeDragEnter($event)\" (dragleave)=\"onDropNodeDragLeave($event)\"\n [draggable]=\"tree.draggableNodes\" (dragstart)=\"onDragStart($event)\" (dragend)=\"onDragStop($event)\" [attr.tabindex]=\"0\"\n [ngClass]=\"{'p-treenode-selectable':tree.selectionMode && node.selectable !== false,'p-treenode-dragover':draghoverNode, 'p-highlight':isSelected()}\" role=\"treeitem\"\n (keydown)=\"onKeyDown($event)\" [attr.aria-posinset]=\"this.index + 1\" [attr.aria-expanded]=\"this.node.expanded\" [attr.aria-selected]=\"isSelected()\" [attr.aria-label]=\"node.label\">\n <button type=\"button\" class=\"p-tree-toggler p-link\" (click)=\"toggle($event)\" pRipple tabindex=\"-1\">\n <span class=\"p-tree-toggler-icon pi pi-fw\" [ngClass]=\"{'pi-chevron-right':!node.expanded,'pi-chevron-down':node.expanded}\"></span>\n </button>\n <div class=\"p-checkbox p-component\" [ngClass]=\"{'p-checkbox-disabled': node.selectable === false}\" *ngIf=\"tree.selectionMode == 'checkbox'\" [attr.aria-checked]=\"isSelected()\">\n <div class=\"p-checkbox-box\" [ngClass]=\"{'p-highlight': isSelected(), 'p-indeterminate': node.partialSelected}\">\n <span class=\"p-checkbox-icon pi\" [ngClass]=\"{'pi-check':isSelected(),'pi-minus':node.partialSelected}\"></span>\n </div>\n </div>\n <span [class]=\"getIcon()\" *ngIf=\"node.icon||node.expandedIcon||node.collapsedIcon\"></span>\n <span class=\"p-treenode-label\">\n <span *ngIf=\"!tree.getTemplateForNode(node)\">{{node.label}}</span>\n <span *ngIf=\"tree.getTemplateForNode(node)\">\n <ng-container *ngTemplateOutlet=\"tree.getTemplateForNode(node); context: {$implicit: node}\"></ng-container>\n </span>\n </span>\n </div>\n <ul class=\"p-treenode-children\" style=\"display: none;\" *ngIf=\"!tree.virtualScroll && node.children && node.expanded\" [style.display]=\"node.expanded ? 'block' : 'none'\" role=\"group\">\n <p-treeNode *ngFor=\"let childNode of node.children;let firstChild=first;let lastChild=last; let index=index; trackBy: tree.trackBy\" [node]=\"childNode\" [parentNode]=\"node\"\n [firstChild]=\"firstChild\" [lastChild]=\"lastChild\" [index]=\"index\" [style.height.px]=\"tree.virtualNodeHeight\" [level]=\"level + 1\"></p-treeNode>\n </ul>\n </li>\n <li *ngIf=\"tree.droppableNodes&&lastChild\" class=\"p-treenode-droppoint\" [ngClass]=\"{'p-treenode-droppoint-active':draghoverNext}\"\n (drop)=\"onDropPoint($event,1)\" (dragover)=\"onDropPointDragOver($event)\" (dragenter)=\"onDropPointDragEnter($event,1)\" (dragleave)=\"onDropPointDragLeave($event)\"></li>\n <table *ngIf=\"tree.horizontal\" [class]=\"node.styleClass\">\n <tbody>\n <tr>\n <td class=\"p-treenode-connector\" *ngIf=\"!root\">\n <table class=\"p-treenode-connector-table\">\n <tbody>\n <tr>\n <td [ngClass]=\"{'p-treenode-connector-line':!firstChild}\"></td>\n </tr>\n <tr>\n <td [ngClass]=\"{'p-treenode-connector-line':!lastChild}\"></td>\n </tr>\n </tbody>\n </table>\n </td>\n <td class=\"p-treenode\" [ngClass]=\"{'p-treenode-collapsed':!node.expanded}\">\n <div class=\"p-treenode-content\" tabindex=\"0\" [ngClass]=\"{'p-treenode-selectable':tree.selectionMode,'p-highlight':isSelected()}\" (click)=\"onNodeClick($event)\" (contextmenu)=\"onNodeRightClick($event)\"\n (touchend)=\"onNodeTouchEnd()\" (keydown)=\"onNodeKeydown($event)\">\n <span class=\"p-tree-toggler pi pi-fw\" [ngClass]=\"{'pi-plus':!node.expanded,'pi-minus':node.expanded}\" *ngIf=\"!isLeaf()\" (click)=\"toggle($event)\"></span>\n <span [class]=\"getIcon()\" *ngIf=\"node.icon||node.expandedIcon||node.collapsedIcon\"></span>\n <span class=\"p-treenode-label\">\n <span *ngIf=\"!tree.getTemplateForNode(node)\">{{node.label}}</span>\n <span *ngIf=\"tree.getTemplateForNode(node)\">\n <ng-container *ngTemplateOutlet=\"tree.getTemplateForNode(node); context: {$implicit: node}\"></ng-container>\n </span>\n </span>\n </div>\n </td>\n <td class=\"p-treenode-children-container\" *ngIf=\"node.children && node.expanded\" [style.display]=\"node.expanded ? 'table-cell' : 'none'\">\n <div class=\"p-treenode-children\">\n <p-treeNode *ngFor=\"let childNode of node.children;let firstChild=first;let lastChild=last; trackBy: tree.trackBy\" [node]=\"childNode\"\n [firstChild]=\"firstChild\" [lastChild]=\"lastChild\"></p-treeNode>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n </ng-template>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class UITreeNode implements OnInit {\n\n static ICON_CLASS: string = 'p-treenode-icon ';\n\n @Input() rowNode: any;\n\n @Input() node: TreeNode;\n\n @Input() parentNode: TreeNode;\n\n @Input() root: boolean;\n\n @Input() index: number;\n\n @Input() firstChild: boolean;\n\n @Input() lastChild: boolean;\n\n @Input() level: number;\n\n @Input() indentation: number;\n\n tree: Tree;\n\n constructor(@Inject(forwardRef(() => Tree)) tree) {\n this.tree = tree as Tree;\n }\n\n draghoverPrev: boolean;\n\n draghoverNext: boolean;\n\n draghoverNode: boolean\n\n ngOnInit() {\n this.node.parent = this.parentNode;\n\n if (this.parentNode) {\n this.tree.syncNodeOption(this.node, this.tree.value, 'parent', this.tree.getNodeWithKey(this.parentNode.key, this.tree.value));\n }\n }\n\n getIcon() {\n let icon: string;\n\n if (this.node.icon)\n icon = this.node.icon;\n else\n icon = this.node.expanded && this.node.children && this.node.children.length ? this.node.expandedIcon : this.node.collapsedIcon;\n\n return UITreeNode.ICON_CLASS + ' ' + icon;\n }\n\n isLeaf() {\n return this.tree.isNodeLeaf(this.node);\n }\n\n toggle(event: Event) {\n if (this.node.expanded)\n this.collapse(event);\n else\n this.expand(event);\n }\n\n expand(event: Event) {\n this.node.expanded = true;\n if (this.tree.virtualScroll) {\n this.tree.updateSerializedValue();\n }\n this.tree.onNodeExpand.emit({originalEvent: event, node: this.node});\n }\n\n collapse(event: Event) {\n this.node.expanded = false;\n if (this.tree.virtualScroll) {\n this.tree.updateSerializedValue();\n }\n this.tree.onNodeCollapse.emit({originalEvent: event, node: this.node});\n }\n\n onNodeClick(event: MouseEvent) {\n this.tree.onNodeClick(event, this.node);\n }\n\n onNodeKeydown(event: KeyboardEvent) {\n if (event.which === 13) {\n this.tree.onNodeClick(event, this.node);\n }\n }\n\n onNodeTouchEnd() {\n this.tree.onNodeTouchEnd();\n }\n\n onNodeRightClick(event: MouseEvent) {\n this.tree.onNodeRightClick(event, this.node);\n }\n\n isSelected() {\n return this.tree.isSelected(this.node);\n }\n\n onDropPoint(event: Event, position: number) {\n event.preventDefault();\n let dragNode = this.tree.dragNode;\n let dragNodeIndex = this.tree.dragNodeIndex;\n let dragNodeScope = this.tree.dragNodeScope;\n let isValidDropPointIndex = this.tree.dragNodeTree === this.tree ? (position === 1 || dragNodeIndex !== this.index - 1) : true;\n\n if (this.tree.allowDrop(dragNode, this.node, dragNodeScope) && isValidDropPointIndex) {\n let dropParams = {...this.createDropPointEventMetadata(position)};\n\n if (this.tree.validateDrop) {\n this.tree.onNodeDrop.emit({\n originalEvent: event,\n dragNode: dragNode,\n dropNode: this.node,\n dropIndex: this.index,\n accept: () => {\n this.processPointDrop(dropParams);\n }\n });\n }\n else {\n this.processPointDrop(dropParams);\n this.tree.onNodeDrop.emit({\n originalEvent: event,\n dragNode: dragNode,\n dropNode: this.node,\n dropIndex: this.index\n });\n }\n }\n\n this.draghoverPrev = false;\n this.draghoverNext = false;\n }\n\n processPointDrop(event) {\n let newNodeList = event.dropNode.parent ? event.dropNode.parent.children : this.tree.value;\n event.dragNodeSubNodes.splice(event.dragNodeIndex, 1);\n let dropIndex = this.index;\n\n if (event.position < 0) {\n dropIndex = (event.dragNodeSubNodes === newNodeList) ? ((event.dragNodeIndex > event.index) ? event.index : event.index - 1) : event.index;\n newNodeList.splice(dropIndex, 0, event.dragNode);\n }\n else {\n dropIndex = newNodeList.length;\n newNodeList.push(event.dragNode);\n }\n\n this.tree.dragDropService.stopDrag({\n node: event.dragNode,\n subNodes: event.dropNode.parent ? event.dropNode.parent.children : this.tree.value,\n index: event.dragNodeIndex\n });\n }\n\n createDropPointEventMetadata(position) {\n return {\n dragNode: this.tree.dragNode,\n dragNodeIndex: this.tree.dragNodeIndex,\n dragNodeSubNodes: this.tree.dragNodeSubNodes,\n dropNode: this.node,\n index: this.index,\n position: position\n };\n }\n\n onDropPointDragOver(event) {\n event.dataTransfer.dropEffect = 'move';\n event.preventDefault();\n }\n\n onDropPointDragEnter(event: Event, position: number) {\n if (this.tree.allowDrop(this.tree.dragNode, this.node, this.tree.dragNodeScope)) {\n if (position < 0)\n this.draghoverPrev = true;\n else\n this.draghoverNext = true;\n }\n }\n\n onDropPointDragLeave(event: Event) {\n this.draghoverPrev = false;\n this.draghoverNext = false;\n }\n\n onDragStart(event) {\n if (this.tree.draggableNodes && this.node.draggable !== false) {\n event.dataTransfer.setData(\"text\", \"data\");\n\n this.tree.dragDropService.startDrag({\n tree: this,\n node: this.node,\n subNodes: this.node.parent ? this.node.parent.children : this.tree.value,\n index: this.index,\n scope: this.tree.draggableScope\n });\n }\n else {\n event.preventDefault();\n }\n }\n\n onDragStop(event) {\n this.tree.dragDropService.stopDrag({\n node: this.node,\n subNodes: this.node.parent ? this.node.parent.children : this.tree.value,\n index: this.index\n });\n }\n\n onDropNodeDragOver(event) {\n event.dataTransfer.dropEffect = 'move';\n if (this.tree.droppableNodes) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n\n onDropNode(event) {\n if (this.tree.droppableNodes && this.node.droppable !== false) {\n let dragNode = this.tree.dragNode;\n\n if (this.tree.allowDrop(dragNode, this.node, this.tree.dragNodeScope)) {\n let dropParams = {...this.createDropNodeEventMetadata()};\n\n if (this.tree.validateDrop) {\n this.tree.onNodeDrop.emit({\n originalEvent: event,\n dragNode: dragNode,\n dropNode: this.node,\n index: this.index,\n accept: () => {\n this.processNodeDrop(dropParams);\n }\n });\n }\n else {\n this.processNodeDrop(dropParams);\n this.tree.onNodeDrop.emit({\n originalEvent: event,\n dragNode: dragNode,\n dropNode: this.node,\n index: this.index\n });\n }\n }\n }\n\n event.preventDefault();\n event.stopPropagation();\n this.draghoverNode = false;\n }\n\n createDropNodeEventMetadata() {\n return {\n dragNode: this.tree.dragNode,\n dragNodeIndex: this.tree.dragNodeIndex,\n dragNodeSubNodes: this.tree.dragNodeSubNodes,\n dropNode: this.node\n };\n }\n\n processNodeDrop(event) {\n let dragNodeIndex = event.dragNodeIndex;\n event.dragNodeSubNodes.splice(dragNodeIndex, 1);\n\n if (event.dropNode.children)\n event.dropNode.children.push(event.dragNode);\n else\n event.dropNode.children = [event.dragNode];\n\n this.tree.dragDropService.stopDrag({\n node: event.dragNode,\n subNodes: event.dropNode.parent ? event.dropNode.parent.children : this.tree.value,\n index: dragNodeIndex\n });\n }\n\n onDropNodeDragEnter(event) {\n if (this.tree.droppableNodes && this.node.droppable !== false && this.tree.allowDrop(this.tree.dragNode, this.node, this.tree.dragNodeScope)) {\n this.draghoverNode = true;\n }\n }\n\n onDropNodeDragLeave(event) {\n if (this.tree.droppableNodes) {\n let rect = event.currentTarget.getBoundingClientRect();\n if (event.x > rect.left + rect.width || event.x < rect.left || event.y >= Math.floor(rect.top + rect.height) || event.y < rect.top) {\n this.draghoverNode = false;\n }\n }\n }\n\n onKeyDown(event: KeyboardEvent) {\n const nodeElement = (<HTMLDivElement> event.target).parentElement.parentElement;\n\n if (nodeElement.nodeName !== 'P-TREENODE' || (this.tree.contextMenu && this.tree.contextMenu.containerViewChild.nativeElement.style.display === 'block')) {\n return;\n }\n\n switch (event.which) {\n //down arrow\n case 40:\n const listElement = (this.tree.droppableNodes) ? nodeElement.children[1].children[1] : nodeElement.children[0].children[1];\n if (listElement && listElement.children.length > 0) {\n this.focusNode(listElement.children[0]);\n }\n else {\n const nextNodeElement = nodeElement.nextElementSibling;\n if (nextNodeElement) {\n this.focusNode(nextNodeElement);\n }\n else {\n let nextSiblingAncestor = this.findNextSiblingOfAncestor(nodeElement);\n if (nextSiblingAncestor) {\n this.focusNode(nextSiblingAncestor);\n }\n }\n }\n\n event.preventDefault();\n break;\n\n //up arrow\n case 38:\n if (nodeElement.previousElementSibling) {\n this.focusNode(this.findLastVisibleDescendant(nodeElement.previousElementSibling));\n }\n else {\n let parentNodeElement = this.getParentNodeElement(nodeElement);\n if (parentNodeElement) {\n this.focusNode(parentNodeElement);\n }\n }\n\n event.preventDefault();\n break;\n\n //right arrow\n case 39:\n if (!this.node.expanded && !this.tree.isNodeLeaf(this.node)) {\n this.expand(event);\n }\n\n event.preventDefault();\n break;\n\n //left arrow\n case 37:\n if (this.node.expanded) {\n this.collapse(event);\n }\n else {\n let parentNodeElement = this.getParentNodeElement(nodeElement);\n if (parentNodeElement) {\n this.focusNode(parentNodeElement);\n }\n }\n\n event.preventDefault();\n break;\n\n //enter\n case 13:\n this.tree.onNodeClick(event, this.node);\n event.preventDefault();\n break;\n\n default:\n //no op\n break;\n }\n }\n\n findNextSiblingOfAncestor(nodeElement) {\n let parentNodeElement = this.getParentNodeElement(nodeElement);\n if (parentNodeElement) {\n if (parentNodeElement.nextElementSibling)\n return parentNodeElement.nextElementSibling;\n else\n return this.findNextSiblingOfAncestor(parentNodeElement);\n }\n else {\n return null;\n }\n }\n\n findLastVisibleDescendant(nodeElement) {\n const listElement = <HTMLElement> Array.from(nodeElement.children).find(el => DomHandler.hasClass(el, 'p-treenode'));\n const childrenListElement = listElement.children[1];\n if (childrenListElement && childrenListElement.children.length > 0) {\n const lastChildElement = childrenListElement.children[childrenListElement.children.length - 1];\n\n return this.findLastVisibleDescendant(lastChildElement);\n }\n else {\n return nodeElement;\n }\n }\n\n getParentNodeElement(nodeElement) {\n const parentNodeElement = nodeElement.parentElement.parentElement.parentElement;\n\n return parentNodeElement.tagName === 'P-TREENODE' ? parentNodeElement : null;\n }\n\n focusNode(element) {\n if (this.tree.droppableNodes)\n element.children[1].children[0].focus();\n else\n element.children[0].children[0].focus();\n }\n}\n\n@Component({\n selector: 'p-tree',\n template: `\n <div [ngClass]=\"{'p-tree p-component':true,'p-tree-selectable':selectionMode,\n 'p-treenode-dragover':dragHover,'p-tree-loading': loading, 'p-tree-flex-scrollable': scrollHeight === 'flex'}\" \n [ngStyle]=\"style\" [class]=\"styleClass\" *ngIf=\"!horizontal\"\n (drop)=\"onDrop($event)\" (dragover)=\"onDragOver($event)\" (dragenter)=\"onDragEnter($event)\" (dragleave)=\"onDragLeave($event)\">\n <div class=\"p-tree-loading-overlay p-component-overlay\" *ngIf=\"loading\">\n <i [class]=\"'p-tree-loading-icon pi-spin ' + loadingIcon\"></i>\n </div>\n <div *ngIf=\"filter\" class=\"p-tree-filter-container\">\n <input #filter type=\"text\" autocomplete=\"off\" class=\"p-tree-filter p-inputtext p-component\" [attr.placeholder]=\"filterPlaceholder\"\n (keydown.enter)=\"$event.preventDefault()\" (input)=\"_filter($event)\">\n <span class=\"p-tree-filter-icon pi pi-search\"></span>\n </div>\n <ng-container *ngIf=\"!virtualScroll; else virtualScrollList\">\n <div class=\"p-tree-wrapper\" [style.max-height]=\"scrollHeight\">\n <ul class=\"p-tree-container\" *ngIf=\"getRootNode()\" role=\"tree\" [attr.aria-label]=\"ariaLabel\" [attr.aria-labelledby]=\"ariaLabelledBy\">\n <p-treeNode *ngFor=\"let node of getRootNode(); let firstChild=first;let lastChild=last; let index=index; trackBy: trackBy\" [node]=\"node\"\n [firstChild]=\"firstChild\" [lastChild]=\"lastChild\" [index]=\"index\" [level]=\"0\"></p-treeNode>\n </ul>\n </div>\n </ng-container>\n <ng-template #virtualScrollList>\n <cdk-virtual-scroll-viewport class=\"p-tree-wrapper\" [style.height]=\"scrollHeight\" [itemSize]=\"virtualNodeHeight\" [minBufferPx]=\"minBufferPx\" [maxBufferPx]=\"maxBufferPx\">\n <ul class=\"p-tree-container\" *ngIf=\"getRootNode()\" role=\"tree\" [attr.aria-label]=\"ariaLabel\" [attr.aria-labelledby]=\"ariaLabelledBy\">\n <p-treeNode *cdkVirtualFor=\"let rowNode of serializedValue; let firstChild=first; let lastChild=last; let index=index; trackBy: trackBy; templateCacheSize: 0\" [level]=\"rowNode.level\"\n [rowNode]=\"rowNode\" [node]=\"rowNode.node\" [firstChild]=\"firstChild\" [lastChild]=\"lastChild\" [index]=\"index\" [style.height.px]=\"virtualNodeHeight\" [indentation]=\"indentation\"></p-treeNode>\n </ul>\n </cdk-virtual-scroll-viewport>\n </ng-template>\n <div class=\"p-tree-empty-message\" *ngIf=\"!loading && (value == null || value.length === 0)\">{{emptyMessage}}</div>\n </div>\n <div [ngClass]=\"{'p-tree p-tree-horizontal p-component':true,'p-tree-selectable':selectionMode}\" [ngStyle]=\"style\" [class]=\"styleClass\" *ngIf=\"horizontal\">\n <div class=\"p-tree-loading-mask p-component-overlay\" *ngIf=\"loading\">\n <i [class]=\"'p-tree-loading-icon pi-spin ' + loadingIcon\"></i>\n </div>\n <table *ngIf=\"value&&value[0]\">\n <p-treeNode [node]=\"value[0]\" [root]=\"true\"></p-treeNode>\n </table>\n <div class=\"p-tree-empty-message\" *ngIf=\"!loading && (value == null || value.length === 0)\">{{emptyMessage}}</div>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./tree.css']\n})\nexport class Tree implements OnInit,AfterContentInit,OnChanges,OnDestroy,BlockableUI {\n\n @Input() value: TreeNode[];\n\n @Input() selectionMode: string;\n\n @Input() selection: any;\n\n @Output() selectionChange: EventEmitter<any> = new EventEmitter();\n\n @Output() onNodeSelect: EventEmitter<any> = new EventEmitter();\n\n @Output() onNodeUnselect: EventEmitter<any> = new EventEmitter();\n\n @Output() onNodeExpand: EventEmitter<any> = new EventEmitter();\n\n @Output() onNodeCollapse: EventEmitter<any> = new EventEmitter();\n\n @Output() onNodeContextMenuSelect: EventEmitter<any> = new EventEmitter();\n\n @Output() onNodeDrop: EventEmitter<any> = new EventEmitter();\n\n @Input() style: any;\n\n @Input() styleClass: string;\n\n @Input() contextMenu: any;\n\n @Input() layout: string = 'vertical';\n\n @Input() draggableScope: any;\n\n @Input() droppableScope: any;\n\n @Input() draggableNodes: boolean;\n\n @Input() droppableNodes: boolean;\n\n @Input() metaKeySelection: boolean = true;\n\n @Input() propagateSelectionUp: boolean = true;\n\n @Input() propagateSelectionDown: boolean = true;\n\n @Input() loading: boolean;\n\n @Input() loadingIcon: string = 'pi pi-spinner';\n\n @Input() emptyMessage: string = 'No records found';\n\n @Input() ariaLabel: string;\n\n @Input() ariaLabelledBy: string;\n\n @Input() validateDrop: boolean;\n\n @Input() filter: boolean;\n\n @Input() filterBy: string = 'label';\n\n @Input() filterMode: string = 'lenient';\n\n @Input() filterPlaceholder: string;\n\n @Input() filterLocale: string;\n\n @Input() scrollHeight: string;\n\n @Input() virtualScroll: boolean;\n\n @Input() virtualNodeHeight: string;\n\n @Input() minBufferPx: number;\n\n @Input() maxBufferPx: number;\n\n @Input() indentation: number = 1.5;\n\n @Input() trackBy: Function = (index: number, item: any) => item;\n\n @Output() onFilter: EventEmitter<any> = new EventEmitter();\n\n @ContentChildren(PrimeTemplate) templates: QueryList<any>;\n\n @ViewChild(CdkVirtualScrollViewport) virtualScrollBody: CdkVirtualScrollViewport;\n\n serializedValue: any[];\n\n public templateMap: any;\n\n public nodeTouched: boolean;\n\n public dragNodeTree: Tree;\n\n public dragNode: TreeNode;\n\n public dragNodeSubNodes: TreeNode[];\n\n public dragNodeIndex: number;\n\n public dragNodeScope: any;\n\n public dragHover: boolean;\n\n public dragStartSubscription: Subscription;\n\n public dragStopSubscription: Subscription;\n\n public filteredNodes: TreeNode[];\n\n constructor(public el: ElementRef, @Optional() public dragDropService: TreeDragDropService) {}\n\n ngOnInit() {\n if (this.droppableNodes) {\n this.dragStartSubscription = this.dragDropService.dragStart$.subscribe(\n event => {\n this.dragNodeTree = event.tree;\n this.dragNode = event.node;\n this.dragNodeSubNodes = event.subNodes;\n this.dragNodeIndex = event.index;\n this.dragNodeScope = event.scope;\n });\n\n this.dragStopSubscription = this.dragDropService.dragStop$.subscribe(\n event => {\n this.dragNodeTree = null;\n this.dragNode = null;\n this.dragNodeSubNodes = null;\n this.dragNodeIndex = null;\n this.dragNodeScope = null;\n this.dragHover = false;\n });\n }\n }\n\n ngOnChanges(simpleChange: SimpleChanges) {\n if (simpleChange.value) {\n this.updateSerializedValue();\n }\n\n if (simpleChange.scrollHeight && this.virtualScrollBody) {\n this.virtualScrollBody.ngOnInit();\n }\n }\n\n get horizontal(): boolean {\n return this.layout == 'horizontal';\n }\n\n ngAfterContentInit() {\n if (this.templates.length) {\n this.templateMap = {};\n }\n\n this.templates.forEach((item) => {\n this.templateMap[item.name] = item.template;\n });\n }\n\n updateSerializedValue() {\n this.serializedValue = [];\n this.serializeNodes(null, this.getRootNode(), 0, true);\n }\n\n serializeNodes(parent, nodes, level, visible) {\n if (nodes && nodes.length) {\n for(let node of nodes) {\n node.parent = parent;\n const rowNode = {\n node: node,\n parent: parent,\n level: level,\n visible: visible && (parent ? parent.expanded : true)\n };\n this.serializedValue.push(rowNode);\n\n if (rowNode.visible && node.expanded) {\n this.serializeNodes(node, node.children, level + 1, rowNode.visible);\n }\n }\n }\n }\n\n onNodeClick(event, node: TreeNode) {\n let eventTarget = (<Element> event.target);\n\n if (DomHandler.hasClass(eventTarget, 'p-tree-toggler') || DomHandler.hasClass(eventTarget, 'p-tree-toggler-icon')) {\n return;\n }\n else if (this.selectionMode) {\n if (node.selectable === false) {\n return;\n }\n\n if (this.hasFilteredNodes()) {\n node = this.getNodeWithKey(node.key, this.value);\n\n if (!node) {\n return;\n }\n }\n\n let index = this.findIndexInSelection(node);\n let selected = (index >= 0);\n\n if (this.isCheckboxSelectionMode()) {\n if (selected) {\n if (this.propagateSelectionDown)\n this.propagateDown(node, false);\n else\n this.selection = this.selection.filter((val,i) => i!=index);\n\n if (this.propagateSelectionUp && node.parent) {\n this.propagateUp(node.parent, false);\n }\n\n this.selectionChange.emit(this.selection);\n this.onNodeUnselect.emit({originalEvent: event, node: node});\n }\n else {\n if (this.propagateSelectionDown)\n this.propagateDown(node, true);\n else\n this.selection = [...this.selection||[],node];\n\n if (this.propagateSelectionUp && node.parent) {\n this.propagateUp(node.parent, true);\n }\n\n this.selectionChange.emit(this.selection);\n this.onNodeSelect.emit({originalEvent: event, node: node});\n }\n }\n else {\n let metaSelection = this.nodeTouched ? false : this.metaKeySelection;\n\n if (metaSelection) {\n let metaKey = (event.metaKey||event.ctrlKey);\n\n if (selected && metaKey) {\n if (this.isSingleSelectionMode()) {\n this.selectionChange.emit(null);\n }\n else {\n this.selection = this.selection.filter((val,i) => i!=index);\n this.selectionChange.emit(this.selection);\n }\n\n this.onNodeUnselect.emit({originalEvent: event, node: node});\n }\n else {\n if (this.isSingleSelectionMode()) {\n this.selectionChange.emit(node);\n }\n else if (this.isMultipleSelectionMode()) {\n this.selection = (!metaKey) ? [] : this.selection||[];\n this.selection = [...this.selection,node];\n this.selectionChange.emit(this.selection);\n }\n\n this.onNodeSelect.emit({originalEvent: event, node: node});\n }\n }\n else {\n if (this.isSingleSelectionMode()) {\n if (selected) {\n this.selection = null;\n this.onNodeUnselect.emit({originalEvent: event, node: node});\n }\n else {\n this.selection = node;\n this.onNodeSelect.emit({originalEvent: event, node: node});\n }\n }\n else {\n if (selected) {\n this.selection = this.selection.filter((val,i) => i!=index);\n this.onNodeUnselect.emit({originalEvent: event, node: node});\n }\n else {\n this.selection = [...this.selection||[],node];\n this.onNodeSelect.emit({originalEvent: event, node: node});\n }\n }\n\n this.selectionChange.emit(this.selection);\n }\n }\n }\n\n this.nodeTouched = false;\n }\n\n onNodeTouchEnd() {\n this.nodeTouched = true;\n }\n\n onNodeRightClick(event: MouseEvent, node: TreeNode) {\n if (this.contextMenu) {\n let eventTarget = (<Element> event.target);\n\n if (eventTarget.className && eventTarget.className.indexOf('p-tree-toggler') === 0) {\n return;\n }\n else {\n let index = this.findIndexInSelection(node);\n let selected = (index >= 0);\n\n if (!selected) {\n if (this.isSingleSelectionMode())\n this.selectionChange.emit(node);\n else\n this.selectionChange.emit([node]);\n }\n\n this.contextMenu.show(event);\n this.onNodeContextMenuSelect.emit({originalEvent: event, node: node});\n }\n }\n }\n\n findIndexInSelection(node: TreeNode) {\n let index: number = -1;\n\n if (this.selectionMode && this.selection) {\n if (this.isSingleSelectionMode()) {\n let areNodesEqual = (this.selection.key && this.selection.key === node.key) || this.selection == node;\n index = areNodesEqual ? 0 : - 1;\n }\n else {\n for(let i = 0; i < this.selection.length; i++) {\n let selectedNode = this.selection[i];\n let areNodesEqual = (selectedNode.key && selectedNode.key === node.key) || selectedNode == node;\n if (areNodesEqual) {\n index = i;\n break;\n }\n }\n }\n }\n\n return index;\n }\n\n syncNodeOption(node, parentNodes, option, value?: any) {\n // to synchronize the node option between the filtered nodes and the original nodes(this.value)\n const _node = this.hasFilteredNodes() ? this.getNodeWithKey(node.key, parentNodes) : null;\n if (_node) {\n _node[option] = value||node[option];\n }\n }\n\n hasFilteredNodes() {\n return this.filter && this.filteredNodes && this.filteredNodes.length;\n }\n\n getNodeWithKey(key: string, nodes: TreeNode[]) {\n for (let node of nodes) {\n if (node.key === key) {\n return node;\n }\n\n if (node.children) {\n let matchedNode = this.getNodeWithKey(key, node.children);\n if (matchedNode) {\n return matchedNode;\n }\n }\n }\n }\n\n propagateUp(node: TreeNode, select: boolean) {\n if (node.children && node.children.length) {\n let selectedCount: number = 0;\n let childPartialSelected: boolean = false;\n for(let child of node.children) {\n if (this.isSelected(child)) {\n selectedCount++;\n }\n else if (child.partialSelected) {\n childPartialSelected = true;\n }\n }\n\n if (select && selectedCount == node.children.length) {\n this.selection = [...this.selection||[],node];\n node.partialSelected = false;\n }\n else {\n if (!select) {\n let index = this.findIndexInSelection(node);\n if (index >= 0) {\n this.selection = this.selection.filter((val,i) => i!=index);\n }\n }\n\n if (childPartialSelected || selectedCount > 0 && selectedCount != node.children.length)\n node.partialSelected = true;\n else\n node.partialSelected = false;\n }\n\n this.syncNodeOption(node, this.filteredNodes, 'partialSelected');\n }\n\n let parent = node.parent;\n if (parent) {\n this.propagateUp(parent, select);\n }\n }\n\n propagateDown(node: TreeNode, select: boolean) {\n let index = this.findIndexInSelection(node);\n\n if (select && index == -1) {\n this.selection = [...this.selection||[],node];\n }\n else if (!select && index > -1) {\n this.selection = this.selection.filter((val,i) => i!=index);\n }\n\n node.partialSelected = false;\n\n this.syncNodeOption(node, this.filteredNodes, 'partialSelected');\n\n if (node.children && node.children.length) {\n for(let child of node.children) {\n this.propagateDown(child, select);\n }\n }\n }\n\n isSelected(node: TreeNode) {\n return this.findIndexInSelection(node) != -1;\n }\n\n isSingleSelectionMode() {\n return this.selectionMode && this.selectionMode == 'single';\n }\n\n isMultipleSelectionMode() {\n return this.selectionMode && this.selectionMode == 'multiple';\n }\n\n isCheckboxSelectionMode() {\n return this.selectionMode && this.selectionMode == 'checkbox';\n }\n\n isNodeLeaf(node) {\n return node.leaf == false ? false : !(node.children && node.children.length);\n }\n\n getRootNode() {\n return this.filteredNodes ? this.filteredNodes : this.value;\n }\n\n getTemplateForNode(node: TreeNode): TemplateRef<any> {\n if (this.templateMap)\n return node.type ? this.templateMap[node.type] : this.templateMap['default'];\n else\n return null;\n }\n\n onDragOver(event) {\n if (this.droppableNodes && (!this.value || this.value.length === 0)) {\n event.dataTransfer.dropEffect = 'move';\n event.preventDefault();\n }\n }\n\n onDrop(event) {\n if (this.droppableNodes && (!this.value || this.value.length === 0)) {\n event.preventDefault();\n let dragNode = this.dragNode;\n if (this.allowDrop(dragNode, null, this.dragNodeScope)) {\n let dragNodeIndex = this.dragNodeIndex;\n this.dragNodeSubNodes.splice(dragNodeIndex, 1);\n this.value = this.value||[];\n this.value.push(dragNode);\n\n this.dragDropService.stopDrag({\n node: dragNode\n });\n }\n }\n }\n\n onDragEnter(event) {\n if (this.droppableNodes && this.allowDrop(this.dragNode, null, this.dragNodeScope)) {\n this.dragHover = true;\n }\n }\n\n onDragLeave(event) {\n if (this.droppableNodes) {\n let rect = event.currentTarget.getBoundingClientRect();\n if (event.x > rect.left + rect.width || event.x < rect.left || event.y > rect.top + rect.height || event.y < rect.top) {\n this.dragHover = false;\n }\n }\n }\n\n allowDrop(dragNode: TreeNode, dropNode: TreeNode, dragNodeScope: any): boolean {\n if (!dragNode) {\n //prevent random html elements to be dragged\n return false;\n }\n else if (this.isValidDragScope(dragNodeScope)) {\n let allow: boolean = true;\n if (dropNode) {\n if (dragNode === dropNode) {\n allow = false;\n }\n else {\n let parent = dropNode.parent;\n while(parent != null) {\n if (parent === dragNode) {\n allow = false;\n break;\n }\n parent = parent.parent;\n }\n }\n }\n\n return allow;\n }\n else {\n return false;\n }\n }\n\n isValidDragScope(dragScope: any): boolean {\n let dropScope = this.droppableScope;\n\n if (dropScope) {\n if (typeof dropScope === 'string') {\n if (typeof dragScope === 'string')\n return dropScope === dragScope;\n else if (dragScope instanceof Array)\n return (<Array<any>>dragScope).indexOf(dropScope) != -1;\n }\n else if (dropScope instanceof Array) {\n if (typeof dragScope === 'string') {\n return (<Array<any>>dropScope).indexOf(dragScope) != -1;\n }\n else if (dragScope instanceof Array) {\n for(let s of dropScope) {\n for(let ds of dragScope) {\n if (s === ds) {\n return true;\n }\n }\n }\n }\n }\n return false;\n }\n else {\n return true;\n }\n }\n\n _filter(event) {\n let filterValue = event.target.value;\n if (filterValue === '') {\n this.filteredNodes = null;\n }\n else {\n this.filteredNodes = [];\n const searchFields: string[] = this.filterBy.split(',');\n const filterText = ObjectUtils.removeAccents(filterValue).toLocaleLowerCase(this.filterLocale);\n const isStrictMode = this.filterMode === 'strict';\n for(let node of this.value) {\n let copyNode = {...node};\n let paramsWithoutNode = {searchFields, filterText, isStrictMode};\n if ((isStrictMode && (this.findFilteredNodes(copyNode, paramsWithoutNode) || this.isFilterMatched(copyNode, paramsWithoutNode))) ||\n (!isStrictMode && (this.isFilterMatched(copyNode, paramsWithoutNode) || this.findFilteredNodes(copyNode, paramsWithoutNode)))) {\n this.filteredNodes.push(copyNode);\n }\n }\n }\n\n this.updateSerializedValue();\n this.onFilter.emit({\n filter: filterValue,\n filteredValue: this.filteredNodes\n });\n }\n\n findFilteredNodes(node, paramsWithoutNode) {\n if (node) {\n let matched = false;\n if (node.children) {\n let childNodes = [...node.children];\n node.children = [];\n for (let childNode of childNodes) {\n let copyChildNode = {...childNode};\n if (this.isFilterMatched(copyChildNode, paramsWithoutNode)) {\n matched = true;\n node.children.push(copyChildNode);\n }\n }\n }\n\n if (matched) {\n node.expanded = true;\n return true;\n }\n }\n }\n\n isFilterMatched(node, {searchFields, filterText, isStrictMode}) {\n let matched = false;\n for(let field of searchFields) {\n let fieldValue = ObjectUtils.removeAccents(String(ObjectUtils.resolveFieldData(node, field))).toLocaleLowerCase(this.filterLocale);\n if (fieldValue.indexOf(filterText) > -1) {\n matched = true;\n }\n }\n\n if (!matched || (isStrictMode && !this.isNodeLeaf(node))) {\n matched = this.findFilteredNodes(node, {searchFields, filterText, isStrictMode}) || matched;\n }\n\n return matched;\n }\n\n getBlockableElement(): HTMLElement {\n return this.el.nativeElement.children[0];\n }\n\n ngOnDestroy() {\n if (this.dragStartSubscription) {\n this.dragStartSubscription.unsubscribe();\n }\n\n if (this.dragStopSubscription) {\n this.dragStopSubscription.unsubscribe();\n }\n }\n}\n@NgModule({\n imports: [CommonModule,ScrollingModule,RippleModule],\n exports: [Tree,SharedModule,ScrollingModule],\n declarations: [Tree,UITreeNode]\n})\nexport class TreeModule { }\n"]}
@@ -28,6 +28,8 @@
28
28
  return extendStatics(d, b);
29
29
  };
30
30
  function __extends(d, b) {
31
+ if (typeof b !== "function" && b !== null)
32
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
31
33
  extendStatics(d, b);
32
34
  function __() { this.constructor = d; }
33
35
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
@@ -213,11 +215,13 @@
213
215
  }
214
216
  return ar;
215
217
  }
218
+ /** @deprecated */
216
219
  function __spread() {
217
220
  for (var ar = [], i = 0; i < arguments.length; i++)
218
221
  ar = ar.concat(__read(arguments[i]));
219
222
  return ar;
220
223
  }
224
+ /** @deprecated */
221
225
  function __spreadArrays() {
222
226
  for (var s = 0, i = 0, il = arguments.length; i < il; i++)
223
227
  s += arguments[i].length;
@@ -226,7 +230,11 @@
226
230
  r[k] = a[j];
227
231
  return r;
228
232
  }
229
- ;
233
+ function __spreadArray(to, from) {
234
+ for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
235
+ to[j] = from[i];
236
+ return to;
237
+ }
230
238
  function __await(v) {
231
239
  return this instanceof __await ? (this.v = v, this) : new __await(v);
232
240
  }
@@ -339,10 +347,11 @@
339
347
  { type: core.Injectable }
340
348
  ];
341
349
  var TreeTable = /** @class */ (function () {
342
- function TreeTable(el, zone, tableService) {
350
+ function TreeTable(el, zone, tableService, filterService) {
343
351
  this.el = el;
344
352
  this.zone = zone;
345
353
  this.tableService = tableService;
354
+ this.filterService = filterService;
346
355
  this.lazy = false;
347
356
  this.lazyLoadOnInit = true;
348
357
  this.first = 0;
@@ -922,7 +931,7 @@
922
931
  if (newColumnWidth > 15 && nextColumnWidth > parseInt(nextColumnMinWidth)) {
923
932
  if (this.scrollable) {
924
933
  var scrollableView = this.findParentScrollableView(column);
925
- var scrollableBodyTable = dom.DomHandler.findSingle(scrollableView, '.p-treetable-scrollable-body table');
934
+ var scrollableBodyTable = dom.DomHandler.findSingle(scrollableView, '.p-treetable-scrollable-body table') || dom.DomHandler.findSingle(scrollableView, '.p-treetable-virtual-scrollable-body table');
926
935
  var scrollableHeaderTable = dom.DomHandler.findSingle(scrollableView, 'table.p-treetable-scrollable-header-table');
927
936
  var scrollableFooterTable = dom.DomHandler.findSingle(scrollableView, 'table.p-treetable-scrollable-footer-table');
928
937
  var resizeColumnIndex = dom.DomHandler.index(column);
@@ -942,10 +951,10 @@
942
951
  else if (this.columnResizeMode === 'expand') {
943
952
  if (this.scrollable) {
944
953
  var scrollableView = this.findParentScrollableView(column);
945
- var scrollableBody_1 = dom.DomHandler.findSingle(scrollableView, '.p-treetable-scrollable-body');
954
+ var scrollableBody_1 = dom.DomHandler.findSingle(scrollableView, '.p-treetable-scrollable-body') || dom.DomHandler.findSingle(scrollableView, 'cdk-virtual-scroll-viewport');
946
955
  var scrollableHeader = dom.DomHandler.findSingle(scrollableView, '.p-treetable-scrollable-header');
947
956
  var scrollableFooter = dom.DomHandler.findSingle(scrollableView, '.p-treetable-scrollable-footer');
948
- var scrollableBodyTable = dom.DomHandler.findSingle(scrollableView, '.p-treetable-scrollable-body table');
957
+ var scrollableBodyTable = dom.DomHandler.findSingle(scrollableView, '.p-treetable-scrollable-body table') || dom.DomHandler.findSingle(scrollableView, 'cdk-virtual-scroll-viewport table');
949
958
  var scrollableHeaderTable = dom.DomHandler.findSingle(scrollableView, 'table.p-treetable-scrollable-header-table');
950
959
  var scrollableFooterTable = dom.DomHandler.findSingle(scrollableView, 'table.p-treetable-scrollable-footer-table');
951
960
  scrollableBodyTable.style.width = scrollableBodyTable.offsetWidth + delta + 'px';
@@ -1455,7 +1464,7 @@
1455
1464
  var filterField = prop;
1456
1465
  var filterValue = filterMeta.value;
1457
1466
  var filterMatchMode = filterMeta.matchMode || 'startsWith';
1458
- var filterConstraint = utils.FilterUtils[filterMatchMode];
1467
+ var filterConstraint = this.filterService.filters[filterMatchMode];
1459
1468
  paramsWithoutNode = { filterField: filterField, filterValue: filterValue, filterConstraint: filterConstraint, isStrictMode: isStrictMode };
1460
1469
  if ((isStrictMode && !(this.findFilteredNodes(copyNode, paramsWithoutNode) || this.isFilterMatched(copyNode, paramsWithoutNode))) ||
1461
1470
  (!isStrictMode && !(this.isFilterMatched(copyNode, paramsWithoutNode) || this.findFilteredNodes(copyNode, paramsWithoutNode)))) {
@@ -1471,7 +1480,7 @@
1471
1480
  var copyNodeForGlobal = Object.assign({}, copyNode);
1472
1481
  var filterField = globalFilterFieldsArray[j].field || globalFilterFieldsArray[j];
1473
1482
  var filterValue = this.filters['global'].value;
1474
- var filterConstraint = utils.FilterUtils[this.filters['global'].matchMode];
1483
+ var filterConstraint = this.filterService.filters[this.filters['global'].matchMode];
1475
1484
  paramsWithoutNode = { filterField: filterField, filterValue: filterValue, filterConstraint: filterConstraint, isStrictMode: isStrictMode };
1476
1485
  if ((isStrictMode && (this.findFilteredNodes(copyNodeForGlobal, paramsWithoutNode) || this.isFilterMatched(copyNodeForGlobal, paramsWithoutNode))) ||
1477
1486
  (!isStrictMode && (this.isFilterMatched(copyNodeForGlobal, paramsWithoutNode) || this.findFilteredNodes(copyNodeForGlobal, paramsWithoutNode)))) {
@@ -1627,13 +1636,14 @@
1627
1636
  template: "\n <div #container [ngStyle]=\"style\" [class]=\"styleClass\" data-scrollselectors=\".p-treetable-scrollable-body\"\n [ngClass]=\"{'p-treetable p-component': true,\n 'p-treetable-hoverable-rows': (rowHover||(selectionMode === 'single' || selectionMode === 'multiple')),\n 'p-treetable-auto-layout': autoLayout,\n 'p-treetable-resizable': resizableColumns,\n 'p-treetable-resizable-fit': (resizableColumns && columnResizeMode === 'fit'),\n 'p-treetable-flex-scrollable': (scrollable && scrollHeight === 'flex')}\">\n <div class=\"p-treetable-loading\" *ngIf=\"loading && showLoader\">\n <div class=\"p-treetable-loading-overlay p-component-overlay\">\n <i [class]=\"'p-treetable-loading-icon pi-spin ' + loadingIcon\"></i>\n </div>\n </div>\n <div *ngIf=\"captionTemplate\" class=\"p-treetable-header\">\n <ng-container *ngTemplateOutlet=\"captionTemplate\"></ng-container>\n </div>\n <p-paginator [rows]=\"rows\" [first]=\"first\" [totalRecords]=\"totalRecords\" [pageLinkSize]=\"pageLinks\" styleClass=\"p-paginator-top\" [alwaysShow]=\"alwaysShowPaginator\"\n (onPageChange)=\"onPageChange($event)\" [rowsPerPageOptions]=\"rowsPerPageOptions\" *ngIf=\"paginator && (paginatorPosition === 'top' || paginatorPosition =='both')\"\n [templateLeft]=\"paginatorLeftTemplate\" [templateRight]=\"paginatorRightTemplate\" [dropdownAppendTo]=\"paginatorDropdownAppendTo\"\n [currentPageReportTemplate]=\"currentPageReportTemplate\" [showFirstLastIcon]=\"showFirstLastIcon\" [dropdownItemTemplate]=\"paginatorDropdownItemTemplate\" [showCurrentPageReport]=\"showCurrentPageReport\" [showJumpToPageDropdown]=\"showJumpToPageDropdown\" [showPageLinks]=\"showPageLinks\"></p-paginator>\n\n <div class=\"p-treetable-wrapper\" *ngIf=\"!scrollable\">\n <table #table [ngClass]=\"tableStyleClass\" [ngStyle]=\"tableStyle\">\n <ng-container *ngTemplateOutlet=\"colGroupTemplate; context {$implicit: columns}\"></ng-container>\n <thead class=\"p-treetable-thead\">\n <ng-container *ngTemplateOutlet=\"headerTemplate; context: {$implicit: columns}\"></ng-container>\n </thead>\n <tbody class=\"p-treetable-tbody\" [pTreeTableBody]=\"columns\" [pTreeTableBodyTemplate]=\"bodyTemplate\"></tbody>\n <tfoot class=\"p-treetable-tfoot\">\n <ng-container *ngTemplateOutlet=\"footerTemplate; context {$implicit: columns}\"></ng-container>\n </tfoot>\n </table>\n </div>\n\n <div class=\"p-treetable-scrollable-wrapper\" *ngIf=\"scrollable\">\n <div class=\"p-treetable-scrollable-view p-treetable-frozen-view\" *ngIf=\"frozenColumns||frozenBodyTemplate\" #scrollableFrozenView [ttScrollableView]=\"frozenColumns\" [frozen]=\"true\" [ngStyle]=\"{width: frozenWidth}\" [scrollHeight]=\"scrollHeight\"></div>\n <div class=\"p-treetable-scrollable-view\" #scrollableView [ttScrollableView]=\"columns\" [frozen]=\"false\" [scrollHeight]=\"scrollHeight\" [ngStyle]=\"{left: frozenWidth, width: 'calc(100% - '+frozenWidth+')'}\"></div>\n </div>\n\n <p-paginator [rows]=\"rows\" [first]=\"first\" [totalRecords]=\"totalRecords\" [pageLinkSize]=\"pageLinks\" styleClass=\"p-paginator-bottom\" [alwaysShow]=\"alwaysShowPaginator\"\n (onPageChange)=\"onPageChange($event)\" [rowsPerPageOptions]=\"rowsPerPageOptions\" *ngIf=\"paginator && (paginatorPosition === 'bottom' || paginatorPosition =='both')\"\n [templateLeft]=\"paginatorLeftTemplate\" [templateRight]=\"paginatorRightTemplate\" [dropdownAppendTo]=\"paginatorDropdownAppendTo\"\n [currentPageReportTemplate]=\"currentPageReportTemplate\" [showFirstLastIcon]=\"showFirstLastIcon\" [dropdownItemTemplate]=\"paginatorDropdownItemTemplate\" [showCurrentPageReport]=\"showCurrentPageReport\" [showJumpToPageDropdown]=\"showJumpToPageDropdown\" [showPageLinks]=\"showPageLinks\"></p-paginator>\n <div *ngIf=\"summaryTemplate\" class=\"p-treetable-footer\">\n <ng-container *ngTemplateOutlet=\"summaryTemplate\"></ng-container>\n </div>\n\n <div #resizeHelper class=\"p-column-resizer-helper\" style=\"display:none\" *ngIf=\"resizableColumns\"></div>\n\n <span #reorderIndicatorUp class=\"pi pi-arrow-down p-treetable-reorder-indicator-up\" *ngIf=\"reorderableColumns\"></span>\n <span #reorderIndicatorDown class=\"pi pi-arrow-up p-treetable-reorder-indicator-down\" *ngIf=\"reorderableColumns\"></span>\n </div>\n ",
1628
1637
  providers: [TreeTableService],
1629
1638
  encapsulation: core.ViewEncapsulation.None,
1630
- styles: [".p-treetable{position:relative}.p-treetable table{border-collapse:collapse;table-layout:fixed;width:100%}.p-treetable .p-sortable-column{-ms-user-select:none;-webkit-user-select:none;cursor:pointer;user-select:none}.p-treetable .p-sortable-column .p-column-title,.p-treetable .p-sortable-column .p-sortable-column-badge,.p-treetable .p-sortable-column .p-sortable-column-icon{vertical-align:middle}.p-treetable .p-sortable-column .p-sortable-column-badge{align-items:center;display:inline-flex;justify-content:center}.p-treetable-auto-layout>.p-treetable-wrapper{overflow-x:auto}.p-treetable-auto-layout>.p-treetable-wrapper>table{table-layout:auto}.p-treetable-hoverable-rows .p-treetable-tbody>tr{cursor:pointer}.p-treetable-toggler{-ms-user-select:none;-webkit-user-select:none;align-items:center;cursor:pointer;display:inline-flex;justify-content:center;overflow:hidden;position:relative;user-select:none}.p-treetable-toggler,p-treetabletoggler+p-treetablecheckbox+span,p-treetabletoggler+p-treetablecheckbox .p-checkbox{vertical-align:middle}.p-treetable-scrollable-wrapper{position:relative}.p-treetable-scrollable-footer,.p-treetable-scrollable-header{overflow:hidden}.p-treetable-scrollable-body{overflow:auto;position:relative}.p-treetable-scrollable-body>table>.p-treetable-tbody>tr:first-child>td{border-top:0}.p-treetable-virtual-table{position:absolute}.p-treetable-frozen-view .p-treetable-scrollable-body{overflow:hidden}.p-treetable-frozen-view>.p-treetable-scrollable-body>table>.p-treetable-tbody>tr>td:last-child{border-right:0}.p-treetable-unfrozen-view{position:absolute;top:0}.p-treetable-flex-scrollable,.p-treetable-flex-scrollable .p-treetable-scrollable-view,.p-treetable-flex-scrollable .p-treetable-scrollable-wrapper{display:flex;flex:1;flex-direction:column;height:100%}.p-treetable-flex-scrollable .p-treetable-scrollable-body{flex:1}.p-treetable-resizable>.p-treetable-wrapper{overflow-x:auto}.p-treetable-resizable .p-treetable-tbody>tr>td,.p-treetable-resizable .p-treetable-tfoot>tr>td,.p-treetable-resizable .p-treetable-thead>tr>th{overflow:hidden}.p-treetable-resizable .p-resizable-column{background-clip:padding-box;position:relative}.p-treetable-resizable-fit .p-resizable-column:last-child .p-column-resizer{display:none}.p-treetable .p-column-resizer{border:1px solid transparent;cursor:col-resize;display:block;height:100%;margin:0;padding:0;position:absolute!important;right:0;top:0;width:.5rem}.p-treetable .p-column-resizer-helper{display:none;position:absolute;width:1px;z-index:10}.p-treetable .p-row-editor-cancel,.p-treetable .p-row-editor-init,.p-treetable .p-row-editor-save,.p-treetable .p-row-toggler{align-items:center;display:inline-flex;justify-content:center;overflow:hidden;position:relative}.p-treetable-reorder-indicator-down,.p-treetable-reorder-indicator-up{display:none;position:absolute}.p-treetable .p-treetable-loading-overlay{align-items:center;display:flex;justify-content:center;position:absolute;z-index:2}"]
1639
+ styles: [".p-treetable{position:relative}.p-treetable table{border-collapse:collapse;table-layout:fixed;width:100%}.p-treetable .p-sortable-column{-ms-user-select:none;-webkit-user-select:none;cursor:pointer;user-select:none}.p-treetable .p-sortable-column .p-column-title,.p-treetable .p-sortable-column .p-sortable-column-badge,.p-treetable .p-sortable-column .p-sortable-column-icon{vertical-align:middle}.p-treetable .p-sortable-column .p-sortable-column-badge{align-items:center;display:inline-flex;justify-content:center}.p-treetable-auto-layout>.p-treetable-wrapper{overflow-x:auto}.p-treetable-auto-layout>.p-treetable-wrapper>table{table-layout:auto}.p-treetable-hoverable-rows .p-treetable-tbody>tr{cursor:pointer}.p-treetable-toggler{-ms-user-select:none;-webkit-user-select:none;align-items:center;cursor:pointer;display:inline-flex;justify-content:center;overflow:hidden;position:relative;user-select:none}.p-treetable-toggler,p-treetabletoggler+p-treetablecheckbox+span,p-treetabletoggler+p-treetablecheckbox .p-checkbox{vertical-align:middle}.p-treetable-scrollable-wrapper{position:relative}.p-treetable-scrollable-footer,.p-treetable-scrollable-header{overflow:hidden}.p-treetable-scrollable-body{overflow:auto;position:relative}.p-treetable-scrollable-body>table>.p-treetable-tbody>tr:first-child>td{border-top:0}.p-treetable-virtual-table{position:absolute}.p-treetable-frozen-view .p-treetable-scrollable-body{overflow:hidden}.p-treetable-frozen-view>.p-treetable-scrollable-body>table>.p-treetable-tbody>tr>td:last-child{border-right:0}.p-treetable-unfrozen-view{position:absolute;top:0}.p-treetable-flex-scrollable,.p-treetable-flex-scrollable .p-treetable-scrollable-view,.p-treetable-flex-scrollable .p-treetable-scrollable-wrapper{display:flex;flex:1;flex-direction:column;height:100%}.p-treetable-flex-scrollable .p-treetable-scrollable-body{flex:1}.p-treetable-resizable>.p-treetable-wrapper{overflow-x:auto}.p-treetable-resizable .p-treetable-tbody>tr>td,.p-treetable-resizable .p-treetable-tfoot>tr>td,.p-treetable-resizable .p-treetable-thead>tr>th{overflow:hidden}.p-treetable-resizable .p-resizable-column{background-clip:padding-box;position:relative}.p-treetable-resizable-fit .p-resizable-column:last-child .p-column-resizer{display:none}.p-treetable .p-column-resizer{border:1px solid transparent;cursor:col-resize;display:block;height:100%;margin:0;padding:0;position:absolute!important;right:0;top:0;width:.5rem}.p-treetable .p-column-resizer-helper{display:none;position:absolute;width:1px;z-index:10}.p-treetable .p-row-editor-cancel,.p-treetable .p-row-editor-init,.p-treetable .p-row-editor-save,.p-treetable .p-row-toggler{align-items:center;display:inline-flex;justify-content:center;overflow:hidden;position:relative}.p-treetable-reorder-indicator-down,.p-treetable-reorder-indicator-up{display:none;position:absolute}[ttReorderableColumn]{cursor:move}.p-treetable .p-treetable-loading-overlay{align-items:center;display:flex;justify-content:center;position:absolute;z-index:2}"]
1631
1640
  },] }
1632
1641
  ];
1633
1642
  TreeTable.ctorParameters = function () { return [
1634
1643
  { type: core.ElementRef },
1635
1644
  { type: core.NgZone },
1636
- { type: TreeTableService }
1645
+ { type: TreeTableService },
1646
+ { type: api.FilterService }
1637
1647
  ]; };
1638
1648
  TreeTable.propDecorators = {
1639
1649
  columns: [{ type: core.Input }],