@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,298 @@
1
+ # useInputTags
2
+
3
+ Hook that manages tag input state and keyboard navigation between chips.
4
+
5
+ ```tsx
6
+ 'use client';
7
+ import { Times } from '@primeicons/react/times';
8
+ import { useAutoComplete, type UseAutoCompleteCompleteEvent, type UseAutoCompleteValueChangeEvent } from '@primereact/headless/autocomplete';
9
+ import { useInputTags, type UseInputTagsValueChangeEvent } from '@primereact/headless/inputtags';
10
+ import { useListboxOption } from '@primereact/headless/listbox';
11
+ import { usePortal } from '@primereact/headless/portal';
12
+ import { usePositioner } from '@primereact/headless/positioner';
13
+ import type { UseListboxInstance } from '@primereact/types/headless/listbox';
14
+ import { mergeProps } from '@primeuix/utils';
15
+ import * as React from 'react';
16
+ import { createPortal } from 'react-dom';
17
+
18
+ const countries = [
19
+ 'Argentina',
20
+ 'Australia',
21
+ 'Brazil',
22
+ 'Canada',
23
+ 'China',
24
+ 'Egypt',
25
+ 'France',
26
+ 'Germany',
27
+ 'India',
28
+ 'Italy',
29
+ 'Japan',
30
+ 'Mexico',
31
+ 'Netherlands',
32
+ 'Norway',
33
+ 'Poland',
34
+ 'South Korea',
35
+ 'Spain',
36
+ 'Sweden',
37
+ 'Switzerland',
38
+ 'Turkey',
39
+ 'United Kingdom',
40
+ 'United States'
41
+ ];
42
+
43
+ function OptionItem({ option, index, listbox }: { option: unknown; index: number; listbox: UseListboxInstance }) {
44
+ const { optionProps } = useListboxOption({ option, index, context: listbox });
45
+
46
+ return (
47
+ <li
48
+ {...optionProps}
49
+ 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"
50
+ >
51
+ {listbox.getOptionLabel(option) as string}
52
+ </li>
53
+ );
54
+ }
55
+
56
+ export default function BasicDemo() {
57
+ const [tags, setTags] = React.useState<string[]>([]);
58
+ const [query, setQuery] = React.useState('');
59
+ const [rootEl, setRootEl] = React.useState<HTMLElement | null>(null);
60
+
61
+ const filteredCountries = React.useMemo(() => {
62
+ const q = query.toLowerCase();
63
+
64
+ return countries.filter((country) => (!q || country.toLowerCase().includes(q)) && !tags.includes(country));
65
+ }, [query, tags]);
66
+
67
+ const inputtags = useInputTags({
68
+ value: tags,
69
+ onValueChange: (e: UseInputTagsValueChangeEvent) => setTags(e.value as string[])
70
+ });
71
+
72
+ const ac = useAutoComplete({
73
+ options: filteredCountries,
74
+ onComplete: (e: UseAutoCompleteCompleteEvent) => setQuery(e.query),
75
+ onValueChange: (e: UseAutoCompleteValueChangeEvent) => {
76
+ if (typeof e.value === 'string') inputtags.addItem(e.value);
77
+ }
78
+ });
79
+
80
+ const portal = usePortal();
81
+
82
+ usePositioner({
83
+ anchor: rootEl,
84
+ content: ac.state.positionerElement,
85
+ side: 'bottom',
86
+ sideOffset: 4,
87
+ flip: true,
88
+ shift: true
89
+ });
90
+
91
+ const rootProps = mergeProps(inputtags.rootProps, { ref: setRootEl });
92
+
93
+ const inputProps = mergeProps(ac.inputProps, inputtags.controlProps, {
94
+ placeholder: tags.length === 0 ? 'Add countries...' : '',
95
+ className:
96
+ 'flex-1 min-w-20 px-1 py-0.5 text-sm bg-transparent outline-none border-none text-surface-700 dark:text-surface-0 placeholder:text-surface-400'
97
+ });
98
+
99
+ return (
100
+ <div className="flex justify-center">
101
+ <div
102
+ {...rootProps}
103
+ className="flex flex-wrap items-center gap-1.5 w-full md:w-80 px-2 py-1.5 border border-surface-200 dark:border-surface-700 rounded-lg bg-surface-0 dark:bg-surface-900 cursor-text transition-colors focus-within:border-primary-500"
104
+ >
105
+ {inputtags.state.value.map((tag: string, index: number) => (
106
+ <span
107
+ key={`${tag}_${index}`}
108
+ {...inputtags.getItemProps(index)}
109
+ className="inline-flex items-center gap-1 px-2 py-0.5 text-sm bg-surface-100 dark:bg-surface-800 text-surface-700 dark:text-surface-0 rounded-md select-none data-selected:bg-surface-200 dark:data-selected:bg-surface-700"
110
+ >
111
+ {tag}
112
+ <button
113
+ type="button"
114
+ onClick={() => inputtags.removeItem(index)}
115
+ className="flex items-center justify-center w-4 h-4 bg-transparent border-none cursor-pointer text-surface-400 hover:text-surface-700 dark:hover:text-surface-200 transition-colors rounded-sm"
116
+ >
117
+ <Times className="w-3 h-3" />
118
+ </button>
119
+ </span>
120
+ ))}
121
+ <input {...inputProps} />
122
+ </div>
123
+
124
+ {portal.state.mounted &&
125
+ ac.state.opened &&
126
+ createPortal(
127
+ <div {...ac.positionerProps}>
128
+ <div
129
+ {...ac.popupProps}
130
+ className="border border-surface-200 dark:border-surface-700 rounded-lg bg-surface-0 dark:bg-surface-900 shadow-md overflow-hidden"
131
+ style={{ width: 'var(--px-positioner-anchor-width, max-content)' }}
132
+ >
133
+ {filteredCountries.length > 0 && (
134
+ <ul {...ac.listProps} className="list-none m-0 p-1 outline-none max-h-56 overflow-auto">
135
+ {ac.listbox?.getOptions().map((option: unknown, index: number) => (
136
+ <OptionItem key={index} option={option} index={index} listbox={ac.listbox!} />
137
+ ))}
138
+ </ul>
139
+ )}
140
+ {filteredCountries.length === 0 && <div className="px-3 py-2 text-sm">No results found</div>}
141
+ </div>
142
+ </div>,
143
+ document.body
144
+ )}
145
+ </div>
146
+ );
147
+ }
148
+ ```
149
+
150
+ ## Usage
151
+
152
+ ```tsx
153
+ import { useInputTags } from '@primereact/headless/inputtags';
154
+ ```
155
+
156
+ ```tsx
157
+ const { rootProps, controlProps, getItemProps, removeItem, state } = useInputTags({
158
+ value: tags,
159
+ onValueChange: (e) => setTags(e.value)
160
+ });
161
+
162
+ <div {...rootProps}>
163
+ {state.value.map((tag, index) => (
164
+ <span key={index} {...getItemProps(index)}>
165
+ {tag}
166
+ <button onClick={() => removeItem(index)}>×</button>
167
+ </span>
168
+ ))}
169
+ <input {...controlProps} />
170
+ </div>;
171
+ ```
172
+
173
+ `useInputTags` is a pure tag-state hook, it manages the tag array, the text-entry value, focus, keyboard navigation between chips, delimiter splitting, and paste handling. It deliberately has no popover/listbox composition built in. For typeahead-driven entry, compose the hook's `controlProps` with an `<AutoComplete.Root>` tree in the [Primitive](/docs/primitive/components/inputtags) API.
174
+
175
+ ## Returned values
176
+
177
+ | Field | Description |
178
+ | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
179
+ | `state.value` | Current tag list. |
180
+ | `state.inputValue` | Current text-entry value. |
181
+ | `state.focused` | Whether the text-entry control is focused. |
182
+ | `state.focusedItemIndex` | Index of the keyboard-focused tag, or `-1` when none. |
183
+ | `inputRef` | Ref attached to the text-entry control. |
184
+ | `rootProps` | Spread on the container element (sets `role="listbox"` and `aria-orientation`). Attach your own callback ref via `mergeProps` when you need the root DOM node, e.g. to anchor a popup positioner against the full field. |
185
+ | `controlProps` | Spread on the text-entry `<input>`. Wires `value`/`onChange`, focus/blur tracking, keyboard handlers, and paste-to-tags. |
186
+ | `hiddenInputProps` | Optional hidden `<input type="hidden">` props for form submission with the joined tag values. |
187
+ | `getItemProps` | `(index) => props`, spread on each rendered chip for ARIA roles (`role="option"`, `aria-selected`, `aria-setsize`, `aria-posinset`) and the `data-selected` focus marker. |
188
+ | `addItem` | `(tag: string \| string[]) => string[]`, adds one or more tags (subject to `max`, `allowDuplicate`, trimming). |
189
+ | `removeItem` | `(index) => void`, removes the tag at the given index. |
190
+ | `removeLast` | Removes the last tag. |
191
+ | `removeAll` | Clears every tag. |
192
+
193
+ ## Working with callbacks
194
+
195
+ ### Controlled tags
196
+
197
+ Pass `value` and `onValueChange` to own the tag list, needed when tags are persisted, validated, or shared across components.
198
+
199
+ ```tsx
200
+ const [tags, setTags] = React.useState<string[]>(['React']);
201
+
202
+ useInputTags({
203
+ value: tags,
204
+ onValueChange: (e) => setTags(e.value)
205
+ });
206
+ ```
207
+
208
+ ### Controlled input query
209
+
210
+ `inputValue`/`onInputValueChange` control only the typed text, independent of the committed tag list. Useful for custom filtering, clearing the input programmatically, or syncing the query with external state.
211
+
212
+ ```tsx
213
+ const [query, setQuery] = React.useState('');
214
+
215
+ useInputTags({
216
+ inputValue: query,
217
+ onInputValueChange: (e) => setQuery(e.query)
218
+ });
219
+ ```
220
+
221
+ ### Custom add triggers
222
+
223
+ Combine `delimiter`, `addOnBlur`, `addOnTab`, and `addOnPaste` when users expect to paste comma-separated lists or commit on Tab.
224
+
225
+ ```tsx
226
+ useInputTags({
227
+ delimiter: ',',
228
+ addOnBlur: true,
229
+ addOnTab: true,
230
+ addOnPaste: true
231
+ });
232
+ ```
233
+
234
+ ### Per-tag add/remove events
235
+
236
+ Use `onAdd` and `onRemove` when side effects should run for each individual change (analytics, toast, server sync).
237
+
238
+ ```tsx
239
+ useInputTags({
240
+ onAdd: (e) => console.log('Added:', e.value),
241
+ onRemove: (e) => console.log('Removed:', e.value)
242
+ });
243
+ ```
244
+
245
+ ### Tracking the root element
246
+
247
+ `useInputTags` doesn't expose a root-element ref by design. When you need the container DOM node (e.g. as `anchor` for a popup positioner so the suggestions match the full field width), attach a callback ref via `mergeProps` and back it with `useState` so consumers re-render once it mounts.
248
+
249
+ ```tsx
250
+ import { mergeProps } from '@primeuix/utils';
251
+
252
+ const [rootEl, setRootEl] = React.useState<HTMLElement | null>(null);
253
+
254
+ const inputtags = useInputTags({ value: tags, onValueChange: (e) => setTags(e.value) });
255
+ const rootProps = mergeProps(inputtags.rootProps, { ref: setRootEl });
256
+
257
+ usePositioner({ anchor: rootEl, content: positionerEl /* … */ });
258
+
259
+ <div {...rootProps}>…</div>;
260
+ ```
261
+
262
+ ## Styling with data attributes
263
+
264
+ The hook exposes state through `data-*` attributes on each part. Use them as CSS selectors, no className juggling.
265
+
266
+ | Scope | Part | States |
267
+ | ----------- | --------- | ----------------------------------- |
268
+ | `inputtags` | `root` | `:focus-within` |
269
+ | `inputtags` | `control` | (none, standard input states apply) |
270
+
271
+ Each chip rendered with `{...getItemProps(index)}` receives:
272
+
273
+ | Attribute | Meaning |
274
+ | --------------- | ---------------------------------------------------------------------------------- |
275
+ | `role` | `"option"` |
276
+ | `aria-selected` | `true` when the chip has keyboard focus, else `false` |
277
+ | `data-selected` | Empty string when focused (matchable via `[data-selected]`), `undefined` otherwise |
278
+
279
+ ```css
280
+ [data-scope='inputtags'][data-part='root']:focus-within {
281
+ border-color: var(--p-primary-color);
282
+ box-shadow: 0 0 0 1px var(--p-primary-color);
283
+ }
284
+
285
+ [data-scope='inputtags'][data-part='root'] [role='option'][data-selected] {
286
+ background: var(--p-surface-200);
287
+ }
288
+ ```
289
+
290
+ ## API
291
+
292
+ ### useInputTags
293
+
294
+ <DocTable name="useInputTags" category="api" />
295
+
296
+ ## Accessibility
297
+
298
+ Enter adds a tag, Backspace on empty input removes the last tag, and Arrow keys navigate existing tags for deletion. See [Primitive](/docs/primitive/components/inputtags#accessibility) for full WAI-ARIA compliance details.
@@ -0,0 +1,81 @@
1
+ [
2
+ {
3
+ "name": "useInputText",
4
+ "source": "apps/showcase/assets/apidoc/useinputtext.json",
5
+ "data": {
6
+ "description": "The useInputText manages the state and functionality of an input text component.",
7
+ "interfaces": {
8
+ "UseInputTextProps": {
9
+ "description": "Defines valid properties in useInputText.",
10
+ "relatedProp": "",
11
+ "props": [
12
+ {
13
+ "name": "invalid",
14
+ "type": "boolean",
15
+ "default": "",
16
+ "description": "When present, it specifies that the component should have invalid state style."
17
+ }
18
+ ],
19
+ "methods": []
20
+ },
21
+ "UseInputTextState": {
22
+ "description": "Defines valid state in useInputText.",
23
+ "relatedProp": "",
24
+ "props": [],
25
+ "methods": []
26
+ },
27
+ "UseInputTextRootProps": {
28
+ "description": "Data attribute props for the InputText root element.",
29
+ "relatedProp": "",
30
+ "props": [
31
+ {
32
+ "name": "type",
33
+ "type": "\"text\"",
34
+ "default": "",
35
+ "description": "Default input type."
36
+ },
37
+ {
38
+ "name": "data-scope",
39
+ "type": "string",
40
+ "default": "",
41
+ "description": "Component scope identifier."
42
+ },
43
+ {
44
+ "name": "data-part",
45
+ "type": "string",
46
+ "default": "",
47
+ "description": "Component part identifier."
48
+ },
49
+ {
50
+ "name": "data-invalid",
51
+ "type": "string",
52
+ "default": "",
53
+ "description": "Invalid state data attribute."
54
+ }
55
+ ],
56
+ "methods": []
57
+ },
58
+ "UseInputTextExposes": {
59
+ "description": "Defines the methods and properties exposed by useInputText.",
60
+ "relatedProp": "",
61
+ "props": [
62
+ {
63
+ "name": "rootProps",
64
+ "type": "UseInputTextRootProps",
65
+ "default": "",
66
+ "description": "Pre-built data attribute props for the root element."
67
+ }
68
+ ],
69
+ "methods": []
70
+ }
71
+ },
72
+ "types": {
73
+ "UseInputTextInstance": {
74
+ "description": "Instance of useInputText headless.",
75
+ "values": "HeadlessInstance<UseInputTextProps, UseInputTextState, UseInputTextExposes>"
76
+ }
77
+ },
78
+ "variables": {}
79
+ }
80
+ }
81
+ ]
@@ -0,0 +1,109 @@
1
+ # useInputText
2
+
3
+ Hook that provides data attributes and prop spreading for text input elements.
4
+
5
+ ```tsx
6
+ 'use client';
7
+ import { useInputText } from '@primereact/headless/inputtext';
8
+
9
+ export default function BasicDemo() {
10
+ const { rootProps } = useInputText();
11
+
12
+ return (
13
+ <div className="flex justify-center">
14
+ <input
15
+ {...rootProps}
16
+ placeholder="Enter text"
17
+ className="px-2.5 py-1.5 text-sm rounded-md border border-surface-300 dark:border-surface-600 bg-white dark:bg-surface-900 text-surface-700 dark:text-surface-100 placeholder:text-surface-400 dark:placeholder:text-surface-500 outline-hidden hover:border-surface-400 dark:hover:border-surface-500 focus-visible:border-primary transition-colors duration-200"
18
+ />
19
+ </div>
20
+ );
21
+ }
22
+ ```
23
+
24
+ ## Usage
25
+
26
+ ```tsx
27
+ import { useInputText } from '@primereact/headless/inputtext';
28
+ ```
29
+
30
+ ```tsx
31
+ const { rootProps } = useInputText();
32
+
33
+ return <input {...rootProps} placeholder="Enter text" />;
34
+ ```
35
+
36
+ `useInputText` returns spread-ready `rootProps` with `type="text"` and data attributes for styling. See [Primitive](/docs/primitive/components/inputtext) for a component-based API.
37
+
38
+ ## Features
39
+
40
+ - **Zero-state spreading**, returns a single `rootProps` object you spread onto any input element
41
+ - **Native behavior**, no internal state; value, focus, and validation stay with the DOM element
42
+ - **Data-attribute surface**, emits `data-scope` and `data-part` for CSS targeting without class names
43
+ - **Type default**, applies `type="text"` while staying overridable via spread order
44
+
45
+ ## Working with callbacks
46
+
47
+ ### Use native handlers for value
48
+
49
+ Because the hook is stateless, compose with React state directly on the input element.
50
+
51
+ ```tsx
52
+ const [text, setText] = React.useState('');
53
+ const { rootProps } = useInputText();
54
+
55
+ return <input {...rootProps} value={text} onChange={(e) => setText(e.target.value)} />;
56
+ ```
57
+
58
+ ### Spread onto a custom element
59
+
60
+ `rootProps` works with any element that accepts input-like attributes, useful for masked or styled wrappers.
61
+
62
+ ```tsx
63
+ const { rootProps } = useInputText();
64
+
65
+ return <MaskedInput {...rootProps} mask="999-9999" />;
66
+ ```
67
+
68
+ ### Forward refs through the spread
69
+
70
+ Any refs or extra handlers you pass after `rootProps` compose naturally.
71
+
72
+ ```tsx
73
+ const ref = React.useRef<HTMLInputElement>(null);
74
+ const { rootProps } = useInputText();
75
+
76
+ return <input {...rootProps} ref={ref} onBlur={validate} />;
77
+ ```
78
+
79
+ ## Styling with data attributes
80
+
81
+ The prop object includes `data-scope="inputtext"` and `data-part="root"` for styling.
82
+
83
+ ```css
84
+ [data-scope='inputtext'][data-part='root'] {
85
+ padding: 0.5rem;
86
+ border: 1px solid #ccc;
87
+ border-radius: 0.25rem;
88
+ }
89
+
90
+ [data-scope='inputtext'][data-part='root']:focus {
91
+ border-color: var(--p-primary-color);
92
+ outline: none;
93
+ }
94
+
95
+ [data-scope='inputtext'][data-part='root']:disabled {
96
+ opacity: 0.5;
97
+ cursor: not-allowed;
98
+ }
99
+ ```
100
+
101
+ ## API
102
+
103
+ ### useInputText
104
+
105
+ <DocTable name="useInputText" category="api" />
106
+
107
+ ## Accessibility
108
+
109
+ Standard text input keyboard behavior, arrow keys move the cursor, Shift+arrows select text. See [Primitive](/docs/primitive/components/inputtext#accessibility) for full WAI-ARIA compliance details.