@primereact/mcp 11.0.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (546) hide show
  1. package/LICENSE.md +45 -0
  2. package/README.md +94 -0
  3. package/data/llms/headless/add-ons/introduction.md +16 -0
  4. package/data/llms/headless/components/accordion/api.json +252 -0
  5. package/data/llms/headless/components/accordion.md +196 -0
  6. package/data/llms/headless/components/animateonscroll/api.json +88 -0
  7. package/data/llms/headless/components/animateonscroll.md +141 -0
  8. package/data/llms/headless/components/autocomplete/api.json +787 -0
  9. package/data/llms/headless/components/autocomplete.md +249 -0
  10. package/data/llms/headless/components/avatar/api.json +154 -0
  11. package/data/llms/headless/components/avatar.md +149 -0
  12. package/data/llms/headless/components/badge/api.json +68 -0
  13. package/data/llms/headless/components/badge.md +150 -0
  14. package/data/llms/headless/components/breadcrumb/api.json +142 -0
  15. package/data/llms/headless/components/breadcrumb.md +149 -0
  16. package/data/llms/headless/components/button/api.json +62 -0
  17. package/data/llms/headless/components/button.md +73 -0
  18. package/data/llms/headless/components/card/api.json +36 -0
  19. package/data/llms/headless/components/card.md +96 -0
  20. package/data/llms/headless/components/carousel/api.json +793 -0
  21. package/data/llms/headless/components/carousel.md +196 -0
  22. package/data/llms/headless/components/checkbox/api.json +593 -0
  23. package/data/llms/headless/components/checkbox.md +184 -0
  24. package/data/llms/headless/components/chip/api.json +107 -0
  25. package/data/llms/headless/components/chip.md +141 -0
  26. package/data/llms/headless/components/collapsible/api.json +301 -0
  27. package/data/llms/headless/components/collapsible.md +136 -0
  28. package/data/llms/headless/components/compare/api.json +533 -0
  29. package/data/llms/headless/components/compare.md +142 -0
  30. package/data/llms/headless/components/contextmenu/api.json +495 -0
  31. package/data/llms/headless/components/contextmenu.md +282 -0
  32. package/data/llms/headless/components/datatable/api.json +1680 -0
  33. package/data/llms/headless/components/datatable.md +258 -0
  34. package/data/llms/headless/components/dataview/api.json +199 -0
  35. package/data/llms/headless/components/dataview.md +147 -0
  36. package/data/llms/headless/components/datepicker/api.json +2796 -0
  37. package/data/llms/headless/components/datepicker.md +456 -0
  38. package/data/llms/headless/components/dialog/api.json +626 -0
  39. package/data/llms/headless/components/dialog.md +280 -0
  40. package/data/llms/headless/components/divider/api.json +130 -0
  41. package/data/llms/headless/components/divider.md +92 -0
  42. package/data/llms/headless/components/drawer/api.json +425 -0
  43. package/data/llms/headless/components/drawer.md +220 -0
  44. package/data/llms/headless/components/fieldset/api.json +195 -0
  45. package/data/llms/headless/components/fieldset.md +154 -0
  46. package/data/llms/headless/components/fileupload/api.json +905 -0
  47. package/data/llms/headless/components/fileupload.md +323 -0
  48. package/data/llms/headless/components/floatlabel/api.json +36 -0
  49. package/data/llms/headless/components/floatlabel.md +19 -0
  50. package/data/llms/headless/components/fluid/api.json +36 -0
  51. package/data/llms/headless/components/fluid.md +19 -0
  52. package/data/llms/headless/components/focustrap/api.json +135 -0
  53. package/data/llms/headless/components/focustrap.md +125 -0
  54. package/data/llms/headless/components/gallery/api.json +1349 -0
  55. package/data/llms/headless/components/gallery.md +355 -0
  56. package/data/llms/headless/components/iconfield/api.json +62 -0
  57. package/data/llms/headless/components/iconfield.md +19 -0
  58. package/data/llms/headless/components/iftalabel/api.json +62 -0
  59. package/data/llms/headless/components/iftalabel.md +19 -0
  60. package/data/llms/headless/components/inplace/api.json +340 -0
  61. package/data/llms/headless/components/inplace.md +153 -0
  62. package/data/llms/headless/components/inputcolor/api.json +469 -0
  63. package/data/llms/headless/components/inputcolor.md +253 -0
  64. package/data/llms/headless/components/inputgroup/api.json +62 -0
  65. package/data/llms/headless/components/inputgroup.md +19 -0
  66. package/data/llms/headless/components/inputnumber/api.json +554 -0
  67. package/data/llms/headless/components/inputnumber.md +167 -0
  68. package/data/llms/headless/components/inputotp/api.json +276 -0
  69. package/data/llms/headless/components/inputotp.md +130 -0
  70. package/data/llms/headless/components/inputpassword/api.json +180 -0
  71. package/data/llms/headless/components/inputpassword.md +117 -0
  72. package/data/llms/headless/components/inputtags/api.json +497 -0
  73. package/data/llms/headless/components/inputtags.md +298 -0
  74. package/data/llms/headless/components/inputtext/api.json +81 -0
  75. package/data/llms/headless/components/inputtext.md +109 -0
  76. package/data/llms/headless/components/knob/api.json +429 -0
  77. package/data/llms/headless/components/knob.md +151 -0
  78. package/data/llms/headless/components/label/api.json +62 -0
  79. package/data/llms/headless/components/label.md +19 -0
  80. package/data/llms/headless/components/listbox/api.json +814 -0
  81. package/data/llms/headless/components/listbox.md +194 -0
  82. package/data/llms/headless/components/menu/api.json +1247 -0
  83. package/data/llms/headless/components/menu.md +283 -0
  84. package/data/llms/headless/components/message/api.json +131 -0
  85. package/data/llms/headless/components/message.md +143 -0
  86. package/data/llms/headless/components/metergroup/api.json +266 -0
  87. package/data/llms/headless/components/metergroup.md +129 -0
  88. package/data/llms/headless/components/motion/api.json +237 -0
  89. package/data/llms/headless/components/motion.md +160 -0
  90. package/data/llms/headless/components/navigationmenu/api.json +220 -0
  91. package/data/llms/headless/components/navigationmenu.md +166 -0
  92. package/data/llms/headless/components/orderlist/api.json +196 -0
  93. package/data/llms/headless/components/orderlist.md +221 -0
  94. package/data/llms/headless/components/organizationchart/api.json +372 -0
  95. package/data/llms/headless/components/organizationchart.md +254 -0
  96. package/data/llms/headless/components/paginator/api.json +311 -0
  97. package/data/llms/headless/components/paginator.md +187 -0
  98. package/data/llms/headless/components/panel/api.json +195 -0
  99. package/data/llms/headless/components/panel.md +150 -0
  100. package/data/llms/headless/components/picklist/api.json +293 -0
  101. package/data/llms/headless/components/picklist.md +270 -0
  102. package/data/llms/headless/components/popover/api.json +405 -0
  103. package/data/llms/headless/components/popover.md +301 -0
  104. package/data/llms/headless/components/portal/api.json +56 -0
  105. package/data/llms/headless/components/portal.md +102 -0
  106. package/data/llms/headless/components/positioner/api.json +165 -0
  107. package/data/llms/headless/components/positioner.md +181 -0
  108. package/data/llms/headless/components/progressbar/api.json +87 -0
  109. package/data/llms/headless/components/progressbar.md +122 -0
  110. package/data/llms/headless/components/progressspinner/api.json +337 -0
  111. package/data/llms/headless/components/progressspinner.md +128 -0
  112. package/data/llms/headless/components/radiobutton/api.json +569 -0
  113. package/data/llms/headless/components/radiobutton.md +195 -0
  114. package/data/llms/headless/components/rating/api.json +347 -0
  115. package/data/llms/headless/components/rating.md +181 -0
  116. package/data/llms/headless/components/scrollarea/api.json +730 -0
  117. package/data/llms/headless/components/scrollarea.md +232 -0
  118. package/data/llms/headless/components/select/api.json +829 -0
  119. package/data/llms/headless/components/select.md +262 -0
  120. package/data/llms/headless/components/sidebar/api.json +433 -0
  121. package/data/llms/headless/components/sidebar.md +266 -0
  122. package/data/llms/headless/components/skeleton/api.json +68 -0
  123. package/data/llms/headless/components/skeleton.md +95 -0
  124. package/data/llms/headless/components/slider/api.json +559 -0
  125. package/data/llms/headless/components/slider.md +158 -0
  126. package/data/llms/headless/components/speeddial/api.json +459 -0
  127. package/data/llms/headless/components/speeddial.md +181 -0
  128. package/data/llms/headless/components/splitter/api.json +582 -0
  129. package/data/llms/headless/components/splitter.md +159 -0
  130. package/data/llms/headless/components/stepper/api.json +385 -0
  131. package/data/llms/headless/components/stepper.md +183 -0
  132. package/data/llms/headless/components/styleclass/api.json +134 -0
  133. package/data/llms/headless/components/styleclass.md +129 -0
  134. package/data/llms/headless/components/tabs/api.json +336 -0
  135. package/data/llms/headless/components/tabs.md +158 -0
  136. package/data/llms/headless/components/tag/api.json +62 -0
  137. package/data/llms/headless/components/tag.md +121 -0
  138. package/data/llms/headless/components/terminal/api.json +117 -0
  139. package/data/llms/headless/components/terminal.md +183 -0
  140. package/data/llms/headless/components/textarea/api.json +81 -0
  141. package/data/llms/headless/components/textarea.md +110 -0
  142. package/data/llms/headless/components/timeline/api.json +270 -0
  143. package/data/llms/headless/components/timeline.md +117 -0
  144. package/data/llms/headless/components/toast/api.json +455 -0
  145. package/data/llms/headless/components/toast.md +277 -0
  146. package/data/llms/headless/components/togglebutton/api.json +357 -0
  147. package/data/llms/headless/components/togglebutton.md +183 -0
  148. package/data/llms/headless/components/toggleswitch/api.json +326 -0
  149. package/data/llms/headless/components/toggleswitch.md +164 -0
  150. package/data/llms/headless/components/toolbar/api.json +68 -0
  151. package/data/llms/headless/components/toolbar.md +96 -0
  152. package/data/llms/headless/components/tooltip/api.json +478 -0
  153. package/data/llms/headless/components/tooltip.md +233 -0
  154. package/data/llms/headless/components/tree/api.json +1297 -0
  155. package/data/llms/headless/components/tree.md +297 -0
  156. package/data/llms/headless/components/treetable/api.json +1680 -0
  157. package/data/llms/headless/components/treetable.md +177 -0
  158. package/data/llms/headless/guides/ai/llms.md +25 -0
  159. package/data/llms/headless/guides/installation.md +126 -0
  160. package/data/llms/headless/guides/introduction.md +20 -0
  161. package/data/llms/headless/guides/misc/accessibility.md +228 -0
  162. package/data/llms/headless/llms.md +25 -0
  163. package/data/llms/headless/resources/introduction.md +15 -0
  164. package/data/llms/hooks/gettingstarted/introduction.md +34 -0
  165. package/data/llms/hooks/gettingstarted/setup.md +54 -0
  166. package/data/llms/hooks/use-attr-selector.md +25 -0
  167. package/data/llms/hooks/use-controlled-state.md +31 -0
  168. package/data/llms/hooks/use-event-listener.md +37 -0
  169. package/data/llms/hooks/use-filter.md +312 -0
  170. package/data/llms/hooks/use-hot-key.md +40 -0
  171. package/data/llms/hooks/use-id.md +24 -0
  172. package/data/llms/hooks/use-intersection-observer.md +42 -0
  173. package/data/llms/hooks/use-is-mobile.md +24 -0
  174. package/data/llms/hooks/use-key-filter.md +139 -0
  175. package/data/llms/hooks/use-local-storage.md +28 -0
  176. package/data/llms/hooks/use-mask.md +53 -0
  177. package/data/llms/hooks/use-match-media.md +28 -0
  178. package/data/llms/hooks/use-mount-effect.md +25 -0
  179. package/data/llms/hooks/use-mounted.md +36 -0
  180. package/data/llms/hooks/use-number-formatter.md +48 -0
  181. package/data/llms/hooks/use-presence.md +44 -0
  182. package/data/llms/hooks/use-previous.md +28 -0
  183. package/data/llms/hooks/use-props.md +37 -0
  184. package/data/llms/hooks/use-queue-task.md +29 -0
  185. package/data/llms/hooks/use-scrolltop.md +87 -0
  186. package/data/llms/hooks/use-sortable-list.md +226 -0
  187. package/data/llms/hooks/use-tree-filter.md +216 -0
  188. package/data/llms/hooks/use-unmount-effect.md +23 -0
  189. package/data/llms/hooks/use-update-effect.md +27 -0
  190. package/data/llms/hooks/use-view-transition.md +31 -0
  191. package/data/llms/hooks/use-visibility-change.md +30 -0
  192. package/data/llms/llms-full.txt +125291 -0
  193. package/data/llms/llms.txt +379 -0
  194. package/data/llms/manifest.json +12409 -0
  195. package/data/llms/mcp-data.json +14481 -0
  196. package/data/llms/primitive/add-ons/introduction.md +16 -0
  197. package/data/llms/primitive/components/accordion/api.json +1411 -0
  198. package/data/llms/primitive/components/accordion.md +231 -0
  199. package/data/llms/primitive/components/animateonscroll/api.json +193 -0
  200. package/data/llms/primitive/components/animateonscroll.md +91 -0
  201. package/data/llms/primitive/components/autocomplete/api.json +3167 -0
  202. package/data/llms/primitive/components/autocomplete.md +344 -0
  203. package/data/llms/primitive/components/avatar/api.json +703 -0
  204. package/data/llms/primitive/components/avatar.md +134 -0
  205. package/data/llms/primitive/components/badge/api.json +363 -0
  206. package/data/llms/primitive/components/badge.md +118 -0
  207. package/data/llms/primitive/components/breadcrumb/api.json +1162 -0
  208. package/data/llms/primitive/components/breadcrumb.md +196 -0
  209. package/data/llms/primitive/components/button/api.json +246 -0
  210. package/data/llms/primitive/components/button.md +114 -0
  211. package/data/llms/primitive/components/buttongroup/api.json +168 -0
  212. package/data/llms/primitive/components/buttongroup.md +43 -0
  213. package/data/llms/primitive/components/card/api.json +1252 -0
  214. package/data/llms/primitive/components/card.md +159 -0
  215. package/data/llms/primitive/components/carousel/api.json +1374 -0
  216. package/data/llms/primitive/components/carousel.md +220 -0
  217. package/data/llms/primitive/components/checkbox/api.json +697 -0
  218. package/data/llms/primitive/components/checkbox.md +160 -0
  219. package/data/llms/primitive/components/checkboxgroup/api.json +252 -0
  220. package/data/llms/primitive/components/checkboxgroup.md +58 -0
  221. package/data/llms/primitive/components/chip/api.json +853 -0
  222. package/data/llms/primitive/components/chip.md +135 -0
  223. package/data/llms/primitive/components/collapsible/api.json +581 -0
  224. package/data/llms/primitive/components/collapsible.md +133 -0
  225. package/data/llms/primitive/components/compare/api.json +909 -0
  226. package/data/llms/primitive/components/compare.md +156 -0
  227. package/data/llms/primitive/components/contextmenu/api.json +3454 -0
  228. package/data/llms/primitive/components/contextmenu.md +483 -0
  229. package/data/llms/primitive/components/datatable/api.json +7832 -0
  230. package/data/llms/primitive/components/datatable.md +561 -0
  231. package/data/llms/primitive/components/dataview/api.json +819 -0
  232. package/data/llms/primitive/components/dataview.md +163 -0
  233. package/data/llms/primitive/components/datepicker/api.json +9055 -0
  234. package/data/llms/primitive/components/datepicker.md +760 -0
  235. package/data/llms/primitive/components/dialog/api.json +2491 -0
  236. package/data/llms/primitive/components/dialog.md +276 -0
  237. package/data/llms/primitive/components/divider/api.json +214 -0
  238. package/data/llms/primitive/components/divider.md +96 -0
  239. package/data/llms/primitive/components/drawer/api.json +1879 -0
  240. package/data/llms/primitive/components/drawer.md +220 -0
  241. package/data/llms/primitive/components/fieldset/api.json +1116 -0
  242. package/data/llms/primitive/components/fieldset.md +183 -0
  243. package/data/llms/primitive/components/fileupload/api.json +2445 -0
  244. package/data/llms/primitive/components/fileupload.md +282 -0
  245. package/data/llms/primitive/components/floatlabel/api.json +176 -0
  246. package/data/llms/primitive/components/floatlabel.md +47 -0
  247. package/data/llms/primitive/components/focustrap/api.json +241 -0
  248. package/data/llms/primitive/components/focustrap.md +93 -0
  249. package/data/llms/primitive/components/gallery/api.json +3622 -0
  250. package/data/llms/primitive/components/gallery.md +387 -0
  251. package/data/llms/primitive/components/iconfield/api.json +322 -0
  252. package/data/llms/primitive/components/iconfield.md +53 -0
  253. package/data/llms/primitive/components/iftalabel/api.json +177 -0
  254. package/data/llms/primitive/components/iftalabel.md +47 -0
  255. package/data/llms/primitive/components/inplace/api.json +783 -0
  256. package/data/llms/primitive/components/inplace.md +141 -0
  257. package/data/llms/primitive/components/inputcolor/api.json +2211 -0
  258. package/data/llms/primitive/components/inputcolor.md +295 -0
  259. package/data/llms/primitive/components/inputnumber/api.json +469 -0
  260. package/data/llms/primitive/components/inputnumber.md +99 -0
  261. package/data/llms/primitive/components/inputotp/api.json +469 -0
  262. package/data/llms/primitive/components/inputotp.md +121 -0
  263. package/data/llms/primitive/components/inputpassword/api.json +278 -0
  264. package/data/llms/primitive/components/inputpassword.md +84 -0
  265. package/data/llms/primitive/components/inputtags/api.json +407 -0
  266. package/data/llms/primitive/components/inputtags.md +243 -0
  267. package/data/llms/primitive/components/inputtext/api.json +207 -0
  268. package/data/llms/primitive/components/inputtext.md +81 -0
  269. package/data/llms/primitive/components/knob/api.json +841 -0
  270. package/data/llms/primitive/components/knob.md +148 -0
  271. package/data/llms/primitive/components/label/api.json +177 -0
  272. package/data/llms/primitive/components/label.md +44 -0
  273. package/data/llms/primitive/components/listbox/api.json +1741 -0
  274. package/data/llms/primitive/components/listbox.md +206 -0
  275. package/data/llms/primitive/components/menu/api.json +3836 -0
  276. package/data/llms/primitive/components/menu.md +479 -0
  277. package/data/llms/primitive/components/message/api.json +863 -0
  278. package/data/llms/primitive/components/message.md +151 -0
  279. package/data/llms/primitive/components/metergroup/api.json +1222 -0
  280. package/data/llms/primitive/components/metergroup.md +209 -0
  281. package/data/llms/primitive/components/motion.md +112 -0
  282. package/data/llms/primitive/components/navigationmenu/api.json +298 -0
  283. package/data/llms/primitive/components/navigationmenu.md +184 -0
  284. package/data/llms/primitive/components/organizationchart.md +133 -0
  285. package/data/llms/primitive/components/paginator/api.json +1637 -0
  286. package/data/llms/primitive/components/paginator.md +223 -0
  287. package/data/llms/primitive/components/panel/api.json +1270 -0
  288. package/data/llms/primitive/components/panel.md +186 -0
  289. package/data/llms/primitive/components/popover/api.json +2281 -0
  290. package/data/llms/primitive/components/popover.md +277 -0
  291. package/data/llms/primitive/components/portal/api.json +176 -0
  292. package/data/llms/primitive/components/portal.md +79 -0
  293. package/data/llms/primitive/components/progressbar/api.json +857 -0
  294. package/data/llms/primitive/components/progressbar.md +153 -0
  295. package/data/llms/primitive/components/progressspinner/api.json +725 -0
  296. package/data/llms/primitive/components/progressspinner.md +133 -0
  297. package/data/llms/primitive/components/radiobutton/api.json +929 -0
  298. package/data/llms/primitive/components/radiobutton.md +201 -0
  299. package/data/llms/primitive/components/rating/api.json +878 -0
  300. package/data/llms/primitive/components/rating.md +160 -0
  301. package/data/llms/primitive/components/scrollarea/api.json +1187 -0
  302. package/data/llms/primitive/components/scrollarea.md +255 -0
  303. package/data/llms/primitive/components/select/api.json +3167 -0
  304. package/data/llms/primitive/components/select.md +351 -0
  305. package/data/llms/primitive/components/sidebar/api.json +3699 -0
  306. package/data/llms/primitive/components/sidebar.md +444 -0
  307. package/data/llms/primitive/components/skeleton/api.json +213 -0
  308. package/data/llms/primitive/components/skeleton.md +80 -0
  309. package/data/llms/primitive/components/slider/api.json +1066 -0
  310. package/data/llms/primitive/components/slider.md +161 -0
  311. package/data/llms/primitive/components/speeddial/api.json +1002 -0
  312. package/data/llms/primitive/components/speeddial.md +197 -0
  313. package/data/llms/primitive/components/splitter/api.json +901 -0
  314. package/data/llms/primitive/components/splitter.md +137 -0
  315. package/data/llms/primitive/components/stepper/api.json +2102 -0
  316. package/data/llms/primitive/components/stepper.md +253 -0
  317. package/data/llms/primitive/components/styleclass.md +399 -0
  318. package/data/llms/primitive/components/tabs/api.json +1705 -0
  319. package/data/llms/primitive/components/tabs.md +200 -0
  320. package/data/llms/primitive/components/tag/api.json +189 -0
  321. package/data/llms/primitive/components/tag.md +100 -0
  322. package/data/llms/primitive/components/terminal/api.json +1709 -0
  323. package/data/llms/primitive/components/terminal.md +227 -0
  324. package/data/llms/primitive/components/textarea/api.json +213 -0
  325. package/data/llms/primitive/components/textarea.md +83 -0
  326. package/data/llms/primitive/components/timeline/api.json +1180 -0
  327. package/data/llms/primitive/components/timeline.md +185 -0
  328. package/data/llms/primitive/components/toast/api.json +2102 -0
  329. package/data/llms/primitive/components/toast.md +291 -0
  330. package/data/llms/primitive/components/togglebutton/api.json +433 -0
  331. package/data/llms/primitive/components/togglebutton.md +161 -0
  332. package/data/llms/primitive/components/togglebuttongroup/api.json +276 -0
  333. package/data/llms/primitive/components/togglebuttongroup.md +61 -0
  334. package/data/llms/primitive/components/toggleswitch/api.json +681 -0
  335. package/data/llms/primitive/components/toggleswitch.md +149 -0
  336. package/data/llms/primitive/components/toolbar/api.json +646 -0
  337. package/data/llms/primitive/components/toolbar.md +126 -0
  338. package/data/llms/primitive/components/tooltip/api.json +1534 -0
  339. package/data/llms/primitive/components/tooltip.md +202 -0
  340. package/data/llms/primitive/components/tree/api.json +2952 -0
  341. package/data/llms/primitive/components/tree.md +292 -0
  342. package/data/llms/primitive/components/treetable.md +187 -0
  343. package/data/llms/primitive/components/visuallyhidden/api.json +186 -0
  344. package/data/llms/primitive/components/visuallyhidden.md +87 -0
  345. package/data/llms/primitive/guides/ai/llms.md +25 -0
  346. package/data/llms/primitive/guides/icons/customicons.md +47 -0
  347. package/data/llms/primitive/guides/icons/primeicons.md +112 -0
  348. package/data/llms/primitive/guides/installation.md +115 -0
  349. package/data/llms/primitive/guides/introduction.md +20 -0
  350. package/data/llms/primitive/guides/misc/accessibility.md +215 -0
  351. package/data/llms/primitive/guides/misc/passthrough.md +95 -0
  352. package/data/llms/primitive/guides/misc/rtl.md +27 -0
  353. package/data/llms/primitive/llms.md +25 -0
  354. package/data/llms/primitive/resources/introduction.md +15 -0
  355. package/data/llms/styled/add-ons/introduction.md +16 -0
  356. package/data/llms/styled/components/accordion.md +735 -0
  357. package/data/llms/styled/components/animateonscroll.md +264 -0
  358. package/data/llms/styled/components/autocomplete.md +1597 -0
  359. package/data/llms/styled/components/avatar.md +313 -0
  360. package/data/llms/styled/components/badge.md +213 -0
  361. package/data/llms/styled/components/breadcrumb.md +461 -0
  362. package/data/llms/styled/components/button/api.json +246 -0
  363. package/data/llms/styled/components/button.md +641 -0
  364. package/data/llms/styled/components/buttongroup.md +614 -0
  365. package/data/llms/styled/components/card.md +228 -0
  366. package/data/llms/styled/components/carousel.md +388 -0
  367. package/data/llms/styled/components/checkbox.md +329 -0
  368. package/data/llms/styled/components/checkboxgroup.md +619 -0
  369. package/data/llms/styled/components/chip.md +300 -0
  370. package/data/llms/styled/components/compare.md +271 -0
  371. package/data/llms/styled/components/contextmenu.md +550 -0
  372. package/data/llms/styled/components/datatable.md +8259 -0
  373. package/data/llms/styled/components/dataview.md +907 -0
  374. package/data/llms/styled/components/datepicker.md +2807 -0
  375. package/data/llms/styled/components/dialog.md +1047 -0
  376. package/data/llms/styled/components/divider.md +207 -0
  377. package/data/llms/styled/components/drawer.md +470 -0
  378. package/data/llms/styled/components/fieldset.md +334 -0
  379. package/data/llms/styled/components/fileupload.md +747 -0
  380. package/data/llms/styled/components/floatlabel/api.json +210 -0
  381. package/data/llms/styled/components/floatlabel.md +231 -0
  382. package/data/llms/styled/components/fluid/api.json +204 -0
  383. package/data/llms/styled/components/fluid.md +177 -0
  384. package/data/llms/styled/components/focustrap.md +203 -0
  385. package/data/llms/styled/components/gallery.md +553 -0
  386. package/data/llms/styled/components/iconfield/api.json +382 -0
  387. package/data/llms/styled/components/iconfield.md +385 -0
  388. package/data/llms/styled/components/iftalabel/api.json +237 -0
  389. package/data/llms/styled/components/iftalabel.md +158 -0
  390. package/data/llms/styled/components/inplace.md +312 -0
  391. package/data/llms/styled/components/inputcolor.md +674 -0
  392. package/data/llms/styled/components/inputgroup/api.json +399 -0
  393. package/data/llms/styled/components/inputgroup.md +604 -0
  394. package/data/llms/styled/components/inputmask.md +282 -0
  395. package/data/llms/styled/components/inputnumber.md +563 -0
  396. package/data/llms/styled/components/inputotp.md +335 -0
  397. package/data/llms/styled/components/inputpassword.md +630 -0
  398. package/data/llms/styled/components/inputtags.md +727 -0
  399. package/data/llms/styled/components/inputtext.md +190 -0
  400. package/data/llms/styled/components/keyfilter.md +289 -0
  401. package/data/llms/styled/components/knob.md +305 -0
  402. package/data/llms/styled/components/label/api.json +237 -0
  403. package/data/llms/styled/components/label.md +224 -0
  404. package/data/llms/styled/components/listbox.md +807 -0
  405. package/data/llms/styled/components/menu.md +1175 -0
  406. package/data/llms/styled/components/message.md +570 -0
  407. package/data/llms/styled/components/metergroup.md +449 -0
  408. package/data/llms/styled/components/navigationmenu.md +926 -0
  409. package/data/llms/styled/components/orderlist.md +519 -0
  410. package/data/llms/styled/components/organizationchart/api.json +1457 -0
  411. package/data/llms/styled/components/organizationchart.md +791 -0
  412. package/data/llms/styled/components/overlaymanager.md +519 -0
  413. package/data/llms/styled/components/paginator.md +506 -0
  414. package/data/llms/styled/components/panel.md +394 -0
  415. package/data/llms/styled/components/picklist.md +1004 -0
  416. package/data/llms/styled/components/popover.md +372 -0
  417. package/data/llms/styled/components/progressbar.md +438 -0
  418. package/data/llms/styled/components/progressspinner.md +128 -0
  419. package/data/llms/styled/components/radiobutton.md +488 -0
  420. package/data/llms/styled/components/rating/api.json +766 -0
  421. package/data/llms/styled/components/rating.md +518 -0
  422. package/data/llms/styled/components/scrollarea.md +627 -0
  423. package/data/llms/styled/components/select.md +2122 -0
  424. package/data/llms/styled/components/sidebar.md +1587 -0
  425. package/data/llms/styled/components/skeleton.md +226 -0
  426. package/data/llms/styled/components/slider.md +453 -0
  427. package/data/llms/styled/components/speeddial.md +723 -0
  428. package/data/llms/styled/components/splitter.md +536 -0
  429. package/data/llms/styled/components/stepper.md +614 -0
  430. package/data/llms/styled/components/tabs.md +543 -0
  431. package/data/llms/styled/components/tag.md +263 -0
  432. package/data/llms/styled/components/terminal.md +543 -0
  433. package/data/llms/styled/components/textarea.md +257 -0
  434. package/data/llms/styled/components/timeline.md +620 -0
  435. package/data/llms/styled/components/toast.md +1013 -0
  436. package/data/llms/styled/components/togglebutton.md +287 -0
  437. package/data/llms/styled/components/togglebuttongroup.md +328 -0
  438. package/data/llms/styled/components/toggleswitch.md +262 -0
  439. package/data/llms/styled/components/toolbar.md +187 -0
  440. package/data/llms/styled/components/tooltip.md +430 -0
  441. package/data/llms/styled/components/tree.md +1386 -0
  442. package/data/llms/styled/components/treetable.md +6842 -0
  443. package/data/llms/styled/guides/ai/llms.md +25 -0
  444. package/data/llms/styled/guides/configuration.md +151 -0
  445. package/data/llms/styled/guides/icons/customicons.md +47 -0
  446. package/data/llms/styled/guides/icons/primeicons.md +112 -0
  447. package/data/llms/styled/guides/installation/astro.md +97 -0
  448. package/data/llms/styled/guides/installation/manual.md +3 -0
  449. package/data/llms/styled/guides/installation/nextjs.md +129 -0
  450. package/data/llms/styled/guides/installation/react-router.md +88 -0
  451. package/data/llms/styled/guides/installation/tanstack.md +92 -0
  452. package/data/llms/styled/guides/installation/vite.md +91 -0
  453. package/data/llms/styled/guides/installation.md +42 -0
  454. package/data/llms/styled/guides/introduction.md +20 -0
  455. package/data/llms/styled/guides/misc/accessibility.md +211 -0
  456. package/data/llms/styled/guides/misc/animations.md +389 -0
  457. package/data/llms/styled/guides/misc/passthrough.md +95 -0
  458. package/data/llms/styled/guides/misc/rtl.md +27 -0
  459. package/data/llms/styled/guides/theming/styled.md +779 -0
  460. package/data/llms/styled/guides/theming/tailwind.md +473 -0
  461. package/data/llms/styled/guides/theming/unstyled.md +115 -0
  462. package/data/llms/styled/resources/introduction.md +15 -0
  463. package/data/llms/tailwind/add-ons/introduction.md +16 -0
  464. package/data/llms/tailwind/components/accordion.md +383 -0
  465. package/data/llms/tailwind/components/autocomplete.md +1346 -0
  466. package/data/llms/tailwind/components/avatar.md +305 -0
  467. package/data/llms/tailwind/components/badge.md +207 -0
  468. package/data/llms/tailwind/components/breadcrumb.md +387 -0
  469. package/data/llms/tailwind/components/button/api.json +246 -0
  470. package/data/llms/tailwind/components/button.md +617 -0
  471. package/data/llms/tailwind/components/buttongroup.md +599 -0
  472. package/data/llms/tailwind/components/card.md +224 -0
  473. package/data/llms/tailwind/components/carousel.md +329 -0
  474. package/data/llms/tailwind/components/checkbox.md +179 -0
  475. package/data/llms/tailwind/components/checkboxgroup.md +279 -0
  476. package/data/llms/tailwind/components/chip.md +304 -0
  477. package/data/llms/tailwind/components/compare.md +295 -0
  478. package/data/llms/tailwind/components/contextmenu.md +415 -0
  479. package/data/llms/tailwind/components/datatable.md +4062 -0
  480. package/data/llms/tailwind/components/dataview.md +864 -0
  481. package/data/llms/tailwind/components/datepicker.md +823 -0
  482. package/data/llms/tailwind/components/dialog.md +1216 -0
  483. package/data/llms/tailwind/components/divider.md +205 -0
  484. package/data/llms/tailwind/components/drawer.md +500 -0
  485. package/data/llms/tailwind/components/fieldset.md +326 -0
  486. package/data/llms/tailwind/components/fluid.md +117 -0
  487. package/data/llms/tailwind/components/iconfield.md +197 -0
  488. package/data/llms/tailwind/components/inplace.md +324 -0
  489. package/data/llms/tailwind/components/inputcolor.md +493 -0
  490. package/data/llms/tailwind/components/inputgroup.md +375 -0
  491. package/data/llms/tailwind/components/inputnumber.md +463 -0
  492. package/data/llms/tailwind/components/inputotp.md +255 -0
  493. package/data/llms/tailwind/components/inputpassword.md +543 -0
  494. package/data/llms/tailwind/components/inputtext.md +141 -0
  495. package/data/llms/tailwind/components/label.md +100 -0
  496. package/data/llms/tailwind/components/listbox.md +886 -0
  497. package/data/llms/tailwind/components/menu.md +1049 -0
  498. package/data/llms/tailwind/components/message.md +575 -0
  499. package/data/llms/tailwind/components/metergroup.md +510 -0
  500. package/data/llms/tailwind/components/navigationmenu.md +528 -0
  501. package/data/llms/tailwind/components/overlaymanager.md +567 -0
  502. package/data/llms/tailwind/components/paginator.md +306 -0
  503. package/data/llms/tailwind/components/panel.md +395 -0
  504. package/data/llms/tailwind/components/popover.md +424 -0
  505. package/data/llms/tailwind/components/progressbar.md +313 -0
  506. package/data/llms/tailwind/components/radiobutton.md +366 -0
  507. package/data/llms/tailwind/components/rating.md +300 -0
  508. package/data/llms/tailwind/components/scrollarea.md +638 -0
  509. package/data/llms/tailwind/components/select.md +1220 -0
  510. package/data/llms/tailwind/components/sidebar.md +1511 -0
  511. package/data/llms/tailwind/components/skeleton.md +236 -0
  512. package/data/llms/tailwind/components/slider.md +291 -0
  513. package/data/llms/tailwind/components/splitter.md +546 -0
  514. package/data/llms/tailwind/components/tabs.md +462 -0
  515. package/data/llms/tailwind/components/tag.md +255 -0
  516. package/data/llms/tailwind/components/textarea.md +170 -0
  517. package/data/llms/tailwind/components/timeline.md +656 -0
  518. package/data/llms/tailwind/components/toast.md +246 -0
  519. package/data/llms/tailwind/components/togglebutton.md +264 -0
  520. package/data/llms/tailwind/components/togglebuttongroup.md +262 -0
  521. package/data/llms/tailwind/components/toggleswitch.md +203 -0
  522. package/data/llms/tailwind/components/toolbar.md +192 -0
  523. package/data/llms/tailwind/components/tooltip.md +449 -0
  524. package/data/llms/tailwind/guides/ai/llms.md +25 -0
  525. package/data/llms/tailwind/guides/icons/customicons.md +47 -0
  526. package/data/llms/tailwind/guides/icons/primeicons.md +112 -0
  527. package/data/llms/tailwind/guides/installation/astro.md +165 -0
  528. package/data/llms/tailwind/guides/installation/manual.md +3 -0
  529. package/data/llms/tailwind/guides/installation/nextjs.md +169 -0
  530. package/data/llms/tailwind/guides/installation/react-router.md +157 -0
  531. package/data/llms/tailwind/guides/installation/tanstack.md +161 -0
  532. package/data/llms/tailwind/guides/installation/vite.md +160 -0
  533. package/data/llms/tailwind/guides/installation.md +42 -0
  534. package/data/llms/tailwind/guides/introduction.md +20 -0
  535. package/data/llms/tailwind/guides/misc/accessibility.md +205 -0
  536. package/data/llms/tailwind/guides/misc/passthrough.md +95 -0
  537. package/data/llms/tailwind/guides/misc/rtl.md +27 -0
  538. package/data/llms/tailwind/guides/theming/guide.md +179 -0
  539. package/data/llms/tailwind/guides/theming.md +191 -0
  540. package/data/llms/tailwind/llms.md +25 -0
  541. package/data/llms/tailwind/resources/introduction.md +15 -0
  542. package/data/manifest.json +12409 -0
  543. package/data/mcp-data.json +14481 -0
  544. package/dist/index.d.ts +9 -0
  545. package/dist/index.js +2 -0
  546. package/package.json +61 -0
@@ -0,0 +1,543 @@
1
+ # InputPassword
2
+
3
+ InputPassword is an enhanced input for password entry with strength metering, mask toggling, and controlled or uncontrolled usage.
4
+
5
+ ```tsx
6
+ 'use client';
7
+ import { Check, Eye, EyeSlash, Lock, Times } from '@primeicons/react';
8
+ import { Chip, ChipLabel, ChipStart } from '@/components/ui/chip';
9
+ import { IconField, IconFieldInset } from '@/components/ui/iconfield';
10
+ import { InputPassword } from '@/components/ui/inputpassword';
11
+ import * as React from 'react';
12
+
13
+ const rules = [
14
+ { label: '8+ characters', test: (v: string) => v.length >= 8 },
15
+ { label: 'Number', test: (v: string) => /\d/.test(v) },
16
+ { label: 'Uppercase letter', test: (v: string) => /[A-Z]/.test(v) },
17
+ { label: 'Special character', test: (v: string) => /[^a-zA-Z0-9]/.test(v) }
18
+ ];
19
+
20
+ export default function Preview() {
21
+ const [value, setValue] = React.useState('1234');
22
+ const [visible, setVisible] = React.useState(false);
23
+
24
+ return (
25
+ <div className="flex justify-center">
26
+ <div className="max-w-2xs w-full">
27
+ <div className="text-sm font-medium text-color mb-2">Create a password</div>
28
+ <IconField>
29
+ <IconFieldInset>
30
+ <Lock />
31
+ </IconFieldInset>
32
+ <InputPassword
33
+ fluid
34
+ mask={!visible}
35
+ value={value}
36
+ onInput={(e: React.ChangeEvent<HTMLInputElement>) => setValue(e.currentTarget.value)}
37
+ />
38
+ <IconFieldInset className="cursor-pointer" onClick={() => setVisible((v) => !v)}>
39
+ {visible ? <EyeSlash className="size-4!" /> : <Eye className="size-4!" />}
40
+ </IconFieldInset>
41
+ </IconField>
42
+ <div className="mt-4 flex items-center flex-wrap gap-1.5">
43
+ {rules.map((rule) => {
44
+ const passed = rule.test(value);
45
+
46
+ return (
47
+ <Chip
48
+ key={rule.label}
49
+ variant="outlined"
50
+ className={`${passed ? 'text-green-600 dark:text-green-400' : 'text-surface-500 dark:text-surface-400'}`}
51
+ >
52
+ <ChipStart>
53
+ <span
54
+ className={`size-4 inline-flex items-center justify-center rounded-full ${passed ? 'bg-green-600 text-surface-0 dark:bg-green-400 dark:text-surface-900' : 'bg-surface-200 dark:bg-surface-700 text-surface-500 dark:text-surface-400'}`}
55
+ >
56
+ {passed ? <Check className="size-3!" /> : <Times className="size-3!" />}
57
+ </span>
58
+ </ChipStart>
59
+ <ChipLabel>{rule.label}</ChipLabel>
60
+ </Chip>
61
+ );
62
+ })}
63
+ </div>
64
+ </div>
65
+ </div>
66
+ );
67
+ }
68
+ ```
69
+
70
+ ## Usage
71
+
72
+ ```tsx
73
+ import { InputPassword } from '@/components/ui/inputpassword';
74
+ ```
75
+
76
+ ```tsx
77
+ <InputPassword />
78
+ ```
79
+
80
+ ## Examples
81
+
82
+ ### Basic
83
+
84
+ A password input with strength indicator and toggle visibility.
85
+
86
+ ```tsx
87
+ import { InputPassword } from '@/components/ui/inputpassword';
88
+
89
+ export default function BasicDemo() {
90
+ return (
91
+ <div className="flex justify-center max-w-3xs mx-auto">
92
+ <InputPassword />
93
+ </div>
94
+ );
95
+ }
96
+ ```
97
+
98
+ ### Toggle Mask
99
+
100
+ Adding a toggle icon to show or hide the password, allowing users to verify their input.
101
+
102
+ ```tsx
103
+ 'use client';
104
+ import { Eye, EyeSlash } from '@primeicons/react';
105
+ import { InputPasswordMaskChangeEvent } from 'primereact/inputpassword';
106
+ import { IconField, IconFieldInset } from '@/components/ui/iconfield';
107
+ import { InputPassword } from '@/components/ui/inputpassword';
108
+ import * as React from 'react';
109
+
110
+ export default function ToggleMaskDemo() {
111
+ const [mask, setMask] = React.useState(true);
112
+
113
+ return (
114
+ <div className="flex justify-center">
115
+ <IconField>
116
+ <InputPassword mask={mask} onMaskChange={(e: InputPasswordMaskChangeEvent) => setMask(e.value)} />
117
+ <IconFieldInset>{mask ? <Eye onClick={() => setMask(false)} /> : <EyeSlash onClick={() => setMask(true)} />}</IconFieldInset>
118
+ </IconField>
119
+ </div>
120
+ );
121
+ }
122
+ ```
123
+
124
+ ### Requirements
125
+
126
+ Display a checklist of password requirements that update in real-time as the user types, providing clear feedback on which criteria have been met.
127
+
128
+ ```tsx
129
+ 'use client';
130
+ import { CheckCircle } from '@primeicons/react';
131
+ import { InputPasswordValueChangeEvent } from 'primereact/inputpassword';
132
+ import { InputPassword } from '@/components/ui/inputpassword';
133
+ import * as React from 'react';
134
+
135
+ const requirements = [
136
+ {
137
+ id: 'minLength',
138
+ label: 'At least 12 characters',
139
+ test: (value: string) => value.length >= 12
140
+ },
141
+ {
142
+ id: 'uppercase',
143
+ label: 'Contains uppercase letter',
144
+ test: (value: string) => /[A-Z]/.test(value)
145
+ },
146
+ {
147
+ id: 'lowercase',
148
+ label: 'Contains lowercase letter',
149
+ test: (value: string) => /[a-z]/.test(value)
150
+ },
151
+ {
152
+ id: 'number',
153
+ label: 'Contains number',
154
+ test: (value: string) => /[0-9]/.test(value)
155
+ },
156
+ {
157
+ id: 'symbol',
158
+ label: 'Contains special character',
159
+ test: (value: string) => /[^a-zA-Z0-9]/.test(value)
160
+ }
161
+ ];
162
+
163
+ export default function RequirementsDemo() {
164
+ const [value, setValue] = React.useState('');
165
+
166
+ return (
167
+ <div className="flex justify-center">
168
+ <div className="flex flex-col gap-2 w-64">
169
+ <InputPassword value={value} onValueChange={(e: InputPasswordValueChangeEvent) => setValue(e.value)} placeholder="Enter password" />
170
+
171
+ <ul className="flex flex-col gap-2 list-none ms-1 my-1">
172
+ {requirements.map((req) => {
173
+ const match = req.test(value);
174
+
175
+ return (
176
+ <li key={req.id} className="flex items-center gap-2 text-sm transition-all duration-300">
177
+ <CheckCircle
178
+ className={[
179
+ 'transition-all duration-300 ease-out',
180
+ match ? 'text-green-500 scale-110 opacity-100' : 'text-surface-400 scale-90 opacity-70'
181
+ ].join(' ')}
182
+ />
183
+ <span
184
+ className={[
185
+ 'transition-all duration-300 ease-out',
186
+ match
187
+ ? 'text-green-700 dark:text-green-400 line-through decoration-2 decoration-green-500/70'
188
+ : 'text-surface-700 dark:text-surface-300 opacity-70'
189
+ ].join(' ')}
190
+ >
191
+ {req.label}
192
+ </span>
193
+ </li>
194
+ );
195
+ })}
196
+ </ul>
197
+ </div>
198
+ </div>
199
+ );
200
+ }
201
+ ```
202
+
203
+ ### Strength Meter
204
+
205
+ Visualize the overall password strength with an animated progress bar and a severity-based label that adapts as the password improves.
206
+
207
+ ```tsx
208
+ 'use client';
209
+ import { InputPasswordValueChangeEvent } from 'primereact/inputpassword';
210
+ import { InputPassword } from '@/components/ui/inputpassword';
211
+ import { ProgressBar } from '@/components/ui/progressbar';
212
+ import { Tag } from '@/components/ui/tag';
213
+ import * as React from 'react';
214
+
215
+ type StrengthLevel = 'weak' | 'medium' | 'strong' | 'very-strong';
216
+
217
+ interface StrengthInfo {
218
+ label: string;
219
+ percent: number;
220
+ color: string;
221
+ severity: 'danger' | 'warn' | 'info' | 'success';
222
+ }
223
+
224
+ const strengthMap: Record<StrengthLevel, StrengthInfo> = {
225
+ weak: { label: 'Weak', percent: 25, color: 'var(--p-red-400)', severity: 'danger' },
226
+ medium: { label: 'Medium', percent: 50, color: 'var(--p-amber-400)', severity: 'warn' },
227
+ strong: { label: 'Strong', percent: 75, color: 'var(--p-blue-400)', severity: 'info' },
228
+ 'very-strong': { label: 'Very Strong', percent: 100, color: 'var(--p-emerald-400)', severity: 'success' }
229
+ };
230
+
231
+ function getStrength(value: string): StrengthLevel | null {
232
+ if (!value) return null;
233
+
234
+ let score = 0;
235
+
236
+ if (value.length >= 8) score++;
237
+
238
+ if (value.length >= 12) score++;
239
+
240
+ if (/[A-Z]/.test(value) && /[a-z]/.test(value)) score++;
241
+
242
+ if (/[0-9]/.test(value)) score++;
243
+
244
+ if (/[^a-zA-Z0-9]/.test(value)) score++;
245
+
246
+ if (score <= 1) return 'weak';
247
+ else if (score <= 2) return 'medium';
248
+ else if (score <= 3) return 'strong';
249
+ else return 'very-strong';
250
+ }
251
+
252
+ export default function StrengthDemo() {
253
+ const [value, setValue] = React.useState('');
254
+ const level = getStrength(value);
255
+ const info = level ? strengthMap[level] : null;
256
+
257
+ return (
258
+ <div className="flex justify-center">
259
+ <div className="flex flex-col gap-2 w-64">
260
+ <InputPassword value={value} onValueChange={(e: InputPasswordValueChangeEvent) => setValue(e.value)} placeholder="Enter password" />
261
+ {info && (
262
+ <div className="flex flex-col gap-2">
263
+ <ProgressBar value={info.percent} />
264
+ <div className="flex justify-end">
265
+ <Tag severity={info.severity}>{info.label}</Tag>
266
+ </div>
267
+ </div>
268
+ )}
269
+ </div>
270
+ </div>
271
+ );
272
+ }
273
+ ```
274
+
275
+ ### Popover
276
+
277
+ Combine a visibility toggle, strength meter, and requirements checklist into a fully custom password creation with Popover component.
278
+
279
+ ```tsx
280
+ 'use client';
281
+ import { Eye, EyeSlash } from '@primeicons/react';
282
+ import type { InputPasswordMaskChangeEvent, InputPasswordValueChangeEvent } from 'primereact/inputpassword';
283
+ import { IconField, IconFieldInset } from '@/components/ui/iconfield';
284
+ import { ProgressBar } from '@/components/ui/progressbar';
285
+ import { InputPassword } from '@/components/ui/inputpassword';
286
+ import { Popover, PopoverArrow, PopoverContent, PopoverPopup, PopoverPortal, PopoverPositioner, PopoverTrigger } from '@/components/ui/popover';
287
+ import { Tag } from '@/components/ui/tag';
288
+ import * as React from 'react';
289
+
290
+ const rules = [
291
+ { id: 'length', label: 'At least 12 characters long', test: (v: string) => v.length >= 12, weight: 20 },
292
+ { id: 'uppercase', label: 'Contains uppercase letter', test: (v: string) => /[A-Z]/.test(v), weight: 20 },
293
+ { id: 'lowercase', label: 'Contains lowercase letter', test: (v: string) => /[a-z]/.test(v), weight: 20 },
294
+ { id: 'number', label: 'Contains number', test: (v: string) => /[0-9]/.test(v), weight: 20 },
295
+ { id: 'special', label: 'Contains special character (!@#$...)', test: (v: string) => /[^a-zA-Z0-9]/.test(v), weight: 20 }
296
+ ];
297
+
298
+ function getScore(value: string) {
299
+ if (!value) return 0;
300
+
301
+ return rules.reduce((acc, rule) => acc + (rule.test(value) ? rule.weight : 0), 0);
302
+ }
303
+
304
+ function getSeverity(score: number) {
305
+ if (score <= 20) return 'danger';
306
+
307
+ if (score <= 40) return 'warn';
308
+
309
+ if (score <= 60) return 'info';
310
+
311
+ return 'success';
312
+ }
313
+
314
+ function getLabel(score: number): string {
315
+ if (score === 0) return '';
316
+
317
+ if (score <= 20) return 'Too Weak';
318
+
319
+ if (score <= 40) return 'Weak';
320
+
321
+ if (score <= 60) return 'Fair';
322
+
323
+ if (score <= 80) return 'Strong';
324
+
325
+ return 'Very Strong';
326
+ }
327
+
328
+ export default function PopoverDemo() {
329
+ const [value, setValue] = React.useState('');
330
+ const [mask, setMask] = React.useState(true);
331
+ const [open, setOpen] = React.useState(false);
332
+ const score = getScore(value);
333
+ const severity = getSeverity(score);
334
+ const label = getLabel(score);
335
+
336
+ return (
337
+ <div className="flex justify-center">
338
+ <Popover open={open}>
339
+ <PopoverTrigger as="div">
340
+ <IconField>
341
+ <InputPassword
342
+ mask={mask}
343
+ onMaskChange={(e: InputPasswordMaskChangeEvent) => setMask(e.value)}
344
+ value={value}
345
+ placeholder="Create a password"
346
+ fluid
347
+ onValueChange={(e: InputPasswordValueChangeEvent) => setValue(e.value)}
348
+ onFocus={() => setOpen(true)}
349
+ onBlur={() => setOpen(false)}
350
+ />
351
+ <IconFieldInset>
352
+ {mask ? (
353
+ <Eye className="cursor-pointer" onClick={() => setMask(false)} />
354
+ ) : (
355
+ <EyeSlash className="cursor-pointer" onClick={() => setMask(true)} />
356
+ )}
357
+ </IconFieldInset>
358
+ </IconField>
359
+ </PopoverTrigger>
360
+ <PopoverPortal>
361
+ <PopoverPositioner sideOffset={12} side="bottom" align="start">
362
+ <PopoverPopup className="max-w-72 w-full">
363
+ <PopoverArrow />
364
+ <PopoverContent className="w-72">
365
+ <div className="flex flex-col gap-3">
366
+ <div className="flex items-center justify-between">
367
+ <div className="flex items-center gap-2">
368
+ <i className="pi pi-shield" style={{ fontSize: '1.25rem' }} />
369
+ <span className="font-semibold text-sm">Password Strength</span>
370
+ </div>
371
+ {label && <Tag severity={severity}>{label}</Tag>}
372
+ </div>
373
+
374
+ <ProgressBar value={score} />
375
+
376
+ <ul className="flex flex-col gap-2 list-none m-0 p-0">
377
+ {rules.map((rule) => {
378
+ const met = rule.test(value);
379
+
380
+ return (
381
+ <li key={rule.id} className="flex items-center gap-2 text-xs">
382
+ <i className={met ? 'pi pi-check text-green-500' : 'pi pi-times text-red-400'} />
383
+ <span
384
+ className={
385
+ met ? 'text-surface-500 dark:text-surface-400' : 'text-surface-700 dark:text-surface-200'
386
+ }
387
+ >
388
+ {rule.label}
389
+ </span>
390
+ </li>
391
+ );
392
+ })}
393
+ </ul>
394
+ </div>
395
+ </PopoverContent>
396
+ </PopoverPopup>
397
+ </PopoverPositioner>
398
+ </PopoverPortal>
399
+ </Popover>
400
+ </div>
401
+ );
402
+ }
403
+ ```
404
+
405
+ ### Clear Icon
406
+
407
+ Use a custom clear action to reset the password input.
408
+
409
+ ```tsx
410
+ 'use client';
411
+ import { Times } from '@primeicons/react';
412
+ import { IconField, IconFieldInset } from '@/components/ui/iconfield';
413
+ import type { InputPasswordValueChangeEvent } from 'primereact/inputpassword';
414
+ import { InputPassword } from '@/components/ui/inputpassword';
415
+ import * as React from 'react';
416
+
417
+ export default function BasicDemo() {
418
+ const [value, setValue] = React.useState<string>('');
419
+
420
+ return (
421
+ <div className="flex justify-center">
422
+ <IconField>
423
+ <InputPassword className="w-56" value={value} onValueChange={(e: InputPasswordValueChangeEvent) => setValue(e.value)} />
424
+ <IconFieldInset>{value !== '' && <Times onClick={() => setValue('')} />}</IconFieldInset>
425
+ </IconField>
426
+ </div>
427
+ );
428
+ }
429
+ ```
430
+
431
+ ### Fluid
432
+
433
+ The fluid prop makes the component take up the full width of its container when set to true.
434
+
435
+ ```tsx
436
+ import { InputPassword } from '@/components/ui/inputpassword';
437
+
438
+ export default function FluidDemo() {
439
+ return (
440
+ <div>
441
+ <InputPassword fluid />
442
+ </div>
443
+ );
444
+ }
445
+ ```
446
+
447
+ ### Sizes
448
+
449
+ InputPassword provides `small` and `large` sizes as alternatives to the base.
450
+
451
+ ```tsx
452
+ import { InputPassword } from '@/components/ui/inputpassword';
453
+
454
+ export default function SizesDemo() {
455
+ return (
456
+ <div className="flex flex-col items-center gap-4">
457
+ <InputPassword size="small" placeholder="Small" />
458
+ <InputPassword placeholder="Normal" />
459
+ <InputPassword size="large" placeholder="Large" />
460
+ </div>
461
+ );
462
+ }
463
+ ```
464
+
465
+ ### Filled
466
+
467
+ Specify the `variant` property as `filled` to display the component with a higher visual emphasis than the default outlined style.
468
+
469
+ ```tsx
470
+ import { InputPassword } from '@/components/ui/inputpassword';
471
+
472
+ export default function FilledDemo() {
473
+ return (
474
+ <div className="flex justify-center">
475
+ <InputPassword variant="filled" />
476
+ </div>
477
+ );
478
+ }
479
+ ```
480
+
481
+ ### Disabled
482
+
483
+ Use the `disabled` property to disable a password input.
484
+
485
+ ```tsx
486
+ import { InputPassword } from '@/components/ui/inputpassword';
487
+
488
+ export default function DisabledDemo() {
489
+ return (
490
+ <div className="flex justify-center">
491
+ <InputPassword disabled placeholder="Disabled" />
492
+ </div>
493
+ );
494
+ }
495
+ ```
496
+
497
+ ### Invalid
498
+
499
+ Specify the `invalid` property to display the component with a red border.
500
+
501
+ ```tsx
502
+ 'use client';
503
+ import type { InputPasswordValueChangeEvent } from 'primereact/inputpassword';
504
+ import { InputPassword } from '@/components/ui/inputpassword';
505
+ import * as React from 'react';
506
+
507
+ export default function InvalidDemo() {
508
+ const [value1, setValue1] = React.useState<string>('');
509
+ const [value2, setValue2] = React.useState<string>('');
510
+
511
+ return (
512
+ <div className="flex flex-wrap justify-center gap-4">
513
+ <InputPassword
514
+ value={value1}
515
+ invalid={!value1}
516
+ onValueChange={(e: InputPasswordValueChangeEvent) => setValue1(e.value as string)}
517
+ placeholder="Password"
518
+ />
519
+ <InputPassword
520
+ value={value2}
521
+ invalid={!value2}
522
+ variant="filled"
523
+ onValueChange={(e: InputPasswordValueChangeEvent) => setValue2(e.value as string)}
524
+ placeholder="Password"
525
+ />
526
+ </div>
527
+ );
528
+ }
529
+ ```
530
+
531
+ ## Related
532
+
533
+ ### Sub-Components
534
+
535
+ See [Primitive API](/docs/primitive/components/inputpassword#api) for `InputPasswordRoot` component documentation.
536
+
537
+ ### Hooks
538
+
539
+ See [Headless API](/docs/headless/components/inputpassword#api) for `useInputPassword` hook documentation.
540
+
541
+ ### Accessibility
542
+
543
+ See [InputPassword Primitive](/docs/primitive/components/inputpassword#accessibility) for WAI-ARIA compliance details and keyboard support.
@@ -0,0 +1,141 @@
1
+ # InputText
2
+
3
+ InputText is an extension to standard input element with icons and theming.
4
+
5
+ ```tsx
6
+ import { InputText } from '@/components/ui/inputtext';
7
+ import { Label } from '@/components/ui/label';
8
+
9
+ export default function Preview() {
10
+ return (
11
+ <div className="flex flex-col gap-1.5 mx-auto w-full max-w-xs">
12
+ <Label htmlFor="tw-basic-inputtext">Project Name</Label>
13
+ <InputText id="tw-basic-inputtext" placeholder="e.g. My Project" />
14
+ <small className="text-surface-500">Used as the display name across your workspace</small>
15
+ </div>
16
+ );
17
+ }
18
+ ```
19
+
20
+ ## Installation
21
+
22
+ <DocTabs value="CLI">
23
+ <DocTabsList>
24
+ <DocTabsTab value="CLI">Shadcn CLI</DocTabsTab>
25
+ <DocTabsTab value="Manual">Manual</DocTabsTab>
26
+ </DocTabsList>
27
+ <DocTabsPanel value="CLI">
28
+ ```bash
29
+ npx shadcn@latest add https://primereact.dev/r/inputtext.json
30
+ ```
31
+ </DocTabsPanel>
32
+ <DocTabsPanel value="Manual">
33
+ <DocStepper>
34
+ <DocStep>
35
+ Copy and paste the following code into your project
36
+ <DocSourceViewer name="components/ui/inputtext" />
37
+ </DocStep>
38
+ <DocStep>
39
+ Update the import paths to match your project setup.
40
+ </DocStep>
41
+ </DocStepper>
42
+ </DocTabsPanel>
43
+ </DocTabs>
44
+
45
+ ## Usage
46
+
47
+ ```tsx
48
+ import { InputText } from '@/components/ui/inputtext';
49
+ ```
50
+
51
+ ```tsx
52
+ <InputText placeholder="Enter text" />
53
+ ```
54
+
55
+ ## Examples
56
+
57
+ ### Sizes
58
+
59
+ InputText provides `small` and `large` sizes as alternatives to the base by setting the `size` property.
60
+
61
+ ```tsx
62
+ import { InputText } from '@/components/ui/inputtext';
63
+
64
+ export default function SizeDemo() {
65
+ return (
66
+ <div className="flex flex-col items-center gap-4">
67
+ <InputText size="small" placeholder="Small" className="max-w-3xs" />
68
+ <InputText placeholder="Normal" className="max-w-2xs" />
69
+ <InputText size="large" placeholder="Large" className="max-w-xs" />
70
+ <InputText size="small" placeholder="Small" className="max-w-3xs" variant="filled" />
71
+ <InputText placeholder="Normal" className="max-w-2xs" variant="filled" />
72
+ <InputText size="large" placeholder="Large" className="max-w-xs" variant="filled" />
73
+ </div>
74
+ );
75
+ }
76
+ ```
77
+
78
+ ### Filled
79
+
80
+ Specify the `variant` property as `filled` to display the component with a higher visual emphasis than the default `outlined` style.
81
+
82
+ ```tsx
83
+ import { InputText } from '@/components/ui/inputtext';
84
+
85
+ export default function FilledDemo() {
86
+ return (
87
+ <div className="flex justify-center [&>input]:max-w-3xs">
88
+ <InputText placeholder="Enter text" variant="filled" />
89
+ </div>
90
+ );
91
+ }
92
+ ```
93
+
94
+ ### Invalid
95
+
96
+ Invalid state is displayed using the `invalid` prop to indicate a failed validation. You can use this style when integrating with form validation libraries.
97
+
98
+ ```tsx
99
+ 'use client';
100
+ import { InputText } from '@/components/ui/inputtext';
101
+ import * as React from 'react';
102
+
103
+ export default function InvalidDemo() {
104
+ const [value1, setValue1] = React.useState('');
105
+ const [value2, setValue2] = React.useState('');
106
+
107
+ return (
108
+ <div className="flex flex-wrap gap-4 items-center justify-center [&>input]:max-w-3xs">
109
+ <InputText
110
+ value={value1}
111
+ onChange={(e: React.ChangeEvent<HTMLInputElement>) => setValue1(e.target.value)}
112
+ placeholder="Enter text"
113
+ invalid={true}
114
+ />
115
+ <InputText
116
+ value={value2}
117
+ onChange={(e: React.ChangeEvent<HTMLInputElement>) => setValue2(e.target.value)}
118
+ placeholder="Enter text"
119
+ invalid={true}
120
+ variant="filled"
121
+ />
122
+ </div>
123
+ );
124
+ }
125
+ ```
126
+
127
+ ### Disabled
128
+
129
+ When `disabled` is present, the element cannot be edited and focused.
130
+
131
+ ```tsx
132
+ import { InputText } from '@/components/ui/inputtext';
133
+
134
+ export default function DisabledDemo() {
135
+ return (
136
+ <div className="flex items-center justify-center [&>input]:max-w-3xs">
137
+ <InputText placeholder="Disabled" disabled />
138
+ </div>
139
+ );
140
+ }
141
+ ```