@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
+ # ChartTooltip
2
+
3
+ **Type**: component
4
+
5
+ Tooltip component for charts Re-export of Recharts Tooltip component with support for custom content. Use with ChartTooltipContent for consistent styling and theming integration.
6
+
7
+ ## JSX Usage
8
+
9
+ ```jsx
10
+ import { ChartTooltip } from '@neynar/ui';
11
+
12
+ <ChartTooltip
13
+ content={value}
14
+ active={true}
15
+ payload={[]}
16
+ label={value}
17
+ formatter={() => {}}
18
+ labelFormatter={[]}
19
+ cursor={value}
20
+ position={value}
21
+ offset={0}
22
+ shared={true}
23
+ portal={value}
24
+ wrapperStyle={value}
25
+ wrapperClassName="value"
26
+ animationDuration={0}
27
+ animationEasing="value"
28
+ allowEscapeViewBox={value}
29
+ separator="value"
30
+ useTranslate3d={true}
31
+ coordinate={value}
32
+ filterNull={true}
33
+ itemSorter={() => {}}
34
+ itemStyle={value}
35
+ labelStyle={value}
36
+ contentStyle={value}
37
+ />
38
+ ```
39
+
40
+ ## Component Props
41
+
42
+ ### content
43
+ - **Type**: `React.ComponentType<any> | React.ReactElement`
44
+ - **Required**: No
45
+ - **Description**: No description available
46
+
47
+ ### active
48
+ - **Type**: `boolean`
49
+ - **Required**: No
50
+ - **Description**: No description available
51
+
52
+ ### payload
53
+ - **Type**: `any[]`
54
+ - **Required**: No
55
+ - **Description**: No description available
56
+
57
+ ### label
58
+ - **Type**: `string | number`
59
+ - **Required**: No
60
+ - **Description**: No description available
61
+
62
+ ### formatter
63
+ - **Type**: `(
64
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
65
+ value: any,
66
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
67
+ name: any,
68
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
69
+ props: any,
70
+ ) => [React.ReactNode, React.ReactNode] | React.ReactNode`
71
+ - **Required**: No
72
+ - **Description**: No description available
73
+
74
+ ### labelFormatter
75
+ - **Type**: `(label: any, payload: any[]) => React.ReactNode`
76
+ - **Required**: No
77
+ - **Description**: No description available
78
+
79
+ ### cursor
80
+ - **Type**: `boolean | React.ComponentType<any> | React.ReactElement | object`
81
+ - **Required**: No
82
+ - **Description**: No description available
83
+
84
+ ### position
85
+ - **Type**: `{ x?: number; y?: number }`
86
+ - **Required**: No
87
+ - **Description**: No description available
88
+
89
+ ### offset
90
+ - **Type**: `number`
91
+ - **Required**: No
92
+ - **Description**: No description available
93
+
94
+ ### shared
95
+ - **Type**: `boolean`
96
+ - **Required**: No
97
+ - **Description**: No description available
98
+
99
+ ### portal
100
+ - **Type**: `HTMLElement`
101
+ - **Required**: No
102
+ - **Description**: No description available
103
+
104
+ ### wrapperStyle
105
+ - **Type**: `React.CSSProperties`
106
+ - **Required**: No
107
+ - **Description**: No description available
108
+
109
+ ### wrapperClassName
110
+ - **Type**: `string`
111
+ - **Required**: No
112
+ - **Description**: No description available
113
+
114
+ ### animationDuration
115
+ - **Type**: `number`
116
+ - **Required**: No
117
+ - **Description**: No description available
118
+
119
+ ### animationEasing
120
+ - **Type**: `string`
121
+ - **Required**: No
122
+ - **Description**: No description available
123
+
124
+ ### allowEscapeViewBox
125
+ - **Type**: `{ x?: boolean; y?: boolean }`
126
+ - **Required**: No
127
+ - **Description**: No description available
128
+
129
+ ### separator
130
+ - **Type**: `string`
131
+ - **Required**: No
132
+ - **Description**: No description available
133
+
134
+ ### useTranslate3d
135
+ - **Type**: `boolean`
136
+ - **Required**: No
137
+ - **Description**: No description available
138
+
139
+ ### coordinate
140
+ - **Type**: `{ x?: number; y?: number }`
141
+ - **Required**: No
142
+ - **Description**: No description available
143
+
144
+ ### filterNull
145
+ - **Type**: `boolean`
146
+ - **Required**: No
147
+ - **Description**: No description available
148
+
149
+ ### itemSorter
150
+ - **Type**: `(item: any) => number`
151
+ - **Required**: No
152
+ - **Description**: No description available
153
+
154
+ ### itemStyle
155
+ - **Type**: `React.CSSProperties`
156
+ - **Required**: No
157
+ - **Description**: No description available
158
+
159
+ ### labelStyle
160
+ - **Type**: `React.CSSProperties`
161
+ - **Required**: No
162
+ - **Description**: No description available
163
+
164
+ ### contentStyle
165
+ - **Type**: `React.CSSProperties`
166
+ - **Required**: No
167
+ - **Description**: No description available
168
+
169
+ ## Examples
170
+
171
+ ### Example 1
172
+ ```tsx
173
+ // Basic tooltip
174
+ <ChartTooltip content={<ChartTooltipContent />} />
175
+ ```
176
+ ### Example 2
177
+ ```tsx
178
+ // Tooltip with custom positioning
179
+ <ChartTooltip
180
+ content={<ChartTooltipContent />}
181
+ cursor={false}
182
+ position={{ x: 10, y: 10 }}
183
+ />
184
+ ```
@@ -0,0 +1,100 @@
1
+ # Checkbox
2
+
3
+ **Type**: component
4
+
5
+ A versatile checkbox component for binary and multi-selection interfaces Built on Radix UI Checkbox primitive, this component provides a fully accessible checkbox with support for controlled/uncontrolled states, indeterminate state, and comprehensive form integration. Features consistent styling with the design system and proper keyboard navigation. The component automatically renders a hidden input element when used within a form to ensure proper form submission and native validation support. Supports three states: checked (true), unchecked (false), and indeterminate for partial selections.
6
+
7
+ ## JSX Usage
8
+
9
+ ```jsx
10
+ import { Checkbox } from '@neynar/ui';
11
+
12
+ <Checkbox
13
+ className="value"
14
+ asChild={true}
15
+ checked={value}
16
+ defaultChecked={value}
17
+ onCheckedChange={handleCheckedChange}
18
+ disabled={true}
19
+ required={true}
20
+ name="value"
21
+ value="value"
22
+ id="value"
23
+ "aria-label"="value"
24
+ "aria-labelledby"="value"
25
+ "aria-describedby"="value"
26
+ "aria-invalid"={value}
27
+ />
28
+ ```
29
+
30
+ ## Component Props
31
+
32
+ ### className
33
+ - **Type**: `string`
34
+ - **Required**: No
35
+ - **Description**: No description available
36
+
37
+ ### asChild
38
+ - **Type**: `boolean`
39
+ - **Required**: No
40
+ - **Description**: No description available
41
+
42
+ ### checked
43
+ - **Type**: `boolean | "indeterminate"`
44
+ - **Required**: No
45
+ - **Description**: No description available
46
+
47
+ ### defaultChecked
48
+ - **Type**: `boolean | "indeterminate"`
49
+ - **Required**: No
50
+ - **Description**: No description available
51
+
52
+ ### onCheckedChange
53
+ - **Type**: `(checked: boolean | "indeterminate") => void`
54
+ - **Required**: No
55
+ - **Description**: No description available
56
+
57
+ ### disabled
58
+ - **Type**: `boolean`
59
+ - **Required**: No
60
+ - **Description**: No description available
61
+
62
+ ### required
63
+ - **Type**: `boolean`
64
+ - **Required**: No
65
+ - **Description**: No description available
66
+
67
+ ### name
68
+ - **Type**: `string`
69
+ - **Required**: No
70
+ - **Description**: No description available
71
+
72
+ ### value
73
+ - **Type**: `string`
74
+ - **Required**: No
75
+ - **Description**: No description available
76
+
77
+ ### id
78
+ - **Type**: `string`
79
+ - **Required**: No
80
+ - **Description**: No description available
81
+
82
+ ### "aria-label"
83
+ - **Type**: `string`
84
+ - **Required**: No
85
+ - **Description**: No description available
86
+
87
+ ### "aria-labelledby"
88
+ - **Type**: `string`
89
+ - **Required**: No
90
+ - **Description**: No description available
91
+
92
+ ### "aria-describedby"
93
+ - **Type**: `string`
94
+ - **Required**: No
95
+ - **Description**: No description available
96
+
97
+ ### "aria-invalid"
98
+ - **Type**: `boolean | "false" | "true" | "grammar" | "spelling"`
99
+ - **Required**: No
100
+ - **Description**: No description available
package/.llm/cn.llm.md ADDED
@@ -0,0 +1,46 @@
1
+ # cn
2
+
3
+ **Type**: function
4
+
5
+ cn - Combines class names with Tailwind CSS conflict resolution This utility function combines multiple class names into a single string, automatically resolving Tailwind CSS class conflicts. It uses clsx for conditional class handling and tailwind-merge to ensure later classes override earlier ones when they conflict.
6
+
7
+ ## API Surface
8
+
9
+ ```typescript
10
+ import { cn } from '@neynar/ui';
11
+
12
+ export function cn(inputs: ClassValue[]): void { ... }
13
+ ```
14
+
15
+ ## Parameters
16
+
17
+ ### inputs
18
+ - **Type**: `ClassValue[]`
19
+ - **Required**: Yes
20
+ - **Description**: Class names to combine. Can be strings, objects, arrays,
21
+ ## Returns
22
+
23
+ - **Description**: A single string of combined and merged class names
24
+ ## Examples
25
+
26
+ ### Example 1
27
+ ```tsx
28
+ // Basic usage
29
+ cn("px-2 py-1", "bg-blue-500", "text-white")
30
+ // Returns: "px-2 py-1 bg-blue-500 text-white"
31
+ ```
32
+ ### Example 2
33
+ ```tsx
34
+ // With conditional classes
35
+ cn(
36
+ "base-class",
37
+ isActive && "active-class",
38
+ isDisabled && "disabled-class"
39
+ )
40
+ ```
41
+ ### Example 3
42
+ ```tsx
43
+ // Overriding Tailwind classes
44
+ cn("px-4", "px-2") // Returns: "px-2" (later class wins)
45
+ cn("text-red-500", "text-blue-500") // Returns: "text-blue-500"
46
+ ```
@@ -0,0 +1,103 @@
1
+ # Code
2
+
3
+ **Type**: component
4
+
5
+ Code - Inline code component for technical content Semantic code element for inline code snippets, variable names, and technical references. Uses monospace font and "code" variant for clear distinction from regular text.
6
+
7
+ ## JSX Usage
8
+
9
+ ```jsx
10
+ import { Code } from '@neynar/ui';
11
+
12
+ <Code
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
+ </Code>
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
+ // Inline code snippet
101
+ <Code>const message = "Hello, world!";</Code>
102
+ // Terminal command
103
+ <Code color="muted">npm install
@@ -0,0 +1,109 @@
1
+ # CollapsibleContent
2
+
3
+ **Type**: component
4
+
5
+ Content container that can be expanded or collapsed The panel containing content that is shown or hidden based on the collapsible state. Built on Radix UI CollapsibleContent primitive with automatic height animations, accessibility attributes, and smooth transitions when toggling between expanded and collapsed states. **Key Features:** - Automatic height animations using CSS variables - Proper accessibility tree management (hidden when collapsed) - CSS data attributes for custom styling and animations - Support for forceMount to keep content in DOM when collapsed - Seamless composition via asChild pattern
6
+
7
+ ## JSX Usage
8
+
9
+ ```jsx
10
+ import { CollapsibleContent } from '@neynar/ui';
11
+
12
+ <CollapsibleContent
13
+ asChild={true}
14
+ forceMount={true}
15
+ />
16
+ ```
17
+
18
+ ## Component Props
19
+
20
+ ### asChild
21
+ - **Type**: `boolean`
22
+ - **Required**: No
23
+ - **Description**: When true, merges props onto immediate child instead of rendering div
24
+
25
+ ### forceMount
26
+ - **Type**: `boolean`
27
+ - **Required**: No
28
+ - **Description**: When true, forces content to stay in DOM even when collapsed
29
+
30
+ ## Examples
31
+
32
+ ### Example 1
33
+ ```tsx
34
+ // Basic content panel with simple styling
35
+ <CollapsibleContent className="pt-2">
36
+ <div className="rounded-md border px-4 py-2 text-sm bg-muted/50">
37
+ Yes. Free to use for personal and commercial projects.
38
+ No attribution required.
39
+ </div>
40
+ </CollapsibleContent>
41
+ ```
42
+ ### Example 2
43
+ ```tsx
44
+ // Content with multiple elements and spacing
45
+ <CollapsibleContent className="space-y-2 pt-2">
46
+ <div className="rounded-md border px-4 py-3 font-mono text-sm shadow-sm">
47
+ ### Example 3
48
+ ```tsx
49
+ // Content with custom animations using CSS variables
50
+ <CollapsibleContent className="overflow-hidden text-sm transition-all data-[state=closed]:animate-collapsible-up data-[state=open]:animate-collapsible-down">
51
+ <div className="pb-4 pt-0 px-1">
52
+ Content with smooth height animations. The CSS variables
53
+ --radix-collapsible-content-height and --radix-collapsible-content-width
54
+ are available for custom animation implementations.
55
+ </div>
56
+ </CollapsibleContent>
57
+ ```
58
+ ### Example 4
59
+ ```tsx
60
+ // Force mounted content (stays in DOM when collapsed)
61
+ <CollapsibleContent forceMount className="data-[state=closed]:hidden">
62
+ <div className="p-4 text-sm">
63
+ This content remains in the DOM even when collapsed,
64
+ useful for maintaining form state or for SSR consistency.
65
+ </div>
66
+ </CollapsibleContent>
67
+ ```
68
+ ### Example 5
69
+ ```tsx
70
+ // Content with asChild composition
71
+ <CollapsibleContent asChild>
72
+ <motion.div
73
+ initial={{ height: 0 }}
74
+ animate={{ height: "auto" }}
75
+ exit={{ height: 0 }}
76
+ className="overflow-hidden"
77
+ >
78
+ <div className="p-4">
79
+ Content with custom Framer Motion animations
80
+ </div>
81
+ </motion.div>
82
+ </CollapsibleContent>
83
+ ```
84
+ ### Example 6
85
+ ```tsx
86
+ // Content with complex nested structure
87
+ <CollapsibleContent className="overflow-hidden">
88
+ <div className="border-t pt-4 mt-2">
89
+ <div className="grid grid-cols-2 gap-4">
90
+ <div className="space-y-2">
91
+ <h4 className="font-medium">Documentation</h4>
92
+ <ul className="text-sm space-y-1 text-muted-foreground">
93
+ <li>Getting Started</li>
94
+ <li>Installation</li>
95
+ <li>Configuration</li>
96
+ </ul>
97
+ </div>
98
+ <div className="space-y-2">
99
+ <h4 className="font-medium">Examples</h4>
100
+ <ul className="text-sm space-y-1 text-muted-foreground">
101
+ <li>Basic Usage</li>
102
+ <li>Advanced Patterns</li>
103
+ <li>Custom Styling</li>
104
+ </ul>
105
+ </div>
106
+ </div>
107
+ </div>
108
+ </CollapsibleContent>
109
+ ```
@@ -0,0 +1,75 @@
1
+ # CollapsibleTrigger
2
+
3
+ **Type**: component
4
+
5
+ Interactive trigger element that toggles collapsible content visibility The clickable element that controls the expanded/collapsed state of the associated CollapsibleContent. Built on Radix UI CollapsibleTrigger primitive with automatic ARIA management and keyboard support. Supports the asChild prop for composition with custom button components or other interactive elements. **Key Features:** - Automatic `aria-expanded` state management - Built-in keyboard navigation (Space/Enter) - Flexible composition via `asChild` pattern - Seamless integration with any interactive element
6
+
7
+ ## JSX Usage
8
+
9
+ ```jsx
10
+ import { CollapsibleTrigger } from '@neynar/ui';
11
+
12
+ <CollapsibleTrigger
13
+ asChild={true}
14
+ />
15
+ ```
16
+
17
+ ## Component Props
18
+
19
+ ### asChild
20
+ - **Type**: `boolean`
21
+ - **Required**: No
22
+ - **Description**: When true, merges props onto immediate child instead of rendering button
23
+
24
+ ## Examples
25
+
26
+ ### Example 1
27
+ ```tsx
28
+ // Simple text trigger with default button styling
29
+ <CollapsibleTrigger className="font-medium hover:underline">
30
+ Can I use this in my project?
31
+ </CollapsibleTrigger>
32
+ ```
33
+ ### Example 2
34
+ ```tsx
35
+ // Composed with Button component for consistent styling
36
+ <CollapsibleTrigger asChild>
37
+ <Button variant="outline" className="w-full justify-between">
38
+ Advanced Settings
39
+ <ChevronDown className="h-4 w-4 transition-transform duration-200 group-data-[state=open]:rotate-180" />
40
+ </Button>
41
+ </CollapsibleTrigger>
42
+ ```
43
+ ### Example 3
44
+ ```tsx
45
+ // Custom styled trigger with icon animation
46
+ <CollapsibleTrigger className="flex w-full items-center justify-between py-4 text-left text-sm font-medium transition-all hover:underline focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring">
47
+ How does it work?
48
+ <ChevronDown className="h-4 w-4 shrink-0 transition-transform duration-200 data-[state=open]:rotate-180" />
49
+ </CollapsibleTrigger>
50
+ ```
51
+ ### Example 4
52
+ ```tsx
53
+ // Trigger composed with icon button
54
+ <CollapsibleTrigger asChild>
55
+ <Button variant="ghost" size="sm" className="h-8 w-8 p-0">
56
+ <MoreHorizontal className="h-4 w-4" />
57
+ <span className="sr-only">Toggle options</span>
58
+ </Button>
59
+ </CollapsibleTrigger>
60
+ ```
61
+ ### Example 5
62
+ ```tsx
63
+ // Trigger with custom element using asChild
64
+ <CollapsibleTrigger asChild>
65
+ <div
66
+ role="button"
67
+ tabIndex={0}
68
+ className="flex items-center gap-2 p-2 rounded cursor-pointer hover:bg-accent"
69
+ >
70
+ <FolderIcon className="h-4 w-4" />
71
+ <span>Project Files</span>
72
+ <ChevronRight className="h-3 w-3 transition-transform data-[state=open]:rotate-90" />
73
+ </div>
74
+ </CollapsibleTrigger>
75
+ ```