@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,46 @@
1
+ # SheetTrigger
2
+
3
+ **Type**: component
4
+
5
+ SheetTrigger - Button or element that opens the sheet The trigger element that users interact with to open the sheet. Use the `asChild` prop to render as a different element while maintaining the trigger functionality. When clicked, opens the sheet and manages focus appropriately.
6
+
7
+ ## JSX Usage
8
+
9
+ ```jsx
10
+ import { SheetTrigger } from '@neynar/ui';
11
+
12
+ <SheetTrigger
13
+ asChild={true}
14
+ >
15
+ {/* Your content here */}
16
+ </SheetTrigger>
17
+ ```
18
+
19
+ ## Component Props
20
+
21
+ ### asChild
22
+ - **Type**: `boolean`
23
+ - **Required**: No
24
+ - **Description**: When true, merges props with child element instead of rendering a button
25
+
26
+ ### children
27
+ - **Type**: `React.ReactNode`
28
+ - **Required**: No
29
+ - **Description**: Child element to render as the trigger. Required when asChild is true
30
+
31
+ ## Examples
32
+
33
+ ```tsx
34
+ // As a styled button
35
+ <SheetTrigger asChild>
36
+ <Button variant="outline">Open Settings</Button>
37
+ </SheetTrigger>
38
+ // As a simple button
39
+ <SheetTrigger>Click to open</SheetTrigger>
40
+ // As an icon button
41
+ <SheetTrigger asChild>
42
+ <Button size="icon" variant="ghost">
43
+ <MenuIcon className="h-4 w-4" />
44
+ </Button>
45
+ </SheetTrigger>
46
+ ```
@@ -0,0 +1,126 @@
1
+ # Sheet
2
+
3
+ **Type**: component
4
+
5
+ Sheet - A slide-out panel that displays supplementary content A versatile sheet component that slides in from any edge of the screen to display supplementary content without fully blocking the main interface. Built on Radix UI Dialog primitives with smooth animations and comprehensive accessibility support. Sheets are ideal for: - Mobile navigation menus - Settings panels and configuration forms - Contextual information displays - Secondary actions that don't require full attention - Filters and search interfaces
6
+
7
+ ## JSX Usage
8
+
9
+ ```jsx
10
+ import { Sheet } from '@neynar/ui';
11
+
12
+ <Sheet
13
+ open={true}
14
+ onOpenChange={handleOpenChange}
15
+ defaultOpen={true}
16
+ modal={true}
17
+ >
18
+ {/* Your content here */}
19
+ </Sheet>
20
+ ```
21
+
22
+ ## Component Props
23
+
24
+ ### open
25
+ - **Type**: `boolean`
26
+ - **Required**: No
27
+ - **Description**: No description available
28
+
29
+ ### onOpenChange
30
+ - **Type**: `(open: boolean) => void`
31
+ - **Required**: No
32
+ - **Description**: No description available
33
+
34
+ ### defaultOpen
35
+ - **Type**: `boolean`
36
+ - **Required**: No
37
+ - **Description**: No description available
38
+
39
+ ### modal
40
+ - **Type**: `boolean`
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 sheet from right side (default)
54
+ <Sheet>
55
+ <SheetTrigger asChild>
56
+ <Button>Open Settings</Button>
57
+ </SheetTrigger>
58
+ <SheetContent>
59
+ <SheetHeader>
60
+ <SheetTitle>Settings</SheetTitle>
61
+ <SheetDescription>
62
+ Configure your application preferences.
63
+ </SheetDescription>
64
+ </SheetHeader>
65
+ <div className="py-4">
66
+ <p>Settings content here</p>
67
+ </div>
68
+ <SheetFooter>
69
+ <Button type="submit">Save Changes</Button>
70
+ </SheetFooter>
71
+ </SheetContent>
72
+ </Sheet>
73
+ ```
74
+ ### Example 2
75
+ ```tsx
76
+ // Sheet from different sides with controlled state
77
+ function NavigationSheet() {
78
+ const [open, setOpen] = useState(false)
79
+ return (
80
+ <Sheet open={open} onOpenChange={setOpen}>
81
+ <SheetTrigger asChild>
82
+ <Button variant="outline">Menu</Button>
83
+ </SheetTrigger>
84
+ <SheetContent side="left">
85
+ <SheetHeader>
86
+ <SheetTitle>Navigation</SheetTitle>
87
+ </SheetHeader>
88
+ <nav className="py-4">
89
+ <Button variant="ghost" className="w-full justify-start">
90
+ Dashboard
91
+ </Button>
92
+ </nav>
93
+ </SheetContent>
94
+ </Sheet>
95
+ )
96
+ }
97
+ ```
98
+ ### Example 3
99
+ ```tsx
100
+ // Sheet with form handling
101
+ <Sheet>
102
+ <SheetTrigger asChild>
103
+ <Button>Edit Profile</Button>
104
+ </SheetTrigger>
105
+ <SheetContent>
106
+ <form onSubmit={handleSubmit}>
107
+ <SheetHeader>
108
+ <SheetTitle>Edit Profile</SheetTitle>
109
+ <SheetDescription>
110
+ Update your profile information.
111
+ </SheetDescription>
112
+ </SheetHeader>
113
+ <div className="grid gap-4 py-4">
114
+ <Input placeholder="Name" />
115
+ <Input placeholder="Email" type="email" />
116
+ </div>
117
+ <SheetFooter>
118
+ <SheetClose asChild>
119
+ <Button type="button" variant="outline">Cancel</Button>
120
+ </SheetClose>
121
+ <Button type="submit">Save</Button>
122
+ </SheetFooter>
123
+ </form>
124
+ </SheetContent>
125
+ </Sheet>
126
+ ```
@@ -0,0 +1,63 @@
1
+ # SidebarContent
2
+
3
+ **Type**: component
4
+
5
+ Scrollable main content area of the sidebar The primary content container that houses navigation groups, menus, and other sidebar content. Provides automatic scrolling when content exceeds available height and handles overflow behavior when the sidebar is collapsed.
6
+
7
+ ## JSX Usage
8
+
9
+ ```jsx
10
+ import { SidebarContent } from '@neynar/ui';
11
+
12
+ <SidebarContent
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 content with navigation groups
29
+ <SidebarContent>
30
+ <SidebarGroup>
31
+ <SidebarGroupLabel>Main</SidebarGroupLabel>
32
+ <SidebarGroupContent>
33
+ <SidebarMenu>
34
+ <SidebarMenuItem>
35
+ <SidebarMenuButton>
36
+ <Home />
37
+ <span>Dashboard</span>
38
+ </SidebarMenuButton>
39
+ </SidebarMenuItem>
40
+ </SidebarMenu>
41
+ </SidebarGroupContent>
42
+ </SidebarGroup>
43
+ </SidebarContent>
44
+ ```
45
+ ### Example 2
46
+ ```tsx
47
+ // Multiple groups with separators
48
+ <SidebarContent>
49
+ <SidebarGroup>
50
+ <SidebarGroupLabel>Navigation</SidebarGroupLabel>
51
+ <SidebarGroupContent>
52
+ // Navigation items
53
+ </SidebarGroupContent>
54
+ </SidebarGroup>
55
+ <SidebarSeparator />
56
+ <SidebarGroup>
57
+ <SidebarGroupLabel>Projects</SidebarGroupLabel>
58
+ <SidebarGroupContent>
59
+ // Project items
60
+ </SidebarGroupContent>
61
+ </SidebarGroup>
62
+ </SidebarContent>
63
+ ```
@@ -0,0 +1,50 @@
1
+ # SidebarFooter
2
+
3
+ **Type**: component
4
+
5
+ Footer section container for sidebar content A container positioned at the bottom of the sidebar for footer content such as user profiles, settings links, logout buttons, or help resources. The footer remains anchored to the bottom regardless of content height.
6
+
7
+ ## JSX Usage
8
+
9
+ ```jsx
10
+ import { SidebarFooter } from '@neynar/ui';
11
+
12
+ <SidebarFooter
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 footer with settings link
29
+ <SidebarFooter>
30
+ <SidebarMenu>
31
+ <SidebarMenuItem>
32
+ <SidebarMenuButton>
33
+ <Settings />
34
+ <span>Settings</span>
35
+ </SidebarMenuButton>
36
+ </SidebarMenuItem>
37
+ </SidebarMenu>
38
+ </SidebarFooter>
39
+ ```
40
+ ### Example 2
41
+ ```tsx
42
+ // Footer with user profile and actions
43
+ <SidebarFooter>
44
+ <SidebarMenu>
45
+ <SidebarMenuItem>
46
+ <SidebarMenuButton>
47
+ <Avatar className="h-6 w-6" />
48
+ <div className="flex flex-col text-left">
49
+ <span className="text-sm">John Doe</span>
50
+ <span className="text-xs text-muted-foreground">john
@@ -0,0 +1,60 @@
1
+ # SidebarGroupAction
2
+
3
+ **Type**: component
4
+
5
+ Action button positioned within sidebar groups A compact action button positioned at the top-right of a sidebar group, typically used for group-specific actions such as adding new items, editing group settings, or accessing group options. Automatically hidden when collapsed.
6
+
7
+ ## JSX Usage
8
+
9
+ ```jsx
10
+ import { SidebarGroupAction } from '@neynar/ui';
11
+
12
+ <SidebarGroupAction
13
+ className="value"
14
+ asChild={true}
15
+ />
16
+ ```
17
+
18
+ ## Component Props
19
+
20
+ ### className
21
+ - **Type**: `string`
22
+ - **Required**: No
23
+ - **Description**: No description available
24
+
25
+ ### asChild
26
+ - **Type**: `boolean`
27
+ - **Required**: No
28
+ - **Description**: No description available
29
+
30
+ ## Examples
31
+
32
+ ### Example 1
33
+ ```tsx
34
+ // Add button for projects group
35
+ <SidebarGroup>
36
+ <SidebarGroupLabel>Projects</SidebarGroupLabel>
37
+ <SidebarGroupAction>
38
+ <Plus className="h-4 w-4" />
39
+ <span className="sr-only">Add Project</span>
40
+ </SidebarGroupAction>
41
+ <SidebarGroupContent>
42
+ // Project items
43
+ </SidebarGroupContent>
44
+ </SidebarGroup>
45
+ ```
46
+ ### Example 2
47
+ ```tsx
48
+ // Custom action with asChild
49
+ <SidebarGroup>
50
+ <SidebarGroupLabel>Settings</SidebarGroupLabel>
51
+ <SidebarGroupAction asChild>
52
+ <Button variant="ghost" size="sm">
53
+ <MoreHorizontal className="h-4 w-4" />
54
+ </Button>
55
+ </SidebarGroupAction>
56
+ <SidebarGroupContent>
57
+ // Settings items
58
+ </SidebarGroupContent>
59
+ </SidebarGroup>
60
+ ```
@@ -0,0 +1,64 @@
1
+ # SidebarGroupContent
2
+
3
+ **Type**: component
4
+
5
+ Content container for sidebar group items Houses the actual navigation items, menus, and content within a sidebar group. Provides consistent spacing and organization for group content while maintaining proper typography and layout coordination.
6
+
7
+ ## JSX Usage
8
+
9
+ ```jsx
10
+ import { SidebarGroupContent } from '@neynar/ui';
11
+
12
+ <SidebarGroupContent
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 content with menu items
29
+ <SidebarGroup>
30
+ <SidebarGroupLabel>Navigation</SidebarGroupLabel>
31
+ <SidebarGroupContent>
32
+ <SidebarMenu>
33
+ <SidebarMenuItem>
34
+ <SidebarMenuButton>
35
+ <Home />
36
+ <span>Dashboard</span>
37
+ </SidebarMenuButton>
38
+ </SidebarMenuItem>
39
+ <SidebarMenuItem>
40
+ <SidebarMenuButton>
41
+ <Settings />
42
+ <span>Settings</span>
43
+ </SidebarMenuButton>
44
+ </SidebarMenuItem>
45
+ </SidebarMenu>
46
+ </SidebarGroupContent>
47
+ </SidebarGroup>
48
+ ```
49
+ ### Example 2
50
+ ```tsx
51
+ // Multiple menus in group content
52
+ <SidebarGroup>
53
+ <SidebarGroupLabel>Projects</SidebarGroupLabel>
54
+ <SidebarGroupContent>
55
+ <SidebarMenu>
56
+ // Recent projects
57
+ </SidebarMenu>
58
+ <SidebarSeparator />
59
+ <SidebarMenu>
60
+ // Archived projects
61
+ </SidebarMenu>
62
+ </SidebarGroupContent>
63
+ </SidebarGroup>
64
+ ```
@@ -0,0 +1,53 @@
1
+ # SidebarGroupLabel
2
+
3
+ **Type**: component
4
+
5
+ Label component for sidebar groups Displays a descriptive label for a group of sidebar items, providing clear categorization and hierarchy. The label automatically hides when the sidebar is collapsed to icon mode to maintain clean visual presentation.
6
+
7
+ ## JSX Usage
8
+
9
+ ```jsx
10
+ import { SidebarGroupLabel } from '@neynar/ui';
11
+
12
+ <SidebarGroupLabel
13
+ className="value"
14
+ asChild={true}
15
+ />
16
+ ```
17
+
18
+ ## Component Props
19
+
20
+ ### className
21
+ - **Type**: `string`
22
+ - **Required**: No
23
+ - **Description**: No description available
24
+
25
+ ### asChild
26
+ - **Type**: `boolean`
27
+ - **Required**: No
28
+ - **Description**: No description available
29
+
30
+ ## Examples
31
+
32
+ ### Example 1
33
+ ```tsx
34
+ // Standard text label
35
+ <SidebarGroup>
36
+ <SidebarGroupLabel>Main Navigation</SidebarGroupLabel>
37
+ <SidebarGroupContent>
38
+ // Menu items
39
+ </SidebarGroupContent>
40
+ </SidebarGroup>
41
+ ```
42
+ ### Example 2
43
+ ```tsx
44
+ // Custom element using asChild
45
+ <SidebarGroup>
46
+ <SidebarGroupLabel asChild>
47
+ <h3 className="custom-heading">Projects</h3>
48
+ </SidebarGroupLabel>
49
+ <SidebarGroupContent>
50
+ // Project items
51
+ </SidebarGroupContent>
52
+ </SidebarGroup>
53
+ ```
@@ -0,0 +1,56 @@
1
+ # SidebarGroup
2
+
3
+ **Type**: component
4
+
5
+ Container for organizing related sidebar navigation items Groups related navigation items together with optional labels and actions, providing visual organization and hierarchy for complex navigation structures. Groups can include labels, action buttons, and any combination of menu items.
6
+
7
+ ## JSX Usage
8
+
9
+ ```jsx
10
+ import { SidebarGroup } from '@neynar/ui';
11
+
12
+ <SidebarGroup
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 group with label and menu
29
+ <SidebarGroup>
30
+ <SidebarGroupLabel>Navigation</SidebarGroupLabel>
31
+ <SidebarGroupContent>
32
+ <SidebarMenu>
33
+ <SidebarMenuItem>
34
+ <SidebarMenuButton>
35
+ <Home />
36
+ <span>Dashboard</span>
37
+ </SidebarMenuButton>
38
+ </SidebarMenuItem>
39
+ </SidebarMenu>
40
+ </SidebarGroupContent>
41
+ </SidebarGroup>
42
+ ```
43
+ ### Example 2
44
+ ```tsx
45
+ // Group with action button
46
+ <SidebarGroup>
47
+ <SidebarGroupLabel>Projects</SidebarGroupLabel>
48
+ <SidebarGroupAction>
49
+ <Plus className="h-4 w-4" />
50
+ <span className="sr-only">Add Project</span>
51
+ </SidebarGroupAction>
52
+ <SidebarGroupContent>
53
+ // Project items
54
+ </SidebarGroupContent>
55
+ </SidebarGroup>
56
+ ```
@@ -0,0 +1,67 @@
1
+ # SidebarHeader
2
+
3
+ **Type**: component
4
+
5
+ Header section container for sidebar content A flexible container for sidebar header content such as logos, application titles, user information, or action buttons. The header remains visible even when the sidebar is collapsed to icon mode, making it ideal for persistent branding or key actions.
6
+
7
+ ## JSX Usage
8
+
9
+ ```jsx
10
+ import { SidebarHeader } from '@neynar/ui';
11
+
12
+ <SidebarHeader
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 header with title
29
+ <SidebarHeader>
30
+ <h2 className="text-lg font-semibold">My Application</h2>
31
+ </SidebarHeader>
32
+ ```
33
+ ### Example 2
34
+ ```tsx
35
+ // Header with trigger and search
36
+ <SidebarHeader>
37
+ <div className="flex items-center justify-between">
38
+ <h2>Navigation</h2>
39
+ <SidebarTrigger />
40
+ </div>
41
+ <SidebarInput placeholder="Search..." className="mt-2" />
42
+ </SidebarHeader>
43
+ ```
44
+ ### Example 3
45
+ ```tsx
46
+ // Header with user menu
47
+ <SidebarHeader>
48
+ <SidebarMenu>
49
+ <SidebarMenuItem>
50
+ <DropdownMenu>
51
+ <DropdownMenuTrigger asChild>
52
+ <SidebarMenuButton>
53
+ <Avatar />
54
+ <span>John Doe</span>
55
+ <ChevronDown className="ml-auto" />
56
+ </SidebarMenuButton>
57
+ </DropdownMenuTrigger>
58
+ <DropdownMenuContent>
59
+ <DropdownMenuItem>Profile</DropdownMenuItem>
60
+ <DropdownMenuItem>Settings</DropdownMenuItem>
61
+ <DropdownMenuItem>Logout</DropdownMenuItem>
62
+ </DropdownMenuContent>
63
+ </DropdownMenu>
64
+ </SidebarMenuItem>
65
+ </SidebarMenu>
66
+ </SidebarHeader>
67
+ ```
@@ -0,0 +1,50 @@
1
+ # SidebarInput
2
+
3
+ **Type**: component
4
+
5
+ Input component optimized for sidebar usage A pre-styled input field designed to integrate seamlessly within sidebar layouts. Commonly used for search functionality, filters, or other input needs within the sidebar context. Features appropriate sizing and styling for sidebar use.
6
+
7
+ ## JSX Usage
8
+
9
+ ```jsx
10
+ import { SidebarInput } from '@neynar/ui';
11
+
12
+ <SidebarInput
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
+ // Search input in sidebar header
29
+ <SidebarHeader>
30
+ <h2>Navigation</h2>
31
+ <SidebarInput
32
+ placeholder="Search..."
33
+ onChange={(e) => handleSearch(e.target.value)}
34
+ />
35
+ </SidebarHeader>
36
+ ```
37
+ ### Example 2
38
+ ```tsx
39
+ // Filter input with icon
40
+ <SidebarGroup>
41
+ <SidebarGroupLabel>Filter Options</SidebarGroupLabel>
42
+ <SidebarGroupContent>
43
+ <SidebarInput
44
+ type="search"
45
+ placeholder="Filter items"
46
+ className="mb-2"
47
+ />
48
+ </SidebarGroupContent>
49
+ </SidebarGroup>
50
+ ```
@@ -0,0 +1,52 @@
1
+ # SidebarInset
2
+
3
+ **Type**: component
4
+
5
+ Main content container that adapts to sidebar layout The SidebarInset component serves as the primary content area that automatically adjusts its layout and spacing based on the sidebar's state and variant. It provides proper margins, responsive behavior, and styling coordination with the sidebar.
6
+
7
+ ## JSX Usage
8
+
9
+ ```jsx
10
+ import { SidebarInset } from '@neynar/ui';
11
+
12
+ <SidebarInset
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
+ // Standard layout with header and content
29
+ <SidebarProvider>
30
+ <Sidebar>Sidebar content</Sidebar>
31
+ <SidebarInset>
32
+ <header className="flex h-16 items-center gap-2 px-4">
33
+ <SidebarTrigger />
34
+ <h1>Page Title</h1>
35
+ </header>
36
+ <main className="flex-1 p-4">
37
+ <p>Your main content goes here</p>
38
+ </main>
39
+ </SidebarInset>
40
+ </SidebarProvider>
41
+ ```
42
+ ### Example 2
43
+ ```tsx
44
+ // With inset variant coordination
45
+ <SidebarProvider>
46
+ <Sidebar variant="inset">Sidebar</Sidebar>
47
+ <SidebarInset>
48
+ // Content automatically gets proper spacing
49
+ <div>Content with proper inset margins</div>
50
+ </SidebarInset>
51
+ </SidebarProvider>
52
+ ```