@neynar/ui 0.2.1 → 0.3.1

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 (547) hide show
  1. package/{llm-docs → .llm}/a.llm.md +2 -16
  2. package/{llm-docs → .llm}/badge.llm.md +16 -21
  3. package/{llm-docs → .llm}/blockquote.llm.md +1 -6
  4. package/.llm/button-group-separator.llm.md +53 -0
  5. package/.llm/button-group-text.llm.md +56 -0
  6. package/.llm/button-group.llm.md +81 -0
  7. package/{llm-docs → .llm}/button.llm.md +1 -1
  8. package/{llm-docs → .llm}/code.llm.md +1 -6
  9. package/.llm/empty-content.llm.md +103 -0
  10. package/.llm/empty-description.llm.md +70 -0
  11. package/.llm/empty-header.llm.md +64 -0
  12. package/.llm/empty-media.llm.md +81 -0
  13. package/.llm/empty-title.llm.md +54 -0
  14. package/.llm/empty.llm.md +158 -0
  15. package/.llm/field-content.llm.md +28 -0
  16. package/.llm/field-description.llm.md +28 -0
  17. package/.llm/field-error.llm.md +41 -0
  18. package/.llm/field-group.llm.md +84 -0
  19. package/.llm/field-label.llm.md +28 -0
  20. package/.llm/field-legend.llm.md +77 -0
  21. package/.llm/field-separator.llm.md +35 -0
  22. package/.llm/field-set.llm.md +80 -0
  23. package/.llm/field-title.llm.md +28 -0
  24. package/.llm/field.llm.md +35 -0
  25. package/{llm-docs → .llm}/h1.llm.md +2 -7
  26. package/{llm-docs → .llm}/h2.llm.md +2 -7
  27. package/{llm-docs → .llm}/h3.llm.md +2 -7
  28. package/{llm-docs → .llm}/h4.llm.md +2 -7
  29. package/{llm-docs → .llm}/h5.llm.md +2 -7
  30. package/{llm-docs → .llm}/h6.llm.md +1 -6
  31. package/.llm/input-group-addon.llm.md +91 -0
  32. package/.llm/input-group-button.llm.md +120 -0
  33. package/.llm/input-group-input.llm.md +145 -0
  34. package/.llm/input-group-text.llm.md +75 -0
  35. package/.llm/input-group-textarea.llm.md +157 -0
  36. package/.llm/input-group.llm.md +108 -0
  37. package/.llm/item-actions.llm.md +77 -0
  38. package/.llm/item-content.llm.md +73 -0
  39. package/.llm/item-description.llm.md +61 -0
  40. package/.llm/item-footer.llm.md +68 -0
  41. package/.llm/item-group.llm.md +73 -0
  42. package/.llm/item-header.llm.md +66 -0
  43. package/.llm/item-media.llm.md +75 -0
  44. package/.llm/item-separator.llm.md +80 -0
  45. package/.llm/item-title.llm.md +59 -0
  46. package/.llm/item.llm.md +115 -0
  47. package/.llm/kbd-group.llm.md +71 -0
  48. package/.llm/kbd.llm.md +71 -0
  49. package/{llm-docs → .llm}/lead.llm.md +1 -6
  50. package/{llm-docs → .llm}/p.llm.md +1 -6
  51. package/{llm-docs → .llm}/sdk-items-registry.json +390 -6
  52. package/{llm-docs → .llm}/small.llm.md +1 -6
  53. package/{llm-docs → .llm}/span.llm.md +2 -16
  54. package/.llm/spinner.llm.md +182 -0
  55. package/{llm-docs → .llm}/strong.llm.md +1 -6
  56. package/{llm-docs → .llm}/typography.llm.md +2 -16
  57. package/dist/components/ui/button-group.d.ts +448 -0
  58. package/dist/components/ui/button-group.d.ts.map +1 -0
  59. package/dist/components/ui/button.d.ts +1 -1
  60. package/dist/components/ui/button.d.ts.map +1 -1
  61. package/dist/components/ui/empty-state.d.ts +1 -0
  62. package/dist/components/ui/empty-state.d.ts.map +1 -1
  63. package/dist/components/ui/empty.d.ts +630 -0
  64. package/dist/components/ui/empty.d.ts.map +1 -0
  65. package/dist/components/ui/field.d.ts +238 -0
  66. package/dist/components/ui/field.d.ts.map +1 -0
  67. package/dist/components/ui/input-group.d.ts +636 -0
  68. package/dist/components/ui/input-group.d.ts.map +1 -0
  69. package/dist/components/ui/item.d.ts +766 -0
  70. package/dist/components/ui/item.d.ts.map +1 -0
  71. package/dist/components/ui/kbd.d.ts +149 -0
  72. package/dist/components/ui/kbd.d.ts.map +1 -0
  73. package/dist/components/ui/scroll-area.d.ts +5 -5
  74. package/dist/components/ui/scroll-area.d.ts.map +1 -1
  75. package/dist/components/ui/spinner.d.ts +194 -0
  76. package/dist/components/ui/spinner.d.ts.map +1 -0
  77. package/dist/components/ui/stack.d.ts.map +1 -1
  78. package/dist/components/ui/stories/accordion.stories.d.ts +0 -1
  79. package/dist/components/ui/stories/accordion.stories.d.ts.map +1 -1
  80. package/dist/components/ui/stories/alert-dialog.stories.d.ts +0 -1
  81. package/dist/components/ui/stories/alert-dialog.stories.d.ts.map +1 -1
  82. package/dist/components/ui/stories/alert.stories.d.ts +0 -1
  83. package/dist/components/ui/stories/alert.stories.d.ts.map +1 -1
  84. package/dist/components/ui/stories/aspect-ratio.stories.d.ts +0 -1
  85. package/dist/components/ui/stories/aspect-ratio.stories.d.ts.map +1 -1
  86. package/dist/components/ui/stories/avatar.stories.d.ts +0 -1
  87. package/dist/components/ui/stories/avatar.stories.d.ts.map +1 -1
  88. package/dist/components/ui/stories/badge.stories.d.ts +0 -1
  89. package/dist/components/ui/stories/badge.stories.d.ts.map +1 -1
  90. package/dist/components/ui/stories/breadcrumb.stories.d.ts +0 -1
  91. package/dist/components/ui/stories/breadcrumb.stories.d.ts.map +1 -1
  92. package/dist/components/ui/stories/button-group.stories.d.ts +48 -0
  93. package/dist/components/ui/stories/button-group.stories.d.ts.map +1 -0
  94. package/dist/components/ui/stories/button.stories.d.ts +0 -1
  95. package/dist/components/ui/stories/button.stories.d.ts.map +1 -1
  96. package/dist/components/ui/stories/calendar.stories.d.ts +0 -1
  97. package/dist/components/ui/stories/calendar.stories.d.ts.map +1 -1
  98. package/dist/components/ui/stories/card.stories.d.ts +0 -1
  99. package/dist/components/ui/stories/card.stories.d.ts.map +1 -1
  100. package/dist/components/ui/stories/carousel.stories.d.ts +0 -1
  101. package/dist/components/ui/stories/carousel.stories.d.ts.map +1 -1
  102. package/dist/components/ui/stories/chart.stories.d.ts +0 -1
  103. package/dist/components/ui/stories/chart.stories.d.ts.map +1 -1
  104. package/dist/components/ui/stories/checkbox.stories.d.ts +0 -1
  105. package/dist/components/ui/stories/checkbox.stories.d.ts.map +1 -1
  106. package/dist/components/ui/stories/cn.stories.d.ts.map +1 -1
  107. package/dist/components/ui/stories/collapsible.stories.d.ts +0 -1
  108. package/dist/components/ui/stories/collapsible.stories.d.ts.map +1 -1
  109. package/dist/components/ui/stories/colors.stories.d.ts +0 -1
  110. package/dist/components/ui/stories/colors.stories.d.ts.map +1 -1
  111. package/dist/components/ui/stories/combobox.stories.d.ts +0 -1
  112. package/dist/components/ui/stories/combobox.stories.d.ts.map +1 -1
  113. package/dist/components/ui/stories/command.stories.d.ts +0 -1
  114. package/dist/components/ui/stories/command.stories.d.ts.map +1 -1
  115. package/dist/components/ui/stories/container.stories.d.ts +0 -1
  116. package/dist/components/ui/stories/container.stories.d.ts.map +1 -1
  117. package/dist/components/ui/stories/context-menu.stories.d.ts +0 -1
  118. package/dist/components/ui/stories/context-menu.stories.d.ts.map +1 -1
  119. package/dist/components/ui/stories/date-picker.stories.d.ts +0 -1
  120. package/dist/components/ui/stories/date-picker.stories.d.ts.map +1 -1
  121. package/dist/components/ui/stories/dialog.stories.d.ts +0 -1
  122. package/dist/components/ui/stories/dialog.stories.d.ts.map +1 -1
  123. package/dist/components/ui/stories/drawer.stories.d.ts +0 -1
  124. package/dist/components/ui/stories/drawer.stories.d.ts.map +1 -1
  125. package/dist/components/ui/stories/dropdown-menu.stories.d.ts +0 -1
  126. package/dist/components/ui/stories/dropdown-menu.stories.d.ts.map +1 -1
  127. package/dist/components/ui/stories/empty-state.stories.d.ts +0 -1
  128. package/dist/components/ui/stories/empty-state.stories.d.ts.map +1 -1
  129. package/dist/components/ui/stories/empty.stories.d.ts +38 -0
  130. package/dist/components/ui/stories/empty.stories.d.ts.map +1 -0
  131. package/dist/components/ui/stories/field.stories.d.ts +48 -0
  132. package/dist/components/ui/stories/field.stories.d.ts.map +1 -0
  133. package/dist/components/ui/stories/hover-card.stories.d.ts +0 -1
  134. package/dist/components/ui/stories/hover-card.stories.d.ts.map +1 -1
  135. package/dist/components/ui/stories/input-group.stories.d.ts +37 -0
  136. package/dist/components/ui/stories/input-group.stories.d.ts.map +1 -0
  137. package/dist/components/ui/stories/input.stories.d.ts +0 -1
  138. package/dist/components/ui/stories/input.stories.d.ts.map +1 -1
  139. package/dist/components/ui/stories/item.stories.d.ts +61 -0
  140. package/dist/components/ui/stories/item.stories.d.ts.map +1 -0
  141. package/dist/components/ui/stories/kbd.stories.d.ts +37 -0
  142. package/dist/components/ui/stories/kbd.stories.d.ts.map +1 -0
  143. package/dist/components/ui/stories/label.stories.d.ts +0 -1
  144. package/dist/components/ui/stories/label.stories.d.ts.map +1 -1
  145. package/dist/components/ui/stories/menubar.stories.d.ts +0 -1
  146. package/dist/components/ui/stories/menubar.stories.d.ts.map +1 -1
  147. package/dist/components/ui/stories/navigation-menu.stories.d.ts +0 -1
  148. package/dist/components/ui/stories/navigation-menu.stories.d.ts.map +1 -1
  149. package/dist/components/ui/stories/pagination.stories.d.ts +0 -1
  150. package/dist/components/ui/stories/pagination.stories.d.ts.map +1 -1
  151. package/dist/components/ui/stories/popover.stories.d.ts +0 -1
  152. package/dist/components/ui/stories/popover.stories.d.ts.map +1 -1
  153. package/dist/components/ui/stories/progress.stories.d.ts +0 -1
  154. package/dist/components/ui/stories/progress.stories.d.ts.map +1 -1
  155. package/dist/components/ui/stories/radio-group.stories.d.ts +0 -1
  156. package/dist/components/ui/stories/radio-group.stories.d.ts.map +1 -1
  157. package/dist/components/ui/stories/resizable.stories.d.ts +0 -1
  158. package/dist/components/ui/stories/resizable.stories.d.ts.map +1 -1
  159. package/dist/components/ui/stories/scroll-area.stories.d.ts +1 -2
  160. package/dist/components/ui/stories/scroll-area.stories.d.ts.map +1 -1
  161. package/dist/components/ui/stories/select.stories.d.ts +0 -1
  162. package/dist/components/ui/stories/select.stories.d.ts.map +1 -1
  163. package/dist/components/ui/stories/separator.stories.d.ts +0 -1
  164. package/dist/components/ui/stories/separator.stories.d.ts.map +1 -1
  165. package/dist/components/ui/stories/sheet.stories.d.ts +0 -1
  166. package/dist/components/ui/stories/sheet.stories.d.ts.map +1 -1
  167. package/dist/components/ui/stories/sidebar.stories.d.ts +0 -1
  168. package/dist/components/ui/stories/sidebar.stories.d.ts.map +1 -1
  169. package/dist/components/ui/stories/skeleton.stories.d.ts +0 -1
  170. package/dist/components/ui/stories/skeleton.stories.d.ts.map +1 -1
  171. package/dist/components/ui/stories/slider.stories.d.ts +0 -1
  172. package/dist/components/ui/stories/slider.stories.d.ts.map +1 -1
  173. package/dist/components/ui/stories/sonner.stories.d.ts.map +1 -1
  174. package/dist/components/ui/stories/spinner.stories.d.ts +37 -0
  175. package/dist/components/ui/stories/spinner.stories.d.ts.map +1 -0
  176. package/dist/components/ui/stories/stack.stories.d.ts +0 -1
  177. package/dist/components/ui/stories/stack.stories.d.ts.map +1 -1
  178. package/dist/components/ui/stories/switch.stories.d.ts +0 -1
  179. package/dist/components/ui/stories/switch.stories.d.ts.map +1 -1
  180. package/dist/components/ui/stories/table.stories.d.ts +0 -1
  181. package/dist/components/ui/stories/table.stories.d.ts.map +1 -1
  182. package/dist/components/ui/stories/tabs.stories.d.ts +0 -1
  183. package/dist/components/ui/stories/tabs.stories.d.ts.map +1 -1
  184. package/dist/components/ui/stories/text-field.stories.d.ts +0 -1
  185. package/dist/components/ui/stories/text-field.stories.d.ts.map +1 -1
  186. package/dist/components/ui/stories/textarea.stories.d.ts +0 -1
  187. package/dist/components/ui/stories/textarea.stories.d.ts.map +1 -1
  188. package/dist/components/ui/stories/theme-toggle.stories.d.ts +0 -1
  189. package/dist/components/ui/stories/theme-toggle.stories.d.ts.map +1 -1
  190. package/dist/components/ui/stories/theme.stories.d.ts +0 -1
  191. package/dist/components/ui/stories/theme.stories.d.ts.map +1 -1
  192. package/dist/components/ui/stories/toggle-group.stories.d.ts +0 -1
  193. package/dist/components/ui/stories/toggle-group.stories.d.ts.map +1 -1
  194. package/dist/components/ui/stories/toggle.stories.d.ts +0 -1
  195. package/dist/components/ui/stories/toggle.stories.d.ts.map +1 -1
  196. package/dist/components/ui/stories/tooltip.stories.d.ts +0 -1
  197. package/dist/components/ui/stories/tooltip.stories.d.ts.map +1 -1
  198. package/dist/components/ui/stories/typography.stories.d.ts +0 -1
  199. package/dist/components/ui/stories/typography.stories.d.ts.map +1 -1
  200. package/dist/components/ui/stories/use-mobile.stories.d.ts.map +1 -1
  201. package/dist/components/ui/stories/use-theme.stories.d.ts.map +1 -1
  202. package/dist/components/ui/theme-toggle.d.ts +0 -3
  203. package/dist/components/ui/theme-toggle.d.ts.map +1 -1
  204. package/dist/components/ui/theme.d.ts.map +1 -1
  205. package/dist/components/ui/typography.d.ts +12 -11
  206. package/dist/components/ui/typography.d.ts.map +1 -1
  207. package/dist/index.d.ts +7 -0
  208. package/dist/index.d.ts.map +1 -1
  209. package/dist/index.js +4973 -2353
  210. package/dist/index.js.map +1 -1
  211. package/dist/tsconfig.tsbuildinfo +1 -1
  212. package/docs/llm/components/display.md +125 -0
  213. package/docs/llm/components/feedback.md +0 -14
  214. package/docs/llm/components/forms.md +94 -0
  215. package/docs/llm/components/layout.md +169 -0
  216. package/llms.txt +18 -12
  217. package/package.json +7 -6
  218. package/src/components/ui/button-group.tsx +525 -0
  219. package/src/components/ui/button.tsx +9 -12
  220. package/src/components/ui/empty-state.tsx +1 -0
  221. package/src/components/ui/empty.tsx +793 -0
  222. package/src/components/ui/field.tsx +494 -0
  223. package/src/components/ui/input-group.tsx +801 -0
  224. package/src/components/ui/item.tsx +955 -0
  225. package/src/components/ui/kbd.tsx +175 -0
  226. package/src/components/ui/skeleton.tsx +1 -1
  227. package/src/components/ui/spinner.tsx +211 -0
  228. package/src/components/ui/stack.tsx +3 -1
  229. package/src/components/ui/stories/accordion.stories.tsx +0 -1
  230. package/src/components/ui/stories/alert-dialog.stories.tsx +0 -1
  231. package/src/components/ui/stories/alert.stories.tsx +0 -1
  232. package/src/components/ui/stories/aspect-ratio.stories.tsx +0 -1
  233. package/src/components/ui/stories/avatar.stories.tsx +0 -1
  234. package/src/components/ui/stories/badge.stories.tsx +0 -1
  235. package/src/components/ui/stories/breadcrumb.stories.tsx +0 -1
  236. package/src/components/ui/stories/button-group.stories.tsx +300 -0
  237. package/src/components/ui/stories/button.stories.tsx +0 -1
  238. package/src/components/ui/stories/calendar.stories.tsx +0 -1
  239. package/src/components/ui/stories/card.stories.tsx +0 -1
  240. package/src/components/ui/stories/carousel.stories.tsx +0 -1
  241. package/src/components/ui/stories/chart.stories.tsx +0 -1
  242. package/src/components/ui/stories/checkbox.stories.tsx +0 -1
  243. package/src/components/ui/stories/cn.stories.tsx +0 -1
  244. package/src/components/ui/stories/collapsible.stories.tsx +0 -1
  245. package/src/components/ui/stories/colors.stories.tsx +0 -1
  246. package/src/components/ui/stories/combobox.stories.tsx +0 -1
  247. package/src/components/ui/stories/command.stories.tsx +0 -1
  248. package/src/components/ui/stories/container.stories.tsx +0 -1
  249. package/src/components/ui/stories/context-menu.stories.tsx +0 -1
  250. package/src/components/ui/stories/date-picker.stories.tsx +0 -1
  251. package/src/components/ui/stories/dialog.stories.tsx +0 -1
  252. package/src/components/ui/stories/drawer.stories.tsx +0 -1
  253. package/src/components/ui/stories/dropdown-menu.stories.tsx +0 -1
  254. package/src/components/ui/stories/empty-state.stories.tsx +0 -1
  255. package/src/components/ui/stories/empty.stories.tsx +293 -0
  256. package/src/components/ui/stories/field.stories.tsx +470 -0
  257. package/src/components/ui/stories/hover-card.stories.tsx +0 -1
  258. package/src/components/ui/stories/input-group.stories.tsx +444 -0
  259. package/src/components/ui/stories/input.stories.tsx +0 -1
  260. package/src/components/ui/stories/item.stories.tsx +601 -0
  261. package/src/components/ui/stories/kbd.stories.tsx +462 -0
  262. package/src/components/ui/stories/label.stories.tsx +0 -1
  263. package/src/components/ui/stories/menubar.stories.tsx +0 -1
  264. package/src/components/ui/stories/navigation-menu.stories.tsx +0 -1
  265. package/src/components/ui/stories/pagination.stories.tsx +0 -1
  266. package/src/components/ui/stories/popover.stories.tsx +0 -1
  267. package/src/components/ui/stories/progress.stories.tsx +0 -1
  268. package/src/components/ui/stories/radio-group.stories.tsx +0 -1
  269. package/src/components/ui/stories/resizable.stories.tsx +0 -1
  270. package/src/components/ui/stories/scroll-area.stories.tsx +0 -1
  271. package/src/components/ui/stories/select.stories.tsx +0 -1
  272. package/src/components/ui/stories/separator.stories.tsx +0 -1
  273. package/src/components/ui/stories/sheet.stories.tsx +0 -1
  274. package/src/components/ui/stories/sidebar.stories.tsx +0 -1
  275. package/src/components/ui/stories/skeleton.stories.tsx +0 -1
  276. package/src/components/ui/stories/slider.stories.tsx +0 -1
  277. package/src/components/ui/stories/sonner.stories.tsx +0 -1
  278. package/src/components/ui/stories/spinner.stories.tsx +356 -0
  279. package/src/components/ui/stories/stack.stories.tsx +0 -1
  280. package/src/components/ui/stories/switch.stories.tsx +0 -1
  281. package/src/components/ui/stories/table.stories.tsx +0 -1
  282. package/src/components/ui/stories/tabs.stories.tsx +0 -1
  283. package/src/components/ui/stories/text-field.stories.tsx +0 -1
  284. package/src/components/ui/stories/textarea.stories.tsx +0 -1
  285. package/src/components/ui/stories/theme-toggle.stories.tsx +0 -1
  286. package/src/components/ui/stories/theme.stories.tsx +0 -1
  287. package/src/components/ui/stories/toggle-group.stories.tsx +0 -1
  288. package/src/components/ui/stories/toggle.stories.tsx +0 -1
  289. package/src/components/ui/stories/tooltip.stories.tsx +0 -1
  290. package/src/components/ui/stories/typography.stories.tsx +5 -2
  291. package/src/components/ui/stories/use-mobile.stories.tsx +0 -1
  292. package/src/components/ui/stories/use-theme.stories.tsx +0 -1
  293. package/src/components/ui/tabs.tsx +1 -1
  294. package/src/components/ui/theme-toggle.tsx +1 -3
  295. package/src/components/ui/theme.tsx +6 -1
  296. package/src/components/ui/typography.tsx +29 -129
  297. package/src/index.ts +7 -0
  298. package/src/styles/globals.css +82 -94
  299. /package/{llm-docs → .llm}/accordion-content.llm.md +0 -0
  300. /package/{llm-docs → .llm}/accordion-item.llm.md +0 -0
  301. /package/{llm-docs → .llm}/accordion-trigger.llm.md +0 -0
  302. /package/{llm-docs → .llm}/accordion.llm.md +0 -0
  303. /package/{llm-docs → .llm}/alert-description.llm.md +0 -0
  304. /package/{llm-docs → .llm}/alert-dialog-action.llm.md +0 -0
  305. /package/{llm-docs → .llm}/alert-dialog-cancel.llm.md +0 -0
  306. /package/{llm-docs → .llm}/alert-dialog-content.llm.md +0 -0
  307. /package/{llm-docs → .llm}/alert-dialog-description.llm.md +0 -0
  308. /package/{llm-docs → .llm}/alert-dialog-footer.llm.md +0 -0
  309. /package/{llm-docs → .llm}/alert-dialog-header.llm.md +0 -0
  310. /package/{llm-docs → .llm}/alert-dialog-overlay.llm.md +0 -0
  311. /package/{llm-docs → .llm}/alert-dialog-portal.llm.md +0 -0
  312. /package/{llm-docs → .llm}/alert-dialog-title.llm.md +0 -0
  313. /package/{llm-docs → .llm}/alert-dialog-trigger.llm.md +0 -0
  314. /package/{llm-docs → .llm}/alert-dialog.llm.md +0 -0
  315. /package/{llm-docs → .llm}/alert-title.llm.md +0 -0
  316. /package/{llm-docs → .llm}/alert.llm.md +0 -0
  317. /package/{llm-docs → .llm}/aspect-ratio.llm.md +0 -0
  318. /package/{llm-docs → .llm}/avatar-fallback.llm.md +0 -0
  319. /package/{llm-docs → .llm}/avatar-image.llm.md +0 -0
  320. /package/{llm-docs → .llm}/avatar.llm.md +0 -0
  321. /package/{llm-docs → .llm}/breadcrumb-ellipsis.llm.md +0 -0
  322. /package/{llm-docs → .llm}/breadcrumb-item.llm.md +0 -0
  323. /package/{llm-docs → .llm}/breadcrumb-link.llm.md +0 -0
  324. /package/{llm-docs → .llm}/breadcrumb-list.llm.md +0 -0
  325. /package/{llm-docs → .llm}/breadcrumb-page.llm.md +0 -0
  326. /package/{llm-docs → .llm}/breadcrumb-separator.llm.md +0 -0
  327. /package/{llm-docs → .llm}/breadcrumb.llm.md +0 -0
  328. /package/{llm-docs → .llm}/calendar-day-button.llm.md +0 -0
  329. /package/{llm-docs → .llm}/calendar.llm.md +0 -0
  330. /package/{llm-docs → .llm}/card-action.llm.md +0 -0
  331. /package/{llm-docs → .llm}/card-content.llm.md +0 -0
  332. /package/{llm-docs → .llm}/card-description.llm.md +0 -0
  333. /package/{llm-docs → .llm}/card-footer.llm.md +0 -0
  334. /package/{llm-docs → .llm}/card-header.llm.md +0 -0
  335. /package/{llm-docs → .llm}/card-title.llm.md +0 -0
  336. /package/{llm-docs → .llm}/card.llm.md +0 -0
  337. /package/{llm-docs → .llm}/carousel-content.llm.md +0 -0
  338. /package/{llm-docs → .llm}/carousel-item.llm.md +0 -0
  339. /package/{llm-docs → .llm}/carousel-next.llm.md +0 -0
  340. /package/{llm-docs → .llm}/carousel-previous.llm.md +0 -0
  341. /package/{llm-docs → .llm}/carousel.llm.md +0 -0
  342. /package/{llm-docs → .llm}/chart-config.llm.md +0 -0
  343. /package/{llm-docs → .llm}/chart-container.llm.md +0 -0
  344. /package/{llm-docs → .llm}/chart-legend-content.llm.md +0 -0
  345. /package/{llm-docs → .llm}/chart-legend.llm.md +0 -0
  346. /package/{llm-docs → .llm}/chart-style.llm.md +0 -0
  347. /package/{llm-docs → .llm}/chart-tooltip-content.llm.md +0 -0
  348. /package/{llm-docs → .llm}/chart-tooltip.llm.md +0 -0
  349. /package/{llm-docs → .llm}/checkbox.llm.md +0 -0
  350. /package/{llm-docs → .llm}/cn.llm.md +0 -0
  351. /package/{llm-docs → .llm}/collapsible-content.llm.md +0 -0
  352. /package/{llm-docs → .llm}/collapsible-trigger.llm.md +0 -0
  353. /package/{llm-docs → .llm}/collapsible.llm.md +0 -0
  354. /package/{llm-docs → .llm}/combobox-option.llm.md +0 -0
  355. /package/{llm-docs → .llm}/combobox.llm.md +0 -0
  356. /package/{llm-docs → .llm}/command-dialog.llm.md +0 -0
  357. /package/{llm-docs → .llm}/command-empty.llm.md +0 -0
  358. /package/{llm-docs → .llm}/command-group.llm.md +0 -0
  359. /package/{llm-docs → .llm}/command-input.llm.md +0 -0
  360. /package/{llm-docs → .llm}/command-item.llm.md +0 -0
  361. /package/{llm-docs → .llm}/command-list.llm.md +0 -0
  362. /package/{llm-docs → .llm}/command-loading.llm.md +0 -0
  363. /package/{llm-docs → .llm}/command-separator.llm.md +0 -0
  364. /package/{llm-docs → .llm}/command-shortcut.llm.md +0 -0
  365. /package/{llm-docs → .llm}/command.llm.md +0 -0
  366. /package/{llm-docs → .llm}/container.llm.md +0 -0
  367. /package/{llm-docs → .llm}/context-menu-checkbox-item.llm.md +0 -0
  368. /package/{llm-docs → .llm}/context-menu-content.llm.md +0 -0
  369. /package/{llm-docs → .llm}/context-menu-group.llm.md +0 -0
  370. /package/{llm-docs → .llm}/context-menu-item.llm.md +0 -0
  371. /package/{llm-docs → .llm}/context-menu-label.llm.md +0 -0
  372. /package/{llm-docs → .llm}/context-menu-portal.llm.md +0 -0
  373. /package/{llm-docs → .llm}/context-menu-radio-group.llm.md +0 -0
  374. /package/{llm-docs → .llm}/context-menu-radio-item.llm.md +0 -0
  375. /package/{llm-docs → .llm}/context-menu-separator.llm.md +0 -0
  376. /package/{llm-docs → .llm}/context-menu-shortcut.llm.md +0 -0
  377. /package/{llm-docs → .llm}/context-menu-sub-content.llm.md +0 -0
  378. /package/{llm-docs → .llm}/context-menu-sub-trigger.llm.md +0 -0
  379. /package/{llm-docs → .llm}/context-menu-sub.llm.md +0 -0
  380. /package/{llm-docs → .llm}/context-menu-trigger.llm.md +0 -0
  381. /package/{llm-docs → .llm}/context-menu.llm.md +0 -0
  382. /package/{llm-docs → .llm}/date-picker.llm.md +0 -0
  383. /package/{llm-docs → .llm}/dialog-close.llm.md +0 -0
  384. /package/{llm-docs → .llm}/dialog-content.llm.md +0 -0
  385. /package/{llm-docs → .llm}/dialog-description.llm.md +0 -0
  386. /package/{llm-docs → .llm}/dialog-footer.llm.md +0 -0
  387. /package/{llm-docs → .llm}/dialog-header.llm.md +0 -0
  388. /package/{llm-docs → .llm}/dialog-overlay.llm.md +0 -0
  389. /package/{llm-docs → .llm}/dialog-portal.llm.md +0 -0
  390. /package/{llm-docs → .llm}/dialog-title.llm.md +0 -0
  391. /package/{llm-docs → .llm}/dialog-trigger.llm.md +0 -0
  392. /package/{llm-docs → .llm}/dialog.llm.md +0 -0
  393. /package/{llm-docs → .llm}/drawer-close.llm.md +0 -0
  394. /package/{llm-docs → .llm}/drawer-content.llm.md +0 -0
  395. /package/{llm-docs → .llm}/drawer-description.llm.md +0 -0
  396. /package/{llm-docs → .llm}/drawer-footer.llm.md +0 -0
  397. /package/{llm-docs → .llm}/drawer-header.llm.md +0 -0
  398. /package/{llm-docs → .llm}/drawer-overlay.llm.md +0 -0
  399. /package/{llm-docs → .llm}/drawer-portal.llm.md +0 -0
  400. /package/{llm-docs → .llm}/drawer-title.llm.md +0 -0
  401. /package/{llm-docs → .llm}/drawer-trigger.llm.md +0 -0
  402. /package/{llm-docs → .llm}/drawer.llm.md +0 -0
  403. /package/{llm-docs → .llm}/dropdown-menu-checkbox-item.llm.md +0 -0
  404. /package/{llm-docs → .llm}/dropdown-menu-content.llm.md +0 -0
  405. /package/{llm-docs → .llm}/dropdown-menu-group.llm.md +0 -0
  406. /package/{llm-docs → .llm}/dropdown-menu-item.llm.md +0 -0
  407. /package/{llm-docs → .llm}/dropdown-menu-label.llm.md +0 -0
  408. /package/{llm-docs → .llm}/dropdown-menu-portal.llm.md +0 -0
  409. /package/{llm-docs → .llm}/dropdown-menu-radio-group.llm.md +0 -0
  410. /package/{llm-docs → .llm}/dropdown-menu-radio-item.llm.md +0 -0
  411. /package/{llm-docs → .llm}/dropdown-menu-separator.llm.md +0 -0
  412. /package/{llm-docs → .llm}/dropdown-menu-shortcut.llm.md +0 -0
  413. /package/{llm-docs → .llm}/dropdown-menu-sub-content.llm.md +0 -0
  414. /package/{llm-docs → .llm}/dropdown-menu-sub-trigger.llm.md +0 -0
  415. /package/{llm-docs → .llm}/dropdown-menu-sub.llm.md +0 -0
  416. /package/{llm-docs → .llm}/dropdown-menu-trigger.llm.md +0 -0
  417. /package/{llm-docs → .llm}/dropdown-menu.llm.md +0 -0
  418. /package/{llm-docs → .llm}/empty-state.llm.md +0 -0
  419. /package/{llm-docs → .llm}/hover-card-content.llm.md +0 -0
  420. /package/{llm-docs → .llm}/hover-card-trigger.llm.md +0 -0
  421. /package/{llm-docs → .llm}/hover-card.llm.md +0 -0
  422. /package/{llm-docs → .llm}/input.llm.md +0 -0
  423. /package/{llm-docs → .llm}/label.llm.md +0 -0
  424. /package/{llm-docs → .llm}/menubar-checkbox-item.llm.md +0 -0
  425. /package/{llm-docs → .llm}/menubar-content.llm.md +0 -0
  426. /package/{llm-docs → .llm}/menubar-group.llm.md +0 -0
  427. /package/{llm-docs → .llm}/menubar-item.llm.md +0 -0
  428. /package/{llm-docs → .llm}/menubar-label.llm.md +0 -0
  429. /package/{llm-docs → .llm}/menubar-menu.llm.md +0 -0
  430. /package/{llm-docs → .llm}/menubar-portal.llm.md +0 -0
  431. /package/{llm-docs → .llm}/menubar-radio-group.llm.md +0 -0
  432. /package/{llm-docs → .llm}/menubar-radio-item.llm.md +0 -0
  433. /package/{llm-docs → .llm}/menubar-separator.llm.md +0 -0
  434. /package/{llm-docs → .llm}/menubar-shortcut.llm.md +0 -0
  435. /package/{llm-docs → .llm}/menubar-sub-content.llm.md +0 -0
  436. /package/{llm-docs → .llm}/menubar-sub-trigger.llm.md +0 -0
  437. /package/{llm-docs → .llm}/menubar-sub.llm.md +0 -0
  438. /package/{llm-docs → .llm}/menubar-trigger.llm.md +0 -0
  439. /package/{llm-docs → .llm}/menubar.llm.md +0 -0
  440. /package/{llm-docs → .llm}/navigation-menu-content.llm.md +0 -0
  441. /package/{llm-docs → .llm}/navigation-menu-indicator.llm.md +0 -0
  442. /package/{llm-docs → .llm}/navigation-menu-item.llm.md +0 -0
  443. /package/{llm-docs → .llm}/navigation-menu-link.llm.md +0 -0
  444. /package/{llm-docs → .llm}/navigation-menu-list.llm.md +0 -0
  445. /package/{llm-docs → .llm}/navigation-menu-trigger-style.llm.md +0 -0
  446. /package/{llm-docs → .llm}/navigation-menu-trigger.llm.md +0 -0
  447. /package/{llm-docs → .llm}/navigation-menu-viewport.llm.md +0 -0
  448. /package/{llm-docs → .llm}/navigation-menu.llm.md +0 -0
  449. /package/{llm-docs → .llm}/pagination-content.llm.md +0 -0
  450. /package/{llm-docs → .llm}/pagination-ellipsis.llm.md +0 -0
  451. /package/{llm-docs → .llm}/pagination-item.llm.md +0 -0
  452. /package/{llm-docs → .llm}/pagination-link.llm.md +0 -0
  453. /package/{llm-docs → .llm}/pagination-next.llm.md +0 -0
  454. /package/{llm-docs → .llm}/pagination-previous.llm.md +0 -0
  455. /package/{llm-docs → .llm}/pagination.llm.md +0 -0
  456. /package/{llm-docs → .llm}/popover-anchor.llm.md +0 -0
  457. /package/{llm-docs → .llm}/popover-content.llm.md +0 -0
  458. /package/{llm-docs → .llm}/popover-trigger.llm.md +0 -0
  459. /package/{llm-docs → .llm}/popover.llm.md +0 -0
  460. /package/{llm-docs → .llm}/progress.llm.md +0 -0
  461. /package/{llm-docs → .llm}/radio-group-indicator.llm.md +0 -0
  462. /package/{llm-docs → .llm}/radio-group-item.llm.md +0 -0
  463. /package/{llm-docs → .llm}/radio-group.llm.md +0 -0
  464. /package/{llm-docs → .llm}/resizable-handle.llm.md +0 -0
  465. /package/{llm-docs → .llm}/resizable-panel-group.llm.md +0 -0
  466. /package/{llm-docs → .llm}/resizable-panel.llm.md +0 -0
  467. /package/{llm-docs → .llm}/scroll-area-corner.llm.md +0 -0
  468. /package/{llm-docs → .llm}/scroll-area-thumb.llm.md +0 -0
  469. /package/{llm-docs → .llm}/scroll-area-viewport.llm.md +0 -0
  470. /package/{llm-docs → .llm}/scroll-area.llm.md +0 -0
  471. /package/{llm-docs → .llm}/scroll-bar.llm.md +0 -0
  472. /package/{llm-docs → .llm}/select-content.llm.md +0 -0
  473. /package/{llm-docs → .llm}/select-group.llm.md +0 -0
  474. /package/{llm-docs → .llm}/select-item.llm.md +0 -0
  475. /package/{llm-docs → .llm}/select-label.llm.md +0 -0
  476. /package/{llm-docs → .llm}/select-scroll-down-button.llm.md +0 -0
  477. /package/{llm-docs → .llm}/select-scroll-up-button.llm.md +0 -0
  478. /package/{llm-docs → .llm}/select-separator.llm.md +0 -0
  479. /package/{llm-docs → .llm}/select-trigger.llm.md +0 -0
  480. /package/{llm-docs → .llm}/select-value.llm.md +0 -0
  481. /package/{llm-docs → .llm}/select.llm.md +0 -0
  482. /package/{llm-docs → .llm}/separator.llm.md +0 -0
  483. /package/{llm-docs → .llm}/sheet-close.llm.md +0 -0
  484. /package/{llm-docs → .llm}/sheet-content.llm.md +0 -0
  485. /package/{llm-docs → .llm}/sheet-description.llm.md +0 -0
  486. /package/{llm-docs → .llm}/sheet-footer.llm.md +0 -0
  487. /package/{llm-docs → .llm}/sheet-header.llm.md +0 -0
  488. /package/{llm-docs → .llm}/sheet-title.llm.md +0 -0
  489. /package/{llm-docs → .llm}/sheet-trigger.llm.md +0 -0
  490. /package/{llm-docs → .llm}/sheet.llm.md +0 -0
  491. /package/{llm-docs → .llm}/sidebar-content.llm.md +0 -0
  492. /package/{llm-docs → .llm}/sidebar-footer.llm.md +0 -0
  493. /package/{llm-docs → .llm}/sidebar-group-action.llm.md +0 -0
  494. /package/{llm-docs → .llm}/sidebar-group-content.llm.md +0 -0
  495. /package/{llm-docs → .llm}/sidebar-group-label.llm.md +0 -0
  496. /package/{llm-docs → .llm}/sidebar-group.llm.md +0 -0
  497. /package/{llm-docs → .llm}/sidebar-header.llm.md +0 -0
  498. /package/{llm-docs → .llm}/sidebar-input.llm.md +0 -0
  499. /package/{llm-docs → .llm}/sidebar-inset.llm.md +0 -0
  500. /package/{llm-docs → .llm}/sidebar-menu-action.llm.md +0 -0
  501. /package/{llm-docs → .llm}/sidebar-menu-badge.llm.md +0 -0
  502. /package/{llm-docs → .llm}/sidebar-menu-button.llm.md +0 -0
  503. /package/{llm-docs → .llm}/sidebar-menu-item.llm.md +0 -0
  504. /package/{llm-docs → .llm}/sidebar-menu-skeleton.llm.md +0 -0
  505. /package/{llm-docs → .llm}/sidebar-menu-sub-button.llm.md +0 -0
  506. /package/{llm-docs → .llm}/sidebar-menu-sub-item.llm.md +0 -0
  507. /package/{llm-docs → .llm}/sidebar-menu-sub.llm.md +0 -0
  508. /package/{llm-docs → .llm}/sidebar-menu.llm.md +0 -0
  509. /package/{llm-docs → .llm}/sidebar-provider.llm.md +0 -0
  510. /package/{llm-docs → .llm}/sidebar-rail.llm.md +0 -0
  511. /package/{llm-docs → .llm}/sidebar-separator.llm.md +0 -0
  512. /package/{llm-docs → .llm}/sidebar-trigger.llm.md +0 -0
  513. /package/{llm-docs → .llm}/sidebar.llm.md +0 -0
  514. /package/{llm-docs → .llm}/skeleton.llm.md +0 -0
  515. /package/{llm-docs → .llm}/slider.llm.md +0 -0
  516. /package/{llm-docs → .llm}/stack.llm.md +0 -0
  517. /package/{llm-docs → .llm}/switch.llm.md +0 -0
  518. /package/{llm-docs → .llm}/table-body.llm.md +0 -0
  519. /package/{llm-docs → .llm}/table-caption.llm.md +0 -0
  520. /package/{llm-docs → .llm}/table-cell.llm.md +0 -0
  521. /package/{llm-docs → .llm}/table-footer.llm.md +0 -0
  522. /package/{llm-docs → .llm}/table-head.llm.md +0 -0
  523. /package/{llm-docs → .llm}/table-header.llm.md +0 -0
  524. /package/{llm-docs → .llm}/table-row.llm.md +0 -0
  525. /package/{llm-docs → .llm}/table.llm.md +0 -0
  526. /package/{llm-docs → .llm}/tabs-content.llm.md +0 -0
  527. /package/{llm-docs → .llm}/tabs-list.llm.md +0 -0
  528. /package/{llm-docs → .llm}/tabs-trigger.llm.md +0 -0
  529. /package/{llm-docs → .llm}/tabs.llm.md +0 -0
  530. /package/{llm-docs → .llm}/text-field.llm.md +0 -0
  531. /package/{llm-docs → .llm}/textarea.llm.md +0 -0
  532. /package/{llm-docs → .llm}/theme-preference.llm.md +0 -0
  533. /package/{llm-docs → .llm}/theme-toggle.llm.md +0 -0
  534. /package/{llm-docs → .llm}/theme.llm.md +0 -0
  535. /package/{llm-docs → .llm}/toast.llm.md +0 -0
  536. /package/{llm-docs → .llm}/toaster.llm.md +0 -0
  537. /package/{llm-docs → .llm}/toggle-group-item.llm.md +0 -0
  538. /package/{llm-docs → .llm}/toggle-group.llm.md +0 -0
  539. /package/{llm-docs → .llm}/toggle.llm.md +0 -0
  540. /package/{llm-docs → .llm}/tooltip-content.llm.md +0 -0
  541. /package/{llm-docs → .llm}/tooltip-provider.llm.md +0 -0
  542. /package/{llm-docs → .llm}/tooltip-trigger.llm.md +0 -0
  543. /package/{llm-docs → .llm}/tooltip.llm.md +0 -0
  544. /package/{llm-docs → .llm}/use-carousel.llm.md +0 -0
  545. /package/{llm-docs → .llm}/use-command-state.llm.md +0 -0
  546. /package/{llm-docs → .llm}/use-is-mobile.llm.md +0 -0
  547. /package/{llm-docs → .llm}/use-sidebar.llm.md +0 -0
@@ -32,26 +32,12 @@ import { A } from '@neynar/ui';
32
32
  ## Component Props
33
33
 
34
34
  ### variant
35
- - **Type**: `| "heading"
36
- | "subheading"
37
- | "body"
38
- | "bodyEmphasized"
39
- | "details"
40
- | "field"
41
- | "code"
42
- | "microcopy"
43
- | "tableCell"
44
- | "tableHeader"`
35
+ - **Type**: `TypographyVariant`
45
36
  - **Required**: No
46
37
  - **Description**: No description available
47
38
 
48
39
  ### color
49
- - **Type**: `| "default"
50
- | "muted"
51
- | "accent"
52
- | "destructive"
53
- | "success"
54
- | "warning"`
40
+ - **Type**: `TypographyColor`
55
41
  - **Required**: No
56
42
  - **Description**: No description available
57
43
 
@@ -7,35 +7,41 @@ Badge - Versatile status indicator component for labels, counts, and notificatio
7
7
  ## JSX Usage
8
8
 
9
9
  ```jsx
10
- import { Badge } from "@neynar/ui";
10
+ import { Badge } from '@neynar/ui';
11
11
 
12
- <Badge variant={value} className="value" asChild={true}>
12
+ <Badge
13
+ variant={value}
14
+ className="value"
15
+ asChild={true}
16
+ >
13
17
  {/* Your content here */}
14
- </Badge>;
18
+ </Badge>
15
19
  ```
16
20
 
17
21
  ## Component Props
18
22
 
19
23
  ### variant
20
-
21
- - **Type**: `"default" | "secondary" | "destructive" | "success" | "warning" | "info" | "outline"`
24
+ - **Type**: `| "default"
25
+ | "secondary"
26
+ | "destructive"
27
+ | "success"
28
+ | "warning"
29
+ | "info"
30
+ | "outline"`
22
31
  - **Required**: No
23
32
  - **Description**: No description available
24
33
 
25
34
  ### className
26
-
27
35
  - **Type**: `string`
28
36
  - **Required**: No
29
37
  - **Description**: No description available
30
38
 
31
39
  ### children
32
-
33
40
  - **Type**: `React.ReactNode`
34
41
  - **Required**: No
35
42
  - **Description**: No description available
36
43
 
37
44
  ### asChild
38
-
39
45
  - **Type**: `boolean`
40
46
  - **Required**: No
41
47
  - **Description**: No description available
@@ -43,7 +49,6 @@ import { Badge } from "@neynar/ui";
43
49
  ## Examples
44
50
 
45
51
  ### Example 1
46
-
47
52
  ```tsx
48
53
  // Basic status badges
49
54
  <Badge>New</Badge>
@@ -54,9 +59,7 @@ import { Badge } from "@neynar/ui";
54
59
  <Badge variant="info">Info</Badge>
55
60
  <Badge variant="outline">Pending</Badge>
56
61
  ```
57
-
58
62
  ### Example 2
59
-
60
63
  ```tsx
61
64
  // Badge with icon content
62
65
  import { Check, AlertTriangle } from "lucide-react";
@@ -69,9 +72,7 @@ import { Check, AlertTriangle } from "lucide-react";
69
72
  Failed
70
73
  </Badge>
71
74
  ```
72
-
73
75
  ### Example 3
74
-
75
76
  ```tsx
76
77
  // Notification count badge
77
78
  <div className="relative inline-block">
@@ -81,9 +82,7 @@ import { Check, AlertTriangle } from "lucide-react";
81
82
  </Badge>
82
83
  </div>
83
84
  ```
84
-
85
85
  ### Example 4
86
-
87
86
  ```tsx
88
87
  // Interactive badge as link using asChild
89
88
  import Link from "next/link";
@@ -91,11 +90,9 @@ import Link from "next/link";
91
90
  <Link href="/notifications" className="cursor-pointer">
92
91
  3 new messages
93
92
  </Link>
94
- </Badge>;
93
+ </Badge>
95
94
  ```
96
-
97
95
  ### Example 5
98
-
99
96
  ```tsx
100
97
  // Interactive badge as button
101
98
  <Badge asChild>
@@ -104,9 +101,7 @@ import Link from "next/link";
104
101
  </button>
105
102
  </Badge>
106
103
  ```
107
-
108
104
  ### Example 6
109
-
110
105
  ```tsx
111
106
  // Removable tag badge with close button
112
107
  <Badge className="pr-1 gap-1">
@@ -119,4 +114,4 @@ import Link from "next/link";
119
114
  <X className="h-3 w-3" />
120
115
  </button>
121
116
  </Badge>
122
- ```
117
+ ```
@@ -30,12 +30,7 @@ import { Blockquote } from '@neynar/ui';
30
30
  ## Component Props
31
31
 
32
32
  ### color
33
- - **Type**: `| "default"
34
- | "muted"
35
- | "accent"
36
- | "destructive"
37
- | "success"
38
- | "warning"`
33
+ - **Type**: `TypographyColor`
39
34
  - **Required**: No
40
35
  - **Description**: No description available
41
36
 
@@ -0,0 +1,53 @@
1
+ # ButtonGroupSeparator
2
+
3
+ **Type**: component
4
+
5
+ ButtonGroupSeparator - Visual divider for buttons within a button group A specialized separator component that creates visual divisions between buttons or elements within a ButtonGroup. Built on the Separator primitive with automatic sizing and styling to match button group layouts. The separator orientation typically matches the button group orientation (vertical separators in horizontal groups, horizontal separators in vertical groups). Key behaviors: - Self-stretches to match parent height/width automatically - Uses input border color for subtle visual division - Removes margins for seamless integration - Decorative by default (hidden from screen readers) Note: Separators are typically unnecessary for outline variant buttons since they already have visible borders. Use separators with ghost, default, or other variants where the visual separation is needed.
6
+
7
+ ## JSX Usage
8
+
9
+ ```jsx
10
+ import { ButtonGroupSeparator } from '@neynar/ui';
11
+
12
+ <ButtonGroupSeparator
13
+ orientation={value}
14
+ className="value"
15
+ decorative={true}
16
+ />
17
+ ```
18
+
19
+ ## Component Props
20
+
21
+ ### orientation
22
+ - **Type**: `"horizontal" | "vertical"`
23
+ - **Required**: No
24
+ - **Description**: No description available
25
+
26
+ ### className
27
+ - **Type**: `string`
28
+ - **Required**: No
29
+ - **Description**: No description available
30
+
31
+ ### decorative
32
+ - **Type**: `boolean`
33
+ - **Required**: No
34
+ - **Description**: No description available
35
+
36
+ ## Examples
37
+
38
+ ### Example 1
39
+ ```tsx
40
+ // Horizontal button group with vertical separators
41
+ import { Button, ButtonGroup, ButtonGroupSeparator } from "
42
+ ### Example 2
43
+ ```tsx
44
+ // Vertical button group with horizontal separators
45
+ import { Button, ButtonGroup, ButtonGroupSeparator } from "
46
+ ### Example 3
47
+ ```tsx
48
+ // Separating button group sections in toolbar
49
+ import { Button, ButtonGroup, ButtonGroupSeparator } from "
50
+ ### Example 4
51
+ ```tsx
52
+ // Separator with custom height for specific layouts
53
+ import { Button, ButtonGroup, ButtonGroupSeparator } from "
@@ -0,0 +1,56 @@
1
+ # ButtonGroupText
2
+
3
+ **Type**: component
4
+
5
+ ButtonGroupText - Text display element for labels and information within button groups A styled text container designed to display non-interactive content within button groups, such as labels, pagination information, or contextual text. Maintains visual consistency with grouped buttons through matching height, border, and styling while being clearly non-interactive with a muted background. Common use cases: - Pagination counters ("Page 1 of 10") - Section labels ("Actions:", "Tools:") - Status indicators or counts - Contextual information between action buttons The component automatically: - Matches button group styling with appropriate borders and spacing - Sizes icons consistently at 16px (size-4) - Maintains visual hierarchy with muted background - Prevents pointer events on icons to avoid interaction confusion
6
+
7
+ ## JSX Usage
8
+
9
+ ```jsx
10
+ import { ButtonGroupText } from '@neynar/ui';
11
+
12
+ <ButtonGroupText
13
+ asChild={true}
14
+ className="value"
15
+ >
16
+ {/* Your content here */}
17
+ </ButtonGroupText>
18
+ ```
19
+
20
+ ## Component Props
21
+
22
+ ### asChild
23
+ - **Type**: `boolean`
24
+ - **Required**: No
25
+ - **Description**: No description available
26
+
27
+ ### className
28
+ - **Type**: `string`
29
+ - **Required**: No
30
+ - **Description**: No description available
31
+
32
+ ### children
33
+ - **Type**: `React.ReactNode`
34
+ - **Required**: No
35
+ - **Description**: No description available
36
+
37
+ ## Examples
38
+
39
+ ### Example 1
40
+ ```tsx
41
+ // Pagination with page count display
42
+ import { Button, ButtonGroup, ButtonGroupText } from "
43
+ ### Example 2
44
+ ```tsx
45
+ // Section label with action buttons
46
+ import { Copy, Download } from "lucide-react"
47
+ import { Button, ButtonGroup, ButtonGroupText, ButtonGroupSeparator } from "
48
+ ### Example 3
49
+ ```tsx
50
+ // Status indicator with icon
51
+ import { CheckCircle2 } from "lucide-react"
52
+ import { ButtonGroup, ButtonGroupText } from "
53
+ ### Example 4
54
+ ```tsx
55
+ // Custom composition with asChild
56
+ import { ButtonGroup, ButtonGroupText } from "
@@ -0,0 +1,81 @@
1
+ # ButtonGroup
2
+
3
+ **Type**: component
4
+
5
+ ButtonGroup - Container for grouping related buttons with consistent styling A flexible container component that groups related action buttons together with seamless visual connection. Built for toolbars, pagination controls, action menus, and navigation interfaces. Supports both horizontal and vertical layouts with intelligent border and border-radius management to create cohesive button groups. The component automatically handles: - Border collapsing between adjacent buttons for seamless appearance - Focus state z-index management to ensure proper focus ring visibility - Integration with Button, Input, and Select components - Nested button group support for complex layouts - Responsive sizing that adapts to button content
6
+
7
+ ## JSX Usage
8
+
9
+ ```jsx
10
+ import { ButtonGroup } from '@neynar/ui';
11
+
12
+ <ButtonGroup
13
+ orientation={value}
14
+ className="value"
15
+ "aria-label"="value"
16
+ "aria-labelledby"="value"
17
+ "aria-describedby"="value"
18
+ >
19
+ {/* Your content here */}
20
+ </ButtonGroup>
21
+ ```
22
+
23
+ ## Component Props
24
+
25
+ ### orientation
26
+ - **Type**: `"horizontal" | "vertical"`
27
+ - **Required**: No
28
+ - **Description**: No description available
29
+
30
+ ### className
31
+ - **Type**: `string`
32
+ - **Required**: No
33
+ - **Description**: No description available
34
+
35
+ ### children
36
+ - **Type**: `React.ReactNode`
37
+ - **Required**: No
38
+ - **Description**: No description available
39
+
40
+ ### "aria-label"
41
+ - **Type**: `string`
42
+ - **Required**: No
43
+ - **Description**: No description available
44
+
45
+ ### "aria-labelledby"
46
+ - **Type**: `string`
47
+ - **Required**: No
48
+ - **Description**: No description available
49
+
50
+ ### "aria-describedby"
51
+ - **Type**: `string`
52
+ - **Required**: No
53
+ - **Description**: No description available
54
+
55
+ ## Examples
56
+
57
+ ### Example 1
58
+ ```tsx
59
+ // Basic horizontal button group (most common usage)
60
+ import { Button, ButtonGroup } from "
61
+ ### Example 2
62
+ ```tsx
63
+ // Vertical button group for navigation menus
64
+ import { Button, ButtonGroup } from "
65
+ ### Example 3
66
+ ```tsx
67
+ // Button group with icons and separators
68
+ import { Copy, Download, Share2 } from "lucide-react"
69
+ import { Button, ButtonGroup, ButtonGroupSeparator } from "
70
+ ### Example 4
71
+ ```tsx
72
+ // Pagination controls with text element
73
+ import { Button, ButtonGroup, ButtonGroupText } from "
74
+ ### Example 5
75
+ ```tsx
76
+ // Toolbar with multiple grouped sections
77
+ import { Button, ButtonGroup, ButtonGroupSeparator } from "
78
+ ### Example 6
79
+ ```tsx
80
+ // Different button sizes in groups
81
+ import { Button, ButtonGroup } from "
@@ -126,7 +126,7 @@ import { Button } from '@neynar/ui';
126
126
  - **Description**: No description available
127
127
 
128
128
  ### "aria-expanded"
129
- - **Type**: `React.AriaAttributes['aria-expanded']`
129
+ - **Type**: `React.AriaAttributes["aria-expanded"]`
130
130
  - **Required**: No
131
131
  - **Description**: No description available
132
132
 
@@ -30,12 +30,7 @@ import { Code } from '@neynar/ui';
30
30
  ## Component Props
31
31
 
32
32
  ### color
33
- - **Type**: `| "default"
34
- | "muted"
35
- | "accent"
36
- | "destructive"
37
- | "success"
38
- | "warning"`
33
+ - **Type**: `TypographyColor`
39
34
  - **Required**: No
40
35
  - **Description**: No description available
41
36
 
@@ -0,0 +1,103 @@
1
+ # EmptyContent
2
+
3
+ **Type**: component
4
+
5
+ EmptyContent - Additional content area for buttons, actions, or secondary information A flexible container for additional content within an empty state, typically used for action buttons, links, or secondary information. Provides consistent width constraints, gap spacing, and alignment for optimal layout of calls-to-action and supplementary content. ## Features - Maximum width of 24rem (384px) for visual balance - Minimum width of 0 to prevent overflow issues - Flex column layout with 1rem (16px) gap between children - Center-aligned items for button grouping - Small text size (text-sm) for secondary content - Text balance for improved multi-line typography - Full width within constraints (w-full) ## Common Use Cases - Primary and secondary action buttons - Button groups with multiple actions - Secondary links or navigation - Additional context or instructions - Step indicators or progress information ## Layout Patterns - Single button: automatically centered - Multiple buttons: stack vertically with gap spacing - Button groups: use flex-row with gap within content - Text content: maintains readability with text-balance
6
+
7
+ ## JSX Usage
8
+
9
+ ```jsx
10
+ import { EmptyContent } from '@neynar/ui';
11
+
12
+ <EmptyContent
13
+ className="value"
14
+ >
15
+ {/* Your content here */}
16
+ </EmptyContent>
17
+ ```
18
+
19
+ ## Component Props
20
+
21
+ ### className
22
+ - **Type**: `string`
23
+ - **Required**: No
24
+ - **Description**: No description available
25
+
26
+ ### children
27
+ - **Type**: `React.ReactNode`
28
+ - **Required**: No
29
+ - **Description**: No description available
30
+
31
+ ## Examples
32
+
33
+ ### Example 1
34
+ ```tsx
35
+ // Single action button
36
+ import { Button } from './button';
37
+ <EmptyContent>
38
+ <Button onClick={handleCreate}>Create new project</Button>
39
+ </EmptyContent>
40
+ ```
41
+ ### Example 2
42
+ ```tsx
43
+ // Multiple vertically stacked buttons
44
+ import { Button } from './button';
45
+ <EmptyContent>
46
+ <Button onClick={handleCreate}>Create project</Button>
47
+ <Button variant="outline" onClick={handleImport}>Import project</Button>
48
+ </EmptyContent>
49
+ ```
50
+ ### Example 3
51
+ ```tsx
52
+ // Horizontal button group
53
+ import { Button } from './button';
54
+ import { Plus, Upload } from 'lucide-react';
55
+ <EmptyContent>
56
+ <div className="flex gap-2">
57
+ <Button onClick={handleCreate}>
58
+ <Plus className="w-4 h-4 mr-2" />
59
+ Create
60
+ </Button>
61
+ <Button variant="outline" onClick={handleUpload}>
62
+ <Upload className="w-4 h-4 mr-2" />
63
+ Upload
64
+ </Button>
65
+ </div>
66
+ </EmptyContent>
67
+ ```
68
+ ### Example 4
69
+ ```tsx
70
+ // Button with additional text
71
+ import { Button } from './button';
72
+ <EmptyContent>
73
+ <Button onClick={handleInvite}>Invite team members</Button>
74
+ <p className="text-xs text-muted-foreground">
75
+ or <a href="/import" className="underline">import from CSV</a>
76
+ </p>
77
+ </EmptyContent>
78
+ ```
79
+ ### Example 5
80
+ ```tsx
81
+ // Secondary links only
82
+ <EmptyContent>
83
+ <a href="/docs" className="text-sm underline underline-offset-4">
84
+ View documentation
85
+ </a>
86
+ <a href="/examples" className="text-sm underline underline-offset-4">
87
+ Browse examples
88
+ </a>
89
+ </EmptyContent>
90
+ ```
91
+ ### Example 6
92
+ ```tsx
93
+ // Custom styled content area
94
+ import { Button } from './button';
95
+ <EmptyContent className="max-w-md gap-2">
96
+ <Button className="w-full" onClick={handleAction}>
97
+ Full width button
98
+ </Button>
99
+ <p className="text-center">
100
+ Tighter gap and wider max width
101
+ </p>
102
+ </EmptyContent>
103
+ ```
@@ -0,0 +1,70 @@
1
+ # EmptyDescription
2
+
3
+ **Type**: component
4
+
5
+ EmptyDescription - Descriptive text with link styling for empty states Provides supplementary information, guidance, or context below the empty state title. Automatically styles inline links with underlines and hover effects, making it easy to include helpful links or documentation references within the description text. ## Features - Muted foreground color for visual hierarchy below title - Small text size (text-sm) with relaxed line height for readability - Automatic link styling with underlines and offset - Hover state for links changes color to primary - Supports rich content including paragraphs and inline elements - Center-aligned text within empty state layout ## Link Styling - Default: underline with 4px offset, muted-foreground color - Hover: primary color while maintaining underline - Provides clear visual affordance for interactive elements ## Best Practices - Provide helpful context or next steps - Keep descriptions concise (1-2 sentences) - Include actionable guidance when possible - Use links to documentation, help, or related features - Avoid overwhelming users with too much information
6
+
7
+ ## JSX Usage
8
+
9
+ ```jsx
10
+ import { EmptyDescription } from '@neynar/ui';
11
+
12
+ <EmptyDescription
13
+ className="value"
14
+ >
15
+ {/* Your content here */}
16
+ </EmptyDescription>
17
+ ```
18
+
19
+ ## Component Props
20
+
21
+ ### className
22
+ - **Type**: `string`
23
+ - **Required**: No
24
+ - **Description**: No description available
25
+
26
+ ### children
27
+ - **Type**: `React.ReactNode`
28
+ - **Required**: No
29
+ - **Description**: No description available
30
+
31
+ ## Examples
32
+
33
+ ### Example 1
34
+ ```tsx
35
+ // Simple description text
36
+ <EmptyDescription>
37
+ Try adjusting your search or filters to find what you're looking for.
38
+ </EmptyDescription>
39
+ ```
40
+ ### Example 2
41
+ ```tsx
42
+ // Description with inline link
43
+ <EmptyDescription>
44
+ Get started by <a href="/docs/setup">reading our setup guide</a> or
45
+ watching the tutorial video.
46
+ </EmptyDescription>
47
+ ```
48
+ ### Example 3
49
+ ```tsx
50
+ // Multi-line description
51
+ <EmptyDescription>
52
+ Your inbox is empty. New messages and notifications will appear here
53
+ when you receive them.
54
+ </EmptyDescription>
55
+ ```
56
+ ### Example 4
57
+ ```tsx
58
+ // Description with multiple links
59
+ <EmptyDescription>
60
+ Need help? Check out our <a href="/docs">documentation</a> or
61
+ <a href="/support">contact support</a>.
62
+ </EmptyDescription>
63
+ ```
64
+ ### Example 5
65
+ ```tsx
66
+ // Custom styled description
67
+ <EmptyDescription className="text-base text-foreground max-w-md">
68
+ Override default styling for custom appearance and width.
69
+ </EmptyDescription>
70
+ ```
@@ -0,0 +1,64 @@
1
+ # EmptyHeader
2
+
3
+ **Type**: component
4
+
5
+ EmptyHeader - Groups media and title elements with constrained width A container component that groups the EmptyMedia and EmptyTitle elements together, applying a maximum width constraint (max-w-sm / 24rem) for optimal visual hierarchy and readability. Typically used to create a cohesive header unit within the empty state. ## Features - Maximum width of 24rem (384px) for visual balance - Flex column layout with 0.5rem (8px) gap between children - Center-aligned items and text - Maintains semantic grouping for screen readers ## Usage Patterns - Group EmptyMedia and EmptyTitle together - Create visual separation from description and content - Constrain width of title for better readability - Optional - components can be used without header grouping
6
+
7
+ ## JSX Usage
8
+
9
+ ```jsx
10
+ import { EmptyHeader } from '@neynar/ui';
11
+
12
+ <EmptyHeader
13
+ className="value"
14
+ >
15
+ {/* Your content here */}
16
+ </EmptyHeader>
17
+ ```
18
+
19
+ ## Component Props
20
+
21
+ ### className
22
+ - **Type**: `string`
23
+ - **Required**: No
24
+ - **Description**: No description available
25
+
26
+ ### children
27
+ - **Type**: `React.ReactNode`
28
+ - **Required**: No
29
+ - **Description**: No description available
30
+
31
+ ## Examples
32
+
33
+ ### Example 1
34
+ ```tsx
35
+ // Standard header with icon and title
36
+ import { Package } from 'lucide-react';
37
+ <EmptyHeader>
38
+ <EmptyMedia variant="icon">
39
+ <Package />
40
+ </EmptyMedia>
41
+ <EmptyTitle>No packages found</EmptyTitle>
42
+ </EmptyHeader>
43
+ ```
44
+ ### Example 2
45
+ ```tsx
46
+ // Header with large illustration
47
+ import { Rocket } from 'lucide-react';
48
+ <EmptyHeader>
49
+ <EmptyMedia>
50
+ <Rocket className="w-20 h-20 text-primary" />
51
+ </EmptyMedia>
52
+ <EmptyTitle>Ready to launch!</EmptyTitle>
53
+ </EmptyHeader>
54
+ ```
55
+ ### Example 3
56
+ ```tsx
57
+ // Custom styled header
58
+ <EmptyHeader className="max-w-md gap-4">
59
+ <EmptyMedia variant="icon">
60
+ <Star />
61
+ </EmptyMedia>
62
+ <EmptyTitle>Custom spacing and width</EmptyTitle>
63
+ </EmptyHeader>
64
+ ```