primevue 4.1.1 → 4.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (493) hide show
  1. package/accordion/index.mjs.map +1 -1
  2. package/accordion/style/index.mjs +1 -1
  3. package/accordion/style/index.mjs.map +1 -1
  4. package/accordioncontent/index.mjs.map +1 -1
  5. package/accordioncontent/style/index.mjs.map +1 -1
  6. package/accordionheader/index.mjs.map +1 -1
  7. package/accordionheader/style/index.mjs.map +1 -1
  8. package/accordionpanel/index.mjs.map +1 -1
  9. package/accordionpanel/style/index.mjs.map +1 -1
  10. package/accordiontab/index.mjs.map +1 -1
  11. package/accordiontab/style/index.mjs.map +1 -1
  12. package/animateonscroll/index.mjs.map +1 -1
  13. package/animateonscroll/style/index.mjs.map +1 -1
  14. package/autocomplete/AutoComplete.vue +36 -32
  15. package/autocomplete/BaseAutoComplete.vue +2 -19
  16. package/autocomplete/index.d.ts +21 -0
  17. package/autocomplete/index.mjs +40 -53
  18. package/autocomplete/index.mjs.map +1 -1
  19. package/autocomplete/style/index.mjs +7 -7
  20. package/autocomplete/style/index.mjs.map +1 -1
  21. package/avatar/index.mjs.map +1 -1
  22. package/avatar/style/index.mjs +1 -1
  23. package/avatar/style/index.mjs.map +1 -1
  24. package/avatargroup/index.mjs.map +1 -1
  25. package/avatargroup/style/index.mjs.map +1 -1
  26. package/badge/index.mjs.map +1 -1
  27. package/badge/style/index.mjs.map +1 -1
  28. package/badgedirective/index.d.ts +2 -2
  29. package/badgedirective/index.mjs.map +1 -1
  30. package/badgedirective/style/index.mjs.map +1 -1
  31. package/blockui/index.mjs.map +1 -1
  32. package/blockui/style/index.mjs.map +1 -1
  33. package/breadcrumb/Breadcrumb.vue +1 -1
  34. package/breadcrumb/index.mjs +2 -1
  35. package/breadcrumb/index.mjs.map +1 -1
  36. package/breadcrumb/style/index.d.ts +4 -0
  37. package/breadcrumb/style/index.mjs +2 -1
  38. package/breadcrumb/style/index.mjs.map +1 -1
  39. package/button/BaseButton.vue +4 -0
  40. package/button/index.d.ts +6 -0
  41. package/button/index.mjs +4 -0
  42. package/button/index.mjs.map +1 -1
  43. package/button/style/index.mjs +3 -3
  44. package/button/style/index.mjs.map +1 -1
  45. package/buttongroup/index.mjs.map +1 -1
  46. package/buttongroup/style/index.mjs +1 -1
  47. package/buttongroup/style/index.mjs.map +1 -1
  48. package/calendar/index.mjs.map +1 -1
  49. package/calendar/style/index.mjs.map +1 -1
  50. package/card/index.mjs.map +1 -1
  51. package/card/style/index.mjs.map +1 -1
  52. package/carousel/index.mjs.map +1 -1
  53. package/carousel/style/index.mjs +1 -1
  54. package/carousel/style/index.mjs.map +1 -1
  55. package/cascadeselect/BaseCascadeSelect.vue +8 -14
  56. package/cascadeselect/CascadeSelect.vue +34 -25
  57. package/cascadeselect/index.d.ts +45 -0
  58. package/cascadeselect/index.mjs +50 -38
  59. package/cascadeselect/index.mjs.map +1 -1
  60. package/cascadeselect/style/index.d.ts +4 -0
  61. package/cascadeselect/style/index.mjs +8 -5
  62. package/cascadeselect/style/index.mjs.map +1 -1
  63. package/chart/index.mjs.map +1 -1
  64. package/chart/style/index.mjs.map +1 -1
  65. package/checkbox/BaseCheckbox.vue +2 -19
  66. package/checkbox/Checkbox.vue +18 -6
  67. package/checkbox/index.d.ts +17 -0
  68. package/checkbox/index.mjs +20 -25
  69. package/checkbox/index.mjs.map +1 -1
  70. package/checkbox/style/index.mjs +5 -3
  71. package/checkbox/style/index.mjs.map +1 -1
  72. package/checkboxgroup/BaseCheckboxGroup.vue +16 -0
  73. package/checkboxgroup/CheckboxGroup.vue +29 -0
  74. package/checkboxgroup/index.d.ts +160 -0
  75. package/checkboxgroup/index.mjs +46 -0
  76. package/checkboxgroup/index.mjs.map +1 -0
  77. package/checkboxgroup/package.json +11 -0
  78. package/checkboxgroup/style/index.d.ts +19 -0
  79. package/checkboxgroup/style/index.mjs +17 -0
  80. package/checkboxgroup/style/index.mjs.map +1 -0
  81. package/checkboxgroup/style/package.json +6 -0
  82. package/chip/index.mjs.map +1 -1
  83. package/chip/style/index.mjs +1 -1
  84. package/chip/style/index.mjs.map +1 -1
  85. package/chips/index.mjs.map +1 -1
  86. package/chips/style/index.mjs.map +1 -1
  87. package/colorpicker/BaseColorPicker.vue +2 -10
  88. package/colorpicker/ColorPicker.vue +7 -4
  89. package/colorpicker/index.d.ts +22 -0
  90. package/colorpicker/index.mjs +21 -23
  91. package/colorpicker/index.mjs.map +1 -1
  92. package/colorpicker/style/index.mjs +5 -3
  93. package/colorpicker/style/index.mjs.map +1 -1
  94. package/column/index.mjs.map +1 -1
  95. package/column/style/index.mjs.map +1 -1
  96. package/columngroup/index.mjs.map +1 -1
  97. package/columngroup/style/index.mjs.map +1 -1
  98. package/config/index.d.ts +4 -0
  99. package/confirmationservice/index.mjs.map +1 -1
  100. package/confirmdialog/index.mjs.map +1 -1
  101. package/confirmdialog/style/index.mjs.map +1 -1
  102. package/confirmpopup/index.mjs.map +1 -1
  103. package/confirmpopup/style/index.mjs +1 -1
  104. package/confirmpopup/style/index.mjs.map +1 -1
  105. package/contextmenu/index.mjs.map +1 -1
  106. package/contextmenu/style/index.mjs +1 -1
  107. package/contextmenu/style/index.mjs.map +1 -1
  108. package/datatable/BodyCell.vue +15 -6
  109. package/datatable/DataTable.vue +56 -2
  110. package/datatable/FooterCell.vue +15 -6
  111. package/datatable/HeaderCell.vue +15 -6
  112. package/datatable/index.d.ts +12 -8
  113. package/datatable/index.mjs +163 -78
  114. package/datatable/index.mjs.map +1 -1
  115. package/datatable/style/index.mjs +1 -1
  116. package/datatable/style/index.mjs.map +1 -1
  117. package/dataview/DataView.vue +33 -1
  118. package/dataview/index.d.ts +4 -0
  119. package/dataview/index.mjs +42 -6
  120. package/dataview/index.mjs.map +1 -1
  121. package/dataview/style/index.mjs.map +1 -1
  122. package/datepicker/BaseDatePicker.vue +2 -23
  123. package/datepicker/DatePicker.vue +39 -40
  124. package/datepicker/index.d.ts +21 -4
  125. package/datepicker/index.mjs +45 -65
  126. package/datepicker/index.mjs.map +1 -1
  127. package/datepicker/style/index.mjs +4 -5
  128. package/datepicker/style/index.mjs.map +1 -1
  129. package/deferredcontent/index.mjs.map +1 -1
  130. package/deferredcontent/style/index.mjs.map +1 -1
  131. package/dialog/index.mjs.map +1 -1
  132. package/dialog/style/index.mjs +1 -1
  133. package/dialog/style/index.mjs.map +1 -1
  134. package/dialogservice/index.mjs.map +1 -1
  135. package/divider/index.mjs.map +1 -1
  136. package/divider/style/index.mjs +1 -1
  137. package/divider/style/index.mjs.map +1 -1
  138. package/dock/index.mjs.map +1 -1
  139. package/dock/style/index.mjs +1 -1
  140. package/dock/style/index.mjs.map +1 -1
  141. package/drawer/index.mjs.map +1 -1
  142. package/drawer/style/index.mjs +1 -1
  143. package/drawer/style/index.mjs.map +1 -1
  144. package/dropdown/index.mjs.map +1 -1
  145. package/dropdown/style/index.mjs.map +1 -1
  146. package/dynamicdialog/index.mjs.map +1 -1
  147. package/dynamicdialog/style/index.mjs.map +1 -1
  148. package/editor/BaseEditor.vue +2 -3
  149. package/editor/Editor.vue +3 -3
  150. package/editor/index.d.ts +22 -0
  151. package/editor/index.mjs +5 -6
  152. package/editor/index.mjs.map +1 -1
  153. package/editor/style/index.mjs +7 -2
  154. package/editor/style/index.mjs.map +1 -1
  155. package/fieldset/index.mjs.map +1 -1
  156. package/fieldset/style/index.mjs +1 -1
  157. package/fieldset/style/index.mjs.map +1 -1
  158. package/fileupload/index.mjs.map +1 -1
  159. package/fileupload/style/index.mjs +1 -1
  160. package/fileupload/style/index.mjs.map +1 -1
  161. package/floatlabel/index.mjs.map +1 -1
  162. package/floatlabel/style/index.mjs +1 -1
  163. package/floatlabel/style/index.mjs.map +1 -1
  164. package/fluid/index.mjs.map +1 -1
  165. package/fluid/style/index.mjs.map +1 -1
  166. package/focustrap/index.mjs.map +1 -1
  167. package/focustrap/style/index.mjs.map +1 -1
  168. package/galleria/index.mjs.map +1 -1
  169. package/galleria/style/index.mjs +1 -1
  170. package/galleria/style/index.mjs.map +1 -1
  171. package/iconfield/index.mjs.map +1 -1
  172. package/iconfield/style/index.mjs +1 -1
  173. package/iconfield/style/index.mjs.map +1 -1
  174. package/iftalabel/index.mjs.map +1 -1
  175. package/iftalabel/style/index.mjs +1 -1
  176. package/iftalabel/style/index.mjs.map +1 -1
  177. package/image/index.mjs.map +1 -1
  178. package/image/style/index.mjs +1 -1
  179. package/image/style/index.mjs.map +1 -1
  180. package/imagecompare/ImageCompare.vue +33 -1
  181. package/imagecompare/index.mjs +35 -1
  182. package/imagecompare/index.mjs.map +1 -1
  183. package/imagecompare/style/index.mjs +1 -1
  184. package/imagecompare/style/index.mjs.map +1 -1
  185. package/index.d.ts +811 -0
  186. package/index.mjs +531 -0
  187. package/index.mjs.map +1 -0
  188. package/inlinemessage/index.mjs.map +1 -1
  189. package/inlinemessage/style/index.mjs.map +1 -1
  190. package/inplace/index.d.ts +0 -4
  191. package/inplace/index.mjs.map +1 -1
  192. package/inplace/style/index.mjs.map +1 -1
  193. package/inputchips/index.mjs.map +1 -1
  194. package/inputchips/style/index.mjs.map +1 -1
  195. package/inputgroup/index.mjs.map +1 -1
  196. package/inputgroup/style/index.mjs +1 -1
  197. package/inputgroup/style/index.mjs.map +1 -1
  198. package/inputgroupaddon/index.mjs.map +1 -1
  199. package/inputgroupaddon/style/index.mjs.map +1 -1
  200. package/inputicon/index.mjs.map +1 -1
  201. package/inputicon/style/index.mjs.map +1 -1
  202. package/inputmask/BaseInputMask.vue +2 -23
  203. package/inputmask/InputMask.vue +9 -14
  204. package/inputmask/index.d.ts +13 -0
  205. package/inputmask/index.mjs +13 -38
  206. package/inputmask/index.mjs.map +1 -1
  207. package/inputmask/style/index.mjs +1 -1
  208. package/inputmask/style/index.mjs.map +1 -1
  209. package/inputnumber/BaseInputNumber.vue +2 -22
  210. package/inputnumber/InputNumber.vue +14 -16
  211. package/inputnumber/index.d.ts +26 -0
  212. package/inputnumber/index.mjs +22 -39
  213. package/inputnumber/index.mjs.map +1 -1
  214. package/inputnumber/style/index.mjs +3 -3
  215. package/inputnumber/style/index.mjs.map +1 -1
  216. package/inputotp/BaseInputOtp.vue +2 -18
  217. package/inputotp/InputOtp.vue +4 -2
  218. package/inputotp/index.d.ts +21 -0
  219. package/inputotp/index.mjs +7 -21
  220. package/inputotp/index.mjs.map +1 -1
  221. package/inputotp/style/index.mjs +2 -2
  222. package/inputotp/style/index.mjs.map +1 -1
  223. package/inputswitch/index.mjs.map +1 -1
  224. package/inputswitch/style/index.mjs.map +1 -1
  225. package/inputtext/BaseInputText.vue +2 -21
  226. package/inputtext/InputText.vue +13 -22
  227. package/inputtext/index.d.ts +17 -0
  228. package/inputtext/index.mjs +16 -48
  229. package/inputtext/index.mjs.map +1 -1
  230. package/inputtext/style/index.mjs +7 -7
  231. package/inputtext/style/index.mjs.map +1 -1
  232. package/keyfilter/index.mjs.map +1 -1
  233. package/keyfilter/style/index.mjs.map +1 -1
  234. package/knob/BaseKnob.vue +2 -10
  235. package/knob/Knob.vue +23 -19
  236. package/knob/index.d.ts +24 -2
  237. package/knob/index.mjs +31 -32
  238. package/knob/index.mjs.map +1 -1
  239. package/knob/style/index.mjs +4 -2
  240. package/knob/style/index.mjs.map +1 -1
  241. package/listbox/BaseListbox.vue +2 -11
  242. package/listbox/Listbox.vue +21 -20
  243. package/listbox/index.d.ts +17 -0
  244. package/listbox/index.mjs +23 -31
  245. package/listbox/index.mjs.map +1 -1
  246. package/listbox/style/index.mjs +4 -3
  247. package/listbox/style/index.mjs.map +1 -1
  248. package/megamenu/index.mjs.map +1 -1
  249. package/megamenu/style/index.mjs +1 -1
  250. package/megamenu/style/index.mjs.map +1 -1
  251. package/menu/index.mjs.map +1 -1
  252. package/menu/style/index.mjs +1 -1
  253. package/menu/style/index.mjs.map +1 -1
  254. package/menubar/index.mjs.map +1 -1
  255. package/menubar/style/index.mjs +1 -1
  256. package/menubar/style/index.mjs.map +1 -1
  257. package/message/BaseMessage.vue +8 -0
  258. package/message/index.d.ts +9 -0
  259. package/message/index.mjs +8 -0
  260. package/message/index.mjs.map +1 -1
  261. package/message/style/index.mjs +7 -2
  262. package/message/style/index.mjs.map +1 -1
  263. package/metergroup/index.mjs.map +1 -1
  264. package/metergroup/style/index.mjs +1 -1
  265. package/metergroup/style/index.mjs.map +1 -1
  266. package/multiselect/BaseMultiSelect.vue +14 -19
  267. package/multiselect/MultiSelect.vue +45 -31
  268. package/multiselect/index.d.ts +50 -0
  269. package/multiselect/index.mjs +71 -52
  270. package/multiselect/index.mjs.map +1 -1
  271. package/multiselect/style/index.d.ts +4 -0
  272. package/multiselect/style/index.mjs +8 -5
  273. package/multiselect/style/index.mjs.map +1 -1
  274. package/orderlist/index.mjs.map +1 -1
  275. package/orderlist/style/index.mjs.map +1 -1
  276. package/organizationchart/index.mjs.map +1 -1
  277. package/organizationchart/style/index.mjs +1 -1
  278. package/organizationchart/style/index.mjs.map +1 -1
  279. package/overlaybadge/index.mjs.map +1 -1
  280. package/overlaybadge/style/index.mjs +1 -1
  281. package/overlaybadge/style/index.mjs.map +1 -1
  282. package/overlaypanel/index.mjs.map +1 -1
  283. package/overlaypanel/style/index.mjs.map +1 -1
  284. package/package.json +15 -6
  285. package/paginator/Paginator.vue +104 -84
  286. package/paginator/index.d.ts +54 -0
  287. package/paginator/index.mjs +21 -3
  288. package/paginator/index.mjs.map +1 -1
  289. package/paginator/style/index.mjs +1 -1
  290. package/paginator/style/index.mjs.map +1 -1
  291. package/panel/index.mjs.map +1 -1
  292. package/panel/style/index.mjs.map +1 -1
  293. package/panelmenu/index.mjs.map +1 -1
  294. package/panelmenu/style/index.mjs +1 -1
  295. package/panelmenu/style/index.mjs.map +1 -1
  296. package/passthrough/index.mjs.map +1 -1
  297. package/password/BasePassword.vue +2 -15
  298. package/password/Password.vue +13 -18
  299. package/password/index.d.ts +21 -0
  300. package/password/index.mjs +14 -32
  301. package/password/index.mjs.map +1 -1
  302. package/password/style/index.mjs +3 -3
  303. package/password/style/index.mjs.map +1 -1
  304. package/picklist/index.mjs.map +1 -1
  305. package/picklist/style/index.mjs.map +1 -1
  306. package/popover/index.mjs.map +1 -1
  307. package/popover/style/index.mjs +1 -1
  308. package/popover/style/index.mjs.map +1 -1
  309. package/portal/index.mjs.map +1 -1
  310. package/portal/style/index.mjs.map +1 -1
  311. package/progressbar/index.mjs.map +1 -1
  312. package/progressbar/style/index.mjs +1 -1
  313. package/progressbar/style/index.mjs.map +1 -1
  314. package/progressspinner/index.mjs.map +1 -1
  315. package/progressspinner/style/index.mjs.map +1 -1
  316. package/radiobutton/BaseRadioButton.vue +2 -19
  317. package/radiobutton/RadioButton.vue +15 -4
  318. package/radiobutton/index.d.ts +17 -0
  319. package/radiobutton/index.mjs +17 -23
  320. package/radiobutton/index.mjs.map +1 -1
  321. package/radiobutton/style/index.mjs +5 -3
  322. package/radiobutton/style/index.mjs.map +1 -1
  323. package/radiobuttongroup/BaseRadioButtonGroup.vue +16 -0
  324. package/radiobuttongroup/RadioButtonGroup.vue +29 -0
  325. package/radiobuttongroup/index.d.ts +160 -0
  326. package/radiobuttongroup/index.mjs +46 -0
  327. package/radiobuttongroup/index.mjs.map +1 -0
  328. package/radiobuttongroup/package.json +11 -0
  329. package/radiobuttongroup/style/index.d.ts +19 -0
  330. package/radiobuttongroup/style/index.mjs +17 -0
  331. package/radiobuttongroup/style/index.mjs.map +1 -0
  332. package/radiobuttongroup/style/package.json +6 -0
  333. package/rating/BaseRating.vue +2 -10
  334. package/rating/Rating.vue +17 -16
  335. package/rating/index.d.ts +18 -0
  336. package/rating/index.mjs +17 -23
  337. package/rating/index.mjs.map +1 -1
  338. package/rating/style/index.mjs +14 -5
  339. package/rating/style/index.mjs.map +1 -1
  340. package/ripple/index.mjs.map +1 -1
  341. package/ripple/style/index.mjs.map +1 -1
  342. package/row/index.mjs.map +1 -1
  343. package/row/style/index.mjs.map +1 -1
  344. package/scrollpanel/ScrollPanel.vue +38 -5
  345. package/scrollpanel/index.mjs +58 -28
  346. package/scrollpanel/index.mjs.map +1 -1
  347. package/scrollpanel/style/index.mjs +1 -1
  348. package/scrollpanel/style/index.mjs.map +1 -1
  349. package/scrolltop/index.mjs.map +1 -1
  350. package/scrolltop/style/index.mjs +1 -1
  351. package/scrolltop/style/index.mjs.map +1 -1
  352. package/select/BaseSelect.vue +2 -19
  353. package/select/Select.vue +15 -19
  354. package/select/index.d.ts +21 -0
  355. package/select/index.mjs +18 -40
  356. package/select/index.mjs.map +1 -1
  357. package/select/style/index.mjs +7 -5
  358. package/select/style/index.mjs.map +1 -1
  359. package/selectbutton/BaseSelectButton.vue +6 -8
  360. package/selectbutton/SelectButton.vue +9 -8
  361. package/selectbutton/index.d.ts +21 -0
  362. package/selectbutton/index.mjs +15 -16
  363. package/selectbutton/index.mjs.map +1 -1
  364. package/selectbutton/style/index.mjs +3 -3
  365. package/selectbutton/style/index.mjs.map +1 -1
  366. package/sidebar/index.mjs.map +1 -1
  367. package/sidebar/style/index.mjs.map +1 -1
  368. package/skeleton/index.mjs.map +1 -1
  369. package/skeleton/style/index.mjs +1 -1
  370. package/skeleton/style/index.mjs.map +1 -1
  371. package/slider/BaseSlider.vue +2 -7
  372. package/slider/Slider.vue +94 -38
  373. package/slider/index.d.ts +22 -0
  374. package/slider/index.mjs +145 -72
  375. package/slider/index.mjs.map +1 -1
  376. package/slider/style/index.mjs +4 -2
  377. package/slider/style/index.mjs.map +1 -1
  378. package/speeddial/index.mjs.map +1 -1
  379. package/speeddial/style/index.mjs +1 -1
  380. package/speeddial/style/index.mjs.map +1 -1
  381. package/splitbutton/index.mjs.map +1 -1
  382. package/splitbutton/style/index.mjs +1 -1
  383. package/splitbutton/style/index.mjs.map +1 -1
  384. package/splitter/Splitter.vue +31 -3
  385. package/splitter/index.mjs +50 -20
  386. package/splitter/index.mjs.map +1 -1
  387. package/splitter/style/index.mjs.map +1 -1
  388. package/splitterpanel/index.mjs.map +1 -1
  389. package/splitterpanel/style/index.mjs.map +1 -1
  390. package/step/index.mjs.map +1 -1
  391. package/step/style/index.mjs.map +1 -1
  392. package/stepitem/index.mjs.map +1 -1
  393. package/stepitem/style/index.mjs.map +1 -1
  394. package/steplist/index.mjs.map +1 -1
  395. package/steplist/style/index.mjs.map +1 -1
  396. package/steppanel/index.mjs.map +1 -1
  397. package/steppanel/style/index.mjs.map +1 -1
  398. package/steppanels/index.mjs.map +1 -1
  399. package/steppanels/style/index.mjs.map +1 -1
  400. package/stepper/index.mjs.map +1 -1
  401. package/stepper/style/index.mjs +1 -1
  402. package/stepper/style/index.mjs.map +1 -1
  403. package/steps/index.mjs.map +1 -1
  404. package/steps/style/index.mjs +1 -1
  405. package/steps/style/index.mjs.map +1 -1
  406. package/styleclass/index.mjs.map +1 -1
  407. package/styleclass/style/index.mjs.map +1 -1
  408. package/tab/index.mjs.map +1 -1
  409. package/tab/style/index.mjs.map +1 -1
  410. package/tablist/TabList.vue +40 -5
  411. package/tablist/index.mjs +38 -5
  412. package/tablist/index.mjs.map +1 -1
  413. package/tablist/style/index.mjs.map +1 -1
  414. package/tabmenu/index.mjs.map +1 -1
  415. package/tabmenu/style/index.mjs.map +1 -1
  416. package/tabpanel/index.mjs.map +1 -1
  417. package/tabpanel/style/index.mjs.map +1 -1
  418. package/tabpanels/index.mjs.map +1 -1
  419. package/tabpanels/style/index.mjs.map +1 -1
  420. package/tabs/index.mjs.map +1 -1
  421. package/tabs/style/index.mjs +1 -1
  422. package/tabs/style/index.mjs.map +1 -1
  423. package/tabview/index.mjs.map +1 -1
  424. package/tabview/style/index.mjs.map +1 -1
  425. package/tag/index.mjs.map +1 -1
  426. package/tag/style/index.mjs.map +1 -1
  427. package/terminal/index.mjs.map +1 -1
  428. package/terminal/style/index.mjs +1 -1
  429. package/terminal/style/index.mjs.map +1 -1
  430. package/textarea/BaseTextarea.vue +3 -16
  431. package/textarea/Textarea.vue +13 -19
  432. package/textarea/index.d.ts +21 -0
  433. package/textarea/index.mjs +14 -38
  434. package/textarea/index.mjs.map +1 -1
  435. package/textarea/style/index.mjs +7 -5
  436. package/textarea/style/index.mjs.map +1 -1
  437. package/tieredmenu/index.mjs.map +1 -1
  438. package/tieredmenu/style/index.mjs +1 -1
  439. package/tieredmenu/style/index.mjs.map +1 -1
  440. package/timeline/index.mjs.map +1 -1
  441. package/timeline/style/index.mjs.map +1 -1
  442. package/toast/Toast.vue +0 -1
  443. package/toast/index.mjs.map +1 -1
  444. package/toast/style/index.mjs +1 -1
  445. package/toast/style/index.mjs.map +1 -1
  446. package/toastservice/index.mjs.map +1 -1
  447. package/togglebutton/BaseToggleButton.vue +6 -11
  448. package/togglebutton/ToggleButton.vue +11 -7
  449. package/togglebutton/index.d.ts +21 -0
  450. package/togglebutton/index.mjs +20 -18
  451. package/togglebutton/index.mjs.map +1 -1
  452. package/togglebutton/style/index.mjs +4 -2
  453. package/togglebutton/style/index.mjs.map +1 -1
  454. package/toggleswitch/BaseToggleSwitch.vue +2 -14
  455. package/toggleswitch/ToggleSwitch.vue +4 -3
  456. package/toggleswitch/index.d.ts +17 -0
  457. package/toggleswitch/index.mjs +7 -17
  458. package/toggleswitch/index.mjs.map +1 -1
  459. package/toggleswitch/style/index.mjs +2 -2
  460. package/toggleswitch/style/index.mjs.map +1 -1
  461. package/toolbar/index.mjs.map +1 -1
  462. package/toolbar/style/index.mjs.map +1 -1
  463. package/tooltip/index.mjs.map +1 -1
  464. package/tooltip/style/index.mjs.map +1 -1
  465. package/tree/TreeNode.vue +1 -1
  466. package/tree/index.mjs +2 -2
  467. package/tree/index.mjs.map +1 -1
  468. package/tree/style/index.mjs +1 -1
  469. package/tree/style/index.mjs.map +1 -1
  470. package/treeselect/BaseTreeSelect.vue +18 -19
  471. package/treeselect/TreeSelect.vue +61 -18
  472. package/treeselect/index.d.ts +80 -26
  473. package/treeselect/index.mjs +87 -38
  474. package/treeselect/index.mjs.map +1 -1
  475. package/treeselect/style/index.d.ts +4 -0
  476. package/treeselect/style/index.mjs +8 -5
  477. package/treeselect/style/index.mjs.map +1 -1
  478. package/treetable/BodyCell.vue +21 -12
  479. package/treetable/FooterCell.vue +15 -6
  480. package/treetable/HeaderCell.vue +15 -6
  481. package/treetable/TreeTable.vue +57 -2
  482. package/treetable/index.d.ts +12 -8
  483. package/treetable/index.mjs +146 -59
  484. package/treetable/index.mjs.map +1 -1
  485. package/treetable/style/index.mjs +1 -1
  486. package/treetable/style/index.mjs.map +1 -1
  487. package/umd/primevue.min.js +1 -1
  488. package/useconfirm/index.mjs.map +1 -1
  489. package/usedialog/index.mjs.map +1 -1
  490. package/usetoast/index.mjs.map +1 -1
  491. package/virtualscroller/index.mjs.map +1 -1
  492. package/virtualscroller/style/index.mjs.map +1 -1
  493. package/web-types.json +1 -1
@@ -1,15 +1,13 @@
1
1
  import { getUserAgent } from '@primeuix/utils/dom';
2
- import { isEmpty } from '@primeuix/utils/object';
3
2
  import InputText from 'primevue/inputtext';
4
3
  import { mergeProps, resolveComponent, openBlock, createBlock, normalizeClass } from 'vue';
5
- import BaseComponent from '@primevue/core/basecomponent';
4
+ import BaseInput from '@primevue/core/baseinput';
6
5
  import InputMaskStyle from 'primevue/inputmask/style';
7
6
 
8
7
  var script$1 = {
9
8
  name: 'BaseInputMask',
10
- "extends": BaseComponent,
9
+ "extends": BaseInput,
11
10
  props: {
12
- modelValue: null,
13
11
  slotChar: {
14
12
  type: String,
15
13
  "default": '_'
@@ -41,26 +39,6 @@ var script$1 = {
41
39
  readonly: {
42
40
  type: Boolean,
43
41
  "default": false
44
- },
45
- invalid: {
46
- type: Boolean,
47
- "default": false
48
- },
49
- disabled: {
50
- type: Boolean,
51
- "default": false
52
- },
53
- name: {
54
- type: String,
55
- "default": null
56
- },
57
- variant: {
58
- type: String,
59
- "default": null
60
- },
61
- fluid: {
62
- type: Boolean,
63
- "default": null
64
42
  }
65
43
  },
66
44
  style: InputMaskStyle,
@@ -76,7 +54,7 @@ var script = {
76
54
  name: 'InputMask',
77
55
  "extends": script$1,
78
56
  inheritAttrs: false,
79
- emits: ['update:modelValue', 'focus', 'blur', 'keydown', 'complete', 'keypress', 'paste'],
57
+ emits: ['focus', 'blur', 'keydown', 'complete', 'keypress', 'paste'],
80
58
  inject: {
81
59
  $pcFluid: {
82
60
  "default": null
@@ -135,6 +113,7 @@ var script = {
135
113
  this.$emit('focus', event);
136
114
  },
137
115
  onBlur: function onBlur(event) {
116
+ var _this$formField$onBlu, _this$formField;
138
117
  this.focus = false;
139
118
  this.checkVal();
140
119
  this.updateModelValue(event.target.value);
@@ -144,6 +123,7 @@ var script = {
144
123
  this.$el.dispatchEvent(e);
145
124
  }
146
125
  this.$emit('blur', event);
126
+ (_this$formField$onBlu = (_this$formField = this.formField).onBlur) === null || _this$formField$onBlu === void 0 || _this$formField$onBlu.call(_this$formField, event);
147
127
  },
148
128
  onKeyDown: function onKeyDown(event) {
149
129
  if (this.readonly) {
@@ -430,17 +410,17 @@ var script = {
430
410
  updateModelValue: function updateModelValue(value) {
431
411
  var val = this.unmask ? this.getUnmaskedValue() : value;
432
412
  this.currentVal = value;
433
- this.$emit('update:modelValue', this.defaultBuffer !== val ? val : '');
413
+ this.writeValue(this.defaultBuffer !== val ? val : '');
434
414
  },
435
415
  updateValue: function updateValue() {
436
416
  var _this3 = this;
437
417
  var updateModel = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
438
418
  if (this.$el) {
439
- if (this.modelValue == null) {
419
+ if (this.d_value == null) {
440
420
  this.$el.value = '';
441
421
  updateModel && this.updateModelValue('');
442
422
  } else {
443
- this.$el.value = this.modelValue;
423
+ this.$el.value = this.d_value;
444
424
  this.checkVal();
445
425
  setTimeout(function () {
446
426
  if (_this3.$el) {
@@ -494,13 +474,10 @@ var script = {
494
474
  this.updateValue(false);
495
475
  },
496
476
  isValueUpdated: function isValueUpdated() {
497
- return this.unmask ? this.modelValue != this.getUnmaskedValue() : this.defaultBuffer !== this.$el.value && this.$el.value !== this.modelValue;
477
+ return this.unmask ? this.d_value != this.getUnmaskedValue() : this.defaultBuffer !== this.$el.value && this.$el.value !== this.d_value;
498
478
  }
499
479
  },
500
480
  computed: {
501
- filled: function filled() {
502
- return this.modelValue != null && this.modelValue.toString().length > 0;
503
- },
504
481
  inputClass: function inputClass() {
505
482
  return [this.cx('root'), this["class"]];
506
483
  },
@@ -512,12 +489,9 @@ var script = {
512
489
  ptmParams: function ptmParams() {
513
490
  return {
514
491
  context: {
515
- filled: this.filled
492
+ filled: this.$filled
516
493
  }
517
494
  };
518
- },
519
- hasFluid: function hasFluid() {
520
- return isEmpty(this.fluid) ? !!this.$pcFluid : this.fluid;
521
495
  }
522
496
  },
523
497
  components: {
@@ -534,10 +508,11 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
534
508
  readonly: _ctx.readonly,
535
509
  disabled: _ctx.disabled,
536
510
  invalid: _ctx.invalid,
511
+ size: _ctx.size,
537
512
  name: _ctx.name,
538
513
  variant: _ctx.variant,
539
514
  placeholder: _ctx.placeholder,
540
- fluid: $options.hasFluid,
515
+ fluid: _ctx.$fluid,
541
516
  unstyled: _ctx.unstyled,
542
517
  onInput: $options.onInput,
543
518
  onCompositionend: $options.onInput,
@@ -547,7 +522,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
547
522
  onKeypress: $options.onKeyPress,
548
523
  onPaste: $options.onPaste,
549
524
  pt: $options.rootPTOptions
550
- }, null, 8, ["id", "value", "class", "readonly", "disabled", "invalid", "name", "variant", "placeholder", "fluid", "unstyled", "onInput", "onCompositionend", "onFocus", "onBlur", "onKeydown", "onKeypress", "onPaste", "pt"]);
525
+ }, null, 8, ["id", "value", "class", "readonly", "disabled", "invalid", "size", "name", "variant", "placeholder", "fluid", "unstyled", "onInput", "onCompositionend", "onFocus", "onBlur", "onKeydown", "onKeypress", "onPaste", "pt"]);
551
526
  }
552
527
 
553
528
  script.render = render;
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/inputmask/BaseInputMask.vue","../../src/inputmask/InputMask.vue","../../src/inputmask/InputMask.vue?vue&type=template&id=d0e11c90&lang.js"],"sourcesContent":["<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport InputMaskStyle from 'primevue/inputmask/style';\n\nexport default {\n name: 'BaseInputMask',\n extends: BaseComponent,\n props: {\n modelValue: null,\n slotChar: {\n type: String,\n default: '_'\n },\n id: {\n type: String,\n default: null\n },\n class: {\n type: [String, Object],\n default: null\n },\n mask: {\n type: String,\n default: null\n },\n placeholder: {\n type: String,\n default: null\n },\n autoClear: {\n type: Boolean,\n default: true\n },\n unmask: {\n type: Boolean,\n default: false\n },\n readonly: {\n type: Boolean,\n default: false\n },\n invalid: {\n type: Boolean,\n default: false\n },\n disabled: {\n type: Boolean,\n default: false\n },\n name: {\n type: String,\n default: null\n },\n variant: {\n type: String,\n default: null\n },\n fluid: {\n type: Boolean,\n default: null\n }\n },\n style: InputMaskStyle,\n provide() {\n return {\n $pcInputMask: this,\n $parentInstance: this\n };\n }\n};\n</script>\n","<template>\n <InputText\n :id=\"id\"\n :value=\"currentVal\"\n :class=\"inputClass\"\n :readonly=\"readonly\"\n :disabled=\"disabled\"\n :invalid=\"invalid\"\n :name=\"name\"\n :variant=\"variant\"\n :placeholder=\"placeholder\"\n :fluid=\"hasFluid\"\n :unstyled=\"unstyled\"\n @input=\"onInput\"\n @compositionend=\"onInput\"\n @focus=\"onFocus\"\n @blur=\"onBlur\"\n @keydown=\"onKeyDown\"\n @keypress=\"onKeyPress\"\n @paste=\"onPaste\"\n :pt=\"rootPTOptions\"\n />\n</template>\n\n<script>\nimport { getUserAgent } from '@primeuix/utils/dom';\nimport { isEmpty } from '@primeuix/utils/object';\nimport InputText from 'primevue/inputtext';\nimport { mergeProps } from 'vue';\nimport BaseInputMask from './BaseInputMask.vue';\n\nexport default {\n name: 'InputMask',\n extends: BaseInputMask,\n inheritAttrs: false,\n emits: ['update:modelValue', 'focus', 'blur', 'keydown', 'complete', 'keypress', 'paste'],\n inject: {\n $pcFluid: { default: null }\n },\n data() {\n return {\n currentVal: ''\n };\n },\n watch: {\n mask(newMask, oldMask) {\n if (oldMask !== newMask) {\n this.initMask();\n }\n }\n },\n mounted() {\n this.initMask();\n },\n updated() {\n if (this.isValueUpdated()) {\n this.updateValue();\n }\n },\n methods: {\n onInput(event) {\n // Check if the event is part of a text composition process (e.g., for Asian languages).\n // If event.isComposing is true, it means the user is still composing text and the input is not finalized.\n if (!event.isComposing) {\n if (this.androidChrome) this.handleAndroidInput(event);\n else this.handleInputChange(event);\n\n this.updateModelValue(event.target.value);\n }\n },\n onFocus(event) {\n if (this.readonly) {\n return;\n }\n\n this.focus = true;\n\n clearTimeout(this.caretTimeoutId);\n let pos;\n\n this.focusText = this.$el.value;\n\n pos = this.checkVal();\n\n this.caretTimeoutId = setTimeout(() => {\n if (this.$el !== document.activeElement) {\n return;\n }\n\n this.writeBuffer();\n\n if (pos === this.mask.replace('?', '').length) {\n this.caret(0, pos);\n } else {\n this.caret(pos);\n }\n }, 10);\n\n this.$emit('focus', event);\n },\n onBlur(event) {\n this.focus = false;\n this.checkVal();\n this.updateModelValue(event.target.value);\n\n if (this.$el.value !== this.focusText) {\n let e = document.createEvent('HTMLEvents');\n\n e.initEvent('change', true, false);\n this.$el.dispatchEvent(e);\n }\n\n this.$emit('blur', event);\n },\n onKeyDown(event) {\n if (this.readonly) {\n return;\n }\n\n let k = event.code,\n pos,\n begin,\n end;\n let iPhone = /iphone/i.test(getUserAgent());\n\n this.oldVal = this.$el.value;\n\n //backspace, delete, and escape get special treatment\n if (k === 'Backspace' || k === 'Delete' || (iPhone && k === 'Escape')) {\n pos = this.caret();\n begin = pos.begin;\n end = pos.end;\n\n if (end - begin === 0) {\n begin = k !== 'Delete' ? this.seekPrev(begin) : (end = this.seekNext(begin - 1));\n end = k === 'Delete' ? this.seekNext(end) : end;\n }\n\n this.clearBuffer(begin, end);\n this.shiftL(begin, end - 1);\n this.updateModelValue(event.target.value);\n\n event.preventDefault();\n } else if (k === 'Enter') {\n // enter\n this.$el.blur();\n this.updateModelValue(event.target.value);\n } else if (k === 'Escape') {\n // escape\n this.$el.value = this.focusText;\n this.caret(0, this.checkVal());\n this.updateModelValue(event.target.value);\n event.preventDefault();\n }\n\n this.$emit('keydown', event);\n },\n onKeyPress(event) {\n if (this.readonly) {\n return;\n }\n\n var k = event.code,\n pos = this.caret(),\n p,\n c,\n next,\n completed;\n\n if (event.ctrlKey || event.altKey || event.metaKey || event.shiftKey || event.key === 'CapsLock' || event.key === 'Escape' || event.key === 'Tab') {\n //Ignore\n return;\n } else if (k && k !== 'Enter') {\n if (pos.end - pos.begin !== 0) {\n this.clearBuffer(pos.begin, pos.end);\n this.shiftL(pos.begin, pos.end - 1);\n }\n\n p = this.seekNext(pos.begin - 1);\n\n if (p < this.len) {\n c = event.key;\n\n if (this.tests[p].test(c)) {\n this.shiftR(p);\n\n this.buffer[p] = c;\n this.writeBuffer();\n next = this.seekNext(p);\n\n if (/android/i.test(getUserAgent())) {\n //Path for CSP Violation on FireFox OS 1.1\n let proxy = () => {\n this.caret(next);\n };\n\n setTimeout(proxy, 0);\n } else {\n this.caret(next);\n }\n\n if (pos.begin <= this.lastRequiredNonMaskPos) {\n completed = this.isCompleted();\n }\n }\n }\n\n event.preventDefault();\n }\n\n this.updateModelValue(event.target.value);\n\n if (completed) {\n this.$emit('complete', event);\n }\n\n this.$emit('keypress', event);\n },\n onPaste(event) {\n this.handleInputChange(event);\n\n this.$emit('paste', event);\n },\n caret(first, last) {\n let range, begin, end;\n\n if (!this.$el.offsetParent || this.$el !== document.activeElement) {\n return;\n }\n\n if (typeof first === 'number') {\n begin = first;\n end = typeof last === 'number' ? last : begin;\n\n if (this.$el.setSelectionRange) {\n this.$el.setSelectionRange(begin, end);\n } else if (this.$el['createTextRange']) {\n range = this.$el['createTextRange']();\n range.collapse(true);\n range.moveEnd('character', end);\n range.moveStart('character', begin);\n range.select();\n }\n } else {\n if (this.$el.setSelectionRange) {\n begin = this.$el.selectionStart;\n end = this.$el.selectionEnd;\n } else if (document['selection'] && document['selection'].createRange) {\n range = document['selection'].createRange();\n begin = 0 - range.duplicate().moveStart('character', -100000);\n end = begin + range.text.length;\n }\n\n return { begin: begin, end: end };\n }\n },\n isCompleted() {\n for (let i = this.firstNonMaskPos; i <= this.lastRequiredNonMaskPos; i++) {\n if (this.tests[i] && this.buffer[i] === this.getPlaceholder(i)) {\n return false;\n }\n }\n\n return true;\n },\n getPlaceholder(i) {\n if (i < this.slotChar.length) {\n return this.slotChar.charAt(i);\n }\n\n return this.slotChar.charAt(0);\n },\n seekNext(pos) {\n while (++pos < this.len && !this.tests[pos]);\n\n return pos;\n },\n seekPrev(pos) {\n while (--pos >= 0 && !this.tests[pos]);\n\n return pos;\n },\n shiftL(begin, end) {\n let i, j;\n\n if (begin < 0) {\n return;\n }\n\n for (i = begin, j = this.seekNext(end); i < this.len; i++) {\n if (this.tests[i]) {\n if (j < this.len && this.tests[i].test(this.buffer[j])) {\n this.buffer[i] = this.buffer[j];\n this.buffer[j] = this.getPlaceholder(j);\n } else {\n break;\n }\n\n j = this.seekNext(j);\n }\n }\n\n this.writeBuffer();\n this.caret(Math.max(this.firstNonMaskPos, begin));\n },\n shiftR(pos) {\n let i, c, j, t;\n\n for (i = pos, c = this.getPlaceholder(pos); i < this.len; i++) {\n if (this.tests[i]) {\n j = this.seekNext(i);\n t = this.buffer[i];\n this.buffer[i] = c;\n\n if (j < this.len && this.tests[j].test(t)) {\n c = t;\n } else {\n break;\n }\n }\n }\n },\n handleAndroidInput(event) {\n var curVal = this.$el.value;\n var pos = this.caret();\n\n if (this.oldVal && this.oldVal.length && this.oldVal.length > curVal.length) {\n // a deletion or backspace happened\n this.checkVal(true);\n while (pos.begin > 0 && !this.tests[pos.begin - 1]) pos.begin--;\n\n if (pos.begin === 0) {\n while (pos.begin < this.firstNonMaskPos && !this.tests[pos.begin]) pos.begin++;\n }\n\n this.caret(pos.begin, pos.begin);\n } else {\n this.checkVal(true);\n while (pos.begin < this.len && !this.tests[pos.begin]) pos.begin++;\n\n this.caret(pos.begin, pos.begin);\n }\n\n if (this.isCompleted()) {\n this.$emit('complete', event);\n }\n },\n clearBuffer(start, end) {\n let i;\n\n for (i = start; i < end && i < this.len; i++) {\n if (this.tests[i]) {\n this.buffer[i] = this.getPlaceholder(i);\n }\n }\n },\n writeBuffer() {\n this.$el.value = this.buffer.join('');\n },\n checkVal(allow) {\n this.isValueChecked = true;\n //try to place characters where they belong\n let test = this.$el.value,\n lastMatch = -1,\n i,\n c,\n pos;\n\n for (i = 0, pos = 0; i < this.len; i++) {\n if (this.tests[i]) {\n this.buffer[i] = this.getPlaceholder(i);\n\n while (pos++ < test.length) {\n c = test.charAt(pos - 1);\n\n if (this.tests[i].test(c)) {\n this.buffer[i] = c;\n lastMatch = i;\n break;\n }\n }\n\n if (pos > test.length) {\n this.clearBuffer(i + 1, this.len);\n break;\n }\n } else {\n if (this.buffer[i] === test.charAt(pos)) {\n pos++;\n }\n\n if (i < this.partialPosition) {\n lastMatch = i;\n }\n }\n }\n\n if (allow) {\n this.writeBuffer();\n } else if (lastMatch + 1 < this.partialPosition) {\n if (this.autoClear || this.buffer.join('') === this.defaultBuffer) {\n // Invalid value. Remove it and replace it with the\n // mask, which is the default behavior.\n if (this.$el.value) this.$el.value = '';\n this.clearBuffer(0, this.len);\n } else {\n // Invalid value, but we opt to show the value to the\n // user and allow them to correct their mistake.\n this.writeBuffer();\n }\n } else {\n this.writeBuffer();\n this.$el.value = this.$el.value.substring(0, lastMatch + 1);\n }\n\n return this.partialPosition ? i : this.firstNonMaskPos;\n },\n handleInputChange(event) {\n const isPasteEvent = event.type === 'paste';\n\n if (this.readonly || isPasteEvent) {\n return;\n }\n\n var pos = this.checkVal(true);\n\n this.caret(pos);\n this.updateModelValue(event.target.value);\n\n if (this.isCompleted()) {\n this.$emit('complete', event);\n }\n },\n getUnmaskedValue() {\n let unmaskedBuffer = [];\n\n for (let i = 0; i < this.buffer.length; i++) {\n let c = this.buffer[i];\n\n if (this.tests[i] && c !== this.getPlaceholder(i)) {\n unmaskedBuffer.push(c);\n }\n }\n\n return unmaskedBuffer.join('');\n },\n\n updateModelValue(value) {\n const val = this.unmask ? this.getUnmaskedValue() : value;\n\n this.currentVal = value;\n\n this.$emit('update:modelValue', this.defaultBuffer !== val ? val : '');\n },\n updateValue(updateModel = true) {\n if (this.$el) {\n if (this.modelValue == null) {\n this.$el.value = '';\n updateModel && this.updateModelValue('');\n } else {\n this.$el.value = this.modelValue;\n this.checkVal();\n\n setTimeout(() => {\n if (this.$el) {\n this.writeBuffer();\n this.checkVal();\n\n if (updateModel) this.updateModelValue(this.$el.value);\n }\n }, 10);\n }\n\n this.focusText = this.$el.value;\n }\n },\n initMask() {\n this.tests = [];\n this.partialPosition = this.mask.length;\n this.len = this.mask.length;\n this.firstNonMaskPos = null;\n this.defs = {\n 9: '[0-9]',\n a: '[A-Za-z]',\n '*': '[A-Za-z0-9]'\n };\n\n let ua = getUserAgent();\n\n this.androidChrome = /chrome/i.test(ua) && /android/i.test(ua);\n\n let maskTokens = this.mask.split('');\n\n for (let i = 0; i < maskTokens.length; i++) {\n let c = maskTokens[i];\n\n if (c === '?') {\n this.len--;\n this.partialPosition = i;\n } else if (this.defs[c]) {\n this.tests.push(new RegExp(this.defs[c]));\n\n if (this.firstNonMaskPos === null) {\n this.firstNonMaskPos = this.tests.length - 1;\n }\n\n if (i < this.partialPosition) {\n this.lastRequiredNonMaskPos = this.tests.length - 1;\n }\n } else {\n this.tests.push(null);\n }\n }\n\n this.buffer = [];\n\n for (let i = 0; i < maskTokens.length; i++) {\n let c = maskTokens[i];\n\n if (c !== '?') {\n if (this.defs[c]) this.buffer.push(this.getPlaceholder(i));\n else this.buffer.push(c);\n }\n }\n\n this.defaultBuffer = this.buffer.join('');\n this.updateValue(false);\n },\n isValueUpdated() {\n return this.unmask ? this.modelValue != this.getUnmaskedValue() : this.defaultBuffer !== this.$el.value && this.$el.value !== this.modelValue;\n }\n },\n computed: {\n filled() {\n return this.modelValue != null && this.modelValue.toString().length > 0;\n },\n inputClass() {\n return [this.cx('root'), this.class];\n },\n rootPTOptions() {\n return {\n root: mergeProps(this.ptm('pcInputText', this.ptmParams), this.ptmi('root', this.ptmParams))\n };\n },\n ptmParams() {\n return {\n context: {\n filled: this.filled\n }\n };\n },\n hasFluid() {\n return isEmpty(this.fluid) ? !!this.$pcFluid : this.fluid;\n }\n },\n components: {\n InputText\n }\n};\n</script>\n","<template>\n <InputText\n :id=\"id\"\n :value=\"currentVal\"\n :class=\"inputClass\"\n :readonly=\"readonly\"\n :disabled=\"disabled\"\n :invalid=\"invalid\"\n :name=\"name\"\n :variant=\"variant\"\n :placeholder=\"placeholder\"\n :fluid=\"hasFluid\"\n :unstyled=\"unstyled\"\n @input=\"onInput\"\n @compositionend=\"onInput\"\n @focus=\"onFocus\"\n @blur=\"onBlur\"\n @keydown=\"onKeyDown\"\n @keypress=\"onKeyPress\"\n @paste=\"onPaste\"\n :pt=\"rootPTOptions\"\n />\n</template>\n\n<script>\nimport { getUserAgent } from '@primeuix/utils/dom';\nimport { isEmpty } from '@primeuix/utils/object';\nimport InputText from 'primevue/inputtext';\nimport { mergeProps } from 'vue';\nimport BaseInputMask from './BaseInputMask.vue';\n\nexport default {\n name: 'InputMask',\n extends: BaseInputMask,\n inheritAttrs: false,\n emits: ['update:modelValue', 'focus', 'blur', 'keydown', 'complete', 'keypress', 'paste'],\n inject: {\n $pcFluid: { default: null }\n },\n data() {\n return {\n currentVal: ''\n };\n },\n watch: {\n mask(newMask, oldMask) {\n if (oldMask !== newMask) {\n this.initMask();\n }\n }\n },\n mounted() {\n this.initMask();\n },\n updated() {\n if (this.isValueUpdated()) {\n this.updateValue();\n }\n },\n methods: {\n onInput(event) {\n // Check if the event is part of a text composition process (e.g., for Asian languages).\n // If event.isComposing is true, it means the user is still composing text and the input is not finalized.\n if (!event.isComposing) {\n if (this.androidChrome) this.handleAndroidInput(event);\n else this.handleInputChange(event);\n\n this.updateModelValue(event.target.value);\n }\n },\n onFocus(event) {\n if (this.readonly) {\n return;\n }\n\n this.focus = true;\n\n clearTimeout(this.caretTimeoutId);\n let pos;\n\n this.focusText = this.$el.value;\n\n pos = this.checkVal();\n\n this.caretTimeoutId = setTimeout(() => {\n if (this.$el !== document.activeElement) {\n return;\n }\n\n this.writeBuffer();\n\n if (pos === this.mask.replace('?', '').length) {\n this.caret(0, pos);\n } else {\n this.caret(pos);\n }\n }, 10);\n\n this.$emit('focus', event);\n },\n onBlur(event) {\n this.focus = false;\n this.checkVal();\n this.updateModelValue(event.target.value);\n\n if (this.$el.value !== this.focusText) {\n let e = document.createEvent('HTMLEvents');\n\n e.initEvent('change', true, false);\n this.$el.dispatchEvent(e);\n }\n\n this.$emit('blur', event);\n },\n onKeyDown(event) {\n if (this.readonly) {\n return;\n }\n\n let k = event.code,\n pos,\n begin,\n end;\n let iPhone = /iphone/i.test(getUserAgent());\n\n this.oldVal = this.$el.value;\n\n //backspace, delete, and escape get special treatment\n if (k === 'Backspace' || k === 'Delete' || (iPhone && k === 'Escape')) {\n pos = this.caret();\n begin = pos.begin;\n end = pos.end;\n\n if (end - begin === 0) {\n begin = k !== 'Delete' ? this.seekPrev(begin) : (end = this.seekNext(begin - 1));\n end = k === 'Delete' ? this.seekNext(end) : end;\n }\n\n this.clearBuffer(begin, end);\n this.shiftL(begin, end - 1);\n this.updateModelValue(event.target.value);\n\n event.preventDefault();\n } else if (k === 'Enter') {\n // enter\n this.$el.blur();\n this.updateModelValue(event.target.value);\n } else if (k === 'Escape') {\n // escape\n this.$el.value = this.focusText;\n this.caret(0, this.checkVal());\n this.updateModelValue(event.target.value);\n event.preventDefault();\n }\n\n this.$emit('keydown', event);\n },\n onKeyPress(event) {\n if (this.readonly) {\n return;\n }\n\n var k = event.code,\n pos = this.caret(),\n p,\n c,\n next,\n completed;\n\n if (event.ctrlKey || event.altKey || event.metaKey || event.shiftKey || event.key === 'CapsLock' || event.key === 'Escape' || event.key === 'Tab') {\n //Ignore\n return;\n } else if (k && k !== 'Enter') {\n if (pos.end - pos.begin !== 0) {\n this.clearBuffer(pos.begin, pos.end);\n this.shiftL(pos.begin, pos.end - 1);\n }\n\n p = this.seekNext(pos.begin - 1);\n\n if (p < this.len) {\n c = event.key;\n\n if (this.tests[p].test(c)) {\n this.shiftR(p);\n\n this.buffer[p] = c;\n this.writeBuffer();\n next = this.seekNext(p);\n\n if (/android/i.test(getUserAgent())) {\n //Path for CSP Violation on FireFox OS 1.1\n let proxy = () => {\n this.caret(next);\n };\n\n setTimeout(proxy, 0);\n } else {\n this.caret(next);\n }\n\n if (pos.begin <= this.lastRequiredNonMaskPos) {\n completed = this.isCompleted();\n }\n }\n }\n\n event.preventDefault();\n }\n\n this.updateModelValue(event.target.value);\n\n if (completed) {\n this.$emit('complete', event);\n }\n\n this.$emit('keypress', event);\n },\n onPaste(event) {\n this.handleInputChange(event);\n\n this.$emit('paste', event);\n },\n caret(first, last) {\n let range, begin, end;\n\n if (!this.$el.offsetParent || this.$el !== document.activeElement) {\n return;\n }\n\n if (typeof first === 'number') {\n begin = first;\n end = typeof last === 'number' ? last : begin;\n\n if (this.$el.setSelectionRange) {\n this.$el.setSelectionRange(begin, end);\n } else if (this.$el['createTextRange']) {\n range = this.$el['createTextRange']();\n range.collapse(true);\n range.moveEnd('character', end);\n range.moveStart('character', begin);\n range.select();\n }\n } else {\n if (this.$el.setSelectionRange) {\n begin = this.$el.selectionStart;\n end = this.$el.selectionEnd;\n } else if (document['selection'] && document['selection'].createRange) {\n range = document['selection'].createRange();\n begin = 0 - range.duplicate().moveStart('character', -100000);\n end = begin + range.text.length;\n }\n\n return { begin: begin, end: end };\n }\n },\n isCompleted() {\n for (let i = this.firstNonMaskPos; i <= this.lastRequiredNonMaskPos; i++) {\n if (this.tests[i] && this.buffer[i] === this.getPlaceholder(i)) {\n return false;\n }\n }\n\n return true;\n },\n getPlaceholder(i) {\n if (i < this.slotChar.length) {\n return this.slotChar.charAt(i);\n }\n\n return this.slotChar.charAt(0);\n },\n seekNext(pos) {\n while (++pos < this.len && !this.tests[pos]);\n\n return pos;\n },\n seekPrev(pos) {\n while (--pos >= 0 && !this.tests[pos]);\n\n return pos;\n },\n shiftL(begin, end) {\n let i, j;\n\n if (begin < 0) {\n return;\n }\n\n for (i = begin, j = this.seekNext(end); i < this.len; i++) {\n if (this.tests[i]) {\n if (j < this.len && this.tests[i].test(this.buffer[j])) {\n this.buffer[i] = this.buffer[j];\n this.buffer[j] = this.getPlaceholder(j);\n } else {\n break;\n }\n\n j = this.seekNext(j);\n }\n }\n\n this.writeBuffer();\n this.caret(Math.max(this.firstNonMaskPos, begin));\n },\n shiftR(pos) {\n let i, c, j, t;\n\n for (i = pos, c = this.getPlaceholder(pos); i < this.len; i++) {\n if (this.tests[i]) {\n j = this.seekNext(i);\n t = this.buffer[i];\n this.buffer[i] = c;\n\n if (j < this.len && this.tests[j].test(t)) {\n c = t;\n } else {\n break;\n }\n }\n }\n },\n handleAndroidInput(event) {\n var curVal = this.$el.value;\n var pos = this.caret();\n\n if (this.oldVal && this.oldVal.length && this.oldVal.length > curVal.length) {\n // a deletion or backspace happened\n this.checkVal(true);\n while (pos.begin > 0 && !this.tests[pos.begin - 1]) pos.begin--;\n\n if (pos.begin === 0) {\n while (pos.begin < this.firstNonMaskPos && !this.tests[pos.begin]) pos.begin++;\n }\n\n this.caret(pos.begin, pos.begin);\n } else {\n this.checkVal(true);\n while (pos.begin < this.len && !this.tests[pos.begin]) pos.begin++;\n\n this.caret(pos.begin, pos.begin);\n }\n\n if (this.isCompleted()) {\n this.$emit('complete', event);\n }\n },\n clearBuffer(start, end) {\n let i;\n\n for (i = start; i < end && i < this.len; i++) {\n if (this.tests[i]) {\n this.buffer[i] = this.getPlaceholder(i);\n }\n }\n },\n writeBuffer() {\n this.$el.value = this.buffer.join('');\n },\n checkVal(allow) {\n this.isValueChecked = true;\n //try to place characters where they belong\n let test = this.$el.value,\n lastMatch = -1,\n i,\n c,\n pos;\n\n for (i = 0, pos = 0; i < this.len; i++) {\n if (this.tests[i]) {\n this.buffer[i] = this.getPlaceholder(i);\n\n while (pos++ < test.length) {\n c = test.charAt(pos - 1);\n\n if (this.tests[i].test(c)) {\n this.buffer[i] = c;\n lastMatch = i;\n break;\n }\n }\n\n if (pos > test.length) {\n this.clearBuffer(i + 1, this.len);\n break;\n }\n } else {\n if (this.buffer[i] === test.charAt(pos)) {\n pos++;\n }\n\n if (i < this.partialPosition) {\n lastMatch = i;\n }\n }\n }\n\n if (allow) {\n this.writeBuffer();\n } else if (lastMatch + 1 < this.partialPosition) {\n if (this.autoClear || this.buffer.join('') === this.defaultBuffer) {\n // Invalid value. Remove it and replace it with the\n // mask, which is the default behavior.\n if (this.$el.value) this.$el.value = '';\n this.clearBuffer(0, this.len);\n } else {\n // Invalid value, but we opt to show the value to the\n // user and allow them to correct their mistake.\n this.writeBuffer();\n }\n } else {\n this.writeBuffer();\n this.$el.value = this.$el.value.substring(0, lastMatch + 1);\n }\n\n return this.partialPosition ? i : this.firstNonMaskPos;\n },\n handleInputChange(event) {\n const isPasteEvent = event.type === 'paste';\n\n if (this.readonly || isPasteEvent) {\n return;\n }\n\n var pos = this.checkVal(true);\n\n this.caret(pos);\n this.updateModelValue(event.target.value);\n\n if (this.isCompleted()) {\n this.$emit('complete', event);\n }\n },\n getUnmaskedValue() {\n let unmaskedBuffer = [];\n\n for (let i = 0; i < this.buffer.length; i++) {\n let c = this.buffer[i];\n\n if (this.tests[i] && c !== this.getPlaceholder(i)) {\n unmaskedBuffer.push(c);\n }\n }\n\n return unmaskedBuffer.join('');\n },\n\n updateModelValue(value) {\n const val = this.unmask ? this.getUnmaskedValue() : value;\n\n this.currentVal = value;\n\n this.$emit('update:modelValue', this.defaultBuffer !== val ? val : '');\n },\n updateValue(updateModel = true) {\n if (this.$el) {\n if (this.modelValue == null) {\n this.$el.value = '';\n updateModel && this.updateModelValue('');\n } else {\n this.$el.value = this.modelValue;\n this.checkVal();\n\n setTimeout(() => {\n if (this.$el) {\n this.writeBuffer();\n this.checkVal();\n\n if (updateModel) this.updateModelValue(this.$el.value);\n }\n }, 10);\n }\n\n this.focusText = this.$el.value;\n }\n },\n initMask() {\n this.tests = [];\n this.partialPosition = this.mask.length;\n this.len = this.mask.length;\n this.firstNonMaskPos = null;\n this.defs = {\n 9: '[0-9]',\n a: '[A-Za-z]',\n '*': '[A-Za-z0-9]'\n };\n\n let ua = getUserAgent();\n\n this.androidChrome = /chrome/i.test(ua) && /android/i.test(ua);\n\n let maskTokens = this.mask.split('');\n\n for (let i = 0; i < maskTokens.length; i++) {\n let c = maskTokens[i];\n\n if (c === '?') {\n this.len--;\n this.partialPosition = i;\n } else if (this.defs[c]) {\n this.tests.push(new RegExp(this.defs[c]));\n\n if (this.firstNonMaskPos === null) {\n this.firstNonMaskPos = this.tests.length - 1;\n }\n\n if (i < this.partialPosition) {\n this.lastRequiredNonMaskPos = this.tests.length - 1;\n }\n } else {\n this.tests.push(null);\n }\n }\n\n this.buffer = [];\n\n for (let i = 0; i < maskTokens.length; i++) {\n let c = maskTokens[i];\n\n if (c !== '?') {\n if (this.defs[c]) this.buffer.push(this.getPlaceholder(i));\n else this.buffer.push(c);\n }\n }\n\n this.defaultBuffer = this.buffer.join('');\n this.updateValue(false);\n },\n isValueUpdated() {\n return this.unmask ? this.modelValue != this.getUnmaskedValue() : this.defaultBuffer !== this.$el.value && this.$el.value !== this.modelValue;\n }\n },\n computed: {\n filled() {\n return this.modelValue != null && this.modelValue.toString().length > 0;\n },\n inputClass() {\n return [this.cx('root'), this.class];\n },\n rootPTOptions() {\n return {\n root: mergeProps(this.ptm('pcInputText', this.ptmParams), this.ptmi('root', this.ptmParams))\n };\n },\n ptmParams() {\n return {\n context: {\n filled: this.filled\n }\n };\n },\n hasFluid() {\n return isEmpty(this.fluid) ? !!this.$pcFluid : this.fluid;\n }\n },\n components: {\n InputText\n }\n};\n</script>\n"],"names":["name","BaseComponent","props","modelValue","slotChar","type","String","id","Object","mask","placeholder","autoClear","Boolean","unmask","readonly","invalid","disabled","variant","fluid","style","InputMaskStyle","provide","$pcInputMask","$parentInstance","BaseInputMask","inheritAttrs","emits","inject","$pcFluid","data","currentVal","watch","newMask","oldMask","initMask","mounted","updated","isValueUpdated","updateValue","methods","onInput","event","isComposing","androidChrome","handleAndroidInput","handleInputChange","updateModelValue","target","value","onFocus","_this","focus","clearTimeout","caretTimeoutId","pos","focusText","$el","checkVal","setTimeout","document","activeElement","writeBuffer","replace","length","caret","$emit","onBlur","e","createEvent","initEvent","dispatchEvent","onKeyDown","k","code","begin","end","iPhone","test","getUserAgent","oldVal","seekPrev","seekNext","clearBuffer","shiftL","preventDefault","blur","onKeyPress","_this2","p","c","next","completed","ctrlKey","altKey","metaKey","shiftKey","key","len","tests","shiftR","buffer","proxy","lastRequiredNonMaskPos","isCompleted","onPaste","first","last","range","offsetParent","setSelectionRange","collapse","moveEnd","moveStart","select","selectionStart","selectionEnd","createRange","duplicate","text","i","firstNonMaskPos","getPlaceholder","charAt","j","Math","max","t","curVal","start","join","allow","isValueChecked","lastMatch","partialPosition","defaultBuffer","substring","isPasteEvent","getUnmaskedValue","unmaskedBuffer","push","val","_this3","updateModel","arguments","undefined","defs","a","ua","maskTokens","split","RegExp","computed","filled","toString","inputClass","cx","rootPTOptions","root","mergeProps","ptm","ptmParams","ptmi","context","hasFluid","isEmpty","components","InputText","_createBlock","_component_InputText","_ctx","$data","$options","unstyled","onCompositionend","onKeydown","onKeypress","pt"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../src/inputmask/BaseInputMask.vue","../../src/inputmask/InputMask.vue","../../src/inputmask/InputMask.vue?vue&type=template&id=d160eb72&lang.js"],"sourcesContent":["<script>\nimport BaseInput from '@primevue/core/baseinput';\nimport InputMaskStyle from 'primevue/inputmask/style';\n\nexport default {\n name: 'BaseInputMask',\n extends: BaseInput,\n props: {\n slotChar: {\n type: String,\n default: '_'\n },\n id: {\n type: String,\n default: null\n },\n class: {\n type: [String, Object],\n default: null\n },\n mask: {\n type: String,\n default: null\n },\n placeholder: {\n type: String,\n default: null\n },\n autoClear: {\n type: Boolean,\n default: true\n },\n unmask: {\n type: Boolean,\n default: false\n },\n readonly: {\n type: Boolean,\n default: false\n }\n },\n style: InputMaskStyle,\n provide() {\n return {\n $pcInputMask: this,\n $parentInstance: this\n };\n }\n};\n</script>\n","<template>\n <InputText\n :id=\"id\"\n :value=\"currentVal\"\n :class=\"inputClass\"\n :readonly=\"readonly\"\n :disabled=\"disabled\"\n :invalid=\"invalid\"\n :size=\"size\"\n :name=\"name\"\n :variant=\"variant\"\n :placeholder=\"placeholder\"\n :fluid=\"$fluid\"\n :unstyled=\"unstyled\"\n @input=\"onInput\"\n @compositionend=\"onInput\"\n @focus=\"onFocus\"\n @blur=\"onBlur\"\n @keydown=\"onKeyDown\"\n @keypress=\"onKeyPress\"\n @paste=\"onPaste\"\n :pt=\"rootPTOptions\"\n />\n</template>\n\n<script>\nimport { getUserAgent } from '@primeuix/utils/dom';\nimport InputText from 'primevue/inputtext';\nimport { mergeProps } from 'vue';\nimport BaseInputMask from './BaseInputMask.vue';\n\nexport default {\n name: 'InputMask',\n extends: BaseInputMask,\n inheritAttrs: false,\n emits: ['focus', 'blur', 'keydown', 'complete', 'keypress', 'paste'],\n inject: {\n $pcFluid: { default: null }\n },\n data() {\n return {\n currentVal: ''\n };\n },\n watch: {\n mask(newMask, oldMask) {\n if (oldMask !== newMask) {\n this.initMask();\n }\n }\n },\n mounted() {\n this.initMask();\n },\n updated() {\n if (this.isValueUpdated()) {\n this.updateValue();\n }\n },\n methods: {\n onInput(event) {\n // Check if the event is part of a text composition process (e.g., for Asian languages).\n // If event.isComposing is true, it means the user is still composing text and the input is not finalized.\n if (!event.isComposing) {\n if (this.androidChrome) this.handleAndroidInput(event);\n else this.handleInputChange(event);\n\n this.updateModelValue(event.target.value);\n }\n },\n onFocus(event) {\n if (this.readonly) {\n return;\n }\n\n this.focus = true;\n\n clearTimeout(this.caretTimeoutId);\n let pos;\n\n this.focusText = this.$el.value;\n\n pos = this.checkVal();\n\n this.caretTimeoutId = setTimeout(() => {\n if (this.$el !== document.activeElement) {\n return;\n }\n\n this.writeBuffer();\n\n if (pos === this.mask.replace('?', '').length) {\n this.caret(0, pos);\n } else {\n this.caret(pos);\n }\n }, 10);\n\n this.$emit('focus', event);\n },\n onBlur(event) {\n this.focus = false;\n this.checkVal();\n this.updateModelValue(event.target.value);\n\n if (this.$el.value !== this.focusText) {\n let e = document.createEvent('HTMLEvents');\n\n e.initEvent('change', true, false);\n this.$el.dispatchEvent(e);\n }\n\n this.$emit('blur', event);\n this.formField.onBlur?.(event);\n },\n onKeyDown(event) {\n if (this.readonly) {\n return;\n }\n\n let k = event.code,\n pos,\n begin,\n end;\n let iPhone = /iphone/i.test(getUserAgent());\n\n this.oldVal = this.$el.value;\n\n //backspace, delete, and escape get special treatment\n if (k === 'Backspace' || k === 'Delete' || (iPhone && k === 'Escape')) {\n pos = this.caret();\n begin = pos.begin;\n end = pos.end;\n\n if (end - begin === 0) {\n begin = k !== 'Delete' ? this.seekPrev(begin) : (end = this.seekNext(begin - 1));\n end = k === 'Delete' ? this.seekNext(end) : end;\n }\n\n this.clearBuffer(begin, end);\n this.shiftL(begin, end - 1);\n this.updateModelValue(event.target.value);\n\n event.preventDefault();\n } else if (k === 'Enter') {\n // enter\n this.$el.blur();\n this.updateModelValue(event.target.value);\n } else if (k === 'Escape') {\n // escape\n this.$el.value = this.focusText;\n this.caret(0, this.checkVal());\n this.updateModelValue(event.target.value);\n event.preventDefault();\n }\n\n this.$emit('keydown', event);\n },\n onKeyPress(event) {\n if (this.readonly) {\n return;\n }\n\n var k = event.code,\n pos = this.caret(),\n p,\n c,\n next,\n completed;\n\n if (event.ctrlKey || event.altKey || event.metaKey || event.shiftKey || event.key === 'CapsLock' || event.key === 'Escape' || event.key === 'Tab') {\n //Ignore\n return;\n } else if (k && k !== 'Enter') {\n if (pos.end - pos.begin !== 0) {\n this.clearBuffer(pos.begin, pos.end);\n this.shiftL(pos.begin, pos.end - 1);\n }\n\n p = this.seekNext(pos.begin - 1);\n\n if (p < this.len) {\n c = event.key;\n\n if (this.tests[p].test(c)) {\n this.shiftR(p);\n\n this.buffer[p] = c;\n this.writeBuffer();\n next = this.seekNext(p);\n\n if (/android/i.test(getUserAgent())) {\n //Path for CSP Violation on FireFox OS 1.1\n let proxy = () => {\n this.caret(next);\n };\n\n setTimeout(proxy, 0);\n } else {\n this.caret(next);\n }\n\n if (pos.begin <= this.lastRequiredNonMaskPos) {\n completed = this.isCompleted();\n }\n }\n }\n\n event.preventDefault();\n }\n\n this.updateModelValue(event.target.value);\n\n if (completed) {\n this.$emit('complete', event);\n }\n\n this.$emit('keypress', event);\n },\n onPaste(event) {\n this.handleInputChange(event);\n\n this.$emit('paste', event);\n },\n caret(first, last) {\n let range, begin, end;\n\n if (!this.$el.offsetParent || this.$el !== document.activeElement) {\n return;\n }\n\n if (typeof first === 'number') {\n begin = first;\n end = typeof last === 'number' ? last : begin;\n\n if (this.$el.setSelectionRange) {\n this.$el.setSelectionRange(begin, end);\n } else if (this.$el['createTextRange']) {\n range = this.$el['createTextRange']();\n range.collapse(true);\n range.moveEnd('character', end);\n range.moveStart('character', begin);\n range.select();\n }\n } else {\n if (this.$el.setSelectionRange) {\n begin = this.$el.selectionStart;\n end = this.$el.selectionEnd;\n } else if (document['selection'] && document['selection'].createRange) {\n range = document['selection'].createRange();\n begin = 0 - range.duplicate().moveStart('character', -100000);\n end = begin + range.text.length;\n }\n\n return { begin: begin, end: end };\n }\n },\n isCompleted() {\n for (let i = this.firstNonMaskPos; i <= this.lastRequiredNonMaskPos; i++) {\n if (this.tests[i] && this.buffer[i] === this.getPlaceholder(i)) {\n return false;\n }\n }\n\n return true;\n },\n getPlaceholder(i) {\n if (i < this.slotChar.length) {\n return this.slotChar.charAt(i);\n }\n\n return this.slotChar.charAt(0);\n },\n seekNext(pos) {\n while (++pos < this.len && !this.tests[pos]);\n\n return pos;\n },\n seekPrev(pos) {\n while (--pos >= 0 && !this.tests[pos]);\n\n return pos;\n },\n shiftL(begin, end) {\n let i, j;\n\n if (begin < 0) {\n return;\n }\n\n for (i = begin, j = this.seekNext(end); i < this.len; i++) {\n if (this.tests[i]) {\n if (j < this.len && this.tests[i].test(this.buffer[j])) {\n this.buffer[i] = this.buffer[j];\n this.buffer[j] = this.getPlaceholder(j);\n } else {\n break;\n }\n\n j = this.seekNext(j);\n }\n }\n\n this.writeBuffer();\n this.caret(Math.max(this.firstNonMaskPos, begin));\n },\n shiftR(pos) {\n let i, c, j, t;\n\n for (i = pos, c = this.getPlaceholder(pos); i < this.len; i++) {\n if (this.tests[i]) {\n j = this.seekNext(i);\n t = this.buffer[i];\n this.buffer[i] = c;\n\n if (j < this.len && this.tests[j].test(t)) {\n c = t;\n } else {\n break;\n }\n }\n }\n },\n handleAndroidInput(event) {\n var curVal = this.$el.value;\n var pos = this.caret();\n\n if (this.oldVal && this.oldVal.length && this.oldVal.length > curVal.length) {\n // a deletion or backspace happened\n this.checkVal(true);\n while (pos.begin > 0 && !this.tests[pos.begin - 1]) pos.begin--;\n\n if (pos.begin === 0) {\n while (pos.begin < this.firstNonMaskPos && !this.tests[pos.begin]) pos.begin++;\n }\n\n this.caret(pos.begin, pos.begin);\n } else {\n this.checkVal(true);\n while (pos.begin < this.len && !this.tests[pos.begin]) pos.begin++;\n\n this.caret(pos.begin, pos.begin);\n }\n\n if (this.isCompleted()) {\n this.$emit('complete', event);\n }\n },\n clearBuffer(start, end) {\n let i;\n\n for (i = start; i < end && i < this.len; i++) {\n if (this.tests[i]) {\n this.buffer[i] = this.getPlaceholder(i);\n }\n }\n },\n writeBuffer() {\n this.$el.value = this.buffer.join('');\n },\n checkVal(allow) {\n this.isValueChecked = true;\n //try to place characters where they belong\n let test = this.$el.value,\n lastMatch = -1,\n i,\n c,\n pos;\n\n for (i = 0, pos = 0; i < this.len; i++) {\n if (this.tests[i]) {\n this.buffer[i] = this.getPlaceholder(i);\n\n while (pos++ < test.length) {\n c = test.charAt(pos - 1);\n\n if (this.tests[i].test(c)) {\n this.buffer[i] = c;\n lastMatch = i;\n break;\n }\n }\n\n if (pos > test.length) {\n this.clearBuffer(i + 1, this.len);\n break;\n }\n } else {\n if (this.buffer[i] === test.charAt(pos)) {\n pos++;\n }\n\n if (i < this.partialPosition) {\n lastMatch = i;\n }\n }\n }\n\n if (allow) {\n this.writeBuffer();\n } else if (lastMatch + 1 < this.partialPosition) {\n if (this.autoClear || this.buffer.join('') === this.defaultBuffer) {\n // Invalid value. Remove it and replace it with the\n // mask, which is the default behavior.\n if (this.$el.value) this.$el.value = '';\n this.clearBuffer(0, this.len);\n } else {\n // Invalid value, but we opt to show the value to the\n // user and allow them to correct their mistake.\n this.writeBuffer();\n }\n } else {\n this.writeBuffer();\n this.$el.value = this.$el.value.substring(0, lastMatch + 1);\n }\n\n return this.partialPosition ? i : this.firstNonMaskPos;\n },\n handleInputChange(event) {\n const isPasteEvent = event.type === 'paste';\n\n if (this.readonly || isPasteEvent) {\n return;\n }\n\n var pos = this.checkVal(true);\n\n this.caret(pos);\n this.updateModelValue(event.target.value);\n\n if (this.isCompleted()) {\n this.$emit('complete', event);\n }\n },\n getUnmaskedValue() {\n let unmaskedBuffer = [];\n\n for (let i = 0; i < this.buffer.length; i++) {\n let c = this.buffer[i];\n\n if (this.tests[i] && c !== this.getPlaceholder(i)) {\n unmaskedBuffer.push(c);\n }\n }\n\n return unmaskedBuffer.join('');\n },\n\n updateModelValue(value) {\n const val = this.unmask ? this.getUnmaskedValue() : value;\n\n this.currentVal = value;\n\n this.writeValue(this.defaultBuffer !== val ? val : '');\n },\n updateValue(updateModel = true) {\n if (this.$el) {\n if (this.d_value == null) {\n this.$el.value = '';\n updateModel && this.updateModelValue('');\n } else {\n this.$el.value = this.d_value;\n this.checkVal();\n\n setTimeout(() => {\n if (this.$el) {\n this.writeBuffer();\n this.checkVal();\n\n if (updateModel) this.updateModelValue(this.$el.value);\n }\n }, 10);\n }\n\n this.focusText = this.$el.value;\n }\n },\n initMask() {\n this.tests = [];\n this.partialPosition = this.mask.length;\n this.len = this.mask.length;\n this.firstNonMaskPos = null;\n this.defs = {\n 9: '[0-9]',\n a: '[A-Za-z]',\n '*': '[A-Za-z0-9]'\n };\n\n let ua = getUserAgent();\n\n this.androidChrome = /chrome/i.test(ua) && /android/i.test(ua);\n\n let maskTokens = this.mask.split('');\n\n for (let i = 0; i < maskTokens.length; i++) {\n let c = maskTokens[i];\n\n if (c === '?') {\n this.len--;\n this.partialPosition = i;\n } else if (this.defs[c]) {\n this.tests.push(new RegExp(this.defs[c]));\n\n if (this.firstNonMaskPos === null) {\n this.firstNonMaskPos = this.tests.length - 1;\n }\n\n if (i < this.partialPosition) {\n this.lastRequiredNonMaskPos = this.tests.length - 1;\n }\n } else {\n this.tests.push(null);\n }\n }\n\n this.buffer = [];\n\n for (let i = 0; i < maskTokens.length; i++) {\n let c = maskTokens[i];\n\n if (c !== '?') {\n if (this.defs[c]) this.buffer.push(this.getPlaceholder(i));\n else this.buffer.push(c);\n }\n }\n\n this.defaultBuffer = this.buffer.join('');\n this.updateValue(false);\n },\n isValueUpdated() {\n return this.unmask ? this.d_value != this.getUnmaskedValue() : this.defaultBuffer !== this.$el.value && this.$el.value !== this.d_value;\n }\n },\n computed: {\n inputClass() {\n return [this.cx('root'), this.class];\n },\n rootPTOptions() {\n return {\n root: mergeProps(this.ptm('pcInputText', this.ptmParams), this.ptmi('root', this.ptmParams))\n };\n },\n ptmParams() {\n return {\n context: {\n filled: this.$filled\n }\n };\n }\n },\n components: {\n InputText\n }\n};\n</script>\n","<template>\n <InputText\n :id=\"id\"\n :value=\"currentVal\"\n :class=\"inputClass\"\n :readonly=\"readonly\"\n :disabled=\"disabled\"\n :invalid=\"invalid\"\n :size=\"size\"\n :name=\"name\"\n :variant=\"variant\"\n :placeholder=\"placeholder\"\n :fluid=\"$fluid\"\n :unstyled=\"unstyled\"\n @input=\"onInput\"\n @compositionend=\"onInput\"\n @focus=\"onFocus\"\n @blur=\"onBlur\"\n @keydown=\"onKeyDown\"\n @keypress=\"onKeyPress\"\n @paste=\"onPaste\"\n :pt=\"rootPTOptions\"\n />\n</template>\n\n<script>\nimport { getUserAgent } from '@primeuix/utils/dom';\nimport InputText from 'primevue/inputtext';\nimport { mergeProps } from 'vue';\nimport BaseInputMask from './BaseInputMask.vue';\n\nexport default {\n name: 'InputMask',\n extends: BaseInputMask,\n inheritAttrs: false,\n emits: ['focus', 'blur', 'keydown', 'complete', 'keypress', 'paste'],\n inject: {\n $pcFluid: { default: null }\n },\n data() {\n return {\n currentVal: ''\n };\n },\n watch: {\n mask(newMask, oldMask) {\n if (oldMask !== newMask) {\n this.initMask();\n }\n }\n },\n mounted() {\n this.initMask();\n },\n updated() {\n if (this.isValueUpdated()) {\n this.updateValue();\n }\n },\n methods: {\n onInput(event) {\n // Check if the event is part of a text composition process (e.g., for Asian languages).\n // If event.isComposing is true, it means the user is still composing text and the input is not finalized.\n if (!event.isComposing) {\n if (this.androidChrome) this.handleAndroidInput(event);\n else this.handleInputChange(event);\n\n this.updateModelValue(event.target.value);\n }\n },\n onFocus(event) {\n if (this.readonly) {\n return;\n }\n\n this.focus = true;\n\n clearTimeout(this.caretTimeoutId);\n let pos;\n\n this.focusText = this.$el.value;\n\n pos = this.checkVal();\n\n this.caretTimeoutId = setTimeout(() => {\n if (this.$el !== document.activeElement) {\n return;\n }\n\n this.writeBuffer();\n\n if (pos === this.mask.replace('?', '').length) {\n this.caret(0, pos);\n } else {\n this.caret(pos);\n }\n }, 10);\n\n this.$emit('focus', event);\n },\n onBlur(event) {\n this.focus = false;\n this.checkVal();\n this.updateModelValue(event.target.value);\n\n if (this.$el.value !== this.focusText) {\n let e = document.createEvent('HTMLEvents');\n\n e.initEvent('change', true, false);\n this.$el.dispatchEvent(e);\n }\n\n this.$emit('blur', event);\n this.formField.onBlur?.(event);\n },\n onKeyDown(event) {\n if (this.readonly) {\n return;\n }\n\n let k = event.code,\n pos,\n begin,\n end;\n let iPhone = /iphone/i.test(getUserAgent());\n\n this.oldVal = this.$el.value;\n\n //backspace, delete, and escape get special treatment\n if (k === 'Backspace' || k === 'Delete' || (iPhone && k === 'Escape')) {\n pos = this.caret();\n begin = pos.begin;\n end = pos.end;\n\n if (end - begin === 0) {\n begin = k !== 'Delete' ? this.seekPrev(begin) : (end = this.seekNext(begin - 1));\n end = k === 'Delete' ? this.seekNext(end) : end;\n }\n\n this.clearBuffer(begin, end);\n this.shiftL(begin, end - 1);\n this.updateModelValue(event.target.value);\n\n event.preventDefault();\n } else if (k === 'Enter') {\n // enter\n this.$el.blur();\n this.updateModelValue(event.target.value);\n } else if (k === 'Escape') {\n // escape\n this.$el.value = this.focusText;\n this.caret(0, this.checkVal());\n this.updateModelValue(event.target.value);\n event.preventDefault();\n }\n\n this.$emit('keydown', event);\n },\n onKeyPress(event) {\n if (this.readonly) {\n return;\n }\n\n var k = event.code,\n pos = this.caret(),\n p,\n c,\n next,\n completed;\n\n if (event.ctrlKey || event.altKey || event.metaKey || event.shiftKey || event.key === 'CapsLock' || event.key === 'Escape' || event.key === 'Tab') {\n //Ignore\n return;\n } else if (k && k !== 'Enter') {\n if (pos.end - pos.begin !== 0) {\n this.clearBuffer(pos.begin, pos.end);\n this.shiftL(pos.begin, pos.end - 1);\n }\n\n p = this.seekNext(pos.begin - 1);\n\n if (p < this.len) {\n c = event.key;\n\n if (this.tests[p].test(c)) {\n this.shiftR(p);\n\n this.buffer[p] = c;\n this.writeBuffer();\n next = this.seekNext(p);\n\n if (/android/i.test(getUserAgent())) {\n //Path for CSP Violation on FireFox OS 1.1\n let proxy = () => {\n this.caret(next);\n };\n\n setTimeout(proxy, 0);\n } else {\n this.caret(next);\n }\n\n if (pos.begin <= this.lastRequiredNonMaskPos) {\n completed = this.isCompleted();\n }\n }\n }\n\n event.preventDefault();\n }\n\n this.updateModelValue(event.target.value);\n\n if (completed) {\n this.$emit('complete', event);\n }\n\n this.$emit('keypress', event);\n },\n onPaste(event) {\n this.handleInputChange(event);\n\n this.$emit('paste', event);\n },\n caret(first, last) {\n let range, begin, end;\n\n if (!this.$el.offsetParent || this.$el !== document.activeElement) {\n return;\n }\n\n if (typeof first === 'number') {\n begin = first;\n end = typeof last === 'number' ? last : begin;\n\n if (this.$el.setSelectionRange) {\n this.$el.setSelectionRange(begin, end);\n } else if (this.$el['createTextRange']) {\n range = this.$el['createTextRange']();\n range.collapse(true);\n range.moveEnd('character', end);\n range.moveStart('character', begin);\n range.select();\n }\n } else {\n if (this.$el.setSelectionRange) {\n begin = this.$el.selectionStart;\n end = this.$el.selectionEnd;\n } else if (document['selection'] && document['selection'].createRange) {\n range = document['selection'].createRange();\n begin = 0 - range.duplicate().moveStart('character', -100000);\n end = begin + range.text.length;\n }\n\n return { begin: begin, end: end };\n }\n },\n isCompleted() {\n for (let i = this.firstNonMaskPos; i <= this.lastRequiredNonMaskPos; i++) {\n if (this.tests[i] && this.buffer[i] === this.getPlaceholder(i)) {\n return false;\n }\n }\n\n return true;\n },\n getPlaceholder(i) {\n if (i < this.slotChar.length) {\n return this.slotChar.charAt(i);\n }\n\n return this.slotChar.charAt(0);\n },\n seekNext(pos) {\n while (++pos < this.len && !this.tests[pos]);\n\n return pos;\n },\n seekPrev(pos) {\n while (--pos >= 0 && !this.tests[pos]);\n\n return pos;\n },\n shiftL(begin, end) {\n let i, j;\n\n if (begin < 0) {\n return;\n }\n\n for (i = begin, j = this.seekNext(end); i < this.len; i++) {\n if (this.tests[i]) {\n if (j < this.len && this.tests[i].test(this.buffer[j])) {\n this.buffer[i] = this.buffer[j];\n this.buffer[j] = this.getPlaceholder(j);\n } else {\n break;\n }\n\n j = this.seekNext(j);\n }\n }\n\n this.writeBuffer();\n this.caret(Math.max(this.firstNonMaskPos, begin));\n },\n shiftR(pos) {\n let i, c, j, t;\n\n for (i = pos, c = this.getPlaceholder(pos); i < this.len; i++) {\n if (this.tests[i]) {\n j = this.seekNext(i);\n t = this.buffer[i];\n this.buffer[i] = c;\n\n if (j < this.len && this.tests[j].test(t)) {\n c = t;\n } else {\n break;\n }\n }\n }\n },\n handleAndroidInput(event) {\n var curVal = this.$el.value;\n var pos = this.caret();\n\n if (this.oldVal && this.oldVal.length && this.oldVal.length > curVal.length) {\n // a deletion or backspace happened\n this.checkVal(true);\n while (pos.begin > 0 && !this.tests[pos.begin - 1]) pos.begin--;\n\n if (pos.begin === 0) {\n while (pos.begin < this.firstNonMaskPos && !this.tests[pos.begin]) pos.begin++;\n }\n\n this.caret(pos.begin, pos.begin);\n } else {\n this.checkVal(true);\n while (pos.begin < this.len && !this.tests[pos.begin]) pos.begin++;\n\n this.caret(pos.begin, pos.begin);\n }\n\n if (this.isCompleted()) {\n this.$emit('complete', event);\n }\n },\n clearBuffer(start, end) {\n let i;\n\n for (i = start; i < end && i < this.len; i++) {\n if (this.tests[i]) {\n this.buffer[i] = this.getPlaceholder(i);\n }\n }\n },\n writeBuffer() {\n this.$el.value = this.buffer.join('');\n },\n checkVal(allow) {\n this.isValueChecked = true;\n //try to place characters where they belong\n let test = this.$el.value,\n lastMatch = -1,\n i,\n c,\n pos;\n\n for (i = 0, pos = 0; i < this.len; i++) {\n if (this.tests[i]) {\n this.buffer[i] = this.getPlaceholder(i);\n\n while (pos++ < test.length) {\n c = test.charAt(pos - 1);\n\n if (this.tests[i].test(c)) {\n this.buffer[i] = c;\n lastMatch = i;\n break;\n }\n }\n\n if (pos > test.length) {\n this.clearBuffer(i + 1, this.len);\n break;\n }\n } else {\n if (this.buffer[i] === test.charAt(pos)) {\n pos++;\n }\n\n if (i < this.partialPosition) {\n lastMatch = i;\n }\n }\n }\n\n if (allow) {\n this.writeBuffer();\n } else if (lastMatch + 1 < this.partialPosition) {\n if (this.autoClear || this.buffer.join('') === this.defaultBuffer) {\n // Invalid value. Remove it and replace it with the\n // mask, which is the default behavior.\n if (this.$el.value) this.$el.value = '';\n this.clearBuffer(0, this.len);\n } else {\n // Invalid value, but we opt to show the value to the\n // user and allow them to correct their mistake.\n this.writeBuffer();\n }\n } else {\n this.writeBuffer();\n this.$el.value = this.$el.value.substring(0, lastMatch + 1);\n }\n\n return this.partialPosition ? i : this.firstNonMaskPos;\n },\n handleInputChange(event) {\n const isPasteEvent = event.type === 'paste';\n\n if (this.readonly || isPasteEvent) {\n return;\n }\n\n var pos = this.checkVal(true);\n\n this.caret(pos);\n this.updateModelValue(event.target.value);\n\n if (this.isCompleted()) {\n this.$emit('complete', event);\n }\n },\n getUnmaskedValue() {\n let unmaskedBuffer = [];\n\n for (let i = 0; i < this.buffer.length; i++) {\n let c = this.buffer[i];\n\n if (this.tests[i] && c !== this.getPlaceholder(i)) {\n unmaskedBuffer.push(c);\n }\n }\n\n return unmaskedBuffer.join('');\n },\n\n updateModelValue(value) {\n const val = this.unmask ? this.getUnmaskedValue() : value;\n\n this.currentVal = value;\n\n this.writeValue(this.defaultBuffer !== val ? val : '');\n },\n updateValue(updateModel = true) {\n if (this.$el) {\n if (this.d_value == null) {\n this.$el.value = '';\n updateModel && this.updateModelValue('');\n } else {\n this.$el.value = this.d_value;\n this.checkVal();\n\n setTimeout(() => {\n if (this.$el) {\n this.writeBuffer();\n this.checkVal();\n\n if (updateModel) this.updateModelValue(this.$el.value);\n }\n }, 10);\n }\n\n this.focusText = this.$el.value;\n }\n },\n initMask() {\n this.tests = [];\n this.partialPosition = this.mask.length;\n this.len = this.mask.length;\n this.firstNonMaskPos = null;\n this.defs = {\n 9: '[0-9]',\n a: '[A-Za-z]',\n '*': '[A-Za-z0-9]'\n };\n\n let ua = getUserAgent();\n\n this.androidChrome = /chrome/i.test(ua) && /android/i.test(ua);\n\n let maskTokens = this.mask.split('');\n\n for (let i = 0; i < maskTokens.length; i++) {\n let c = maskTokens[i];\n\n if (c === '?') {\n this.len--;\n this.partialPosition = i;\n } else if (this.defs[c]) {\n this.tests.push(new RegExp(this.defs[c]));\n\n if (this.firstNonMaskPos === null) {\n this.firstNonMaskPos = this.tests.length - 1;\n }\n\n if (i < this.partialPosition) {\n this.lastRequiredNonMaskPos = this.tests.length - 1;\n }\n } else {\n this.tests.push(null);\n }\n }\n\n this.buffer = [];\n\n for (let i = 0; i < maskTokens.length; i++) {\n let c = maskTokens[i];\n\n if (c !== '?') {\n if (this.defs[c]) this.buffer.push(this.getPlaceholder(i));\n else this.buffer.push(c);\n }\n }\n\n this.defaultBuffer = this.buffer.join('');\n this.updateValue(false);\n },\n isValueUpdated() {\n return this.unmask ? this.d_value != this.getUnmaskedValue() : this.defaultBuffer !== this.$el.value && this.$el.value !== this.d_value;\n }\n },\n computed: {\n inputClass() {\n return [this.cx('root'), this.class];\n },\n rootPTOptions() {\n return {\n root: mergeProps(this.ptm('pcInputText', this.ptmParams), this.ptmi('root', this.ptmParams))\n };\n },\n ptmParams() {\n return {\n context: {\n filled: this.$filled\n }\n };\n }\n },\n components: {\n InputText\n }\n};\n</script>\n"],"names":["name","BaseInput","props","slotChar","type","String","id","Object","mask","placeholder","autoClear","Boolean","unmask","readonly","style","InputMaskStyle","provide","$pcInputMask","$parentInstance","BaseInputMask","inheritAttrs","emits","inject","$pcFluid","data","currentVal","watch","newMask","oldMask","initMask","mounted","updated","isValueUpdated","updateValue","methods","onInput","event","isComposing","androidChrome","handleAndroidInput","handleInputChange","updateModelValue","target","value","onFocus","_this","focus","clearTimeout","caretTimeoutId","pos","focusText","$el","checkVal","setTimeout","document","activeElement","writeBuffer","replace","length","caret","$emit","onBlur","_this$formField$onBlu","_this$formField","e","createEvent","initEvent","dispatchEvent","formField","call","onKeyDown","k","code","begin","end","iPhone","test","getUserAgent","oldVal","seekPrev","seekNext","clearBuffer","shiftL","preventDefault","blur","onKeyPress","_this2","p","c","next","completed","ctrlKey","altKey","metaKey","shiftKey","key","len","tests","shiftR","buffer","proxy","lastRequiredNonMaskPos","isCompleted","onPaste","first","last","range","offsetParent","setSelectionRange","collapse","moveEnd","moveStart","select","selectionStart","selectionEnd","createRange","duplicate","text","i","firstNonMaskPos","getPlaceholder","charAt","j","Math","max","t","curVal","start","join","allow","isValueChecked","lastMatch","partialPosition","defaultBuffer","substring","isPasteEvent","getUnmaskedValue","unmaskedBuffer","push","val","writeValue","_this3","updateModel","arguments","undefined","d_value","defs","a","ua","maskTokens","split","RegExp","computed","inputClass","cx","rootPTOptions","root","mergeProps","ptm","ptmParams","ptmi","context","filled","$filled","components","InputText","_createBlock","_component_InputText","_ctx","$data","$options","disabled","invalid","size","variant","fluid","$fluid","unstyled","onCompositionend","onKeydown","onKeypress","pt"],"mappings":"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"}
@@ -4,7 +4,7 @@ var classes = {
4
4
  root: function root(_ref) {
5
5
  var instance = _ref.instance;
6
6
  return ['p-inputmask', {
7
- 'p-filled': instance.filled
7
+ 'p-filled': instance.$filled
8
8
  }];
9
9
  }
10
10
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../src/inputmask/style/InputMaskStyle.js"],"sourcesContent":["import BaseStyle from '@primevue/core/base/style';\n\nconst classes = {\n root: ({ instance }) => [\n 'p-inputmask',\n {\n 'p-filled': instance.filled\n }\n ]\n};\n\nexport default BaseStyle.extend({\n name: 'inputmask',\n classes\n});\n"],"names":["classes","root","_ref","instance","filled","BaseStyle","extend","name"],"mappings":";;AAEA,IAAMA,OAAO,GAAG;AACZC,EAAAA,IAAI,EAAE,SAANA,IAAIA,CAAAC,IAAA,EAAA;AAAA,IAAA,IAAKC,QAAQ,GAAAD,IAAA,CAARC,QAAQ,CAAA;IAAA,OAAO,CACpB,aAAa,EACb;MACI,UAAU,EAAEA,QAAQ,CAACC,MAAAA;AACzB,KAAC,CACJ,CAAA;AAAA,GAAA;AACL,CAAC,CAAA;AAED,qBAAeC,SAAS,CAACC,MAAM,CAAC;AAC5BC,EAAAA,IAAI,EAAE,WAAW;AACjBP,EAAAA,OAAO,EAAPA,OAAAA;AACJ,CAAC,CAAC;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../src/inputmask/style/InputMaskStyle.js"],"sourcesContent":["import BaseStyle from '@primevue/core/base/style';\n\nconst classes = {\n root: ({ instance }) => [\n 'p-inputmask',\n {\n 'p-filled': instance.$filled\n }\n ]\n};\n\nexport default BaseStyle.extend({\n name: 'inputmask',\n classes\n});\n"],"names":["classes","root","_ref","instance","$filled","BaseStyle","extend","name"],"mappings":";;AAEA,IAAMA,OAAO,GAAG;AACZC,EAAAA,IAAI,EAAE,SAANA,IAAIA,CAAAC,IAAA,EAAA;AAAA,IAAA,IAAKC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IAAA,OAAO,CACpB,aAAa,EACb;MACI,UAAU,EAAEA,QAAQ,CAACC;AACzB,KAAC,CACJ;AAAA;AACL,CAAC;AAED,qBAAeC,SAAS,CAACC,MAAM,CAAC;AAC5BC,EAAAA,IAAI,EAAE,WAAW;AACjBP,EAAAA,OAAO,EAAPA;AACJ,CAAC,CAAC;;;;"}
@@ -1,15 +1,11 @@
1
1
  <script>
2
- import BaseComponent from '@primevue/core/basecomponent';
2
+ import BaseInput from '@primevue/core/baseinput';
3
3
  import InputNumberStyle from 'primevue/inputnumber/style';
4
4
 
5
5
  export default {
6
6
  name: 'BaseInputNumber',
7
- extends: BaseComponent,
7
+ extends: BaseInput,
8
8
  props: {
9
- modelValue: {
10
- type: Number,
11
- default: null
12
- },
13
9
  format: {
14
10
  type: Boolean,
15
11
  default: true
@@ -117,26 +113,10 @@ export default {
117
113
  type: Boolean,
118
114
  default: false
119
115
  },
120
- variant: {
121
- type: String,
122
- default: null
123
- },
124
- invalid: {
125
- type: Boolean,
126
- default: false
127
- },
128
- disabled: {
129
- type: Boolean,
130
- default: false
131
- },
132
116
  placeholder: {
133
117
  type: String,
134
118
  default: null
135
119
  },
136
- fluid: {
137
- type: Boolean,
138
- default: null
139
- },
140
120
  inputId: {
141
121
  type: String,
142
122
  default: null
@@ -9,13 +9,14 @@
9
9
  :value="formattedValue"
10
10
  :aria-valuemin="min"
11
11
  :aria-valuemax="max"
12
- :aria-valuenow="modelValue"
12
+ :aria-valuenow="d_value"
13
13
  :inputmode="mode === 'decimal' && !minFractionDigits ? 'numeric' : 'decimal'"
14
14
  :disabled="disabled"
15
15
  :readonly="readonly"
16
16
  :placeholder="placeholder"
17
17
  :aria-labelledby="ariaLabelledby"
18
18
  :aria-label="ariaLabel"
19
+ :size="size"
19
20
  :invalid="invalid"
20
21
  :variant="variant"
21
22
  @input="onUserInput"
@@ -73,7 +74,7 @@
73
74
 
74
75
  <script>
75
76
  import { clearSelection, getSelection } from '@primeuix/utils/dom';
76
- import { isEmpty, isNotEmpty } from '@primeuix/utils/object';
77
+ import { isNotEmpty } from '@primeuix/utils/object';
77
78
  import AngleDownIcon from '@primevue/icons/angledown';
78
79
  import AngleUpIcon from '@primevue/icons/angleup';
79
80
  import InputText from 'primevue/inputtext';
@@ -83,7 +84,7 @@ export default {
83
84
  name: 'InputNumber',
84
85
  extends: BaseInputNumber,
85
86
  inheritAttrs: false,
86
- emits: ['update:modelValue', 'input', 'focus', 'blur'],
87
+ emits: ['input', 'focus', 'blur'],
87
88
  inject: {
88
89
  $pcFluid: { default: null }
89
90
  },
@@ -103,12 +104,14 @@ export default {
103
104
  timer: null,
104
105
  data() {
105
106
  return {
106
- d_modelValue: this.modelValue,
107
+ // @deprecated
108
+ d_modelValue: this.d_value,
107
109
  focused: false
108
110
  };
109
111
  },
110
112
  watch: {
111
- modelValue(newValue) {
113
+ d_value(newValue) {
114
+ // @deprecated since v4.2.0
112
115
  this.d_modelValue = newValue;
113
116
  },
114
117
  locale(newValue, oldValue) {
@@ -778,6 +781,7 @@ export default {
778
781
  handleOnInput(event, currentValue, newValue) {
779
782
  if (this.isValueChanged(currentValue, newValue)) {
780
783
  this.$emit('input', { originalEvent: event, value: newValue, formattedValue: currentValue });
784
+ this.formField.onInput?.({ originalEvent: event, value: newValue });
781
785
  }
782
786
  },
783
787
  isValueChanged(currentValue, newValue) {
@@ -911,8 +915,7 @@ export default {
911
915
  return 0;
912
916
  },
913
917
  updateModel(event, value) {
914
- this.d_modelValue = value;
915
- this.$emit('update:modelValue', value);
918
+ this.writeValue(value, event);
916
919
  },
917
920
  onInputFocus(event) {
918
921
  this.focused = true;
@@ -930,6 +933,7 @@ export default {
930
933
  let newValue = this.validateValue(this.parseValue(input.value));
931
934
 
932
935
  this.$emit('blur', { originalEvent: event, value: input.value });
936
+ this.formField.onBlur?.(event);
933
937
 
934
938
  input.value = this.formatValue(newValue);
935
939
  input.setAttribute('aria-valuenow', newValue);
@@ -945,16 +949,13 @@ export default {
945
949
  }
946
950
  },
947
951
  maxBoundry() {
948
- return this.d_modelValue >= this.max;
952
+ return this.d_value >= this.max;
949
953
  },
950
954
  minBoundry() {
951
- return this.d_modelValue <= this.min;
955
+ return this.d_value <= this.min;
952
956
  }
953
957
  },
954
958
  computed: {
955
- filled() {
956
- return this.modelValue != null && this.modelValue.toString().length > 0;
957
- },
958
959
  upButtonListeners() {
959
960
  return {
960
961
  mousedown: (event) => this.onUpButtonMouseDown(event),
@@ -974,15 +975,12 @@ export default {
974
975
  };
975
976
  },
976
977
  formattedValue() {
977
- const val = !this.modelValue && !this.allowEmpty ? 0 : this.modelValue;
978
+ const val = !this.d_value && !this.allowEmpty ? 0 : this.d_value;
978
979
 
979
980
  return this.formatValue(val);
980
981
  },
981
982
  getFormatter() {
982
983
  return this.numberFormat;
983
- },
984
- hasFluid() {
985
- return isEmpty(this.fluid) ? !!this.$pcFluid : this.fluid;
986
984
  }
987
985
  },
988
986
  components: {