@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,907 @@
1
+ # DataView
2
+
3
+ DataView displays data in grid or list layout with pagination and sorting features.
4
+
5
+ ```tsx
6
+ 'use client';
7
+ import { ProductService } from '@/shared/services/product.service';
8
+ import { Button } from '@primereact/ui/button';
9
+ import { Tag } from '@primereact/ui/tag';
10
+ import Image from 'next/image';
11
+ import { DataView } from '@primereact/ui/dataview';
12
+ import * as React from 'react';
13
+ import { Heart } from '@primeicons/react/heart';
14
+ import { ShoppingCart } from '@primeicons/react/shopping-cart';
15
+ import { StarFill } from '@primeicons/react/star-fill';
16
+
17
+ interface Product {
18
+ id: string;
19
+ code: string;
20
+ name: string;
21
+ description: string;
22
+ image: string;
23
+ price: number;
24
+ category: string;
25
+ quantity: number;
26
+ inventoryStatus: string;
27
+ rating: number;
28
+ }
29
+
30
+ export default function Preview() {
31
+ const [products, setProducts] = React.useState<Product[]>([]);
32
+
33
+ React.useEffect(() => {
34
+ ProductService.getProductsSmall().then((data) => setProducts(data.slice(0, 5)));
35
+ }, []);
36
+
37
+ const getSeverity = (product: Product) => {
38
+ switch (product.inventoryStatus) {
39
+ case 'INSTOCK':
40
+ return 'success';
41
+
42
+ case 'LOWSTOCK':
43
+ return 'warn';
44
+
45
+ case 'OUTOFSTOCK':
46
+ return 'danger';
47
+
48
+ default:
49
+ return undefined;
50
+ }
51
+ };
52
+
53
+ return (
54
+ <div>
55
+ <DataView.Root>
56
+ <DataView.Content>
57
+ <div className="flex flex-col">
58
+ {products.map((product, index) => (
59
+ <div
60
+ key={index}
61
+ className={`flex flex-col sm:flex-row sm:items-center p-6 gap-4 ${index !== 0 ? 'border-t border-surface-200 dark:border-surface-700' : ''}`}
62
+ >
63
+ <div className="md:w-40 relative">
64
+ <Image
65
+ className="mx-auto rounded w-full"
66
+ src={`https://primefaces.org/cdn/primevue/images/product/${product.image}`}
67
+ alt={product.name}
68
+ width={160}
69
+ height={160}
70
+ />
71
+ <Tag severity={getSeverity(product)} className="absolute top-1 left-1">
72
+ {product.inventoryStatus}
73
+ </Tag>
74
+ </div>
75
+ <div className="flex flex-col md:flex-row justify-between md:items-center flex-1 gap-6">
76
+ <div className="flex flex-row md:flex-col justify-between items-start gap-2">
77
+ <div>
78
+ <span className="font-medium text-surface-500 dark:text-surface-400 text-sm">{product.category}</span>
79
+ <div className="text-lg font-medium mt-2">{product.name}</div>
80
+ </div>
81
+ <div className="bg-surface-100 p-1" style={{ borderRadius: '30px' }}>
82
+ <div
83
+ className="bg-surface-0 flex items-center gap-2 justify-center py-1 px-2"
84
+ style={{
85
+ borderRadius: '30px',
86
+ boxShadow: '0px 1px 2px 0px rgba(0, 0, 0, 0.04), 0px 1px 2px 0px rgba(0, 0, 0, 0.06)'
87
+ }}
88
+ >
89
+ <span className="text-surface-900 font-medium text-sm">{product.rating}</span>
90
+ <StarFill className="text-yellow-500"></StarFill>
91
+ </div>
92
+ </div>
93
+ </div>
94
+ <div className="flex flex-col md:items-end gap-8">
95
+ <span className="text-xl font-semibold">${product.price}</span>
96
+ <div className="flex flex-row-reverse md:flex-row gap-2">
97
+ <Button variant="outlined">
98
+ <Heart></Heart>
99
+ </Button>
100
+ <Button
101
+ disabled={product.inventoryStatus === 'OUTOFSTOCK'}
102
+ className="flex-auto md:flex-initial whitespace-nowrap"
103
+ >
104
+ <ShoppingCart></ShoppingCart>
105
+ Buy Now
106
+ </Button>
107
+ </div>
108
+ </div>
109
+ </div>
110
+ </div>
111
+ ))}
112
+ </div>
113
+ </DataView.Content>
114
+ </DataView.Root>
115
+ </div>
116
+ );
117
+ }
118
+ ```
119
+
120
+ ## Usage
121
+
122
+ ```tsx
123
+ import { DataView } from '@primereact/ui/dataview';
124
+ ```
125
+
126
+ ```tsx
127
+ <DataView.Root>
128
+ <DataView.Header></DataView.Header>
129
+ <DataView.Content></DataView.Content>
130
+ <DataView.Footer></DataView.Footer>
131
+ </DataView.Root>
132
+ ```
133
+
134
+ ## Examples
135
+
136
+ ### Basic
137
+
138
+ Displays a list of items with support for layout switching.
139
+
140
+ ```tsx
141
+ 'use client';
142
+ import { ProductService } from '@/shared/services/product.service';
143
+ import { Button } from '@primereact/ui/button';
144
+ import { Tag } from '@primereact/ui/tag';
145
+ import Image from 'next/image';
146
+ import { DataView } from '@primereact/ui/dataview';
147
+ import * as React from 'react';
148
+ import { Heart } from '@primeicons/react/heart';
149
+ import { ShoppingCart } from '@primeicons/react/shopping-cart';
150
+ import { StarFill } from '@primeicons/react/star-fill';
151
+
152
+ interface Product {
153
+ id: string;
154
+ code: string;
155
+ name: string;
156
+ description: string;
157
+ image: string;
158
+ price: number;
159
+ category: string;
160
+ quantity: number;
161
+ inventoryStatus: string;
162
+ rating: number;
163
+ }
164
+
165
+ export default function BasicDemo() {
166
+ const [products, setProducts] = React.useState<Product[]>([]);
167
+
168
+ React.useEffect(() => {
169
+ ProductService.getProductsSmall().then((data) => setProducts(data.slice(0, 5)));
170
+ }, []);
171
+
172
+ const getSeverity = (product: Product) => {
173
+ switch (product.inventoryStatus) {
174
+ case 'INSTOCK':
175
+ return 'success';
176
+
177
+ case 'LOWSTOCK':
178
+ return 'warn';
179
+
180
+ case 'OUTOFSTOCK':
181
+ return 'danger';
182
+
183
+ default:
184
+ return undefined;
185
+ }
186
+ };
187
+
188
+ return (
189
+ <div>
190
+ <DataView.Root>
191
+ <DataView.Content>
192
+ <div className="flex flex-col">
193
+ {products.map((product, index) => (
194
+ <div
195
+ key={index}
196
+ className={`flex flex-col sm:flex-row sm:items-center p-6 gap-4 ${index !== 0 ? 'border-t border-surface-200 dark:border-surface-700' : ''}`}
197
+ >
198
+ <div className="md:w-40 relative">
199
+ <Image
200
+ className="mx-auto rounded w-full"
201
+ src={`https://primefaces.org/cdn/primevue/images/product/${product.image}`}
202
+ alt={product.name}
203
+ width={160}
204
+ height={160}
205
+ />
206
+ <Tag severity={getSeverity(product)} className="absolute top-1 left-1">
207
+ {product.inventoryStatus}
208
+ </Tag>
209
+ </div>
210
+ <div className="flex flex-col md:flex-row justify-between md:items-center flex-1 gap-6">
211
+ <div className="flex flex-row md:flex-col justify-between items-start gap-2">
212
+ <div>
213
+ <span className="font-medium text-surface-500 dark:text-surface-400 text-sm">{product.category}</span>
214
+ <div className="text-lg font-medium mt-2">{product.name}</div>
215
+ </div>
216
+ <div className="bg-surface-100 p-1" style={{ borderRadius: '30px' }}>
217
+ <div
218
+ className="bg-surface-0 flex items-center gap-2 justify-center py-1 px-2"
219
+ style={{
220
+ borderRadius: '30px',
221
+ boxShadow: '0px 1px 2px 0px rgba(0, 0, 0, 0.04), 0px 1px 2px 0px rgba(0, 0, 0, 0.06)'
222
+ }}
223
+ >
224
+ <span className="text-surface-900 font-medium text-sm">{product.rating}</span>
225
+ <StarFill className="text-yellow-500"></StarFill>
226
+ </div>
227
+ </div>
228
+ </div>
229
+ <div className="flex flex-col md:items-end gap-8">
230
+ <span className="text-xl font-semibold">${product.price}</span>
231
+ <div className="flex flex-row-reverse md:flex-row gap-2">
232
+ <Button variant="outlined">
233
+ <Heart></Heart>
234
+ </Button>
235
+ <Button
236
+ disabled={product.inventoryStatus === 'OUTOFSTOCK'}
237
+ className="flex-auto md:flex-initial whitespace-nowrap"
238
+ >
239
+ <ShoppingCart></ShoppingCart>
240
+ Buy Now
241
+ </Button>
242
+ </div>
243
+ </div>
244
+ </div>
245
+ </div>
246
+ ))}
247
+ </div>
248
+ </DataView.Content>
249
+ </DataView.Root>
250
+ </div>
251
+ );
252
+ }
253
+ ```
254
+
255
+ ### Pagination
256
+
257
+ Use `Paginator` with `DataView.Footer` to navigate large datasets efficiently.
258
+
259
+ ```tsx
260
+ 'use client';
261
+ import { ProductService } from '@/shared/services/product.service';
262
+ import { EllipsisH } from '@primeicons/react';
263
+ import { AngleDoubleLeft } from '@primeicons/react/angle-double-left';
264
+ import { AngleLeft } from '@primeicons/react/angle-left';
265
+ import { AngleRight } from '@primeicons/react/angle-right';
266
+ import { Heart } from '@primeicons/react/heart';
267
+ import { ShoppingCart } from '@primeicons/react/shopping-cart';
268
+ import { StarFill } from '@primeicons/react/star-fill';
269
+ import { Button } from '@primereact/ui/button';
270
+ import { Paginator, type PaginatorPagesInstance, type PaginatorRootChangeEvent } from '@primereact/ui/paginator';
271
+ import { Tag } from '@primereact/ui/tag';
272
+ import Image from 'next/image';
273
+ import { DataView } from '@primereact/ui/dataview';
274
+ import * as React from 'react';
275
+
276
+ interface Product {
277
+ id: string;
278
+ code: string;
279
+ name: string;
280
+ description: string;
281
+ image: string;
282
+ price: number;
283
+ category: string;
284
+ quantity: number;
285
+ inventoryStatus: string;
286
+ rating: number;
287
+ }
288
+
289
+ export default function PaginationDemo() {
290
+ const [products, setProducts] = React.useState<Product[]>([]);
291
+ const [page, setPage] = React.useState(1);
292
+ const itemsPerPage = 5;
293
+
294
+ React.useEffect(() => {
295
+ ProductService.getProductsSmall().then((data) => setProducts(data));
296
+ }, []);
297
+
298
+ const getSeverity = (product: Product) => {
299
+ switch (product.inventoryStatus) {
300
+ case 'INSTOCK':
301
+ return 'success';
302
+
303
+ case 'LOWSTOCK':
304
+ return 'warn';
305
+
306
+ case 'OUTOFSTOCK':
307
+ return 'danger';
308
+
309
+ default:
310
+ return undefined;
311
+ }
312
+ };
313
+
314
+ return (
315
+ <div>
316
+ <DataView.Root>
317
+ <DataView.Content>
318
+ <div className="flex flex-col">
319
+ {products.slice((page - 1) * itemsPerPage, page * itemsPerPage).map((product, index) => (
320
+ <div
321
+ key={index}
322
+ className={`flex flex-col sm:flex-row sm:items-center p-6 gap-4 ${index !== 0 ? 'border-t border-surface-200 dark:border-surface-700' : ''}`}
323
+ >
324
+ <div className="md:w-40 relative">
325
+ <Image
326
+ className="mx-auto rounded w-full"
327
+ src={`https://primefaces.org/cdn/primevue/images/product/${product.image}`}
328
+ alt={product.name}
329
+ width={160}
330
+ height={160}
331
+ />
332
+ <Tag severity={getSeverity(product)} className="absolute top-1 left-1">
333
+ {product.inventoryStatus}
334
+ </Tag>
335
+ </div>
336
+ <div className="flex flex-col md:flex-row justify-between md:items-center flex-1 gap-6">
337
+ <div className="flex flex-row md:flex-col justify-between items-start gap-2">
338
+ <div>
339
+ <span className="font-medium text-surface-500 dark:text-surface-400 text-sm">{product.category}</span>
340
+ <div className="text-lg font-medium mt-2">{product.name}</div>
341
+ </div>
342
+ <div className="bg-surface-100 p-1" style={{ borderRadius: '30px' }}>
343
+ <div
344
+ className="bg-surface-0 flex items-center gap-2 justify-center py-1 px-2"
345
+ style={{
346
+ borderRadius: '30px',
347
+ boxShadow: '0px 1px 2px 0px rgba(0, 0, 0, 0.04), 0px 1px 2px 0px rgba(0, 0, 0, 0.06)'
348
+ }}
349
+ >
350
+ <span className="text-surface-900 font-medium text-sm">{product.rating}</span>
351
+ <StarFill className="text-yellow-500"></StarFill>
352
+ </div>
353
+ </div>
354
+ </div>
355
+ <div className="flex flex-col md:items-end gap-8">
356
+ <span className="text-xl font-semibold">${product.price}</span>
357
+ <div className="flex flex-row-reverse md:flex-row gap-2">
358
+ <Button variant="outlined">
359
+ <Heart></Heart>
360
+ </Button>
361
+ <Button
362
+ disabled={product.inventoryStatus === 'OUTOFSTOCK'}
363
+ className="flex-auto md:flex-initial whitespace-nowrap"
364
+ >
365
+ <ShoppingCart></ShoppingCart>
366
+ Buy Now
367
+ </Button>
368
+ </div>
369
+ </div>
370
+ </div>
371
+ </div>
372
+ ))}
373
+ </div>
374
+ </DataView.Content>
375
+ <DataView.Footer>
376
+ <Paginator.Root
377
+ total={products.length}
378
+ itemsPerPage={itemsPerPage}
379
+ onPageChange={(e: PaginatorRootChangeEvent) => setPage(e.value)}
380
+ className="border-t border-surface-200 dark:border-surface-700 pt-4"
381
+ >
382
+ <Paginator.Content>
383
+ <Paginator.First>
384
+ <AngleDoubleLeft />
385
+ </Paginator.First>
386
+ <Paginator.Prev>
387
+ <AngleLeft />
388
+ </Paginator.Prev>
389
+ <Paginator.Pages>
390
+ {({ paginator }: PaginatorPagesInstance) =>
391
+ paginator?.pages.map((page, index) =>
392
+ page.type === 'page' ? (
393
+ <Paginator.Page key={index} value={page.value} />
394
+ ) : (
395
+ <Paginator.Ellipsis key={index}>
396
+ <EllipsisH />
397
+ </Paginator.Ellipsis>
398
+ )
399
+ )
400
+ }
401
+ </Paginator.Pages>
402
+ <Paginator.Next>
403
+ <AngleRight />
404
+ </Paginator.Next>
405
+ <Paginator.Last>
406
+ <AngleDoubleLeft />
407
+ </Paginator.Last>
408
+ </Paginator.Content>
409
+ </Paginator.Root>
410
+ </DataView.Footer>
411
+ </DataView.Root>
412
+ </div>
413
+ );
414
+ }
415
+ ```
416
+
417
+ ### Sorting
418
+
419
+ Use `useDataView` to sort items by a specific field and order.
420
+
421
+ ```tsx
422
+ 'use client';
423
+ import { ProductService } from '@/shared/services/product.service';
424
+ import { Button } from '@primereact/ui/button';
425
+ import { Tag } from '@primereact/ui/tag';
426
+ import { ToggleButton } from '@primereact/ui/togglebutton';
427
+ import { ToggleButtonGroup, type ToggleButtonGroupValueChangeEvent } from '@primereact/ui/togglebuttongroup';
428
+ import Image from 'next/image';
429
+ import { DataView } from '@primereact/ui/dataview';
430
+ import * as React from 'react';
431
+ import { Heart } from '@primeicons/react/heart';
432
+ import { ShoppingCart } from '@primeicons/react/shopping-cart';
433
+ import { StarFill } from '@primeicons/react/star-fill';
434
+
435
+ interface Product {
436
+ id: string;
437
+ code: string;
438
+ name: string;
439
+ description: string;
440
+ image: string;
441
+ price: number;
442
+ category: string;
443
+ quantity: number;
444
+ inventoryStatus: string;
445
+ rating: number;
446
+ }
447
+
448
+ export default function SortDemo() {
449
+ const [products, setProducts] = React.useState<Product[]>([]);
450
+ const [value, setValue] = React.useState<string | null>(null);
451
+
452
+ React.useEffect(() => {
453
+ ProductService.getProductsSmall().then((data) => setProducts(data.slice(0, 5)));
454
+ }, []);
455
+
456
+ const getSeverity = (product: Product) => {
457
+ switch (product.inventoryStatus) {
458
+ case 'INSTOCK':
459
+ return 'success';
460
+
461
+ case 'LOWSTOCK':
462
+ return 'warn';
463
+
464
+ case 'OUTOFSTOCK':
465
+ return 'danger';
466
+
467
+ default:
468
+ return undefined;
469
+ }
470
+ };
471
+
472
+ const onSortChange = (value: string | null) => {
473
+ const sortOrder = value === 'hightolow' ? -1 : value === 'lowtohigh' ? 1 : 0;
474
+
475
+ setValue(value);
476
+ setProducts((prev) => [...prev].sort((a, b) => (a.price - b.price) * sortOrder));
477
+ };
478
+
479
+ return (
480
+ <div>
481
+ <DataView.Root>
482
+ <DataView.Header>
483
+ <div className="flex justify-center border-b border-surface-200 dark:border-surface-700 pb-4">
484
+ <ToggleButtonGroup
485
+ value={value}
486
+ onValueChange={(e: ToggleButtonGroupValueChangeEvent) => onSortChange(e.value as string)}
487
+ allowEmpty={false}
488
+ >
489
+ <ToggleButton.Root value="hightolow">
490
+ <ToggleButton.Indicator>Price High to Low</ToggleButton.Indicator>
491
+ </ToggleButton.Root>
492
+ <ToggleButton.Root value="lowtohigh">
493
+ <ToggleButton.Indicator>Price Low to High</ToggleButton.Indicator>
494
+ </ToggleButton.Root>
495
+ </ToggleButtonGroup>
496
+ </div>
497
+ </DataView.Header>
498
+ <DataView.Content>
499
+ <div className="flex flex-col">
500
+ {products.map((product, index) => (
501
+ <div
502
+ key={index}
503
+ className={`flex flex-col sm:flex-row sm:items-center p-6 gap-4 ${index !== 0 ? 'border-t border-surface-200 dark:border-surface-700' : ''}`}
504
+ >
505
+ <div className="md:w-40 relative">
506
+ <Image
507
+ className="mx-auto rounded w-full"
508
+ src={`https://primefaces.org/cdn/primevue/images/product/${product.image}`}
509
+ alt={product.name}
510
+ width={160}
511
+ height={160}
512
+ />
513
+ <Tag severity={getSeverity(product)} className="absolute top-1 left-1">
514
+ {product.inventoryStatus}
515
+ </Tag>
516
+ </div>
517
+ <div className="flex flex-col md:flex-row justify-between md:items-center flex-1 gap-6">
518
+ <div className="flex flex-row md:flex-col justify-between items-start gap-2">
519
+ <div>
520
+ <span className="font-medium text-surface-500 dark:text-surface-400 text-sm">{product.category}</span>
521
+ <div className="text-lg font-medium mt-2">{product.name}</div>
522
+ </div>
523
+ <div className="bg-surface-100 p-1" style={{ borderRadius: '30px' }}>
524
+ <div
525
+ className="bg-surface-0 flex items-center gap-2 justify-center py-1 px-2"
526
+ style={{
527
+ borderRadius: '30px',
528
+ boxShadow: '0px 1px 2px 0px rgba(0, 0, 0, 0.04), 0px 1px 2px 0px rgba(0, 0, 0, 0.06)'
529
+ }}
530
+ >
531
+ <span className="text-surface-900 font-medium text-sm">{product.rating}</span>
532
+ <StarFill className="text-yellow-500"></StarFill>
533
+ </div>
534
+ </div>
535
+ </div>
536
+ <div className="flex flex-col md:items-end gap-8">
537
+ <span className="text-xl font-semibold">${product.price}</span>
538
+ <div className="flex flex-row-reverse md:flex-row gap-2">
539
+ <Button variant="outlined">
540
+ <Heart></Heart>
541
+ </Button>
542
+ <Button
543
+ disabled={product.inventoryStatus === 'OUTOFSTOCK'}
544
+ className="flex-auto md:flex-initial whitespace-nowrap"
545
+ >
546
+ <ShoppingCart></ShoppingCart>
547
+ Buy Now
548
+ </Button>
549
+ </div>
550
+ </div>
551
+ </div>
552
+ </div>
553
+ ))}
554
+ </div>
555
+ </DataView.Content>
556
+ </DataView.Root>
557
+ </div>
558
+ );
559
+ }
560
+ ```
561
+
562
+ ### Layout
563
+
564
+ Switch between grid and list layouts to display the same data with different visual density.
565
+
566
+ ```tsx
567
+ 'use client';
568
+ import { ProductService } from '@/shared/services/product.service';
569
+ import { Table } from '@primeicons/react';
570
+ import { Bars } from '@primeicons/react/bars';
571
+ import { Heart } from '@primeicons/react/heart';
572
+ import { ShoppingCart } from '@primeicons/react/shopping-cart';
573
+ import { StarFill } from '@primeicons/react/star-fill';
574
+ import { Button } from '@primereact/ui/button';
575
+ import { Tag } from '@primereact/ui/tag';
576
+ import { ToggleButton } from '@primereact/ui/togglebutton';
577
+ import { ToggleButtonGroup, type ToggleButtonGroupValueChangeEvent } from '@primereact/ui/togglebuttongroup';
578
+ import Image from 'next/image';
579
+ import { DataView } from '@primereact/ui/dataview';
580
+ import * as React from 'react';
581
+
582
+ interface Product {
583
+ id: string;
584
+ code: string;
585
+ name: string;
586
+ description: string;
587
+ image: string;
588
+ price: number;
589
+ category: string;
590
+ quantity: number;
591
+ inventoryStatus: string;
592
+ rating: number;
593
+ }
594
+
595
+ export default function LayoutDemo() {
596
+ const [products, setProducts] = React.useState<Product[]>([]);
597
+ const [value, setValue] = React.useState<string>('grid');
598
+
599
+ React.useEffect(() => {
600
+ ProductService.getProductsSmall().then((data) => setProducts(data.slice(0, 12)));
601
+ }, []);
602
+
603
+ const getSeverity = (product: Product) => {
604
+ switch (product.inventoryStatus) {
605
+ case 'INSTOCK':
606
+ return 'success';
607
+
608
+ case 'LOWSTOCK':
609
+ return 'warn';
610
+
611
+ case 'OUTOFSTOCK':
612
+ return 'danger';
613
+
614
+ default:
615
+ return undefined;
616
+ }
617
+ };
618
+
619
+ const listLayout = () => {
620
+ return (
621
+ <div className="flex flex-col">
622
+ {products.map((product, index) => (
623
+ <div
624
+ key={index}
625
+ className={`flex flex-col sm:flex-row sm:items-center p-6 gap-4 ${index !== 0 ? 'border-t border-surface-200 dark:border-surface-700' : ''}`}
626
+ >
627
+ <div className="md:w-40 relative">
628
+ <Image
629
+ className="mx-auto rounded w-full"
630
+ src={`https://primefaces.org/cdn/primevue/images/product/${product.image}`}
631
+ alt={product.name}
632
+ width={160}
633
+ height={160}
634
+ />
635
+ <Tag severity={getSeverity(product)} className="absolute top-1 left-1">
636
+ {product.inventoryStatus}
637
+ </Tag>
638
+ </div>
639
+ <div className="flex flex-col md:flex-row justify-between md:items-center flex-1 gap-6">
640
+ <div className="flex flex-row md:flex-col justify-between items-start gap-2">
641
+ <div>
642
+ <span className="font-medium text-surface-500 dark:text-surface-400 text-sm">{product.category}</span>
643
+ <div className="text-lg font-medium mt-2">{product.name}</div>
644
+ </div>
645
+ <div className="bg-surface-100 p-1" style={{ borderRadius: '30px' }}>
646
+ <div
647
+ className="bg-surface-0 flex items-center gap-2 justify-center py-1 px-2"
648
+ style={{
649
+ borderRadius: '30px',
650
+ boxShadow: '0px 1px 2px 0px rgba(0, 0, 0, 0.04), 0px 1px 2px 0px rgba(0, 0, 0, 0.06)'
651
+ }}
652
+ >
653
+ <span className="text-surface-900 font-medium text-sm">{product.rating}</span>
654
+ <StarFill className="text-yellow-500"></StarFill>
655
+ </div>
656
+ </div>
657
+ </div>
658
+ <div className="flex flex-col md:items-end gap-8">
659
+ <span className="text-xl font-semibold">${product.price}</span>
660
+ <div className="flex flex-row-reverse md:flex-row gap-2">
661
+ <Button variant="outlined">
662
+ <Heart></Heart>
663
+ </Button>
664
+ <Button
665
+ disabled={product.inventoryStatus === 'OUTOFSTOCK'}
666
+ className="flex-auto md:flex-initial whitespace-nowrap"
667
+ >
668
+ <ShoppingCart></ShoppingCart>
669
+ Buy Now
670
+ </Button>
671
+ </div>
672
+ </div>
673
+ </div>
674
+ </div>
675
+ ))}
676
+ </div>
677
+ );
678
+ };
679
+
680
+ const gridLayout = () => {
681
+ return (
682
+ <div className="grid grid-cols-12 gap-4">
683
+ {products.map((product, index) => {
684
+ return (
685
+ <div key={index} className="col-span-12 sm:col-span-6 md:col-span-4 xl:col-span-6 p-2">
686
+ <div className="p-6 border border-surface-200 dark:border-surface-700 bg-surface-0 dark:bg-surface-900 rounded flex flex-col">
687
+ <div className="flex justify-center">
688
+ <div className="relative mx-auto">
689
+ <Image
690
+ src={`https://primefaces.org/cdn/primevue/images/product/${product.image}`}
691
+ alt={product.name}
692
+ width={300}
693
+ height={200}
694
+ className="rounded"
695
+ />
696
+ <Tag severity={getSeverity(product)} className="absolute top-1 left-1">
697
+ {product.inventoryStatus}
698
+ </Tag>
699
+ </div>
700
+ </div>
701
+ <div className="pt-6">
702
+ <div className="flex flex-row justify-between items-start gap-2">
703
+ <div>
704
+ <span className="font-medium text-surface-500 dark:text-surface-400 text-sm">{product.category}</span>
705
+ <div className="text-lg font-medium mt-1">{product.name}</div>
706
+ </div>
707
+ <div className="bg-surface-100 p-1" style={{ borderRadius: '30px' }}>
708
+ <div
709
+ className="bg-surface-0 flex items-center gap-2 justify-center py-1 px-2"
710
+ style={{
711
+ borderRadius: '30px',
712
+ boxShadow: '0px 1px 2px 0px rgba(0, 0, 0, 0.04), 0px 1px 2px 0px rgba(0, 0, 0, 0.06)'
713
+ }}
714
+ >
715
+ <span className="text-surface-900 font-medium text-sm">{product.rating}</span>
716
+ <StarFill className="text-yellow-500"></StarFill>
717
+ </div>
718
+ </div>
719
+ </div>
720
+ <div className="flex flex-col gap-6 mt-6">
721
+ <span className="text-2xl font-semibold">${product.price}</span>
722
+ <div className="flex gap-2">
723
+ <Button disabled={product.inventoryStatus === 'OUTOFSTOCK'} className="flex-auto whitespace-nowrap">
724
+ <ShoppingCart></ShoppingCart>
725
+ Buy Now
726
+ </Button>
727
+ <Button variant="outlined">
728
+ <Heart></Heart>
729
+ </Button>
730
+ </div>
731
+ </div>
732
+ </div>
733
+ </div>
734
+ </div>
735
+ );
736
+ })}
737
+ </div>
738
+ );
739
+ };
740
+
741
+ const list = listLayout();
742
+ const grid = gridLayout();
743
+
744
+ return (
745
+ <div>
746
+ <DataView.Root>
747
+ <DataView.Header>
748
+ <div className="flex justify-end border-b border-surface-200 dark:border-surface-700 pb-4">
749
+ <ToggleButtonGroup
750
+ value={value}
751
+ onValueChange={(e: ToggleButtonGroupValueChangeEvent) => setValue(e.value as string)}
752
+ allowEmpty={false}
753
+ >
754
+ <ToggleButton.Root value="list">
755
+ <ToggleButton.Indicator>
756
+ <Bars></Bars>
757
+ </ToggleButton.Indicator>
758
+ </ToggleButton.Root>
759
+ <ToggleButton.Root value="grid">
760
+ <ToggleButton.Indicator>
761
+ <Table />
762
+ </ToggleButton.Indicator>
763
+ </ToggleButton.Root>
764
+ </ToggleButtonGroup>
765
+ </div>
766
+ </DataView.Header>
767
+ <DataView.Content>{value === 'list' ? list : grid}</DataView.Content>
768
+ </DataView.Root>
769
+ </div>
770
+ );
771
+ }
772
+ ```
773
+
774
+ ### Loading
775
+
776
+ Use a skeleton layout to represent loading state while data is being fetched.
777
+
778
+ ```tsx
779
+ 'use client';
780
+ import { Table } from '@primeicons/react';
781
+ import { Bars } from '@primeicons/react/bars';
782
+ import { Skeleton } from '@primereact/ui/skeleton';
783
+ import { ToggleButton } from '@primereact/ui/togglebutton';
784
+ import { ToggleButtonGroup, type ToggleButtonGroupValueChangeEvent } from '@primereact/ui/togglebuttongroup';
785
+ import { DataView } from '@primereact/ui/dataview';
786
+ import * as React from 'react';
787
+
788
+ export default function LoadingDemo() {
789
+ const [value, setValue] = React.useState<string>('grid');
790
+
791
+ const listLayout = () => {
792
+ return (
793
+ <div className="flex flex-col">
794
+ {Array.from({ length: 6 }, (_, i) => (
795
+ <div
796
+ key={i}
797
+ className={`flex flex-col xl:flex-row xl:items-start p-6 gap-6 ${i !== 0 ? 'border-t border-surface-200 dark:border-surface-700' : ''}`}
798
+ >
799
+ <Skeleton className="w-9/12! sm:w-64! xl:w-40! h-24! mx-auto" />
800
+ <div className="flex flex-col sm:flex-row justify-between items-center xl:items-start flex-1 gap-6">
801
+ <div className="flex flex-col items-center sm:items-start gap-4">
802
+ <Skeleton width="8rem" height="2rem" />
803
+ <Skeleton width="6rem" height="1rem" />
804
+
805
+ <div className="flex items-center gap-4">
806
+ <Skeleton width="6rem" height="1rem" />
807
+ <Skeleton width="3rem" height="1rem" />
808
+ </div>
809
+ </div>
810
+ <div className="flex sm:flex-col items-center sm:items-end gap-4 sm:gap-2">
811
+ <Skeleton width="4rem" height="2rem" />
812
+ <Skeleton size="3rem" shape="circle" />
813
+ </div>
814
+ </div>
815
+ </div>
816
+ ))}
817
+ </div>
818
+ );
819
+ };
820
+
821
+ const gridLayout = () => {
822
+ return (
823
+ <div className="grid grid-cols-12 gap-4">
824
+ {Array.from({ length: 6 }, (_, i) => (
825
+ <div key={i} className="col-span-12 sm:col-span-6 xl:col-span-4 p-2">
826
+ <div className="p-6 border border-surface-200 dark:border-surface-700 bg-surface-0 dark:bg-surface-900 rounded">
827
+ <div className="flex flex-wrap items-center justify-between gap-2">
828
+ <Skeleton width="6rem" height="2rem" />
829
+ <Skeleton width="3rem" height="1rem" />
830
+ </div>
831
+ <div className="flex flex-col items-center gap-4 py-8">
832
+ <Skeleton width="75%" height="10rem" />
833
+ <Skeleton width="8rem" height="2rem" />
834
+ <Skeleton width="6rem" height="1rem" />
835
+ </div>
836
+ <div className="flex items-center justify-between">
837
+ <Skeleton width="4rem" height="2rem" />
838
+ <Skeleton width="6rem" height="1rem" shape="circle" size="3rem" />
839
+ </div>
840
+ </div>
841
+ </div>
842
+ ))}
843
+ </div>
844
+ );
845
+ };
846
+
847
+ const list = listLayout();
848
+ const grid = gridLayout();
849
+
850
+ return (
851
+ <div>
852
+ <DataView.Root>
853
+ <DataView.Header>
854
+ <div className="flex justify-end border-b border-surface-200 dark:border-surface-700 pb-4">
855
+ <ToggleButtonGroup
856
+ value={value}
857
+ onValueChange={(e: ToggleButtonGroupValueChangeEvent) => setValue(e.value as string)}
858
+ allowEmpty={false}
859
+ >
860
+ <ToggleButton.Root value="list">
861
+ <ToggleButton.Indicator>
862
+ <Bars></Bars>
863
+ </ToggleButton.Indicator>
864
+ </ToggleButton.Root>
865
+ <ToggleButton.Root value="grid">
866
+ <ToggleButton.Indicator>
867
+ <Table />
868
+ </ToggleButton.Indicator>
869
+ </ToggleButton.Root>
870
+ </ToggleButtonGroup>
871
+ </div>
872
+ </DataView.Header>
873
+ <DataView.Content>{value === 'list' ? list : grid}</DataView.Content>
874
+ </DataView.Root>
875
+ </div>
876
+ );
877
+ }
878
+ ```
879
+
880
+ ## Related
881
+
882
+ ### Sub-Components
883
+
884
+ See [DataView Primitive](/docs/primitive/components/dataview#api) for the full sub-component API.
885
+
886
+ ### Hooks
887
+
888
+ See [useDataView](/docs/headless/components/dataview#api) for the headless hook API.
889
+
890
+ ### Accessibility
891
+
892
+ See [DataView Primitive](/docs/primitive/components/dataview#accessibility) for WAI-ARIA compliance details and keyboard support.
893
+
894
+
895
+ ## Theming
896
+
897
+ ### CSS Classes
898
+
899
+ List of class names used in the styled mode.
900
+
901
+ <DocTable name="DataView" category="style" />
902
+
903
+ ### Design Tokens
904
+
905
+ List of design tokens.
906
+
907
+ <DocTable name="DataView" category="token" />