@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,283 @@
1
+ # useMenu
2
+
3
+ Hook that manages menu state, keyboard navigation, focus tracking, and submenu coordination.
4
+
5
+ ```tsx
6
+ 'use client';
7
+ import { Check } from '@primeicons/react/check';
8
+ import { Cog } from '@primeicons/react/cog';
9
+ import { CreditCard } from '@primeicons/react/credit-card';
10
+ import { Dot } from '@primeicons/react/dot';
11
+ import { User } from '@primeicons/react/user';
12
+ import { useMenu } from '@primereact/headless/menu';
13
+ import { usePortal } from '@primereact/headless/portal';
14
+ import { usePositioner } from '@primereact/headless/positioner';
15
+ import * as React from 'react';
16
+ import { createPortal } from 'react-dom';
17
+
18
+ export default function BasicDemo() {
19
+ const menu = useMenu();
20
+ const { triggerProps, popupProps, positionerProps, getListProps, getItemProps, labelProps, separatorProps, state, popover } = menu;
21
+ const portal = usePortal();
22
+
23
+ const [notifications, setNotifications] = React.useState(true);
24
+ const [sound, setSound] = React.useState(false);
25
+ const [theme, setTheme] = React.useState('light');
26
+
27
+ usePositioner({
28
+ anchor: popover.state.anchorElement,
29
+ content: popover.state.positionerElement,
30
+ side: 'bottom',
31
+ align: 'start',
32
+ sideOffset: 4,
33
+ flip: true,
34
+ shift: true
35
+ });
36
+
37
+ const itemClass = `relative flex items-center gap-2 px-3 py-2 rounded-md cursor-pointer text-sm text-surface-700 dark:text-surface-200 hover:bg-surface-100 dark:hover:bg-surface-800 data-focused:bg-surface-100 dark:data-focused:bg-surface-700 select-none data-checked:ps-8 data-unchecked:ps-8`;
38
+ const indicatorClass = 'absolute start-2.5 inline-flex items-center justify-center size-3.5 text-surface-500 dark:text-surface-400';
39
+
40
+ return (
41
+ <div className="flex justify-center">
42
+ <button
43
+ {...triggerProps}
44
+ className="inline-flex items-center px-3.5 py-2 rounded-md text-sm font-medium text-surface-700 dark:text-surface-200 border border-surface-200 dark:border-surface-700 hover:bg-surface-100 dark:hover:bg-surface-800 data-open:bg-surface-100 dark:data-open:bg-surface-800 outline-none"
45
+ >
46
+ Account
47
+ </button>
48
+ {portal.state.mounted &&
49
+ state.open &&
50
+ popover.state.rendered &&
51
+ createPortal(
52
+ <div {...positionerProps}>
53
+ <div
54
+ {...popupProps}
55
+ className="w-56 bg-surface-0 dark:bg-surface-900 border border-surface-200 dark:border-surface-700 rounded-lg shadow-md overflow-hidden"
56
+ >
57
+ <div {...getListProps()} className="m-0 p-1 flex flex-col gap-0.5 outline-none">
58
+ <div
59
+ {...labelProps}
60
+ className="px-3 py-1.5 text-xs font-semibold text-surface-500 dark:text-surface-400 uppercase tracking-wide"
61
+ >
62
+ My Account
63
+ </div>
64
+ <div {...getItemProps({ value: 'profile' })} className={itemClass}>
65
+ <User className="w-4! h-4! text-surface-500" />
66
+ Profile
67
+ </div>
68
+ <div {...getItemProps({ value: 'billing' })} className={itemClass}>
69
+ <CreditCard className="w-4! h-4! text-surface-500" />
70
+ Billing
71
+ </div>
72
+ <div {...getItemProps({ value: 'settings' })} className={itemClass}>
73
+ <Cog className="w-4! h-4! text-surface-500" />
74
+ Settings
75
+ </div>
76
+
77
+ <div {...separatorProps} className="border-t border-surface-200 dark:border-surface-700 my-1" />
78
+
79
+ <div
80
+ {...labelProps}
81
+ className="px-3 py-1.5 text-xs font-semibold text-surface-500 dark:text-surface-400 uppercase tracking-wide"
82
+ >
83
+ Notifications
84
+ </div>
85
+ <div
86
+ {...getItemProps({
87
+ value: 'notifications',
88
+ type: 'checkbox',
89
+ checked: notifications,
90
+ closeOnSelect: false,
91
+ onSelect: () => setNotifications((v) => !v)
92
+ })}
93
+ className={itemClass}
94
+ >
95
+ {notifications && (
96
+ <span className={indicatorClass}>
97
+ <Check />
98
+ </span>
99
+ )}
100
+ Enable notifications
101
+ </div>
102
+ <div
103
+ {...getItemProps({
104
+ value: 'sound',
105
+ type: 'checkbox',
106
+ checked: sound,
107
+ closeOnSelect: false,
108
+ onSelect: () => setSound((v) => !v)
109
+ })}
110
+ className={itemClass}
111
+ >
112
+ {sound && (
113
+ <span className={indicatorClass}>
114
+ <Check />
115
+ </span>
116
+ )}
117
+ Play sound
118
+ </div>
119
+
120
+ <div {...separatorProps} className="border-t border-surface-200 dark:border-surface-700 my-1" />
121
+
122
+ <div
123
+ {...labelProps}
124
+ className="px-3 py-1.5 text-xs font-semibold text-surface-500 dark:text-surface-400 uppercase tracking-wide"
125
+ >
126
+ Appearance
127
+ </div>
128
+ {(['light', 'dark', 'system'] as const).map((value) => (
129
+ <div
130
+ key={value}
131
+ {...getItemProps({
132
+ value,
133
+ type: 'radio',
134
+ checked: theme === value,
135
+ closeOnSelect: false,
136
+ onSelect: () => setTheme(value)
137
+ })}
138
+ className={itemClass}
139
+ >
140
+ {theme === value && (
141
+ <span className={indicatorClass}>
142
+ <Dot />
143
+ </span>
144
+ )}
145
+ {value.charAt(0).toUpperCase() + value.slice(1)}
146
+ </div>
147
+ ))}
148
+ </div>
149
+ </div>
150
+ </div>,
151
+ document.body
152
+ )}
153
+ </div>
154
+ );
155
+ }
156
+ ```
157
+
158
+ ## Usage
159
+
160
+ ```tsx
161
+ import { useMenu } from '@primereact/headless/menu';
162
+ import { useMenuSubmenu } from '@primereact/headless/menu/submenu';
163
+ ```
164
+
165
+ ```tsx
166
+ const menu = useMenu();
167
+ const sub = useMenuSubmenu({ defaultOpen: true });
168
+ const subTriggerProps = menu.getSubTriggerProps({ value: 'projects', sub });
169
+ ```
170
+
171
+ `useMenu` manages focus tracking, keyboard navigation, and submenu orchestration for menu structures. See [Primitive](/docs/primitive/components/menu) for a component-based API.
172
+
173
+ ## Features
174
+
175
+ - **Inline or popup rendering**, spread `getListProps()` directly for an inline menu, or drive visibility with `triggerProps` and `state.open`
176
+ - **Composite submenus**, `composite` mode enables hover-to-open nested menus with arrow-key navigation across levels
177
+ - **Typed items**, `getItemProps({ type })` produces menuitem, checkbox, or radio behavior with proper ARIA semantics
178
+ - **Dynamic prop getters**, `getItemProps`, `getSubTriggerProps`, `getListProps`, and `getIndicatorProps` emit props and data attributes per element
179
+ - **Type-ahead search**, typing characters moves focus to the matching item label
180
+ - **Popover integration**, built on `usePopover` so positioning, portal, and dismissal are configured through the same options
181
+
182
+ ## Working with callbacks
183
+
184
+ ### Controlled popup visibility
185
+
186
+ Use `open` and `onOpenChange` to drive visibility externally, useful for coordinating with other overlays or toolbar state.
187
+
188
+ ```tsx
189
+ const [open, setOpen] = React.useState(false);
190
+
191
+ const menu = useMenu({
192
+ open,
193
+ onOpenChange: (e) => setOpen(e.value)
194
+ });
195
+
196
+ <div {...menu.rootProps}>
197
+ <ul {...menu.getListProps()}>
198
+ <li {...menu.getItemProps({ value: 'item1' })}></li>
199
+ <li {...sub.subProps}>
200
+ <div {...subTriggerProps}></div>
201
+ <ul {...menu.getListProps({ value: 'projects', sub })}></ul>
202
+ </li>
203
+ </ul>
204
+ </div>;
205
+ ```
206
+
207
+ ### Submenus with `useMenuSubmenu`
208
+
209
+ Create a separate `useMenuSubmenu` instance per submenu and wire it through `getSubTriggerProps` / `getListProps`.
210
+
211
+ ```tsx
212
+ const menu = useMenu({ composite: true });
213
+ const sub = useMenuSubmenu();
214
+ const subTriggerProps = menu.getSubTriggerProps({ value: 'files', sub });
215
+ const subListProps = menu.getListProps({ value: 'files', sub });
216
+ ```
217
+
218
+ ### Checkbox and radio items
219
+
220
+ Pass `type` and `checked` to `getItemProps` and wrap radio items in an element carrying `radioGroupProps`.
221
+
222
+ ```tsx
223
+ menu.getItemProps({ value: 'notifications', type: 'checkbox', checked: notificationsOn });
224
+ menu.getItemProps({ value: 'light', type: 'radio', checked: theme === 'light' });
225
+ ```
226
+
227
+ ### Indicator visibility with `match`
228
+
229
+ `getIndicatorProps` returns a `matchVisible` flag so you can render submenu arrows, checkmarks, or radio dots conditionally.
230
+
231
+ ```tsx
232
+ const indicatorProps = menu.getIndicatorProps({ type: 'checkbox', checked: true, match: 'checked' });
233
+
234
+ {
235
+ indicatorProps.matchVisible && <CheckIcon {...indicatorProps} />;
236
+ }
237
+ ```
238
+
239
+ ## Styling with data attributes
240
+
241
+ All prop getters attach `data-scope="menu"` and a `data-part` attribute for CSS targeting. Additional data attributes reflect runtime state:
242
+
243
+ - **`getItemProps`**, `data-part="item"`, plus `data-value`, `data-focused`, `data-disabled`, `data-checked`
244
+ - **`getSubTriggerProps`**, `data-part="subtrigger"`, plus `data-value`, `data-focused`, `data-disabled`, `data-open`
245
+ - **`getIndicatorProps`**, `data-part="indicator"`, plus `data-open`/`data-closed` or `data-checked`/`data-unchecked`
246
+ - **`getListProps`**, `data-part="list"`
247
+
248
+ ```css
249
+ [data-scope='menu'][data-part='item'][data-focused] {
250
+ background-color: var(--surface-hover);
251
+ }
252
+
253
+ [data-scope='menu'][data-part='item'][data-checked] {
254
+ font-weight: 600;
255
+ }
256
+
257
+ [data-scope='menu'][data-part='subtrigger'][data-open] {
258
+ background-color: var(--surface-hover);
259
+ }
260
+
261
+ [data-scope='menu'][data-part='indicator'][data-checked] {
262
+ color: var(--primary);
263
+ }
264
+
265
+ [data-scope='menu'][data-part='item'][data-disabled] {
266
+ opacity: 0.6;
267
+ pointer-events: none;
268
+ }
269
+ ```
270
+
271
+ ## API
272
+
273
+ ### useMenu
274
+
275
+ <DocTable name="useMenu" category="api" />
276
+
277
+ ### useMenuSubmenu
278
+
279
+ <DocTable name="useMenuSubmenu" category="api" />
280
+
281
+ ## Accessibility
282
+
283
+ Arrow keys navigate items, Enter or Space activates the focused item, Escape closes, and type-ahead matches item labels. See [Primitive](/docs/primitive/components/menu#accessibility) for full WAI-ARIA compliance details.
@@ -0,0 +1,131 @@
1
+ [
2
+ {
3
+ "name": "useMessage",
4
+ "source": "apps/showcase/assets/apidoc/usemessage.json",
5
+ "data": {
6
+ "description": "The useMessage manages the state and functionality of a message component.",
7
+ "interfaces": {
8
+ "UseMessageProps": {
9
+ "description": "Defines valid properties in useMessage.",
10
+ "relatedProp": "",
11
+ "props": [
12
+ {
13
+ "name": "life",
14
+ "type": "number",
15
+ "default": "null",
16
+ "description": "Delay in milliseconds to close the message automatically."
17
+ },
18
+ {
19
+ "name": "onClose",
20
+ "type": "() => void",
21
+ "default": "",
22
+ "description": "Callback to invoke when the message is closed."
23
+ }
24
+ ],
25
+ "methods": []
26
+ },
27
+ "UseMessageState": {
28
+ "description": "Defines valid state in useMessage.",
29
+ "relatedProp": "",
30
+ "props": [
31
+ {
32
+ "name": "visible",
33
+ "type": "boolean",
34
+ "default": "",
35
+ "description": "Whether the message is currently visible."
36
+ }
37
+ ],
38
+ "methods": []
39
+ },
40
+ "UseMessageRootProps": {
41
+ "description": "Data attribute props for the Message root element.",
42
+ "relatedProp": "",
43
+ "props": [
44
+ {
45
+ "name": "data-scope",
46
+ "type": "string",
47
+ "default": "",
48
+ "description": "Component scope identifier."
49
+ },
50
+ {
51
+ "name": "data-part",
52
+ "type": "string",
53
+ "default": "",
54
+ "description": "Component part identifier."
55
+ },
56
+ {
57
+ "name": "style",
58
+ "type": "CSSProperties",
59
+ "default": "",
60
+ "description": "Inline style applied when message is not visible."
61
+ }
62
+ ],
63
+ "methods": []
64
+ },
65
+ "UseMessageCloseProps": {
66
+ "description": "Data attribute props for the Message close element.",
67
+ "relatedProp": "",
68
+ "props": [
69
+ {
70
+ "name": "data-scope",
71
+ "type": "string",
72
+ "default": "",
73
+ "description": "Component scope identifier."
74
+ },
75
+ {
76
+ "name": "data-part",
77
+ "type": "string",
78
+ "default": "",
79
+ "description": "Component part identifier."
80
+ },
81
+ {
82
+ "name": "onClick",
83
+ "type": "() => void",
84
+ "default": "",
85
+ "description": "Click handler to close the message."
86
+ }
87
+ ],
88
+ "methods": []
89
+ },
90
+ "UseMessageExposes": {
91
+ "description": "Defines the methods and properties exposed by useMessage.",
92
+ "relatedProp": "",
93
+ "props": [
94
+ {
95
+ "name": "state",
96
+ "type": "UseMessageState",
97
+ "default": "",
98
+ "description": "Current state of the message."
99
+ },
100
+ {
101
+ "name": "rootProps",
102
+ "type": "UseMessageRootProps",
103
+ "default": "",
104
+ "description": "Pre-built data attribute props for the root element."
105
+ },
106
+ {
107
+ "name": "closeProps",
108
+ "type": "UseMessageCloseProps",
109
+ "default": "",
110
+ "description": "Pre-built data attribute props for the close element."
111
+ },
112
+ {
113
+ "name": "handleClose",
114
+ "type": "() => void",
115
+ "default": "",
116
+ "description": "Manually close the message."
117
+ }
118
+ ],
119
+ "methods": []
120
+ }
121
+ },
122
+ "types": {
123
+ "UseMessageInstance": {
124
+ "description": "Instance of useMessage headless.",
125
+ "values": "HeadlessInstance<UseMessageProps, UseMessageState, UseMessageExposes>"
126
+ }
127
+ },
128
+ "variables": {}
129
+ }
130
+ }
131
+ ]
@@ -0,0 +1,143 @@
1
+ # useMessage
2
+
3
+ Hook that manages message visibility with auto-close timer and close callback.
4
+
5
+ ```tsx
6
+ 'use client';
7
+ import { Sparkles } from '@primeicons/react/sparkles';
8
+ import { Times } from '@primeicons/react/times';
9
+ import { useMessage } from '@primereact/headless/message';
10
+
11
+ export default function BasicDemo() {
12
+ const { rootProps, closeProps, state } = useMessage({});
13
+
14
+ return (
15
+ <div className="max-w-sm mx-auto">
16
+ {state.visible && (
17
+ <div
18
+ {...rootProps}
19
+ className="flex items-center gap-3 px-3 py-2 rounded-lg border border-surface-200 dark:border-surface-700 bg-surface-0 dark:bg-surface-900"
20
+ role="alert"
21
+ >
22
+ <Sparkles className="w-5 h-5 text-primary shrink-0" />
23
+ <p className="flex-1 text-sm text-surface-700 dark:text-surface-0">Upgrade now and save 5%.</p>
24
+ <button
25
+ {...closeProps}
26
+ className="shrink-0 w-7 h-7 inline-flex items-center justify-center rounded-full hover:bg-surface-100 dark:hover:bg-surface-800 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary text-surface-500 dark:text-surface-400 transition-colors cursor-pointer"
27
+ aria-label="Close"
28
+ >
29
+ <Times className="w-3.5 h-3.5" />
30
+ </button>
31
+ </div>
32
+ )}
33
+ </div>
34
+ );
35
+ }
36
+ ```
37
+
38
+ ## Usage
39
+
40
+ ```tsx
41
+ import { useMessage } from '@primereact/headless/message';
42
+ ```
43
+
44
+ ```tsx
45
+ const { rootProps, closeProps, state } = useMessage({});
46
+
47
+ <>
48
+ {
49
+ state.visible && (
50
+ <div {...rootProps} role="alert">
51
+ <p></p>
52
+ <button {...closeProps}></button>
53
+ </div>
54
+ ```
55
+
56
+ `useMessage` manages visibility state with an optional auto-close timer, see [Primitive](/docs/primitive/components/message) for a component-based API.
57
+
58
+ ## Features
59
+
60
+ - **Visibility lifecycle**, tracks `state.visible` and hides the root via `display: none` when dismissed
61
+ - **Auto-close timer**, optional `life` in milliseconds for self-dismissing messages
62
+ - **Imperative dismissal**, `handleClose()` for closing the message from custom logic
63
+ - **Dismissal callback**, `onClose` fires whether the message is closed by user action or by the timer
64
+
65
+ ## Working with callbacks
66
+
67
+ ### Auto-closing after a delay
68
+
69
+ Set `life` to dismiss the message automatically. Useful for transient confirmations that shouldn't require user action.
70
+
71
+ ```tsx
72
+ const message = useMessage({ life: 3000 });
73
+ ```
74
+
75
+ ### Reacting to dismissal
76
+
77
+ Pair `life` with `onClose` to run cleanup when the message leaves, regardless of whether the user closed it or the timer expired.
78
+
79
+ ```tsx
80
+ const message = useMessage({
81
+ life: 5000,
82
+ onClose: () => analytics.track('message_dismissed')
83
+ });
84
+ ```
85
+
86
+ ### Dismissing from custom logic
87
+
88
+ Call `handleClose()` to dismiss the message from outside the rendered close button, for example after a form submission succeeds.
89
+
90
+ ```tsx
91
+ const message = useMessage({});
92
+
93
+ const onSubmit = async () => {
94
+ await save();
95
+ message.handleClose();
96
+ };
97
+ ```
98
+
99
+ ### Gating render on visibility
100
+
101
+ `state.visible` is reactive and safe to use as a mount guard so the message is fully removed from the DOM after dismissal.
102
+
103
+ ```tsx
104
+ {
105
+ state.visible && <div {...rootProps}>...</div>;
106
+ }
107
+ ```
108
+
109
+ ## Styling with data attributes
110
+
111
+ Prop objects include `data-scope="message"` and a `data-part` attribute for CSS targeting.
112
+
113
+ | Scope | Part |
114
+ | --------- | ------- |
115
+ | `message` | `root` |
116
+ | `message` | `close` |
117
+
118
+ ```css
119
+ [data-scope='message'][data-part='root'] {
120
+ display: flex;
121
+ align-items: center;
122
+ gap: 0.75rem;
123
+ padding: 0.75rem 1rem;
124
+ border: 1px solid #ccc;
125
+ border-radius: 0.5rem;
126
+ }
127
+
128
+ [data-scope='message'][data-part='close'] {
129
+ cursor: pointer;
130
+ border: none;
131
+ background: transparent;
132
+ }
133
+ ```
134
+
135
+ ## API
136
+
137
+ ### useMessage
138
+
139
+ <DocTable name="useMessage" category="api" />
140
+
141
+ ## Accessibility
142
+
143
+ Announced via aria-live when shown; Tab reaches the close button if present. See [Primitive](/docs/primitive/components/message#accessibility) for full WAI-ARIA compliance details.