@neynar/ui 0.3.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (320) hide show
  1. package/.llm/a.llm.md +131 -0
  2. package/.llm/accordion-content.llm.md +67 -0
  3. package/.llm/accordion-item.llm.md +61 -0
  4. package/.llm/accordion-trigger.llm.md +69 -0
  5. package/.llm/accordion.llm.md +88 -0
  6. package/.llm/alert-description.llm.md +78 -0
  7. package/.llm/alert-dialog-action.llm.md +51 -0
  8. package/.llm/alert-dialog-cancel.llm.md +48 -0
  9. package/.llm/alert-dialog-content.llm.md +88 -0
  10. package/.llm/alert-dialog-description.llm.md +53 -0
  11. package/.llm/alert-dialog-footer.llm.md +41 -0
  12. package/.llm/alert-dialog-header.llm.md +39 -0
  13. package/.llm/alert-dialog-overlay.llm.md +44 -0
  14. package/.llm/alert-dialog-portal.llm.md +41 -0
  15. package/.llm/alert-dialog-title.llm.md +46 -0
  16. package/.llm/alert-dialog-trigger.llm.md +40 -0
  17. package/.llm/alert-dialog.llm.md +80 -0
  18. package/.llm/alert-title.llm.md +48 -0
  19. package/.llm/alert.llm.md +92 -0
  20. package/.llm/aspect-ratio.llm.md +41 -0
  21. package/.llm/avatar-fallback.llm.md +41 -0
  22. package/.llm/avatar-image.llm.md +48 -0
  23. package/.llm/avatar.llm.md +35 -0
  24. package/.llm/badge.llm.md +117 -0
  25. package/.llm/blockquote.llm.md +117 -0
  26. package/.llm/breadcrumb-ellipsis.llm.md +73 -0
  27. package/.llm/breadcrumb-item.llm.md +53 -0
  28. package/.llm/breadcrumb-link.llm.md +84 -0
  29. package/.llm/breadcrumb-list.llm.md +54 -0
  30. package/.llm/breadcrumb-page.llm.md +52 -0
  31. package/.llm/breadcrumb-separator.llm.md +60 -0
  32. package/.llm/breadcrumb.llm.md +110 -0
  33. package/.llm/button-group-separator.llm.md +53 -0
  34. package/.llm/button-group-text.llm.md +56 -0
  35. package/.llm/button-group.llm.md +81 -0
  36. package/.llm/button.llm.md +281 -0
  37. package/.llm/calendar-day-button.llm.md +57 -0
  38. package/.llm/calendar.llm.md +340 -0
  39. package/.llm/card-action.llm.md +64 -0
  40. package/.llm/card-content.llm.md +48 -0
  41. package/.llm/card-description.llm.md +46 -0
  42. package/.llm/card-footer.llm.md +56 -0
  43. package/.llm/card-header.llm.md +53 -0
  44. package/.llm/card-title.llm.md +43 -0
  45. package/.llm/card.llm.md +100 -0
  46. package/.llm/carousel-content.llm.md +77 -0
  47. package/.llm/carousel-item.llm.md +96 -0
  48. package/.llm/carousel-next.llm.md +95 -0
  49. package/.llm/carousel-previous.llm.md +95 -0
  50. package/.llm/carousel.llm.md +211 -0
  51. package/.llm/chart-config.llm.md +71 -0
  52. package/.llm/chart-container.llm.md +148 -0
  53. package/.llm/chart-legend-content.llm.md +85 -0
  54. package/.llm/chart-legend.llm.md +144 -0
  55. package/.llm/chart-style.llm.md +28 -0
  56. package/.llm/chart-tooltip-content.llm.md +149 -0
  57. package/.llm/chart-tooltip.llm.md +184 -0
  58. package/.llm/checkbox.llm.md +100 -0
  59. package/.llm/cn.llm.md +46 -0
  60. package/.llm/code.llm.md +103 -0
  61. package/.llm/collapsible-content.llm.md +109 -0
  62. package/.llm/collapsible-trigger.llm.md +75 -0
  63. package/.llm/collapsible.llm.md +109 -0
  64. package/.llm/combobox-option.llm.md +53 -0
  65. package/.llm/combobox.llm.md +208 -0
  66. package/.llm/command-dialog.llm.md +112 -0
  67. package/.llm/command-empty.llm.md +63 -0
  68. package/.llm/command-group.llm.md +83 -0
  69. package/.llm/command-input.llm.md +82 -0
  70. package/.llm/command-item.llm.md +97 -0
  71. package/.llm/command-list.llm.md +53 -0
  72. package/.llm/command-loading.llm.md +48 -0
  73. package/.llm/command-separator.llm.md +44 -0
  74. package/.llm/command-shortcut.llm.md +63 -0
  75. package/.llm/command.llm.md +147 -0
  76. package/.llm/container.llm.md +236 -0
  77. package/.llm/context-menu-checkbox-item.llm.md +97 -0
  78. package/.llm/context-menu-content.llm.md +91 -0
  79. package/.llm/context-menu-group.llm.md +61 -0
  80. package/.llm/context-menu-item.llm.md +94 -0
  81. package/.llm/context-menu-label.llm.md +60 -0
  82. package/.llm/context-menu-portal.llm.md +49 -0
  83. package/.llm/context-menu-radio-group.llm.md +66 -0
  84. package/.llm/context-menu-radio-item.llm.md +76 -0
  85. package/.llm/context-menu-separator.llm.md +51 -0
  86. package/.llm/context-menu-shortcut.llm.md +57 -0
  87. package/.llm/context-menu-sub-content.llm.md +90 -0
  88. package/.llm/context-menu-sub-trigger.llm.md +73 -0
  89. package/.llm/context-menu-sub.llm.md +61 -0
  90. package/.llm/context-menu-trigger.llm.md +53 -0
  91. package/.llm/context-menu.llm.md +103 -0
  92. package/.llm/date-picker.llm.md +90 -0
  93. package/.llm/dialog-close.llm.md +61 -0
  94. package/.llm/dialog-content.llm.md +128 -0
  95. package/.llm/dialog-description.llm.md +44 -0
  96. package/.llm/dialog-footer.llm.md +38 -0
  97. package/.llm/dialog-header.llm.md +40 -0
  98. package/.llm/dialog-overlay.llm.md +57 -0
  99. package/.llm/dialog-portal.llm.md +47 -0
  100. package/.llm/dialog-title.llm.md +41 -0
  101. package/.llm/dialog-trigger.llm.md +51 -0
  102. package/.llm/dialog.llm.md +113 -0
  103. package/.llm/drawer-close.llm.md +53 -0
  104. package/.llm/drawer-content.llm.md +58 -0
  105. package/.llm/drawer-description.llm.md +54 -0
  106. package/.llm/drawer-footer.llm.md +67 -0
  107. package/.llm/drawer-header.llm.md +60 -0
  108. package/.llm/drawer-overlay.llm.md +40 -0
  109. package/.llm/drawer-portal.llm.md +42 -0
  110. package/.llm/drawer-title.llm.md +51 -0
  111. package/.llm/drawer-trigger.llm.md +44 -0
  112. package/.llm/drawer.llm.md +194 -0
  113. package/.llm/dropdown-menu-checkbox-item.llm.md +111 -0
  114. package/.llm/dropdown-menu-content.llm.md +109 -0
  115. package/.llm/dropdown-menu-group.llm.md +38 -0
  116. package/.llm/dropdown-menu-item.llm.md +94 -0
  117. package/.llm/dropdown-menu-label.llm.md +66 -0
  118. package/.llm/dropdown-menu-portal.llm.md +32 -0
  119. package/.llm/dropdown-menu-radio-group.llm.md +73 -0
  120. package/.llm/dropdown-menu-radio-item.llm.md +92 -0
  121. package/.llm/dropdown-menu-separator.llm.md +55 -0
  122. package/.llm/dropdown-menu-shortcut.llm.md +74 -0
  123. package/.llm/dropdown-menu-sub-content.llm.md +80 -0
  124. package/.llm/dropdown-menu-sub-trigger.llm.md +84 -0
  125. package/.llm/dropdown-menu-sub.llm.md +74 -0
  126. package/.llm/dropdown-menu-trigger.llm.md +48 -0
  127. package/.llm/dropdown-menu.llm.md +120 -0
  128. package/.llm/empty-content.llm.md +103 -0
  129. package/.llm/empty-description.llm.md +70 -0
  130. package/.llm/empty-header.llm.md +64 -0
  131. package/.llm/empty-media.llm.md +81 -0
  132. package/.llm/empty-state.llm.md +174 -0
  133. package/.llm/empty-title.llm.md +54 -0
  134. package/.llm/empty.llm.md +158 -0
  135. package/.llm/field-content.llm.md +28 -0
  136. package/.llm/field-description.llm.md +28 -0
  137. package/.llm/field-error.llm.md +41 -0
  138. package/.llm/field-group.llm.md +84 -0
  139. package/.llm/field-label.llm.md +28 -0
  140. package/.llm/field-legend.llm.md +77 -0
  141. package/.llm/field-separator.llm.md +35 -0
  142. package/.llm/field-set.llm.md +80 -0
  143. package/.llm/field-title.llm.md +28 -0
  144. package/.llm/field.llm.md +35 -0
  145. package/.llm/h1.llm.md +108 -0
  146. package/.llm/h2.llm.md +108 -0
  147. package/.llm/h3.llm.md +106 -0
  148. package/.llm/h4.llm.md +104 -0
  149. package/.llm/h5.llm.md +105 -0
  150. package/.llm/h6.llm.md +105 -0
  151. package/.llm/hover-card-content.llm.md +167 -0
  152. package/.llm/hover-card-trigger.llm.md +65 -0
  153. package/.llm/hover-card.llm.md +121 -0
  154. package/.llm/input-group-addon.llm.md +91 -0
  155. package/.llm/input-group-button.llm.md +120 -0
  156. package/.llm/input-group-input.llm.md +145 -0
  157. package/.llm/input-group-text.llm.md +75 -0
  158. package/.llm/input-group-textarea.llm.md +157 -0
  159. package/.llm/input-group.llm.md +108 -0
  160. package/.llm/input.llm.md +319 -0
  161. package/.llm/item-actions.llm.md +77 -0
  162. package/.llm/item-content.llm.md +73 -0
  163. package/.llm/item-description.llm.md +61 -0
  164. package/.llm/item-footer.llm.md +68 -0
  165. package/.llm/item-group.llm.md +73 -0
  166. package/.llm/item-header.llm.md +66 -0
  167. package/.llm/item-media.llm.md +75 -0
  168. package/.llm/item-separator.llm.md +80 -0
  169. package/.llm/item-title.llm.md +59 -0
  170. package/.llm/item.llm.md +115 -0
  171. package/.llm/kbd-group.llm.md +71 -0
  172. package/.llm/kbd.llm.md +71 -0
  173. package/.llm/label.llm.md +145 -0
  174. package/.llm/lead.llm.md +114 -0
  175. package/.llm/menubar-checkbox-item.llm.md +66 -0
  176. package/.llm/menubar-content.llm.md +128 -0
  177. package/.llm/menubar-group.llm.md +40 -0
  178. package/.llm/menubar-item.llm.md +62 -0
  179. package/.llm/menubar-label.llm.md +40 -0
  180. package/.llm/menubar-menu.llm.md +32 -0
  181. package/.llm/menubar-portal.llm.md +38 -0
  182. package/.llm/menubar-radio-group.llm.md +39 -0
  183. package/.llm/menubar-radio-item.llm.md +59 -0
  184. package/.llm/menubar-separator.llm.md +35 -0
  185. package/.llm/menubar-shortcut.llm.md +37 -0
  186. package/.llm/menubar-sub-content.llm.md +127 -0
  187. package/.llm/menubar-sub-trigger.llm.md +51 -0
  188. package/.llm/menubar-sub.llm.md +53 -0
  189. package/.llm/menubar-trigger.llm.md +37 -0
  190. package/.llm/menubar.llm.md +115 -0
  191. package/.llm/navigation-menu-content.llm.md +116 -0
  192. package/.llm/navigation-menu-indicator.llm.md +68 -0
  193. package/.llm/navigation-menu-item.llm.md +62 -0
  194. package/.llm/navigation-menu-link.llm.md +109 -0
  195. package/.llm/navigation-menu-list.llm.md +52 -0
  196. package/.llm/navigation-menu-trigger-style.llm.md +22 -0
  197. package/.llm/navigation-menu-trigger.llm.md +57 -0
  198. package/.llm/navigation-menu-viewport.llm.md +51 -0
  199. package/.llm/navigation-menu.llm.md +184 -0
  200. package/.llm/p.llm.md +110 -0
  201. package/.llm/pagination-content.llm.md +60 -0
  202. package/.llm/pagination-ellipsis.llm.md +107 -0
  203. package/.llm/pagination-item.llm.md +59 -0
  204. package/.llm/pagination-link.llm.md +150 -0
  205. package/.llm/pagination-next.llm.md +115 -0
  206. package/.llm/pagination-previous.llm.md +115 -0
  207. package/.llm/pagination.llm.md +190 -0
  208. package/.llm/popover-anchor.llm.md +53 -0
  209. package/.llm/popover-content.llm.md +109 -0
  210. package/.llm/popover-trigger.llm.md +54 -0
  211. package/.llm/popover.llm.md +116 -0
  212. package/.llm/progress.llm.md +76 -0
  213. package/.llm/radio-group-indicator.llm.md +28 -0
  214. package/.llm/radio-group-item.llm.md +40 -0
  215. package/.llm/radio-group.llm.md +76 -0
  216. package/.llm/resizable-handle.llm.md +156 -0
  217. package/.llm/resizable-panel-group.llm.md +149 -0
  218. package/.llm/resizable-panel.llm.md +157 -0
  219. package/.llm/scroll-area-corner.llm.md +41 -0
  220. package/.llm/scroll-area-thumb.llm.md +39 -0
  221. package/.llm/scroll-area-viewport.llm.md +60 -0
  222. package/.llm/scroll-area.llm.md +125 -0
  223. package/.llm/scroll-bar.llm.md +78 -0
  224. package/.llm/sdk-items-registry.json +3022 -0
  225. package/.llm/select-content.llm.md +139 -0
  226. package/.llm/select-group.llm.md +60 -0
  227. package/.llm/select-item.llm.md +75 -0
  228. package/.llm/select-label.llm.md +62 -0
  229. package/.llm/select-scroll-down-button.llm.md +45 -0
  230. package/.llm/select-scroll-up-button.llm.md +45 -0
  231. package/.llm/select-separator.llm.md +59 -0
  232. package/.llm/select-trigger.llm.md +66 -0
  233. package/.llm/select-value.llm.md +67 -0
  234. package/.llm/select.llm.md +159 -0
  235. package/.llm/separator.llm.md +129 -0
  236. package/.llm/sheet-close.llm.md +49 -0
  237. package/.llm/sheet-content.llm.md +115 -0
  238. package/.llm/sheet-description.llm.md +62 -0
  239. package/.llm/sheet-footer.llm.md +64 -0
  240. package/.llm/sheet-header.llm.md +52 -0
  241. package/.llm/sheet-title.llm.md +53 -0
  242. package/.llm/sheet-trigger.llm.md +46 -0
  243. package/.llm/sheet.llm.md +126 -0
  244. package/.llm/sidebar-content.llm.md +63 -0
  245. package/.llm/sidebar-footer.llm.md +50 -0
  246. package/.llm/sidebar-group-action.llm.md +60 -0
  247. package/.llm/sidebar-group-content.llm.md +64 -0
  248. package/.llm/sidebar-group-label.llm.md +53 -0
  249. package/.llm/sidebar-group.llm.md +56 -0
  250. package/.llm/sidebar-header.llm.md +67 -0
  251. package/.llm/sidebar-input.llm.md +50 -0
  252. package/.llm/sidebar-inset.llm.md +52 -0
  253. package/.llm/sidebar-menu-action.llm.md +84 -0
  254. package/.llm/sidebar-menu-badge.llm.md +60 -0
  255. package/.llm/sidebar-menu-button.llm.md +103 -0
  256. package/.llm/sidebar-menu-item.llm.md +75 -0
  257. package/.llm/sidebar-menu-skeleton.llm.md +76 -0
  258. package/.llm/sidebar-menu-sub-button.llm.md +85 -0
  259. package/.llm/sidebar-menu-sub-item.llm.md +54 -0
  260. package/.llm/sidebar-menu-sub.llm.md +74 -0
  261. package/.llm/sidebar-menu.llm.md +65 -0
  262. package/.llm/sidebar-provider.llm.md +79 -0
  263. package/.llm/sidebar-rail.llm.md +34 -0
  264. package/.llm/sidebar-separator.llm.md +57 -0
  265. package/.llm/sidebar-trigger.llm.md +49 -0
  266. package/.llm/sidebar.llm.md +129 -0
  267. package/.llm/skeleton.llm.md +134 -0
  268. package/.llm/slider.llm.md +173 -0
  269. package/.llm/small.llm.md +110 -0
  270. package/.llm/span.llm.md +118 -0
  271. package/.llm/spinner.llm.md +182 -0
  272. package/.llm/stack.llm.md +28 -0
  273. package/.llm/strong.llm.md +110 -0
  274. package/.llm/switch.llm.md +76 -0
  275. package/.llm/table-body.llm.md +36 -0
  276. package/.llm/table-caption.llm.md +48 -0
  277. package/.llm/table-cell.llm.md +53 -0
  278. package/.llm/table-footer.llm.md +41 -0
  279. package/.llm/table-head.llm.md +69 -0
  280. package/.llm/table-header.llm.md +41 -0
  281. package/.llm/table-row.llm.md +42 -0
  282. package/.llm/table.llm.md +123 -0
  283. package/.llm/tabs-content.llm.md +47 -0
  284. package/.llm/tabs-list.llm.md +41 -0
  285. package/.llm/tabs-trigger.llm.md +47 -0
  286. package/.llm/tabs.llm.md +71 -0
  287. package/.llm/text-field.llm.md +327 -0
  288. package/.llm/textarea.llm.md +311 -0
  289. package/.llm/theme-preference.llm.md +25 -0
  290. package/.llm/theme-toggle.llm.md +57 -0
  291. package/.llm/theme.llm.md +14 -0
  292. package/.llm/toast.llm.md +32 -0
  293. package/.llm/toaster.llm.md +193 -0
  294. package/.llm/toggle-group-item.llm.md +59 -0
  295. package/.llm/toggle-group.llm.md +101 -0
  296. package/.llm/toggle.llm.md +40 -0
  297. package/.llm/tooltip-content.llm.md +185 -0
  298. package/.llm/tooltip-provider.llm.md +68 -0
  299. package/.llm/tooltip-trigger.llm.md +70 -0
  300. package/.llm/tooltip.llm.md +129 -0
  301. package/.llm/typography.llm.md +161 -0
  302. package/.llm/use-carousel.llm.md +55 -0
  303. package/.llm/use-command-state.llm.md +32 -0
  304. package/.llm/use-is-mobile.llm.md +73 -0
  305. package/.llm/use-sidebar.llm.md +61 -0
  306. package/dist/components/ui/scroll-area.d.ts +5 -5
  307. package/dist/components/ui/scroll-area.d.ts.map +1 -1
  308. package/dist/components/ui/stack.d.ts.map +1 -1
  309. package/dist/components/ui/stories/scroll-area.stories.d.ts +1 -1
  310. package/dist/components/ui/theme-toggle.d.ts +0 -3
  311. package/dist/components/ui/theme-toggle.d.ts.map +1 -1
  312. package/dist/components/ui/theme.d.ts.map +1 -1
  313. package/dist/index.js +4972 -9636
  314. package/dist/index.js.map +1 -1
  315. package/dist/tsconfig.tsbuildinfo +1 -1
  316. package/package.json +2 -2
  317. package/src/components/ui/stack.tsx +3 -1
  318. package/src/components/ui/theme-toggle.tsx +1 -3
  319. package/src/components/ui/theme.tsx +6 -1
  320. package/src/styles/globals.css +57 -85
@@ -0,0 +1,184 @@
1
+ # NavigationMenu
2
+
3
+ **Type**: component
4
+
5
+ NavigationMenu - A collection of links for navigating websites A flexible navigation component built on Radix UI primitives that provides sophisticated navigation patterns with dropdown content support. Features full keyboard navigation, accessibility compliance, controlled/uncontrolled states, and responsive design. Supports both horizontal and vertical orientations.
6
+
7
+ ## JSX Usage
8
+
9
+ ```jsx
10
+ import { NavigationMenu } from '@neynar/ui';
11
+
12
+ <NavigationMenu
13
+ defaultValue="value"
14
+ value="value"
15
+ onValueChange={handleValueChange}
16
+ delayDuration={0}
17
+ skipDelayDuration={0}
18
+ dir={value}
19
+ orientation={value}
20
+ viewport={true}
21
+ >
22
+ {/* Your content here */}
23
+ </NavigationMenu>
24
+ ```
25
+
26
+ ## Component Props
27
+
28
+ ### defaultValue
29
+ - **Type**: `string`
30
+ - **Required**: No
31
+ - **Description**: No description available
32
+
33
+ ### value
34
+ - **Type**: `string`
35
+ - **Required**: No
36
+ - **Description**: No description available
37
+
38
+ ### onValueChange
39
+ - **Type**: `(value: string) => void`
40
+ - **Required**: No
41
+ - **Description**: No description available
42
+
43
+ ### delayDuration
44
+ - **Type**: `number`
45
+ - **Required**: No
46
+ - **Description**: No description available
47
+
48
+ ### skipDelayDuration
49
+ - **Type**: `number`
50
+ - **Required**: No
51
+ - **Description**: No description available
52
+
53
+ ### dir
54
+ - **Type**: `"ltr" | "rtl"`
55
+ - **Required**: No
56
+ - **Description**: No description available
57
+
58
+ ### orientation
59
+ - **Type**: `"horizontal" | "vertical"`
60
+ - **Required**: No
61
+ - **Description**: No description available
62
+
63
+ ### viewport
64
+ - **Type**: `boolean`
65
+ - **Required**: No
66
+ - **Description**: No description available
67
+
68
+ ## Examples
69
+
70
+ ### Example 1
71
+ ```tsx
72
+ // Basic navigation with dropdown
73
+ <NavigationMenu>
74
+ <NavigationMenuList>
75
+ <NavigationMenuItem value="products">
76
+ <NavigationMenuTrigger>Products</NavigationMenuTrigger>
77
+ <NavigationMenuContent>
78
+ <div className="grid gap-3 p-6 w-[400px]">
79
+ <NavigationMenuLink href="/products/analytics">Analytics</NavigationMenuLink>
80
+ <NavigationMenuLink href="/products/dashboard">Dashboard</NavigationMenuLink>
81
+ </div>
82
+ </NavigationMenuContent>
83
+ </NavigationMenuItem>
84
+ </NavigationMenuList>
85
+ </NavigationMenu>
86
+ ```
87
+ ### Example 2
88
+ ```tsx
89
+ // Controlled navigation with state
90
+ const [value, setValue] = React.useState<string | undefined>();
91
+ <NavigationMenu value={value} onValueChange={setValue}>
92
+ <NavigationMenuList>
93
+ <NavigationMenuItem value="features">
94
+ <NavigationMenuTrigger>Features</NavigationMenuTrigger>
95
+ <NavigationMenuContent>
96
+ <NavigationMenuLink href="/features">All Features</NavigationMenuLink>
97
+ </NavigationMenuContent>
98
+ </NavigationMenuItem>
99
+ </NavigationMenuList>
100
+ </NavigationMenu>
101
+ ```
102
+ ### Example 3
103
+ ```tsx
104
+ // Simple navigation links without dropdowns
105
+ <NavigationMenu>
106
+ <NavigationMenuList>
107
+ <NavigationMenuItem>
108
+ <NavigationMenuLink href="/about" className={navigationMenuTriggerStyle()}>
109
+ About
110
+ </NavigationMenuLink>
111
+ </NavigationMenuItem>
112
+ <NavigationMenuItem>
113
+ <NavigationMenuLink href="/contact" className={navigationMenuTriggerStyle()}>
114
+ Contact
115
+ </NavigationMenuLink>
116
+ </NavigationMenuItem>
117
+ </NavigationMenuList>
118
+ </NavigationMenu>
119
+ ```
120
+ ### Example 4
121
+ ```tsx
122
+ // With Next.js Link integration using asChild
123
+ <NavigationMenu>
124
+ <NavigationMenuList>
125
+ <NavigationMenuItem>
126
+ <NavigationMenuLink asChild className={navigationMenuTriggerStyle()}>
127
+ <Link href="/dashboard">Dashboard</Link>
128
+ </NavigationMenuLink>
129
+ </NavigationMenuItem>
130
+ </NavigationMenuList>
131
+ </NavigationMenu>
132
+ ```
133
+ ### Example 5
134
+ ```tsx
135
+ // Vertical navigation menu
136
+ <NavigationMenu orientation="vertical">
137
+ <NavigationMenuList>
138
+ <NavigationMenuItem value="settings">
139
+ <NavigationMenuTrigger>Settings</NavigationMenuTrigger>
140
+ <NavigationMenuContent>
141
+ <div className="p-4 w-[200px]">
142
+ <NavigationMenuLink href="/settings/profile">Profile</NavigationMenuLink>
143
+ <NavigationMenuLink href="/settings/account">Account</NavigationMenuLink>
144
+ </div>
145
+ </NavigationMenuContent>
146
+ </NavigationMenuItem>
147
+ </NavigationMenuList>
148
+ </NavigationMenu>
149
+ ```
150
+ ### Example 6
151
+ ```tsx
152
+ // Without viewport for custom dropdown styling
153
+ <NavigationMenu viewport={false}>
154
+ <NavigationMenuList>
155
+ <NavigationMenuItem value="docs">
156
+ <NavigationMenuTrigger>Documentation</NavigationMenuTrigger>
157
+ <NavigationMenuContent>
158
+ <div className="bg-white border rounded-lg shadow-lg p-6 w-[500px]">
159
+ <NavigationMenuLink href="/docs/getting-started">Getting Started</NavigationMenuLink>
160
+ </div>
161
+ </NavigationMenuContent>
162
+ </NavigationMenuItem>
163
+ </NavigationMenuList>
164
+ </NavigationMenu>
165
+ ```
166
+ ### Example 7
167
+ ```tsx
168
+ // With custom timing and active indicator
169
+ <NavigationMenu
170
+ delayDuration={100}
171
+ skipDelayDuration={200}
172
+ defaultValue="home"
173
+ >
174
+ <NavigationMenuList>
175
+ <NavigationMenuItem value="home">
176
+ <NavigationMenuTrigger>Home</NavigationMenuTrigger>
177
+ <NavigationMenuContent>
178
+ <NavigationMenuLink href="/">Homepage</NavigationMenuLink>
179
+ </NavigationMenuContent>
180
+ </NavigationMenuItem>
181
+ <NavigationMenuIndicator />
182
+ </NavigationMenuList>
183
+ </NavigationMenu>
184
+ ```
package/.llm/p.llm.md ADDED
@@ -0,0 +1,110 @@
1
+ # P
2
+
3
+ **Type**: component
4
+
5
+ P - Paragraph component for body text content Standard paragraph element for readable body text. Uses "body" variant with p semantic element. Optimized for readability with appropriate line height and font size.
6
+
7
+ ## JSX Usage
8
+
9
+ ```jsx
10
+ import { P } from '@neynar/ui';
11
+
12
+ <P
13
+ color={value}
14
+ align={value}
15
+ transform={value}
16
+ weight={value}
17
+ htmlFor="value"
18
+ asChild={true}
19
+ italic={true}
20
+ underline={true}
21
+ strikethrough={true}
22
+ truncate={true}
23
+ srOnly={true}
24
+ className="value"
25
+ >
26
+ {/* Your content here */}
27
+ </P>
28
+ ```
29
+
30
+ ## Component Props
31
+
32
+ ### color
33
+ - **Type**: `TypographyColor`
34
+ - **Required**: No
35
+ - **Description**: No description available
36
+
37
+ ### align
38
+ - **Type**: `"left" | "center" | "right" | "justify"`
39
+ - **Required**: No
40
+ - **Description**: No description available
41
+
42
+ ### transform
43
+ - **Type**: `"uppercase" | "lowercase" | "capitalize"`
44
+ - **Required**: No
45
+ - **Description**: No description available
46
+
47
+ ### weight
48
+ - **Type**: `"normal" | "medium" | "semibold" | "bold"`
49
+ - **Required**: No
50
+ - **Description**: No description available
51
+
52
+ ### htmlFor
53
+ - **Type**: `string`
54
+ - **Required**: No
55
+ - **Description**: No description available
56
+
57
+ ### asChild
58
+ - **Type**: `boolean`
59
+ - **Required**: No
60
+ - **Description**: No description available
61
+
62
+ ### italic
63
+ - **Type**: `boolean`
64
+ - **Required**: No
65
+ - **Description**: No description available
66
+
67
+ ### underline
68
+ - **Type**: `boolean`
69
+ - **Required**: No
70
+ - **Description**: No description available
71
+
72
+ ### strikethrough
73
+ - **Type**: `boolean`
74
+ - **Required**: No
75
+ - **Description**: No description available
76
+
77
+ ### truncate
78
+ - **Type**: `boolean`
79
+ - **Required**: No
80
+ - **Description**: No description available
81
+
82
+ ### srOnly
83
+ - **Type**: `boolean`
84
+ - **Required**: No
85
+ - **Description**: No description available
86
+
87
+ ### className
88
+ - **Type**: `string`
89
+ - **Required**: No
90
+ - **Description**: No description available
91
+
92
+ ### children
93
+ - **Type**: `React.ReactNode`
94
+ - **Required**: No
95
+ - **Description**: No description available
96
+
97
+ ## Examples
98
+
99
+ ```tsx
100
+ // Standard paragraph
101
+ <P>This is standard body text that provides information to the user.</P>
102
+ // With color variants
103
+ <P color="muted">Secondary information with reduced visual prominence.</P>
104
+ // With custom spacing
105
+ <P className="mb-6">Paragraph with custom bottom margin for layout control.</P>
106
+ // Truncated paragraph
107
+ <P truncate className="max-w-md">
108
+ Long paragraph content that will be truncated with ellipsis
109
+ </P>
110
+ ```
@@ -0,0 +1,60 @@
1
+ # PaginationContent
2
+
3
+ **Type**: component
4
+
5
+ Container for pagination navigation items A semantic unordered list that houses all pagination controls in a responsive horizontal layout. Provides proper spacing and alignment for pagination items while maintaining accessibility standards.
6
+
7
+ ## JSX Usage
8
+
9
+ ```jsx
10
+ import { PaginationContent } from '@neynar/ui';
11
+
12
+ <PaginationContent
13
+ className="value"
14
+ id="value"
15
+ tabIndex={0}
16
+ "aria-label"="value"
17
+ >
18
+ {/* Your content here */}
19
+ </PaginationContent>
20
+ ```
21
+
22
+ ## Component Props
23
+
24
+ ### className
25
+ - **Type**: `string`
26
+ - **Required**: No
27
+ - **Description**: No description available
28
+
29
+ ### children
30
+ - **Type**: `React.ReactNode`
31
+ - **Required**: No
32
+ - **Description**: No description available
33
+
34
+ ### id
35
+ - **Type**: `string`
36
+ - **Required**: No
37
+ - **Description**: No description available
38
+
39
+ ### tabIndex
40
+ - **Type**: `number`
41
+ - **Required**: No
42
+ - **Description**: No description available
43
+
44
+ ### "aria-label"
45
+ - **Type**: `string`
46
+ - **Required**: No
47
+ - **Description**: No description available
48
+
49
+ ## Examples
50
+
51
+ ```tsx
52
+ <PaginationContent>
53
+ <PaginationItem>
54
+ <PaginationPrevious href="/prev" />
55
+ </PaginationItem>
56
+ <PaginationItem>
57
+ <PaginationLink href="/page/1">1</PaginationLink>
58
+ </PaginationItem>
59
+ </PaginationContent>
60
+ ```
@@ -0,0 +1,107 @@
1
+ # PaginationEllipsis
2
+
3
+ **Type**: component
4
+
5
+ Visual indicator for omitted page numbers Displays a horizontal ellipsis (MoreHorizontalIcon from Lucide React) to indicate that page numbers have been omitted from the pagination display. Used to maintain clean UI when dealing with large page ranges without overwhelming users. The component is sized consistently with PaginationLink components (36px × 36px) to maintain visual harmony in the pagination layout. Includes accessible hidden text for screen readers while keeping the visual element hidden from assistive technology to avoid confusion.
6
+
7
+ ## JSX Usage
8
+
9
+ ```jsx
10
+ import { PaginationEllipsis } from '@neynar/ui';
11
+
12
+ <PaginationEllipsis
13
+ className="value"
14
+ "aria-hidden"={true}
15
+ id="value"
16
+ tabIndex={0}
17
+ title="value"
18
+ "aria-label"="value"
19
+ />
20
+ ```
21
+
22
+ ## Component Props
23
+
24
+ ### className
25
+ - **Type**: `string`
26
+ - **Required**: No
27
+ - **Description**: No description available
28
+
29
+ ### "aria-hidden"
30
+ - **Type**: `boolean`
31
+ - **Required**: No
32
+ - **Description**: No description available
33
+
34
+ ### id
35
+ - **Type**: `string`
36
+ - **Required**: No
37
+ - **Description**: No description available
38
+
39
+ ### tabIndex
40
+ - **Type**: `number`
41
+ - **Required**: No
42
+ - **Description**: No description available
43
+
44
+ ### title
45
+ - **Type**: `string`
46
+ - **Required**: No
47
+ - **Description**: No description available
48
+
49
+ ### "aria-label"
50
+ - **Type**: `string`
51
+ - **Required**: No
52
+ - **Description**: No description available
53
+
54
+ ## Examples
55
+
56
+ ### Example 1
57
+ ```tsx
58
+ // Between page ranges
59
+ <PaginationItem>
60
+ <PaginationLink href="/page/1">1</PaginationLink>
61
+ </PaginationItem>
62
+ <PaginationItem>
63
+ <PaginationEllipsis />
64
+ </PaginationItem>
65
+ <PaginationItem>
66
+ <PaginationLink href="/page/25" isActive>25</PaginationLink>
67
+ </PaginationItem>
68
+ ```
69
+ ### Example 2
70
+ ```tsx
71
+ // Common pagination pattern with ellipsis
72
+ // Layout: 1 ... 23 24 [25] 26 27 ... 100
73
+ <PaginationContent>
74
+ <PaginationItem>
75
+ <PaginationLink href="/page/1">1</PaginationLink>
76
+ </PaginationItem>
77
+ <PaginationItem>
78
+ <PaginationEllipsis />
79
+ </PaginationItem>
80
+ <PaginationItem>
81
+ <PaginationLink href="/page/23">23</PaginationLink>
82
+ </PaginationItem>
83
+ <PaginationItem>
84
+ <PaginationLink href="/page/24">24</PaginationLink>
85
+ </PaginationItem>
86
+ <PaginationItem>
87
+ <PaginationLink href="/page/25" isActive>25</PaginationLink>
88
+ </PaginationItem>
89
+ <PaginationItem>
90
+ <PaginationLink href="/page/26">26</PaginationLink>
91
+ </PaginationItem>
92
+ <PaginationItem>
93
+ <PaginationLink href="/page/27">27</PaginationLink>
94
+ </PaginationItem>
95
+ <PaginationItem>
96
+ <PaginationEllipsis />
97
+ </PaginationItem>
98
+ <PaginationItem>
99
+ <PaginationLink href="/page/100">100</PaginationLink>
100
+ </PaginationItem>
101
+ </PaginationContent>
102
+ ```
103
+ ### Example 3
104
+ ```tsx
105
+ // With custom styling for different themes
106
+ <PaginationEllipsis className="text-muted-foreground/60" />
107
+ ```
@@ -0,0 +1,59 @@
1
+ # PaginationItem
2
+
3
+ **Type**: component
4
+
5
+ Individual list item wrapper for pagination controls A semantic list item that wraps pagination links, buttons, or ellipsis elements. Provides consistent structure and enables proper keyboard navigation between pagination controls.
6
+
7
+ ## JSX Usage
8
+
9
+ ```jsx
10
+ import { PaginationItem } from '@neynar/ui';
11
+
12
+ <PaginationItem
13
+ className="value"
14
+ id="value"
15
+ tabIndex={0}
16
+ "aria-label"="value"
17
+ >
18
+ {/* Your content here */}
19
+ </PaginationItem>
20
+ ```
21
+
22
+ ## Component Props
23
+
24
+ ### children
25
+ - **Type**: `React.ReactNode`
26
+ - **Required**: No
27
+ - **Description**: No description available
28
+
29
+ ### className
30
+ - **Type**: `string`
31
+ - **Required**: No
32
+ - **Description**: No description available
33
+
34
+ ### id
35
+ - **Type**: `string`
36
+ - **Required**: No
37
+ - **Description**: No description available
38
+
39
+ ### tabIndex
40
+ - **Type**: `number`
41
+ - **Required**: No
42
+ - **Description**: No description available
43
+
44
+ ### "aria-label"
45
+ - **Type**: `string`
46
+ - **Required**: No
47
+ - **Description**: No description available
48
+
49
+ ## Examples
50
+
51
+ ```tsx
52
+ <PaginationItem>
53
+ <PaginationLink href="/page/1">1</PaginationLink>
54
+ </PaginationItem>
55
+ <PaginationItem>
56
+ <PaginationEllipsis />
57
+ </PaginationItem>
58
+ ```
59
+ /
@@ -0,0 +1,150 @@
1
+ # PaginationLink
2
+
3
+ **Type**: component
4
+
5
+ Clickable link for individual page numbers Interactive link component that navigates to specific pages within paginated content. Uses buttonVariants from the Button component to provide consistent styling - applies "outline" variant when active and "ghost" variant when inactive. Features automatic active state styling and comprehensive accessibility attributes. The component automatically inherits focus management, hover states, and proper spacing from the Button component's CVA configuration while maintaining semantic link behavior for proper navigation and SEO.
6
+
7
+ ## JSX Usage
8
+
9
+ ```jsx
10
+ import { PaginationLink } from '@neynar/ui';
11
+
12
+ <PaginationLink
13
+ isActive={true}
14
+ size={value}
15
+ href="value"
16
+ className="value"
17
+ onClick={handleClick}
18
+ "aria-label"="value"
19
+ "aria-current"={value}
20
+ "aria-describedby"="value"
21
+ "aria-disabled"={true}
22
+ tabIndex={0}
23
+ id="value"
24
+ title="value"
25
+ target={value}
26
+ rel="value"
27
+ >
28
+ {/* Your content here */}
29
+ </PaginationLink>
30
+ ```
31
+
32
+ ## Component Props
33
+
34
+ ### isActive
35
+ - **Type**: `boolean`
36
+ - **Required**: No
37
+ - **Description**: No description available
38
+
39
+ ### size
40
+ - **Type**: `"default" | "sm" | "lg" | "icon"`
41
+ - **Required**: No
42
+ - **Description**: No description available
43
+
44
+ ### href
45
+ - **Type**: `string`
46
+ - **Required**: No
47
+ - **Description**: No description available
48
+
49
+ ### children
50
+ - **Type**: `React.ReactNode`
51
+ - **Required**: No
52
+ - **Description**: No description available
53
+
54
+ ### className
55
+ - **Type**: `string`
56
+ - **Required**: No
57
+ - **Description**: No description available
58
+
59
+ ### onClick
60
+ - **Type**: `React.MouseEventHandler<HTMLAnchorElement>`
61
+ - **Required**: No
62
+ - **Description**: No description available
63
+
64
+ ### "aria-label"
65
+ - **Type**: `string`
66
+ - **Required**: No
67
+ - **Description**: No description available
68
+
69
+ ### "aria-current"
70
+ - **Type**: `"page" | "step" | "location" | "date" | "time" | boolean`
71
+ - **Required**: No
72
+ - **Description**: No description available
73
+
74
+ ### "aria-describedby"
75
+ - **Type**: `string`
76
+ - **Required**: No
77
+ - **Description**: No description available
78
+
79
+ ### "aria-disabled"
80
+ - **Type**: `boolean`
81
+ - **Required**: No
82
+ - **Description**: No description available
83
+
84
+ ### tabIndex
85
+ - **Type**: `number`
86
+ - **Required**: No
87
+ - **Description**: No description available
88
+
89
+ ### id
90
+ - **Type**: `string`
91
+ - **Required**: No
92
+ - **Description**: No description available
93
+
94
+ ### title
95
+ - **Type**: `string`
96
+ - **Required**: No
97
+ - **Description**: No description available
98
+
99
+ ### target
100
+ - **Type**: `"_self" | "_blank" | "_parent" | "_top"`
101
+ - **Required**: No
102
+ - **Description**: No description available
103
+
104
+ ### rel
105
+ - **Type**: `string`
106
+ - **Required**: No
107
+ - **Description**: No description available
108
+
109
+ ## Examples
110
+
111
+ ### Example 1
112
+ ```tsx
113
+ // Basic page links with different states
114
+ <PaginationLink href="/products?page=1">1</PaginationLink>
115
+ <PaginationLink href="/products?page=2" isActive>2</PaginationLink>
116
+ <PaginationLink href="/products?page=3">3</PaginationLink>
117
+ ```
118
+ ### Example 2
119
+ ```tsx
120
+ // Different sizes using Button size variants
121
+ <PaginationLink href="/page/1" size="sm">1</PaginationLink>
122
+ <PaginationLink href="/page/2" size="default">2</PaginationLink>
123
+ <PaginationLink href="/page/3" size="lg">3</PaginationLink>
124
+ ```
125
+ ### Example 3
126
+ ```tsx
127
+ // With onClick handlers for client-side pagination
128
+ <PaginationLink
129
+ href="#"
130
+ onClick={(e) => {
131
+ e.preventDefault();
132
+ onPageChange(1);
133
+ }}
134
+ aria-label="Go to page 1"
135
+ >
136
+ 1
137
+ </PaginationLink>
138
+ ```
139
+ ### Example 4
140
+ ```tsx
141
+ // Disabled state for out-of-bounds pages
142
+ <PaginationLink
143
+ href="#"
144
+ className="pointer-events-none opacity-50"
145
+ aria-disabled="true"
146
+ tabIndex={-1}
147
+ >
148
+ 5
149
+ </PaginationLink>
150
+ ```