@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,249 @@
1
+ # useAutoComplete
2
+
3
+ Hook that manages autocomplete state, search callbacks, and popup positioning for combobox inputs.
4
+
5
+ ```tsx
6
+ 'use client';
7
+ import { useAutoComplete, type UseAutoCompleteCompleteEvent } from '@primereact/headless/autocomplete';
8
+ import { useListboxOption } from '@primereact/headless/listbox';
9
+ import { usePortal } from '@primereact/headless/portal';
10
+ import { usePositioner } from '@primereact/headless/positioner';
11
+ import type { UseListboxInstance } from '@primereact/types/headless/listbox';
12
+ import * as React from 'react';
13
+ import { createPortal } from 'react-dom';
14
+
15
+ function OptionItem({ option, index, listbox }: { option: unknown; index: number; listbox: UseListboxInstance }) {
16
+ const { optionProps } = useListboxOption({ option, index, context: listbox });
17
+
18
+ return (
19
+ <li
20
+ {...optionProps}
21
+ className="flex items-center px-3 py-2 rounded-md cursor-pointer select-none text-sm outline-none transition-[background-color] duration-200 text-surface-700 dark:text-surface-0 hover:bg-surface-50 dark:hover:bg-surface-800 data-[focused]:bg-surface-100 dark:data-[focused]:bg-surface-800 data-[selected]:bg-surface-100 dark:data-[selected]:bg-surface-800 data-[selected]:text-primary data-[disabled]:pointer-events-none data-[disabled]:opacity-60"
22
+ >
23
+ {listbox.getOptionLabel(option)}
24
+ </li>
25
+ );
26
+ }
27
+
28
+ export default function BasicDemo() {
29
+ const [filteredCountries, setFilteredCountries] = React.useState<string[]>([]);
30
+
31
+ const search = (event: UseAutoCompleteCompleteEvent) => {
32
+ const query = event.query.toLowerCase();
33
+
34
+ setFilteredCountries(query ? countries.filter((country) => country.toLowerCase().includes(query)) : [...countries]);
35
+ };
36
+
37
+ const { rootProps, inputProps, listProps, positionerProps, popupProps, state, listbox } = useAutoComplete({
38
+ options: filteredCountries,
39
+ onComplete: search
40
+ });
41
+
42
+ const portal = usePortal();
43
+
44
+ usePositioner({
45
+ anchor: state.anchorElement,
46
+ content: state.positionerElement,
47
+ side: 'bottom',
48
+ sideOffset: 4,
49
+ flip: true,
50
+ shift: true
51
+ });
52
+
53
+ return (
54
+ <div className="flex justify-center">
55
+ <div {...rootProps} className="relative w-full md:w-56">
56
+ <input
57
+ {...inputProps}
58
+ placeholder="Search a country..."
59
+ className="w-full px-3 py-2 text-sm bg-transparent border border-surface-200 dark:border-surface-700 rounded-lg outline-none text-surface-700 dark:text-surface-0 placeholder:text-surface-400 transition-[border-color] duration-200 focus:border-primary"
60
+ />
61
+ {portal.state.mounted &&
62
+ state.opened &&
63
+ createPortal(
64
+ <div {...positionerProps}>
65
+ <div
66
+ {...popupProps}
67
+ className="border border-surface-200 dark:border-surface-700 rounded-lg bg-surface-0 dark:bg-surface-900 shadow-md overflow-hidden"
68
+ >
69
+ <ul {...listProps} className="list-none m-0 p-1 outline-none max-h-56 overflow-auto">
70
+ {listbox?.getOptions().map((option: unknown, index: number) => (
71
+ <OptionItem key={index} option={option} index={index} listbox={listbox} />
72
+ ))}
73
+ </ul>
74
+ {filteredCountries.length === 0 && <div className="px-3 py-2 text-sm text-surface-400">No countries found</div>}
75
+ </div>
76
+ </div>,
77
+ document.body
78
+ )}
79
+ </div>
80
+ </div>
81
+ );
82
+ }
83
+
84
+ const countries = [
85
+ 'Argentina',
86
+ 'Australia',
87
+ 'Brazil',
88
+ 'Canada',
89
+ 'China',
90
+ 'Egypt',
91
+ 'France',
92
+ 'Germany',
93
+ 'India',
94
+ 'Italy',
95
+ 'Japan',
96
+ 'Mexico',
97
+ 'Netherlands',
98
+ 'Norway',
99
+ 'Poland',
100
+ 'South Korea',
101
+ 'Spain',
102
+ 'Sweden',
103
+ 'Switzerland',
104
+ 'Turkey',
105
+ 'United Kingdom',
106
+ 'United States'
107
+ ];
108
+ ```
109
+
110
+ ## Usage
111
+
112
+ ```tsx
113
+ import { useAutoComplete } from '@primereact/headless/autocomplete';
114
+ ```
115
+
116
+ ```tsx
117
+ const autocomplete = useAutoComplete({ options: filteredItems, onComplete: search });
118
+ const { rootProps, inputProps, triggerProps, listProps, positionerProps, popupProps, arrowProps } = autocomplete;
119
+
120
+ <div {...rootProps}>
121
+ <input {...inputProps} />
122
+ <button {...triggerProps}></button>
123
+ <div {...positionerProps}>
124
+ <div {...popupProps}>
125
+ <ul {...listProps}>...</ul>
126
+ </div>
127
+ <div {...arrowProps} />
128
+ </div>
129
+ </div>;
130
+ ```
131
+
132
+ `useAutoComplete` composes `useListbox` and `usePopover` internally. See [Primitive](/docs/primitive/components/autocomplete) for a component-based API.
133
+
134
+ ## Features
135
+
136
+ - **Search callback**, fires `onComplete` with the current query; you own the filtering logic
137
+ - **Popup lifecycle**, open/close state, positioning, keyboard dismissal, and outside-click handling
138
+ - **Listbox integration**, option iteration, selection, and keyboard navigation via the returned `listbox` instance
139
+ - **Controlled or uncontrolled**, both value and input text can be managed externally or internally
140
+ - **Imperative controls**, `show()`, `hide()`, `toggle()`, `focus()`, and `setRendered()`
141
+
142
+ ## Working with callbacks
143
+
144
+ ### onComplete, filter your own data
145
+
146
+ The hook doesn't filter options for you. Use `onComplete` to run the search against your data source.
147
+
148
+ ```tsx
149
+ const [filtered, setFiltered] = useState(items);
150
+
151
+ useAutoComplete({
152
+ options: filtered,
153
+ onComplete: ({ query }) => {
154
+ setFiltered(items.filter((item) => item.toLowerCase().includes(query.toLowerCase())));
155
+ }
156
+ });
157
+ ```
158
+
159
+ ### Async search with debounce
160
+
161
+ Set `delay` to throttle `onComplete` for network requests.
162
+
163
+ ```tsx
164
+ useAutoComplete({
165
+ options: results,
166
+ delay: 300,
167
+ onComplete: async ({ query }) => {
168
+ const res = await fetch(`/api/search?q=${query}`);
169
+ setResults(await res.json());
170
+ }
171
+ });
172
+ ```
173
+
174
+ ### Controlled selection
175
+
176
+ Pass `value` and `onValueChange` to drive the selected option from outside state.
177
+
178
+ ```tsx
179
+ const [selected, setSelected] = useState(null);
180
+
181
+ useAutoComplete({
182
+ value: selected,
183
+ onValueChange: ({ value }) => setSelected(value)
184
+ });
185
+ ```
186
+
187
+ ### Controlled input text
188
+
189
+ `inputValue` and `onInputValueChange` control only the text in the input, independent of `value`.
190
+
191
+ ```tsx
192
+ const [query, setQuery] = useState('');
193
+
194
+ useAutoComplete({
195
+ inputValue: query,
196
+ onInputValueChange: ({ query }) => setQuery(query)
197
+ });
198
+ ```
199
+
200
+ ### Object options
201
+
202
+ When options are objects, map the fields used for labels, values, and disabled state.
203
+
204
+ ```tsx
205
+ useAutoComplete({
206
+ options: cities,
207
+ optionLabel: 'name',
208
+ optionValue: 'code',
209
+ optionDisabled: 'inactive'
210
+ });
211
+ ```
212
+
213
+ ## Styling with data attributes
214
+
215
+ The hook exposes state through `data-*` attributes on each part. Use them as CSS selectors, no className juggling.
216
+
217
+ | Scope | Part | States |
218
+ | -------------- | ----------------- | ------------------------------------------------------------------- |
219
+ | `autocomplete` | `trigger` | `data-positioner-open` |
220
+ | `autocomplete` | `popup` | `data-open` |
221
+ | `autocomplete` | `indicator` | `data-open`, `data-closed` |
222
+ | `listbox` | `option` | `data-selected`, `data-unselected`, `data-focused`, `data-disabled` |
223
+ | `listbox` | `optionindicator` | `data-selected`, `data-unselected` |
224
+
225
+ ```css
226
+ [data-scope='autocomplete'][data-part='indicator'][data-open] {
227
+ transform: rotate(180deg);
228
+ }
229
+
230
+ [data-scope='autocomplete'][data-part='popup'][data-open] {
231
+ border: 1px solid var(--p-content-border-color);
232
+ border-radius: 6px;
233
+ box-shadow: 0 4px 12px rgb(0 0 0 / 0.1);
234
+ }
235
+
236
+ [data-scope='listbox'][data-part='option'][data-focused] {
237
+ background: var(--p-surface-100);
238
+ }
239
+ ```
240
+
241
+ ## API
242
+
243
+ ### useAutoComplete
244
+
245
+ <DocTable name="useAutoComplete" category="api" />
246
+
247
+ ## Accessibility
248
+
249
+ Arrow keys navigate suggestions, Enter selects the focused option, Escape dismisses the popup, and typing filters via your onComplete handler. See [Primitive](/docs/primitive/components/autocomplete#accessibility) for full WAI-ARIA compliance details.
@@ -0,0 +1,154 @@
1
+ [
2
+ {
3
+ "name": "useAvatar",
4
+ "source": "apps/showcase/assets/apidoc/useavatar.json",
5
+ "data": {
6
+ "description": "The useAvatar manages the state and functionality of an Avatar component.",
7
+ "interfaces": {
8
+ "UseAvatarProps": {
9
+ "description": "Defines valid properties in useAvatar.",
10
+ "relatedProp": "",
11
+ "props": [
12
+ {
13
+ "name": "delayDuration",
14
+ "type": "number",
15
+ "default": "",
16
+ "description": "The delay duration of the avatar."
17
+ }
18
+ ],
19
+ "methods": []
20
+ },
21
+ "UseAvatarState": {
22
+ "description": "Defines valid state in useAvatar.",
23
+ "relatedProp": "",
24
+ "props": [
25
+ {
26
+ "name": "load",
27
+ "type": "boolean",
28
+ "default": "",
29
+ "description": "Whether the avatar's image is loading or not."
30
+ }
31
+ ],
32
+ "methods": []
33
+ },
34
+ "UseAvatarRootProps": {
35
+ "description": "Data attribute props for the Avatar root element.",
36
+ "relatedProp": "",
37
+ "props": [
38
+ {
39
+ "name": "data-scope",
40
+ "type": "string",
41
+ "default": "",
42
+ "description": "Component scope identifier."
43
+ },
44
+ {
45
+ "name": "data-part",
46
+ "type": "string",
47
+ "default": "",
48
+ "description": "Component part identifier."
49
+ }
50
+ ],
51
+ "methods": []
52
+ },
53
+ "UseAvatarExposes": {
54
+ "description": "Defines the methods and properties exposed by useAvatar.",
55
+ "relatedProp": "",
56
+ "props": [
57
+ {
58
+ "name": "state",
59
+ "type": "UseAvatarState",
60
+ "default": "",
61
+ "description": "The state of the useAvatar."
62
+ },
63
+ {
64
+ "name": "rootProps",
65
+ "type": "UseAvatarRootProps",
66
+ "default": "",
67
+ "description": "Pre-built data attribute props for the root element."
68
+ },
69
+ {
70
+ "name": "handleImageLoad",
71
+ "type": "(src?: string) => void",
72
+ "default": "",
73
+ "description": "The method to handle image load."
74
+ },
75
+ {
76
+ "name": "handleImageUnload",
77
+ "type": "() => void",
78
+ "default": "",
79
+ "description": "The method to handle image unload."
80
+ }
81
+ ],
82
+ "methods": []
83
+ }
84
+ },
85
+ "types": {
86
+ "UseAvatarInstance": {
87
+ "description": "Instance of useAvatar headless.",
88
+ "values": "HeadlessInstance<UseAvatarProps, UseAvatarState, UseAvatarExposes>"
89
+ }
90
+ },
91
+ "variables": {}
92
+ }
93
+ },
94
+ {
95
+ "name": "useAvatarGroup",
96
+ "source": "apps/showcase/assets/apidoc/useavatargroup.json",
97
+ "data": {
98
+ "description": "The useAvatarGroup manages the state and functionality of an AvatarGroup component.",
99
+ "interfaces": {
100
+ "UseAvatarGroupProps": {
101
+ "description": "Defines valid properties in useAvatarGroup.",
102
+ "relatedProp": "",
103
+ "props": [],
104
+ "methods": []
105
+ },
106
+ "UseAvatarGroupState": {
107
+ "description": "Defines valid state in useAvatarGroup.",
108
+ "relatedProp": "",
109
+ "props": [],
110
+ "methods": []
111
+ },
112
+ "UseAvatarGroupRootProps": {
113
+ "description": "Data attribute props for the AvatarGroup root element.",
114
+ "relatedProp": "",
115
+ "props": [
116
+ {
117
+ "name": "data-scope",
118
+ "type": "string",
119
+ "default": "",
120
+ "description": "Component scope identifier."
121
+ },
122
+ {
123
+ "name": "data-part",
124
+ "type": "string",
125
+ "default": "",
126
+ "description": "Component part identifier."
127
+ }
128
+ ],
129
+ "methods": []
130
+ },
131
+ "UseAvatarGroupExposes": {
132
+ "description": "Defines the methods and properties exposed by useAvatarGroup.",
133
+ "relatedProp": "",
134
+ "props": [
135
+ {
136
+ "name": "rootProps",
137
+ "type": "UseAvatarGroupRootProps",
138
+ "default": "",
139
+ "description": "Pre-built data attribute props for the root element."
140
+ }
141
+ ],
142
+ "methods": []
143
+ }
144
+ },
145
+ "types": {
146
+ "UseAvatarGroupInstance": {
147
+ "description": "Instance of useAvatarGroup headless.",
148
+ "values": "HeadlessInstance<UseAvatarGroupProps, UseAvatarGroupState, UseAvatarGroupExposes>"
149
+ }
150
+ },
151
+ "variables": {}
152
+ }
153
+ }
154
+ ]
@@ -0,0 +1,149 @@
1
+ # useAvatar
2
+
3
+ Hooks that manage avatar image loading state and group layout.
4
+
5
+ ```tsx
6
+ 'use client';
7
+ import { User } from '@primeicons/react/user';
8
+ import { useAvatar } from '@primereact/headless/avatar';
9
+ import { useAvatarGroup } from '@primereact/headless/avatargroup';
10
+
11
+ export default function BasicDemo() {
12
+ const { rootProps: groupRootProps } = useAvatarGroup();
13
+ const avatar1 = useAvatar();
14
+ const avatar2 = useAvatar();
15
+ const avatar3 = useAvatar();
16
+ const avatar4 = useAvatar();
17
+
18
+ return (
19
+ <div className="flex justify-center">
20
+ <div {...groupRootProps} className="flex items-center -space-x-3">
21
+ <div
22
+ {...avatar1.rootProps}
23
+ className="inline-flex items-center justify-center w-8 h-8 rounded-full bg-amber-100 dark:bg-amber-950 text-amber-500 ring-2 ring-surface-0 dark:ring-surface-900 text-sm font-medium"
24
+ >
25
+ AB
26
+ </div>
27
+ <div
28
+ {...avatar2.rootProps}
29
+ className="inline-flex items-center justify-center w-8 h-8 rounded-full bg-blue-100 dark:bg-blue-950 text-blue-500 ring-2 ring-surface-0 dark:ring-surface-900 text-sm font-medium"
30
+ >
31
+ CD
32
+ </div>
33
+ <div
34
+ {...avatar3.rootProps}
35
+ className="inline-flex items-center justify-center w-8 h-8 rounded-full bg-green-100 dark:bg-green-950 text-green-500 ring-2 ring-surface-0 dark:ring-surface-900"
36
+ >
37
+ <User />
38
+ </div>
39
+ <div
40
+ {...avatar4.rootProps}
41
+ className="inline-flex items-center justify-center w-8 h-8 rounded-full bg-surface-200 dark:bg-surface-700 text-surface-800 dark:text-surface-300 ring-2 ring-surface-0 dark:ring-surface-900 text-sm font-medium"
42
+ >
43
+ +3
44
+ </div>
45
+ </div>
46
+ </div>
47
+ );
48
+ }
49
+ ```
50
+
51
+ ## Usage
52
+
53
+ ```tsx
54
+ import { useAvatar } from '@primereact/headless/avatar';
55
+ import { useAvatarGroup } from '@primereact/headless/avatargroup';
56
+ ```
57
+
58
+ ```tsx
59
+ const { rootProps, state, handleImageLoad, handleImageUnload } = useAvatar();
60
+
61
+ return <div {...rootProps}></div>;
62
+ ```
63
+
64
+ `useAvatar` owns the image-loading lifecycle and exposes `state.load` for fallback rendering, while `useAvatarGroup` returns root props for grouping multiple avatars. See [Primitive](/docs/primitive/components/avatar) for a component-based API.
65
+
66
+ ## Features
67
+
68
+ - **Image loading lifecycle**, attaches `load`/`error` listeners and flips `state.load` so you can swap between image and fallback
69
+ - **Imperative load helpers**, `handleImageLoad(src)` starts a preload and `handleImageUnload()` cleans listeners up
70
+ - **Delayed reveal**, `delayDuration` holds the image hidden for a short window to avoid layout flashes on fast connections
71
+ - **Group layout primitive**, `useAvatarGroup` exposes a root prop object with shared data attributes so child avatars can be styled relative to each other
72
+ - **Data-attribute styling**, scoped `data-scope` / `data-part` attributes on both avatar and group roots
73
+
74
+ ## Working with callbacks
75
+
76
+ ### Preload an image with cleanup
77
+
78
+ Trigger the preload in an effect and unload on teardown so event listeners never leak.
79
+
80
+ ```tsx
81
+ const { state, handleImageLoad, handleImageUnload } = useAvatar();
82
+
83
+ React.useEffect(() => {
84
+ handleImageLoad('https://example.com/photo.png');
85
+ return () => handleImageUnload();
86
+ }, []);
87
+ ```
88
+
89
+ ### Render a fallback until the image resolves
90
+
91
+ Use `state.load` to decide between the real image and initials, an icon, or a placeholder.
92
+
93
+ ```tsx
94
+ <div {...rootProps}>{state.load ? <img src="https://example.com/photo.png" alt="User" /> : <span>AB</span>}</div>
95
+ ```
96
+
97
+ ### Avoid flash on fast networks
98
+
99
+ Set `delayDuration` so the loaded image only appears after the given delay, which keeps the UI stable when images resolve almost instantly.
100
+
101
+ ```tsx
102
+ const avatar = useAvatar({ delayDuration: 300 });
103
+ ```
104
+
105
+ ### Group avatars with shared styling
106
+
107
+ Wrap a set of avatars in an element spread with `useAvatarGroup`'s `rootProps` to share layout data attributes.
108
+
109
+ ```tsx
110
+ const { rootProps: groupRootProps } = useAvatarGroup();
111
+
112
+ <div {...groupRootProps}>{/* multiple avatar elements */}</div>;
113
+ ```
114
+
115
+ ## Styling with data attributes
116
+
117
+ Every prop object includes `data-scope` and `data-part` attributes you can target directly from CSS.
118
+
119
+ ```css
120
+ [data-scope='avatar'][data-part='root'] {
121
+ width: 3rem;
122
+ height: 3rem;
123
+ border-radius: 50%;
124
+ overflow: hidden;
125
+ }
126
+
127
+ [data-scope='avatargroup'][data-part='root'] {
128
+ display: flex;
129
+ align-items: center;
130
+ }
131
+
132
+ [data-scope='avatargroup'][data-part='root'] > [data-scope='avatar'] {
133
+ margin-left: -0.75rem;
134
+ }
135
+ ```
136
+
137
+ ## API
138
+
139
+ ### useAvatar
140
+
141
+ <DocTable name="useAvatar" category="api" />
142
+
143
+ ### useAvatarGroup
144
+
145
+ <DocTable name="useAvatarGroup" category="api" />
146
+
147
+ ## Accessibility
148
+
149
+ Static visual element, use aria-label for screen reader descriptions. See [Primitive](/docs/primitive/components/avatar#accessibility) for full WAI-ARIA compliance details.
@@ -0,0 +1,68 @@
1
+ [
2
+ {
3
+ "name": "useBadge",
4
+ "source": "apps/showcase/assets/apidoc/usebadge.json",
5
+ "data": {
6
+ "description": "The useBadge manages the state and functionality of a badge component.",
7
+ "interfaces": {
8
+ "UseBadgeProps": {
9
+ "description": "Defines valid properties in useBadge.",
10
+ "relatedProp": "",
11
+ "props": [],
12
+ "methods": []
13
+ },
14
+ "UseBadgeState": {
15
+ "description": "Defines valid state in useBadge.",
16
+ "relatedProp": "",
17
+ "props": [],
18
+ "methods": []
19
+ },
20
+ "UseBadgeRootProps": {
21
+ "description": "Data attribute props for the Badge root element.",
22
+ "relatedProp": "",
23
+ "props": [
24
+ {
25
+ "name": "data-scope",
26
+ "type": "string",
27
+ "default": "",
28
+ "description": "Component scope identifier."
29
+ },
30
+ {
31
+ "name": "data-part",
32
+ "type": "string",
33
+ "default": "",
34
+ "description": "Component part identifier."
35
+ },
36
+ {
37
+ "name": "data-empty",
38
+ "type": "string",
39
+ "default": "",
40
+ "description": "Present when the badge has no children content."
41
+ }
42
+ ],
43
+ "methods": []
44
+ },
45
+ "UseBadgeExposes": {
46
+ "description": "Defines the methods and properties exposed by useBadge.",
47
+ "relatedProp": "",
48
+ "props": [
49
+ {
50
+ "name": "rootProps",
51
+ "type": "UseBadgeRootProps",
52
+ "default": "",
53
+ "description": "Pre-built data attribute props for the root element."
54
+ }
55
+ ],
56
+ "methods": []
57
+ }
58
+ },
59
+ "types": {
60
+ "UseBadgeInstance": {
61
+ "description": "Instance of useBadge headless.",
62
+ "values": "HeadlessInstance<UseBadgeProps, UseBadgeState, UseBadgeExposes>"
63
+ }
64
+ },
65
+ "variables": {}
66
+ }
67
+ }
68
+ ]