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
package/knob/index.mjs CHANGED
@@ -1,24 +1,16 @@
1
- import BaseComponent from '@primevue/core/basecomponent';
2
1
  import { $dt } from '@primeuix/styled';
2
+ import BaseEditableHolder from '@primevue/core/baseeditableholder';
3
3
  import KnobStyle from 'primevue/knob/style';
4
4
  import { openBlock, createElementBlock, mergeProps, createElementVNode, toDisplayString, createCommentVNode } from 'vue';
5
5
 
6
6
  var script$1 = {
7
7
  name: 'BaseKnob',
8
- "extends": BaseComponent,
8
+ "extends": BaseEditableHolder,
9
9
  props: {
10
- modelValue: {
11
- type: Number,
12
- "default": null
13
- },
14
10
  size: {
15
11
  type: Number,
16
12
  "default": 100
17
13
  },
18
- disabled: {
19
- type: Boolean,
20
- "default": false
21
- },
22
14
  readonly: {
23
15
  type: Boolean,
24
16
  "default": false
@@ -93,7 +85,7 @@ var script = {
93
85
  name: 'Knob',
94
86
  "extends": script$1,
95
87
  inheritAttrs: false,
96
- emits: ['update:modelValue', 'change'],
88
+ emits: ['change'],
97
89
  data: function data() {
98
90
  return {
99
91
  radius: 40,
@@ -104,7 +96,7 @@ var script = {
104
96
  };
105
97
  },
106
98
  methods: {
107
- updateValue: function updateValue(offsetX, offsetY) {
99
+ updateValueByOffset: function updateValueByOffset(offsetX, offsetY) {
108
100
  var dx = offsetX - this.size / 2;
109
101
  var dy = this.size / 2 - offsetY;
110
102
  var angle = Math.atan2(dy, dx);
@@ -115,20 +107,24 @@ var script = {
115
107
  var mappedValue;
116
108
  if (angle > this.maxRadians) mappedValue = this.mapRange(angle, this.minRadians, this.maxRadians, this.min, this.max);else if (angle < start) mappedValue = this.mapRange(angle + 2 * Math_PI, this.minRadians, this.maxRadians, this.min, this.max);else return;
117
109
  var newValue = Math.round((mappedValue - this.min) / this.step) * this.step + this.min;
118
- this.$emit('update:modelValue', newValue);
110
+ this.writeValue(newValue);
119
111
  this.$emit('change', newValue);
120
112
  },
121
113
  updateModelValue: function updateModelValue(newValue) {
122
- if (newValue > this.max) this.$emit('update:modelValue', this.max);else if (newValue < this.min) this.$emit('update:modelValue', this.min);else this.$emit('update:modelValue', newValue);
114
+ if (newValue > this.max) this.writeValue(this.max);else if (newValue < this.min) this.writeValue(this.min);else this.writeValue(newValue);
123
115
  },
124
116
  mapRange: function mapRange(x, inMin, inMax, outMin, outMax) {
125
117
  return (x - inMin) * (outMax - outMin) / (inMax - inMin) + outMin;
126
118
  },
127
119
  onClick: function onClick(event) {
128
120
  if (!this.disabled && !this.readonly) {
129
- this.updateValue(event.offsetX, event.offsetY);
121
+ this.updateValueByOffset(event.offsetX, event.offsetY);
130
122
  }
131
123
  },
124
+ onBlur: function onBlur(event) {
125
+ var _this$formField$onBlu, _this$formField;
126
+ (_this$formField$onBlu = (_this$formField = this.formField).onBlur) === null || _this$formField$onBlu === void 0 || _this$formField$onBlu.call(_this$formField, event);
127
+ },
132
128
  onMouseDown: function onMouseDown(event) {
133
129
  if (!this.disabled && !this.readonly) {
134
130
  window.addEventListener('mousemove', this.onMouseMove);
@@ -159,7 +155,7 @@ var script = {
159
155
  },
160
156
  onMouseMove: function onMouseMove(event) {
161
157
  if (!this.disabled && !this.readonly) {
162
- this.updateValue(event.offsetX, event.offsetY);
158
+ this.updateValueByOffset(event.offsetX, event.offsetY);
163
159
  event.preventDefault();
164
160
  }
165
161
  },
@@ -169,7 +165,7 @@ var script = {
169
165
  var touch = event.targetTouches.item(0);
170
166
  var offsetX = touch.clientX - rect.left;
171
167
  var offsetY = touch.clientY - rect.top;
172
- this.updateValue(offsetX, offsetY);
168
+ this.updateValueByOffset(offsetX, offsetY);
173
169
  }
174
170
  },
175
171
  onKeyDown: function onKeyDown(event) {
@@ -179,38 +175,38 @@ var script = {
179
175
  case 'ArrowUp':
180
176
  {
181
177
  event.preventDefault();
182
- this.updateModelValue(this.modelValue + this.step);
178
+ this.updateModelValue(this.d_value + this.step);
183
179
  break;
184
180
  }
185
181
  case 'ArrowLeft':
186
182
  case 'ArrowDown':
187
183
  {
188
184
  event.preventDefault();
189
- this.updateModelValue(this.modelValue - this.step);
185
+ this.updateModelValue(this.d_value - this.step);
190
186
  break;
191
187
  }
192
188
  case 'Home':
193
189
  {
194
190
  event.preventDefault();
195
- this.$emit('update:modelValue', this.min);
191
+ this.writeValue(this.min);
196
192
  break;
197
193
  }
198
194
  case 'End':
199
195
  {
200
196
  event.preventDefault();
201
- this.$emit('update:modelValue', this.max);
197
+ this.writeValue(this.max);
202
198
  break;
203
199
  }
204
200
  case 'PageUp':
205
201
  {
206
202
  event.preventDefault();
207
- this.updateModelValue(this.modelValue + 10);
203
+ this.updateModelValue(this.d_value + 10);
208
204
  break;
209
205
  }
210
206
  case 'PageDown':
211
207
  {
212
208
  event.preventDefault();
213
- this.updateModelValue(this.modelValue - 10);
209
+ this.updateModelValue(this.d_value - 10);
214
210
  break;
215
211
  }
216
212
  }
@@ -228,7 +224,7 @@ var script = {
228
224
  if (this.min > 0 && this.max > 0) return this.mapRange(this.min, this.min, this.max, this.minRadians, this.maxRadians);else return this.mapRange(0, this.min, this.max, this.minRadians, this.maxRadians);
229
225
  },
230
226
  valueRadians: function valueRadians() {
231
- return this.mapRange(this.modelValue, this.min, this.max, this.minRadians, this.maxRadians);
227
+ return this.mapRange(this.d_value, this.min, this.max, this.minRadians, this.maxRadians);
232
228
  },
233
229
  minX: function minX() {
234
230
  return this.midX + Math.cos(this.minRadians) * this.radius;
@@ -262,9 +258,9 @@ var script = {
262
258
  },
263
259
  valueToDisplay: function valueToDisplay() {
264
260
  if (typeof this.valueTemplate === 'string') {
265
- return this.valueTemplate.replace(/{value}/g, this.modelValue);
261
+ return this.valueTemplate.replace(/{value}/g, this.d_value);
266
262
  } else {
267
- return this.valueTemplate(this.modelValue);
263
+ return this.valueTemplate(this.d_value);
268
264
  }
269
265
  }
270
266
  }
@@ -286,25 +282,28 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
286
282
  tabindex: _ctx.readonly || _ctx.disabled ? -1 : _ctx.tabindex,
287
283
  "aria-valuemin": _ctx.min,
288
284
  "aria-valuemax": _ctx.max,
289
- "aria-valuenow": _ctx.modelValue,
285
+ "aria-valuenow": _ctx.d_value,
290
286
  "aria-labelledby": _ctx.ariaLabelledby,
291
287
  "aria-label": _ctx.ariaLabel,
292
288
  onClick: _cache[0] || (_cache[0] = function () {
293
289
  return $options.onClick && $options.onClick.apply($options, arguments);
294
290
  }),
295
- onKeydown: _cache[1] || (_cache[1] = function () {
291
+ onBlur: _cache[1] || (_cache[1] = function () {
292
+ return $options.onBlur && $options.onBlur.apply($options, arguments);
293
+ }),
294
+ onKeydown: _cache[2] || (_cache[2] = function () {
296
295
  return $options.onKeyDown && $options.onKeyDown.apply($options, arguments);
297
296
  }),
298
- onMousedown: _cache[2] || (_cache[2] = function () {
297
+ onMousedown: _cache[3] || (_cache[3] = function () {
299
298
  return $options.onMouseDown && $options.onMouseDown.apply($options, arguments);
300
299
  }),
301
- onMouseup: _cache[3] || (_cache[3] = function () {
300
+ onMouseup: _cache[4] || (_cache[4] = function () {
302
301
  return $options.onMouseUp && $options.onMouseUp.apply($options, arguments);
303
302
  }),
304
- onTouchstartPassive: _cache[4] || (_cache[4] = function () {
303
+ onTouchstartPassive: _cache[5] || (_cache[5] = function () {
305
304
  return $options.onTouchStart && $options.onTouchStart.apply($options, arguments);
306
305
  }),
307
- onTouchend: _cache[5] || (_cache[5] = function () {
306
+ onTouchend: _cache[6] || (_cache[6] = function () {
308
307
  return $options.onTouchEnd && $options.onTouchEnd.apply($options, arguments);
309
308
  })
310
309
  }, _ctx.ptm('svg')), [createElementVNode("path", mergeProps({
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/knob/BaseKnob.vue","../../src/knob/Knob.vue","../../src/knob/Knob.vue?vue&type=template&id=2041ede6&lang.js"],"sourcesContent":["<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport { $dt } from '@primeuix/styled';\nimport KnobStyle from 'primevue/knob/style';\n\nexport default {\n name: 'BaseKnob',\n extends: BaseComponent,\n props: {\n modelValue: {\n type: Number,\n default: null\n },\n size: {\n type: Number,\n default: 100\n },\n disabled: {\n type: Boolean,\n default: false\n },\n readonly: {\n type: Boolean,\n default: false\n },\n step: {\n type: Number,\n default: 1\n },\n min: {\n type: Number,\n default: 0\n },\n max: {\n type: Number,\n default: 100\n },\n valueColor: {\n type: String,\n default: () => {\n return $dt('knob.value.background').variable;\n }\n },\n rangeColor: {\n type: String,\n default: () => {\n return $dt('knob.range.background').variable;\n }\n },\n textColor: {\n type: String,\n default: () => {\n return $dt('knob.text.color').variable;\n }\n },\n strokeWidth: {\n type: Number,\n default: 14\n },\n showValue: {\n type: Boolean,\n default: true\n },\n valueTemplate: {\n type: [String, Function],\n default: '{value}'\n },\n tabindex: {\n type: Number,\n default: 0\n },\n ariaLabelledby: {\n type: String,\n default: null\n },\n ariaLabel: {\n type: String,\n default: null\n }\n },\n style: KnobStyle,\n provide() {\n return {\n $pcKnob: this,\n $parentInstance: this\n };\n }\n};\n</script>\n","<template>\n <div :class=\"cx('root')\" v-bind=\"ptmi('root')\">\n <svg\n viewBox=\"0 0 100 100\"\n role=\"slider\"\n :width=\"size\"\n :height=\"size\"\n :tabindex=\"readonly || disabled ? -1 : tabindex\"\n :aria-valuemin=\"min\"\n :aria-valuemax=\"max\"\n :aria-valuenow=\"modelValue\"\n :aria-labelledby=\"ariaLabelledby\"\n :aria-label=\"ariaLabel\"\n @click=\"onClick\"\n @keydown=\"onKeyDown\"\n @mousedown=\"onMouseDown\"\n @mouseup=\"onMouseUp\"\n @touchstart.passive=\"onTouchStart\"\n @touchend=\"onTouchEnd\"\n v-bind=\"ptm('svg')\"\n >\n <path :d=\"rangePath\" :stroke-width=\"strokeWidth\" :stroke=\"rangeColor\" :class=\"cx('range')\" v-bind=\"ptm('range')\"></path>\n <path :d=\"valuePath\" :stroke-width=\"strokeWidth\" :stroke=\"valueColor\" :class=\"cx('value')\" v-bind=\"ptm('value')\"></path>\n <text v-if=\"showValue\" :x=\"50\" :y=\"57\" text-anchor=\"middle\" :fill=\"textColor\" :class=\"cx('text')\" v-bind=\"ptm('text')\">{{ valueToDisplay }}</text>\n </svg>\n </div>\n</template>\n\n<script>\nimport BaseKnob from './BaseKnob.vue';\n\n// Set fix value for SSR.\nconst Math_PI = 3.14159265358979;\n\nexport default {\n name: 'Knob',\n extends: BaseKnob,\n inheritAttrs: false,\n emits: ['update:modelValue', 'change'],\n data() {\n return {\n radius: 40,\n midX: 50,\n midY: 50,\n minRadians: (4 * Math_PI) / 3,\n maxRadians: -Math_PI / 3\n };\n },\n methods: {\n updateValue(offsetX, offsetY) {\n let dx = offsetX - this.size / 2;\n let dy = this.size / 2 - offsetY;\n let angle = Math.atan2(dy, dx);\n let start = -Math_PI / 2 - Math_PI / 6;\n\n this.updateModel(angle, start);\n },\n updateModel(angle, start) {\n let mappedValue;\n\n if (angle > this.maxRadians) mappedValue = this.mapRange(angle, this.minRadians, this.maxRadians, this.min, this.max);\n else if (angle < start) mappedValue = this.mapRange(angle + 2 * Math_PI, this.minRadians, this.maxRadians, this.min, this.max);\n else return;\n\n let newValue = Math.round((mappedValue - this.min) / this.step) * this.step + this.min;\n\n this.$emit('update:modelValue', newValue);\n this.$emit('change', newValue);\n },\n updateModelValue(newValue) {\n if (newValue > this.max) this.$emit('update:modelValue', this.max);\n else if (newValue < this.min) this.$emit('update:modelValue', this.min);\n else this.$emit('update:modelValue', newValue);\n },\n mapRange(x, inMin, inMax, outMin, outMax) {\n return ((x - inMin) * (outMax - outMin)) / (inMax - inMin) + outMin;\n },\n onClick(event) {\n if (!this.disabled && !this.readonly) {\n this.updateValue(event.offsetX, event.offsetY);\n }\n },\n onMouseDown(event) {\n if (!this.disabled && !this.readonly) {\n window.addEventListener('mousemove', this.onMouseMove);\n window.addEventListener('mouseup', this.onMouseUp);\n event.preventDefault();\n }\n },\n onMouseUp(event) {\n if (!this.disabled && !this.readonly) {\n window.removeEventListener('mousemove', this.onMouseMove);\n window.removeEventListener('mouseup', this.onMouseUp);\n event.preventDefault();\n }\n },\n onTouchStart(event) {\n if (!this.disabled && !this.readonly) {\n window.addEventListener('touchmove', this.onTouchMove);\n window.addEventListener('touchend', this.onTouchEnd);\n event.preventDefault();\n }\n },\n onTouchEnd(event) {\n if (!this.disabled && !this.readonly) {\n window.removeEventListener('touchmove', this.onTouchMove);\n window.removeEventListener('touchend', this.onTouchEnd);\n event.preventDefault();\n }\n },\n onMouseMove(event) {\n if (!this.disabled && !this.readonly) {\n this.updateValue(event.offsetX, event.offsetY);\n event.preventDefault();\n }\n },\n onTouchMove(event) {\n if (!this.disabled && !this.readonly && event.touches.length == 1) {\n const rect = this.$el.getBoundingClientRect();\n const touch = event.targetTouches.item(0);\n const offsetX = touch.clientX - rect.left;\n const offsetY = touch.clientY - rect.top;\n\n this.updateValue(offsetX, offsetY);\n }\n },\n onKeyDown(event) {\n if (!this.disabled && !this.readonly) {\n switch (event.code) {\n case 'ArrowRight':\n\n case 'ArrowUp': {\n event.preventDefault();\n this.updateModelValue(this.modelValue + this.step);\n break;\n }\n\n case 'ArrowLeft':\n\n case 'ArrowDown': {\n event.preventDefault();\n this.updateModelValue(this.modelValue - this.step);\n break;\n }\n\n case 'Home': {\n event.preventDefault();\n this.$emit('update:modelValue', this.min);\n break;\n }\n\n case 'End': {\n event.preventDefault();\n this.$emit('update:modelValue', this.max);\n break;\n }\n\n case 'PageUp': {\n event.preventDefault();\n this.updateModelValue(this.modelValue + 10);\n break;\n }\n\n case 'PageDown': {\n event.preventDefault();\n this.updateModelValue(this.modelValue - 10);\n break;\n }\n }\n }\n }\n },\n computed: {\n rangePath() {\n return `M ${this.minX} ${this.minY} A ${this.radius} ${this.radius} 0 1 1 ${this.maxX} ${this.maxY}`;\n },\n valuePath() {\n return `M ${this.zeroX} ${this.zeroY} A ${this.radius} ${this.radius} 0 ${this.largeArc} ${this.sweep} ${this.valueX} ${this.valueY}`;\n },\n zeroRadians() {\n if (this.min > 0 && this.max > 0) return this.mapRange(this.min, this.min, this.max, this.minRadians, this.maxRadians);\n else return this.mapRange(0, this.min, this.max, this.minRadians, this.maxRadians);\n },\n valueRadians() {\n return this.mapRange(this.modelValue, this.min, this.max, this.minRadians, this.maxRadians);\n },\n minX() {\n return this.midX + Math.cos(this.minRadians) * this.radius;\n },\n minY() {\n return this.midY - Math.sin(this.minRadians) * this.radius;\n },\n maxX() {\n return this.midX + Math.cos(this.maxRadians) * this.radius;\n },\n maxY() {\n return this.midY - Math.sin(this.maxRadians) * this.radius;\n },\n zeroX() {\n return this.midX + Math.cos(this.zeroRadians) * this.radius;\n },\n zeroY() {\n return this.midY - Math.sin(this.zeroRadians) * this.radius;\n },\n valueX() {\n return this.midX + Math.cos(this.valueRadians) * this.radius;\n },\n valueY() {\n return this.midY - Math.sin(this.valueRadians) * this.radius;\n },\n largeArc() {\n return Math.abs(this.zeroRadians - this.valueRadians) < Math_PI ? 0 : 1;\n },\n sweep() {\n return this.valueRadians > this.zeroRadians ? 0 : 1;\n },\n valueToDisplay() {\n if (typeof this.valueTemplate === 'string') {\n return this.valueTemplate.replace(/{value}/g, this.modelValue);\n } else {\n return this.valueTemplate(this.modelValue);\n }\n }\n }\n};\n//Derived and forked from https://github.com/kramer99/vue-knob-control\n</script>\n","<template>\n <div :class=\"cx('root')\" v-bind=\"ptmi('root')\">\n <svg\n viewBox=\"0 0 100 100\"\n role=\"slider\"\n :width=\"size\"\n :height=\"size\"\n :tabindex=\"readonly || disabled ? -1 : tabindex\"\n :aria-valuemin=\"min\"\n :aria-valuemax=\"max\"\n :aria-valuenow=\"modelValue\"\n :aria-labelledby=\"ariaLabelledby\"\n :aria-label=\"ariaLabel\"\n @click=\"onClick\"\n @keydown=\"onKeyDown\"\n @mousedown=\"onMouseDown\"\n @mouseup=\"onMouseUp\"\n @touchstart.passive=\"onTouchStart\"\n @touchend=\"onTouchEnd\"\n v-bind=\"ptm('svg')\"\n >\n <path :d=\"rangePath\" :stroke-width=\"strokeWidth\" :stroke=\"rangeColor\" :class=\"cx('range')\" v-bind=\"ptm('range')\"></path>\n <path :d=\"valuePath\" :stroke-width=\"strokeWidth\" :stroke=\"valueColor\" :class=\"cx('value')\" v-bind=\"ptm('value')\"></path>\n <text v-if=\"showValue\" :x=\"50\" :y=\"57\" text-anchor=\"middle\" :fill=\"textColor\" :class=\"cx('text')\" v-bind=\"ptm('text')\">{{ valueToDisplay }}</text>\n </svg>\n </div>\n</template>\n\n<script>\nimport BaseKnob from './BaseKnob.vue';\n\n// Set fix value for SSR.\nconst Math_PI = 3.14159265358979;\n\nexport default {\n name: 'Knob',\n extends: BaseKnob,\n inheritAttrs: false,\n emits: ['update:modelValue', 'change'],\n data() {\n return {\n radius: 40,\n midX: 50,\n midY: 50,\n minRadians: (4 * Math_PI) / 3,\n maxRadians: -Math_PI / 3\n };\n },\n methods: {\n updateValue(offsetX, offsetY) {\n let dx = offsetX - this.size / 2;\n let dy = this.size / 2 - offsetY;\n let angle = Math.atan2(dy, dx);\n let start = -Math_PI / 2 - Math_PI / 6;\n\n this.updateModel(angle, start);\n },\n updateModel(angle, start) {\n let mappedValue;\n\n if (angle > this.maxRadians) mappedValue = this.mapRange(angle, this.minRadians, this.maxRadians, this.min, this.max);\n else if (angle < start) mappedValue = this.mapRange(angle + 2 * Math_PI, this.minRadians, this.maxRadians, this.min, this.max);\n else return;\n\n let newValue = Math.round((mappedValue - this.min) / this.step) * this.step + this.min;\n\n this.$emit('update:modelValue', newValue);\n this.$emit('change', newValue);\n },\n updateModelValue(newValue) {\n if (newValue > this.max) this.$emit('update:modelValue', this.max);\n else if (newValue < this.min) this.$emit('update:modelValue', this.min);\n else this.$emit('update:modelValue', newValue);\n },\n mapRange(x, inMin, inMax, outMin, outMax) {\n return ((x - inMin) * (outMax - outMin)) / (inMax - inMin) + outMin;\n },\n onClick(event) {\n if (!this.disabled && !this.readonly) {\n this.updateValue(event.offsetX, event.offsetY);\n }\n },\n onMouseDown(event) {\n if (!this.disabled && !this.readonly) {\n window.addEventListener('mousemove', this.onMouseMove);\n window.addEventListener('mouseup', this.onMouseUp);\n event.preventDefault();\n }\n },\n onMouseUp(event) {\n if (!this.disabled && !this.readonly) {\n window.removeEventListener('mousemove', this.onMouseMove);\n window.removeEventListener('mouseup', this.onMouseUp);\n event.preventDefault();\n }\n },\n onTouchStart(event) {\n if (!this.disabled && !this.readonly) {\n window.addEventListener('touchmove', this.onTouchMove);\n window.addEventListener('touchend', this.onTouchEnd);\n event.preventDefault();\n }\n },\n onTouchEnd(event) {\n if (!this.disabled && !this.readonly) {\n window.removeEventListener('touchmove', this.onTouchMove);\n window.removeEventListener('touchend', this.onTouchEnd);\n event.preventDefault();\n }\n },\n onMouseMove(event) {\n if (!this.disabled && !this.readonly) {\n this.updateValue(event.offsetX, event.offsetY);\n event.preventDefault();\n }\n },\n onTouchMove(event) {\n if (!this.disabled && !this.readonly && event.touches.length == 1) {\n const rect = this.$el.getBoundingClientRect();\n const touch = event.targetTouches.item(0);\n const offsetX = touch.clientX - rect.left;\n const offsetY = touch.clientY - rect.top;\n\n this.updateValue(offsetX, offsetY);\n }\n },\n onKeyDown(event) {\n if (!this.disabled && !this.readonly) {\n switch (event.code) {\n case 'ArrowRight':\n\n case 'ArrowUp': {\n event.preventDefault();\n this.updateModelValue(this.modelValue + this.step);\n break;\n }\n\n case 'ArrowLeft':\n\n case 'ArrowDown': {\n event.preventDefault();\n this.updateModelValue(this.modelValue - this.step);\n break;\n }\n\n case 'Home': {\n event.preventDefault();\n this.$emit('update:modelValue', this.min);\n break;\n }\n\n case 'End': {\n event.preventDefault();\n this.$emit('update:modelValue', this.max);\n break;\n }\n\n case 'PageUp': {\n event.preventDefault();\n this.updateModelValue(this.modelValue + 10);\n break;\n }\n\n case 'PageDown': {\n event.preventDefault();\n this.updateModelValue(this.modelValue - 10);\n break;\n }\n }\n }\n }\n },\n computed: {\n rangePath() {\n return `M ${this.minX} ${this.minY} A ${this.radius} ${this.radius} 0 1 1 ${this.maxX} ${this.maxY}`;\n },\n valuePath() {\n return `M ${this.zeroX} ${this.zeroY} A ${this.radius} ${this.radius} 0 ${this.largeArc} ${this.sweep} ${this.valueX} ${this.valueY}`;\n },\n zeroRadians() {\n if (this.min > 0 && this.max > 0) return this.mapRange(this.min, this.min, this.max, this.minRadians, this.maxRadians);\n else return this.mapRange(0, this.min, this.max, this.minRadians, this.maxRadians);\n },\n valueRadians() {\n return this.mapRange(this.modelValue, this.min, this.max, this.minRadians, this.maxRadians);\n },\n minX() {\n return this.midX + Math.cos(this.minRadians) * this.radius;\n },\n minY() {\n return this.midY - Math.sin(this.minRadians) * this.radius;\n },\n maxX() {\n return this.midX + Math.cos(this.maxRadians) * this.radius;\n },\n maxY() {\n return this.midY - Math.sin(this.maxRadians) * this.radius;\n },\n zeroX() {\n return this.midX + Math.cos(this.zeroRadians) * this.radius;\n },\n zeroY() {\n return this.midY - Math.sin(this.zeroRadians) * this.radius;\n },\n valueX() {\n return this.midX + Math.cos(this.valueRadians) * this.radius;\n },\n valueY() {\n return this.midY - Math.sin(this.valueRadians) * this.radius;\n },\n largeArc() {\n return Math.abs(this.zeroRadians - this.valueRadians) < Math_PI ? 0 : 1;\n },\n sweep() {\n return this.valueRadians > this.zeroRadians ? 0 : 1;\n },\n valueToDisplay() {\n if (typeof this.valueTemplate === 'string') {\n return this.valueTemplate.replace(/{value}/g, this.modelValue);\n } else {\n return this.valueTemplate(this.modelValue);\n }\n }\n }\n};\n//Derived and forked from https://github.com/kramer99/vue-knob-control\n</script>\n"],"names":["name","BaseComponent","props","modelValue","type","Number","size","disabled","Boolean","readonly","step","min","max","valueColor","String","default","$dt","variable","rangeColor","textColor","strokeWidth","showValue","valueTemplate","Function","tabindex","ariaLabelledby","ariaLabel","style","KnobStyle","provide","$pcKnob","$parentInstance","Math_PI","BaseKnob","inheritAttrs","emits","data","radius","midX","midY","minRadians","maxRadians","methods","updateValue","offsetX","offsetY","dx","dy","angle","Math","atan2","start","updateModel","mappedValue","mapRange","newValue","round","$emit","updateModelValue","x","inMin","inMax","outMin","outMax","onClick","event","onMouseDown","window","addEventListener","onMouseMove","onMouseUp","preventDefault","removeEventListener","onTouchStart","onTouchMove","onTouchEnd","touches","length","rect","$el","getBoundingClientRect","touch","targetTouches","item","clientX","left","clientY","top","onKeyDown","code","computed","rangePath","concat","minX","minY","maxX","maxY","valuePath","zeroX","zeroY","largeArc","sweep","valueX","valueY","zeroRadians","valueRadians","cos","sin","abs","valueToDisplay","replace","_openBlock","_createElementBlock","_mergeProps","_ctx","cx","ptmi","viewBox","role","width","height","$options","apply","arguments","onKeydown","onMousedown","onMouseup","onTouchend","ptm","_createElementVNode","d","stroke","_hoisted_2","_hoisted_3","y","fill","_hoisted_4"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../src/knob/BaseKnob.vue","../../src/knob/Knob.vue","../../src/knob/Knob.vue?vue&type=template&id=af093930&lang.js"],"sourcesContent":["<script>\nimport { $dt } from '@primeuix/styled';\nimport BaseEditableHolder from '@primevue/core/baseeditableholder';\nimport KnobStyle from 'primevue/knob/style';\n\nexport default {\n name: 'BaseKnob',\n extends: BaseEditableHolder,\n props: {\n size: {\n type: Number,\n default: 100\n },\n readonly: {\n type: Boolean,\n default: false\n },\n step: {\n type: Number,\n default: 1\n },\n min: {\n type: Number,\n default: 0\n },\n max: {\n type: Number,\n default: 100\n },\n valueColor: {\n type: String,\n default: () => {\n return $dt('knob.value.background').variable;\n }\n },\n rangeColor: {\n type: String,\n default: () => {\n return $dt('knob.range.background').variable;\n }\n },\n textColor: {\n type: String,\n default: () => {\n return $dt('knob.text.color').variable;\n }\n },\n strokeWidth: {\n type: Number,\n default: 14\n },\n showValue: {\n type: Boolean,\n default: true\n },\n valueTemplate: {\n type: [String, Function],\n default: '{value}'\n },\n tabindex: {\n type: Number,\n default: 0\n },\n ariaLabelledby: {\n type: String,\n default: null\n },\n ariaLabel: {\n type: String,\n default: null\n }\n },\n style: KnobStyle,\n provide() {\n return {\n $pcKnob: this,\n $parentInstance: this\n };\n }\n};\n</script>\n","<template>\n <div :class=\"cx('root')\" v-bind=\"ptmi('root')\">\n <svg\n viewBox=\"0 0 100 100\"\n role=\"slider\"\n :width=\"size\"\n :height=\"size\"\n :tabindex=\"readonly || disabled ? -1 : tabindex\"\n :aria-valuemin=\"min\"\n :aria-valuemax=\"max\"\n :aria-valuenow=\"d_value\"\n :aria-labelledby=\"ariaLabelledby\"\n :aria-label=\"ariaLabel\"\n @click=\"onClick\"\n @blur=\"onBlur\"\n @keydown=\"onKeyDown\"\n @mousedown=\"onMouseDown\"\n @mouseup=\"onMouseUp\"\n @touchstart.passive=\"onTouchStart\"\n @touchend=\"onTouchEnd\"\n v-bind=\"ptm('svg')\"\n >\n <path :d=\"rangePath\" :stroke-width=\"strokeWidth\" :stroke=\"rangeColor\" :class=\"cx('range')\" v-bind=\"ptm('range')\"></path>\n <path :d=\"valuePath\" :stroke-width=\"strokeWidth\" :stroke=\"valueColor\" :class=\"cx('value')\" v-bind=\"ptm('value')\"></path>\n <text v-if=\"showValue\" :x=\"50\" :y=\"57\" text-anchor=\"middle\" :fill=\"textColor\" :class=\"cx('text')\" v-bind=\"ptm('text')\">{{ valueToDisplay }}</text>\n </svg>\n </div>\n</template>\n\n<script>\nimport BaseKnob from './BaseKnob.vue';\n\n// Set fix value for SSR.\nconst Math_PI = 3.14159265358979;\n\nexport default {\n name: 'Knob',\n extends: BaseKnob,\n inheritAttrs: false,\n emits: ['change'],\n data() {\n return {\n radius: 40,\n midX: 50,\n midY: 50,\n minRadians: (4 * Math_PI) / 3,\n maxRadians: -Math_PI / 3\n };\n },\n methods: {\n updateValueByOffset(offsetX, offsetY) {\n let dx = offsetX - this.size / 2;\n let dy = this.size / 2 - offsetY;\n let angle = Math.atan2(dy, dx);\n let start = -Math_PI / 2 - Math_PI / 6;\n\n this.updateModel(angle, start);\n },\n updateModel(angle, start) {\n let mappedValue;\n\n if (angle > this.maxRadians) mappedValue = this.mapRange(angle, this.minRadians, this.maxRadians, this.min, this.max);\n else if (angle < start) mappedValue = this.mapRange(angle + 2 * Math_PI, this.minRadians, this.maxRadians, this.min, this.max);\n else return;\n\n let newValue = Math.round((mappedValue - this.min) / this.step) * this.step + this.min;\n\n this.writeValue(newValue);\n this.$emit('change', newValue);\n },\n updateModelValue(newValue) {\n if (newValue > this.max) this.writeValue(this.max);\n else if (newValue < this.min) this.writeValue(this.min);\n else this.writeValue(newValue);\n },\n mapRange(x, inMin, inMax, outMin, outMax) {\n return ((x - inMin) * (outMax - outMin)) / (inMax - inMin) + outMin;\n },\n onClick(event) {\n if (!this.disabled && !this.readonly) {\n this.updateValueByOffset(event.offsetX, event.offsetY);\n }\n },\n onBlur(event) {\n this.formField.onBlur?.(event);\n },\n onMouseDown(event) {\n if (!this.disabled && !this.readonly) {\n window.addEventListener('mousemove', this.onMouseMove);\n window.addEventListener('mouseup', this.onMouseUp);\n event.preventDefault();\n }\n },\n onMouseUp(event) {\n if (!this.disabled && !this.readonly) {\n window.removeEventListener('mousemove', this.onMouseMove);\n window.removeEventListener('mouseup', this.onMouseUp);\n event.preventDefault();\n }\n },\n onTouchStart(event) {\n if (!this.disabled && !this.readonly) {\n window.addEventListener('touchmove', this.onTouchMove);\n window.addEventListener('touchend', this.onTouchEnd);\n event.preventDefault();\n }\n },\n onTouchEnd(event) {\n if (!this.disabled && !this.readonly) {\n window.removeEventListener('touchmove', this.onTouchMove);\n window.removeEventListener('touchend', this.onTouchEnd);\n event.preventDefault();\n }\n },\n onMouseMove(event) {\n if (!this.disabled && !this.readonly) {\n this.updateValueByOffset(event.offsetX, event.offsetY);\n event.preventDefault();\n }\n },\n onTouchMove(event) {\n if (!this.disabled && !this.readonly && event.touches.length == 1) {\n const rect = this.$el.getBoundingClientRect();\n const touch = event.targetTouches.item(0);\n const offsetX = touch.clientX - rect.left;\n const offsetY = touch.clientY - rect.top;\n\n this.updateValueByOffset(offsetX, offsetY);\n }\n },\n onKeyDown(event) {\n if (!this.disabled && !this.readonly) {\n switch (event.code) {\n case 'ArrowRight':\n\n case 'ArrowUp': {\n event.preventDefault();\n this.updateModelValue(this.d_value + this.step);\n break;\n }\n\n case 'ArrowLeft':\n\n case 'ArrowDown': {\n event.preventDefault();\n this.updateModelValue(this.d_value - this.step);\n break;\n }\n\n case 'Home': {\n event.preventDefault();\n this.writeValue(this.min);\n break;\n }\n\n case 'End': {\n event.preventDefault();\n this.writeValue(this.max);\n break;\n }\n\n case 'PageUp': {\n event.preventDefault();\n this.updateModelValue(this.d_value + 10);\n break;\n }\n\n case 'PageDown': {\n event.preventDefault();\n this.updateModelValue(this.d_value - 10);\n break;\n }\n }\n }\n }\n },\n computed: {\n rangePath() {\n return `M ${this.minX} ${this.minY} A ${this.radius} ${this.radius} 0 1 1 ${this.maxX} ${this.maxY}`;\n },\n valuePath() {\n return `M ${this.zeroX} ${this.zeroY} A ${this.radius} ${this.radius} 0 ${this.largeArc} ${this.sweep} ${this.valueX} ${this.valueY}`;\n },\n zeroRadians() {\n if (this.min > 0 && this.max > 0) return this.mapRange(this.min, this.min, this.max, this.minRadians, this.maxRadians);\n else return this.mapRange(0, this.min, this.max, this.minRadians, this.maxRadians);\n },\n valueRadians() {\n return this.mapRange(this.d_value, this.min, this.max, this.minRadians, this.maxRadians);\n },\n minX() {\n return this.midX + Math.cos(this.minRadians) * this.radius;\n },\n minY() {\n return this.midY - Math.sin(this.minRadians) * this.radius;\n },\n maxX() {\n return this.midX + Math.cos(this.maxRadians) * this.radius;\n },\n maxY() {\n return this.midY - Math.sin(this.maxRadians) * this.radius;\n },\n zeroX() {\n return this.midX + Math.cos(this.zeroRadians) * this.radius;\n },\n zeroY() {\n return this.midY - Math.sin(this.zeroRadians) * this.radius;\n },\n valueX() {\n return this.midX + Math.cos(this.valueRadians) * this.radius;\n },\n valueY() {\n return this.midY - Math.sin(this.valueRadians) * this.radius;\n },\n largeArc() {\n return Math.abs(this.zeroRadians - this.valueRadians) < Math_PI ? 0 : 1;\n },\n sweep() {\n return this.valueRadians > this.zeroRadians ? 0 : 1;\n },\n valueToDisplay() {\n if (typeof this.valueTemplate === 'string') {\n return this.valueTemplate.replace(/{value}/g, this.d_value);\n } else {\n return this.valueTemplate(this.d_value);\n }\n }\n }\n};\n//Derived and forked from https://github.com/kramer99/vue-knob-control\n</script>\n","<template>\n <div :class=\"cx('root')\" v-bind=\"ptmi('root')\">\n <svg\n viewBox=\"0 0 100 100\"\n role=\"slider\"\n :width=\"size\"\n :height=\"size\"\n :tabindex=\"readonly || disabled ? -1 : tabindex\"\n :aria-valuemin=\"min\"\n :aria-valuemax=\"max\"\n :aria-valuenow=\"d_value\"\n :aria-labelledby=\"ariaLabelledby\"\n :aria-label=\"ariaLabel\"\n @click=\"onClick\"\n @blur=\"onBlur\"\n @keydown=\"onKeyDown\"\n @mousedown=\"onMouseDown\"\n @mouseup=\"onMouseUp\"\n @touchstart.passive=\"onTouchStart\"\n @touchend=\"onTouchEnd\"\n v-bind=\"ptm('svg')\"\n >\n <path :d=\"rangePath\" :stroke-width=\"strokeWidth\" :stroke=\"rangeColor\" :class=\"cx('range')\" v-bind=\"ptm('range')\"></path>\n <path :d=\"valuePath\" :stroke-width=\"strokeWidth\" :stroke=\"valueColor\" :class=\"cx('value')\" v-bind=\"ptm('value')\"></path>\n <text v-if=\"showValue\" :x=\"50\" :y=\"57\" text-anchor=\"middle\" :fill=\"textColor\" :class=\"cx('text')\" v-bind=\"ptm('text')\">{{ valueToDisplay }}</text>\n </svg>\n </div>\n</template>\n\n<script>\nimport BaseKnob from './BaseKnob.vue';\n\n// Set fix value for SSR.\nconst Math_PI = 3.14159265358979;\n\nexport default {\n name: 'Knob',\n extends: BaseKnob,\n inheritAttrs: false,\n emits: ['change'],\n data() {\n return {\n radius: 40,\n midX: 50,\n midY: 50,\n minRadians: (4 * Math_PI) / 3,\n maxRadians: -Math_PI / 3\n };\n },\n methods: {\n updateValueByOffset(offsetX, offsetY) {\n let dx = offsetX - this.size / 2;\n let dy = this.size / 2 - offsetY;\n let angle = Math.atan2(dy, dx);\n let start = -Math_PI / 2 - Math_PI / 6;\n\n this.updateModel(angle, start);\n },\n updateModel(angle, start) {\n let mappedValue;\n\n if (angle > this.maxRadians) mappedValue = this.mapRange(angle, this.minRadians, this.maxRadians, this.min, this.max);\n else if (angle < start) mappedValue = this.mapRange(angle + 2 * Math_PI, this.minRadians, this.maxRadians, this.min, this.max);\n else return;\n\n let newValue = Math.round((mappedValue - this.min) / this.step) * this.step + this.min;\n\n this.writeValue(newValue);\n this.$emit('change', newValue);\n },\n updateModelValue(newValue) {\n if (newValue > this.max) this.writeValue(this.max);\n else if (newValue < this.min) this.writeValue(this.min);\n else this.writeValue(newValue);\n },\n mapRange(x, inMin, inMax, outMin, outMax) {\n return ((x - inMin) * (outMax - outMin)) / (inMax - inMin) + outMin;\n },\n onClick(event) {\n if (!this.disabled && !this.readonly) {\n this.updateValueByOffset(event.offsetX, event.offsetY);\n }\n },\n onBlur(event) {\n this.formField.onBlur?.(event);\n },\n onMouseDown(event) {\n if (!this.disabled && !this.readonly) {\n window.addEventListener('mousemove', this.onMouseMove);\n window.addEventListener('mouseup', this.onMouseUp);\n event.preventDefault();\n }\n },\n onMouseUp(event) {\n if (!this.disabled && !this.readonly) {\n window.removeEventListener('mousemove', this.onMouseMove);\n window.removeEventListener('mouseup', this.onMouseUp);\n event.preventDefault();\n }\n },\n onTouchStart(event) {\n if (!this.disabled && !this.readonly) {\n window.addEventListener('touchmove', this.onTouchMove);\n window.addEventListener('touchend', this.onTouchEnd);\n event.preventDefault();\n }\n },\n onTouchEnd(event) {\n if (!this.disabled && !this.readonly) {\n window.removeEventListener('touchmove', this.onTouchMove);\n window.removeEventListener('touchend', this.onTouchEnd);\n event.preventDefault();\n }\n },\n onMouseMove(event) {\n if (!this.disabled && !this.readonly) {\n this.updateValueByOffset(event.offsetX, event.offsetY);\n event.preventDefault();\n }\n },\n onTouchMove(event) {\n if (!this.disabled && !this.readonly && event.touches.length == 1) {\n const rect = this.$el.getBoundingClientRect();\n const touch = event.targetTouches.item(0);\n const offsetX = touch.clientX - rect.left;\n const offsetY = touch.clientY - rect.top;\n\n this.updateValueByOffset(offsetX, offsetY);\n }\n },\n onKeyDown(event) {\n if (!this.disabled && !this.readonly) {\n switch (event.code) {\n case 'ArrowRight':\n\n case 'ArrowUp': {\n event.preventDefault();\n this.updateModelValue(this.d_value + this.step);\n break;\n }\n\n case 'ArrowLeft':\n\n case 'ArrowDown': {\n event.preventDefault();\n this.updateModelValue(this.d_value - this.step);\n break;\n }\n\n case 'Home': {\n event.preventDefault();\n this.writeValue(this.min);\n break;\n }\n\n case 'End': {\n event.preventDefault();\n this.writeValue(this.max);\n break;\n }\n\n case 'PageUp': {\n event.preventDefault();\n this.updateModelValue(this.d_value + 10);\n break;\n }\n\n case 'PageDown': {\n event.preventDefault();\n this.updateModelValue(this.d_value - 10);\n break;\n }\n }\n }\n }\n },\n computed: {\n rangePath() {\n return `M ${this.minX} ${this.minY} A ${this.radius} ${this.radius} 0 1 1 ${this.maxX} ${this.maxY}`;\n },\n valuePath() {\n return `M ${this.zeroX} ${this.zeroY} A ${this.radius} ${this.radius} 0 ${this.largeArc} ${this.sweep} ${this.valueX} ${this.valueY}`;\n },\n zeroRadians() {\n if (this.min > 0 && this.max > 0) return this.mapRange(this.min, this.min, this.max, this.minRadians, this.maxRadians);\n else return this.mapRange(0, this.min, this.max, this.minRadians, this.maxRadians);\n },\n valueRadians() {\n return this.mapRange(this.d_value, this.min, this.max, this.minRadians, this.maxRadians);\n },\n minX() {\n return this.midX + Math.cos(this.minRadians) * this.radius;\n },\n minY() {\n return this.midY - Math.sin(this.minRadians) * this.radius;\n },\n maxX() {\n return this.midX + Math.cos(this.maxRadians) * this.radius;\n },\n maxY() {\n return this.midY - Math.sin(this.maxRadians) * this.radius;\n },\n zeroX() {\n return this.midX + Math.cos(this.zeroRadians) * this.radius;\n },\n zeroY() {\n return this.midY - Math.sin(this.zeroRadians) * this.radius;\n },\n valueX() {\n return this.midX + Math.cos(this.valueRadians) * this.radius;\n },\n valueY() {\n return this.midY - Math.sin(this.valueRadians) * this.radius;\n },\n largeArc() {\n return Math.abs(this.zeroRadians - this.valueRadians) < Math_PI ? 0 : 1;\n },\n sweep() {\n return this.valueRadians > this.zeroRadians ? 0 : 1;\n },\n valueToDisplay() {\n if (typeof this.valueTemplate === 'string') {\n return this.valueTemplate.replace(/{value}/g, this.d_value);\n } else {\n return this.valueTemplate(this.d_value);\n }\n }\n }\n};\n//Derived and forked from https://github.com/kramer99/vue-knob-control\n</script>\n"],"names":["name","BaseEditableHolder","props","size","type","Number","readonly","Boolean","step","min","max","valueColor","String","default","$dt","variable","rangeColor","textColor","strokeWidth","showValue","valueTemplate","Function","tabindex","ariaLabelledby","ariaLabel","style","KnobStyle","provide","$pcKnob","$parentInstance","Math_PI","BaseKnob","inheritAttrs","emits","data","radius","midX","midY","minRadians","maxRadians","methods","updateValueByOffset","offsetX","offsetY","dx","dy","angle","Math","atan2","start","updateModel","mappedValue","mapRange","newValue","round","writeValue","$emit","updateModelValue","x","inMin","inMax","outMin","outMax","onClick","event","disabled","onBlur","_this$formField$onBlu","_this$formField","formField","call","onMouseDown","window","addEventListener","onMouseMove","onMouseUp","preventDefault","removeEventListener","onTouchStart","onTouchMove","onTouchEnd","touches","length","rect","$el","getBoundingClientRect","touch","targetTouches","item","clientX","left","clientY","top","onKeyDown","code","d_value","computed","rangePath","concat","minX","minY","maxX","maxY","valuePath","zeroX","zeroY","largeArc","sweep","valueX","valueY","zeroRadians","valueRadians","cos","sin","abs","valueToDisplay","replace","_openBlock","_createElementBlock","_mergeProps","_ctx","cx","ptmi","viewBox","role","width","height","$options","apply","arguments","onKeydown","onMousedown","onMouseup","onTouchend","ptm","_createElementVNode","d","stroke","_hoisted_2","_hoisted_3","y","fill","_hoisted_4"],"mappings":"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"}
@@ -6,9 +6,11 @@ var theme = function theme(_ref) {
6
6
  };
7
7
  var classes = {
8
8
  root: function root(_ref2) {
9
- var props = _ref2.props;
9
+ var instance = _ref2.instance,
10
+ props = _ref2.props;
10
11
  return ['p-knob p-component', {
11
- 'p-disabled': props.disabled
12
+ 'p-disabled': props.disabled,
13
+ 'p-invalid': instance.$invalid
12
14
  }];
13
15
  },
14
16
  range: 'p-knob-range',
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../src/knob/style/KnobStyle.js"],"sourcesContent":["import BaseStyle from '@primevue/core/base/style';\n\nconst theme = ({ dt }) => `\n.p-knob-range {\n fill: none;\n transition: stroke 0.1s ease-in;\n}\n\n.p-knob-value {\n animation-name: p-knob-dash-frame;\n animation-fill-mode: forwards;\n fill: none;\n}\n\n.p-knob-text {\n font-size: 1.3rem;\n text-align: center;\n}\n\n.p-knob svg {\n border-radius: 50%;\n outline-color: transparent;\n transition: background ${dt('knob.transition.duration')}, color ${dt('knob.transition.duration')}, outline-color ${dt('knob.transition.duration')}, box-shadow ${dt('knob.transition.duration')};\n}\n\n.p-knob svg:focus-visible {\n box-shadow: ${dt('knob.focus.ring.shadow')};\n outline: ${dt('knob.focus.ring.width')} ${dt('knob.focus.ring.style')} ${dt('knob.focus.ring.color')};\n outline-offset: ${dt('knob.focus.ring.offset')};\n}\n\n@keyframes p-knob-dash-frame {\n 100% {\n stroke-dashoffset: 0;\n }\n}\n`;\n\nconst classes = {\n root: ({ props }) => ['p-knob p-component', { 'p-disabled': props.disabled }],\n range: 'p-knob-range',\n value: 'p-knob-value',\n text: 'p-knob-text'\n};\n\nexport default BaseStyle.extend({\n name: 'knob',\n theme,\n classes\n});\n"],"names":["theme","_ref","dt","concat","classes","root","_ref2","props","disabled","range","value","text","BaseStyle","extend","name"],"mappings":";;AAEA,IAAMA,KAAK,GAAG,SAARA,KAAKA,CAAAC,IAAA,EAAA;AAAA,EAAA,IAAMC,EAAE,GAAAD,IAAA,CAAFC,EAAE,CAAA;AAAA,EAAA,OAAA,8WAAA,CAAAC,MAAA,CAoBUD,EAAE,CAAC,0BAA0B,CAAC,EAAAC,UAAAA,CAAAA,CAAAA,MAAA,CAAWD,EAAE,CAAC,0BAA0B,CAAC,EAAA,kBAAA,CAAA,CAAAC,MAAA,CAAmBD,EAAE,CAAC,0BAA0B,CAAC,EAAAC,eAAAA,CAAAA,CAAAA,MAAA,CAAgBD,EAAE,CAAC,0BAA0B,CAAC,EAAA,uDAAA,CAAA,CAAAC,MAAA,CAIjLD,EAAE,CAAC,wBAAwB,CAAC,EAAAC,kBAAAA,CAAAA,CAAAA,MAAA,CAC/BD,EAAE,CAAC,uBAAuB,CAAC,EAAA,GAAA,CAAA,CAAAC,MAAA,CAAID,EAAE,CAAC,uBAAuB,CAAC,EAAAC,GAAAA,CAAAA,CAAAA,MAAA,CAAID,EAAE,CAAC,uBAAuB,CAAC,EAAA,yBAAA,CAAA,CAAAC,MAAA,CAClFD,EAAE,CAAC,wBAAwB,CAAC,EAAA,+FAAA,CAAA,CAAA;AAAA,CAQjD,CAAA;AAED,IAAME,OAAO,GAAG;AACZC,EAAAA,IAAI,EAAE,SAANA,IAAIA,CAAAC,KAAA,EAAA;AAAA,IAAA,IAAKC,KAAK,GAAAD,KAAA,CAALC,KAAK,CAAA;IAAA,OAAO,CAAC,oBAAoB,EAAE;MAAE,YAAY,EAAEA,KAAK,CAACC,QAAAA;AAAS,KAAC,CAAC,CAAA;AAAA,GAAA;AAC7EC,EAAAA,KAAK,EAAE,cAAc;AACrBC,EAAAA,KAAK,EAAE,cAAc;AACrBC,EAAAA,IAAI,EAAE,aAAA;AACV,CAAC,CAAA;AAED,gBAAeC,SAAS,CAACC,MAAM,CAAC;AAC5BC,EAAAA,IAAI,EAAE,MAAM;AACZd,EAAAA,KAAK,EAALA,KAAK;AACLI,EAAAA,OAAO,EAAPA,OAAAA;AACJ,CAAC,CAAC;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../src/knob/style/KnobStyle.js"],"sourcesContent":["import BaseStyle from '@primevue/core/base/style';\n\nconst theme = ({ dt }) => `\n.p-knob-range {\n fill: none;\n transition: stroke 0.1s ease-in;\n}\n\n.p-knob-value {\n animation-name: p-knob-dash-frame;\n animation-fill-mode: forwards;\n fill: none;\n}\n\n.p-knob-text {\n font-size: 1.3rem;\n text-align: center;\n}\n\n.p-knob svg {\n border-radius: 50%;\n outline-color: transparent;\n transition: background ${dt('knob.transition.duration')}, color ${dt('knob.transition.duration')}, outline-color ${dt('knob.transition.duration')}, box-shadow ${dt('knob.transition.duration')};\n}\n\n.p-knob svg:focus-visible {\n box-shadow: ${dt('knob.focus.ring.shadow')};\n outline: ${dt('knob.focus.ring.width')} ${dt('knob.focus.ring.style')} ${dt('knob.focus.ring.color')};\n outline-offset: ${dt('knob.focus.ring.offset')};\n}\n\n@keyframes p-knob-dash-frame {\n 100% {\n stroke-dashoffset: 0;\n }\n}\n`;\n\nconst classes = {\n root: ({ instance, props }) => [\n 'p-knob p-component',\n {\n 'p-disabled': props.disabled,\n 'p-invalid': instance.$invalid\n }\n ],\n range: 'p-knob-range',\n value: 'p-knob-value',\n text: 'p-knob-text'\n};\n\nexport default BaseStyle.extend({\n name: 'knob',\n theme,\n classes\n});\n"],"names":["theme","_ref","dt","concat","classes","root","_ref2","instance","props","disabled","$invalid","range","value","text","BaseStyle","extend","name"],"mappings":";;AAEA,IAAMA,KAAK,GAAG,SAARA,KAAKA,CAAAC,IAAA,EAAA;AAAA,EAAA,IAAMC,EAAE,GAAAD,IAAA,CAAFC,EAAE;AAAA,EAAA,OAAA,8WAAA,CAAAC,MAAA,CAoBUD,EAAE,CAAC,0BAA0B,CAAC,EAAAC,UAAAA,CAAAA,CAAAA,MAAA,CAAWD,EAAE,CAAC,0BAA0B,CAAC,EAAA,kBAAA,CAAA,CAAAC,MAAA,CAAmBD,EAAE,CAAC,0BAA0B,CAAC,EAAAC,eAAAA,CAAAA,CAAAA,MAAA,CAAgBD,EAAE,CAAC,0BAA0B,CAAC,EAAA,uDAAA,CAAA,CAAAC,MAAA,CAIjLD,EAAE,CAAC,wBAAwB,CAAC,EAAAC,kBAAAA,CAAAA,CAAAA,MAAA,CAC/BD,EAAE,CAAC,uBAAuB,CAAC,EAAA,GAAA,CAAA,CAAAC,MAAA,CAAID,EAAE,CAAC,uBAAuB,CAAC,EAAAC,GAAAA,CAAAA,CAAAA,MAAA,CAAID,EAAE,CAAC,uBAAuB,CAAC,EAAA,yBAAA,CAAA,CAAAC,MAAA,CAClFD,EAAE,CAAC,wBAAwB,CAAC,EAAA,+FAAA,CAAA;AAAA,CAQjD;AAED,IAAME,OAAO,GAAG;AACZC,EAAAA,IAAI,EAAE,SAANA,IAAIA,CAAAC,KAAA,EAAA;AAAA,IAAA,IAAKC,QAAQ,GAAAD,KAAA,CAARC,QAAQ;MAAEC,KAAK,GAAAF,KAAA,CAALE,KAAK;IAAA,OAAO,CAC3B,oBAAoB,EACpB;MACI,YAAY,EAAEA,KAAK,CAACC,QAAQ;MAC5B,WAAW,EAAEF,QAAQ,CAACG;AAC1B,KAAC,CACJ;AAAA,GAAA;AACDC,EAAAA,KAAK,EAAE,cAAc;AACrBC,EAAAA,KAAK,EAAE,cAAc;AACrBC,EAAAA,IAAI,EAAE;AACV,CAAC;AAED,gBAAeC,SAAS,CAACC,MAAM,CAAC;AAC5BC,EAAAA,IAAI,EAAE,MAAM;AACZhB,EAAAA,KAAK,EAALA,KAAK;AACLI,EAAAA,OAAO,EAAPA;AACJ,CAAC,CAAC;;;;"}
@@ -1,12 +1,11 @@
1
1
  <script>
2
- import BaseComponent from '@primevue/core/basecomponent';
2
+ import BaseEditableHolder from '@primevue/core/baseeditableholder';
3
3
  import ListboxStyle from 'primevue/listbox/style';
4
4
 
5
5
  export default {
6
6
  name: 'BaseListbox',
7
- extends: BaseComponent,
7
+ extends: BaseEditableHolder,
8
8
  props: {
9
- modelValue: null,
10
9
  options: Array,
11
10
  optionLabel: null,
12
11
  optionValue: null,
@@ -18,14 +17,6 @@ export default {
18
17
  type: String,
19
18
  default: '14rem'
20
19
  },
21
- invalid: {
22
- type: Boolean,
23
- default: false
24
- },
25
- disabled: {
26
- type: Boolean,
27
- default: false
28
- },
29
20
  dataKey: null,
30
21
  multiple: {
31
22
  type: Boolean,
@@ -12,7 +12,7 @@
12
12
  :data-p-hidden-focusable="true"
13
13
  ></span>
14
14
  <div v-if="$slots.header" :class="cx('header')">
15
- <slot name="header" :value="modelValue" :options="visibleOptions"></slot>
15
+ <slot name="header" :value="d_value" :options="visibleOptions"></slot>
16
16
  </div>
17
17
  <div v-if="filter" :class="cx('header')" v-bind="ptm('header')">
18
18
  <IconField :unstyled="unstyled" :pt="ptm('pcFilterContainer')">
@@ -110,7 +110,7 @@
110
110
  </template>
111
111
  </VirtualScroller>
112
112
  </div>
113
- <slot name="footer" :value="modelValue" :options="visibleOptions"></slot>
113
+ <slot name="footer" :value="d_value" :options="visibleOptions"></slot>
114
114
  <span v-if="!options || (options && options.length === 0)" role="status" aria-live="polite" class="p-hidden-accessible" v-bind="ptm('hiddenEmptyMessage')" :data-p-hidden-accessible="true">
115
115
  {{ emptyMessageText }}
116
116
  </span>
@@ -150,7 +150,7 @@ export default {
150
150
  name: 'Listbox',
151
151
  extends: BaseListbox,
152
152
  inheritAttrs: false,
153
- emits: ['update:modelValue', 'change', 'focus', 'blur', 'filter', 'item-dblclick', 'option-dblclick'],
153
+ emits: ['change', 'focus', 'blur', 'filter', 'item-dblclick', 'option-dblclick'],
154
154
  list: null,
155
155
  virtualScroller: null,
156
156
  optionTouched: false,
@@ -386,11 +386,11 @@ export default {
386
386
  if (selected) {
387
387
  value = metaKey ? this.removeOption(option) : [this.getOptionValue(option)];
388
388
  } else {
389
- value = metaKey ? this.modelValue || [] : [];
389
+ value = metaKey ? this.d_value || [] : [];
390
390
  value = [...value, this.getOptionValue(option)];
391
391
  }
392
392
  } else {
393
- value = selected ? this.removeOption(option) : [...(this.modelValue || []), this.getOptionValue(option)];
393
+ value = selected ? this.removeOption(option) : [...(this.d_value || []), this.getOptionValue(option)];
394
394
  }
395
395
 
396
396
  this.updateModel(event, value);
@@ -561,8 +561,8 @@ export default {
561
561
  isSelected(option) {
562
562
  const optionValue = this.getOptionValue(option);
563
563
 
564
- if (this.multiple) return (this.modelValue || []).some((value) => this.isEquals(value, optionValue));
565
- else return this.isEquals(this.modelValue, optionValue);
564
+ if (this.multiple) return (this.d_value || []).some((value) => this.isEquals(value, optionValue));
565
+ else return this.isEquals(this.d_value, optionValue);
566
566
  },
567
567
  findFirstOptionIndex() {
568
568
  return this.visibleOptions.findIndex((option) => this.isValidOption(option));
@@ -581,10 +581,10 @@ export default {
581
581
  return matchedOptionIndex > -1 ? matchedOptionIndex : index;
582
582
  },
583
583
  findSelectedOptionIndex() {
584
- if (this.hasSelectedOption) {
584
+ if (this.$filled) {
585
585
  if (this.multiple) {
586
- for (let index = this.modelValue.length - 1; index >= 0; index--) {
587
- const value = this.modelValue[index];
586
+ for (let index = this.d_value.length - 1; index >= 0; index--) {
587
+ const value = this.d_value[index];
588
588
  const matchedOptionIndex = this.visibleOptions.findIndex((option) => this.isValidSelectedOption(option) && this.isEquals(value, this.getOptionValue(option)));
589
589
 
590
590
  if (matchedOptionIndex > -1) return matchedOptionIndex;
@@ -597,25 +597,25 @@ export default {
597
597
  return -1;
598
598
  },
599
599
  findFirstSelectedOptionIndex() {
600
- return this.hasSelectedOption ? this.visibleOptions.findIndex((option) => this.isValidSelectedOption(option)) : -1;
600
+ return this.$filled ? this.visibleOptions.findIndex((option) => this.isValidSelectedOption(option)) : -1;
601
601
  },
602
602
  findLastSelectedOptionIndex() {
603
- return this.hasSelectedOption ? findLastIndex(this.visibleOptions, (option) => this.isValidSelectedOption(option)) : -1;
603
+ return this.$filled ? findLastIndex(this.visibleOptions, (option) => this.isValidSelectedOption(option)) : -1;
604
604
  },
605
605
  findNextSelectedOptionIndex(index) {
606
- const matchedOptionIndex = this.hasSelectedOption && index < this.visibleOptions.length - 1 ? this.visibleOptions.slice(index + 1).findIndex((option) => this.isValidSelectedOption(option)) : -1;
606
+ const matchedOptionIndex = this.$filled && index < this.visibleOptions.length - 1 ? this.visibleOptions.slice(index + 1).findIndex((option) => this.isValidSelectedOption(option)) : -1;
607
607
 
608
608
  return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : -1;
609
609
  },
610
610
  findPrevSelectedOptionIndex(index) {
611
- const matchedOptionIndex = this.hasSelectedOption && index > 0 ? findLastIndex(this.visibleOptions.slice(0, index), (option) => this.isValidSelectedOption(option)) : -1;
611
+ const matchedOptionIndex = this.$filled && index > 0 ? findLastIndex(this.visibleOptions.slice(0, index), (option) => this.isValidSelectedOption(option)) : -1;
612
612
 
613
613
  return matchedOptionIndex > -1 ? matchedOptionIndex : -1;
614
614
  },
615
615
  findNearestSelectedOptionIndex(index, firstCheckUp = false) {
616
616
  let matchedOptionIndex = -1;
617
617
 
618
- if (this.hasSelectedOption) {
618
+ if (this.$filled) {
619
619
  if (firstCheckUp) {
620
620
  matchedOptionIndex = this.findPrevSelectedOptionIndex(index);
621
621
  matchedOptionIndex = matchedOptionIndex === -1 ? this.findNextSelectedOptionIndex(index) : matchedOptionIndex;
@@ -669,7 +669,7 @@ export default {
669
669
  }, 500);
670
670
  },
671
671
  removeOption(option) {
672
- return this.modelValue.filter((val) => !equals(val, this.getOptionValue(option), this.equalityKey));
672
+ return this.d_value.filter((val) => !equals(val, this.getOptionValue(option), this.equalityKey));
673
673
  },
674
674
  changeFocusedOptionIndex(event, index) {
675
675
  if (this.focusedOptionIndex !== index) {
@@ -694,13 +694,13 @@ export default {
694
694
  });
695
695
  },
696
696
  autoUpdateModel() {
697
- if (this.selectOnFocus && this.autoOptionFocus && !this.hasSelectedOption && !this.multiple && this.focused) {
697
+ if (this.selectOnFocus && this.autoOptionFocus && !this.$filled && !this.multiple && this.focused) {
698
698
  this.focusedOptionIndex = this.findFirstFocusedOptionIndex();
699
699
  this.onOptionSelect(null, this.visibleOptions[this.focusedOptionIndex]);
700
700
  }
701
701
  },
702
702
  updateModel(event, value) {
703
- this.$emit('update:modelValue', value);
703
+ this.writeValue(value, event);
704
704
  this.$emit('change', { originalEvent: event, value });
705
705
  },
706
706
  flatOptions(options) {
@@ -728,8 +728,9 @@ export default {
728
728
 
729
729
  return this.filterValue ? FilterService.filter(options, this.searchFields, this.filterValue, this.filterMatchMode, this.filterLocale) : options;
730
730
  },
731
+ // @deprecated use $filled instead
731
732
  hasSelectedOption() {
732
- return isNotEmpty(this.modelValue);
733
+ return isNotEmpty(this.d_value);
733
734
  },
734
735
  equalityKey() {
735
736
  return this.optionValue ? null : this.dataKey;
@@ -756,7 +757,7 @@ export default {
756
757
  return this.emptySelectionMessage || this.$primevue.config.locale.emptySelectionMessage || '';
757
758
  },
758
759
  selectedMessageText() {
759
- return this.hasSelectedOption ? this.selectionMessageText.replaceAll('{0}', this.multiple ? this.modelValue.length : '1') : this.emptySelectionMessageText;
760
+ return this.$filled ? this.selectionMessageText.replaceAll('{0}', this.multiple ? this.d_value.length : '1') : this.emptySelectionMessageText;
760
761
  },
761
762
  focusedOptionId() {
762
763
  return this.focusedOptionIndex !== -1 ? `${this.id}_${this.focusedOptionIndex}` : null;
@@ -259,6 +259,14 @@ export interface ListboxProps {
259
259
  * Value of the component.
260
260
  */
261
261
  modelValue?: any;
262
+ /**
263
+ * The default value for the input when not controlled by `modelValue`.
264
+ */
265
+ defaultValue?: any;
266
+ /**
267
+ * The name attribute for the element, typically used in form submissions.
268
+ */
269
+ name?: string | undefined;
262
270
  /**
263
271
  * An array of selectitems to display as the available options.
264
272
  */
@@ -415,6 +423,10 @@ export interface ListboxProps {
415
423
  * Identifier of the underlying input element.
416
424
  */
417
425
  ariaLabelledby?: string | undefined;
426
+ /**
427
+ * Form control object, typically used for handling validation and form state.
428
+ */
429
+ formControl?: Record<string, any> | undefined;
418
430
  /**
419
431
  * It generates scoped CSS variables using design tokens for the component.
420
432
  */
@@ -564,6 +576,11 @@ export interface ListboxEmitsOptions {
564
576
  * @param {*} value - New value.
565
577
  */
566
578
  'update:modelValue'(value: any): void;
579
+ /**
580
+ * Emitted when the value changes in uncontrolled mode.
581
+ * @param {*} value - New value.
582
+ */
583
+ 'value-change'(value: any): void;
567
584
  /**
568
585
  * Callback to invoke on value change.
569
586
  * @param {ListboxChangeEvent} event - Custom change event.