@neynar/ui 0.2.1 → 0.3.0

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 (500) hide show
  1. package/dist/components/ui/button-group.d.ts +448 -0
  2. package/dist/components/ui/button-group.d.ts.map +1 -0
  3. package/dist/components/ui/button.d.ts +1 -1
  4. package/dist/components/ui/button.d.ts.map +1 -1
  5. package/dist/components/ui/empty-state.d.ts +1 -0
  6. package/dist/components/ui/empty-state.d.ts.map +1 -1
  7. package/dist/components/ui/empty.d.ts +630 -0
  8. package/dist/components/ui/empty.d.ts.map +1 -0
  9. package/dist/components/ui/field.d.ts +238 -0
  10. package/dist/components/ui/field.d.ts.map +1 -0
  11. package/dist/components/ui/input-group.d.ts +636 -0
  12. package/dist/components/ui/input-group.d.ts.map +1 -0
  13. package/dist/components/ui/item.d.ts +766 -0
  14. package/dist/components/ui/item.d.ts.map +1 -0
  15. package/dist/components/ui/kbd.d.ts +149 -0
  16. package/dist/components/ui/kbd.d.ts.map +1 -0
  17. package/dist/components/ui/spinner.d.ts +194 -0
  18. package/dist/components/ui/spinner.d.ts.map +1 -0
  19. package/dist/components/ui/stories/accordion.stories.d.ts +0 -1
  20. package/dist/components/ui/stories/accordion.stories.d.ts.map +1 -1
  21. package/dist/components/ui/stories/alert-dialog.stories.d.ts +0 -1
  22. package/dist/components/ui/stories/alert-dialog.stories.d.ts.map +1 -1
  23. package/dist/components/ui/stories/alert.stories.d.ts +0 -1
  24. package/dist/components/ui/stories/alert.stories.d.ts.map +1 -1
  25. package/dist/components/ui/stories/aspect-ratio.stories.d.ts +0 -1
  26. package/dist/components/ui/stories/aspect-ratio.stories.d.ts.map +1 -1
  27. package/dist/components/ui/stories/avatar.stories.d.ts +0 -1
  28. package/dist/components/ui/stories/avatar.stories.d.ts.map +1 -1
  29. package/dist/components/ui/stories/badge.stories.d.ts +0 -1
  30. package/dist/components/ui/stories/badge.stories.d.ts.map +1 -1
  31. package/dist/components/ui/stories/breadcrumb.stories.d.ts +0 -1
  32. package/dist/components/ui/stories/breadcrumb.stories.d.ts.map +1 -1
  33. package/dist/components/ui/stories/button-group.stories.d.ts +48 -0
  34. package/dist/components/ui/stories/button-group.stories.d.ts.map +1 -0
  35. package/dist/components/ui/stories/button.stories.d.ts +0 -1
  36. package/dist/components/ui/stories/button.stories.d.ts.map +1 -1
  37. package/dist/components/ui/stories/calendar.stories.d.ts +0 -1
  38. package/dist/components/ui/stories/calendar.stories.d.ts.map +1 -1
  39. package/dist/components/ui/stories/card.stories.d.ts +0 -1
  40. package/dist/components/ui/stories/card.stories.d.ts.map +1 -1
  41. package/dist/components/ui/stories/carousel.stories.d.ts +0 -1
  42. package/dist/components/ui/stories/carousel.stories.d.ts.map +1 -1
  43. package/dist/components/ui/stories/chart.stories.d.ts +0 -1
  44. package/dist/components/ui/stories/chart.stories.d.ts.map +1 -1
  45. package/dist/components/ui/stories/checkbox.stories.d.ts +0 -1
  46. package/dist/components/ui/stories/checkbox.stories.d.ts.map +1 -1
  47. package/dist/components/ui/stories/cn.stories.d.ts.map +1 -1
  48. package/dist/components/ui/stories/collapsible.stories.d.ts +0 -1
  49. package/dist/components/ui/stories/collapsible.stories.d.ts.map +1 -1
  50. package/dist/components/ui/stories/colors.stories.d.ts +0 -1
  51. package/dist/components/ui/stories/colors.stories.d.ts.map +1 -1
  52. package/dist/components/ui/stories/combobox.stories.d.ts +0 -1
  53. package/dist/components/ui/stories/combobox.stories.d.ts.map +1 -1
  54. package/dist/components/ui/stories/command.stories.d.ts +0 -1
  55. package/dist/components/ui/stories/command.stories.d.ts.map +1 -1
  56. package/dist/components/ui/stories/container.stories.d.ts +0 -1
  57. package/dist/components/ui/stories/container.stories.d.ts.map +1 -1
  58. package/dist/components/ui/stories/context-menu.stories.d.ts +0 -1
  59. package/dist/components/ui/stories/context-menu.stories.d.ts.map +1 -1
  60. package/dist/components/ui/stories/date-picker.stories.d.ts +0 -1
  61. package/dist/components/ui/stories/date-picker.stories.d.ts.map +1 -1
  62. package/dist/components/ui/stories/dialog.stories.d.ts +0 -1
  63. package/dist/components/ui/stories/dialog.stories.d.ts.map +1 -1
  64. package/dist/components/ui/stories/drawer.stories.d.ts +0 -1
  65. package/dist/components/ui/stories/drawer.stories.d.ts.map +1 -1
  66. package/dist/components/ui/stories/dropdown-menu.stories.d.ts +0 -1
  67. package/dist/components/ui/stories/dropdown-menu.stories.d.ts.map +1 -1
  68. package/dist/components/ui/stories/empty-state.stories.d.ts +0 -1
  69. package/dist/components/ui/stories/empty-state.stories.d.ts.map +1 -1
  70. package/dist/components/ui/stories/empty.stories.d.ts +38 -0
  71. package/dist/components/ui/stories/empty.stories.d.ts.map +1 -0
  72. package/dist/components/ui/stories/field.stories.d.ts +48 -0
  73. package/dist/components/ui/stories/field.stories.d.ts.map +1 -0
  74. package/dist/components/ui/stories/hover-card.stories.d.ts +0 -1
  75. package/dist/components/ui/stories/hover-card.stories.d.ts.map +1 -1
  76. package/dist/components/ui/stories/input-group.stories.d.ts +37 -0
  77. package/dist/components/ui/stories/input-group.stories.d.ts.map +1 -0
  78. package/dist/components/ui/stories/input.stories.d.ts +0 -1
  79. package/dist/components/ui/stories/input.stories.d.ts.map +1 -1
  80. package/dist/components/ui/stories/item.stories.d.ts +61 -0
  81. package/dist/components/ui/stories/item.stories.d.ts.map +1 -0
  82. package/dist/components/ui/stories/kbd.stories.d.ts +37 -0
  83. package/dist/components/ui/stories/kbd.stories.d.ts.map +1 -0
  84. package/dist/components/ui/stories/label.stories.d.ts +0 -1
  85. package/dist/components/ui/stories/label.stories.d.ts.map +1 -1
  86. package/dist/components/ui/stories/menubar.stories.d.ts +0 -1
  87. package/dist/components/ui/stories/menubar.stories.d.ts.map +1 -1
  88. package/dist/components/ui/stories/navigation-menu.stories.d.ts +0 -1
  89. package/dist/components/ui/stories/navigation-menu.stories.d.ts.map +1 -1
  90. package/dist/components/ui/stories/pagination.stories.d.ts +0 -1
  91. package/dist/components/ui/stories/pagination.stories.d.ts.map +1 -1
  92. package/dist/components/ui/stories/popover.stories.d.ts +0 -1
  93. package/dist/components/ui/stories/popover.stories.d.ts.map +1 -1
  94. package/dist/components/ui/stories/progress.stories.d.ts +0 -1
  95. package/dist/components/ui/stories/progress.stories.d.ts.map +1 -1
  96. package/dist/components/ui/stories/radio-group.stories.d.ts +0 -1
  97. package/dist/components/ui/stories/radio-group.stories.d.ts.map +1 -1
  98. package/dist/components/ui/stories/resizable.stories.d.ts +0 -1
  99. package/dist/components/ui/stories/resizable.stories.d.ts.map +1 -1
  100. package/dist/components/ui/stories/scroll-area.stories.d.ts +0 -1
  101. package/dist/components/ui/stories/scroll-area.stories.d.ts.map +1 -1
  102. package/dist/components/ui/stories/select.stories.d.ts +0 -1
  103. package/dist/components/ui/stories/select.stories.d.ts.map +1 -1
  104. package/dist/components/ui/stories/separator.stories.d.ts +0 -1
  105. package/dist/components/ui/stories/separator.stories.d.ts.map +1 -1
  106. package/dist/components/ui/stories/sheet.stories.d.ts +0 -1
  107. package/dist/components/ui/stories/sheet.stories.d.ts.map +1 -1
  108. package/dist/components/ui/stories/sidebar.stories.d.ts +0 -1
  109. package/dist/components/ui/stories/sidebar.stories.d.ts.map +1 -1
  110. package/dist/components/ui/stories/skeleton.stories.d.ts +0 -1
  111. package/dist/components/ui/stories/skeleton.stories.d.ts.map +1 -1
  112. package/dist/components/ui/stories/slider.stories.d.ts +0 -1
  113. package/dist/components/ui/stories/slider.stories.d.ts.map +1 -1
  114. package/dist/components/ui/stories/sonner.stories.d.ts.map +1 -1
  115. package/dist/components/ui/stories/spinner.stories.d.ts +37 -0
  116. package/dist/components/ui/stories/spinner.stories.d.ts.map +1 -0
  117. package/dist/components/ui/stories/stack.stories.d.ts +0 -1
  118. package/dist/components/ui/stories/stack.stories.d.ts.map +1 -1
  119. package/dist/components/ui/stories/switch.stories.d.ts +0 -1
  120. package/dist/components/ui/stories/switch.stories.d.ts.map +1 -1
  121. package/dist/components/ui/stories/table.stories.d.ts +0 -1
  122. package/dist/components/ui/stories/table.stories.d.ts.map +1 -1
  123. package/dist/components/ui/stories/tabs.stories.d.ts +0 -1
  124. package/dist/components/ui/stories/tabs.stories.d.ts.map +1 -1
  125. package/dist/components/ui/stories/text-field.stories.d.ts +0 -1
  126. package/dist/components/ui/stories/text-field.stories.d.ts.map +1 -1
  127. package/dist/components/ui/stories/textarea.stories.d.ts +0 -1
  128. package/dist/components/ui/stories/textarea.stories.d.ts.map +1 -1
  129. package/dist/components/ui/stories/theme-toggle.stories.d.ts +0 -1
  130. package/dist/components/ui/stories/theme-toggle.stories.d.ts.map +1 -1
  131. package/dist/components/ui/stories/theme.stories.d.ts +0 -1
  132. package/dist/components/ui/stories/theme.stories.d.ts.map +1 -1
  133. package/dist/components/ui/stories/toggle-group.stories.d.ts +0 -1
  134. package/dist/components/ui/stories/toggle-group.stories.d.ts.map +1 -1
  135. package/dist/components/ui/stories/toggle.stories.d.ts +0 -1
  136. package/dist/components/ui/stories/toggle.stories.d.ts.map +1 -1
  137. package/dist/components/ui/stories/tooltip.stories.d.ts +0 -1
  138. package/dist/components/ui/stories/tooltip.stories.d.ts.map +1 -1
  139. package/dist/components/ui/stories/typography.stories.d.ts +0 -1
  140. package/dist/components/ui/stories/typography.stories.d.ts.map +1 -1
  141. package/dist/components/ui/stories/use-mobile.stories.d.ts.map +1 -1
  142. package/dist/components/ui/stories/use-theme.stories.d.ts.map +1 -1
  143. package/dist/components/ui/typography.d.ts +12 -11
  144. package/dist/components/ui/typography.d.ts.map +1 -1
  145. package/dist/index.d.ts +7 -0
  146. package/dist/index.d.ts.map +1 -1
  147. package/dist/index.js +10391 -3107
  148. package/dist/index.js.map +1 -1
  149. package/dist/tsconfig.tsbuildinfo +1 -1
  150. package/docs/llm/components/display.md +125 -0
  151. package/docs/llm/components/feedback.md +0 -14
  152. package/docs/llm/components/forms.md +94 -0
  153. package/docs/llm/components/layout.md +169 -0
  154. package/llms.txt +18 -12
  155. package/package.json +6 -5
  156. package/src/components/ui/button-group.tsx +525 -0
  157. package/src/components/ui/button.tsx +9 -12
  158. package/src/components/ui/empty-state.tsx +1 -0
  159. package/src/components/ui/empty.tsx +793 -0
  160. package/src/components/ui/field.tsx +494 -0
  161. package/src/components/ui/input-group.tsx +801 -0
  162. package/src/components/ui/item.tsx +955 -0
  163. package/src/components/ui/kbd.tsx +175 -0
  164. package/src/components/ui/skeleton.tsx +1 -1
  165. package/src/components/ui/spinner.tsx +211 -0
  166. package/src/components/ui/stories/accordion.stories.tsx +0 -1
  167. package/src/components/ui/stories/alert-dialog.stories.tsx +0 -1
  168. package/src/components/ui/stories/alert.stories.tsx +0 -1
  169. package/src/components/ui/stories/aspect-ratio.stories.tsx +0 -1
  170. package/src/components/ui/stories/avatar.stories.tsx +0 -1
  171. package/src/components/ui/stories/badge.stories.tsx +0 -1
  172. package/src/components/ui/stories/breadcrumb.stories.tsx +0 -1
  173. package/src/components/ui/stories/button-group.stories.tsx +300 -0
  174. package/src/components/ui/stories/button.stories.tsx +0 -1
  175. package/src/components/ui/stories/calendar.stories.tsx +0 -1
  176. package/src/components/ui/stories/card.stories.tsx +0 -1
  177. package/src/components/ui/stories/carousel.stories.tsx +0 -1
  178. package/src/components/ui/stories/chart.stories.tsx +0 -1
  179. package/src/components/ui/stories/checkbox.stories.tsx +0 -1
  180. package/src/components/ui/stories/cn.stories.tsx +0 -1
  181. package/src/components/ui/stories/collapsible.stories.tsx +0 -1
  182. package/src/components/ui/stories/colors.stories.tsx +0 -1
  183. package/src/components/ui/stories/combobox.stories.tsx +0 -1
  184. package/src/components/ui/stories/command.stories.tsx +0 -1
  185. package/src/components/ui/stories/container.stories.tsx +0 -1
  186. package/src/components/ui/stories/context-menu.stories.tsx +0 -1
  187. package/src/components/ui/stories/date-picker.stories.tsx +0 -1
  188. package/src/components/ui/stories/dialog.stories.tsx +0 -1
  189. package/src/components/ui/stories/drawer.stories.tsx +0 -1
  190. package/src/components/ui/stories/dropdown-menu.stories.tsx +0 -1
  191. package/src/components/ui/stories/empty-state.stories.tsx +0 -1
  192. package/src/components/ui/stories/empty.stories.tsx +293 -0
  193. package/src/components/ui/stories/field.stories.tsx +470 -0
  194. package/src/components/ui/stories/hover-card.stories.tsx +0 -1
  195. package/src/components/ui/stories/input-group.stories.tsx +444 -0
  196. package/src/components/ui/stories/input.stories.tsx +0 -1
  197. package/src/components/ui/stories/item.stories.tsx +601 -0
  198. package/src/components/ui/stories/kbd.stories.tsx +462 -0
  199. package/src/components/ui/stories/label.stories.tsx +0 -1
  200. package/src/components/ui/stories/menubar.stories.tsx +0 -1
  201. package/src/components/ui/stories/navigation-menu.stories.tsx +0 -1
  202. package/src/components/ui/stories/pagination.stories.tsx +0 -1
  203. package/src/components/ui/stories/popover.stories.tsx +0 -1
  204. package/src/components/ui/stories/progress.stories.tsx +0 -1
  205. package/src/components/ui/stories/radio-group.stories.tsx +0 -1
  206. package/src/components/ui/stories/resizable.stories.tsx +0 -1
  207. package/src/components/ui/stories/scroll-area.stories.tsx +0 -1
  208. package/src/components/ui/stories/select.stories.tsx +0 -1
  209. package/src/components/ui/stories/separator.stories.tsx +0 -1
  210. package/src/components/ui/stories/sheet.stories.tsx +0 -1
  211. package/src/components/ui/stories/sidebar.stories.tsx +0 -1
  212. package/src/components/ui/stories/skeleton.stories.tsx +0 -1
  213. package/src/components/ui/stories/slider.stories.tsx +0 -1
  214. package/src/components/ui/stories/sonner.stories.tsx +0 -1
  215. package/src/components/ui/stories/spinner.stories.tsx +356 -0
  216. package/src/components/ui/stories/stack.stories.tsx +0 -1
  217. package/src/components/ui/stories/switch.stories.tsx +0 -1
  218. package/src/components/ui/stories/table.stories.tsx +0 -1
  219. package/src/components/ui/stories/tabs.stories.tsx +0 -1
  220. package/src/components/ui/stories/text-field.stories.tsx +0 -1
  221. package/src/components/ui/stories/textarea.stories.tsx +0 -1
  222. package/src/components/ui/stories/theme-toggle.stories.tsx +0 -1
  223. package/src/components/ui/stories/theme.stories.tsx +0 -1
  224. package/src/components/ui/stories/toggle-group.stories.tsx +0 -1
  225. package/src/components/ui/stories/toggle.stories.tsx +0 -1
  226. package/src/components/ui/stories/tooltip.stories.tsx +0 -1
  227. package/src/components/ui/stories/typography.stories.tsx +5 -2
  228. package/src/components/ui/stories/use-mobile.stories.tsx +0 -1
  229. package/src/components/ui/stories/use-theme.stories.tsx +0 -1
  230. package/src/components/ui/tabs.tsx +1 -1
  231. package/src/components/ui/typography.tsx +29 -129
  232. package/src/index.ts +7 -0
  233. package/src/styles/globals.css +40 -24
  234. package/llm-docs/a.llm.md +0 -145
  235. package/llm-docs/accordion-content.llm.md +0 -67
  236. package/llm-docs/accordion-item.llm.md +0 -61
  237. package/llm-docs/accordion-trigger.llm.md +0 -69
  238. package/llm-docs/accordion.llm.md +0 -88
  239. package/llm-docs/alert-description.llm.md +0 -78
  240. package/llm-docs/alert-dialog-action.llm.md +0 -51
  241. package/llm-docs/alert-dialog-cancel.llm.md +0 -48
  242. package/llm-docs/alert-dialog-content.llm.md +0 -88
  243. package/llm-docs/alert-dialog-description.llm.md +0 -53
  244. package/llm-docs/alert-dialog-footer.llm.md +0 -41
  245. package/llm-docs/alert-dialog-header.llm.md +0 -39
  246. package/llm-docs/alert-dialog-overlay.llm.md +0 -44
  247. package/llm-docs/alert-dialog-portal.llm.md +0 -41
  248. package/llm-docs/alert-dialog-title.llm.md +0 -46
  249. package/llm-docs/alert-dialog-trigger.llm.md +0 -40
  250. package/llm-docs/alert-dialog.llm.md +0 -80
  251. package/llm-docs/alert-title.llm.md +0 -48
  252. package/llm-docs/alert.llm.md +0 -92
  253. package/llm-docs/aspect-ratio.llm.md +0 -41
  254. package/llm-docs/avatar-fallback.llm.md +0 -41
  255. package/llm-docs/avatar-image.llm.md +0 -48
  256. package/llm-docs/avatar.llm.md +0 -35
  257. package/llm-docs/badge.llm.md +0 -122
  258. package/llm-docs/blockquote.llm.md +0 -122
  259. package/llm-docs/breadcrumb-ellipsis.llm.md +0 -73
  260. package/llm-docs/breadcrumb-item.llm.md +0 -53
  261. package/llm-docs/breadcrumb-link.llm.md +0 -84
  262. package/llm-docs/breadcrumb-list.llm.md +0 -54
  263. package/llm-docs/breadcrumb-page.llm.md +0 -52
  264. package/llm-docs/breadcrumb-separator.llm.md +0 -60
  265. package/llm-docs/breadcrumb.llm.md +0 -110
  266. package/llm-docs/button.llm.md +0 -281
  267. package/llm-docs/calendar-day-button.llm.md +0 -57
  268. package/llm-docs/calendar.llm.md +0 -340
  269. package/llm-docs/card-action.llm.md +0 -64
  270. package/llm-docs/card-content.llm.md +0 -48
  271. package/llm-docs/card-description.llm.md +0 -46
  272. package/llm-docs/card-footer.llm.md +0 -56
  273. package/llm-docs/card-header.llm.md +0 -53
  274. package/llm-docs/card-title.llm.md +0 -43
  275. package/llm-docs/card.llm.md +0 -100
  276. package/llm-docs/carousel-content.llm.md +0 -77
  277. package/llm-docs/carousel-item.llm.md +0 -96
  278. package/llm-docs/carousel-next.llm.md +0 -95
  279. package/llm-docs/carousel-previous.llm.md +0 -95
  280. package/llm-docs/carousel.llm.md +0 -211
  281. package/llm-docs/chart-config.llm.md +0 -71
  282. package/llm-docs/chart-container.llm.md +0 -148
  283. package/llm-docs/chart-legend-content.llm.md +0 -85
  284. package/llm-docs/chart-legend.llm.md +0 -144
  285. package/llm-docs/chart-style.llm.md +0 -28
  286. package/llm-docs/chart-tooltip-content.llm.md +0 -149
  287. package/llm-docs/chart-tooltip.llm.md +0 -184
  288. package/llm-docs/checkbox.llm.md +0 -100
  289. package/llm-docs/cn.llm.md +0 -46
  290. package/llm-docs/code.llm.md +0 -108
  291. package/llm-docs/collapsible-content.llm.md +0 -109
  292. package/llm-docs/collapsible-trigger.llm.md +0 -75
  293. package/llm-docs/collapsible.llm.md +0 -109
  294. package/llm-docs/combobox-option.llm.md +0 -53
  295. package/llm-docs/combobox.llm.md +0 -208
  296. package/llm-docs/command-dialog.llm.md +0 -112
  297. package/llm-docs/command-empty.llm.md +0 -63
  298. package/llm-docs/command-group.llm.md +0 -83
  299. package/llm-docs/command-input.llm.md +0 -82
  300. package/llm-docs/command-item.llm.md +0 -97
  301. package/llm-docs/command-list.llm.md +0 -53
  302. package/llm-docs/command-loading.llm.md +0 -48
  303. package/llm-docs/command-separator.llm.md +0 -44
  304. package/llm-docs/command-shortcut.llm.md +0 -63
  305. package/llm-docs/command.llm.md +0 -147
  306. package/llm-docs/container.llm.md +0 -236
  307. package/llm-docs/context-menu-checkbox-item.llm.md +0 -97
  308. package/llm-docs/context-menu-content.llm.md +0 -91
  309. package/llm-docs/context-menu-group.llm.md +0 -61
  310. package/llm-docs/context-menu-item.llm.md +0 -94
  311. package/llm-docs/context-menu-label.llm.md +0 -60
  312. package/llm-docs/context-menu-portal.llm.md +0 -49
  313. package/llm-docs/context-menu-radio-group.llm.md +0 -66
  314. package/llm-docs/context-menu-radio-item.llm.md +0 -76
  315. package/llm-docs/context-menu-separator.llm.md +0 -51
  316. package/llm-docs/context-menu-shortcut.llm.md +0 -57
  317. package/llm-docs/context-menu-sub-content.llm.md +0 -90
  318. package/llm-docs/context-menu-sub-trigger.llm.md +0 -73
  319. package/llm-docs/context-menu-sub.llm.md +0 -61
  320. package/llm-docs/context-menu-trigger.llm.md +0 -53
  321. package/llm-docs/context-menu.llm.md +0 -103
  322. package/llm-docs/date-picker.llm.md +0 -90
  323. package/llm-docs/dialog-close.llm.md +0 -61
  324. package/llm-docs/dialog-content.llm.md +0 -128
  325. package/llm-docs/dialog-description.llm.md +0 -44
  326. package/llm-docs/dialog-footer.llm.md +0 -38
  327. package/llm-docs/dialog-header.llm.md +0 -40
  328. package/llm-docs/dialog-overlay.llm.md +0 -57
  329. package/llm-docs/dialog-portal.llm.md +0 -47
  330. package/llm-docs/dialog-title.llm.md +0 -41
  331. package/llm-docs/dialog-trigger.llm.md +0 -51
  332. package/llm-docs/dialog.llm.md +0 -113
  333. package/llm-docs/drawer-close.llm.md +0 -53
  334. package/llm-docs/drawer-content.llm.md +0 -58
  335. package/llm-docs/drawer-description.llm.md +0 -54
  336. package/llm-docs/drawer-footer.llm.md +0 -67
  337. package/llm-docs/drawer-header.llm.md +0 -60
  338. package/llm-docs/drawer-overlay.llm.md +0 -40
  339. package/llm-docs/drawer-portal.llm.md +0 -42
  340. package/llm-docs/drawer-title.llm.md +0 -51
  341. package/llm-docs/drawer-trigger.llm.md +0 -44
  342. package/llm-docs/drawer.llm.md +0 -194
  343. package/llm-docs/dropdown-menu-checkbox-item.llm.md +0 -111
  344. package/llm-docs/dropdown-menu-content.llm.md +0 -109
  345. package/llm-docs/dropdown-menu-group.llm.md +0 -38
  346. package/llm-docs/dropdown-menu-item.llm.md +0 -94
  347. package/llm-docs/dropdown-menu-label.llm.md +0 -66
  348. package/llm-docs/dropdown-menu-portal.llm.md +0 -32
  349. package/llm-docs/dropdown-menu-radio-group.llm.md +0 -73
  350. package/llm-docs/dropdown-menu-radio-item.llm.md +0 -92
  351. package/llm-docs/dropdown-menu-separator.llm.md +0 -55
  352. package/llm-docs/dropdown-menu-shortcut.llm.md +0 -74
  353. package/llm-docs/dropdown-menu-sub-content.llm.md +0 -80
  354. package/llm-docs/dropdown-menu-sub-trigger.llm.md +0 -84
  355. package/llm-docs/dropdown-menu-sub.llm.md +0 -74
  356. package/llm-docs/dropdown-menu-trigger.llm.md +0 -48
  357. package/llm-docs/dropdown-menu.llm.md +0 -120
  358. package/llm-docs/empty-state.llm.md +0 -174
  359. package/llm-docs/h1.llm.md +0 -113
  360. package/llm-docs/h2.llm.md +0 -113
  361. package/llm-docs/h3.llm.md +0 -111
  362. package/llm-docs/h4.llm.md +0 -109
  363. package/llm-docs/h5.llm.md +0 -110
  364. package/llm-docs/h6.llm.md +0 -110
  365. package/llm-docs/hover-card-content.llm.md +0 -167
  366. package/llm-docs/hover-card-trigger.llm.md +0 -65
  367. package/llm-docs/hover-card.llm.md +0 -121
  368. package/llm-docs/input.llm.md +0 -319
  369. package/llm-docs/label.llm.md +0 -145
  370. package/llm-docs/lead.llm.md +0 -119
  371. package/llm-docs/menubar-checkbox-item.llm.md +0 -66
  372. package/llm-docs/menubar-content.llm.md +0 -128
  373. package/llm-docs/menubar-group.llm.md +0 -40
  374. package/llm-docs/menubar-item.llm.md +0 -62
  375. package/llm-docs/menubar-label.llm.md +0 -40
  376. package/llm-docs/menubar-menu.llm.md +0 -32
  377. package/llm-docs/menubar-portal.llm.md +0 -38
  378. package/llm-docs/menubar-radio-group.llm.md +0 -39
  379. package/llm-docs/menubar-radio-item.llm.md +0 -59
  380. package/llm-docs/menubar-separator.llm.md +0 -35
  381. package/llm-docs/menubar-shortcut.llm.md +0 -37
  382. package/llm-docs/menubar-sub-content.llm.md +0 -127
  383. package/llm-docs/menubar-sub-trigger.llm.md +0 -51
  384. package/llm-docs/menubar-sub.llm.md +0 -53
  385. package/llm-docs/menubar-trigger.llm.md +0 -37
  386. package/llm-docs/menubar.llm.md +0 -115
  387. package/llm-docs/navigation-menu-content.llm.md +0 -116
  388. package/llm-docs/navigation-menu-indicator.llm.md +0 -68
  389. package/llm-docs/navigation-menu-item.llm.md +0 -62
  390. package/llm-docs/navigation-menu-link.llm.md +0 -109
  391. package/llm-docs/navigation-menu-list.llm.md +0 -52
  392. package/llm-docs/navigation-menu-trigger-style.llm.md +0 -22
  393. package/llm-docs/navigation-menu-trigger.llm.md +0 -57
  394. package/llm-docs/navigation-menu-viewport.llm.md +0 -51
  395. package/llm-docs/navigation-menu.llm.md +0 -184
  396. package/llm-docs/p.llm.md +0 -115
  397. package/llm-docs/pagination-content.llm.md +0 -60
  398. package/llm-docs/pagination-ellipsis.llm.md +0 -107
  399. package/llm-docs/pagination-item.llm.md +0 -59
  400. package/llm-docs/pagination-link.llm.md +0 -150
  401. package/llm-docs/pagination-next.llm.md +0 -115
  402. package/llm-docs/pagination-previous.llm.md +0 -115
  403. package/llm-docs/pagination.llm.md +0 -190
  404. package/llm-docs/popover-anchor.llm.md +0 -53
  405. package/llm-docs/popover-content.llm.md +0 -109
  406. package/llm-docs/popover-trigger.llm.md +0 -54
  407. package/llm-docs/popover.llm.md +0 -116
  408. package/llm-docs/progress.llm.md +0 -76
  409. package/llm-docs/radio-group-indicator.llm.md +0 -28
  410. package/llm-docs/radio-group-item.llm.md +0 -40
  411. package/llm-docs/radio-group.llm.md +0 -76
  412. package/llm-docs/resizable-handle.llm.md +0 -156
  413. package/llm-docs/resizable-panel-group.llm.md +0 -149
  414. package/llm-docs/resizable-panel.llm.md +0 -157
  415. package/llm-docs/scroll-area-corner.llm.md +0 -41
  416. package/llm-docs/scroll-area-thumb.llm.md +0 -39
  417. package/llm-docs/scroll-area-viewport.llm.md +0 -60
  418. package/llm-docs/scroll-area.llm.md +0 -125
  419. package/llm-docs/scroll-bar.llm.md +0 -78
  420. package/llm-docs/sdk-items-registry.json +0 -2638
  421. package/llm-docs/select-content.llm.md +0 -139
  422. package/llm-docs/select-group.llm.md +0 -60
  423. package/llm-docs/select-item.llm.md +0 -75
  424. package/llm-docs/select-label.llm.md +0 -62
  425. package/llm-docs/select-scroll-down-button.llm.md +0 -45
  426. package/llm-docs/select-scroll-up-button.llm.md +0 -45
  427. package/llm-docs/select-separator.llm.md +0 -59
  428. package/llm-docs/select-trigger.llm.md +0 -66
  429. package/llm-docs/select-value.llm.md +0 -67
  430. package/llm-docs/select.llm.md +0 -159
  431. package/llm-docs/separator.llm.md +0 -129
  432. package/llm-docs/sheet-close.llm.md +0 -49
  433. package/llm-docs/sheet-content.llm.md +0 -115
  434. package/llm-docs/sheet-description.llm.md +0 -62
  435. package/llm-docs/sheet-footer.llm.md +0 -64
  436. package/llm-docs/sheet-header.llm.md +0 -52
  437. package/llm-docs/sheet-title.llm.md +0 -53
  438. package/llm-docs/sheet-trigger.llm.md +0 -46
  439. package/llm-docs/sheet.llm.md +0 -126
  440. package/llm-docs/sidebar-content.llm.md +0 -63
  441. package/llm-docs/sidebar-footer.llm.md +0 -50
  442. package/llm-docs/sidebar-group-action.llm.md +0 -60
  443. package/llm-docs/sidebar-group-content.llm.md +0 -64
  444. package/llm-docs/sidebar-group-label.llm.md +0 -53
  445. package/llm-docs/sidebar-group.llm.md +0 -56
  446. package/llm-docs/sidebar-header.llm.md +0 -67
  447. package/llm-docs/sidebar-input.llm.md +0 -50
  448. package/llm-docs/sidebar-inset.llm.md +0 -52
  449. package/llm-docs/sidebar-menu-action.llm.md +0 -84
  450. package/llm-docs/sidebar-menu-badge.llm.md +0 -60
  451. package/llm-docs/sidebar-menu-button.llm.md +0 -103
  452. package/llm-docs/sidebar-menu-item.llm.md +0 -75
  453. package/llm-docs/sidebar-menu-skeleton.llm.md +0 -76
  454. package/llm-docs/sidebar-menu-sub-button.llm.md +0 -85
  455. package/llm-docs/sidebar-menu-sub-item.llm.md +0 -54
  456. package/llm-docs/sidebar-menu-sub.llm.md +0 -74
  457. package/llm-docs/sidebar-menu.llm.md +0 -65
  458. package/llm-docs/sidebar-provider.llm.md +0 -79
  459. package/llm-docs/sidebar-rail.llm.md +0 -34
  460. package/llm-docs/sidebar-separator.llm.md +0 -57
  461. package/llm-docs/sidebar-trigger.llm.md +0 -49
  462. package/llm-docs/sidebar.llm.md +0 -129
  463. package/llm-docs/skeleton.llm.md +0 -134
  464. package/llm-docs/slider.llm.md +0 -173
  465. package/llm-docs/small.llm.md +0 -115
  466. package/llm-docs/span.llm.md +0 -132
  467. package/llm-docs/stack.llm.md +0 -28
  468. package/llm-docs/strong.llm.md +0 -115
  469. package/llm-docs/switch.llm.md +0 -76
  470. package/llm-docs/table-body.llm.md +0 -36
  471. package/llm-docs/table-caption.llm.md +0 -48
  472. package/llm-docs/table-cell.llm.md +0 -53
  473. package/llm-docs/table-footer.llm.md +0 -41
  474. package/llm-docs/table-head.llm.md +0 -69
  475. package/llm-docs/table-header.llm.md +0 -41
  476. package/llm-docs/table-row.llm.md +0 -42
  477. package/llm-docs/table.llm.md +0 -123
  478. package/llm-docs/tabs-content.llm.md +0 -47
  479. package/llm-docs/tabs-list.llm.md +0 -41
  480. package/llm-docs/tabs-trigger.llm.md +0 -47
  481. package/llm-docs/tabs.llm.md +0 -71
  482. package/llm-docs/text-field.llm.md +0 -327
  483. package/llm-docs/textarea.llm.md +0 -311
  484. package/llm-docs/theme-preference.llm.md +0 -25
  485. package/llm-docs/theme-toggle.llm.md +0 -57
  486. package/llm-docs/theme.llm.md +0 -14
  487. package/llm-docs/toast.llm.md +0 -32
  488. package/llm-docs/toaster.llm.md +0 -193
  489. package/llm-docs/toggle-group-item.llm.md +0 -59
  490. package/llm-docs/toggle-group.llm.md +0 -101
  491. package/llm-docs/toggle.llm.md +0 -40
  492. package/llm-docs/tooltip-content.llm.md +0 -185
  493. package/llm-docs/tooltip-provider.llm.md +0 -68
  494. package/llm-docs/tooltip-trigger.llm.md +0 -70
  495. package/llm-docs/tooltip.llm.md +0 -129
  496. package/llm-docs/typography.llm.md +0 -175
  497. package/llm-docs/use-carousel.llm.md +0 -55
  498. package/llm-docs/use-command-state.llm.md +0 -32
  499. package/llm-docs/use-is-mobile.llm.md +0 -73
  500. package/llm-docs/use-sidebar.llm.md +0 -61
@@ -131,4 +131,129 @@ import { Carousel, CarouselContent, CarouselItem, CarouselPrevious, CarouselNext
131
131
  <CarouselPrevious />
132
132
  <CarouselNext />
133
133
  </Carousel>
134
+ ```
135
+
136
+ ## Kbd and KbdGroup
137
+
138
+ Display keyboard shortcuts and key combinations with semantic HTML.
139
+
140
+ ```tsx
141
+ import { Kbd, KbdGroup } from "@neynar/ui"
142
+
143
+ // Single key
144
+ <Kbd>Enter</Kbd>
145
+ <Kbd>Esc</Kbd>
146
+ <Kbd>⌘</Kbd>
147
+
148
+ // Key combinations
149
+ <KbdGroup>
150
+ <Kbd>⌘</Kbd>
151
+ <Kbd>K</Kbd>
152
+ </KbdGroup>
153
+
154
+ <KbdGroup>
155
+ <Kbd>⌘</Kbd>
156
+ <Kbd>⇧</Kbd>
157
+ <Kbd>P</Kbd>
158
+ </KbdGroup>
159
+
160
+ // In documentation
161
+ <p>
162
+ Press <KbdGroup><Kbd>⌘</Kbd><Kbd>K</Kbd></KbdGroup> to open the
163
+ command palette.
164
+ </p>
165
+
166
+ // In search interfaces
167
+ <div className="relative">
168
+ <Input placeholder="Search..." />
169
+ <div className="absolute right-3 top-1/2 -translate-y-1/2">
170
+ <KbdGroup>
171
+ <Kbd>⌘</Kbd>
172
+ <Kbd>K</Kbd>
173
+ </KbdGroup>
174
+ </div>
175
+ </div>
176
+
177
+ // In tooltips
178
+ <Tooltip>
179
+ <TooltipTrigger asChild>
180
+ <Button variant="ghost" size="icon">
181
+ <Settings className="h-4 w-4" />
182
+ </Button>
183
+ </TooltipTrigger>
184
+ <TooltipContent>
185
+ Open Settings <KbdGroup><Kbd>⌘</Kbd><Kbd>,</Kbd></KbdGroup>
186
+ </TooltipContent>
187
+ </Tooltip>
188
+ ```
189
+
190
+ ## Empty
191
+
192
+ Empty state placeholder for no data scenarios with optional icon, title, description, and actions.
193
+
194
+ ```tsx
195
+ import { Empty } from "@neynar/ui"
196
+ import { Search, Inbox } from "lucide-react"
197
+
198
+ // Basic empty state
199
+ <Empty
200
+ icon={<Search className="h-8 w-8" />}
201
+ title="No results found"
202
+ description="Try adjusting your search criteria"
203
+ />
204
+
205
+ // With action
206
+ <Empty
207
+ icon={<Inbox className="h-8 w-8" />}
208
+ title="No messages"
209
+ description="You don't have any messages yet"
210
+ action={<Button>Compose Message</Button>}
211
+ />
212
+
213
+ // Multiple actions
214
+ <Empty
215
+ title="No data available"
216
+ description="Get started by uploading your first file"
217
+ actions={
218
+ <div className="flex gap-2">
219
+ <Button>Upload File</Button>
220
+ <Button variant="outline">Learn More</Button>
221
+ </div>
222
+ }
223
+ />
224
+ ```
225
+
226
+ ## Spinner
227
+
228
+ Loading indicator for async operations with GPU-accelerated animation.
229
+
230
+ ```tsx
231
+ import { Spinner } from "@neynar/ui"
232
+
233
+ // Basic spinner
234
+ <Spinner />
235
+
236
+ // Different sizes
237
+ <Spinner className="size-3" /> // Small
238
+ <Spinner className="size-4" /> // Default
239
+ <Spinner className="size-6" /> // Large
240
+ <Spinner className="size-8" /> // Extra large
241
+
242
+ // With color
243
+ <Spinner className="text-primary" />
244
+ <Spinner className="text-destructive" />
245
+
246
+ // In button
247
+ <Button disabled>
248
+ <Spinner className="mr-2 size-4" />
249
+ Loading...
250
+ </Button>
251
+
252
+ // Centered loading state
253
+ <div className="flex items-center justify-center p-8">
254
+ <Spinner className="size-6" />
255
+ </div>
256
+
257
+ // With custom aria-label
258
+ <Spinner aria-label="Loading user profile" />
134
259
  ```
@@ -64,20 +64,6 @@ import { Skeleton } from "@neynar/ui"
64
64
  </div>
65
65
  ```
66
66
 
67
- ## EmptyState
68
-
69
- Handle empty data scenarios with helpful messaging.
70
-
71
- ```tsx
72
- import { EmptyState } from "@neynar/ui"
73
-
74
- <EmptyState
75
- title="No casts found"
76
- description="Try adjusting your search criteria"
77
- action={<Button>Refresh</Button>}
78
- />
79
- ```
80
-
81
67
  ## Sonner (Toast)
82
68
 
83
69
  Non-blocking notifications for actions and events.
@@ -20,6 +20,100 @@ import { Input, Label, Textarea, TextField } from "@neynar/ui"
20
20
  <TextField label="Username" placeholder="Enter username" required />
21
21
  ```
22
22
 
23
+ ## Field
24
+
25
+ Flexible form field composition with label, description, error, and hint support.
26
+
27
+ ```tsx
28
+ import { Field, Input } from "@neynar/ui"
29
+
30
+ // Basic field with label
31
+ <Field label="Email Address">
32
+ <Input type="email" placeholder="you@example.com" />
33
+ </Field>
34
+
35
+ // Field with description
36
+ <Field
37
+ label="Password"
38
+ description="Must be at least 8 characters"
39
+ >
40
+ <Input type="password" />
41
+ </Field>
42
+
43
+ // Field with error
44
+ <Field
45
+ label="Username"
46
+ error="Username is already taken"
47
+ >
48
+ <Input defaultValue="john" />
49
+ </Field>
50
+
51
+ // Field with hint
52
+ <Field
53
+ label="API Key"
54
+ hint="Keep this secret"
55
+ >
56
+ <Input type="password" />
57
+ </Field>
58
+
59
+ // Complete field with all features
60
+ <Field
61
+ label="Full Name"
62
+ description="Enter your legal name"
63
+ error={errors.name}
64
+ hint="This will appear on your profile"
65
+ required
66
+ >
67
+ <Input placeholder="John Doe" />
68
+ </Field>
69
+ ```
70
+
71
+ ## InputGroup
72
+
73
+ Input with left/right addons for icons, text, or buttons.
74
+
75
+ ```tsx
76
+ import { InputGroup, Input } from "@neynar/ui"
77
+ import { Search, DollarSign, Send } from "lucide-react"
78
+
79
+ // Icon addon
80
+ <InputGroup>
81
+ <InputGroup.LeftAddon>
82
+ <Search className="h-4 w-4" />
83
+ </InputGroup.LeftAddon>
84
+ <Input placeholder="Search..." />
85
+ </InputGroup>
86
+
87
+ // Text addon
88
+ <InputGroup>
89
+ <InputGroup.LeftAddon>
90
+ https://
91
+ </InputGroup.LeftAddon>
92
+ <Input placeholder="example.com" />
93
+ </InputGroup>
94
+
95
+ // Currency input
96
+ <InputGroup>
97
+ <InputGroup.LeftAddon>
98
+ <DollarSign className="h-4 w-4" />
99
+ </InputGroup.LeftAddon>
100
+ <Input type="number" placeholder="0.00" />
101
+ <InputGroup.RightAddon>
102
+ USD
103
+ </InputGroup.RightAddon>
104
+ </InputGroup>
105
+
106
+ // With button
107
+ <InputGroup>
108
+ <Input placeholder="Enter email..." />
109
+ <InputGroup.RightAddon>
110
+ <Button size="sm">
111
+ <Send className="h-4 w-4" />
112
+ </Button>
113
+ </InputGroup.RightAddon>
114
+ </InputGroup>
115
+ ```
116
+
23
117
  ## Selection Components
24
118
 
25
119
  ```tsx
@@ -56,4 +56,173 @@ import { AspectRatio } from "@neynar/ui";
56
56
  <AspectRatio ratio={1} className="bg-muted">
57
57
  <div className="flex items-center justify-center">1:1 Square</div>
58
58
  </AspectRatio>
59
+ ```
60
+
61
+ ## ButtonGroup
62
+
63
+ Visual grouping for related buttons with flexible composition.
64
+
65
+ ```tsx
66
+ import { ButtonGroup } from "@neynar/ui"
67
+
68
+ // Basic button group
69
+ <ButtonGroup>
70
+ <Button variant="outline">Left</Button>
71
+ <Button variant="outline">Middle</Button>
72
+ <Button variant="outline">Right</Button>
73
+ </ButtonGroup>
74
+
75
+ // Different orientations
76
+ <ButtonGroup orientation="vertical">
77
+ <Button>Top</Button>
78
+ <Button>Middle</Button>
79
+ <Button>Bottom</Button>
80
+ </ButtonGroup>
81
+
82
+ // Mixed button types
83
+ <ButtonGroup>
84
+ <Button variant="default">Primary</Button>
85
+ <Button variant="secondary">Secondary</Button>
86
+ <Button variant="outline" size="icon">
87
+ <MoreVertical className="h-4 w-4" />
88
+ </Button>
89
+ </ButtonGroup>
90
+
91
+ // Toolbar pattern
92
+ <ButtonGroup>
93
+ <Button variant="ghost" size="icon"><Bold className="h-4 w-4" /></Button>
94
+ <Button variant="ghost" size="icon"><Italic className="h-4 w-4" /></Button>
95
+ <Button variant="ghost" size="icon"><Underline className="h-4 w-4" /></Button>
96
+ </ButtonGroup>
97
+ ```
98
+
99
+ ## Item
100
+
101
+ Flexible list item composition with media, content, and actions following the compound component pattern.
102
+
103
+ ```tsx
104
+ import {
105
+ Item,
106
+ ItemGroup,
107
+ ItemMedia,
108
+ ItemContent,
109
+ ItemTitle,
110
+ ItemDescription,
111
+ ItemHeader,
112
+ ItemFooter,
113
+ ItemActions,
114
+ ItemSeparator
115
+ } from "@neynar/ui"
116
+
117
+ // Basic list item
118
+ <ItemGroup>
119
+ <Item>
120
+ <ItemMedia variant="icon">
121
+ <FileText className="h-4 w-4" />
122
+ </ItemMedia>
123
+ <ItemContent>
124
+ <ItemTitle>Document.pdf</ItemTitle>
125
+ <ItemDescription>Last modified today</ItemDescription>
126
+ </ItemContent>
127
+ </Item>
128
+ </ItemGroup>
129
+
130
+ // File list with actions
131
+ <ItemGroup>
132
+ <Item asChild>
133
+ <a href="/documents/report.pdf">
134
+ <ItemMedia variant="icon">
135
+ <FileText className="h-4 w-4" />
136
+ </ItemMedia>
137
+ <ItemContent>
138
+ <ItemHeader>
139
+ <ItemTitle>Q4 Report.pdf</ItemTitle>
140
+ <Badge variant="secondary">PDF</Badge>
141
+ </ItemHeader>
142
+ <ItemDescription>Last modified today at 2:45 PM</ItemDescription>
143
+ <ItemFooter>
144
+ <span className="text-xs text-muted-foreground">2.4 MB</span>
145
+ </ItemFooter>
146
+ </ItemContent>
147
+ <ItemActions>
148
+ <Button variant="ghost" size="icon">
149
+ <MoreVertical className="h-4 w-4" />
150
+ </Button>
151
+ </ItemActions>
152
+ </a>
153
+ </Item>
154
+ </ItemGroup>
155
+
156
+ // User list with avatars
157
+ <ItemGroup>
158
+ <Item>
159
+ <ItemMedia variant="image">
160
+ <img src="/avatars/alice.jpg" alt="Alice" />
161
+ </ItemMedia>
162
+ <ItemContent>
163
+ <ItemTitle>Alice Johnson</ItemTitle>
164
+ <ItemDescription>Product Manager</ItemDescription>
165
+ </ItemContent>
166
+ <ItemActions>
167
+ <Button variant="outline" size="sm">Message</Button>
168
+ </ItemActions>
169
+ </Item>
170
+ <ItemSeparator />
171
+ <Item>
172
+ <ItemMedia variant="image">
173
+ <img src="/avatars/bob.jpg" alt="Bob" />
174
+ </ItemMedia>
175
+ <ItemContent>
176
+ <ItemTitle>Bob Smith</ItemTitle>
177
+ <ItemDescription>Engineer</ItemDescription>
178
+ </ItemContent>
179
+ <ItemActions>
180
+ <Button variant="outline" size="sm">Message</Button>
181
+ </ItemActions>
182
+ </Item>
183
+ </ItemGroup>
184
+
185
+ // Notification list with variants
186
+ <ItemGroup>
187
+ <Item variant="muted">
188
+ <ItemMedia variant="icon">
189
+ <User className="h-4 w-4" />
190
+ </ItemMedia>
191
+ <ItemContent>
192
+ <ItemHeader>
193
+ <ItemTitle>New follower</ItemTitle>
194
+ <Badge>New</Badge>
195
+ </ItemHeader>
196
+ <ItemDescription>John started following you</ItemDescription>
197
+ <ItemFooter>
198
+ <span className="text-xs text-muted-foreground">5 min ago</span>
199
+ </ItemFooter>
200
+ </ItemContent>
201
+ </Item>
202
+ </ItemGroup>
203
+
204
+ // Compact settings menu
205
+ <ItemGroup>
206
+ <Item asChild size="sm">
207
+ <a href="/settings/profile">
208
+ <ItemContent>
209
+ <ItemTitle>Profile</ItemTitle>
210
+ </ItemContent>
211
+ <ItemActions>
212
+ <ChevronRight className="h-4 w-4 text-muted-foreground" />
213
+ </ItemActions>
214
+ </a>
215
+ </Item>
216
+ <ItemSeparator />
217
+ <Item asChild size="sm">
218
+ <a href="/settings/notifications">
219
+ <ItemContent>
220
+ <ItemTitle>Notifications</ItemTitle>
221
+ </ItemContent>
222
+ <ItemActions>
223
+ <ChevronRight className="h-4 w-4 text-muted-foreground" />
224
+ </ItemActions>
225
+ </a>
226
+ </Item>
227
+ </ItemGroup>
59
228
  ```
package/llms.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  # @neynar/ui Component Library
2
2
 
3
- A production-ready React component library with 265+ components, hooks, and utilities. Built on Radix UI primitives with Tailwind CSS v4, ensuring WCAG-compliant accessibility and zero runtime overhead.
3
+ A production-ready React component library with 272+ components, hooks, and utilities. Built on Radix UI primitives with Tailwind CSS v4, ensuring WCAG-compliant accessibility and zero runtime overhead.
4
4
 
5
5
  ## Quick Reference
6
6
 
@@ -11,21 +11,21 @@ import "@neynar/ui/styles"
11
11
 
12
12
  ## 🔍 How to Search Components
13
13
 
14
- **IMPORTANT:** DO NOT load the entire `llm-docs/sdk-items-registry.json` file - it contains 265+ items and will exceed context limits.
14
+ **IMPORTANT:** DO NOT load the entire `.llm/sdk-items-registry.json` file - it contains 265+ items and will exceed context limits.
15
15
 
16
16
  Instead, search efficiently using these methods:
17
17
 
18
18
  ### Method 1: Search by Component Name (Recommended)
19
19
  ```bash
20
20
  # Search for specific component documentation
21
- cat llm-docs/{component-name}.llm.md
22
- # Example: cat llm-docs/button.llm.md
21
+ cat .llm/{component-name}.llm.md
22
+ # Example: cat .llm/button.llm.md
23
23
  ```
24
24
 
25
- ### Method 2: Search Registry by Keywords
25
+ ### Method 2: Search Registry by Keywords
26
26
  ```bash
27
27
  # Use jq to search registry by keywords without loading entire file
28
- jq 'to_entries[] | select(.value.keywords[]? | contains("button")) | {key: .key, description: .value.description}' llm-docs/sdk-items-registry.json
28
+ jq 'to_entries[] | select(.value.keywords[]? | contains("button")) | {key: .key, description: .value.description}' .llm/sdk-items-registry.json
29
29
  ```
30
30
 
31
31
  ### Method 3: List Components by Category
@@ -81,7 +81,7 @@ import { H1, H2, P, Span, Code, Stack, Badge } from "@neynar/ui"
81
81
 
82
82
  ## Registry Structure
83
83
 
84
- The `llm-docs/sdk-items-registry.json` contains metadata for all components:
84
+ The `.llm/sdk-items-registry.json` contains metadata for all components:
85
85
 
86
86
  ```json
87
87
  {
@@ -99,9 +99,9 @@ The `llm-docs/sdk-items-registry.json` contains metadata for all components:
99
99
  For component discovery, use this approach:
100
100
 
101
101
  1. **Know what you need?** → Use Method 1 (direct file access)
102
- 2. **Searching by functionality?** → Use Method 2 (keyword search)
102
+ 2. **Searching by functionality?** → Use Method 2 (keyword search)
103
103
  3. **Browsing categories?** → Use Method 3 (category patterns)
104
- 4. **Need complete list?** → Use `jq 'keys' llm-docs/sdk-items-registry.json`
104
+ 4. **Need complete list?** → Use `jq 'keys' .llm/sdk-items-registry.json`
105
105
 
106
106
  **Performance Tip:** Each .llm.md file contains complete documentation including props, examples, and TypeScript definitions. Only load what you need.
107
107
 
@@ -109,7 +109,9 @@ For component discovery, use this approach:
109
109
 
110
110
  ### Layout Components → [docs/llm/components/layout.md](docs/llm/components/layout.md)
111
111
  - **Container** - Responsive container with max-width constraints
112
- - **Stack** - Flexible vertical and horizontal layout primitive
112
+ - **Stack** - Flexible vertical and horizontal layout primitive
113
+ - **ButtonGroup** - Groups related buttons with consistent spacing
114
+ - **Item** + 9 sub-components - Flexible list item with media, content, and actions
113
115
  - **Separator** - Visual content dividers
114
116
  - **AspectRatio** - Responsive aspect ratio containers
115
117
  - **ResizablePanelGroup**, **ResizablePanel**, **ResizableHandle** - Interactive resizable layouts
@@ -129,6 +131,8 @@ For component discovery, use this approach:
129
131
  - **Input** - Text input fields with validation states
130
132
  - **Textarea** - Multi-line text input with auto-resize
131
133
  - **TextField** - Complete form field with label and validation
134
+ - **Field** - Flexible form field composition with label, description, error, and hint
135
+ - **InputGroup** - Input with left/right addons for icons, text, or buttons
132
136
  - **Label** - Accessible form labels
133
137
  - **Checkbox** - Boolean input with indeterminate state
134
138
  - **RadioGroup**, **RadioGroupItem** - Single-choice selection
@@ -151,7 +155,9 @@ For component discovery, use this approach:
151
155
  - **Progress** - Loading and completion indicators
152
156
  - **Skeleton** - Loading state placeholders
153
157
  - **Chart** + 5 sub-components - Data visualization
154
- - **EmptyState** - No data placeholder with actions
158
+ - **Kbd**, **KbdGroup** - Keyboard shortcuts and key combinations display
159
+ - **Empty** - Empty state placeholder for no data scenarios
160
+ - **Spinner** - Loading indicator for async operations
155
161
 
156
162
  ### Table Components → [docs/llm/components/tables.md](docs/llm/components/tables.md)
157
163
  - **Table** + 7 sub-components - Data tables
@@ -201,7 +207,7 @@ The typography system provides semantic HTML components with consistent styling:
201
207
  #### Available Components
202
208
  - **H1, H2, H3, H4, H5, H6** - Semantic headings with proper hierarchy
203
209
  - **P** - Paragraph text with body variant styling
204
- - **Span** - Inline text with default styling
210
+ - **Span** - Inline text with default styling
205
211
  - **A** - Links with proper hover/focus states
206
212
  - **Code** - Inline code with monospace styling
207
213
  - **Small** - Small text for captions/metadata
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neynar/ui",
3
- "version": "0.2.1",
3
+ "version": "0.3.0",
4
4
  "license": "MIT",
5
5
  "author": "Neynar Inc.",
6
6
  "description": "React UI component library built on shadcn/ui and Tailwind CSS",
@@ -50,22 +50,22 @@
50
50
  "@radix-ui/react-dialog": "1.1.14",
51
51
  "@radix-ui/react-dropdown-menu": "2.1.15",
52
52
  "@radix-ui/react-hover-card": "1.1.14",
53
- "@radix-ui/react-label": "2.1.7",
53
+ "@radix-ui/react-label": "^2.1.7",
54
54
  "@radix-ui/react-menubar": "1.1.15",
55
55
  "@radix-ui/react-navigation-menu": "1.2.13",
56
56
  "@radix-ui/react-popover": "1.1.14",
57
57
  "@radix-ui/react-progress": "1.1.7",
58
58
  "@radix-ui/react-radio-group": "1.3.7",
59
59
  "@radix-ui/react-select": "2.2.5",
60
- "@radix-ui/react-separator": "1.1.7",
60
+ "@radix-ui/react-separator": "^1.1.7",
61
61
  "@radix-ui/react-slider": "1.3.5",
62
- "@radix-ui/react-slot": "1.2.3",
62
+ "@radix-ui/react-slot": "^1.2.3",
63
63
  "@radix-ui/react-switch": "1.2.5",
64
64
  "@radix-ui/react-tabs": "1.1.12",
65
65
  "@radix-ui/react-toggle": "1.1.9",
66
66
  "@radix-ui/react-toggle-group": "1.1.10",
67
67
  "@radix-ui/react-tooltip": "1.2.7",
68
- "class-variance-authority": "0.7.1",
68
+ "class-variance-authority": "^0.7.1",
69
69
  "clsx": "2.1.1",
70
70
  "cmdk": "1.1.1",
71
71
  "date-fns": "4.1.0",
@@ -94,6 +94,7 @@
94
94
  "prettier": "3.6.2",
95
95
  "react": "19.1.1",
96
96
  "react-dom": "19.1.1",
97
+ "shadcn": "^3.4.0",
97
98
  "storybook": "9.1.2",
98
99
  "tailwindcss": "4.1.11",
99
100
  "ts-morph": "^26.0.0",