@neynar/ui 0.1.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 (364) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +195 -0
  3. package/dist/components/ui/accordion.d.ts +229 -0
  4. package/dist/components/ui/accordion.d.ts.map +1 -0
  5. package/dist/components/ui/alert-dialog.d.ts +247 -0
  6. package/dist/components/ui/alert-dialog.d.ts.map +1 -0
  7. package/dist/components/ui/alert.d.ts +187 -0
  8. package/dist/components/ui/alert.d.ts.map +1 -0
  9. package/dist/components/ui/aspect-ratio.d.ts +94 -0
  10. package/dist/components/ui/aspect-ratio.d.ts.map +1 -0
  11. package/dist/components/ui/avatar.d.ts +244 -0
  12. package/dist/components/ui/avatar.d.ts.map +1 -0
  13. package/dist/components/ui/badge.d.ts +163 -0
  14. package/dist/components/ui/badge.d.ts.map +1 -0
  15. package/dist/components/ui/breadcrumb.d.ts +281 -0
  16. package/dist/components/ui/breadcrumb.d.ts.map +1 -0
  17. package/dist/components/ui/button.d.ts +129 -0
  18. package/dist/components/ui/button.d.ts.map +1 -0
  19. package/dist/components/ui/calendar.d.ts +169 -0
  20. package/dist/components/ui/calendar.d.ts.map +1 -0
  21. package/dist/components/ui/card.d.ts +365 -0
  22. package/dist/components/ui/card.d.ts.map +1 -0
  23. package/dist/components/ui/carousel.d.ts +369 -0
  24. package/dist/components/ui/carousel.d.ts.map +1 -0
  25. package/dist/components/ui/chart.d.ts +442 -0
  26. package/dist/components/ui/chart.d.ts.map +1 -0
  27. package/dist/components/ui/checkbox.d.ts +88 -0
  28. package/dist/components/ui/checkbox.d.ts.map +1 -0
  29. package/dist/components/ui/collapsible.d.ts +182 -0
  30. package/dist/components/ui/collapsible.d.ts.map +1 -0
  31. package/dist/components/ui/combobox.d.ts +270 -0
  32. package/dist/components/ui/combobox.d.ts.map +1 -0
  33. package/dist/components/ui/command.d.ts +355 -0
  34. package/dist/components/ui/command.d.ts.map +1 -0
  35. package/dist/components/ui/container.d.ts +102 -0
  36. package/dist/components/ui/container.d.ts.map +1 -0
  37. package/dist/components/ui/context-menu.d.ts +339 -0
  38. package/dist/components/ui/context-menu.d.ts.map +1 -0
  39. package/dist/components/ui/date-picker.d.ts +145 -0
  40. package/dist/components/ui/date-picker.d.ts.map +1 -0
  41. package/dist/components/ui/dialog.d.ts +322 -0
  42. package/dist/components/ui/dialog.d.ts.map +1 -0
  43. package/dist/components/ui/drawer.d.ts +154 -0
  44. package/dist/components/ui/drawer.d.ts.map +1 -0
  45. package/dist/components/ui/dropdown-menu.d.ts +349 -0
  46. package/dist/components/ui/dropdown-menu.d.ts.map +1 -0
  47. package/dist/components/ui/empty-state.d.ts +133 -0
  48. package/dist/components/ui/empty-state.d.ts.map +1 -0
  49. package/dist/components/ui/hover-card.d.ts +109 -0
  50. package/dist/components/ui/hover-card.d.ts.map +1 -0
  51. package/dist/components/ui/input.d.ts +89 -0
  52. package/dist/components/ui/input.d.ts.map +1 -0
  53. package/dist/components/ui/label.d.ts +93 -0
  54. package/dist/components/ui/label.d.ts.map +1 -0
  55. package/dist/components/ui/menubar.d.ts +306 -0
  56. package/dist/components/ui/menubar.d.ts.map +1 -0
  57. package/dist/components/ui/navigation-menu.d.ts +318 -0
  58. package/dist/components/ui/navigation-menu.d.ts.map +1 -0
  59. package/dist/components/ui/pagination.d.ts +343 -0
  60. package/dist/components/ui/pagination.d.ts.map +1 -0
  61. package/dist/components/ui/popover.d.ts +178 -0
  62. package/dist/components/ui/popover.d.ts.map +1 -0
  63. package/dist/components/ui/progress.d.ts +64 -0
  64. package/dist/components/ui/progress.d.ts.map +1 -0
  65. package/dist/components/ui/radio-group.d.ts +144 -0
  66. package/dist/components/ui/radio-group.d.ts.map +1 -0
  67. package/dist/components/ui/resizable.d.ts +164 -0
  68. package/dist/components/ui/resizable.d.ts.map +1 -0
  69. package/dist/components/ui/scroll-area.d.ts +82 -0
  70. package/dist/components/ui/scroll-area.d.ts.map +1 -0
  71. package/dist/components/ui/select.d.ts +316 -0
  72. package/dist/components/ui/select.d.ts.map +1 -0
  73. package/dist/components/ui/separator.d.ts +80 -0
  74. package/dist/components/ui/separator.d.ts.map +1 -0
  75. package/dist/components/ui/sheet.d.ts +346 -0
  76. package/dist/components/ui/sheet.d.ts.map +1 -0
  77. package/dist/components/ui/sidebar.d.ts +1561 -0
  78. package/dist/components/ui/sidebar.d.ts.map +1 -0
  79. package/dist/components/ui/skeleton.d.ts +66 -0
  80. package/dist/components/ui/skeleton.d.ts.map +1 -0
  81. package/dist/components/ui/slider.d.ts +95 -0
  82. package/dist/components/ui/slider.d.ts.map +1 -0
  83. package/dist/components/ui/sonner.d.ts +101 -0
  84. package/dist/components/ui/sonner.d.ts.map +1 -0
  85. package/dist/components/ui/stack.d.ts +192 -0
  86. package/dist/components/ui/stack.d.ts.map +1 -0
  87. package/dist/components/ui/stories/accordion.stories.d.ts +71 -0
  88. package/dist/components/ui/stories/accordion.stories.d.ts.map +1 -0
  89. package/dist/components/ui/stories/alert-dialog.stories.d.ts +39 -0
  90. package/dist/components/ui/stories/alert-dialog.stories.d.ts.map +1 -0
  91. package/dist/components/ui/stories/alert.stories.d.ts +48 -0
  92. package/dist/components/ui/stories/alert.stories.d.ts.map +1 -0
  93. package/dist/components/ui/stories/aspect-ratio.stories.d.ts +53 -0
  94. package/dist/components/ui/stories/aspect-ratio.stories.d.ts.map +1 -0
  95. package/dist/components/ui/stories/avatar.stories.d.ts +49 -0
  96. package/dist/components/ui/stories/avatar.stories.d.ts.map +1 -0
  97. package/dist/components/ui/stories/badge.stories.d.ts +64 -0
  98. package/dist/components/ui/stories/badge.stories.d.ts.map +1 -0
  99. package/dist/components/ui/stories/breadcrumb.stories.d.ts +27 -0
  100. package/dist/components/ui/stories/breadcrumb.stories.d.ts.map +1 -0
  101. package/dist/components/ui/stories/button.stories.d.ts +92 -0
  102. package/dist/components/ui/stories/button.stories.d.ts.map +1 -0
  103. package/dist/components/ui/stories/calendar.stories.d.ts +94 -0
  104. package/dist/components/ui/stories/calendar.stories.d.ts.map +1 -0
  105. package/dist/components/ui/stories/card.stories.d.ts +29 -0
  106. package/dist/components/ui/stories/card.stories.d.ts.map +1 -0
  107. package/dist/components/ui/stories/carousel.stories.d.ts +42 -0
  108. package/dist/components/ui/stories/carousel.stories.d.ts.map +1 -0
  109. package/dist/components/ui/stories/chart.stories.d.ts +51 -0
  110. package/dist/components/ui/stories/chart.stories.d.ts.map +1 -0
  111. package/dist/components/ui/stories/checkbox.stories.d.ts +72 -0
  112. package/dist/components/ui/stories/checkbox.stories.d.ts.map +1 -0
  113. package/dist/components/ui/stories/cn.stories.d.ts +19 -0
  114. package/dist/components/ui/stories/cn.stories.d.ts.map +1 -0
  115. package/dist/components/ui/stories/collapsible.stories.d.ts +51 -0
  116. package/dist/components/ui/stories/collapsible.stories.d.ts.map +1 -0
  117. package/dist/components/ui/stories/colors.stories.d.ts +31 -0
  118. package/dist/components/ui/stories/colors.stories.d.ts.map +1 -0
  119. package/dist/components/ui/stories/combobox.stories.d.ts +89 -0
  120. package/dist/components/ui/stories/combobox.stories.d.ts.map +1 -0
  121. package/dist/components/ui/stories/command.stories.d.ts +69 -0
  122. package/dist/components/ui/stories/command.stories.d.ts.map +1 -0
  123. package/dist/components/ui/stories/container.stories.d.ts +42 -0
  124. package/dist/components/ui/stories/container.stories.d.ts.map +1 -0
  125. package/dist/components/ui/stories/context-menu.stories.d.ts +32 -0
  126. package/dist/components/ui/stories/context-menu.stories.d.ts.map +1 -0
  127. package/dist/components/ui/stories/date-picker.stories.d.ts +67 -0
  128. package/dist/components/ui/stories/date-picker.stories.d.ts.map +1 -0
  129. package/dist/components/ui/stories/dialog.stories.d.ts +48 -0
  130. package/dist/components/ui/stories/dialog.stories.d.ts.map +1 -0
  131. package/dist/components/ui/stories/drawer.stories.d.ts +33 -0
  132. package/dist/components/ui/stories/drawer.stories.d.ts.map +1 -0
  133. package/dist/components/ui/stories/dropdown-menu.stories.d.ts +31 -0
  134. package/dist/components/ui/stories/dropdown-menu.stories.d.ts.map +1 -0
  135. package/dist/components/ui/stories/empty-state.stories.d.ts +74 -0
  136. package/dist/components/ui/stories/empty-state.stories.d.ts.map +1 -0
  137. package/dist/components/ui/stories/hover-card.stories.d.ts +35 -0
  138. package/dist/components/ui/stories/hover-card.stories.d.ts.map +1 -0
  139. package/dist/components/ui/stories/input.stories.d.ts +69 -0
  140. package/dist/components/ui/stories/input.stories.d.ts.map +1 -0
  141. package/dist/components/ui/stories/label.stories.d.ts +47 -0
  142. package/dist/components/ui/stories/label.stories.d.ts.map +1 -0
  143. package/dist/components/ui/stories/menubar.stories.d.ts +39 -0
  144. package/dist/components/ui/stories/menubar.stories.d.ts.map +1 -0
  145. package/dist/components/ui/stories/navigation-menu.stories.d.ts +44 -0
  146. package/dist/components/ui/stories/navigation-menu.stories.d.ts.map +1 -0
  147. package/dist/components/ui/stories/pagination.stories.d.ts +33 -0
  148. package/dist/components/ui/stories/pagination.stories.d.ts.map +1 -0
  149. package/dist/components/ui/stories/popover.stories.d.ts +36 -0
  150. package/dist/components/ui/stories/popover.stories.d.ts.map +1 -0
  151. package/dist/components/ui/stories/progress.stories.d.ts +38 -0
  152. package/dist/components/ui/stories/progress.stories.d.ts.map +1 -0
  153. package/dist/components/ui/stories/radio-group.stories.d.ts +76 -0
  154. package/dist/components/ui/stories/radio-group.stories.d.ts.map +1 -0
  155. package/dist/components/ui/stories/resizable.stories.d.ts +49 -0
  156. package/dist/components/ui/stories/resizable.stories.d.ts.map +1 -0
  157. package/dist/components/ui/stories/scroll-area.stories.d.ts +35 -0
  158. package/dist/components/ui/stories/scroll-area.stories.d.ts.map +1 -0
  159. package/dist/components/ui/stories/select.stories.d.ts +51 -0
  160. package/dist/components/ui/stories/select.stories.d.ts.map +1 -0
  161. package/dist/components/ui/stories/separator.stories.d.ts +58 -0
  162. package/dist/components/ui/stories/separator.stories.d.ts.map +1 -0
  163. package/dist/components/ui/stories/sheet.stories.d.ts +43 -0
  164. package/dist/components/ui/stories/sheet.stories.d.ts.map +1 -0
  165. package/dist/components/ui/stories/sidebar.stories.d.ts +60 -0
  166. package/dist/components/ui/stories/sidebar.stories.d.ts.map +1 -0
  167. package/dist/components/ui/stories/skeleton.stories.d.ts +42 -0
  168. package/dist/components/ui/stories/skeleton.stories.d.ts.map +1 -0
  169. package/dist/components/ui/stories/slider.stories.d.ts +99 -0
  170. package/dist/components/ui/stories/slider.stories.d.ts.map +1 -0
  171. package/dist/components/ui/stories/sonner.stories.d.ts +9 -0
  172. package/dist/components/ui/stories/sonner.stories.d.ts.map +1 -0
  173. package/dist/components/ui/stories/stack.stories.d.ts +39 -0
  174. package/dist/components/ui/stories/stack.stories.d.ts.map +1 -0
  175. package/dist/components/ui/stories/switch.stories.d.ts +71 -0
  176. package/dist/components/ui/stories/switch.stories.d.ts.map +1 -0
  177. package/dist/components/ui/stories/table.stories.d.ts +40 -0
  178. package/dist/components/ui/stories/table.stories.d.ts.map +1 -0
  179. package/dist/components/ui/stories/tabs.stories.d.ts +62 -0
  180. package/dist/components/ui/stories/tabs.stories.d.ts.map +1 -0
  181. package/dist/components/ui/stories/text-field.stories.d.ts +78 -0
  182. package/dist/components/ui/stories/text-field.stories.d.ts.map +1 -0
  183. package/dist/components/ui/stories/textarea.stories.d.ts +57 -0
  184. package/dist/components/ui/stories/textarea.stories.d.ts.map +1 -0
  185. package/dist/components/ui/stories/theme-toggle.stories.d.ts +71 -0
  186. package/dist/components/ui/stories/theme-toggle.stories.d.ts.map +1 -0
  187. package/dist/components/ui/stories/theme.stories.d.ts +51 -0
  188. package/dist/components/ui/stories/theme.stories.d.ts.map +1 -0
  189. package/dist/components/ui/stories/toggle-group.stories.d.ts +71 -0
  190. package/dist/components/ui/stories/toggle-group.stories.d.ts.map +1 -0
  191. package/dist/components/ui/stories/toggle.stories.d.ts +78 -0
  192. package/dist/components/ui/stories/toggle.stories.d.ts.map +1 -0
  193. package/dist/components/ui/stories/tooltip.stories.d.ts +37 -0
  194. package/dist/components/ui/stories/tooltip.stories.d.ts.map +1 -0
  195. package/dist/components/ui/stories/typography.stories.d.ts +137 -0
  196. package/dist/components/ui/stories/typography.stories.d.ts.map +1 -0
  197. package/dist/components/ui/stories/use-mobile.stories.d.ts +20 -0
  198. package/dist/components/ui/stories/use-mobile.stories.d.ts.map +1 -0
  199. package/dist/components/ui/stories/use-theme.stories.d.ts +23 -0
  200. package/dist/components/ui/stories/use-theme.stories.d.ts.map +1 -0
  201. package/dist/components/ui/switch.d.ts +84 -0
  202. package/dist/components/ui/switch.d.ts.map +1 -0
  203. package/dist/components/ui/table.d.ts +321 -0
  204. package/dist/components/ui/table.d.ts.map +1 -0
  205. package/dist/components/ui/tabs.d.ts +260 -0
  206. package/dist/components/ui/tabs.d.ts.map +1 -0
  207. package/dist/components/ui/text-field.d.ts +157 -0
  208. package/dist/components/ui/text-field.d.ts.map +1 -0
  209. package/dist/components/ui/textarea.d.ts +84 -0
  210. package/dist/components/ui/textarea.d.ts.map +1 -0
  211. package/dist/components/ui/theme-toggle.d.ts +105 -0
  212. package/dist/components/ui/theme-toggle.d.ts.map +1 -0
  213. package/dist/components/ui/theme.d.ts +110 -0
  214. package/dist/components/ui/theme.d.ts.map +1 -0
  215. package/dist/components/ui/toggle-group.d.ts +133 -0
  216. package/dist/components/ui/toggle-group.d.ts.map +1 -0
  217. package/dist/components/ui/toggle.d.ts +84 -0
  218. package/dist/components/ui/toggle.d.ts.map +1 -0
  219. package/dist/components/ui/tooltip.d.ts +202 -0
  220. package/dist/components/ui/tooltip.d.ts.map +1 -0
  221. package/dist/components/ui/typography.d.ts +287 -0
  222. package/dist/components/ui/typography.d.ts.map +1 -0
  223. package/dist/hooks/use-mobile.d.ts +74 -0
  224. package/dist/hooks/use-mobile.d.ts.map +1 -0
  225. package/dist/hooks/use-theme.d.ts +142 -0
  226. package/dist/hooks/use-theme.d.ts.map +1 -0
  227. package/dist/index.d.ts +57 -0
  228. package/dist/index.d.ts.map +1 -0
  229. package/dist/index.js +27498 -0
  230. package/dist/index.js.map +1 -0
  231. package/dist/lib/utils.d.ts +43 -0
  232. package/dist/lib/utils.d.ts.map +1 -0
  233. package/dist/tsconfig.tsbuildinfo +1 -0
  234. package/docs/llm/colors.md +273 -0
  235. package/docs/llm/components/buttons.md +68 -0
  236. package/docs/llm/components/cards.md +53 -0
  237. package/docs/llm/components/display.md +134 -0
  238. package/docs/llm/components/feedback.md +96 -0
  239. package/docs/llm/components/forms.md +90 -0
  240. package/docs/llm/components/layout.md +59 -0
  241. package/docs/llm/components/menus.md +70 -0
  242. package/docs/llm/components/navigation.md +80 -0
  243. package/docs/llm/components/overlays.md +83 -0
  244. package/docs/llm/components/tables.md +73 -0
  245. package/docs/llm/components/typography.md +199 -0
  246. package/docs/llm/components/utilities.md +114 -0
  247. package/docs/llm/guide.md +165 -0
  248. package/llms.txt +122 -0
  249. package/package.json +104 -0
  250. package/src/components/ui/accordion.tsx +285 -0
  251. package/src/components/ui/alert-dialog.tsx +387 -0
  252. package/src/components/ui/alert.tsx +243 -0
  253. package/src/components/ui/aspect-ratio.tsx +99 -0
  254. package/src/components/ui/avatar.tsx +288 -0
  255. package/src/components/ui/badge.tsx +205 -0
  256. package/src/components/ui/breadcrumb.tsx +378 -0
  257. package/src/components/ui/button.tsx +195 -0
  258. package/src/components/ui/calendar.tsx +371 -0
  259. package/src/components/ui/card.tsx +447 -0
  260. package/src/components/ui/carousel.tsx +624 -0
  261. package/src/components/ui/chart.tsx +802 -0
  262. package/src/components/ui/checkbox.tsx +113 -0
  263. package/src/components/ui/collapsible.tsx +207 -0
  264. package/src/components/ui/combobox.tsx +373 -0
  265. package/src/components/ui/command.tsx +518 -0
  266. package/src/components/ui/container.tsx +114 -0
  267. package/src/components/ui/context-menu.tsx +563 -0
  268. package/src/components/ui/date-picker.tsx +213 -0
  269. package/src/components/ui/dialog.tsx +447 -0
  270. package/src/components/ui/drawer.tsx +273 -0
  271. package/src/components/ui/dropdown-menu.tsx +578 -0
  272. package/src/components/ui/empty-state.tsx +145 -0
  273. package/src/components/ui/hover-card.tsx +144 -0
  274. package/src/components/ui/input.tsx +106 -0
  275. package/src/components/ui/label.tsx +110 -0
  276. package/src/components/ui/menubar.tsx +553 -0
  277. package/src/components/ui/navigation-menu.tsx +471 -0
  278. package/src/components/ui/pagination.tsx +456 -0
  279. package/src/components/ui/popover.tsx +216 -0
  280. package/src/components/ui/progress.tsx +88 -0
  281. package/src/components/ui/radio-group.tsx +183 -0
  282. package/src/components/ui/resizable.tsx +209 -0
  283. package/src/components/ui/scroll-area.tsx +132 -0
  284. package/src/components/ui/select.tsx +485 -0
  285. package/src/components/ui/separator.tsx +101 -0
  286. package/src/components/ui/sheet.tsx +495 -0
  287. package/src/components/ui/sidebar.tsx +2211 -0
  288. package/src/components/ui/skeleton.tsx +76 -0
  289. package/src/components/ui/slider.tsx +147 -0
  290. package/src/components/ui/sonner.tsx +120 -0
  291. package/src/components/ui/stack.tsx +180 -0
  292. package/src/components/ui/stories/accordion.stories.tsx +429 -0
  293. package/src/components/ui/stories/alert-dialog.stories.tsx +519 -0
  294. package/src/components/ui/stories/alert.stories.tsx +228 -0
  295. package/src/components/ui/stories/aspect-ratio.stories.tsx +200 -0
  296. package/src/components/ui/stories/avatar.stories.tsx +317 -0
  297. package/src/components/ui/stories/badge.stories.tsx +260 -0
  298. package/src/components/ui/stories/breadcrumb.stories.tsx +482 -0
  299. package/src/components/ui/stories/button.stories.tsx +266 -0
  300. package/src/components/ui/stories/calendar.stories.tsx +375 -0
  301. package/src/components/ui/stories/card.stories.tsx +308 -0
  302. package/src/components/ui/stories/carousel.stories.tsx +328 -0
  303. package/src/components/ui/stories/chart.stories.tsx +430 -0
  304. package/src/components/ui/stories/checkbox.stories.tsx +297 -0
  305. package/src/components/ui/stories/cn.stories.tsx +433 -0
  306. package/src/components/ui/stories/collapsible.stories.tsx +256 -0
  307. package/src/components/ui/stories/colors.stories.tsx +502 -0
  308. package/src/components/ui/stories/combobox.stories.tsx +301 -0
  309. package/src/components/ui/stories/command.stories.tsx +632 -0
  310. package/src/components/ui/stories/container.stories.tsx +250 -0
  311. package/src/components/ui/stories/context-menu.stories.tsx +446 -0
  312. package/src/components/ui/stories/date-picker.stories.tsx +378 -0
  313. package/src/components/ui/stories/dialog.stories.tsx +535 -0
  314. package/src/components/ui/stories/drawer.stories.tsx +364 -0
  315. package/src/components/ui/stories/dropdown-menu.stories.tsx +374 -0
  316. package/src/components/ui/stories/empty-state.stories.tsx +244 -0
  317. package/src/components/ui/stories/hover-card.stories.tsx +355 -0
  318. package/src/components/ui/stories/input.stories.tsx +289 -0
  319. package/src/components/ui/stories/label.stories.tsx +294 -0
  320. package/src/components/ui/stories/menubar.stories.tsx +764 -0
  321. package/src/components/ui/stories/navigation-menu.stories.tsx +539 -0
  322. package/src/components/ui/stories/pagination.stories.tsx +604 -0
  323. package/src/components/ui/stories/popover.stories.tsx +392 -0
  324. package/src/components/ui/stories/progress.stories.tsx +218 -0
  325. package/src/components/ui/stories/radio-group.stories.tsx +400 -0
  326. package/src/components/ui/stories/resizable.stories.tsx +417 -0
  327. package/src/components/ui/stories/scroll-area.stories.tsx +180 -0
  328. package/src/components/ui/stories/select.stories.tsx +389 -0
  329. package/src/components/ui/stories/separator.stories.tsx +192 -0
  330. package/src/components/ui/stories/sheet.stories.tsx +468 -0
  331. package/src/components/ui/stories/sidebar.stories.tsx +731 -0
  332. package/src/components/ui/stories/skeleton.stories.tsx +216 -0
  333. package/src/components/ui/stories/slider.stories.tsx +321 -0
  334. package/src/components/ui/stories/sonner.stories.tsx +373 -0
  335. package/src/components/ui/stories/stack.stories.tsx +222 -0
  336. package/src/components/ui/stories/switch.stories.tsx +202 -0
  337. package/src/components/ui/stories/table.stories.tsx +541 -0
  338. package/src/components/ui/stories/tabs.stories.tsx +544 -0
  339. package/src/components/ui/stories/text-field.stories.tsx +280 -0
  340. package/src/components/ui/stories/textarea.stories.tsx +245 -0
  341. package/src/components/ui/stories/theme-toggle.stories.tsx +275 -0
  342. package/src/components/ui/stories/theme.stories.tsx +412 -0
  343. package/src/components/ui/stories/toggle-group.stories.tsx +337 -0
  344. package/src/components/ui/stories/toggle.stories.tsx +325 -0
  345. package/src/components/ui/stories/tooltip.stories.tsx +444 -0
  346. package/src/components/ui/stories/typography.stories.tsx +1586 -0
  347. package/src/components/ui/stories/use-mobile.stories.tsx +420 -0
  348. package/src/components/ui/stories/use-theme.stories.tsx +531 -0
  349. package/src/components/ui/switch.tsx +106 -0
  350. package/src/components/ui/table.tsx +424 -0
  351. package/src/components/ui/tabs.tsx +316 -0
  352. package/src/components/ui/text-field.tsx +206 -0
  353. package/src/components/ui/textarea.tsx +98 -0
  354. package/src/components/ui/theme-toggle.tsx +185 -0
  355. package/src/components/ui/theme.tsx +148 -0
  356. package/src/components/ui/toggle-group.tsx +196 -0
  357. package/src/components/ui/toggle.tsx +115 -0
  358. package/src/components/ui/tooltip.tsx +253 -0
  359. package/src/components/ui/typography.tsx +468 -0
  360. package/src/hooks/use-mobile.ts +91 -0
  361. package/src/hooks/use-theme.ts +319 -0
  362. package/src/index.ts +77 -0
  363. package/src/lib/utils.ts +57 -0
  364. package/src/styles/globals.css +160 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sidebar.d.ts","sourceRoot":"","sources":["../../../src/components/ui/sidebar.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * A skeleton component for displaying loading placeholders that improve perceived performance
3
+ *
4
+ * The Skeleton component creates animated placeholders that mimic the structure and layout
5
+ * of content that is being loaded. It uses a subtle pulse animation to indicate loading
6
+ * state and maintains layout stability during data fetching operations.
7
+ *
8
+ * Based on shadcn/ui skeleton patterns, this component is designed to be highly composable
9
+ * and can be shaped to match any content structure using Tailwind CSS classes.
10
+ *
11
+ * @example
12
+ * ```tsx
13
+ * // Basic usage - simple text placeholder
14
+ * <Skeleton className="h-4 w-[250px]" />
15
+ * ```
16
+ *
17
+ * @example
18
+ * ```tsx
19
+ * // Avatar skeleton - circular placeholder
20
+ * <Skeleton className="h-12 w-12 rounded-full" />
21
+ * ```
22
+ *
23
+ * @example
24
+ * ```tsx
25
+ * // Card skeleton - structured content placeholder
26
+ * <div className="space-y-2">
27
+ * <Skeleton className="h-6 w-3/4" />
28
+ * <Skeleton className="h-4 w-full" />
29
+ * <Skeleton className="h-4 w-5/6" />
30
+ * </div>
31
+ * ```
32
+ *
33
+ * @example
34
+ * ```tsx
35
+ * // Complex layout with multiple skeletons
36
+ * <Card>
37
+ * <CardHeader>
38
+ * <div className="flex items-center gap-3">
39
+ * <Skeleton className="h-10 w-10 rounded-full" />
40
+ * <div className="space-y-2">
41
+ * <Skeleton className="h-4 w-24" />
42
+ * <Skeleton className="h-3 w-16" />
43
+ * </div>
44
+ * </div>
45
+ * </CardHeader>
46
+ * <CardContent>
47
+ * <Skeleton className="h-4 w-full" />
48
+ * <Skeleton className="h-4 w-4/5" />
49
+ * </CardContent>
50
+ * </Card>
51
+ * ```
52
+ *
53
+ * @param className - Additional CSS classes for customizing size, shape, and appearance
54
+ * @param props - Standard HTML div element props
55
+ *
56
+ * @accessibility
57
+ * The component includes a pulse animation to indicate loading state and maintains
58
+ * layout stability. Consider adding aria-busy="true" or aria-label="Loading content"
59
+ * to parent containers for better screen reader support.
60
+ *
61
+ * @see {@link https://ui.shadcn.com/docs/components/skeleton} shadcn/ui Skeleton documentation
62
+ * @since 1.0.0
63
+ */
64
+ declare function Skeleton({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
65
+ export { Skeleton };
66
+ //# sourceMappingURL=skeleton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skeleton.d.ts","sourceRoot":"","sources":["../../../src/components/ui/skeleton.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8DG;AACH,iBAAS,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQrE;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC"}
@@ -0,0 +1,95 @@
1
+ import * as React from "react";
2
+ import * as SliderPrimitive from "@radix-ui/react-slider";
3
+ /**
4
+ * Slider component for selecting numeric values within a range
5
+ *
6
+ * A versatile range input control built on Radix UI Slider primitives that allows users
7
+ * to select single or multiple values by dragging thumbs along a track. Supports both
8
+ * horizontal and vertical orientations, custom ranges, step intervals, and accessibility
9
+ * features for keyboard and touch interaction.
10
+ *
11
+ * Based on the shadcn/ui Slider component with enhanced styling and behavior.
12
+ *
13
+ * @example
14
+ * ```tsx
15
+ * // Basic single-value slider
16
+ * <Slider defaultValue={[33]} max={100} step={1} />
17
+ * ```
18
+ *
19
+ * @example
20
+ * ```tsx
21
+ * // Controlled slider with state
22
+ * const [value, setValue] = useState([25])
23
+ *
24
+ * <Slider
25
+ * value={value}
26
+ * onValueChange={setValue}
27
+ * max={100}
28
+ * step={5}
29
+ * />
30
+ * ```
31
+ *
32
+ * @example
33
+ * ```tsx
34
+ * // Range slider with two thumbs
35
+ * <Slider
36
+ * defaultValue={[25, 75]}
37
+ * max={100}
38
+ * step={1}
39
+ * minStepsBetweenThumbs={10}
40
+ * />
41
+ * ```
42
+ *
43
+ * @example
44
+ * ```tsx
45
+ * // Vertical orientation
46
+ * <Slider
47
+ * defaultValue={[50]}
48
+ * max={100}
49
+ * orientation="vertical"
50
+ * className="h-60"
51
+ * />
52
+ * ```
53
+ *
54
+ * @example
55
+ * ```tsx
56
+ * // Custom range and step
57
+ * <Slider
58
+ * defaultValue={[500]}
59
+ * min={0}
60
+ * max={1000}
61
+ * step={50}
62
+ * />
63
+ * ```
64
+ *
65
+ * @accessibility
66
+ * - Implements WAI-ARIA slider pattern with proper roles and properties
67
+ * - Arrow keys adjust value by step amount (Left/Down decrease, Right/Up increase)
68
+ * - Page Up/Page Down adjust by larger increments (10 × step)
69
+ * - Home/End keys jump to minimum/maximum values
70
+ * - Supports keyboard navigation with focus visible indicators
71
+ * - Touch and mouse interaction supported
72
+ * - Screen reader announcements for value changes
73
+ * - Disabled state properly communicated to assistive technologies
74
+ *
75
+ * @see {@link https://ui.shadcn.com/docs/components/slider} for design patterns
76
+ * @see {@link https://www.radix-ui.com/docs/primitives/components/slider} for API reference
77
+ *
78
+ * @since 1.0.0
79
+ */
80
+ /**
81
+ * @param className - Additional CSS classes for styling customization
82
+ * @param defaultValue - The default value(s) of the slider (uncontrolled)
83
+ * @param value - The controlled value(s) of the slider
84
+ * @param min - The minimum value of the slider (default: 0)
85
+ * @param max - The maximum value of the slider (default: 100)
86
+ * @param step - The step interval for value changes (default: 1)
87
+ * @param orientation - The orientation of the slider ("horizontal" | "vertical")
88
+ * @param disabled - Whether the slider is disabled
89
+ * @param onValueChange - Callback fired when the value changes
90
+ * @param minStepsBetweenThumbs - Minimum steps between thumbs in range mode
91
+ * @param ...props - Additional props passed to the underlying Radix Slider Root
92
+ */
93
+ declare function Slider({ className, defaultValue, value, min, max, ...props }: React.ComponentProps<typeof SliderPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
94
+ export { Slider };
95
+ //# sourceMappingURL=slider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slider.d.ts","sourceRoot":"","sources":["../../../src/components/ui/slider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAI1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4EG;AACH;;;;;;;;;;;;GAYG;AACH,iBAAS,MAAM,CAAC,EACd,SAAS,EACT,YAAY,EACZ,KAAK,EACL,GAAO,EACP,GAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,2CA0CnD;AAED,OAAO,EAAE,MAAM,EAAE,CAAC"}
@@ -0,0 +1,101 @@
1
+ import { type ToasterProps, toast } from "sonner";
2
+ /**
3
+ * Toast notification container component built on Sonner
4
+ *
5
+ * An opinionated toast component that provides beautiful, accessible notifications
6
+ * with minimal setup. Automatically integrates with the theme system and provides
7
+ * consistent styling across the application. This is the recommended toast solution
8
+ * for @neynar/ui projects, replacing previous toast implementations.
9
+ *
10
+ * @example
11
+ * ```tsx
12
+ * // Add to your app root layout
13
+ * import { Toaster } from '@neynar/ui/components/ui/sonner';
14
+ *
15
+ * export default function RootLayout({ children }) {
16
+ * return (
17
+ * <html lang="en">
18
+ * <body>
19
+ * <main>{children}</main>
20
+ * <Toaster />
21
+ * </body>
22
+ * </html>
23
+ * );
24
+ * }
25
+ * ```
26
+ *
27
+ * @example
28
+ * ```tsx
29
+ * // Basic toast usage from anywhere in your app
30
+ * import { toast } from 'sonner';
31
+ *
32
+ * // Simple notification
33
+ * toast('Cast published successfully');
34
+ *
35
+ * // Success variant
36
+ * toast.success('Profile updated');
37
+ *
38
+ * // With description and action
39
+ * toast('Event created', {
40
+ * description: 'Sunday, December 03, 2023 at 9:00 AM',
41
+ * action: {
42
+ * label: 'Undo',
43
+ * onClick: () => console.log('Undo')
44
+ * }
45
+ * });
46
+ * ```
47
+ *
48
+ * @example
49
+ * ```tsx
50
+ * // Promise-based toasts for async operations
51
+ * toast.promise(saveData(), {
52
+ * loading: 'Saving changes...',
53
+ * success: 'Data saved successfully!',
54
+ * error: 'Failed to save changes'
55
+ * });
56
+ * ```
57
+ *
58
+ * @example
59
+ * ```tsx
60
+ * // Custom configuration
61
+ * <Toaster
62
+ * position="top-center"
63
+ * expand={true}
64
+ * richColors
65
+ * duration={5000}
66
+ * closeButton
67
+ * />
68
+ * ```
69
+ *
70
+ * @param props - Configuration options for the toast container
71
+ * @param props.position - Position of toasts on screen. Options: "top-left", "top-center", "top-right", "bottom-left", "bottom-center", "bottom-right". Default: "bottom-right"
72
+ * @param props.hotkey - Keyboard shortcut to focus toasts. Default: ["altKey", "KeyT"]
73
+ * @param props.richColors - Enable enhanced colors for different toast types. Default: false
74
+ * @param props.expand - Expand toasts by default to show full content. Default: false
75
+ * @param props.duration - Default duration in milliseconds before auto-dismiss. Default: 4000
76
+ * @param props.gap - Spacing between toasts in pixels. Default: 14
77
+ * @param props.visibleToasts - Maximum number of toasts visible at once. Default: 3
78
+ * @param props.closeButton - Show close button on each toast. Default: false
79
+ * @param props.toastOptions - Default options applied to all toasts
80
+ * @param props.className - Additional CSS classes for the toast container
81
+ * @param props.style - Additional inline styles for the toast container
82
+ * @param props.offset - Offset from viewport edges in pixels or string
83
+ * @param props.dir - Text direction for toast content. Options: "ltr", "rtl", "auto". Default: "ltr"
84
+ * @param props.loadingIcon - Custom loading icon component
85
+ * @param props.icons - Custom icons for different toast types
86
+ *
87
+ * @accessibility
88
+ * - Toasts are announced to screen readers with appropriate ARIA attributes
89
+ * - Keyboard navigation support with customizable hotkey
90
+ * - Auto-dismiss functionality with configurable duration
91
+ * - Focus management for interactive elements within toasts
92
+ * - Respects user's prefers-reduced-motion settings
93
+ * - High contrast support for better visibility
94
+ *
95
+ * @see {@link https://ui.shadcn.com/docs/components/sonner} - shadcn/ui Sonner documentation
96
+ * @see {@link https://sonner.emilkowal.ski/} - Official Sonner documentation
97
+ * @since 1.0.0
98
+ */
99
+ declare function Toaster({ ...props }: ToasterProps): import("react/jsx-runtime").JSX.Element;
100
+ export { Toaster, toast };
101
+ //# sourceMappingURL=sonner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sonner.d.ts","sourceRoot":"","sources":["../../../src/components/ui/sonner.tsx"],"names":[],"mappings":"AACA,OAAO,EAAqB,KAAK,YAAY,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAErE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgGG;AACH,iBAAS,OAAO,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,YAAY,2CAiB1C;AAED,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC"}
@@ -0,0 +1,192 @@
1
+ import * as React from "react";
2
+ /**
3
+ * Props for the Stack component
4
+ *
5
+ * @public
6
+ */
7
+ export type StackProps = React.HTMLAttributes<HTMLDivElement> & {
8
+ /**
9
+ * The spacing between stack items using Tailwind CSS spacing scale
10
+ *
11
+ * Controls the gap between child elements using Tailwind's space utilities.
12
+ * Each value corresponds to a Tailwind spacing unit (1 = 0.25rem, 4 = 1rem, etc.)
13
+ *
14
+ * @defaultValue 4
15
+ * @example
16
+ * ```tsx
17
+ * // Tight spacing for compact layouts
18
+ * <Stack spacing={2}>
19
+ * <Button>Save</Button>
20
+ * <Button>Cancel</Button>
21
+ * </Stack>
22
+ *
23
+ * // Generous spacing for section separation
24
+ * <Stack spacing={8}>
25
+ * <section>First section</section>
26
+ * <section>Second section</section>
27
+ * </Stack>
28
+ * ```
29
+ */
30
+ spacing?: 1 | 2 | 3 | 4 | 6 | 8 | 12;
31
+ /**
32
+ * The layout direction of the stack
33
+ *
34
+ * - `"vertical"` - Arranges children in a column with vertical spacing
35
+ * - `"horizontal"` - Arranges children in a row with horizontal spacing
36
+ *
37
+ * @defaultValue "vertical"
38
+ * @example
39
+ * ```tsx
40
+ * // Vertical stack (default)
41
+ * <Stack>
42
+ * <Card>Item 1</Card>
43
+ * <Card>Item 2</Card>
44
+ * </Stack>
45
+ *
46
+ * // Horizontal stack for action buttons
47
+ * <Stack direction="horizontal">
48
+ * <Button>Primary</Button>
49
+ * <Button variant="outline">Secondary</Button>
50
+ * </Stack>
51
+ * ```
52
+ */
53
+ direction?: "vertical" | "horizontal";
54
+ };
55
+ /**
56
+ * Stack - A flexible layout component for consistent spacing between elements
57
+ *
58
+ * Stack is a fundamental layout primitive that arranges child elements in either
59
+ * vertical or horizontal direction with consistent spacing. Built on flexbox principles,
60
+ * it provides a clean API for common layout patterns without requiring custom CSS.
61
+ *
62
+ * This component is particularly useful for:
63
+ * - Form layouts with consistent field spacing
64
+ * - Button groups and action bars
65
+ * - Content sections with uniform gaps
66
+ * - Navigation lists and menus
67
+ * - Card layouts and content grids
68
+ *
69
+ * @example Basic vertical layout (default)
70
+ * ```tsx
71
+ * <Stack>
72
+ * <Card>Profile Information</Card>
73
+ * <Card>Account Settings</Card>
74
+ * <Card>Privacy Controls</Card>
75
+ * </Stack>
76
+ * ```
77
+ *
78
+ * @example Horizontal action bar
79
+ * ```tsx
80
+ * <Stack direction="horizontal" spacing={3}>
81
+ * <Button>Save Changes</Button>
82
+ * <Button variant="outline">Cancel</Button>
83
+ * <Button variant="ghost">Reset</Button>
84
+ * </Stack>
85
+ * ```
86
+ *
87
+ * @example Form sections with custom spacing
88
+ * ```tsx
89
+ * <Stack spacing={6}>
90
+ * <fieldset>
91
+ * <legend>Personal Information</legend>
92
+ * <Stack spacing={3}>
93
+ * <Input placeholder="Full Name" />
94
+ * <Input placeholder="Email Address" />
95
+ * </Stack>
96
+ * </fieldset>
97
+ * <fieldset>
98
+ * <legend>Preferences</legend>
99
+ * <Stack spacing={2}>
100
+ * <Checkbox>Email notifications</Checkbox>
101
+ * <Checkbox>Marketing updates</Checkbox>
102
+ * </Stack>
103
+ * </fieldset>
104
+ * </Stack>
105
+ * ```
106
+ *
107
+ * @example Responsive layout with additional styling
108
+ * ```tsx
109
+ * <Stack
110
+ * spacing={4}
111
+ * className="w-full max-w-md mx-auto p-6"
112
+ * >
113
+ * <h2>User Dashboard</h2>
114
+ * <Stack direction="horizontal" spacing={2} className="justify-between">
115
+ * <Badge>Online</Badge>
116
+ * <Button size="sm">Edit Profile</Button>
117
+ * </Stack>
118
+ * </Stack>
119
+ * ```
120
+ *
121
+ * @remarks
122
+ * **Design Philosophy:**
123
+ * - Follows the principle of consistent spacing throughout the UI
124
+ * - Uses Tailwind's spacing scale for predictable sizing
125
+ * - Composable with other layout components
126
+ * - Maintains semantic HTML structure
127
+ *
128
+ * **Performance:**
129
+ * - Lightweight wrapper around flexbox CSS
130
+ * - No JavaScript overhead for layout calculations
131
+ * - Leverages Tailwind's JIT compilation for minimal CSS
132
+ *
133
+ * **Accessibility:**
134
+ * - Preserves natural document flow and reading order
135
+ * - Compatible with screen readers and keyboard navigation
136
+ * - Supports semantic HTML elements as children
137
+ * - Does not interfere with focus management
138
+ *
139
+ * @public
140
+ * @since 1.0.0
141
+ * @see {@link https://tailwindcss.com/docs/space} Tailwind CSS spacing utilities
142
+ */
143
+ declare const Stack: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & {
144
+ /**
145
+ * The spacing between stack items using Tailwind CSS spacing scale
146
+ *
147
+ * Controls the gap between child elements using Tailwind's space utilities.
148
+ * Each value corresponds to a Tailwind spacing unit (1 = 0.25rem, 4 = 1rem, etc.)
149
+ *
150
+ * @defaultValue 4
151
+ * @example
152
+ * ```tsx
153
+ * // Tight spacing for compact layouts
154
+ * <Stack spacing={2}>
155
+ * <Button>Save</Button>
156
+ * <Button>Cancel</Button>
157
+ * </Stack>
158
+ *
159
+ * // Generous spacing for section separation
160
+ * <Stack spacing={8}>
161
+ * <section>First section</section>
162
+ * <section>Second section</section>
163
+ * </Stack>
164
+ * ```
165
+ */
166
+ spacing?: 1 | 2 | 3 | 4 | 6 | 8 | 12;
167
+ /**
168
+ * The layout direction of the stack
169
+ *
170
+ * - `"vertical"` - Arranges children in a column with vertical spacing
171
+ * - `"horizontal"` - Arranges children in a row with horizontal spacing
172
+ *
173
+ * @defaultValue "vertical"
174
+ * @example
175
+ * ```tsx
176
+ * // Vertical stack (default)
177
+ * <Stack>
178
+ * <Card>Item 1</Card>
179
+ * <Card>Item 2</Card>
180
+ * </Stack>
181
+ *
182
+ * // Horizontal stack for action buttons
183
+ * <Stack direction="horizontal">
184
+ * <Button>Primary</Button>
185
+ * <Button variant="outline">Secondary</Button>
186
+ * </Stack>
187
+ * ```
188
+ */
189
+ direction?: "vertical" | "horizontal";
190
+ } & React.RefAttributes<HTMLDivElement>>;
191
+ export { Stack };
192
+ //# sourceMappingURL=stack.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stack.d.ts","sourceRoot":"","sources":["../../../src/components/ui/stack.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,GAAG;IAC9D;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;IAErC;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,SAAS,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;CACvC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuFG;AACH,QAAA,MAAM,KAAK;IAzIT;;;;;;;;;;;;;;;;;;;;;OAqBG;cACO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE;IAEpC;;;;;;;;;;;;;;;;;;;;;OAqBG;gBACS,UAAU,GAAG,YAAY;wCAwHtC,CAAC;AAIF,OAAO,EAAE,KAAK,EAAE,CAAC"}
@@ -0,0 +1,71 @@
1
+ import type { StoryObj } from "@storybook/react-vite";
2
+ import { Accordion } from "../accordion";
3
+ declare const meta: {
4
+ title: string;
5
+ component: typeof Accordion;
6
+ parameters: {
7
+ layout: string;
8
+ docs: {
9
+ description: {
10
+ component: string;
11
+ };
12
+ };
13
+ };
14
+ tags: string[];
15
+ argTypes: {
16
+ type: {
17
+ control: {
18
+ type: "radio";
19
+ };
20
+ options: string[];
21
+ description: string;
22
+ };
23
+ collapsible: {
24
+ control: {
25
+ type: "boolean";
26
+ };
27
+ description: string;
28
+ if: {
29
+ arg: string;
30
+ eq: string;
31
+ };
32
+ };
33
+ defaultValue: {
34
+ control: {
35
+ type: "text";
36
+ };
37
+ description: string;
38
+ };
39
+ disabled: {
40
+ control: {
41
+ type: "boolean";
42
+ };
43
+ description: string;
44
+ };
45
+ orientation: {
46
+ control: {
47
+ type: "radio";
48
+ };
49
+ options: string[];
50
+ description: string;
51
+ };
52
+ };
53
+ };
54
+ export default meta;
55
+ type Story = StoryObj<typeof meta>;
56
+ /**
57
+ * Interactive playground for testing all accordion props and variants.
58
+ * Use the controls panel to experiment with different configurations.
59
+ */
60
+ export declare const Interactive: Story;
61
+ /**
62
+ * Comprehensive showcase of all accordion variants and configurations.
63
+ * Demonstrates different types, content styles, and use cases.
64
+ */
65
+ export declare const Variants: Story;
66
+ /**
67
+ * Real-world example showing accordion in a practical application context.
68
+ * Demonstrates how accordions work in complex UI scenarios like settings panels or FAQ sections.
69
+ */
70
+ export declare const InContext: Story;
71
+ //# sourceMappingURL=accordion.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accordion.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/stories/accordion.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EACL,SAAS,EAIV,MAAM,cAAc,CAAC;AAEtB,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuCwB,CAAC;AAEnC,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,KAkCzB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,KA0GtB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,SAAS,EAAE,KA2NvB,CAAC"}
@@ -0,0 +1,39 @@
1
+ import type { StoryObj } from "@storybook/react-vite";
2
+ import { AlertDialog } from "../alert-dialog";
3
+ declare const meta: {
4
+ title: string;
5
+ component: typeof AlertDialog;
6
+ parameters: {
7
+ layout: string;
8
+ docs: {
9
+ description: {
10
+ component: string;
11
+ };
12
+ };
13
+ };
14
+ tags: string[];
15
+ };
16
+ export default meta;
17
+ type Story = StoryObj<typeof meta>;
18
+ /**
19
+ * Interactive playground for testing all AlertDialog features
20
+ *
21
+ * This story provides controls for testing different configurations and
22
+ * interaction patterns with the AlertDialog component.
23
+ */
24
+ export declare const Interactive: Story;
25
+ /**
26
+ * Showcase of different AlertDialog variants and styling options
27
+ *
28
+ * Demonstrates various visual treatments and content patterns for different
29
+ * use cases including destructive actions, confirmations, and custom styling.
30
+ */
31
+ export declare const Variants: Story;
32
+ /**
33
+ * Real-world usage example in a realistic application context
34
+ *
35
+ * Shows how AlertDialog integrates within a typical application interface
36
+ * with realistic content and multiple interaction points.
37
+ */
38
+ export declare const InContext: Story;
39
+ //# sourceMappingURL=alert-dialog.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alert-dialog.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/stories/alert-dialog.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAS5D,OAAO,EACL,WAAW,EASZ,MAAM,iBAAiB,CAAC;AAGzB,QAAA,MAAM,IAAI;;;;;;;;;;;;CAa0B,CAAC;AAErC,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC;;;;;GAKG;AACH,eAAO,MAAM,WAAW,EAAE,KAuFzB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,EAAE,KAuKtB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,SAAS,EAAE,KA0MvB,CAAC"}
@@ -0,0 +1,48 @@
1
+ import type { StoryObj } from "@storybook/react-vite";
2
+ import { Alert } from "../alert";
3
+ declare const meta: {
4
+ title: string;
5
+ component: typeof Alert;
6
+ parameters: {
7
+ layout: string;
8
+ docs: {
9
+ description: {
10
+ component: string;
11
+ };
12
+ };
13
+ };
14
+ tags: string[];
15
+ argTypes: {
16
+ variant: {
17
+ control: {
18
+ type: "select";
19
+ };
20
+ options: string[];
21
+ description: string;
22
+ };
23
+ className: {
24
+ control: {
25
+ type: "text";
26
+ };
27
+ description: string;
28
+ };
29
+ };
30
+ };
31
+ export default meta;
32
+ type Story = StoryObj<typeof meta>;
33
+ /**
34
+ * Interactive playground for testing Alert component with all available props and variants.
35
+ * Use the controls below to experiment with different configurations.
36
+ */
37
+ export declare const Interactive: Story;
38
+ /**
39
+ * Comprehensive showcase of all alert variants and styling patterns.
40
+ * Demonstrates built-in variants, custom styling, and composition patterns.
41
+ */
42
+ export declare const Variants: Story;
43
+ /**
44
+ * Real-world context showing alerts in typical application scenarios.
45
+ * Demonstrates practical usage patterns for designers and business teams.
46
+ */
47
+ export declare const InContext: Story;
48
+ //# sourceMappingURL=alert.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alert.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/stories/alert.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,KAAK,EAAgC,MAAM,UAAU,CAAC;AAG/D,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwBoB,CAAC;AAE/B,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,KAsBzB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,KA0EtB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,SAAS,EAAE,KAiFvB,CAAC"}