@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
@@ -1,41 +0,0 @@
1
- # AlertDialogPortal
2
-
3
- **Type**: component
4
-
5
- Portal component for rendering dialog outside normal DOM tree Renders the alert dialog content into a portal, typically at the end of the document body. This ensures the dialog appears above other content and is properly accessible. Usually not used directly - AlertDialogContent includes this automatically.
6
-
7
- ## JSX Usage
8
-
9
- ```jsx
10
- import { AlertDialogPortal } from '@neynar/ui';
11
-
12
- <AlertDialogPortal
13
- forceMount={true}
14
- container={value}
15
- />
16
- ```
17
-
18
- ## Component Props
19
-
20
- ### forceMount
21
- - **Type**: `boolean`
22
- - **Required**: No
23
- - **Description**: Force mount the component even when dialog is closed
24
-
25
- ### container
26
- - **Type**: `HTMLElement`
27
- - **Required**: No
28
- - **Description**: Container element to portal into (defaults to document.body)
29
-
30
- ## Examples
31
-
32
- ```tsx
33
- // Custom portal container
34
- <AlertDialogPortal container={customContainer}>
35
- <AlertDialogOverlay />
36
- <AlertDialogPrimitive.Content>
37
- // content
38
- </AlertDialogPrimitive.Content>
39
- </AlertDialogPortal>
40
- ```
41
- /
@@ -1,46 +0,0 @@
1
- # AlertDialogTitle
2
-
3
- **Type**: component
4
-
5
- Title heading of the alert dialog The main heading that describes the alert or action being confirmed. Automatically provides proper ARIA labeling for screen readers via aria-labelledby. Should be concise and clearly state what the dialog is asking.
6
-
7
- ## JSX Usage
8
-
9
- ```jsx
10
- import { AlertDialogTitle } from '@neynar/ui';
11
-
12
- <AlertDialogTitle
13
- asChild={true}
14
- className="value"
15
- />
16
- ```
17
-
18
- ## Component Props
19
-
20
- ### asChild
21
- - **Type**: `boolean`
22
- - **Required**: No
23
- - **Description**: Render as child element, merging props and behavior
24
-
25
- ### className
26
- - **Type**: `string`
27
- - **Required**: No
28
- - **Description**: Additional CSS classes for custom styling
29
-
30
- ## Examples
31
-
32
- ```tsx
33
- // Standard titles
34
- <AlertDialogTitle>Are you absolutely sure?</AlertDialogTitle>
35
- <AlertDialogTitle>Delete Account</AlertDialogTitle>
36
- <AlertDialogTitle>Confirm Sign Out</AlertDialogTitle>
37
- // Custom styling
38
- <AlertDialogTitle className="text-red-600 text-xl">
39
- Destructive Action
40
- </AlertDialogTitle>
41
- // Composition with custom element
42
- <AlertDialogTitle asChild>
43
- <h1 className="custom-title">Custom Title Element</h1>
44
- </AlertDialogTitle>
45
- ```
46
- /
@@ -1,40 +0,0 @@
1
- # AlertDialogTrigger
2
-
3
- **Type**: component
4
-
5
- Trigger element that opens the alert dialog The element that opens the alert dialog when activated. Usually a button, but can be any interactive element through composition. When opened, the dialog will trap focus and require user interaction before continuing.
6
-
7
- ## JSX Usage
8
-
9
- ```jsx
10
- import { AlertDialogTrigger } from '@neynar/ui';
11
-
12
- <AlertDialogTrigger
13
- asChild={true}
14
- />
15
- ```
16
-
17
- ## Component Props
18
-
19
- ### asChild
20
- - **Type**: `boolean`
21
- - **Required**: No
22
- - **Description**: Render as child element, merging props and behavior
23
-
24
- ## Examples
25
-
26
- ```tsx
27
- // Direct usage
28
- <AlertDialogTrigger>
29
- Delete Account
30
- </AlertDialogTrigger>
31
- // Composition with Button component
32
- <AlertDialogTrigger asChild>
33
- <Button variant="destructive">Delete Account</Button>
34
- </AlertDialogTrigger>
35
- // Composition with custom element
36
- <AlertDialogTrigger asChild>
37
- <button className="custom-trigger">Custom Trigger</button>
38
- </AlertDialogTrigger>
39
- ```
40
- /
@@ -1,80 +0,0 @@
1
- # AlertDialog
2
-
3
- **Type**: component
4
-
5
- Alert dialog component for critical confirmations and destructive actions A specialized modal dialog built on Radix UI Alert Dialog primitives that interrupts users with important information requiring immediate acknowledgment or decision. Unlike regular dialogs, alert dialogs cannot be dismissed by clicking outside and focus the action button by default for critical decisions. Based on the WAI-ARIA Alert Dialog design pattern, this component is specifically designed for destructive actions, confirmations, or critical warnings that need immediate attention before the user can continue.
6
-
7
- ## JSX Usage
8
-
9
- ```jsx
10
- import { AlertDialog } from '@neynar/ui';
11
-
12
- <AlertDialog
13
- defaultOpen={true}
14
- open={true}
15
- onOpenChange={handleOpenChange}
16
- />
17
- ```
18
-
19
- ## Component Props
20
-
21
- ### defaultOpen
22
- - **Type**: `boolean`
23
- - **Required**: No
24
- - **Description**: No description available
25
-
26
- ### open
27
- - **Type**: `boolean`
28
- - **Required**: No
29
- - **Description**: No description available
30
-
31
- ### onOpenChange
32
- - **Type**: `(open: boolean) => void`
33
- - **Required**: No
34
- - **Description**: No description available
35
-
36
- ## Examples
37
-
38
- ### Example 1
39
- ```tsx
40
- // Basic destructive confirmation
41
- <AlertDialog>
42
- <AlertDialogTrigger asChild>
43
- <Button variant="destructive">Delete Account</Button>
44
- </AlertDialogTrigger>
45
- <AlertDialogContent>
46
- <AlertDialogHeader>
47
- <AlertDialogTitle>Are you absolutely sure?</AlertDialogTitle>
48
- <AlertDialogDescription>
49
- This action cannot be undone. This will permanently delete
50
- your account and remove your data from our servers.
51
- </AlertDialogDescription>
52
- </AlertDialogHeader>
53
- <AlertDialogFooter>
54
- <AlertDialogCancel>Cancel</AlertDialogCancel>
55
- <AlertDialogAction>Delete Account</AlertDialogAction>
56
- </AlertDialogFooter>
57
- </AlertDialogContent>
58
- </AlertDialog>
59
- ```
60
- ### Example 2
61
- ```tsx
62
- // Simple confirmation
63
- <AlertDialog>
64
- <AlertDialogTrigger asChild>
65
- <Button variant="outline">Sign Out</Button>
66
- </AlertDialogTrigger>
67
- <AlertDialogContent>
68
- <AlertDialogHeader>
69
- <AlertDialogTitle>Sign Out</AlertDialogTitle>
70
- <AlertDialogDescription>
71
- Are you sure you want to sign out of your account?
72
- </AlertDialogDescription>
73
- </AlertDialogHeader>
74
- <AlertDialogFooter>
75
- <AlertDialogCancel>Cancel</AlertDialogCancel>
76
- <AlertDialogAction>Sign Out</AlertDialogAction>
77
- </AlertDialogFooter>
78
- </AlertDialogContent>
79
- </AlertDialog>
80
- ```
@@ -1,48 +0,0 @@
1
- # AlertTitle
2
-
3
- **Type**: component
4
-
5
- AlertTitle - The title/heading component for alerts Provides a prominent title or heading for the alert message. Automatically styled with medium font weight, line clamping, and proper grid positioning. Used to give context and immediate recognition of the alert's purpose. ## Features - Medium font weight for visual hierarchy - Single line with overflow handling (line-clamp-1) - Consistent minimum height for layout stability - Proper grid positioning (col-start-2) for icon layout - Tight character spacing (tracking-tight) for readability
6
-
7
- ## JSX Usage
8
-
9
- ```jsx
10
- import { AlertTitle } from '@neynar/ui';
11
-
12
- <AlertTitle
13
- className="value"
14
- >
15
- {/* Your content here */}
16
- </AlertTitle>
17
- ```
18
-
19
- ## Component Props
20
-
21
- ### className
22
- - **Type**: `string`
23
- - **Required**: No
24
- - **Description**: Additional CSS classes to apply
25
-
26
- ### children
27
- - **Type**: `React.ReactNode`
28
- - **Required**: No
29
- - **Description**: Title text content
30
-
31
- ## Examples
32
-
33
- ### Example 1
34
- ```tsx
35
- <Alert>
36
- <Info className="size-4" />
37
- <AlertTitle>Payment Successful</AlertTitle>
38
- <AlertDescription>Your payment has been processed.</AlertDescription>
39
- </Alert>
40
- ```
41
- ### Example 2
42
- ```tsx
43
- // Title-only alert (no description)
44
- <Alert variant="destructive">
45
- <AlertCircle className="size-4" />
46
- <AlertTitle>Connection Failed</AlertTitle>
47
- </Alert>
48
- ```
@@ -1,92 +0,0 @@
1
- # Alert
2
-
3
- **Type**: component
4
-
5
- Alert - Display important messages and notifications to users A flexible alert component for displaying important messages, notifications, and status updates. Built with shadcn/ui design patterns and Tailwind CSS. Alerts are used to communicate critical information that requires user attention and potentially action. ## When to use - System-wide notifications and announcements - Form validation errors and success messages - Important warnings that need persistent visibility - Status updates that don't require immediate action - Progress indicators and completion messages ## Features - Two built-in variants: `default` and `destructive` - Automatic icon grid layout with proper spacing using CSS Grid - Semantic HTML with proper ARIA attributes (`role="alert"`) - Responsive design with consistent spacing - Dark mode support via CSS custom properties - Composition pattern with AlertTitle and AlertDescription - Support for custom styling through className prop - Icon-aware layout that adapts to presence of SVG icons ## Design Philosophy Follows the shadcn/ui principle of providing unstyled, accessible components that can be easily customized. The alert uses CSS Grid for intelligent layout that automatically adjusts based on whether an icon is present.
6
-
7
- ## JSX Usage
8
-
9
- ```jsx
10
- import { Alert } from '@neynar/ui';
11
-
12
- <Alert
13
- variant={value}
14
- className="value"
15
- >
16
- {/* Your content here */}
17
- </Alert>
18
- ```
19
-
20
- ## Component Props
21
-
22
- ### variant
23
- - **Type**: `"default" | "destructive"`
24
- - **Required**: No
25
- - **Description**: Visual style variant determining colors and emphasis
26
-
27
- ### className
28
- - **Type**: `string`
29
- - **Required**: No
30
- - **Description**: Additional CSS classes to merge with default styles
31
-
32
- ### children
33
- - **Type**: `React.ReactNode`
34
- - **Required**: No
35
- - **Description**: Alert content including optional icon, title, and description
36
-
37
- ## Examples
38
-
39
- ### Example 1
40
- ```tsx
41
- // Basic informational alert
42
- <Alert>
43
- <Info className="size-4" />
44
- <AlertTitle>Heads up!</AlertTitle>
45
- <AlertDescription>
46
- You can add components to your app using the cli.
47
- </AlertDescription>
48
- </Alert>
49
- ```
50
- ### Example 2
51
- ```tsx
52
- // Destructive error alert
53
- import { AlertCircle } from "lucide-react";
54
- <Alert variant="destructive">
55
- <AlertCircle className="size-4" />
56
- <AlertTitle>Error</AlertTitle>
57
- <AlertDescription>
58
- Your session has expired. Please log in again.
59
- </AlertDescription>
60
- </Alert>
61
- ```
62
- ### Example 3
63
- ```tsx
64
- // Custom styled success alert
65
- <Alert className="border-green-200 bg-green-50 text-green-800 dark:border-green-800 dark:bg-green-950 dark:text-green-200">
66
- <CheckCircle className="size-4" />
67
- <AlertTitle>Success</AlertTitle>
68
- <AlertDescription>
69
- Your changes have been saved successfully.
70
- </AlertDescription>
71
- </Alert>
72
- ```
73
- ### Example 4
74
- ```tsx
75
- // Alert without icon
76
- <Alert>
77
- <AlertTitle>Simple Notice</AlertTitle>
78
- <AlertDescription>
79
- This alert doesn't use an icon.
80
- </AlertDescription>
81
- </Alert>
82
- ```
83
- ### Example 5
84
- ```tsx
85
- // Alert with only description
86
- <Alert variant="destructive">
87
- <AlertCircle className="size-4" />
88
- <AlertDescription>
89
- Something went wrong. Please try again.
90
- </AlertDescription>
91
- </Alert>
92
- ```
@@ -1,41 +0,0 @@
1
- # AspectRatio
2
-
3
- **Type**: component
4
-
5
- AspectRatio - Maintains consistent width-to-height ratios for content A foundational layout component that preserves specific aspect ratios regardless of container size. Essential for responsive images, videos, and media content that needs consistent proportions across different screen sizes. Built on Radix UI primitives with zero JavaScript runtime overhead. This component creates a CSS-based aspect ratio container using the modern `aspect-ratio` property, ensuring content maintains its intended proportions without layout shifts or JavaScript calculations. The component acts as a constraint wrapper that forces its children to maintain the specified ratio.
6
-
7
- ## JSX Usage
8
-
9
- ```jsx
10
- import { AspectRatio } from '@neynar/ui';
11
-
12
- <AspectRatio
13
- ratio={0}
14
- className="value"
15
- asChild={true}
16
- >
17
- {/* Your content here */}
18
- </AspectRatio>
19
- ```
20
-
21
- ## Component Props
22
-
23
- ### ratio
24
- - **Type**: `number`
25
- - **Required**: No
26
- - **Description**: The desired aspect ratio as width/height (e.g., 16/9, 4/3, 1)
27
-
28
- ### children
29
- - **Type**: `React.ReactNode`
30
- - **Required**: No
31
- - **Description**: Content to be constrained within the aspect ratio
32
-
33
- ### className
34
- - **Type**: `string`
35
- - **Required**: No
36
- - **Description**: Additional CSS classes for styling
37
-
38
- ### asChild
39
- - **Type**: `boolean`
40
- - **Required**: No
41
- - **Description**: Merge props with child element instead of wrapping
@@ -1,41 +0,0 @@
1
- # AvatarFallback
2
-
3
- **Type**: component
4
-
5
- AvatarFallback - Fallback content displayed when the avatar image is unavailable This component renders alternative content when the AvatarImage is loading, fails to load, or is not provided. It's built on Radix UI's Avatar.Fallback primitive and provides a visually appealing placeholder that maintains the avatar's design consistency. ## When AvatarFallback is Shown The fallback is automatically displayed in these scenarios: - **Image loading**: While the AvatarImage is being loaded - **Image error**: When the AvatarImage fails to load (broken URL, network error) - **No image**: When no AvatarImage component is provided - **Empty src**: When AvatarImage has no src prop or empty src ## Common Use Cases - **User initials**: Most common pattern (2-3 characters) - **Generic icons**: User, person, or company icons - **Brand initials**: For organization avatars - **Loading states**: With animations or loading indicators - **Placeholder content**: For new or anonymous users - **Custom graphics**: SVG icons or other visual elements ## Design Considerations - Uses muted background color for subtle appearance - Automatically centers content both horizontally and vertically - Inherits size and border radius from parent Avatar - Should complement the overall design system - Supports delay to prevent flash during fast image loads
6
-
7
- ## JSX Usage
8
-
9
- ```jsx
10
- import { AvatarFallback } from '@neynar/ui';
11
-
12
- <AvatarFallback
13
- className="value"
14
- delayMs={0}
15
- asChild={true}
16
- >
17
- {/* Your content here */}
18
- </AvatarFallback>
19
- ```
20
-
21
- ## Component Props
22
-
23
- ### children
24
- - **Type**: `React.ReactNode`
25
- - **Required**: No
26
- - **Description**: The fallback content to display. Common patterns include user initials (2-3 characters), icons, or loading indicators
27
-
28
- ### className
29
- - **Type**: `string`
30
- - **Required**: No
31
- - **Description**: Additional CSS classes. Use for custom background colors, text styling, or animations
32
-
33
- ### delayMs
34
- - **Type**: `number`
35
- - **Required**: No
36
- - **Description**: Optional delay in milliseconds before showing the fallback. Useful for delaying rendering so it only appears for those with slower connections
37
-
38
- ### asChild
39
- - **Type**: `boolean`
40
- - **Required**: No
41
- - **Description**: Change the default rendered element for the one passed as a child, merging their props and behavior
@@ -1,48 +0,0 @@
1
- # AvatarImage
2
-
3
- **Type**: component
4
-
5
- AvatarImage - The image element component for displaying avatar pictures This component renders the actual avatar image and automatically handles loading states. It's built on Radix UI's Avatar.Image primitive which provides robust image loading behavior - when the image fails to load or is still loading, it remains hidden and the AvatarFallback will be displayed instead. ## Key Features - **Automatic loading state management**: Handles "idle", "loading", "loaded", and "error" states - **Graceful error handling**: Automatically falls back when images fail to load - **Proper aspect ratio maintenance**: Square aspect ratio maintained by default - **Flexible rendering**: Supports asChild for custom element composition - **Loading status callbacks**: Provides onLoadingStatusChange for custom loading logic - **Accessible implementation**: Proper alt text handling and ARIA support ## Loading States The component automatically manages these states: - **idle**: Initial state before loading begins - **loading**: Image is currently being loaded - **loaded**: Image has loaded successfully and is displayed - **error**: Image failed to load, fallback will be shown
6
-
7
- ## JSX Usage
8
-
9
- ```jsx
10
- import { AvatarImage } from '@neynar/ui';
11
-
12
- <AvatarImage
13
- src="value"
14
- alt="value"
15
- className="value"
16
- onLoadingStatusChange={handleLoadingStatusChange}
17
- asChild={true}
18
- />
19
- ```
20
-
21
- ## Component Props
22
-
23
- ### src
24
- - **Type**: `string`
25
- - **Required**: No
26
- - **Description**: The URL of the image to display. Can be relative or absolute URL. When src changes, loading will restart
27
-
28
- ### alt
29
- - **Type**: `string`
30
- - **Required**: No
31
- - **Description**: Descriptive alternative text for the image. Should describe the person or entity, not just "avatar" or "profile picture"
32
-
33
- ### className
34
- - **Type**: `string`
35
- - **Required**: No
36
- - **Description**: Additional CSS classes to apply to the image element. Applied to the img element or asChild component
37
-
38
- ### onLoadingStatusChange
39
- - **Type**: `(
40
- status: "idle" | "loading" | "loaded" | "error",
41
- ) => void`
42
- - **Required**: No
43
- - **Description**: Optional callback fired when the loading status changes. Receives status: "idle" | "loading" | "loaded" | "error"
44
-
45
- ### asChild
46
- - **Type**: `boolean`
47
- - **Required**: No
48
- - **Description**: Change the default rendered element for the one passed as a child, merging their props and behavior
@@ -1,35 +0,0 @@
1
- # Avatar
2
-
3
- **Type**: component
4
-
5
- Avatar - A flexible container for displaying user profile images with graceful fallback support The Avatar component is built on Radix UI's Avatar primitive and provides a robust solution for displaying user profile pictures throughout your application. It automatically handles image loading states and displays fallback content when images fail to load or are unavailable. This component follows the shadcn/ui design system principles and provides a consistent approach to user representation across all applications. ## Features - **Automatic loading states**: Seamlessly handles image loading and error states - **Graceful fallbacks**: Shows fallback content when images are unavailable - **Flexible sizing**: Easy customization through Tailwind CSS size utilities - **Shape variants**: Circular by default with support for rounded corners - **Accessibility first**: Built-in ARIA attributes and keyboard navigation - **Composable design**: Works with AvatarImage and AvatarFallback sub-components - **Polymorphic rendering**: Supports asChild prop for custom element rendering ## Common Use Cases - User profile displays in headers and navigation - Comment sections and author attribution - Team member listings and directories - Avatar groups with overlapping layouts - Organization logos and brand representation - Loading states and placeholder content ## Size Variants - `size-6` (24px) - Small avatars for dense layouts - `size-8` (32px) - Default size for most use cases - `size-10` (40px) - Medium avatars for lists - `size-12` (48px) - Large avatars for profiles - `size-16` (64px) - Extra large for main profile displays
6
-
7
- ## JSX Usage
8
-
9
- ```jsx
10
- import { Avatar } from '@neynar/ui';
11
-
12
- <Avatar
13
- className="value"
14
- asChild={true}
15
- >
16
- {/* Your content here */}
17
- </Avatar>
18
- ```
19
-
20
- ## Component Props
21
-
22
- ### className
23
- - **Type**: `string`
24
- - **Required**: No
25
- - **Description**: Additional CSS classes for styling. Common patterns include size utilities (size-6, size-8, size-10, size-12, size-16) and border radius overrides (rounded-lg, rounded-md, rounded-none)
26
-
27
- ### children
28
- - **Type**: `React.ReactNode`
29
- - **Required**: No
30
- - **Description**: Should contain AvatarImage and AvatarFallback components for proper functionality
31
-
32
- ### asChild
33
- - **Type**: `boolean`
34
- - **Required**: No
35
- - **Description**: Change the default rendered element for the one passed as a child, merging their props and behavior
@@ -1,122 +0,0 @@
1
- # Badge
2
-
3
- **Type**: component
4
-
5
- Badge - Versatile status indicator component for labels, counts, and notifications A small status descriptor component that provides visual feedback about state, category, or importance of content. Built on Radix UI Slot primitives with accessibility-first design and support for multiple semantic variants and interactive states.
6
-
7
- ## JSX Usage
8
-
9
- ```jsx
10
- import { Badge } from "@neynar/ui";
11
-
12
- <Badge variant={value} className="value" asChild={true}>
13
- {/* Your content here */}
14
- </Badge>;
15
- ```
16
-
17
- ## Component Props
18
-
19
- ### variant
20
-
21
- - **Type**: `"default" | "secondary" | "destructive" | "success" | "warning" | "info" | "outline"`
22
- - **Required**: No
23
- - **Description**: No description available
24
-
25
- ### className
26
-
27
- - **Type**: `string`
28
- - **Required**: No
29
- - **Description**: No description available
30
-
31
- ### children
32
-
33
- - **Type**: `React.ReactNode`
34
- - **Required**: No
35
- - **Description**: No description available
36
-
37
- ### asChild
38
-
39
- - **Type**: `boolean`
40
- - **Required**: No
41
- - **Description**: No description available
42
-
43
- ## Examples
44
-
45
- ### Example 1
46
-
47
- ```tsx
48
- // Basic status badges
49
- <Badge>New</Badge>
50
- <Badge variant="secondary">Draft</Badge>
51
- <Badge variant="destructive">Error</Badge>
52
- <Badge variant="success">Success</Badge>
53
- <Badge variant="warning">Warning</Badge>
54
- <Badge variant="info">Info</Badge>
55
- <Badge variant="outline">Pending</Badge>
56
- ```
57
-
58
- ### Example 2
59
-
60
- ```tsx
61
- // Badge with icon content
62
- import { Check, AlertTriangle } from "lucide-react";
63
- <Badge>
64
- <Check className="mr-1" />
65
- Completed
66
- </Badge>
67
- <Badge variant="destructive">
68
- <AlertTriangle className="mr-1" />
69
- Failed
70
- </Badge>
71
- ```
72
-
73
- ### Example 3
74
-
75
- ```tsx
76
- // Notification count badge
77
- <div className="relative inline-block">
78
- <Bell className="h-6 w-6" />
79
- <Badge className="absolute -top-2 -right-2 h-5 w-5 p-0 text-xs flex items-center justify-center">
80
- 3
81
- </Badge>
82
- </div>
83
- ```
84
-
85
- ### Example 4
86
-
87
- ```tsx
88
- // Interactive badge as link using asChild
89
- import Link from "next/link";
90
- <Badge asChild>
91
- <Link href="/notifications" className="cursor-pointer">
92
- 3 new messages
93
- </Link>
94
- </Badge>;
95
- ```
96
-
97
- ### Example 5
98
-
99
- ```tsx
100
- // Interactive badge as button
101
- <Badge asChild>
102
- <button onClick={handleDismiss} className="cursor-pointer">
103
- Dismiss Alert
104
- </button>
105
- </Badge>
106
- ```
107
-
108
- ### Example 6
109
-
110
- ```tsx
111
- // Removable tag badge with close button
112
- <Badge className="pr-1 gap-1">
113
- React
114
- <button
115
- onClick={handleRemove}
116
- className="ml-1 hover:bg-primary-foreground/20 rounded-full p-0.5"
117
- aria-label="Remove React tag"
118
- >
119
- <X className="h-3 w-3" />
120
- </button>
121
- </Badge>
122
- ```