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,"file":"primeng-inputnumber.umd.js","sources":["../../node_modules/tslib/tslib.es6.js","../../../src/app/components/inputnumber/inputnumber.ts","../../../src/app/components/inputnumber/primeng-inputnumber.ts"],"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","\nimport {NgModule,Component,ChangeDetectionStrategy, Input, ElementRef, ViewChild, OnInit, EventEmitter, Output, forwardRef, ViewEncapsulation, ChangeDetectorRef} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {InputTextModule} from 'primeng/inputtext';\nimport { ButtonModule } from 'primeng/button';\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\n\nexport const INPUTNUMBER_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InputNumber),\n multi: true\n};\n@Component({\n selector: 'p-inputNumber',\n template: `\n <span [ngClass]=\"{'p-inputnumber p-component': true,'p-inputnumber-buttons-stacked': this.showButtons && this.buttonLayout === 'stacked',\n 'p-inputnumber-buttons-horizontal': this.showButtons && this.buttonLayout === 'horizontal', 'p-inputnumber-buttons-vertical': this.showButtons && this.buttonLayout === 'vertical'}\"\n [ngStyle]=\"style\" [class]=\"styleClass\">\n <input #input [ngClass]=\"'p-inputnumber-input'\" [ngStyle]=\"inputStyle\" [class]=\"inputStyleClass\" pInputText [value]=\"formattedValue()\" [attr.placeholder]=\"placeholder\" [attr.title]=\"title\" [attr.id]=\"inputId\"\n [attr.size]=\"size\" [attr.name]=\"name\" [attr.autocomplete]=\"autocomplete\" [attr.maxlength]=\"maxlength\" [attr.tabindex]=\"tabindex\" [attr.aria-label]=\"ariaLabel\"\n [attr.aria-required]=\"ariaRequired\" [disabled]=\"disabled\" [attr.required]=\"required\" [attr.aria-valumin]=\"min\" [attr.aria-valuemax]=\"max\"\n (input)=\"onUserInput($event)\" (keydown)=\"onInputKeyDown($event)\" (keypress)=\"onInputKeyPress($event)\" (paste)=\"onPaste($event)\" (click)=\"onInputClick()\"\n (focus)=\"onInputFocus($event)\" (blur)=\"onInputBlur($event)\">\n <span class=\"p-inputnumber-button-group\" *ngIf=\"showButtons && buttonLayout === 'stacked'\">\n <button type=\"button\" pButton [ngClass]=\"{'p-inputnumber-button p-inputnumber-button-up': true}\" [class]=\"incrementButtonClass\" [icon]=\"incrementButtonIcon\" [disabled]=\"disabled\"\n (mousedown)=\"this.onUpButtonMouseDown($event)\" (mouseup)=\"onUpButtonMouseUp()\" (mouseleave)=\"onUpButtonMouseLeave()\" (keydown)=\"onUpButtonKeyDown($event)\" (keyup)=\"onUpButtonKeyUp()\"></button>\n <button type=\"button\" pButton [ngClass]=\"{'p-inputnumber-button p-inputnumber-button-down': true}\" [class]=\"decrementButtonClass\" [icon]=\"decrementButtonIcon\" [disabled]=\"disabled\"\n (mousedown)=\"this.onDownButtonMouseDown($event)\" (mouseup)=\"onDownButtonMouseUp()\" (mouseleave)=\"onDownButtonMouseLeave()\" (keydown)=\"onDownButtonKeyDown($event)\" (keyup)=\"onDownButtonKeyUp()\"></button>\n </span>\n <button type=\"button\" pButton [ngClass]=\"{'p-inputnumber-button p-inputnumber-button-up': true}\" [class]=\"incrementButtonClass\" [icon]=\"incrementButtonIcon\" *ngIf=\"showButtons && buttonLayout !== 'stacked'\" [disabled]=\"disabled\"\n (mousedown)=\"this.onUpButtonMouseDown($event)\" (mouseup)=\"onUpButtonMouseUp()\" (mouseleave)=\"onUpButtonMouseLeave()\" (keydown)=\"onUpButtonKeyDown($event)\" (keyup)=\"onUpButtonKeyUp()\"></button>\n <button type=\"button\" pButton [ngClass]=\"{'p-inputnumber-button p-inputnumber-button-down': true}\" [class]=\"decrementButtonClass\" [icon]=\"decrementButtonIcon\" *ngIf=\"showButtons && buttonLayout !== 'stacked'\" [disabled]=\"disabled\"\n (mousedown)=\"this.onDownButtonMouseDown($event)\" (mouseup)=\"onDownButtonMouseUp()\" (mouseleave)=\"onDownButtonMouseLeave()\" (keydown)=\"onDownButtonKeyDown($event)\" (keyup)=\"onDownButtonKeyUp()\"></button>\n </span>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [INPUTNUMBER_VALUE_ACCESSOR],\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./inputnumber.css'],\n host: {\n '[class.p-inputwrapper-filled]': 'filled',\n '[class.p-inputwrapper-focus]': 'focused'\n }\n})\nexport class InputNumber implements OnInit,ControlValueAccessor {\n\n @Input() showButtons: boolean = false;\n\n @Input() format: boolean = true;\n\n @Input() buttonLayout: string = \"stacked\";\n\n @Input() disabled: boolean;\n\n @Input() inputId: string;\n\n @Input() styleClass: string;\n\n @Input() style: any;\n\n @Input() placeholder: string;\n\n @Input() size: number;\n\n @Input() maxlength: number;\n\n @Input() tabindex: string;\n\n @Input() title: string;\n\n @Input() ariaLabel: string;\n\n @Input() ariaRequired: boolean;\n\n @Input() name: string;\n\n @Input() required: boolean;\n\n @Input() autocomplete: string;\n\n @Input() min: number;\n\n @Input() max: number;\n\n @Input() incrementButtonClass: string;\n\n @Input() decrementButtonClass: string;\n\n @Input() incrementButtonIcon: string = 'pi pi-angle-up';\n\n @Input() decrementButtonIcon: string = 'pi pi-angle-down';\n\n @Input() step: number = 1;\n\n @Input() inputStyle: any;\n\n @Input() inputStyleClass: string;\n\n @ViewChild('input') input: ElementRef;\n\n @Output() onInput: EventEmitter<any> = new EventEmitter();\n\n @Output() onFocus: EventEmitter<any> = new EventEmitter();\n\n @Output() onBlur: EventEmitter<any> = new EventEmitter();\n\n @Output() onKeyDown: EventEmitter<any> = new EventEmitter();\n\n value: number;\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n focused: boolean;\n\n initialized: boolean;\n\n groupChar: string = '';\n\n prefixChar: string = '';\n\n suffixChar: string = '';\n\n isSpecialChar: boolean;\n\n timer: any;\n\n lastValue: string;\n\n _numeral: any;\n\n numberFormat: any;\n\n _decimal: any;\n\n _group: any;\n\n _minusSign: any;\n\n _currency: any;\n\n _prefix: any;\n\n _suffix: any;\n\n _index: any;\n\n _localeOption: string;\n\n _localeMatcherOption: string;\n\n _modeOption: string = \"decimal\";\n\n _currencyOption: string;\n\n _currencyDisplayOption: string;\n\n _useGroupingOption: boolean = true;\n\n _minFractionDigitsOption: number;\n\n _maxFractionDigitsOption: number;\n\n _prefixOption: string;\n\n _suffixOption: string;\n\n @Input() get locale(): string {\n return this._localeOption;\n }\n\n set locale(localeOption: string) {\n this._localeOption = localeOption;\n this.updateConstructParser();\n }\n\n @Input() get localeMatcher(): string {\n return this._localeMatcherOption;\n }\n\n set localeMatcher(localeMatcherOption: string) {\n this._localeMatcherOption = localeMatcherOption;\n this.updateConstructParser();\n }\n\n @Input() get mode(): string {\n return this._modeOption;\n }\n\n set mode(modeOption: string) {\n this._modeOption = modeOption;\n this.updateConstructParser();\n }\n\n @Input() get currency(): string {\n return this._currencyOption;\n }\n\n set currency(currencyOption: string) {\n this._currencyOption = currencyOption;\n this.updateConstructParser();\n }\n\n @Input() get currencyDisplay(): string {\n return this._currencyDisplayOption;\n }\n\n set currencyDisplay(currencyDisplayOption: string) {\n this._currencyDisplayOption = currencyDisplayOption;\n this.updateConstructParser();\n }\n\n @Input() get useGrouping(): boolean {\n return this._useGroupingOption;\n }\n\n set useGrouping(useGroupingOption: boolean) {\n this._useGroupingOption = useGroupingOption;\n this.updateConstructParser();\n }\n\n @Input() get minFractionDigits(): number {\n return this._minFractionDigitsOption;\n }\n\n set minFractionDigits(minFractionDigitsOption: number) {\n this._minFractionDigitsOption = minFractionDigitsOption;\n this.updateConstructParser();\n }\n\n @Input() get maxFractionDigits(): number {\n return this._maxFractionDigitsOption;\n }\n\n set maxFractionDigits(maxFractionDigitsOption: number) {\n this._maxFractionDigitsOption = maxFractionDigitsOption;\n this.updateConstructParser();\n }\n\n @Input() get prefix(): string {\n return this._prefixOption;\n }\n\n set prefix(prefixOption: string) {\n this._prefixOption = prefixOption;\n this.updateConstructParser();\n }\n\n @Input() get suffix(): string {\n return this._suffixOption;\n }\n\n set suffix(suffixOption: string) {\n this._suffixOption = suffixOption;\n this.updateConstructParser();\n }\n\n constructor(public el: ElementRef, private cd: ChangeDetectorRef) { }\n\n ngOnInit() {\n this.constructParser();\n\n this.initialized = true;\n }\n\n getOptions() {\n return {\n localeMatcher: this.localeMatcher,\n style: this.mode,\n currency: this.currency,\n currencyDisplay: this.currencyDisplay,\n useGrouping: this.useGrouping,\n minimumFractionDigits: this.minFractionDigits,\n maximumFractionDigits: this.maxFractionDigits\n };\n }\n\n constructParser() {\n this.numberFormat = new Intl.NumberFormat(this.locale, this.getOptions());\n const numerals = [...new Intl.NumberFormat(this.locale, {useGrouping: false}).format(9876543210)].reverse();\n const index = new Map(numerals.map((d, i) => [d, i]));\n this._numeral = new RegExp(`[${numerals.join('')}]`, 'g');\n this._decimal = this.getDecimalExpression();\n this._group = this.getGroupingExpression();\n this._minusSign = this.getMinusSignExpression();\n this._currency = this.getCurrencyExpression();\n this._suffix = this.getSuffixExpression();\n this._prefix = this.getPrefixExpression();\n this._index = d => index.get(d);\n }\n\n updateConstructParser() {\n if (this.initialized) {\n this.constructParser();\n }\n }\n\n escapeRegExp(text) {\n return text.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\n }\n\n getDecimalExpression() {\n const formatter = new Intl.NumberFormat(this.locale, {useGrouping: false});\n return new RegExp(`[${formatter.format(1.1).trim().replace(this._numeral, '')}]`, 'g');\n }\n\n getGroupingExpression() {\n const formatter = new Intl.NumberFormat(this.locale, {useGrouping: true});\n this.groupChar = formatter.format(1000000).trim().replace(this._numeral, '').charAt(0);\n return new RegExp(`[${this.groupChar}]`, 'g');\n }\n\n getMinusSignExpression() {\n const formatter = new Intl.NumberFormat(this.locale, {useGrouping: false});\n return new RegExp(`[${formatter.format(-1).trim().replace(this._numeral, '')}]`, 'g');\n }\n\n getCurrencyExpression() {\n if (this.currency) {\n const formatter = new Intl.NumberFormat(this.locale, {style: 'currency', currency: this.currency, currencyDisplay: this.currencyDisplay});\n return new RegExp(`[${formatter.format(1).replace(/\\s/g, '').replace(this._numeral, '').replace(this._decimal, '').replace(this._group, '')}]`, 'g');\n }\n\n return new RegExp(`[]`,'g');\n }\n\n getPrefixExpression() {\n if (this.prefix) {\n this.prefixChar = this.prefix;\n }\n else {\n const formatter = new Intl.NumberFormat(this.locale, {style: this.mode, currency: this.currency, currencyDisplay: this.currencyDisplay});\n this.prefixChar = formatter.format(1).split('1')[0];\n }\n\n return new RegExp(`${this.escapeRegExp(this.prefixChar||'')}`, 'g');\n }\n\n getSuffixExpression() {\n if (this.suffix) {\n this.suffixChar = this.suffix;\n }\n else {\n const formatter = new Intl.NumberFormat(this.locale, {style: this.mode, currency: this.currency, currencyDisplay: this.currencyDisplay,\n minimumFractionDigits: 0, maximumFractionDigits: 0});\n this.suffixChar = formatter.format(1).split('1')[1];\n }\n\n return new RegExp(`${this.escapeRegExp(this.suffixChar||'')}`, 'g');\n }\n\n formatValue(value) {\n if (value != null) {\n if (value === '-') { // Minus sign\n return value;\n }\n\n if (this.format) {\n let formatter = new Intl.NumberFormat(this.locale, this.getOptions());\n let formattedValue = formatter.format(value);\n if (this.prefix) {\n formattedValue = this.prefix + formattedValue;\n }\n\n if (this.suffix) {\n formattedValue = formattedValue + this.suffix;\n }\n\n return formattedValue;\n }\n\n return value.toString();\n }\n\n return '';\n }\n\n parseValue(text) {\n let filteredText = text\n .replace(this._suffix, '')\n .replace(this._prefix, '')\n .trim()\n .replace(/\\s/g, '')\n .replace(this._currency, '')\n .replace(this._group, '')\n .replace(this._minusSign, '-')\n .replace(this._decimal, '.')\n .replace(this._numeral, this._index);\n\n if (filteredText) {\n if (filteredText === '-') // Minus sign\n return filteredText;\n\n let parsedValue = +filteredText;\n return isNaN(parsedValue) ? null : parsedValue;\n }\n\n return null;\n }\n\n repeat(event, interval, dir) {\n let i = interval || 500;\n\n this.clearTimer();\n this.timer = setTimeout(() => {\n this.repeat(event, 40, dir);\n }, i);\n\n this.spin(event, dir);\n }\n\n spin(event, dir) {\n let step = this.step * dir;\n let currentValue = this.parseValue(this.input.nativeElement.value) || 0;\n let newValue = this.validateValue(currentValue + step);\n if (this.maxlength && this.maxlength < this.formatValue(newValue).length) {\n return;\n }\n\n this.updateInput(newValue, null, 'spin');\n this.updateModel(event, newValue);\n\n this.handleOnInput(event, currentValue, newValue);\n }\n\n onUpButtonMouseDown(event) {\n this.input.nativeElement.focus();\n this.repeat(event, null, 1);\n event.preventDefault();\n }\n\n onUpButtonMouseUp() {\n this.clearTimer();\n }\n\n onUpButtonMouseLeave() {\n this.clearTimer();\n }\n\n onUpButtonKeyDown(event) {\n if (event.keyCode === 32 || event.keyCode === 13) {\n this.repeat(event, null, 1);\n }\n }\n\n onUpButtonKeyUp() {\n this.clearTimer();\n }\n\n onDownButtonMouseDown(event) {\n this.input.nativeElement.focus();\n this.repeat(event, null, -1);\n event.preventDefault();\n }\n\n onDownButtonMouseUp() {\n this.clearTimer();\n }\n\n onDownButtonMouseLeave() {\n this.clearTimer();\n }\n\n onDownButtonKeyUp() {\n this.clearTimer();\n }\n\n onDownButtonKeyDown(event) {\n if (event.keyCode === 32 || event.keyCode === 13) {\n this.repeat(event, null, -1);\n }\n }\n\n onUserInput(event) {\n if (this.isSpecialChar) {\n event.target.value = this.lastValue;\n }\n this.isSpecialChar = false;\n }\n\n onInputKeyDown(event) {\n this.lastValue = event.target.value;\n if (event.shiftKey || event.altKey) {\n this.isSpecialChar = true;\n return;\n }\n\n let selectionStart = event.target.selectionStart;\n let selectionEnd = event.target.selectionEnd;\n let inputValue = event.target.value;\n let newValueStr = null;\n\n if (event.altKey) {\n event.preventDefault();\n }\n\n switch (event.which) {\n //up\n case 38:\n this.spin(event, 1);\n event.preventDefault();\n break;\n\n //down\n case 40:\n this.spin(event, -1);\n event.preventDefault();\n break;\n\n //left\n case 37:\n if (!this.isNumeralChar(inputValue.charAt(selectionStart - 1))) {\n event.preventDefault();\n }\n break;\n\n //right\n case 39:\n if (!this.isNumeralChar(inputValue.charAt(selectionStart))) {\n event.preventDefault();\n }\n break;\n\n //enter\n case 13:\n let newValue = this.validateValue(this.parseValue(this.input.nativeElement.value));\n this.input.nativeElement.value = this.formatValue(newValue);\n this.input.nativeElement.setAttribute('aria-valuenow', newValue);\n this.updateModel(event, newValue);\n break;\n\n //backspace\n case 8: {\n event.preventDefault();\n\n if (selectionStart === selectionEnd) {\n let deleteChar = inputValue.charAt(selectionStart - 1);\n let decimalCharIndex = inputValue.search(this._decimal);\n this._decimal.lastIndex = 0;\n\n if (this.isNumeralChar(deleteChar)) {\n if (this._group.test(deleteChar)) {\n this._group.lastIndex = 0;\n newValueStr = inputValue.slice(0, selectionStart - 2) + inputValue.slice(selectionStart - 1);\n }\n else if (this._decimal.test(deleteChar)) {\n this._decimal.lastIndex = 0;\n this.input.nativeElement.setSelectionRange(selectionStart - 1, selectionStart - 1);\n }\n else if (decimalCharIndex > 0 && selectionStart > decimalCharIndex) {\n newValueStr = inputValue.slice(0, selectionStart - 1) + '0' + inputValue.slice(selectionStart);\n }\n else if (decimalCharIndex > 0 && decimalCharIndex === 1) {\n newValueStr = inputValue.slice(0, selectionStart - 1) + '0' + inputValue.slice(selectionStart);\n newValueStr = this.parseValue(newValueStr) > 0 ? newValueStr : '';\n }\n else {\n newValueStr = inputValue.slice(0, selectionStart - 1) + inputValue.slice(selectionStart);\n }\n }\n\n this.updateValue(event, newValueStr, null, 'delete-single');\n }\n else {\n newValueStr = this.deleteRange(inputValue, selectionStart, selectionEnd);\n this.updateValue(event, newValueStr, null, 'delete-range');\n }\n\n break;\n }\n\n // del\n case 46:\n event.preventDefault();\n\n if (selectionStart === selectionEnd) {\n let deleteChar = inputValue.charAt(selectionStart);\n let decimalCharIndex = inputValue.search(this._decimal);\n this._decimal.lastIndex = 0;\n\n if (this.isNumeralChar(deleteChar)) {\n if (this._group.test(deleteChar)) {\n this._group.lastIndex = 0;\n newValueStr = inputValue.slice(0, selectionStart) + inputValue.slice(selectionStart + 2);\n }\n else if (this._decimal.test(deleteChar)) {\n this._decimal.lastIndex = 0;\n this.input.nativeElement.setSelectionRange(selectionStart + 1, selectionStart + 1);\n }\n else if (decimalCharIndex > 0 && selectionStart > decimalCharIndex) {\n newValueStr = inputValue.slice(0, selectionStart) + '0' + inputValue.slice(selectionStart + 1);\n }\n else if (decimalCharIndex > 0 && decimalCharIndex === 1) {\n newValueStr = inputValue.slice(0, selectionStart) + '0' + inputValue.slice(selectionStart + 1);\n newValueStr = this.parseValue(newValueStr) > 0 ? newValueStr : '';\n }\n else {\n newValueStr = inputValue.slice(0, selectionStart) + inputValue.slice(selectionStart + 1);\n }\n }\n\n this.updateValue(event, newValueStr, null, 'delete-back-single');\n }\n else {\n newValueStr = this.deleteRange(inputValue, selectionStart, selectionEnd);\n this.updateValue(event, newValueStr, null, 'delete-range');\n }\n break;\n\n default:\n break;\n }\n\n this.onKeyDown.emit(event);\n }\n\n onInputKeyPress(event) {\n event.preventDefault();\n let code = event.which || event.keyCode;\n let char = String.fromCharCode(code);\n const isDecimalSign = this.isDecimalSign(char);\n const isMinusSign = this.isMinusSign(char);\n\n if ((48 <= code && code <= 57) || isMinusSign || isDecimalSign) {\n this.insert(event, char, { isDecimalSign, isMinusSign });\n }\n }\n\n onPaste(event) {\n event.preventDefault();\n let data = (event.clipboardData || window['clipboardData']).getData('Text');\n if (data) {\n let filteredData = this.parseValue(data);\n if (filteredData != null) {\n this.insert(event, filteredData.toString());\n }\n }\n }\n\n isMinusSign(char) {\n if (this._minusSign.test(char)) {\n this._minusSign.lastIndex = 0;\n return true;\n }\n\n return false;\n }\n\n isDecimalSign(char) {\n if (this._decimal.test(char)) {\n this._decimal.lastIndex = 0;\n return true;\n }\n\n return false;\n }\n\n insert(event, text, sign = { isDecimalSign: false, isMinusSign: false }) {\n let selectionStart = this.input.nativeElement.selectionStart;\n let selectionEnd = this.input.nativeElement.selectionEnd;\n let inputValue = this.input.nativeElement.value.trim();\n const decimalCharIndex = inputValue.search(this._decimal);\n this._decimal.lastIndex = 0;\n const minusCharIndex = inputValue.search(this._minusSign);\n this._minusSign.lastIndex = 0;\n let newValueStr;\n\n if (sign.isMinusSign) {\n if (selectionStart === 0) {\n newValueStr = inputValue;\n if (minusCharIndex === -1 || selectionEnd !== 0) {\n newValueStr = this.insertText(inputValue, text, 0, selectionEnd);\n }\n\n this.updateValue(event, newValueStr, text, 'insert');\n }\n }\n else if (sign.isDecimalSign) {\n if (decimalCharIndex > 0 && selectionStart === decimalCharIndex) {\n this.updateValue(event, inputValue, text, 'insert');\n }\n else if (decimalCharIndex > selectionStart && decimalCharIndex < selectionEnd) {\n newValueStr = this.insertText(inputValue, text, selectionStart, selectionEnd);\n this.updateValue(event, newValueStr, text, 'insert');\n }\n }\n else {\n const maxFractionDigits = this.numberFormat.resolvedOptions().maximumFractionDigits;\n const operation = selectionStart !== selectionEnd ? 'range-insert' : 'insert';\n\n if (decimalCharIndex > 0 && selectionStart > decimalCharIndex) {\n if ((selectionStart + text.length - (decimalCharIndex + 1)) <= maxFractionDigits) {\n newValueStr = inputValue.slice(0, selectionStart) + text + inputValue.slice(selectionStart + text.length);\n this.updateValue(event, newValueStr, text, operation);\n }\n }\n else {\n newValueStr = this.insertText(inputValue, text, selectionStart, selectionEnd);\n this.updateValue(event, newValueStr, text, operation);\n }\n }\n }\n\n insertText(value, text, start, end) {\n let textSplit = text.split('.');\n\n if (textSplit.length == 2) {\n const decimalCharIndex = value.slice(start, end).search(this._decimal);\n this._decimal.lastIndex = 0;\n return (decimalCharIndex > 0) ? value.slice(0, start) + this.formatValue(text) + value.slice(end) : (value || this.formatValue(text));\n }\n else if ((end - start) === value.length) {\n return this.formatValue(text);\n }\n else if (start === 0) {\n return text + value.slice(end);\n }\n else if (end === value.length) {\n return value.slice(0, start) + text;\n }\n else {\n return value.slice(0, start) + text + value.slice(end);\n }\n }\n\n deleteRange(value, start, end) {\n let newValueStr;\n\n if ((end - start) === value.length)\n newValueStr = '';\n else if (start === 0)\n newValueStr = value.slice(end);\n else if (end === value.length)\n newValueStr = value.slice(0, start);\n else\n newValueStr = value.slice(0, start) + value.slice(end);\n\n return newValueStr;\n }\n\n initCursor() {\n let selectionStart = this.input.nativeElement.selectionStart;\n let inputValue = this.input.nativeElement.value;\n let valueLength = inputValue.length;\n let index = null;\n\n let char = inputValue.charAt(selectionStart);\n if (this.isNumeralChar(char)) {\n return;\n }\n\n //left\n let i = selectionStart - 1;\n while (i >= 0) {\n char = inputValue.charAt(i);\n if (this.isNumeralChar(char)) {\n index = i;\n break;\n }\n else {\n i--;\n }\n }\n\n if (index !== null) {\n this.input.nativeElement.setSelectionRange(index + 1, index + 1);\n }\n else {\n i = selectionStart + 1;\n while (i < valueLength) {\n char = inputValue.charAt(i);\n if (this.isNumeralChar(char)) {\n index = i;\n break;\n }\n else {\n i++;\n }\n }\n\n if (index !== null) {\n this.input.nativeElement.setSelectionRange(index, index);\n }\n }\n }\n\n onInputClick() {\n this.initCursor();\n }\n\n isNumeralChar(char) {\n if (char.length === 1 && (this._numeral.test(char) || this._decimal.test(char) || this._group.test(char) || this._minusSign.test(char))) {\n this.resetRegex();\n return true;\n }\n\n return false;\n }\n\n resetRegex() {\n this._numeral.lastIndex = 0;\n this._decimal.lastIndex = 0;\n this._group.lastIndex = 0;\n this._minusSign.lastIndex = 0;\n }\n\n updateValue(event, valueStr, insertedValueStr, operation) {\n let currentValue = this.input.nativeElement.value;\n let newValue = null;\n\n if (valueStr != null) {\n newValue = this.parseValue(valueStr);\n this.updateInput(newValue, insertedValueStr, operation);\n }\n\n this.handleOnInput(event, currentValue, newValue);\n }\n\n handleOnInput(event, currentValue, newValue) {\n if (this.isValueChanged(currentValue, newValue)) {\n this.onInput.emit({ originalEvent: event, value: newValue });\n }\n }\n\n isValueChanged(currentValue, newValue) {\n if (newValue === null && currentValue !== null) {\n return true;\n }\n\n if (newValue != null) {\n let parsedCurrentValue = (typeof currentValue === 'string') ? this.parseValue(currentValue) : currentValue;\n return newValue !== parsedCurrentValue;\n }\n\n return false;\n }\n\n validateValue(value) {\n if (this.min !== null && value < this.min) {\n return this.min;\n }\n\n if (this.max !== null && value > this.max) {\n return this.max;\n }\n\n if (value === '-') { // Minus sign\n return null;\n }\n\n return value;\n }\n\n updateInput(value, insertedValueStr, operation) {\n insertedValueStr = insertedValueStr || '';\n\n let inputValue = this.input.nativeElement.value;\n let newValue = this.formatValue(value);\n let currentLength = inputValue.length;\n\n if (currentLength === 0) {\n this.input.nativeElement.value = newValue;\n this.input.nativeElement.setSelectionRange(0, 0);\n this.initCursor();\n const prefixLength = (this.prefixChar || '').length;\n const selectionEnd = prefixLength + insertedValueStr.length;\n this.input.nativeElement.setSelectionRange(selectionEnd, selectionEnd);\n }\n else {\n let selectionStart = this.input.nativeElement.selectionStart;\n let selectionEnd = this.input.nativeElement.selectionEnd;\n if (this.maxlength && this.maxlength < newValue.length) {\n return;\n }\n\n this.input.nativeElement.value = newValue;\n let newLength = newValue.length;\n\n if (operation === 'range-insert') {\n const startValue = this.parseValue((inputValue || '').slice(0, selectionStart));\n const startValueStr = startValue !== null ? startValue.toString() : '';\n const startExpr = startValueStr.split('').join(`(${this.groupChar})?`);\n const sRegex = new RegExp(startExpr, 'g');\n sRegex.test(newValue);\n\n const tExpr = insertedValueStr.split('').join(`(${this.groupChar})?`);\n const tRegex = new RegExp(tExpr, 'g');\n tRegex.test(newValue.slice(sRegex.lastIndex));\n\n selectionEnd = sRegex.lastIndex + tRegex.lastIndex;\n this.input.nativeElement.setSelectionRange(selectionEnd, selectionEnd);\n }\n else if (newLength === currentLength) {\n if (operation === 'insert' || operation === 'delete-back-single')\n this.input.nativeElement.setSelectionRange(selectionEnd + 1, selectionEnd + 1);\n else if (operation === 'delete-single')\n this.input.nativeElement.setSelectionRange(selectionEnd - 1, selectionEnd - 1);\n else if (operation === 'delete-range' || operation === 'spin')\n this.input.nativeElement.setSelectionRange(selectionEnd, selectionEnd);\n }\n else if (operation === 'delete-back-single') {\n let prevChar = inputValue.charAt(selectionEnd - 1);\n let nextChar = inputValue.charAt(selectionEnd);\n let diff = currentLength - newLength;\n let isGroupChar = this._group.test(nextChar);\n\n if (isGroupChar && diff === 1) {\n selectionEnd += 1;\n }\n else if (!isGroupChar && this.isNumeralChar(prevChar)) {\n selectionEnd += (-1 * diff) + 1;\n }\n\n this._group.lastIndex = 0;\n this.input.nativeElement.setSelectionRange(selectionEnd, selectionEnd);\n }\n else {\n selectionEnd = selectionEnd + (newLength - currentLength);\n this.input.nativeElement.setSelectionRange(selectionEnd, selectionEnd);\n }\n }\n\n this.input.nativeElement.setAttribute('aria-valuenow', value);\n }\n\n onInputFocus(event) {\n this.focused = true;\n this.onFocus.emit(event);\n }\n\n onInputBlur(event) {\n this.focused = false;\n\n let newValue = this.validateValue(this.parseValue(this.input.nativeElement.value));\n this.input.nativeElement.value = this.formatValue(newValue);\n this.input.nativeElement.setAttribute('aria-valuenow', newValue);\n this.updateModel(event, newValue);\n\n this.onBlur.emit(event);\n }\n\n formattedValue() {\n return this.formatValue(this.value);\n }\n\n updateModel(event, value) {\n if (this.value !== value) {\n this.value = value;\n this.onModelChange(value);\n }\n\n this.onModelTouched();\n }\n\n writeValue(value: any) : void {\n this.value = value;\n this.cd.markForCheck();\n }\n\n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n\n setDisabledState(val: boolean): void {\n this.disabled = val;\n this.cd.markForCheck();\n }\n\n get filled() {\n return (this.value != null && this.value.toString().length > 0)\n }\n\n clearTimer() {\n if (this.timer) {\n clearInterval(this.timer);\n }\n }\n}\n\n@NgModule({\n imports: [CommonModule,InputTextModule, ButtonModule],\n exports: [InputNumber],\n declarations: [InputNumber]\n})\nexport class InputNumberModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["NG_VALUE_ACCESSOR","forwardRef","EventEmitter","Component","ChangeDetectionStrategy","ViewEncapsulation","ElementRef","ChangeDetectorRef","Input","ViewChild","Output","NgModule","CommonModule","InputTextModule","ButtonModule"],"mappings":"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"}
1
+ {"version":3,"file":"primeng-inputnumber.umd.js","sources":["../../node_modules/tslib/tslib.es6.js","../../src/app/components/inputnumber/inputnumber.ts","../../src/app/components/inputnumber/primeng-inputnumber.ts"],"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","\nimport {NgModule,Component,ChangeDetectionStrategy, Input, ElementRef, ViewChild, OnInit, EventEmitter, Output, forwardRef, ViewEncapsulation, ChangeDetectorRef} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {InputTextModule} from 'primeng/inputtext';\nimport { ButtonModule } from 'primeng/button';\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\n\nexport const INPUTNUMBER_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InputNumber),\n multi: true\n};\n@Component({\n selector: 'p-inputNumber',\n template: `\n <span [ngClass]=\"{'p-inputnumber p-component': true,'p-inputnumber-buttons-stacked': this.showButtons && this.buttonLayout === 'stacked',\n 'p-inputnumber-buttons-horizontal': this.showButtons && this.buttonLayout === 'horizontal', 'p-inputnumber-buttons-vertical': this.showButtons && this.buttonLayout === 'vertical'}\"\n [ngStyle]=\"style\" [class]=\"styleClass\">\n <input #input [ngClass]=\"'p-inputnumber-input'\" [ngStyle]=\"inputStyle\" [class]=\"inputStyleClass\" pInputText [value]=\"formattedValue()\" [attr.placeholder]=\"placeholder\" [attr.title]=\"title\" [attr.id]=\"inputId\"\n [attr.size]=\"size\" [attr.name]=\"name\" [attr.autocomplete]=\"autocomplete\" [attr.maxlength]=\"maxlength\" [attr.tabindex]=\"tabindex\" [attr.aria-label]=\"ariaLabel\"\n [attr.aria-required]=\"ariaRequired\" [disabled]=\"disabled\" [attr.required]=\"required\" [attr.aria-valumin]=\"min\" [attr.aria-valuemax]=\"max\"\n (input)=\"onUserInput($event)\" (keydown)=\"onInputKeyDown($event)\" (keypress)=\"onInputKeyPress($event)\" (paste)=\"onPaste($event)\" (click)=\"onInputClick()\"\n (focus)=\"onInputFocus($event)\" (blur)=\"onInputBlur($event)\">\n <span class=\"p-inputnumber-button-group\" *ngIf=\"showButtons && buttonLayout === 'stacked'\">\n <button type=\"button\" pButton [ngClass]=\"{'p-inputnumber-button p-inputnumber-button-up': true}\" [class]=\"incrementButtonClass\" [icon]=\"incrementButtonIcon\" [disabled]=\"disabled\"\n (mousedown)=\"this.onUpButtonMouseDown($event)\" (mouseup)=\"onUpButtonMouseUp()\" (mouseleave)=\"onUpButtonMouseLeave()\" (keydown)=\"onUpButtonKeyDown($event)\" (keyup)=\"onUpButtonKeyUp()\"></button>\n <button type=\"button\" pButton [ngClass]=\"{'p-inputnumber-button p-inputnumber-button-down': true}\" [class]=\"decrementButtonClass\" [icon]=\"decrementButtonIcon\" [disabled]=\"disabled\"\n (mousedown)=\"this.onDownButtonMouseDown($event)\" (mouseup)=\"onDownButtonMouseUp()\" (mouseleave)=\"onDownButtonMouseLeave()\" (keydown)=\"onDownButtonKeyDown($event)\" (keyup)=\"onDownButtonKeyUp()\"></button>\n </span>\n <button type=\"button\" pButton [ngClass]=\"{'p-inputnumber-button p-inputnumber-button-up': true}\" [class]=\"incrementButtonClass\" [icon]=\"incrementButtonIcon\" *ngIf=\"showButtons && buttonLayout !== 'stacked'\" [disabled]=\"disabled\"\n (mousedown)=\"this.onUpButtonMouseDown($event)\" (mouseup)=\"onUpButtonMouseUp()\" (mouseleave)=\"onUpButtonMouseLeave()\" (keydown)=\"onUpButtonKeyDown($event)\" (keyup)=\"onUpButtonKeyUp()\"></button>\n <button type=\"button\" pButton [ngClass]=\"{'p-inputnumber-button p-inputnumber-button-down': true}\" [class]=\"decrementButtonClass\" [icon]=\"decrementButtonIcon\" *ngIf=\"showButtons && buttonLayout !== 'stacked'\" [disabled]=\"disabled\"\n (mousedown)=\"this.onDownButtonMouseDown($event)\" (mouseup)=\"onDownButtonMouseUp()\" (mouseleave)=\"onDownButtonMouseLeave()\" (keydown)=\"onDownButtonKeyDown($event)\" (keyup)=\"onDownButtonKeyUp()\"></button>\n </span>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [INPUTNUMBER_VALUE_ACCESSOR],\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./inputnumber.css'],\n host: {\n '[class.p-inputwrapper-filled]': 'filled',\n '[class.p-inputwrapper-focus]': 'focused'\n }\n})\nexport class InputNumber implements OnInit,ControlValueAccessor {\n\n @Input() showButtons: boolean = false;\n\n @Input() format: boolean = true;\n\n @Input() buttonLayout: string = \"stacked\";\n\n @Input() disabled: boolean;\n\n @Input() inputId: string;\n\n @Input() styleClass: string;\n\n @Input() style: any;\n\n @Input() placeholder: string;\n\n @Input() size: number;\n\n @Input() maxlength: number;\n\n @Input() tabindex: string;\n\n @Input() title: string;\n\n @Input() ariaLabel: string;\n\n @Input() ariaRequired: boolean;\n\n @Input() name: string;\n\n @Input() required: boolean;\n\n @Input() autocomplete: string;\n\n @Input() min: number;\n\n @Input() max: number;\n\n @Input() incrementButtonClass: string;\n\n @Input() decrementButtonClass: string;\n\n @Input() incrementButtonIcon: string = 'pi pi-angle-up';\n\n @Input() decrementButtonIcon: string = 'pi pi-angle-down';\n\n @Input() step: number = 1;\n\n @Input() inputStyle: any;\n\n @Input() inputStyleClass: string;\n\n @ViewChild('input') input: ElementRef;\n\n @Output() onInput: EventEmitter<any> = new EventEmitter();\n\n @Output() onFocus: EventEmitter<any> = new EventEmitter();\n\n @Output() onBlur: EventEmitter<any> = new EventEmitter();\n\n @Output() onKeyDown: EventEmitter<any> = new EventEmitter();\n\n value: number;\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n focused: boolean;\n\n initialized: boolean;\n\n groupChar: string = '';\n\n prefixChar: string = '';\n\n suffixChar: string = '';\n\n isSpecialChar: boolean;\n\n timer: any;\n\n lastValue: string;\n\n _numeral: any;\n\n numberFormat: any;\n\n _decimal: any;\n\n _group: any;\n\n _minusSign: any;\n\n _currency: any;\n\n _prefix: any;\n\n _suffix: any;\n\n _index: any;\n\n _localeOption: string;\n\n _localeMatcherOption: string;\n\n _modeOption: string = \"decimal\";\n\n _currencyOption: string;\n\n _currencyDisplayOption: string;\n\n _useGroupingOption: boolean = true;\n\n _minFractionDigitsOption: number;\n\n _maxFractionDigitsOption: number;\n\n _prefixOption: string;\n\n _suffixOption: string;\n\n @Input() get locale(): string {\n return this._localeOption;\n }\n\n set locale(localeOption: string) {\n this._localeOption = localeOption;\n this.updateConstructParser();\n }\n\n @Input() get localeMatcher(): string {\n return this._localeMatcherOption;\n }\n\n set localeMatcher(localeMatcherOption: string) {\n this._localeMatcherOption = localeMatcherOption;\n this.updateConstructParser();\n }\n\n @Input() get mode(): string {\n return this._modeOption;\n }\n\n set mode(modeOption: string) {\n this._modeOption = modeOption;\n this.updateConstructParser();\n }\n\n @Input() get currency(): string {\n return this._currencyOption;\n }\n\n set currency(currencyOption: string) {\n this._currencyOption = currencyOption;\n this.updateConstructParser();\n }\n\n @Input() get currencyDisplay(): string {\n return this._currencyDisplayOption;\n }\n\n set currencyDisplay(currencyDisplayOption: string) {\n this._currencyDisplayOption = currencyDisplayOption;\n this.updateConstructParser();\n }\n\n @Input() get useGrouping(): boolean {\n return this._useGroupingOption;\n }\n\n set useGrouping(useGroupingOption: boolean) {\n this._useGroupingOption = useGroupingOption;\n this.updateConstructParser();\n }\n\n @Input() get minFractionDigits(): number {\n return this._minFractionDigitsOption;\n }\n\n set minFractionDigits(minFractionDigitsOption: number) {\n this._minFractionDigitsOption = minFractionDigitsOption;\n this.updateConstructParser();\n }\n\n @Input() get maxFractionDigits(): number {\n return this._maxFractionDigitsOption;\n }\n\n set maxFractionDigits(maxFractionDigitsOption: number) {\n this._maxFractionDigitsOption = maxFractionDigitsOption;\n this.updateConstructParser();\n }\n\n @Input() get prefix(): string {\n return this._prefixOption;\n }\n\n set prefix(prefixOption: string) {\n this._prefixOption = prefixOption;\n this.updateConstructParser();\n }\n\n @Input() get suffix(): string {\n return this._suffixOption;\n }\n\n set suffix(suffixOption: string) {\n this._suffixOption = suffixOption;\n this.updateConstructParser();\n }\n\n constructor(public el: ElementRef, private cd: ChangeDetectorRef) { }\n\n ngOnInit() {\n this.constructParser();\n\n this.initialized = true;\n }\n\n getOptions() {\n return {\n localeMatcher: this.localeMatcher,\n style: this.mode,\n currency: this.currency,\n currencyDisplay: this.currencyDisplay,\n useGrouping: this.useGrouping,\n minimumFractionDigits: this.minFractionDigits,\n maximumFractionDigits: this.maxFractionDigits\n };\n }\n\n constructParser() {\n this.numberFormat = new Intl.NumberFormat(this.locale, this.getOptions());\n const numerals = [...new Intl.NumberFormat(this.locale, {useGrouping: false}).format(9876543210)].reverse();\n const index = new Map(numerals.map((d, i) => [d, i]));\n this._numeral = new RegExp(`[${numerals.join('')}]`, 'g');\n this._decimal = this.getDecimalExpression();\n this._group = this.getGroupingExpression();\n this._minusSign = this.getMinusSignExpression();\n this._currency = this.getCurrencyExpression();\n this._suffix = this.getSuffixExpression();\n this._prefix = this.getPrefixExpression();\n this._index = d => index.get(d);\n }\n\n updateConstructParser() {\n if (this.initialized) {\n this.constructParser();\n }\n }\n\n escapeRegExp(text) {\n return text.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\n }\n\n getDecimalExpression() {\n const formatter = new Intl.NumberFormat(this.locale, {useGrouping: false});\n return new RegExp(`[${formatter.format(1.1).trim().replace(this._numeral, '')}]`, 'g');\n }\n\n getGroupingExpression() {\n const formatter = new Intl.NumberFormat(this.locale, {useGrouping: true});\n this.groupChar = formatter.format(1000000).trim().replace(this._numeral, '').charAt(0);\n return new RegExp(`[${this.groupChar}]`, 'g');\n }\n\n getMinusSignExpression() {\n const formatter = new Intl.NumberFormat(this.locale, {useGrouping: false});\n return new RegExp(`[${formatter.format(-1).trim().replace(this._numeral, '')}]`, 'g');\n }\n\n getCurrencyExpression() {\n if (this.currency) {\n const formatter = new Intl.NumberFormat(this.locale, {style: 'currency', currency: this.currency, currencyDisplay: this.currencyDisplay});\n return new RegExp(`[${formatter.format(1).replace(/\\s/g, '').replace(this._numeral, '').replace(this._decimal, '').replace(this._group, '')}]`, 'g');\n }\n\n return new RegExp(`[]`,'g');\n }\n\n getPrefixExpression() {\n if (this.prefix) {\n this.prefixChar = this.prefix;\n }\n else {\n const formatter = new Intl.NumberFormat(this.locale, {style: this.mode, currency: this.currency, currencyDisplay: this.currencyDisplay});\n this.prefixChar = formatter.format(1).split('1')[0];\n }\n\n return new RegExp(`${this.escapeRegExp(this.prefixChar||'')}`, 'g');\n }\n\n getSuffixExpression() {\n if (this.suffix) {\n this.suffixChar = this.suffix;\n }\n else {\n const formatter = new Intl.NumberFormat(this.locale, {style: this.mode, currency: this.currency, currencyDisplay: this.currencyDisplay,\n minimumFractionDigits: 0, maximumFractionDigits: 0});\n this.suffixChar = formatter.format(1).split('1')[1];\n }\n\n return new RegExp(`${this.escapeRegExp(this.suffixChar||'')}`, 'g');\n }\n\n formatValue(value) {\n if (value != null) {\n if (value === '-') { // Minus sign\n return value;\n }\n\n if (this.format) {\n let formatter = new Intl.NumberFormat(this.locale, this.getOptions());\n let formattedValue = formatter.format(value);\n if (this.prefix) {\n formattedValue = this.prefix + formattedValue;\n }\n\n if (this.suffix) {\n formattedValue = formattedValue + this.suffix;\n }\n\n return formattedValue;\n }\n\n return value.toString();\n }\n\n return '';\n }\n\n parseValue(text) {\n let filteredText = text\n .replace(this._suffix, '')\n .replace(this._prefix, '')\n .trim()\n .replace(/\\s/g, '')\n .replace(this._currency, '')\n .replace(this._group, '')\n .replace(this._minusSign, '-')\n .replace(this._decimal, '.')\n .replace(this._numeral, this._index);\n\n if (filteredText) {\n if (filteredText === '-') // Minus sign\n return filteredText;\n\n let parsedValue = +filteredText;\n return isNaN(parsedValue) ? null : parsedValue;\n }\n\n return null;\n }\n\n repeat(event, interval, dir) {\n let i = interval || 500;\n\n this.clearTimer();\n this.timer = setTimeout(() => {\n this.repeat(event, 40, dir);\n }, i);\n\n this.spin(event, dir);\n }\n\n spin(event, dir) {\n let step = this.step * dir;\n let currentValue = this.parseValue(this.input.nativeElement.value) || 0;\n let newValue = this.validateValue(currentValue + step);\n if (this.maxlength && this.maxlength < this.formatValue(newValue).length) {\n return;\n }\n\n this.updateInput(newValue, null, 'spin');\n this.updateModel(event, newValue);\n\n this.handleOnInput(event, currentValue, newValue);\n }\n\n onUpButtonMouseDown(event) {\n this.input.nativeElement.focus();\n this.repeat(event, null, 1);\n event.preventDefault();\n }\n\n onUpButtonMouseUp() {\n this.clearTimer();\n }\n\n onUpButtonMouseLeave() {\n this.clearTimer();\n }\n\n onUpButtonKeyDown(event) {\n if (event.keyCode === 32 || event.keyCode === 13) {\n this.repeat(event, null, 1);\n }\n }\n\n onUpButtonKeyUp() {\n this.clearTimer();\n }\n\n onDownButtonMouseDown(event) {\n this.input.nativeElement.focus();\n this.repeat(event, null, -1);\n event.preventDefault();\n }\n\n onDownButtonMouseUp() {\n this.clearTimer();\n }\n\n onDownButtonMouseLeave() {\n this.clearTimer();\n }\n\n onDownButtonKeyUp() {\n this.clearTimer();\n }\n\n onDownButtonKeyDown(event) {\n if (event.keyCode === 32 || event.keyCode === 13) {\n this.repeat(event, null, -1);\n }\n }\n\n onUserInput(event) {\n if (this.isSpecialChar) {\n event.target.value = this.lastValue;\n }\n this.isSpecialChar = false;\n }\n\n onInputKeyDown(event) {\n this.lastValue = event.target.value;\n if (event.shiftKey || event.altKey) {\n this.isSpecialChar = true;\n return;\n }\n\n let selectionStart = event.target.selectionStart;\n let selectionEnd = event.target.selectionEnd;\n let inputValue = event.target.value;\n let newValueStr = null;\n\n if (event.altKey) {\n event.preventDefault();\n }\n\n switch (event.which) {\n //up\n case 38:\n this.spin(event, 1);\n event.preventDefault();\n break;\n\n //down\n case 40:\n this.spin(event, -1);\n event.preventDefault();\n break;\n\n //left\n case 37:\n if (!this.isNumeralChar(inputValue.charAt(selectionStart - 1))) {\n event.preventDefault();\n }\n break;\n\n //right\n case 39:\n if (!this.isNumeralChar(inputValue.charAt(selectionStart))) {\n event.preventDefault();\n }\n break;\n\n //enter\n case 13:\n let newValue = this.validateValue(this.parseValue(this.input.nativeElement.value));\n this.input.nativeElement.value = this.formatValue(newValue);\n this.input.nativeElement.setAttribute('aria-valuenow', newValue);\n this.updateModel(event, newValue);\n break;\n\n //backspace\n case 8: {\n event.preventDefault();\n\n if (selectionStart === selectionEnd) {\n let deleteChar = inputValue.charAt(selectionStart - 1);\n let decimalCharIndex = inputValue.search(this._decimal);\n this._decimal.lastIndex = 0;\n\n if (this.isNumeralChar(deleteChar)) {\n if (this._group.test(deleteChar)) {\n this._group.lastIndex = 0;\n newValueStr = inputValue.slice(0, selectionStart - 2) + inputValue.slice(selectionStart - 1);\n }\n else if (this._decimal.test(deleteChar)) {\n this._decimal.lastIndex = 0;\n this.input.nativeElement.setSelectionRange(selectionStart - 1, selectionStart - 1);\n }\n else if (decimalCharIndex > 0 && selectionStart > decimalCharIndex) {\n newValueStr = inputValue.slice(0, selectionStart - 1) + '0' + inputValue.slice(selectionStart);\n }\n else if (decimalCharIndex > 0 && decimalCharIndex === 1) {\n newValueStr = inputValue.slice(0, selectionStart - 1) + '0' + inputValue.slice(selectionStart);\n newValueStr = this.parseValue(newValueStr) > 0 ? newValueStr : '';\n }\n else {\n newValueStr = inputValue.slice(0, selectionStart - 1) + inputValue.slice(selectionStart);\n }\n }\n\n this.updateValue(event, newValueStr, null, 'delete-single');\n }\n else {\n newValueStr = this.deleteRange(inputValue, selectionStart, selectionEnd);\n this.updateValue(event, newValueStr, null, 'delete-range');\n }\n\n break;\n }\n\n // del\n case 46:\n event.preventDefault();\n\n if (selectionStart === selectionEnd) {\n let deleteChar = inputValue.charAt(selectionStart);\n let decimalCharIndex = inputValue.search(this._decimal);\n this._decimal.lastIndex = 0;\n\n if (this.isNumeralChar(deleteChar)) {\n if (this._group.test(deleteChar)) {\n this._group.lastIndex = 0;\n newValueStr = inputValue.slice(0, selectionStart) + inputValue.slice(selectionStart + 2);\n }\n else if (this._decimal.test(deleteChar)) {\n this._decimal.lastIndex = 0;\n this.input.nativeElement.setSelectionRange(selectionStart + 1, selectionStart + 1);\n }\n else if (decimalCharIndex > 0 && selectionStart > decimalCharIndex) {\n newValueStr = inputValue.slice(0, selectionStart) + '0' + inputValue.slice(selectionStart + 1);\n }\n else if (decimalCharIndex > 0 && decimalCharIndex === 1) {\n newValueStr = inputValue.slice(0, selectionStart) + '0' + inputValue.slice(selectionStart + 1);\n newValueStr = this.parseValue(newValueStr) > 0 ? newValueStr : '';\n }\n else {\n newValueStr = inputValue.slice(0, selectionStart) + inputValue.slice(selectionStart + 1);\n }\n }\n\n this.updateValue(event, newValueStr, null, 'delete-back-single');\n }\n else {\n newValueStr = this.deleteRange(inputValue, selectionStart, selectionEnd);\n this.updateValue(event, newValueStr, null, 'delete-range');\n }\n break;\n\n default:\n break;\n }\n\n this.onKeyDown.emit(event);\n }\n\n onInputKeyPress(event) {\n event.preventDefault();\n let code = event.which || event.keyCode;\n let char = String.fromCharCode(code);\n const isDecimalSign = this.isDecimalSign(char);\n const isMinusSign = this.isMinusSign(char);\n\n if ((48 <= code && code <= 57) || isMinusSign || isDecimalSign) {\n this.insert(event, char, { isDecimalSign, isMinusSign });\n }\n }\n\n onPaste(event) {\n event.preventDefault();\n let data = (event.clipboardData || window['clipboardData']).getData('Text');\n if (data) {\n let filteredData = this.parseValue(data);\n if (filteredData != null) {\n this.insert(event, filteredData.toString());\n }\n }\n }\n\n isMinusSign(char) {\n if (this._minusSign.test(char)) {\n this._minusSign.lastIndex = 0;\n return true;\n }\n\n return false;\n }\n\n isDecimalSign(char) {\n if (this._decimal.test(char)) {\n this._decimal.lastIndex = 0;\n return true;\n }\n\n return false;\n }\n\n insert(event, text, sign = { isDecimalSign: false, isMinusSign: false }) {\n let selectionStart = this.input.nativeElement.selectionStart;\n let selectionEnd = this.input.nativeElement.selectionEnd;\n let inputValue = this.input.nativeElement.value.trim();\n const decimalCharIndex = inputValue.search(this._decimal);\n this._decimal.lastIndex = 0;\n const minusCharIndex = inputValue.search(this._minusSign);\n this._minusSign.lastIndex = 0;\n let newValueStr;\n\n if (sign.isMinusSign) {\n if (selectionStart === 0) {\n newValueStr = inputValue;\n if (minusCharIndex === -1 || selectionEnd !== 0) {\n newValueStr = this.insertText(inputValue, text, 0, selectionEnd);\n }\n\n this.updateValue(event, newValueStr, text, 'insert');\n }\n }\n else if (sign.isDecimalSign) {\n if (decimalCharIndex > 0 && selectionStart === decimalCharIndex) {\n this.updateValue(event, inputValue, text, 'insert');\n }\n else if (decimalCharIndex > selectionStart && decimalCharIndex < selectionEnd) {\n newValueStr = this.insertText(inputValue, text, selectionStart, selectionEnd);\n this.updateValue(event, newValueStr, text, 'insert');\n }\n }\n else {\n const maxFractionDigits = this.numberFormat.resolvedOptions().maximumFractionDigits;\n const operation = selectionStart !== selectionEnd ? 'range-insert' : 'insert';\n\n if (decimalCharIndex > 0 && selectionStart > decimalCharIndex) {\n if ((selectionStart + text.length - (decimalCharIndex + 1)) <= maxFractionDigits) {\n newValueStr = inputValue.slice(0, selectionStart) + text + inputValue.slice(selectionStart + text.length);\n this.updateValue(event, newValueStr, text, operation);\n }\n }\n else {\n newValueStr = this.insertText(inputValue, text, selectionStart, selectionEnd);\n this.updateValue(event, newValueStr, text, operation);\n }\n }\n }\n\n insertText(value, text, start, end) {\n let textSplit = text.split('.');\n\n if (textSplit.length == 2) {\n const decimalCharIndex = value.slice(start, end).search(this._decimal);\n this._decimal.lastIndex = 0;\n return (decimalCharIndex > 0) ? value.slice(0, start) + this.formatValue(text) + value.slice(end) : (value || this.formatValue(text));\n }\n else if ((end - start) === value.length) {\n return this.formatValue(text);\n }\n else if (start === 0) {\n return text + value.slice(end);\n }\n else if (end === value.length) {\n return value.slice(0, start) + text;\n }\n else {\n return value.slice(0, start) + text + value.slice(end);\n }\n }\n\n deleteRange(value, start, end) {\n let newValueStr;\n\n if ((end - start) === value.length)\n newValueStr = '';\n else if (start === 0)\n newValueStr = value.slice(end);\n else if (end === value.length)\n newValueStr = value.slice(0, start);\n else\n newValueStr = value.slice(0, start) + value.slice(end);\n\n return newValueStr;\n }\n\n initCursor() {\n let selectionStart = this.input.nativeElement.selectionStart;\n let inputValue = this.input.nativeElement.value;\n let valueLength = inputValue.length;\n let index = null;\n\n let char = inputValue.charAt(selectionStart);\n if (this.isNumeralChar(char)) {\n return;\n }\n\n //left\n let i = selectionStart - 1;\n while (i >= 0) {\n char = inputValue.charAt(i);\n if (this.isNumeralChar(char)) {\n index = i;\n break;\n }\n else {\n i--;\n }\n }\n\n if (index !== null) {\n this.input.nativeElement.setSelectionRange(index + 1, index + 1);\n }\n else {\n i = selectionStart + 1;\n while (i < valueLength) {\n char = inputValue.charAt(i);\n if (this.isNumeralChar(char)) {\n index = i;\n break;\n }\n else {\n i++;\n }\n }\n\n if (index !== null) {\n this.input.nativeElement.setSelectionRange(index, index);\n }\n }\n }\n\n onInputClick() {\n this.initCursor();\n }\n\n isNumeralChar(char) {\n if (char.length === 1 && (this._numeral.test(char) || this._decimal.test(char) || this._group.test(char) || this._minusSign.test(char))) {\n this.resetRegex();\n return true;\n }\n\n return false;\n }\n\n resetRegex() {\n this._numeral.lastIndex = 0;\n this._decimal.lastIndex = 0;\n this._group.lastIndex = 0;\n this._minusSign.lastIndex = 0;\n }\n\n updateValue(event, valueStr, insertedValueStr, operation) {\n let currentValue = this.input.nativeElement.value;\n let newValue = null;\n\n if (valueStr != null) {\n newValue = this.parseValue(valueStr);\n this.updateInput(newValue, insertedValueStr, operation);\n }\n\n this.handleOnInput(event, currentValue, newValue);\n }\n\n handleOnInput(event, currentValue, newValue) {\n if (this.isValueChanged(currentValue, newValue)) {\n this.onInput.emit({ originalEvent: event, value: newValue });\n }\n }\n\n isValueChanged(currentValue, newValue) {\n if (newValue === null && currentValue !== null) {\n return true;\n }\n\n if (newValue != null) {\n let parsedCurrentValue = (typeof currentValue === 'string') ? this.parseValue(currentValue) : currentValue;\n return newValue !== parsedCurrentValue;\n }\n\n return false;\n }\n\n validateValue(value) {\n if (this.min !== null && value < this.min) {\n return this.min;\n }\n\n if (this.max !== null && value > this.max) {\n return this.max;\n }\n\n if (value === '-') { // Minus sign\n return null;\n }\n\n return value;\n }\n\n updateInput(value, insertedValueStr, operation) {\n insertedValueStr = insertedValueStr || '';\n\n let inputValue = this.input.nativeElement.value;\n let newValue = this.formatValue(value);\n let currentLength = inputValue.length;\n\n if (currentLength === 0) {\n this.input.nativeElement.value = newValue;\n this.input.nativeElement.setSelectionRange(0, 0);\n this.initCursor();\n const prefixLength = (this.prefixChar || '').length;\n const selectionEnd = prefixLength + insertedValueStr.length;\n this.input.nativeElement.setSelectionRange(selectionEnd, selectionEnd);\n }\n else {\n let selectionStart = this.input.nativeElement.selectionStart;\n let selectionEnd = this.input.nativeElement.selectionEnd;\n if (this.maxlength && this.maxlength < newValue.length) {\n return;\n }\n\n this.input.nativeElement.value = newValue;\n let newLength = newValue.length;\n\n if (operation === 'range-insert') {\n const startValue = this.parseValue((inputValue || '').slice(0, selectionStart));\n const startValueStr = startValue !== null ? startValue.toString() : '';\n const startExpr = startValueStr.split('').join(`(${this.groupChar})?`);\n const sRegex = new RegExp(startExpr, 'g');\n sRegex.test(newValue);\n\n const tExpr = insertedValueStr.split('').join(`(${this.groupChar})?`);\n const tRegex = new RegExp(tExpr, 'g');\n tRegex.test(newValue.slice(sRegex.lastIndex));\n\n selectionEnd = sRegex.lastIndex + tRegex.lastIndex;\n this.input.nativeElement.setSelectionRange(selectionEnd, selectionEnd);\n }\n else if (newLength === currentLength) {\n if (operation === 'insert' || operation === 'delete-back-single')\n this.input.nativeElement.setSelectionRange(selectionEnd + 1, selectionEnd + 1);\n else if (operation === 'delete-single')\n this.input.nativeElement.setSelectionRange(selectionEnd - 1, selectionEnd - 1);\n else if (operation === 'delete-range' || operation === 'spin')\n this.input.nativeElement.setSelectionRange(selectionEnd, selectionEnd);\n }\n else if (operation === 'delete-back-single') {\n let prevChar = inputValue.charAt(selectionEnd - 1);\n let nextChar = inputValue.charAt(selectionEnd);\n let diff = currentLength - newLength;\n let isGroupChar = this._group.test(nextChar);\n\n if (isGroupChar && diff === 1) {\n selectionEnd += 1;\n }\n else if (!isGroupChar && this.isNumeralChar(prevChar)) {\n selectionEnd += (-1 * diff) + 1;\n }\n\n this._group.lastIndex = 0;\n this.input.nativeElement.setSelectionRange(selectionEnd, selectionEnd);\n }\n else {\n selectionEnd = selectionEnd + (newLength - currentLength);\n this.input.nativeElement.setSelectionRange(selectionEnd, selectionEnd);\n }\n }\n\n this.input.nativeElement.setAttribute('aria-valuenow', value);\n }\n\n onInputFocus(event) {\n this.focused = true;\n this.onFocus.emit(event);\n }\n\n onInputBlur(event) {\n this.focused = false;\n\n let newValue = this.validateValue(this.parseValue(this.input.nativeElement.value));\n this.input.nativeElement.value = this.formatValue(newValue);\n this.input.nativeElement.setAttribute('aria-valuenow', newValue);\n this.updateModel(event, newValue);\n\n this.onBlur.emit(event);\n }\n\n formattedValue() {\n return this.formatValue(this.value);\n }\n\n updateModel(event, value) {\n if (this.value !== value) {\n this.value = value;\n this.onModelChange(value);\n }\n\n this.onModelTouched();\n }\n\n writeValue(value: any) : void {\n this.value = value;\n this.cd.markForCheck();\n }\n\n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n\n setDisabledState(val: boolean): void {\n this.disabled = val;\n this.cd.markForCheck();\n }\n\n get filled() {\n return (this.value != null && this.value.toString().length > 0)\n }\n\n clearTimer() {\n if (this.timer) {\n clearInterval(this.timer);\n }\n }\n}\n\n@NgModule({\n imports: [CommonModule,InputTextModule, ButtonModule],\n exports: [InputNumber],\n declarations: [InputNumber]\n})\nexport class InputNumberModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["NG_VALUE_ACCESSOR","forwardRef","EventEmitter","Component","ChangeDetectionStrategy","ViewEncapsulation","ElementRef","ChangeDetectorRef","Input","ViewChild","Output","NgModule","CommonModule","InputTextModule","ButtonModule"],"mappings":"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"}