@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,84 @@
1
+ # SidebarMenuAction
2
+
3
+ **Type**: component
4
+
5
+ Secondary action button for sidebar menu items A compact action button positioned on the right side of menu items, providing secondary actions like edit, delete, or more options. Can be configured to show only on hover for cleaner interfaces or remain always visible for important actions.
6
+
7
+ ## JSX Usage
8
+
9
+ ```jsx
10
+ import { SidebarMenuAction } from '@neynar/ui';
11
+
12
+ <SidebarMenuAction
13
+ className="value"
14
+ asChild={true}
15
+ showOnHover={true}
16
+ />
17
+ ```
18
+
19
+ ## Component Props
20
+
21
+ ### className
22
+ - **Type**: `string`
23
+ - **Required**: No
24
+ - **Description**: No description available
25
+
26
+ ### asChild
27
+ - **Type**: `boolean`
28
+ - **Required**: No
29
+ - **Description**: No description available
30
+
31
+ ### showOnHover
32
+ - **Type**: `boolean`
33
+ - **Required**: No
34
+ - **Description**: No description available
35
+
36
+ ## Examples
37
+
38
+ ### Example 1
39
+ ```tsx
40
+ // Always visible action button
41
+ <SidebarMenuItem>
42
+ <SidebarMenuButton>
43
+ <Folder />
44
+ <span>Projects</span>
45
+ </SidebarMenuButton>
46
+ <SidebarMenuAction>
47
+ <MoreHorizontal className="h-4 w-4" />
48
+ </SidebarMenuAction>
49
+ </SidebarMenuItem>
50
+ ```
51
+ ### Example 2
52
+ ```tsx
53
+ // Show only on hover
54
+ <SidebarMenuItem>
55
+ <SidebarMenuButton>
56
+ <File />
57
+ <span>Document</span>
58
+ </SidebarMenuButton>
59
+ <SidebarMenuAction showOnHover>
60
+ <Trash2 className="h-4 w-4" />
61
+ </SidebarMenuAction>
62
+ </SidebarMenuItem>
63
+ ```
64
+ ### Example 3
65
+ ```tsx
66
+ // Custom action with asChild
67
+ <SidebarMenuItem>
68
+ <SidebarMenuButton>
69
+ <Star />
70
+ <span>Favorites</span>
71
+ </SidebarMenuButton>
72
+ <SidebarMenuAction asChild>
73
+ <DropdownMenu>
74
+ <DropdownMenuTrigger>
75
+ <MoreVertical className="h-4 w-4" />
76
+ </DropdownMenuTrigger>
77
+ <DropdownMenuContent>
78
+ <DropdownMenuItem>Edit</DropdownMenuItem>
79
+ <DropdownMenuItem>Delete</DropdownMenuItem>
80
+ </DropdownMenuContent>
81
+ </DropdownMenu>
82
+ </SidebarMenuAction>
83
+ </SidebarMenuItem>
84
+ ```
@@ -0,0 +1,60 @@
1
+ # SidebarMenuBadge
2
+
3
+ **Type**: component
4
+
5
+ Badge indicator component for menu items Displays count indicators, status badges, or notification markers on menu items. Positioned on the right side of menu items and automatically coordinates with menu button states and sidebar collapse behavior.
6
+
7
+ ## JSX Usage
8
+
9
+ ```jsx
10
+ import { SidebarMenuBadge } from '@neynar/ui';
11
+
12
+ <SidebarMenuBadge
13
+ className="value"
14
+ />
15
+ ```
16
+
17
+ ## Component Props
18
+
19
+ ### className
20
+ - **Type**: `string`
21
+ - **Required**: No
22
+ - **Description**: No description available
23
+
24
+ ## Examples
25
+
26
+ ### Example 1
27
+ ```tsx
28
+ // Unread count badge
29
+ <SidebarMenuItem>
30
+ <SidebarMenuButton>
31
+ <Inbox />
32
+ <span>Messages</span>
33
+ </SidebarMenuButton>
34
+ <SidebarMenuBadge>12</SidebarMenuBadge>
35
+ </SidebarMenuItem>
36
+ ```
37
+ ### Example 2
38
+ ```tsx
39
+ // Status indicator
40
+ <SidebarMenuItem>
41
+ <SidebarMenuButton>
42
+ <Activity />
43
+ <span>System Status</span>
44
+ </SidebarMenuButton>
45
+ <SidebarMenuBadge className="bg-green-500">●</SidebarMenuBadge>
46
+ </SidebarMenuItem>
47
+ ```
48
+ ### Example 3
49
+ ```tsx
50
+ // Dynamic badge with state
51
+ <SidebarMenuItem>
52
+ <SidebarMenuButton>
53
+ <Bell />
54
+ <span>Notifications</span>
55
+ </SidebarMenuButton>
56
+ {notificationCount > 0 && (
57
+ <SidebarMenuBadge>{notificationCount}</SidebarMenuBadge>
58
+ )}
59
+ </SidebarMenuItem>
60
+ ```
@@ -0,0 +1,103 @@
1
+ # SidebarMenuButton
2
+
3
+ **Type**: component
4
+
5
+ Interactive navigation button for sidebar menu items The primary interactive element for sidebar navigation, offering a flexible button component that supports active states, multiple visual variants, tooltip integration for collapsed modes, and composition patterns through the asChild prop. Automatically adapts its appearance based on sidebar state and provides smooth hover/focus transitions.
6
+
7
+ ## JSX Usage
8
+
9
+ ```jsx
10
+ import { SidebarMenuButton } from '@neynar/ui';
11
+
12
+ <SidebarMenuButton
13
+ asChild={true}
14
+ isActive={true}
15
+ variant={value}
16
+ size={value}
17
+ tooltip={value}
18
+ className="value"
19
+ />
20
+ ```
21
+
22
+ ## Component Props
23
+
24
+ ### asChild
25
+ - **Type**: `boolean`
26
+ - **Required**: No
27
+ - **Description**: No description available
28
+
29
+ ### isActive
30
+ - **Type**: `boolean`
31
+ - **Required**: No
32
+ - **Description**: No description available
33
+
34
+ ### variant
35
+ - **Type**: `"default" | "outline"`
36
+ - **Required**: No
37
+ - **Description**: No description available
38
+
39
+ ### size
40
+ - **Type**: `"default" | "sm" | "lg"`
41
+ - **Required**: No
42
+ - **Description**: No description available
43
+
44
+ ### tooltip
45
+ - **Type**: `string | React.ComponentProps<typeof TooltipContent>`
46
+ - **Required**: No
47
+ - **Description**: No description available
48
+
49
+ ### className
50
+ - **Type**: `string`
51
+ - **Required**: No
52
+ - **Description**: No description available
53
+
54
+ ## Examples
55
+
56
+ ### Example 1
57
+ ```tsx
58
+ // Basic navigation button
59
+ <SidebarMenuButton>
60
+ <Home className="h-4 w-4" />
61
+ <span>Dashboard</span>
62
+ </SidebarMenuButton>
63
+ ```
64
+ ### Example 2
65
+ ```tsx
66
+ // Active state with Link composition
67
+ <SidebarMenuButton asChild isActive={pathname === '/dashboard'}>
68
+ <Link href="/dashboard">
69
+ <Home className="h-4 w-4" />
70
+ <span>Dashboard</span>
71
+ </Link>
72
+ </SidebarMenuButton>
73
+ ```
74
+ ### Example 3
75
+ ```tsx
76
+ // With tooltip for collapsed mode
77
+ <SidebarMenuButton tooltip="Go to Dashboard">
78
+ <Home className="h-4 w-4" />
79
+ <span>Dashboard</span>
80
+ </SidebarMenuButton>
81
+ ```
82
+ ### Example 4
83
+ ```tsx
84
+ // Different variants and sizes
85
+ <SidebarMenuButton variant="outline" size="lg">
86
+ <Settings className="h-4 w-4" />
87
+ <span>Settings</span>
88
+ </SidebarMenuButton>
89
+ ```
90
+ ### Example 5
91
+ ```tsx
92
+ // Custom tooltip with props
93
+ <SidebarMenuButton
94
+ tooltip={{
95
+ children: "Dashboard Overview",
96
+ side: "right",
97
+ sideOffset: 10
98
+ }}
99
+ >
100
+ <Home className="h-4 w-4" />
101
+ <span>Dashboard</span>
102
+ </SidebarMenuButton>
103
+ ```
@@ -0,0 +1,75 @@
1
+ # SidebarMenuItem
2
+
3
+ **Type**: component
4
+
5
+ Individual menu item container for sidebar navigation A list item container that wraps a single navigation item, typically containing a SidebarMenuButton along with optional components like SidebarMenuAction, SidebarMenuBadge, or SidebarMenuSub for hierarchical navigation.
6
+
7
+ ## JSX Usage
8
+
9
+ ```jsx
10
+ import { SidebarMenuItem } from '@neynar/ui';
11
+
12
+ <SidebarMenuItem
13
+ className="value"
14
+ />
15
+ ```
16
+
17
+ ## Component Props
18
+
19
+ ### className
20
+ - **Type**: `string`
21
+ - **Required**: No
22
+ - **Description**: No description available
23
+
24
+ ## Examples
25
+
26
+ ### Example 1
27
+ ```tsx
28
+ // Simple menu item with button
29
+ <SidebarMenuItem>
30
+ <SidebarMenuButton>
31
+ <Home />
32
+ <span>Dashboard</span>
33
+ </SidebarMenuButton>
34
+ </SidebarMenuItem>
35
+ ```
36
+ ### Example 2
37
+ ```tsx
38
+ // Menu item with badge
39
+ <SidebarMenuItem>
40
+ <SidebarMenuButton>
41
+ <Inbox />
42
+ <span>Messages</span>
43
+ </SidebarMenuButton>
44
+ <SidebarMenuBadge>5</SidebarMenuBadge>
45
+ </SidebarMenuItem>
46
+ ```
47
+ ### Example 3
48
+ ```tsx
49
+ // Menu item with action button
50
+ <SidebarMenuItem>
51
+ <SidebarMenuButton>
52
+ <Folder />
53
+ <span>Projects</span>
54
+ </SidebarMenuButton>
55
+ <SidebarMenuAction showOnHover>
56
+ <Plus />
57
+ </SidebarMenuAction>
58
+ </SidebarMenuItem>
59
+ ```
60
+ ### Example 4
61
+ ```tsx
62
+ // Menu item with submenu
63
+ <SidebarMenuItem>
64
+ <SidebarMenuButton>
65
+ <Folder />
66
+ <span>Projects</span>
67
+ <ChevronRight className="ml-auto" />
68
+ </SidebarMenuButton>
69
+ <SidebarMenuSub>
70
+ <SidebarMenuSubItem>
71
+ <SidebarMenuSubButton>Web App</SidebarMenuSubButton>
72
+ </SidebarMenuSubItem>
73
+ </SidebarMenuSub>
74
+ </SidebarMenuItem>
75
+ ```
@@ -0,0 +1,76 @@
1
+ # SidebarMenuSkeleton
2
+
3
+ **Type**: component
4
+
5
+ Loading skeleton placeholder for menu items Displays an animated loading placeholder while menu items are being fetched or loaded. Features random width variation to simulate realistic content and optional icon placeholder for more accurate representation.
6
+
7
+ ## JSX Usage
8
+
9
+ ```jsx
10
+ import { SidebarMenuSkeleton } from '@neynar/ui';
11
+
12
+ <SidebarMenuSkeleton
13
+ className="value"
14
+ showIcon={true}
15
+ />
16
+ ```
17
+
18
+ ## Component Props
19
+
20
+ ### className
21
+ - **Type**: `string`
22
+ - **Required**: No
23
+ - **Description**: No description available
24
+
25
+ ### showIcon
26
+ - **Type**: `boolean`
27
+ - **Required**: No
28
+ - **Description**: No description available
29
+
30
+ ## Examples
31
+
32
+ ### Example 1
33
+ ```tsx
34
+ // Basic skeleton without icon
35
+ <SidebarMenu>
36
+ <SidebarMenuItem>
37
+ <SidebarMenuSkeleton />
38
+ </SidebarMenuItem>
39
+ <SidebarMenuItem>
40
+ <SidebarMenuSkeleton />
41
+ </SidebarMenuItem>
42
+ </SidebarMenu>
43
+ ```
44
+ ### Example 2
45
+ ```tsx
46
+ // Skeleton with icon placeholder
47
+ <SidebarMenu>
48
+ {Array.from({ length: 5 }).map((_, index) => (
49
+ <SidebarMenuItem key={index}>
50
+ <SidebarMenuSkeleton showIcon />
51
+ </SidebarMenuItem>
52
+ ))}
53
+ </SidebarMenu>
54
+ ```
55
+ ### Example 3
56
+ ```tsx
57
+ // Loading state with React Suspense
58
+ <SidebarGroup>
59
+ <SidebarGroupLabel>Projects</SidebarGroupLabel>
60
+ <SidebarGroupContent>
61
+ <SidebarMenu>
62
+ <React.Suspense
63
+ fallback={
64
+ <>
65
+ <SidebarMenuItem><SidebarMenuSkeleton showIcon /></SidebarMenuItem>
66
+ <SidebarMenuItem><SidebarMenuSkeleton showIcon /></SidebarMenuItem>
67
+ <SidebarMenuItem><SidebarMenuSkeleton showIcon /></SidebarMenuItem>
68
+ </>
69
+ }
70
+ >
71
+ <ProjectsList />
72
+ </React.Suspense>
73
+ </SidebarMenu>
74
+ </SidebarGroupContent>
75
+ </SidebarGroup>
76
+ ```
@@ -0,0 +1,85 @@
1
+ # SidebarMenuSubButton
2
+
3
+ **Type**: component
4
+
5
+ Interactive button component for submenu navigation The primary interactive element for nested navigation items within submenus, featuring support for active states, different sizes, and composition patterns. Designed specifically for hierarchical navigation with appropriate styling and spacing.
6
+
7
+ ## JSX Usage
8
+
9
+ ```jsx
10
+ import { SidebarMenuSubButton } from '@neynar/ui';
11
+
12
+ <SidebarMenuSubButton
13
+ asChild={true}
14
+ size={value}
15
+ isActive={true}
16
+ className="value"
17
+ />
18
+ ```
19
+
20
+ ## Component Props
21
+
22
+ ### asChild
23
+ - **Type**: `boolean`
24
+ - **Required**: No
25
+ - **Description**: No description available
26
+
27
+ ### size
28
+ - **Type**: `"sm" | "md"`
29
+ - **Required**: No
30
+ - **Description**: No description available
31
+
32
+ ### isActive
33
+ - **Type**: `boolean`
34
+ - **Required**: No
35
+ - **Description**: No description available
36
+
37
+ ### className
38
+ - **Type**: `string`
39
+ - **Required**: No
40
+ - **Description**: No description available
41
+
42
+ ## Examples
43
+
44
+ ### Example 1
45
+ ```tsx
46
+ // Basic submenu button
47
+ <SidebarMenuSubItem>
48
+ <SidebarMenuSubButton>
49
+ <span>Documentation</span>
50
+ </SidebarMenuSubButton>
51
+ </SidebarMenuSubItem>
52
+ ```
53
+ ### Example 2
54
+ ```tsx
55
+ // Link composition with active state
56
+ <SidebarMenuSubItem>
57
+ <SidebarMenuSubButton
58
+ asChild
59
+ isActive={pathname === '/projects/mobile'}
60
+ >
61
+ <Link href="/projects/mobile">
62
+ <span>Mobile Application</span>
63
+ </Link>
64
+ </SidebarMenuSubButton>
65
+ </SidebarMenuSubItem>
66
+ ```
67
+ ### Example 3
68
+ ```tsx
69
+ // Small size variant
70
+ <SidebarMenuSubItem>
71
+ <SidebarMenuSubButton size="sm">
72
+ <span>API Reference</span>
73
+ </SidebarMenuSubButton>
74
+ </SidebarMenuSubItem>
75
+ ```
76
+ ### Example 4
77
+ ```tsx
78
+ // With icon and custom styling
79
+ <SidebarMenuSubItem>
80
+ <SidebarMenuSubButton className="gap-3">
81
+ <File className="h-3 w-3" />
82
+ <span>README.md</span>
83
+ </SidebarMenuSubButton>
84
+ </SidebarMenuSubItem>
85
+ ```
@@ -0,0 +1,54 @@
1
+ # SidebarMenuSubItem
2
+
3
+ **Type**: component
4
+
5
+ Individual item container within submenu navigation A list item container for single nested navigation items within a submenu, providing the structural foundation for hierarchical navigation elements.
6
+
7
+ ## JSX Usage
8
+
9
+ ```jsx
10
+ import { SidebarMenuSubItem } from '@neynar/ui';
11
+
12
+ <SidebarMenuSubItem
13
+ className="value"
14
+ />
15
+ ```
16
+
17
+ ## Component Props
18
+
19
+ ### className
20
+ - **Type**: `string`
21
+ - **Required**: No
22
+ - **Description**: No description available
23
+
24
+ ## Examples
25
+
26
+ ### Example 1
27
+ ```tsx
28
+ // Basic submenu item
29
+ <SidebarMenuSub>
30
+ <SidebarMenuSubItem>
31
+ <SidebarMenuSubButton asChild>
32
+ <Link href="/projects/web-app">
33
+ <span>Web Application</span>
34
+ </Link>
35
+ </SidebarMenuSubButton>
36
+ </SidebarMenuSubItem>
37
+ </SidebarMenuSub>
38
+ ```
39
+ ### Example 2
40
+ ```tsx
41
+ // Submenu item with active state
42
+ <SidebarMenuSub>
43
+ <SidebarMenuSubItem>
44
+ <SidebarMenuSubButton
45
+ isActive={pathname === '/settings/general'}
46
+ asChild
47
+ >
48
+ <Link href="/settings/general">
49
+ <span>General Settings</span>
50
+ </Link>
51
+ </SidebarMenuSubButton>
52
+ </SidebarMenuSubItem>
53
+ </SidebarMenuSub>
54
+ ```
@@ -0,0 +1,74 @@
1
+ # SidebarMenuSub
2
+
3
+ **Type**: component
4
+
5
+ Submenu container for hierarchical navigation A specialized container for nested navigation items that provides visual hierarchy through indentation and connecting border lines. Perfect for organizing complex navigation structures with parent-child relationships.
6
+
7
+ ## JSX Usage
8
+
9
+ ```jsx
10
+ import { SidebarMenuSub } from '@neynar/ui';
11
+
12
+ <SidebarMenuSub
13
+ className="value"
14
+ />
15
+ ```
16
+
17
+ ## Component Props
18
+
19
+ ### className
20
+ - **Type**: `string`
21
+ - **Required**: No
22
+ - **Description**: No description available
23
+
24
+ ## Examples
25
+
26
+ ### Example 1
27
+ ```tsx
28
+ // Collapsible submenu with parent item
29
+ <SidebarMenuItem>
30
+ <Collapsible>
31
+ <CollapsibleTrigger asChild>
32
+ <SidebarMenuButton>
33
+ <Folder />
34
+ <span>Projects</span>
35
+ <ChevronRight className="ml-auto transition-transform group-data-[state=open]:rotate-90" />
36
+ </SidebarMenuButton>
37
+ </CollapsibleTrigger>
38
+ <CollapsibleContent>
39
+ <SidebarMenuSub>
40
+ <SidebarMenuSubItem>
41
+ <SidebarMenuSubButton>Web Application</SidebarMenuSubButton>
42
+ </SidebarMenuSubItem>
43
+ <SidebarMenuSubItem>
44
+ <SidebarMenuSubButton>Mobile App</SidebarMenuSubButton>
45
+ </SidebarMenuSubItem>
46
+ <SidebarMenuSubItem>
47
+ <SidebarMenuSubButton>Documentation</SidebarMenuSubButton>
48
+ </SidebarMenuSubItem>
49
+ </SidebarMenuSub>
50
+ </CollapsibleContent>
51
+ </Collapsible>
52
+ </SidebarMenuItem>
53
+ ```
54
+ ### Example 2
55
+ ```tsx
56
+ // Always expanded submenu
57
+ <SidebarMenuItem>
58
+ <SidebarMenuButton>
59
+ <Settings />
60
+ <span>Settings</span>
61
+ </SidebarMenuButton>
62
+ <SidebarMenuSub>
63
+ <SidebarMenuSubItem>
64
+ <SidebarMenuSubButton>General</SidebarMenuSubButton>
65
+ </SidebarMenuSubItem>
66
+ <SidebarMenuSubItem>
67
+ <SidebarMenuSubButton>Privacy</SidebarMenuSubButton>
68
+ </SidebarMenuSubItem>
69
+ <SidebarMenuSubItem>
70
+ <SidebarMenuSubButton>Security</SidebarMenuSubButton>
71
+ </SidebarMenuSubItem>
72
+ </SidebarMenuSub>
73
+ </SidebarMenuItem>
74
+ ```
@@ -0,0 +1,65 @@
1
+ # SidebarMenu
2
+
3
+ **Type**: component
4
+
5
+ Navigation menu container for organizing sidebar items An unordered list container that holds and organizes SidebarMenuItem components. Provides consistent spacing, layout, and semantic structure for navigation items within sidebar groups or sections.
6
+
7
+ ## JSX Usage
8
+
9
+ ```jsx
10
+ import { SidebarMenu } from '@neynar/ui';
11
+
12
+ <SidebarMenu
13
+ className="value"
14
+ />
15
+ ```
16
+
17
+ ## Component Props
18
+
19
+ ### className
20
+ - **Type**: `string`
21
+ - **Required**: No
22
+ - **Description**: No description available
23
+
24
+ ## Examples
25
+
26
+ ### Example 1
27
+ ```tsx
28
+ // Basic navigation menu
29
+ <SidebarMenu>
30
+ <SidebarMenuItem>
31
+ <SidebarMenuButton>
32
+ <Home />
33
+ <span>Dashboard</span>
34
+ </SidebarMenuButton>
35
+ </SidebarMenuItem>
36
+ <SidebarMenuItem>
37
+ <SidebarMenuButton>
38
+ <Settings />
39
+ <span>Settings</span>
40
+ </SidebarMenuButton>
41
+ </SidebarMenuItem>
42
+ </SidebarMenu>
43
+ ```
44
+ ### Example 2
45
+ ```tsx
46
+ // Menu with badges and actions
47
+ <SidebarMenu>
48
+ <SidebarMenuItem>
49
+ <SidebarMenuButton>
50
+ <Inbox />
51
+ <span>Messages</span>
52
+ </SidebarMenuButton>
53
+ <SidebarMenuBadge>3</SidebarMenuBadge>
54
+ </SidebarMenuItem>
55
+ <SidebarMenuItem>
56
+ <SidebarMenuButton>
57
+ <Archive />
58
+ <span>Archive</span>
59
+ </SidebarMenuButton>
60
+ <SidebarMenuAction>
61
+ <MoreHorizontal />
62
+ </SidebarMenuAction>
63
+ </SidebarMenuItem>
64
+ </SidebarMenu>
65
+ ```