primeng 20.0.0-rc.2 → 20.0.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 (326) hide show
  1. package/autocomplete/index.d.ts +8 -7
  2. package/baseeditableholder/index.d.ts +14 -5
  3. package/basemodelholder/index.d.ts +12 -0
  4. package/cascadeselect/index.d.ts +7 -5
  5. package/checkbox/index.d.ts +9 -7
  6. package/colorpicker/index.d.ts +8 -7
  7. package/datepicker/index.d.ts +10 -9
  8. package/editor/index.d.ts +9 -8
  9. package/fesm2022/primeng-accordion.mjs +33 -33
  10. package/fesm2022/primeng-accordion.mjs.map +1 -1
  11. package/fesm2022/primeng-animateonscroll.mjs +7 -7
  12. package/fesm2022/primeng-animateonscroll.mjs.map +1 -1
  13. package/fesm2022/primeng-api.mjs +31 -31
  14. package/fesm2022/primeng-api.mjs.map +1 -1
  15. package/fesm2022/primeng-autocomplete.mjs +55 -57
  16. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  17. package/fesm2022/primeng-autofocus.mjs +7 -7
  18. package/fesm2022/primeng-autofocus.mjs.map +1 -1
  19. package/fesm2022/primeng-avatar.mjs +10 -10
  20. package/fesm2022/primeng-avatar.mjs.map +1 -1
  21. package/fesm2022/primeng-avatargroup.mjs +10 -10
  22. package/fesm2022/primeng-avatargroup.mjs.map +1 -1
  23. package/fesm2022/primeng-badge.mjs +19 -19
  24. package/fesm2022/primeng-badge.mjs.map +1 -1
  25. package/fesm2022/primeng-base.mjs +3 -3
  26. package/fesm2022/primeng-base.mjs.map +1 -1
  27. package/fesm2022/primeng-basecomponent.mjs +6 -6
  28. package/fesm2022/primeng-basecomponent.mjs.map +1 -1
  29. package/fesm2022/primeng-baseeditableholder.mjs +32 -14
  30. package/fesm2022/primeng-baseeditableholder.mjs.map +1 -1
  31. package/fesm2022/primeng-baseinput.mjs +14 -14
  32. package/fesm2022/primeng-baseinput.mjs.map +1 -1
  33. package/fesm2022/primeng-basemodelholder.mjs +25 -0
  34. package/fesm2022/primeng-basemodelholder.mjs.map +1 -0
  35. package/fesm2022/primeng-blockui.mjs +10 -10
  36. package/fesm2022/primeng-blockui.mjs.map +1 -1
  37. package/fesm2022/primeng-breadcrumb.mjs +10 -10
  38. package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
  39. package/fesm2022/primeng-button.mjs +25 -25
  40. package/fesm2022/primeng-button.mjs.map +1 -1
  41. package/fesm2022/primeng-buttongroup.mjs +10 -10
  42. package/fesm2022/primeng-card.mjs +12 -12
  43. package/fesm2022/primeng-card.mjs.map +1 -1
  44. package/fesm2022/primeng-carousel.mjs +11 -11
  45. package/fesm2022/primeng-carousel.mjs.map +1 -1
  46. package/fesm2022/primeng-cascadeselect.mjs +46 -48
  47. package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
  48. package/fesm2022/primeng-chart.mjs +10 -10
  49. package/fesm2022/primeng-chart.mjs.map +1 -1
  50. package/fesm2022/primeng-checkbox.mjs +26 -28
  51. package/fesm2022/primeng-checkbox.mjs.map +1 -1
  52. package/fesm2022/primeng-chip.mjs +10 -10
  53. package/fesm2022/primeng-chip.mjs.map +1 -1
  54. package/fesm2022/primeng-colorpicker.mjs +47 -49
  55. package/fesm2022/primeng-colorpicker.mjs.map +1 -1
  56. package/fesm2022/primeng-config.mjs +13 -13
  57. package/fesm2022/primeng-config.mjs.map +1 -1
  58. package/fesm2022/primeng-confirmdialog.mjs +10 -10
  59. package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
  60. package/fesm2022/primeng-confirmpopup.mjs +10 -10
  61. package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
  62. package/fesm2022/primeng-contextmenu.mjs +22 -30
  63. package/fesm2022/primeng-contextmenu.mjs.map +1 -1
  64. package/fesm2022/primeng-dataview.mjs +11 -11
  65. package/fesm2022/primeng-dataview.mjs.map +1 -1
  66. package/fesm2022/primeng-datepicker.mjs +53 -55
  67. package/fesm2022/primeng-datepicker.mjs.map +1 -1
  68. package/fesm2022/primeng-dialog.mjs +12 -12
  69. package/fesm2022/primeng-dialog.mjs.map +1 -1
  70. package/fesm2022/primeng-divider.mjs +11 -11
  71. package/fesm2022/primeng-divider.mjs.map +1 -1
  72. package/fesm2022/primeng-dock.mjs +12 -12
  73. package/fesm2022/primeng-dock.mjs.map +1 -1
  74. package/fesm2022/primeng-dom.mjs.map +1 -1
  75. package/fesm2022/primeng-dragdrop.mjs +10 -10
  76. package/fesm2022/primeng-dragdrop.mjs.map +1 -1
  77. package/fesm2022/primeng-drawer.mjs +10 -10
  78. package/fesm2022/primeng-drawer.mjs.map +1 -1
  79. package/fesm2022/primeng-dynamicdialog.mjs +17 -17
  80. package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
  81. package/fesm2022/primeng-editor.mjs +18 -20
  82. package/fesm2022/primeng-editor.mjs.map +1 -1
  83. package/fesm2022/primeng-fieldset.mjs +10 -10
  84. package/fesm2022/primeng-fieldset.mjs.map +1 -1
  85. package/fesm2022/primeng-fileupload.mjs +21 -20
  86. package/fesm2022/primeng-fileupload.mjs.map +1 -1
  87. package/fesm2022/primeng-floatlabel.mjs +10 -10
  88. package/fesm2022/primeng-fluid.mjs +10 -10
  89. package/fesm2022/primeng-focustrap.mjs +7 -7
  90. package/fesm2022/primeng-focustrap.mjs.map +1 -1
  91. package/fesm2022/primeng-galleria.mjs +22 -22
  92. package/fesm2022/primeng-galleria.mjs.map +1 -1
  93. package/fesm2022/primeng-iconfield.mjs +10 -10
  94. package/fesm2022/primeng-icons-angledoubledown.mjs +3 -3
  95. package/fesm2022/primeng-icons-angledoubleleft.mjs +3 -3
  96. package/fesm2022/primeng-icons-angledoubleright.mjs +3 -3
  97. package/fesm2022/primeng-icons-angledoubleup.mjs +3 -3
  98. package/fesm2022/primeng-icons-angledown.mjs +3 -3
  99. package/fesm2022/primeng-icons-angleleft.mjs +3 -3
  100. package/fesm2022/primeng-icons-angleright.mjs +3 -3
  101. package/fesm2022/primeng-icons-angleup.mjs +3 -3
  102. package/fesm2022/primeng-icons-arrowdown.mjs +3 -3
  103. package/fesm2022/primeng-icons-arrowdown.mjs.map +1 -1
  104. package/fesm2022/primeng-icons-arrowdownleft.mjs +3 -3
  105. package/fesm2022/primeng-icons-arrowdownright.mjs +3 -3
  106. package/fesm2022/primeng-icons-arrowleft.mjs +3 -3
  107. package/fesm2022/primeng-icons-arrowleft.mjs.map +1 -1
  108. package/fesm2022/primeng-icons-arrowright.mjs +3 -3
  109. package/fesm2022/primeng-icons-arrowup.mjs +3 -3
  110. package/fesm2022/primeng-icons-arrowup.mjs.map +1 -1
  111. package/fesm2022/primeng-icons-ban.mjs +3 -3
  112. package/fesm2022/primeng-icons-ban.mjs.map +1 -1
  113. package/fesm2022/primeng-icons-bars.mjs +3 -3
  114. package/fesm2022/primeng-icons-baseicon.mjs +6 -6
  115. package/fesm2022/primeng-icons-baseicon.mjs.map +1 -1
  116. package/fesm2022/primeng-icons-blank.mjs +3 -3
  117. package/fesm2022/primeng-icons-calendar.mjs +3 -3
  118. package/fesm2022/primeng-icons-caretleft.mjs +3 -3
  119. package/fesm2022/primeng-icons-caretright.mjs +3 -3
  120. package/fesm2022/primeng-icons-check.mjs +3 -3
  121. package/fesm2022/primeng-icons-chevrondown.mjs +3 -3
  122. package/fesm2022/primeng-icons-chevronleft.mjs +3 -3
  123. package/fesm2022/primeng-icons-chevronright.mjs +3 -3
  124. package/fesm2022/primeng-icons-chevronup.mjs +3 -3
  125. package/fesm2022/primeng-icons-exclamationtriangle.mjs +3 -3
  126. package/fesm2022/primeng-icons-exclamationtriangle.mjs.map +1 -1
  127. package/fesm2022/primeng-icons-eye.mjs +3 -3
  128. package/fesm2022/primeng-icons-eyeslash.mjs +3 -3
  129. package/fesm2022/primeng-icons-eyeslash.mjs.map +1 -1
  130. package/fesm2022/primeng-icons-filter.mjs +3 -3
  131. package/fesm2022/primeng-icons-filter.mjs.map +1 -1
  132. package/fesm2022/primeng-icons-filterfill.mjs +3 -3
  133. package/fesm2022/primeng-icons-filterslash.mjs +3 -3
  134. package/fesm2022/primeng-icons-filterslash.mjs.map +1 -1
  135. package/fesm2022/primeng-icons-home.mjs +3 -3
  136. package/fesm2022/primeng-icons-home.mjs.map +1 -1
  137. package/fesm2022/primeng-icons-infocircle.mjs +3 -3
  138. package/fesm2022/primeng-icons-infocircle.mjs.map +1 -1
  139. package/fesm2022/primeng-icons-minus.mjs +3 -3
  140. package/fesm2022/primeng-icons-pencil.mjs +3 -3
  141. package/fesm2022/primeng-icons-pencil.mjs.map +1 -1
  142. package/fesm2022/primeng-icons-plus.mjs +3 -3
  143. package/fesm2022/primeng-icons-plus.mjs.map +1 -1
  144. package/fesm2022/primeng-icons-refresh.mjs +3 -3
  145. package/fesm2022/primeng-icons-refresh.mjs.map +1 -1
  146. package/fesm2022/primeng-icons-search.mjs +3 -3
  147. package/fesm2022/primeng-icons-search.mjs.map +1 -1
  148. package/fesm2022/primeng-icons-searchminus.mjs +3 -3
  149. package/fesm2022/primeng-icons-searchminus.mjs.map +1 -1
  150. package/fesm2022/primeng-icons-searchplus.mjs +3 -3
  151. package/fesm2022/primeng-icons-searchplus.mjs.map +1 -1
  152. package/fesm2022/primeng-icons-sortalt.mjs +3 -3
  153. package/fesm2022/primeng-icons-sortalt.mjs.map +1 -1
  154. package/fesm2022/primeng-icons-sortamountdown.mjs +3 -3
  155. package/fesm2022/primeng-icons-sortamountdown.mjs.map +1 -1
  156. package/fesm2022/primeng-icons-sortamountupalt.mjs +3 -3
  157. package/fesm2022/primeng-icons-sortamountupalt.mjs.map +1 -1
  158. package/fesm2022/primeng-icons-spinner.mjs +3 -3
  159. package/fesm2022/primeng-icons-spinner.mjs.map +1 -1
  160. package/fesm2022/primeng-icons-star.mjs +3 -3
  161. package/fesm2022/primeng-icons-star.mjs.map +1 -1
  162. package/fesm2022/primeng-icons-starfill.mjs +3 -3
  163. package/fesm2022/primeng-icons-starfill.mjs.map +1 -1
  164. package/fesm2022/primeng-icons-thlarge.mjs +3 -3
  165. package/fesm2022/primeng-icons-thlarge.mjs.map +1 -1
  166. package/fesm2022/primeng-icons-times.mjs +3 -3
  167. package/fesm2022/primeng-icons-timescircle.mjs +3 -3
  168. package/fesm2022/primeng-icons-timescircle.mjs.map +1 -1
  169. package/fesm2022/primeng-icons-trash.mjs +3 -3
  170. package/fesm2022/primeng-icons-trash.mjs.map +1 -1
  171. package/fesm2022/primeng-icons-undo.mjs +3 -3
  172. package/fesm2022/primeng-icons-undo.mjs.map +1 -1
  173. package/fesm2022/primeng-icons-upload.mjs +3 -3
  174. package/fesm2022/primeng-icons-upload.mjs.map +1 -1
  175. package/fesm2022/primeng-icons-windowmaximize.mjs +3 -3
  176. package/fesm2022/primeng-icons-windowmaximize.mjs.map +1 -1
  177. package/fesm2022/primeng-icons-windowminimize.mjs +3 -3
  178. package/fesm2022/primeng-icons-windowminimize.mjs.map +1 -1
  179. package/fesm2022/primeng-iftalabel.mjs +10 -10
  180. package/fesm2022/primeng-image.mjs +12 -12
  181. package/fesm2022/primeng-image.mjs.map +1 -1
  182. package/fesm2022/primeng-imagecompare.mjs +10 -10
  183. package/fesm2022/primeng-imagecompare.mjs.map +1 -1
  184. package/fesm2022/primeng-inplace.mjs +16 -16
  185. package/fesm2022/primeng-inplace.mjs.map +1 -1
  186. package/fesm2022/primeng-inputgroup.mjs +10 -10
  187. package/fesm2022/primeng-inputgroupaddon.mjs +10 -10
  188. package/fesm2022/primeng-inputgroupaddon.mjs.map +1 -1
  189. package/fesm2022/primeng-inputicon.mjs +10 -10
  190. package/fesm2022/primeng-inputmask.mjs +33 -35
  191. package/fesm2022/primeng-inputmask.mjs.map +1 -1
  192. package/fesm2022/primeng-inputnumber.mjs +40 -42
  193. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  194. package/fesm2022/primeng-inputotp.mjs +39 -41
  195. package/fesm2022/primeng-inputotp.mjs.map +1 -1
  196. package/fesm2022/primeng-inputtext.mjs +23 -17
  197. package/fesm2022/primeng-inputtext.mjs.map +1 -1
  198. package/fesm2022/primeng-keyfilter.mjs +7 -7
  199. package/fesm2022/primeng-keyfilter.mjs.map +1 -1
  200. package/fesm2022/primeng-knob.mjs +32 -34
  201. package/fesm2022/primeng-knob.mjs.map +1 -1
  202. package/fesm2022/primeng-listbox.mjs +52 -54
  203. package/fesm2022/primeng-listbox.mjs.map +1 -1
  204. package/fesm2022/primeng-megamenu.mjs +17 -17
  205. package/fesm2022/primeng-megamenu.mjs.map +1 -1
  206. package/fesm2022/primeng-menu.mjs +45 -36
  207. package/fesm2022/primeng-menu.mjs.map +1 -1
  208. package/fesm2022/primeng-menubar.mjs +38 -43
  209. package/fesm2022/primeng-menubar.mjs.map +1 -1
  210. package/fesm2022/primeng-message.mjs +11 -11
  211. package/fesm2022/primeng-message.mjs.map +1 -1
  212. package/fesm2022/primeng-metergroup.mjs +13 -13
  213. package/fesm2022/primeng-metergroup.mjs.map +1 -1
  214. package/fesm2022/primeng-multiselect.mjs +66 -67
  215. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  216. package/fesm2022/primeng-orderlist.mjs +10 -10
  217. package/fesm2022/primeng-orderlist.mjs.map +1 -1
  218. package/fesm2022/primeng-organizationchart.mjs +13 -13
  219. package/fesm2022/primeng-organizationchart.mjs.map +1 -1
  220. package/fesm2022/primeng-overlay.mjs +13 -13
  221. package/fesm2022/primeng-overlay.mjs.map +1 -1
  222. package/fesm2022/primeng-overlaybadge.mjs +10 -10
  223. package/fesm2022/primeng-overlaybadge.mjs.map +1 -1
  224. package/fesm2022/primeng-paginator.mjs +12 -12
  225. package/fesm2022/primeng-paginator.mjs.map +1 -1
  226. package/fesm2022/primeng-panel.mjs +10 -10
  227. package/fesm2022/primeng-panel.mjs.map +1 -1
  228. package/fesm2022/primeng-panelmenu.mjs +23 -23
  229. package/fesm2022/primeng-panelmenu.mjs.map +1 -1
  230. package/fesm2022/primeng-password.mjs +45 -47
  231. package/fesm2022/primeng-password.mjs.map +1 -1
  232. package/fesm2022/primeng-picklist.mjs +10 -10
  233. package/fesm2022/primeng-picklist.mjs.map +1 -1
  234. package/fesm2022/primeng-popover.mjs +10 -10
  235. package/fesm2022/primeng-popover.mjs.map +1 -1
  236. package/fesm2022/primeng-progressbar.mjs +10 -10
  237. package/fesm2022/primeng-progressbar.mjs.map +1 -1
  238. package/fesm2022/primeng-progressspinner.mjs +10 -10
  239. package/fesm2022/primeng-radiobutton.mjs +32 -34
  240. package/fesm2022/primeng-radiobutton.mjs.map +1 -1
  241. package/fesm2022/primeng-rating.mjs +25 -27
  242. package/fesm2022/primeng-rating.mjs.map +1 -1
  243. package/fesm2022/primeng-ripple.mjs +10 -10
  244. package/fesm2022/primeng-ripple.mjs.map +1 -1
  245. package/fesm2022/primeng-scroller.mjs +10 -10
  246. package/fesm2022/primeng-scroller.mjs.map +1 -1
  247. package/fesm2022/primeng-scrollpanel.mjs +10 -10
  248. package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
  249. package/fesm2022/primeng-scrolltop.mjs +10 -10
  250. package/fesm2022/primeng-scrolltop.mjs.map +1 -1
  251. package/fesm2022/primeng-select.mjs +54 -56
  252. package/fesm2022/primeng-select.mjs.map +1 -1
  253. package/fesm2022/primeng-selectbutton.mjs +27 -29
  254. package/fesm2022/primeng-selectbutton.mjs.map +1 -1
  255. package/fesm2022/primeng-skeleton.mjs +10 -10
  256. package/fesm2022/primeng-skeleton.mjs.map +1 -1
  257. package/fesm2022/primeng-slider.mjs +38 -40
  258. package/fesm2022/primeng-slider.mjs.map +1 -1
  259. package/fesm2022/primeng-speeddial.mjs +11 -11
  260. package/fesm2022/primeng-speeddial.mjs.map +1 -1
  261. package/fesm2022/primeng-splitbutton.mjs +11 -11
  262. package/fesm2022/primeng-splitbutton.mjs.map +1 -1
  263. package/fesm2022/primeng-splitter.mjs +13 -13
  264. package/fesm2022/primeng-splitter.mjs.map +1 -1
  265. package/fesm2022/primeng-stepper.mjs +104 -79
  266. package/fesm2022/primeng-stepper.mjs.map +1 -1
  267. package/fesm2022/primeng-steps.mjs +10 -10
  268. package/fesm2022/primeng-steps.mjs.map +1 -1
  269. package/fesm2022/primeng-styleclass.mjs +7 -7
  270. package/fesm2022/primeng-styleclass.mjs.map +1 -1
  271. package/fesm2022/primeng-table.mjs +108 -116
  272. package/fesm2022/primeng-table.mjs.map +1 -1
  273. package/fesm2022/primeng-tabs.mjs +57 -57
  274. package/fesm2022/primeng-tabs.mjs.map +1 -1
  275. package/fesm2022/primeng-tag.mjs +10 -10
  276. package/fesm2022/primeng-tag.mjs.map +1 -1
  277. package/fesm2022/primeng-terminal.mjs +13 -13
  278. package/fesm2022/primeng-terminal.mjs.map +1 -1
  279. package/fesm2022/primeng-textarea.mjs +22 -17
  280. package/fesm2022/primeng-textarea.mjs.map +1 -1
  281. package/fesm2022/primeng-tieredmenu.mjs +22 -23
  282. package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
  283. package/fesm2022/primeng-timeline.mjs +10 -10
  284. package/fesm2022/primeng-timeline.mjs.map +1 -1
  285. package/fesm2022/primeng-toast.mjs +13 -13
  286. package/fesm2022/primeng-toast.mjs.map +1 -1
  287. package/fesm2022/primeng-togglebutton.mjs +26 -27
  288. package/fesm2022/primeng-togglebutton.mjs.map +1 -1
  289. package/fesm2022/primeng-toggleswitch.mjs +25 -27
  290. package/fesm2022/primeng-toggleswitch.mjs.map +1 -1
  291. package/fesm2022/primeng-toolbar.mjs +10 -10
  292. package/fesm2022/primeng-toolbar.mjs.map +1 -1
  293. package/fesm2022/primeng-tooltip.mjs +12 -12
  294. package/fesm2022/primeng-tooltip.mjs.map +1 -1
  295. package/fesm2022/primeng-tree.mjs +14 -14
  296. package/fesm2022/primeng-tree.mjs.map +1 -1
  297. package/fesm2022/primeng-treeselect.mjs +32 -34
  298. package/fesm2022/primeng-treeselect.mjs.map +1 -1
  299. package/fesm2022/primeng-treetable.mjs +63 -63
  300. package/fesm2022/primeng-treetable.mjs.map +1 -1
  301. package/fesm2022/primeng-usestyle.mjs +8 -8
  302. package/fesm2022/primeng-usestyle.mjs.map +1 -1
  303. package/fesm2022/primeng-utils.mjs.map +1 -1
  304. package/inputmask/index.d.ts +8 -7
  305. package/inputnumber/index.d.ts +8 -7
  306. package/inputotp/index.d.ts +7 -5
  307. package/inputtext/index.d.ts +10 -4
  308. package/knob/index.d.ts +7 -5
  309. package/listbox/index.d.ts +8 -7
  310. package/menu/index.d.ts +2 -1
  311. package/menubar/index.d.ts +1 -3
  312. package/multiselect/index.d.ts +8 -7
  313. package/package.json +220 -216
  314. package/password/index.d.ts +7 -5
  315. package/radiobutton/index.d.ts +9 -7
  316. package/rating/index.d.ts +8 -7
  317. package/select/index.d.ts +8 -7
  318. package/selectbutton/index.d.ts +9 -8
  319. package/slider/index.d.ts +9 -8
  320. package/stepper/index.d.ts +4 -0
  321. package/table/index.d.ts +1 -5
  322. package/textarea/index.d.ts +9 -4
  323. package/tieredmenu/index.d.ts +5 -1
  324. package/togglebutton/index.d.ts +8 -7
  325. package/toggleswitch/index.d.ts +7 -5
  326. package/treeselect/index.d.ts +7 -5
@@ -10,7 +10,7 @@ import { style } from '@primeuix/styles/knob';
10
10
  import { BaseStyle } from 'primeng/base';
11
11
 
12
12
  const classes = {
13
- root: ({ instance }) => ['p-knob p-component', { 'p-disabled': instance.disabled() }],
13
+ root: ({ instance }) => ['p-knob p-component', { 'p-disabled': instance.$disabled() }],
14
14
  range: 'p-knob-range',
15
15
  value: 'p-knob-value',
16
16
  text: 'p-knob-text'
@@ -19,10 +19,10 @@ class KnobStyle extends BaseStyle {
19
19
  name = 'knob';
20
20
  theme = style;
21
21
  classes = classes;
22
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: KnobStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
23
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: KnobStyle });
22
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: KnobStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
23
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: KnobStyle });
24
24
  }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: KnobStyle, decorators: [{
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: KnobStyle, decorators: [{
26
26
  type: Injectable
27
27
  }] });
28
28
  /**
@@ -156,14 +156,12 @@ class Knob extends BaseEditableHolder {
156
156
  windowMouseUpListener;
157
157
  windowTouchMoveListener;
158
158
  windowTouchEndListener;
159
- onModelChange = () => { };
160
- onModelTouched = () => { };
161
159
  _componentStyle = inject(KnobStyle);
162
160
  mapRange(x, inMin, inMax, outMin, outMax) {
163
161
  return ((x - inMin) * (outMax - outMin)) / (inMax - inMin) + outMin;
164
162
  }
165
163
  onClick(event) {
166
- if (!this.disabled() && !this.readonly) {
164
+ if (!this.$disabled() && !this.readonly) {
167
165
  this.updateValue(event.offsetX, event.offsetY);
168
166
  }
169
167
  }
@@ -189,7 +187,7 @@ class Knob extends BaseEditableHolder {
189
187
  this.onChange.emit(this.value);
190
188
  }
191
189
  onMouseDown(event) {
192
- if (!this.disabled() && !this.readonly) {
190
+ if (!this.$disabled() && !this.readonly) {
193
191
  const window = this.document.defaultView || 'window';
194
192
  this.windowMouseMoveListener = this.renderer.listen(window, 'mousemove', this.onMouseMove.bind(this));
195
193
  this.windowMouseUpListener = this.renderer.listen(window, 'mouseup', this.onMouseUp.bind(this));
@@ -197,7 +195,7 @@ class Knob extends BaseEditableHolder {
197
195
  }
198
196
  }
199
197
  onMouseUp(event) {
200
- if (!this.disabled() && !this.readonly) {
198
+ if (!this.$disabled() && !this.readonly) {
201
199
  if (this.windowMouseMoveListener) {
202
200
  this.windowMouseMoveListener();
203
201
  this.windowMouseUpListener = null;
@@ -210,7 +208,7 @@ class Knob extends BaseEditableHolder {
210
208
  }
211
209
  }
212
210
  onTouchStart(event) {
213
- if (!this.disabled() && !this.readonly) {
211
+ if (!this.$disabled() && !this.readonly) {
214
212
  const window = this.document.defaultView || 'window';
215
213
  this.windowTouchMoveListener = this.renderer.listen(window, 'touchmove', this.onTouchMove.bind(this));
216
214
  this.windowTouchEndListener = this.renderer.listen(window, 'touchend', this.onTouchEnd.bind(this));
@@ -218,7 +216,7 @@ class Knob extends BaseEditableHolder {
218
216
  }
219
217
  }
220
218
  onTouchEnd(event) {
221
- if (!this.disabled() && !this.readonly) {
219
+ if (!this.$disabled() && !this.readonly) {
222
220
  if (this.windowTouchMoveListener) {
223
221
  this.windowTouchMoveListener();
224
222
  }
@@ -231,13 +229,13 @@ class Knob extends BaseEditableHolder {
231
229
  }
232
230
  }
233
231
  onMouseMove(event) {
234
- if (!this.disabled() && !this.readonly) {
232
+ if (!this.$disabled() && !this.readonly) {
235
233
  this.updateValue(event.offsetX, event.offsetY);
236
234
  event.preventDefault();
237
235
  }
238
236
  }
239
237
  onTouchMove(event) {
240
- if (!this.disabled() && !this.readonly && event instanceof TouchEvent && event.touches.length === 1) {
238
+ if (!this.$disabled() && !this.readonly && event instanceof TouchEvent && event.touches.length === 1) {
241
239
  const rect = this.el.nativeElement.children[0].getBoundingClientRect();
242
240
  const touch = event.targetTouches.item(0);
243
241
  if (touch) {
@@ -259,7 +257,7 @@ class Knob extends BaseEditableHolder {
259
257
  this.onChange.emit(this.value);
260
258
  }
261
259
  onKeyDown(event) {
262
- if (!this.disabled() && !this.readonly) {
260
+ if (!this.$disabled() && !this.readonly) {
263
261
  switch (event.code) {
264
262
  case 'ArrowRight':
265
263
  case 'ArrowUp': {
@@ -296,17 +294,6 @@ class Knob extends BaseEditableHolder {
296
294
  }
297
295
  }
298
296
  }
299
- writeValue(value) {
300
- this.value = value;
301
- this.writeModelValue(this.value);
302
- this.cd.markForCheck();
303
- }
304
- registerOnChange(fn) {
305
- this.onModelChange = fn;
306
- }
307
- registerOnTouched(fn) {
308
- this.onModelTouched = fn;
309
- }
310
297
  rangePath() {
311
298
  return `M ${this.minX()} ${this.minY()} A ${this.radius} ${this.radius} 0 1 1 ${this.maxX()} ${this.maxY()}`;
312
299
  }
@@ -358,8 +345,19 @@ class Knob extends BaseEditableHolder {
358
345
  get _value() {
359
346
  return this.value != null ? this.value : this.min;
360
347
  }
361
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: Knob, deps: null, target: i0.ɵɵFactoryTarget.Component });
362
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.0.6", type: Knob, isStandalone: true, selector: "p-knob", inputs: { styleClass: "styleClass", ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", tabindex: ["tabindex", "tabindex", numberAttribute], valueColor: "valueColor", rangeColor: "rangeColor", textColor: "textColor", valueTemplate: "valueTemplate", size: ["size", "size", numberAttribute], min: ["min", "min", numberAttribute], max: ["max", "max", numberAttribute], step: ["step", "step", numberAttribute], strokeWidth: ["strokeWidth", "strokeWidth", numberAttribute], showValue: ["showValue", "showValue", booleanAttribute], readonly: ["readonly", "readonly", booleanAttribute] }, outputs: { onChange: "onChange" }, host: { properties: { "attr.data-pc-name": "'knob'", "attr.data-pc-section": "'root'", "class": "cn(cx('root'), styleClass)" } }, providers: [KNOB_VALUE_ACCESSOR, KnobStyle], usesInheritance: true, ngImport: i0, template: `
348
+ /**
349
+ * @override
350
+ *
351
+ * @see {@link BaseEditableHolder.writeControlValue}
352
+ * Writes the value to the control.
353
+ */
354
+ writeControlValue(value, setModelValue) {
355
+ this.value = value;
356
+ setModelValue(this.value);
357
+ this.cd.markForCheck();
358
+ }
359
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: Knob, deps: null, target: i0.ɵɵFactoryTarget.Component });
360
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.1.0", type: Knob, isStandalone: true, selector: "p-knob", inputs: { styleClass: "styleClass", ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", tabindex: ["tabindex", "tabindex", numberAttribute], valueColor: "valueColor", rangeColor: "rangeColor", textColor: "textColor", valueTemplate: "valueTemplate", size: ["size", "size", numberAttribute], min: ["min", "min", numberAttribute], max: ["max", "max", numberAttribute], step: ["step", "step", numberAttribute], strokeWidth: ["strokeWidth", "strokeWidth", numberAttribute], showValue: ["showValue", "showValue", booleanAttribute], readonly: ["readonly", "readonly", booleanAttribute] }, outputs: { onChange: "onChange" }, host: { properties: { "attr.data-pc-name": "'knob'", "attr.data-pc-section": "'root'", "class": "cn(cx('root'), styleClass)" } }, providers: [KNOB_VALUE_ACCESSOR, KnobStyle], usesInheritance: true, ngImport: i0, template: `
363
361
  <svg
364
362
  viewBox="0 0 100 100"
365
363
  role="slider"
@@ -377,7 +375,7 @@ class Knob extends BaseEditableHolder {
377
375
  [attr.aria-valuenow]="_value"
378
376
  [attr.aria-labelledby]="ariaLabelledBy"
379
377
  [attr.aria-label]="ariaLabel"
380
- [attr.tabindex]="readonly || disabled() ? -1 : tabindex"
378
+ [attr.tabindex]="readonly || $disabled() ? -1 : tabindex"
381
379
  [attr.data-pc-section]="'svg'"
382
380
  >
383
381
  <path [attr.d]="rangePath()" [attr.stroke-width]="strokeWidth" [attr.stroke]="rangeColor" [class]="cx('range')"></path>
@@ -388,7 +386,7 @@ class Knob extends BaseEditableHolder {
388
386
  </svg>
389
387
  `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: SharedModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
390
388
  }
391
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: Knob, decorators: [{
389
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: Knob, decorators: [{
392
390
  type: Component,
393
391
  args: [{
394
392
  selector: 'p-knob',
@@ -412,7 +410,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
412
410
  [attr.aria-valuenow]="_value"
413
411
  [attr.aria-labelledby]="ariaLabelledBy"
414
412
  [attr.aria-label]="ariaLabel"
415
- [attr.tabindex]="readonly || disabled() ? -1 : tabindex"
413
+ [attr.tabindex]="readonly || $disabled() ? -1 : tabindex"
416
414
  [attr.data-pc-section]="'svg'"
417
415
  >
418
416
  <path [attr.d]="rangePath()" [attr.stroke-width]="strokeWidth" [attr.stroke]="rangeColor" [class]="cx('range')"></path>
@@ -473,11 +471,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
473
471
  type: Output
474
472
  }] } });
475
473
  class KnobModule {
476
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: KnobModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
477
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.6", ngImport: i0, type: KnobModule, imports: [Knob, SharedModule], exports: [Knob, SharedModule] });
478
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: KnobModule, imports: [Knob, SharedModule, SharedModule] });
474
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: KnobModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
475
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.1.0", ngImport: i0, type: KnobModule, imports: [Knob, SharedModule], exports: [Knob, SharedModule] });
476
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: KnobModule, imports: [Knob, SharedModule, SharedModule] });
479
477
  }
480
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: KnobModule, decorators: [{
478
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: KnobModule, decorators: [{
481
479
  type: NgModule,
482
480
  args: [{
483
481
  imports: [Knob, SharedModule],
@@ -1 +1 @@
1
- {"version":3,"file":"primeng-knob.mjs","sources":["../../src/knob/style/knobstyle.ts","../../src/knob/knob.ts","../../src/knob/primeng-knob.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style } from '@primeuix/styles/knob';\nimport { BaseStyle } from 'primeng/base';\n\nconst classes = {\n root: ({ instance }) => ['p-knob p-component', { 'p-disabled': instance.disabled() }],\n range: 'p-knob-range',\n value: 'p-knob-value',\n text: 'p-knob-text'\n};\n\n@Injectable()\nexport class KnobStyle extends BaseStyle {\n name = 'knob';\n\n theme = style;\n\n classes = classes;\n}\n\n/**\n *\n * Knob is a form component to define number inputs with a dial.\n *\n * [Live Demo](https://www.primeng.org/knob/)\n *\n * @module knobstyle\n *\n */\nexport enum KnobClasses {\n /**\n * Class name of the root element\n */\n root = 'p-knob',\n /**\n * Class name of the range element\n */\n range = 'p-knob-range',\n /**\n * Class name of the value element\n */\n value = 'p-knob-value',\n /**\n * Class name of the text element\n */\n text = 'p-knob-text'\n}\n\nexport interface KnobStyle extends BaseStyle {}\n","import { CommonModule } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, EventEmitter, forwardRef, inject, Input, NgModule, numberAttribute, Output, ViewEncapsulation } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { $dt } from '@primeuix/styled';\nimport { SharedModule } from 'primeng/api';\nimport { BaseEditableHolder } from 'primeng/baseeditableholder';\nimport { VoidListener } from 'primeng/ts-helpers';\nimport { KnobStyle } from './style/knobstyle';\n\nexport const KNOB_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => Knob),\n multi: true\n};\n/**\n * Knob is a form component to define number inputs with a dial.\n * @group Components\n */\n@Component({\n selector: 'p-knob',\n standalone: true,\n imports: [CommonModule, SharedModule],\n template: `\n <svg\n viewBox=\"0 0 100 100\"\n role=\"slider\"\n [style.width]=\"size + 'px'\"\n [style.height]=\"size + 'px'\"\n (click)=\"onClick($event)\"\n (keydown)=\"onKeyDown($event)\"\n (mousedown)=\"onMouseDown($event)\"\n (mouseup)=\"onMouseUp($event)\"\n (touchstart)=\"onTouchStart($event)\"\n (touchend)=\"onTouchEnd($event)\"\n [attr.aria-valuemin]=\"min\"\n [attr.aria-valuemax]=\"max\"\n [attr.required]=\"required() ? '' : undefined\"\n [attr.aria-valuenow]=\"_value\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.tabindex]=\"readonly || disabled() ? -1 : tabindex\"\n [attr.data-pc-section]=\"'svg'\"\n >\n <path [attr.d]=\"rangePath()\" [attr.stroke-width]=\"strokeWidth\" [attr.stroke]=\"rangeColor\" [class]=\"cx('range')\"></path>\n <path [attr.d]=\"valuePath()\" [attr.stroke-width]=\"strokeWidth\" [attr.stroke]=\"valueColor\" [class]=\"cx('value')\"></path>\n <text *ngIf=\"showValue\" [attr.x]=\"50\" [attr.y]=\"57\" text-anchor=\"middle\" [attr.fill]=\"textColor\" [class]=\"cx('text')\" [attr.name]=\"name()\">\n {{ valueToDisplay() }}\n </text>\n </svg>\n `,\n providers: [KNOB_VALUE_ACCESSOR, KnobStyle],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[attr.data-pc-name]': \"'knob'\",\n '[attr.data-pc-section]': \"'root'\",\n '[class]': \"cn(cx('root'), styleClass)\"\n }\n})\nexport class Knob extends BaseEditableHolder {\n /**\n * Style class of the component.\n * @deprecated since v20.0.0, use `class` instead.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Defines a string that labels the input for accessibility.\n * @group Props\n */\n @Input() ariaLabel: string | undefined;\n /**\n * Specifies one or more IDs in the DOM that labels the input field.\n * @group Props\n */\n @Input() ariaLabelledBy: string | undefined;\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n @Input({ transform: numberAttribute }) tabindex: number = 0;\n /**\n * Background of the value.\n * @group Props\n */\n @Input() valueColor: string = $dt('knob.value.background').variable;\n /**\n * Background color of the range.\n * @group Props\n */\n @Input() rangeColor: string = $dt('knob.range.background').variable;\n /**\n * Color of the value text.\n * @group Props\n */\n @Input() textColor: string = $dt('knob.text.color').variable;\n /**\n * Template string of the value.\n * @group Props\n */\n @Input() valueTemplate: string = '{value}';\n /**\n * Size of the component in pixels.\n * @group Props\n */\n @Input({ transform: numberAttribute }) size: number = 100;\n /**\n * Mininum boundary value.\n * @group Props\n */\n @Input({ transform: numberAttribute }) min: number = 0;\n /**\n * Maximum boundary value.\n * @group Props\n */\n @Input({ transform: numberAttribute }) max: number = 100;\n /**\n * Step factor to increment/decrement the value.\n * @group Props\n */\n @Input({ transform: numberAttribute }) step: number = 1;\n /**\n * Width of the knob stroke.\n * @group Props\n */\n @Input({ transform: numberAttribute }) strokeWidth: number = 14;\n /**\n * Whether the show the value inside the knob.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showValue: boolean = true;\n /**\n * When present, it specifies that the component value cannot be edited.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) readonly: boolean = false;\n /**\n * Callback to invoke on value change.\n * @param {number} value - New value.\n * @group Emits\n */\n @Output() onChange: EventEmitter<number> = new EventEmitter<number>();\n\n radius: number = 40;\n\n midX: number = 50;\n\n midY: number = 50;\n\n minRadians: number = (4 * Math.PI) / 3;\n\n maxRadians: number = -Math.PI / 3;\n\n value: number = 0;\n\n windowMouseMoveListener: VoidListener;\n\n windowMouseUpListener: VoidListener;\n\n windowTouchMoveListener: VoidListener;\n\n windowTouchEndListener: VoidListener;\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n _componentStyle = inject(KnobStyle);\n\n mapRange(x: number, inMin: number, inMax: number, outMin: number, outMax: number) {\n return ((x - inMin) * (outMax - outMin)) / (inMax - inMin) + outMin;\n }\n\n onClick(event: MouseEvent) {\n if (!this.disabled() && !this.readonly) {\n this.updateValue(event.offsetX, event.offsetY);\n }\n }\n\n updateValue(offsetX: number, offsetY: number) {\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 this.updateModel(angle, start);\n }\n\n updateModel(angle: number, start: number) {\n let mappedValue;\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 this.value = newValue;\n this.writeModelValue(this.value);\n this.onModelChange(this.value);\n this.onChange.emit(this.value);\n }\n\n onMouseDown(event: MouseEvent) {\n if (!this.disabled() && !this.readonly) {\n const window = this.document.defaultView || 'window';\n this.windowMouseMoveListener = this.renderer.listen(window, 'mousemove', this.onMouseMove.bind(this));\n this.windowMouseUpListener = this.renderer.listen(window, 'mouseup', this.onMouseUp.bind(this));\n event.preventDefault();\n }\n }\n\n onMouseUp(event: MouseEvent) {\n if (!this.disabled() && !this.readonly) {\n if (this.windowMouseMoveListener) {\n this.windowMouseMoveListener();\n this.windowMouseUpListener = null;\n }\n\n if (this.windowMouseUpListener) {\n this.windowMouseUpListener();\n this.windowMouseMoveListener = null;\n }\n event.preventDefault();\n }\n }\n\n onTouchStart(event: TouchEvent) {\n if (!this.disabled() && !this.readonly) {\n const window = this.document.defaultView || 'window';\n this.windowTouchMoveListener = this.renderer.listen(window, 'touchmove', this.onTouchMove.bind(this));\n this.windowTouchEndListener = this.renderer.listen(window, 'touchend', this.onTouchEnd.bind(this));\n event.preventDefault();\n }\n }\n\n onTouchEnd(event: TouchEvent) {\n if (!this.disabled() && !this.readonly) {\n if (this.windowTouchMoveListener) {\n this.windowTouchMoveListener();\n }\n if (this.windowTouchEndListener) {\n this.windowTouchEndListener();\n }\n this.windowTouchMoveListener = null;\n this.windowTouchEndListener = null;\n event.preventDefault();\n }\n }\n\n onMouseMove(event: MouseEvent) {\n if (!this.disabled() && !this.readonly) {\n this.updateValue(event.offsetX, event.offsetY);\n event.preventDefault();\n }\n }\n\n onTouchMove(event: Event) {\n if (!this.disabled() && !this.readonly && event instanceof TouchEvent && event.touches.length === 1) {\n const rect = this.el.nativeElement.children[0].getBoundingClientRect();\n const touch = event.targetTouches.item(0);\n if (touch) {\n const offsetX = touch.clientX - rect.left;\n const offsetY = touch.clientY - rect.top;\n this.updateValue(offsetX, offsetY);\n }\n }\n }\n\n updateModelValue(newValue) {\n if (newValue > this.max) this.value = this.max;\n else if (newValue < this.min) this.value = this.min;\n else this.value = newValue;\n\n this.writeModelValue(this.value);\n this.onModelChange(this.value);\n this.onChange.emit(this.value);\n }\n\n onKeyDown(event: KeyboardEvent) {\n if (!this.disabled() && !this.readonly) {\n switch (event.code) {\n case 'ArrowRight':\n\n case 'ArrowUp': {\n event.preventDefault();\n this.updateModelValue(this._value + 1);\n break;\n }\n\n case 'ArrowLeft':\n\n case 'ArrowDown': {\n event.preventDefault();\n this.updateModelValue(this._value - 1);\n break;\n }\n\n case 'Home': {\n event.preventDefault();\n this.updateModelValue(this.min);\n\n break;\n }\n\n case 'End': {\n event.preventDefault();\n this.updateModelValue(this.max);\n break;\n }\n\n case 'PageUp': {\n event.preventDefault();\n this.updateModelValue(this._value + 10);\n break;\n }\n\n case 'PageDown': {\n event.preventDefault();\n this.updateModelValue(this._value - 10);\n break;\n }\n }\n }\n }\n\n writeValue(value: any): void {\n this.value = value;\n this.writeModelValue(this.value);\n this.cd.markForCheck();\n }\n\n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n\n rangePath() {\n return `M ${this.minX()} ${this.minY()} A ${this.radius} ${this.radius} 0 1 1 ${this.maxX()} ${this.maxY()}`;\n }\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\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\n valueRadians() {\n return this.mapRange(this._value, this.min, this.max, this.minRadians, this.maxRadians);\n }\n\n minX() {\n return this.midX + Math.cos(this.minRadians) * this.radius;\n }\n\n minY() {\n return this.midY - Math.sin(this.minRadians) * this.radius;\n }\n\n maxX() {\n return this.midX + Math.cos(this.maxRadians) * this.radius;\n }\n\n maxY() {\n return this.midY - Math.sin(this.maxRadians) * this.radius;\n }\n\n zeroX() {\n return this.midX + Math.cos(this.zeroRadians()) * this.radius;\n }\n\n zeroY() {\n return this.midY - Math.sin(this.zeroRadians()) * this.radius;\n }\n\n valueX() {\n return this.midX + Math.cos(this.valueRadians()) * this.radius;\n }\n\n valueY() {\n return this.midY - Math.sin(this.valueRadians()) * this.radius;\n }\n\n largeArc() {\n return Math.abs(this.zeroRadians() - this.valueRadians()) < Math.PI ? 0 : 1;\n }\n\n sweep() {\n return this.valueRadians() > this.zeroRadians() ? 0 : 1;\n }\n\n valueToDisplay() {\n return this.valueTemplate.replace('{value}', this._value.toString());\n }\n\n get _value(): number {\n return this.value != null ? this.value : this.min;\n }\n}\n\n@NgModule({\n imports: [Knob, SharedModule],\n exports: [Knob, SharedModule]\n})\nexport class KnobModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"primeng-knob.mjs","sources":["../../src/knob/style/knobstyle.ts","../../src/knob/knob.ts","../../src/knob/primeng-knob.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style } from '@primeuix/styles/knob';\nimport { BaseStyle } from 'primeng/base';\n\nconst classes = {\n root: ({ instance }) => ['p-knob p-component', { 'p-disabled': instance.$disabled() }],\n range: 'p-knob-range',\n value: 'p-knob-value',\n text: 'p-knob-text'\n};\n\n@Injectable()\nexport class KnobStyle extends BaseStyle {\n name = 'knob';\n\n theme = style;\n\n classes = classes;\n}\n\n/**\n *\n * Knob is a form component to define number inputs with a dial.\n *\n * [Live Demo](https://www.primeng.org/knob/)\n *\n * @module knobstyle\n *\n */\nexport enum KnobClasses {\n /**\n * Class name of the root element\n */\n root = 'p-knob',\n /**\n * Class name of the range element\n */\n range = 'p-knob-range',\n /**\n * Class name of the value element\n */\n value = 'p-knob-value',\n /**\n * Class name of the text element\n */\n text = 'p-knob-text'\n}\n\nexport interface KnobStyle extends BaseStyle {}\n","import { CommonModule } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, EventEmitter, forwardRef, inject, Input, NgModule, numberAttribute, Output, ViewEncapsulation } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { $dt } from '@primeuix/styled';\nimport { SharedModule } from 'primeng/api';\nimport { BaseEditableHolder } from 'primeng/baseeditableholder';\nimport { VoidListener } from 'primeng/ts-helpers';\nimport { KnobStyle } from './style/knobstyle';\n\nexport const KNOB_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => Knob),\n multi: true\n};\n/**\n * Knob is a form component to define number inputs with a dial.\n * @group Components\n */\n@Component({\n selector: 'p-knob',\n standalone: true,\n imports: [CommonModule, SharedModule],\n template: `\n <svg\n viewBox=\"0 0 100 100\"\n role=\"slider\"\n [style.width]=\"size + 'px'\"\n [style.height]=\"size + 'px'\"\n (click)=\"onClick($event)\"\n (keydown)=\"onKeyDown($event)\"\n (mousedown)=\"onMouseDown($event)\"\n (mouseup)=\"onMouseUp($event)\"\n (touchstart)=\"onTouchStart($event)\"\n (touchend)=\"onTouchEnd($event)\"\n [attr.aria-valuemin]=\"min\"\n [attr.aria-valuemax]=\"max\"\n [attr.required]=\"required() ? '' : undefined\"\n [attr.aria-valuenow]=\"_value\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.tabindex]=\"readonly || $disabled() ? -1 : tabindex\"\n [attr.data-pc-section]=\"'svg'\"\n >\n <path [attr.d]=\"rangePath()\" [attr.stroke-width]=\"strokeWidth\" [attr.stroke]=\"rangeColor\" [class]=\"cx('range')\"></path>\n <path [attr.d]=\"valuePath()\" [attr.stroke-width]=\"strokeWidth\" [attr.stroke]=\"valueColor\" [class]=\"cx('value')\"></path>\n <text *ngIf=\"showValue\" [attr.x]=\"50\" [attr.y]=\"57\" text-anchor=\"middle\" [attr.fill]=\"textColor\" [class]=\"cx('text')\" [attr.name]=\"name()\">\n {{ valueToDisplay() }}\n </text>\n </svg>\n `,\n providers: [KNOB_VALUE_ACCESSOR, KnobStyle],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[attr.data-pc-name]': \"'knob'\",\n '[attr.data-pc-section]': \"'root'\",\n '[class]': \"cn(cx('root'), styleClass)\"\n }\n})\nexport class Knob extends BaseEditableHolder {\n /**\n * Style class of the component.\n * @deprecated since v20.0.0, use `class` instead.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Defines a string that labels the input for accessibility.\n * @group Props\n */\n @Input() ariaLabel: string | undefined;\n /**\n * Specifies one or more IDs in the DOM that labels the input field.\n * @group Props\n */\n @Input() ariaLabelledBy: string | undefined;\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n @Input({ transform: numberAttribute }) tabindex: number = 0;\n /**\n * Background of the value.\n * @group Props\n */\n @Input() valueColor: string = $dt('knob.value.background').variable;\n /**\n * Background color of the range.\n * @group Props\n */\n @Input() rangeColor: string = $dt('knob.range.background').variable;\n /**\n * Color of the value text.\n * @group Props\n */\n @Input() textColor: string = $dt('knob.text.color').variable;\n /**\n * Template string of the value.\n * @group Props\n */\n @Input() valueTemplate: string = '{value}';\n /**\n * Size of the component in pixels.\n * @group Props\n */\n @Input({ transform: numberAttribute }) size: number = 100;\n /**\n * Mininum boundary value.\n * @group Props\n */\n @Input({ transform: numberAttribute }) min: number = 0;\n /**\n * Maximum boundary value.\n * @group Props\n */\n @Input({ transform: numberAttribute }) max: number = 100;\n /**\n * Step factor to increment/decrement the value.\n * @group Props\n */\n @Input({ transform: numberAttribute }) step: number = 1;\n /**\n * Width of the knob stroke.\n * @group Props\n */\n @Input({ transform: numberAttribute }) strokeWidth: number = 14;\n /**\n * Whether the show the value inside the knob.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showValue: boolean = true;\n /**\n * When present, it specifies that the component value cannot be edited.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) readonly: boolean = false;\n /**\n * Callback to invoke on value change.\n * @param {number} value - New value.\n * @group Emits\n */\n @Output() onChange: EventEmitter<number> = new EventEmitter<number>();\n\n radius: number = 40;\n\n midX: number = 50;\n\n midY: number = 50;\n\n minRadians: number = (4 * Math.PI) / 3;\n\n maxRadians: number = -Math.PI / 3;\n\n value: number = 0;\n\n windowMouseMoveListener: VoidListener;\n\n windowMouseUpListener: VoidListener;\n\n windowTouchMoveListener: VoidListener;\n\n windowTouchEndListener: VoidListener;\n\n _componentStyle = inject(KnobStyle);\n\n mapRange(x: number, inMin: number, inMax: number, outMin: number, outMax: number) {\n return ((x - inMin) * (outMax - outMin)) / (inMax - inMin) + outMin;\n }\n\n onClick(event: MouseEvent) {\n if (!this.$disabled() && !this.readonly) {\n this.updateValue(event.offsetX, event.offsetY);\n }\n }\n\n updateValue(offsetX: number, offsetY: number) {\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 this.updateModel(angle, start);\n }\n\n updateModel(angle: number, start: number) {\n let mappedValue;\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 this.value = newValue;\n this.writeModelValue(this.value);\n this.onModelChange(this.value);\n this.onChange.emit(this.value);\n }\n\n onMouseDown(event: MouseEvent) {\n if (!this.$disabled() && !this.readonly) {\n const window = this.document.defaultView || 'window';\n this.windowMouseMoveListener = this.renderer.listen(window, 'mousemove', this.onMouseMove.bind(this));\n this.windowMouseUpListener = this.renderer.listen(window, 'mouseup', this.onMouseUp.bind(this));\n event.preventDefault();\n }\n }\n\n onMouseUp(event: MouseEvent) {\n if (!this.$disabled() && !this.readonly) {\n if (this.windowMouseMoveListener) {\n this.windowMouseMoveListener();\n this.windowMouseUpListener = null;\n }\n\n if (this.windowMouseUpListener) {\n this.windowMouseUpListener();\n this.windowMouseMoveListener = null;\n }\n event.preventDefault();\n }\n }\n\n onTouchStart(event: TouchEvent) {\n if (!this.$disabled() && !this.readonly) {\n const window = this.document.defaultView || 'window';\n this.windowTouchMoveListener = this.renderer.listen(window, 'touchmove', this.onTouchMove.bind(this));\n this.windowTouchEndListener = this.renderer.listen(window, 'touchend', this.onTouchEnd.bind(this));\n event.preventDefault();\n }\n }\n\n onTouchEnd(event: TouchEvent) {\n if (!this.$disabled() && !this.readonly) {\n if (this.windowTouchMoveListener) {\n this.windowTouchMoveListener();\n }\n if (this.windowTouchEndListener) {\n this.windowTouchEndListener();\n }\n this.windowTouchMoveListener = null;\n this.windowTouchEndListener = null;\n event.preventDefault();\n }\n }\n\n onMouseMove(event: MouseEvent) {\n if (!this.$disabled() && !this.readonly) {\n this.updateValue(event.offsetX, event.offsetY);\n event.preventDefault();\n }\n }\n\n onTouchMove(event: Event) {\n if (!this.$disabled() && !this.readonly && event instanceof TouchEvent && event.touches.length === 1) {\n const rect = this.el.nativeElement.children[0].getBoundingClientRect();\n const touch = event.targetTouches.item(0);\n if (touch) {\n const offsetX = touch.clientX - rect.left;\n const offsetY = touch.clientY - rect.top;\n this.updateValue(offsetX, offsetY);\n }\n }\n }\n\n updateModelValue(newValue) {\n if (newValue > this.max) this.value = this.max;\n else if (newValue < this.min) this.value = this.min;\n else this.value = newValue;\n\n this.writeModelValue(this.value);\n this.onModelChange(this.value);\n this.onChange.emit(this.value);\n }\n\n onKeyDown(event: KeyboardEvent) {\n if (!this.$disabled() && !this.readonly) {\n switch (event.code) {\n case 'ArrowRight':\n\n case 'ArrowUp': {\n event.preventDefault();\n this.updateModelValue(this._value + 1);\n break;\n }\n\n case 'ArrowLeft':\n\n case 'ArrowDown': {\n event.preventDefault();\n this.updateModelValue(this._value - 1);\n break;\n }\n\n case 'Home': {\n event.preventDefault();\n this.updateModelValue(this.min);\n\n break;\n }\n\n case 'End': {\n event.preventDefault();\n this.updateModelValue(this.max);\n break;\n }\n\n case 'PageUp': {\n event.preventDefault();\n this.updateModelValue(this._value + 10);\n break;\n }\n\n case 'PageDown': {\n event.preventDefault();\n this.updateModelValue(this._value - 10);\n break;\n }\n }\n }\n }\n\n rangePath() {\n return `M ${this.minX()} ${this.minY()} A ${this.radius} ${this.radius} 0 1 1 ${this.maxX()} ${this.maxY()}`;\n }\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\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\n valueRadians() {\n return this.mapRange(this._value, this.min, this.max, this.minRadians, this.maxRadians);\n }\n\n minX() {\n return this.midX + Math.cos(this.minRadians) * this.radius;\n }\n\n minY() {\n return this.midY - Math.sin(this.minRadians) * this.radius;\n }\n\n maxX() {\n return this.midX + Math.cos(this.maxRadians) * this.radius;\n }\n\n maxY() {\n return this.midY - Math.sin(this.maxRadians) * this.radius;\n }\n\n zeroX() {\n return this.midX + Math.cos(this.zeroRadians()) * this.radius;\n }\n\n zeroY() {\n return this.midY - Math.sin(this.zeroRadians()) * this.radius;\n }\n\n valueX() {\n return this.midX + Math.cos(this.valueRadians()) * this.radius;\n }\n\n valueY() {\n return this.midY - Math.sin(this.valueRadians()) * this.radius;\n }\n\n largeArc() {\n return Math.abs(this.zeroRadians() - this.valueRadians()) < Math.PI ? 0 : 1;\n }\n\n sweep() {\n return this.valueRadians() > this.zeroRadians() ? 0 : 1;\n }\n\n valueToDisplay() {\n return this.valueTemplate.replace('{value}', this._value.toString());\n }\n\n get _value(): number {\n return this.value != null ? this.value : this.min;\n }\n\n /**\n * @override\n *\n * @see {@link BaseEditableHolder.writeControlValue}\n * Writes the value to the control.\n */\n writeControlValue(value: any, setModelValue: (value: any) => void): void {\n this.value = value;\n setModelValue(this.value);\n this.cd.markForCheck();\n }\n}\n\n@NgModule({\n imports: [Knob, SharedModule],\n exports: [Knob, SharedModule]\n})\nexport class KnobModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}