primeng 20.3.0 → 20.5.0-lts

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 (520) hide show
  1. package/LICENSE.md +1 -1
  2. package/accordion/index.d.ts +6 -2
  3. package/animateonscroll/index.d.ts +1 -0
  4. package/api/index.d.ts +6 -1
  5. package/autocomplete/index.d.ts +1 -0
  6. package/autofocus/index.d.ts +1 -0
  7. package/avatar/index.d.ts +1 -0
  8. package/avatargroup/index.d.ts +1 -0
  9. package/badge/index.d.ts +2 -0
  10. package/basecomponent/index.d.ts +5 -2
  11. package/blockui/index.d.ts +1 -0
  12. package/breadcrumb/index.d.ts +1 -0
  13. package/button/index.d.ts +5 -1
  14. package/buttongroup/index.d.ts +1 -0
  15. package/card/index.d.ts +1 -0
  16. package/carousel/index.d.ts +1 -0
  17. package/cascadeselect/index.d.ts +1 -0
  18. package/chart/index.d.ts +1 -0
  19. package/chip/index.d.ts +1 -0
  20. package/colorpicker/index.d.ts +1 -0
  21. package/config/index.d.ts +5 -1
  22. package/confirmdialog/index.d.ts +1 -0
  23. package/confirmpopup/index.d.ts +1 -0
  24. package/contextmenu/index.d.ts +3 -1
  25. package/dataview/index.d.ts +1 -0
  26. package/datepicker/index.d.ts +1 -0
  27. package/dialog/index.d.ts +1 -0
  28. package/divider/index.d.ts +1 -0
  29. package/dock/index.d.ts +1 -0
  30. package/drawer/index.d.ts +1 -0
  31. package/dynamicdialog/index.d.ts +1 -0
  32. package/editor/index.d.ts +1 -0
  33. package/fesm2022/primeng-accordion.mjs +27 -23
  34. package/fesm2022/primeng-accordion.mjs.map +1 -1
  35. package/fesm2022/primeng-animateonscroll.mjs +8 -7
  36. package/fesm2022/primeng-animateonscroll.mjs.map +1 -1
  37. package/fesm2022/primeng-api.mjs +146 -32
  38. package/fesm2022/primeng-api.mjs.map +1 -1
  39. package/fesm2022/primeng-autocomplete.mjs +18 -14
  40. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  41. package/fesm2022/primeng-autofocus.mjs +8 -7
  42. package/fesm2022/primeng-autofocus.mjs.map +1 -1
  43. package/fesm2022/primeng-avatar.mjs +11 -10
  44. package/fesm2022/primeng-avatar.mjs.map +1 -1
  45. package/fesm2022/primeng-avatargroup.mjs +11 -10
  46. package/fesm2022/primeng-avatargroup.mjs.map +1 -1
  47. package/fesm2022/primeng-badge.mjs +17 -15
  48. package/fesm2022/primeng-badge.mjs.map +1 -1
  49. package/fesm2022/primeng-base.mjs +3 -3
  50. package/fesm2022/primeng-base.mjs.map +1 -1
  51. package/fesm2022/primeng-basecomponent.mjs +38 -25
  52. package/fesm2022/primeng-basecomponent.mjs.map +1 -1
  53. package/fesm2022/primeng-baseeditableholder.mjs +4 -4
  54. package/fesm2022/primeng-baseeditableholder.mjs.map +1 -1
  55. package/fesm2022/primeng-baseinput.mjs +4 -4
  56. package/fesm2022/primeng-baseinput.mjs.map +1 -1
  57. package/fesm2022/primeng-basemodelholder.mjs +3 -3
  58. package/fesm2022/primeng-basemodelholder.mjs.map +1 -1
  59. package/fesm2022/primeng-bind.mjs +8 -8
  60. package/fesm2022/primeng-bind.mjs.map +1 -1
  61. package/fesm2022/primeng-blockui.mjs +11 -10
  62. package/fesm2022/primeng-blockui.mjs.map +1 -1
  63. package/fesm2022/primeng-breadcrumb.mjs +47 -28
  64. package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
  65. package/fesm2022/primeng-button.mjs +34 -28
  66. package/fesm2022/primeng-button.mjs.map +1 -1
  67. package/fesm2022/primeng-buttongroup.mjs +11 -10
  68. package/fesm2022/primeng-buttongroup.mjs.map +1 -1
  69. package/fesm2022/primeng-card.mjs +12 -11
  70. package/fesm2022/primeng-card.mjs.map +1 -1
  71. package/fesm2022/primeng-carousel.mjs +11 -10
  72. package/fesm2022/primeng-carousel.mjs.map +1 -1
  73. package/fesm2022/primeng-cascadeselect.mjs +16 -15
  74. package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
  75. package/fesm2022/primeng-chart.mjs +11 -10
  76. package/fesm2022/primeng-chart.mjs.map +1 -1
  77. package/fesm2022/primeng-checkbox.mjs +11 -11
  78. package/fesm2022/primeng-checkbox.mjs.map +1 -1
  79. package/fesm2022/primeng-chip.mjs +11 -10
  80. package/fesm2022/primeng-chip.mjs.map +1 -1
  81. package/fesm2022/primeng-classnames.mjs +8 -8
  82. package/fesm2022/primeng-classnames.mjs.map +1 -1
  83. package/fesm2022/primeng-colorpicker.mjs +12 -11
  84. package/fesm2022/primeng-colorpicker.mjs.map +1 -1
  85. package/fesm2022/primeng-config.mjs +6 -6
  86. package/fesm2022/primeng-config.mjs.map +1 -1
  87. package/fesm2022/primeng-confirmdialog.mjs +11 -10
  88. package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
  89. package/fesm2022/primeng-confirmpopup.mjs +12 -11
  90. package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
  91. package/fesm2022/primeng-contextmenu.mjs +28 -21
  92. package/fesm2022/primeng-contextmenu.mjs.map +1 -1
  93. package/fesm2022/primeng-dataview.mjs +11 -10
  94. package/fesm2022/primeng-dataview.mjs.map +1 -1
  95. package/fesm2022/primeng-datepicker.mjs +15 -12
  96. package/fesm2022/primeng-datepicker.mjs.map +1 -1
  97. package/fesm2022/primeng-dialog.mjs +14 -13
  98. package/fesm2022/primeng-dialog.mjs.map +1 -1
  99. package/fesm2022/primeng-divider.mjs +11 -10
  100. package/fesm2022/primeng-divider.mjs.map +1 -1
  101. package/fesm2022/primeng-dock.mjs +36 -23
  102. package/fesm2022/primeng-dock.mjs.map +1 -1
  103. package/fesm2022/primeng-dragdrop.mjs +10 -10
  104. package/fesm2022/primeng-dragdrop.mjs.map +1 -1
  105. package/fesm2022/primeng-drawer.mjs +11 -10
  106. package/fesm2022/primeng-drawer.mjs.map +1 -1
  107. package/fesm2022/primeng-dynamicdialog.mjs +17 -16
  108. package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
  109. package/fesm2022/primeng-editor.mjs +11 -10
  110. package/fesm2022/primeng-editor.mjs.map +1 -1
  111. package/fesm2022/primeng-fieldset.mjs +12 -11
  112. package/fesm2022/primeng-fieldset.mjs.map +1 -1
  113. package/fesm2022/primeng-fileupload.mjs +15 -14
  114. package/fesm2022/primeng-fileupload.mjs.map +1 -1
  115. package/fesm2022/primeng-floatlabel.mjs +11 -10
  116. package/fesm2022/primeng-floatlabel.mjs.map +1 -1
  117. package/fesm2022/primeng-fluid.mjs +11 -10
  118. package/fesm2022/primeng-fluid.mjs.map +1 -1
  119. package/fesm2022/primeng-focustrap.mjs +8 -7
  120. package/fesm2022/primeng-focustrap.mjs.map +1 -1
  121. package/fesm2022/primeng-galleria.mjs +32 -28
  122. package/fesm2022/primeng-galleria.mjs.map +1 -1
  123. package/fesm2022/primeng-iconfield.mjs +11 -10
  124. package/fesm2022/primeng-iconfield.mjs.map +1 -1
  125. package/fesm2022/primeng-icons-angledoubledown.mjs +3 -3
  126. package/fesm2022/primeng-icons-angledoubledown.mjs.map +1 -1
  127. package/fesm2022/primeng-icons-angledoubleleft.mjs +3 -3
  128. package/fesm2022/primeng-icons-angledoubleleft.mjs.map +1 -1
  129. package/fesm2022/primeng-icons-angledoubleright.mjs +3 -3
  130. package/fesm2022/primeng-icons-angledoubleright.mjs.map +1 -1
  131. package/fesm2022/primeng-icons-angledoubleup.mjs +3 -3
  132. package/fesm2022/primeng-icons-angledoubleup.mjs.map +1 -1
  133. package/fesm2022/primeng-icons-angledown.mjs +3 -3
  134. package/fesm2022/primeng-icons-angledown.mjs.map +1 -1
  135. package/fesm2022/primeng-icons-angleleft.mjs +3 -3
  136. package/fesm2022/primeng-icons-angleleft.mjs.map +1 -1
  137. package/fesm2022/primeng-icons-angleright.mjs +3 -3
  138. package/fesm2022/primeng-icons-angleright.mjs.map +1 -1
  139. package/fesm2022/primeng-icons-angleup.mjs +3 -3
  140. package/fesm2022/primeng-icons-angleup.mjs.map +1 -1
  141. package/fesm2022/primeng-icons-arrowdown.mjs +3 -3
  142. package/fesm2022/primeng-icons-arrowdown.mjs.map +1 -1
  143. package/fesm2022/primeng-icons-arrowdownleft.mjs +3 -3
  144. package/fesm2022/primeng-icons-arrowdownleft.mjs.map +1 -1
  145. package/fesm2022/primeng-icons-arrowdownright.mjs +3 -3
  146. package/fesm2022/primeng-icons-arrowdownright.mjs.map +1 -1
  147. package/fesm2022/primeng-icons-arrowleft.mjs +3 -3
  148. package/fesm2022/primeng-icons-arrowleft.mjs.map +1 -1
  149. package/fesm2022/primeng-icons-arrowright.mjs +3 -3
  150. package/fesm2022/primeng-icons-arrowright.mjs.map +1 -1
  151. package/fesm2022/primeng-icons-arrowup.mjs +3 -3
  152. package/fesm2022/primeng-icons-arrowup.mjs.map +1 -1
  153. package/fesm2022/primeng-icons-ban.mjs +3 -3
  154. package/fesm2022/primeng-icons-ban.mjs.map +1 -1
  155. package/fesm2022/primeng-icons-bars.mjs +3 -3
  156. package/fesm2022/primeng-icons-bars.mjs.map +1 -1
  157. package/fesm2022/primeng-icons-baseicon.mjs +6 -6
  158. package/fesm2022/primeng-icons-baseicon.mjs.map +1 -1
  159. package/fesm2022/primeng-icons-blank.mjs +3 -3
  160. package/fesm2022/primeng-icons-blank.mjs.map +1 -1
  161. package/fesm2022/primeng-icons-calendar.mjs +3 -3
  162. package/fesm2022/primeng-icons-calendar.mjs.map +1 -1
  163. package/fesm2022/primeng-icons-caretleft.mjs +3 -3
  164. package/fesm2022/primeng-icons-caretleft.mjs.map +1 -1
  165. package/fesm2022/primeng-icons-caretright.mjs +3 -3
  166. package/fesm2022/primeng-icons-caretright.mjs.map +1 -1
  167. package/fesm2022/primeng-icons-check.mjs +3 -3
  168. package/fesm2022/primeng-icons-check.mjs.map +1 -1
  169. package/fesm2022/primeng-icons-chevrondown.mjs +3 -3
  170. package/fesm2022/primeng-icons-chevrondown.mjs.map +1 -1
  171. package/fesm2022/primeng-icons-chevronleft.mjs +3 -3
  172. package/fesm2022/primeng-icons-chevronleft.mjs.map +1 -1
  173. package/fesm2022/primeng-icons-chevronright.mjs +3 -3
  174. package/fesm2022/primeng-icons-chevronright.mjs.map +1 -1
  175. package/fesm2022/primeng-icons-chevronup.mjs +3 -3
  176. package/fesm2022/primeng-icons-chevronup.mjs.map +1 -1
  177. package/fesm2022/primeng-icons-exclamationtriangle.mjs +3 -3
  178. package/fesm2022/primeng-icons-exclamationtriangle.mjs.map +1 -1
  179. package/fesm2022/primeng-icons-eye.mjs +3 -3
  180. package/fesm2022/primeng-icons-eye.mjs.map +1 -1
  181. package/fesm2022/primeng-icons-eyeslash.mjs +3 -3
  182. package/fesm2022/primeng-icons-eyeslash.mjs.map +1 -1
  183. package/fesm2022/primeng-icons-filter.mjs +3 -3
  184. package/fesm2022/primeng-icons-filter.mjs.map +1 -1
  185. package/fesm2022/primeng-icons-filterfill.mjs +3 -3
  186. package/fesm2022/primeng-icons-filterfill.mjs.map +1 -1
  187. package/fesm2022/primeng-icons-filterslash.mjs +3 -3
  188. package/fesm2022/primeng-icons-filterslash.mjs.map +1 -1
  189. package/fesm2022/primeng-icons-home.mjs +3 -3
  190. package/fesm2022/primeng-icons-home.mjs.map +1 -1
  191. package/fesm2022/primeng-icons-infocircle.mjs +3 -3
  192. package/fesm2022/primeng-icons-infocircle.mjs.map +1 -1
  193. package/fesm2022/primeng-icons-minus.mjs +3 -3
  194. package/fesm2022/primeng-icons-minus.mjs.map +1 -1
  195. package/fesm2022/primeng-icons-pencil.mjs +3 -3
  196. package/fesm2022/primeng-icons-pencil.mjs.map +1 -1
  197. package/fesm2022/primeng-icons-plus.mjs +3 -3
  198. package/fesm2022/primeng-icons-plus.mjs.map +1 -1
  199. package/fesm2022/primeng-icons-refresh.mjs +3 -3
  200. package/fesm2022/primeng-icons-refresh.mjs.map +1 -1
  201. package/fesm2022/primeng-icons-search.mjs +3 -3
  202. package/fesm2022/primeng-icons-search.mjs.map +1 -1
  203. package/fesm2022/primeng-icons-searchminus.mjs +3 -3
  204. package/fesm2022/primeng-icons-searchminus.mjs.map +1 -1
  205. package/fesm2022/primeng-icons-searchplus.mjs +3 -3
  206. package/fesm2022/primeng-icons-searchplus.mjs.map +1 -1
  207. package/fesm2022/primeng-icons-sortalt.mjs +3 -3
  208. package/fesm2022/primeng-icons-sortalt.mjs.map +1 -1
  209. package/fesm2022/primeng-icons-sortamountdown.mjs +3 -3
  210. package/fesm2022/primeng-icons-sortamountdown.mjs.map +1 -1
  211. package/fesm2022/primeng-icons-sortamountupalt.mjs +3 -3
  212. package/fesm2022/primeng-icons-sortamountupalt.mjs.map +1 -1
  213. package/fesm2022/primeng-icons-spinner.mjs +3 -3
  214. package/fesm2022/primeng-icons-spinner.mjs.map +1 -1
  215. package/fesm2022/primeng-icons-star.mjs +3 -3
  216. package/fesm2022/primeng-icons-star.mjs.map +1 -1
  217. package/fesm2022/primeng-icons-starfill.mjs +3 -3
  218. package/fesm2022/primeng-icons-starfill.mjs.map +1 -1
  219. package/fesm2022/primeng-icons-thlarge.mjs +3 -3
  220. package/fesm2022/primeng-icons-thlarge.mjs.map +1 -1
  221. package/fesm2022/primeng-icons-times.mjs +3 -3
  222. package/fesm2022/primeng-icons-times.mjs.map +1 -1
  223. package/fesm2022/primeng-icons-timescircle.mjs +3 -3
  224. package/fesm2022/primeng-icons-timescircle.mjs.map +1 -1
  225. package/fesm2022/primeng-icons-trash.mjs +3 -3
  226. package/fesm2022/primeng-icons-trash.mjs.map +1 -1
  227. package/fesm2022/primeng-icons-undo.mjs +3 -3
  228. package/fesm2022/primeng-icons-undo.mjs.map +1 -1
  229. package/fesm2022/primeng-icons-upload.mjs +3 -3
  230. package/fesm2022/primeng-icons-upload.mjs.map +1 -1
  231. package/fesm2022/primeng-icons-windowmaximize.mjs +3 -3
  232. package/fesm2022/primeng-icons-windowmaximize.mjs.map +1 -1
  233. package/fesm2022/primeng-icons-windowminimize.mjs +3 -3
  234. package/fesm2022/primeng-icons-windowminimize.mjs.map +1 -1
  235. package/fesm2022/primeng-iftalabel.mjs +11 -10
  236. package/fesm2022/primeng-iftalabel.mjs.map +1 -1
  237. package/fesm2022/primeng-image.mjs +12 -11
  238. package/fesm2022/primeng-image.mjs.map +1 -1
  239. package/fesm2022/primeng-imagecompare.mjs +11 -10
  240. package/fesm2022/primeng-imagecompare.mjs.map +1 -1
  241. package/fesm2022/primeng-inplace.mjs +17 -16
  242. package/fesm2022/primeng-inplace.mjs.map +1 -1
  243. package/fesm2022/primeng-inputgroup.mjs +11 -10
  244. package/fesm2022/primeng-inputgroup.mjs.map +1 -1
  245. package/fesm2022/primeng-inputgroupaddon.mjs +11 -10
  246. package/fesm2022/primeng-inputgroupaddon.mjs.map +1 -1
  247. package/fesm2022/primeng-inputicon.mjs +11 -10
  248. package/fesm2022/primeng-inputicon.mjs.map +1 -1
  249. package/fesm2022/primeng-inputmask.mjs +575 -15
  250. package/fesm2022/primeng-inputmask.mjs.map +1 -1
  251. package/fesm2022/primeng-inputnumber.mjs +11 -10
  252. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  253. package/fesm2022/primeng-inputotp.mjs +20 -13
  254. package/fesm2022/primeng-inputotp.mjs.map +1 -1
  255. package/fesm2022/primeng-inputtext.mjs +13 -12
  256. package/fesm2022/primeng-inputtext.mjs.map +1 -1
  257. package/fesm2022/primeng-keyfilter.mjs +7 -7
  258. package/fesm2022/primeng-keyfilter.mjs.map +1 -1
  259. package/fesm2022/primeng-knob.mjs +26 -25
  260. package/fesm2022/primeng-knob.mjs.map +1 -1
  261. package/fesm2022/primeng-listbox.mjs +17 -15
  262. package/fesm2022/primeng-listbox.mjs.map +1 -1
  263. package/fesm2022/primeng-megamenu.mjs +60 -33
  264. package/fesm2022/primeng-megamenu.mjs.map +1 -1
  265. package/fesm2022/primeng-menu.mjs +30 -25
  266. package/fesm2022/primeng-menu.mjs.map +1 -1
  267. package/fesm2022/primeng-menubar.mjs +59 -36
  268. package/fesm2022/primeng-menubar.mjs.map +1 -1
  269. package/fesm2022/primeng-message.mjs +11 -10
  270. package/fesm2022/primeng-message.mjs.map +1 -1
  271. package/fesm2022/primeng-metergroup.mjs +14 -13
  272. package/fesm2022/primeng-metergroup.mjs.map +1 -1
  273. package/fesm2022/primeng-multiselect.mjs +16 -15
  274. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  275. package/fesm2022/primeng-orderlist.mjs +11 -10
  276. package/fesm2022/primeng-orderlist.mjs.map +1 -1
  277. package/fesm2022/primeng-organizationchart.mjs +15 -14
  278. package/fesm2022/primeng-organizationchart.mjs.map +1 -1
  279. package/fesm2022/primeng-overlay.mjs +13 -12
  280. package/fesm2022/primeng-overlay.mjs.map +1 -1
  281. package/fesm2022/primeng-overlaybadge.mjs +11 -10
  282. package/fesm2022/primeng-overlaybadge.mjs.map +1 -1
  283. package/fesm2022/primeng-paginator.mjs +12 -11
  284. package/fesm2022/primeng-paginator.mjs.map +1 -1
  285. package/fesm2022/primeng-panel.mjs +12 -11
  286. package/fesm2022/primeng-panel.mjs.map +1 -1
  287. package/fesm2022/primeng-panelmenu.mjs +52 -27
  288. package/fesm2022/primeng-panelmenu.mjs.map +1 -1
  289. package/fesm2022/primeng-password.mjs +20 -18
  290. package/fesm2022/primeng-password.mjs.map +1 -1
  291. package/fesm2022/primeng-picklist.mjs +85 -92
  292. package/fesm2022/primeng-picklist.mjs.map +1 -1
  293. package/fesm2022/primeng-popover.mjs +12 -11
  294. package/fesm2022/primeng-popover.mjs.map +1 -1
  295. package/fesm2022/primeng-progressbar.mjs +11 -10
  296. package/fesm2022/primeng-progressbar.mjs.map +1 -1
  297. package/fesm2022/primeng-progressspinner.mjs +11 -10
  298. package/fesm2022/primeng-progressspinner.mjs.map +1 -1
  299. package/fesm2022/primeng-radiobutton.mjs +15 -14
  300. package/fesm2022/primeng-radiobutton.mjs.map +1 -1
  301. package/fesm2022/primeng-rating.mjs +11 -10
  302. package/fesm2022/primeng-rating.mjs.map +1 -1
  303. package/fesm2022/primeng-ripple.mjs +11 -10
  304. package/fesm2022/primeng-ripple.mjs.map +1 -1
  305. package/fesm2022/primeng-scroller.mjs +11 -11
  306. package/fesm2022/primeng-scroller.mjs.map +1 -1
  307. package/fesm2022/primeng-scrollpanel.mjs +11 -10
  308. package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
  309. package/fesm2022/primeng-scrolltop.mjs +12 -11
  310. package/fesm2022/primeng-scrolltop.mjs.map +1 -1
  311. package/fesm2022/primeng-select.mjs +16 -15
  312. package/fesm2022/primeng-select.mjs.map +1 -1
  313. package/fesm2022/primeng-selectbutton.mjs +12 -11
  314. package/fesm2022/primeng-selectbutton.mjs.map +1 -1
  315. package/fesm2022/primeng-skeleton.mjs +11 -10
  316. package/fesm2022/primeng-skeleton.mjs.map +1 -1
  317. package/fesm2022/primeng-slider.mjs +11 -10
  318. package/fesm2022/primeng-slider.mjs.map +1 -1
  319. package/fesm2022/primeng-speeddial.mjs +12 -11
  320. package/fesm2022/primeng-speeddial.mjs.map +1 -1
  321. package/fesm2022/primeng-splitbutton.mjs +12 -11
  322. package/fesm2022/primeng-splitbutton.mjs.map +1 -1
  323. package/fesm2022/primeng-splitter.mjs +12 -11
  324. package/fesm2022/primeng-splitter.mjs.map +1 -1
  325. package/fesm2022/primeng-stepper.mjs +58 -50
  326. package/fesm2022/primeng-stepper.mjs.map +1 -1
  327. package/fesm2022/primeng-steps.mjs +12 -11
  328. package/fesm2022/primeng-steps.mjs.map +1 -1
  329. package/fesm2022/primeng-styleclass.mjs +7 -7
  330. package/fesm2022/primeng-styleclass.mjs.map +1 -1
  331. package/fesm2022/primeng-table.mjs +100 -91
  332. package/fesm2022/primeng-table.mjs.map +1 -1
  333. package/fesm2022/primeng-tabs.mjs +42 -37
  334. package/fesm2022/primeng-tabs.mjs.map +1 -1
  335. package/fesm2022/primeng-tag.mjs +11 -10
  336. package/fesm2022/primeng-tag.mjs.map +1 -1
  337. package/fesm2022/primeng-terminal.mjs +14 -13
  338. package/fesm2022/primeng-terminal.mjs.map +1 -1
  339. package/fesm2022/primeng-textarea.mjs +12 -11
  340. package/fesm2022/primeng-textarea.mjs.map +1 -1
  341. package/fesm2022/primeng-tieredmenu.mjs +25 -20
  342. package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
  343. package/fesm2022/primeng-timeline.mjs +11 -10
  344. package/fesm2022/primeng-timeline.mjs.map +1 -1
  345. package/fesm2022/primeng-toast.mjs +15 -14
  346. package/fesm2022/primeng-toast.mjs.map +1 -1
  347. package/fesm2022/primeng-togglebutton.mjs +12 -11
  348. package/fesm2022/primeng-togglebutton.mjs.map +1 -1
  349. package/fesm2022/primeng-toggleswitch.mjs +12 -11
  350. package/fesm2022/primeng-toggleswitch.mjs.map +1 -1
  351. package/fesm2022/primeng-toolbar.mjs +11 -10
  352. package/fesm2022/primeng-toolbar.mjs.map +1 -1
  353. package/fesm2022/primeng-tooltip.mjs +76 -13
  354. package/fesm2022/primeng-tooltip.mjs.map +1 -1
  355. package/fesm2022/primeng-tree.mjs +160 -91
  356. package/fesm2022/primeng-tree.mjs.map +1 -1
  357. package/fesm2022/primeng-treeselect.mjs +29 -13
  358. package/fesm2022/primeng-treeselect.mjs.map +1 -1
  359. package/fesm2022/primeng-treetable.mjs +70 -61
  360. package/fesm2022/primeng-treetable.mjs.map +1 -1
  361. package/fesm2022/primeng-usestyle.mjs +3 -3
  362. package/fesm2022/primeng-usestyle.mjs.map +1 -1
  363. package/fieldset/index.d.ts +1 -0
  364. package/fileupload/index.d.ts +1 -0
  365. package/floatlabel/index.d.ts +1 -0
  366. package/fluid/index.d.ts +1 -0
  367. package/focustrap/index.d.ts +1 -0
  368. package/galleria/index.d.ts +2 -0
  369. package/iconfield/index.d.ts +1 -0
  370. package/iftalabel/index.d.ts +1 -0
  371. package/image/index.d.ts +1 -0
  372. package/imagecompare/index.d.ts +1 -0
  373. package/inplace/index.d.ts +1 -0
  374. package/inputgroup/index.d.ts +1 -0
  375. package/inputgroupaddon/index.d.ts +1 -0
  376. package/inputicon/index.d.ts +1 -0
  377. package/inputmask/index.d.ts +117 -10
  378. package/inputnumber/index.d.ts +1 -0
  379. package/inputotp/index.d.ts +1 -0
  380. package/inputtext/index.d.ts +1 -0
  381. package/knob/index.d.ts +2 -1
  382. package/listbox/index.d.ts +1 -0
  383. package/megamenu/index.d.ts +5 -2
  384. package/menu/index.d.ts +3 -2
  385. package/menubar/index.d.ts +5 -3
  386. package/message/index.d.ts +1 -0
  387. package/metergroup/index.d.ts +1 -0
  388. package/multiselect/index.d.ts +2 -1
  389. package/orderlist/index.d.ts +1 -0
  390. package/organizationchart/index.d.ts +2 -1
  391. package/overlay/index.d.ts +1 -0
  392. package/overlaybadge/index.d.ts +1 -0
  393. package/package.json +404 -404
  394. package/paginator/index.d.ts +1 -0
  395. package/panel/index.d.ts +1 -0
  396. package/panelmenu/index.d.ts +2 -1
  397. package/password/index.d.ts +3 -1
  398. package/picklist/index.d.ts +5 -4
  399. package/popover/index.d.ts +1 -0
  400. package/progressbar/index.d.ts +1 -0
  401. package/progressspinner/index.d.ts +1 -0
  402. package/radiobutton/index.d.ts +1 -0
  403. package/rating/index.d.ts +1 -0
  404. package/ripple/index.d.ts +1 -0
  405. package/scrollpanel/index.d.ts +1 -0
  406. package/scrolltop/index.d.ts +1 -0
  407. package/select/index.d.ts +1 -0
  408. package/selectbutton/index.d.ts +1 -0
  409. package/skeleton/index.d.ts +1 -0
  410. package/slider/index.d.ts +1 -0
  411. package/speeddial/index.d.ts +1 -0
  412. package/splitbutton/index.d.ts +1 -0
  413. package/splitter/index.d.ts +1 -0
  414. package/stepper/index.d.ts +8 -1
  415. package/steps/index.d.ts +1 -0
  416. package/table/index.d.ts +2 -1
  417. package/tabs/index.d.ts +5 -0
  418. package/tag/index.d.ts +1 -0
  419. package/terminal/index.d.ts +1 -0
  420. package/textarea/index.d.ts +1 -0
  421. package/tieredmenu/index.d.ts +2 -1
  422. package/timeline/index.d.ts +1 -0
  423. package/toast/index.d.ts +3 -2
  424. package/togglebutton/index.d.ts +1 -0
  425. package/toggleswitch/index.d.ts +1 -0
  426. package/toolbar/index.d.ts +1 -0
  427. package/tooltip/index.d.ts +18 -2
  428. package/tree/index.d.ts +46 -27
  429. package/treeselect/index.d.ts +7 -1
  430. package/treetable/index.d.ts +3 -2
  431. package/types/accordion/index.d.ts +1 -1
  432. package/types/autocomplete/index.d.ts +1 -1
  433. package/types/avatar/index.d.ts +1 -1
  434. package/types/avatargroup/index.d.ts +1 -1
  435. package/types/badge/index.d.ts +1 -1
  436. package/types/blockui/index.d.ts +1 -1
  437. package/types/breadcrumb/index.d.ts +1 -1
  438. package/types/button/index.d.ts +1 -1
  439. package/types/card/index.d.ts +1 -1
  440. package/types/carousel/index.d.ts +1 -1
  441. package/types/cascadeselect/index.d.ts +1 -1
  442. package/types/chart/index.d.ts +1 -1
  443. package/types/checkbox/index.d.ts +1 -1
  444. package/types/chip/index.d.ts +1 -1
  445. package/types/colorpicker/index.d.ts +1 -1
  446. package/types/confirmdialog/index.d.ts +1 -1
  447. package/types/confirmpopup/index.d.ts +1 -1
  448. package/types/contextmenu/index.d.ts +1 -1
  449. package/types/dataview/index.d.ts +1 -1
  450. package/types/datepicker/index.d.ts +1 -1
  451. package/types/dialog/index.d.ts +1 -1
  452. package/types/divider/index.d.ts +1 -1
  453. package/types/dock/index.d.ts +1 -1
  454. package/types/drawer/index.d.ts +1 -1
  455. package/types/editor/index.d.ts +1 -1
  456. package/types/fieldset/index.d.ts +1 -1
  457. package/types/fileupload/index.d.ts +1 -1
  458. package/types/floatlabel/index.d.ts +1 -1
  459. package/types/fluid/index.d.ts +1 -1
  460. package/types/galleria/index.d.ts +1 -1
  461. package/types/iconfield/index.d.ts +1 -1
  462. package/types/iftalabel/index.d.ts +1 -1
  463. package/types/image/index.d.ts +1 -1
  464. package/types/imagecompare/index.d.ts +1 -1
  465. package/types/inplace/index.d.ts +1 -1
  466. package/types/inputgroup/index.d.ts +1 -1
  467. package/types/inputgroupaddon/index.d.ts +1 -1
  468. package/types/inputicon/index.d.ts +1 -1
  469. package/types/inputmask/index.d.ts +1 -1
  470. package/types/inputnumber/index.d.ts +1 -1
  471. package/types/inputotp/index.d.ts +1 -1
  472. package/types/inputtext/index.d.ts +1 -1
  473. package/types/knob/index.d.ts +1 -1
  474. package/types/listbox/index.d.ts +1 -1
  475. package/types/megamenu/index.d.ts +1 -1
  476. package/types/menu/index.d.ts +1 -1
  477. package/types/menubar/index.d.ts +1 -1
  478. package/types/message/index.d.ts +1 -1
  479. package/types/metergroup/index.d.ts +1 -1
  480. package/types/multiselect/index.d.ts +1 -1
  481. package/types/orderlist/index.d.ts +1 -1
  482. package/types/organizationchart/index.d.ts +1 -1
  483. package/types/overlay/index.d.ts +1 -1
  484. package/types/overlaybadge/index.d.ts +1 -1
  485. package/types/paginator/index.d.ts +1 -1
  486. package/types/panel/index.d.ts +1 -1
  487. package/types/panelmenu/index.d.ts +1 -1
  488. package/types/password/index.d.ts +1 -1
  489. package/types/picklist/index.d.ts +1 -1
  490. package/types/popover/index.d.ts +1 -1
  491. package/types/progressbar/index.d.ts +1 -1
  492. package/types/progressspinner/index.d.ts +1 -1
  493. package/types/radiobutton/index.d.ts +1 -1
  494. package/types/rating/index.d.ts +1 -1
  495. package/types/scroller/index.d.ts +1 -1
  496. package/types/scrollpanel/index.d.ts +1 -1
  497. package/types/scrolltop/index.d.ts +1 -1
  498. package/types/select/index.d.ts +1 -1
  499. package/types/selectbutton/index.d.ts +1 -1
  500. package/types/skeleton/index.d.ts +1 -1
  501. package/types/slider/index.d.ts +1 -1
  502. package/types/speeddial/index.d.ts +1 -1
  503. package/types/splitbutton/index.d.ts +1 -1
  504. package/types/splitter/index.d.ts +1 -1
  505. package/types/stepper/index.d.ts +1 -1
  506. package/types/table/index.d.ts +1 -1
  507. package/types/tabs/index.d.ts +1 -1
  508. package/types/tag/index.d.ts +1 -1
  509. package/types/terminal/index.d.ts +1 -1
  510. package/types/textarea/index.d.ts +1 -1
  511. package/types/tieredmenu/index.d.ts +1 -1
  512. package/types/timeline/index.d.ts +1 -1
  513. package/types/toast/index.d.ts +1 -1
  514. package/types/togglebutton/index.d.ts +1 -1
  515. package/types/toggleswitch/index.d.ts +1 -1
  516. package/types/toolbar/index.d.ts +1 -1
  517. package/types/tooltip/index.d.ts +1 -1
  518. package/types/tree/index.d.ts +1 -1
  519. package/types/treeselect/index.d.ts +1 -1
  520. package/types/treetable/index.d.ts +1 -1
@@ -2,12 +2,12 @@ export * from 'primeng/types/inputmask';
2
2
  import * as i2 from '@angular/common';
3
3
  import { isPlatformBrowser, CommonModule } from '@angular/common';
4
4
  import * as i0 from '@angular/core';
5
- import { Injectable, InjectionToken, forwardRef, inject, computed, EventEmitter, booleanAttribute, ViewChild, ContentChildren, ContentChild, Output, Input, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
5
+ import { Injectable, InjectionToken, inject, input, booleanAttribute, output, effect, Directive, forwardRef, computed, EventEmitter, ViewChild, ContentChildren, ContentChild, Output, Input, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
6
6
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
7
7
  import { getUserAgent, isClient } from '@primeuix/utils';
8
8
  import { SharedModule, PrimeTemplate } from 'primeng/api';
9
9
  import { AutoFocus } from 'primeng/autofocus';
10
- import { PARENT_INSTANCE } from 'primeng/basecomponent';
10
+ import { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';
11
11
  import { BaseInput } from 'primeng/baseinput';
12
12
  import * as i1 from 'primeng/bind';
13
13
  import { Bind, BindModule } from 'primeng/bind';
@@ -67,10 +67,10 @@ class InputMaskStyle extends BaseStyle {
67
67
  name = 'inputmask';
68
68
  style = style;
69
69
  classes = classes;
70
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: InputMaskStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
71
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: InputMaskStyle });
70
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: InputMaskStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
71
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: InputMaskStyle });
72
72
  }
73
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: InputMaskStyle, decorators: [{
73
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: InputMaskStyle, decorators: [{
74
74
  type: Injectable
75
75
  }] });
76
76
  /**
@@ -122,6 +122,564 @@ var InputMaskClasses;
122
122
  OTHER DEALINGS IN THE SOFTWARE.
123
123
  */
124
124
  const INPUTMASK_INSTANCE = new InjectionToken('INPUTMASK_INSTANCE');
125
+ const INPUTMASK_DIRECTIVE_INSTANCE = new InjectionToken('INPUTMASK_DIRECTIVE_INSTANCE');
126
+ /**
127
+ * InputMask directive is applied directly to input elements to enable masked input.
128
+ * @group Components
129
+ */
130
+ class InputMaskDirective extends BaseComponent {
131
+ $pcInputMaskDirective = inject(INPUTMASK_DIRECTIVE_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;
132
+ _componentStyle = inject(InputMaskStyle);
133
+ /**
134
+ * Used to pass attributes to DOM elements inside the InputMask directive.
135
+ * @defaultValue undefined
136
+ * @group Props
137
+ */
138
+ pInputMaskPT = input(...(ngDevMode ? [undefined, { debugName: "pInputMaskPT" }] : []));
139
+ /**
140
+ * Indicates whether the component should be rendered without styles.
141
+ * @defaultValue undefined
142
+ * @group Props
143
+ */
144
+ pInputMaskUnstyled = input(...(ngDevMode ? [undefined, { debugName: "pInputMaskUnstyled" }] : []));
145
+ /**
146
+ * Mask pattern.
147
+ * @group Props
148
+ */
149
+ pInputMask = input(...(ngDevMode ? [undefined, { debugName: "pInputMask" }] : []));
150
+ /**
151
+ * Placeholder character in mask, default is underscore.
152
+ * @group Props
153
+ */
154
+ slotChar = input('_', ...(ngDevMode ? [{ debugName: "slotChar" }] : []));
155
+ /**
156
+ * Clears the incomplete value on blur.
157
+ * @group Props
158
+ */
159
+ autoClear = input(true, ...(ngDevMode ? [{ debugName: "autoClear", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
160
+ /**
161
+ * Regex pattern for alpha characters.
162
+ * @group Props
163
+ */
164
+ characterPattern = input('[A-Za-z]', ...(ngDevMode ? [{ debugName: "characterPattern" }] : []));
165
+ /**
166
+ * When present, it specifies that whether to clean buffer value from model.
167
+ * @group Props
168
+ */
169
+ keepBuffer = input(false, ...(ngDevMode ? [{ debugName: "keepBuffer", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
170
+ /**
171
+ * Callback to invoke when the mask is completed.
172
+ * @group Emits
173
+ */
174
+ onCompleteEvent = output({ alias: 'onComplete' });
175
+ /**
176
+ * Callback to invoke when value changes, emits unmasked value.
177
+ * @group Emits
178
+ */
179
+ onUnmaskedChange = output();
180
+ defs;
181
+ tests;
182
+ partialPosition;
183
+ firstNonMaskPos;
184
+ lastRequiredNonMaskPos;
185
+ len;
186
+ oldVal;
187
+ buffer;
188
+ defaultBuffer;
189
+ focusText;
190
+ caretTimeoutId;
191
+ androidChrome = true;
192
+ focused;
193
+ _inputElement = null;
194
+ _listeners = [];
195
+ isInputVisible(input) {
196
+ const style = getComputedStyle(input);
197
+ return style.display !== 'none' && style.visibility !== 'hidden';
198
+ }
199
+ get inputElement() {
200
+ if (!this._inputElement) {
201
+ const host = this.el.nativeElement;
202
+ this._inputElement = host.querySelector('[data-p-maskable]') || Array.from(host.querySelectorAll('input')).find((input) => this.isInputVisible(input)) || host;
203
+ }
204
+ return this._inputElement;
205
+ }
206
+ constructor() {
207
+ super();
208
+ effect(() => {
209
+ const pt = this.pInputMaskPT();
210
+ pt && this.directivePT.set(pt);
211
+ });
212
+ effect(() => {
213
+ const maskValue = this.pInputMask();
214
+ if (maskValue) {
215
+ this.initMask();
216
+ }
217
+ });
218
+ if (isPlatformBrowser(this.platformId)) {
219
+ const ua = navigator.userAgent;
220
+ this.androidChrome = /chrome/i.test(ua) && /android/i.test(ua);
221
+ }
222
+ }
223
+ onAfterViewInit() {
224
+ if (isPlatformBrowser(this.platformId) && this.inputElement) {
225
+ const events = [
226
+ ['focus', (e) => this.onInputFocus(e)],
227
+ ['blur', (e) => this.onInputBlur(e)],
228
+ ['keydown', (e) => this.onInputKeydown(e)],
229
+ ['keypress', (e) => this.onKeyPress(e)],
230
+ ['input', (e) => this.onInputChange(e)],
231
+ ['paste', (e) => this.onPaste(e)]
232
+ ];
233
+ events.forEach(([event, handler]) => {
234
+ this.inputElement.addEventListener(event, handler);
235
+ this._listeners.push(() => this.inputElement.removeEventListener(event, handler));
236
+ });
237
+ }
238
+ }
239
+ onDestroy() {
240
+ this._listeners.forEach((unlisten) => unlisten());
241
+ }
242
+ initMask() {
243
+ const maskValue = this.pInputMask();
244
+ if (!maskValue) {
245
+ return;
246
+ }
247
+ this.tests = [];
248
+ this.partialPosition = maskValue.length;
249
+ this.len = maskValue.length;
250
+ this.firstNonMaskPos = null;
251
+ this.defs = {
252
+ '9': '[0-9]',
253
+ a: this.characterPattern(),
254
+ '*': `${this.characterPattern()}|[0-9]`
255
+ };
256
+ const maskTokens = maskValue.split('');
257
+ for (let i = 0; i < maskTokens.length; i++) {
258
+ const c = maskTokens[i];
259
+ if (c == '?') {
260
+ this.len--;
261
+ this.partialPosition = i;
262
+ }
263
+ else if (this.defs[c]) {
264
+ this.tests.push(new RegExp(this.defs[c]));
265
+ if (this.firstNonMaskPos === null) {
266
+ this.firstNonMaskPos = this.tests.length - 1;
267
+ }
268
+ if (i < this.partialPosition) {
269
+ this.lastRequiredNonMaskPos = this.tests.length - 1;
270
+ }
271
+ }
272
+ else {
273
+ this.tests.push(null);
274
+ }
275
+ }
276
+ this.buffer = [];
277
+ for (let i = 0; i < maskTokens.length; i++) {
278
+ const c = maskTokens[i];
279
+ if (c != '?') {
280
+ if (this.defs[c])
281
+ this.buffer.push(this.getPlaceholder(i));
282
+ else
283
+ this.buffer.push(c);
284
+ }
285
+ }
286
+ this.defaultBuffer = this.buffer.join('');
287
+ }
288
+ onInputFocus(event) {
289
+ if (this.inputElement.readOnly || !this.pInputMask()) {
290
+ return;
291
+ }
292
+ this.focused = true;
293
+ this.focusText = this.inputElement.value;
294
+ clearTimeout(this.caretTimeoutId);
295
+ const pos = this.checkVal();
296
+ this.caretTimeoutId = setTimeout(() => {
297
+ if (this.inputElement !== this.inputElement.ownerDocument.activeElement) {
298
+ return;
299
+ }
300
+ this.writeBuffer();
301
+ if (pos == this.pInputMask()?.replace('?', '').length) {
302
+ this.caret(0, pos);
303
+ }
304
+ else {
305
+ this.caret(pos);
306
+ }
307
+ }, 10);
308
+ }
309
+ onInputBlur(e) {
310
+ if (!this.pInputMask()) {
311
+ return;
312
+ }
313
+ this.focused = false;
314
+ // Validate/finalize value on blur (clear incomplete if autoClear)
315
+ if (!this.keepBuffer()) {
316
+ const valueBefore = this.inputElement.value;
317
+ this.checkVal();
318
+ // If value changed, dispatch input event so ngModel gets updated
319
+ if (this.inputElement.value !== valueBefore) {
320
+ this.dispatchInputEvent();
321
+ }
322
+ }
323
+ }
324
+ onInputKeydown(e) {
325
+ if (this.inputElement.readOnly || !this.pInputMask()) {
326
+ return;
327
+ }
328
+ const k = e.which || e.keyCode;
329
+ let pos;
330
+ let begin;
331
+ let end;
332
+ let iPhone = false;
333
+ if (isPlatformBrowser(this.platformId)) {
334
+ iPhone = /iphone/i.test(getUserAgent());
335
+ }
336
+ this.oldVal = this.inputElement.value;
337
+ // backspace, delete, and escape get special treatment
338
+ if (k === 8 || k === 46 || (iPhone && k === 127)) {
339
+ pos = this.caret();
340
+ begin = pos.begin;
341
+ end = pos.end;
342
+ if (end - begin === 0) {
343
+ begin = k !== 46 ? this.seekPrev(begin) : (end = this.seekNext(begin - 1));
344
+ end = k === 46 ? this.seekNext(end) : end;
345
+ }
346
+ this.clearBuffer(begin, end);
347
+ if (this.keepBuffer()) {
348
+ this.shiftL(begin, end - 2);
349
+ }
350
+ else {
351
+ this.shiftL(begin, end - 1);
352
+ }
353
+ // Dispatch input event to notify parent components (like DatePicker)
354
+ this.dispatchInputEvent();
355
+ e.preventDefault();
356
+ }
357
+ else if (k === 13) {
358
+ // enter
359
+ this.onInputBlur(e);
360
+ }
361
+ else if (k === 27) {
362
+ // escape
363
+ this.inputElement.value = this.focusText;
364
+ this.caret(0, this.checkVal());
365
+ e.preventDefault();
366
+ }
367
+ }
368
+ onKeyPress(e) {
369
+ if (this.inputElement.readOnly || !this.pInputMask()) {
370
+ return;
371
+ }
372
+ const k = e.which || e.keyCode;
373
+ const pos = this.caret();
374
+ let p;
375
+ let c;
376
+ let next;
377
+ let completed;
378
+ if (e.ctrlKey || e.altKey || e.metaKey || k < 32 || (k > 34 && k < 41)) {
379
+ return;
380
+ }
381
+ else if (k && k !== 13) {
382
+ if (pos.end - pos.begin !== 0) {
383
+ this.clearBuffer(pos.begin, pos.end);
384
+ this.shiftL(pos.begin, pos.end - 1);
385
+ }
386
+ p = this.seekNext(pos.begin - 1);
387
+ if (p < this.len) {
388
+ c = String.fromCharCode(k);
389
+ if (this.tests[p].test(c)) {
390
+ this.shiftR(p);
391
+ this.buffer[p] = c;
392
+ this.writeBuffer();
393
+ // Dispatch input event to notify parent components (like DatePicker)
394
+ this.dispatchInputEvent();
395
+ next = this.seekNext(p);
396
+ if (isClient() && /android/i.test(getUserAgent())) {
397
+ const proxy = () => {
398
+ this.caret(next);
399
+ };
400
+ setTimeout(proxy, 0);
401
+ }
402
+ else {
403
+ this.caret(next);
404
+ }
405
+ if (pos.begin <= this.lastRequiredNonMaskPos) {
406
+ completed = this.isCompleted();
407
+ }
408
+ }
409
+ }
410
+ e.preventDefault();
411
+ }
412
+ if (completed) {
413
+ this.onCompleteEvent.emit();
414
+ }
415
+ }
416
+ onInputChange(event) {
417
+ if (!this.pInputMask()) {
418
+ return;
419
+ }
420
+ // Skip synthetic events dispatched by dispatchInputEvent() to avoid re-processing
421
+ if (!event.isTrusted) {
422
+ return;
423
+ }
424
+ if (this.androidChrome)
425
+ this.handleAndroidInput(event);
426
+ else
427
+ this.handleInputChange(event);
428
+ }
429
+ onPaste(event) {
430
+ if (!this.pInputMask()) {
431
+ return;
432
+ }
433
+ this.handleInputChange(event);
434
+ }
435
+ // Helper methods
436
+ caret(first, last) {
437
+ let range;
438
+ let begin;
439
+ let end;
440
+ if (!this.inputElement.offsetParent || this.inputElement !== this.inputElement.ownerDocument.activeElement) {
441
+ return;
442
+ }
443
+ if (typeof first == 'number') {
444
+ begin = first;
445
+ end = typeof last === 'number' ? last : begin;
446
+ if (typeof this.inputElement.setSelectionRange === 'function') {
447
+ this.inputElement.setSelectionRange(begin, end);
448
+ }
449
+ else if (this.inputElement['createTextRange']) {
450
+ range = this.inputElement['createTextRange']();
451
+ range.collapse(true);
452
+ range.moveEnd('character', end);
453
+ range.moveStart('character', begin);
454
+ range.select();
455
+ }
456
+ }
457
+ else {
458
+ if (typeof this.inputElement.setSelectionRange === 'function') {
459
+ begin = this.inputElement.selectionStart;
460
+ end = this.inputElement.selectionEnd;
461
+ }
462
+ else if (this.document['selection'] && this.document['selection'].createRange) {
463
+ range = this.document['selection'].createRange();
464
+ begin = 0 - range.duplicate().moveStart('character', -100000);
465
+ end = begin + range.text.length;
466
+ }
467
+ return { begin: begin, end: end };
468
+ }
469
+ }
470
+ isCompleted() {
471
+ for (let i = this.firstNonMaskPos; i <= this.lastRequiredNonMaskPos; i++) {
472
+ if (this.tests[i] && this.buffer[i] === this.getPlaceholder(i)) {
473
+ return false;
474
+ }
475
+ }
476
+ return true;
477
+ }
478
+ getPlaceholder(i) {
479
+ const slotCharValue = this.slotChar();
480
+ if (i < slotCharValue.length) {
481
+ return slotCharValue.charAt(i);
482
+ }
483
+ return slotCharValue.charAt(0);
484
+ }
485
+ seekNext(pos) {
486
+ while (++pos < this.len && !this.tests[pos])
487
+ ;
488
+ return pos;
489
+ }
490
+ seekPrev(pos) {
491
+ while (--pos >= 0 && !this.tests[pos])
492
+ ;
493
+ return pos;
494
+ }
495
+ shiftL(begin, end) {
496
+ let i, j;
497
+ if (begin < 0) {
498
+ return;
499
+ }
500
+ for (i = begin, j = this.seekNext(end); i < this.len; i++) {
501
+ if (this.tests[i]) {
502
+ if (j < this.len && this.tests[i].test(this.buffer[j])) {
503
+ this.buffer[i] = this.buffer[j];
504
+ this.buffer[j] = this.getPlaceholder(j);
505
+ }
506
+ else {
507
+ break;
508
+ }
509
+ j = this.seekNext(j);
510
+ }
511
+ }
512
+ this.writeBuffer();
513
+ this.caret(Math.max(this.firstNonMaskPos, begin));
514
+ }
515
+ shiftR(pos) {
516
+ let i, c, j, t;
517
+ for (i = pos, c = this.getPlaceholder(pos); i < this.len; i++) {
518
+ if (this.tests[i]) {
519
+ j = this.seekNext(i);
520
+ t = this.buffer[i];
521
+ this.buffer[i] = c;
522
+ if (j < this.len && this.tests[j].test(t)) {
523
+ c = t;
524
+ }
525
+ else {
526
+ break;
527
+ }
528
+ }
529
+ }
530
+ }
531
+ handleAndroidInput(e) {
532
+ const curVal = this.inputElement.value;
533
+ const pos = this.caret();
534
+ if (this.oldVal && this.oldVal.length && this.oldVal.length > curVal.length) {
535
+ // a deletion or backspace happened
536
+ this.checkVal(true);
537
+ while (pos.begin > 0 && !this.tests[pos.begin - 1])
538
+ pos.begin--;
539
+ if (pos.begin === 0) {
540
+ while (pos.begin < this.firstNonMaskPos && !this.tests[pos.begin])
541
+ pos.begin++;
542
+ }
543
+ setTimeout(() => {
544
+ this.caret(pos.begin, pos.begin);
545
+ this.onUnmaskedChange.emit(this.getUnmaskedValue());
546
+ if (this.isCompleted()) {
547
+ this.onCompleteEvent.emit();
548
+ }
549
+ }, 0);
550
+ }
551
+ else {
552
+ this.checkVal(true);
553
+ while (pos.begin < this.len && !this.tests[pos.begin])
554
+ pos.begin++;
555
+ setTimeout(() => {
556
+ this.caret(pos.begin, pos.begin);
557
+ this.onUnmaskedChange.emit(this.getUnmaskedValue());
558
+ if (this.isCompleted()) {
559
+ this.onCompleteEvent.emit();
560
+ }
561
+ }, 0);
562
+ }
563
+ }
564
+ handleInputChange(event) {
565
+ if (this.inputElement.readOnly) {
566
+ return;
567
+ }
568
+ setTimeout(() => {
569
+ const pos = this.checkVal(true);
570
+ this.caret(pos);
571
+ this.onUnmaskedChange.emit(this.getUnmaskedValue());
572
+ if (this.isCompleted()) {
573
+ this.onCompleteEvent.emit();
574
+ }
575
+ }, 0);
576
+ }
577
+ clearBuffer(start, end) {
578
+ if (!this.keepBuffer()) {
579
+ let i;
580
+ for (i = start; i < end && i < this.len; i++) {
581
+ if (this.tests[i]) {
582
+ this.buffer[i] = this.getPlaceholder(i);
583
+ }
584
+ }
585
+ }
586
+ }
587
+ writeBuffer() {
588
+ if (this.buffer && this.inputElement) {
589
+ this.inputElement.value = this.buffer.join('');
590
+ }
591
+ }
592
+ /**
593
+ * Dispatches an input event on the host element.
594
+ * This is needed to notify parent components of value changes
595
+ * since programmatic value changes don't trigger native input events.
596
+ */
597
+ dispatchInputEvent() {
598
+ const event = new Event('input', { bubbles: true, cancelable: true });
599
+ this.inputElement.dispatchEvent(event);
600
+ this.onUnmaskedChange.emit(this.getUnmaskedValue());
601
+ }
602
+ checkVal(allow) {
603
+ // try to place characters where they belong
604
+ const test = this.inputElement.value;
605
+ let lastMatch = -1;
606
+ let i;
607
+ let c;
608
+ let pos;
609
+ for (i = 0, pos = 0; i < this.len; i++) {
610
+ if (this.tests[i]) {
611
+ this.buffer[i] = this.getPlaceholder(i);
612
+ while (pos++ < test.length) {
613
+ c = test.charAt(pos - 1);
614
+ if (this.tests[i].test(c)) {
615
+ if (!this.keepBuffer()) {
616
+ this.buffer[i] = c;
617
+ }
618
+ lastMatch = i;
619
+ break;
620
+ }
621
+ }
622
+ if (pos > test.length) {
623
+ this.clearBuffer(i + 1, this.len);
624
+ break;
625
+ }
626
+ }
627
+ else {
628
+ if (this.buffer[i] === test.charAt(pos)) {
629
+ pos++;
630
+ }
631
+ if (i < this.partialPosition) {
632
+ lastMatch = i;
633
+ }
634
+ }
635
+ }
636
+ if (allow) {
637
+ this.writeBuffer();
638
+ }
639
+ else if (lastMatch + 1 < this.partialPosition) {
640
+ if (this.autoClear() || this.buffer.join('') === this.defaultBuffer) {
641
+ // Invalid value. Remove it and replace it with the
642
+ // mask, which is the default behavior.
643
+ if (this.inputElement.value)
644
+ this.inputElement.value = '';
645
+ this.clearBuffer(0, this.len);
646
+ }
647
+ else {
648
+ // Invalid value, but we opt to show the value to the
649
+ // user and allow them to correct their mistake.
650
+ this.writeBuffer();
651
+ }
652
+ }
653
+ else {
654
+ this.writeBuffer();
655
+ this.inputElement.value = this.inputElement.value.substring(0, lastMatch + 1);
656
+ }
657
+ return (this.partialPosition ? i : this.firstNonMaskPos);
658
+ }
659
+ getUnmaskedValue() {
660
+ const unmaskedBuffer = [];
661
+ for (let i = 0; i < this.buffer.length; i++) {
662
+ const c = this.buffer[i];
663
+ if (this.tests[i] && c != this.getPlaceholder(i)) {
664
+ unmaskedBuffer.push(c);
665
+ }
666
+ }
667
+ return unmaskedBuffer.join('');
668
+ }
669
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: InputMaskDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
670
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.16", type: InputMaskDirective, isStandalone: true, selector: "[pInputMask]", inputs: { pInputMaskPT: { classPropertyName: "pInputMaskPT", publicName: "pInputMaskPT", isSignal: true, isRequired: false, transformFunction: null }, pInputMaskUnstyled: { classPropertyName: "pInputMaskUnstyled", publicName: "pInputMaskUnstyled", isSignal: true, isRequired: false, transformFunction: null }, pInputMask: { classPropertyName: "pInputMask", publicName: "pInputMask", isSignal: true, isRequired: false, transformFunction: null }, slotChar: { classPropertyName: "slotChar", publicName: "slotChar", isSignal: true, isRequired: false, transformFunction: null }, autoClear: { classPropertyName: "autoClear", publicName: "autoClear", isSignal: true, isRequired: false, transformFunction: null }, characterPattern: { classPropertyName: "characterPattern", publicName: "characterPattern", isSignal: true, isRequired: false, transformFunction: null }, keepBuffer: { classPropertyName: "keepBuffer", publicName: "keepBuffer", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onCompleteEvent: "onComplete", onUnmaskedChange: "onUnmaskedChange" }, host: { properties: { "class.p-inputmask": "true" } }, providers: [InputMaskStyle, { provide: INPUTMASK_DIRECTIVE_INSTANCE, useExisting: InputMaskDirective }, { provide: PARENT_INSTANCE, useExisting: InputMaskDirective }], usesInheritance: true, ngImport: i0 });
671
+ }
672
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: InputMaskDirective, decorators: [{
673
+ type: Directive,
674
+ args: [{
675
+ selector: '[pInputMask]',
676
+ standalone: true,
677
+ providers: [InputMaskStyle, { provide: INPUTMASK_DIRECTIVE_INSTANCE, useExisting: InputMaskDirective }, { provide: PARENT_INSTANCE, useExisting: InputMaskDirective }],
678
+ host: {
679
+ '[class.p-inputmask]': 'true'
680
+ }
681
+ }]
682
+ }], ctorParameters: () => [], propDecorators: { pInputMaskPT: [{ type: i0.Input, args: [{ isSignal: true, alias: "pInputMaskPT", required: false }] }], pInputMaskUnstyled: [{ type: i0.Input, args: [{ isSignal: true, alias: "pInputMaskUnstyled", required: false }] }], pInputMask: [{ type: i0.Input, args: [{ isSignal: true, alias: "pInputMask", required: false }] }], slotChar: [{ type: i0.Input, args: [{ isSignal: true, alias: "slotChar", required: false }] }], autoClear: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoClear", required: false }] }], characterPattern: [{ type: i0.Input, args: [{ isSignal: true, alias: "characterPattern", required: false }] }], keepBuffer: [{ type: i0.Input, args: [{ isSignal: true, alias: "keepBuffer", required: false }] }], onCompleteEvent: [{ type: i0.Output, args: ["onComplete"] }], onUnmaskedChange: [{ type: i0.Output, args: ["onUnmaskedChange"] }] } });
125
683
  const INPUTMASK_VALUE_ACCESSOR = {
126
684
  provide: NG_VALUE_ACCESSOR,
127
685
  useExisting: forwardRef(() => InputMask),
@@ -132,6 +690,7 @@ const INPUTMASK_VALUE_ACCESSOR = {
132
690
  * @group Components
133
691
  */
134
692
  class InputMask extends BaseInput {
693
+ componentName = 'InputMask';
135
694
  _componentStyle = inject(InputMaskStyle);
136
695
  $pcInputMask = inject(INPUTMASK_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;
137
696
  bindDirectiveInstance = inject(Bind, { self: true });
@@ -753,9 +1312,10 @@ class InputMask extends BaseInput {
753
1312
  this.checkVal();
754
1313
  this.focusText = this.inputViewChild.nativeElement.value;
755
1314
  }
1315
+ this.cd.markForCheck();
756
1316
  }
757
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: InputMask, deps: null, target: i0.ɵɵFactoryTarget.Component });
758
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.3.4", type: InputMask, isStandalone: true, selector: "p-inputmask, p-inputMask, p-input-mask", inputs: { type: "type", slotChar: "slotChar", autoClear: ["autoClear", "autoClear", booleanAttribute], showClear: ["showClear", "showClear", booleanAttribute], style: "style", inputId: "inputId", styleClass: "styleClass", placeholder: "placeholder", tabindex: "tabindex", title: "title", ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", ariaRequired: ["ariaRequired", "ariaRequired", booleanAttribute], readonly: ["readonly", "readonly", booleanAttribute], unmask: ["unmask", "unmask", booleanAttribute], characterPattern: "characterPattern", autofocus: ["autofocus", "autofocus", booleanAttribute], autocomplete: "autocomplete", keepBuffer: ["keepBuffer", "keepBuffer", booleanAttribute], mask: "mask" }, outputs: { onComplete: "onComplete", onFocus: "onFocus", onBlur: "onBlur", onInput: "onInput", onKeydown: "onKeydown", onClear: "onClear" }, host: { properties: { "class": "cx('root')" } }, providers: [INPUTMASK_VALUE_ACCESSOR, InputMaskStyle, { provide: INPUTMASK_INSTANCE, useExisting: InputMask }, { provide: PARENT_INSTANCE, useExisting: InputMask }], queries: [{ propertyName: "clearIconTemplate", first: true, predicate: ["clearicon"] }, { propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "inputViewChild", first: true, predicate: ["input"], descendants: true, static: true }], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0, template: `
1317
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: InputMask, deps: null, target: i0.ɵɵFactoryTarget.Component });
1318
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.3.16", type: InputMask, isStandalone: true, selector: "p-inputmask, p-inputMask, p-input-mask", inputs: { type: "type", slotChar: "slotChar", autoClear: ["autoClear", "autoClear", booleanAttribute], showClear: ["showClear", "showClear", booleanAttribute], style: "style", inputId: "inputId", styleClass: "styleClass", placeholder: "placeholder", tabindex: "tabindex", title: "title", ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", ariaRequired: ["ariaRequired", "ariaRequired", booleanAttribute], readonly: ["readonly", "readonly", booleanAttribute], unmask: ["unmask", "unmask", booleanAttribute], characterPattern: "characterPattern", autofocus: ["autofocus", "autofocus", booleanAttribute], autocomplete: "autocomplete", keepBuffer: ["keepBuffer", "keepBuffer", booleanAttribute], mask: "mask" }, outputs: { onComplete: "onComplete", onFocus: "onFocus", onBlur: "onBlur", onInput: "onInput", onKeydown: "onKeydown", onClear: "onClear" }, host: { properties: { "class": "cx('root')" } }, providers: [INPUTMASK_VALUE_ACCESSOR, InputMaskStyle, { provide: INPUTMASK_INSTANCE, useExisting: InputMask }, { provide: PARENT_INSTANCE, useExisting: InputMask }], queries: [{ propertyName: "clearIconTemplate", first: true, predicate: ["clearicon"] }, { propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "inputViewChild", first: true, predicate: ["input"], descendants: true, static: true }], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0, template: `
759
1319
  <input
760
1320
  #input
761
1321
  pInputText
@@ -798,7 +1358,7 @@ class InputMask extends BaseInput {
798
1358
  </ng-container>
799
1359
  `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: InputText, selector: "[pInputText]", inputs: ["hostName", "ptInputText", "pSize", "variant", "fluid", "invalid"] }, { kind: "directive", type: AutoFocus, selector: "[pAutoFocus]", inputs: ["pAutoFocus"] }, { kind: "component", type: TimesIcon, selector: "[data-p-icon=\"times\"]" }, { kind: "ngmodule", type: SharedModule }, { kind: "ngmodule", type: BindModule }, { kind: "directive", type: i1.Bind, selector: "[pBind]", inputs: ["pBind"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
800
1360
  }
801
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: InputMask, decorators: [{
1361
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: InputMask, decorators: [{
802
1362
  type: Component,
803
1363
  args: [{
804
1364
  selector: 'p-inputmask, p-inputMask, p-input-mask',
@@ -924,15 +1484,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor
924
1484
  args: ['input', { static: true }]
925
1485
  }] } });
926
1486
  class InputMaskModule {
927
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: InputMaskModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
928
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.4", ngImport: i0, type: InputMaskModule, imports: [InputMask, SharedModule], exports: [InputMask, SharedModule] });
929
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: InputMaskModule, imports: [InputMask, SharedModule, SharedModule] });
1487
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: InputMaskModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1488
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.16", ngImport: i0, type: InputMaskModule, imports: [InputMask, SharedModule, InputMaskDirective], exports: [InputMask, SharedModule, InputMaskDirective] });
1489
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: InputMaskModule, imports: [InputMask, SharedModule, SharedModule] });
930
1490
  }
931
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: InputMaskModule, decorators: [{
1491
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: InputMaskModule, decorators: [{
932
1492
  type: NgModule,
933
1493
  args: [{
934
- imports: [InputMask, SharedModule],
935
- exports: [InputMask, SharedModule]
1494
+ imports: [InputMask, SharedModule, InputMaskDirective],
1495
+ exports: [InputMask, SharedModule, InputMaskDirective]
936
1496
  }]
937
1497
  }] });
938
1498
 
@@ -940,5 +1500,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor
940
1500
  * Generated bundle index. Do not edit.
941
1501
  */
942
1502
 
943
- export { INPUTMASK_VALUE_ACCESSOR, InputMask, InputMaskClasses, InputMaskModule, InputMaskStyle };
1503
+ export { INPUTMASK_VALUE_ACCESSOR, InputMask, InputMaskClasses, InputMaskDirective, InputMaskModule, InputMaskStyle };
944
1504
  //# sourceMappingURL=primeng-inputmask.mjs.map