primeng 11.3.1 → 11.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (375) hide show
  1. package/README.md +3 -2
  2. package/api/primeng-api.metadata.json +1 -1
  3. package/api/translation.d.ts +2 -0
  4. package/api/translationkeys.d.ts +2 -0
  5. package/autocomplete/autocomplete.d.ts +15 -2
  6. package/autocomplete/primeng-autocomplete.metadata.json +1 -1
  7. package/bundles/primeng-api.umd.js +19 -12
  8. package/bundles/primeng-api.umd.js.map +1 -1
  9. package/bundles/primeng-api.umd.min.js +1 -1
  10. package/bundles/primeng-api.umd.min.js.map +1 -1
  11. package/bundles/primeng-autocomplete.umd.js +65 -30
  12. package/bundles/primeng-autocomplete.umd.js.map +1 -1
  13. package/bundles/primeng-autocomplete.umd.min.js +2 -2
  14. package/bundles/primeng-autocomplete.umd.min.js.map +1 -1
  15. package/bundles/primeng-button.umd.js +71 -15
  16. package/bundles/primeng-button.umd.js.map +1 -1
  17. package/bundles/primeng-button.umd.min.js +1 -1
  18. package/bundles/primeng-button.umd.min.js.map +1 -1
  19. package/bundles/primeng-calendar.umd.js +25 -14
  20. package/bundles/primeng-calendar.umd.js.map +1 -1
  21. package/bundles/primeng-calendar.umd.min.js +2 -2
  22. package/bundles/primeng-calendar.umd.min.js.map +1 -1
  23. package/bundles/primeng-carousel.umd.js +24 -13
  24. package/bundles/primeng-carousel.umd.js.map +1 -1
  25. package/bundles/primeng-carousel.umd.min.js +1 -1
  26. package/bundles/primeng-carousel.umd.min.js.map +1 -1
  27. package/bundles/primeng-cascadeselect.umd.js +14 -12
  28. package/bundles/primeng-cascadeselect.umd.js.map +1 -1
  29. package/bundles/primeng-cascadeselect.umd.min.js +1 -1
  30. package/bundles/primeng-cascadeselect.umd.min.js.map +1 -1
  31. package/bundles/primeng-checkbox.umd.js +14 -11
  32. package/bundles/primeng-checkbox.umd.js.map +1 -1
  33. package/bundles/primeng-checkbox.umd.min.js.map +1 -1
  34. package/bundles/primeng-chips.umd.js +14 -11
  35. package/bundles/primeng-chips.umd.js.map +1 -1
  36. package/bundles/primeng-chips.umd.min.js.map +1 -1
  37. package/bundles/primeng-confirmdialog.umd.js +19 -7
  38. package/bundles/primeng-confirmdialog.umd.js.map +1 -1
  39. package/bundles/primeng-confirmdialog.umd.min.js +1 -1
  40. package/bundles/primeng-confirmdialog.umd.min.js.map +1 -1
  41. package/bundles/primeng-contextmenu.umd.js +15 -12
  42. package/bundles/primeng-contextmenu.umd.js.map +1 -1
  43. package/bundles/primeng-contextmenu.umd.min.js +1 -1
  44. package/bundles/primeng-contextmenu.umd.min.js.map +1 -1
  45. package/bundles/primeng-dataview.umd.js +25 -4
  46. package/bundles/primeng-dataview.umd.js.map +1 -1
  47. package/bundles/primeng-dataview.umd.min.js +1 -1
  48. package/bundles/primeng-dataview.umd.min.js.map +1 -1
  49. package/bundles/primeng-dom.umd.js +14 -11
  50. package/bundles/primeng-dom.umd.js.map +1 -1
  51. package/bundles/primeng-dom.umd.min.js.map +1 -1
  52. package/bundles/primeng-dropdown.umd.js +78 -46
  53. package/bundles/primeng-dropdown.umd.js.map +1 -1
  54. package/bundles/primeng-dropdown.umd.min.js +1 -1
  55. package/bundles/primeng-dropdown.umd.min.js.map +1 -1
  56. package/bundles/primeng-editor.umd.js +1 -1
  57. package/bundles/primeng-editor.umd.js.map +1 -1
  58. package/bundles/primeng-editor.umd.min.js +1 -1
  59. package/bundles/primeng-editor.umd.min.js.map +1 -1
  60. package/bundles/primeng-fileupload.umd.js +23 -11
  61. package/bundles/primeng-fileupload.umd.js.map +1 -1
  62. package/bundles/primeng-fileupload.umd.min.js +1 -1
  63. package/bundles/primeng-fileupload.umd.min.js.map +1 -1
  64. package/bundles/primeng-galleria.umd.js +17 -12
  65. package/bundles/primeng-galleria.umd.js.map +1 -1
  66. package/bundles/primeng-galleria.umd.min.js +1 -1
  67. package/bundles/primeng-galleria.umd.min.js.map +1 -1
  68. package/bundles/primeng-gmap.umd.js +14 -11
  69. package/bundles/primeng-gmap.umd.js.map +1 -1
  70. package/bundles/primeng-gmap.umd.min.js.map +1 -1
  71. package/bundles/primeng-inputnumber.umd.js +15 -12
  72. package/bundles/primeng-inputnumber.umd.js.map +1 -1
  73. package/bundles/primeng-inputnumber.umd.min.js +1 -1
  74. package/bundles/primeng-inputnumber.umd.min.js.map +1 -1
  75. package/bundles/primeng-keyfilter.umd.js +14 -11
  76. package/bundles/primeng-keyfilter.umd.js.map +1 -1
  77. package/bundles/primeng-keyfilter.umd.min.js.map +1 -1
  78. package/bundles/primeng-listbox.umd.js +69 -28
  79. package/bundles/primeng-listbox.umd.js.map +1 -1
  80. package/bundles/primeng-listbox.umd.min.js +1 -1
  81. package/bundles/primeng-listbox.umd.min.js.map +1 -1
  82. package/bundles/primeng-menu.umd.js +14 -11
  83. package/bundles/primeng-menu.umd.js.map +1 -1
  84. package/bundles/primeng-menu.umd.min.js.map +1 -1
  85. package/bundles/primeng-menubar.umd.js +1 -1
  86. package/bundles/primeng-menubar.umd.js.map +1 -1
  87. package/bundles/primeng-menubar.umd.min.js +1 -1
  88. package/bundles/primeng-menubar.umd.min.js.map +1 -1
  89. package/bundles/primeng-messages.umd.js +14 -11
  90. package/bundles/primeng-messages.umd.js.map +1 -1
  91. package/bundles/primeng-messages.umd.min.js.map +1 -1
  92. package/bundles/primeng-multiselect.umd.js +62 -32
  93. package/bundles/primeng-multiselect.umd.js.map +1 -1
  94. package/bundles/primeng-multiselect.umd.min.js +1 -1
  95. package/bundles/primeng-multiselect.umd.min.js.map +1 -1
  96. package/bundles/primeng-orderlist.umd.js +49 -16
  97. package/bundles/primeng-orderlist.umd.js.map +1 -1
  98. package/bundles/primeng-orderlist.umd.min.js +2 -2
  99. package/bundles/primeng-orderlist.umd.min.js.map +1 -1
  100. package/bundles/primeng-organizationchart.umd.js +14 -11
  101. package/bundles/primeng-organizationchart.umd.js.map +1 -1
  102. package/bundles/primeng-organizationchart.umd.min.js.map +1 -1
  103. package/bundles/primeng-paginator.umd.js +14 -11
  104. package/bundles/primeng-paginator.umd.js.map +1 -1
  105. package/bundles/primeng-paginator.umd.min.js.map +1 -1
  106. package/bundles/primeng-panelmenu.umd.js +14 -11
  107. package/bundles/primeng-panelmenu.umd.js.map +1 -1
  108. package/bundles/primeng-panelmenu.umd.min.js.map +1 -1
  109. package/bundles/primeng-password.umd.js +48 -38
  110. package/bundles/primeng-password.umd.js.map +1 -1
  111. package/bundles/primeng-password.umd.min.js +1 -1
  112. package/bundles/primeng-password.umd.min.js.map +1 -1
  113. package/bundles/primeng-picklist.umd.js +109 -48
  114. package/bundles/primeng-picklist.umd.js.map +1 -1
  115. package/bundles/primeng-picklist.umd.min.js +1 -1
  116. package/bundles/primeng-picklist.umd.min.js.map +1 -1
  117. package/bundles/primeng-radiobutton.umd.js +5 -11
  118. package/bundles/primeng-radiobutton.umd.js.map +1 -1
  119. package/bundles/primeng-radiobutton.umd.min.js +1 -1
  120. package/bundles/primeng-radiobutton.umd.min.js.map +1 -1
  121. package/bundles/primeng-scrollpanel.umd.js +1 -0
  122. package/bundles/primeng-scrollpanel.umd.js.map +1 -1
  123. package/bundles/primeng-scrollpanel.umd.min.js +1 -1
  124. package/bundles/primeng-scrollpanel.umd.min.js.map +1 -1
  125. package/bundles/primeng-selectbutton.umd.js +16 -13
  126. package/bundles/primeng-selectbutton.umd.js.map +1 -1
  127. package/bundles/primeng-selectbutton.umd.min.js +1 -1
  128. package/bundles/primeng-selectbutton.umd.min.js.map +1 -1
  129. package/bundles/primeng-sidebar.umd.js +77 -46
  130. package/bundles/primeng-sidebar.umd.js.map +1 -1
  131. package/bundles/primeng-sidebar.umd.min.js +1 -1
  132. package/bundles/primeng-sidebar.umd.min.js.map +1 -1
  133. package/bundles/primeng-skeleton.umd.js +1 -1
  134. package/bundles/primeng-skeleton.umd.js.map +1 -1
  135. package/bundles/primeng-skeleton.umd.min.js +1 -1
  136. package/bundles/primeng-skeleton.umd.min.js.map +1 -1
  137. package/bundles/primeng-splitter.umd.js +53 -22
  138. package/bundles/primeng-splitter.umd.js.map +1 -1
  139. package/bundles/primeng-splitter.umd.min.js +1 -1
  140. package/bundles/primeng-splitter.umd.min.js.map +1 -1
  141. package/bundles/primeng-table.umd.js +30 -17
  142. package/bundles/primeng-table.umd.js.map +1 -1
  143. package/bundles/primeng-table.umd.min.js +2 -2
  144. package/bundles/primeng-table.umd.min.js.map +1 -1
  145. package/bundles/primeng-tabmenu.umd.js +1 -1
  146. package/bundles/primeng-tabmenu.umd.js.map +1 -1
  147. package/bundles/primeng-tabmenu.umd.min.js +1 -1
  148. package/bundles/primeng-tabmenu.umd.min.js.map +1 -1
  149. package/bundles/primeng-tabview.umd.js +1 -0
  150. package/bundles/primeng-tabview.umd.js.map +1 -1
  151. package/bundles/primeng-tabview.umd.min.js +1 -1
  152. package/bundles/primeng-tabview.umd.min.js.map +1 -1
  153. package/bundles/primeng-tieredmenu.umd.js +1 -1
  154. package/bundles/primeng-tieredmenu.umd.js.map +1 -1
  155. package/bundles/primeng-tieredmenu.umd.min.js +1 -1
  156. package/bundles/primeng-tieredmenu.umd.min.js.map +1 -1
  157. package/bundles/primeng-timeline.umd.js +1 -1
  158. package/bundles/primeng-timeline.umd.js.map +1 -1
  159. package/bundles/primeng-timeline.umd.min.js +1 -1
  160. package/bundles/primeng-timeline.umd.min.js.map +1 -1
  161. package/bundles/primeng-toast.umd.js +14 -11
  162. package/bundles/primeng-toast.umd.js.map +1 -1
  163. package/bundles/primeng-toast.umd.min.js.map +1 -1
  164. package/bundles/primeng-togglebutton.umd.js +1 -1
  165. package/bundles/primeng-togglebutton.umd.min.js +1 -1
  166. package/bundles/primeng-togglebutton.umd.min.js.map +1 -1
  167. package/bundles/primeng-tree.umd.js +85 -30
  168. package/bundles/primeng-tree.umd.js.map +1 -1
  169. package/bundles/primeng-tree.umd.min.js +1 -1
  170. package/bundles/primeng-tree.umd.min.js.map +1 -1
  171. package/bundles/primeng-treetable.umd.js +18 -11
  172. package/bundles/primeng-treetable.umd.js.map +1 -1
  173. package/bundles/primeng-treetable.umd.min.js +1 -1
  174. package/bundles/primeng-treetable.umd.min.js.map +1 -1
  175. package/bundles/primeng-tristatecheckbox.umd.js +5 -1
  176. package/bundles/primeng-tristatecheckbox.umd.js.map +1 -1
  177. package/bundles/primeng-tristatecheckbox.umd.min.js +1 -1
  178. package/bundles/primeng-tristatecheckbox.umd.min.js.map +1 -1
  179. package/button/button.d.ts +10 -0
  180. package/button/primeng-button.metadata.json +1 -1
  181. package/calendar/calendar.d.ts +3 -1
  182. package/calendar/primeng-calendar.metadata.json +1 -1
  183. package/carousel/carousel.d.ts +7 -2
  184. package/carousel/primeng-carousel.metadata.json +1 -1
  185. package/cascadeselect/primeng-cascadeselect.metadata.json +1 -1
  186. package/confirmdialog/confirmdialog.d.ts +2 -0
  187. package/confirmdialog/primeng-confirmdialog.metadata.json +1 -1
  188. package/contextmenu/primeng-contextmenu.metadata.json +1 -1
  189. package/dataview/dataview.d.ts +10 -4
  190. package/dataview/primeng-dataview.metadata.json +1 -1
  191. package/dropdown/dropdown.d.ts +15 -7
  192. package/dropdown/primeng-dropdown.metadata.json +1 -1
  193. package/esm2015/api/primengconfig.js +4 -2
  194. package/esm2015/api/translation.js +1 -1
  195. package/esm2015/api/translationkeys.js +3 -1
  196. package/esm2015/autocomplete/autocomplete.js +70 -22
  197. package/esm2015/button/button.js +75 -20
  198. package/esm2015/calendar/calendar.js +18 -11
  199. package/esm2015/carousel/carousel.js +14 -6
  200. package/esm2015/cascadeselect/cascadeselect.js +1 -2
  201. package/esm2015/confirmdialog/confirmdialog.js +22 -7
  202. package/esm2015/contextmenu/contextmenu.js +5 -6
  203. package/esm2015/dataview/dataview.js +27 -6
  204. package/esm2015/dropdown/dropdown.js +69 -34
  205. package/esm2015/editor/editor.js +2 -2
  206. package/esm2015/fileupload/fileupload.js +9 -1
  207. package/esm2015/galleria/galleria.js +4 -2
  208. package/esm2015/inputnumber/inputnumber.js +2 -2
  209. package/esm2015/listbox/listbox.js +55 -14
  210. package/esm2015/menubar/menubar.js +4 -5
  211. package/esm2015/multiselect/multiselect.js +51 -21
  212. package/esm2015/orderlist/orderlist.js +48 -9
  213. package/esm2015/password/password.js +50 -40
  214. package/esm2015/picklist/picklist.js +140 -70
  215. package/esm2015/radiobutton/radiobutton.js +6 -12
  216. package/esm2015/scrollpanel/scrollpanel.js +2 -1
  217. package/esm2015/selectbutton/selectbutton.js +3 -3
  218. package/esm2015/sidebar/sidebar.js +77 -53
  219. package/esm2015/skeleton/skeleton.js +2 -2
  220. package/esm2015/splitter/splitter.js +40 -13
  221. package/esm2015/table/table.js +18 -8
  222. package/esm2015/tabmenu/tabmenu.js +2 -2
  223. package/esm2015/tabview/tabview.js +2 -1
  224. package/esm2015/tieredmenu/tieredmenu.js +4 -4
  225. package/esm2015/timeline/timeline.js +3 -3
  226. package/esm2015/togglebutton/togglebutton.js +1 -1
  227. package/esm2015/tree/tree.js +82 -20
  228. package/esm2015/treetable/treetable.js +5 -1
  229. package/esm2015/tristatecheckbox/tristatecheckbox.js +6 -2
  230. package/fesm2015/primeng-api.js +5 -1
  231. package/fesm2015/primeng-api.js.map +1 -1
  232. package/fesm2015/primeng-autocomplete.js +69 -21
  233. package/fesm2015/primeng-autocomplete.js.map +1 -1
  234. package/fesm2015/primeng-button.js +74 -19
  235. package/fesm2015/primeng-button.js.map +1 -1
  236. package/fesm2015/primeng-calendar.js +17 -10
  237. package/fesm2015/primeng-calendar.js.map +1 -1
  238. package/fesm2015/primeng-carousel.js +13 -5
  239. package/fesm2015/primeng-carousel.js.map +1 -1
  240. package/fesm2015/primeng-cascadeselect.js +0 -1
  241. package/fesm2015/primeng-cascadeselect.js.map +1 -1
  242. package/fesm2015/primeng-confirmdialog.js +21 -6
  243. package/fesm2015/primeng-confirmdialog.js.map +1 -1
  244. package/fesm2015/primeng-contextmenu.js +4 -5
  245. package/fesm2015/primeng-contextmenu.js.map +1 -1
  246. package/fesm2015/primeng-dataview.js +26 -5
  247. package/fesm2015/primeng-dataview.js.map +1 -1
  248. package/fesm2015/primeng-dropdown.js +68 -34
  249. package/fesm2015/primeng-dropdown.js.map +1 -1
  250. package/fesm2015/primeng-editor.js +1 -1
  251. package/fesm2015/primeng-editor.js.map +1 -1
  252. package/fesm2015/primeng-fileupload.js +8 -0
  253. package/fesm2015/primeng-fileupload.js.map +1 -1
  254. package/fesm2015/primeng-galleria.js +3 -1
  255. package/fesm2015/primeng-galleria.js.map +1 -1
  256. package/fesm2015/primeng-inputnumber.js +1 -1
  257. package/fesm2015/primeng-inputnumber.js.map +1 -1
  258. package/fesm2015/primeng-listbox.js +54 -13
  259. package/fesm2015/primeng-listbox.js.map +1 -1
  260. package/fesm2015/primeng-menubar.js +3 -4
  261. package/fesm2015/primeng-menubar.js.map +1 -1
  262. package/fesm2015/primeng-multiselect.js +50 -20
  263. package/fesm2015/primeng-multiselect.js.map +1 -1
  264. package/fesm2015/primeng-orderlist.js +47 -8
  265. package/fesm2015/primeng-orderlist.js.map +1 -1
  266. package/fesm2015/primeng-password.js +49 -39
  267. package/fesm2015/primeng-password.js.map +1 -1
  268. package/fesm2015/primeng-picklist.js +140 -70
  269. package/fesm2015/primeng-picklist.js.map +1 -1
  270. package/fesm2015/primeng-radiobutton.js +5 -11
  271. package/fesm2015/primeng-radiobutton.js.map +1 -1
  272. package/fesm2015/primeng-scrollpanel.js +1 -0
  273. package/fesm2015/primeng-scrollpanel.js.map +1 -1
  274. package/fesm2015/primeng-selectbutton.js +2 -2
  275. package/fesm2015/primeng-selectbutton.js.map +1 -1
  276. package/fesm2015/primeng-sidebar.js +76 -52
  277. package/fesm2015/primeng-sidebar.js.map +1 -1
  278. package/fesm2015/primeng-skeleton.js +1 -1
  279. package/fesm2015/primeng-skeleton.js.map +1 -1
  280. package/fesm2015/primeng-splitter.js +39 -12
  281. package/fesm2015/primeng-splitter.js.map +1 -1
  282. package/fesm2015/primeng-table.js +17 -7
  283. package/fesm2015/primeng-table.js.map +1 -1
  284. package/fesm2015/primeng-tabmenu.js +1 -1
  285. package/fesm2015/primeng-tabmenu.js.map +1 -1
  286. package/fesm2015/primeng-tabview.js +1 -0
  287. package/fesm2015/primeng-tabview.js.map +1 -1
  288. package/fesm2015/primeng-tieredmenu.js +3 -3
  289. package/fesm2015/primeng-tieredmenu.js.map +1 -1
  290. package/fesm2015/primeng-timeline.js +2 -2
  291. package/fesm2015/primeng-timeline.js.map +1 -1
  292. package/fesm2015/primeng-togglebutton.js +1 -1
  293. package/fesm2015/primeng-tree.js +81 -20
  294. package/fesm2015/primeng-tree.js.map +1 -1
  295. package/fesm2015/primeng-treetable.js +4 -0
  296. package/fesm2015/primeng-treetable.js.map +1 -1
  297. package/fesm2015/primeng-tristatecheckbox.js +5 -1
  298. package/fesm2015/primeng-tristatecheckbox.js.map +1 -1
  299. package/fileupload/fileupload.d.ts +5 -2
  300. package/fileupload/primeng-fileupload.metadata.json +1 -1
  301. package/galleria/galleria.d.ts +3 -2
  302. package/galleria/primeng-galleria.metadata.json +1 -1
  303. package/inputnumber/primeng-inputnumber.metadata.json +1 -1
  304. package/listbox/listbox.d.ts +16 -4
  305. package/listbox/primeng-listbox.metadata.json +1 -1
  306. package/menubar/primeng-menubar.metadata.json +1 -1
  307. package/multiselect/multiselect.d.ts +10 -3
  308. package/multiselect/primeng-multiselect.metadata.json +1 -1
  309. package/orderlist/orderlist.d.ts +5 -1
  310. package/orderlist/primeng-orderlist.metadata.json +1 -1
  311. package/package.json +1 -1
  312. package/password/password.d.ts +5 -4
  313. package/password/primeng-password.metadata.json +1 -1
  314. package/picklist/picklist.d.ts +16 -7
  315. package/picklist/primeng-picklist.metadata.json +1 -1
  316. package/radiobutton/primeng-radiobutton.metadata.json +1 -1
  317. package/resources/components/button/button.css +4 -0
  318. package/resources/components/calendar/calendar.css +0 -1
  319. package/resources/components/orderlist/orderlist.css +1 -0
  320. package/resources/components/picklist/picklist.css +1 -0
  321. package/resources/components/sidebar/sidebar.css +12 -26
  322. package/resources/primeng.css +4 -0
  323. package/resources/primeng.min.css +1 -1
  324. package/resources/themes/arya-blue/theme.css +49 -9
  325. package/resources/themes/arya-green/theme.css +49 -9
  326. package/resources/themes/arya-orange/theme.css +49 -9
  327. package/resources/themes/arya-purple/theme.css +49 -9
  328. package/resources/themes/bootstrap4-dark-blue/theme.css +49 -9
  329. package/resources/themes/bootstrap4-dark-purple/theme.css +49 -9
  330. package/resources/themes/bootstrap4-light-blue/theme.css +49 -9
  331. package/resources/themes/bootstrap4-light-purple/theme.css +49 -9
  332. package/resources/themes/fluent-light/theme.css +47 -7
  333. package/resources/themes/luna-amber/theme.css +49 -9
  334. package/resources/themes/luna-blue/theme.css +49 -9
  335. package/resources/themes/luna-green/theme.css +49 -9
  336. package/resources/themes/luna-pink/theme.css +49 -9
  337. package/resources/themes/md-dark-deeppurple/theme.css +60 -14
  338. package/resources/themes/md-dark-indigo/theme.css +60 -14
  339. package/resources/themes/md-light-deeppurple/theme.css +60 -14
  340. package/resources/themes/md-light-indigo/theme.css +60 -14
  341. package/resources/themes/mdc-dark-deeppurple/theme.css +60 -14
  342. package/resources/themes/mdc-dark-indigo/theme.css +60 -14
  343. package/resources/themes/mdc-light-deeppurple/theme.css +60 -14
  344. package/resources/themes/mdc-light-indigo/theme.css +60 -14
  345. package/resources/themes/nova/theme.css +49 -9
  346. package/resources/themes/nova-accent/theme.css +49 -9
  347. package/resources/themes/nova-alt/theme.css +49 -9
  348. package/resources/themes/rhea/theme.css +49 -9
  349. package/resources/themes/saga-blue/theme.css +49 -9
  350. package/resources/themes/saga-green/theme.css +49 -9
  351. package/resources/themes/saga-orange/theme.css +49 -9
  352. package/resources/themes/saga-purple/theme.css +49 -9
  353. package/resources/themes/vela-blue/theme.css +49 -9
  354. package/resources/themes/vela-green/theme.css +49 -9
  355. package/resources/themes/vela-orange/theme.css +49 -9
  356. package/resources/themes/vela-purple/theme.css +49 -9
  357. package/scrollpanel/primeng-scrollpanel.metadata.json +1 -1
  358. package/selectbutton/primeng-selectbutton.metadata.json +1 -1
  359. package/sidebar/primeng-sidebar.metadata.json +1 -1
  360. package/sidebar/sidebar.d.ts +12 -8
  361. package/skeleton/skeleton.d.ts +1 -1
  362. package/splitter/primeng-splitter.metadata.json +1 -1
  363. package/splitter/splitter.d.ts +5 -1
  364. package/table/primeng-table.metadata.json +1 -1
  365. package/table/table.d.ts +3 -0
  366. package/tabmenu/primeng-tabmenu.metadata.json +1 -1
  367. package/tabview/primeng-tabview.metadata.json +1 -1
  368. package/tieredmenu/primeng-tieredmenu.metadata.json +1 -1
  369. package/timeline/primeng-timeline.metadata.json +1 -1
  370. package/togglebutton/primeng-togglebutton.metadata.json +1 -1
  371. package/tree/primeng-tree.metadata.json +1 -1
  372. package/tree/tree.d.ts +12 -4
  373. package/treetable/primeng-treetable.metadata.json +1 -1
  374. package/tristatecheckbox/primeng-tristatecheckbox.metadata.json +1 -1
  375. package/tristatecheckbox/tristatecheckbox.d.ts +2 -0
@@ -2,7 +2,7 @@ import { CdkVirtualScrollViewport, ScrollingModule } from '@angular/cdk/scrollin
2
2
  import { forwardRef, EventEmitter, Component, Input, Output, ChangeDetectionStrategy, ViewEncapsulation, ElementRef, Renderer2, ChangeDetectorRef, NgZone, ViewChild, ContentChildren, NgModule } from '@angular/core';
3
3
  import { trigger, transition, style, animate } from '@angular/animations';
4
4
  import { CommonModule } from '@angular/common';
5
- import { FilterService, PrimeTemplate, SharedModule } from 'primeng/api';
5
+ import { TranslationKeys, FilterService, PrimeNGConfig, PrimeTemplate, SharedModule } from 'primeng/api';
6
6
  import { DomHandler, ConnectedOverlayScrollHandler } from 'primeng/dom';
7
7
  import { ObjectUtils } from 'primeng/utils';
8
8
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
@@ -50,17 +50,20 @@ DropdownItem.propDecorators = {
50
50
  onClick: [{ type: Output }]
51
51
  };
52
52
  class Dropdown {
53
- constructor(el, renderer, cd, zone, filterService) {
53
+ constructor(el, renderer, cd, zone, filterService, config) {
54
54
  this.el = el;
55
55
  this.renderer = renderer;
56
56
  this.cd = cd;
57
57
  this.zone = zone;
58
58
  this.filterService = filterService;
59
+ this.config = config;
59
60
  this.scrollHeight = '200px';
60
61
  this.resetFilterOnHide = false;
61
62
  this.dropdownIcon = 'pi pi-chevron-down';
63
+ this.optionGroupChildren = "items";
62
64
  this.autoDisplayFirst = true;
63
- this.emptyFilterMessage = 'No results found';
65
+ this.emptyFilterMessage = '';
66
+ this.emptyMessage = '';
64
67
  this.autoZIndex = true;
65
68
  this.baseZIndex = 0;
66
69
  this.showTransitionOptions = '.12s cubic-bezier(0, 0, 0.2, 1)';
@@ -71,6 +74,7 @@ class Dropdown {
71
74
  this.tooltipPositionStyle = 'absolute';
72
75
  this.autofocusFilter = true;
73
76
  this.onChange = new EventEmitter();
77
+ this.onFilter = new EventEmitter();
74
78
  this.onFocus = new EventEmitter();
75
79
  this.onBlur = new EventEmitter();
76
80
  this.onClick = new EventEmitter();
@@ -85,8 +89,11 @@ class Dropdown {
85
89
  }
86
90
  ;
87
91
  set disabled(_disabled) {
88
- if (_disabled)
92
+ if (_disabled) {
89
93
  this.focused = false;
94
+ if (this.overlayVisible)
95
+ this.hide();
96
+ }
90
97
  this._disabled = _disabled;
91
98
  if (!this.cd.destroyed) {
92
99
  this.cd.detectChanges();
@@ -101,6 +108,18 @@ class Dropdown {
101
108
  case 'selectedItem':
102
109
  this.selectedItemTemplate = item.template;
103
110
  break;
111
+ case 'header':
112
+ this.headerTemplate = item.template;
113
+ break;
114
+ case 'footer':
115
+ this.footerTemplate = item.template;
116
+ break;
117
+ case 'emptyfilter':
118
+ this.emptyFilterTemplate = item.template;
119
+ break;
120
+ case 'empty':
121
+ this.emptyTemplate = item.template;
122
+ break;
104
123
  case 'group':
105
124
  this.groupTemplate = item.template;
106
125
  break;
@@ -122,7 +141,6 @@ class Dropdown {
122
141
  this.optionsToDisplay = this._options;
123
142
  this.updateSelectedOption(this.value);
124
143
  this.optionsChanged = true;
125
- this.updateFilledState();
126
144
  if (this._filterValue && this._filterValue.length) {
127
145
  this.activateFilter();
128
146
  }
@@ -142,6 +160,12 @@ class Dropdown {
142
160
  get label() {
143
161
  return this.selectedOption ? this.getOptionLabel(this.selectedOption) : null;
144
162
  }
163
+ get emptyMessageLabel() {
164
+ return this.emptyMessage || this.config.getTranslation(TranslationKeys.EMPTY_MESSAGE);
165
+ }
166
+ get emptyFilterMessageLabel() {
167
+ return this.emptyFilterMessage || this.config.getTranslation(TranslationKeys.EMPTY_FILTER_MESSAGE);
168
+ }
145
169
  updateEditableLabel() {
146
170
  if (this.editableInputViewChild && this.editableInputViewChild.nativeElement) {
147
171
  this.editableInputViewChild.nativeElement.value = (this.selectedOption ? this.getOptionLabel(this.selectedOption) : this.value || '');
@@ -151,7 +175,7 @@ class Dropdown {
151
175
  return this.optionLabel ? ObjectUtils.resolveFieldData(option, this.optionLabel) : (option.label != undefined ? option.label : option);
152
176
  }
153
177
  getOptionValue(option) {
154
- return this.optionValue ? ObjectUtils.resolveFieldData(option, this.optionValue) : (this.optionLabel ? option : option.value);
178
+ return this.optionValue ? ObjectUtils.resolveFieldData(option, this.optionValue) : (this.optionLabel || option.value === undefined ? option : option.value);
155
179
  }
156
180
  isOptionDisabled(option) {
157
181
  return this.optionDisabled ? ObjectUtils.resolveFieldData(option, this.optionDisabled) : (option.disabled !== undefined ? option.disabled : false);
@@ -169,14 +193,13 @@ class Dropdown {
169
193
  this.accessibleViewChild.nativeElement.focus();
170
194
  }
171
195
  setTimeout(() => {
172
- this.hide(event);
196
+ this.hide();
173
197
  }, 150);
174
198
  }
175
199
  selectItem(event, option) {
176
200
  if (this.selectedOption != option) {
177
201
  this.selectedOption = option;
178
202
  this.value = this.getOptionValue(option);
179
- this.filled = true;
180
203
  this.onModelChange(this.value);
181
204
  this.updateEditableLabel();
182
205
  this.onChange.emit({
@@ -224,7 +247,6 @@ class Dropdown {
224
247
  this.value = value;
225
248
  this.updateSelectedOption(value);
226
249
  this.updateEditableLabel();
227
- this.updateFilledState();
228
250
  this.cd.markForCheck();
229
251
  }
230
252
  resetFilter() {
@@ -258,7 +280,7 @@ class Dropdown {
258
280
  this.onClick.emit(event);
259
281
  this.accessibleViewChild.nativeElement.focus();
260
282
  if (this.overlayVisible)
261
- this.hide(event);
283
+ this.hide();
262
284
  else
263
285
  this.show();
264
286
  this.cd.detectChanges();
@@ -271,12 +293,15 @@ class Dropdown {
271
293
  isOutsideClicked(event) {
272
294
  return !(this.el.nativeElement.isSameNode(event.target) || this.el.nativeElement.contains(event.target) || (this.overlay && this.overlay.contains(event.target)));
273
295
  }
296
+ isEmpty() {
297
+ return !this.optionsToDisplay || (this.optionsToDisplay && this.optionsToDisplay.length === 0);
298
+ }
274
299
  onEditableInputClick() {
275
300
  this.bindDocumentClickListener();
276
301
  }
277
302
  onEditableInputFocus(event) {
278
303
  this.focused = true;
279
- this.hide(event);
304
+ this.hide();
280
305
  this.onFocus.emit(event);
281
306
  }
282
307
  onEditableInputChange(event) {
@@ -323,6 +348,7 @@ class Dropdown {
323
348
  break;
324
349
  case 'void':
325
350
  this.onOverlayHide();
351
+ this.onHide.emit(event);
326
352
  break;
327
353
  }
328
354
  }
@@ -361,7 +387,7 @@ class Dropdown {
361
387
  this.el.nativeElement.appendChild(this.overlay);
362
388
  }
363
389
  }
364
- hide(event) {
390
+ hide() {
365
391
  this.overlayVisible = false;
366
392
  if (this.filter && this.resetFilterOnHide) {
367
393
  this.resetFilter();
@@ -370,7 +396,6 @@ class Dropdown {
370
396
  this.virtualAutoScrolled = false;
371
397
  }
372
398
  this.cd.markForCheck();
373
- this.onHide.emit(event);
374
399
  }
375
400
  alignOverlay() {
376
401
  if (this.overlay) {
@@ -527,18 +552,18 @@ class Dropdown {
527
552
  //enter
528
553
  case 13:
529
554
  if (!this.filter || (this.optionsToDisplay && this.optionsToDisplay.length > 0)) {
530
- this.hide(event);
555
+ this.hide();
531
556
  }
532
557
  event.preventDefault();
533
558
  break;
534
559
  //escape and tab
535
560
  case 27:
536
561
  case 9:
537
- this.hide(event);
562
+ this.hide();
538
563
  break;
539
564
  //search item based on keyboard input
540
565
  default:
541
- if (search) {
566
+ if (search && !event.metaKey) {
542
567
  this.search(event);
543
568
  }
544
569
  break;
@@ -663,7 +688,7 @@ class Dropdown {
663
688
  return (index != -1) ? opts[index] : null;
664
689
  }
665
690
  }
666
- onFilter(event) {
691
+ onFilterInputChange(event) {
667
692
  let inputValue = event.target.value;
668
693
  if (inputValue && inputValue.length) {
669
694
  this._filterValue = inputValue;
@@ -674,6 +699,7 @@ class Dropdown {
674
699
  this.optionsToDisplay = this.options;
675
700
  }
676
701
  this.optionsChanged = true;
702
+ this.onFilter.emit({ originalEvent: event, filter: this._filterValue });
677
703
  }
678
704
  activateFilter() {
679
705
  let searchFields = (this.filterBy || this.optionLabel || 'label').split(',');
@@ -683,11 +709,7 @@ class Dropdown {
683
709
  for (let optgroup of this.options) {
684
710
  let filteredSubOptions = this.filterService.filter(this.getOptionGroupChildren(optgroup), searchFields, this.filterValue, this.filterMatchMode, this.filterLocale);
685
711
  if (filteredSubOptions && filteredSubOptions.length) {
686
- filteredGroups.push({
687
- label: optgroup.label,
688
- value: optgroup.value,
689
- items: filteredSubOptions
690
- });
712
+ filteredGroups.push(Object.assign(Object.assign({}, optgroup), { [this.optionGroupChildren]: filteredSubOptions }));
691
713
  }
692
714
  }
693
715
  this.optionsToDisplay = filteredGroups;
@@ -712,7 +734,7 @@ class Dropdown {
712
734
  const documentTarget = this.el ? this.el.nativeElement.ownerDocument : 'document';
713
735
  this.documentClickListener = this.renderer.listen(documentTarget, 'click', (event) => {
714
736
  if (this.isOutsideClicked(event)) {
715
- this.hide(event);
737
+ this.hide();
716
738
  this.unbindDocumentClickListener();
717
739
  }
718
740
  this.cd.markForCheck();
@@ -737,14 +759,14 @@ class Dropdown {
737
759
  }
738
760
  onWindowResize() {
739
761
  if (!DomHandler.isAndroid()) {
740
- this.hide(event);
762
+ this.hide();
741
763
  }
742
764
  }
743
765
  bindScrollListener() {
744
766
  if (!this.scrollHandler) {
745
767
  this.scrollHandler = new ConnectedOverlayScrollHandler(this.containerViewChild.nativeElement, (event) => {
746
768
  if (this.overlayVisible) {
747
- this.hide(event);
769
+ this.hide();
748
770
  }
749
771
  });
750
772
  }
@@ -755,9 +777,6 @@ class Dropdown {
755
777
  this.scrollHandler.unbindScrollListener();
756
778
  }
757
779
  }
758
- updateFilledState() {
759
- this.filled = (this.selectedOption != null);
760
- }
761
780
  clear(event) {
762
781
  this.value = null;
763
782
  this.onModelChange(this.value);
@@ -767,7 +786,6 @@ class Dropdown {
767
786
  });
768
787
  this.updateSelectedOption(this.value);
769
788
  this.updateEditableLabel();
770
- this.updateFilledState();
771
789
  }
772
790
  onOverlayHide() {
773
791
  this.unbindDocumentClickListener();
@@ -810,15 +828,16 @@ Dropdown.decorators = [
810
828
  <span class="p-dropdown-trigger-icon" [ngClass]="dropdownIcon"></span>
811
829
  </div>
812
830
  <div *ngIf="overlayVisible" [ngClass]="'p-dropdown-panel p-component'" [@overlayAnimation]="{value: 'visible', params: {showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions}}" (@overlayAnimation.start)="onOverlayAnimationStart($event)" [ngStyle]="panelStyle" [class]="panelStyleClass">
831
+ <ng-container *ngTemplateOutlet="headerTemplate"></ng-container>
813
832
  <div class="p-dropdown-header" *ngIf="filter" >
814
833
  <div class="p-dropdown-filter-container" (click)="$event.stopPropagation()">
815
834
  <input #filter type="text" autocomplete="off" [value]="filterValue||''" class="p-dropdown-filter p-inputtext p-component" [attr.placeholder]="filterPlaceholder"
816
- (keydown.enter)="$event.preventDefault()" (keydown)="onKeydown($event, false)" (input)="onFilter($event)" [attr.aria-label]="ariaFilterLabel">
835
+ (keydown.enter)="$event.preventDefault()" (keydown)="onKeydown($event, false)" (input)="onFilterInputChange($event)" [attr.aria-label]="ariaFilterLabel">
817
836
  <span class="p-dropdown-filter-icon pi pi-search"></span>
818
837
  </div>
819
838
  </div>
820
839
  <div class="p-dropdown-items-wrapper" [style.max-height]="virtualScroll ? 'auto' : (scrollHeight||'auto')">
821
- <ul class="p-dropdown-items" role="listbox">
840
+ <ul class="p-dropdown-items" [ngClass]="{'p-dropdown-virtualscroll': virtualScroll}" role="listbox">
822
841
  <ng-container *ngIf="group">
823
842
  <ng-template ngFor let-optgroup [ngForOf]="optionsToDisplay">
824
843
  <li class="p-dropdown-item-group">
@@ -849,9 +868,21 @@ Dropdown.decorators = [
849
868
  </cdk-virtual-scroll-viewport>
850
869
  </ng-template>
851
870
  </ng-template>
852
- <li *ngIf="filter && (!optionsToDisplay || (optionsToDisplay && optionsToDisplay.length === 0))" class="p-dropdown-empty-message">{{emptyFilterMessage}}</li>
871
+ <li *ngIf="filterValue && isEmpty()" class="p-dropdown-empty-message">
872
+ <ng-container *ngIf="!emptyFilterTemplate && !emptyTemplate; else emptyFilter">
873
+ {{emptyFilterMessageLabel}}
874
+ </ng-container>
875
+ <ng-container #emptyFilter *ngTemplateOutlet="emptyFilterTemplate || emptyTemplate"></ng-container>
876
+ </li>
877
+ <li *ngIf="!filterValue && isEmpty()" class="p-dropdown-empty-message">
878
+ <ng-container *ngIf="!emptyTemplate; else empty">
879
+ {{emptyMessageLabel}}
880
+ </ng-container>
881
+ <ng-container #empty *ngTemplateOutlet="emptyTemplate"></ng-container>
882
+ </li>
853
883
  </ul>
854
884
  </div>
885
+ <ng-container *ngTemplateOutlet="footerTemplate"></ng-container>
855
886
  </div>
856
887
  </div>
857
888
  `,
@@ -867,7 +898,7 @@ Dropdown.decorators = [
867
898
  ])
868
899
  ],
869
900
  host: {
870
- '[class.p-inputwrapper-filled]': 'filled',
901
+ '[class.p-inputwrapper-filled]': 'value',
871
902
  '[class.p-inputwrapper-focus]': 'focused || overlayVisible'
872
903
  },
873
904
  providers: [DROPDOWN_VALUE_ACCESSOR],
@@ -881,7 +912,8 @@ Dropdown.ctorParameters = () => [
881
912
  { type: Renderer2 },
882
913
  { type: ChangeDetectorRef },
883
914
  { type: NgZone },
884
- { type: FilterService }
915
+ { type: FilterService },
916
+ { type: PrimeNGConfig }
885
917
  ];
886
918
  Dropdown.propDecorators = {
887
919
  scrollHeight: [{ type: Input }],
@@ -915,6 +947,7 @@ Dropdown.propDecorators = {
915
947
  group: [{ type: Input }],
916
948
  showClear: [{ type: Input }],
917
949
  emptyFilterMessage: [{ type: Input }],
950
+ emptyMessage: [{ type: Input }],
918
951
  virtualScroll: [{ type: Input }],
919
952
  itemSize: [{ type: Input }],
920
953
  autoZIndex: [{ type: Input }],
@@ -931,6 +964,7 @@ Dropdown.propDecorators = {
931
964
  tooltipStyleClass: [{ type: Input }],
932
965
  autofocusFilter: [{ type: Input }],
933
966
  onChange: [{ type: Output }],
967
+ onFilter: [{ type: Output }],
934
968
  onFocus: [{ type: Output }],
935
969
  onBlur: [{ type: Output }],
936
970
  onClick: [{ type: Output }],