primeng 22.1.0 → 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 -578
  2. package/fesm2022/primeng-accordion.mjs.map +1 -1
  3. package/fesm2022/primeng-animateonscroll.mjs +266 -165
  4. package/fesm2022/primeng-animateonscroll.mjs.map +1 -1
  5. package/fesm2022/primeng-api.mjs +888 -847
  6. package/fesm2022/primeng-api.mjs.map +1 -1
  7. package/fesm2022/primeng-autocomplete.mjs +2534 -1592
  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 -101
  18. package/fesm2022/primeng-base.mjs.map +1 -1
  19. package/fesm2022/primeng-basecomponent.mjs +528 -489
  20. package/fesm2022/primeng-basecomponent.mjs.map +1 -1
  21. package/fesm2022/primeng-baseeditableholder.mjs +131 -69
  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 -96
  28. package/fesm2022/primeng-bind.mjs.map +1 -1
  29. package/fesm2022/primeng-blockui.mjs +360 -228
  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 -703
  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 -1773
  40. package/fesm2022/primeng-carousel.mjs.map +1 -1
  41. package/fesm2022/primeng-cascadeselect.mjs +2373 -1364
  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 -353
  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 -315
  54. package/fesm2022/primeng-commandmenu.mjs.map +1 -1
  55. package/fesm2022/primeng-compare.mjs +843 -480
  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 -540
  60. package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
  61. package/fesm2022/primeng-confirmpopup.mjs +810 -531
  62. package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
  63. package/fesm2022/primeng-contextmenu.mjs +1862 -1051
  64. package/fesm2022/primeng-contextmenu.mjs.map +1 -1
  65. package/fesm2022/primeng-dataview.mjs +1130 -549
  66. package/fesm2022/primeng-dataview.mjs.map +1 -1
  67. package/fesm2022/primeng-datepicker.mjs +3750 -3354
  68. package/fesm2022/primeng-datepicker.mjs.map +1 -1
  69. package/fesm2022/primeng-dialog.mjs +1635 -968
  70. package/fesm2022/primeng-dialog.mjs.map +1 -1
  71. package/fesm2022/primeng-divider.mjs +272 -148
  72. package/fesm2022/primeng-divider.mjs.map +1 -1
  73. package/fesm2022/primeng-dock.mjs +609 -385
  74. package/fesm2022/primeng-dock.mjs.map +1 -1
  75. package/fesm2022/primeng-dom.mjs +599 -761
  76. package/fesm2022/primeng-dom.mjs.map +1 -1
  77. package/fesm2022/primeng-dragdrop.mjs +323 -311
  78. package/fesm2022/primeng-dragdrop.mjs.map +1 -1
  79. package/fesm2022/primeng-drawer.mjs +913 -482
  80. package/fesm2022/primeng-drawer.mjs.map +1 -1
  81. package/fesm2022/primeng-dynamicdialog.mjs +828 -928
  82. package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
  83. package/fesm2022/primeng-editor.mjs +547 -390
  84. package/fesm2022/primeng-editor.mjs.map +1 -1
  85. package/fesm2022/primeng-fieldset.mjs +559 -274
  86. package/fesm2022/primeng-fieldset.mjs.map +1 -1
  87. package/fesm2022/primeng-fileupload.mjs +1836 -1047
  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 -1406
  96. package/fesm2022/primeng-galleria.mjs.map +1 -1
  97. package/fesm2022/primeng-gallery.mjs +2768 -1798
  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 -534
  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 -2180
  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 -1379
  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 -375
  233. package/fesm2022/primeng-inputotp.mjs.map +1 -1
  234. package/fesm2022/primeng-inputpassword.mjs +179 -98
  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 -170
  239. package/fesm2022/primeng-inputtext.mjs.map +1 -1
  240. package/fesm2022/primeng-keyfilter.mjs +268 -243
  241. package/fesm2022/primeng-keyfilter.mjs.map +1 -1
  242. package/fesm2022/primeng-knob.mjs +627 -403
  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 -1593
  249. package/fesm2022/primeng-listbox.mjs.map +1 -1
  250. package/fesm2022/primeng-megamenu.mjs +2006 -1117
  251. package/fesm2022/primeng-megamenu.mjs.map +1 -1
  252. package/fesm2022/primeng-menu.mjs +1437 -845
  253. package/fesm2022/primeng-menu.mjs.map +1 -1
  254. package/fesm2022/primeng-menubar.mjs +1832 -972
  255. package/fesm2022/primeng-menubar.mjs.map +1 -1
  256. package/fesm2022/primeng-message.mjs +474 -243
  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 -1898
  263. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  264. package/fesm2022/primeng-orderlist.mjs +1308 -678
  265. package/fesm2022/primeng-orderlist.mjs.map +1 -1
  266. package/fesm2022/primeng-organizationchart.mjs +912 -597
  267. package/fesm2022/primeng-organizationchart.mjs.map +1 -1
  268. package/fesm2022/primeng-overlay.mjs +929 -610
  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 +961 -505
  273. package/fesm2022/primeng-paginator.mjs.map +1 -1
  274. package/fesm2022/primeng-panel.mjs +668 -347
  275. package/fesm2022/primeng-panel.mjs.map +1 -1
  276. package/fesm2022/primeng-panelmenu.mjs +1842 -966
  277. package/fesm2022/primeng-panelmenu.mjs.map +1 -1
  278. package/fesm2022/primeng-passthrough.mjs +10 -20
  279. package/fesm2022/primeng-passthrough.mjs.map +1 -1
  280. package/fesm2022/primeng-password.mjs +1518 -858
  281. package/fesm2022/primeng-password.mjs.map +1 -1
  282. package/fesm2022/primeng-picklist.mjs +2270 -1253
  283. package/fesm2022/primeng-picklist.mjs.map +1 -1
  284. package/fesm2022/primeng-popover.mjs +656 -434
  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 -294
  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 -170
  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 -1047
  299. package/fesm2022/primeng-scroller.mjs.map +1 -1
  300. package/fesm2022/primeng-scrollpanel.mjs +568 -454
  301. package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
  302. package/fesm2022/primeng-scrolltop.mjs +509 -261
  303. package/fesm2022/primeng-scrolltop.mjs.map +1 -1
  304. package/fesm2022/primeng-select.mjs +2948 -1714
  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 -1413
  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 -704
  315. package/fesm2022/primeng-speeddial.mjs.map +1 -1
  316. package/fesm2022/primeng-splitbutton.mjs +889 -340
  317. package/fesm2022/primeng-splitbutton.mjs.map +1 -1
  318. package/fesm2022/primeng-splitter.mjs +997 -762
  319. package/fesm2022/primeng-splitter.mjs.map +1 -1
  320. package/fesm2022/primeng-stepper.mjs +1355 -645
  321. package/fesm2022/primeng-stepper.mjs.map +1 -1
  322. package/fesm2022/primeng-steps.mjs +523 -407
  323. package/fesm2022/primeng-steps.mjs.map +1 -1
  324. package/fesm2022/primeng-styleclass.mjs +446 -330
  325. package/fesm2022/primeng-styleclass.mjs.map +1 -1
  326. package/fesm2022/primeng-table.mjs +9765 -5849
  327. package/fesm2022/primeng-table.mjs.map +1 -1
  328. package/fesm2022/primeng-tabs.mjs +1357 -815
  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 -204
  335. package/fesm2022/primeng-textarea.mjs.map +1 -1
  336. package/fesm2022/primeng-tieredmenu.mjs +1917 -1094
  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 -928
  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 -765
  349. package/fesm2022/primeng-tooltip.mjs.map +1 -1
  350. package/fesm2022/primeng-tree.mjs +2681 -1888
  351. package/fesm2022/primeng-tree.mjs.map +1 -1
  352. package/fesm2022/primeng-treeselect.mjs +1678 -927
  353. package/fesm2022/primeng-treeselect.mjs.map +1 -1
  354. package/fesm2022/primeng-treetable.mjs +5849 -3742
  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 -109
  459. package/fesm2022/primeng-usestyle.mjs.map +1 -1
  460. package/fesm2022/primeng-utils.mjs +238 -328
  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 +7 -2
  465. package/types/primeng-accordion.d.ts +289 -221
  466. package/types/primeng-animateonscroll.d.ts +89 -61
  467. package/types/primeng-api.d.ts +1760 -1790
  468. package/types/primeng-autocomplete.d.ts +1054 -757
  469. package/types/primeng-autofocus.d.ts +27 -24
  470. package/types/primeng-avatar.d.ts +153 -117
  471. package/types/primeng-avatargroup.d.ts +46 -43
  472. package/types/primeng-badge.d.ts +105 -81
  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 -427
  482. package/types/primeng-buttongroup.d.ts +27 -33
  483. package/types/primeng-card.d.ts +131 -122
  484. package/types/primeng-carousel.d.ts +800 -632
  485. package/types/primeng-cascadeselect.d.ts +754 -565
  486. package/types/primeng-chart.d.ts +160 -116
  487. package/types/primeng-checkbox.d.ts +299 -211
  488. package/types/primeng-chip.d.ts +189 -147
  489. package/types/primeng-classnames.d.ts +23 -21
  490. package/types/primeng-colorpicker.d.ts +325 -272
  491. package/types/primeng-commandmenu.d.ts +213 -165
  492. package/types/primeng-compare.d.ts +267 -191
  493. package/types/primeng-config.d.ts +294 -304
  494. package/types/primeng-confirmdialog.d.ts +505 -328
  495. package/types/primeng-confirmpopup.d.ts +254 -214
  496. package/types/primeng-contextmenu.d.ts +522 -368
  497. package/types/primeng-dataview.d.ts +498 -345
  498. package/types/primeng-datepicker.d.ts +1269 -972
  499. package/types/primeng-dialog.d.ts +668 -465
  500. package/types/primeng-divider.d.ts +114 -100
  501. package/types/primeng-dock.d.ts +207 -175
  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 +355 -257
  505. package/types/primeng-dynamicdialog.d.ts +528 -540
  506. package/types/primeng-editor.d.ts +211 -165
  507. package/types/primeng-fieldset.d.ts +199 -166
  508. package/types/primeng-fileupload.d.ts +727 -526
  509. package/types/primeng-floatlabel.d.ts +55 -51
  510. package/types/primeng-fluid.d.ts +37 -39
  511. package/types/primeng-focustrap.d.ts +30 -27
  512. package/types/primeng-galleria.d.ts +570 -433
  513. package/types/primeng-gallery.d.ts +754 -552
  514. package/types/primeng-iconfield.d.ts +54 -45
  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 +24 -25
  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 +38 -40
  572. package/types/primeng-image.d.ts +404 -311
  573. package/types/primeng-imagecompare.d.ts +94 -80
  574. package/types/primeng-inplace.d.ts +126 -114
  575. package/types/primeng-inputcolor.d.ts +645 -508
  576. package/types/primeng-inputgroup.d.ts +42 -44
  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 +520 -365
  580. package/types/primeng-inputnumber.d.ts +573 -408
  581. package/types/primeng-inputotp.d.ts +206 -159
  582. package/types/primeng-inputpassword.d.ts +60 -47
  583. package/types/primeng-inputtags.d.ts +453 -301
  584. package/types/primeng-inputtext.d.ts +130 -96
  585. package/types/primeng-keyfilter.d.ts +62 -53
  586. package/types/primeng-knob.d.ts +257 -186
  587. package/types/primeng-label.d.ts +37 -39
  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 +536 -386
  591. package/types/primeng-menu.d.ts +478 -363
  592. package/types/primeng-menubar.d.ts +495 -354
  593. package/types/primeng-message.d.ts +192 -151
  594. package/types/primeng-metergroup.d.ts +249 -189
  595. package/types/primeng-motion.d.ts +601 -385
  596. package/types/primeng-multiselect.d.ts +1193 -861
  597. package/types/primeng-orderlist.d.ts +539 -393
  598. package/types/primeng-organizationchart.d.ts +236 -195
  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 +410 -314
  602. package/types/primeng-panel.d.ts +267 -217
  603. package/types/primeng-panelmenu.d.ts +255 -231
  604. package/types/primeng-passthrough.d.ts +5 -7
  605. package/types/primeng-password.d.ts +606 -433
  606. package/types/primeng-picklist.d.ts +1042 -759
  607. package/types/primeng-popover.d.ts +235 -176
  608. package/types/primeng-progressbar.d.ts +131 -102
  609. package/types/primeng-progressspinner.d.ts +145 -111
  610. package/types/primeng-radiobutton.d.ts +219 -171
  611. package/types/primeng-rating.d.ts +240 -192
  612. package/types/primeng-ripple.d.ts +39 -45
  613. package/types/primeng-scrollarea.d.ts +292 -243
  614. package/types/primeng-scroller.d.ts +523 -390
  615. package/types/primeng-scrollpanel.d.ts +135 -131
  616. package/types/primeng-scrolltop.d.ts +170 -126
  617. package/types/primeng-select.d.ts +1014 -741
  618. package/types/primeng-selectbutton.d.ts +239 -167
  619. package/types/primeng-sidebar.d.ts +793 -562
  620. package/types/primeng-skeleton.d.ts +116 -87
  621. package/types/primeng-slider.d.ts +378 -311
  622. package/types/primeng-speeddial.d.ts +495 -375
  623. package/types/primeng-splitbutton.d.ts +382 -243
  624. package/types/primeng-splitter.d.ts +392 -301
  625. package/types/primeng-stepper.d.ts +417 -257
  626. package/types/primeng-steps.d.ts +158 -137
  627. package/types/primeng-styleclass.d.ts +163 -105
  628. package/types/primeng-table.d.ts +2898 -1912
  629. package/types/primeng-tabs.d.ts +463 -307
  630. package/types/primeng-tag.d.ts +107 -88
  631. package/types/primeng-terminal.d.ts +132 -120
  632. package/types/primeng-textarea.d.ts +146 -110
  633. package/types/primeng-tieredmenu.d.ts +573 -401
  634. package/types/primeng-timeline.d.ts +126 -112
  635. package/types/primeng-toast.d.ts +313 -252
  636. package/types/primeng-togglebutton.d.ts +255 -185
  637. package/types/primeng-toggleswitch.d.ts +190 -144
  638. package/types/primeng-toolbar.d.ts +83 -79
  639. package/types/primeng-tooltip.d.ts +335 -235
  640. package/types/primeng-tree.d.ts +763 -562
  641. package/types/primeng-treeselect.d.ts +750 -544
  642. package/types/primeng-treetable.d.ts +1839 -1315
  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,1337 +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.2", ngImport: i0, type: InputMaskStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
52
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: InputMaskStyle });
53
- }
54
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", 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
- onCompleteEvent = output({ alias: 'onComplete' });
167
- /**
168
- * Callback to invoke when value changes, emits unmasked value.
169
- * @group Emits
170
- */
171
- onUnmaskedChange = output();
172
- defs;
173
- tests;
174
- partialPosition;
175
- firstNonMaskPos;
176
- lastRequiredNonMaskPos;
177
- len;
178
- oldVal;
179
- buffer;
180
- defaultBuffer;
181
- focusText;
182
- caretTimeoutId;
183
- androidChrome = true;
184
- focused;
185
- _inputElement = null;
186
- _listeners = [];
187
- isInputVisible(input) {
188
- const style = getComputedStyle(input);
189
- return style.display !== 'none' && style.visibility !== 'hidden';
190
- }
191
- get inputElement() {
192
- if (!this._inputElement) {
193
- const host = this.el.nativeElement;
194
- this._inputElement = host.querySelector('[data-p-maskable]') || Array.from(host.querySelectorAll('input')).find((input) => this.isInputVisible(input)) || host;
195
- }
196
- return this._inputElement;
197
- }
198
- constructor() {
199
- super();
200
- effect(() => {
201
- const pt = this.pInputMaskPT();
202
- pt && this.directivePT.set(pt);
203
- });
204
- effect(() => {
205
- this.pInputMaskUnstyled() && this.directiveUnstyled.set(this.pInputMaskUnstyled());
206
- });
207
- effect(() => {
208
- const maskValue = this.pInputMask();
209
- if (maskValue) {
210
- untracked(() => this.initMask());
211
- }
212
- });
213
- if (isPlatformBrowser(this.platformId)) {
214
- const ua = navigator.userAgent;
215
- this.androidChrome = /chrome/i.test(ua) && /android/i.test(ua);
216
- }
217
- }
218
- onAfterViewInit() {
219
- if (isPlatformBrowser(this.platformId) && this.inputElement) {
220
- const events = [
221
- ['focus', (e) => this.onInputFocus(e)],
222
- ['blur', (e) => this.onInputBlur(e)],
223
- ['keydown', (e) => this.onInputKeydown(e)],
224
- ['keypress', (e) => this.onKeyPress(e)],
225
- ['input', (e) => this.onInputChange(e)],
226
- ['paste', (e) => this.onPaste(e)]
227
- ];
228
- events.forEach(([event, handler]) => {
229
- this.inputElement.addEventListener(event, handler);
230
- this._listeners.push(() => this.inputElement.removeEventListener(event, handler));
231
- });
232
- }
233
- }
234
- onDestroy() {
235
- this._listeners.forEach((unlisten) => unlisten());
236
- }
237
- initMask() {
238
- const maskValue = this.pInputMask();
239
- if (!maskValue) {
240
- return;
241
- }
242
- this.tests = [];
243
- this.partialPosition = maskValue.length;
244
- this.len = maskValue.length;
245
- this.firstNonMaskPos = null;
246
- this.defs = {
247
- '9': '[0-9]',
248
- a: this.characterPattern(),
249
- '*': `${this.characterPattern()}|[0-9]`
250
- };
251
- const maskTokens = maskValue.split('');
252
- for (let i = 0; i < maskTokens.length; i++) {
253
- const c = maskTokens[i];
254
- if (c == '?') {
255
- this.len--;
256
- this.partialPosition = i;
257
- }
258
- else if (this.defs[c]) {
259
- this.tests.push(new RegExp(this.defs[c]));
260
- if (this.firstNonMaskPos === null) {
261
- this.firstNonMaskPos = this.tests.length - 1;
262
- }
263
- if (i < this.partialPosition) {
264
- this.lastRequiredNonMaskPos = this.tests.length - 1;
265
- }
266
- }
267
- else {
268
- this.tests.push(null);
269
- }
270
- }
271
- this.buffer = [];
272
- for (let i = 0; i < maskTokens.length; i++) {
273
- const c = maskTokens[i];
274
- if (c != '?') {
275
- if (this.defs[c])
276
- this.buffer.push(this.getPlaceholder(i));
277
- else
278
- this.buffer.push(c);
279
- }
280
- }
281
- this.defaultBuffer = this.buffer.join('');
282
- }
283
- onInputFocus(event) {
284
- if (this.inputElement.readOnly || !this.pInputMask()) {
285
- return;
286
- }
287
- this.focused = true;
288
- this.focusText = this.inputElement.value;
289
- clearTimeout(this.caretTimeoutId);
290
- const pos = this.checkVal();
291
- this.caretTimeoutId = setTimeout(() => {
292
- if (this.inputElement !== this.inputElement.ownerDocument.activeElement) {
293
- return;
294
- }
295
- this.writeBuffer();
296
- if (pos == this.pInputMask()?.replace('?', '').length) {
297
- this.caret(0, pos);
298
- }
299
- else {
300
- this.caret(pos);
301
- }
302
- }, 10);
303
- }
304
- onInputBlur(e) {
305
- if (!this.pInputMask()) {
306
- return;
307
- }
308
- this.focused = false;
309
- // Validate/finalize value on blur (clear incomplete if autoClear)
310
- if (!this.keepBuffer()) {
311
- const valueBefore = this.inputElement.value;
312
- this.checkVal();
313
- // If value changed, dispatch input event so ngModel gets updated
314
- if (this.inputElement.value !== valueBefore) {
315
- this.dispatchInputEvent();
316
- }
317
- }
318
- }
319
- onInputKeydown(e) {
320
- if (this.inputElement.readOnly || !this.pInputMask()) {
321
- return;
322
- }
323
- const k = e.which || e.keyCode;
324
- let pos;
325
- let begin;
326
- let end;
327
- let iPhone = false;
328
- if (isPlatformBrowser(this.platformId)) {
329
- iPhone = /iphone/i.test(getUserAgent());
330
- }
331
- this.oldVal = this.inputElement.value;
332
- // backspace, delete, and escape get special treatment
333
- if (k === 8 || k === 46 || (iPhone && k === 127)) {
334
- pos = this.caret();
335
- begin = pos.begin;
336
- end = pos.end;
337
- if (end - begin === 0) {
338
- begin = k !== 46 ? this.seekPrev(begin) : (end = this.seekNext(begin - 1));
339
- end = k === 46 ? this.seekNext(end) : end;
340
- }
341
- this.clearBuffer(begin, end);
342
- if (this.keepBuffer()) {
343
- this.shiftL(begin, end - 2);
344
- }
345
- else {
346
- this.shiftL(begin, end - 1);
347
- }
348
- // Dispatch input event to notify parent components (like DatePicker)
349
- this.dispatchInputEvent();
350
- e.preventDefault();
351
- }
352
- else if (k === 13) {
353
- // enter
354
- this.onInputBlur(e);
355
- }
356
- else if (k === 27) {
357
- // escape
358
- this.inputElement.value = this.focusText;
359
- this.caret(0, this.checkVal());
360
- e.preventDefault();
361
- }
362
- }
363
- onKeyPress(e) {
364
- if (this.inputElement.readOnly || !this.pInputMask()) {
365
- return;
366
- }
367
- const k = e.which || e.keyCode;
368
- const pos = this.caret();
369
- let p;
370
- let c;
371
- let next;
372
- let completed;
373
- if (e.ctrlKey || e.altKey || e.metaKey || k < 32 || (k > 34 && k < 41)) {
374
- return;
375
- }
376
- else if (k && k !== 13) {
377
- if (pos.end - pos.begin !== 0) {
378
- this.clearBuffer(pos.begin, pos.end);
379
- this.shiftL(pos.begin, pos.end - 1);
380
- }
381
- p = this.seekNext(pos.begin - 1);
382
- if (p < this.len) {
383
- c = String.fromCharCode(k);
384
- if (this.tests[p]?.test(c)) {
385
- this.shiftR(p);
386
- this.buffer[p] = c;
387
- this.writeBuffer();
388
- // Dispatch input event to notify parent components (like DatePicker)
389
- this.dispatchInputEvent();
390
- next = this.seekNext(p);
391
- if (isClient() && /android/i.test(getUserAgent())) {
392
- const proxy = () => {
393
- this.caret(next);
394
- };
395
- setTimeout(proxy, 0);
396
- }
397
- else {
398
- this.caret(next);
399
- }
400
- if (pos.begin <= this.lastRequiredNonMaskPos) {
401
- completed = this.isCompleted();
402
- }
403
- }
404
- }
405
- e.preventDefault();
406
- }
407
- if (completed) {
408
- this.onCompleteEvent.emit();
409
- }
410
- }
411
- onInputChange(event) {
412
- if (!this.pInputMask()) {
413
- return;
414
- }
415
- // Skip synthetic events dispatched by dispatchInputEvent() to avoid re-processing
416
- if (!event.isTrusted) {
417
- return;
418
- }
419
- if (this.androidChrome)
420
- this.handleAndroidInput(event);
421
- else
422
- this.handleInputChange(event);
423
- }
424
- onPaste(event) {
425
- if (!this.pInputMask()) {
426
- return;
427
- }
428
- this.handleInputChange(event);
429
- }
430
- // Helper methods
431
- caret(first, last) {
432
- let range;
433
- let begin;
434
- let end;
435
- if (!this.inputElement.offsetParent || this.inputElement !== this.inputElement.ownerDocument.activeElement) {
436
- return;
437
- }
438
- if (typeof first == 'number') {
439
- begin = first;
440
- end = typeof last === 'number' ? last : begin;
441
- if (typeof this.inputElement.setSelectionRange === 'function') {
442
- this.inputElement.setSelectionRange(begin, end);
443
- }
444
- else if (this.inputElement['createTextRange']) {
445
- range = this.inputElement['createTextRange']();
446
- range.collapse(true);
447
- range.moveEnd('character', end);
448
- range.moveStart('character', begin);
449
- range.select();
450
- }
451
- }
452
- else {
453
- if (typeof this.inputElement.setSelectionRange === 'function') {
454
- begin = this.inputElement.selectionStart;
455
- end = this.inputElement.selectionEnd;
456
- }
457
- else if (this.document['selection'] && this.document['selection'].createRange) {
458
- range = this.document['selection'].createRange();
459
- begin = 0 - range.duplicate().moveStart('character', -100000);
460
- end = begin + range.text.length;
461
- }
462
- return { begin: begin, end: end };
463
- }
464
- }
465
- isCompleted() {
466
- for (let i = this.firstNonMaskPos; i <= this.lastRequiredNonMaskPos; i++) {
467
- if (this.tests[i] && this.buffer[i] === this.getPlaceholder(i)) {
468
- return false;
469
- }
470
- }
471
- return true;
472
- }
473
- getPlaceholder(i) {
474
- const slotCharValue = this.slotChar();
475
- if (i < slotCharValue.length) {
476
- return slotCharValue.charAt(i);
477
- }
478
- return slotCharValue.charAt(0);
479
- }
480
- seekNext(pos) {
481
- while (++pos < this.len && !this.tests[pos])
482
- ;
483
- return pos;
484
- }
485
- seekPrev(pos) {
486
- while (--pos >= 0 && !this.tests[pos])
487
- ;
488
- return pos;
489
- }
490
- shiftL(begin, end) {
491
- let i, j;
492
- if (begin < 0) {
493
- return;
494
- }
495
- for (i = begin, j = this.seekNext(end); i < this.len; i++) {
496
- if (this.tests[i]) {
497
- if (this.keepCharPositions() && this.crossesLiteralBoundary(i, j)) {
498
- break;
499
- }
500
- if (j < this.len && this.tests[i].test(this.buffer[j])) {
501
- this.buffer[i] = this.buffer[j];
502
- this.buffer[j] = this.getPlaceholder(j);
503
- }
504
- else {
505
- break;
506
- }
507
- j = this.seekNext(j);
508
- }
509
- }
510
- this.writeBuffer();
511
- this.caret(Math.max(this.firstNonMaskPos, begin));
512
- }
513
- crossesLiteralBoundary(i, j) {
514
- for (let k = i + 1; k < j && k < this.len; k++) {
515
- if (!this.tests[k]) {
516
- return true;
517
- }
518
- }
519
- return false;
520
- }
521
- shiftR(pos) {
522
- let i, c, j, t;
523
- for (i = pos, c = this.getPlaceholder(pos); i < this.len; i++) {
524
- if (this.tests[i]) {
525
- j = this.seekNext(i);
526
- t = this.buffer[i];
527
- this.buffer[i] = c;
528
- if (j < this.len && this.tests[j]?.test(t)) {
529
- c = t;
530
- }
531
- else {
532
- break;
533
- }
534
- }
535
- }
536
- }
537
- handleAndroidInput(e) {
538
- const curVal = this.inputElement.value;
539
- const pos = this.caret();
540
- if (this.oldVal && this.oldVal.length && this.oldVal.length > curVal.length) {
541
- // a deletion or backspace happened
542
- this.checkVal(true);
543
- while (pos.begin > 0 && !this.tests[pos.begin - 1])
544
- pos.begin--;
545
- if (pos.begin === 0) {
546
- while (pos.begin < this.firstNonMaskPos && !this.tests[pos.begin])
547
- pos.begin++;
548
- }
549
- setTimeout(() => {
550
- this.caret(pos.begin, pos.begin);
551
- this.dispatchInputEvent();
552
- if (this.isCompleted()) {
553
- this.onCompleteEvent.emit();
554
- }
555
- }, 0);
556
- }
557
- else {
558
- this.checkVal(true);
559
- while (pos.begin < this.len && !this.tests[pos.begin])
560
- pos.begin++;
561
- setTimeout(() => {
562
- this.caret(pos.begin, pos.begin);
563
- this.dispatchInputEvent();
564
- if (this.isCompleted()) {
565
- this.onCompleteEvent.emit();
566
- }
567
- }, 0);
568
- }
569
- }
570
- handleInputChange(event) {
571
- if (this.inputElement.readOnly) {
572
- return;
573
- }
574
- setTimeout(() => {
575
- const pos = this.checkVal(true);
576
- this.caret(pos);
577
- this.dispatchInputEvent();
578
- if (this.isCompleted()) {
579
- this.onCompleteEvent.emit();
580
- }
581
- }, 0);
582
- }
583
- clearBuffer(start, end) {
584
- if (!this.keepBuffer()) {
585
- let i;
586
- for (i = start; i < end && i < this.len; i++) {
587
- if (this.tests[i]) {
588
- this.buffer[i] = this.getPlaceholder(i);
589
- }
590
- }
591
- }
592
- }
593
- writeBuffer() {
594
- if (this.buffer && this.inputElement) {
595
- this.inputElement.value = this.buffer.join('');
596
- }
597
- }
598
- /**
599
- * Dispatches an input event on the host element.
600
- * This is needed to notify parent components of value changes
601
- * since programmatic value changes don't trigger native input events.
602
- */
603
- dispatchInputEvent() {
604
- const event = new Event('input', { bubbles: true, cancelable: true });
605
- this.inputElement.dispatchEvent(event);
606
- this.onUnmaskedChange.emit(this.getUnmaskedValue());
607
- }
608
- checkVal(allow) {
609
- // try to place characters where they belong
610
- const test = this.inputElement.value;
611
- let lastMatch = -1;
612
- let i;
613
- let c;
614
- let pos;
615
- for (i = 0, pos = 0; i < this.len; i++) {
616
- if (this.tests[i]) {
617
- this.buffer[i] = this.getPlaceholder(i);
618
- while (pos++ < test.length) {
619
- c = test.charAt(pos - 1);
620
- if (this.tests[i].test(c)) {
621
- if (!this.keepBuffer()) {
622
- this.buffer[i] = c;
623
- }
624
- lastMatch = i;
625
- break;
626
- }
627
- }
628
- if (pos > test.length) {
629
- this.clearBuffer(i + 1, this.len);
630
- break;
631
- }
632
- }
633
- else {
634
- if (this.buffer[i] === test.charAt(pos)) {
635
- pos++;
636
- }
637
- if (i < this.partialPosition) {
638
- lastMatch = i;
639
- }
640
- }
641
- }
642
- if (allow) {
643
- this.writeBuffer();
644
- }
645
- else if (lastMatch + 1 < this.partialPosition) {
646
- if (this.autoClear() || this.buffer.join('') === this.defaultBuffer) {
647
- // Invalid value. Remove it and replace it with the
648
- // mask, which is the default behavior.
649
- if (this.inputElement.value)
650
- this.inputElement.value = '';
651
- this.clearBuffer(0, this.len);
652
- }
653
- else {
654
- // Invalid value, but we opt to show the value to the
655
- // user and allow them to correct their mistake.
656
- this.writeBuffer();
657
- }
658
- }
659
- else {
660
- this.writeBuffer();
661
- this.inputElement.value = this.inputElement.value.substring(0, lastMatch + 1);
662
- }
663
- return (this.partialPosition ? i : this.firstNonMaskPos);
664
- }
665
- getUnmaskedValue() {
666
- const unmaskedBuffer = [];
667
- for (let i = 0; i < this.buffer.length; i++) {
668
- const c = this.buffer[i];
669
- if (this.tests[i] && c != this.getPlaceholder(i)) {
670
- unmaskedBuffer.push(c);
671
- }
672
- }
673
- return unmaskedBuffer.join('');
674
- }
675
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: InputMaskDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
676
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.2", 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 });
677
- }
678
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: InputMaskDirective, decorators: [{
679
- type: Directive,
680
- args: [{
681
- selector: '[pInputMask]',
682
- standalone: true,
683
- providers: [InputMaskStyle, { provide: INPUTMASK_DIRECTIVE_INSTANCE, useExisting: InputMaskDirective }, { provide: PARENT_INSTANCE, useExisting: InputMaskDirective }],
684
- host: {
685
- '[class.p-inputmask]': '!$unstyled()'
686
- }
687
- }]
688
- }], 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
+ });
689
649
  const INPUTMASK_VALUE_ACCESSOR = {
690
- provide: NG_VALUE_ACCESSOR,
691
- useExisting: forwardRef(() => InputMask),
692
- multi: true
650
+ provide: NG_VALUE_ACCESSOR,
651
+ useExisting: forwardRef(() => InputMask),
652
+ multi: true
693
653
  };
694
- /**
695
- * InputMask component is used to enter input in a certain format such as numeric, date, currency, email and phone.
696
- * @group Components
697
- */
698
- class InputMask extends BaseInput {
699
- componentName = 'InputMask';
700
- _componentStyle = inject(InputMaskStyle);
701
- $pcInputMask = inject(INPUTMASK_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;
702
- bindDirectiveInstance = inject(Bind, { self: true });
703
- onAfterViewChecked() {
704
- this.bindDirectiveInstance.setAttrs(this.ptms(['root', 'host']));
705
- }
706
- ptmParams = computed(() => ({ context: { filled: this.$variant() === 'filled' } }), /* @ts-ignore */
707
- ...(ngDevMode ? [{ debugName: "ptmParams" }] : /* istanbul ignore next */ []));
708
- requiredAttr = computed(() => (this.required() ? '' : undefined), /* @ts-ignore */
709
- ...(ngDevMode ? [{ debugName: "requiredAttr" }] : /* istanbul ignore next */ []));
710
- readonlyAttr = computed(() => (this.readonly() ? '' : undefined), /* @ts-ignore */
711
- ...(ngDevMode ? [{ debugName: "readonlyAttr" }] : /* istanbul ignore next */ []));
712
- disabledAttr = computed(() => (this.$disabled() ? '' : undefined), /* @ts-ignore */
713
- ...(ngDevMode ? [{ debugName: "disabledAttr" }] : /* istanbul ignore next */ []));
714
- showClearIcon = computed(() => this.value() != null && this.$filled() && this.showClear() && !this.$disabled(), /* @ts-ignore */
715
- ...(ngDevMode ? [{ debugName: "showClearIcon" }] : /* istanbul ignore next */ []));
716
- /**
717
- * HTML5 input type.
718
- * @group Props
719
- */
720
- type = input('text', /* @ts-ignore */
721
- ...(ngDevMode ? [{ debugName: "type" }] : /* istanbul ignore next */ []));
722
- /**
723
- * Placeholder character in mask, default is underscore.
724
- * @group Props
725
- */
726
- slotChar = input('_', /* @ts-ignore */
727
- ...(ngDevMode ? [{ debugName: "slotChar" }] : /* istanbul ignore next */ []));
728
- /**
729
- * Clears the incomplete value on blur.
730
- * @group Props
731
- */
732
- autoClear = input(true, { ...(ngDevMode ? { debugName: "autoClear" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
733
- /**
734
- * When enabled, a clear icon is displayed to clear the value.
735
- * @group Props
736
- */
737
- showClear = input(false, { ...(ngDevMode ? { debugName: "showClear" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
738
- /**
739
- * Inline style of the input field.
740
- * @group Props
741
- */
742
- style = input(/* @ts-ignore */
743
- ...(ngDevMode ? [undefined, { debugName: "style" }] : /* istanbul ignore next */ []));
744
- /**
745
- * Identifier of the focus input to match a label defined for the component.
746
- * @group Props
747
- */
748
- inputId = input(/* @ts-ignore */
749
- ...(ngDevMode ? [undefined, { debugName: "inputId" }] : /* istanbul ignore next */ []));
750
- /**
751
- * Style class of the input field.
752
- * @group Props
753
- */
754
- styleClass = input(/* @ts-ignore */
755
- ...(ngDevMode ? [undefined, { debugName: "styleClass" }] : /* istanbul ignore next */ []));
756
- /**
757
- * Advisory information to display on input.
758
- * @group Props
759
- */
760
- placeholder = input(/* @ts-ignore */
761
- ...(ngDevMode ? [undefined, { debugName: "placeholder" }] : /* istanbul ignore next */ []));
762
- /**
763
- * Specifies tab order of the element.
764
- * @group Props
765
- */
766
- tabindex = input(/* @ts-ignore */
767
- ...(ngDevMode ? [undefined, { debugName: "tabindex" }] : /* istanbul ignore next */ []));
768
- /**
769
- * Title text of the input text.
770
- * @group Props
771
- */
772
- title = input(/* @ts-ignore */
773
- ...(ngDevMode ? [undefined, { debugName: "title" }] : /* istanbul ignore next */ []));
774
- /**
775
- * Used to define a string that labels the input element.
776
- * @group Props
777
- */
778
- ariaLabel = input(/* @ts-ignore */
779
- ...(ngDevMode ? [undefined, { debugName: "ariaLabel" }] : /* istanbul ignore next */ []));
780
- /**
781
- * Establishes relationships between the component and label(s) where its value should be one or more element IDs.
782
- * @group Props
783
- */
784
- ariaLabelledBy = input(/* @ts-ignore */
785
- ...(ngDevMode ? [undefined, { debugName: "ariaLabelledBy" }] : /* istanbul ignore next */ []));
786
- /**
787
- * Used to indicate that user input is required on an element before a form can be submitted.
788
- * @group Props
789
- */
790
- ariaRequired = input(undefined, { ...(ngDevMode ? { debugName: "ariaRequired" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
791
- /**
792
- * When present, it specifies that an input field is read-only.
793
- * @group Props
794
- */
795
- readonly = input(false, { ...(ngDevMode ? { debugName: "readonly" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
796
- /**
797
- * Defines if ngModel sets the raw unmasked value to bound value or the formatted mask value.
798
- * @group Props
799
- */
800
- unmask = input(false, { ...(ngDevMode ? { debugName: "unmask" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
801
- /**
802
- * Regex pattern for alpha characters
803
- * @group Props
804
- */
805
- characterPattern = input('[A-Za-z]', /* @ts-ignore */
806
- ...(ngDevMode ? [{ debugName: "characterPattern" }] : /* istanbul ignore next */ []));
807
- /**
808
- * When present, the input gets a focus automatically on load.
809
- * @group Props
810
- */
811
- autofocus = input(false, { ...(ngDevMode ? { debugName: "autofocus" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
812
- /**
813
- * Used to define a string that autocomplete attribute the current element.
814
- * @group Props
815
- */
816
- autocomplete = input(/* @ts-ignore */
817
- ...(ngDevMode ? [undefined, { debugName: "autocomplete" }] : /* istanbul ignore next */ []));
818
- /**
819
- * When present, it specifies that whether to clean buffer value from model.
820
- * @group Props
821
- */
822
- keepBuffer = input(false, { ...(ngDevMode ? { debugName: "keepBuffer" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
823
- /**
824
- * When enabled, deleting a character does not shift the following characters across literal
825
- * separators (e.g. the "." in 99.99.9999), keeping each mask section independent.
826
- * @group Props
827
- */
828
- keepCharPositions = input(false, { ...(ngDevMode ? { debugName: "keepCharPositions" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
829
- /**
830
- * Mask pattern.
831
- * @group Props
832
- */
833
- mask = input(/* @ts-ignore */
834
- ...(ngDevMode ? [undefined, { debugName: "mask" }] : /* istanbul ignore next */ []));
835
- /**
836
- * Callback to invoke when the mask is completed.
837
- * @group Emits
838
- */
839
- onComplete = output();
840
- /**
841
- * Callback to invoke when the component receives focus.
842
- * @param {Event} event - Browser event.
843
- * @group Emits
844
- */
845
- onFocus = output();
846
- /**
847
- * Callback to invoke when the component loses focus.
848
- * @param {Event} event - Browser event.
849
- * @group Emits
850
- */
851
- onBlur = output();
852
- /**
853
- * Callback to invoke on input.
854
- * @param {Event} event - Browser event.
855
- * @group Emits
856
- */
857
- onInput = output();
858
- /**
859
- * Callback to invoke on input key press.
860
- * @param {Event} event - Browser event.
861
- * @group Emits
862
- */
863
- onKeydown = output();
864
- /**
865
- * Callback to invoke when input field is cleared.
866
- * @group Emits
867
- */
868
- onClear = output();
869
- /**
870
- * Custom clear icon template.
871
- * @group Templates
872
- */
873
- clearIconTemplate = contentChild('clearicon', { ...(ngDevMode ? { debugName: "clearIconTemplate" } : /* istanbul ignore next */ {}), descendants: false });
874
- inputViewChild = viewChild.required('input', /* @ts-ignore */
875
- ...(ngDevMode ? [{ debugName: "inputViewChild" }] : /* istanbul ignore next */ []));
876
- value = signal(null, /* @ts-ignore */
877
- ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
878
- defs;
879
- tests;
880
- partialPosition;
881
- firstNonMaskPos;
882
- lastRequiredNonMaskPos;
883
- len;
884
- oldVal;
885
- buffer;
886
- defaultBuffer;
887
- focusText;
888
- caretTimeoutId;
889
- androidChrome = true;
890
- focused;
891
- constructor() {
892
- super();
893
- effect(() => {
894
- const maskValue = this.mask();
895
- if (maskValue !== undefined) {
896
- untracked(() => {
897
- this.initMask();
898
- this.writeControlValue(this.value(), this.writeModelValue.bind(this));
899
- });
900
- }
901
- });
902
- }
903
- onInit() {
904
- if (isPlatformBrowser(this.platformId)) {
905
- let ua = navigator.userAgent;
906
- this.androidChrome = /chrome/i.test(ua) && /android/i.test(ua);
907
- }
908
- this.initMask();
909
- }
910
- initMask() {
911
- const maskValue = this.mask();
912
- if (!maskValue) {
913
- return;
914
- }
915
- this.tests = [];
916
- this.partialPosition = maskValue.length;
917
- this.len = maskValue.length;
918
- this.firstNonMaskPos = null;
919
- this.defs = {
920
- '9': '[0-9]',
921
- a: this.characterPattern(),
922
- '*': `${this.characterPattern()}|[0-9]`
923
- };
924
- let maskTokens = maskValue.split('');
925
- for (let i = 0; i < maskTokens.length; i++) {
926
- let c = maskTokens[i];
927
- if (c == '?') {
928
- this.len--;
929
- this.partialPosition = i;
930
- }
931
- else if (this.defs[c]) {
932
- this.tests.push(new RegExp(this.defs[c]));
933
- if (this.firstNonMaskPos === null) {
934
- this.firstNonMaskPos = this.tests.length - 1;
935
- }
936
- if (i < this.partialPosition) {
937
- this.lastRequiredNonMaskPos = this.tests.length - 1;
938
- }
939
- }
940
- else {
941
- this.tests.push(null);
942
- }
943
- }
944
- this.buffer = [];
945
- for (let i = 0; i < maskTokens.length; i++) {
946
- let c = maskTokens[i];
947
- if (c != '?') {
948
- if (this.defs[c])
949
- this.buffer.push(this.getPlaceholder(i));
950
- else
951
- this.buffer.push(c);
952
- }
953
- }
954
- this.defaultBuffer = this.buffer.join('');
955
- }
956
- caret(first, last) {
957
- let range, begin, end;
958
- const inputEl = this.inputViewChild()?.nativeElement;
959
- if (!inputEl?.offsetParent || inputEl !== inputEl.ownerDocument.activeElement) {
960
- return;
961
- }
962
- if (typeof first == 'number') {
963
- begin = first;
964
- end = typeof last === 'number' ? last : begin;
965
- if (inputEl.setSelectionRange) {
966
- inputEl.setSelectionRange(begin, end);
967
- }
968
- else if (inputEl['createTextRange']) {
969
- range = inputEl['createTextRange']();
970
- range.collapse(true);
971
- range.moveEnd('character', end);
972
- range.moveStart('character', begin);
973
- range.select();
974
- }
975
- }
976
- else {
977
- if (inputEl.setSelectionRange) {
978
- begin = inputEl.selectionStart;
979
- end = inputEl.selectionEnd;
980
- }
981
- else if (this.document && this.document['selection'].createRange) {
982
- range = this.document.createRange();
983
- begin = 0 - range.duplicate().moveStart('character', -100000);
984
- end = begin + range.text.length;
985
- }
986
- return { begin: begin, end: end };
987
- }
988
- }
989
- isCompleted() {
990
- let completed;
991
- for (let i = this.firstNonMaskPos; i <= this.lastRequiredNonMaskPos; i++) {
992
- if (this.tests[i] && this.buffer[i] === this.getPlaceholder(i)) {
993
- return false;
994
- }
995
- }
996
- return true;
997
- }
998
- getPlaceholder(i) {
999
- const slotCharValue = this.slotChar();
1000
- if (i < slotCharValue.length) {
1001
- return slotCharValue.charAt(i);
1002
- }
1003
- return slotCharValue.charAt(0);
1004
- }
1005
- seekNext(pos) {
1006
- while (++pos < this.len && !this.tests[pos])
1007
- ;
1008
- return pos;
1009
- }
1010
- seekPrev(pos) {
1011
- while (--pos >= 0 && !this.tests[pos])
1012
- ;
1013
- return pos;
1014
- }
1015
- shiftL(begin, end) {
1016
- let i, j;
1017
- if (begin < 0) {
1018
- return;
1019
- }
1020
- for (i = begin, j = this.seekNext(end); i < this.len; i++) {
1021
- if (this.tests[i]) {
1022
- if (this.keepCharPositions() && this.crossesLiteralBoundary(i, j)) {
1023
- break;
1024
- }
1025
- if (j < this.len && this.tests[i].test(this.buffer[j])) {
1026
- this.buffer[i] = this.buffer[j];
1027
- this.buffer[j] = this.getPlaceholder(j);
1028
- }
1029
- else {
1030
- break;
1031
- }
1032
- j = this.seekNext(j);
1033
- }
1034
- }
1035
- this.writeBuffer();
1036
- this.caret(Math.max(this.firstNonMaskPos, begin));
1037
- }
1038
- crossesLiteralBoundary(i, j) {
1039
- for (let k = i + 1; k < j && k < this.len; k++) {
1040
- if (!this.tests[k]) {
1041
- return true;
1042
- }
1043
- }
1044
- return false;
1045
- }
1046
- shiftR(pos) {
1047
- let i, c, j, t;
1048
- for (i = pos, c = this.getPlaceholder(pos); i < this.len; i++) {
1049
- if (this.tests[i]) {
1050
- j = this.seekNext(i);
1051
- t = this.buffer[i];
1052
- this.buffer[i] = c;
1053
- if (j < this.len && this.tests[j]?.test(t)) {
1054
- c = t;
1055
- }
1056
- else {
1057
- break;
1058
- }
1059
- }
1060
- }
1061
- }
1062
- handleAndroidInput(e) {
1063
- let curVal = this.inputViewChild()?.nativeElement.value;
1064
- let pos = this.caret();
1065
- if (this.oldVal && this.oldVal.length && this.oldVal.length > curVal.length) {
1066
- // a deletion or backspace happened
1067
- this.checkVal(true);
1068
- while (pos.begin > 0 && !this.tests[pos.begin - 1])
1069
- pos.begin--;
1070
- if (pos.begin === 0) {
1071
- while (pos.begin < this.firstNonMaskPos && !this.tests[pos.begin])
1072
- pos.begin++;
1073
- }
1074
- setTimeout(() => {
1075
- this.caret(pos.begin, pos.begin);
1076
- this.updateModel(e);
1077
- if (this.isCompleted()) {
1078
- this.onComplete.emit();
1079
- }
1080
- }, 0);
1081
- }
1082
- else {
1083
- this.checkVal(true);
1084
- while (pos.begin < this.len && !this.tests[pos.begin])
1085
- pos.begin++;
1086
- setTimeout(() => {
1087
- this.caret(pos.begin, pos.begin);
1088
- this.updateModel(e);
1089
- if (this.isCompleted()) {
1090
- this.onComplete.emit();
1091
- }
1092
- }, 0);
1093
- }
1094
- }
1095
- onInputBlur(e) {
1096
- this.focused = false;
1097
- this.onModelTouched();
1098
- if (!this.keepBuffer()) {
1099
- this.checkVal();
1100
- }
1101
- this.onBlur.emit(e);
1102
- if (this.modelValue() != this.focusText || this.modelValue() != this.value()) {
1103
- this.updateModel(e);
1104
- let event = this.document.createEvent('HTMLEvents');
1105
- event.initEvent('change', true, false);
1106
- this.inputViewChild()?.nativeElement.dispatchEvent(event);
1107
- }
1108
- }
1109
- onInputKeydown(e) {
1110
- if (this.readonly()) {
1111
- return;
1112
- }
1113
- let k = e.which || e.keyCode, pos, begin, end;
1114
- let iPhone;
1115
- if (isPlatformBrowser(this.platformId)) {
1116
- iPhone = /iphone/i.test(getUserAgent());
1117
- }
1118
- this.oldVal = this.inputViewChild()?.nativeElement.value;
1119
- this.onKeydown.emit(e);
1120
- //backspace, delete, and escape get special treatment
1121
- if (k === 8 || k === 46 || (iPhone && k === 127)) {
1122
- pos = this.caret();
1123
- begin = pos.begin;
1124
- end = pos.end;
1125
- if (end - begin === 0) {
1126
- begin = k !== 46 ? this.seekPrev(begin) : (end = this.seekNext(begin - 1));
1127
- end = k === 46 ? this.seekNext(end) : end;
1128
- }
1129
- this.clearBuffer(begin, end);
1130
- if (this.keepBuffer()) {
1131
- this.shiftL(begin, end - 2);
1132
- }
1133
- else {
1134
- this.shiftL(begin, end - 1);
1135
- }
1136
- this.updateModel(e);
1137
- this.onInput.emit(e);
1138
- e.preventDefault();
1139
- }
1140
- else if (k === 13) {
1141
- // enter
1142
- this.onInputBlur(e);
1143
- this.updateModel(e);
1144
- }
1145
- else if (k === 27) {
1146
- // escape
1147
- this.inputViewChild().nativeElement.value = this.focusText;
1148
- this.caret(0, this.checkVal());
1149
- this.updateModel(e);
1150
- e.preventDefault();
1151
- }
1152
- }
1153
- onKeyPress(e) {
1154
- if (this.readonly()) {
1155
- return;
1156
- }
1157
- let k = e.which || e.keyCode, pos = this.caret(), p, c, next, completed;
1158
- if (e.ctrlKey || e.altKey || e.metaKey || k < 32 || (k > 34 && k < 41)) {
1159
- //Ignore
1160
- return;
1161
- }
1162
- else if (k && k !== 13) {
1163
- if (pos.end - pos.begin !== 0) {
1164
- this.clearBuffer(pos.begin, pos.end);
1165
- this.shiftL(pos.begin, pos.end - 1);
1166
- }
1167
- p = this.seekNext(pos.begin - 1);
1168
- if (p < this.len) {
1169
- c = String.fromCharCode(k);
1170
- if (this.tests[p]?.test(c)) {
1171
- this.shiftR(p);
1172
- this.buffer[p] = c;
1173
- this.writeBuffer();
1174
- next = this.seekNext(p);
1175
- if (isClient() && /android/i.test(getUserAgent())) {
1176
- let proxy = () => {
1177
- this.caret(next);
1178
- };
1179
- setTimeout(proxy, 0);
1180
- }
1181
- else {
1182
- this.caret(next);
1183
- }
1184
- if (pos.begin <= this.lastRequiredNonMaskPos) {
1185
- completed = this.isCompleted();
1186
- }
1187
- this.onInput.emit(e);
1188
- }
1189
- }
1190
- e.preventDefault();
1191
- }
1192
- this.updateModel(e);
1193
- if (completed) {
1194
- this.onComplete.emit();
1195
- }
1196
- }
1197
- clearBuffer(start, end) {
1198
- if (!this.keepBuffer()) {
1199
- let i;
1200
- for (i = start; i < end && i < this.len; i++) {
1201
- if (this.tests[i]) {
1202
- this.buffer[i] = this.getPlaceholder(i);
1203
- }
1204
- }
1205
- }
1206
- }
1207
- writeBuffer() {
1208
- const inputEl = this.inputViewChild()?.nativeElement;
1209
- if (this.buffer && inputEl) {
1210
- inputEl.value = this.buffer.join('');
1211
- }
1212
- }
1213
- checkVal(allow) {
1214
- //try to place characters where they belong
1215
- const inputEl = this.inputViewChild()?.nativeElement;
1216
- let test = inputEl?.value, lastMatch = -1, i, c, pos;
1217
- for (i = 0, pos = 0; i < this.len; i++) {
1218
- if (this.tests[i]) {
1219
- this.buffer[i] = this.getPlaceholder(i);
1220
- while (pos++ < test.length) {
1221
- c = test.charAt(pos - 1);
1222
- if (this.tests[i].test(c)) {
1223
- if (!this.keepBuffer()) {
1224
- this.buffer[i] = c;
1225
- }
1226
- lastMatch = i;
1227
- break;
1228
- }
1229
- }
1230
- if (pos > test.length) {
1231
- this.clearBuffer(i + 1, this.len);
1232
- break;
1233
- }
1234
- }
1235
- else {
1236
- if (this.buffer[i] === test.charAt(pos)) {
1237
- pos++;
1238
- }
1239
- if (i < this.partialPosition) {
1240
- lastMatch = i;
1241
- }
1242
- }
1243
- }
1244
- if (allow) {
1245
- this.writeBuffer();
1246
- }
1247
- else if (lastMatch + 1 < this.partialPosition) {
1248
- if (this.autoClear() || this.buffer.join('') === this.defaultBuffer) {
1249
- // Invalid value. Remove it and replace it with the
1250
- // mask, which is the default behavior.
1251
- if (inputEl?.value)
1252
- inputEl.value = '';
1253
- this.clearBuffer(0, this.len);
1254
- }
1255
- else {
1256
- // Invalid value, but we opt to show the value to the
1257
- // user and allow them to correct their mistake.
1258
- this.writeBuffer();
1259
- }
1260
- }
1261
- else {
1262
- this.writeBuffer();
1263
- if (inputEl) {
1264
- inputEl.value = inputEl.value.substring(0, lastMatch + 1);
1265
- }
1266
- }
1267
- return (this.partialPosition ? i : this.firstNonMaskPos);
1268
- }
1269
- onInputFocus(event) {
1270
- if (this.readonly()) {
1271
- return;
1272
- }
1273
- this.focused = true;
1274
- clearTimeout(this.caretTimeoutId);
1275
- let pos;
1276
- const inputEl = this.inputViewChild()?.nativeElement;
1277
- this.focusText = inputEl?.value;
1278
- pos = this.keepBuffer() ? inputEl?.value.length : this.checkVal();
1279
- this.caretTimeoutId = setTimeout(() => {
1280
- const inputElement = this.inputViewChild()?.nativeElement;
1281
- if (inputElement !== inputElement?.ownerDocument.activeElement) {
1282
- return;
1283
- }
1284
- this.writeBuffer();
1285
- if (pos == this.mask()?.replace('?', '').length) {
1286
- this.caret(0, pos);
1287
- }
1288
- else {
1289
- this.caret(pos);
1290
- }
1291
- }, 10);
1292
- this.onFocus.emit(event);
1293
- }
1294
- onInputChange(event) {
1295
- if (this.androidChrome)
1296
- this.handleAndroidInput(event);
1297
- else
1298
- this.handleInputChange(event);
1299
- this.onInput.emit(event);
1300
- }
1301
- handleInputChange(event) {
1302
- if (this.readonly()) {
1303
- return;
1304
- }
1305
- setTimeout(() => {
1306
- let pos = this.checkVal(true);
1307
- this.caret(pos);
1308
- this.updateModel(event);
1309
- if (this.isCompleted()) {
1310
- this.onComplete.emit();
1311
- }
1312
- }, 0);
1313
- }
1314
- getUnmaskedValue() {
1315
- let unmaskedBuffer = [];
1316
- for (let i = 0; i < this.buffer.length; i++) {
1317
- let c = this.buffer[i];
1318
- if (this.tests[i] && c != this.getPlaceholder(i)) {
1319
- unmaskedBuffer.push(c);
1320
- }
1321
- }
1322
- return unmaskedBuffer.join('');
1323
- }
1324
- updateModel(e) {
1325
- const target = e.target;
1326
- if (!target) {
1327
- return;
1328
- }
1329
- const updatedValue = this.unmask() ? this.getUnmaskedValue() : target.value;
1330
- if (updatedValue !== null && updatedValue !== undefined) {
1331
- this.value.set(updatedValue);
1332
- this.writeModelValue(this.value());
1333
- this.onModelChange(this.value());
1334
- }
1335
- }
1336
- focus() {
1337
- this.inputViewChild()?.nativeElement.focus();
1338
- }
1339
- clear() {
1340
- const inputEl = this.inputViewChild()?.nativeElement;
1341
- if (inputEl) {
1342
- inputEl.value = '';
1343
- }
1344
- this.value.set(null);
1345
- this.onModelChange(this.value());
1346
- this.onClear.emit();
1347
- }
1348
- /**
1349
- * @override
1350
- *
1351
- * @see {@link BaseEditableHolder.writeControlValue}
1352
- * Writes the value to the control.
1353
- */
1354
- writeControlValue(val, setModelValue) {
1355
- this.value.set(val);
1356
- setModelValue(this.value());
1357
- const inputEl = this.inputViewChild()?.nativeElement;
1358
- if (inputEl) {
1359
- const currentValue = this.value();
1360
- if (currentValue == undefined || currentValue == null)
1361
- inputEl.value = '';
1362
- else
1363
- inputEl.value = currentValue;
1364
- this.checkVal();
1365
- this.focusText = inputEl.value;
1366
- }
1367
- }
1368
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: InputMask, deps: [], target: i0.ɵɵFactoryTarget.Component });
1369
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.2", 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: `
1370
1277
  <input
1371
1278
  #input
1372
1279
  pInputText
@@ -1411,15 +1318,78 @@ class InputMask extends BaseInput {
1411
1318
  </span>
1412
1319
  }
1413
1320
  }
1414
- `, 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 });
1415
- }
1416
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: InputMask, decorators: [{
1417
- type: Component,
1418
- args: [{
1419
- selector: 'p-inputmask, p-input-mask',
1420
- standalone: true,
1421
- imports: [InputText, AutoFocus, Times, SharedModule, Bind, NgTemplateOutlet],
1422
- 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: `
1423
1393
  <input
1424
1394
  #input
1425
1395
  pInputText
@@ -1465,31 +1435,289 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImpor
1465
1435
  }
1466
1436
  }
1467
1437
  `,
1468
- providers: [INPUTMASK_VALUE_ACCESSOR, InputMaskStyle, { provide: INPUTMASK_INSTANCE, useExisting: InputMask }, { provide: PARENT_INSTANCE, useExisting: InputMask }],
1469
- changeDetection: ChangeDetectionStrategy.OnPush,
1470
- encapsulation: ViewEncapsulation.None,
1471
- hostDirectives: [Bind],
1472
- host: {
1473
- '[class]': "cx('root')"
1474
- }
1475
- }]
1476
- }], 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 }] }] } });
1477
- class InputMaskModule {
1478
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: InputMaskModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1479
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.2", ngImport: i0, type: InputMaskModule, imports: [InputMask, InputMaskDirective, SharedModule], exports: [InputMask, InputMaskDirective, SharedModule] });
1480
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: InputMaskModule, imports: [InputMask, SharedModule, SharedModule] });
1481
- }
1482
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: InputMaskModule, decorators: [{
1483
- type: NgModule,
1484
- args: [{
1485
- imports: [InputMask, InputMaskDirective, SharedModule],
1486
- exports: [InputMask, InputMaskDirective, SharedModule]
1487
- }]
1488
- }] });
1489
-
1490
- /**
1491
- * Generated bundle index. Do not edit.
1492
- */
1493
-
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
+ });
1494
1721
  export { INPUTMASK_VALUE_ACCESSOR, InputMask, InputMaskClasses, InputMaskDirective, InputMaskModule, InputMaskStyle };
1495
- //# sourceMappingURL=primeng-inputmask.mjs.map
1722
+
1723
+ //# sourceMappingURL=primeng-inputmask.mjs.map