@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,543 @@
1
+ # Terminal
2
+
3
+ Terminal is a text-based interface component that emulates a command line experience, enabling users to enter commands and receive responses.
4
+
5
+ ```tsx
6
+ 'use client';
7
+ import { type TerminalResponse } from '@primereact/ui/terminal';
8
+ import { Terminal } from '@primereact/ui/terminal';
9
+
10
+ export default function Preview() {
11
+ const commandHandler = (text: string): TerminalResponse => {
12
+ const argsIndex: number = text.indexOf(' ');
13
+ const command: string = argsIndex !== -1 ? text.substring(0, argsIndex) : text;
14
+
15
+ switch (command) {
16
+ case 'help':
17
+ return 'Available commands:\n date - Display current date and time\n greet - Get a personalized greeting\n random - Generate a random number\n clear - Clear the terminal';
18
+
19
+ case 'date':
20
+ return new Date().toLocaleString();
21
+
22
+ case 'greet': {
23
+ const name = text.substring(argsIndex + 1).trim() || 'World';
24
+
25
+ return `Hello, ${name}!`;
26
+ }
27
+
28
+ case 'random':
29
+ return `Your random number: ${Math.floor(Math.random() * 100)}`;
30
+
31
+ case 'clear':
32
+ return null;
33
+
34
+ default:
35
+ return `Command not found: ${command}. Type "help" for available commands.`;
36
+ }
37
+ };
38
+
39
+ return (
40
+ <Terminal.Root prompt="$" onCommand={commandHandler}>
41
+ <Terminal.Welcome>Welcome to PrimeReact Terminal. Type &quot;help&quot; for available commands.</Terminal.Welcome>
42
+ <Terminal.CommandList />
43
+ <Terminal.Prompt />
44
+ </Terminal.Root>
45
+ );
46
+ }
47
+ ```
48
+
49
+ ## Usage
50
+
51
+ ```tsx
52
+ import { Terminal } from '@primereact/ui/terminal';
53
+ ```
54
+
55
+ ```tsx
56
+ <Terminal.Root>
57
+ <Terminal.Welcome />
58
+ <Terminal.CommandList />
59
+ </Terminal.Root>
60
+ ```
61
+
62
+ ## Examples
63
+
64
+ ### Basic
65
+
66
+ An interactive terminal that accepts and responds to text commands.
67
+
68
+ ```tsx
69
+ 'use client';
70
+ import { type TerminalResponse } from '@primereact/ui/terminal';
71
+ import { Terminal } from '@primereact/ui/terminal';
72
+
73
+ export default function BasicDemo() {
74
+ const commandHandler = (text: string): TerminalResponse => {
75
+ const argsIndex: number = text.indexOf(' ');
76
+ const command: string = argsIndex !== -1 ? text.substring(0, argsIndex) : text;
77
+
78
+ switch (command) {
79
+ case 'help':
80
+ return 'Available commands:\n date - Display current date and time\n greet - Get a personalized greeting\n random - Generate a random number\n clear - Clear the terminal';
81
+
82
+ case 'date':
83
+ return new Date().toLocaleString();
84
+
85
+ case 'greet': {
86
+ const name = text.substring(argsIndex + 1).trim() || 'World';
87
+
88
+ return `Hello, ${name}!`;
89
+ }
90
+
91
+ case 'random':
92
+ return `Your random number: ${Math.floor(Math.random() * 100)}`;
93
+
94
+ case 'clear':
95
+ return null;
96
+
97
+ default:
98
+ return `Command not found: ${command}. Type "help" for available commands.`;
99
+ }
100
+ };
101
+
102
+ return (
103
+ <Terminal.Root prompt="$" onCommand={commandHandler}>
104
+ <Terminal.Welcome>Welcome to PrimeReact Terminal. Type &quot;help&quot; for available commands.</Terminal.Welcome>
105
+ <Terminal.CommandList />
106
+ <Terminal.Prompt />
107
+ </Terminal.Root>
108
+ );
109
+ }
110
+ ```
111
+
112
+ ### Template
113
+
114
+ Use the render function to create a custom command display with full control over the output styling.
115
+
116
+ ```tsx
117
+ 'use client';
118
+ import { AngleRight } from '@primeicons/react/angle-right';
119
+ import { type TerminalResponse } from '@primereact/ui/terminal';
120
+ import { Terminal } from '@primereact/ui/terminal';
121
+ import { TerminalCommandInstance, TerminalRootInstance } from '@primereact/ui/terminal';
122
+
123
+ export default function TemplateDemo() {
124
+ const commandHandler = (text: string): TerminalResponse => {
125
+ const parts = text.trim().split(/\s+/);
126
+ const command = parts[0];
127
+ const args = parts.slice(1).join(' ');
128
+
129
+ switch (command) {
130
+ case 'install':
131
+ return (
132
+ <div className="flex flex-col gap-1">
133
+ <span className="text-green-500">✔ Resolving dependencies...</span>
134
+ <span className="text-green-500">✔ Fetching packages...</span>
135
+ <span className="text-green-500">✔ Linking dependencies...</span>
136
+ <span className="text-blue-500">ℹ Added {args || 'primereact'} to dependencies</span>
137
+ <span className="text-muted-color">Done in 2.4s</span>
138
+ </div>
139
+ );
140
+
141
+ case 'build':
142
+ return (
143
+ <div className="flex flex-col gap-1">
144
+ <span className="text-green-500">✔ Compiled successfully</span>
145
+ <span className="text-green-500">✔ Linting passed</span>
146
+ <span className="text-green-500">✔ Type checking passed</span>
147
+ <span className="text-blue-500">ℹ Output: dist/</span>
148
+ <span className="text-muted-color">Build completed in 8.2s</span>
149
+ </div>
150
+ );
151
+
152
+ case 'test':
153
+ return (
154
+ <div className="flex flex-col gap-1">
155
+ <span className="text-green-500">✔ 42 tests passed</span>
156
+ <span className="text-yellow-500">⚠ 2 tests skipped</span>
157
+ <span className="text-muted-color">Test Suites: 5 passed, 5 total</span>
158
+ </div>
159
+ );
160
+
161
+ case 'status':
162
+ return (
163
+ <div className="flex flex-col gap-1">
164
+ <span className="text-blue-500">On branch main</span>
165
+ <span className="text-green-500">✔ Your branch is up to date</span>
166
+ <span className="text-muted-color">nothing to commit, working tree clean</span>
167
+ </div>
168
+ );
169
+
170
+ case 'help':
171
+ return (
172
+ <div className="flex flex-col gap-1">
173
+ <span className="text-blue-500 font-semibold">Available commands:</span>
174
+ <span className="text-green-500"> install [pkg]</span>
175
+ <span className="text-muted-color ps-4">Install a package</span>
176
+ <span className="text-green-500"> build</span>
177
+ <span className="text-muted-color ps-4">Build the project</span>
178
+ <span className="text-green-500"> test</span>
179
+ <span className="text-muted-color ps-4">Run tests</span>
180
+ <span className="text-green-500"> status</span>
181
+ <span className="text-muted-color ps-4">Show git status</span>
182
+ <span className="text-green-500"> clear</span>
183
+ <span className="text-muted-color ps-4">Clear terminal</span>
184
+ </div>
185
+ );
186
+
187
+ case 'clear':
188
+ return null;
189
+
190
+ default:
191
+ return <span className="text-red-500">✖ Command not found: {command}. Type &quot;help&quot; for available commands.</span>;
192
+ }
193
+ };
194
+
195
+ return (
196
+ <Terminal.Root onCommand={commandHandler} className="h-100 rounded-xl pt-0">
197
+ {(instance: TerminalRootInstance) => {
198
+ const { state } = instance;
199
+
200
+ return (
201
+ <>
202
+ <Terminal.Welcome className="sticky top-0 z-10 flex flex-col gap-2 bg-inherit border-b border-surface-200 dark:border-surface-700 py-3 mb-3">
203
+ <div className="flex gap-2">
204
+ <div className="w-3 h-3 rounded-full bg-red-500"></div>
205
+ <div className="w-3 h-3 rounded-full bg-yellow-500"></div>
206
+ <div className="w-3 h-3 rounded-full bg-green-500"></div>
207
+ </div>
208
+ <span className="text-muted-color text-sm">Type &quot;help&quot; for available commands</span>
209
+ </Terminal.Welcome>
210
+
211
+ <Terminal.CommandList>
212
+ {state.commands.map((_, index) => (
213
+ <Terminal.Command key={index} index={index}>
214
+ {(commandInstance: TerminalCommandInstance) => (
215
+ <div className="flex flex-col gap-1">
216
+ <div className="flex items-center">
217
+ <AngleRight className="text-xs text-green-500 me-2" />
218
+ <Terminal.CommandValue />
219
+ </div>
220
+ {commandInstance.command?.response && (
221
+ <div className="ps-4">
222
+ <Terminal.CommandResponse />
223
+ </div>
224
+ )}
225
+ </div>
226
+ )}
227
+ </Terminal.Command>
228
+ ))}
229
+ </Terminal.CommandList>
230
+
231
+ <Terminal.Prompt>
232
+ <Terminal.PromptLabel>
233
+ <AngleRight className="text-xs text-green-500 me-2" />
234
+ </Terminal.PromptLabel>
235
+ <Terminal.PromptValue />
236
+ </Terminal.Prompt>
237
+ </>
238
+ );
239
+ }}
240
+ </Terminal.Root>
241
+ );
242
+ }
243
+ ```
244
+
245
+ ### File System
246
+
247
+ An interactive file browser demonstrating navigation commands like `ls`, `cd`, `cat`, and `pwd`.
248
+
249
+ ```tsx
250
+ 'use client';
251
+ import { type TerminalResponse } from '@primereact/ui/terminal';
252
+ import { Terminal } from '@primereact/ui/terminal';
253
+ import * as React from 'react';
254
+
255
+ interface FileNode {
256
+ name: string;
257
+ type: 'file' | 'folder';
258
+ children?: FileNode[];
259
+ content?: string;
260
+ }
261
+
262
+ const fileSystem: FileNode = {
263
+ name: '~',
264
+ type: 'folder',
265
+ children: [
266
+ {
267
+ name: 'documents',
268
+ type: 'folder',
269
+ children: [
270
+ { name: 'report.pdf', type: 'file', content: '[Binary file - 2.4 MB]' },
271
+ { name: 'notes.txt', type: 'file', content: 'Meeting notes from last week...' }
272
+ ]
273
+ },
274
+ {
275
+ name: 'projects',
276
+ type: 'folder',
277
+ children: [
278
+ {
279
+ name: 'primereact',
280
+ type: 'folder',
281
+ children: [
282
+ { name: 'package.json', type: 'file', content: '{ "name": "primereact", "version": "11.0.0" }' },
283
+ { name: 'README.md', type: 'file', content: '# PrimeReact\nThe Most Complete UI Suite for React' }
284
+ ]
285
+ }
286
+ ]
287
+ },
288
+ { name: '.bashrc', type: 'file', content: 'export PATH=$PATH:/usr/local/bin' }
289
+ ]
290
+ };
291
+
292
+ export default function FileSystemDemo() {
293
+ const [currentPath, setCurrentPath] = React.useState<string[]>(['~']);
294
+
295
+ const getCurrentFolder = React.useCallback((): FileNode => {
296
+ let current = fileSystem;
297
+
298
+ for (let i = 1; i < currentPath.length; i++) {
299
+ const child = current.children?.find((c) => c.name === currentPath[i]);
300
+
301
+ if (child && child.type === 'folder') {
302
+ current = child;
303
+ }
304
+ }
305
+
306
+ return current;
307
+ }, [currentPath]);
308
+
309
+ const commandHandler = React.useCallback(
310
+ (text: string): TerminalResponse => {
311
+ const parts = text.trim().split(/\s+/);
312
+ const command = parts[0];
313
+ const arg = parts.slice(1).join(' ');
314
+ const folder = getCurrentFolder();
315
+
316
+ switch (command) {
317
+ case 'ls': {
318
+ const items = folder.children || [];
319
+
320
+ if (items.length === 0) {
321
+ return '(empty directory)';
322
+ }
323
+
324
+ return items.map((item) => (item.type === 'folder' ? `${item.name}/` : item.name)).join(' ');
325
+ }
326
+
327
+ case 'cd': {
328
+ if (!arg || arg === '~') {
329
+ setCurrentPath(['~']);
330
+
331
+ return undefined;
332
+ }
333
+
334
+ if (arg === '..') {
335
+ if (currentPath.length > 1) {
336
+ setCurrentPath((prev) => prev.slice(0, -1));
337
+ }
338
+
339
+ return undefined;
340
+ }
341
+
342
+ const target = folder.children?.find((c) => c.name === arg && c.type === 'folder');
343
+
344
+ if (target) {
345
+ setCurrentPath((prev) => [...prev, arg]);
346
+
347
+ return undefined;
348
+ }
349
+
350
+ return `cd: ${arg}: No such directory`;
351
+ }
352
+
353
+ case 'cat': {
354
+ if (!arg) {
355
+ return 'Usage: cat [filename]';
356
+ }
357
+
358
+ const file = folder.children?.find((c) => c.name === arg && c.type === 'file');
359
+
360
+ if (file) {
361
+ return file.content || '';
362
+ }
363
+
364
+ return `cat: ${arg}: No such file`;
365
+ }
366
+
367
+ case 'pwd':
368
+ return currentPath.join('/').replace('~/', '~/');
369
+
370
+ case 'clear':
371
+ return null;
372
+
373
+ case 'help':
374
+ return (
375
+ <div className="grid grid-cols-[auto_1fr] gap-x-4 gap-y-1">
376
+ <span className="text-green-500">ls</span>
377
+ <span className="text-muted-color">List directory contents</span>
378
+ <span className="text-green-500">cd [dir]</span>
379
+ <span className="text-muted-color">Change directory</span>
380
+ <span className="text-green-500">cat [file]</span>
381
+ <span className="text-muted-color">Display file contents</span>
382
+ <span className="text-green-500">pwd</span>
383
+ <span className="text-muted-color">Print working directory</span>
384
+ <span className="text-green-500">clear</span>
385
+ <span className="text-muted-color">Clear terminal</span>
386
+ </div>
387
+ );
388
+
389
+ default:
390
+ return `${command}: command not found. Type "help" for available commands.`;
391
+ }
392
+ },
393
+ [getCurrentFolder, currentPath]
394
+ );
395
+
396
+ const prompt = currentPath.join('/').replace('~/', '~/') + ' $';
397
+
398
+ return (
399
+ <Terminal.Root prompt={prompt} onCommand={commandHandler}>
400
+ <Terminal.Welcome>File System Browser - Type &quot;help&quot; for available commands.</Terminal.Welcome>
401
+ <Terminal.CommandList />
402
+ <Terminal.Prompt />
403
+ </Terminal.Root>
404
+ );
405
+ }
406
+ ```
407
+
408
+ ### AI Assistant
409
+
410
+ A chat-style interface with typing indicators, demonstrating how Terminal can be styled for conversational experiences.
411
+
412
+ ```tsx
413
+ 'use client';
414
+ import { TerminalRootInstance } from '@primereact/ui/terminal';
415
+ import { type TerminalCommandItem, type TerminalResponse } from '@primereact/ui/terminal';
416
+ import { Terminal } from '@primereact/ui/terminal';
417
+ import * as React from 'react';
418
+ import { Sparkles } from '@primeicons/react/sparkles';
419
+ import { User } from '@primeicons/react/user';
420
+
421
+ const responses: Record<string, string> = {
422
+ hello: "Hello! I'm your AI assistant. How can I help you today?",
423
+ hi: 'Hi there! What can I do for you?',
424
+ help: 'Here are some things you can ask me:\n• "What is PrimeReact?"\n• "How to install?"\n• "List components"\n• "Documentation"',
425
+ 'what is primereact':
426
+ 'PrimeReact is a rich set of open source UI components for React. It offers 90+ components including DataTable, Dialog, and more. Visit primereact.org to learn more.',
427
+ 'how to install': 'Install PrimeReact using npm or yarn:\n\nnpm install primereact\n\nThen import components as needed.',
428
+ 'list components': 'Button, DataTable, Dialog, Menu, DatePicker, Select, InputText ...and 80+ more',
429
+ documentation:
430
+ 'Documentation is available at primereact.org/documentation. You can find guides, API references, and live examples for all components.'
431
+ };
432
+
433
+ export default function AssistantDemo() {
434
+ const [isTyping, setIsTyping] = React.useState(false);
435
+
436
+ const commandHandler = async (text: string): Promise<TerminalResponse> => {
437
+ const query = text.toLowerCase().trim();
438
+
439
+ if (query === 'clear') {
440
+ return null;
441
+ }
442
+
443
+ setIsTyping(true);
444
+
445
+ await new Promise((resolve) => setTimeout(resolve, 600));
446
+
447
+ setIsTyping(false);
448
+
449
+ return responses[query] || 'I\'m not sure about that. Try typing "help" to see what I can assist with.';
450
+ };
451
+
452
+ return (
453
+ <Terminal.Root prompt=">" onCommand={commandHandler} className="pt-0">
454
+ {(instance: TerminalRootInstance) => {
455
+ const { state } = instance;
456
+
457
+ return (
458
+ <>
459
+ <Terminal.Welcome className="sticky top-0 z-10 bg-inherit py-3">
460
+ <div className="flex items-center gap-3 pb-2 border-b border-surface-200 dark:border-surface-700">
461
+ <div className="flex items-center justify-center w-8 h-8 rounded-full bg-primary text-primary-contrast">
462
+ <Sparkles className="text-sm" />
463
+ </div>
464
+ <div>
465
+ <div className="font-semibold">PrimeReact Assistant</div>
466
+ <div className="text-muted-color text-sm">Ask me anything about PrimeReact</div>
467
+ </div>
468
+ </div>
469
+ </Terminal.Welcome>
470
+
471
+ <div className="flex flex-col gap-3 mt-3">
472
+ {(state.commands as TerminalCommandItem[]).map((command, index) => (
473
+ <div key={index} className="flex flex-col gap-2">
474
+ <div className="flex items-start gap-2">
475
+ <div className="flex items-center justify-center w-6 h-6 rounded-full bg-surface-200 dark:bg-surface-700 shrink-0 mt-0.5">
476
+ <User className="text-xs" />
477
+ </div>
478
+ <span className="self-center">{command.text}</span>
479
+ </div>
480
+ {command.response && (
481
+ <div className="flex items-start gap-2">
482
+ <div className="flex items-center justify-center w-6 h-6 rounded-full bg-primary shrink-0 mt-0.5">
483
+ <Sparkles className="text-xs text-primary-contrast" />
484
+ </div>
485
+ <div className="flex-1 whitespace-pre-wrap self-center">{command.response}</div>
486
+ </div>
487
+ )}
488
+ </div>
489
+ ))}
490
+ {isTyping && (
491
+ <div className="flex items-center gap-2">
492
+ <div className="flex items-center justify-center w-6 h-6 rounded-full bg-primary shrink-0">
493
+ <Sparkles className="text-xs text-primary-contrast" />
494
+ </div>
495
+ <div className="flex gap-1">
496
+ <span className="w-2 h-2 bg-muted-color rounded-full animate-bounce" style={{ animationDelay: '0ms' }} />
497
+ <span className="w-2 h-2 bg-muted-color rounded-full animate-bounce" style={{ animationDelay: '150ms' }} />
498
+ <span className="w-2 h-2 bg-muted-color rounded-full animate-bounce" style={{ animationDelay: '300ms' }} />
499
+ </div>
500
+ </div>
501
+ )}
502
+ </div>
503
+
504
+ <Terminal.Prompt>
505
+ <Terminal.PromptLabel className="pl-1" />
506
+ <Terminal.PromptValue />
507
+ </Terminal.Prompt>
508
+ </>
509
+ );
510
+ }}
511
+ </Terminal.Root>
512
+ );
513
+ }
514
+ ```
515
+
516
+ ## Related
517
+
518
+ ### Sub-Components
519
+
520
+ See [Terminal Primitive](/docs/primitive/components/terminal#api) for the full sub-component API.
521
+
522
+ ### Hooks
523
+
524
+ See [useTerminal](/docs/headless/components/terminal#api) for the headless hook API.
525
+
526
+ ### Accessibility
527
+
528
+ See [Terminal Primitive](/docs/primitive/components/terminal#accessibility) for WAI-ARIA compliance details and keyboard support.
529
+
530
+
531
+ ## Theming
532
+
533
+ ### CSS Classes
534
+
535
+ List of class names used in the styled mode.
536
+
537
+ <DocTable name="Terminal" category="style" />
538
+
539
+ ### Design Tokens
540
+
541
+ List of design tokens.
542
+
543
+ <DocTable name="Terminal" category="token" />