@neynar/ui 0.3.0 → 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 (320) hide show
  1. package/.llm/a.llm.md +131 -0
  2. package/.llm/accordion-content.llm.md +67 -0
  3. package/.llm/accordion-item.llm.md +61 -0
  4. package/.llm/accordion-trigger.llm.md +69 -0
  5. package/.llm/accordion.llm.md +88 -0
  6. package/.llm/alert-description.llm.md +78 -0
  7. package/.llm/alert-dialog-action.llm.md +51 -0
  8. package/.llm/alert-dialog-cancel.llm.md +48 -0
  9. package/.llm/alert-dialog-content.llm.md +88 -0
  10. package/.llm/alert-dialog-description.llm.md +53 -0
  11. package/.llm/alert-dialog-footer.llm.md +41 -0
  12. package/.llm/alert-dialog-header.llm.md +39 -0
  13. package/.llm/alert-dialog-overlay.llm.md +44 -0
  14. package/.llm/alert-dialog-portal.llm.md +41 -0
  15. package/.llm/alert-dialog-title.llm.md +46 -0
  16. package/.llm/alert-dialog-trigger.llm.md +40 -0
  17. package/.llm/alert-dialog.llm.md +80 -0
  18. package/.llm/alert-title.llm.md +48 -0
  19. package/.llm/alert.llm.md +92 -0
  20. package/.llm/aspect-ratio.llm.md +41 -0
  21. package/.llm/avatar-fallback.llm.md +41 -0
  22. package/.llm/avatar-image.llm.md +48 -0
  23. package/.llm/avatar.llm.md +35 -0
  24. package/.llm/badge.llm.md +117 -0
  25. package/.llm/blockquote.llm.md +117 -0
  26. package/.llm/breadcrumb-ellipsis.llm.md +73 -0
  27. package/.llm/breadcrumb-item.llm.md +53 -0
  28. package/.llm/breadcrumb-link.llm.md +84 -0
  29. package/.llm/breadcrumb-list.llm.md +54 -0
  30. package/.llm/breadcrumb-page.llm.md +52 -0
  31. package/.llm/breadcrumb-separator.llm.md +60 -0
  32. package/.llm/breadcrumb.llm.md +110 -0
  33. package/.llm/button-group-separator.llm.md +53 -0
  34. package/.llm/button-group-text.llm.md +56 -0
  35. package/.llm/button-group.llm.md +81 -0
  36. package/.llm/button.llm.md +281 -0
  37. package/.llm/calendar-day-button.llm.md +57 -0
  38. package/.llm/calendar.llm.md +340 -0
  39. package/.llm/card-action.llm.md +64 -0
  40. package/.llm/card-content.llm.md +48 -0
  41. package/.llm/card-description.llm.md +46 -0
  42. package/.llm/card-footer.llm.md +56 -0
  43. package/.llm/card-header.llm.md +53 -0
  44. package/.llm/card-title.llm.md +43 -0
  45. package/.llm/card.llm.md +100 -0
  46. package/.llm/carousel-content.llm.md +77 -0
  47. package/.llm/carousel-item.llm.md +96 -0
  48. package/.llm/carousel-next.llm.md +95 -0
  49. package/.llm/carousel-previous.llm.md +95 -0
  50. package/.llm/carousel.llm.md +211 -0
  51. package/.llm/chart-config.llm.md +71 -0
  52. package/.llm/chart-container.llm.md +148 -0
  53. package/.llm/chart-legend-content.llm.md +85 -0
  54. package/.llm/chart-legend.llm.md +144 -0
  55. package/.llm/chart-style.llm.md +28 -0
  56. package/.llm/chart-tooltip-content.llm.md +149 -0
  57. package/.llm/chart-tooltip.llm.md +184 -0
  58. package/.llm/checkbox.llm.md +100 -0
  59. package/.llm/cn.llm.md +46 -0
  60. package/.llm/code.llm.md +103 -0
  61. package/.llm/collapsible-content.llm.md +109 -0
  62. package/.llm/collapsible-trigger.llm.md +75 -0
  63. package/.llm/collapsible.llm.md +109 -0
  64. package/.llm/combobox-option.llm.md +53 -0
  65. package/.llm/combobox.llm.md +208 -0
  66. package/.llm/command-dialog.llm.md +112 -0
  67. package/.llm/command-empty.llm.md +63 -0
  68. package/.llm/command-group.llm.md +83 -0
  69. package/.llm/command-input.llm.md +82 -0
  70. package/.llm/command-item.llm.md +97 -0
  71. package/.llm/command-list.llm.md +53 -0
  72. package/.llm/command-loading.llm.md +48 -0
  73. package/.llm/command-separator.llm.md +44 -0
  74. package/.llm/command-shortcut.llm.md +63 -0
  75. package/.llm/command.llm.md +147 -0
  76. package/.llm/container.llm.md +236 -0
  77. package/.llm/context-menu-checkbox-item.llm.md +97 -0
  78. package/.llm/context-menu-content.llm.md +91 -0
  79. package/.llm/context-menu-group.llm.md +61 -0
  80. package/.llm/context-menu-item.llm.md +94 -0
  81. package/.llm/context-menu-label.llm.md +60 -0
  82. package/.llm/context-menu-portal.llm.md +49 -0
  83. package/.llm/context-menu-radio-group.llm.md +66 -0
  84. package/.llm/context-menu-radio-item.llm.md +76 -0
  85. package/.llm/context-menu-separator.llm.md +51 -0
  86. package/.llm/context-menu-shortcut.llm.md +57 -0
  87. package/.llm/context-menu-sub-content.llm.md +90 -0
  88. package/.llm/context-menu-sub-trigger.llm.md +73 -0
  89. package/.llm/context-menu-sub.llm.md +61 -0
  90. package/.llm/context-menu-trigger.llm.md +53 -0
  91. package/.llm/context-menu.llm.md +103 -0
  92. package/.llm/date-picker.llm.md +90 -0
  93. package/.llm/dialog-close.llm.md +61 -0
  94. package/.llm/dialog-content.llm.md +128 -0
  95. package/.llm/dialog-description.llm.md +44 -0
  96. package/.llm/dialog-footer.llm.md +38 -0
  97. package/.llm/dialog-header.llm.md +40 -0
  98. package/.llm/dialog-overlay.llm.md +57 -0
  99. package/.llm/dialog-portal.llm.md +47 -0
  100. package/.llm/dialog-title.llm.md +41 -0
  101. package/.llm/dialog-trigger.llm.md +51 -0
  102. package/.llm/dialog.llm.md +113 -0
  103. package/.llm/drawer-close.llm.md +53 -0
  104. package/.llm/drawer-content.llm.md +58 -0
  105. package/.llm/drawer-description.llm.md +54 -0
  106. package/.llm/drawer-footer.llm.md +67 -0
  107. package/.llm/drawer-header.llm.md +60 -0
  108. package/.llm/drawer-overlay.llm.md +40 -0
  109. package/.llm/drawer-portal.llm.md +42 -0
  110. package/.llm/drawer-title.llm.md +51 -0
  111. package/.llm/drawer-trigger.llm.md +44 -0
  112. package/.llm/drawer.llm.md +194 -0
  113. package/.llm/dropdown-menu-checkbox-item.llm.md +111 -0
  114. package/.llm/dropdown-menu-content.llm.md +109 -0
  115. package/.llm/dropdown-menu-group.llm.md +38 -0
  116. package/.llm/dropdown-menu-item.llm.md +94 -0
  117. package/.llm/dropdown-menu-label.llm.md +66 -0
  118. package/.llm/dropdown-menu-portal.llm.md +32 -0
  119. package/.llm/dropdown-menu-radio-group.llm.md +73 -0
  120. package/.llm/dropdown-menu-radio-item.llm.md +92 -0
  121. package/.llm/dropdown-menu-separator.llm.md +55 -0
  122. package/.llm/dropdown-menu-shortcut.llm.md +74 -0
  123. package/.llm/dropdown-menu-sub-content.llm.md +80 -0
  124. package/.llm/dropdown-menu-sub-trigger.llm.md +84 -0
  125. package/.llm/dropdown-menu-sub.llm.md +74 -0
  126. package/.llm/dropdown-menu-trigger.llm.md +48 -0
  127. package/.llm/dropdown-menu.llm.md +120 -0
  128. package/.llm/empty-content.llm.md +103 -0
  129. package/.llm/empty-description.llm.md +70 -0
  130. package/.llm/empty-header.llm.md +64 -0
  131. package/.llm/empty-media.llm.md +81 -0
  132. package/.llm/empty-state.llm.md +174 -0
  133. package/.llm/empty-title.llm.md +54 -0
  134. package/.llm/empty.llm.md +158 -0
  135. package/.llm/field-content.llm.md +28 -0
  136. package/.llm/field-description.llm.md +28 -0
  137. package/.llm/field-error.llm.md +41 -0
  138. package/.llm/field-group.llm.md +84 -0
  139. package/.llm/field-label.llm.md +28 -0
  140. package/.llm/field-legend.llm.md +77 -0
  141. package/.llm/field-separator.llm.md +35 -0
  142. package/.llm/field-set.llm.md +80 -0
  143. package/.llm/field-title.llm.md +28 -0
  144. package/.llm/field.llm.md +35 -0
  145. package/.llm/h1.llm.md +108 -0
  146. package/.llm/h2.llm.md +108 -0
  147. package/.llm/h3.llm.md +106 -0
  148. package/.llm/h4.llm.md +104 -0
  149. package/.llm/h5.llm.md +105 -0
  150. package/.llm/h6.llm.md +105 -0
  151. package/.llm/hover-card-content.llm.md +167 -0
  152. package/.llm/hover-card-trigger.llm.md +65 -0
  153. package/.llm/hover-card.llm.md +121 -0
  154. package/.llm/input-group-addon.llm.md +91 -0
  155. package/.llm/input-group-button.llm.md +120 -0
  156. package/.llm/input-group-input.llm.md +145 -0
  157. package/.llm/input-group-text.llm.md +75 -0
  158. package/.llm/input-group-textarea.llm.md +157 -0
  159. package/.llm/input-group.llm.md +108 -0
  160. package/.llm/input.llm.md +319 -0
  161. package/.llm/item-actions.llm.md +77 -0
  162. package/.llm/item-content.llm.md +73 -0
  163. package/.llm/item-description.llm.md +61 -0
  164. package/.llm/item-footer.llm.md +68 -0
  165. package/.llm/item-group.llm.md +73 -0
  166. package/.llm/item-header.llm.md +66 -0
  167. package/.llm/item-media.llm.md +75 -0
  168. package/.llm/item-separator.llm.md +80 -0
  169. package/.llm/item-title.llm.md +59 -0
  170. package/.llm/item.llm.md +115 -0
  171. package/.llm/kbd-group.llm.md +71 -0
  172. package/.llm/kbd.llm.md +71 -0
  173. package/.llm/label.llm.md +145 -0
  174. package/.llm/lead.llm.md +114 -0
  175. package/.llm/menubar-checkbox-item.llm.md +66 -0
  176. package/.llm/menubar-content.llm.md +128 -0
  177. package/.llm/menubar-group.llm.md +40 -0
  178. package/.llm/menubar-item.llm.md +62 -0
  179. package/.llm/menubar-label.llm.md +40 -0
  180. package/.llm/menubar-menu.llm.md +32 -0
  181. package/.llm/menubar-portal.llm.md +38 -0
  182. package/.llm/menubar-radio-group.llm.md +39 -0
  183. package/.llm/menubar-radio-item.llm.md +59 -0
  184. package/.llm/menubar-separator.llm.md +35 -0
  185. package/.llm/menubar-shortcut.llm.md +37 -0
  186. package/.llm/menubar-sub-content.llm.md +127 -0
  187. package/.llm/menubar-sub-trigger.llm.md +51 -0
  188. package/.llm/menubar-sub.llm.md +53 -0
  189. package/.llm/menubar-trigger.llm.md +37 -0
  190. package/.llm/menubar.llm.md +115 -0
  191. package/.llm/navigation-menu-content.llm.md +116 -0
  192. package/.llm/navigation-menu-indicator.llm.md +68 -0
  193. package/.llm/navigation-menu-item.llm.md +62 -0
  194. package/.llm/navigation-menu-link.llm.md +109 -0
  195. package/.llm/navigation-menu-list.llm.md +52 -0
  196. package/.llm/navigation-menu-trigger-style.llm.md +22 -0
  197. package/.llm/navigation-menu-trigger.llm.md +57 -0
  198. package/.llm/navigation-menu-viewport.llm.md +51 -0
  199. package/.llm/navigation-menu.llm.md +184 -0
  200. package/.llm/p.llm.md +110 -0
  201. package/.llm/pagination-content.llm.md +60 -0
  202. package/.llm/pagination-ellipsis.llm.md +107 -0
  203. package/.llm/pagination-item.llm.md +59 -0
  204. package/.llm/pagination-link.llm.md +150 -0
  205. package/.llm/pagination-next.llm.md +115 -0
  206. package/.llm/pagination-previous.llm.md +115 -0
  207. package/.llm/pagination.llm.md +190 -0
  208. package/.llm/popover-anchor.llm.md +53 -0
  209. package/.llm/popover-content.llm.md +109 -0
  210. package/.llm/popover-trigger.llm.md +54 -0
  211. package/.llm/popover.llm.md +116 -0
  212. package/.llm/progress.llm.md +76 -0
  213. package/.llm/radio-group-indicator.llm.md +28 -0
  214. package/.llm/radio-group-item.llm.md +40 -0
  215. package/.llm/radio-group.llm.md +76 -0
  216. package/.llm/resizable-handle.llm.md +156 -0
  217. package/.llm/resizable-panel-group.llm.md +149 -0
  218. package/.llm/resizable-panel.llm.md +157 -0
  219. package/.llm/scroll-area-corner.llm.md +41 -0
  220. package/.llm/scroll-area-thumb.llm.md +39 -0
  221. package/.llm/scroll-area-viewport.llm.md +60 -0
  222. package/.llm/scroll-area.llm.md +125 -0
  223. package/.llm/scroll-bar.llm.md +78 -0
  224. package/.llm/sdk-items-registry.json +3022 -0
  225. package/.llm/select-content.llm.md +139 -0
  226. package/.llm/select-group.llm.md +60 -0
  227. package/.llm/select-item.llm.md +75 -0
  228. package/.llm/select-label.llm.md +62 -0
  229. package/.llm/select-scroll-down-button.llm.md +45 -0
  230. package/.llm/select-scroll-up-button.llm.md +45 -0
  231. package/.llm/select-separator.llm.md +59 -0
  232. package/.llm/select-trigger.llm.md +66 -0
  233. package/.llm/select-value.llm.md +67 -0
  234. package/.llm/select.llm.md +159 -0
  235. package/.llm/separator.llm.md +129 -0
  236. package/.llm/sheet-close.llm.md +49 -0
  237. package/.llm/sheet-content.llm.md +115 -0
  238. package/.llm/sheet-description.llm.md +62 -0
  239. package/.llm/sheet-footer.llm.md +64 -0
  240. package/.llm/sheet-header.llm.md +52 -0
  241. package/.llm/sheet-title.llm.md +53 -0
  242. package/.llm/sheet-trigger.llm.md +46 -0
  243. package/.llm/sheet.llm.md +126 -0
  244. package/.llm/sidebar-content.llm.md +63 -0
  245. package/.llm/sidebar-footer.llm.md +50 -0
  246. package/.llm/sidebar-group-action.llm.md +60 -0
  247. package/.llm/sidebar-group-content.llm.md +64 -0
  248. package/.llm/sidebar-group-label.llm.md +53 -0
  249. package/.llm/sidebar-group.llm.md +56 -0
  250. package/.llm/sidebar-header.llm.md +67 -0
  251. package/.llm/sidebar-input.llm.md +50 -0
  252. package/.llm/sidebar-inset.llm.md +52 -0
  253. package/.llm/sidebar-menu-action.llm.md +84 -0
  254. package/.llm/sidebar-menu-badge.llm.md +60 -0
  255. package/.llm/sidebar-menu-button.llm.md +103 -0
  256. package/.llm/sidebar-menu-item.llm.md +75 -0
  257. package/.llm/sidebar-menu-skeleton.llm.md +76 -0
  258. package/.llm/sidebar-menu-sub-button.llm.md +85 -0
  259. package/.llm/sidebar-menu-sub-item.llm.md +54 -0
  260. package/.llm/sidebar-menu-sub.llm.md +74 -0
  261. package/.llm/sidebar-menu.llm.md +65 -0
  262. package/.llm/sidebar-provider.llm.md +79 -0
  263. package/.llm/sidebar-rail.llm.md +34 -0
  264. package/.llm/sidebar-separator.llm.md +57 -0
  265. package/.llm/sidebar-trigger.llm.md +49 -0
  266. package/.llm/sidebar.llm.md +129 -0
  267. package/.llm/skeleton.llm.md +134 -0
  268. package/.llm/slider.llm.md +173 -0
  269. package/.llm/small.llm.md +110 -0
  270. package/.llm/span.llm.md +118 -0
  271. package/.llm/spinner.llm.md +182 -0
  272. package/.llm/stack.llm.md +28 -0
  273. package/.llm/strong.llm.md +110 -0
  274. package/.llm/switch.llm.md +76 -0
  275. package/.llm/table-body.llm.md +36 -0
  276. package/.llm/table-caption.llm.md +48 -0
  277. package/.llm/table-cell.llm.md +53 -0
  278. package/.llm/table-footer.llm.md +41 -0
  279. package/.llm/table-head.llm.md +69 -0
  280. package/.llm/table-header.llm.md +41 -0
  281. package/.llm/table-row.llm.md +42 -0
  282. package/.llm/table.llm.md +123 -0
  283. package/.llm/tabs-content.llm.md +47 -0
  284. package/.llm/tabs-list.llm.md +41 -0
  285. package/.llm/tabs-trigger.llm.md +47 -0
  286. package/.llm/tabs.llm.md +71 -0
  287. package/.llm/text-field.llm.md +327 -0
  288. package/.llm/textarea.llm.md +311 -0
  289. package/.llm/theme-preference.llm.md +25 -0
  290. package/.llm/theme-toggle.llm.md +57 -0
  291. package/.llm/theme.llm.md +14 -0
  292. package/.llm/toast.llm.md +32 -0
  293. package/.llm/toaster.llm.md +193 -0
  294. package/.llm/toggle-group-item.llm.md +59 -0
  295. package/.llm/toggle-group.llm.md +101 -0
  296. package/.llm/toggle.llm.md +40 -0
  297. package/.llm/tooltip-content.llm.md +185 -0
  298. package/.llm/tooltip-provider.llm.md +68 -0
  299. package/.llm/tooltip-trigger.llm.md +70 -0
  300. package/.llm/tooltip.llm.md +129 -0
  301. package/.llm/typography.llm.md +161 -0
  302. package/.llm/use-carousel.llm.md +55 -0
  303. package/.llm/use-command-state.llm.md +32 -0
  304. package/.llm/use-is-mobile.llm.md +73 -0
  305. package/.llm/use-sidebar.llm.md +61 -0
  306. package/dist/components/ui/scroll-area.d.ts +5 -5
  307. package/dist/components/ui/scroll-area.d.ts.map +1 -1
  308. package/dist/components/ui/stack.d.ts.map +1 -1
  309. package/dist/components/ui/stories/scroll-area.stories.d.ts +1 -1
  310. package/dist/components/ui/theme-toggle.d.ts +0 -3
  311. package/dist/components/ui/theme-toggle.d.ts.map +1 -1
  312. package/dist/components/ui/theme.d.ts.map +1 -1
  313. package/dist/index.js +4972 -9636
  314. package/dist/index.js.map +1 -1
  315. package/dist/tsconfig.tsbuildinfo +1 -1
  316. package/package.json +2 -2
  317. package/src/components/ui/stack.tsx +3 -1
  318. package/src/components/ui/theme-toggle.tsx +1 -3
  319. package/src/components/ui/theme.tsx +6 -1
  320. package/src/styles/globals.css +57 -85
package/.llm/a.llm.md ADDED
@@ -0,0 +1,131 @@
1
+ # A
2
+
3
+ **Type**: component
4
+
5
+ A - Anchor component for interactive text links Semantic anchor element for links with built-in hover states and accessibility features. Uses "body" variant with underline and smooth color transitions.
6
+
7
+ ## JSX Usage
8
+
9
+ ```jsx
10
+ import { A } from '@neynar/ui';
11
+
12
+ <A
13
+ variant={value}
14
+ color={value}
15
+ align={value}
16
+ transform={value}
17
+ weight={value}
18
+ htmlFor="value"
19
+ asChild={true}
20
+ italic={true}
21
+ underline={true}
22
+ strikethrough={true}
23
+ truncate={true}
24
+ srOnly={true}
25
+ href="value"
26
+ className="value"
27
+ >
28
+ {/* Your content here */}
29
+ </A>
30
+ ```
31
+
32
+ ## Component Props
33
+
34
+ ### variant
35
+ - **Type**: `TypographyVariant`
36
+ - **Required**: No
37
+ - **Description**: No description available
38
+
39
+ ### color
40
+ - **Type**: `TypographyColor`
41
+ - **Required**: No
42
+ - **Description**: No description available
43
+
44
+ ### align
45
+ - **Type**: `"left" | "center" | "right" | "justify"`
46
+ - **Required**: No
47
+ - **Description**: No description available
48
+
49
+ ### transform
50
+ - **Type**: `"uppercase" | "lowercase" | "capitalize"`
51
+ - **Required**: No
52
+ - **Description**: No description available
53
+
54
+ ### weight
55
+ - **Type**: `"normal" | "medium" | "semibold" | "bold"`
56
+ - **Required**: No
57
+ - **Description**: No description available
58
+
59
+ ### htmlFor
60
+ - **Type**: `string`
61
+ - **Required**: No
62
+ - **Description**: No description available
63
+
64
+ ### asChild
65
+ - **Type**: `boolean`
66
+ - **Required**: No
67
+ - **Description**: No description available
68
+
69
+ ### italic
70
+ - **Type**: `boolean`
71
+ - **Required**: No
72
+ - **Description**: No description available
73
+
74
+ ### underline
75
+ - **Type**: `boolean`
76
+ - **Required**: No
77
+ - **Description**: No description available
78
+
79
+ ### strikethrough
80
+ - **Type**: `boolean`
81
+ - **Required**: No
82
+ - **Description**: No description available
83
+
84
+ ### truncate
85
+ - **Type**: `boolean`
86
+ - **Required**: No
87
+ - **Description**: No description available
88
+
89
+ ### srOnly
90
+ - **Type**: `boolean`
91
+ - **Required**: No
92
+ - **Description**: No description available
93
+
94
+ ### href
95
+ - **Type**: `string`
96
+ - **Required**: No
97
+ - **Description**: No description available
98
+
99
+ ### className
100
+ - **Type**: `string`
101
+ - **Required**: No
102
+ - **Description**: No description available
103
+
104
+ ### children
105
+ - **Type**: `React.ReactNode`
106
+ - **Required**: No
107
+ - **Description**: No description available
108
+
109
+ ## Examples
110
+
111
+ ```tsx
112
+ // External link
113
+ <A href="https://neynar.com" target="_blank" rel="noopener noreferrer">
114
+ Visit Neynar Website
115
+ </A>
116
+ // Internal navigation
117
+ <A href="/dashboard" color="accent">
118
+ Go to Dashboard
119
+ </A>
120
+ // Composition with Next.js Link
121
+ <A asChild>
122
+ <Link href="/about">
123
+ Learn More About Us
124
+ </Link>
125
+ </A>
126
+ // In paragraph text
127
+ <P>
128
+ For more information, <A href="/docs">check our documentation</A> or
129
+ contact support.
130
+ </P>
131
+ ```
@@ -0,0 +1,67 @@
1
+ # AccordionContent
2
+
3
+ **Type**: component
4
+
5
+ AccordionContent - Collapsible content area of an accordion item The expandable content section that is revealed or hidden when the associated AccordionTrigger is activated. Features smooth height-based animations using Tailwind CSS keyframes and supports any React content including complex layouts.
6
+
7
+ ## JSX Usage
8
+
9
+ ```jsx
10
+ import { AccordionContent } from '@neynar/ui';
11
+
12
+ <AccordionContent
13
+ className="value"
14
+ forceMount={value}
15
+ >
16
+ {/* Your content here */}
17
+ </AccordionContent>
18
+ ```
19
+
20
+ ## Component Props
21
+
22
+ ### className
23
+ - **Type**: `string`
24
+ - **Required**: No
25
+ - **Description**: No description available
26
+
27
+ ### children
28
+ - **Type**: `React.ReactNode`
29
+ - **Required**: No
30
+ - **Description**: No description available
31
+
32
+ ### forceMount
33
+ - **Type**: `true`
34
+ - **Required**: No
35
+ - **Description**: No description available
36
+
37
+ ## Examples
38
+
39
+ ### Example 1
40
+ ```tsx
41
+ // Simple text content
42
+ <AccordionContent>
43
+ <p>This content is revealed when the accordion is expanded.</p>
44
+ <p>It can contain any React components or HTML elements.</p>
45
+ </AccordionContent>
46
+ ```
47
+ ### Example 2
48
+ ```tsx
49
+ // Rich content with components
50
+ <AccordionContent>
51
+ <div className="space-y-4">
52
+ <Alert>
53
+ <InfoIcon className="h-4 w-4" />
54
+ <AlertTitle>Important Note</AlertTitle>
55
+ <AlertDescription>This is highlighted information.</AlertDescription>
56
+ </Alert>
57
+ <Button variant="outline">Take Action</Button>
58
+ </div>
59
+ </AccordionContent>
60
+ ```
61
+ ### Example 3
62
+ ```tsx
63
+ // Content with custom padding
64
+ <AccordionContent className="pt-6 pb-6">
65
+ Content with extra vertical padding for better spacing.
66
+ </AccordionContent>
67
+ ```
@@ -0,0 +1,61 @@
1
+ # AccordionItem
2
+
3
+ **Type**: component
4
+
5
+ AccordionItem - Individual collapsible panel within an accordion A container component that wraps a single accordion section consisting of a trigger and collapsible content. Each item requires a unique value prop for identification and state management. Provides consistent spacing and border styling.
6
+
7
+ ## JSX Usage
8
+
9
+ ```jsx
10
+ import { AccordionItem } from '@neynar/ui';
11
+
12
+ <AccordionItem
13
+ value="value"
14
+ disabled={true}
15
+ className="value"
16
+ >
17
+ {/* Your content here */}
18
+ </AccordionItem>
19
+ ```
20
+
21
+ ## Component Props
22
+
23
+ ### value
24
+ - **Type**: `string`
25
+ - **Required**: Yes
26
+ - **Description**: No description available
27
+
28
+ ### disabled
29
+ - **Type**: `boolean`
30
+ - **Required**: No
31
+ - **Description**: No description available
32
+
33
+ ### className
34
+ - **Type**: `string`
35
+ - **Required**: No
36
+ - **Description**: No description available
37
+
38
+ ### children
39
+ - **Type**: `React.ReactNode`
40
+ - **Required**: No
41
+ - **Description**: No description available
42
+
43
+ ## Examples
44
+
45
+ ### Example 1
46
+ ```tsx
47
+ <AccordionItem value="settings">
48
+ <AccordionTrigger>Account Settings</AccordionTrigger>
49
+ <AccordionContent>
50
+ <p>Manage your account preferences and security settings.</p>
51
+ </AccordionContent>
52
+ </AccordionItem>
53
+ ```
54
+ ### Example 2
55
+ ```tsx
56
+ // With custom styling
57
+ <AccordionItem value="custom" className="border-l-4 border-blue-500">
58
+ <AccordionTrigger>Custom Styled Item</AccordionTrigger>
59
+ <AccordionContent>Content with custom left border</AccordionContent>
60
+ </AccordionItem>
61
+ ```
@@ -0,0 +1,69 @@
1
+ # AccordionTrigger
2
+
3
+ **Type**: component
4
+
5
+ AccordionTrigger - Clickable header that toggles accordion content visibility An interactive button element that users click or activate via keyboard to expand or collapse the associated accordion content. Features a rotating chevron icon for visual state indication and supports both text and custom content.
6
+
7
+ ## JSX Usage
8
+
9
+ ```jsx
10
+ import { AccordionTrigger } from '@neynar/ui';
11
+
12
+ <AccordionTrigger
13
+ className="value"
14
+ disabled={true}
15
+ asChild={true}
16
+ >
17
+ {/* Your content here */}
18
+ </AccordionTrigger>
19
+ ```
20
+
21
+ ## Component Props
22
+
23
+ ### className
24
+ - **Type**: `string`
25
+ - **Required**: No
26
+ - **Description**: No description available
27
+
28
+ ### children
29
+ - **Type**: `React.ReactNode`
30
+ - **Required**: No
31
+ - **Description**: No description available
32
+
33
+ ### disabled
34
+ - **Type**: `boolean`
35
+ - **Required**: No
36
+ - **Description**: No description available
37
+
38
+ ### asChild
39
+ - **Type**: `boolean`
40
+ - **Required**: No
41
+ - **Description**: No description available
42
+
43
+ ## Examples
44
+
45
+ ### Example 1
46
+ ```tsx
47
+ // Simple text trigger
48
+ <AccordionTrigger>
49
+ Click to expand this section
50
+ </AccordionTrigger>
51
+ ```
52
+ ### Example 2
53
+ ```tsx
54
+ // With icon and custom styling
55
+ <AccordionTrigger className="text-lg font-semibold">
56
+ <User className="mr-2 h-4 w-4" />
57
+ User Profile Settings
58
+ </AccordionTrigger>
59
+ ```
60
+ ### Example 3
61
+ ```tsx
62
+ // With complex content
63
+ <AccordionTrigger>
64
+ <div className="flex items-center justify-between w-full">
65
+ <span>Section Title</span>
66
+ <Badge variant="secondary">5 items</Badge>
67
+ </div>
68
+ </AccordionTrigger>
69
+ ```
@@ -0,0 +1,88 @@
1
+ # Accordion
2
+
3
+ **Type**: component
4
+
5
+ Accordion - Collapsible content panels for organizing information A vertically stacked set of interactive headings that each reveal a section of content. Built on Radix UI Accordion primitives with optimized animations and accessibility. Supports both single and multiple expanded items simultaneously based on the type prop.
6
+
7
+ ## JSX Usage
8
+
9
+ ```jsx
10
+ import { Accordion } from '@neynar/ui';
11
+
12
+ <Accordion
13
+ disabled={true}
14
+ orientation={value}
15
+ dir={value}
16
+ className="value"
17
+ >
18
+ {/* Your content here */}
19
+ </Accordion>
20
+ ```
21
+
22
+ ## Component Props
23
+
24
+ ### disabled
25
+ - **Type**: `boolean`
26
+ - **Required**: No
27
+ - **Description**: No description available
28
+
29
+ ### orientation
30
+ - **Type**: `"horizontal" | "vertical"`
31
+ - **Required**: No
32
+ - **Description**: No description available
33
+
34
+ ### dir
35
+ - **Type**: `"ltr" | "rtl"`
36
+ - **Required**: No
37
+ - **Description**: No description available
38
+
39
+ ### className
40
+ - **Type**: `string`
41
+ - **Required**: No
42
+ - **Description**: No description available
43
+
44
+ ### children
45
+ - **Type**: `React.ReactNode`
46
+ - **Required**: No
47
+ - **Description**: No description available
48
+
49
+ ## Examples
50
+
51
+ ### Example 1
52
+ ```tsx
53
+ // Basic single accordion (only one item can be open)
54
+ <Accordion type="single" collapsible>
55
+ <AccordionItem value="item-1">
56
+ <AccordionTrigger>Is it accessible?</AccordionTrigger>
57
+ <AccordionContent>
58
+ Yes. It adheres to the WAI-ARIA design pattern.
59
+ </AccordionContent>
60
+ </AccordionItem>
61
+ </Accordion>
62
+ ```
63
+ ### Example 2
64
+ ```tsx
65
+ // Multiple accordion (multiple items can be open)
66
+ <Accordion type="multiple">
67
+ <AccordionItem value="item-1">
68
+ <AccordionTrigger>Section 1</AccordionTrigger>
69
+ <AccordionContent>Content for section 1</AccordionContent>
70
+ </AccordionItem>
71
+ <AccordionItem value="item-2">
72
+ <AccordionTrigger>Section 2</AccordionTrigger>
73
+ <AccordionContent>Content for section 2</AccordionContent>
74
+ </AccordionItem>
75
+ </Accordion>
76
+ ```
77
+ ### Example 3
78
+ ```tsx
79
+ // FAQ-style accordion with default open state
80
+ <Accordion type="single" collapsible defaultValue="faq-1">
81
+ <AccordionItem value="faq-1">
82
+ <AccordionTrigger>How do I get started?</AccordionTrigger>
83
+ <AccordionContent>
84
+ Follow our quick start guide to set up your first project.
85
+ </AccordionContent>
86
+ </AccordionItem>
87
+ </Accordion>
88
+ ```
@@ -0,0 +1,78 @@
1
+ # AlertDescription
2
+
3
+ **Type**: component
4
+
5
+ AlertDescription - Detailed description text content for alerts The body content area of an alert that provides detailed information, context, or instructions related to the alert message. Automatically styled with muted text color and proper grid positioning. Supports rich content including paragraphs, links, and inline formatting. ## Features - Muted foreground color for visual hierarchy - Proper grid positioning (col-start-2) for icon layout compatibility - Support for multiple paragraphs with relaxed line height - Grid layout with start justification for text alignment - Semantic HTML structure with data-slot attribute - Small text size (text-sm) for readability - Responsive gap spacing between content elements
6
+
7
+ ## JSX Usage
8
+
9
+ ```jsx
10
+ import { AlertDescription } from '@neynar/ui';
11
+
12
+ <AlertDescription
13
+ className="value"
14
+ >
15
+ {/* Your content here */}
16
+ </AlertDescription>
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
+ // Basic description with simple text
36
+ <Alert>
37
+ <AlertTitle>Success</AlertTitle>
38
+ <AlertDescription>
39
+ Your account has been created successfully.
40
+ </AlertDescription>
41
+ </Alert>
42
+ ```
43
+ ### Example 2
44
+ ```tsx
45
+ // Description with multiple paragraphs
46
+ <Alert variant="destructive">
47
+ <AlertCircle className="size-4" />
48
+ <AlertTitle>Connection Error</AlertTitle>
49
+ <AlertDescription>
50
+ <p>Unable to connect to the server. This could be due to:</p>
51
+ <p>• Network connectivity issues</p>
52
+ <p>• Server maintenance</p>
53
+ <p>Please try again in a few minutes.</p>
54
+ </AlertDescription>
55
+ </Alert>
56
+ ```
57
+ ### Example 3
58
+ ```tsx
59
+ // Description with links and rich content
60
+ <Alert>
61
+ <Info className="size-4" />
62
+ <AlertTitle>Update Available</AlertTitle>
63
+ <AlertDescription>
64
+ A new version is available. <a href="/changelog" className="underline">View changelog</a> or
65
+ <button className="ml-1 underline">update now</button>.
66
+ </AlertDescription>
67
+ </Alert>
68
+ ```
69
+ ### Example 4
70
+ ```tsx
71
+ // Custom styled description
72
+ <Alert>
73
+ <AlertTitle>Custom Alert</AlertTitle>
74
+ <AlertDescription className="text-sm font-medium text-foreground">
75
+ This description uses custom styling to override the default muted appearance.
76
+ </AlertDescription>
77
+ </Alert>
78
+ ```
@@ -0,0 +1,51 @@
1
+ # AlertDialogAction
2
+
3
+ **Type**: component
4
+
5
+ Primary action button of the alert dialog The button that confirms or executes the action being alerted about. Automatically receives focus when the dialog opens (unless overridden). Styled using buttonVariants() by default, but can be customized for destructive actions. Closes the dialog when clicked.
6
+
7
+ ## JSX Usage
8
+
9
+ ```jsx
10
+ import { AlertDialogAction } from '@neynar/ui';
11
+
12
+ <AlertDialogAction
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 (useful for destructive styling)
29
+
30
+ ## Examples
31
+
32
+ ```tsx
33
+ // Default action (primary button style)
34
+ <AlertDialogAction>Continue</AlertDialogAction>
35
+ <AlertDialogAction>Save Changes</AlertDialogAction>
36
+ // Destructive action with red styling
37
+ <AlertDialogAction className={buttonVariants({ variant: "destructive" })}>
38
+ Delete Account
39
+ </AlertDialogAction>
40
+ // Custom styled action
41
+ <AlertDialogAction className="bg-green-600 hover:bg-green-700">
42
+ Confirm Action
43
+ </AlertDialogAction>
44
+ // Composition with custom button
45
+ <AlertDialogAction asChild>
46
+ <Button variant="destructive" size="lg">
47
+ Delete Forever
48
+ </Button>
49
+ </AlertDialogAction>
50
+ ```
51
+ /
@@ -0,0 +1,48 @@
1
+ # AlertDialogCancel
2
+
3
+ **Type**: component
4
+
5
+ Cancel button of the alert dialog The button that dismisses the dialog without performing the action. Styled using outline variant by default to de-emphasize compared to the primary action. Closes the dialog when clicked without triggering the main action.
6
+
7
+ ## JSX Usage
8
+
9
+ ```jsx
10
+ import { AlertDialogCancel } from '@neynar/ui';
11
+
12
+ <AlertDialogCancel
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 cancel buttons
34
+ <AlertDialogCancel>Cancel</AlertDialogCancel>
35
+ <AlertDialogCancel>No, keep it</AlertDialogCancel>
36
+ <AlertDialogCancel>Go Back</AlertDialogCancel>
37
+ // Custom styled cancel
38
+ <AlertDialogCancel className="text-red-600">
39
+ Don't Delete
40
+ </AlertDialogCancel>
41
+ // Composition with custom button
42
+ <AlertDialogCancel asChild>
43
+ <Button variant="ghost" size="sm">
44
+ Maybe Later
45
+ </Button>
46
+ </AlertDialogCancel>
47
+ ```
48
+ /
@@ -0,0 +1,88 @@
1
+ # AlertDialogContent
2
+
3
+ **Type**: component
4
+
5
+ Main content container for the alert dialog The primary container that holds all alert dialog content. Automatically includes the portal and overlay, and provides default styling with responsive design. Centered on screen with smooth fade and zoom animations. Manages focus trapping and keyboard navigation automatically.
6
+
7
+ ## JSX Usage
8
+
9
+ ```jsx
10
+ import { AlertDialogContent } from '@neynar/ui';
11
+
12
+ <AlertDialogContent
13
+ asChild={true}
14
+ forceMount={true}
15
+ onOpenAutoFocus={handleOpenAutoFocus}
16
+ onCloseAutoFocus={handleCloseAutoFocus}
17
+ onEscapeKeyDown={handleEscapeKeyDown}
18
+ className="value"
19
+ />
20
+ ```
21
+
22
+ ## Component Props
23
+
24
+ ### asChild
25
+ - **Type**: `boolean`
26
+ - **Required**: No
27
+ - **Description**: Render as child element, merging props and behavior
28
+
29
+ ### forceMount
30
+ - **Type**: `boolean`
31
+ - **Required**: No
32
+ - **Description**: Force mount the component even when dialog is closed
33
+
34
+ ### onOpenAutoFocus
35
+ - **Type**: `(event: Event) => void`
36
+ - **Required**: No
37
+ - **Description**: Callback when dialog opens and focus moves to content
38
+
39
+ ### onCloseAutoFocus
40
+ - **Type**: `(event: Event) => void`
41
+ - **Required**: No
42
+ - **Description**: Callback when dialog closes and focus returns to trigger
43
+
44
+ ### onEscapeKeyDown
45
+ - **Type**: `(event: KeyboardEvent) => void`
46
+ - **Required**: No
47
+ - **Description**: Callback when Escape key is pressed (can preventDefault)
48
+
49
+ ### className
50
+ - **Type**: `string`
51
+ - **Required**: No
52
+ - **Description**: Additional CSS classes for custom styling
53
+
54
+ ## Examples
55
+
56
+ ```tsx
57
+ // Basic usage
58
+ <AlertDialogContent>
59
+ <AlertDialogHeader>
60
+ <AlertDialogTitle>Confirm Action</AlertDialogTitle>
61
+ <AlertDialogDescription>This action cannot be undone.</AlertDialogDescription>
62
+ </AlertDialogHeader>
63
+ <AlertDialogFooter>
64
+ <AlertDialogCancel>Cancel</AlertDialogCancel>
65
+ <AlertDialogAction>Continue</AlertDialogAction>
66
+ </AlertDialogFooter>
67
+ </AlertDialogContent>
68
+ // Custom focus handling
69
+ <AlertDialogContent
70
+ onOpenAutoFocus={(e) => {
71
+ e.preventDefault();
72
+ customFocusTarget.focus();
73
+ }}
74
+ onEscapeKeyDown={(e) => {
75
+ if (hasUnsavedChanges) {
76
+ e.preventDefault();
77
+ showUnsavedWarning();
78
+ }
79
+ }}
80
+ >
81
+ // content
82
+ </AlertDialogContent>
83
+ // Custom styling
84
+ <AlertDialogContent className="max-w-md">
85
+ // smaller dialog
86
+ </AlertDialogContent>
87
+ ```
88
+ /