@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,183 @@
1
+ # useToggleButton
2
+
3
+ Hooks that manage toggle button pressed state and group value selection with single or multiple modes.
4
+
5
+ ```tsx
6
+ 'use client';
7
+ import { AlignCenter } from '@primeicons/react/align-center';
8
+ import { AlignJustify } from '@primeicons/react/align-justify';
9
+ import { AlignLeft } from '@primeicons/react/align-left';
10
+ import { AlignRight } from '@primeicons/react/align-right';
11
+ import { Bookmark } from '@primeicons/react/bookmark';
12
+ import { useToggleButton, type UseToggleButtonChangeEvent } from '@primereact/headless/togglebutton';
13
+ import { useToggleButtonGroup } from '@primereact/headless/togglebuttongroup';
14
+
15
+ const alignOptions = [
16
+ { value: 'left', icon: AlignLeft },
17
+ { value: 'center', icon: AlignCenter },
18
+ { value: 'right', icon: AlignRight },
19
+ { value: 'justify', icon: AlignJustify }
20
+ ];
21
+
22
+ export default function BasicDemo() {
23
+ const toggle = useToggleButton();
24
+ const rootProps = toggle.getRootProps(false, false);
25
+ const indicatorProps = toggle.getIndicatorProps(false, false);
26
+
27
+ const group = useToggleButtonGroup({ allowEmpty: false });
28
+
29
+ return (
30
+ <div className="flex flex-col items-center gap-6">
31
+ <button
32
+ {...rootProps}
33
+ className="inline-flex items-center justify-center size-8 rounded-lg border border-surface-200 dark:border-surface-700 bg-surface-100 dark:bg-surface-900 text-surface-500 dark:text-surface-400 data-[pressed]:text-primary data-[pressed]:border-primary/30 data-[pressed]:bg-primary/10 cursor-pointer select-none transition-colors duration-200 focus-visible:outline-1 focus-visible:outline-offset-2 focus-visible:outline-primary disabled:opacity-60 disabled:pointer-events-none"
34
+ >
35
+ <span {...indicatorProps}>
36
+ <Bookmark />
37
+ </span>
38
+ </button>
39
+
40
+ <div {...group.rootProps} className="inline-flex rounded-lg border border-surface-200 dark:border-surface-700">
41
+ {alignOptions.map((option) => {
42
+ const btn = useToggleButton({
43
+ pressed: group.isPressed(group.state.value, option.value),
44
+ onPressedChange: (e: UseToggleButtonChangeEvent) => group.updateChange({ ...e, value: option.value })
45
+ });
46
+ const btnRootProps = btn.getRootProps(false, false);
47
+ const Icon = option.icon;
48
+
49
+ return (
50
+ <button
51
+ key={option.value}
52
+ {...btnRootProps}
53
+ className="inline-flex items-center justify-center size-8 bg-surface-100 dark:bg-surface-900 text-surface-500 dark:text-surface-400 data-[pressed]:bg-primary data-[pressed]:text-primary-contrast border-r border-surface-200 dark:border-surface-700 last:border-r-0 cursor-pointer select-none transition-colors duration-200 focus-visible:outline-1 focus-visible:outline-offset-2 focus-visible:outline-primary focus-visible:z-10 disabled:opacity-60 disabled:pointer-events-none"
54
+ >
55
+ <Icon className="size-4" />
56
+ </button>
57
+ );
58
+ })}
59
+ </div>
60
+ </div>
61
+ );
62
+ }
63
+ ```
64
+
65
+ ## Usage
66
+
67
+ ```tsx
68
+ import { useToggleButton } from '@primereact/headless/togglebutton';
69
+ import { useToggleButtonGroup } from '@primereact/headless/togglebuttongroup';
70
+ ```
71
+
72
+ ```tsx
73
+ const toggle = useToggleButton();
74
+
75
+ <button {...toggle.getRootProps()}>
76
+ <span {...toggle.getIndicatorProps()}></span>
77
+ </button>;
78
+ ```
79
+
80
+ `useToggleButton` manages a boolean pressed state and returns prop getter functions for root and indicator elements. `useToggleButtonGroup` coordinates multiple toggle buttons with single or multiple selection. See [Primitive](/docs/primitive/components/togglebutton) for a component-based API.
81
+
82
+ ## Features
83
+
84
+ - **Prop getter API**, `getRootProps` and `getIndicatorProps` accept resolved disabled and invalid state at call time
85
+ - **Controlled or uncontrolled**, `pressed`/`onPressedChange` for owned state, `defaultPressed` for hook-managed state
86
+ - **Group coordination**, `useToggleButtonGroup` manages shared value and exposes `isPressed` / `updateChange` for children
87
+ - **Single or multiple**, group switches between radio-like and multi-select behavior via the `multiple` flag
88
+ - **Minimum selection**, group `allowEmpty` guarantees at least one button stays pressed when set to `false`
89
+
90
+ ## Working with callbacks
91
+
92
+ ### Controlled pressed state
93
+
94
+ Pass `pressed` and `onPressedChange` to own the state externally, required when toggles drive other UI or persist across reloads.
95
+
96
+ ```tsx
97
+ const [pressed, setPressed] = React.useState(false);
98
+
99
+ useToggleButton({
100
+ pressed,
101
+ onPressedChange: (e) => setPressed(e.pressed)
102
+ });
103
+ ```
104
+
105
+ ### Dynamic disabled / invalid
106
+
107
+ `getRootProps(disabled, invalid)` accepts booleans so you can compute state at render time from form context.
108
+
109
+ ```tsx
110
+ const rootProps = toggle.getRootProps(isSubmitting, hasError);
111
+ ```
112
+
113
+ ### Group as a formatting toolbar
114
+
115
+ Use `useToggleButtonGroup` with `multiple: true` to build a toolbar where each button represents an independent flag.
116
+
117
+ ```tsx
118
+ const group = useToggleButtonGroup({ multiple: true });
119
+
120
+ const bold = useToggleButton({
121
+ pressed: group.isPressed(group.state.value, 'bold'),
122
+ onPressedChange: (e) => group.updateChange({ ...e, value: 'bold' })
123
+ });
124
+ ```
125
+
126
+ ### Require a selection
127
+
128
+ Set `allowEmpty: false` when the group represents a mandatory choice like view mode or alignment.
129
+
130
+ ```tsx
131
+ const group = useToggleButtonGroup({ allowEmpty: false, defaultValue: 'left' });
132
+ ```
133
+
134
+ ### Read live state for custom UI
135
+
136
+ Expose `state.pressed` or `state.value` to show counts, icons, or status text derived from the current selection.
137
+
138
+ ```tsx
139
+ const group = useToggleButtonGroup({ multiple: true });
140
+ // group.state.value: unknown[]
141
+
142
+ const toggle = useToggleButton();
143
+ // toggle.state.pressed: boolean
144
+ ```
145
+
146
+ ## Styling with data attributes
147
+
148
+ The prop getters include data attributes for styling.
149
+
150
+ | Scope | Part | States |
151
+ | ------------------- | ------ | ------------------------------- |
152
+ | `togglebutton` | `root` | `data-pressed`, `data-disabled` |
153
+ | `togglebuttongroup` | `root` | `data-multiple` |
154
+
155
+ ```css
156
+ button[data-pressed] {
157
+ background-color: var(--p-primary-color);
158
+ color: var(--p-primary-contrast-color);
159
+ }
160
+
161
+ button[data-disabled] {
162
+ pointer-events: none;
163
+ opacity: 0.6;
164
+ }
165
+
166
+ [data-scope='togglebuttongroup'][data-multiple] {
167
+ /* styles for multi-select group */
168
+ }
169
+ ```
170
+
171
+ ## API
172
+
173
+ ### useToggleButton
174
+
175
+ <DocTable name="useToggleButton" category="api" />
176
+
177
+ ### useToggleButtonGroup
178
+
179
+ <DocTable name="useToggleButtonGroup" category="api" />
180
+
181
+ ## Accessibility
182
+
183
+ Space or Enter toggles the pressed state while focused. See [Primitive](/docs/primitive/components/togglebutton#accessibility) for full WAI-ARIA compliance details.
@@ -0,0 +1,326 @@
1
+ [
2
+ {
3
+ "name": "useToggleSwitch",
4
+ "source": "apps/showcase/assets/apidoc/usetoggleswitch.json",
5
+ "data": {
6
+ "description": "The useToggleSwitch manages the state and functionality of a toggle switch component.",
7
+ "interfaces": {
8
+ "UseToggleSwitchChangeEvent": {
9
+ "description": "Event fired when the toggle switch's checked state changes.",
10
+ "relatedProp": "",
11
+ "props": [
12
+ {
13
+ "name": "originalEvent",
14
+ "type": "E",
15
+ "default": "",
16
+ "description": "The original event that triggered the change."
17
+ },
18
+ {
19
+ "name": "checked",
20
+ "type": "boolean",
21
+ "default": "",
22
+ "description": "The checked state of the toggle switch."
23
+ }
24
+ ],
25
+ "methods": []
26
+ },
27
+ "UseToggleSwitchProps": {
28
+ "description": "Defines valid properties in useToggleSwitch.",
29
+ "relatedProp": "",
30
+ "props": [
31
+ {
32
+ "name": "checked",
33
+ "type": "boolean",
34
+ "default": "",
35
+ "description": "When present, it specifies the input's checked state."
36
+ },
37
+ {
38
+ "name": "defaultChecked",
39
+ "type": "boolean",
40
+ "default": "",
41
+ "description": "The default value for the input when not controlled by `checked` and `onCheckedChange` ."
42
+ },
43
+ {
44
+ "name": "disabled",
45
+ "type": "boolean",
46
+ "default": "false",
47
+ "description": "Whether the toggle switch is disabled."
48
+ },
49
+ {
50
+ "name": "invalid",
51
+ "type": "boolean",
52
+ "default": "false",
53
+ "description": "When present, it specifies that the toggle switch value is invalid."
54
+ },
55
+ {
56
+ "name": "tabIndex",
57
+ "type": "number",
58
+ "default": "",
59
+ "description": "Index of the element in tabbing order."
60
+ },
61
+ {
62
+ "name": "ariaLabel",
63
+ "type": "string",
64
+ "default": "",
65
+ "description": "Establishes a string value that labels the component."
66
+ },
67
+ {
68
+ "name": "ariaLabelledby",
69
+ "type": "string",
70
+ "default": "",
71
+ "description": "Establishes relationships between the component and label(s) where its value should be one or more element IDs."
72
+ },
73
+ {
74
+ "name": "onFocus",
75
+ "type": "FocusEventHandler<HTMLInputElement>",
76
+ "default": "",
77
+ "description": "Callback function that is called when the toggle switch is focused."
78
+ },
79
+ {
80
+ "name": "onBlur",
81
+ "type": "FocusEventHandler<HTMLInputElement>",
82
+ "default": "",
83
+ "description": "Callback function that is called when the toggle switch loses focus."
84
+ },
85
+ {
86
+ "name": "onCheckedChange",
87
+ "type": "(event: UseToggleSwitchChangeEvent) => void",
88
+ "default": "",
89
+ "description": "Callback fired when the toggle switch's checked state changes."
90
+ }
91
+ ],
92
+ "methods": []
93
+ },
94
+ "UseToggleSwitchState": {
95
+ "description": "Defines valid state in useToggleSwitch.",
96
+ "relatedProp": "",
97
+ "props": [
98
+ {
99
+ "name": "checked",
100
+ "type": "boolean",
101
+ "default": "",
102
+ "description": "The checked state of the useToggleSwitch."
103
+ }
104
+ ],
105
+ "methods": []
106
+ },
107
+ "UseToggleSwitchRootProps": {
108
+ "description": "Pre-built props for the toggle switch root element.",
109
+ "relatedProp": "",
110
+ "props": [
111
+ {
112
+ "name": "data-checked",
113
+ "type": "\"\"",
114
+ "default": "",
115
+ "description": "Data attribute when checked."
116
+ },
117
+ {
118
+ "name": "data-unchecked",
119
+ "type": "\"\"",
120
+ "default": "",
121
+ "description": "Data attribute when unchecked."
122
+ },
123
+ {
124
+ "name": "data-disabled",
125
+ "type": "\"\"",
126
+ "default": "",
127
+ "description": "Data attribute when disabled."
128
+ },
129
+ {
130
+ "name": "data-invalid",
131
+ "type": "\"\"",
132
+ "default": "",
133
+ "description": "Data attribute when invalid."
134
+ }
135
+ ],
136
+ "methods": []
137
+ },
138
+ "UseToggleSwitchInputProps": {
139
+ "description": "Pre-built props for the toggle switch input element.",
140
+ "relatedProp": "",
141
+ "props": [
142
+ {
143
+ "name": "type",
144
+ "type": "\"checkbox\"",
145
+ "default": "",
146
+ "description": "Input type."
147
+ },
148
+ {
149
+ "name": "role",
150
+ "type": "\"switch\"",
151
+ "default": "",
152
+ "description": "ARIA role."
153
+ },
154
+ {
155
+ "name": "checked",
156
+ "type": "boolean",
157
+ "default": "",
158
+ "description": "Checked state."
159
+ },
160
+ {
161
+ "name": "aria-checked",
162
+ "type": "boolean",
163
+ "default": "",
164
+ "description": "ARIA checked state."
165
+ },
166
+ {
167
+ "name": "aria-invalid",
168
+ "type": "true",
169
+ "default": "",
170
+ "description": "ARIA invalid state."
171
+ },
172
+ {
173
+ "name": "tabIndex",
174
+ "type": "number",
175
+ "default": "",
176
+ "description": "Tab index."
177
+ },
178
+ {
179
+ "name": "aria-labelledby",
180
+ "type": "string",
181
+ "default": "",
182
+ "description": "ID of the element that labels the toggle switch."
183
+ },
184
+ {
185
+ "name": "aria-label",
186
+ "type": "string",
187
+ "default": "",
188
+ "description": "ARIA label."
189
+ },
190
+ {
191
+ "name": "onFocus",
192
+ "type": "FocusEventHandler<HTMLInputElement>",
193
+ "default": "",
194
+ "description": "Focus handler."
195
+ },
196
+ {
197
+ "name": "onBlur",
198
+ "type": "FocusEventHandler<HTMLInputElement>",
199
+ "default": "",
200
+ "description": "Blur handler."
201
+ },
202
+ {
203
+ "name": "onChange",
204
+ "type": "(event: UseToggleSwitchChangeEvent) => void",
205
+ "default": "",
206
+ "description": "Change handler."
207
+ }
208
+ ],
209
+ "methods": []
210
+ },
211
+ "UseToggleSwitchControlProps": {
212
+ "description": "Pre-built props for the toggle switch control element.",
213
+ "relatedProp": "",
214
+ "props": [
215
+ {
216
+ "name": "data-checked",
217
+ "type": "\"\"",
218
+ "default": "",
219
+ "description": "Data attribute when checked."
220
+ },
221
+ {
222
+ "name": "data-unchecked",
223
+ "type": "\"\"",
224
+ "default": "",
225
+ "description": "Data attribute when unchecked."
226
+ },
227
+ {
228
+ "name": "data-disabled",
229
+ "type": "\"\"",
230
+ "default": "",
231
+ "description": "Data attribute when disabled."
232
+ },
233
+ {
234
+ "name": "data-invalid",
235
+ "type": "\"\"",
236
+ "default": "",
237
+ "description": "Data attribute when invalid."
238
+ }
239
+ ],
240
+ "methods": []
241
+ },
242
+ "UseToggleSwitchHandleProps": {
243
+ "description": "Pre-built props for the toggle switch handle element.",
244
+ "relatedProp": "",
245
+ "props": [
246
+ {
247
+ "name": "data-checked",
248
+ "type": "\"\"",
249
+ "default": "",
250
+ "description": "Data attribute when checked."
251
+ },
252
+ {
253
+ "name": "data-unchecked",
254
+ "type": "\"\"",
255
+ "default": "",
256
+ "description": "Data attribute when unchecked."
257
+ },
258
+ {
259
+ "name": "data-disabled",
260
+ "type": "\"\"",
261
+ "default": "",
262
+ "description": "Data attribute when disabled."
263
+ },
264
+ {
265
+ "name": "data-invalid",
266
+ "type": "\"\"",
267
+ "default": "",
268
+ "description": "Data attribute when invalid."
269
+ }
270
+ ],
271
+ "methods": []
272
+ },
273
+ "UseToggleSwitchExposes": {
274
+ "description": "Defines the methods and properties exposed by useToggleSwitch.",
275
+ "relatedProp": "",
276
+ "props": [
277
+ {
278
+ "name": "state",
279
+ "type": "UseToggleSwitchState",
280
+ "default": "",
281
+ "description": "The state of the useToggleSwitch."
282
+ },
283
+ {
284
+ "name": "onChange",
285
+ "type": "(event: UseToggleSwitchChangeEvent) => void",
286
+ "default": "",
287
+ "description": "Callback fired when the useToggleSwitch's checked state changes."
288
+ },
289
+ {
290
+ "name": "rootProps",
291
+ "type": "UseToggleSwitchRootProps",
292
+ "default": "",
293
+ "description": "Pre-built props for the root element."
294
+ },
295
+ {
296
+ "name": "inputProps",
297
+ "type": "UseToggleSwitchInputProps",
298
+ "default": "",
299
+ "description": "Pre-built props for the input element."
300
+ },
301
+ {
302
+ "name": "controlProps",
303
+ "type": "UseToggleSwitchControlProps",
304
+ "default": "",
305
+ "description": "Pre-built props for the control element."
306
+ },
307
+ {
308
+ "name": "handleProps",
309
+ "type": "UseToggleSwitchHandleProps",
310
+ "default": "",
311
+ "description": "Pre-built props for the handle element."
312
+ }
313
+ ],
314
+ "methods": []
315
+ }
316
+ },
317
+ "types": {
318
+ "UseToggleSwitchInstance": {
319
+ "description": "Instance of useToggleSwitch headless.",
320
+ "values": "HeadlessInstance<UseToggleSwitchProps, UseToggleSwitchState, UseToggleSwitchExposes>"
321
+ }
322
+ },
323
+ "variables": {}
324
+ }
325
+ }
326
+ ]
@@ -0,0 +1,164 @@
1
+ # useToggleSwitch
2
+
3
+ Hook that manages toggle switch state, checked/unchecked logic, and ARIA attributes.
4
+
5
+ ```tsx
6
+ 'use client';
7
+ import * as React from 'react';
8
+ import { useToggleSwitch } from '@primereact/headless/toggleswitch';
9
+
10
+ export default function BasicDemo() {
11
+ const { rootProps, inputProps, controlProps, handleProps } = useToggleSwitch({ defaultChecked: false });
12
+
13
+ return (
14
+ <div className="flex justify-center">
15
+ <div className="flex items-center gap-2">
16
+ <div
17
+ {...rootProps}
18
+ className="relative inline-flex items-center has-[input:focus-visible]:outline-1 has-[input:focus-visible]:outline-offset-2 has-[input:focus-visible]:outline-primary has-[input:focus-visible]:outline rounded-full"
19
+ >
20
+ <input
21
+ {...(inputProps as unknown as React.InputHTMLAttributes<HTMLInputElement>)}
22
+ id="basic-switch"
23
+ className="absolute z-2 inset-0 w-full h-full opacity-0 cursor-pointer appearance-none m-0 p-0 border border-transparent rounded-full"
24
+ />
25
+ <div
26
+ {...controlProps}
27
+ className="relative w-10 h-6 rounded-full transition-colors duration-200 bg-surface-300 dark:bg-surface-600 data-[checked]:bg-primary"
28
+ >
29
+ <span
30
+ {...handleProps}
31
+ className="absolute top-1 block w-4 h-4 rounded-full bg-white shadow transition-transform duration-200 translate-x-1 data-[checked]:translate-x-5"
32
+ />
33
+ </div>
34
+ </div>
35
+ <label htmlFor="basic-switch" className="cursor-pointer select-none text-sm">
36
+ Notifications
37
+ </label>
38
+ </div>
39
+ </div>
40
+ );
41
+ }
42
+ ```
43
+
44
+ ## Usage
45
+
46
+ ```tsx
47
+ import { useToggleSwitch } from '@primereact/headless/toggleswitch';
48
+ ```
49
+
50
+ ```tsx
51
+ const { rootProps, inputProps, controlProps, handleProps } = useToggleSwitch({
52
+ defaultChecked: false
53
+ });
54
+
55
+ <div {...rootProps}>
56
+ <input {...inputProps} />
57
+ <div {...controlProps}>
58
+ <span {...handleProps} />
59
+ </div>
60
+ </div>;
61
+ ```
62
+
63
+ `useToggleSwitch` manages boolean toggle state with a hidden native checkbox using `role="switch"`. See [Primitive](/docs/primitive/components/toggleswitch) for a component-based API.
64
+
65
+ ## Features
66
+
67
+ - **Composable parts**, spreads props onto `root`, `input`, `control`, and `handle` elements so the visual track and handle are fully yours
68
+ - **Switch semantics**, hidden native checkbox with `role="switch"` preserves screen reader and keyboard behavior
69
+ - **Controlled or uncontrolled**, drive via `checked`/`onCheckedChange` or let the hook manage state from `defaultChecked`
70
+ - **Validation flags**, `invalid` and `disabled` emit `aria-invalid`, `data-invalid`, and `data-disabled` across the parts
71
+ - **Animation-ready**, `data-checked` on `control` and `handle` lets you transition the track color and handle position via CSS
72
+
73
+ ## Working with callbacks
74
+
75
+ ### Controlled toggle switch
76
+
77
+ Pass `checked` and `onCheckedChange` to own the state externally, needed for settings pages, async toggles, or validation flows.
78
+
79
+ ```tsx
80
+ const [checked, setChecked] = React.useState(false);
81
+
82
+ useToggleSwitch({
83
+ checked,
84
+ onCheckedChange: (e) => setChecked(e.checked)
85
+ });
86
+ ```
87
+
88
+ The callback receives `{ originalEvent, checked }` where `checked` is the new boolean.
89
+
90
+ ### Async confirmation before commit
91
+
92
+ Intercept `onCheckedChange` to run a confirmation or network call before applying the new state.
93
+
94
+ ```tsx
95
+ const [checked, setChecked] = React.useState(false);
96
+
97
+ useToggleSwitch({
98
+ checked,
99
+ onCheckedChange: async (e) => {
100
+ if (await confirmChange(e.checked)) setChecked(e.checked);
101
+ }
102
+ });
103
+ ```
104
+
105
+ ### Invalid state tied to form validation
106
+
107
+ Flip `invalid` from your form state so CSS can react via `data-invalid`.
108
+
109
+ ```tsx
110
+ useToggleSwitch({
111
+ invalid: formState.errors.notifications != null
112
+ });
113
+ ```
114
+
115
+ ## Styling with data attributes
116
+
117
+ Every prop object includes `data-scope="toggleswitch"` and a `data-part` attribute. State-dependent attributes are added automatically.
118
+
119
+ | Scope | Part | States |
120
+ | -------------- | --------- | ----------------------------------------------- |
121
+ | `toggleswitch` | `root` | `data-checked`, `data-disabled`, `data-invalid` |
122
+ | `toggleswitch` | `control` | `data-checked`, `data-disabled`, `data-invalid` |
123
+ | `toggleswitch` | `handle` | `data-checked`, `data-disabled`, `data-invalid` |
124
+
125
+ ```css
126
+ [data-scope='toggleswitch'][data-part='control'] {
127
+ width: 2.5rem;
128
+ height: 1.5rem;
129
+ border-radius: 9999px;
130
+ background: #ccc;
131
+ transition: background 200ms;
132
+ }
133
+
134
+ [data-scope='toggleswitch'][data-part='control'][data-checked] {
135
+ background: var(--p-primary-color);
136
+ }
137
+
138
+ [data-scope='toggleswitch'][data-part='handle'] {
139
+ width: 1rem;
140
+ height: 1rem;
141
+ border-radius: 9999px;
142
+ background: white;
143
+ transition: transform 200ms;
144
+ }
145
+
146
+ [data-scope='toggleswitch'][data-part='handle'][data-checked] {
147
+ transform: translateX(1rem);
148
+ }
149
+
150
+ [data-scope='toggleswitch'][data-part='root'][data-disabled] {
151
+ opacity: 0.5;
152
+ cursor: not-allowed;
153
+ }
154
+ ```
155
+
156
+ ## API
157
+
158
+ ### useToggleSwitch
159
+
160
+ <DocTable name="useToggleSwitch" category="api" />
161
+
162
+ ## Accessibility
163
+
164
+ Space toggles the on/off state while focused, matching native checkbox keyboard behavior. See [Primitive](/docs/primitive/components/toggleswitch#accessibility) for full WAI-ARIA compliance details.