@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,323 @@
1
+ # useFileUpload
2
+
3
+ Hook that manages file selection, validation, upload progress, and drag-and-drop state.
4
+
5
+ ```tsx
6
+ 'use client';
7
+ import { Plus } from '@primeicons/react/plus';
8
+ import { Times } from '@primeicons/react/times';
9
+ import { Upload } from '@primeicons/react/upload';
10
+ import { useFileUpload } from '@primereact/headless/fileupload';
11
+ import type { UseFileUploadChangeEvent } from '@primereact/types/headless/fileupload';
12
+ import * as React from 'react';
13
+
14
+ export default function BasicDemo() {
15
+ const [messages, setMessages] = React.useState<string[]>([]);
16
+
17
+ const {
18
+ state,
19
+ hasFiles,
20
+ hasUploadedFiles,
21
+ rootProps,
22
+ chooseProps,
23
+ uploadProps,
24
+ inputProps,
25
+ contentProps,
26
+ fileListProps,
27
+ fileProps,
28
+ fileThumbnailProps,
29
+ fileInfoProps,
30
+ fileNameProps,
31
+ fileSizeProps,
32
+ fileRemoveProps,
33
+ clear,
34
+ remove,
35
+ removeUploadedFile,
36
+ formatSize
37
+ } = useFileUpload({
38
+ name: 'demo[]',
39
+ url: '/api/upload',
40
+ accept: 'image/*',
41
+ multiple: true,
42
+ maxFileSize: 1000000,
43
+ onChange: (event: UseFileUploadChangeEvent) => setMessages(event.rejectedFiles.flatMap((r) => r.errors.map((e) => e.message)))
44
+ });
45
+
46
+ return (
47
+ <div {...rootProps} className="max-w-xl mx-auto">
48
+ <input {...inputProps} className="hidden" />
49
+ <div className="flex items-center gap-3 mb-4">
50
+ <button
51
+ {...chooseProps}
52
+ className="inline-flex items-center gap-2 px-4 py-2 bg-primary text-primary-contrast rounded cursor-pointer text-sm font-medium hover:bg-primary-emphasis transition"
53
+ >
54
+ <Plus className="text-xs" />
55
+ Choose
56
+ </button>
57
+ <button
58
+ {...uploadProps}
59
+ className="inline-flex items-center gap-2 px-4 py-2 bg-surface-100 dark:bg-surface-800 text-surface-700 dark:text-surface-200 rounded cursor-pointer text-sm font-medium hover:bg-surface-200 dark:hover:bg-surface-700 transition disabled:opacity-50 disabled:pointer-events-none"
60
+ >
61
+ <Upload className="text-xs" />
62
+ Upload
63
+ </button>
64
+ <button
65
+ onClick={clear}
66
+ disabled={!hasFiles}
67
+ className="inline-flex items-center gap-2 px-4 py-2 bg-surface-100 dark:bg-surface-800 text-surface-700 dark:text-surface-200 rounded cursor-pointer text-sm font-medium hover:bg-surface-200 dark:hover:bg-surface-700 transition disabled:opacity-50 disabled:pointer-events-none"
68
+ >
69
+ <Times className="text-xs" />
70
+ Cancel
71
+ </button>
72
+ </div>
73
+ {messages.length > 0 && (
74
+ <div className="mb-4 flex flex-col gap-2">
75
+ {messages.map((msg, i) => (
76
+ <div
77
+ key={i}
78
+ className="text-sm px-3 py-2 rounded bg-red-50 dark:bg-red-950 text-red-600 dark:text-red-400 border border-red-200 dark:border-red-800"
79
+ >
80
+ {msg}
81
+ </div>
82
+ ))}
83
+ </div>
84
+ )}
85
+ <div
86
+ {...contentProps}
87
+ className="border-2 border-dashed border-surface-200 dark:border-surface-700 rounded-lg p-6 text-center transition data-[p-highlight=true]:border-primary data-[p-highlight=true]:bg-primary/5"
88
+ >
89
+ {hasFiles || hasUploadedFiles ? (
90
+ <div {...fileListProps} className="flex flex-col gap-3">
91
+ {state.files.map((file, i) => (
92
+ <div key={`pending-${file.name}-${file.size}`} {...fileProps} className="flex items-center gap-3 text-left">
93
+ {file.type.startsWith('image/') && (
94
+ <img
95
+ {...fileThumbnailProps}
96
+ src={URL.createObjectURL(file)}
97
+ alt={file.name}
98
+ className="w-10 h-10 rounded object-cover"
99
+ />
100
+ )}
101
+ <div {...fileInfoProps} className="flex-1 min-w-0">
102
+ <div {...fileNameProps} className="text-sm font-medium text-surface-700 dark:text-surface-200 truncate">
103
+ {file.name}
104
+ </div>
105
+ <div {...fileSizeProps} className="text-xs text-surface-500">
106
+ {formatSize(file.size)}
107
+ </div>
108
+ </div>
109
+ <span className="text-xs px-2 py-0.5 rounded-full bg-amber-100 dark:bg-amber-900 text-amber-700 dark:text-amber-300">
110
+ Pending
111
+ </span>
112
+ <button
113
+ {...fileRemoveProps}
114
+ onClick={() => remove(i)}
115
+ className="w-8 h-8 flex items-center justify-center rounded-full text-surface-400 hover:text-red-500 hover:bg-surface-100 dark:hover:bg-surface-800 cursor-pointer transition"
116
+ >
117
+ <Times className="text-xs" />
118
+ </button>
119
+ </div>
120
+ ))}
121
+ {state.uploadedFiles.map((file, i) => (
122
+ <div key={`uploaded-${file.name}-${file.size}`} {...fileProps} className="flex items-center gap-3 text-left">
123
+ {file.type.startsWith('image/') && (
124
+ <img
125
+ {...fileThumbnailProps}
126
+ src={URL.createObjectURL(file)}
127
+ alt={file.name}
128
+ className="w-10 h-10 rounded object-cover"
129
+ />
130
+ )}
131
+ <div {...fileInfoProps} className="flex-1 min-w-0">
132
+ <div {...fileNameProps} className="text-sm font-medium text-surface-700 dark:text-surface-200 truncate">
133
+ {file.name}
134
+ </div>
135
+ <div {...fileSizeProps} className="text-xs text-surface-500">
136
+ {formatSize(file.size)}
137
+ </div>
138
+ </div>
139
+ <span className="text-xs px-2 py-0.5 rounded-full bg-green-100 dark:bg-green-900 text-green-700 dark:text-green-300">
140
+ Uploaded
141
+ </span>
142
+ <button
143
+ {...fileRemoveProps}
144
+ onClick={() => removeUploadedFile(i)}
145
+ className="w-8 h-8 flex items-center justify-center rounded-full text-surface-400 hover:text-red-500 hover:bg-surface-100 dark:hover:bg-surface-800 cursor-pointer transition"
146
+ >
147
+ <Times className="text-xs" />
148
+ </button>
149
+ </div>
150
+ ))}
151
+ </div>
152
+ ) : (
153
+ <div className="text-surface-400">Drag and drop files here to upload.</div>
154
+ )}
155
+ </div>
156
+ {state.progress > 0 && (
157
+ <div className="mt-3 h-1.5 rounded-full bg-surface-100 dark:bg-surface-800 overflow-hidden">
158
+ <div className="h-full bg-primary rounded-full transition-all" style={{ width: `${state.progress}%` }} />
159
+ </div>
160
+ )}
161
+ </div>
162
+ );
163
+ }
164
+ ```
165
+
166
+ ## Usage
167
+
168
+ ```tsx
169
+ import { useFileUpload } from '@primereact/headless/fileupload';
170
+ ```
171
+
172
+ ```tsx
173
+ const fileupload = useFileUpload({ accept: 'image/*', multiple: true });
174
+
175
+ <div {...fileupload.rootProps}>
176
+ <input {...fileupload.inputProps} />
177
+ <button {...fileupload.chooseProps}></button>
178
+ <button {...fileupload.uploadProps}></button>
179
+ <div {...fileupload.contentProps}>
180
+ <div {...fileupload.fileListProps}>
181
+ <div {...fileupload.fileProps}>
182
+ <img {...fileupload.fileThumbnailProps} />
183
+ <div {...fileupload.fileInfoProps}>
184
+ <div {...fileupload.fileNameProps}></div>
185
+ <div {...fileupload.fileSizeProps}></div>
186
+ </div>
187
+ <button {...fileupload.fileRemoveProps}></button>
188
+ </div>
189
+ </div>
190
+ </div>
191
+ </div>;
192
+ ```
193
+
194
+ `useFileUpload` manages file selection, type and size validation, upload progress, and drag-and-drop state. See [Primitive](/docs/primitive/components/fileupload) for a component-based API.
195
+
196
+ ## Features
197
+
198
+ - **Validation pipeline**, enforces `accept` patterns (including wildcards), `maxFileSize`, and `fileLimit`, surfacing failures through the `onError` and `onChange` callbacks (each rejected file grouped with its errors)
199
+ - **Upload transport**, built-in XMLHttpRequest POST with FormData and progress reporting, or bring-your-own via `customUpload` + `uploadHandler`
200
+ - **Drag-and-drop surface**, `contentProps` wires the drop zone events and exposes `data-highlight` during drag-over
201
+ - **File and upload state**, `state.files`, `state.uploadedFiles`, `state.progress`, and `hasFiles` / `hasUploadedFiles` booleans for rendering
202
+ - **Imperative controls**, `choose`, `upload`, `clear`, `remove(index)`, and `removeUploadedFile(index)` for custom UI
203
+ - **File-level prop getters**, `fileProps`, `fileThumbnailProps`, `fileInfoProps`, `fileNameProps`, `fileSizeProps`, and `fileRemoveProps` for each row
204
+ - **`formatSize(bytes)`**, utility for rendering human-readable file sizes
205
+
206
+ ## Working with callbacks
207
+
208
+ ### Server upload with lifecycle hooks
209
+
210
+ Set `url` and `name` for the built-in XHR transport and tap into the lifecycle to log, mutate headers, or surface errors.
211
+
212
+ ```tsx
213
+ const fileupload = useFileUpload({
214
+ url: '/api/upload',
215
+ name: 'files[]',
216
+ onBeforeSend: (e) => e.xhr.setRequestHeader('x-csrf', csrf),
217
+ onProgress: (e) => setProgress(e.progress),
218
+ onUpload: (e) => toast.success(`Uploaded ${e.files.length} files`),
219
+ onError: (e) => {
220
+ if (e.type === 'upload') toast.error(`Upload failed: ${e.xhr.status}`);
221
+ else toast.error(`${e.rejectedFiles.length} file(s) rejected`);
222
+ }
223
+ });
224
+ ```
225
+
226
+ ### Auto upload after selection
227
+
228
+ Set `auto` so files post immediately, useful for avatars or drag-drop drop zones without a separate submit step.
229
+
230
+ ```tsx
231
+ const fileupload = useFileUpload({
232
+ auto: true,
233
+ url: '/api/upload',
234
+ name: 'files'
235
+ });
236
+ ```
237
+
238
+ ### Custom client-side processing
239
+
240
+ Set `customUpload` and provide `uploadHandler` when you need to resize images, strip EXIF, or hand files off to a signed-URL flow.
241
+
242
+ ```tsx
243
+ const fileupload = useFileUpload({
244
+ customUpload: true,
245
+ uploadHandler: async (e) => {
246
+ await uploadToS3(e.files);
247
+ e.options.clear();
248
+ }
249
+ });
250
+ ```
251
+
252
+ ### Rendering the file list
253
+
254
+ Iterate `state.files` and spread the file-level getters for consistent `data-scope` / `data-part` attributes on each row.
255
+
256
+ ```tsx
257
+ <div {...fileupload.fileListProps}>
258
+ {fileupload.state.files.map((file, i) => (
259
+ <div key={file.name + file.size} {...fileupload.fileProps}>
260
+ <img {...fileupload.fileThumbnailProps} src={URL.createObjectURL(file)} />
261
+ <div {...fileupload.fileInfoProps}>
262
+ <div {...fileupload.fileNameProps}>{file.name}</div>
263
+ <div {...fileupload.fileSizeProps}>{fileupload.formatSize(file.size)}</div>
264
+ </div>
265
+ <button {...fileupload.fileRemoveProps} onClick={() => fileupload.remove(i)}>
266
+ Remove
267
+ </button>
268
+ </div>
269
+ ))}
270
+ </div>
271
+ ```
272
+
273
+ ### Surfacing validation errors
274
+
275
+ There is no `state.messages`, validation results flow through callbacks, so you own the message list. Use `onChange` to keep a synced list (it fires on every change with the full `rejectedFiles`, so a clean selection clears it), or `onError` to react per selection. Each rejected file groups its errors as `{ file?, errors: [{ reason, message }] }`.
276
+
277
+ ```tsx
278
+ const [messages, setMessages] = React.useState<string[]>([]);
279
+
280
+ const fileupload = useFileUpload({
281
+ accept: 'image/*',
282
+ maxFileSize: 1_000_000,
283
+ onChange: (e) => setMessages(e.rejectedFiles.flatMap((r) => r.errors.map((err) => err.message)))
284
+ });
285
+
286
+ {
287
+ messages.map((msg, i) => (
288
+ <div key={i} role="alert">
289
+ {msg}
290
+ </div>
291
+ ));
292
+ }
293
+ ```
294
+
295
+ ## Styling with data attributes
296
+
297
+ The drop zone lights up via `data-highlight="true"` during drag-over; every prop object exposes a `data-part` for CSS targeting.
298
+
299
+ ```css
300
+ [data-scope='fileupload'][data-part='content'][data-highlight='true'] {
301
+ border-color: var(--primary);
302
+ background: var(--primary-bg);
303
+ }
304
+
305
+ [data-scope='fileupload'][data-part='content'] { ... }
306
+ [data-scope='fileupload'][data-part='file'] { ... }
307
+ [data-scope='fileupload'][data-part='fileThumbnail'] { ... }
308
+ [data-scope='fileupload'][data-part='fileInfo'] { ... }
309
+ [data-scope='fileupload'][data-part='fileName'] { ... }
310
+ [data-scope='fileupload'][data-part='fileSize'] { ... }
311
+ [data-scope='fileupload'][data-part='fileList'] { ... }
312
+ [data-scope='fileupload'][data-part='fileRemove'] { ... }
313
+ ```
314
+
315
+ ## API
316
+
317
+ ### useFileUpload
318
+
319
+ <DocTable name="useFileUpload" category="api" />
320
+
321
+ ## Accessibility
322
+
323
+ Space or Enter opens the file picker, and dropped files trigger onSelect with standard drag events. See [Primitive](/docs/primitive/components/fileupload#accessibility) for full WAI-ARIA compliance details.
@@ -0,0 +1,36 @@
1
+ [
2
+ {
3
+ "name": "useFloatLabel",
4
+ "source": "apps/showcase/assets/apidoc/usefloatlabel.json",
5
+ "data": {
6
+ "description": "The useFloatLabel manages the state and functionality of a float label component.",
7
+ "interfaces": {
8
+ "UseFloatLabelProps": {
9
+ "description": "Defines valid properties in useFloatLabel.",
10
+ "relatedProp": "",
11
+ "props": [],
12
+ "methods": []
13
+ },
14
+ "UseFloatLabelState": {
15
+ "description": "Defines valid state in useFloatLabel.",
16
+ "relatedProp": "",
17
+ "props": [],
18
+ "methods": []
19
+ },
20
+ "UseFloatLabelExposes": {
21
+ "description": "Defines the methods and properties exposed by useFloatLabel.",
22
+ "relatedProp": "",
23
+ "props": [],
24
+ "methods": []
25
+ }
26
+ },
27
+ "types": {
28
+ "UseFloatLabelInstance": {
29
+ "description": "Instance of useFloatLabel headless.",
30
+ "values": "HeadlessInstance<UseFloatLabelProps, UseFloatLabelState, UseFloatLabelExposes>"
31
+ }
32
+ },
33
+ "variables": {}
34
+ }
35
+ }
36
+ ]
@@ -0,0 +1,19 @@
1
+ # useFloatLabel
2
+
3
+ Hook that coordinates an input and a floating label with focus and value state.
4
+
5
+ ## Usage
6
+
7
+ ```tsx
8
+ import { useFloatLabel } from '@primereact/headless/floatlabel';
9
+ ```
10
+
11
+ ```tsx
12
+ const instance = useFloatLabel();
13
+ ```
14
+
15
+ ## API
16
+
17
+ ### useFloatLabel
18
+
19
+ <DocTable name="useFloatLabel" category="api" />
@@ -0,0 +1,36 @@
1
+ [
2
+ {
3
+ "name": "useFluid",
4
+ "source": "apps/showcase/assets/apidoc/usefluid.json",
5
+ "data": {
6
+ "description": "The useFluid manages the state and functionality of a fluid component.",
7
+ "interfaces": {
8
+ "UseFluidProps": {
9
+ "description": "Defines valid properties in useFluid.",
10
+ "relatedProp": "",
11
+ "props": [],
12
+ "methods": []
13
+ },
14
+ "UseFluidState": {
15
+ "description": "Defines valid state in useFluid.",
16
+ "relatedProp": "",
17
+ "props": [],
18
+ "methods": []
19
+ },
20
+ "UseFluidExposes": {
21
+ "description": "Defines the methods and properties exposed by useFluid.",
22
+ "relatedProp": "",
23
+ "props": [],
24
+ "methods": []
25
+ }
26
+ },
27
+ "types": {
28
+ "UseFluidInstance": {
29
+ "description": "Instance of useFluid headless.",
30
+ "values": "HeadlessInstance<UseFluidProps, UseFluidState, UseFluidExposes>"
31
+ }
32
+ },
33
+ "variables": {}
34
+ }
35
+ }
36
+ ]
@@ -0,0 +1,19 @@
1
+ # useFluid
2
+
3
+ Hook that propagates fluid sizing context to descendant form components.
4
+
5
+ ## Usage
6
+
7
+ ```tsx
8
+ import { useFluid } from '@primereact/headless/fluid';
9
+ ```
10
+
11
+ ```tsx
12
+ const instance = useFluid();
13
+ ```
14
+
15
+ ## API
16
+
17
+ ### useFluid
18
+
19
+ <DocTable name="useFluid" category="api" />
@@ -0,0 +1,135 @@
1
+ [
2
+ {
3
+ "name": "useFocusTrap",
4
+ "source": "apps/showcase/assets/apidoc/usefocustrap.json",
5
+ "data": {
6
+ "description": "The useFocusTrap manages the state and functionality of a focus trap component.",
7
+ "interfaces": {
8
+ "UseFocusTrapProps": {
9
+ "description": "Defines valid properties in useFocusTrap.",
10
+ "relatedProp": "",
11
+ "props": [
12
+ {
13
+ "name": "trapped",
14
+ "type": "boolean",
15
+ "default": "true",
16
+ "description": "When enabled, focus is trapped within the container element."
17
+ },
18
+ {
19
+ "name": "autoFocus",
20
+ "type": "boolean",
21
+ "default": "true",
22
+ "description": "When enabled, the first focusable element receives focus on mount."
23
+ },
24
+ {
25
+ "name": "initialFocusRef",
26
+ "type": "RefObject<HTMLElement>",
27
+ "default": "",
28
+ "description": "Reference to the element that should receive focus when the trap activates.\nTakes priority over autoFocus and [autofocus] attribute detection."
29
+ },
30
+ {
31
+ "name": "onEscape",
32
+ "type": "(event: KeyboardEvent) => void",
33
+ "default": "",
34
+ "description": "Callback invoked when the Escape key is pressed inside the trap."
35
+ },
36
+ {
37
+ "name": "onTabFirst",
38
+ "type": "(event: FocusEvent<HTMLElement>) => void",
39
+ "default": "",
40
+ "description": "Callback invoked when Shift+Tab is pressed before the first focusable element.\nWhen provided, overrides the default cycling behavior."
41
+ },
42
+ {
43
+ "name": "onTabLast",
44
+ "type": "(event: FocusEvent<HTMLElement>) => void",
45
+ "default": "",
46
+ "description": "Callback invoked when Tab is pressed past the last focusable element.\nWhen provided, overrides the default cycling behavior."
47
+ }
48
+ ],
49
+ "methods": []
50
+ },
51
+ "UseFocusTrapState": {
52
+ "description": "Defines valid state in useFocusTrap.",
53
+ "relatedProp": "",
54
+ "props": [],
55
+ "methods": []
56
+ },
57
+ "UseFocusTrapHiddenProps": {
58
+ "description": "Defines the props for a hidden sentinel element used by focus trap.",
59
+ "relatedProp": "",
60
+ "props": [
61
+ {
62
+ "name": "role",
63
+ "type": "\"presentation\"",
64
+ "default": "",
65
+ "description": "The role of the hidden sentinel element."
66
+ },
67
+ {
68
+ "name": "aria-hidden",
69
+ "type": "true",
70
+ "default": "",
71
+ "description": "Hides the element from assistive technologies."
72
+ },
73
+ {
74
+ "name": "data-focus-guard",
75
+ "type": "string",
76
+ "default": "",
77
+ "description": "Data attribute marking the element as a focus trap hidden sentinel."
78
+ },
79
+ {
80
+ "name": "onFocus",
81
+ "type": "(event: FocusEvent<HTMLElement>) => void",
82
+ "default": "",
83
+ "description": "Focus handler for the hidden sentinel element."
84
+ }
85
+ ],
86
+ "methods": []
87
+ },
88
+ "UseFocusTrapExposes": {
89
+ "description": "Defines the methods and properties exposed by useFocusTrap.",
90
+ "relatedProp": "",
91
+ "props": [
92
+ {
93
+ "name": "containerRef",
94
+ "type": "RefObject<HTMLElement>",
95
+ "default": "",
96
+ "description": "Reference to the container element of the focus trap."
97
+ },
98
+ {
99
+ "name": "firstHiddenElementRef",
100
+ "type": "RefObject<HTMLElement>",
101
+ "default": "",
102
+ "description": "Reference to the first hidden focusable element for accessibility."
103
+ },
104
+ {
105
+ "name": "lastHiddenElementRef",
106
+ "type": "RefObject<HTMLElement>",
107
+ "default": "",
108
+ "description": "Reference to the last hidden focusable element for accessibility."
109
+ },
110
+ {
111
+ "name": "firstHiddenProps",
112
+ "type": "UseFocusTrapHiddenProps",
113
+ "default": "",
114
+ "description": "Props to spread on the first hidden sentinel element."
115
+ },
116
+ {
117
+ "name": "lastHiddenProps",
118
+ "type": "UseFocusTrapHiddenProps",
119
+ "default": "",
120
+ "description": "Props to spread on the last hidden sentinel element."
121
+ }
122
+ ],
123
+ "methods": []
124
+ }
125
+ },
126
+ "types": {
127
+ "UseFocusTrapInstance": {
128
+ "description": "Instance of useFocusTrap headless.",
129
+ "values": "HeadlessInstance<UseFocusTrapProps, UseFocusTrapState, UseFocusTrapExposes>"
130
+ }
131
+ },
132
+ "variables": {}
133
+ }
134
+ }
135
+ ]