@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,167 @@
1
+ # useInputNumber
2
+
3
+ Hook that manages numeric input with formatting, locale support, and spin button behavior.
4
+
5
+ ```tsx
6
+ 'use client';
7
+ import { AngleDown } from '@primeicons/react/angle-down';
8
+ import { AngleUp } from '@primeicons/react/angle-up';
9
+ import { useInputNumber, type UseInputNumberValueChangeEvent } from '@primereact/headless/inputnumber';
10
+ import * as React from 'react';
11
+
12
+ export default function BasicDemo() {
13
+ const [value, setValue] = React.useState(50);
14
+
15
+ const { rootProps, inputProps, state, incrementProps, decrementProps } = useInputNumber({
16
+ value,
17
+ min: 0,
18
+ max: 100,
19
+ mode: 'currency',
20
+ currency: 'EUR',
21
+ onValueChange: (e: UseInputNumberValueChangeEvent) => setValue(e.value)
22
+ });
23
+
24
+ return (
25
+ <div className="flex items-center justify-center" {...rootProps}>
26
+ <div className="flex items-center border border-surface-200 dark:border-surface-700 rounded-lg overflow-hidden">
27
+ <input
28
+ {...inputProps}
29
+ value={state.formattedValue as string}
30
+ className="w-32 px-3 py-2 text-sm bg-transparent outline-none text-surface-900 dark:text-surface-100"
31
+ />
32
+ <div className="flex flex-col border-l border-surface-200 dark:border-surface-700">
33
+ <button
34
+ type="button"
35
+ {...incrementProps}
36
+ className="px-2 hover:bg-surface-50 dark:hover:bg-surface-800 cursor-pointer border-b border-surface-200 dark:border-surface-700 text-surface-600 dark:text-surface-400 text-[.5rem] outline-none focus-visible:bg-surface-100 dark:focus-visible:bg-surface-700"
37
+ >
38
+ <AngleUp />
39
+ </button>
40
+ <button
41
+ type="button"
42
+ {...decrementProps}
43
+ className="px-2 hover:bg-surface-50 dark:hover:bg-surface-800 cursor-pointer text-surface-600 dark:text-surface-400 text-[.5rem] outline-none focus-visible:bg-surface-100 dark:focus-visible:bg-surface-700"
44
+ >
45
+ <AngleDown />
46
+ </button>
47
+ </div>
48
+ </div>
49
+ </div>
50
+ );
51
+ }
52
+ ```
53
+
54
+ ## Usage
55
+
56
+ ```tsx
57
+ import { useInputNumber } from '@primereact/headless/inputnumber';
58
+ ```
59
+
60
+ ```tsx
61
+ const { inputProps, state } = useInputNumber({
62
+ defaultValue: 0
63
+ });
64
+
65
+ return <input {...inputProps} value={state.formattedValue} />;
66
+ ```
67
+
68
+ `useInputNumber` handles numeric parsing, formatting, keyboard-driven increment/decrement, and boundary enforcement. See [Primitive](/docs/primitive/components/inputnumber) for a component-based API.
69
+
70
+ ## Features
71
+
72
+ - **Numeric value state**, tracks raw value and a locale-formatted display string in `state.value` / `state.formattedValue`
73
+ - **Spin button semantics**, applies `role="spinbutton"` and ARIA value properties on the input
74
+ - **Keyboard and pointer stepping**, `increment`, `decrement`, `stepUp`, `stepDown` plus auto-repeat on pointer hold
75
+ - **Locale-aware formatting**, decimal, currency, percent, and grouping configuration via `Intl.NumberFormat`
76
+ - **Boundary enforcement**, `min`/`max` clamp on blur and during spin, with `minBoundry()` / `maxBoundry()` helpers
77
+ - **Affix support**, optional `prefix` and `suffix` text parsed back out of the displayed value
78
+
79
+ ## Working with callbacks
80
+
81
+ ### Controlled value
82
+
83
+ Pass `value` and `onValueChange` to drive the number from outside state.
84
+
85
+ ```tsx
86
+ const [value, setValue] = React.useState(0);
87
+
88
+ useInputNumber({
89
+ value,
90
+ onValueChange: (e) => setValue(e.value)
91
+ });
92
+ ```
93
+
94
+ ### Currency formatting
95
+
96
+ Combine `mode`, `currency`, and `locale` to render monetary values without custom parsers.
97
+
98
+ ```tsx
99
+ useInputNumber({
100
+ mode: 'currency',
101
+ currency: 'USD',
102
+ locale: 'en-US'
103
+ });
104
+ ```
105
+
106
+ ### Clamped range with custom step
107
+
108
+ Use `min`, `max`, and `step` together when the field represents a bounded quantity like a rating or percentage.
109
+
110
+ ```tsx
111
+ useInputNumber({
112
+ min: 0,
113
+ max: 100,
114
+ step: 5
115
+ });
116
+ ```
117
+
118
+ ### Fraction precision
119
+
120
+ Control decimal precision with `minFractionDigits` and `maxFractionDigits`, useful for financial or scientific fields.
121
+
122
+ ```tsx
123
+ useInputNumber({
124
+ minFractionDigits: 2,
125
+ maxFractionDigits: 4
126
+ });
127
+ ```
128
+
129
+ ### Highlight on focus
130
+
131
+ Set `highlightOnFocus` so the input selects its text on focus, letting users overwrite rather than edit.
132
+
133
+ ```tsx
134
+ useInputNumber({ highlightOnFocus: true });
135
+ ```
136
+
137
+ ## Styling with data attributes
138
+
139
+ Each part exposes `data-scope="inputnumber"` and a `data-part` identifier (`root`, `input`). The root reflects state with `data-disabled`, `data-invalid`, and `data-readonly` so descendant selectors can react.
140
+
141
+ ```css
142
+ [data-scope='inputnumber'][data-part='input'] {
143
+ padding: 0.5rem;
144
+ border: 1px solid #ccc;
145
+ border-radius: 0.25rem;
146
+ }
147
+
148
+ [data-scope='inputnumber'][data-part='input']:focus {
149
+ border-color: var(--p-primary-color);
150
+ outline: none;
151
+ }
152
+
153
+ [data-scope='inputnumber'][data-part='root'][data-disabled] [data-part='input'] {
154
+ opacity: 0.5;
155
+ cursor: not-allowed;
156
+ }
157
+ ```
158
+
159
+ ## API
160
+
161
+ ### useInputNumber
162
+
163
+ <DocTable name="useInputNumber" category="api" />
164
+
165
+ ## Accessibility
166
+
167
+ Up/Down arrows increment or decrement, Shift+arrows step by 10, and type-ahead accepts numeric input. See [Primitive](/docs/primitive/components/inputnumber#accessibility) for full WAI-ARIA compliance details.
@@ -0,0 +1,276 @@
1
+ [
2
+ {
3
+ "name": "useInputOtp",
4
+ "source": "apps/showcase/assets/apidoc/useinputotp.json",
5
+ "data": {
6
+ "description": "The useInputOtp manages the state and functionality of an input otp component.",
7
+ "interfaces": {
8
+ "UseInputOtpValueChangeEvent": {
9
+ "description": "Custom value change event.",
10
+ "relatedProp": "",
11
+ "props": [
12
+ {
13
+ "name": "originalEvent",
14
+ "type": "SyntheticEvent<HTMLInputElement>",
15
+ "default": "",
16
+ "description": "Original browser event."
17
+ },
18
+ {
19
+ "name": "value",
20
+ "type": "string",
21
+ "default": "",
22
+ "description": "New value."
23
+ }
24
+ ],
25
+ "methods": []
26
+ },
27
+ "UseInputOtpProps": {
28
+ "description": "Defines valid properties in useInputOtp.",
29
+ "relatedProp": "",
30
+ "props": [
31
+ {
32
+ "name": "value",
33
+ "type": "string",
34
+ "default": "null",
35
+ "description": "Specifies whether a inputotp should be checked or not."
36
+ },
37
+ {
38
+ "name": "defaultValue",
39
+ "type": "string",
40
+ "default": "null",
41
+ "description": "Specifies whether a inputotp should be checked or not."
42
+ },
43
+ {
44
+ "name": "integerOnly",
45
+ "type": "boolean",
46
+ "default": "false",
47
+ "description": "When present, it specifies that only integers are allowed."
48
+ },
49
+ {
50
+ "name": "mask",
51
+ "type": "boolean",
52
+ "default": "false",
53
+ "description": "Mask pattern."
54
+ },
55
+ {
56
+ "name": "disabled",
57
+ "type": "boolean",
58
+ "default": "undefined",
59
+ "description": "When present, it specifies that the component should be disabled."
60
+ },
61
+ {
62
+ "name": "onValueChange",
63
+ "type": "(event: UseInputOtpValueChangeEvent) => void",
64
+ "default": "",
65
+ "description": "Callback to invoke when value changes."
66
+ }
67
+ ],
68
+ "methods": []
69
+ },
70
+ "UseInputOtpState": {
71
+ "description": "Defines valid state in useInputOtp.",
72
+ "relatedProp": "",
73
+ "props": [
74
+ {
75
+ "name": "value",
76
+ "type": "string",
77
+ "default": "",
78
+ "description": "Value of the otp."
79
+ },
80
+ {
81
+ "name": "tokens",
82
+ "type": "string[]",
83
+ "default": "",
84
+ "description": "Tokens of the otp."
85
+ }
86
+ ],
87
+ "methods": []
88
+ },
89
+ "UseInputOtpRootProps": {
90
+ "description": "Props for the input OTP root element.",
91
+ "relatedProp": "",
92
+ "props": [
93
+ {
94
+ "name": "ref",
95
+ "type": "(node: HTMLElement) => void",
96
+ "default": "",
97
+ "description": "Ref callback that connects the root element to the hook for DOM-based input detection."
98
+ },
99
+ {
100
+ "name": "id",
101
+ "type": "string",
102
+ "default": "",
103
+ "description": "The id attribute for the root element."
104
+ },
105
+ {
106
+ "name": "data-scope",
107
+ "type": "\"inputotp\"",
108
+ "default": "",
109
+ "description": "Data scope attribute."
110
+ },
111
+ {
112
+ "name": "data-part",
113
+ "type": "\"root\"",
114
+ "default": "",
115
+ "description": "Data part attribute."
116
+ }
117
+ ],
118
+ "methods": []
119
+ },
120
+ "UseInputOtpTextProps": {
121
+ "description": "Props for an input OTP text element at a given index.",
122
+ "relatedProp": "",
123
+ "props": [
124
+ {
125
+ "name": "data-scope",
126
+ "type": "\"inputotp\"",
127
+ "default": "",
128
+ "description": "Data scope attribute."
129
+ },
130
+ {
131
+ "name": "data-part",
132
+ "type": "\"text\"",
133
+ "default": "",
134
+ "description": "Data part attribute."
135
+ },
136
+ {
137
+ "name": "value",
138
+ "type": "string",
139
+ "default": "",
140
+ "description": "The current token value for this input position."
141
+ },
142
+ {
143
+ "name": "type",
144
+ "type": "string",
145
+ "default": "",
146
+ "description": "The input type ('text' or 'password' when mask is enabled)."
147
+ },
148
+ {
149
+ "name": "inputMode",
150
+ "type": "\"text\" | \"numeric\"",
151
+ "default": "",
152
+ "description": "The input mode for mobile keyboards."
153
+ },
154
+ {
155
+ "name": "disabled",
156
+ "type": "boolean",
157
+ "default": "",
158
+ "description": "Whether the input is disabled, resolved from OTP root props with fallback."
159
+ },
160
+ {
161
+ "name": "data-index",
162
+ "type": "number",
163
+ "default": "",
164
+ "description": "The index of this input within the OTP sequence."
165
+ },
166
+ {
167
+ "name": "onInput",
168
+ "type": "(e: SyntheticEvent<HTMLInputElement>) => void",
169
+ "default": "",
170
+ "description": "Input event handler bound to the current index."
171
+ },
172
+ {
173
+ "name": "onClick",
174
+ "type": "(event: MouseEvent<HTMLInputElement>) => void",
175
+ "default": "",
176
+ "description": "Click event handler."
177
+ },
178
+ {
179
+ "name": "onKeyDown",
180
+ "type": "(event: KeyboardEvent<HTMLInputElement>) => void",
181
+ "default": "",
182
+ "description": "Key down event handler."
183
+ },
184
+ {
185
+ "name": "onPaste",
186
+ "type": "(event: ClipboardEvent<HTMLInputElement>) => void",
187
+ "default": "",
188
+ "description": "Paste event handler."
189
+ }
190
+ ],
191
+ "methods": []
192
+ },
193
+ "UseInputOtpExposes": {
194
+ "description": "Defines the methods and properties exposed by useInputOtp.",
195
+ "relatedProp": "",
196
+ "props": [
197
+ {
198
+ "name": "state",
199
+ "type": "UseInputOtpState",
200
+ "default": "",
201
+ "description": "State of the input OTP."
202
+ },
203
+ {
204
+ "name": "getInputEls",
205
+ "type": "() => HTMLInputElement[]",
206
+ "default": "",
207
+ "description": "Returns an array of input elements within the root element.\nUses DOM query with `input[data-scope=\"inputotp\"][data-part=\"text\"]` selector."
208
+ },
209
+ {
210
+ "name": "setRootRef",
211
+ "type": "(node: HTMLElement) => void",
212
+ "default": "",
213
+ "description": "Ref callback to connect the root DOM element to the hook."
214
+ },
215
+ {
216
+ "name": "inputType",
217
+ "type": "string",
218
+ "default": "",
219
+ "description": "The input type based on configuration ('text' or 'password')."
220
+ },
221
+ {
222
+ "name": "inputMode",
223
+ "type": "\"text\" | \"numeric\"",
224
+ "default": "",
225
+ "description": "The input mode for mobile keyboards ('numeric' when integerOnly is true, 'text' otherwise)."
226
+ },
227
+ {
228
+ "name": "rootProps",
229
+ "type": "UseInputOtpRootProps",
230
+ "default": "",
231
+ "description": "Pre-built props for the root element.\nIncludes ref callback, id, and data attributes."
232
+ },
233
+ {
234
+ "name": "getTextProps",
235
+ "type": "(index: number, fallbackDisabled?: boolean) => UseInputOtpTextProps",
236
+ "default": "",
237
+ "description": "Returns pre-built props for a text input element at the given index.\nIncludes value, type, inputMode, disabled, data-index, and event handlers."
238
+ },
239
+ {
240
+ "name": "onInput",
241
+ "type": "(event: SyntheticEvent<HTMLInputElement>, index: number) => void",
242
+ "default": "",
243
+ "description": "Input event handler."
244
+ },
245
+ {
246
+ "name": "onClick",
247
+ "type": "(event: MouseEvent<HTMLInputElement>) => void",
248
+ "default": "",
249
+ "description": "Click event handler."
250
+ },
251
+ {
252
+ "name": "onKeyDown",
253
+ "type": "(event: KeyboardEvent<HTMLInputElement>) => void",
254
+ "default": "",
255
+ "description": "Key down event handler."
256
+ },
257
+ {
258
+ "name": "onPaste",
259
+ "type": "(event: ClipboardEvent<HTMLInputElement>) => void",
260
+ "default": "",
261
+ "description": "Paste event handler."
262
+ }
263
+ ],
264
+ "methods": []
265
+ }
266
+ },
267
+ "types": {
268
+ "UseInputOtpInstance": {
269
+ "description": "Instance of useInputOtp headless.",
270
+ "values": "HeadlessInstance<UseInputOtpProps, UseInputOtpState, UseInputOtpExposes>"
271
+ }
272
+ },
273
+ "variables": {}
274
+ }
275
+ }
276
+ ]
@@ -0,0 +1,130 @@
1
+ # useInputOtp
2
+
3
+ Hook that manages OTP input state, focus navigation, and keyboard handling.
4
+
5
+ ```tsx
6
+ 'use client';
7
+ import { useInputOtp } from '@primereact/headless/inputotp';
8
+
9
+ export default function BasicDemo() {
10
+ const { rootProps, getTextProps } = useInputOtp();
11
+
12
+ return (
13
+ <div className="flex justify-center">
14
+ <div {...rootProps} className="flex items-center gap-2">
15
+ {[0, 1, 2, 3].map((index) => (
16
+ <input
17
+ key={index}
18
+ {...getTextProps(index)}
19
+ className="w-9 py-1.5 text-sm text-center rounded-md border border-surface-300 dark:border-surface-600 bg-white dark:bg-surface-900 text-surface-700 dark:text-surface-100 outline-hidden hover:border-surface-400 dark:hover:border-surface-500 focus-visible:border-primary transition-colors duration-200"
20
+ />
21
+ ))}
22
+ </div>
23
+ </div>
24
+ );
25
+ }
26
+ ```
27
+
28
+ ## Usage
29
+
30
+ ```tsx
31
+ import { useInputOtp } from '@primereact/headless/inputotp';
32
+ ```
33
+
34
+ ```tsx
35
+ const { rootProps, getTextProps } = useInputOtp();
36
+
37
+ <div {...rootProps}>
38
+ <input {...getTextProps(0)} />
39
+ <input {...getTextProps(1)} />
40
+ <input {...getTextProps(2)} />
41
+ <input {...getTextProps(3)} />
42
+ </div>;
43
+ ```
44
+
45
+ `useInputOtp` manages OTP value state, per-input focus navigation, and keyboard/paste handling. See [Primitive](/docs/primitive/components/inputotp) for a component-based API.
46
+
47
+ ## Features
48
+
49
+ - **Per-slot prop getter**, `getTextProps(index)` returns the props for each OTP slot, including refs and handlers
50
+ - **Auto focus flow**, advances focus on input, retreats on backspace, and supports left/right arrow navigation
51
+ - **Paste distribution**, spreads clipboard content across the remaining slots in a single operation
52
+ - **Masking and numeric modes**, `mask` switches to `type="password"`, `integerOnly` restricts to digits with `inputMode="numeric"`
53
+ - **Controlled or uncontrolled**, value driven via `value`/`onValueChange` or tracked internally from `defaultValue`
54
+
55
+ ## Working with callbacks
56
+
57
+ ### Controlled value
58
+
59
+ Pass `value` and `onValueChange` when the OTP should live in outside state, for form integration or async verification.
60
+
61
+ ```tsx
62
+ const [code, setCode] = React.useState('');
63
+
64
+ useInputOtp({
65
+ value: code,
66
+ onValueChange: (e) => setCode(e.value)
67
+ });
68
+ ```
69
+
70
+ ### Numeric-only codes
71
+
72
+ Enable `integerOnly` to restrict input to digits and signal numeric keyboards on mobile.
73
+
74
+ ```tsx
75
+ useInputOtp({ integerOnly: true });
76
+ ```
77
+
78
+ ### Masked entry
79
+
80
+ Set `mask` to render each slot as a password field, useful for sensitive tokens.
81
+
82
+ ```tsx
83
+ useInputOtp({ mask: true });
84
+ ```
85
+
86
+ ### Auto-submit on completion
87
+
88
+ Combine controlled value with a length check to trigger submission once all slots are filled.
89
+
90
+ ```tsx
91
+ const [code, setCode] = React.useState('');
92
+
93
+ useInputOtp({
94
+ value: code,
95
+ onValueChange: (e) => {
96
+ setCode(e.value);
97
+ if (e.value.length === 6) verify(e.value);
98
+ }
99
+ });
100
+ ```
101
+
102
+ ## Styling with data attributes
103
+
104
+ The root element includes `data-scope="inputotp"` and `data-part="root"`. Each input includes `data-scope="inputotp"` and `data-part="input"`.
105
+
106
+ ```css
107
+ [data-scope='inputotp'][data-part='root'] {
108
+ display: flex;
109
+ gap: 0.5rem;
110
+ }
111
+
112
+ [data-scope='inputotp'][data-part='input'] {
113
+ width: 2.5rem;
114
+ text-align: center;
115
+ }
116
+
117
+ [data-scope='inputotp'][data-part='input']:focus {
118
+ border-color: var(--p-primary-color);
119
+ }
120
+ ```
121
+
122
+ ## API
123
+
124
+ ### useInputOtp
125
+
126
+ <DocTable name="useInputOtp" category="api" />
127
+
128
+ ## Accessibility
129
+
130
+ Arrow keys move between slots, Backspace clears the current slot and moves left, and paste distributes characters across all slots. See [Primitive](/docs/primitive/components/inputotp#accessibility) for full WAI-ARIA compliance details.