@primereact/mcp 11.0.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (546) hide show
  1. package/LICENSE.md +45 -0
  2. package/README.md +94 -0
  3. package/data/llms/headless/add-ons/introduction.md +16 -0
  4. package/data/llms/headless/components/accordion/api.json +252 -0
  5. package/data/llms/headless/components/accordion.md +196 -0
  6. package/data/llms/headless/components/animateonscroll/api.json +88 -0
  7. package/data/llms/headless/components/animateonscroll.md +141 -0
  8. package/data/llms/headless/components/autocomplete/api.json +787 -0
  9. package/data/llms/headless/components/autocomplete.md +249 -0
  10. package/data/llms/headless/components/avatar/api.json +154 -0
  11. package/data/llms/headless/components/avatar.md +149 -0
  12. package/data/llms/headless/components/badge/api.json +68 -0
  13. package/data/llms/headless/components/badge.md +150 -0
  14. package/data/llms/headless/components/breadcrumb/api.json +142 -0
  15. package/data/llms/headless/components/breadcrumb.md +149 -0
  16. package/data/llms/headless/components/button/api.json +62 -0
  17. package/data/llms/headless/components/button.md +73 -0
  18. package/data/llms/headless/components/card/api.json +36 -0
  19. package/data/llms/headless/components/card.md +96 -0
  20. package/data/llms/headless/components/carousel/api.json +793 -0
  21. package/data/llms/headless/components/carousel.md +196 -0
  22. package/data/llms/headless/components/checkbox/api.json +593 -0
  23. package/data/llms/headless/components/checkbox.md +184 -0
  24. package/data/llms/headless/components/chip/api.json +107 -0
  25. package/data/llms/headless/components/chip.md +141 -0
  26. package/data/llms/headless/components/collapsible/api.json +301 -0
  27. package/data/llms/headless/components/collapsible.md +136 -0
  28. package/data/llms/headless/components/compare/api.json +533 -0
  29. package/data/llms/headless/components/compare.md +142 -0
  30. package/data/llms/headless/components/contextmenu/api.json +495 -0
  31. package/data/llms/headless/components/contextmenu.md +282 -0
  32. package/data/llms/headless/components/datatable/api.json +1680 -0
  33. package/data/llms/headless/components/datatable.md +258 -0
  34. package/data/llms/headless/components/dataview/api.json +199 -0
  35. package/data/llms/headless/components/dataview.md +147 -0
  36. package/data/llms/headless/components/datepicker/api.json +2796 -0
  37. package/data/llms/headless/components/datepicker.md +456 -0
  38. package/data/llms/headless/components/dialog/api.json +626 -0
  39. package/data/llms/headless/components/dialog.md +280 -0
  40. package/data/llms/headless/components/divider/api.json +130 -0
  41. package/data/llms/headless/components/divider.md +92 -0
  42. package/data/llms/headless/components/drawer/api.json +425 -0
  43. package/data/llms/headless/components/drawer.md +220 -0
  44. package/data/llms/headless/components/fieldset/api.json +195 -0
  45. package/data/llms/headless/components/fieldset.md +154 -0
  46. package/data/llms/headless/components/fileupload/api.json +905 -0
  47. package/data/llms/headless/components/fileupload.md +323 -0
  48. package/data/llms/headless/components/floatlabel/api.json +36 -0
  49. package/data/llms/headless/components/floatlabel.md +19 -0
  50. package/data/llms/headless/components/fluid/api.json +36 -0
  51. package/data/llms/headless/components/fluid.md +19 -0
  52. package/data/llms/headless/components/focustrap/api.json +135 -0
  53. package/data/llms/headless/components/focustrap.md +125 -0
  54. package/data/llms/headless/components/gallery/api.json +1349 -0
  55. package/data/llms/headless/components/gallery.md +355 -0
  56. package/data/llms/headless/components/iconfield/api.json +62 -0
  57. package/data/llms/headless/components/iconfield.md +19 -0
  58. package/data/llms/headless/components/iftalabel/api.json +62 -0
  59. package/data/llms/headless/components/iftalabel.md +19 -0
  60. package/data/llms/headless/components/inplace/api.json +340 -0
  61. package/data/llms/headless/components/inplace.md +153 -0
  62. package/data/llms/headless/components/inputcolor/api.json +469 -0
  63. package/data/llms/headless/components/inputcolor.md +253 -0
  64. package/data/llms/headless/components/inputgroup/api.json +62 -0
  65. package/data/llms/headless/components/inputgroup.md +19 -0
  66. package/data/llms/headless/components/inputnumber/api.json +554 -0
  67. package/data/llms/headless/components/inputnumber.md +167 -0
  68. package/data/llms/headless/components/inputotp/api.json +276 -0
  69. package/data/llms/headless/components/inputotp.md +130 -0
  70. package/data/llms/headless/components/inputpassword/api.json +180 -0
  71. package/data/llms/headless/components/inputpassword.md +117 -0
  72. package/data/llms/headless/components/inputtags/api.json +497 -0
  73. package/data/llms/headless/components/inputtags.md +298 -0
  74. package/data/llms/headless/components/inputtext/api.json +81 -0
  75. package/data/llms/headless/components/inputtext.md +109 -0
  76. package/data/llms/headless/components/knob/api.json +429 -0
  77. package/data/llms/headless/components/knob.md +151 -0
  78. package/data/llms/headless/components/label/api.json +62 -0
  79. package/data/llms/headless/components/label.md +19 -0
  80. package/data/llms/headless/components/listbox/api.json +814 -0
  81. package/data/llms/headless/components/listbox.md +194 -0
  82. package/data/llms/headless/components/menu/api.json +1247 -0
  83. package/data/llms/headless/components/menu.md +283 -0
  84. package/data/llms/headless/components/message/api.json +131 -0
  85. package/data/llms/headless/components/message.md +143 -0
  86. package/data/llms/headless/components/metergroup/api.json +266 -0
  87. package/data/llms/headless/components/metergroup.md +129 -0
  88. package/data/llms/headless/components/motion/api.json +237 -0
  89. package/data/llms/headless/components/motion.md +160 -0
  90. package/data/llms/headless/components/navigationmenu/api.json +220 -0
  91. package/data/llms/headless/components/navigationmenu.md +166 -0
  92. package/data/llms/headless/components/orderlist/api.json +196 -0
  93. package/data/llms/headless/components/orderlist.md +221 -0
  94. package/data/llms/headless/components/organizationchart/api.json +372 -0
  95. package/data/llms/headless/components/organizationchart.md +254 -0
  96. package/data/llms/headless/components/paginator/api.json +311 -0
  97. package/data/llms/headless/components/paginator.md +187 -0
  98. package/data/llms/headless/components/panel/api.json +195 -0
  99. package/data/llms/headless/components/panel.md +150 -0
  100. package/data/llms/headless/components/picklist/api.json +293 -0
  101. package/data/llms/headless/components/picklist.md +270 -0
  102. package/data/llms/headless/components/popover/api.json +405 -0
  103. package/data/llms/headless/components/popover.md +301 -0
  104. package/data/llms/headless/components/portal/api.json +56 -0
  105. package/data/llms/headless/components/portal.md +102 -0
  106. package/data/llms/headless/components/positioner/api.json +165 -0
  107. package/data/llms/headless/components/positioner.md +181 -0
  108. package/data/llms/headless/components/progressbar/api.json +87 -0
  109. package/data/llms/headless/components/progressbar.md +122 -0
  110. package/data/llms/headless/components/progressspinner/api.json +337 -0
  111. package/data/llms/headless/components/progressspinner.md +128 -0
  112. package/data/llms/headless/components/radiobutton/api.json +569 -0
  113. package/data/llms/headless/components/radiobutton.md +195 -0
  114. package/data/llms/headless/components/rating/api.json +347 -0
  115. package/data/llms/headless/components/rating.md +181 -0
  116. package/data/llms/headless/components/scrollarea/api.json +730 -0
  117. package/data/llms/headless/components/scrollarea.md +232 -0
  118. package/data/llms/headless/components/select/api.json +829 -0
  119. package/data/llms/headless/components/select.md +262 -0
  120. package/data/llms/headless/components/sidebar/api.json +433 -0
  121. package/data/llms/headless/components/sidebar.md +266 -0
  122. package/data/llms/headless/components/skeleton/api.json +68 -0
  123. package/data/llms/headless/components/skeleton.md +95 -0
  124. package/data/llms/headless/components/slider/api.json +559 -0
  125. package/data/llms/headless/components/slider.md +158 -0
  126. package/data/llms/headless/components/speeddial/api.json +459 -0
  127. package/data/llms/headless/components/speeddial.md +181 -0
  128. package/data/llms/headless/components/splitter/api.json +582 -0
  129. package/data/llms/headless/components/splitter.md +159 -0
  130. package/data/llms/headless/components/stepper/api.json +385 -0
  131. package/data/llms/headless/components/stepper.md +183 -0
  132. package/data/llms/headless/components/styleclass/api.json +134 -0
  133. package/data/llms/headless/components/styleclass.md +129 -0
  134. package/data/llms/headless/components/tabs/api.json +336 -0
  135. package/data/llms/headless/components/tabs.md +158 -0
  136. package/data/llms/headless/components/tag/api.json +62 -0
  137. package/data/llms/headless/components/tag.md +121 -0
  138. package/data/llms/headless/components/terminal/api.json +117 -0
  139. package/data/llms/headless/components/terminal.md +183 -0
  140. package/data/llms/headless/components/textarea/api.json +81 -0
  141. package/data/llms/headless/components/textarea.md +110 -0
  142. package/data/llms/headless/components/timeline/api.json +270 -0
  143. package/data/llms/headless/components/timeline.md +117 -0
  144. package/data/llms/headless/components/toast/api.json +455 -0
  145. package/data/llms/headless/components/toast.md +277 -0
  146. package/data/llms/headless/components/togglebutton/api.json +357 -0
  147. package/data/llms/headless/components/togglebutton.md +183 -0
  148. package/data/llms/headless/components/toggleswitch/api.json +326 -0
  149. package/data/llms/headless/components/toggleswitch.md +164 -0
  150. package/data/llms/headless/components/toolbar/api.json +68 -0
  151. package/data/llms/headless/components/toolbar.md +96 -0
  152. package/data/llms/headless/components/tooltip/api.json +478 -0
  153. package/data/llms/headless/components/tooltip.md +233 -0
  154. package/data/llms/headless/components/tree/api.json +1297 -0
  155. package/data/llms/headless/components/tree.md +297 -0
  156. package/data/llms/headless/components/treetable/api.json +1680 -0
  157. package/data/llms/headless/components/treetable.md +177 -0
  158. package/data/llms/headless/guides/ai/llms.md +25 -0
  159. package/data/llms/headless/guides/installation.md +126 -0
  160. package/data/llms/headless/guides/introduction.md +20 -0
  161. package/data/llms/headless/guides/misc/accessibility.md +228 -0
  162. package/data/llms/headless/llms.md +25 -0
  163. package/data/llms/headless/resources/introduction.md +15 -0
  164. package/data/llms/hooks/gettingstarted/introduction.md +34 -0
  165. package/data/llms/hooks/gettingstarted/setup.md +54 -0
  166. package/data/llms/hooks/use-attr-selector.md +25 -0
  167. package/data/llms/hooks/use-controlled-state.md +31 -0
  168. package/data/llms/hooks/use-event-listener.md +37 -0
  169. package/data/llms/hooks/use-filter.md +312 -0
  170. package/data/llms/hooks/use-hot-key.md +40 -0
  171. package/data/llms/hooks/use-id.md +24 -0
  172. package/data/llms/hooks/use-intersection-observer.md +42 -0
  173. package/data/llms/hooks/use-is-mobile.md +24 -0
  174. package/data/llms/hooks/use-key-filter.md +139 -0
  175. package/data/llms/hooks/use-local-storage.md +28 -0
  176. package/data/llms/hooks/use-mask.md +53 -0
  177. package/data/llms/hooks/use-match-media.md +28 -0
  178. package/data/llms/hooks/use-mount-effect.md +25 -0
  179. package/data/llms/hooks/use-mounted.md +36 -0
  180. package/data/llms/hooks/use-number-formatter.md +48 -0
  181. package/data/llms/hooks/use-presence.md +44 -0
  182. package/data/llms/hooks/use-previous.md +28 -0
  183. package/data/llms/hooks/use-props.md +37 -0
  184. package/data/llms/hooks/use-queue-task.md +29 -0
  185. package/data/llms/hooks/use-scrolltop.md +87 -0
  186. package/data/llms/hooks/use-sortable-list.md +226 -0
  187. package/data/llms/hooks/use-tree-filter.md +216 -0
  188. package/data/llms/hooks/use-unmount-effect.md +23 -0
  189. package/data/llms/hooks/use-update-effect.md +27 -0
  190. package/data/llms/hooks/use-view-transition.md +31 -0
  191. package/data/llms/hooks/use-visibility-change.md +30 -0
  192. package/data/llms/llms-full.txt +125291 -0
  193. package/data/llms/llms.txt +379 -0
  194. package/data/llms/manifest.json +12409 -0
  195. package/data/llms/mcp-data.json +14481 -0
  196. package/data/llms/primitive/add-ons/introduction.md +16 -0
  197. package/data/llms/primitive/components/accordion/api.json +1411 -0
  198. package/data/llms/primitive/components/accordion.md +231 -0
  199. package/data/llms/primitive/components/animateonscroll/api.json +193 -0
  200. package/data/llms/primitive/components/animateonscroll.md +91 -0
  201. package/data/llms/primitive/components/autocomplete/api.json +3167 -0
  202. package/data/llms/primitive/components/autocomplete.md +344 -0
  203. package/data/llms/primitive/components/avatar/api.json +703 -0
  204. package/data/llms/primitive/components/avatar.md +134 -0
  205. package/data/llms/primitive/components/badge/api.json +363 -0
  206. package/data/llms/primitive/components/badge.md +118 -0
  207. package/data/llms/primitive/components/breadcrumb/api.json +1162 -0
  208. package/data/llms/primitive/components/breadcrumb.md +196 -0
  209. package/data/llms/primitive/components/button/api.json +246 -0
  210. package/data/llms/primitive/components/button.md +114 -0
  211. package/data/llms/primitive/components/buttongroup/api.json +168 -0
  212. package/data/llms/primitive/components/buttongroup.md +43 -0
  213. package/data/llms/primitive/components/card/api.json +1252 -0
  214. package/data/llms/primitive/components/card.md +159 -0
  215. package/data/llms/primitive/components/carousel/api.json +1374 -0
  216. package/data/llms/primitive/components/carousel.md +220 -0
  217. package/data/llms/primitive/components/checkbox/api.json +697 -0
  218. package/data/llms/primitive/components/checkbox.md +160 -0
  219. package/data/llms/primitive/components/checkboxgroup/api.json +252 -0
  220. package/data/llms/primitive/components/checkboxgroup.md +58 -0
  221. package/data/llms/primitive/components/chip/api.json +853 -0
  222. package/data/llms/primitive/components/chip.md +135 -0
  223. package/data/llms/primitive/components/collapsible/api.json +581 -0
  224. package/data/llms/primitive/components/collapsible.md +133 -0
  225. package/data/llms/primitive/components/compare/api.json +909 -0
  226. package/data/llms/primitive/components/compare.md +156 -0
  227. package/data/llms/primitive/components/contextmenu/api.json +3454 -0
  228. package/data/llms/primitive/components/contextmenu.md +483 -0
  229. package/data/llms/primitive/components/datatable/api.json +7832 -0
  230. package/data/llms/primitive/components/datatable.md +561 -0
  231. package/data/llms/primitive/components/dataview/api.json +819 -0
  232. package/data/llms/primitive/components/dataview.md +163 -0
  233. package/data/llms/primitive/components/datepicker/api.json +9055 -0
  234. package/data/llms/primitive/components/datepicker.md +760 -0
  235. package/data/llms/primitive/components/dialog/api.json +2491 -0
  236. package/data/llms/primitive/components/dialog.md +276 -0
  237. package/data/llms/primitive/components/divider/api.json +214 -0
  238. package/data/llms/primitive/components/divider.md +96 -0
  239. package/data/llms/primitive/components/drawer/api.json +1879 -0
  240. package/data/llms/primitive/components/drawer.md +220 -0
  241. package/data/llms/primitive/components/fieldset/api.json +1116 -0
  242. package/data/llms/primitive/components/fieldset.md +183 -0
  243. package/data/llms/primitive/components/fileupload/api.json +2445 -0
  244. package/data/llms/primitive/components/fileupload.md +282 -0
  245. package/data/llms/primitive/components/floatlabel/api.json +176 -0
  246. package/data/llms/primitive/components/floatlabel.md +47 -0
  247. package/data/llms/primitive/components/focustrap/api.json +241 -0
  248. package/data/llms/primitive/components/focustrap.md +93 -0
  249. package/data/llms/primitive/components/gallery/api.json +3622 -0
  250. package/data/llms/primitive/components/gallery.md +387 -0
  251. package/data/llms/primitive/components/iconfield/api.json +322 -0
  252. package/data/llms/primitive/components/iconfield.md +53 -0
  253. package/data/llms/primitive/components/iftalabel/api.json +177 -0
  254. package/data/llms/primitive/components/iftalabel.md +47 -0
  255. package/data/llms/primitive/components/inplace/api.json +783 -0
  256. package/data/llms/primitive/components/inplace.md +141 -0
  257. package/data/llms/primitive/components/inputcolor/api.json +2211 -0
  258. package/data/llms/primitive/components/inputcolor.md +295 -0
  259. package/data/llms/primitive/components/inputnumber/api.json +469 -0
  260. package/data/llms/primitive/components/inputnumber.md +99 -0
  261. package/data/llms/primitive/components/inputotp/api.json +469 -0
  262. package/data/llms/primitive/components/inputotp.md +121 -0
  263. package/data/llms/primitive/components/inputpassword/api.json +278 -0
  264. package/data/llms/primitive/components/inputpassword.md +84 -0
  265. package/data/llms/primitive/components/inputtags/api.json +407 -0
  266. package/data/llms/primitive/components/inputtags.md +243 -0
  267. package/data/llms/primitive/components/inputtext/api.json +207 -0
  268. package/data/llms/primitive/components/inputtext.md +81 -0
  269. package/data/llms/primitive/components/knob/api.json +841 -0
  270. package/data/llms/primitive/components/knob.md +148 -0
  271. package/data/llms/primitive/components/label/api.json +177 -0
  272. package/data/llms/primitive/components/label.md +44 -0
  273. package/data/llms/primitive/components/listbox/api.json +1741 -0
  274. package/data/llms/primitive/components/listbox.md +206 -0
  275. package/data/llms/primitive/components/menu/api.json +3836 -0
  276. package/data/llms/primitive/components/menu.md +479 -0
  277. package/data/llms/primitive/components/message/api.json +863 -0
  278. package/data/llms/primitive/components/message.md +151 -0
  279. package/data/llms/primitive/components/metergroup/api.json +1222 -0
  280. package/data/llms/primitive/components/metergroup.md +209 -0
  281. package/data/llms/primitive/components/motion.md +112 -0
  282. package/data/llms/primitive/components/navigationmenu/api.json +298 -0
  283. package/data/llms/primitive/components/navigationmenu.md +184 -0
  284. package/data/llms/primitive/components/organizationchart.md +133 -0
  285. package/data/llms/primitive/components/paginator/api.json +1637 -0
  286. package/data/llms/primitive/components/paginator.md +223 -0
  287. package/data/llms/primitive/components/panel/api.json +1270 -0
  288. package/data/llms/primitive/components/panel.md +186 -0
  289. package/data/llms/primitive/components/popover/api.json +2281 -0
  290. package/data/llms/primitive/components/popover.md +277 -0
  291. package/data/llms/primitive/components/portal/api.json +176 -0
  292. package/data/llms/primitive/components/portal.md +79 -0
  293. package/data/llms/primitive/components/progressbar/api.json +857 -0
  294. package/data/llms/primitive/components/progressbar.md +153 -0
  295. package/data/llms/primitive/components/progressspinner/api.json +725 -0
  296. package/data/llms/primitive/components/progressspinner.md +133 -0
  297. package/data/llms/primitive/components/radiobutton/api.json +929 -0
  298. package/data/llms/primitive/components/radiobutton.md +201 -0
  299. package/data/llms/primitive/components/rating/api.json +878 -0
  300. package/data/llms/primitive/components/rating.md +160 -0
  301. package/data/llms/primitive/components/scrollarea/api.json +1187 -0
  302. package/data/llms/primitive/components/scrollarea.md +255 -0
  303. package/data/llms/primitive/components/select/api.json +3167 -0
  304. package/data/llms/primitive/components/select.md +351 -0
  305. package/data/llms/primitive/components/sidebar/api.json +3699 -0
  306. package/data/llms/primitive/components/sidebar.md +444 -0
  307. package/data/llms/primitive/components/skeleton/api.json +213 -0
  308. package/data/llms/primitive/components/skeleton.md +80 -0
  309. package/data/llms/primitive/components/slider/api.json +1066 -0
  310. package/data/llms/primitive/components/slider.md +161 -0
  311. package/data/llms/primitive/components/speeddial/api.json +1002 -0
  312. package/data/llms/primitive/components/speeddial.md +197 -0
  313. package/data/llms/primitive/components/splitter/api.json +901 -0
  314. package/data/llms/primitive/components/splitter.md +137 -0
  315. package/data/llms/primitive/components/stepper/api.json +2102 -0
  316. package/data/llms/primitive/components/stepper.md +253 -0
  317. package/data/llms/primitive/components/styleclass.md +399 -0
  318. package/data/llms/primitive/components/tabs/api.json +1705 -0
  319. package/data/llms/primitive/components/tabs.md +200 -0
  320. package/data/llms/primitive/components/tag/api.json +189 -0
  321. package/data/llms/primitive/components/tag.md +100 -0
  322. package/data/llms/primitive/components/terminal/api.json +1709 -0
  323. package/data/llms/primitive/components/terminal.md +227 -0
  324. package/data/llms/primitive/components/textarea/api.json +213 -0
  325. package/data/llms/primitive/components/textarea.md +83 -0
  326. package/data/llms/primitive/components/timeline/api.json +1180 -0
  327. package/data/llms/primitive/components/timeline.md +185 -0
  328. package/data/llms/primitive/components/toast/api.json +2102 -0
  329. package/data/llms/primitive/components/toast.md +291 -0
  330. package/data/llms/primitive/components/togglebutton/api.json +433 -0
  331. package/data/llms/primitive/components/togglebutton.md +161 -0
  332. package/data/llms/primitive/components/togglebuttongroup/api.json +276 -0
  333. package/data/llms/primitive/components/togglebuttongroup.md +61 -0
  334. package/data/llms/primitive/components/toggleswitch/api.json +681 -0
  335. package/data/llms/primitive/components/toggleswitch.md +149 -0
  336. package/data/llms/primitive/components/toolbar/api.json +646 -0
  337. package/data/llms/primitive/components/toolbar.md +126 -0
  338. package/data/llms/primitive/components/tooltip/api.json +1534 -0
  339. package/data/llms/primitive/components/tooltip.md +202 -0
  340. package/data/llms/primitive/components/tree/api.json +2952 -0
  341. package/data/llms/primitive/components/tree.md +292 -0
  342. package/data/llms/primitive/components/treetable.md +187 -0
  343. package/data/llms/primitive/components/visuallyhidden/api.json +186 -0
  344. package/data/llms/primitive/components/visuallyhidden.md +87 -0
  345. package/data/llms/primitive/guides/ai/llms.md +25 -0
  346. package/data/llms/primitive/guides/icons/customicons.md +47 -0
  347. package/data/llms/primitive/guides/icons/primeicons.md +112 -0
  348. package/data/llms/primitive/guides/installation.md +115 -0
  349. package/data/llms/primitive/guides/introduction.md +20 -0
  350. package/data/llms/primitive/guides/misc/accessibility.md +215 -0
  351. package/data/llms/primitive/guides/misc/passthrough.md +95 -0
  352. package/data/llms/primitive/guides/misc/rtl.md +27 -0
  353. package/data/llms/primitive/llms.md +25 -0
  354. package/data/llms/primitive/resources/introduction.md +15 -0
  355. package/data/llms/styled/add-ons/introduction.md +16 -0
  356. package/data/llms/styled/components/accordion.md +735 -0
  357. package/data/llms/styled/components/animateonscroll.md +264 -0
  358. package/data/llms/styled/components/autocomplete.md +1597 -0
  359. package/data/llms/styled/components/avatar.md +313 -0
  360. package/data/llms/styled/components/badge.md +213 -0
  361. package/data/llms/styled/components/breadcrumb.md +461 -0
  362. package/data/llms/styled/components/button/api.json +246 -0
  363. package/data/llms/styled/components/button.md +641 -0
  364. package/data/llms/styled/components/buttongroup.md +614 -0
  365. package/data/llms/styled/components/card.md +228 -0
  366. package/data/llms/styled/components/carousel.md +388 -0
  367. package/data/llms/styled/components/checkbox.md +329 -0
  368. package/data/llms/styled/components/checkboxgroup.md +619 -0
  369. package/data/llms/styled/components/chip.md +300 -0
  370. package/data/llms/styled/components/compare.md +271 -0
  371. package/data/llms/styled/components/contextmenu.md +550 -0
  372. package/data/llms/styled/components/datatable.md +8259 -0
  373. package/data/llms/styled/components/dataview.md +907 -0
  374. package/data/llms/styled/components/datepicker.md +2807 -0
  375. package/data/llms/styled/components/dialog.md +1047 -0
  376. package/data/llms/styled/components/divider.md +207 -0
  377. package/data/llms/styled/components/drawer.md +470 -0
  378. package/data/llms/styled/components/fieldset.md +334 -0
  379. package/data/llms/styled/components/fileupload.md +747 -0
  380. package/data/llms/styled/components/floatlabel/api.json +210 -0
  381. package/data/llms/styled/components/floatlabel.md +231 -0
  382. package/data/llms/styled/components/fluid/api.json +204 -0
  383. package/data/llms/styled/components/fluid.md +177 -0
  384. package/data/llms/styled/components/focustrap.md +203 -0
  385. package/data/llms/styled/components/gallery.md +553 -0
  386. package/data/llms/styled/components/iconfield/api.json +382 -0
  387. package/data/llms/styled/components/iconfield.md +385 -0
  388. package/data/llms/styled/components/iftalabel/api.json +237 -0
  389. package/data/llms/styled/components/iftalabel.md +158 -0
  390. package/data/llms/styled/components/inplace.md +312 -0
  391. package/data/llms/styled/components/inputcolor.md +674 -0
  392. package/data/llms/styled/components/inputgroup/api.json +399 -0
  393. package/data/llms/styled/components/inputgroup.md +604 -0
  394. package/data/llms/styled/components/inputmask.md +282 -0
  395. package/data/llms/styled/components/inputnumber.md +563 -0
  396. package/data/llms/styled/components/inputotp.md +335 -0
  397. package/data/llms/styled/components/inputpassword.md +630 -0
  398. package/data/llms/styled/components/inputtags.md +727 -0
  399. package/data/llms/styled/components/inputtext.md +190 -0
  400. package/data/llms/styled/components/keyfilter.md +289 -0
  401. package/data/llms/styled/components/knob.md +305 -0
  402. package/data/llms/styled/components/label/api.json +237 -0
  403. package/data/llms/styled/components/label.md +224 -0
  404. package/data/llms/styled/components/listbox.md +807 -0
  405. package/data/llms/styled/components/menu.md +1175 -0
  406. package/data/llms/styled/components/message.md +570 -0
  407. package/data/llms/styled/components/metergroup.md +449 -0
  408. package/data/llms/styled/components/navigationmenu.md +926 -0
  409. package/data/llms/styled/components/orderlist.md +519 -0
  410. package/data/llms/styled/components/organizationchart/api.json +1457 -0
  411. package/data/llms/styled/components/organizationchart.md +791 -0
  412. package/data/llms/styled/components/overlaymanager.md +519 -0
  413. package/data/llms/styled/components/paginator.md +506 -0
  414. package/data/llms/styled/components/panel.md +394 -0
  415. package/data/llms/styled/components/picklist.md +1004 -0
  416. package/data/llms/styled/components/popover.md +372 -0
  417. package/data/llms/styled/components/progressbar.md +438 -0
  418. package/data/llms/styled/components/progressspinner.md +128 -0
  419. package/data/llms/styled/components/radiobutton.md +488 -0
  420. package/data/llms/styled/components/rating/api.json +766 -0
  421. package/data/llms/styled/components/rating.md +518 -0
  422. package/data/llms/styled/components/scrollarea.md +627 -0
  423. package/data/llms/styled/components/select.md +2122 -0
  424. package/data/llms/styled/components/sidebar.md +1587 -0
  425. package/data/llms/styled/components/skeleton.md +226 -0
  426. package/data/llms/styled/components/slider.md +453 -0
  427. package/data/llms/styled/components/speeddial.md +723 -0
  428. package/data/llms/styled/components/splitter.md +536 -0
  429. package/data/llms/styled/components/stepper.md +614 -0
  430. package/data/llms/styled/components/tabs.md +543 -0
  431. package/data/llms/styled/components/tag.md +263 -0
  432. package/data/llms/styled/components/terminal.md +543 -0
  433. package/data/llms/styled/components/textarea.md +257 -0
  434. package/data/llms/styled/components/timeline.md +620 -0
  435. package/data/llms/styled/components/toast.md +1013 -0
  436. package/data/llms/styled/components/togglebutton.md +287 -0
  437. package/data/llms/styled/components/togglebuttongroup.md +328 -0
  438. package/data/llms/styled/components/toggleswitch.md +262 -0
  439. package/data/llms/styled/components/toolbar.md +187 -0
  440. package/data/llms/styled/components/tooltip.md +430 -0
  441. package/data/llms/styled/components/tree.md +1386 -0
  442. package/data/llms/styled/components/treetable.md +6842 -0
  443. package/data/llms/styled/guides/ai/llms.md +25 -0
  444. package/data/llms/styled/guides/configuration.md +151 -0
  445. package/data/llms/styled/guides/icons/customicons.md +47 -0
  446. package/data/llms/styled/guides/icons/primeicons.md +112 -0
  447. package/data/llms/styled/guides/installation/astro.md +97 -0
  448. package/data/llms/styled/guides/installation/manual.md +3 -0
  449. package/data/llms/styled/guides/installation/nextjs.md +129 -0
  450. package/data/llms/styled/guides/installation/react-router.md +88 -0
  451. package/data/llms/styled/guides/installation/tanstack.md +92 -0
  452. package/data/llms/styled/guides/installation/vite.md +91 -0
  453. package/data/llms/styled/guides/installation.md +42 -0
  454. package/data/llms/styled/guides/introduction.md +20 -0
  455. package/data/llms/styled/guides/misc/accessibility.md +211 -0
  456. package/data/llms/styled/guides/misc/animations.md +389 -0
  457. package/data/llms/styled/guides/misc/passthrough.md +95 -0
  458. package/data/llms/styled/guides/misc/rtl.md +27 -0
  459. package/data/llms/styled/guides/theming/styled.md +779 -0
  460. package/data/llms/styled/guides/theming/tailwind.md +473 -0
  461. package/data/llms/styled/guides/theming/unstyled.md +115 -0
  462. package/data/llms/styled/resources/introduction.md +15 -0
  463. package/data/llms/tailwind/add-ons/introduction.md +16 -0
  464. package/data/llms/tailwind/components/accordion.md +383 -0
  465. package/data/llms/tailwind/components/autocomplete.md +1346 -0
  466. package/data/llms/tailwind/components/avatar.md +305 -0
  467. package/data/llms/tailwind/components/badge.md +207 -0
  468. package/data/llms/tailwind/components/breadcrumb.md +387 -0
  469. package/data/llms/tailwind/components/button/api.json +246 -0
  470. package/data/llms/tailwind/components/button.md +617 -0
  471. package/data/llms/tailwind/components/buttongroup.md +599 -0
  472. package/data/llms/tailwind/components/card.md +224 -0
  473. package/data/llms/tailwind/components/carousel.md +329 -0
  474. package/data/llms/tailwind/components/checkbox.md +179 -0
  475. package/data/llms/tailwind/components/checkboxgroup.md +279 -0
  476. package/data/llms/tailwind/components/chip.md +304 -0
  477. package/data/llms/tailwind/components/compare.md +295 -0
  478. package/data/llms/tailwind/components/contextmenu.md +415 -0
  479. package/data/llms/tailwind/components/datatable.md +4062 -0
  480. package/data/llms/tailwind/components/dataview.md +864 -0
  481. package/data/llms/tailwind/components/datepicker.md +823 -0
  482. package/data/llms/tailwind/components/dialog.md +1216 -0
  483. package/data/llms/tailwind/components/divider.md +205 -0
  484. package/data/llms/tailwind/components/drawer.md +500 -0
  485. package/data/llms/tailwind/components/fieldset.md +326 -0
  486. package/data/llms/tailwind/components/fluid.md +117 -0
  487. package/data/llms/tailwind/components/iconfield.md +197 -0
  488. package/data/llms/tailwind/components/inplace.md +324 -0
  489. package/data/llms/tailwind/components/inputcolor.md +493 -0
  490. package/data/llms/tailwind/components/inputgroup.md +375 -0
  491. package/data/llms/tailwind/components/inputnumber.md +463 -0
  492. package/data/llms/tailwind/components/inputotp.md +255 -0
  493. package/data/llms/tailwind/components/inputpassword.md +543 -0
  494. package/data/llms/tailwind/components/inputtext.md +141 -0
  495. package/data/llms/tailwind/components/label.md +100 -0
  496. package/data/llms/tailwind/components/listbox.md +886 -0
  497. package/data/llms/tailwind/components/menu.md +1049 -0
  498. package/data/llms/tailwind/components/message.md +575 -0
  499. package/data/llms/tailwind/components/metergroup.md +510 -0
  500. package/data/llms/tailwind/components/navigationmenu.md +528 -0
  501. package/data/llms/tailwind/components/overlaymanager.md +567 -0
  502. package/data/llms/tailwind/components/paginator.md +306 -0
  503. package/data/llms/tailwind/components/panel.md +395 -0
  504. package/data/llms/tailwind/components/popover.md +424 -0
  505. package/data/llms/tailwind/components/progressbar.md +313 -0
  506. package/data/llms/tailwind/components/radiobutton.md +366 -0
  507. package/data/llms/tailwind/components/rating.md +300 -0
  508. package/data/llms/tailwind/components/scrollarea.md +638 -0
  509. package/data/llms/tailwind/components/select.md +1220 -0
  510. package/data/llms/tailwind/components/sidebar.md +1511 -0
  511. package/data/llms/tailwind/components/skeleton.md +236 -0
  512. package/data/llms/tailwind/components/slider.md +291 -0
  513. package/data/llms/tailwind/components/splitter.md +546 -0
  514. package/data/llms/tailwind/components/tabs.md +462 -0
  515. package/data/llms/tailwind/components/tag.md +255 -0
  516. package/data/llms/tailwind/components/textarea.md +170 -0
  517. package/data/llms/tailwind/components/timeline.md +656 -0
  518. package/data/llms/tailwind/components/toast.md +246 -0
  519. package/data/llms/tailwind/components/togglebutton.md +264 -0
  520. package/data/llms/tailwind/components/togglebuttongroup.md +262 -0
  521. package/data/llms/tailwind/components/toggleswitch.md +203 -0
  522. package/data/llms/tailwind/components/toolbar.md +192 -0
  523. package/data/llms/tailwind/components/tooltip.md +449 -0
  524. package/data/llms/tailwind/guides/ai/llms.md +25 -0
  525. package/data/llms/tailwind/guides/icons/customicons.md +47 -0
  526. package/data/llms/tailwind/guides/icons/primeicons.md +112 -0
  527. package/data/llms/tailwind/guides/installation/astro.md +165 -0
  528. package/data/llms/tailwind/guides/installation/manual.md +3 -0
  529. package/data/llms/tailwind/guides/installation/nextjs.md +169 -0
  530. package/data/llms/tailwind/guides/installation/react-router.md +157 -0
  531. package/data/llms/tailwind/guides/installation/tanstack.md +161 -0
  532. package/data/llms/tailwind/guides/installation/vite.md +160 -0
  533. package/data/llms/tailwind/guides/installation.md +42 -0
  534. package/data/llms/tailwind/guides/introduction.md +20 -0
  535. package/data/llms/tailwind/guides/misc/accessibility.md +205 -0
  536. package/data/llms/tailwind/guides/misc/passthrough.md +95 -0
  537. package/data/llms/tailwind/guides/misc/rtl.md +27 -0
  538. package/data/llms/tailwind/guides/theming/guide.md +179 -0
  539. package/data/llms/tailwind/guides/theming.md +191 -0
  540. package/data/llms/tailwind/llms.md +25 -0
  541. package/data/llms/tailwind/resources/introduction.md +15 -0
  542. package/data/manifest.json +12409 -0
  543. package/data/mcp-data.json +14481 -0
  544. package/dist/index.d.ts +9 -0
  545. package/dist/index.js +2 -0
  546. package/package.json +61 -0
@@ -0,0 +1,139 @@
1
+ # useKeyFilter
2
+
3
+ Block individual keystrokes that don't match a pattern, before they reach the input.
4
+
5
+ ## Usage
6
+
7
+ ```tsx
8
+ import { useKeyFilter } from '@primereact/hooks/use-key-filter';
9
+ ```
10
+
11
+ ```tsx
12
+ const { onBeforeInput, onKeyPress, onPaste } = useKeyFilter({ pattern: 'int' });
13
+
14
+ <InputText onBeforeInput={onBeforeInput} onKeyPress={onKeyPress} onPaste={onPaste} />;
15
+ ```
16
+
17
+ Spread the returned handlers onto a native input. Keystrokes and pastes that don't match the pattern are rejected before they change the value.
18
+
19
+ ## Signature
20
+
21
+ ```ts
22
+ function useKeyFilter(options: UseKeyFilterOptions): UseKeyFilterExposes;
23
+ ```
24
+
25
+ ## Options
26
+
27
+ - `pattern`, a preset name or a `RegExp`. Presets: `pint`, `int`, `pnum`, `num`, `money`, `hex`, `email`, `alpha`, `alphanum`.
28
+ - `validateOnly?`, when `true`, individual keys are allowed and the whole value is validated instead (use `validate` on form events).
29
+
30
+ ## Returns
31
+
32
+ `{ onBeforeInput, onKeyPress, onPaste, validate }`. The first three are input handlers to spread; `validate(event)` returns a boolean for the `validateOnly` flow.
33
+
34
+ ## Basic
35
+
36
+ ```tsx
37
+ 'use client';
38
+ import { useKeyFilter } from '@primereact/hooks';
39
+ import { InputText } from '@primereact/ui/inputtext';
40
+ import { Label } from '@primereact/ui/label';
41
+ import * as React from 'react';
42
+
43
+ export default function PatternDemo() {
44
+ const { onKeyPress: onIntegerKeyPress } = useKeyFilter({ pattern: 'int' });
45
+ const { onKeyPress: onNumberKeyPress } = useKeyFilter({ pattern: 'num' });
46
+ const { onKeyPress: onMoneyKeyPress } = useKeyFilter({ pattern: 'money' });
47
+ const { onKeyPress: onHexKeyPress } = useKeyFilter({ pattern: 'hex' });
48
+ const { onKeyPress: onAlphaKeyPress } = useKeyFilter({ pattern: 'alpha' });
49
+ const { onKeyPress: onAlphanumKeyPress } = useKeyFilter({ pattern: 'alphanum' });
50
+
51
+ const [integer, setInteger] = React.useState('');
52
+ const [number, setNumber] = React.useState('');
53
+ const [money, setMoney] = React.useState('');
54
+ const [hex, setHex] = React.useState('');
55
+ const [alphabetic, setAlphabetic] = React.useState('');
56
+ const [alphanumeric, setAlphanumeric] = React.useState('');
57
+
58
+ return (
59
+ <div>
60
+ <div className="flex flex-wrap gap-3 mb-4">
61
+ <div className="flex-auto">
62
+ <Label htmlFor="integer" className="font-bold block mb-2">
63
+ Integer
64
+ </Label>
65
+ <InputText
66
+ id="integer"
67
+ value={integer}
68
+ onChange={(e: React.ChangeEvent<HTMLInputElement>) => setInteger(e.target.value)}
69
+ onKeyPress={onIntegerKeyPress}
70
+ className="w-full"
71
+ />
72
+ </div>
73
+ <div className="flex-auto">
74
+ <Label htmlFor="number" className="font-bold block mb-2">
75
+ Number
76
+ </Label>
77
+ <InputText
78
+ id="number"
79
+ value={number}
80
+ onChange={(e: React.ChangeEvent<HTMLInputElement>) => setNumber(e.target.value)}
81
+ onKeyPress={onNumberKeyPress}
82
+ className="w-full"
83
+ />
84
+ </div>
85
+ <div className="flex-auto">
86
+ <Label htmlFor="money" className="font-bold block mb-2">
87
+ Money
88
+ </Label>
89
+ <InputText
90
+ id="money"
91
+ value={money}
92
+ onChange={(e: React.ChangeEvent<HTMLInputElement>) => setMoney(e.target.value)}
93
+ onKeyPress={onMoneyKeyPress}
94
+ className="w-full"
95
+ />
96
+ </div>
97
+ </div>
98
+ <div className="flex flex-wrap gap-3">
99
+ <div className="flex-auto">
100
+ <Label htmlFor="hex" className="font-bold block mb-2">
101
+ Hex
102
+ </Label>
103
+ <InputText
104
+ id="hex"
105
+ value={hex}
106
+ onChange={(e: React.ChangeEvent<HTMLInputElement>) => setHex(e.target.value)}
107
+ onKeyPress={onHexKeyPress}
108
+ className="w-full"
109
+ />
110
+ </div>
111
+ <div className="flex-auto">
112
+ <Label htmlFor="alphabetic" className="font-bold block mb-2">
113
+ Alphabetic
114
+ </Label>
115
+ <InputText
116
+ id="alphabetic"
117
+ value={alphabetic}
118
+ onChange={(e: React.ChangeEvent<HTMLInputElement>) => setAlphabetic(e.target.value)}
119
+ onKeyPress={onAlphaKeyPress}
120
+ className="w-full"
121
+ />
122
+ </div>
123
+ <div className="flex-auto">
124
+ <Label htmlFor="alphanumeric" className="font-bold block mb-2">
125
+ Alphanumeric
126
+ </Label>
127
+ <InputText
128
+ id="alphanumeric"
129
+ value={alphanumeric}
130
+ onChange={(e: React.ChangeEvent<HTMLInputElement>) => setAlphanumeric(e.target.value)}
131
+ onKeyPress={onAlphanumKeyPress}
132
+ className="w-full"
133
+ />
134
+ </div>
135
+ </div>
136
+ </div>
137
+ );
138
+ }
139
+ ```
@@ -0,0 +1,28 @@
1
+ # useLocalStorage
2
+
3
+ State persisted to localStorage, with SSR-safe hydration and custom serialization.
4
+
5
+ ## Usage
6
+
7
+ ```tsx
8
+ import { useLocalStorage } from '@primereact/hooks/use-local-storage';
9
+ ```
10
+
11
+ ```tsx
12
+ const [sizes, setSizes, removeSizes] = useLocalStorage({
13
+ key: 'splitter-sizes',
14
+ initialValue: [50, 50]
15
+ });
16
+ ```
17
+
18
+ The hook renders `initialValue` for SSR and the first client render, then reads the stored value in a layout effect, so the real value appears before paint and there's no hydration mismatch or flash.
19
+
20
+ ## Options
21
+
22
+ - `key`, storage key.
23
+ - `initialValue`, value used when nothing is stored yet.
24
+ - `serializer?` / `deserializer?`, default to `JSON.stringify` / `JSON.parse`. Override for dates, maps, or custom codecs.
25
+
26
+ ## Returns
27
+
28
+ `[value, setValue, remove]`. `setValue` accepts a value or an updater function (like `useState`). `remove()` clears the key from storage and resets to `initialValue`.
@@ -0,0 +1,53 @@
1
+ # useMask
2
+
3
+ Format an input as the user types, phone, date, currency and similar fixed patterns.
4
+
5
+ ## Usage
6
+
7
+ ```tsx
8
+ import { useMask } from '@primereact/hooks/use-mask';
9
+ ```
10
+
11
+ ```tsx
12
+ const { ref, value, rawValue, isComplete } = useMask({ mask: '(999) 999-9999' });
13
+
14
+ <InputText ref={ref} />;
15
+ ```
16
+
17
+ Attach `ref` to any component that forwards a ref to a native input. The hook formats keystrokes against `mask` and keeps both the masked and raw values in sync.
18
+
19
+ ## Signature
20
+
21
+ ```ts
22
+ function useMask(options: UseMaskOptions): UseMaskReturn;
23
+ ```
24
+
25
+ ## Options
26
+
27
+ - `mask`, pattern string: `9` numeric, `a` alphabetic, `*` alphanumeric. Literals like `(`, `)`, `-` and `/` are inserted automatically. A `?` marks everything after it as optional.
28
+ - `slotChar?`, placeholder for unfilled slots (default `_`). Pass a full template like `dd/mm/yyyy` to label each slot.
29
+ - `autoClear?`, clear an incomplete value on blur (default `true`).
30
+ - `value?` / `defaultValue?` / `onValueChange?`, controlled / uncontrolled masked value.
31
+ - `onComplete?`, fires when every required slot is filled.
32
+
33
+ ## Returns
34
+
35
+ `{ ref, value, rawValue, isComplete, setValue }`. `value` is the masked string, `rawValue` strips the literals and placeholders, `isComplete` is `true` once all required slots are filled.
36
+
37
+ ## Basic
38
+
39
+ ```tsx
40
+ 'use client';
41
+ import { useMask } from '@primereact/hooks';
42
+ import { InputText } from '@primereact/ui/inputtext';
43
+
44
+ export default function BasicDemo() {
45
+ const { ref } = useMask({ mask: '99-999999' });
46
+
47
+ return (
48
+ <div className="flex justify-center">
49
+ <InputText ref={ref} placeholder="99-999999" />
50
+ </div>
51
+ );
52
+ }
53
+ ```
@@ -0,0 +1,28 @@
1
+ # useMatchMedia
2
+
3
+ Reactive boolean for any CSS media query.
4
+
5
+ ## Usage
6
+
7
+ ```tsx
8
+ import { useMatchMedia } from '@primereact/hooks/use-match-media';
9
+ ```
10
+
11
+ ```tsx
12
+ const prefersDark = useMatchMedia('(prefers-color-scheme: dark)');
13
+ const isNarrow = useMatchMedia('(max-width: 768px)');
14
+ ```
15
+
16
+ Subscribes to the query via `window.matchMedia` and updates on change. Toggle the `when` flag to pause listening without unmounting:
17
+
18
+ ```tsx
19
+ const matches = useMatchMedia('(max-width: 600px)', isActive);
20
+ ```
21
+
22
+ ## Signature
23
+
24
+ ```ts
25
+ function useMatchMedia(query: string, when?: boolean): boolean;
26
+ ```
27
+
28
+ Server renders return `false`; the hook syncs to the real value after hydration.
@@ -0,0 +1,25 @@
1
+ # useMountEffect
2
+
3
+ Run an effect exactly once, after the first render.
4
+
5
+ ## Usage
6
+
7
+ ```tsx
8
+ import { useMountEffect } from '@primereact/hooks/use-mount-effect';
9
+ ```
10
+
11
+ ```tsx
12
+ useMountEffect(() => {
13
+ console.log('mounted');
14
+
15
+ return () => console.log('cleanup');
16
+ });
17
+ ```
18
+
19
+ Equivalent to `useEffect(fn, [])` but reads clearer at the call site. The optional return value is treated as the cleanup function, just like `useEffect`.
20
+
21
+ ## Signature
22
+
23
+ ```ts
24
+ function useMountEffect(effect: React.EffectCallback): void;
25
+ ```
@@ -0,0 +1,36 @@
1
+ # useMounted
2
+
3
+ SSR-safe flag that flips to true once the component mounts on the client.
4
+
5
+ ## Usage
6
+
7
+ ```tsx
8
+ import { useMounted } from '@primereact/hooks/use-mounted';
9
+ ```
10
+
11
+ ```tsx
12
+ const mounted = useMounted();
13
+
14
+ if (!mounted) return null;
15
+
16
+ return <ClientOnlyContent />;
17
+ ```
18
+
19
+ Useful when you need to gate content that depends on browser APIs without causing a hydration mismatch.
20
+
21
+ ## Options
22
+
23
+ ```ts
24
+ useMounted({
25
+ onMounted: () => console.log('mounted'),
26
+ onUnmounted: () => console.log('unmounted')
27
+ });
28
+ ```
29
+
30
+ Both callbacks are optional.
31
+
32
+ ## Signature
33
+
34
+ ```ts
35
+ function useMounted(options?: { onMounted?: () => void; onUnmounted?: () => void }): boolean;
36
+ ```
@@ -0,0 +1,48 @@
1
+ # useNumberFormatter
2
+
3
+ Locale-aware number formatting and parsing built on Intl.NumberFormat, decimal or currency, with custom prefix/suffix and rounding.
4
+
5
+ ## Usage
6
+
7
+ ```tsx
8
+ import { useNumberFormatter } from '@primereact/hooks/use-number-formatter';
9
+ ```
10
+
11
+ ```tsx
12
+ const formatter = useNumberFormatter({
13
+ value: 1234.56,
14
+ locale: 'en-US',
15
+ mode: 'currency',
16
+ currency: 'USD'
17
+ });
18
+
19
+ formatter.formattedValue; // "$1,234.56"
20
+ formatter.formatValue(99); // "$99.00"
21
+ formatter.parseValue('$1,234.56'); // 1234.56
22
+ ```
23
+
24
+ ## Options
25
+
26
+ - `value?`, optional input; if provided, `formattedValue` in the return mirrors it.
27
+ - `locale?`, `localeMatcher?`, passed to `Intl.NumberFormat`.
28
+ - `mode?`, `'decimal'` (default) or `'currency'`.
29
+ - `currency?`, `currencyDisplay?`, ISO code and display style.
30
+ - `useGrouping?`, thousands separators. Default `true`.
31
+ - `minFractionDigits?`, `maxFractionDigits?`, `roundingMode?`, fraction handling.
32
+ - `prefix?`, `suffix?`, additional text wrapped around the formatted value.
33
+ - `min?`, lower bound; controls whether a minus sign is allowed.
34
+ - `format?`, `false` returns the raw string without applying the formatter.
35
+
36
+ ## Returns
37
+
38
+ - `formattedValue`, formatted representation of `options.value`.
39
+ - `formatValue(value)` / `parseValue(text)`, format or parse on demand.
40
+ - `addWithPrecision(base, inc)`, floating-point-safe addition, useful for steppers.
41
+ - Character classifiers (`isNumeralChar`, `isMinusSign`, `isDecimalSign`, `allowMinusSign`) and index helpers (`getDecimalCharIndexes`, `getCharIndexes`, `getDecimalLength`, `concatValues`) that power input-mask behaviour.
42
+ - `groupChar`, `prefixChar`, `suffixChar`, resolved separator characters for the active locale.
43
+ - `resolvedOptions()`, forwards `Intl.NumberFormat#resolvedOptions`.
44
+ - `constructParser()`, rebuild the internal parser; the hook calls it automatically when options change.
45
+
46
+ ## When to use it
47
+
48
+ Anywhere you want consistent localized number rendering without maintaining your own parsers, inputs with currency/percent formatting, read-only totals, calculator-style UIs.
@@ -0,0 +1,44 @@
1
+ # usePresence
2
+
3
+ Coordinate enter/exit animations by delaying unmount until CSS transitions finish.
4
+
5
+ ## Usage
6
+
7
+ ```tsx
8
+ import { usePresence } from '@primereact/hooks/use-presence';
9
+ ```
10
+
11
+ ```tsx
12
+ function Dialog({ open }: { open: boolean }) {
13
+ const { present, mounted, ref } = usePresence(open);
14
+
15
+ if (!present) return null;
16
+
17
+ return (
18
+ <div ref={ref} data-state={mounted ? 'open' : 'closed'} className="dialog">
19
+ ...
20
+ </div>
21
+ );
22
+ }
23
+ ```
24
+
25
+ The element stays in the tree after `open` flips to `false` until `transitionend` or `animationend` fires on it, giving your CSS a chance to run the exit animation.
26
+
27
+ ## Signature
28
+
29
+ ```ts
30
+ function usePresence(
31
+ open: boolean,
32
+ fallbackMs?: number
33
+ ): {
34
+ present: boolean;
35
+ exiting: boolean;
36
+ mounted: boolean;
37
+ ref: (node: HTMLElement | null) => void;
38
+ };
39
+ ```
40
+
41
+ - `present`, whether the element should render.
42
+ - `mounted`, set to `true` a few frames after opening; use it to toggle the visible state in CSS so the transition can play.
43
+ - `exiting`, `true` while the close animation is running.
44
+ - `ref`, callback ref that must be attached to the animated element. Without it the hook cannot observe the transition.
@@ -0,0 +1,28 @@
1
+ # usePrevious
2
+
3
+ Remember the value of a variable from the previous render.
4
+
5
+ ## Usage
6
+
7
+ ```tsx
8
+ import { usePrevious } from '@primereact/hooks/use-previous';
9
+ ```
10
+
11
+ ```tsx
12
+ const [count, setCount] = React.useState(0);
13
+ const prev = usePrevious(count);
14
+
15
+ React.useEffect(() => {
16
+ if (prev !== undefined && prev !== count) {
17
+ console.log(`changed from ${prev} to ${count}`);
18
+ }
19
+ }, [count, prev]);
20
+ ```
21
+
22
+ Returns `null` on the first render, then the value from the prior render on every subsequent render.
23
+
24
+ ## Signature
25
+
26
+ ```ts
27
+ function usePrevious<T>(value: T): T | null | undefined;
28
+ ```
@@ -0,0 +1,37 @@
1
+ # useProps
2
+
3
+ Split incoming props into known props and extra attrs, preserving referential stability when values don't change.
4
+
5
+ ## Usage
6
+
7
+ ```tsx
8
+ import { useProps } from '@primereact/hooks/use-props';
9
+ ```
10
+
11
+ ```tsx
12
+ const defaults = { variant: 'primary', size: 'medium' };
13
+ const { props, attrs } = useProps(defaults, userProps);
14
+
15
+ <button {...props} {...attrs} />;
16
+ ```
17
+
18
+ - `props` contains only the keys that appear in `defaults`, with values taken from `userProps` when present.
19
+ - `attrs` contains the remaining keys from `userProps`, typically DOM attributes and event handlers you want to spread onto the rendered element.
20
+
21
+ If the computed `props` and `attrs` are shallowly equal to the previous result, the same references are returned. This prevents cascading `useMemo` / `React.memo` invalidations when a parent passes a new object literal with identical values.
22
+
23
+ ## Signature
24
+
25
+ ```ts
26
+ function useProps<P1, P2>(
27
+ defaults?: P1,
28
+ userProps?: P2
29
+ ): {
30
+ props: Pick<P1 & P2, keyof P1>;
31
+ attrs: Omit<P2, keyof P1>;
32
+ };
33
+ ```
34
+
35
+ ## When to use it
36
+
37
+ Building a reusable component that accepts both known props and passthrough attributes, `useProps` gives you a clean split without the boilerplate of `const { knownA, knownB, ...rest } = props`.
@@ -0,0 +1,29 @@
1
+ # useQueueTask
2
+
3
+ Deduplicate work by id and flush it on the next microtask.
4
+
5
+ ## Usage
6
+
7
+ ```tsx
8
+ import { useQueueTask } from '@primereact/hooks/use-queue-task';
9
+ ```
10
+
11
+ ```tsx
12
+ const queue = useQueueTask();
13
+
14
+ function schedule(rowId: string) {
15
+ queue(rowId, () => recalculate(rowId));
16
+ }
17
+ ```
18
+
19
+ Calling `queue(id, task)` replaces any pending task for the same `id`. All queued tasks run together in a single microtask, so many calls within the same synchronous batch collapse into one flush.
20
+
21
+ ## Signature
22
+
23
+ ```ts
24
+ function useQueueTask(): (id: string | number, task: () => void) => void;
25
+ ```
26
+
27
+ ## When to use it
28
+
29
+ Coalescing expensive work triggered from multiple places in the same render, layout measurements, cache invalidations, or derived state updates where only the latest value per key matters.
@@ -0,0 +1,87 @@
1
+ # useScrollTop
2
+
3
+ useScrollTop is a hook that provides a way to scroll to the top of a container.
4
+
5
+ ## Usage
6
+
7
+ ```tsx
8
+ import { useScrollTop } from '@primereact/hooks/use-scrolltop';
9
+ ```
10
+
11
+ ```tsx
12
+ const scrollTop = useScrollTop();
13
+ ```
14
+
15
+ ## Examples
16
+
17
+ ### Basic
18
+
19
+ useScrollTop listens window scroll by default.
20
+
21
+ ```tsx
22
+ 'use client';
23
+ import { AngleDown } from '@primeicons/react/angle-down';
24
+ import { ChevronUp } from '@primeicons/react/chevron-up';
25
+ import { useScrollTop } from '@primereact/hooks';
26
+ import { Button } from '@primereact/ui/button';
27
+
28
+ export default function BasicDemo() {
29
+ const { scrollToTop, visible } = useScrollTop();
30
+
31
+ return (
32
+ <div className="flex flex-col items-center">
33
+ <p>Scroll down the page to display the ScrollTop component.</p>
34
+ <AngleDown className="animate-fadeout animate-duration-1000 animate-infinite text-[2rem] mb-[30rem]"></AngleDown>
35
+ {visible && (
36
+ <Button onClick={scrollToTop} iconOnly rounded className="fixed [inset-block-end:20px] [inset-inline-end:20px]">
37
+ <ChevronUp />
38
+ </Button>
39
+ )}
40
+ </div>
41
+ );
42
+ }
43
+ ```
44
+
45
+ Setting the _target_ option binds useScrollTop to this element that has scrolling content.
46
+
47
+ ### Element
48
+
49
+ ```tsx
50
+ 'use client';
51
+ import { ArrowUp } from '@primeicons/react';
52
+ import { useScrollTop } from '@primereact/hooks';
53
+ import { Button } from '@primereact/ui/button';
54
+ import * as React from 'react';
55
+
56
+ export default function ElementDemo() {
57
+ const [target, setTarget] = React.useState<HTMLDivElement | null>(null);
58
+
59
+ const { scrollToTop, visible } = useScrollTop({
60
+ target,
61
+ threshold: 100
62
+ });
63
+
64
+ return (
65
+ <div className="flex justify-center">
66
+ <div ref={setTarget} className="overflow-y-scroll" style={{ width: '250px', height: '200px', scrollbarWidth: 'thin' }}>
67
+ <p>
68
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Vitae
69
+ et leo duis ut diam. Ultricies mi quis hendrerit dolor magna eget est lorem. Amet consectetur adipiscing elit ut. Nam libero justo
70
+ laoreet sit amet. Pharetra massa massa ultricies mi quis hendrerit dolor magna. Est ultricies integer quis auctor elit sed
71
+ vulputate. Consequat ac felis donec et. Tellus orci ac auctor augue mauris. Semper feugiat nibh sed pulvinar proin gravida
72
+ hendrerit lectus a. Tincidunt arcu non sodales neque sodales. Metus aliquam eleifend mi in nulla posuere sollicitudin aliquam
73
+ ultrices. Sodales ut etiam sit amet nisl purus. Cursus sit amet dictum sit amet. Tristique senectus et netus et malesuada fames ac
74
+ turpis egestas. Et tortor consequat id porta nibh venenatis cras sed. Diam maecenas ultricies mi eget mauris. Eget egestas purus
75
+ viverra accumsan in nisl nisi. Suscipit adipiscing bibendum est ultricies integer. Mattis aliquam faucibus purus in massa tempor
76
+ nec.
77
+ </p>
78
+ {visible && (
79
+ <Button onClick={scrollToTop} iconOnly rounded className="sticky flex ms-auto [inset-block-end:20px] [inset-inline-end:20px]">
80
+ <ArrowUp />
81
+ </Button>
82
+ )}
83
+ </div>
84
+ </div>
85
+ );
86
+ }
87
+ ```