@neynar/ui 0.1.2 → 0.1.3

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 (268) hide show
  1. package/llm-docs/a.llm.md +145 -0
  2. package/llm-docs/accordion-content.llm.md +67 -0
  3. package/llm-docs/accordion-item.llm.md +61 -0
  4. package/llm-docs/accordion-trigger.llm.md +69 -0
  5. package/llm-docs/accordion.llm.md +88 -0
  6. package/llm-docs/alert-description.llm.md +78 -0
  7. package/llm-docs/alert-dialog-action.llm.md +51 -0
  8. package/llm-docs/alert-dialog-cancel.llm.md +48 -0
  9. package/llm-docs/alert-dialog-content.llm.md +88 -0
  10. package/llm-docs/alert-dialog-description.llm.md +53 -0
  11. package/llm-docs/alert-dialog-footer.llm.md +41 -0
  12. package/llm-docs/alert-dialog-header.llm.md +39 -0
  13. package/llm-docs/alert-dialog-overlay.llm.md +44 -0
  14. package/llm-docs/alert-dialog-portal.llm.md +41 -0
  15. package/llm-docs/alert-dialog-title.llm.md +46 -0
  16. package/llm-docs/alert-dialog-trigger.llm.md +40 -0
  17. package/llm-docs/alert-dialog.llm.md +80 -0
  18. package/llm-docs/alert-title.llm.md +48 -0
  19. package/llm-docs/alert.llm.md +92 -0
  20. package/llm-docs/aspect-ratio.llm.md +41 -0
  21. package/llm-docs/avatar-fallback.llm.md +41 -0
  22. package/llm-docs/avatar-image.llm.md +48 -0
  23. package/llm-docs/avatar.llm.md +35 -0
  24. package/llm-docs/badge.llm.md +108 -0
  25. package/llm-docs/blockquote.llm.md +122 -0
  26. package/llm-docs/breadcrumb-ellipsis.llm.md +73 -0
  27. package/llm-docs/breadcrumb-item.llm.md +53 -0
  28. package/llm-docs/breadcrumb-link.llm.md +84 -0
  29. package/llm-docs/breadcrumb-list.llm.md +54 -0
  30. package/llm-docs/breadcrumb-page.llm.md +52 -0
  31. package/llm-docs/breadcrumb-separator.llm.md +60 -0
  32. package/llm-docs/breadcrumb.llm.md +110 -0
  33. package/llm-docs/button.llm.md +281 -0
  34. package/llm-docs/calendar-day-button.llm.md +57 -0
  35. package/llm-docs/calendar.llm.md +340 -0
  36. package/llm-docs/card-action.llm.md +64 -0
  37. package/llm-docs/card-content.llm.md +48 -0
  38. package/llm-docs/card-description.llm.md +46 -0
  39. package/llm-docs/card-footer.llm.md +56 -0
  40. package/llm-docs/card-header.llm.md +53 -0
  41. package/llm-docs/card-title.llm.md +43 -0
  42. package/llm-docs/card.llm.md +100 -0
  43. package/llm-docs/carousel-content.llm.md +77 -0
  44. package/llm-docs/carousel-item.llm.md +96 -0
  45. package/llm-docs/carousel-next.llm.md +95 -0
  46. package/llm-docs/carousel-previous.llm.md +95 -0
  47. package/llm-docs/carousel.llm.md +211 -0
  48. package/llm-docs/chart-config.llm.md +71 -0
  49. package/llm-docs/chart-container.llm.md +148 -0
  50. package/llm-docs/chart-legend-content.llm.md +85 -0
  51. package/llm-docs/chart-legend.llm.md +144 -0
  52. package/llm-docs/chart-style.llm.md +28 -0
  53. package/llm-docs/chart-tooltip-content.llm.md +149 -0
  54. package/llm-docs/chart-tooltip.llm.md +184 -0
  55. package/llm-docs/checkbox.llm.md +100 -0
  56. package/llm-docs/cn.llm.md +46 -0
  57. package/llm-docs/code.llm.md +108 -0
  58. package/llm-docs/collapsible-content.llm.md +109 -0
  59. package/llm-docs/collapsible-trigger.llm.md +75 -0
  60. package/llm-docs/collapsible.llm.md +109 -0
  61. package/llm-docs/combobox-option.llm.md +53 -0
  62. package/llm-docs/combobox.llm.md +208 -0
  63. package/llm-docs/command-dialog.llm.md +112 -0
  64. package/llm-docs/command-empty.llm.md +63 -0
  65. package/llm-docs/command-group.llm.md +83 -0
  66. package/llm-docs/command-input.llm.md +82 -0
  67. package/llm-docs/command-item.llm.md +97 -0
  68. package/llm-docs/command-list.llm.md +53 -0
  69. package/llm-docs/command-loading.llm.md +48 -0
  70. package/llm-docs/command-separator.llm.md +44 -0
  71. package/llm-docs/command-shortcut.llm.md +63 -0
  72. package/llm-docs/command.llm.md +147 -0
  73. package/llm-docs/container.llm.md +236 -0
  74. package/llm-docs/context-menu-checkbox-item.llm.md +97 -0
  75. package/llm-docs/context-menu-content.llm.md +91 -0
  76. package/llm-docs/context-menu-group.llm.md +61 -0
  77. package/llm-docs/context-menu-item.llm.md +94 -0
  78. package/llm-docs/context-menu-label.llm.md +60 -0
  79. package/llm-docs/context-menu-portal.llm.md +49 -0
  80. package/llm-docs/context-menu-radio-group.llm.md +66 -0
  81. package/llm-docs/context-menu-radio-item.llm.md +76 -0
  82. package/llm-docs/context-menu-separator.llm.md +51 -0
  83. package/llm-docs/context-menu-shortcut.llm.md +57 -0
  84. package/llm-docs/context-menu-sub-content.llm.md +90 -0
  85. package/llm-docs/context-menu-sub-trigger.llm.md +73 -0
  86. package/llm-docs/context-menu-sub.llm.md +61 -0
  87. package/llm-docs/context-menu-trigger.llm.md +53 -0
  88. package/llm-docs/context-menu.llm.md +103 -0
  89. package/llm-docs/date-picker.llm.md +90 -0
  90. package/llm-docs/dialog-close.llm.md +61 -0
  91. package/llm-docs/dialog-content.llm.md +128 -0
  92. package/llm-docs/dialog-description.llm.md +44 -0
  93. package/llm-docs/dialog-footer.llm.md +38 -0
  94. package/llm-docs/dialog-header.llm.md +40 -0
  95. package/llm-docs/dialog-overlay.llm.md +57 -0
  96. package/llm-docs/dialog-portal.llm.md +47 -0
  97. package/llm-docs/dialog-title.llm.md +41 -0
  98. package/llm-docs/dialog-trigger.llm.md +51 -0
  99. package/llm-docs/dialog.llm.md +113 -0
  100. package/llm-docs/drawer-close.llm.md +53 -0
  101. package/llm-docs/drawer-content.llm.md +58 -0
  102. package/llm-docs/drawer-description.llm.md +54 -0
  103. package/llm-docs/drawer-footer.llm.md +67 -0
  104. package/llm-docs/drawer-header.llm.md +60 -0
  105. package/llm-docs/drawer-overlay.llm.md +40 -0
  106. package/llm-docs/drawer-portal.llm.md +42 -0
  107. package/llm-docs/drawer-title.llm.md +51 -0
  108. package/llm-docs/drawer-trigger.llm.md +44 -0
  109. package/llm-docs/drawer.llm.md +194 -0
  110. package/llm-docs/dropdown-menu-checkbox-item.llm.md +111 -0
  111. package/llm-docs/dropdown-menu-content.llm.md +109 -0
  112. package/llm-docs/dropdown-menu-group.llm.md +38 -0
  113. package/llm-docs/dropdown-menu-item.llm.md +94 -0
  114. package/llm-docs/dropdown-menu-label.llm.md +66 -0
  115. package/llm-docs/dropdown-menu-portal.llm.md +32 -0
  116. package/llm-docs/dropdown-menu-radio-group.llm.md +73 -0
  117. package/llm-docs/dropdown-menu-radio-item.llm.md +92 -0
  118. package/llm-docs/dropdown-menu-separator.llm.md +55 -0
  119. package/llm-docs/dropdown-menu-shortcut.llm.md +74 -0
  120. package/llm-docs/dropdown-menu-sub-content.llm.md +80 -0
  121. package/llm-docs/dropdown-menu-sub-trigger.llm.md +84 -0
  122. package/llm-docs/dropdown-menu-sub.llm.md +74 -0
  123. package/llm-docs/dropdown-menu-trigger.llm.md +48 -0
  124. package/llm-docs/dropdown-menu.llm.md +120 -0
  125. package/llm-docs/empty-state.llm.md +174 -0
  126. package/llm-docs/h1.llm.md +113 -0
  127. package/llm-docs/h2.llm.md +113 -0
  128. package/llm-docs/h3.llm.md +111 -0
  129. package/llm-docs/h4.llm.md +109 -0
  130. package/llm-docs/h5.llm.md +110 -0
  131. package/llm-docs/h6.llm.md +110 -0
  132. package/llm-docs/hover-card-content.llm.md +167 -0
  133. package/llm-docs/hover-card-trigger.llm.md +65 -0
  134. package/llm-docs/hover-card.llm.md +121 -0
  135. package/llm-docs/input.llm.md +319 -0
  136. package/llm-docs/label.llm.md +145 -0
  137. package/llm-docs/lead.llm.md +119 -0
  138. package/llm-docs/menubar-checkbox-item.llm.md +66 -0
  139. package/llm-docs/menubar-content.llm.md +128 -0
  140. package/llm-docs/menubar-group.llm.md +40 -0
  141. package/llm-docs/menubar-item.llm.md +62 -0
  142. package/llm-docs/menubar-label.llm.md +40 -0
  143. package/llm-docs/menubar-menu.llm.md +32 -0
  144. package/llm-docs/menubar-portal.llm.md +38 -0
  145. package/llm-docs/menubar-radio-group.llm.md +39 -0
  146. package/llm-docs/menubar-radio-item.llm.md +59 -0
  147. package/llm-docs/menubar-separator.llm.md +35 -0
  148. package/llm-docs/menubar-shortcut.llm.md +37 -0
  149. package/llm-docs/menubar-sub-content.llm.md +127 -0
  150. package/llm-docs/menubar-sub-trigger.llm.md +51 -0
  151. package/llm-docs/menubar-sub.llm.md +53 -0
  152. package/llm-docs/menubar-trigger.llm.md +37 -0
  153. package/llm-docs/menubar.llm.md +115 -0
  154. package/llm-docs/navigation-menu-content.llm.md +116 -0
  155. package/llm-docs/navigation-menu-indicator.llm.md +68 -0
  156. package/llm-docs/navigation-menu-item.llm.md +62 -0
  157. package/llm-docs/navigation-menu-link.llm.md +109 -0
  158. package/llm-docs/navigation-menu-list.llm.md +52 -0
  159. package/llm-docs/navigation-menu-trigger-style.llm.md +22 -0
  160. package/llm-docs/navigation-menu-trigger.llm.md +57 -0
  161. package/llm-docs/navigation-menu-viewport.llm.md +51 -0
  162. package/llm-docs/navigation-menu.llm.md +184 -0
  163. package/llm-docs/p.llm.md +115 -0
  164. package/llm-docs/pagination-content.llm.md +60 -0
  165. package/llm-docs/pagination-ellipsis.llm.md +107 -0
  166. package/llm-docs/pagination-item.llm.md +59 -0
  167. package/llm-docs/pagination-link.llm.md +150 -0
  168. package/llm-docs/pagination-next.llm.md +115 -0
  169. package/llm-docs/pagination-previous.llm.md +115 -0
  170. package/llm-docs/pagination.llm.md +190 -0
  171. package/llm-docs/popover-anchor.llm.md +53 -0
  172. package/llm-docs/popover-content.llm.md +109 -0
  173. package/llm-docs/popover-trigger.llm.md +54 -0
  174. package/llm-docs/popover.llm.md +116 -0
  175. package/llm-docs/progress.llm.md +76 -0
  176. package/llm-docs/radio-group-indicator.llm.md +28 -0
  177. package/llm-docs/radio-group-item.llm.md +40 -0
  178. package/llm-docs/radio-group.llm.md +76 -0
  179. package/llm-docs/resizable-handle.llm.md +156 -0
  180. package/llm-docs/resizable-panel-group.llm.md +149 -0
  181. package/llm-docs/resizable-panel.llm.md +157 -0
  182. package/llm-docs/scroll-area-corner.llm.md +41 -0
  183. package/llm-docs/scroll-area-thumb.llm.md +39 -0
  184. package/llm-docs/scroll-area-viewport.llm.md +60 -0
  185. package/llm-docs/scroll-area.llm.md +125 -0
  186. package/llm-docs/scroll-bar.llm.md +78 -0
  187. package/llm-docs/sdk-items-registry.json +2638 -0
  188. package/llm-docs/select-content.llm.md +139 -0
  189. package/llm-docs/select-group.llm.md +60 -0
  190. package/llm-docs/select-item.llm.md +75 -0
  191. package/llm-docs/select-label.llm.md +62 -0
  192. package/llm-docs/select-scroll-down-button.llm.md +45 -0
  193. package/llm-docs/select-scroll-up-button.llm.md +45 -0
  194. package/llm-docs/select-separator.llm.md +59 -0
  195. package/llm-docs/select-trigger.llm.md +66 -0
  196. package/llm-docs/select-value.llm.md +67 -0
  197. package/llm-docs/select.llm.md +159 -0
  198. package/llm-docs/separator.llm.md +129 -0
  199. package/llm-docs/sheet-close.llm.md +49 -0
  200. package/llm-docs/sheet-content.llm.md +115 -0
  201. package/llm-docs/sheet-description.llm.md +62 -0
  202. package/llm-docs/sheet-footer.llm.md +64 -0
  203. package/llm-docs/sheet-header.llm.md +52 -0
  204. package/llm-docs/sheet-title.llm.md +53 -0
  205. package/llm-docs/sheet-trigger.llm.md +46 -0
  206. package/llm-docs/sheet.llm.md +126 -0
  207. package/llm-docs/sidebar-content.llm.md +63 -0
  208. package/llm-docs/sidebar-footer.llm.md +50 -0
  209. package/llm-docs/sidebar-group-action.llm.md +60 -0
  210. package/llm-docs/sidebar-group-content.llm.md +64 -0
  211. package/llm-docs/sidebar-group-label.llm.md +53 -0
  212. package/llm-docs/sidebar-group.llm.md +56 -0
  213. package/llm-docs/sidebar-header.llm.md +67 -0
  214. package/llm-docs/sidebar-input.llm.md +50 -0
  215. package/llm-docs/sidebar-inset.llm.md +52 -0
  216. package/llm-docs/sidebar-menu-action.llm.md +84 -0
  217. package/llm-docs/sidebar-menu-badge.llm.md +60 -0
  218. package/llm-docs/sidebar-menu-button.llm.md +103 -0
  219. package/llm-docs/sidebar-menu-item.llm.md +75 -0
  220. package/llm-docs/sidebar-menu-skeleton.llm.md +76 -0
  221. package/llm-docs/sidebar-menu-sub-button.llm.md +85 -0
  222. package/llm-docs/sidebar-menu-sub-item.llm.md +54 -0
  223. package/llm-docs/sidebar-menu-sub.llm.md +74 -0
  224. package/llm-docs/sidebar-menu.llm.md +65 -0
  225. package/llm-docs/sidebar-provider.llm.md +79 -0
  226. package/llm-docs/sidebar-rail.llm.md +34 -0
  227. package/llm-docs/sidebar-separator.llm.md +57 -0
  228. package/llm-docs/sidebar-trigger.llm.md +49 -0
  229. package/llm-docs/sidebar.llm.md +129 -0
  230. package/llm-docs/skeleton.llm.md +134 -0
  231. package/llm-docs/slider.llm.md +173 -0
  232. package/llm-docs/small.llm.md +115 -0
  233. package/llm-docs/span.llm.md +132 -0
  234. package/llm-docs/stack.llm.md +28 -0
  235. package/llm-docs/strong.llm.md +115 -0
  236. package/llm-docs/switch.llm.md +76 -0
  237. package/llm-docs/table-body.llm.md +36 -0
  238. package/llm-docs/table-caption.llm.md +48 -0
  239. package/llm-docs/table-cell.llm.md +53 -0
  240. package/llm-docs/table-footer.llm.md +41 -0
  241. package/llm-docs/table-head.llm.md +69 -0
  242. package/llm-docs/table-header.llm.md +41 -0
  243. package/llm-docs/table-row.llm.md +42 -0
  244. package/llm-docs/table.llm.md +123 -0
  245. package/llm-docs/tabs-content.llm.md +47 -0
  246. package/llm-docs/tabs-list.llm.md +41 -0
  247. package/llm-docs/tabs-trigger.llm.md +47 -0
  248. package/llm-docs/tabs.llm.md +71 -0
  249. package/llm-docs/text-field.llm.md +327 -0
  250. package/llm-docs/textarea.llm.md +311 -0
  251. package/llm-docs/theme-preference.llm.md +25 -0
  252. package/llm-docs/theme-toggle.llm.md +57 -0
  253. package/llm-docs/theme.llm.md +14 -0
  254. package/llm-docs/toast.llm.md +32 -0
  255. package/llm-docs/toaster.llm.md +193 -0
  256. package/llm-docs/toggle-group-item.llm.md +59 -0
  257. package/llm-docs/toggle-group.llm.md +101 -0
  258. package/llm-docs/toggle.llm.md +40 -0
  259. package/llm-docs/tooltip-content.llm.md +185 -0
  260. package/llm-docs/tooltip-provider.llm.md +68 -0
  261. package/llm-docs/tooltip-trigger.llm.md +70 -0
  262. package/llm-docs/tooltip.llm.md +129 -0
  263. package/llm-docs/typography.llm.md +175 -0
  264. package/llm-docs/use-carousel.llm.md +55 -0
  265. package/llm-docs/use-command-state.llm.md +32 -0
  266. package/llm-docs/use-is-mobile.llm.md +73 -0
  267. package/llm-docs/use-sidebar.llm.md +61 -0
  268. package/package.json +3 -2
@@ -0,0 +1,110 @@
1
+ # Breadcrumb
2
+
3
+ **Type**: component
4
+
5
+ Breadcrumb navigation component that displays hierarchical page location A breadcrumb navigation component built on semantic HTML that shows the current page location within a navigational hierarchy. Provides users with contextual awareness of their position in the site structure and enables easy navigation to parent pages. Based on the shadcn/ui Breadcrumb component with accessibility features and support for composition patterns including custom separators, ellipsis for long paths, dropdown menus, and custom link components via the asChild prop.
6
+
7
+ ## JSX Usage
8
+
9
+ ```jsx
10
+ import { Breadcrumb } from '@neynar/ui';
11
+
12
+ <Breadcrumb
13
+ className="value"
14
+ >
15
+ {/* Your content here */}
16
+ </Breadcrumb>
17
+ ```
18
+
19
+ ## Component Props
20
+
21
+ ### className
22
+ - **Type**: `string`
23
+ - **Required**: No
24
+ - **Description**: Additional CSS classes to apply to the navigation element
25
+
26
+ ### children
27
+ - **Type**: `React.ReactNode`
28
+ - **Required**: No
29
+ - **Description**: Child breadcrumb elements (typically BreadcrumbList)
30
+
31
+ ## Examples
32
+
33
+ ### Example 1
34
+ ```tsx
35
+ // Basic breadcrumb navigation
36
+ <Breadcrumb>
37
+ <BreadcrumbList>
38
+ <BreadcrumbItem>
39
+ <BreadcrumbLink href="/">Home</BreadcrumbLink>
40
+ </BreadcrumbItem>
41
+ <BreadcrumbSeparator />
42
+ <BreadcrumbItem>
43
+ <BreadcrumbLink href="/products">Products</BreadcrumbLink>
44
+ </BreadcrumbItem>
45
+ <BreadcrumbSeparator />
46
+ <BreadcrumbItem>
47
+ <BreadcrumbPage>Laptop</BreadcrumbPage>
48
+ </BreadcrumbItem>
49
+ </BreadcrumbList>
50
+ </Breadcrumb>
51
+ ```
52
+ ### Example 2
53
+ ```tsx
54
+ // With ellipsis for long paths
55
+ <Breadcrumb>
56
+ <BreadcrumbList>
57
+ <BreadcrumbItem>
58
+ <BreadcrumbLink href="/">Home</BreadcrumbLink>
59
+ </BreadcrumbItem>
60
+ <BreadcrumbSeparator />
61
+ <BreadcrumbItem>
62
+ <BreadcrumbEllipsis />
63
+ </BreadcrumbItem>
64
+ <BreadcrumbSeparator />
65
+ <BreadcrumbItem>
66
+ <BreadcrumbLink href="/products/laptops">Laptops</BreadcrumbLink>
67
+ </BreadcrumbItem>
68
+ <BreadcrumbSeparator />
69
+ <BreadcrumbItem>
70
+ <BreadcrumbPage>Gaming Laptop</BreadcrumbPage>
71
+ </BreadcrumbItem>
72
+ </BreadcrumbList>
73
+ </Breadcrumb>
74
+ ```
75
+ ### Example 3
76
+ ```tsx
77
+ // With Next.js Link integration using asChild
78
+ import { Link } from "next/link"
79
+ <Breadcrumb>
80
+ <BreadcrumbList>
81
+ <BreadcrumbItem>
82
+ <BreadcrumbLink asChild>
83
+ <Link href="/">Home</Link>
84
+ </BreadcrumbLink>
85
+ </BreadcrumbItem>
86
+ <BreadcrumbSeparator />
87
+ <BreadcrumbItem>
88
+ <BreadcrumbPage>Current Page</BreadcrumbPage>
89
+ </BreadcrumbItem>
90
+ </BreadcrumbList>
91
+ </Breadcrumb>
92
+ ```
93
+ ### Example 4
94
+ ```tsx
95
+ // With custom separator
96
+ import { Slash } from "lucide-react"
97
+ <Breadcrumb>
98
+ <BreadcrumbList>
99
+ <BreadcrumbItem>
100
+ <BreadcrumbLink href="/">Home</BreadcrumbLink>
101
+ </BreadcrumbItem>
102
+ <BreadcrumbSeparator>
103
+ <Slash />
104
+ </BreadcrumbSeparator>
105
+ <BreadcrumbItem>
106
+ <BreadcrumbPage>Current Page</BreadcrumbPage>
107
+ </BreadcrumbItem>
108
+ </BreadcrumbList>
109
+ </Breadcrumb>
110
+ ```
@@ -0,0 +1,281 @@
1
+ # Button
2
+
3
+ **Type**: component
4
+
5
+ Button - A versatile, accessible button component with multiple style variants A fundamental UI element built on Radix UI's Slot primitive that supports extensive customization through variants, composition patterns, and comprehensive accessibility features. The component automatically handles icon styling, focus management, form integration, and can be rendered as other elements using the asChild pattern.
6
+
7
+ ## JSX Usage
8
+
9
+ ```jsx
10
+ import { Button } from '@neynar/ui';
11
+
12
+ <Button
13
+ variant={value}
14
+ size={value}
15
+ asChild={true}
16
+ className="value"
17
+ disabled={true}
18
+ type={value}
19
+ onClick={handleClick}
20
+ onFocus={handleFocus}
21
+ onBlur={handleBlur}
22
+ onMouseEnter={handleMouseEnter}
23
+ onMouseLeave={handleMouseLeave}
24
+ "aria-label"="value"
25
+ "aria-describedby"="value"
26
+ "aria-invalid"={value}
27
+ "aria-expanded"={value}
28
+ "aria-controls"="value"
29
+ "aria-pressed"={value}
30
+ tabIndex={0}
31
+ autoFocus={true}
32
+ form="value"
33
+ formAction={() => {}}
34
+ formEncType="value"
35
+ formMethod="value"
36
+ formNoValidate={true}
37
+ formTarget="value"
38
+ name="value"
39
+ value={value}
40
+ ref={value}
41
+ >
42
+ {/* Your content here */}
43
+ </Button>
44
+ ```
45
+
46
+ ## Component Props
47
+
48
+ ### variant
49
+ - **Type**: `| "default"
50
+ | "destructive"
51
+ | "outline"
52
+ | "secondary"
53
+ | "ghost"
54
+ | "link"`
55
+ - **Required**: No
56
+ - **Description**: No description available
57
+
58
+ ### size
59
+ - **Type**: `"default" | "sm" | "lg" | "icon"`
60
+ - **Required**: No
61
+ - **Description**: No description available
62
+
63
+ ### asChild
64
+ - **Type**: `boolean`
65
+ - **Required**: No
66
+ - **Description**: No description available
67
+
68
+ ### children
69
+ - **Type**: `React.ReactNode`
70
+ - **Required**: No
71
+ - **Description**: No description available
72
+
73
+ ### className
74
+ - **Type**: `string`
75
+ - **Required**: No
76
+ - **Description**: No description available
77
+
78
+ ### disabled
79
+ - **Type**: `boolean`
80
+ - **Required**: No
81
+ - **Description**: No description available
82
+
83
+ ### type
84
+ - **Type**: `"button" | "submit" | "reset"`
85
+ - **Required**: No
86
+ - **Description**: No description available
87
+
88
+ ### onClick
89
+ - **Type**: `React.MouseEventHandler<HTMLButtonElement>`
90
+ - **Required**: No
91
+ - **Description**: No description available
92
+
93
+ ### onFocus
94
+ - **Type**: `React.FocusEventHandler<HTMLButtonElement>`
95
+ - **Required**: No
96
+ - **Description**: No description available
97
+
98
+ ### onBlur
99
+ - **Type**: `React.FocusEventHandler<HTMLButtonElement>`
100
+ - **Required**: No
101
+ - **Description**: No description available
102
+
103
+ ### onMouseEnter
104
+ - **Type**: `React.MouseEventHandler<HTMLButtonElement>`
105
+ - **Required**: No
106
+ - **Description**: No description available
107
+
108
+ ### onMouseLeave
109
+ - **Type**: `React.MouseEventHandler<HTMLButtonElement>`
110
+ - **Required**: No
111
+ - **Description**: No description available
112
+
113
+ ### "aria-label"
114
+ - **Type**: `string`
115
+ - **Required**: No
116
+ - **Description**: No description available
117
+
118
+ ### "aria-describedby"
119
+ - **Type**: `string`
120
+ - **Required**: No
121
+ - **Description**: No description available
122
+
123
+ ### "aria-invalid"
124
+ - **Type**: `boolean | "false" | "true" | "grammar" | "spelling"`
125
+ - **Required**: No
126
+ - **Description**: No description available
127
+
128
+ ### "aria-expanded"
129
+ - **Type**: `React.AriaAttributes['aria-expanded']`
130
+ - **Required**: No
131
+ - **Description**: No description available
132
+
133
+ ### "aria-controls"
134
+ - **Type**: `string`
135
+ - **Required**: No
136
+ - **Description**: No description available
137
+
138
+ ### "aria-pressed"
139
+ - **Type**: `boolean | "false" | "true" | "mixed"`
140
+ - **Required**: No
141
+ - **Description**: No description available
142
+
143
+ ### tabIndex
144
+ - **Type**: `number`
145
+ - **Required**: No
146
+ - **Description**: No description available
147
+
148
+ ### autoFocus
149
+ - **Type**: `boolean`
150
+ - **Required**: No
151
+ - **Description**: No description available
152
+
153
+ ### form
154
+ - **Type**: `string`
155
+ - **Required**: No
156
+ - **Description**: No description available
157
+
158
+ ### formAction
159
+ - **Type**: `string | ((formData: FormData) => void | Promise<void>)`
160
+ - **Required**: No
161
+ - **Description**: No description available
162
+
163
+ ### formEncType
164
+ - **Type**: `string`
165
+ - **Required**: No
166
+ - **Description**: No description available
167
+
168
+ ### formMethod
169
+ - **Type**: `string`
170
+ - **Required**: No
171
+ - **Description**: No description available
172
+
173
+ ### formNoValidate
174
+ - **Type**: `boolean`
175
+ - **Required**: No
176
+ - **Description**: No description available
177
+
178
+ ### formTarget
179
+ - **Type**: `string`
180
+ - **Required**: No
181
+ - **Description**: No description available
182
+
183
+ ### name
184
+ - **Type**: `string`
185
+ - **Required**: No
186
+ - **Description**: No description available
187
+
188
+ ### value
189
+ - **Type**: `string | ReadonlyArray<string> | number`
190
+ - **Required**: No
191
+ - **Description**: No description available
192
+
193
+ ### ref
194
+ - **Type**: `React.Ref<HTMLButtonElement>`
195
+ - **Required**: No
196
+ - **Description**: No description available
197
+
198
+ ## Examples
199
+
200
+ ### Example 1
201
+ ```tsx
202
+ // Basic usage with different variants
203
+ <Button>Default Button</Button>
204
+ <Button variant="destructive">Delete Item</Button>
205
+ <Button variant="outline" size="lg">Large Outline</Button>
206
+ <Button variant="ghost" size="sm">Small Ghost</Button>
207
+ <Button variant="link">Link Button</Button>
208
+ ```
209
+ ### Example 2
210
+ ```tsx
211
+ // Icon usage (automatically styled with proper spacing)
212
+ import { Download, ArrowRight, Plus, Trash2 } from "lucide-react";
213
+ <Button>
214
+ <Download className="mr-2" /> Download File
215
+ </Button>
216
+ <Button variant="outline">
217
+ Continue <ArrowRight className="ml-2" />
218
+ </Button>
219
+ // Icon-only button (always include aria-label)
220
+ <Button size="icon" aria-label="Add new item">
221
+ <Plus />
222
+ </Button>
223
+ <Button size="icon" variant="destructive" aria-label="Delete item">
224
+ <Trash2 />
225
+ </Button>
226
+ ```
227
+ ### Example 3
228
+ ```tsx
229
+ // Composition with asChild (render as different elements)
230
+ import Link from "next/link";
231
+ import { ExternalLink } from "lucide-react";
232
+ <Button asChild>
233
+ <Link href="/dashboard">Go to Dashboard</Link>
234
+ </Button>
235
+ <Button asChild variant="outline">
236
+ <a href="https://example.com" target="_blank" rel="noopener noreferrer">
237
+ External Link <ExternalLink className="ml-2 h-4 w-4" />
238
+ </a>
239
+ </Button>
240
+ ```
241
+ ### Example 4
242
+ ```tsx
243
+ // Form integration and states
244
+ <Button type="submit" disabled={isSubmitting}>
245
+ {isSubmitting ? "Submitting..." : "Submit Form"}
246
+ </Button>
247
+ <Button
248
+ variant="destructive"
249
+ onClick={() => handleDelete()}
250
+ aria-describedby="delete-warning"
251
+ >
252
+ Delete Account
253
+ </Button>
254
+ <p id="delete-warning" className="sr-only">
255
+ This action cannot be undone
256
+ </p>
257
+ // Toggle button with pressed state
258
+ <Button
259
+ variant="outline"
260
+ aria-pressed={isToggled}
261
+ onClick={() => setIsToggled(!isToggled)}
262
+ >
263
+ {isToggled ? "Enabled" : "Disabled"}
264
+ </Button>
265
+ ```
266
+ ### Example 5
267
+ ```tsx
268
+ // Loading states and advanced usage
269
+ import { Loader2, Save } from "lucide-react";
270
+ <Button disabled={isLoading}>
271
+ {isLoading && <Loader2 className="mr-2 h-4 w-4 animate-spin" />}
272
+ {isLoading ? "Saving..." : "Save Changes"}
273
+ </Button>
274
+ // With custom styling
275
+ <Button
276
+ className="bg-gradient-to-r from-purple-500 to-pink-500 hover:from-purple-600 hover:to-pink-600"
277
+ size="lg"
278
+ >
279
+ Gradient Button
280
+ </Button>
281
+ ```
@@ -0,0 +1,57 @@
1
+ # CalendarDayButton
2
+
3
+ **Type**: component
4
+
5
+ CalendarDayButton - Individual day button component for calendar dates Renders a single interactive day button with appropriate styling for different states including selected, today, disabled, and range selection indicators. This component is used internally by the Calendar component but can be customized if needed.
6
+
7
+ ## JSX Usage
8
+
9
+ ```jsx
10
+ import { CalendarDayButton } from '@neynar/ui';
11
+
12
+ <CalendarDayButton
13
+ className={value}
14
+ day={value}
15
+ modifiers={value}
16
+ ...props={value}
17
+ />
18
+ ```
19
+
20
+ ## Component Props
21
+
22
+ ### className
23
+ - **Type**: `unknown`
24
+ - **Required**: Yes
25
+ - **Description**: No description available
26
+
27
+ ### day
28
+ - **Type**: `unknown`
29
+ - **Required**: Yes
30
+ - **Description**: No description available
31
+
32
+ ### modifiers
33
+ - **Type**: `unknown`
34
+ - **Required**: Yes
35
+ - **Description**: No description available
36
+
37
+ ### ...props
38
+ - **Type**: `unknown`
39
+ - **Required**: Yes
40
+ - **Description**: No description available
41
+
42
+ ## Examples
43
+
44
+ ```tsx
45
+ // Used internally by Calendar component
46
+ <CalendarDayButton
47
+ day={dayObject}
48
+ modifiers={{
49
+ selected: true,
50
+ today: false,
51
+ disabled: false,
52
+ range_start: false,
53
+ range_end: false,
54
+ range_middle: false
55
+ }}
56
+ />
57
+ ```