@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,779 @@
1
+ # Styled Mode
2
+
3
+ Choose from a variety of pre-styled themes or develop your own.
4
+
5
+ ## Architecture
6
+
7
+ PrimeReact is a design agnostic library so unlike some other UI libraries it does not enforce a certain styling such as material design. Styling is decoupled from the components using the themes instead. A theme consists of two parts; _base_ and _preset_. The base is the style rules with CSS variables as placeholders whereas the preset is a set of design tokens to feed a base by mapping the tokens to CSS variables. A base may be configured with different presets,
8
+ currently Aura, Material, Lara and Nora are the available built-in options.
9
+
10
+ ![Architecture](https://primefaces.org/cdn/primevue/images/primevue-v4-styled-architecture.png)
11
+
12
+ The core of the styled mode architecture is based on a concept named _design token_, a preset defines the token configuration in 3 tiers; _primitive_, _semantic_ and _component_.
13
+
14
+ Learn more about design tokens at the [Design Tokens Format Module](https://www.designtokens.org/tr/drafts/format/) specification.
15
+
16
+ ### Primitive Tokens
17
+
18
+ Primitive tokens have no context, a color palette is a good example for a primitive token such as `blue-50` to `blue-900`. A token named `blue-500` may be used as the primary color, the background of a message however on its own, the name of the token does not indicate context. Usually they are utilized by the semantic tokens.
19
+
20
+ ### Semantic Tokens
21
+
22
+ Semantic tokens define content and their names indicate where they are utilized, a well known example of a semantic token is the `primary.color`. Semantic tokens map to primitive tokens or other semantic tokens. The `colorScheme` token group is a special variable to define tokens based on the color scheme active in the application, this allows defining different tokens based on the color scheme like dark mode.
23
+
24
+ ### Component Tokens
25
+
26
+ Component tokens are isolated tokens per component such as `inputtext.background` or `button.color` that map to the semantic tokens. As an example, `button.background` component token maps to the `primary.color` semantic token which maps to the `green.500` primitive token.
27
+
28
+ ### Best Practices
29
+
30
+ Use primitive tokens when defining the core color palette and semantic tokens to specify the common design elements such as focus ring, primary colors and surfaces. Components tokens should only be used when customizing a specific
31
+ component. By defining your own design tokens as a custom preset, you'll be able to define your own style without touching CSS. Overriding the PrimeReact components using style classes is not a best practice and should be the last resort,
32
+ design tokens are the suggested approach.
33
+
34
+ ## Configuration API
35
+
36
+ ### Theme
37
+
38
+ The `theme` property is used to customize the initial theme.
39
+
40
+ ```tsx
41
+ import Aura from '@primeuix/themes/aura';
42
+ import { PrimeReactProvider } from '@primereact/core';
43
+ import React from 'react';
44
+ import ReactDOM from 'react-dom/client';
45
+ import App from './App';
46
+
47
+ const theme = {
48
+ preset: Aura,
49
+ // Default options
50
+ options: {
51
+ prefix: 'p',
52
+ darkModeSelector: 'system',
53
+ cssLayer: false,
54
+ cssVariables: true,
55
+ scoped: false
56
+ }
57
+ };
58
+
59
+ ReactDOM.createRoot(document.getElementById('root')).render(
60
+ <React.StrictMode>
61
+ <PrimeReactProvider theme={theme} license="PrimeUI-Commercial-Key...">
62
+ <App />
63
+ </PrimeReactProvider>
64
+ </React.StrictMode>
65
+ );
66
+ ```
67
+
68
+ ### Options
69
+
70
+ The `options` property defines the how the CSS would be generated from the design tokens of the preset.
71
+
72
+ #### prefix
73
+
74
+ The prefix of the CSS variables, defaults to `p`. For instance, the `primary.color` design token would be `var(--p-primary-color)`.
75
+
76
+ ```tsx
77
+ options: {
78
+ prefix: 'my';
79
+ }
80
+ ```
81
+
82
+ #### darkModeSelector
83
+
84
+ The CSS rule to encapsulate the CSS variables of the dark mode, the default is the `system` to generate `@media (prefers-color-scheme: dark)`. If you need to make the dark mode toggleable based on the user selection define a
85
+ class selector such as `.app-dark` and toggle this class at the document root. See the dark mode toggle section for an example.
86
+
87
+ ```tsx
88
+ options: {
89
+ darkModeSelector: '.my-app-dark';
90
+ }
91
+ ```
92
+
93
+ #### cssLayer
94
+
95
+ Defines whether the styles should be defined inside a [CSS layer](https://developer.mozilla.org/en-US/docs/Web/CSS/@layer) by default or not. A CSS layer would be handy to declare a
96
+ custom cascade layer for easier customization if necessary. The default is `false`.
97
+
98
+ ```tsx
99
+ options: {
100
+ cssLayer: {
101
+ name: 'primereact',
102
+ order: 'app-styles, primereact, another-css-library'
103
+ }
104
+ }
105
+ ```
106
+
107
+ #### cssVariables
108
+
109
+ Controls whether component design tokens are generated as CSS variables or inlined as static values. Primitive and semantic tokens are always generated as CSS variables.
110
+
111
+ #### scoped
112
+
113
+ Scopes the generated CSS variables to the components only instead of the document root and host elements. Defaults to `false`.
114
+
115
+ ### Presets
116
+
117
+ Aura, Material, Lara and Nora are the available built-in options, created to demonstrate the power of the design-agnostic theming. Aura is PrimeTek's own vision, Material follows Google Material Design v2, Lara is based on Bootstrap and
118
+ Nora is inspired by enterprise applications. Visit the [source code](https://github.com/primefaces/primeuix/tree/main/packages/themes/src/presets)
119
+ to learn more about the structure of presets. You may use them out of the box with modifications or utilize them as reference in case you need to build your own presets from scratch.
120
+
121
+ ### Reserved Keys
122
+
123
+ Following keys are reserved in the preset scheme and cannot be used as a token name; `primitive`, `semantic`, `components`, `directives`, `colorscheme`, `light`, `dark`, `common`, `root`, `states`, and `extend`.
124
+
125
+ ### Colors
126
+
127
+ Color palette of a preset is defined by the `primitive` design token group. You can access colors using CSS variables or the `$dt` utility.
128
+
129
+ ```tsx
130
+ // With CSS
131
+ var(--p-blue-500)
132
+
133
+ // With JS
134
+ $dt('blue.500').value
135
+ ```
136
+
137
+ ```tsx
138
+ export default function ColorsListDemo() {
139
+ const colors = [
140
+ 'emerald',
141
+ 'green',
142
+ 'lime',
143
+ 'red',
144
+ 'orange',
145
+ 'amber',
146
+ 'yellow',
147
+ 'teal',
148
+ 'cyan',
149
+ 'sky',
150
+ 'blue',
151
+ 'indigo',
152
+ 'violet',
153
+ 'purple',
154
+ 'fuchsia',
155
+ 'pink',
156
+ 'rose',
157
+ 'slate',
158
+ 'gray',
159
+ 'zinc',
160
+ 'neutral',
161
+ 'stone'
162
+ ];
163
+ const shades = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 950];
164
+
165
+ return (
166
+ <div>
167
+ <ul className="p-0 m-0 list-none flex sm:flex-col gap-4 flex-wrap sm:flex-nowrap">
168
+ {colors.map((color, i) => (
169
+ <li key={i} className="flex-auto" style={{ minWidth: '6rem' }}>
170
+ <span className="font-medium capitalize block mb-2 text-center sm:text-left">{color}</span>
171
+ <div className="flex gap-4 flex-auto flex-col sm:flex-row">
172
+ {shades.map((shade, j) => (
173
+ <div key={j} className="flex flex-col items-center gap-1 flex-1">
174
+ <div className="rounded h-8 w-full" style={{ backgroundColor: `var(--p-${color}-${shade})` }}></div>
175
+ <span className="text-sm text-surface-500 dark:text-surface-400 font-medium">{shade}</span>
176
+ </div>
177
+ ))}
178
+ </div>
179
+ </li>
180
+ ))}
181
+ </ul>
182
+ </div>
183
+ );
184
+ }
185
+ ```
186
+
187
+ ## Dark Mode
188
+
189
+ PrimeReact uses the `system` as the default `darkModeSelector` in theme configuration. If you have a dark mode switch in your application, set the `darkModeSelector` to the selector you utilize such as `.my-app-dark` so that PrimeReact can fit in
190
+ seamlessly with your color scheme.
191
+
192
+ ```tsx
193
+ import { StrictMode } from 'react';
194
+ import { createRoot } from 'react-dom/client';
195
+ import App from './App.tsx';
196
+ import { PrimeReactProvider } from '@primereact/core';
197
+ import Aura from '@primeuix/themes/aura';
198
+
199
+ const primereact = {
200
+ theme: {
201
+ preset: Aura,
202
+ options: {
203
+ darkModeSelector: '.my-app-dark'
204
+ }
205
+ }
206
+ };
207
+
208
+ createRoot(document.getElementById('root')!).render(
209
+ <StrictMode>
210
+ <PrimeReactProvider {...primereact}>
211
+ <App />
212
+ </PrimeReactProvider>
213
+ </StrictMode>
214
+ );
215
+ ```
216
+
217
+ Following is a very basic example implementation of a dark mode switch, you may extend it further by involving `prefers-color-scheme` to retrieve it from the system initially and use `localStorage` to make it stateful. See this [article](https://dev.to/abbeyperini/dark-mode-toggle-and-prefers-color-scheme-4f3m) for more information.
218
+
219
+ ```tsx
220
+ <Button label="Toggle Dark Mode" onClick={toggleDarkMode} />
221
+ ```
222
+
223
+ ```tsx
224
+ const toggleDarkMode = () => {
225
+ document.documentElement.classList.toggle('my-app-dark');
226
+ };
227
+ ```
228
+
229
+ In case you prefer to use dark mode all the time, apply the `darkModeSelector` initially and never change it.
230
+
231
+ ```tsx
232
+ <html className="my-app-dark">
233
+ ```
234
+
235
+ It is also possible to disable dark mode completely using `false` or `none` as the value of the selector.
236
+
237
+ ```tsx
238
+ theme: {
239
+ preset: Aura,
240
+ options: {
241
+ darkModeSelector: false || 'none',
242
+ }
243
+ }
244
+ ```
245
+
246
+ ## Customization
247
+
248
+ ### definePreset
249
+
250
+ The `definePreset` utility is used to customize an existing preset during the PrimeReact setup. The first parameter is the preset to customize and the second is the design tokens to override.
251
+
252
+ ```tsx
253
+ import { StrictMode } from 'react';
254
+ import { createRoot } from 'react-dom/client';
255
+ import App from './App.tsx';
256
+ import { PrimeReactProvider } from '@primereact/core';
257
+ import { definePreset } from '@primeuix/themes';
258
+ import Aura from '@primeuix/themes/aura';
259
+
260
+ const MyPreset = definePreset(Aura, {
261
+ //Your customizations, see the following sections for examples
262
+ });
263
+
264
+ const primereact = {
265
+ theme: {
266
+ preset: MyPreset
267
+ }
268
+ };
269
+
270
+ createRoot(document.getElementById('root')!).render(
271
+ <StrictMode>
272
+ <PrimeReactProvider {...primereact}>
273
+ <App />
274
+ </PrimeReactProvider>
275
+ </StrictMode>
276
+ );
277
+ ```
278
+
279
+ ### Color Scheme
280
+
281
+ Tokens can be defined per color scheme using the `light-dark` function, allowing each token to hold scheme-specific values.
282
+
283
+ ```tsx
284
+ const MyPreset = definePreset(Aura, {
285
+ semantic: {
286
+ primary: {
287
+ color: 'light-dark({primary.500}, {primary.400})',
288
+ contrastColor: 'light-dark(#ffffff, {surface.900})'
289
+ }
290
+ }
291
+ });
292
+ ```
293
+
294
+ ### Primary
295
+
296
+ The `primary` defines the main color palette, default value maps to the `emerald` primitive token. Let's setup to use `indigo` instead.
297
+
298
+ ```tsx
299
+ const MyPreset = definePreset(Aura, {
300
+ semantic: {
301
+ primary: {
302
+ 50: '{indigo.50}',
303
+ 100: '{indigo.100}',
304
+ 200: '{indigo.200}',
305
+ 300: '{indigo.300}',
306
+ 400: '{indigo.400}',
307
+ 500: '{indigo.500}',
308
+ 600: '{indigo.600}',
309
+ 700: '{indigo.700}',
310
+ 800: '{indigo.800}',
311
+ 900: '{indigo.900}',
312
+ 950: '{indigo.950}'
313
+ }
314
+ }
315
+ });
316
+ ```
317
+
318
+ ### Surface
319
+
320
+ The color scheme palette that varies between light and dark modes is specified with the surface tokens. Example below uses `stone` for light mode and `zinc` for dark mode using the `light-dark` function. With this setting, light mode, would have a grayscale tone and dark mode would include bluish tone.
321
+
322
+ ```tsx
323
+ const MyPreset = definePreset(Aura, {
324
+ semantic: {
325
+ surface: {
326
+ 0: '#ffffff',
327
+ 50: 'light-dark({stone.50}, {zinc.50})',
328
+ 100: 'light-dark({stone.100}, {zinc.100})',
329
+ 200: 'light-dark({stone.200}, {zinc.200})',
330
+ 300: 'light-dark({stone.300}, {zinc.300})',
331
+ 400: 'light-dark({stone.400}, {zinc.400})',
332
+ 500: 'light-dark({stone.500}, {zinc.500})',
333
+ 600: 'light-dark({stone.600}, {zinc.600})',
334
+ 700: 'light-dark({stone.700}, {zinc.700})',
335
+ 800: 'light-dark({stone.800}, {zinc.800})',
336
+ 900: 'light-dark({stone.900}, {zinc.900})',
337
+ 950: 'light-dark({stone.950}, {zinc.950})'
338
+ }
339
+ }
340
+ });
341
+ ```
342
+
343
+ ### Noir
344
+
345
+ The `noir` mode is a sleek, monochrome variant where the primary color is derived from the neutral `surface` palette instead of a distinct accent color. The example below maps the primary palette to surface tones and uses the `light-dark` function to define the light and dark values of the primary and highlight tokens in a single place;
346
+
347
+ ```tsx
348
+ const Noir = definePreset(Aura, {
349
+ semantic: {
350
+ primary: {
351
+ 50: '{surface.50}',
352
+ 100: '{surface.100}',
353
+ 200: '{surface.200}',
354
+ 300: '{surface.300}',
355
+ 400: '{surface.400}',
356
+ 500: '{surface.500}',
357
+ 600: '{surface.600}',
358
+ 700: '{surface.700}',
359
+ 800: '{surface.800}',
360
+ 900: '{surface.900}',
361
+ 950: '{surface.950}',
362
+ color: 'light-dark({primary.950}, {primary.50})',
363
+ contrastColor: 'light-dark(#ffffff, {primary.950})',
364
+ hoverColor: 'light-dark({primary.800}, {primary.200})',
365
+ activeColor: 'light-dark({primary.700}, {primary.300})'
366
+ },
367
+ highlight: {
368
+ background: 'light-dark({primary.950}, {primary.50})',
369
+ focusBackground: 'light-dark({primary.700}, {primary.300})',
370
+ color: 'light-dark(#ffffff, {primary.950})',
371
+ focusColor: 'light-dark(#ffffff, {primary.950})'
372
+ }
373
+ }
374
+ });
375
+ ```
376
+
377
+ ### Forms
378
+
379
+ The design tokens of the form input components are derived from the `form.field` token group. This customization example changes border color to primary on hover. Any component that depends on this semantic token such as
380
+ `dropdown.hover.border.color` and `textarea.hover.border.color` would receive the change.
381
+
382
+ ```tsx
383
+ const MyPreset = definePreset(Aura, {
384
+ semantic: {
385
+ formField: {
386
+ hoverBorderColor: '{primary.color}'
387
+ }
388
+ }
389
+ });
390
+ ```
391
+
392
+ ### Focus Ring
393
+
394
+ Focus ring defines the outline width, style, color and offset. Let's use a thicker ring with the primary color for the outline.
395
+
396
+ ```tsx
397
+ const MyPreset = definePreset(Aura, {
398
+ semantic: {
399
+ focusRing: {
400
+ width: '2px',
401
+ style: 'dashed',
402
+ color: '{primary.color}',
403
+ offset: '1px'
404
+ }
405
+ }
406
+ });
407
+ ```
408
+
409
+ ### Component
410
+
411
+ The design tokens of a specific component is defined at `components` layer. This configuration is global and applies to all card components, in case you need to customize a particular component on a page locally, view the Scoped CSS section for an example.
412
+
413
+ **Tip:** Overriding component tokens is best suited for small adjustments. For heavy customization, building your own preset is the recommended approach.
414
+
415
+ ```tsx
416
+ const MyPreset = definePreset(Aura, {
417
+ components: {
418
+ card: {
419
+ root: {
420
+ background: 'light-dark({surface.0}, {surface.900})',
421
+ color: 'light-dark({surface.700}, {surface.0})'
422
+ },
423
+ subtitle: {
424
+ color: 'light-dark({surface.500}, {surface.400})'
425
+ }
426
+ }
427
+ }
428
+ });
429
+ ```
430
+
431
+ ### Typography
432
+
433
+ Typography tokens are defined at the semantic level for consistency and at the component level for specialization.
434
+
435
+ ```tsx
436
+ const MyPreset = definePreset(Aura, {
437
+ semantic: {
438
+ typography: {
439
+ lineHeight: '1.5',
440
+ fontFamily: 'inherit',
441
+ fontWeight: 'normal',
442
+ fontSize: '0.875rem'
443
+ },
444
+ formField: {
445
+ fontWeight: '{typography.font.weight}',
446
+ fontSize: '{typography.font.size}'
447
+ }
448
+ },
449
+ components: {
450
+ select: {
451
+ fontSize: '{form.field.font.size}',
452
+ fontWeight: '{form.field.font.weight}'
453
+ }
454
+ }
455
+ });
456
+ ```
457
+
458
+ ### Extend
459
+
460
+ The theming system can be extended by adding custom design tokens and additional styles. This feature provides a high degree of customization, allowing you to adjust styles according to your needs, as you are not limited to the default tokens.
461
+
462
+ The example preset configuration adds a new `accent` button with custom `button.accent.color` and `button.accent.inverse.color` tokens. It is also possible to add tokens globally to share them within the components.
463
+
464
+ ```tsx
465
+ const MyPreset = definePreset(Aura, {
466
+ components: {
467
+ // custom button tokens and additional style
468
+ button: {
469
+ extend: {
470
+ accent: {
471
+ color: '#f59e0b',
472
+ inverseColor: '#ffffff'
473
+ }
474
+ }
475
+ css: ({ dt }) => \`
476
+ .p-button-accent {
477
+ background: \${dt('button.accent.color')};
478
+ color: \${dt('button.accent.inverse.color')};
479
+ transition-duration: \${dt('my.transition.fast')};
480
+ }
481
+ \`
482
+ }
483
+ },
484
+ // common tokens and styles
485
+ extend: {
486
+ my: {
487
+ transition: {
488
+ slow: '0.75s'
489
+ normal: '0.5s'
490
+ fast: '0.25s'
491
+ },
492
+ imageDisplay: 'block'
493
+ }
494
+ },
495
+ css: ({ dt }) => \`
496
+ /* Global CSS */
497
+ img {
498
+ display: \${dt('my.image.display')};
499
+ }
500
+ \`
501
+ });
502
+ ```
503
+
504
+ ## Scoped Tokens
505
+
506
+ Design tokens can be scoped to a certain component using the `dt` property. In this example, first switch uses the global tokens whereas second one overrides the global with its own tokens.
507
+
508
+ ```tsx
509
+ import { ToggleSwitch } from '@primereact/ui/toggleswitch';
510
+
511
+ export default function ScopedTokensDemo() {
512
+ const amberSwitch = {
513
+ handle: {
514
+ borderRadius: '4px'
515
+ },
516
+ colorScheme: {
517
+ light: {
518
+ root: {
519
+ checkedBackground: '{amber.500}',
520
+ checkedHoverBackground: '{amber.600}',
521
+ borderRadius: '4px'
522
+ },
523
+ handle: {
524
+ checkedBackground: '{amber.50}',
525
+ checkedHoverBackground: '{amber.100}'
526
+ }
527
+ },
528
+ dark: {
529
+ root: {
530
+ checkedBackground: '{amber.400}',
531
+ checkedHoverBackground: '{amber.300}',
532
+ borderRadius: '4px'
533
+ },
534
+ handle: {
535
+ checkedBackground: '{amber.900}',
536
+ checkedHoverBackground: '{amber.800}'
537
+ }
538
+ }
539
+ }
540
+ };
541
+
542
+ return (
543
+ <div className="flex justify-center gap-4">
544
+ <ToggleSwitch.Root defaultChecked>
545
+ <ToggleSwitch.Control>
546
+ <ToggleSwitch.Handle />
547
+ </ToggleSwitch.Control>
548
+ </ToggleSwitch.Root>
549
+ <ToggleSwitch.Root defaultChecked dt={amberSwitch}>
550
+ <ToggleSwitch.Control>
551
+ <ToggleSwitch.Handle />
552
+ </ToggleSwitch.Control>
553
+ </ToggleSwitch.Root>
554
+ </div>
555
+ );
556
+ }
557
+ ```
558
+
559
+ ## Utils
560
+
561
+ ### usePreset
562
+
563
+ Replaces the current presets entirely, common use case is changing the preset dynamically at runtime.
564
+
565
+ ```tsx
566
+ import { usePreset } from '@primeuix/themes';
567
+
568
+ const onButtonClick() {
569
+ usePreset(MyPreset);
570
+ }
571
+ ```
572
+
573
+ ### updatePreset
574
+
575
+ Merges the provided tokens to the current preset, an example would be changing the primary color palette dynamically.
576
+
577
+ ```tsx
578
+ import { updatePreset } from '@primeuix/themes';
579
+
580
+ const changePrimaryColor() {
581
+ updatePreset({
582
+ semantic: {
583
+ primary: {
584
+ 50: '{indigo.50}',
585
+ 100: '{indigo.100}',
586
+ 200: '{indigo.200}',
587
+ 300: '{indigo.300}',
588
+ 400: '{indigo.400}',
589
+ 500: '{indigo.500}',
590
+ 600: '{indigo.600}',
591
+ 700: '{indigo.700}',
592
+ 800: '{indigo.800}',
593
+ 900: '{indigo.900}',
594
+ 950: '{indigo.950}'
595
+ }
596
+ }
597
+ })
598
+ }
599
+ ```
600
+
601
+ ### updatePrimaryPalette
602
+
603
+ Updates the primary colors, this is a shorthand to do the same update using `updatePreset`.
604
+
605
+ ```tsx
606
+ import { updatePrimaryPalette } from '@primeuix/themes';
607
+
608
+ const changePrimaryColor() {
609
+ updatePrimaryPalette({
610
+ 50: '{indigo.50}',
611
+ 100: '{indigo.100}',
612
+ 200: '{indigo.200}',
613
+ 300: '{indigo.300}',
614
+ 400: '{indigo.400}',
615
+ 500: '{indigo.500}',
616
+ 600: '{indigo.600}',
617
+ 700: '{indigo.700}',
618
+ 800: '{indigo.800}',
619
+ 900: '{indigo.900}',
620
+ 950: '{indigo.950}'
621
+ });
622
+ }
623
+ ```
624
+
625
+ ### updateSurfacePalette
626
+
627
+ Updates the surface colors, this is a shorthand to do the same update using `updatePreset`.
628
+
629
+ ```tsx
630
+ import { updateSurfacePalette } from '@primeuix/themes';
631
+
632
+ const changeSurfaces() {
633
+ //changes surfaces both in light and dark mode
634
+ updateSurfacePalette({
635
+ 50: '{zinc.50}',
636
+ // ...
637
+ 950: '{zinc.950}'
638
+ });
639
+ }
640
+
641
+ const changeLightSurfaces() {
642
+ //changes surfaces only in light
643
+ updateSurfacePalette({
644
+ light: {
645
+ 50: '{zinc.50}',
646
+ // ...
647
+ 950: '{zinc.950}'
648
+ }
649
+ });
650
+ }
651
+
652
+ const changeDarkSurfaces() {
653
+ //changes surfaces only in dark mode
654
+ updateSurfacePalette({
655
+ dark: {
656
+ 50: '{zinc.50}',
657
+ // ...
658
+ 950: '{zinc.950}'
659
+ }
660
+ });
661
+ }
662
+ ```
663
+
664
+ ### $dt
665
+
666
+ The `$dt` function returns the information about a token like the full path and value. This would be useful if you need to access tokens programmatically.
667
+
668
+ ```tsx
669
+ import { $dt } from '@primeuix/themes';
670
+
671
+ const duration = $dt('transition.duration');
672
+ /*
673
+ duration: {
674
+ name: '--transition-duration',
675
+ variable: 'var(--p-transition-duration)',
676
+ value: '0.2s'
677
+ }
678
+ */
679
+
680
+ const primaryColor = $dt('primary.color');
681
+ /*
682
+ primaryColor: {
683
+ name: '--primary-color',
684
+ variable: 'var(--p-primary-color)',
685
+ value: {
686
+ light: {
687
+ value: '#10b981',
688
+ paths: {
689
+ name: 'semantic.primary.color',
690
+ binding: {
691
+ name: 'primitive.emerald.500'
692
+ }
693
+ }
694
+ },
695
+ dark: {
696
+ value: '#34d399',
697
+ paths: {
698
+ name: 'semantic.primary.color',
699
+ binding: {
700
+ name: 'primitive.emerald.400'
701
+ }
702
+ }
703
+ }
704
+ }
705
+ }
706
+ */
707
+ ```
708
+
709
+ ### palette
710
+
711
+ Returns shades and tints of a given color from 50 to 950 as an object.
712
+
713
+ ```tsx
714
+ import { palette } from '@primeuix/themes';
715
+
716
+ // custom color
717
+ const values1 = palette('#10b981');
718
+
719
+ // copy an existing token set
720
+ const primaryColor = palette('{blue}');
721
+ ```
722
+
723
+ ## CSS Layer
724
+
725
+ The PrimeReact CSS layer only applies to styled mode when layering is enabled explicitly at theme configuration, in unstyled mode the built-in CSS classes are not included and as a result no layer is necessary.
726
+
727
+ ### Specificity
728
+
729
+ The `@layer` is a standard CSS feature to define cascade layers for a customizable order of precedence. If you need to become more familiar with layers, visit the documentation at [MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/@layer) to begin with.
730
+
731
+ The `cssLayer` is disabled by default, when it is enabled at theme configuration, PrimeReact wraps the built-in style classes under the `primereact` cascade layer to make the library styles easy to override. CSS in your app without a layer has the
732
+ highest CSS specificity, so you'll be able to override styles regardless of the location or how strong a class is written.
733
+
734
+ Layers also make it easier to use CSS Modules, view the CSS Modules guide for examples.
735
+
736
+ ### Reset
737
+
738
+ In case PrimeReact components have visual issues in your application, a Reset CSS may be the culprit. CSS layers would be an efficient solution that involves enabling the PrimeReact layer, wrapping the Reset CSS in another layer and defining the
739
+ layer order. This way, your Reset CSS does not get in the way of PrimeReact components.
740
+
741
+ ```css
742
+ /* Order */
743
+ @layer reset, primereact;
744
+
745
+ /* Reset CSS */
746
+ @layer reset {
747
+ button,
748
+ input {
749
+ /* CSS to Reset */
750
+ }
751
+ }
752
+ ```
753
+
754
+ ## CSS Modules
755
+
756
+ [CSS modules](https://github.com/css-modules/css-modules) are supported by enabling the `module` property on a style element within your SFC. Use the `$style` keyword to apply classes to a PrimeReact component. It is recommend to enable
757
+ `cssLayer` when using CSS modules so that the PrimeReact styles have low CSS specificity.
758
+
759
+ ```tsx
760
+ import * as React from 'react';
761
+ import { InputText } from '@primereact/ui/inputtext';
762
+ import styles from './css-modules-demo.module.css';
763
+
764
+ export default function CSSModulesDemo() {
765
+ return (
766
+ <div className="flex justify-center">
767
+ <InputText className={styles.myinput} placeholder="Search" />
768
+ </div>
769
+ );
770
+ }
771
+ ```
772
+
773
+ ```css
774
+ .myinput {
775
+ border-radius: 2rem;
776
+ padding: 1rem 2rem;
777
+ border-width: 2px;
778
+ }
779
+ ```