primeng 22.1.1 → 22.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (850) hide show
  1. package/fesm2022/primeng-accordion.mjs +998 -594
  2. package/fesm2022/primeng-accordion.mjs.map +1 -1
  3. package/fesm2022/primeng-animateonscroll.mjs +266 -174
  4. package/fesm2022/primeng-animateonscroll.mjs.map +1 -1
  5. package/fesm2022/primeng-api.mjs +888 -848
  6. package/fesm2022/primeng-api.mjs.map +1 -1
  7. package/fesm2022/primeng-autocomplete.mjs +2534 -1631
  8. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  9. package/fesm2022/primeng-autofocus.mjs +114 -77
  10. package/fesm2022/primeng-autofocus.mjs.map +1 -1
  11. package/fesm2022/primeng-avatar.mjs +330 -189
  12. package/fesm2022/primeng-avatar.mjs.map +1 -1
  13. package/fesm2022/primeng-avatargroup.mjs +178 -95
  14. package/fesm2022/primeng-avatargroup.mjs.map +1 -1
  15. package/fesm2022/primeng-badge.mjs +290 -156
  16. package/fesm2022/primeng-badge.mjs.map +1 -1
  17. package/fesm2022/primeng-base.mjs +95 -83
  18. package/fesm2022/primeng-base.mjs.map +1 -1
  19. package/fesm2022/primeng-basecomponent.mjs +528 -478
  20. package/fesm2022/primeng-basecomponent.mjs.map +1 -1
  21. package/fesm2022/primeng-baseeditableholder.mjs +131 -74
  22. package/fesm2022/primeng-baseeditableholder.mjs.map +1 -1
  23. package/fesm2022/primeng-baseinput.mjs +214 -99
  24. package/fesm2022/primeng-baseinput.mjs.map +1 -1
  25. package/fesm2022/primeng-basemodelholder.mjs +39 -26
  26. package/fesm2022/primeng-basemodelholder.mjs.map +1 -1
  27. package/fesm2022/primeng-bind.mjs +156 -97
  28. package/fesm2022/primeng-bind.mjs.map +1 -1
  29. package/fesm2022/primeng-blockui.mjs +360 -225
  30. package/fesm2022/primeng-blockui.mjs.map +1 -1
  31. package/fesm2022/primeng-breadcrumb.mjs +458 -220
  32. package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
  33. package/fesm2022/primeng-button.mjs +1568 -710
  34. package/fesm2022/primeng-button.mjs.map +1 -1
  35. package/fesm2022/primeng-buttongroup.mjs +125 -73
  36. package/fesm2022/primeng-buttongroup.mjs.map +1 -1
  37. package/fesm2022/primeng-card.mjs +389 -178
  38. package/fesm2022/primeng-card.mjs.map +1 -1
  39. package/fesm2022/primeng-carousel.mjs +2393 -1772
  40. package/fesm2022/primeng-carousel.mjs.map +1 -1
  41. package/fesm2022/primeng-cascadeselect.mjs +2373 -1399
  42. package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
  43. package/fesm2022/primeng-chart.mjs +402 -231
  44. package/fesm2022/primeng-chart.mjs.map +1 -1
  45. package/fesm2022/primeng-checkbox.mjs +650 -351
  46. package/fesm2022/primeng-checkbox.mjs.map +1 -1
  47. package/fesm2022/primeng-chip.mjs +411 -224
  48. package/fesm2022/primeng-chip.mjs.map +1 -1
  49. package/fesm2022/primeng-classnames.mjs +95 -48
  50. package/fesm2022/primeng-classnames.mjs.map +1 -1
  51. package/fesm2022/primeng-colorpicker.mjs +890 -635
  52. package/fesm2022/primeng-colorpicker.mjs.map +1 -1
  53. package/fesm2022/primeng-commandmenu.mjs +568 -313
  54. package/fesm2022/primeng-commandmenu.mjs.map +1 -1
  55. package/fesm2022/primeng-compare.mjs +843 -481
  56. package/fesm2022/primeng-compare.mjs.map +1 -1
  57. package/fesm2022/primeng-config.mjs +415 -321
  58. package/fesm2022/primeng-config.mjs.map +1 -1
  59. package/fesm2022/primeng-confirmdialog.mjs +1188 -536
  60. package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
  61. package/fesm2022/primeng-confirmpopup.mjs +810 -518
  62. package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
  63. package/fesm2022/primeng-contextmenu.mjs +1862 -1082
  64. package/fesm2022/primeng-contextmenu.mjs.map +1 -1
  65. package/fesm2022/primeng-dataview.mjs +1130 -550
  66. package/fesm2022/primeng-dataview.mjs.map +1 -1
  67. package/fesm2022/primeng-datepicker.mjs +3750 -3356
  68. package/fesm2022/primeng-datepicker.mjs.map +1 -1
  69. package/fesm2022/primeng-dialog.mjs +1635 -975
  70. package/fesm2022/primeng-dialog.mjs.map +1 -1
  71. package/fesm2022/primeng-divider.mjs +272 -146
  72. package/fesm2022/primeng-divider.mjs.map +1 -1
  73. package/fesm2022/primeng-dock.mjs +609 -391
  74. package/fesm2022/primeng-dock.mjs.map +1 -1
  75. package/fesm2022/primeng-dom.mjs +599 -767
  76. package/fesm2022/primeng-dom.mjs.map +1 -1
  77. package/fesm2022/primeng-dragdrop.mjs +323 -312
  78. package/fesm2022/primeng-dragdrop.mjs.map +1 -1
  79. package/fesm2022/primeng-drawer.mjs +913 -484
  80. package/fesm2022/primeng-drawer.mjs.map +1 -1
  81. package/fesm2022/primeng-dynamicdialog.mjs +828 -917
  82. package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
  83. package/fesm2022/primeng-editor.mjs +547 -391
  84. package/fesm2022/primeng-editor.mjs.map +1 -1
  85. package/fesm2022/primeng-fieldset.mjs +559 -271
  86. package/fesm2022/primeng-fieldset.mjs.map +1 -1
  87. package/fesm2022/primeng-fileupload.mjs +1836 -1054
  88. package/fesm2022/primeng-fileupload.mjs.map +1 -1
  89. package/fesm2022/primeng-floatlabel.mjs +187 -102
  90. package/fesm2022/primeng-floatlabel.mjs.map +1 -1
  91. package/fesm2022/primeng-fluid.mjs +156 -85
  92. package/fesm2022/primeng-fluid.mjs.map +1 -1
  93. package/fesm2022/primeng-focustrap.mjs +150 -112
  94. package/fesm2022/primeng-focustrap.mjs.map +1 -1
  95. package/fesm2022/primeng-galleria.mjs +2589 -1410
  96. package/fesm2022/primeng-galleria.mjs.map +1 -1
  97. package/fesm2022/primeng-gallery.mjs +2768 -1796
  98. package/fesm2022/primeng-gallery.mjs.map +1 -1
  99. package/fesm2022/primeng-iconfield.mjs +192 -93
  100. package/fesm2022/primeng-iconfield.mjs.map +1 -1
  101. package/fesm2022/primeng-icons-angledoubledown.mjs +41 -23
  102. package/fesm2022/primeng-icons-angledoubledown.mjs.map +1 -1
  103. package/fesm2022/primeng-icons-angledoubleleft.mjs +41 -23
  104. package/fesm2022/primeng-icons-angledoubleleft.mjs.map +1 -1
  105. package/fesm2022/primeng-icons-angledoubleright.mjs +41 -23
  106. package/fesm2022/primeng-icons-angledoubleright.mjs.map +1 -1
  107. package/fesm2022/primeng-icons-angledoubleup.mjs +41 -23
  108. package/fesm2022/primeng-icons-angledoubleup.mjs.map +1 -1
  109. package/fesm2022/primeng-icons-angledown.mjs +41 -23
  110. package/fesm2022/primeng-icons-angledown.mjs.map +1 -1
  111. package/fesm2022/primeng-icons-angleleft.mjs +41 -23
  112. package/fesm2022/primeng-icons-angleleft.mjs.map +1 -1
  113. package/fesm2022/primeng-icons-angleright.mjs +41 -23
  114. package/fesm2022/primeng-icons-angleright.mjs.map +1 -1
  115. package/fesm2022/primeng-icons-angleup.mjs +41 -23
  116. package/fesm2022/primeng-icons-angleup.mjs.map +1 -1
  117. package/fesm2022/primeng-icons-arrowdown.mjs +46 -28
  118. package/fesm2022/primeng-icons-arrowdown.mjs.map +1 -1
  119. package/fesm2022/primeng-icons-arrowdownleft.mjs +41 -23
  120. package/fesm2022/primeng-icons-arrowdownleft.mjs.map +1 -1
  121. package/fesm2022/primeng-icons-arrowdownright.mjs +41 -23
  122. package/fesm2022/primeng-icons-arrowdownright.mjs.map +1 -1
  123. package/fesm2022/primeng-icons-arrowleft.mjs +46 -28
  124. package/fesm2022/primeng-icons-arrowleft.mjs.map +1 -1
  125. package/fesm2022/primeng-icons-arrowright.mjs +41 -23
  126. package/fesm2022/primeng-icons-arrowright.mjs.map +1 -1
  127. package/fesm2022/primeng-icons-arrowup.mjs +46 -28
  128. package/fesm2022/primeng-icons-arrowup.mjs.map +1 -1
  129. package/fesm2022/primeng-icons-ban.mjs +46 -28
  130. package/fesm2022/primeng-icons-ban.mjs.map +1 -1
  131. package/fesm2022/primeng-icons-bars.mjs +41 -23
  132. package/fesm2022/primeng-icons-bars.mjs.map +1 -1
  133. package/fesm2022/primeng-icons-baseicon.mjs +111 -67
  134. package/fesm2022/primeng-icons-baseicon.mjs.map +1 -1
  135. package/fesm2022/primeng-icons-blank.mjs +40 -22
  136. package/fesm2022/primeng-icons-blank.mjs.map +1 -1
  137. package/fesm2022/primeng-icons-calendar.mjs +41 -23
  138. package/fesm2022/primeng-icons-calendar.mjs.map +1 -1
  139. package/fesm2022/primeng-icons-caretleft.mjs +41 -23
  140. package/fesm2022/primeng-icons-caretleft.mjs.map +1 -1
  141. package/fesm2022/primeng-icons-caretright.mjs +41 -23
  142. package/fesm2022/primeng-icons-caretright.mjs.map +1 -1
  143. package/fesm2022/primeng-icons-check.mjs +41 -23
  144. package/fesm2022/primeng-icons-check.mjs.map +1 -1
  145. package/fesm2022/primeng-icons-chevrondown.mjs +41 -23
  146. package/fesm2022/primeng-icons-chevrondown.mjs.map +1 -1
  147. package/fesm2022/primeng-icons-chevronleft.mjs +41 -23
  148. package/fesm2022/primeng-icons-chevronleft.mjs.map +1 -1
  149. package/fesm2022/primeng-icons-chevronright.mjs +41 -23
  150. package/fesm2022/primeng-icons-chevronright.mjs.map +1 -1
  151. package/fesm2022/primeng-icons-chevronup.mjs +41 -23
  152. package/fesm2022/primeng-icons-chevronup.mjs.map +1 -1
  153. package/fesm2022/primeng-icons-exclamationtriangle.mjs +46 -28
  154. package/fesm2022/primeng-icons-exclamationtriangle.mjs.map +1 -1
  155. package/fesm2022/primeng-icons-eye.mjs +41 -23
  156. package/fesm2022/primeng-icons-eye.mjs.map +1 -1
  157. package/fesm2022/primeng-icons-eyeslash.mjs +46 -28
  158. package/fesm2022/primeng-icons-eyeslash.mjs.map +1 -1
  159. package/fesm2022/primeng-icons-filter.mjs +46 -28
  160. package/fesm2022/primeng-icons-filter.mjs.map +1 -1
  161. package/fesm2022/primeng-icons-filterfill.mjs +41 -23
  162. package/fesm2022/primeng-icons-filterfill.mjs.map +1 -1
  163. package/fesm2022/primeng-icons-filterslash.mjs +46 -28
  164. package/fesm2022/primeng-icons-filterslash.mjs.map +1 -1
  165. package/fesm2022/primeng-icons-home.mjs +46 -28
  166. package/fesm2022/primeng-icons-home.mjs.map +1 -1
  167. package/fesm2022/primeng-icons-infocircle.mjs +46 -28
  168. package/fesm2022/primeng-icons-infocircle.mjs.map +1 -1
  169. package/fesm2022/primeng-icons-minus.mjs +41 -23
  170. package/fesm2022/primeng-icons-minus.mjs.map +1 -1
  171. package/fesm2022/primeng-icons-pencil.mjs +46 -28
  172. package/fesm2022/primeng-icons-pencil.mjs.map +1 -1
  173. package/fesm2022/primeng-icons-plus.mjs +46 -28
  174. package/fesm2022/primeng-icons-plus.mjs.map +1 -1
  175. package/fesm2022/primeng-icons-refresh.mjs +46 -28
  176. package/fesm2022/primeng-icons-refresh.mjs.map +1 -1
  177. package/fesm2022/primeng-icons-search.mjs +46 -28
  178. package/fesm2022/primeng-icons-search.mjs.map +1 -1
  179. package/fesm2022/primeng-icons-searchminus.mjs +46 -28
  180. package/fesm2022/primeng-icons-searchminus.mjs.map +1 -1
  181. package/fesm2022/primeng-icons-searchplus.mjs +46 -28
  182. package/fesm2022/primeng-icons-searchplus.mjs.map +1 -1
  183. package/fesm2022/primeng-icons-sortalt.mjs +46 -28
  184. package/fesm2022/primeng-icons-sortalt.mjs.map +1 -1
  185. package/fesm2022/primeng-icons-sortamountdown.mjs +46 -28
  186. package/fesm2022/primeng-icons-sortamountdown.mjs.map +1 -1
  187. package/fesm2022/primeng-icons-sortamountupalt.mjs +46 -28
  188. package/fesm2022/primeng-icons-sortamountupalt.mjs.map +1 -1
  189. package/fesm2022/primeng-icons-spinner.mjs +46 -28
  190. package/fesm2022/primeng-icons-spinner.mjs.map +1 -1
  191. package/fesm2022/primeng-icons-star.mjs +46 -28
  192. package/fesm2022/primeng-icons-star.mjs.map +1 -1
  193. package/fesm2022/primeng-icons-starfill.mjs +46 -28
  194. package/fesm2022/primeng-icons-starfill.mjs.map +1 -1
  195. package/fesm2022/primeng-icons-thlarge.mjs +46 -28
  196. package/fesm2022/primeng-icons-thlarge.mjs.map +1 -1
  197. package/fesm2022/primeng-icons-times.mjs +41 -23
  198. package/fesm2022/primeng-icons-times.mjs.map +1 -1
  199. package/fesm2022/primeng-icons-timescircle.mjs +46 -28
  200. package/fesm2022/primeng-icons-timescircle.mjs.map +1 -1
  201. package/fesm2022/primeng-icons-trash.mjs +46 -28
  202. package/fesm2022/primeng-icons-trash.mjs.map +1 -1
  203. package/fesm2022/primeng-icons-undo.mjs +46 -28
  204. package/fesm2022/primeng-icons-undo.mjs.map +1 -1
  205. package/fesm2022/primeng-icons-upload.mjs +46 -28
  206. package/fesm2022/primeng-icons-upload.mjs.map +1 -1
  207. package/fesm2022/primeng-icons-windowmaximize.mjs +46 -28
  208. package/fesm2022/primeng-icons-windowmaximize.mjs.map +1 -1
  209. package/fesm2022/primeng-icons-windowminimize.mjs +46 -28
  210. package/fesm2022/primeng-icons-windowminimize.mjs.map +1 -1
  211. package/fesm2022/primeng-icons.mjs +53 -63
  212. package/fesm2022/primeng-iftalabel.mjs +153 -86
  213. package/fesm2022/primeng-iftalabel.mjs.map +1 -1
  214. package/fesm2022/primeng-image.mjs +1006 -532
  215. package/fesm2022/primeng-image.mjs.map +1 -1
  216. package/fesm2022/primeng-imagecompare.mjs +325 -165
  217. package/fesm2022/primeng-imagecompare.mjs.map +1 -1
  218. package/fesm2022/primeng-inplace.mjs +401 -199
  219. package/fesm2022/primeng-inplace.mjs.map +1 -1
  220. package/fesm2022/primeng-inputcolor.mjs +2631 -2189
  221. package/fesm2022/primeng-inputcolor.mjs.map +1 -1
  222. package/fesm2022/primeng-inputgroup.mjs +159 -91
  223. package/fesm2022/primeng-inputgroup.mjs.map +1 -1
  224. package/fesm2022/primeng-inputgroupaddon.mjs +153 -68
  225. package/fesm2022/primeng-inputgroupaddon.mjs.map +1 -1
  226. package/fesm2022/primeng-inputicon.mjs +173 -72
  227. package/fesm2022/primeng-inputicon.mjs.map +1 -1
  228. package/fesm2022/primeng-inputmask.mjs +1607 -1387
  229. package/fesm2022/primeng-inputmask.mjs.map +1 -1
  230. package/fesm2022/primeng-inputnumber.mjs +1646 -1305
  231. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  232. package/fesm2022/primeng-inputotp.mjs +571 -376
  233. package/fesm2022/primeng-inputotp.mjs.map +1 -1
  234. package/fesm2022/primeng-inputpassword.mjs +179 -96
  235. package/fesm2022/primeng-inputpassword.mjs.map +1 -1
  236. package/fesm2022/primeng-inputtags.mjs +1212 -588
  237. package/fesm2022/primeng-inputtags.mjs.map +1 -1
  238. package/fesm2022/primeng-inputtext.mjs +325 -175
  239. package/fesm2022/primeng-inputtext.mjs.map +1 -1
  240. package/fesm2022/primeng-keyfilter.mjs +268 -244
  241. package/fesm2022/primeng-keyfilter.mjs.map +1 -1
  242. package/fesm2022/primeng-knob.mjs +627 -405
  243. package/fesm2022/primeng-knob.mjs.map +1 -1
  244. package/fesm2022/primeng-label.mjs +143 -81
  245. package/fesm2022/primeng-label.mjs.map +1 -1
  246. package/fesm2022/primeng-license.mjs +10 -36
  247. package/fesm2022/primeng-license.mjs.map +1 -1
  248. package/fesm2022/primeng-listbox.mjs +2409 -1608
  249. package/fesm2022/primeng-listbox.mjs.map +1 -1
  250. package/fesm2022/primeng-megamenu.mjs +2006 -1137
  251. package/fesm2022/primeng-megamenu.mjs.map +1 -1
  252. package/fesm2022/primeng-menu.mjs +1437 -848
  253. package/fesm2022/primeng-menu.mjs.map +1 -1
  254. package/fesm2022/primeng-menubar.mjs +1832 -994
  255. package/fesm2022/primeng-menubar.mjs.map +1 -1
  256. package/fesm2022/primeng-message.mjs +474 -239
  257. package/fesm2022/primeng-message.mjs.map +1 -1
  258. package/fesm2022/primeng-metergroup.mjs +663 -331
  259. package/fesm2022/primeng-metergroup.mjs.map +1 -1
  260. package/fesm2022/primeng-motion.mjs +1179 -690
  261. package/fesm2022/primeng-motion.mjs.map +1 -1
  262. package/fesm2022/primeng-multiselect.mjs +3406 -1932
  263. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  264. package/fesm2022/primeng-orderlist.mjs +1308 -664
  265. package/fesm2022/primeng-orderlist.mjs.map +1 -1
  266. package/fesm2022/primeng-organizationchart.mjs +912 -595
  267. package/fesm2022/primeng-organizationchart.mjs.map +1 -1
  268. package/fesm2022/primeng-overlay.mjs +929 -624
  269. package/fesm2022/primeng-overlay.mjs.map +1 -1
  270. package/fesm2022/primeng-overlaybadge.mjs +291 -107
  271. package/fesm2022/primeng-overlaybadge.mjs.map +1 -1
  272. package/fesm2022/primeng-paginator.mjs +959 -503
  273. package/fesm2022/primeng-paginator.mjs.map +1 -1
  274. package/fesm2022/primeng-panel.mjs +668 -343
  275. package/fesm2022/primeng-panel.mjs.map +1 -1
  276. package/fesm2022/primeng-panelmenu.mjs +1842 -998
  277. package/fesm2022/primeng-panelmenu.mjs.map +1 -1
  278. package/fesm2022/primeng-passthrough.mjs +8 -16
  279. package/fesm2022/primeng-passthrough.mjs.map +1 -1
  280. package/fesm2022/primeng-password.mjs +1518 -866
  281. package/fesm2022/primeng-password.mjs.map +1 -1
  282. package/fesm2022/primeng-picklist.mjs +2270 -1256
  283. package/fesm2022/primeng-picklist.mjs.map +1 -1
  284. package/fesm2022/primeng-popover.mjs +656 -436
  285. package/fesm2022/primeng-popover.mjs.map +1 -1
  286. package/fesm2022/primeng-progressbar.mjs +346 -168
  287. package/fesm2022/primeng-progressbar.mjs.map +1 -1
  288. package/fesm2022/primeng-progressspinner.mjs +338 -188
  289. package/fesm2022/primeng-progressspinner.mjs.map +1 -1
  290. package/fesm2022/primeng-radiobutton.mjs +499 -292
  291. package/fesm2022/primeng-radiobutton.mjs.map +1 -1
  292. package/fesm2022/primeng-rating.mjs +583 -352
  293. package/fesm2022/primeng-rating.mjs.map +1 -1
  294. package/fesm2022/primeng-ripple.mjs +194 -184
  295. package/fesm2022/primeng-ripple.mjs.map +1 -1
  296. package/fesm2022/primeng-scrollarea.mjs +1018 -721
  297. package/fesm2022/primeng-scrollarea.mjs.map +1 -1
  298. package/fesm2022/primeng-scroller.mjs +1386 -1083
  299. package/fesm2022/primeng-scroller.mjs.map +1 -1
  300. package/fesm2022/primeng-scrollpanel.mjs +568 -480
  301. package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
  302. package/fesm2022/primeng-scrolltop.mjs +509 -260
  303. package/fesm2022/primeng-scrolltop.mjs.map +1 -1
  304. package/fesm2022/primeng-select.mjs +2948 -1765
  305. package/fesm2022/primeng-select.mjs.map +1 -1
  306. package/fesm2022/primeng-selectbutton.mjs +629 -339
  307. package/fesm2022/primeng-selectbutton.mjs.map +1 -1
  308. package/fesm2022/primeng-sidebar.mjs +2561 -1416
  309. package/fesm2022/primeng-sidebar.mjs.map +1 -1
  310. package/fesm2022/primeng-skeleton.mjs +300 -157
  311. package/fesm2022/primeng-skeleton.mjs.map +1 -1
  312. package/fesm2022/primeng-slider.mjs +841 -604
  313. package/fesm2022/primeng-slider.mjs.map +1 -1
  314. package/fesm2022/primeng-speeddial.mjs +1115 -717
  315. package/fesm2022/primeng-speeddial.mjs.map +1 -1
  316. package/fesm2022/primeng-splitbutton.mjs +889 -339
  317. package/fesm2022/primeng-splitbutton.mjs.map +1 -1
  318. package/fesm2022/primeng-splitter.mjs +997 -759
  319. package/fesm2022/primeng-splitter.mjs.map +1 -1
  320. package/fesm2022/primeng-stepper.mjs +1355 -641
  321. package/fesm2022/primeng-stepper.mjs.map +1 -1
  322. package/fesm2022/primeng-steps.mjs +397 -304
  323. package/fesm2022/primeng-steps.mjs.map +1 -1
  324. package/fesm2022/primeng-styleclass.mjs +446 -334
  325. package/fesm2022/primeng-styleclass.mjs.map +1 -1
  326. package/fesm2022/primeng-table.mjs +9763 -5870
  327. package/fesm2022/primeng-table.mjs.map +1 -1
  328. package/fesm2022/primeng-tabs.mjs +1357 -831
  329. package/fesm2022/primeng-tabs.mjs.map +1 -1
  330. package/fesm2022/primeng-tag.mjs +305 -151
  331. package/fesm2022/primeng-tag.mjs.map +1 -1
  332. package/fesm2022/primeng-terminal.mjs +368 -216
  333. package/fesm2022/primeng-terminal.mjs.map +1 -1
  334. package/fesm2022/primeng-textarea.mjs +345 -208
  335. package/fesm2022/primeng-textarea.mjs.map +1 -1
  336. package/fesm2022/primeng-tieredmenu.mjs +1917 -1125
  337. package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
  338. package/fesm2022/primeng-timeline.mjs +304 -165
  339. package/fesm2022/primeng-timeline.mjs.map +1 -1
  340. package/fesm2022/primeng-toast.mjs +1369 -922
  341. package/fesm2022/primeng-toast.mjs.map +1 -1
  342. package/fesm2022/primeng-togglebutton.mjs +563 -309
  343. package/fesm2022/primeng-togglebutton.mjs.map +1 -1
  344. package/fesm2022/primeng-toggleswitch.mjs +464 -237
  345. package/fesm2022/primeng-toggleswitch.mjs.map +1 -1
  346. package/fesm2022/primeng-toolbar.mjs +299 -129
  347. package/fesm2022/primeng-toolbar.mjs.map +1 -1
  348. package/fesm2022/primeng-tooltip.mjs +1018 -778
  349. package/fesm2022/primeng-tooltip.mjs.map +1 -1
  350. package/fesm2022/primeng-tree.mjs +2679 -1875
  351. package/fesm2022/primeng-tree.mjs.map +1 -1
  352. package/fesm2022/primeng-treeselect.mjs +1678 -939
  353. package/fesm2022/primeng-treeselect.mjs.map +1 -1
  354. package/fesm2022/primeng-treetable.mjs +5849 -3754
  355. package/fesm2022/primeng-treetable.mjs.map +1 -1
  356. package/fesm2022/primeng-ts-helpers.mjs +0 -4
  357. package/fesm2022/primeng-types-accordion.mjs +0 -4
  358. package/fesm2022/primeng-types-autocomplete.mjs +0 -4
  359. package/fesm2022/primeng-types-avatar.mjs +0 -4
  360. package/fesm2022/primeng-types-avatargroup.mjs +0 -4
  361. package/fesm2022/primeng-types-badge.mjs +0 -4
  362. package/fesm2022/primeng-types-blockui.mjs +0 -4
  363. package/fesm2022/primeng-types-breadcrumb.mjs +0 -4
  364. package/fesm2022/primeng-types-button.mjs +0 -4
  365. package/fesm2022/primeng-types-card.mjs +0 -4
  366. package/fesm2022/primeng-types-carousel.mjs +0 -4
  367. package/fesm2022/primeng-types-cascadeselect.mjs +0 -4
  368. package/fesm2022/primeng-types-chart.mjs +0 -4
  369. package/fesm2022/primeng-types-checkbox.mjs +0 -4
  370. package/fesm2022/primeng-types-chip.mjs +0 -4
  371. package/fesm2022/primeng-types-colorpicker.mjs +0 -4
  372. package/fesm2022/primeng-types-commandmenu.mjs +0 -4
  373. package/fesm2022/primeng-types-compare.mjs +0 -4
  374. package/fesm2022/primeng-types-confirmdialog.mjs +0 -4
  375. package/fesm2022/primeng-types-confirmpopup.mjs +0 -4
  376. package/fesm2022/primeng-types-contextmenu.mjs +0 -4
  377. package/fesm2022/primeng-types-dataview.mjs +0 -4
  378. package/fesm2022/primeng-types-datepicker.mjs +0 -4
  379. package/fesm2022/primeng-types-dialog.mjs +0 -4
  380. package/fesm2022/primeng-types-divider.mjs +0 -4
  381. package/fesm2022/primeng-types-dock.mjs +0 -4
  382. package/fesm2022/primeng-types-drawer.mjs +0 -4
  383. package/fesm2022/primeng-types-editor.mjs +0 -4
  384. package/fesm2022/primeng-types-fieldset.mjs +0 -4
  385. package/fesm2022/primeng-types-fileupload.mjs +0 -4
  386. package/fesm2022/primeng-types-floatlabel.mjs +0 -4
  387. package/fesm2022/primeng-types-fluid.mjs +0 -4
  388. package/fesm2022/primeng-types-galleria.mjs +0 -4
  389. package/fesm2022/primeng-types-gallery.mjs +0 -4
  390. package/fesm2022/primeng-types-iconfield.mjs +0 -4
  391. package/fesm2022/primeng-types-iftalabel.mjs +0 -4
  392. package/fesm2022/primeng-types-image.mjs +0 -4
  393. package/fesm2022/primeng-types-imagecompare.mjs +0 -4
  394. package/fesm2022/primeng-types-inplace.mjs +0 -4
  395. package/fesm2022/primeng-types-inputcolor.mjs +0 -4
  396. package/fesm2022/primeng-types-inputgroup.mjs +0 -4
  397. package/fesm2022/primeng-types-inputgroupaddon.mjs +0 -4
  398. package/fesm2022/primeng-types-inputicon.mjs +0 -4
  399. package/fesm2022/primeng-types-inputmask.mjs +0 -4
  400. package/fesm2022/primeng-types-inputnumber.mjs +0 -4
  401. package/fesm2022/primeng-types-inputotp.mjs +0 -4
  402. package/fesm2022/primeng-types-inputpassword.mjs +0 -4
  403. package/fesm2022/primeng-types-inputtags.mjs +0 -4
  404. package/fesm2022/primeng-types-inputtext.mjs +0 -4
  405. package/fesm2022/primeng-types-knob.mjs +0 -4
  406. package/fesm2022/primeng-types-label.mjs +0 -4
  407. package/fesm2022/primeng-types-listbox.mjs +0 -4
  408. package/fesm2022/primeng-types-megamenu.mjs +0 -4
  409. package/fesm2022/primeng-types-menu.mjs +0 -4
  410. package/fesm2022/primeng-types-menubar.mjs +0 -4
  411. package/fesm2022/primeng-types-message.mjs +0 -4
  412. package/fesm2022/primeng-types-metergroup.mjs +0 -4
  413. package/fesm2022/primeng-types-motion.mjs +0 -4
  414. package/fesm2022/primeng-types-multiselect.mjs +0 -4
  415. package/fesm2022/primeng-types-orderlist.mjs +0 -4
  416. package/fesm2022/primeng-types-organizationchart.mjs +0 -4
  417. package/fesm2022/primeng-types-overlay.mjs +0 -4
  418. package/fesm2022/primeng-types-overlaybadge.mjs +0 -4
  419. package/fesm2022/primeng-types-paginator.mjs +0 -4
  420. package/fesm2022/primeng-types-panel.mjs +0 -4
  421. package/fesm2022/primeng-types-panelmenu.mjs +0 -4
  422. package/fesm2022/primeng-types-password.mjs +0 -4
  423. package/fesm2022/primeng-types-picklist.mjs +0 -4
  424. package/fesm2022/primeng-types-popover.mjs +0 -4
  425. package/fesm2022/primeng-types-progressbar.mjs +0 -4
  426. package/fesm2022/primeng-types-progressspinner.mjs +0 -4
  427. package/fesm2022/primeng-types-radiobutton.mjs +0 -4
  428. package/fesm2022/primeng-types-rating.mjs +0 -4
  429. package/fesm2022/primeng-types-scrollarea.mjs +0 -4
  430. package/fesm2022/primeng-types-scroller.mjs +0 -4
  431. package/fesm2022/primeng-types-scrollpanel.mjs +0 -4
  432. package/fesm2022/primeng-types-scrolltop.mjs +0 -4
  433. package/fesm2022/primeng-types-select.mjs +0 -4
  434. package/fesm2022/primeng-types-selectbutton.mjs +0 -4
  435. package/fesm2022/primeng-types-shared.mjs +0 -4
  436. package/fesm2022/primeng-types-sidebar.mjs +0 -4
  437. package/fesm2022/primeng-types-skeleton.mjs +0 -4
  438. package/fesm2022/primeng-types-slider.mjs +0 -4
  439. package/fesm2022/primeng-types-speeddial.mjs +0 -4
  440. package/fesm2022/primeng-types-splitbutton.mjs +0 -4
  441. package/fesm2022/primeng-types-splitter.mjs +0 -4
  442. package/fesm2022/primeng-types-stepper.mjs +0 -4
  443. package/fesm2022/primeng-types-table.mjs +0 -4
  444. package/fesm2022/primeng-types-tabs.mjs +0 -4
  445. package/fesm2022/primeng-types-tag.mjs +0 -4
  446. package/fesm2022/primeng-types-terminal.mjs +0 -4
  447. package/fesm2022/primeng-types-textarea.mjs +0 -4
  448. package/fesm2022/primeng-types-tieredmenu.mjs +0 -4
  449. package/fesm2022/primeng-types-timeline.mjs +0 -4
  450. package/fesm2022/primeng-types-toast.mjs +0 -4
  451. package/fesm2022/primeng-types-togglebutton.mjs +0 -4
  452. package/fesm2022/primeng-types-toggleswitch.mjs +0 -4
  453. package/fesm2022/primeng-types-toolbar.mjs +0 -4
  454. package/fesm2022/primeng-types-tooltip.mjs +0 -4
  455. package/fesm2022/primeng-types-tree.mjs +0 -4
  456. package/fesm2022/primeng-types-treeselect.mjs +0 -4
  457. package/fesm2022/primeng-types-treetable.mjs +0 -4
  458. package/fesm2022/primeng-usestyle.mjs +105 -113
  459. package/fesm2022/primeng-usestyle.mjs.map +1 -1
  460. package/fesm2022/primeng-utils.mjs +236 -317
  461. package/fesm2022/primeng-utils.mjs.map +1 -1
  462. package/fesm2022/primeng.mjs +1 -5
  463. package/fesm2022/primeng.mjs.map +1 -1
  464. package/package.json +6 -1
  465. package/types/primeng-accordion.d.ts +289 -219
  466. package/types/primeng-animateonscroll.d.ts +89 -61
  467. package/types/primeng-api.d.ts +1754 -1790
  468. package/types/primeng-autocomplete.d.ts +1053 -754
  469. package/types/primeng-autofocus.d.ts +27 -24
  470. package/types/primeng-avatar.d.ts +152 -114
  471. package/types/primeng-avatargroup.d.ts +45 -40
  472. package/types/primeng-badge.d.ts +104 -78
  473. package/types/primeng-base.d.ts +49 -52
  474. package/types/primeng-basecomponent.d.ts +191 -174
  475. package/types/primeng-baseeditableholder.d.ts +63 -45
  476. package/types/primeng-baseinput.d.ts +122 -74
  477. package/types/primeng-basemodelholder.d.ts +9 -12
  478. package/types/primeng-bind.d.ts +36 -32
  479. package/types/primeng-blockui.d.ts +99 -80
  480. package/types/primeng-breadcrumb.d.ts +159 -133
  481. package/types/primeng-button.d.ts +690 -425
  482. package/types/primeng-buttongroup.d.ts +26 -30
  483. package/types/primeng-card.d.ts +130 -119
  484. package/types/primeng-carousel.d.ts +799 -629
  485. package/types/primeng-cascadeselect.d.ts +753 -562
  486. package/types/primeng-chart.d.ts +158 -112
  487. package/types/primeng-checkbox.d.ts +298 -208
  488. package/types/primeng-chip.d.ts +187 -143
  489. package/types/primeng-classnames.d.ts +23 -21
  490. package/types/primeng-colorpicker.d.ts +324 -269
  491. package/types/primeng-commandmenu.d.ts +213 -165
  492. package/types/primeng-compare.d.ts +267 -189
  493. package/types/primeng-config.d.ts +294 -304
  494. package/types/primeng-confirmdialog.d.ts +504 -325
  495. package/types/primeng-confirmpopup.d.ts +253 -207
  496. package/types/primeng-contextmenu.d.ts +522 -366
  497. package/types/primeng-dataview.d.ts +497 -342
  498. package/types/primeng-datepicker.d.ts +1268 -969
  499. package/types/primeng-dialog.d.ts +667 -462
  500. package/types/primeng-divider.d.ts +112 -96
  501. package/types/primeng-dock.d.ts +206 -172
  502. package/types/primeng-dom.d.ts +97 -100
  503. package/types/primeng-dragdrop.d.ts +142 -107
  504. package/types/primeng-drawer.d.ts +354 -254
  505. package/types/primeng-dynamicdialog.d.ts +527 -535
  506. package/types/primeng-editor.d.ts +210 -162
  507. package/types/primeng-fieldset.d.ts +198 -163
  508. package/types/primeng-fileupload.d.ts +726 -523
  509. package/types/primeng-floatlabel.d.ts +54 -48
  510. package/types/primeng-fluid.d.ts +36 -36
  511. package/types/primeng-focustrap.d.ts +30 -27
  512. package/types/primeng-galleria.d.ts +569 -430
  513. package/types/primeng-gallery.d.ts +754 -552
  514. package/types/primeng-iconfield.d.ts +53 -42
  515. package/types/primeng-icons-angledoubledown.d.ts +6 -9
  516. package/types/primeng-icons-angledoubleleft.d.ts +6 -9
  517. package/types/primeng-icons-angledoubleright.d.ts +6 -9
  518. package/types/primeng-icons-angledoubleup.d.ts +6 -9
  519. package/types/primeng-icons-angledown.d.ts +6 -9
  520. package/types/primeng-icons-angleleft.d.ts +6 -9
  521. package/types/primeng-icons-angleright.d.ts +6 -9
  522. package/types/primeng-icons-angleup.d.ts +6 -9
  523. package/types/primeng-icons-arrowdown.d.ts +8 -11
  524. package/types/primeng-icons-arrowdownleft.d.ts +6 -9
  525. package/types/primeng-icons-arrowdownright.d.ts +6 -9
  526. package/types/primeng-icons-arrowleft.d.ts +8 -11
  527. package/types/primeng-icons-arrowright.d.ts +6 -9
  528. package/types/primeng-icons-arrowup.d.ts +8 -11
  529. package/types/primeng-icons-ban.d.ts +8 -11
  530. package/types/primeng-icons-bars.d.ts +6 -9
  531. package/types/primeng-icons-baseicon.d.ts +23 -22
  532. package/types/primeng-icons-blank.d.ts +6 -9
  533. package/types/primeng-icons-calendar.d.ts +6 -9
  534. package/types/primeng-icons-caretleft.d.ts +6 -9
  535. package/types/primeng-icons-caretright.d.ts +6 -9
  536. package/types/primeng-icons-check.d.ts +6 -9
  537. package/types/primeng-icons-chevrondown.d.ts +6 -9
  538. package/types/primeng-icons-chevronleft.d.ts +6 -9
  539. package/types/primeng-icons-chevronright.d.ts +6 -9
  540. package/types/primeng-icons-chevronup.d.ts +6 -9
  541. package/types/primeng-icons-exclamationtriangle.d.ts +8 -11
  542. package/types/primeng-icons-eye.d.ts +6 -9
  543. package/types/primeng-icons-eyeslash.d.ts +8 -11
  544. package/types/primeng-icons-filter.d.ts +8 -11
  545. package/types/primeng-icons-filterfill.d.ts +6 -9
  546. package/types/primeng-icons-filterslash.d.ts +8 -11
  547. package/types/primeng-icons-home.d.ts +8 -11
  548. package/types/primeng-icons-infocircle.d.ts +8 -11
  549. package/types/primeng-icons-minus.d.ts +6 -9
  550. package/types/primeng-icons-pencil.d.ts +8 -11
  551. package/types/primeng-icons-plus.d.ts +8 -11
  552. package/types/primeng-icons-refresh.d.ts +8 -11
  553. package/types/primeng-icons-search.d.ts +8 -11
  554. package/types/primeng-icons-searchminus.d.ts +8 -11
  555. package/types/primeng-icons-searchplus.d.ts +8 -11
  556. package/types/primeng-icons-sortalt.d.ts +8 -11
  557. package/types/primeng-icons-sortamountdown.d.ts +8 -11
  558. package/types/primeng-icons-sortamountupalt.d.ts +8 -11
  559. package/types/primeng-icons-spinner.d.ts +8 -11
  560. package/types/primeng-icons-star.d.ts +8 -11
  561. package/types/primeng-icons-starfill.d.ts +8 -11
  562. package/types/primeng-icons-thlarge.d.ts +8 -11
  563. package/types/primeng-icons-times.d.ts +6 -9
  564. package/types/primeng-icons-timescircle.d.ts +8 -11
  565. package/types/primeng-icons-trash.d.ts +8 -11
  566. package/types/primeng-icons-undo.d.ts +8 -11
  567. package/types/primeng-icons-upload.d.ts +8 -11
  568. package/types/primeng-icons-windowmaximize.d.ts +8 -11
  569. package/types/primeng-icons-windowminimize.d.ts +8 -11
  570. package/types/primeng-icons.d.ts +53 -53
  571. package/types/primeng-iftalabel.d.ts +37 -37
  572. package/types/primeng-image.d.ts +403 -308
  573. package/types/primeng-imagecompare.d.ts +93 -77
  574. package/types/primeng-inplace.d.ts +125 -111
  575. package/types/primeng-inputcolor.d.ts +646 -507
  576. package/types/primeng-inputgroup.d.ts +41 -41
  577. package/types/primeng-inputgroupaddon.d.ts +31 -31
  578. package/types/primeng-inputicon.d.ts +38 -32
  579. package/types/primeng-inputmask.d.ts +519 -362
  580. package/types/primeng-inputnumber.d.ts +572 -405
  581. package/types/primeng-inputotp.d.ts +205 -156
  582. package/types/primeng-inputpassword.d.ts +59 -43
  583. package/types/primeng-inputtags.d.ts +451 -297
  584. package/types/primeng-inputtext.d.ts +129 -93
  585. package/types/primeng-keyfilter.d.ts +62 -53
  586. package/types/primeng-knob.d.ts +256 -183
  587. package/types/primeng-label.d.ts +36 -36
  588. package/types/primeng-license.d.ts +1 -3
  589. package/types/primeng-listbox.d.ts +1040 -786
  590. package/types/primeng-megamenu.d.ts +535 -383
  591. package/types/primeng-menu.d.ts +478 -361
  592. package/types/primeng-menubar.d.ts +495 -354
  593. package/types/primeng-message.d.ts +191 -148
  594. package/types/primeng-metergroup.d.ts +249 -187
  595. package/types/primeng-motion.d.ts +602 -384
  596. package/types/primeng-multiselect.d.ts +1192 -858
  597. package/types/primeng-orderlist.d.ts +538 -390
  598. package/types/primeng-organizationchart.d.ts +235 -192
  599. package/types/primeng-overlay.d.ts +394 -294
  600. package/types/primeng-overlaybadge.d.ts +95 -64
  601. package/types/primeng-paginator.d.ts +409 -309
  602. package/types/primeng-panel.d.ts +267 -217
  603. package/types/primeng-panelmenu.d.ts +254 -228
  604. package/types/primeng-passthrough.d.ts +5 -7
  605. package/types/primeng-password.d.ts +605 -430
  606. package/types/primeng-picklist.d.ts +1041 -756
  607. package/types/primeng-popover.d.ts +235 -176
  608. package/types/primeng-progressbar.d.ts +130 -99
  609. package/types/primeng-progressspinner.d.ts +144 -108
  610. package/types/primeng-radiobutton.d.ts +218 -168
  611. package/types/primeng-rating.d.ts +239 -189
  612. package/types/primeng-ripple.d.ts +38 -42
  613. package/types/primeng-scrollarea.d.ts +290 -239
  614. package/types/primeng-scroller.d.ts +522 -387
  615. package/types/primeng-scrollpanel.d.ts +134 -128
  616. package/types/primeng-scrolltop.d.ts +169 -123
  617. package/types/primeng-select.d.ts +1013 -738
  618. package/types/primeng-selectbutton.d.ts +238 -164
  619. package/types/primeng-sidebar.d.ts +794 -561
  620. package/types/primeng-skeleton.d.ts +114 -83
  621. package/types/primeng-slider.d.ts +375 -306
  622. package/types/primeng-speeddial.d.ts +492 -370
  623. package/types/primeng-splitbutton.d.ts +381 -240
  624. package/types/primeng-splitter.d.ts +392 -299
  625. package/types/primeng-stepper.d.ts +422 -250
  626. package/types/primeng-steps.d.ts +157 -134
  627. package/types/primeng-styleclass.d.ts +163 -105
  628. package/types/primeng-table.d.ts +2898 -1911
  629. package/types/primeng-tabs.d.ts +467 -301
  630. package/types/primeng-tag.d.ts +106 -85
  631. package/types/primeng-terminal.d.ts +131 -117
  632. package/types/primeng-textarea.d.ts +145 -107
  633. package/types/primeng-tieredmenu.d.ts +572 -398
  634. package/types/primeng-timeline.d.ts +125 -109
  635. package/types/primeng-toast.d.ts +310 -247
  636. package/types/primeng-togglebutton.d.ts +254 -182
  637. package/types/primeng-toggleswitch.d.ts +188 -140
  638. package/types/primeng-toolbar.d.ts +82 -76
  639. package/types/primeng-tooltip.d.ts +334 -232
  640. package/types/primeng-tree.d.ts +762 -559
  641. package/types/primeng-treeselect.d.ts +749 -547
  642. package/types/primeng-treetable.d.ts +1839 -1313
  643. package/types/primeng-ts-helpers.d.ts +4 -6
  644. package/types/primeng-types-accordion.d.ts +58 -62
  645. package/types/primeng-types-autocomplete.d.ts +230 -233
  646. package/types/primeng-types-avatar.d.ts +25 -28
  647. package/types/primeng-types-avatargroup.d.ts +11 -14
  648. package/types/primeng-types-badge.d.ts +13 -16
  649. package/types/primeng-types-blockui.d.ts +18 -21
  650. package/types/primeng-types-breadcrumb.d.ts +65 -68
  651. package/types/primeng-types-button.d.ts +106 -109
  652. package/types/primeng-types-card.d.ts +54 -57
  653. package/types/primeng-types-carousel.d.ts +143 -146
  654. package/types/primeng-types-cascadeselect.d.ts +186 -192
  655. package/types/primeng-types-chart.d.ts +34 -39
  656. package/types/primeng-types-checkbox.d.ts +52 -55
  657. package/types/primeng-types-chip.d.ts +48 -51
  658. package/types/primeng-types-colorpicker.d.ts +59 -62
  659. package/types/primeng-types-commandmenu.d.ts +98 -101
  660. package/types/primeng-types-compare.d.ts +33 -36
  661. package/types/primeng-types-confirmdialog.d.ts +124 -127
  662. package/types/primeng-types-confirmpopup.d.ts +75 -78
  663. package/types/primeng-types-contextmenu.d.ts +100 -103
  664. package/types/primeng-types-dataview.d.ts +180 -183
  665. package/types/primeng-types-datepicker.d.ts +442 -445
  666. package/types/primeng-types-dialog.d.ts +93 -96
  667. package/types/primeng-types-divider.d.ts +14 -17
  668. package/types/primeng-types-dock.d.ts +45 -48
  669. package/types/primeng-types-drawer.d.ts +62 -65
  670. package/types/primeng-types-editor.d.ts +143 -146
  671. package/types/primeng-types-fieldset.d.ts +83 -87
  672. package/types/primeng-types-fileupload.d.ts +296 -301
  673. package/types/primeng-types-floatlabel.d.ts +12 -15
  674. package/types/primeng-types-fluid.d.ts +11 -14
  675. package/types/primeng-types-galleria.d.ts +209 -212
  676. package/types/primeng-types-gallery.d.ts +195 -198
  677. package/types/primeng-types-iconfield.d.ts +12 -15
  678. package/types/primeng-types-iftalabel.d.ts +11 -14
  679. package/types/primeng-types-image.d.ts +118 -121
  680. package/types/primeng-types-imagecompare.d.ts +22 -25
  681. package/types/primeng-types-inplace.d.ts +46 -49
  682. package/types/primeng-types-inputcolor.d.ts +86 -89
  683. package/types/primeng-types-inputgroup.d.ts +11 -14
  684. package/types/primeng-types-inputgroupaddon.d.ts +11 -14
  685. package/types/primeng-types-inputicon.d.ts +11 -14
  686. package/types/primeng-types-inputmask.d.ts +30 -33
  687. package/types/primeng-types-inputnumber.d.ts +72 -75
  688. package/types/primeng-types-inputotp.d.ts +67 -70
  689. package/types/primeng-types-inputpassword.d.ts +7 -10
  690. package/types/primeng-types-inputtags.d.ts +122 -125
  691. package/types/primeng-types-inputtext.d.ts +7 -10
  692. package/types/primeng-types-knob.d.ts +23 -26
  693. package/types/primeng-types-label.d.ts +7 -10
  694. package/types/primeng-types-listbox.d.ts +262 -266
  695. package/types/primeng-types-megamenu.d.ts +135 -138
  696. package/types/primeng-types-menu.d.ts +98 -101
  697. package/types/primeng-types-menubar.d.ts +122 -125
  698. package/types/primeng-types-message.d.ts +69 -72
  699. package/types/primeng-types-metergroup.d.ts +137 -140
  700. package/types/primeng-types-motion.d.ts +11 -14
  701. package/types/primeng-types-multiselect.d.ts +329 -333
  702. package/types/primeng-types-orderlist.d.ts +126 -129
  703. package/types/primeng-types-organizationchart.d.ts +147 -153
  704. package/types/primeng-types-overlay.d.ts +31 -34
  705. package/types/primeng-types-overlaybadge.d.ts +17 -20
  706. package/types/primeng-types-paginator.d.ts +131 -134
  707. package/types/primeng-types-panel.d.ts +91 -95
  708. package/types/primeng-types-panelmenu.d.ts +150 -153
  709. package/types/primeng-types-password.d.ts +94 -97
  710. package/types/primeng-types-picklist.d.ts +250 -260
  711. package/types/primeng-types-popover.d.ts +33 -36
  712. package/types/primeng-types-progressbar.d.ts +33 -36
  713. package/types/primeng-types-progressspinner.d.ts +27 -30
  714. package/types/primeng-types-radiobutton.d.ts +29 -32
  715. package/types/primeng-types-rating.d.ts +62 -65
  716. package/types/primeng-types-scrollarea.d.ts +35 -38
  717. package/types/primeng-types-scroller.d.ts +142 -146
  718. package/types/primeng-types-scrollpanel.d.ts +31 -34
  719. package/types/primeng-types-scrolltop.d.ts +37 -40
  720. package/types/primeng-types-select.d.ts +251 -254
  721. package/types/primeng-types-selectbutton.d.ts +56 -59
  722. package/types/primeng-types-shared.d.ts +6 -9
  723. package/types/primeng-types-sidebar.d.ts +105 -108
  724. package/types/primeng-types-skeleton.d.ts +11 -14
  725. package/types/primeng-types-slider.d.ts +59 -62
  726. package/types/primeng-types-speeddial.d.ts +71 -74
  727. package/types/primeng-types-splitbutton.d.ts +35 -38
  728. package/types/primeng-types-splitter.d.ts +58 -63
  729. package/types/primeng-types-stepper.d.ts +77 -80
  730. package/types/primeng-types-table.d.ts +743 -749
  731. package/types/primeng-types-tabs.d.ts +48 -51
  732. package/types/primeng-types-tag.d.ts +27 -30
  733. package/types/primeng-types-terminal.d.ts +43 -46
  734. package/types/primeng-types-textarea.d.ts +11 -14
  735. package/types/primeng-types-tieredmenu.d.ts +154 -157
  736. package/types/primeng-types-timeline.d.ts +60 -63
  737. package/types/primeng-types-toast.d.ts +92 -95
  738. package/types/primeng-types-togglebutton.d.ts +52 -55
  739. package/types/primeng-types-toggleswitch.d.ts +41 -44
  740. package/types/primeng-types-toolbar.d.ts +34 -37
  741. package/types/primeng-types-tooltip.d.ts +17 -20
  742. package/types/primeng-types-tree.d.ts +237 -246
  743. package/types/primeng-types-treeselect.d.ts +198 -202
  744. package/types/primeng-types-treetable.d.ts +492 -497
  745. package/types/primeng-usestyle.d.ts +28 -31
  746. package/types/primeng-utils.d.ts +37 -40
  747. package/types/primeng.d.ts +2 -2
  748. package/fesm2022/primeng-icons.mjs.map +0 -1
  749. package/fesm2022/primeng-ts-helpers.mjs.map +0 -1
  750. package/fesm2022/primeng-types-accordion.mjs.map +0 -1
  751. package/fesm2022/primeng-types-autocomplete.mjs.map +0 -1
  752. package/fesm2022/primeng-types-avatar.mjs.map +0 -1
  753. package/fesm2022/primeng-types-avatargroup.mjs.map +0 -1
  754. package/fesm2022/primeng-types-badge.mjs.map +0 -1
  755. package/fesm2022/primeng-types-blockui.mjs.map +0 -1
  756. package/fesm2022/primeng-types-breadcrumb.mjs.map +0 -1
  757. package/fesm2022/primeng-types-button.mjs.map +0 -1
  758. package/fesm2022/primeng-types-card.mjs.map +0 -1
  759. package/fesm2022/primeng-types-carousel.mjs.map +0 -1
  760. package/fesm2022/primeng-types-cascadeselect.mjs.map +0 -1
  761. package/fesm2022/primeng-types-chart.mjs.map +0 -1
  762. package/fesm2022/primeng-types-checkbox.mjs.map +0 -1
  763. package/fesm2022/primeng-types-chip.mjs.map +0 -1
  764. package/fesm2022/primeng-types-colorpicker.mjs.map +0 -1
  765. package/fesm2022/primeng-types-commandmenu.mjs.map +0 -1
  766. package/fesm2022/primeng-types-compare.mjs.map +0 -1
  767. package/fesm2022/primeng-types-confirmdialog.mjs.map +0 -1
  768. package/fesm2022/primeng-types-confirmpopup.mjs.map +0 -1
  769. package/fesm2022/primeng-types-contextmenu.mjs.map +0 -1
  770. package/fesm2022/primeng-types-dataview.mjs.map +0 -1
  771. package/fesm2022/primeng-types-datepicker.mjs.map +0 -1
  772. package/fesm2022/primeng-types-dialog.mjs.map +0 -1
  773. package/fesm2022/primeng-types-divider.mjs.map +0 -1
  774. package/fesm2022/primeng-types-dock.mjs.map +0 -1
  775. package/fesm2022/primeng-types-drawer.mjs.map +0 -1
  776. package/fesm2022/primeng-types-editor.mjs.map +0 -1
  777. package/fesm2022/primeng-types-fieldset.mjs.map +0 -1
  778. package/fesm2022/primeng-types-fileupload.mjs.map +0 -1
  779. package/fesm2022/primeng-types-floatlabel.mjs.map +0 -1
  780. package/fesm2022/primeng-types-fluid.mjs.map +0 -1
  781. package/fesm2022/primeng-types-galleria.mjs.map +0 -1
  782. package/fesm2022/primeng-types-gallery.mjs.map +0 -1
  783. package/fesm2022/primeng-types-iconfield.mjs.map +0 -1
  784. package/fesm2022/primeng-types-iftalabel.mjs.map +0 -1
  785. package/fesm2022/primeng-types-image.mjs.map +0 -1
  786. package/fesm2022/primeng-types-imagecompare.mjs.map +0 -1
  787. package/fesm2022/primeng-types-inplace.mjs.map +0 -1
  788. package/fesm2022/primeng-types-inputcolor.mjs.map +0 -1
  789. package/fesm2022/primeng-types-inputgroup.mjs.map +0 -1
  790. package/fesm2022/primeng-types-inputgroupaddon.mjs.map +0 -1
  791. package/fesm2022/primeng-types-inputicon.mjs.map +0 -1
  792. package/fesm2022/primeng-types-inputmask.mjs.map +0 -1
  793. package/fesm2022/primeng-types-inputnumber.mjs.map +0 -1
  794. package/fesm2022/primeng-types-inputotp.mjs.map +0 -1
  795. package/fesm2022/primeng-types-inputpassword.mjs.map +0 -1
  796. package/fesm2022/primeng-types-inputtags.mjs.map +0 -1
  797. package/fesm2022/primeng-types-inputtext.mjs.map +0 -1
  798. package/fesm2022/primeng-types-knob.mjs.map +0 -1
  799. package/fesm2022/primeng-types-label.mjs.map +0 -1
  800. package/fesm2022/primeng-types-listbox.mjs.map +0 -1
  801. package/fesm2022/primeng-types-megamenu.mjs.map +0 -1
  802. package/fesm2022/primeng-types-menu.mjs.map +0 -1
  803. package/fesm2022/primeng-types-menubar.mjs.map +0 -1
  804. package/fesm2022/primeng-types-message.mjs.map +0 -1
  805. package/fesm2022/primeng-types-metergroup.mjs.map +0 -1
  806. package/fesm2022/primeng-types-motion.mjs.map +0 -1
  807. package/fesm2022/primeng-types-multiselect.mjs.map +0 -1
  808. package/fesm2022/primeng-types-orderlist.mjs.map +0 -1
  809. package/fesm2022/primeng-types-organizationchart.mjs.map +0 -1
  810. package/fesm2022/primeng-types-overlay.mjs.map +0 -1
  811. package/fesm2022/primeng-types-overlaybadge.mjs.map +0 -1
  812. package/fesm2022/primeng-types-paginator.mjs.map +0 -1
  813. package/fesm2022/primeng-types-panel.mjs.map +0 -1
  814. package/fesm2022/primeng-types-panelmenu.mjs.map +0 -1
  815. package/fesm2022/primeng-types-password.mjs.map +0 -1
  816. package/fesm2022/primeng-types-picklist.mjs.map +0 -1
  817. package/fesm2022/primeng-types-popover.mjs.map +0 -1
  818. package/fesm2022/primeng-types-progressbar.mjs.map +0 -1
  819. package/fesm2022/primeng-types-progressspinner.mjs.map +0 -1
  820. package/fesm2022/primeng-types-radiobutton.mjs.map +0 -1
  821. package/fesm2022/primeng-types-rating.mjs.map +0 -1
  822. package/fesm2022/primeng-types-scrollarea.mjs.map +0 -1
  823. package/fesm2022/primeng-types-scroller.mjs.map +0 -1
  824. package/fesm2022/primeng-types-scrollpanel.mjs.map +0 -1
  825. package/fesm2022/primeng-types-scrolltop.mjs.map +0 -1
  826. package/fesm2022/primeng-types-select.mjs.map +0 -1
  827. package/fesm2022/primeng-types-selectbutton.mjs.map +0 -1
  828. package/fesm2022/primeng-types-shared.mjs.map +0 -1
  829. package/fesm2022/primeng-types-sidebar.mjs.map +0 -1
  830. package/fesm2022/primeng-types-skeleton.mjs.map +0 -1
  831. package/fesm2022/primeng-types-slider.mjs.map +0 -1
  832. package/fesm2022/primeng-types-speeddial.mjs.map +0 -1
  833. package/fesm2022/primeng-types-splitbutton.mjs.map +0 -1
  834. package/fesm2022/primeng-types-splitter.mjs.map +0 -1
  835. package/fesm2022/primeng-types-stepper.mjs.map +0 -1
  836. package/fesm2022/primeng-types-table.mjs.map +0 -1
  837. package/fesm2022/primeng-types-tabs.mjs.map +0 -1
  838. package/fesm2022/primeng-types-tag.mjs.map +0 -1
  839. package/fesm2022/primeng-types-terminal.mjs.map +0 -1
  840. package/fesm2022/primeng-types-textarea.mjs.map +0 -1
  841. package/fesm2022/primeng-types-tieredmenu.mjs.map +0 -1
  842. package/fesm2022/primeng-types-timeline.mjs.map +0 -1
  843. package/fesm2022/primeng-types-toast.mjs.map +0 -1
  844. package/fesm2022/primeng-types-togglebutton.mjs.map +0 -1
  845. package/fesm2022/primeng-types-toggleswitch.mjs.map +0 -1
  846. package/fesm2022/primeng-types-toolbar.mjs.map +0 -1
  847. package/fesm2022/primeng-types-tooltip.mjs.map +0 -1
  848. package/fesm2022/primeng-types-tree.mjs.map +0 -1
  849. package/fesm2022/primeng-types-treeselect.mjs.map +0 -1
  850. package/fesm2022/primeng-types-treetable.mjs.map +0 -1
@@ -1,20 +1,19 @@
1
- export * from 'primeng/types/inputmask';
2
- import { isPlatformBrowser, NgTemplateOutlet } from '@angular/common';
3
- import * as i0 from '@angular/core';
4
- import { Injectable, InjectionToken, inject, input, booleanAttribute, output, effect, untracked, Directive, forwardRef, computed, contentChild, viewChild, signal, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
5
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
6
- import { Times } from '@primeicons/angular/times';
7
- import { getUserAgent, isClient } from '@primeuix/utils';
8
- import { SharedModule } from 'primeng/api';
9
- import { AutoFocus } from 'primeng/autofocus';
10
- import { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';
11
- import { BaseInput } from 'primeng/baseinput';
12
- import * as i1 from 'primeng/bind';
13
- import { Bind } from 'primeng/bind';
14
- import { InputText } from 'primeng/inputtext';
15
- import { BaseStyle } from 'primeng/base';
16
-
17
- const style = /*css*/ `
1
+ import { NgTemplateOutlet, isPlatformBrowser } from "@angular/common";
2
+ import * as i0 from "@angular/core";
3
+ import { ChangeDetectionStrategy, Component, Directive, Injectable, InjectionToken, NgModule, ViewEncapsulation, booleanAttribute, computed, contentChild, effect, forwardRef, inject, input, output, signal, untracked, viewChild } from "@angular/core";
4
+ import { NG_VALUE_ACCESSOR } from "@angular/forms";
5
+ import { Times } from "@primeicons/angular/times";
6
+ import { getUserAgent, isClient } from "@primeuix/utils";
7
+ import { SharedModule } from "primeng/api";
8
+ import { AutoFocus } from "primeng/autofocus";
9
+ import { BaseComponent, PARENT_INSTANCE } from "primeng/basecomponent";
10
+ import { BaseInput } from "primeng/baseinput";
11
+ import * as i1 from "primeng/bind";
12
+ import { Bind } from "primeng/bind";
13
+ import { InputText } from "primeng/inputtext";
14
+ import { BaseStyle } from "primeng/base";
15
+ export * from "primeng/types/inputmask";
16
+ const style = `
18
17
  /* For PrimeNG */
19
18
  p-inputmask,
20
19
  p-input-mask {
@@ -36,1345 +35,1245 @@ const style = /*css*/ `
36
35
  }
37
36
  `;
38
37
  const classes = {
39
- root: ({ instance }) => [
40
- 'p-inputmask p-component p-inputwrapper',
41
- {
42
- 'p-variant-filled': instance.$variant() === 'filled'
43
- }
44
- ],
45
- clearIcon: 'p-inputmask-clear-icon'
38
+ root: ({ instance }) => ["p-inputmask p-component p-inputwrapper", { "p-variant-filled": instance.$variant() === "filled" }],
39
+ clearIcon: "p-inputmask-clear-icon"
46
40
  };
47
- class InputMaskStyle extends BaseStyle {
48
- name = 'inputmask';
49
- style = style;
50
- classes = classes;
51
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: InputMaskStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
52
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: InputMaskStyle });
53
- }
54
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: InputMaskStyle, decorators: [{
55
- type: Injectable
56
- }] });
57
- /**
58
- *
59
- * InputMask component is used to enter input in a certain format such as numeric, date, currency, email and phone.
60
- *
61
- * [Live Demo](https://www.primeng.org/inputmask/)
62
- *
63
- * @module inputmaskstyle
64
- *
65
- */
41
+ var InputMaskStyle = class InputMaskStyle extends BaseStyle {
42
+ name = "inputmask";
43
+ style = style;
44
+ classes = classes;
45
+ static ɵfac = i0.ɵɵngDeclareFactory({
46
+ minVersion: "12.0.0",
47
+ version: "22.2.0",
48
+ ngImport: i0,
49
+ type: InputMaskStyle,
50
+ deps: null,
51
+ target: i0.ɵɵFactoryTarget.Injectable
52
+ });
53
+ static ɵprov = i0.ɵɵngDeclareInjectable({
54
+ minVersion: "12.0.0",
55
+ version: "22.2.0",
56
+ ngImport: i0,
57
+ type: InputMaskStyle
58
+ });
59
+ };
60
+ i0.ɵɵngDeclareClassMetadata({
61
+ minVersion: "12.0.0",
62
+ version: "22.2.0",
63
+ ngImport: i0,
64
+ type: InputMaskStyle,
65
+ decorators: [{ type: Injectable }]
66
+ });
66
67
  var InputMaskClasses;
67
- (function (InputMaskClasses) {
68
- /**
69
- * Class name of the root element
70
- */
71
- InputMaskClasses["root"] = "p-inputmask";
72
- /**
73
- * Class name of the clear icon element
74
- */
75
- InputMaskClasses["clearIcon"] = "p-inputmask-clear-icon";
68
+ (function(InputMaskClasses) {
69
+ InputMaskClasses["root"] = "p-inputmask";
70
+ InputMaskClasses["clearIcon"] = "p-inputmask-clear-icon";
76
71
  })(InputMaskClasses || (InputMaskClasses = {}));
77
-
78
- /*
79
- Port of jQuery MaskedInput by DigitalBush as a Native Angular2 Component in Typescript without jQuery
80
- https://github.com/digitalBush/jquery.maskedinput/
81
-
82
- Copyright (c) 2007-2014 Josh Bush (digitalbush.com)
83
-
84
- Permission is hereby granted, free of charge, to any person
85
- obtaining a copy of this software and associated documentation
86
- files (the "Software"), to deal in the Software without
87
- restriction, including without limitation the rights to use,
88
- copy, modify, merge, publish, distribute, sublicense, and/or sell
89
- copies of the Software, and to permit persons to whom the
90
- Software is furnished to do so, subject to the following
91
- conditions:
92
-
93
- The above copyright notice and this permission notice shall be
94
- included in all copies or substantial portions of the Software.
95
-
96
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
97
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
98
- OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
99
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
100
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
101
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
102
- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
103
- OTHER DEALINGS IN THE SOFTWARE.
104
- */
105
- const INPUTMASK_INSTANCE = new InjectionToken('INPUTMASK_INSTANCE');
106
- const INPUTMASK_DIRECTIVE_INSTANCE = new InjectionToken('INPUTMASK_DIRECTIVE_INSTANCE');
107
- /**
108
- * InputMask directive is applied directly to input elements to enable masked input.
109
- * @group Components
110
- */
111
- class InputMaskDirective extends BaseComponent {
112
- $pcInputMaskDirective = inject(INPUTMASK_DIRECTIVE_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;
113
- _componentStyle = inject(InputMaskStyle);
114
- /**
115
- * Used to pass attributes to DOM elements inside the InputMask directive.
116
- * @defaultValue undefined
117
- * @group Props
118
- */
119
- pInputMaskPT = input(/* @ts-ignore */
120
- ...(ngDevMode ? [undefined, { debugName: "pInputMaskPT" }] : /* istanbul ignore next */ []));
121
- /**
122
- * Indicates whether the component should be rendered without styles.
123
- * @defaultValue undefined
124
- * @group Props
125
- */
126
- pInputMaskUnstyled = input(/* @ts-ignore */
127
- ...(ngDevMode ? [undefined, { debugName: "pInputMaskUnstyled" }] : /* istanbul ignore next */ []));
128
- /**
129
- * Mask pattern.
130
- * @group Props
131
- */
132
- pInputMask = input(/* @ts-ignore */
133
- ...(ngDevMode ? [undefined, { debugName: "pInputMask" }] : /* istanbul ignore next */ []));
134
- /**
135
- * Placeholder character in mask, default is underscore.
136
- * @group Props
137
- */
138
- slotChar = input('_', /* @ts-ignore */
139
- ...(ngDevMode ? [{ debugName: "slotChar" }] : /* istanbul ignore next */ []));
140
- /**
141
- * Clears the incomplete value on blur.
142
- * @group Props
143
- */
144
- autoClear = input(true, { ...(ngDevMode ? { debugName: "autoClear" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
145
- /**
146
- * Regex pattern for alpha characters.
147
- * @group Props
148
- */
149
- characterPattern = input('[A-Za-z]', /* @ts-ignore */
150
- ...(ngDevMode ? [{ debugName: "characterPattern" }] : /* istanbul ignore next */ []));
151
- /**
152
- * When present, it specifies that whether to clean buffer value from model.
153
- * @group Props
154
- */
155
- keepBuffer = input(false, { ...(ngDevMode ? { debugName: "keepBuffer" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
156
- /**
157
- * When enabled, deleting a character does not shift the following characters across literal
158
- * separators (e.g. the "." in 99.99.9999), keeping each mask section independent.
159
- * @group Props
160
- */
161
- keepCharPositions = input(false, { ...(ngDevMode ? { debugName: "keepCharPositions" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
162
- /**
163
- * Callback to invoke when the mask is completed.
164
- * @group Emits
165
- */
166
- // eslint-disable-next-line @angular-eslint/no-output-rename
167
- onCompleteEvent = output({ alias: 'onComplete' });
168
- /**
169
- * Callback to invoke when value changes, emits unmasked value.
170
- * @group Emits
171
- */
172
- onUnmaskedChange = output();
173
- defs;
174
- tests;
175
- partialPosition;
176
- firstNonMaskPos;
177
- lastRequiredNonMaskPos;
178
- len;
179
- oldVal;
180
- buffer;
181
- defaultBuffer;
182
- focusText;
183
- caretTimeoutId;
184
- androidChrome = true;
185
- focused;
186
- _inputElement = null;
187
- _listeners = [];
188
- isInputVisible(input) {
189
- const style = getComputedStyle(input);
190
- return style.display !== 'none' && style.visibility !== 'hidden';
191
- }
192
- get inputElement() {
193
- if (!this._inputElement) {
194
- const host = this.el.nativeElement;
195
- this._inputElement = host.querySelector('[data-p-maskable]') || Array.from(host.querySelectorAll('input')).find((input) => this.isInputVisible(input)) || host;
196
- }
197
- return this._inputElement;
198
- }
199
- constructor() {
200
- super();
201
- effect(() => {
202
- const pt = this.pInputMaskPT();
203
- if (pt) {
204
- this.directivePT.set(pt);
205
- }
206
- });
207
- effect(() => {
208
- if (this.pInputMaskUnstyled()) {
209
- this.directiveUnstyled.set(this.pInputMaskUnstyled());
210
- }
211
- });
212
- effect(() => {
213
- const maskValue = this.pInputMask();
214
- if (maskValue) {
215
- untracked(() => 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
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
289
- onInputFocus(event) {
290
- if (this.inputElement.readOnly || !this.pInputMask()) {
291
- return;
292
- }
293
- this.focused = true;
294
- this.focusText = this.inputElement.value;
295
- clearTimeout(this.caretTimeoutId);
296
- const pos = this.checkVal();
297
- this.caretTimeoutId = setTimeout(() => {
298
- if (this.inputElement !== this.inputElement.ownerDocument.activeElement) {
299
- return;
300
- }
301
- this.writeBuffer();
302
- if (pos == this.pInputMask()?.replace('?', '').length) {
303
- this.caret(0, pos);
304
- }
305
- else {
306
- this.caret(pos);
307
- }
308
- }, 10);
309
- }
310
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
311
- onInputBlur(e) {
312
- if (!this.pInputMask()) {
313
- return;
314
- }
315
- this.focused = false;
316
- // Validate/finalize value on blur (clear incomplete if autoClear)
317
- if (!this.keepBuffer()) {
318
- const valueBefore = this.inputElement.value;
319
- this.checkVal();
320
- // If value changed, dispatch input event so ngModel gets updated
321
- if (this.inputElement.value !== valueBefore) {
322
- this.dispatchInputEvent();
323
- }
324
- }
325
- }
326
- onInputKeydown(e) {
327
- if (this.inputElement.readOnly || !this.pInputMask()) {
328
- return;
329
- }
330
- const k = e.which || e.keyCode;
331
- let pos;
332
- let begin;
333
- let end;
334
- let iPhone = false;
335
- if (isPlatformBrowser(this.platformId)) {
336
- iPhone = /iphone/i.test(getUserAgent());
337
- }
338
- this.oldVal = this.inputElement.value;
339
- // backspace, delete, and escape get special treatment
340
- if (k === 8 || k === 46 || (iPhone && k === 127)) {
341
- pos = this.caret();
342
- begin = pos.begin;
343
- end = pos.end;
344
- if (end - begin === 0) {
345
- begin = k !== 46 ? this.seekPrev(begin) : (end = this.seekNext(begin - 1));
346
- end = k === 46 ? this.seekNext(end) : end;
347
- }
348
- this.clearBuffer(begin, end);
349
- if (this.keepBuffer()) {
350
- this.shiftL(begin, end - 2);
351
- }
352
- else {
353
- this.shiftL(begin, end - 1);
354
- }
355
- // Dispatch input event to notify parent components (like DatePicker)
356
- this.dispatchInputEvent();
357
- e.preventDefault();
358
- }
359
- else if (k === 13) {
360
- // enter
361
- this.onInputBlur(e);
362
- }
363
- else if (k === 27) {
364
- // escape
365
- this.inputElement.value = this.focusText;
366
- this.caret(0, this.checkVal());
367
- e.preventDefault();
368
- }
369
- }
370
- onKeyPress(e) {
371
- if (this.inputElement.readOnly || !this.pInputMask()) {
372
- return;
373
- }
374
- const k = e.which || e.keyCode;
375
- const pos = this.caret();
376
- let p;
377
- let c;
378
- let next;
379
- let completed;
380
- if (e.ctrlKey || e.altKey || e.metaKey || k < 32 || (k > 34 && k < 41)) {
381
- return;
382
- }
383
- else if (k && k !== 13) {
384
- if (pos.end - pos.begin !== 0) {
385
- this.clearBuffer(pos.begin, pos.end);
386
- this.shiftL(pos.begin, pos.end - 1);
387
- }
388
- p = this.seekNext(pos.begin - 1);
389
- if (p < this.len) {
390
- c = String.fromCharCode(k);
391
- if (this.tests[p]?.test(c)) {
392
- this.shiftR(p);
393
- this.buffer[p] = c;
394
- this.writeBuffer();
395
- // Dispatch input event to notify parent components (like DatePicker)
396
- this.dispatchInputEvent();
397
- next = this.seekNext(p);
398
- if (isClient() && /android/i.test(getUserAgent())) {
399
- const proxy = () => {
400
- this.caret(next);
401
- };
402
- setTimeout(proxy, 0);
403
- }
404
- else {
405
- this.caret(next);
406
- }
407
- if (pos.begin <= this.lastRequiredNonMaskPos) {
408
- completed = this.isCompleted();
409
- }
410
- }
411
- }
412
- e.preventDefault();
413
- }
414
- if (completed) {
415
- this.onCompleteEvent.emit();
416
- }
417
- }
418
- onInputChange(event) {
419
- if (!this.pInputMask()) {
420
- return;
421
- }
422
- // Skip synthetic events dispatched by dispatchInputEvent() to avoid re-processing
423
- if (!event.isTrusted) {
424
- return;
425
- }
426
- if (this.androidChrome)
427
- this.handleAndroidInput(event);
428
- else
429
- this.handleInputChange(event);
430
- }
431
- onPaste(event) {
432
- if (!this.pInputMask()) {
433
- return;
434
- }
435
- this.handleInputChange(event);
436
- }
437
- // Helper methods
438
- caret(first, last) {
439
- let range;
440
- let begin;
441
- let end;
442
- if (!this.inputElement.offsetParent || this.inputElement !== this.inputElement.ownerDocument.activeElement) {
443
- return;
444
- }
445
- if (typeof first == 'number') {
446
- begin = first;
447
- end = typeof last === 'number' ? last : begin;
448
- if (typeof this.inputElement.setSelectionRange === 'function') {
449
- this.inputElement.setSelectionRange(begin, end);
450
- }
451
- else if (this.inputElement['createTextRange']) {
452
- range = this.inputElement['createTextRange']();
453
- range.collapse(true);
454
- range.moveEnd('character', end);
455
- range.moveStart('character', begin);
456
- range.select();
457
- }
458
- }
459
- else {
460
- if (typeof this.inputElement.setSelectionRange === 'function') {
461
- begin = this.inputElement.selectionStart;
462
- end = this.inputElement.selectionEnd;
463
- }
464
- else if (this.document['selection'] && this.document['selection'].createRange) {
465
- range = this.document['selection'].createRange();
466
- begin = 0 - range.duplicate().moveStart('character', -100000);
467
- end = begin + range.text.length;
468
- }
469
- return { begin: begin, end: end };
470
- }
471
- }
472
- isCompleted() {
473
- for (let i = this.firstNonMaskPos; i <= this.lastRequiredNonMaskPos; i++) {
474
- if (this.tests[i] && this.buffer[i] === this.getPlaceholder(i)) {
475
- return false;
476
- }
477
- }
478
- return true;
479
- }
480
- getPlaceholder(i) {
481
- const slotCharValue = this.slotChar();
482
- if (i < slotCharValue.length) {
483
- return slotCharValue.charAt(i);
484
- }
485
- return slotCharValue.charAt(0);
486
- }
487
- seekNext(pos) {
488
- while (++pos < this.len && !this.tests[pos])
489
- ;
490
- return pos;
491
- }
492
- seekPrev(pos) {
493
- while (--pos >= 0 && !this.tests[pos])
494
- ;
495
- return pos;
496
- }
497
- shiftL(begin, end) {
498
- let i, j;
499
- if (begin < 0) {
500
- return;
501
- }
502
- for (i = begin, j = this.seekNext(end); i < this.len; i++) {
503
- if (this.tests[i]) {
504
- if (this.keepCharPositions() && this.crossesLiteralBoundary(i, j)) {
505
- break;
506
- }
507
- if (j < this.len && this.tests[i].test(this.buffer[j])) {
508
- this.buffer[i] = this.buffer[j];
509
- this.buffer[j] = this.getPlaceholder(j);
510
- }
511
- else {
512
- break;
513
- }
514
- j = this.seekNext(j);
515
- }
516
- }
517
- this.writeBuffer();
518
- this.caret(Math.max(this.firstNonMaskPos, begin));
519
- }
520
- crossesLiteralBoundary(i, j) {
521
- for (let k = i + 1; k < j && k < this.len; k++) {
522
- if (!this.tests[k]) {
523
- return true;
524
- }
525
- }
526
- return false;
527
- }
528
- shiftR(pos) {
529
- let i, c, j, t;
530
- for (i = pos, c = this.getPlaceholder(pos); i < this.len; i++) {
531
- if (this.tests[i]) {
532
- j = this.seekNext(i);
533
- t = this.buffer[i];
534
- this.buffer[i] = c;
535
- if (j < this.len && this.tests[j]?.test(t)) {
536
- c = t;
537
- }
538
- else {
539
- break;
540
- }
541
- }
542
- }
543
- }
544
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
545
- handleAndroidInput(e) {
546
- const curVal = this.inputElement.value;
547
- const pos = this.caret();
548
- if (this.oldVal && this.oldVal.length && this.oldVal.length > curVal.length) {
549
- // a deletion or backspace happened
550
- this.checkVal(true);
551
- while (pos.begin > 0 && !this.tests[pos.begin - 1])
552
- pos.begin--;
553
- if (pos.begin === 0) {
554
- while (pos.begin < this.firstNonMaskPos && !this.tests[pos.begin])
555
- pos.begin++;
556
- }
557
- setTimeout(() => {
558
- this.caret(pos.begin, pos.begin);
559
- this.dispatchInputEvent();
560
- if (this.isCompleted()) {
561
- this.onCompleteEvent.emit();
562
- }
563
- }, 0);
564
- }
565
- else {
566
- this.checkVal(true);
567
- while (pos.begin < this.len && !this.tests[pos.begin])
568
- pos.begin++;
569
- setTimeout(() => {
570
- this.caret(pos.begin, pos.begin);
571
- this.dispatchInputEvent();
572
- if (this.isCompleted()) {
573
- this.onCompleteEvent.emit();
574
- }
575
- }, 0);
576
- }
577
- }
578
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
579
- handleInputChange(event) {
580
- if (this.inputElement.readOnly) {
581
- return;
582
- }
583
- setTimeout(() => {
584
- const pos = this.checkVal(true);
585
- this.caret(pos);
586
- this.dispatchInputEvent();
587
- if (this.isCompleted()) {
588
- this.onCompleteEvent.emit();
589
- }
590
- }, 0);
591
- }
592
- clearBuffer(start, end) {
593
- if (!this.keepBuffer()) {
594
- let i;
595
- for (i = start; i < end && i < this.len; i++) {
596
- if (this.tests[i]) {
597
- this.buffer[i] = this.getPlaceholder(i);
598
- }
599
- }
600
- }
601
- }
602
- writeBuffer() {
603
- if (this.buffer && this.inputElement) {
604
- this.inputElement.value = this.buffer.join('');
605
- }
606
- }
607
- /**
608
- * Dispatches an input event on the host element.
609
- * This is needed to notify parent components of value changes
610
- * since programmatic value changes don't trigger native input events.
611
- */
612
- dispatchInputEvent() {
613
- const event = new Event('input', { bubbles: true, cancelable: true });
614
- this.inputElement.dispatchEvent(event);
615
- this.onUnmaskedChange.emit(this.getUnmaskedValue());
616
- }
617
- checkVal(allow) {
618
- // try to place characters where they belong
619
- const test = this.inputElement.value;
620
- let lastMatch = -1;
621
- let i;
622
- let c;
623
- let pos;
624
- for (i = 0, pos = 0; i < this.len; i++) {
625
- if (this.tests[i]) {
626
- this.buffer[i] = this.getPlaceholder(i);
627
- while (pos++ < test.length) {
628
- c = test.charAt(pos - 1);
629
- if (this.tests[i].test(c)) {
630
- if (!this.keepBuffer()) {
631
- this.buffer[i] = c;
632
- }
633
- lastMatch = i;
634
- break;
635
- }
636
- }
637
- if (pos > test.length) {
638
- this.clearBuffer(i + 1, this.len);
639
- break;
640
- }
641
- }
642
- else {
643
- if (this.buffer[i] === test.charAt(pos)) {
644
- pos++;
645
- }
646
- if (i < this.partialPosition) {
647
- lastMatch = i;
648
- }
649
- }
650
- }
651
- if (allow) {
652
- this.writeBuffer();
653
- }
654
- else if (lastMatch + 1 < this.partialPosition) {
655
- if (this.autoClear() || this.buffer.join('') === this.defaultBuffer) {
656
- // Invalid value. Remove it and replace it with the
657
- // mask, which is the default behavior.
658
- if (this.inputElement.value)
659
- this.inputElement.value = '';
660
- this.clearBuffer(0, this.len);
661
- }
662
- else {
663
- // Invalid value, but we opt to show the value to the
664
- // user and allow them to correct their mistake.
665
- this.writeBuffer();
666
- }
667
- }
668
- else {
669
- this.writeBuffer();
670
- this.inputElement.value = this.inputElement.value.substring(0, lastMatch + 1);
671
- }
672
- return (this.partialPosition ? i : this.firstNonMaskPos);
673
- }
674
- getUnmaskedValue() {
675
- const unmaskedBuffer = [];
676
- for (let i = 0; i < this.buffer.length; i++) {
677
- const c = this.buffer[i];
678
- if (this.tests[i] && c != this.getPlaceholder(i)) {
679
- unmaskedBuffer.push(c);
680
- }
681
- }
682
- return unmaskedBuffer.join('');
683
- }
684
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: InputMaskDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
685
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.5", 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 }, keepCharPositions: { classPropertyName: "keepCharPositions", publicName: "keepCharPositions", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onCompleteEvent: "onComplete", onUnmaskedChange: "onUnmaskedChange" }, host: { properties: { "class.p-inputmask": "!$unstyled()" } }, providers: [InputMaskStyle, { provide: INPUTMASK_DIRECTIVE_INSTANCE, useExisting: InputMaskDirective }, { provide: PARENT_INSTANCE, useExisting: InputMaskDirective }], usesInheritance: true, ngImport: i0 });
686
- }
687
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: InputMaskDirective, decorators: [{
688
- type: Directive,
689
- args: [{
690
- selector: '[pInputMask]',
691
- standalone: true,
692
- providers: [InputMaskStyle, { provide: INPUTMASK_DIRECTIVE_INSTANCE, useExisting: InputMaskDirective }, { provide: PARENT_INSTANCE, useExisting: InputMaskDirective }],
693
- host: {
694
- '[class.p-inputmask]': '!$unstyled()'
695
- }
696
- }]
697
- }], 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 }] }], keepCharPositions: [{ type: i0.Input, args: [{ isSignal: true, alias: "keepCharPositions", required: false }] }], onCompleteEvent: [{ type: i0.Output, args: ["onComplete"] }], onUnmaskedChange: [{ type: i0.Output, args: ["onUnmaskedChange"] }] } });
72
+ const INPUTMASK_INSTANCE = new InjectionToken("INPUTMASK_INSTANCE");
73
+ const INPUTMASK_DIRECTIVE_INSTANCE = new InjectionToken("INPUTMASK_DIRECTIVE_INSTANCE");
74
+ var InputMaskDirective = class InputMaskDirective extends BaseComponent {
75
+ $pcInputMaskDirective = inject(INPUTMASK_DIRECTIVE_INSTANCE, {
76
+ optional: true,
77
+ skipSelf: true
78
+ }) ?? void 0;
79
+ _componentStyle = inject(InputMaskStyle);
80
+ pInputMaskPT = input(...ngDevMode ? [void 0, { debugName: "pInputMaskPT" }] : /* istanbul ignore next */ []);
81
+ pInputMaskUnstyled = input(...ngDevMode ? [void 0, { debugName: "pInputMaskUnstyled" }] : /* istanbul ignore next */ []);
82
+ pInputMask = input(...ngDevMode ? [void 0, { debugName: "pInputMask" }] : /* istanbul ignore next */ []);
83
+ slotChar = input("_", ...ngDevMode ? [{ debugName: "slotChar" }] : /* istanbul ignore next */ []);
84
+ autoClear = input(true, {
85
+ ...ngDevMode ? { debugName: "autoClear" } : /* istanbul ignore next */ {},
86
+ transform: booleanAttribute
87
+ });
88
+ characterPattern = input("[A-Za-z]", ...ngDevMode ? [{ debugName: "characterPattern" }] : /* istanbul ignore next */ []);
89
+ keepBuffer = input(false, {
90
+ ...ngDevMode ? { debugName: "keepBuffer" } : /* istanbul ignore next */ {},
91
+ transform: booleanAttribute
92
+ });
93
+ keepCharPositions = input(false, {
94
+ ...ngDevMode ? { debugName: "keepCharPositions" } : /* istanbul ignore next */ {},
95
+ transform: booleanAttribute
96
+ });
97
+ onCompleteEvent = output({ alias: "onComplete" });
98
+ onUnmaskedChange = output();
99
+ defs;
100
+ tests;
101
+ partialPosition;
102
+ firstNonMaskPos;
103
+ lastRequiredNonMaskPos;
104
+ len;
105
+ oldVal;
106
+ buffer;
107
+ defaultBuffer;
108
+ focusText;
109
+ caretTimeoutId;
110
+ androidChrome = true;
111
+ focused;
112
+ _inputElement = null;
113
+ _listeners = [];
114
+ isInputVisible(input) {
115
+ const style = getComputedStyle(input);
116
+ return style.display !== "none" && style.visibility !== "hidden";
117
+ }
118
+ get inputElement() {
119
+ if (!this._inputElement) {
120
+ const host = this.el.nativeElement;
121
+ this._inputElement = host.querySelector("[data-p-maskable]") || Array.from(host.querySelectorAll("input")).find((input) => this.isInputVisible(input)) || host;
122
+ }
123
+ return this._inputElement;
124
+ }
125
+ constructor() {
126
+ super();
127
+ effect(() => {
128
+ const pt = this.pInputMaskPT();
129
+ if (pt) this.directivePT.set(pt);
130
+ });
131
+ effect(() => {
132
+ if (this.pInputMaskUnstyled()) this.directiveUnstyled.set(this.pInputMaskUnstyled());
133
+ });
134
+ effect(() => {
135
+ if (this.pInputMask()) untracked(() => this.initMask());
136
+ });
137
+ if (isPlatformBrowser(this.platformId)) {
138
+ const ua = navigator.userAgent;
139
+ this.androidChrome = /chrome/i.test(ua) && /android/i.test(ua);
140
+ }
141
+ }
142
+ onAfterViewInit() {
143
+ if (isPlatformBrowser(this.platformId) && this.inputElement) [
144
+ ["focus", (e) => this.onInputFocus(e)],
145
+ ["blur", (e) => this.onInputBlur(e)],
146
+ ["keydown", (e) => this.onInputKeydown(e)],
147
+ ["keypress", (e) => this.onKeyPress(e)],
148
+ ["input", (e) => this.onInputChange(e)],
149
+ ["paste", (e) => this.onPaste(e)]
150
+ ].forEach(([event, handler]) => {
151
+ this.inputElement.addEventListener(event, handler);
152
+ this._listeners.push(() => this.inputElement.removeEventListener(event, handler));
153
+ });
154
+ }
155
+ onDestroy() {
156
+ this._listeners.forEach((unlisten) => unlisten());
157
+ }
158
+ initMask() {
159
+ const maskValue = this.pInputMask();
160
+ if (!maskValue) return;
161
+ this.tests = [];
162
+ this.partialPosition = maskValue.length;
163
+ this.len = maskValue.length;
164
+ this.firstNonMaskPos = null;
165
+ this.defs = {
166
+ "9": "[0-9]",
167
+ a: this.characterPattern(),
168
+ "*": `${this.characterPattern()}|[0-9]`
169
+ };
170
+ const maskTokens = maskValue.split("");
171
+ for (let i = 0; i < maskTokens.length; i++) {
172
+ const c = maskTokens[i];
173
+ if (c == "?") {
174
+ this.len--;
175
+ this.partialPosition = i;
176
+ } else if (this.defs[c]) {
177
+ this.tests.push(new RegExp(this.defs[c]));
178
+ if (this.firstNonMaskPos === null) this.firstNonMaskPos = this.tests.length - 1;
179
+ if (i < this.partialPosition) this.lastRequiredNonMaskPos = this.tests.length - 1;
180
+ } else this.tests.push(null);
181
+ }
182
+ this.buffer = [];
183
+ for (let i = 0; i < maskTokens.length; i++) {
184
+ const c = maskTokens[i];
185
+ if (c != "?") {
186
+ if (this.defs[c]) this.buffer.push(this.getPlaceholder(i));
187
+ else this.buffer.push(c);
188
+ }
189
+ }
190
+ this.defaultBuffer = this.buffer.join("");
191
+ }
192
+ onInputFocus(event) {
193
+ if (this.inputElement.readOnly || !this.pInputMask()) return;
194
+ this.focused = true;
195
+ this.focusText = this.inputElement.value;
196
+ clearTimeout(this.caretTimeoutId);
197
+ const pos = this.checkVal();
198
+ this.caretTimeoutId = setTimeout(() => {
199
+ if (this.inputElement !== this.inputElement.ownerDocument.activeElement) return;
200
+ this.writeBuffer();
201
+ if (pos == this.pInputMask()?.replace("?", "").length) this.caret(0, pos);
202
+ else this.caret(pos);
203
+ }, 10);
204
+ }
205
+ onInputBlur(e) {
206
+ if (!this.pInputMask()) return;
207
+ this.focused = false;
208
+ if (!this.keepBuffer()) {
209
+ const valueBefore = this.inputElement.value;
210
+ this.checkVal();
211
+ if (this.inputElement.value !== valueBefore) this.dispatchInputEvent();
212
+ }
213
+ }
214
+ onInputKeydown(e) {
215
+ if (this.inputElement.readOnly || !this.pInputMask()) return;
216
+ const k = e.which || e.keyCode;
217
+ let pos;
218
+ let begin;
219
+ let end;
220
+ let iPhone = false;
221
+ if (isPlatformBrowser(this.platformId)) iPhone = /iphone/i.test(getUserAgent());
222
+ this.oldVal = this.inputElement.value;
223
+ if (k === 8 || k === 46 || iPhone && k === 127) {
224
+ pos = this.caret();
225
+ begin = pos.begin;
226
+ end = pos.end;
227
+ if (end - begin === 0) {
228
+ begin = k !== 46 ? this.seekPrev(begin) : end = this.seekNext(begin - 1);
229
+ end = k === 46 ? this.seekNext(end) : end;
230
+ }
231
+ this.clearBuffer(begin, end);
232
+ if (this.keepBuffer()) this.shiftL(begin, end - 2);
233
+ else this.shiftL(begin, end - 1);
234
+ this.dispatchInputEvent();
235
+ e.preventDefault();
236
+ } else if (k === 13) this.onInputBlur(e);
237
+ else if (k === 27) {
238
+ this.inputElement.value = this.focusText;
239
+ this.caret(0, this.checkVal());
240
+ e.preventDefault();
241
+ }
242
+ }
243
+ onKeyPress(e) {
244
+ if (this.inputElement.readOnly || !this.pInputMask()) return;
245
+ const k = e.which || e.keyCode;
246
+ const pos = this.caret();
247
+ let p;
248
+ let c;
249
+ let next;
250
+ let completed;
251
+ if (e.ctrlKey || e.altKey || e.metaKey || k < 32 || k > 34 && k < 41) return;
252
+ else if (k && k !== 13) {
253
+ if (pos.end - pos.begin !== 0) {
254
+ this.clearBuffer(pos.begin, pos.end);
255
+ this.shiftL(pos.begin, pos.end - 1);
256
+ }
257
+ p = this.seekNext(pos.begin - 1);
258
+ if (p < this.len) {
259
+ c = String.fromCharCode(k);
260
+ if (this.tests[p]?.test(c)) {
261
+ this.shiftR(p);
262
+ this.buffer[p] = c;
263
+ this.writeBuffer();
264
+ this.dispatchInputEvent();
265
+ next = this.seekNext(p);
266
+ if (isClient() && /android/i.test(getUserAgent())) {
267
+ const proxy = () => {
268
+ this.caret(next);
269
+ };
270
+ setTimeout(proxy, 0);
271
+ } else this.caret(next);
272
+ if (pos.begin <= this.lastRequiredNonMaskPos) completed = this.isCompleted();
273
+ }
274
+ }
275
+ e.preventDefault();
276
+ }
277
+ if (completed) this.onCompleteEvent.emit();
278
+ }
279
+ onInputChange(event) {
280
+ if (!this.pInputMask()) return;
281
+ if (!event.isTrusted) return;
282
+ if (this.androidChrome) this.handleAndroidInput(event);
283
+ else this.handleInputChange(event);
284
+ }
285
+ onPaste(event) {
286
+ if (!this.pInputMask()) return;
287
+ this.handleInputChange(event);
288
+ }
289
+ caret(first, last) {
290
+ let range;
291
+ let begin;
292
+ let end;
293
+ if (!this.inputElement.offsetParent || this.inputElement !== this.inputElement.ownerDocument.activeElement) return;
294
+ if (typeof first == "number") {
295
+ begin = first;
296
+ end = typeof last === "number" ? last : begin;
297
+ if (typeof this.inputElement.setSelectionRange === "function") this.inputElement.setSelectionRange(begin, end);
298
+ else if (this.inputElement["createTextRange"]) {
299
+ range = this.inputElement["createTextRange"]();
300
+ range.collapse(true);
301
+ range.moveEnd("character", end);
302
+ range.moveStart("character", begin);
303
+ range.select();
304
+ }
305
+ } else {
306
+ if (typeof this.inputElement.setSelectionRange === "function") {
307
+ begin = this.inputElement.selectionStart;
308
+ end = this.inputElement.selectionEnd;
309
+ } else if (this.document["selection"] && this.document["selection"].createRange) {
310
+ range = this.document["selection"].createRange();
311
+ begin = 0 - range.duplicate().moveStart("character", -1e5);
312
+ end = begin + range.text.length;
313
+ }
314
+ return {
315
+ begin,
316
+ end
317
+ };
318
+ }
319
+ }
320
+ isCompleted() {
321
+ for (let i = this.firstNonMaskPos; i <= this.lastRequiredNonMaskPos; i++) if (this.tests[i] && this.buffer[i] === this.getPlaceholder(i)) return false;
322
+ return true;
323
+ }
324
+ getPlaceholder(i) {
325
+ const slotCharValue = this.slotChar();
326
+ if (i < slotCharValue.length) return slotCharValue.charAt(i);
327
+ return slotCharValue.charAt(0);
328
+ }
329
+ seekNext(pos) {
330
+ while (++pos < this.len && !this.tests[pos]);
331
+ return pos;
332
+ }
333
+ seekPrev(pos) {
334
+ while (--pos >= 0 && !this.tests[pos]);
335
+ return pos;
336
+ }
337
+ shiftL(begin, end) {
338
+ let i, j;
339
+ if (begin < 0) return;
340
+ for (i = begin, j = this.seekNext(end); i < this.len; i++) if (this.tests[i]) {
341
+ if (this.keepCharPositions() && this.crossesLiteralBoundary(i, j)) break;
342
+ if (j < this.len && this.tests[i].test(this.buffer[j])) {
343
+ this.buffer[i] = this.buffer[j];
344
+ this.buffer[j] = this.getPlaceholder(j);
345
+ } else break;
346
+ j = this.seekNext(j);
347
+ }
348
+ this.writeBuffer();
349
+ this.caret(Math.max(this.firstNonMaskPos, begin));
350
+ }
351
+ crossesLiteralBoundary(i, j) {
352
+ for (let k = i + 1; k < j && k < this.len; k++) if (!this.tests[k]) return true;
353
+ return false;
354
+ }
355
+ shiftR(pos) {
356
+ let i, c, j, t;
357
+ for (i = pos, c = this.getPlaceholder(pos); i < this.len; i++) if (this.tests[i]) {
358
+ j = this.seekNext(i);
359
+ t = this.buffer[i];
360
+ this.buffer[i] = c;
361
+ if (j < this.len && this.tests[j]?.test(t)) c = t;
362
+ else break;
363
+ }
364
+ }
365
+ handleAndroidInput(e) {
366
+ const curVal = this.inputElement.value;
367
+ const pos = this.caret();
368
+ if (this.oldVal && this.oldVal.length && this.oldVal.length > curVal.length) {
369
+ this.checkVal(true);
370
+ while (pos.begin > 0 && !this.tests[pos.begin - 1]) pos.begin--;
371
+ if (pos.begin === 0) while (pos.begin < this.firstNonMaskPos && !this.tests[pos.begin]) pos.begin++;
372
+ setTimeout(() => {
373
+ this.caret(pos.begin, pos.begin);
374
+ this.dispatchInputEvent();
375
+ if (this.isCompleted()) this.onCompleteEvent.emit();
376
+ }, 0);
377
+ } else {
378
+ this.checkVal(true);
379
+ while (pos.begin < this.len && !this.tests[pos.begin]) pos.begin++;
380
+ setTimeout(() => {
381
+ this.caret(pos.begin, pos.begin);
382
+ this.dispatchInputEvent();
383
+ if (this.isCompleted()) this.onCompleteEvent.emit();
384
+ }, 0);
385
+ }
386
+ }
387
+ handleInputChange(event) {
388
+ if (this.inputElement.readOnly) return;
389
+ setTimeout(() => {
390
+ const pos = this.checkVal(true);
391
+ this.caret(pos);
392
+ this.dispatchInputEvent();
393
+ if (this.isCompleted()) this.onCompleteEvent.emit();
394
+ }, 0);
395
+ }
396
+ clearBuffer(start, end) {
397
+ if (!this.keepBuffer()) {
398
+ let i;
399
+ for (i = start; i < end && i < this.len; i++) if (this.tests[i]) this.buffer[i] = this.getPlaceholder(i);
400
+ }
401
+ }
402
+ writeBuffer() {
403
+ if (this.buffer && this.inputElement) this.inputElement.value = this.buffer.join("");
404
+ }
405
+ dispatchInputEvent() {
406
+ const event = new Event("input", {
407
+ bubbles: true,
408
+ cancelable: true
409
+ });
410
+ this.inputElement.dispatchEvent(event);
411
+ this.onUnmaskedChange.emit(this.getUnmaskedValue());
412
+ }
413
+ checkVal(allow) {
414
+ const test = this.inputElement.value;
415
+ let lastMatch = -1;
416
+ let i;
417
+ let c;
418
+ let pos;
419
+ for (i = 0, pos = 0; i < this.len; i++) if (this.tests[i]) {
420
+ this.buffer[i] = this.getPlaceholder(i);
421
+ while (pos++ < test.length) {
422
+ c = test.charAt(pos - 1);
423
+ if (this.tests[i].test(c)) {
424
+ if (!this.keepBuffer()) this.buffer[i] = c;
425
+ lastMatch = i;
426
+ break;
427
+ }
428
+ }
429
+ if (pos > test.length) {
430
+ this.clearBuffer(i + 1, this.len);
431
+ break;
432
+ }
433
+ } else {
434
+ if (this.buffer[i] === test.charAt(pos)) pos++;
435
+ if (i < this.partialPosition) lastMatch = i;
436
+ }
437
+ if (allow) this.writeBuffer();
438
+ else if (lastMatch + 1 < this.partialPosition) {
439
+ if (this.autoClear() || this.buffer.join("") === this.defaultBuffer) {
440
+ if (this.inputElement.value) this.inputElement.value = "";
441
+ this.clearBuffer(0, this.len);
442
+ } else this.writeBuffer();
443
+ } else {
444
+ this.writeBuffer();
445
+ this.inputElement.value = this.inputElement.value.substring(0, lastMatch + 1);
446
+ }
447
+ return this.partialPosition ? i : this.firstNonMaskPos;
448
+ }
449
+ getUnmaskedValue() {
450
+ const unmaskedBuffer = [];
451
+ for (let i = 0; i < this.buffer.length; i++) {
452
+ const c = this.buffer[i];
453
+ if (this.tests[i] && c != this.getPlaceholder(i)) unmaskedBuffer.push(c);
454
+ }
455
+ return unmaskedBuffer.join("");
456
+ }
457
+ static ɵfac = i0.ɵɵngDeclareFactory({
458
+ minVersion: "12.0.0",
459
+ version: "22.2.0",
460
+ ngImport: i0,
461
+ type: InputMaskDirective,
462
+ deps: [],
463
+ target: i0.ɵɵFactoryTarget.Directive
464
+ });
465
+ static ɵdir = i0.ɵɵngDeclareDirective({
466
+ minVersion: "17.1.0",
467
+ version: "22.2.0",
468
+ type: InputMaskDirective,
469
+ isStandalone: true,
470
+ selector: "[pInputMask]",
471
+ inputs: {
472
+ pInputMaskPT: {
473
+ classPropertyName: "pInputMaskPT",
474
+ publicName: "pInputMaskPT",
475
+ isSignal: true,
476
+ isRequired: false,
477
+ transformFunction: null
478
+ },
479
+ pInputMaskUnstyled: {
480
+ classPropertyName: "pInputMaskUnstyled",
481
+ publicName: "pInputMaskUnstyled",
482
+ isSignal: true,
483
+ isRequired: false,
484
+ transformFunction: null
485
+ },
486
+ pInputMask: {
487
+ classPropertyName: "pInputMask",
488
+ publicName: "pInputMask",
489
+ isSignal: true,
490
+ isRequired: false,
491
+ transformFunction: null
492
+ },
493
+ slotChar: {
494
+ classPropertyName: "slotChar",
495
+ publicName: "slotChar",
496
+ isSignal: true,
497
+ isRequired: false,
498
+ transformFunction: null
499
+ },
500
+ autoClear: {
501
+ classPropertyName: "autoClear",
502
+ publicName: "autoClear",
503
+ isSignal: true,
504
+ isRequired: false,
505
+ transformFunction: null
506
+ },
507
+ characterPattern: {
508
+ classPropertyName: "characterPattern",
509
+ publicName: "characterPattern",
510
+ isSignal: true,
511
+ isRequired: false,
512
+ transformFunction: null
513
+ },
514
+ keepBuffer: {
515
+ classPropertyName: "keepBuffer",
516
+ publicName: "keepBuffer",
517
+ isSignal: true,
518
+ isRequired: false,
519
+ transformFunction: null
520
+ },
521
+ keepCharPositions: {
522
+ classPropertyName: "keepCharPositions",
523
+ publicName: "keepCharPositions",
524
+ isSignal: true,
525
+ isRequired: false,
526
+ transformFunction: null
527
+ }
528
+ },
529
+ outputs: {
530
+ onCompleteEvent: "onComplete",
531
+ onUnmaskedChange: "onUnmaskedChange"
532
+ },
533
+ host: { properties: { "class.p-inputmask": "!$unstyled()" } },
534
+ providers: [
535
+ InputMaskStyle,
536
+ {
537
+ provide: INPUTMASK_DIRECTIVE_INSTANCE,
538
+ useExisting: InputMaskDirective
539
+ },
540
+ {
541
+ provide: PARENT_INSTANCE,
542
+ useExisting: InputMaskDirective
543
+ }
544
+ ],
545
+ usesInheritance: true,
546
+ ngImport: i0
547
+ });
548
+ };
549
+ i0.ɵɵngDeclareClassMetadata({
550
+ minVersion: "12.0.0",
551
+ version: "22.2.0",
552
+ ngImport: i0,
553
+ type: InputMaskDirective,
554
+ decorators: [{
555
+ type: Directive,
556
+ args: [{
557
+ selector: "[pInputMask]",
558
+ standalone: true,
559
+ providers: [
560
+ InputMaskStyle,
561
+ {
562
+ provide: INPUTMASK_DIRECTIVE_INSTANCE,
563
+ useExisting: InputMaskDirective
564
+ },
565
+ {
566
+ provide: PARENT_INSTANCE,
567
+ useExisting: InputMaskDirective
568
+ }
569
+ ],
570
+ host: { "[class.p-inputmask]": "!$unstyled()" }
571
+ }]
572
+ }],
573
+ ctorParameters: () => [],
574
+ propDecorators: {
575
+ pInputMaskPT: [{
576
+ type: i0.Input,
577
+ args: [{
578
+ isSignal: true,
579
+ alias: "pInputMaskPT",
580
+ required: false
581
+ }]
582
+ }],
583
+ pInputMaskUnstyled: [{
584
+ type: i0.Input,
585
+ args: [{
586
+ isSignal: true,
587
+ alias: "pInputMaskUnstyled",
588
+ required: false
589
+ }]
590
+ }],
591
+ pInputMask: [{
592
+ type: i0.Input,
593
+ args: [{
594
+ isSignal: true,
595
+ alias: "pInputMask",
596
+ required: false
597
+ }]
598
+ }],
599
+ slotChar: [{
600
+ type: i0.Input,
601
+ args: [{
602
+ isSignal: true,
603
+ alias: "slotChar",
604
+ required: false
605
+ }]
606
+ }],
607
+ autoClear: [{
608
+ type: i0.Input,
609
+ args: [{
610
+ isSignal: true,
611
+ alias: "autoClear",
612
+ required: false
613
+ }]
614
+ }],
615
+ characterPattern: [{
616
+ type: i0.Input,
617
+ args: [{
618
+ isSignal: true,
619
+ alias: "characterPattern",
620
+ required: false
621
+ }]
622
+ }],
623
+ keepBuffer: [{
624
+ type: i0.Input,
625
+ args: [{
626
+ isSignal: true,
627
+ alias: "keepBuffer",
628
+ required: false
629
+ }]
630
+ }],
631
+ keepCharPositions: [{
632
+ type: i0.Input,
633
+ args: [{
634
+ isSignal: true,
635
+ alias: "keepCharPositions",
636
+ required: false
637
+ }]
638
+ }],
639
+ onCompleteEvent: [{
640
+ type: i0.Output,
641
+ args: ["onComplete"]
642
+ }],
643
+ onUnmaskedChange: [{
644
+ type: i0.Output,
645
+ args: ["onUnmaskedChange"]
646
+ }]
647
+ }
648
+ });
698
649
  const INPUTMASK_VALUE_ACCESSOR = {
699
- provide: NG_VALUE_ACCESSOR,
700
- useExisting: forwardRef(() => InputMask),
701
- multi: true
650
+ provide: NG_VALUE_ACCESSOR,
651
+ useExisting: forwardRef(() => InputMask),
652
+ multi: true
702
653
  };
703
- /**
704
- * InputMask component is used to enter input in a certain format such as numeric, date, currency, email and phone.
705
- * @group Components
706
- */
707
- class InputMask extends BaseInput {
708
- componentName = 'InputMask';
709
- _componentStyle = inject(InputMaskStyle);
710
- $pcInputMask = inject(INPUTMASK_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;
711
- bindDirectiveInstance = inject(Bind, { self: true });
712
- ptmParams = computed(() => ({ context: { filled: this.$variant() === 'filled' } }), /* @ts-ignore */
713
- ...(ngDevMode ? [{ debugName: "ptmParams" }] : /* istanbul ignore next */ []));
714
- requiredAttr = computed(() => (this.required() ? '' : undefined), /* @ts-ignore */
715
- ...(ngDevMode ? [{ debugName: "requiredAttr" }] : /* istanbul ignore next */ []));
716
- readonlyAttr = computed(() => (this.readonly() ? '' : undefined), /* @ts-ignore */
717
- ...(ngDevMode ? [{ debugName: "readonlyAttr" }] : /* istanbul ignore next */ []));
718
- disabledAttr = computed(() => (this.$disabled() ? '' : undefined), /* @ts-ignore */
719
- ...(ngDevMode ? [{ debugName: "disabledAttr" }] : /* istanbul ignore next */ []));
720
- showClearIcon = computed(() => this.value() != null && this.$filled() && this.showClear() && !this.$disabled(), /* @ts-ignore */
721
- ...(ngDevMode ? [{ debugName: "showClearIcon" }] : /* istanbul ignore next */ []));
722
- /**
723
- * HTML5 input type.
724
- * @group Props
725
- */
726
- type = input('text', /* @ts-ignore */
727
- ...(ngDevMode ? [{ debugName: "type" }] : /* istanbul ignore next */ []));
728
- /**
729
- * Placeholder character in mask, default is underscore.
730
- * @group Props
731
- */
732
- slotChar = input('_', /* @ts-ignore */
733
- ...(ngDevMode ? [{ debugName: "slotChar" }] : /* istanbul ignore next */ []));
734
- /**
735
- * Clears the incomplete value on blur.
736
- * @group Props
737
- */
738
- autoClear = input(true, { ...(ngDevMode ? { debugName: "autoClear" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
739
- /**
740
- * When enabled, a clear icon is displayed to clear the value.
741
- * @group Props
742
- */
743
- showClear = input(false, { ...(ngDevMode ? { debugName: "showClear" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
744
- /**
745
- * Inline style of the input field.
746
- * @group Props
747
- */
748
- style = input(/* @ts-ignore */
749
- ...(ngDevMode ? [undefined, { debugName: "style" }] : /* istanbul ignore next */ []));
750
- /**
751
- * Identifier of the focus input to match a label defined for the component.
752
- * @group Props
753
- */
754
- inputId = input(/* @ts-ignore */
755
- ...(ngDevMode ? [undefined, { debugName: "inputId" }] : /* istanbul ignore next */ []));
756
- /**
757
- * Style class of the input field.
758
- * @group Props
759
- */
760
- styleClass = input(/* @ts-ignore */
761
- ...(ngDevMode ? [undefined, { debugName: "styleClass" }] : /* istanbul ignore next */ []));
762
- /**
763
- * Advisory information to display on input.
764
- * @group Props
765
- */
766
- placeholder = input(/* @ts-ignore */
767
- ...(ngDevMode ? [undefined, { debugName: "placeholder" }] : /* istanbul ignore next */ []));
768
- /**
769
- * Specifies tab order of the element.
770
- * @group Props
771
- */
772
- tabindex = input(/* @ts-ignore */
773
- ...(ngDevMode ? [undefined, { debugName: "tabindex" }] : /* istanbul ignore next */ []));
774
- /**
775
- * Title text of the input text.
776
- * @group Props
777
- */
778
- title = input(/* @ts-ignore */
779
- ...(ngDevMode ? [undefined, { debugName: "title" }] : /* istanbul ignore next */ []));
780
- /**
781
- * Used to define a string that labels the input element.
782
- * @group Props
783
- */
784
- ariaLabel = input(/* @ts-ignore */
785
- ...(ngDevMode ? [undefined, { debugName: "ariaLabel" }] : /* istanbul ignore next */ []));
786
- /**
787
- * Establishes relationships between the component and label(s) where its value should be one or more element IDs.
788
- * @group Props
789
- */
790
- ariaLabelledBy = input(/* @ts-ignore */
791
- ...(ngDevMode ? [undefined, { debugName: "ariaLabelledBy" }] : /* istanbul ignore next */ []));
792
- /**
793
- * Used to indicate that user input is required on an element before a form can be submitted.
794
- * @group Props
795
- */
796
- ariaRequired = input(undefined, { ...(ngDevMode ? { debugName: "ariaRequired" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
797
- /**
798
- * When present, it specifies that an input field is read-only.
799
- * @group Props
800
- */
801
- readonly = input(false, { ...(ngDevMode ? { debugName: "readonly" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
802
- /**
803
- * Defines if ngModel sets the raw unmasked value to bound value or the formatted mask value.
804
- * @group Props
805
- */
806
- unmask = input(false, { ...(ngDevMode ? { debugName: "unmask" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
807
- /**
808
- * Regex pattern for alpha characters
809
- * @group Props
810
- */
811
- characterPattern = input('[A-Za-z]', /* @ts-ignore */
812
- ...(ngDevMode ? [{ debugName: "characterPattern" }] : /* istanbul ignore next */ []));
813
- /**
814
- * When present, the input gets a focus automatically on load.
815
- * @group Props
816
- */
817
- autofocus = input(false, { ...(ngDevMode ? { debugName: "autofocus" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
818
- /**
819
- * Used to define a string that autocomplete attribute the current element.
820
- * @group Props
821
- */
822
- autocomplete = input(/* @ts-ignore */
823
- ...(ngDevMode ? [undefined, { debugName: "autocomplete" }] : /* istanbul ignore next */ []));
824
- /**
825
- * When present, it specifies that whether to clean buffer value from model.
826
- * @group Props
827
- */
828
- keepBuffer = input(false, { ...(ngDevMode ? { debugName: "keepBuffer" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
829
- /**
830
- * When enabled, deleting a character does not shift the following characters across literal
831
- * separators (e.g. the "." in 99.99.9999), keeping each mask section independent.
832
- * @group Props
833
- */
834
- keepCharPositions = input(false, { ...(ngDevMode ? { debugName: "keepCharPositions" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
835
- /**
836
- * Mask pattern.
837
- * @group Props
838
- */
839
- mask = input(/* @ts-ignore */
840
- ...(ngDevMode ? [undefined, { debugName: "mask" }] : /* istanbul ignore next */ []));
841
- /**
842
- * Callback to invoke when the mask is completed.
843
- * @group Emits
844
- */
845
- onComplete = output();
846
- /**
847
- * Callback to invoke when the component receives focus.
848
- * @param {Event} event - Browser event.
849
- * @group Emits
850
- */
851
- onFocus = output();
852
- /**
853
- * Callback to invoke when the component loses focus.
854
- * @param {Event} event - Browser event.
855
- * @group Emits
856
- */
857
- onBlur = output();
858
- /**
859
- * Callback to invoke on input.
860
- * @param {Event} event - Browser event.
861
- * @group Emits
862
- */
863
- onInput = output();
864
- /**
865
- * Callback to invoke on input key press.
866
- * @param {Event} event - Browser event.
867
- * @group Emits
868
- */
869
- onKeydown = output();
870
- /**
871
- * Callback to invoke when input field is cleared.
872
- * @group Emits
873
- */
874
- onClear = output();
875
- /**
876
- * Custom clear icon template.
877
- * @group Templates
878
- */
879
- clearIconTemplate = contentChild('clearicon', { ...(ngDevMode ? { debugName: "clearIconTemplate" } : /* istanbul ignore next */ {}), descendants: false });
880
- inputViewChild = viewChild.required('input', /* @ts-ignore */
881
- ...(ngDevMode ? [{ debugName: "inputViewChild" }] : /* istanbul ignore next */ []));
882
- value = signal(null, /* @ts-ignore */
883
- ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
884
- defs;
885
- tests;
886
- partialPosition;
887
- firstNonMaskPos;
888
- lastRequiredNonMaskPos;
889
- len;
890
- oldVal;
891
- buffer;
892
- defaultBuffer;
893
- focusText;
894
- caretTimeoutId;
895
- androidChrome = true;
896
- focused;
897
- constructor() {
898
- super();
899
- effect(() => {
900
- const maskValue = this.mask();
901
- if (maskValue !== undefined) {
902
- untracked(() => {
903
- this.initMask();
904
- this.writeControlValue(this.value(), this.writeModelValue.bind(this));
905
- });
906
- }
907
- });
908
- }
909
- onAfterViewChecked() {
910
- this.bindDirectiveInstance.setAttrs(this.ptms(['root', 'host']));
911
- }
912
- onInit() {
913
- if (isPlatformBrowser(this.platformId)) {
914
- let ua = navigator.userAgent;
915
- this.androidChrome = /chrome/i.test(ua) && /android/i.test(ua);
916
- }
917
- this.initMask();
918
- }
919
- initMask() {
920
- const maskValue = this.mask();
921
- if (!maskValue) {
922
- return;
923
- }
924
- this.tests = [];
925
- this.partialPosition = maskValue.length;
926
- this.len = maskValue.length;
927
- this.firstNonMaskPos = null;
928
- this.defs = {
929
- '9': '[0-9]',
930
- a: this.characterPattern(),
931
- '*': `${this.characterPattern()}|[0-9]`
932
- };
933
- let maskTokens = maskValue.split('');
934
- for (let i = 0; i < maskTokens.length; i++) {
935
- let c = maskTokens[i];
936
- if (c == '?') {
937
- this.len--;
938
- this.partialPosition = i;
939
- }
940
- else if (this.defs[c]) {
941
- this.tests.push(new RegExp(this.defs[c]));
942
- if (this.firstNonMaskPos === null) {
943
- this.firstNonMaskPos = this.tests.length - 1;
944
- }
945
- if (i < this.partialPosition) {
946
- this.lastRequiredNonMaskPos = this.tests.length - 1;
947
- }
948
- }
949
- else {
950
- this.tests.push(null);
951
- }
952
- }
953
- this.buffer = [];
954
- for (let i = 0; i < maskTokens.length; i++) {
955
- let c = maskTokens[i];
956
- if (c != '?') {
957
- if (this.defs[c])
958
- this.buffer.push(this.getPlaceholder(i));
959
- else
960
- this.buffer.push(c);
961
- }
962
- }
963
- this.defaultBuffer = this.buffer.join('');
964
- }
965
- caret(first, last) {
966
- let range, begin, end;
967
- const inputEl = this.inputViewChild()?.nativeElement;
968
- if (!inputEl?.offsetParent || inputEl !== inputEl.ownerDocument.activeElement) {
969
- return;
970
- }
971
- if (typeof first == 'number') {
972
- begin = first;
973
- end = typeof last === 'number' ? last : begin;
974
- if (inputEl.setSelectionRange) {
975
- inputEl.setSelectionRange(begin, end);
976
- }
977
- else if (inputEl['createTextRange']) {
978
- range = inputEl['createTextRange']();
979
- range.collapse(true);
980
- range.moveEnd('character', end);
981
- range.moveStart('character', begin);
982
- range.select();
983
- }
984
- }
985
- else {
986
- if (inputEl.setSelectionRange) {
987
- begin = inputEl.selectionStart;
988
- end = inputEl.selectionEnd;
989
- }
990
- else if (this.document && this.document['selection'].createRange) {
991
- range = this.document.createRange();
992
- begin = 0 - range.duplicate().moveStart('character', -100000);
993
- end = begin + range.text.length;
994
- }
995
- return { begin: begin, end: end };
996
- }
997
- }
998
- isCompleted() {
999
- for (let i = this.firstNonMaskPos; i <= this.lastRequiredNonMaskPos; i++) {
1000
- if (this.tests[i] && this.buffer[i] === this.getPlaceholder(i)) {
1001
- return false;
1002
- }
1003
- }
1004
- return true;
1005
- }
1006
- getPlaceholder(i) {
1007
- const slotCharValue = this.slotChar();
1008
- if (i < slotCharValue.length) {
1009
- return slotCharValue.charAt(i);
1010
- }
1011
- return slotCharValue.charAt(0);
1012
- }
1013
- seekNext(pos) {
1014
- while (++pos < this.len && !this.tests[pos])
1015
- ;
1016
- return pos;
1017
- }
1018
- seekPrev(pos) {
1019
- while (--pos >= 0 && !this.tests[pos])
1020
- ;
1021
- return pos;
1022
- }
1023
- shiftL(begin, end) {
1024
- let i, j;
1025
- if (begin < 0) {
1026
- return;
1027
- }
1028
- for (i = begin, j = this.seekNext(end); i < this.len; i++) {
1029
- if (this.tests[i]) {
1030
- if (this.keepCharPositions() && this.crossesLiteralBoundary(i, j)) {
1031
- break;
1032
- }
1033
- if (j < this.len && this.tests[i].test(this.buffer[j])) {
1034
- this.buffer[i] = this.buffer[j];
1035
- this.buffer[j] = this.getPlaceholder(j);
1036
- }
1037
- else {
1038
- break;
1039
- }
1040
- j = this.seekNext(j);
1041
- }
1042
- }
1043
- this.writeBuffer();
1044
- this.caret(Math.max(this.firstNonMaskPos, begin));
1045
- }
1046
- crossesLiteralBoundary(i, j) {
1047
- for (let k = i + 1; k < j && k < this.len; k++) {
1048
- if (!this.tests[k]) {
1049
- return true;
1050
- }
1051
- }
1052
- return false;
1053
- }
1054
- shiftR(pos) {
1055
- let i, c, j, t;
1056
- for (i = pos, c = this.getPlaceholder(pos); i < this.len; i++) {
1057
- if (this.tests[i]) {
1058
- j = this.seekNext(i);
1059
- t = this.buffer[i];
1060
- this.buffer[i] = c;
1061
- if (j < this.len && this.tests[j]?.test(t)) {
1062
- c = t;
1063
- }
1064
- else {
1065
- break;
1066
- }
1067
- }
1068
- }
1069
- }
1070
- handleAndroidInput(e) {
1071
- let curVal = this.inputViewChild()?.nativeElement.value;
1072
- let pos = this.caret();
1073
- if (this.oldVal && this.oldVal.length && this.oldVal.length > curVal.length) {
1074
- // a deletion or backspace happened
1075
- this.checkVal(true);
1076
- while (pos.begin > 0 && !this.tests[pos.begin - 1])
1077
- pos.begin--;
1078
- if (pos.begin === 0) {
1079
- while (pos.begin < this.firstNonMaskPos && !this.tests[pos.begin])
1080
- pos.begin++;
1081
- }
1082
- setTimeout(() => {
1083
- this.caret(pos.begin, pos.begin);
1084
- this.updateModel(e);
1085
- if (this.isCompleted()) {
1086
- this.onComplete.emit();
1087
- }
1088
- }, 0);
1089
- }
1090
- else {
1091
- this.checkVal(true);
1092
- while (pos.begin < this.len && !this.tests[pos.begin])
1093
- pos.begin++;
1094
- setTimeout(() => {
1095
- this.caret(pos.begin, pos.begin);
1096
- this.updateModel(e);
1097
- if (this.isCompleted()) {
1098
- this.onComplete.emit();
1099
- }
1100
- }, 0);
1101
- }
1102
- }
1103
- onInputBlur(e) {
1104
- this.focused = false;
1105
- this.onModelTouched();
1106
- if (!this.keepBuffer()) {
1107
- this.checkVal();
1108
- }
1109
- this.onBlur.emit(e);
1110
- if (this.modelValue() != this.focusText || this.modelValue() != this.value()) {
1111
- this.updateModel(e);
1112
- let event = this.document.createEvent('HTMLEvents');
1113
- event.initEvent('change', true, false);
1114
- this.inputViewChild()?.nativeElement.dispatchEvent(event);
1115
- }
1116
- }
1117
- onInputKeydown(e) {
1118
- if (this.readonly()) {
1119
- return;
1120
- }
1121
- let k = e.which || e.keyCode, pos, begin, end;
1122
- let iPhone;
1123
- if (isPlatformBrowser(this.platformId)) {
1124
- iPhone = /iphone/i.test(getUserAgent());
1125
- }
1126
- this.oldVal = this.inputViewChild()?.nativeElement.value;
1127
- this.onKeydown.emit(e);
1128
- //backspace, delete, and escape get special treatment
1129
- if (k === 8 || k === 46 || (iPhone && k === 127)) {
1130
- pos = this.caret();
1131
- begin = pos.begin;
1132
- end = pos.end;
1133
- if (end - begin === 0) {
1134
- begin = k !== 46 ? this.seekPrev(begin) : (end = this.seekNext(begin - 1));
1135
- end = k === 46 ? this.seekNext(end) : end;
1136
- }
1137
- this.clearBuffer(begin, end);
1138
- if (this.keepBuffer()) {
1139
- this.shiftL(begin, end - 2);
1140
- }
1141
- else {
1142
- this.shiftL(begin, end - 1);
1143
- }
1144
- this.updateModel(e);
1145
- this.onInput.emit(e);
1146
- e.preventDefault();
1147
- }
1148
- else if (k === 13) {
1149
- // enter
1150
- this.onInputBlur(e);
1151
- this.updateModel(e);
1152
- }
1153
- else if (k === 27) {
1154
- // escape
1155
- this.inputViewChild().nativeElement.value = this.focusText;
1156
- this.caret(0, this.checkVal());
1157
- this.updateModel(e);
1158
- e.preventDefault();
1159
- }
1160
- }
1161
- onKeyPress(e) {
1162
- if (this.readonly()) {
1163
- return;
1164
- }
1165
- let k = e.which || e.keyCode, pos = this.caret(), p, c, next, completed;
1166
- if (e.ctrlKey || e.altKey || e.metaKey || k < 32 || (k > 34 && k < 41)) {
1167
- //Ignore
1168
- return;
1169
- }
1170
- else if (k && k !== 13) {
1171
- if (pos.end - pos.begin !== 0) {
1172
- this.clearBuffer(pos.begin, pos.end);
1173
- this.shiftL(pos.begin, pos.end - 1);
1174
- }
1175
- p = this.seekNext(pos.begin - 1);
1176
- if (p < this.len) {
1177
- c = String.fromCharCode(k);
1178
- if (this.tests[p]?.test(c)) {
1179
- this.shiftR(p);
1180
- this.buffer[p] = c;
1181
- this.writeBuffer();
1182
- next = this.seekNext(p);
1183
- if (isClient() && /android/i.test(getUserAgent())) {
1184
- let proxy = () => {
1185
- this.caret(next);
1186
- };
1187
- setTimeout(proxy, 0);
1188
- }
1189
- else {
1190
- this.caret(next);
1191
- }
1192
- if (pos.begin <= this.lastRequiredNonMaskPos) {
1193
- completed = this.isCompleted();
1194
- }
1195
- this.onInput.emit(e);
1196
- }
1197
- }
1198
- e.preventDefault();
1199
- }
1200
- this.updateModel(e);
1201
- if (completed) {
1202
- this.onComplete.emit();
1203
- }
1204
- }
1205
- clearBuffer(start, end) {
1206
- if (!this.keepBuffer()) {
1207
- let i;
1208
- for (i = start; i < end && i < this.len; i++) {
1209
- if (this.tests[i]) {
1210
- this.buffer[i] = this.getPlaceholder(i);
1211
- }
1212
- }
1213
- }
1214
- }
1215
- writeBuffer() {
1216
- const inputEl = this.inputViewChild()?.nativeElement;
1217
- if (this.buffer && inputEl) {
1218
- inputEl.value = this.buffer.join('');
1219
- }
1220
- }
1221
- checkVal(allow) {
1222
- //try to place characters where they belong
1223
- const inputEl = this.inputViewChild()?.nativeElement;
1224
- let test = inputEl?.value, lastMatch = -1, i, c, pos;
1225
- for (i = 0, pos = 0; i < this.len; i++) {
1226
- if (this.tests[i]) {
1227
- this.buffer[i] = this.getPlaceholder(i);
1228
- while (pos++ < test.length) {
1229
- c = test.charAt(pos - 1);
1230
- if (this.tests[i].test(c)) {
1231
- if (!this.keepBuffer()) {
1232
- this.buffer[i] = c;
1233
- }
1234
- lastMatch = i;
1235
- break;
1236
- }
1237
- }
1238
- if (pos > test.length) {
1239
- this.clearBuffer(i + 1, this.len);
1240
- break;
1241
- }
1242
- }
1243
- else {
1244
- if (this.buffer[i] === test.charAt(pos)) {
1245
- pos++;
1246
- }
1247
- if (i < this.partialPosition) {
1248
- lastMatch = i;
1249
- }
1250
- }
1251
- }
1252
- if (allow) {
1253
- this.writeBuffer();
1254
- }
1255
- else if (lastMatch + 1 < this.partialPosition) {
1256
- if (this.autoClear() || this.buffer.join('') === this.defaultBuffer) {
1257
- // Invalid value. Remove it and replace it with the
1258
- // mask, which is the default behavior.
1259
- if (inputEl?.value)
1260
- inputEl.value = '';
1261
- this.clearBuffer(0, this.len);
1262
- }
1263
- else {
1264
- // Invalid value, but we opt to show the value to the
1265
- // user and allow them to correct their mistake.
1266
- this.writeBuffer();
1267
- }
1268
- }
1269
- else {
1270
- this.writeBuffer();
1271
- if (inputEl) {
1272
- inputEl.value = inputEl.value.substring(0, lastMatch + 1);
1273
- }
1274
- }
1275
- return (this.partialPosition ? i : this.firstNonMaskPos);
1276
- }
1277
- onInputFocus(event) {
1278
- if (this.readonly()) {
1279
- return;
1280
- }
1281
- this.focused = true;
1282
- clearTimeout(this.caretTimeoutId);
1283
- let pos;
1284
- const inputEl = this.inputViewChild()?.nativeElement;
1285
- this.focusText = inputEl?.value;
1286
- pos = this.keepBuffer() ? inputEl?.value.length : this.checkVal();
1287
- this.caretTimeoutId = setTimeout(() => {
1288
- const inputElement = this.inputViewChild()?.nativeElement;
1289
- if (inputElement !== inputElement?.ownerDocument.activeElement) {
1290
- return;
1291
- }
1292
- this.writeBuffer();
1293
- if (pos == this.mask()?.replace('?', '').length) {
1294
- this.caret(0, pos);
1295
- }
1296
- else {
1297
- this.caret(pos);
1298
- }
1299
- }, 10);
1300
- this.onFocus.emit(event);
1301
- }
1302
- onInputChange(event) {
1303
- if (this.androidChrome)
1304
- this.handleAndroidInput(event);
1305
- else
1306
- this.handleInputChange(event);
1307
- this.onInput.emit(event);
1308
- }
1309
- handleInputChange(event) {
1310
- if (this.readonly()) {
1311
- return;
1312
- }
1313
- setTimeout(() => {
1314
- let pos = this.checkVal(true);
1315
- this.caret(pos);
1316
- this.updateModel(event);
1317
- if (this.isCompleted()) {
1318
- this.onComplete.emit();
1319
- }
1320
- }, 0);
1321
- }
1322
- getUnmaskedValue() {
1323
- let unmaskedBuffer = [];
1324
- for (let i = 0; i < this.buffer.length; i++) {
1325
- let c = this.buffer[i];
1326
- if (this.tests[i] && c != this.getPlaceholder(i)) {
1327
- unmaskedBuffer.push(c);
1328
- }
1329
- }
1330
- return unmaskedBuffer.join('');
1331
- }
1332
- updateModel(e) {
1333
- const target = e.target;
1334
- if (!target) {
1335
- return;
1336
- }
1337
- const updatedValue = this.unmask() ? this.getUnmaskedValue() : target.value;
1338
- if (updatedValue !== null && updatedValue !== undefined) {
1339
- this.value.set(updatedValue);
1340
- this.writeModelValue(this.value());
1341
- this.onModelChange(this.value());
1342
- }
1343
- }
1344
- focus() {
1345
- this.inputViewChild()?.nativeElement.focus();
1346
- }
1347
- clear() {
1348
- const inputEl = this.inputViewChild()?.nativeElement;
1349
- if (inputEl) {
1350
- inputEl.value = '';
1351
- }
1352
- this.value.set(null);
1353
- this.onModelChange(this.value());
1354
- this.onClear.emit();
1355
- }
1356
- /**
1357
- * @override
1358
- *
1359
- * @see {@link BaseEditableHolder.writeControlValue}
1360
- * Writes the value to the control.
1361
- */
1362
- writeControlValue(val, setModelValue) {
1363
- this.value.set(val);
1364
- setModelValue(this.value());
1365
- const inputEl = this.inputViewChild()?.nativeElement;
1366
- if (inputEl) {
1367
- const currentValue = this.value();
1368
- if (currentValue == undefined || currentValue == null)
1369
- inputEl.value = '';
1370
- else
1371
- inputEl.value = currentValue;
1372
- this.checkVal();
1373
- this.focusText = inputEl.value;
1374
- }
1375
- }
1376
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: InputMask, deps: [], target: i0.ɵɵFactoryTarget.Component });
1377
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.5", type: InputMask, isStandalone: true, selector: "p-inputmask, p-input-mask", inputs: { type: { classPropertyName: "type", publicName: "type", 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 }, showClear: { classPropertyName: "showClear", publicName: "showClear", isSignal: true, isRequired: false, transformFunction: null }, style: { classPropertyName: "style", publicName: "style", isSignal: true, isRequired: false, transformFunction: null }, inputId: { classPropertyName: "inputId", publicName: "inputId", isSignal: true, isRequired: false, transformFunction: null }, styleClass: { classPropertyName: "styleClass", publicName: "styleClass", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "ariaLabelledBy", isSignal: true, isRequired: false, transformFunction: null }, ariaRequired: { classPropertyName: "ariaRequired", publicName: "ariaRequired", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, unmask: { classPropertyName: "unmask", publicName: "unmask", isSignal: true, isRequired: false, transformFunction: null }, characterPattern: { classPropertyName: "characterPattern", publicName: "characterPattern", isSignal: true, isRequired: false, transformFunction: null }, autofocus: { classPropertyName: "autofocus", publicName: "autofocus", isSignal: true, isRequired: false, transformFunction: null }, autocomplete: { classPropertyName: "autocomplete", publicName: "autocomplete", isSignal: true, isRequired: false, transformFunction: null }, keepBuffer: { classPropertyName: "keepBuffer", publicName: "keepBuffer", isSignal: true, isRequired: false, transformFunction: null }, keepCharPositions: { classPropertyName: "keepCharPositions", publicName: "keepCharPositions", isSignal: true, isRequired: false, transformFunction: null }, mask: { classPropertyName: "mask", publicName: "mask", isSignal: true, isRequired: false, transformFunction: null } }, 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"], isSignal: true }], viewQueries: [{ propertyName: "inputViewChild", first: true, predicate: ["input"], descendants: true, isSignal: true }], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0, template: `
654
+ var InputMask = class InputMask extends BaseInput {
655
+ componentName = "InputMask";
656
+ _componentStyle = inject(InputMaskStyle);
657
+ $pcInputMask = inject(INPUTMASK_INSTANCE, {
658
+ optional: true,
659
+ skipSelf: true
660
+ }) ?? void 0;
661
+ bindDirectiveInstance = inject(Bind, { self: true });
662
+ ptmParams = computed(() => ({ context: { filled: this.$variant() === "filled" } }), ...ngDevMode ? [{ debugName: "ptmParams" }] : /* istanbul ignore next */ []);
663
+ requiredAttr = computed(() => this.required() ? "" : void 0, ...ngDevMode ? [{ debugName: "requiredAttr" }] : /* istanbul ignore next */ []);
664
+ readonlyAttr = computed(() => this.readonly() ? "" : void 0, ...ngDevMode ? [{ debugName: "readonlyAttr" }] : /* istanbul ignore next */ []);
665
+ disabledAttr = computed(() => this.$disabled() ? "" : void 0, ...ngDevMode ? [{ debugName: "disabledAttr" }] : /* istanbul ignore next */ []);
666
+ showClearIcon = computed(() => this.value() != null && this.$filled() && this.showClear() && !this.$disabled(), ...ngDevMode ? [{ debugName: "showClearIcon" }] : /* istanbul ignore next */ []);
667
+ type = input("text", ...ngDevMode ? [{ debugName: "type" }] : /* istanbul ignore next */ []);
668
+ slotChar = input("_", ...ngDevMode ? [{ debugName: "slotChar" }] : /* istanbul ignore next */ []);
669
+ autoClear = input(true, {
670
+ ...ngDevMode ? { debugName: "autoClear" } : /* istanbul ignore next */ {},
671
+ transform: booleanAttribute
672
+ });
673
+ showClear = input(false, {
674
+ ...ngDevMode ? { debugName: "showClear" } : /* istanbul ignore next */ {},
675
+ transform: booleanAttribute
676
+ });
677
+ style = input(...ngDevMode ? [void 0, { debugName: "style" }] : /* istanbul ignore next */ []);
678
+ inputId = input(...ngDevMode ? [void 0, { debugName: "inputId" }] : /* istanbul ignore next */ []);
679
+ styleClass = input(...ngDevMode ? [void 0, { debugName: "styleClass" }] : /* istanbul ignore next */ []);
680
+ placeholder = input(...ngDevMode ? [void 0, { debugName: "placeholder" }] : /* istanbul ignore next */ []);
681
+ tabindex = input(...ngDevMode ? [void 0, { debugName: "tabindex" }] : /* istanbul ignore next */ []);
682
+ title = input(...ngDevMode ? [void 0, { debugName: "title" }] : /* istanbul ignore next */ []);
683
+ ariaLabel = input(...ngDevMode ? [void 0, { debugName: "ariaLabel" }] : /* istanbul ignore next */ []);
684
+ ariaLabelledBy = input(...ngDevMode ? [void 0, { debugName: "ariaLabelledBy" }] : /* istanbul ignore next */ []);
685
+ ariaRequired = input(void 0, {
686
+ ...ngDevMode ? { debugName: "ariaRequired" } : /* istanbul ignore next */ {},
687
+ transform: booleanAttribute
688
+ });
689
+ readonly = input(false, {
690
+ ...ngDevMode ? { debugName: "readonly" } : /* istanbul ignore next */ {},
691
+ transform: booleanAttribute
692
+ });
693
+ unmask = input(false, {
694
+ ...ngDevMode ? { debugName: "unmask" } : /* istanbul ignore next */ {},
695
+ transform: booleanAttribute
696
+ });
697
+ characterPattern = input("[A-Za-z]", ...ngDevMode ? [{ debugName: "characterPattern" }] : /* istanbul ignore next */ []);
698
+ autofocus = input(false, {
699
+ ...ngDevMode ? { debugName: "autofocus" } : /* istanbul ignore next */ {},
700
+ transform: booleanAttribute
701
+ });
702
+ autocomplete = input(...ngDevMode ? [void 0, { debugName: "autocomplete" }] : /* istanbul ignore next */ []);
703
+ keepBuffer = input(false, {
704
+ ...ngDevMode ? { debugName: "keepBuffer" } : /* istanbul ignore next */ {},
705
+ transform: booleanAttribute
706
+ });
707
+ keepCharPositions = input(false, {
708
+ ...ngDevMode ? { debugName: "keepCharPositions" } : /* istanbul ignore next */ {},
709
+ transform: booleanAttribute
710
+ });
711
+ mask = input(...ngDevMode ? [void 0, { debugName: "mask" }] : /* istanbul ignore next */ []);
712
+ onComplete = output();
713
+ onFocus = output();
714
+ onBlur = output();
715
+ onInput = output();
716
+ onKeydown = output();
717
+ onClear = output();
718
+ clearIconTemplate = contentChild("clearicon", {
719
+ ...ngDevMode ? { debugName: "clearIconTemplate" } : /* istanbul ignore next */ {},
720
+ descendants: false
721
+ });
722
+ inputViewChild = viewChild.required("input", ...ngDevMode ? [{ debugName: "inputViewChild" }] : /* istanbul ignore next */ []);
723
+ value = signal(null, ...ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []);
724
+ defs;
725
+ tests;
726
+ partialPosition;
727
+ firstNonMaskPos;
728
+ lastRequiredNonMaskPos;
729
+ len;
730
+ oldVal;
731
+ buffer;
732
+ defaultBuffer;
733
+ focusText;
734
+ caretTimeoutId;
735
+ androidChrome = true;
736
+ focused;
737
+ constructor() {
738
+ super();
739
+ effect(() => {
740
+ if (this.mask() !== void 0) untracked(() => {
741
+ this.initMask();
742
+ this.writeControlValue(this.value(), this.writeModelValue.bind(this));
743
+ });
744
+ });
745
+ }
746
+ onAfterViewChecked() {
747
+ this.bindDirectiveInstance.setAttrs(this.ptms(["root", "host"]));
748
+ }
749
+ onInit() {
750
+ if (isPlatformBrowser(this.platformId)) {
751
+ let ua = navigator.userAgent;
752
+ this.androidChrome = /chrome/i.test(ua) && /android/i.test(ua);
753
+ }
754
+ this.initMask();
755
+ }
756
+ initMask() {
757
+ const maskValue = this.mask();
758
+ if (!maskValue) return;
759
+ this.tests = [];
760
+ this.partialPosition = maskValue.length;
761
+ this.len = maskValue.length;
762
+ this.firstNonMaskPos = null;
763
+ this.defs = {
764
+ "9": "[0-9]",
765
+ a: this.characterPattern(),
766
+ "*": `${this.characterPattern()}|[0-9]`
767
+ };
768
+ let maskTokens = maskValue.split("");
769
+ for (let i = 0; i < maskTokens.length; i++) {
770
+ let c = maskTokens[i];
771
+ if (c == "?") {
772
+ this.len--;
773
+ this.partialPosition = i;
774
+ } else if (this.defs[c]) {
775
+ this.tests.push(new RegExp(this.defs[c]));
776
+ if (this.firstNonMaskPos === null) this.firstNonMaskPos = this.tests.length - 1;
777
+ if (i < this.partialPosition) this.lastRequiredNonMaskPos = this.tests.length - 1;
778
+ } else this.tests.push(null);
779
+ }
780
+ this.buffer = [];
781
+ for (let i = 0; i < maskTokens.length; i++) {
782
+ let c = maskTokens[i];
783
+ if (c != "?") {
784
+ if (this.defs[c]) this.buffer.push(this.getPlaceholder(i));
785
+ else this.buffer.push(c);
786
+ }
787
+ }
788
+ this.defaultBuffer = this.buffer.join("");
789
+ }
790
+ caret(first, last) {
791
+ let range, begin, end;
792
+ const inputEl = this.inputViewChild()?.nativeElement;
793
+ if (!inputEl?.offsetParent || inputEl !== inputEl.ownerDocument.activeElement) return;
794
+ if (typeof first == "number") {
795
+ begin = first;
796
+ end = typeof last === "number" ? last : begin;
797
+ if (inputEl.setSelectionRange) inputEl.setSelectionRange(begin, end);
798
+ else if (inputEl["createTextRange"]) {
799
+ range = inputEl["createTextRange"]();
800
+ range.collapse(true);
801
+ range.moveEnd("character", end);
802
+ range.moveStart("character", begin);
803
+ range.select();
804
+ }
805
+ } else {
806
+ if (inputEl.setSelectionRange) {
807
+ begin = inputEl.selectionStart;
808
+ end = inputEl.selectionEnd;
809
+ } else if (this.document && this.document["selection"].createRange) {
810
+ range = this.document.createRange();
811
+ begin = 0 - range.duplicate().moveStart("character", -1e5);
812
+ end = begin + range.text.length;
813
+ }
814
+ return {
815
+ begin,
816
+ end
817
+ };
818
+ }
819
+ }
820
+ isCompleted() {
821
+ for (let i = this.firstNonMaskPos; i <= this.lastRequiredNonMaskPos; i++) if (this.tests[i] && this.buffer[i] === this.getPlaceholder(i)) return false;
822
+ return true;
823
+ }
824
+ getPlaceholder(i) {
825
+ const slotCharValue = this.slotChar();
826
+ if (i < slotCharValue.length) return slotCharValue.charAt(i);
827
+ return slotCharValue.charAt(0);
828
+ }
829
+ seekNext(pos) {
830
+ while (++pos < this.len && !this.tests[pos]);
831
+ return pos;
832
+ }
833
+ seekPrev(pos) {
834
+ while (--pos >= 0 && !this.tests[pos]);
835
+ return pos;
836
+ }
837
+ shiftL(begin, end) {
838
+ let i, j;
839
+ if (begin < 0) return;
840
+ for (i = begin, j = this.seekNext(end); i < this.len; i++) if (this.tests[i]) {
841
+ if (this.keepCharPositions() && this.crossesLiteralBoundary(i, j)) break;
842
+ if (j < this.len && this.tests[i].test(this.buffer[j])) {
843
+ this.buffer[i] = this.buffer[j];
844
+ this.buffer[j] = this.getPlaceholder(j);
845
+ } else break;
846
+ j = this.seekNext(j);
847
+ }
848
+ this.writeBuffer();
849
+ this.caret(Math.max(this.firstNonMaskPos, begin));
850
+ }
851
+ crossesLiteralBoundary(i, j) {
852
+ for (let k = i + 1; k < j && k < this.len; k++) if (!this.tests[k]) return true;
853
+ return false;
854
+ }
855
+ shiftR(pos) {
856
+ let i, c, j, t;
857
+ for (i = pos, c = this.getPlaceholder(pos); i < this.len; i++) if (this.tests[i]) {
858
+ j = this.seekNext(i);
859
+ t = this.buffer[i];
860
+ this.buffer[i] = c;
861
+ if (j < this.len && this.tests[j]?.test(t)) c = t;
862
+ else break;
863
+ }
864
+ }
865
+ handleAndroidInput(e) {
866
+ let curVal = this.inputViewChild()?.nativeElement.value;
867
+ let pos = this.caret();
868
+ if (this.oldVal && this.oldVal.length && this.oldVal.length > curVal.length) {
869
+ this.checkVal(true);
870
+ while (pos.begin > 0 && !this.tests[pos.begin - 1]) pos.begin--;
871
+ if (pos.begin === 0) while (pos.begin < this.firstNonMaskPos && !this.tests[pos.begin]) pos.begin++;
872
+ setTimeout(() => {
873
+ this.caret(pos.begin, pos.begin);
874
+ this.updateModel(e);
875
+ if (this.isCompleted()) this.onComplete.emit();
876
+ }, 0);
877
+ } else {
878
+ this.checkVal(true);
879
+ while (pos.begin < this.len && !this.tests[pos.begin]) pos.begin++;
880
+ setTimeout(() => {
881
+ this.caret(pos.begin, pos.begin);
882
+ this.updateModel(e);
883
+ if (this.isCompleted()) this.onComplete.emit();
884
+ }, 0);
885
+ }
886
+ }
887
+ onInputBlur(e) {
888
+ this.focused = false;
889
+ this.onModelTouched();
890
+ if (!this.keepBuffer()) this.checkVal();
891
+ this.onBlur.emit(e);
892
+ if (this.modelValue() != this.focusText || this.modelValue() != this.value()) {
893
+ this.updateModel(e);
894
+ let event = this.document.createEvent("HTMLEvents");
895
+ event.initEvent("change", true, false);
896
+ this.inputViewChild()?.nativeElement.dispatchEvent(event);
897
+ }
898
+ }
899
+ onInputKeydown(e) {
900
+ if (this.readonly()) return;
901
+ let k = e.which || e.keyCode, pos, begin, end;
902
+ let iPhone;
903
+ if (isPlatformBrowser(this.platformId)) iPhone = /iphone/i.test(getUserAgent());
904
+ this.oldVal = this.inputViewChild()?.nativeElement.value;
905
+ this.onKeydown.emit(e);
906
+ if (k === 8 || k === 46 || iPhone && k === 127) {
907
+ pos = this.caret();
908
+ begin = pos.begin;
909
+ end = pos.end;
910
+ if (end - begin === 0) {
911
+ begin = k !== 46 ? this.seekPrev(begin) : end = this.seekNext(begin - 1);
912
+ end = k === 46 ? this.seekNext(end) : end;
913
+ }
914
+ this.clearBuffer(begin, end);
915
+ if (this.keepBuffer()) this.shiftL(begin, end - 2);
916
+ else this.shiftL(begin, end - 1);
917
+ this.updateModel(e);
918
+ this.onInput.emit(e);
919
+ e.preventDefault();
920
+ } else if (k === 13) {
921
+ this.onInputBlur(e);
922
+ this.updateModel(e);
923
+ } else if (k === 27) {
924
+ this.inputViewChild().nativeElement.value = this.focusText;
925
+ this.caret(0, this.checkVal());
926
+ this.updateModel(e);
927
+ e.preventDefault();
928
+ }
929
+ }
930
+ onKeyPress(e) {
931
+ if (this.readonly()) return;
932
+ let k = e.which || e.keyCode, pos = this.caret(), p, c, next, completed;
933
+ if (e.ctrlKey || e.altKey || e.metaKey || k < 32 || k > 34 && k < 41) return;
934
+ else if (k && k !== 13) {
935
+ if (pos.end - pos.begin !== 0) {
936
+ this.clearBuffer(pos.begin, pos.end);
937
+ this.shiftL(pos.begin, pos.end - 1);
938
+ }
939
+ p = this.seekNext(pos.begin - 1);
940
+ if (p < this.len) {
941
+ c = String.fromCharCode(k);
942
+ if (this.tests[p]?.test(c)) {
943
+ this.shiftR(p);
944
+ this.buffer[p] = c;
945
+ this.writeBuffer();
946
+ next = this.seekNext(p);
947
+ if (isClient() && /android/i.test(getUserAgent())) {
948
+ let proxy = () => {
949
+ this.caret(next);
950
+ };
951
+ setTimeout(proxy, 0);
952
+ } else this.caret(next);
953
+ if (pos.begin <= this.lastRequiredNonMaskPos) completed = this.isCompleted();
954
+ this.onInput.emit(e);
955
+ }
956
+ }
957
+ e.preventDefault();
958
+ }
959
+ this.updateModel(e);
960
+ if (completed) this.onComplete.emit();
961
+ }
962
+ clearBuffer(start, end) {
963
+ if (!this.keepBuffer()) {
964
+ let i;
965
+ for (i = start; i < end && i < this.len; i++) if (this.tests[i]) this.buffer[i] = this.getPlaceholder(i);
966
+ }
967
+ }
968
+ writeBuffer() {
969
+ const inputEl = this.inputViewChild()?.nativeElement;
970
+ if (this.buffer && inputEl) inputEl.value = this.buffer.join("");
971
+ }
972
+ checkVal(allow) {
973
+ const inputEl = this.inputViewChild()?.nativeElement;
974
+ let test = inputEl?.value, lastMatch = -1, i, c, pos;
975
+ for (i = 0, pos = 0; i < this.len; i++) if (this.tests[i]) {
976
+ this.buffer[i] = this.getPlaceholder(i);
977
+ while (pos++ < test.length) {
978
+ c = test.charAt(pos - 1);
979
+ if (this.tests[i].test(c)) {
980
+ if (!this.keepBuffer()) this.buffer[i] = c;
981
+ lastMatch = i;
982
+ break;
983
+ }
984
+ }
985
+ if (pos > test.length) {
986
+ this.clearBuffer(i + 1, this.len);
987
+ break;
988
+ }
989
+ } else {
990
+ if (this.buffer[i] === test.charAt(pos)) pos++;
991
+ if (i < this.partialPosition) lastMatch = i;
992
+ }
993
+ if (allow) this.writeBuffer();
994
+ else if (lastMatch + 1 < this.partialPosition) {
995
+ if (this.autoClear() || this.buffer.join("") === this.defaultBuffer) {
996
+ if (inputEl?.value) inputEl.value = "";
997
+ this.clearBuffer(0, this.len);
998
+ } else this.writeBuffer();
999
+ } else {
1000
+ this.writeBuffer();
1001
+ if (inputEl) inputEl.value = inputEl.value.substring(0, lastMatch + 1);
1002
+ }
1003
+ return this.partialPosition ? i : this.firstNonMaskPos;
1004
+ }
1005
+ onInputFocus(event) {
1006
+ if (this.readonly()) return;
1007
+ this.focused = true;
1008
+ clearTimeout(this.caretTimeoutId);
1009
+ let pos;
1010
+ const inputEl = this.inputViewChild()?.nativeElement;
1011
+ this.focusText = inputEl?.value;
1012
+ pos = this.keepBuffer() ? inputEl?.value.length : this.checkVal();
1013
+ this.caretTimeoutId = setTimeout(() => {
1014
+ const inputElement = this.inputViewChild()?.nativeElement;
1015
+ if (inputElement !== inputElement?.ownerDocument.activeElement) return;
1016
+ this.writeBuffer();
1017
+ if (pos == this.mask()?.replace("?", "").length) this.caret(0, pos);
1018
+ else this.caret(pos);
1019
+ }, 10);
1020
+ this.onFocus.emit(event);
1021
+ }
1022
+ onInputChange(event) {
1023
+ if (this.androidChrome) this.handleAndroidInput(event);
1024
+ else this.handleInputChange(event);
1025
+ this.onInput.emit(event);
1026
+ }
1027
+ handleInputChange(event) {
1028
+ if (this.readonly()) return;
1029
+ setTimeout(() => {
1030
+ let pos = this.checkVal(true);
1031
+ this.caret(pos);
1032
+ this.updateModel(event);
1033
+ if (this.isCompleted()) this.onComplete.emit();
1034
+ }, 0);
1035
+ }
1036
+ getUnmaskedValue() {
1037
+ let unmaskedBuffer = [];
1038
+ for (let i = 0; i < this.buffer.length; i++) {
1039
+ let c = this.buffer[i];
1040
+ if (this.tests[i] && c != this.getPlaceholder(i)) unmaskedBuffer.push(c);
1041
+ }
1042
+ return unmaskedBuffer.join("");
1043
+ }
1044
+ updateModel(e) {
1045
+ const target = e.target;
1046
+ if (!target) return;
1047
+ const updatedValue = this.unmask() ? this.getUnmaskedValue() : target.value;
1048
+ if (updatedValue !== null && updatedValue !== void 0) {
1049
+ this.value.set(updatedValue);
1050
+ this.writeModelValue(this.value());
1051
+ this.onModelChange(this.value());
1052
+ }
1053
+ }
1054
+ focus() {
1055
+ this.inputViewChild()?.nativeElement.focus();
1056
+ }
1057
+ clear() {
1058
+ const inputEl = this.inputViewChild()?.nativeElement;
1059
+ if (inputEl) inputEl.value = "";
1060
+ this.value.set(null);
1061
+ this.onModelChange(this.value());
1062
+ this.onClear.emit();
1063
+ }
1064
+ writeControlValue(val, setModelValue) {
1065
+ this.value.set(val);
1066
+ setModelValue(this.value());
1067
+ const inputEl = this.inputViewChild()?.nativeElement;
1068
+ if (inputEl) {
1069
+ const currentValue = this.value();
1070
+ if (currentValue == void 0 || currentValue == null) inputEl.value = "";
1071
+ else inputEl.value = currentValue;
1072
+ this.checkVal();
1073
+ this.focusText = inputEl.value;
1074
+ }
1075
+ }
1076
+ static ɵfac = i0.ɵɵngDeclareFactory({
1077
+ minVersion: "12.0.0",
1078
+ version: "22.2.0",
1079
+ ngImport: i0,
1080
+ type: InputMask,
1081
+ deps: [],
1082
+ target: i0.ɵɵFactoryTarget.Component
1083
+ });
1084
+ static ɵcmp = i0.ɵɵngDeclareComponent({
1085
+ minVersion: "17.0.0",
1086
+ version: "22.2.0",
1087
+ type: InputMask,
1088
+ isStandalone: true,
1089
+ selector: "p-inputmask, p-input-mask",
1090
+ inputs: {
1091
+ type: {
1092
+ classPropertyName: "type",
1093
+ publicName: "type",
1094
+ isSignal: true,
1095
+ isRequired: false,
1096
+ transformFunction: null
1097
+ },
1098
+ slotChar: {
1099
+ classPropertyName: "slotChar",
1100
+ publicName: "slotChar",
1101
+ isSignal: true,
1102
+ isRequired: false,
1103
+ transformFunction: null
1104
+ },
1105
+ autoClear: {
1106
+ classPropertyName: "autoClear",
1107
+ publicName: "autoClear",
1108
+ isSignal: true,
1109
+ isRequired: false,
1110
+ transformFunction: null
1111
+ },
1112
+ showClear: {
1113
+ classPropertyName: "showClear",
1114
+ publicName: "showClear",
1115
+ isSignal: true,
1116
+ isRequired: false,
1117
+ transformFunction: null
1118
+ },
1119
+ style: {
1120
+ classPropertyName: "style",
1121
+ publicName: "style",
1122
+ isSignal: true,
1123
+ isRequired: false,
1124
+ transformFunction: null
1125
+ },
1126
+ inputId: {
1127
+ classPropertyName: "inputId",
1128
+ publicName: "inputId",
1129
+ isSignal: true,
1130
+ isRequired: false,
1131
+ transformFunction: null
1132
+ },
1133
+ styleClass: {
1134
+ classPropertyName: "styleClass",
1135
+ publicName: "styleClass",
1136
+ isSignal: true,
1137
+ isRequired: false,
1138
+ transformFunction: null
1139
+ },
1140
+ placeholder: {
1141
+ classPropertyName: "placeholder",
1142
+ publicName: "placeholder",
1143
+ isSignal: true,
1144
+ isRequired: false,
1145
+ transformFunction: null
1146
+ },
1147
+ tabindex: {
1148
+ classPropertyName: "tabindex",
1149
+ publicName: "tabindex",
1150
+ isSignal: true,
1151
+ isRequired: false,
1152
+ transformFunction: null
1153
+ },
1154
+ title: {
1155
+ classPropertyName: "title",
1156
+ publicName: "title",
1157
+ isSignal: true,
1158
+ isRequired: false,
1159
+ transformFunction: null
1160
+ },
1161
+ ariaLabel: {
1162
+ classPropertyName: "ariaLabel",
1163
+ publicName: "ariaLabel",
1164
+ isSignal: true,
1165
+ isRequired: false,
1166
+ transformFunction: null
1167
+ },
1168
+ ariaLabelledBy: {
1169
+ classPropertyName: "ariaLabelledBy",
1170
+ publicName: "ariaLabelledBy",
1171
+ isSignal: true,
1172
+ isRequired: false,
1173
+ transformFunction: null
1174
+ },
1175
+ ariaRequired: {
1176
+ classPropertyName: "ariaRequired",
1177
+ publicName: "ariaRequired",
1178
+ isSignal: true,
1179
+ isRequired: false,
1180
+ transformFunction: null
1181
+ },
1182
+ readonly: {
1183
+ classPropertyName: "readonly",
1184
+ publicName: "readonly",
1185
+ isSignal: true,
1186
+ isRequired: false,
1187
+ transformFunction: null
1188
+ },
1189
+ unmask: {
1190
+ classPropertyName: "unmask",
1191
+ publicName: "unmask",
1192
+ isSignal: true,
1193
+ isRequired: false,
1194
+ transformFunction: null
1195
+ },
1196
+ characterPattern: {
1197
+ classPropertyName: "characterPattern",
1198
+ publicName: "characterPattern",
1199
+ isSignal: true,
1200
+ isRequired: false,
1201
+ transformFunction: null
1202
+ },
1203
+ autofocus: {
1204
+ classPropertyName: "autofocus",
1205
+ publicName: "autofocus",
1206
+ isSignal: true,
1207
+ isRequired: false,
1208
+ transformFunction: null
1209
+ },
1210
+ autocomplete: {
1211
+ classPropertyName: "autocomplete",
1212
+ publicName: "autocomplete",
1213
+ isSignal: true,
1214
+ isRequired: false,
1215
+ transformFunction: null
1216
+ },
1217
+ keepBuffer: {
1218
+ classPropertyName: "keepBuffer",
1219
+ publicName: "keepBuffer",
1220
+ isSignal: true,
1221
+ isRequired: false,
1222
+ transformFunction: null
1223
+ },
1224
+ keepCharPositions: {
1225
+ classPropertyName: "keepCharPositions",
1226
+ publicName: "keepCharPositions",
1227
+ isSignal: true,
1228
+ isRequired: false,
1229
+ transformFunction: null
1230
+ },
1231
+ mask: {
1232
+ classPropertyName: "mask",
1233
+ publicName: "mask",
1234
+ isSignal: true,
1235
+ isRequired: false,
1236
+ transformFunction: null
1237
+ }
1238
+ },
1239
+ outputs: {
1240
+ onComplete: "onComplete",
1241
+ onFocus: "onFocus",
1242
+ onBlur: "onBlur",
1243
+ onInput: "onInput",
1244
+ onKeydown: "onKeydown",
1245
+ onClear: "onClear"
1246
+ },
1247
+ host: { properties: { "class": "cx('root')" } },
1248
+ providers: [
1249
+ INPUTMASK_VALUE_ACCESSOR,
1250
+ InputMaskStyle,
1251
+ {
1252
+ provide: INPUTMASK_INSTANCE,
1253
+ useExisting: InputMask
1254
+ },
1255
+ {
1256
+ provide: PARENT_INSTANCE,
1257
+ useExisting: InputMask
1258
+ }
1259
+ ],
1260
+ queries: [{
1261
+ propertyName: "clearIconTemplate",
1262
+ first: true,
1263
+ predicate: ["clearicon"],
1264
+ isSignal: true
1265
+ }],
1266
+ viewQueries: [{
1267
+ propertyName: "inputViewChild",
1268
+ first: true,
1269
+ predicate: ["input"],
1270
+ descendants: true,
1271
+ isSignal: true
1272
+ }],
1273
+ usesInheritance: true,
1274
+ hostDirectives: [{ directive: i1.Bind }],
1275
+ ngImport: i0,
1276
+ template: `
1378
1277
  <input
1379
1278
  #input
1380
1279
  pInputText
@@ -1419,15 +1318,78 @@ class InputMask extends BaseInput {
1419
1318
  </span>
1420
1319
  }
1421
1320
  }
1422
- `, isInline: true, dependencies: [{ kind: "directive", type: InputText, selector: "[pInputText]", inputs: ["hostName", "pInputTextPT", "pInputTextUnstyled", "pSize", "variant", "fluid", "invalid"] }, { kind: "directive", type: AutoFocus, selector: "[pAutoFocus]", inputs: ["pAutoFocus"] }, { kind: "component", type: Times, selector: "svg[data-p-icon=\"times\"]" }, { kind: "ngmodule", type: SharedModule }, { kind: "directive", type: Bind, selector: "[pBind]", inputs: ["pBind"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1423
- }
1424
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: InputMask, decorators: [{
1425
- type: Component,
1426
- args: [{
1427
- selector: 'p-inputmask, p-input-mask',
1428
- standalone: true,
1429
- imports: [InputText, AutoFocus, Times, SharedModule, Bind, NgTemplateOutlet],
1430
- template: `
1321
+ `,
1322
+ isInline: true,
1323
+ dependencies: [
1324
+ {
1325
+ kind: "directive",
1326
+ type: InputText,
1327
+ selector: "[pInputText]",
1328
+ inputs: [
1329
+ "hostName",
1330
+ "pInputTextPT",
1331
+ "pInputTextUnstyled",
1332
+ "pSize",
1333
+ "variant",
1334
+ "fluid",
1335
+ "invalid"
1336
+ ]
1337
+ },
1338
+ {
1339
+ kind: "directive",
1340
+ type: AutoFocus,
1341
+ selector: "[pAutoFocus]",
1342
+ inputs: ["pAutoFocus"]
1343
+ },
1344
+ {
1345
+ kind: "component",
1346
+ type: Times,
1347
+ selector: "svg[data-p-icon=\"times\"]"
1348
+ },
1349
+ {
1350
+ kind: "ngmodule",
1351
+ type: SharedModule
1352
+ },
1353
+ {
1354
+ kind: "directive",
1355
+ type: Bind,
1356
+ selector: "[pBind]",
1357
+ inputs: ["pBind"]
1358
+ },
1359
+ {
1360
+ kind: "directive",
1361
+ type: NgTemplateOutlet,
1362
+ selector: "[ngTemplateOutlet]",
1363
+ inputs: [
1364
+ "ngTemplateOutletContext",
1365
+ "ngTemplateOutlet",
1366
+ "ngTemplateOutletInjector"
1367
+ ]
1368
+ }
1369
+ ],
1370
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
1371
+ encapsulation: i0.ViewEncapsulation.None
1372
+ });
1373
+ };
1374
+ i0.ɵɵngDeclareClassMetadata({
1375
+ minVersion: "12.0.0",
1376
+ version: "22.2.0",
1377
+ ngImport: i0,
1378
+ type: InputMask,
1379
+ decorators: [{
1380
+ type: Component,
1381
+ args: [{
1382
+ selector: "p-inputmask, p-input-mask",
1383
+ standalone: true,
1384
+ imports: [
1385
+ InputText,
1386
+ AutoFocus,
1387
+ Times,
1388
+ SharedModule,
1389
+ Bind,
1390
+ NgTemplateOutlet
1391
+ ],
1392
+ template: `
1431
1393
  <input
1432
1394
  #input
1433
1395
  pInputText
@@ -1473,31 +1435,289 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImpor
1473
1435
  }
1474
1436
  }
1475
1437
  `,
1476
- providers: [INPUTMASK_VALUE_ACCESSOR, InputMaskStyle, { provide: INPUTMASK_INSTANCE, useExisting: InputMask }, { provide: PARENT_INSTANCE, useExisting: InputMask }],
1477
- changeDetection: ChangeDetectionStrategy.OnPush,
1478
- encapsulation: ViewEncapsulation.None,
1479
- hostDirectives: [Bind],
1480
- host: {
1481
- '[class]': "cx('root')"
1482
- }
1483
- }]
1484
- }], ctorParameters: () => [], propDecorators: { type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], slotChar: [{ type: i0.Input, args: [{ isSignal: true, alias: "slotChar", required: false }] }], autoClear: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoClear", required: false }] }], showClear: [{ type: i0.Input, args: [{ isSignal: true, alias: "showClear", required: false }] }], style: [{ type: i0.Input, args: [{ isSignal: true, alias: "style", required: false }] }], inputId: [{ type: i0.Input, args: [{ isSignal: true, alias: "inputId", required: false }] }], styleClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "styleClass", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], tabindex: [{ type: i0.Input, args: [{ isSignal: true, alias: "tabindex", required: false }] }], title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], ariaLabelledBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabelledBy", required: false }] }], ariaRequired: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaRequired", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], unmask: [{ type: i0.Input, args: [{ isSignal: true, alias: "unmask", required: false }] }], characterPattern: [{ type: i0.Input, args: [{ isSignal: true, alias: "characterPattern", required: false }] }], autofocus: [{ type: i0.Input, args: [{ isSignal: true, alias: "autofocus", required: false }] }], autocomplete: [{ type: i0.Input, args: [{ isSignal: true, alias: "autocomplete", required: false }] }], keepBuffer: [{ type: i0.Input, args: [{ isSignal: true, alias: "keepBuffer", required: false }] }], keepCharPositions: [{ type: i0.Input, args: [{ isSignal: true, alias: "keepCharPositions", required: false }] }], mask: [{ type: i0.Input, args: [{ isSignal: true, alias: "mask", required: false }] }], onComplete: [{ type: i0.Output, args: ["onComplete"] }], onFocus: [{ type: i0.Output, args: ["onFocus"] }], onBlur: [{ type: i0.Output, args: ["onBlur"] }], onInput: [{ type: i0.Output, args: ["onInput"] }], onKeydown: [{ type: i0.Output, args: ["onKeydown"] }], onClear: [{ type: i0.Output, args: ["onClear"] }], clearIconTemplate: [{ type: i0.ContentChild, args: ['clearicon', { ...{ descendants: false }, isSignal: true }] }], inputViewChild: [{ type: i0.ViewChild, args: ['input', { isSignal: true }] }] } });
1485
- class InputMaskModule {
1486
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: InputMaskModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1487
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.5", ngImport: i0, type: InputMaskModule, imports: [InputMask, InputMaskDirective, SharedModule], exports: [InputMask, InputMaskDirective, SharedModule] });
1488
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: InputMaskModule, imports: [InputMask, SharedModule, SharedModule] });
1489
- }
1490
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: InputMaskModule, decorators: [{
1491
- type: NgModule,
1492
- args: [{
1493
- imports: [InputMask, InputMaskDirective, SharedModule],
1494
- exports: [InputMask, InputMaskDirective, SharedModule]
1495
- }]
1496
- }] });
1497
-
1498
- /**
1499
- * Generated bundle index. Do not edit.
1500
- */
1501
-
1438
+ providers: [
1439
+ INPUTMASK_VALUE_ACCESSOR,
1440
+ InputMaskStyle,
1441
+ {
1442
+ provide: INPUTMASK_INSTANCE,
1443
+ useExisting: InputMask
1444
+ },
1445
+ {
1446
+ provide: PARENT_INSTANCE,
1447
+ useExisting: InputMask
1448
+ }
1449
+ ],
1450
+ changeDetection: ChangeDetectionStrategy.OnPush,
1451
+ encapsulation: ViewEncapsulation.None,
1452
+ hostDirectives: [Bind],
1453
+ host: { "[class]": "cx('root')" }
1454
+ }]
1455
+ }],
1456
+ ctorParameters: () => [],
1457
+ propDecorators: {
1458
+ type: [{
1459
+ type: i0.Input,
1460
+ args: [{
1461
+ isSignal: true,
1462
+ alias: "type",
1463
+ required: false
1464
+ }]
1465
+ }],
1466
+ slotChar: [{
1467
+ type: i0.Input,
1468
+ args: [{
1469
+ isSignal: true,
1470
+ alias: "slotChar",
1471
+ required: false
1472
+ }]
1473
+ }],
1474
+ autoClear: [{
1475
+ type: i0.Input,
1476
+ args: [{
1477
+ isSignal: true,
1478
+ alias: "autoClear",
1479
+ required: false
1480
+ }]
1481
+ }],
1482
+ showClear: [{
1483
+ type: i0.Input,
1484
+ args: [{
1485
+ isSignal: true,
1486
+ alias: "showClear",
1487
+ required: false
1488
+ }]
1489
+ }],
1490
+ style: [{
1491
+ type: i0.Input,
1492
+ args: [{
1493
+ isSignal: true,
1494
+ alias: "style",
1495
+ required: false
1496
+ }]
1497
+ }],
1498
+ inputId: [{
1499
+ type: i0.Input,
1500
+ args: [{
1501
+ isSignal: true,
1502
+ alias: "inputId",
1503
+ required: false
1504
+ }]
1505
+ }],
1506
+ styleClass: [{
1507
+ type: i0.Input,
1508
+ args: [{
1509
+ isSignal: true,
1510
+ alias: "styleClass",
1511
+ required: false
1512
+ }]
1513
+ }],
1514
+ placeholder: [{
1515
+ type: i0.Input,
1516
+ args: [{
1517
+ isSignal: true,
1518
+ alias: "placeholder",
1519
+ required: false
1520
+ }]
1521
+ }],
1522
+ tabindex: [{
1523
+ type: i0.Input,
1524
+ args: [{
1525
+ isSignal: true,
1526
+ alias: "tabindex",
1527
+ required: false
1528
+ }]
1529
+ }],
1530
+ title: [{
1531
+ type: i0.Input,
1532
+ args: [{
1533
+ isSignal: true,
1534
+ alias: "title",
1535
+ required: false
1536
+ }]
1537
+ }],
1538
+ ariaLabel: [{
1539
+ type: i0.Input,
1540
+ args: [{
1541
+ isSignal: true,
1542
+ alias: "ariaLabel",
1543
+ required: false
1544
+ }]
1545
+ }],
1546
+ ariaLabelledBy: [{
1547
+ type: i0.Input,
1548
+ args: [{
1549
+ isSignal: true,
1550
+ alias: "ariaLabelledBy",
1551
+ required: false
1552
+ }]
1553
+ }],
1554
+ ariaRequired: [{
1555
+ type: i0.Input,
1556
+ args: [{
1557
+ isSignal: true,
1558
+ alias: "ariaRequired",
1559
+ required: false
1560
+ }]
1561
+ }],
1562
+ readonly: [{
1563
+ type: i0.Input,
1564
+ args: [{
1565
+ isSignal: true,
1566
+ alias: "readonly",
1567
+ required: false
1568
+ }]
1569
+ }],
1570
+ unmask: [{
1571
+ type: i0.Input,
1572
+ args: [{
1573
+ isSignal: true,
1574
+ alias: "unmask",
1575
+ required: false
1576
+ }]
1577
+ }],
1578
+ characterPattern: [{
1579
+ type: i0.Input,
1580
+ args: [{
1581
+ isSignal: true,
1582
+ alias: "characterPattern",
1583
+ required: false
1584
+ }]
1585
+ }],
1586
+ autofocus: [{
1587
+ type: i0.Input,
1588
+ args: [{
1589
+ isSignal: true,
1590
+ alias: "autofocus",
1591
+ required: false
1592
+ }]
1593
+ }],
1594
+ autocomplete: [{
1595
+ type: i0.Input,
1596
+ args: [{
1597
+ isSignal: true,
1598
+ alias: "autocomplete",
1599
+ required: false
1600
+ }]
1601
+ }],
1602
+ keepBuffer: [{
1603
+ type: i0.Input,
1604
+ args: [{
1605
+ isSignal: true,
1606
+ alias: "keepBuffer",
1607
+ required: false
1608
+ }]
1609
+ }],
1610
+ keepCharPositions: [{
1611
+ type: i0.Input,
1612
+ args: [{
1613
+ isSignal: true,
1614
+ alias: "keepCharPositions",
1615
+ required: false
1616
+ }]
1617
+ }],
1618
+ mask: [{
1619
+ type: i0.Input,
1620
+ args: [{
1621
+ isSignal: true,
1622
+ alias: "mask",
1623
+ required: false
1624
+ }]
1625
+ }],
1626
+ onComplete: [{
1627
+ type: i0.Output,
1628
+ args: ["onComplete"]
1629
+ }],
1630
+ onFocus: [{
1631
+ type: i0.Output,
1632
+ args: ["onFocus"]
1633
+ }],
1634
+ onBlur: [{
1635
+ type: i0.Output,
1636
+ args: ["onBlur"]
1637
+ }],
1638
+ onInput: [{
1639
+ type: i0.Output,
1640
+ args: ["onInput"]
1641
+ }],
1642
+ onKeydown: [{
1643
+ type: i0.Output,
1644
+ args: ["onKeydown"]
1645
+ }],
1646
+ onClear: [{
1647
+ type: i0.Output,
1648
+ args: ["onClear"]
1649
+ }],
1650
+ clearIconTemplate: [{
1651
+ type: i0.ContentChild,
1652
+ args: ["clearicon", {
1653
+ descendants: false,
1654
+ isSignal: true
1655
+ }]
1656
+ }],
1657
+ inputViewChild: [{
1658
+ type: i0.ViewChild,
1659
+ args: ["input", { isSignal: true }]
1660
+ }]
1661
+ }
1662
+ });
1663
+ var InputMaskModule = class InputMaskModule {
1664
+ static ɵfac = i0.ɵɵngDeclareFactory({
1665
+ minVersion: "12.0.0",
1666
+ version: "22.2.0",
1667
+ ngImport: i0,
1668
+ type: InputMaskModule,
1669
+ deps: [],
1670
+ target: i0.ɵɵFactoryTarget.NgModule
1671
+ });
1672
+ static ɵmod = i0.ɵɵngDeclareNgModule({
1673
+ minVersion: "14.0.0",
1674
+ version: "22.2.0",
1675
+ ngImport: i0,
1676
+ type: InputMaskModule,
1677
+ imports: [
1678
+ InputMask,
1679
+ InputMaskDirective,
1680
+ SharedModule
1681
+ ],
1682
+ exports: [
1683
+ InputMask,
1684
+ InputMaskDirective,
1685
+ SharedModule
1686
+ ]
1687
+ });
1688
+ static ɵinj = i0.ɵɵngDeclareInjector({
1689
+ minVersion: "12.0.0",
1690
+ version: "22.2.0",
1691
+ ngImport: i0,
1692
+ type: InputMaskModule,
1693
+ imports: [
1694
+ InputMask,
1695
+ SharedModule,
1696
+ SharedModule
1697
+ ]
1698
+ });
1699
+ };
1700
+ i0.ɵɵngDeclareClassMetadata({
1701
+ minVersion: "12.0.0",
1702
+ version: "22.2.0",
1703
+ ngImport: i0,
1704
+ type: InputMaskModule,
1705
+ decorators: [{
1706
+ type: NgModule,
1707
+ args: [{
1708
+ imports: [
1709
+ InputMask,
1710
+ InputMaskDirective,
1711
+ SharedModule
1712
+ ],
1713
+ exports: [
1714
+ InputMask,
1715
+ InputMaskDirective,
1716
+ SharedModule
1717
+ ]
1718
+ }]
1719
+ }]
1720
+ });
1502
1721
  export { INPUTMASK_VALUE_ACCESSOR, InputMask, InputMaskClasses, InputMaskDirective, InputMaskModule, InputMaskStyle };
1503
- //# sourceMappingURL=primeng-inputmask.mjs.map
1722
+
1723
+ //# sourceMappingURL=primeng-inputmask.mjs.map