@neynar/ui 0.3.0 → 0.4.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 (320) hide show
  1. package/.llm/accordion-content.llm.md +67 -0
  2. package/.llm/accordion-item.llm.md +61 -0
  3. package/.llm/accordion-trigger.llm.md +69 -0
  4. package/.llm/accordion.llm.md +88 -0
  5. package/.llm/alert-description.llm.md +78 -0
  6. package/.llm/alert-dialog-action.llm.md +51 -0
  7. package/.llm/alert-dialog-cancel.llm.md +48 -0
  8. package/.llm/alert-dialog-content.llm.md +88 -0
  9. package/.llm/alert-dialog-description.llm.md +53 -0
  10. package/.llm/alert-dialog-footer.llm.md +41 -0
  11. package/.llm/alert-dialog-header.llm.md +39 -0
  12. package/.llm/alert-dialog-overlay.llm.md +44 -0
  13. package/.llm/alert-dialog-portal.llm.md +41 -0
  14. package/.llm/alert-dialog-title.llm.md +46 -0
  15. package/.llm/alert-dialog-trigger.llm.md +40 -0
  16. package/.llm/alert-dialog.llm.md +80 -0
  17. package/.llm/alert-title.llm.md +48 -0
  18. package/.llm/alert.llm.md +92 -0
  19. package/.llm/aspect-ratio.llm.md +41 -0
  20. package/.llm/avatar-fallback.llm.md +41 -0
  21. package/.llm/avatar-image.llm.md +48 -0
  22. package/.llm/avatar.llm.md +35 -0
  23. package/.llm/badge.llm.md +117 -0
  24. package/.llm/blockquote.llm.md +55 -0
  25. package/.llm/body-text-large.llm.md +49 -0
  26. package/.llm/body-text-small.llm.md +49 -0
  27. package/.llm/body-text.llm.md +52 -0
  28. package/.llm/breadcrumb-ellipsis.llm.md +73 -0
  29. package/.llm/breadcrumb-item.llm.md +53 -0
  30. package/.llm/breadcrumb-link.llm.md +84 -0
  31. package/.llm/breadcrumb-list.llm.md +54 -0
  32. package/.llm/breadcrumb-page.llm.md +52 -0
  33. package/.llm/breadcrumb-separator.llm.md +60 -0
  34. package/.llm/breadcrumb.llm.md +110 -0
  35. package/.llm/button-group-separator.llm.md +53 -0
  36. package/.llm/button-group-text.llm.md +56 -0
  37. package/.llm/button-group.llm.md +81 -0
  38. package/.llm/button.llm.md +281 -0
  39. package/.llm/calendar-day-button.llm.md +57 -0
  40. package/.llm/calendar.llm.md +340 -0
  41. package/.llm/caption.llm.md +48 -0
  42. package/.llm/card-action.llm.md +64 -0
  43. package/.llm/card-content.llm.md +48 -0
  44. package/.llm/card-description.llm.md +46 -0
  45. package/.llm/card-footer.llm.md +56 -0
  46. package/.llm/card-header.llm.md +53 -0
  47. package/.llm/card-title.llm.md +43 -0
  48. package/.llm/card.llm.md +100 -0
  49. package/.llm/carousel-content.llm.md +77 -0
  50. package/.llm/carousel-item.llm.md +96 -0
  51. package/.llm/carousel-next.llm.md +95 -0
  52. package/.llm/carousel-previous.llm.md +95 -0
  53. package/.llm/carousel.llm.md +211 -0
  54. package/.llm/chart-config.llm.md +71 -0
  55. package/.llm/chart-container.llm.md +148 -0
  56. package/.llm/chart-legend-content.llm.md +85 -0
  57. package/.llm/chart-legend.llm.md +144 -0
  58. package/.llm/chart-style.llm.md +28 -0
  59. package/.llm/chart-tooltip-content.llm.md +149 -0
  60. package/.llm/chart-tooltip.llm.md +184 -0
  61. package/.llm/checkbox.llm.md +100 -0
  62. package/.llm/cn.llm.md +46 -0
  63. package/.llm/code.llm.md +45 -0
  64. package/.llm/collapsible-content.llm.md +109 -0
  65. package/.llm/collapsible-trigger.llm.md +75 -0
  66. package/.llm/collapsible.llm.md +109 -0
  67. package/.llm/combobox-option.llm.md +53 -0
  68. package/.llm/combobox.llm.md +208 -0
  69. package/.llm/command-dialog.llm.md +112 -0
  70. package/.llm/command-empty.llm.md +63 -0
  71. package/.llm/command-group.llm.md +83 -0
  72. package/.llm/command-input.llm.md +82 -0
  73. package/.llm/command-item.llm.md +97 -0
  74. package/.llm/command-list.llm.md +53 -0
  75. package/.llm/command-loading.llm.md +48 -0
  76. package/.llm/command-separator.llm.md +44 -0
  77. package/.llm/command-shortcut.llm.md +63 -0
  78. package/.llm/command.llm.md +147 -0
  79. package/.llm/container.llm.md +236 -0
  80. package/.llm/context-menu-checkbox-item.llm.md +97 -0
  81. package/.llm/context-menu-content.llm.md +91 -0
  82. package/.llm/context-menu-group.llm.md +61 -0
  83. package/.llm/context-menu-item.llm.md +94 -0
  84. package/.llm/context-menu-label.llm.md +60 -0
  85. package/.llm/context-menu-portal.llm.md +49 -0
  86. package/.llm/context-menu-radio-group.llm.md +66 -0
  87. package/.llm/context-menu-radio-item.llm.md +76 -0
  88. package/.llm/context-menu-separator.llm.md +51 -0
  89. package/.llm/context-menu-shortcut.llm.md +57 -0
  90. package/.llm/context-menu-sub-content.llm.md +90 -0
  91. package/.llm/context-menu-sub-trigger.llm.md +73 -0
  92. package/.llm/context-menu-sub.llm.md +61 -0
  93. package/.llm/context-menu-trigger.llm.md +53 -0
  94. package/.llm/context-menu.llm.md +103 -0
  95. package/.llm/date-picker.llm.md +90 -0
  96. package/.llm/dialog-close.llm.md +61 -0
  97. package/.llm/dialog-content.llm.md +128 -0
  98. package/.llm/dialog-description.llm.md +44 -0
  99. package/.llm/dialog-footer.llm.md +38 -0
  100. package/.llm/dialog-header.llm.md +40 -0
  101. package/.llm/dialog-overlay.llm.md +57 -0
  102. package/.llm/dialog-portal.llm.md +47 -0
  103. package/.llm/dialog-title.llm.md +41 -0
  104. package/.llm/dialog-trigger.llm.md +51 -0
  105. package/.llm/dialog.llm.md +113 -0
  106. package/.llm/drawer-close.llm.md +53 -0
  107. package/.llm/drawer-content.llm.md +58 -0
  108. package/.llm/drawer-description.llm.md +54 -0
  109. package/.llm/drawer-footer.llm.md +67 -0
  110. package/.llm/drawer-header.llm.md +60 -0
  111. package/.llm/drawer-overlay.llm.md +40 -0
  112. package/.llm/drawer-portal.llm.md +42 -0
  113. package/.llm/drawer-title.llm.md +51 -0
  114. package/.llm/drawer-trigger.llm.md +44 -0
  115. package/.llm/drawer.llm.md +194 -0
  116. package/.llm/dropdown-menu-checkbox-item.llm.md +111 -0
  117. package/.llm/dropdown-menu-content.llm.md +109 -0
  118. package/.llm/dropdown-menu-group.llm.md +38 -0
  119. package/.llm/dropdown-menu-item.llm.md +94 -0
  120. package/.llm/dropdown-menu-label.llm.md +66 -0
  121. package/.llm/dropdown-menu-portal.llm.md +32 -0
  122. package/.llm/dropdown-menu-radio-group.llm.md +73 -0
  123. package/.llm/dropdown-menu-radio-item.llm.md +92 -0
  124. package/.llm/dropdown-menu-separator.llm.md +55 -0
  125. package/.llm/dropdown-menu-shortcut.llm.md +74 -0
  126. package/.llm/dropdown-menu-sub-content.llm.md +80 -0
  127. package/.llm/dropdown-menu-sub-trigger.llm.md +84 -0
  128. package/.llm/dropdown-menu-sub.llm.md +74 -0
  129. package/.llm/dropdown-menu-trigger.llm.md +48 -0
  130. package/.llm/dropdown-menu.llm.md +120 -0
  131. package/.llm/empty-content.llm.md +103 -0
  132. package/.llm/empty-description.llm.md +70 -0
  133. package/.llm/empty-header.llm.md +64 -0
  134. package/.llm/empty-media.llm.md +81 -0
  135. package/.llm/empty-state.llm.md +174 -0
  136. package/.llm/empty-title.llm.md +54 -0
  137. package/.llm/empty.llm.md +158 -0
  138. package/.llm/field-content.llm.md +28 -0
  139. package/.llm/field-description.llm.md +28 -0
  140. package/.llm/field-error.llm.md +41 -0
  141. package/.llm/field-group.llm.md +84 -0
  142. package/.llm/field-label.llm.md +28 -0
  143. package/.llm/field-legend.llm.md +77 -0
  144. package/.llm/field-separator.llm.md +35 -0
  145. package/.llm/field-set.llm.md +80 -0
  146. package/.llm/field-title.llm.md +28 -0
  147. package/.llm/field.llm.md +35 -0
  148. package/.llm/hover-card-content.llm.md +167 -0
  149. package/.llm/hover-card-trigger.llm.md +65 -0
  150. package/.llm/hover-card.llm.md +121 -0
  151. package/.llm/input-group-addon.llm.md +91 -0
  152. package/.llm/input-group-button.llm.md +120 -0
  153. package/.llm/input-group-input.llm.md +145 -0
  154. package/.llm/input-group-text.llm.md +75 -0
  155. package/.llm/input-group-textarea.llm.md +157 -0
  156. package/.llm/input-group.llm.md +108 -0
  157. package/.llm/input.llm.md +319 -0
  158. package/.llm/item-actions.llm.md +77 -0
  159. package/.llm/item-content.llm.md +73 -0
  160. package/.llm/item-description.llm.md +61 -0
  161. package/.llm/item-footer.llm.md +68 -0
  162. package/.llm/item-group.llm.md +73 -0
  163. package/.llm/item-header.llm.md +66 -0
  164. package/.llm/item-media.llm.md +75 -0
  165. package/.llm/item-separator.llm.md +80 -0
  166. package/.llm/item-title.llm.md +59 -0
  167. package/.llm/item.llm.md +115 -0
  168. package/.llm/kbd-group.llm.md +71 -0
  169. package/.llm/kbd.llm.md +71 -0
  170. package/.llm/label.llm.md +145 -0
  171. package/.llm/menubar-checkbox-item.llm.md +66 -0
  172. package/.llm/menubar-content.llm.md +128 -0
  173. package/.llm/menubar-group.llm.md +40 -0
  174. package/.llm/menubar-item.llm.md +62 -0
  175. package/.llm/menubar-label.llm.md +40 -0
  176. package/.llm/menubar-menu.llm.md +32 -0
  177. package/.llm/menubar-portal.llm.md +38 -0
  178. package/.llm/menubar-radio-group.llm.md +39 -0
  179. package/.llm/menubar-radio-item.llm.md +59 -0
  180. package/.llm/menubar-separator.llm.md +35 -0
  181. package/.llm/menubar-shortcut.llm.md +37 -0
  182. package/.llm/menubar-sub-content.llm.md +127 -0
  183. package/.llm/menubar-sub-trigger.llm.md +51 -0
  184. package/.llm/menubar-sub.llm.md +53 -0
  185. package/.llm/menubar-trigger.llm.md +37 -0
  186. package/.llm/menubar.llm.md +115 -0
  187. package/.llm/navigation-menu-content.llm.md +116 -0
  188. package/.llm/navigation-menu-indicator.llm.md +68 -0
  189. package/.llm/navigation-menu-item.llm.md +62 -0
  190. package/.llm/navigation-menu-link.llm.md +109 -0
  191. package/.llm/navigation-menu-list.llm.md +52 -0
  192. package/.llm/navigation-menu-trigger-style.llm.md +22 -0
  193. package/.llm/navigation-menu-trigger.llm.md +57 -0
  194. package/.llm/navigation-menu-viewport.llm.md +51 -0
  195. package/.llm/navigation-menu.llm.md +184 -0
  196. package/.llm/overline.llm.md +51 -0
  197. package/.llm/page-title.llm.md +52 -0
  198. package/.llm/pagination-content.llm.md +60 -0
  199. package/.llm/pagination-ellipsis.llm.md +107 -0
  200. package/.llm/pagination-item.llm.md +59 -0
  201. package/.llm/pagination-link.llm.md +150 -0
  202. package/.llm/pagination-next.llm.md +115 -0
  203. package/.llm/pagination-previous.llm.md +115 -0
  204. package/.llm/pagination.llm.md +190 -0
  205. package/.llm/popover-anchor.llm.md +53 -0
  206. package/.llm/popover-content.llm.md +109 -0
  207. package/.llm/popover-trigger.llm.md +54 -0
  208. package/.llm/popover.llm.md +116 -0
  209. package/.llm/progress.llm.md +76 -0
  210. package/.llm/radio-group-indicator.llm.md +28 -0
  211. package/.llm/radio-group-item.llm.md +40 -0
  212. package/.llm/radio-group.llm.md +76 -0
  213. package/.llm/resizable-handle.llm.md +156 -0
  214. package/.llm/resizable-panel-group.llm.md +149 -0
  215. package/.llm/resizable-panel.llm.md +157 -0
  216. package/.llm/scroll-area-corner.llm.md +41 -0
  217. package/.llm/scroll-area-thumb.llm.md +39 -0
  218. package/.llm/scroll-area-viewport.llm.md +60 -0
  219. package/.llm/scroll-area.llm.md +125 -0
  220. package/.llm/scroll-bar.llm.md +78 -0
  221. package/.llm/sdk-items-registry.json +2984 -0
  222. package/.llm/section-title.llm.md +48 -0
  223. package/.llm/select-content.llm.md +139 -0
  224. package/.llm/select-group.llm.md +60 -0
  225. package/.llm/select-item.llm.md +75 -0
  226. package/.llm/select-label.llm.md +62 -0
  227. package/.llm/select-scroll-down-button.llm.md +45 -0
  228. package/.llm/select-scroll-up-button.llm.md +45 -0
  229. package/.llm/select-separator.llm.md +59 -0
  230. package/.llm/select-trigger.llm.md +66 -0
  231. package/.llm/select-value.llm.md +67 -0
  232. package/.llm/select.llm.md +159 -0
  233. package/.llm/separator.llm.md +129 -0
  234. package/.llm/sheet-close.llm.md +49 -0
  235. package/.llm/sheet-content.llm.md +115 -0
  236. package/.llm/sheet-description.llm.md +62 -0
  237. package/.llm/sheet-footer.llm.md +64 -0
  238. package/.llm/sheet-header.llm.md +52 -0
  239. package/.llm/sheet-title.llm.md +53 -0
  240. package/.llm/sheet-trigger.llm.md +46 -0
  241. package/.llm/sheet.llm.md +126 -0
  242. package/.llm/sidebar-content.llm.md +63 -0
  243. package/.llm/sidebar-footer.llm.md +50 -0
  244. package/.llm/sidebar-group-action.llm.md +60 -0
  245. package/.llm/sidebar-group-content.llm.md +64 -0
  246. package/.llm/sidebar-group-label.llm.md +53 -0
  247. package/.llm/sidebar-group.llm.md +56 -0
  248. package/.llm/sidebar-header.llm.md +67 -0
  249. package/.llm/sidebar-input.llm.md +50 -0
  250. package/.llm/sidebar-inset.llm.md +52 -0
  251. package/.llm/sidebar-menu-action.llm.md +84 -0
  252. package/.llm/sidebar-menu-badge.llm.md +60 -0
  253. package/.llm/sidebar-menu-button.llm.md +103 -0
  254. package/.llm/sidebar-menu-item.llm.md +75 -0
  255. package/.llm/sidebar-menu-skeleton.llm.md +76 -0
  256. package/.llm/sidebar-menu-sub-button.llm.md +85 -0
  257. package/.llm/sidebar-menu-sub-item.llm.md +54 -0
  258. package/.llm/sidebar-menu-sub.llm.md +74 -0
  259. package/.llm/sidebar-menu.llm.md +65 -0
  260. package/.llm/sidebar-provider.llm.md +79 -0
  261. package/.llm/sidebar-rail.llm.md +34 -0
  262. package/.llm/sidebar-separator.llm.md +57 -0
  263. package/.llm/sidebar-trigger.llm.md +49 -0
  264. package/.llm/sidebar.llm.md +129 -0
  265. package/.llm/skeleton.llm.md +134 -0
  266. package/.llm/slider.llm.md +173 -0
  267. package/.llm/spinner.llm.md +182 -0
  268. package/.llm/stack.llm.md +28 -0
  269. package/.llm/subsection-title.llm.md +46 -0
  270. package/.llm/switch.llm.md +76 -0
  271. package/.llm/table-body.llm.md +36 -0
  272. package/.llm/table-caption.llm.md +48 -0
  273. package/.llm/table-cell.llm.md +53 -0
  274. package/.llm/table-footer.llm.md +41 -0
  275. package/.llm/table-head.llm.md +69 -0
  276. package/.llm/table-header.llm.md +41 -0
  277. package/.llm/table-row.llm.md +42 -0
  278. package/.llm/table.llm.md +123 -0
  279. package/.llm/tabs-content.llm.md +47 -0
  280. package/.llm/tabs-list.llm.md +41 -0
  281. package/.llm/tabs-trigger.llm.md +47 -0
  282. package/.llm/tabs.llm.md +71 -0
  283. package/.llm/text-field.llm.md +327 -0
  284. package/.llm/textarea.llm.md +311 -0
  285. package/.llm/theme-preference.llm.md +25 -0
  286. package/.llm/theme-toggle.llm.md +57 -0
  287. package/.llm/theme.llm.md +14 -0
  288. package/.llm/toaster.llm.md +193 -0
  289. package/.llm/toggle-group-item.llm.md +59 -0
  290. package/.llm/toggle-group.llm.md +101 -0
  291. package/.llm/toggle.llm.md +40 -0
  292. package/.llm/tooltip-content.llm.md +185 -0
  293. package/.llm/tooltip-provider.llm.md +68 -0
  294. package/.llm/tooltip-trigger.llm.md +70 -0
  295. package/.llm/tooltip.llm.md +129 -0
  296. package/.llm/use-carousel.llm.md +55 -0
  297. package/.llm/use-command-state.llm.md +32 -0
  298. package/.llm/use-is-mobile.llm.md +73 -0
  299. package/.llm/use-sidebar.llm.md +61 -0
  300. package/dist/components/ui/scroll-area.d.ts +5 -5
  301. package/dist/components/ui/scroll-area.d.ts.map +1 -1
  302. package/dist/components/ui/stack.d.ts.map +1 -1
  303. package/dist/components/ui/stories/scroll-area.stories.d.ts +1 -1
  304. package/dist/components/ui/stories/typography.stories.d.ts +8 -108
  305. package/dist/components/ui/stories/typography.stories.d.ts.map +1 -1
  306. package/dist/components/ui/theme-toggle.d.ts +0 -3
  307. package/dist/components/ui/theme-toggle.d.ts.map +1 -1
  308. package/dist/components/ui/theme.d.ts.map +1 -1
  309. package/dist/components/ui/typography.d.ts +211 -474
  310. package/dist/components/ui/typography.d.ts.map +1 -1
  311. package/dist/index.js +5160 -9875
  312. package/dist/index.js.map +1 -1
  313. package/dist/tsconfig.tsbuildinfo +1 -1
  314. package/package.json +2 -2
  315. package/src/components/ui/stack.tsx +3 -1
  316. package/src/components/ui/stories/typography.stories.tsx +261 -1512
  317. package/src/components/ui/theme-toggle.tsx +1 -3
  318. package/src/components/ui/theme.tsx +6 -1
  319. package/src/components/ui/typography.tsx +416 -1136
  320. package/src/styles/globals.css +57 -106
@@ -0,0 +1,77 @@
1
+ # ItemActions
2
+
3
+ **Type**: component
4
+
5
+ ItemActions - Container for action buttons and icons Positioned at the end of an item for displaying interactive elements like buttons, icons, or dropdown triggers. Flexbox layout with consistent gap spacing ensures proper alignment of multiple actions.
6
+
7
+ ## JSX Usage
8
+
9
+ ```jsx
10
+ import { ItemActions } from '@neynar/ui';
11
+
12
+ <ItemActions
13
+ className="value"
14
+ >
15
+ {/* Your content here */}
16
+ </ItemActions>
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
+ <Item>
36
+ <ItemContent>
37
+ <ItemTitle>Document</ItemTitle>
38
+ </ItemContent>
39
+ <ItemActions>
40
+ <Button variant="ghost" size="icon">
41
+ <MoreVertical />
42
+ </Button>
43
+ </ItemActions>
44
+ </Item>
45
+ ```
46
+ ### Example 2
47
+ ```tsx
48
+ // Multiple action buttons
49
+ <Item>
50
+ <ItemContent>
51
+ <ItemTitle>Task Item</ItemTitle>
52
+ </ItemContent>
53
+ <ItemActions>
54
+ <Button variant="ghost" size="icon">
55
+ <Star />
56
+ </Button>
57
+ <Button variant="ghost" size="icon">
58
+ <CheckCircle2 />
59
+ </Button>
60
+ <Button variant="ghost" size="icon">
61
+ <MoreVertical />
62
+ </Button>
63
+ </ItemActions>
64
+ </Item>
65
+ ```
66
+ ### Example 3
67
+ ```tsx
68
+ // Text button with chevron
69
+ <Item>
70
+ <ItemContent>
71
+ <ItemTitle>Settings</ItemTitle>
72
+ </ItemContent>
73
+ <ItemActions>
74
+ <ChevronRight className="size-4 text-muted-foreground" />
75
+ </ItemActions>
76
+ </Item>
77
+ ```
@@ -0,0 +1,73 @@
1
+ # ItemContent
2
+
3
+ **Type**: component
4
+
5
+ ItemContent - Main content container for item text Flexible container that holds ItemTitle, ItemDescription, ItemHeader, and ItemFooter. Automatically grows to fill available space (flex-1) and provides consistent gap spacing (gap-1) between children. Multiple ItemContent containers can be used, with subsequent ones not growing (flex-none).
6
+
7
+ ## JSX Usage
8
+
9
+ ```jsx
10
+ import { ItemContent } from '@neynar/ui';
11
+
12
+ <ItemContent
13
+ className="value"
14
+ >
15
+ {/* Your content here */}
16
+ </ItemContent>
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
+ <Item>
36
+ <ItemContent>
37
+ <ItemTitle>Document Name</ItemTitle>
38
+ <ItemDescription>Additional details</ItemDescription>
39
+ </ItemContent>
40
+ </Item>
41
+ ```
42
+ ### Example 2
43
+ ```tsx
44
+ // Content with header and footer
45
+ <Item>
46
+ <ItemMedia variant="icon">
47
+ <FileText />
48
+ </ItemMedia>
49
+ <ItemContent>
50
+ <ItemHeader>
51
+ <ItemTitle>Meeting Notes</ItemTitle>
52
+ <Badge>New</Badge>
53
+ </ItemHeader>
54
+ <ItemDescription>Notes from the team sync</ItemDescription>
55
+ <ItemFooter>
56
+ <span className="text-xs">Updated 5m ago</span>
57
+ </ItemFooter>
58
+ </ItemContent>
59
+ </Item>
60
+ ```
61
+ ### Example 3
62
+ ```tsx
63
+ // Multiple content containers
64
+ <Item>
65
+ <ItemContent>
66
+ <ItemTitle>Primary Content</ItemTitle>
67
+ <ItemDescription>Main information</ItemDescription>
68
+ </ItemContent>
69
+ <ItemContent>
70
+ <span className="text-xs text-muted-foreground">Metadata</span>
71
+ </ItemContent>
72
+ </Item>
73
+ ```
@@ -0,0 +1,61 @@
1
+ # ItemDescription
2
+
3
+ **Type**: component
4
+
5
+ ItemDescription - Secondary descriptive text Displays supplementary information below the item title. Automatically limits to 2 lines with text-balance for optimal wrapping. Includes special styling for inline links with hover states. Text color is muted for visual hierarchy.
6
+
7
+ ## JSX Usage
8
+
9
+ ```jsx
10
+ import { ItemDescription } from '@neynar/ui';
11
+
12
+ <ItemDescription
13
+ className="value"
14
+ >
15
+ {/* Your content here */}
16
+ </ItemDescription>
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
+ <ItemContent>
36
+ <ItemTitle>Project Documentation</ItemTitle>
37
+ <ItemDescription>
38
+ Complete guide to project setup and configuration
39
+ </ItemDescription>
40
+ </ItemContent>
41
+ ```
42
+ ### Example 2
43
+ ```tsx
44
+ // Description with link
45
+ <ItemContent>
46
+ <ItemTitle>Update Available</ItemTitle>
47
+ <ItemDescription>
48
+ A new version is available. <a href="#">Learn more</a>
49
+ </ItemDescription>
50
+ </ItemContent>
51
+ ```
52
+ ### Example 3
53
+ ```tsx
54
+ // Description with metadata
55
+ <ItemContent>
56
+ <ItemTitle>Team Meeting</ItemTitle>
57
+ <ItemDescription>
58
+ Discuss Q4 planning and resource allocation
59
+ </ItemDescription>
60
+ </ItemContent>
61
+ ```
@@ -0,0 +1,68 @@
1
+ # ItemFooter
2
+
3
+ **Type**: component
4
+
5
+ ItemFooter - Layout container for bottom metadata Creates a horizontal layout at the bottom of ItemContent, spanning full width with space-between distribution. Use for timestamps, file sizes, counts, or other supplementary information that should appear below the main content.
6
+
7
+ ## JSX Usage
8
+
9
+ ```jsx
10
+ import { ItemFooter } from '@neynar/ui';
11
+
12
+ <ItemFooter
13
+ className="value"
14
+ >
15
+ {/* Your content here */}
16
+ </ItemFooter>
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
+ <ItemContent>
36
+ <ItemTitle>Document.pdf</ItemTitle>
37
+ <ItemDescription>Project documentation</ItemDescription>
38
+ <ItemFooter>
39
+ <span className="text-xs text-muted-foreground">2.4 MB</span>
40
+ <span className="text-xs text-muted-foreground">Modified today</span>
41
+ </ItemFooter>
42
+ </ItemContent>
43
+ ```
44
+ ### Example 2
45
+ ```tsx
46
+ // Footer with single metadata
47
+ <ItemContent>
48
+ <ItemTitle>Team Meeting</ItemTitle>
49
+ <ItemDescription>Discuss Q4 planning</ItemDescription>
50
+ <ItemFooter>
51
+ <span className="text-xs text-muted-foreground">
52
+ Updated 5 minutes ago
53
+ </span>
54
+ </ItemFooter>
55
+ </ItemContent>
56
+ ```
57
+ ### Example 3
58
+ ```tsx
59
+ // Footer with multiple metadata items
60
+ <ItemContent>
61
+ <ItemTitle>Project Report</ItemTitle>
62
+ <ItemDescription>Q4 Financial Analysis</ItemDescription>
63
+ <ItemFooter>
64
+ <span className="text-xs text-muted-foreground">5.8 MB</span>
65
+ <span className="text-xs text-muted-foreground">Shared with 12</span>
66
+ </ItemFooter>
67
+ </ItemContent>
68
+ ```
@@ -0,0 +1,73 @@
1
+ # ItemGroup
2
+
3
+ **Type**: component
4
+
5
+ ItemGroup - Container for grouping multiple Item components Provides a semantic list container for organizing related items with consistent spacing and layout. Automatically applies role="list" for proper ARIA semantics. Use with ItemSeparator to visually separate items within the group.
6
+
7
+ ## JSX Usage
8
+
9
+ ```jsx
10
+ import { ItemGroup } from '@neynar/ui';
11
+
12
+ <ItemGroup
13
+ className="value"
14
+ >
15
+ {/* Your content here */}
16
+ </ItemGroup>
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
+ <ItemGroup>
36
+ <Item>
37
+ <ItemContent>
38
+ <ItemTitle>First Item</ItemTitle>
39
+ </ItemContent>
40
+ </Item>
41
+ <ItemSeparator />
42
+ <Item>
43
+ <ItemContent>
44
+ <ItemTitle>Second Item</ItemTitle>
45
+ </ItemContent>
46
+ </Item>
47
+ </ItemGroup>
48
+ ```
49
+ ### Example 2
50
+ ```tsx
51
+ // Notification list with grouped items
52
+ <ItemGroup>
53
+ <Item variant="muted">
54
+ <ItemMedia variant="icon">
55
+ <Bell />
56
+ </ItemMedia>
57
+ <ItemContent>
58
+ <ItemTitle>New notification</ItemTitle>
59
+ <ItemDescription>You have a new message</ItemDescription>
60
+ </ItemContent>
61
+ </Item>
62
+ <ItemSeparator />
63
+ <Item>
64
+ <ItemMedia variant="icon">
65
+ <Clock />
66
+ </ItemMedia>
67
+ <ItemContent>
68
+ <ItemTitle>Reminder</ItemTitle>
69
+ <ItemDescription>Meeting in 30 minutes</ItemDescription>
70
+ </ItemContent>
71
+ </Item>
72
+ </ItemGroup>
73
+ ```
@@ -0,0 +1,66 @@
1
+ # ItemHeader
2
+
3
+ **Type**: component
4
+
5
+ ItemHeader - Layout container for title and metadata Creates a horizontal layout spanning the full width of ItemContent, positioning content at the start and end (justify-between). Perfect for pairing ItemTitle with badges, timestamps, or other metadata that should appear on the same line.
6
+
7
+ ## JSX Usage
8
+
9
+ ```jsx
10
+ import { ItemHeader } from '@neynar/ui';
11
+
12
+ <ItemHeader
13
+ className="value"
14
+ >
15
+ {/* Your content here */}
16
+ </ItemHeader>
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
+ <ItemContent>
36
+ <ItemHeader>
37
+ <ItemTitle>Meeting Notes</ItemTitle>
38
+ <Badge variant="secondary">New</Badge>
39
+ </ItemHeader>
40
+ <ItemDescription>Notes from team sync</ItemDescription>
41
+ </ItemContent>
42
+ ```
43
+ ### Example 2
44
+ ```tsx
45
+ // Header with timestamp
46
+ <ItemContent>
47
+ <ItemHeader>
48
+ <ItemTitle>System Update</ItemTitle>
49
+ <span className="text-xs text-muted-foreground">2h ago</span>
50
+ </ItemHeader>
51
+ </ItemContent>
52
+ ```
53
+ ### Example 3
54
+ ```tsx
55
+ // Header with multiple badges
56
+ <ItemContent>
57
+ <ItemHeader>
58
+ <ItemTitle>Premium Feature</ItemTitle>
59
+ <div className="flex gap-1">
60
+ <Badge>Pro</Badge>
61
+ <Badge variant="secondary">Beta</Badge>
62
+ </div>
63
+ </ItemHeader>
64
+ <ItemDescription>Advanced analytics and reporting</ItemDescription>
65
+ </ItemContent>
66
+ ```
@@ -0,0 +1,75 @@
1
+ # ItemMedia
2
+
3
+ **Type**: component
4
+
5
+ ItemMedia - Media container for icons, images, or avatars Flexible media slot that appears at the start of an item. Supports three display modes: transparent (default), bordered icon container, or image container with object-fit styling. Automatically adjusts alignment when descriptions are present.
6
+
7
+ ## JSX Usage
8
+
9
+ ```jsx
10
+ import { ItemMedia } from '@neynar/ui';
11
+
12
+ <ItemMedia
13
+ variant={value}
14
+ className="value"
15
+ >
16
+ {/* Your content here */}
17
+ </ItemMedia>
18
+ ```
19
+
20
+ ## Component Props
21
+
22
+ ### variant
23
+ - **Type**: `"default" | "icon" | "image"`
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
+ // Icon variant with automatic sizing
42
+ <Item>
43
+ <ItemMedia variant="icon">
44
+ <FileText />
45
+ </ItemMedia>
46
+ <ItemContent>
47
+ <ItemTitle>Document</ItemTitle>
48
+ </ItemContent>
49
+ </Item>
50
+ ```
51
+ ### Example 2
52
+ ```tsx
53
+ // Image variant for avatars or thumbnails
54
+ <Item>
55
+ <ItemMedia variant="image">
56
+ <img src="/avatar.jpg" alt="User avatar" />
57
+ </ItemMedia>
58
+ <ItemContent>
59
+ <ItemTitle>John Doe</ItemTitle>
60
+ <ItemDescription>Product Manager</ItemDescription>
61
+ </ItemContent>
62
+ </Item>
63
+ ```
64
+ ### Example 3
65
+ ```tsx
66
+ // Default variant for custom content
67
+ <Item>
68
+ <ItemMedia>
69
+ <div className="size-12 rounded-full bg-gradient-to-br from-purple-400 to-pink-400" />
70
+ </ItemMedia>
71
+ <ItemContent>
72
+ <ItemTitle>Custom Media</ItemTitle>
73
+ </ItemContent>
74
+ </Item>
75
+ ```
@@ -0,0 +1,80 @@
1
+ # ItemSeparator
2
+
3
+ **Type**: component
4
+
5
+ ItemSeparator - Horizontal divider for separating items Provides a visual separator between items in an ItemGroup. Built on the Separator component with optimized spacing (my-0) to work seamlessly with item layouts. Always renders horizontally for consistent item list styling.
6
+
7
+ ## JSX Usage
8
+
9
+ ```jsx
10
+ import { ItemSeparator } from '@neynar/ui';
11
+
12
+ <ItemSeparator
13
+ className="value"
14
+ orientation={value}
15
+ decorative={true}
16
+ />
17
+ ```
18
+
19
+ ## Component Props
20
+
21
+ ### className
22
+ - **Type**: `string`
23
+ - **Required**: No
24
+ - **Description**: No description available
25
+
26
+ ### orientation
27
+ - **Type**: `"horizontal" | "vertical"`
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
+ <ItemGroup>
41
+ <Item>
42
+ <ItemContent>
43
+ <ItemTitle>First Item</ItemTitle>
44
+ </ItemContent>
45
+ </Item>
46
+ <ItemSeparator />
47
+ <Item>
48
+ <ItemContent>
49
+ <ItemTitle>Second Item</ItemTitle>
50
+ </ItemContent>
51
+ </Item>
52
+ </ItemGroup>
53
+ ```
54
+ ### Example 2
55
+ ```tsx
56
+ // File list with separators
57
+ <ItemGroup>
58
+ <Item asChild>
59
+ <a href="#">
60
+ <ItemMedia variant="icon">
61
+ <FileText />
62
+ </ItemMedia>
63
+ <ItemContent>
64
+ <ItemTitle>Document.pdf</ItemTitle>
65
+ </ItemContent>
66
+ </a>
67
+ </Item>
68
+ <ItemSeparator />
69
+ <Item asChild>
70
+ <a href="#">
71
+ <ItemMedia variant="icon">
72
+ <FileText />
73
+ </ItemMedia>
74
+ <ItemContent>
75
+ <ItemTitle>Report.docx</ItemTitle>
76
+ </ItemContent>
77
+ </a>
78
+ </Item>
79
+ </ItemGroup>
80
+ ```
@@ -0,0 +1,59 @@
1
+ # ItemTitle
2
+
3
+ **Type**: component
4
+
5
+ ItemTitle - Title text for an item Displays the primary title or heading text for an item. Uses medium font weight and tight line spacing for a prominent yet compact appearance. Inline-flex layout allows badges or icons to be positioned next to the title.
6
+
7
+ ## JSX Usage
8
+
9
+ ```jsx
10
+ import { ItemTitle } from '@neynar/ui';
11
+
12
+ <ItemTitle
13
+ className="value"
14
+ >
15
+ {/* Your content here */}
16
+ </ItemTitle>
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
+ <ItemContent>
36
+ <ItemTitle>Document.pdf</ItemTitle>
37
+ <ItemDescription>Last modified today</ItemDescription>
38
+ </ItemContent>
39
+ ```
40
+ ### Example 2
41
+ ```tsx
42
+ // Title with inline badge
43
+ <ItemContent>
44
+ <ItemTitle>
45
+ Premium Feature
46
+ <Badge variant="secondary">Pro</Badge>
47
+ </ItemTitle>
48
+ </ItemContent>
49
+ ```
50
+ ### Example 3
51
+ ```tsx
52
+ // Title with icon
53
+ <ItemContent>
54
+ <ItemTitle>
55
+ <Lock className="size-3" />
56
+ Private Document
57
+ </ItemTitle>
58
+ </ItemContent>
59
+ ```