@neynar/ui 0.2.1 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (500) hide show
  1. package/dist/components/ui/button-group.d.ts +448 -0
  2. package/dist/components/ui/button-group.d.ts.map +1 -0
  3. package/dist/components/ui/button.d.ts +1 -1
  4. package/dist/components/ui/button.d.ts.map +1 -1
  5. package/dist/components/ui/empty-state.d.ts +1 -0
  6. package/dist/components/ui/empty-state.d.ts.map +1 -1
  7. package/dist/components/ui/empty.d.ts +630 -0
  8. package/dist/components/ui/empty.d.ts.map +1 -0
  9. package/dist/components/ui/field.d.ts +238 -0
  10. package/dist/components/ui/field.d.ts.map +1 -0
  11. package/dist/components/ui/input-group.d.ts +636 -0
  12. package/dist/components/ui/input-group.d.ts.map +1 -0
  13. package/dist/components/ui/item.d.ts +766 -0
  14. package/dist/components/ui/item.d.ts.map +1 -0
  15. package/dist/components/ui/kbd.d.ts +149 -0
  16. package/dist/components/ui/kbd.d.ts.map +1 -0
  17. package/dist/components/ui/spinner.d.ts +194 -0
  18. package/dist/components/ui/spinner.d.ts.map +1 -0
  19. package/dist/components/ui/stories/accordion.stories.d.ts +0 -1
  20. package/dist/components/ui/stories/accordion.stories.d.ts.map +1 -1
  21. package/dist/components/ui/stories/alert-dialog.stories.d.ts +0 -1
  22. package/dist/components/ui/stories/alert-dialog.stories.d.ts.map +1 -1
  23. package/dist/components/ui/stories/alert.stories.d.ts +0 -1
  24. package/dist/components/ui/stories/alert.stories.d.ts.map +1 -1
  25. package/dist/components/ui/stories/aspect-ratio.stories.d.ts +0 -1
  26. package/dist/components/ui/stories/aspect-ratio.stories.d.ts.map +1 -1
  27. package/dist/components/ui/stories/avatar.stories.d.ts +0 -1
  28. package/dist/components/ui/stories/avatar.stories.d.ts.map +1 -1
  29. package/dist/components/ui/stories/badge.stories.d.ts +0 -1
  30. package/dist/components/ui/stories/badge.stories.d.ts.map +1 -1
  31. package/dist/components/ui/stories/breadcrumb.stories.d.ts +0 -1
  32. package/dist/components/ui/stories/breadcrumb.stories.d.ts.map +1 -1
  33. package/dist/components/ui/stories/button-group.stories.d.ts +48 -0
  34. package/dist/components/ui/stories/button-group.stories.d.ts.map +1 -0
  35. package/dist/components/ui/stories/button.stories.d.ts +0 -1
  36. package/dist/components/ui/stories/button.stories.d.ts.map +1 -1
  37. package/dist/components/ui/stories/calendar.stories.d.ts +0 -1
  38. package/dist/components/ui/stories/calendar.stories.d.ts.map +1 -1
  39. package/dist/components/ui/stories/card.stories.d.ts +0 -1
  40. package/dist/components/ui/stories/card.stories.d.ts.map +1 -1
  41. package/dist/components/ui/stories/carousel.stories.d.ts +0 -1
  42. package/dist/components/ui/stories/carousel.stories.d.ts.map +1 -1
  43. package/dist/components/ui/stories/chart.stories.d.ts +0 -1
  44. package/dist/components/ui/stories/chart.stories.d.ts.map +1 -1
  45. package/dist/components/ui/stories/checkbox.stories.d.ts +0 -1
  46. package/dist/components/ui/stories/checkbox.stories.d.ts.map +1 -1
  47. package/dist/components/ui/stories/cn.stories.d.ts.map +1 -1
  48. package/dist/components/ui/stories/collapsible.stories.d.ts +0 -1
  49. package/dist/components/ui/stories/collapsible.stories.d.ts.map +1 -1
  50. package/dist/components/ui/stories/colors.stories.d.ts +0 -1
  51. package/dist/components/ui/stories/colors.stories.d.ts.map +1 -1
  52. package/dist/components/ui/stories/combobox.stories.d.ts +0 -1
  53. package/dist/components/ui/stories/combobox.stories.d.ts.map +1 -1
  54. package/dist/components/ui/stories/command.stories.d.ts +0 -1
  55. package/dist/components/ui/stories/command.stories.d.ts.map +1 -1
  56. package/dist/components/ui/stories/container.stories.d.ts +0 -1
  57. package/dist/components/ui/stories/container.stories.d.ts.map +1 -1
  58. package/dist/components/ui/stories/context-menu.stories.d.ts +0 -1
  59. package/dist/components/ui/stories/context-menu.stories.d.ts.map +1 -1
  60. package/dist/components/ui/stories/date-picker.stories.d.ts +0 -1
  61. package/dist/components/ui/stories/date-picker.stories.d.ts.map +1 -1
  62. package/dist/components/ui/stories/dialog.stories.d.ts +0 -1
  63. package/dist/components/ui/stories/dialog.stories.d.ts.map +1 -1
  64. package/dist/components/ui/stories/drawer.stories.d.ts +0 -1
  65. package/dist/components/ui/stories/drawer.stories.d.ts.map +1 -1
  66. package/dist/components/ui/stories/dropdown-menu.stories.d.ts +0 -1
  67. package/dist/components/ui/stories/dropdown-menu.stories.d.ts.map +1 -1
  68. package/dist/components/ui/stories/empty-state.stories.d.ts +0 -1
  69. package/dist/components/ui/stories/empty-state.stories.d.ts.map +1 -1
  70. package/dist/components/ui/stories/empty.stories.d.ts +38 -0
  71. package/dist/components/ui/stories/empty.stories.d.ts.map +1 -0
  72. package/dist/components/ui/stories/field.stories.d.ts +48 -0
  73. package/dist/components/ui/stories/field.stories.d.ts.map +1 -0
  74. package/dist/components/ui/stories/hover-card.stories.d.ts +0 -1
  75. package/dist/components/ui/stories/hover-card.stories.d.ts.map +1 -1
  76. package/dist/components/ui/stories/input-group.stories.d.ts +37 -0
  77. package/dist/components/ui/stories/input-group.stories.d.ts.map +1 -0
  78. package/dist/components/ui/stories/input.stories.d.ts +0 -1
  79. package/dist/components/ui/stories/input.stories.d.ts.map +1 -1
  80. package/dist/components/ui/stories/item.stories.d.ts +61 -0
  81. package/dist/components/ui/stories/item.stories.d.ts.map +1 -0
  82. package/dist/components/ui/stories/kbd.stories.d.ts +37 -0
  83. package/dist/components/ui/stories/kbd.stories.d.ts.map +1 -0
  84. package/dist/components/ui/stories/label.stories.d.ts +0 -1
  85. package/dist/components/ui/stories/label.stories.d.ts.map +1 -1
  86. package/dist/components/ui/stories/menubar.stories.d.ts +0 -1
  87. package/dist/components/ui/stories/menubar.stories.d.ts.map +1 -1
  88. package/dist/components/ui/stories/navigation-menu.stories.d.ts +0 -1
  89. package/dist/components/ui/stories/navigation-menu.stories.d.ts.map +1 -1
  90. package/dist/components/ui/stories/pagination.stories.d.ts +0 -1
  91. package/dist/components/ui/stories/pagination.stories.d.ts.map +1 -1
  92. package/dist/components/ui/stories/popover.stories.d.ts +0 -1
  93. package/dist/components/ui/stories/popover.stories.d.ts.map +1 -1
  94. package/dist/components/ui/stories/progress.stories.d.ts +0 -1
  95. package/dist/components/ui/stories/progress.stories.d.ts.map +1 -1
  96. package/dist/components/ui/stories/radio-group.stories.d.ts +0 -1
  97. package/dist/components/ui/stories/radio-group.stories.d.ts.map +1 -1
  98. package/dist/components/ui/stories/resizable.stories.d.ts +0 -1
  99. package/dist/components/ui/stories/resizable.stories.d.ts.map +1 -1
  100. package/dist/components/ui/stories/scroll-area.stories.d.ts +0 -1
  101. package/dist/components/ui/stories/scroll-area.stories.d.ts.map +1 -1
  102. package/dist/components/ui/stories/select.stories.d.ts +0 -1
  103. package/dist/components/ui/stories/select.stories.d.ts.map +1 -1
  104. package/dist/components/ui/stories/separator.stories.d.ts +0 -1
  105. package/dist/components/ui/stories/separator.stories.d.ts.map +1 -1
  106. package/dist/components/ui/stories/sheet.stories.d.ts +0 -1
  107. package/dist/components/ui/stories/sheet.stories.d.ts.map +1 -1
  108. package/dist/components/ui/stories/sidebar.stories.d.ts +0 -1
  109. package/dist/components/ui/stories/sidebar.stories.d.ts.map +1 -1
  110. package/dist/components/ui/stories/skeleton.stories.d.ts +0 -1
  111. package/dist/components/ui/stories/skeleton.stories.d.ts.map +1 -1
  112. package/dist/components/ui/stories/slider.stories.d.ts +0 -1
  113. package/dist/components/ui/stories/slider.stories.d.ts.map +1 -1
  114. package/dist/components/ui/stories/sonner.stories.d.ts.map +1 -1
  115. package/dist/components/ui/stories/spinner.stories.d.ts +37 -0
  116. package/dist/components/ui/stories/spinner.stories.d.ts.map +1 -0
  117. package/dist/components/ui/stories/stack.stories.d.ts +0 -1
  118. package/dist/components/ui/stories/stack.stories.d.ts.map +1 -1
  119. package/dist/components/ui/stories/switch.stories.d.ts +0 -1
  120. package/dist/components/ui/stories/switch.stories.d.ts.map +1 -1
  121. package/dist/components/ui/stories/table.stories.d.ts +0 -1
  122. package/dist/components/ui/stories/table.stories.d.ts.map +1 -1
  123. package/dist/components/ui/stories/tabs.stories.d.ts +0 -1
  124. package/dist/components/ui/stories/tabs.stories.d.ts.map +1 -1
  125. package/dist/components/ui/stories/text-field.stories.d.ts +0 -1
  126. package/dist/components/ui/stories/text-field.stories.d.ts.map +1 -1
  127. package/dist/components/ui/stories/textarea.stories.d.ts +0 -1
  128. package/dist/components/ui/stories/textarea.stories.d.ts.map +1 -1
  129. package/dist/components/ui/stories/theme-toggle.stories.d.ts +0 -1
  130. package/dist/components/ui/stories/theme-toggle.stories.d.ts.map +1 -1
  131. package/dist/components/ui/stories/theme.stories.d.ts +0 -1
  132. package/dist/components/ui/stories/theme.stories.d.ts.map +1 -1
  133. package/dist/components/ui/stories/toggle-group.stories.d.ts +0 -1
  134. package/dist/components/ui/stories/toggle-group.stories.d.ts.map +1 -1
  135. package/dist/components/ui/stories/toggle.stories.d.ts +0 -1
  136. package/dist/components/ui/stories/toggle.stories.d.ts.map +1 -1
  137. package/dist/components/ui/stories/tooltip.stories.d.ts +0 -1
  138. package/dist/components/ui/stories/tooltip.stories.d.ts.map +1 -1
  139. package/dist/components/ui/stories/typography.stories.d.ts +0 -1
  140. package/dist/components/ui/stories/typography.stories.d.ts.map +1 -1
  141. package/dist/components/ui/stories/use-mobile.stories.d.ts.map +1 -1
  142. package/dist/components/ui/stories/use-theme.stories.d.ts.map +1 -1
  143. package/dist/components/ui/typography.d.ts +12 -11
  144. package/dist/components/ui/typography.d.ts.map +1 -1
  145. package/dist/index.d.ts +7 -0
  146. package/dist/index.d.ts.map +1 -1
  147. package/dist/index.js +10391 -3107
  148. package/dist/index.js.map +1 -1
  149. package/dist/tsconfig.tsbuildinfo +1 -1
  150. package/docs/llm/components/display.md +125 -0
  151. package/docs/llm/components/feedback.md +0 -14
  152. package/docs/llm/components/forms.md +94 -0
  153. package/docs/llm/components/layout.md +169 -0
  154. package/llms.txt +18 -12
  155. package/package.json +6 -5
  156. package/src/components/ui/button-group.tsx +525 -0
  157. package/src/components/ui/button.tsx +9 -12
  158. package/src/components/ui/empty-state.tsx +1 -0
  159. package/src/components/ui/empty.tsx +793 -0
  160. package/src/components/ui/field.tsx +494 -0
  161. package/src/components/ui/input-group.tsx +801 -0
  162. package/src/components/ui/item.tsx +955 -0
  163. package/src/components/ui/kbd.tsx +175 -0
  164. package/src/components/ui/skeleton.tsx +1 -1
  165. package/src/components/ui/spinner.tsx +211 -0
  166. package/src/components/ui/stories/accordion.stories.tsx +0 -1
  167. package/src/components/ui/stories/alert-dialog.stories.tsx +0 -1
  168. package/src/components/ui/stories/alert.stories.tsx +0 -1
  169. package/src/components/ui/stories/aspect-ratio.stories.tsx +0 -1
  170. package/src/components/ui/stories/avatar.stories.tsx +0 -1
  171. package/src/components/ui/stories/badge.stories.tsx +0 -1
  172. package/src/components/ui/stories/breadcrumb.stories.tsx +0 -1
  173. package/src/components/ui/stories/button-group.stories.tsx +300 -0
  174. package/src/components/ui/stories/button.stories.tsx +0 -1
  175. package/src/components/ui/stories/calendar.stories.tsx +0 -1
  176. package/src/components/ui/stories/card.stories.tsx +0 -1
  177. package/src/components/ui/stories/carousel.stories.tsx +0 -1
  178. package/src/components/ui/stories/chart.stories.tsx +0 -1
  179. package/src/components/ui/stories/checkbox.stories.tsx +0 -1
  180. package/src/components/ui/stories/cn.stories.tsx +0 -1
  181. package/src/components/ui/stories/collapsible.stories.tsx +0 -1
  182. package/src/components/ui/stories/colors.stories.tsx +0 -1
  183. package/src/components/ui/stories/combobox.stories.tsx +0 -1
  184. package/src/components/ui/stories/command.stories.tsx +0 -1
  185. package/src/components/ui/stories/container.stories.tsx +0 -1
  186. package/src/components/ui/stories/context-menu.stories.tsx +0 -1
  187. package/src/components/ui/stories/date-picker.stories.tsx +0 -1
  188. package/src/components/ui/stories/dialog.stories.tsx +0 -1
  189. package/src/components/ui/stories/drawer.stories.tsx +0 -1
  190. package/src/components/ui/stories/dropdown-menu.stories.tsx +0 -1
  191. package/src/components/ui/stories/empty-state.stories.tsx +0 -1
  192. package/src/components/ui/stories/empty.stories.tsx +293 -0
  193. package/src/components/ui/stories/field.stories.tsx +470 -0
  194. package/src/components/ui/stories/hover-card.stories.tsx +0 -1
  195. package/src/components/ui/stories/input-group.stories.tsx +444 -0
  196. package/src/components/ui/stories/input.stories.tsx +0 -1
  197. package/src/components/ui/stories/item.stories.tsx +601 -0
  198. package/src/components/ui/stories/kbd.stories.tsx +462 -0
  199. package/src/components/ui/stories/label.stories.tsx +0 -1
  200. package/src/components/ui/stories/menubar.stories.tsx +0 -1
  201. package/src/components/ui/stories/navigation-menu.stories.tsx +0 -1
  202. package/src/components/ui/stories/pagination.stories.tsx +0 -1
  203. package/src/components/ui/stories/popover.stories.tsx +0 -1
  204. package/src/components/ui/stories/progress.stories.tsx +0 -1
  205. package/src/components/ui/stories/radio-group.stories.tsx +0 -1
  206. package/src/components/ui/stories/resizable.stories.tsx +0 -1
  207. package/src/components/ui/stories/scroll-area.stories.tsx +0 -1
  208. package/src/components/ui/stories/select.stories.tsx +0 -1
  209. package/src/components/ui/stories/separator.stories.tsx +0 -1
  210. package/src/components/ui/stories/sheet.stories.tsx +0 -1
  211. package/src/components/ui/stories/sidebar.stories.tsx +0 -1
  212. package/src/components/ui/stories/skeleton.stories.tsx +0 -1
  213. package/src/components/ui/stories/slider.stories.tsx +0 -1
  214. package/src/components/ui/stories/sonner.stories.tsx +0 -1
  215. package/src/components/ui/stories/spinner.stories.tsx +356 -0
  216. package/src/components/ui/stories/stack.stories.tsx +0 -1
  217. package/src/components/ui/stories/switch.stories.tsx +0 -1
  218. package/src/components/ui/stories/table.stories.tsx +0 -1
  219. package/src/components/ui/stories/tabs.stories.tsx +0 -1
  220. package/src/components/ui/stories/text-field.stories.tsx +0 -1
  221. package/src/components/ui/stories/textarea.stories.tsx +0 -1
  222. package/src/components/ui/stories/theme-toggle.stories.tsx +0 -1
  223. package/src/components/ui/stories/theme.stories.tsx +0 -1
  224. package/src/components/ui/stories/toggle-group.stories.tsx +0 -1
  225. package/src/components/ui/stories/toggle.stories.tsx +0 -1
  226. package/src/components/ui/stories/tooltip.stories.tsx +0 -1
  227. package/src/components/ui/stories/typography.stories.tsx +5 -2
  228. package/src/components/ui/stories/use-mobile.stories.tsx +0 -1
  229. package/src/components/ui/stories/use-theme.stories.tsx +0 -1
  230. package/src/components/ui/tabs.tsx +1 -1
  231. package/src/components/ui/typography.tsx +29 -129
  232. package/src/index.ts +7 -0
  233. package/src/styles/globals.css +40 -24
  234. package/llm-docs/a.llm.md +0 -145
  235. package/llm-docs/accordion-content.llm.md +0 -67
  236. package/llm-docs/accordion-item.llm.md +0 -61
  237. package/llm-docs/accordion-trigger.llm.md +0 -69
  238. package/llm-docs/accordion.llm.md +0 -88
  239. package/llm-docs/alert-description.llm.md +0 -78
  240. package/llm-docs/alert-dialog-action.llm.md +0 -51
  241. package/llm-docs/alert-dialog-cancel.llm.md +0 -48
  242. package/llm-docs/alert-dialog-content.llm.md +0 -88
  243. package/llm-docs/alert-dialog-description.llm.md +0 -53
  244. package/llm-docs/alert-dialog-footer.llm.md +0 -41
  245. package/llm-docs/alert-dialog-header.llm.md +0 -39
  246. package/llm-docs/alert-dialog-overlay.llm.md +0 -44
  247. package/llm-docs/alert-dialog-portal.llm.md +0 -41
  248. package/llm-docs/alert-dialog-title.llm.md +0 -46
  249. package/llm-docs/alert-dialog-trigger.llm.md +0 -40
  250. package/llm-docs/alert-dialog.llm.md +0 -80
  251. package/llm-docs/alert-title.llm.md +0 -48
  252. package/llm-docs/alert.llm.md +0 -92
  253. package/llm-docs/aspect-ratio.llm.md +0 -41
  254. package/llm-docs/avatar-fallback.llm.md +0 -41
  255. package/llm-docs/avatar-image.llm.md +0 -48
  256. package/llm-docs/avatar.llm.md +0 -35
  257. package/llm-docs/badge.llm.md +0 -122
  258. package/llm-docs/blockquote.llm.md +0 -122
  259. package/llm-docs/breadcrumb-ellipsis.llm.md +0 -73
  260. package/llm-docs/breadcrumb-item.llm.md +0 -53
  261. package/llm-docs/breadcrumb-link.llm.md +0 -84
  262. package/llm-docs/breadcrumb-list.llm.md +0 -54
  263. package/llm-docs/breadcrumb-page.llm.md +0 -52
  264. package/llm-docs/breadcrumb-separator.llm.md +0 -60
  265. package/llm-docs/breadcrumb.llm.md +0 -110
  266. package/llm-docs/button.llm.md +0 -281
  267. package/llm-docs/calendar-day-button.llm.md +0 -57
  268. package/llm-docs/calendar.llm.md +0 -340
  269. package/llm-docs/card-action.llm.md +0 -64
  270. package/llm-docs/card-content.llm.md +0 -48
  271. package/llm-docs/card-description.llm.md +0 -46
  272. package/llm-docs/card-footer.llm.md +0 -56
  273. package/llm-docs/card-header.llm.md +0 -53
  274. package/llm-docs/card-title.llm.md +0 -43
  275. package/llm-docs/card.llm.md +0 -100
  276. package/llm-docs/carousel-content.llm.md +0 -77
  277. package/llm-docs/carousel-item.llm.md +0 -96
  278. package/llm-docs/carousel-next.llm.md +0 -95
  279. package/llm-docs/carousel-previous.llm.md +0 -95
  280. package/llm-docs/carousel.llm.md +0 -211
  281. package/llm-docs/chart-config.llm.md +0 -71
  282. package/llm-docs/chart-container.llm.md +0 -148
  283. package/llm-docs/chart-legend-content.llm.md +0 -85
  284. package/llm-docs/chart-legend.llm.md +0 -144
  285. package/llm-docs/chart-style.llm.md +0 -28
  286. package/llm-docs/chart-tooltip-content.llm.md +0 -149
  287. package/llm-docs/chart-tooltip.llm.md +0 -184
  288. package/llm-docs/checkbox.llm.md +0 -100
  289. package/llm-docs/cn.llm.md +0 -46
  290. package/llm-docs/code.llm.md +0 -108
  291. package/llm-docs/collapsible-content.llm.md +0 -109
  292. package/llm-docs/collapsible-trigger.llm.md +0 -75
  293. package/llm-docs/collapsible.llm.md +0 -109
  294. package/llm-docs/combobox-option.llm.md +0 -53
  295. package/llm-docs/combobox.llm.md +0 -208
  296. package/llm-docs/command-dialog.llm.md +0 -112
  297. package/llm-docs/command-empty.llm.md +0 -63
  298. package/llm-docs/command-group.llm.md +0 -83
  299. package/llm-docs/command-input.llm.md +0 -82
  300. package/llm-docs/command-item.llm.md +0 -97
  301. package/llm-docs/command-list.llm.md +0 -53
  302. package/llm-docs/command-loading.llm.md +0 -48
  303. package/llm-docs/command-separator.llm.md +0 -44
  304. package/llm-docs/command-shortcut.llm.md +0 -63
  305. package/llm-docs/command.llm.md +0 -147
  306. package/llm-docs/container.llm.md +0 -236
  307. package/llm-docs/context-menu-checkbox-item.llm.md +0 -97
  308. package/llm-docs/context-menu-content.llm.md +0 -91
  309. package/llm-docs/context-menu-group.llm.md +0 -61
  310. package/llm-docs/context-menu-item.llm.md +0 -94
  311. package/llm-docs/context-menu-label.llm.md +0 -60
  312. package/llm-docs/context-menu-portal.llm.md +0 -49
  313. package/llm-docs/context-menu-radio-group.llm.md +0 -66
  314. package/llm-docs/context-menu-radio-item.llm.md +0 -76
  315. package/llm-docs/context-menu-separator.llm.md +0 -51
  316. package/llm-docs/context-menu-shortcut.llm.md +0 -57
  317. package/llm-docs/context-menu-sub-content.llm.md +0 -90
  318. package/llm-docs/context-menu-sub-trigger.llm.md +0 -73
  319. package/llm-docs/context-menu-sub.llm.md +0 -61
  320. package/llm-docs/context-menu-trigger.llm.md +0 -53
  321. package/llm-docs/context-menu.llm.md +0 -103
  322. package/llm-docs/date-picker.llm.md +0 -90
  323. package/llm-docs/dialog-close.llm.md +0 -61
  324. package/llm-docs/dialog-content.llm.md +0 -128
  325. package/llm-docs/dialog-description.llm.md +0 -44
  326. package/llm-docs/dialog-footer.llm.md +0 -38
  327. package/llm-docs/dialog-header.llm.md +0 -40
  328. package/llm-docs/dialog-overlay.llm.md +0 -57
  329. package/llm-docs/dialog-portal.llm.md +0 -47
  330. package/llm-docs/dialog-title.llm.md +0 -41
  331. package/llm-docs/dialog-trigger.llm.md +0 -51
  332. package/llm-docs/dialog.llm.md +0 -113
  333. package/llm-docs/drawer-close.llm.md +0 -53
  334. package/llm-docs/drawer-content.llm.md +0 -58
  335. package/llm-docs/drawer-description.llm.md +0 -54
  336. package/llm-docs/drawer-footer.llm.md +0 -67
  337. package/llm-docs/drawer-header.llm.md +0 -60
  338. package/llm-docs/drawer-overlay.llm.md +0 -40
  339. package/llm-docs/drawer-portal.llm.md +0 -42
  340. package/llm-docs/drawer-title.llm.md +0 -51
  341. package/llm-docs/drawer-trigger.llm.md +0 -44
  342. package/llm-docs/drawer.llm.md +0 -194
  343. package/llm-docs/dropdown-menu-checkbox-item.llm.md +0 -111
  344. package/llm-docs/dropdown-menu-content.llm.md +0 -109
  345. package/llm-docs/dropdown-menu-group.llm.md +0 -38
  346. package/llm-docs/dropdown-menu-item.llm.md +0 -94
  347. package/llm-docs/dropdown-menu-label.llm.md +0 -66
  348. package/llm-docs/dropdown-menu-portal.llm.md +0 -32
  349. package/llm-docs/dropdown-menu-radio-group.llm.md +0 -73
  350. package/llm-docs/dropdown-menu-radio-item.llm.md +0 -92
  351. package/llm-docs/dropdown-menu-separator.llm.md +0 -55
  352. package/llm-docs/dropdown-menu-shortcut.llm.md +0 -74
  353. package/llm-docs/dropdown-menu-sub-content.llm.md +0 -80
  354. package/llm-docs/dropdown-menu-sub-trigger.llm.md +0 -84
  355. package/llm-docs/dropdown-menu-sub.llm.md +0 -74
  356. package/llm-docs/dropdown-menu-trigger.llm.md +0 -48
  357. package/llm-docs/dropdown-menu.llm.md +0 -120
  358. package/llm-docs/empty-state.llm.md +0 -174
  359. package/llm-docs/h1.llm.md +0 -113
  360. package/llm-docs/h2.llm.md +0 -113
  361. package/llm-docs/h3.llm.md +0 -111
  362. package/llm-docs/h4.llm.md +0 -109
  363. package/llm-docs/h5.llm.md +0 -110
  364. package/llm-docs/h6.llm.md +0 -110
  365. package/llm-docs/hover-card-content.llm.md +0 -167
  366. package/llm-docs/hover-card-trigger.llm.md +0 -65
  367. package/llm-docs/hover-card.llm.md +0 -121
  368. package/llm-docs/input.llm.md +0 -319
  369. package/llm-docs/label.llm.md +0 -145
  370. package/llm-docs/lead.llm.md +0 -119
  371. package/llm-docs/menubar-checkbox-item.llm.md +0 -66
  372. package/llm-docs/menubar-content.llm.md +0 -128
  373. package/llm-docs/menubar-group.llm.md +0 -40
  374. package/llm-docs/menubar-item.llm.md +0 -62
  375. package/llm-docs/menubar-label.llm.md +0 -40
  376. package/llm-docs/menubar-menu.llm.md +0 -32
  377. package/llm-docs/menubar-portal.llm.md +0 -38
  378. package/llm-docs/menubar-radio-group.llm.md +0 -39
  379. package/llm-docs/menubar-radio-item.llm.md +0 -59
  380. package/llm-docs/menubar-separator.llm.md +0 -35
  381. package/llm-docs/menubar-shortcut.llm.md +0 -37
  382. package/llm-docs/menubar-sub-content.llm.md +0 -127
  383. package/llm-docs/menubar-sub-trigger.llm.md +0 -51
  384. package/llm-docs/menubar-sub.llm.md +0 -53
  385. package/llm-docs/menubar-trigger.llm.md +0 -37
  386. package/llm-docs/menubar.llm.md +0 -115
  387. package/llm-docs/navigation-menu-content.llm.md +0 -116
  388. package/llm-docs/navigation-menu-indicator.llm.md +0 -68
  389. package/llm-docs/navigation-menu-item.llm.md +0 -62
  390. package/llm-docs/navigation-menu-link.llm.md +0 -109
  391. package/llm-docs/navigation-menu-list.llm.md +0 -52
  392. package/llm-docs/navigation-menu-trigger-style.llm.md +0 -22
  393. package/llm-docs/navigation-menu-trigger.llm.md +0 -57
  394. package/llm-docs/navigation-menu-viewport.llm.md +0 -51
  395. package/llm-docs/navigation-menu.llm.md +0 -184
  396. package/llm-docs/p.llm.md +0 -115
  397. package/llm-docs/pagination-content.llm.md +0 -60
  398. package/llm-docs/pagination-ellipsis.llm.md +0 -107
  399. package/llm-docs/pagination-item.llm.md +0 -59
  400. package/llm-docs/pagination-link.llm.md +0 -150
  401. package/llm-docs/pagination-next.llm.md +0 -115
  402. package/llm-docs/pagination-previous.llm.md +0 -115
  403. package/llm-docs/pagination.llm.md +0 -190
  404. package/llm-docs/popover-anchor.llm.md +0 -53
  405. package/llm-docs/popover-content.llm.md +0 -109
  406. package/llm-docs/popover-trigger.llm.md +0 -54
  407. package/llm-docs/popover.llm.md +0 -116
  408. package/llm-docs/progress.llm.md +0 -76
  409. package/llm-docs/radio-group-indicator.llm.md +0 -28
  410. package/llm-docs/radio-group-item.llm.md +0 -40
  411. package/llm-docs/radio-group.llm.md +0 -76
  412. package/llm-docs/resizable-handle.llm.md +0 -156
  413. package/llm-docs/resizable-panel-group.llm.md +0 -149
  414. package/llm-docs/resizable-panel.llm.md +0 -157
  415. package/llm-docs/scroll-area-corner.llm.md +0 -41
  416. package/llm-docs/scroll-area-thumb.llm.md +0 -39
  417. package/llm-docs/scroll-area-viewport.llm.md +0 -60
  418. package/llm-docs/scroll-area.llm.md +0 -125
  419. package/llm-docs/scroll-bar.llm.md +0 -78
  420. package/llm-docs/sdk-items-registry.json +0 -2638
  421. package/llm-docs/select-content.llm.md +0 -139
  422. package/llm-docs/select-group.llm.md +0 -60
  423. package/llm-docs/select-item.llm.md +0 -75
  424. package/llm-docs/select-label.llm.md +0 -62
  425. package/llm-docs/select-scroll-down-button.llm.md +0 -45
  426. package/llm-docs/select-scroll-up-button.llm.md +0 -45
  427. package/llm-docs/select-separator.llm.md +0 -59
  428. package/llm-docs/select-trigger.llm.md +0 -66
  429. package/llm-docs/select-value.llm.md +0 -67
  430. package/llm-docs/select.llm.md +0 -159
  431. package/llm-docs/separator.llm.md +0 -129
  432. package/llm-docs/sheet-close.llm.md +0 -49
  433. package/llm-docs/sheet-content.llm.md +0 -115
  434. package/llm-docs/sheet-description.llm.md +0 -62
  435. package/llm-docs/sheet-footer.llm.md +0 -64
  436. package/llm-docs/sheet-header.llm.md +0 -52
  437. package/llm-docs/sheet-title.llm.md +0 -53
  438. package/llm-docs/sheet-trigger.llm.md +0 -46
  439. package/llm-docs/sheet.llm.md +0 -126
  440. package/llm-docs/sidebar-content.llm.md +0 -63
  441. package/llm-docs/sidebar-footer.llm.md +0 -50
  442. package/llm-docs/sidebar-group-action.llm.md +0 -60
  443. package/llm-docs/sidebar-group-content.llm.md +0 -64
  444. package/llm-docs/sidebar-group-label.llm.md +0 -53
  445. package/llm-docs/sidebar-group.llm.md +0 -56
  446. package/llm-docs/sidebar-header.llm.md +0 -67
  447. package/llm-docs/sidebar-input.llm.md +0 -50
  448. package/llm-docs/sidebar-inset.llm.md +0 -52
  449. package/llm-docs/sidebar-menu-action.llm.md +0 -84
  450. package/llm-docs/sidebar-menu-badge.llm.md +0 -60
  451. package/llm-docs/sidebar-menu-button.llm.md +0 -103
  452. package/llm-docs/sidebar-menu-item.llm.md +0 -75
  453. package/llm-docs/sidebar-menu-skeleton.llm.md +0 -76
  454. package/llm-docs/sidebar-menu-sub-button.llm.md +0 -85
  455. package/llm-docs/sidebar-menu-sub-item.llm.md +0 -54
  456. package/llm-docs/sidebar-menu-sub.llm.md +0 -74
  457. package/llm-docs/sidebar-menu.llm.md +0 -65
  458. package/llm-docs/sidebar-provider.llm.md +0 -79
  459. package/llm-docs/sidebar-rail.llm.md +0 -34
  460. package/llm-docs/sidebar-separator.llm.md +0 -57
  461. package/llm-docs/sidebar-trigger.llm.md +0 -49
  462. package/llm-docs/sidebar.llm.md +0 -129
  463. package/llm-docs/skeleton.llm.md +0 -134
  464. package/llm-docs/slider.llm.md +0 -173
  465. package/llm-docs/small.llm.md +0 -115
  466. package/llm-docs/span.llm.md +0 -132
  467. package/llm-docs/stack.llm.md +0 -28
  468. package/llm-docs/strong.llm.md +0 -115
  469. package/llm-docs/switch.llm.md +0 -76
  470. package/llm-docs/table-body.llm.md +0 -36
  471. package/llm-docs/table-caption.llm.md +0 -48
  472. package/llm-docs/table-cell.llm.md +0 -53
  473. package/llm-docs/table-footer.llm.md +0 -41
  474. package/llm-docs/table-head.llm.md +0 -69
  475. package/llm-docs/table-header.llm.md +0 -41
  476. package/llm-docs/table-row.llm.md +0 -42
  477. package/llm-docs/table.llm.md +0 -123
  478. package/llm-docs/tabs-content.llm.md +0 -47
  479. package/llm-docs/tabs-list.llm.md +0 -41
  480. package/llm-docs/tabs-trigger.llm.md +0 -47
  481. package/llm-docs/tabs.llm.md +0 -71
  482. package/llm-docs/text-field.llm.md +0 -327
  483. package/llm-docs/textarea.llm.md +0 -311
  484. package/llm-docs/theme-preference.llm.md +0 -25
  485. package/llm-docs/theme-toggle.llm.md +0 -57
  486. package/llm-docs/theme.llm.md +0 -14
  487. package/llm-docs/toast.llm.md +0 -32
  488. package/llm-docs/toaster.llm.md +0 -193
  489. package/llm-docs/toggle-group-item.llm.md +0 -59
  490. package/llm-docs/toggle-group.llm.md +0 -101
  491. package/llm-docs/toggle.llm.md +0 -40
  492. package/llm-docs/tooltip-content.llm.md +0 -185
  493. package/llm-docs/tooltip-provider.llm.md +0 -68
  494. package/llm-docs/tooltip-trigger.llm.md +0 -70
  495. package/llm-docs/tooltip.llm.md +0 -129
  496. package/llm-docs/typography.llm.md +0 -175
  497. package/llm-docs/use-carousel.llm.md +0 -55
  498. package/llm-docs/use-command-state.llm.md +0 -32
  499. package/llm-docs/use-is-mobile.llm.md +0 -73
  500. package/llm-docs/use-sidebar.llm.md +0 -61
@@ -0,0 +1,470 @@
1
+ import type { Meta, StoryObj } from "@storybook/react-vite";
2
+ import { Info } from "lucide-react";
3
+ import { useState } from "react";
4
+ import { Checkbox } from "../checkbox";
5
+ import {
6
+ Field,
7
+ FieldContent,
8
+ FieldDescription,
9
+ FieldError,
10
+ FieldGroup,
11
+ FieldLabel,
12
+ FieldLegend,
13
+ FieldSeparator,
14
+ FieldSet,
15
+ FieldTitle,
16
+ } from "../field";
17
+ import { Input } from "../input";
18
+ import { RadioGroup, RadioGroupItem } from "../radio-group";
19
+ import { Switch } from "../switch";
20
+
21
+ const meta = {
22
+ title: "Form & Input/Field",
23
+ component: Field,
24
+ parameters: {
25
+ layout: "centered",
26
+ docs: {
27
+ description: {
28
+ component:
29
+ "A comprehensive form field component that provides proper labeling, description, error handling, and layout options. Supports vertical, horizontal, and responsive orientations.",
30
+ },
31
+ },
32
+ },
33
+ argTypes: {
34
+ orientation: {
35
+ control: { type: "select" },
36
+ options: ["vertical", "horizontal", "responsive"],
37
+ description: "The orientation of the field layout",
38
+ },
39
+ className: {
40
+ control: { type: "text" },
41
+ description: "Additional CSS classes to apply",
42
+ },
43
+ },
44
+ args: {
45
+ orientation: "vertical",
46
+ },
47
+ } satisfies Meta<typeof Field>;
48
+
49
+ export default meta;
50
+ type Story = StoryObj<typeof meta>;
51
+
52
+ /**
53
+ * Interactive playground with all field properties.
54
+ * Use the controls panel to test different combinations of props.
55
+ */
56
+ export const Interactive: Story = {
57
+ render: (args) => (
58
+ <div className="w-96">
59
+ <Field {...args}>
60
+ <FieldLabel htmlFor="email">Email Address</FieldLabel>
61
+ <Input id="email" type="email" placeholder="Enter your email" />
62
+ <FieldDescription>We'll never share your email.</FieldDescription>
63
+ </Field>
64
+ </div>
65
+ ),
66
+ };
67
+
68
+ /**
69
+ * Showcase of all available field orientations and compositions.
70
+ */
71
+ export const Variants: Story = {
72
+ render: () => (
73
+ <div className="space-y-12 w-full max-w-2xl">
74
+ {/* Vertical Orientation */}
75
+ <div className="space-y-4">
76
+ <h3 className="text-sm font-medium text-muted-foreground">
77
+ Vertical Layout
78
+ </h3>
79
+ <div className="space-y-6">
80
+ <Field>
81
+ <FieldLabel htmlFor="name-v">Full Name</FieldLabel>
82
+ <Input id="name-v" placeholder="John Doe" />
83
+ <FieldDescription>Enter your full legal name.</FieldDescription>
84
+ </Field>
85
+
86
+ <Field>
87
+ <FieldLabel htmlFor="bio-v">Bio</FieldLabel>
88
+ <textarea
89
+ id="bio-v"
90
+ className="w-full min-h-24 px-3 py-2 border rounded-md"
91
+ placeholder="Tell us about yourself"
92
+ />
93
+ <FieldDescription>
94
+ Write a short bio about yourself (max 500 characters).
95
+ </FieldDescription>
96
+ </Field>
97
+ </div>
98
+ </div>
99
+
100
+ {/* Horizontal Orientation */}
101
+ <div className="space-y-4">
102
+ <h3 className="text-sm font-medium text-muted-foreground">
103
+ Horizontal Layout
104
+ </h3>
105
+ <FieldGroup>
106
+ <Field orientation="horizontal">
107
+ <FieldContent>
108
+ <FieldTitle>Email Notifications</FieldTitle>
109
+ <FieldDescription>
110
+ Receive email updates about your account.
111
+ </FieldDescription>
112
+ </FieldContent>
113
+ <Switch />
114
+ </Field>
115
+
116
+ <Field orientation="horizontal">
117
+ <FieldContent>
118
+ <FieldTitle>Marketing Emails</FieldTitle>
119
+ <FieldDescription>
120
+ Get updates about new features and products.
121
+ </FieldDescription>
122
+ </FieldContent>
123
+ <Switch />
124
+ </Field>
125
+ </FieldGroup>
126
+ </div>
127
+
128
+ {/* Responsive Orientation */}
129
+ <div className="space-y-4">
130
+ <h3 className="text-sm font-medium text-muted-foreground">
131
+ Responsive Layout (vertical on mobile, horizontal on larger screens)
132
+ </h3>
133
+ <FieldGroup>
134
+ <Field orientation="responsive">
135
+ <FieldContent>
136
+ <FieldTitle>Two-Factor Auth</FieldTitle>
137
+ <FieldDescription>
138
+ Add an extra layer of security to your account.
139
+ </FieldDescription>
140
+ </FieldContent>
141
+ <Switch />
142
+ </Field>
143
+ </FieldGroup>
144
+ </div>
145
+
146
+ {/* With Error State */}
147
+ <div className="space-y-4">
148
+ <h3 className="text-sm font-medium text-muted-foreground">
149
+ Error States
150
+ </h3>
151
+ <div className="space-y-6">
152
+ <Field data-invalid="true">
153
+ <FieldLabel htmlFor="email-error">Email</FieldLabel>
154
+ <Input
155
+ id="email-error"
156
+ type="email"
157
+ placeholder="email@example.com"
158
+ aria-invalid="true"
159
+ defaultValue="invalid-email"
160
+ />
161
+ <FieldError>Please enter a valid email address.</FieldError>
162
+ </Field>
163
+
164
+ <Field data-invalid="true">
165
+ <FieldLabel htmlFor="password-error">Password</FieldLabel>
166
+ <Input
167
+ id="password-error"
168
+ type="password"
169
+ aria-invalid="true"
170
+ defaultValue="123"
171
+ />
172
+ <FieldError
173
+ errors={[
174
+ { message: "Password must be at least 8 characters" },
175
+ { message: "Password must contain a number" },
176
+ { message: "Password must contain a special character" },
177
+ ]}
178
+ />
179
+ </Field>
180
+ </div>
181
+ </div>
182
+
183
+ {/* Field Groups */}
184
+ <div className="space-y-4">
185
+ <h3 className="text-sm font-medium text-muted-foreground">
186
+ Field Groups with Separators
187
+ </h3>
188
+ <FieldGroup>
189
+ <Field>
190
+ <FieldLabel htmlFor="first-name">First Name</FieldLabel>
191
+ <Input id="first-name" placeholder="John" />
192
+ </Field>
193
+
194
+ <Field>
195
+ <FieldLabel htmlFor="last-name">Last Name</FieldLabel>
196
+ <Input id="last-name" placeholder="Doe" />
197
+ </Field>
198
+
199
+ <FieldSeparator>Contact Information</FieldSeparator>
200
+
201
+ <Field>
202
+ <FieldLabel htmlFor="email-group">Email</FieldLabel>
203
+ <Input id="email-group" type="email" placeholder="john@example.com" />
204
+ </Field>
205
+
206
+ <Field>
207
+ <FieldLabel htmlFor="phone-group">Phone</FieldLabel>
208
+ <Input id="phone-group" type="tel" placeholder="+1 (555) 000-0000" />
209
+ </Field>
210
+ </FieldGroup>
211
+ </div>
212
+
213
+ {/* With Checkboxes and Radio */}
214
+ <div className="space-y-4">
215
+ <h3 className="text-sm font-medium text-muted-foreground">
216
+ With Checkboxes and Radio Buttons
217
+ </h3>
218
+ <div className="space-y-6">
219
+ <FieldSet>
220
+ <FieldLegend>Preferences</FieldLegend>
221
+ <FieldGroup>
222
+ <Field orientation="horizontal">
223
+ <Checkbox id="newsletter" />
224
+ <FieldLabel htmlFor="newsletter">
225
+ Subscribe to newsletter
226
+ </FieldLabel>
227
+ </Field>
228
+
229
+ <Field orientation="horizontal">
230
+ <Checkbox id="updates" />
231
+ <FieldLabel htmlFor="updates">Receive product updates</FieldLabel>
232
+ </Field>
233
+ </FieldGroup>
234
+ </FieldSet>
235
+
236
+ <FieldSet>
237
+ <FieldLegend>Notification Method</FieldLegend>
238
+ <RadioGroup defaultValue="email">
239
+ <Field orientation="horizontal">
240
+ <RadioGroupItem value="email" id="radio-email" />
241
+ <FieldLabel htmlFor="radio-email">Email</FieldLabel>
242
+ </Field>
243
+
244
+ <Field orientation="horizontal">
245
+ <RadioGroupItem value="sms" id="radio-sms" />
246
+ <FieldLabel htmlFor="radio-sms">SMS</FieldLabel>
247
+ </Field>
248
+
249
+ <Field orientation="horizontal">
250
+ <RadioGroupItem value="push" id="radio-push" />
251
+ <FieldLabel htmlFor="radio-push">Push Notification</FieldLabel>
252
+ </Field>
253
+ </RadioGroup>
254
+ </FieldSet>
255
+ </div>
256
+ </div>
257
+ </div>
258
+ ),
259
+ parameters: {
260
+ layout: "padded",
261
+ docs: {
262
+ description: {
263
+ story:
264
+ "Complete showcase of field orientations, error states, groups, and integration with various form controls.",
265
+ },
266
+ },
267
+ },
268
+ };
269
+
270
+ /**
271
+ * Real-world usage examples showing fields in practical form scenarios.
272
+ */
273
+ export const InContext: Story = {
274
+ render: () => {
275
+ const [formErrors, setFormErrors] = useState({
276
+ email: "",
277
+ password: "",
278
+ });
279
+
280
+ const handleSubmit = (e: React.FormEvent) => {
281
+ e.preventDefault();
282
+ const formData = new FormData(e.target as HTMLFormElement);
283
+ const email = formData.get("email") as string;
284
+ const password = formData.get("password") as string;
285
+
286
+ const errors = { email: "", password: "" };
287
+ if (!email.includes("@")) {
288
+ errors.email = "Please enter a valid email address";
289
+ }
290
+ if (password.length < 8) {
291
+ errors.password = "Password must be at least 8 characters";
292
+ }
293
+ setFormErrors(errors);
294
+ };
295
+
296
+ return (
297
+ <div className="space-y-8 w-full max-w-2xl">
298
+ {/* Registration Form */}
299
+ <div className="space-y-4 p-6 border rounded-lg">
300
+ <h3 className="text-lg font-semibold">Create Account</h3>
301
+ <form onSubmit={handleSubmit} className="space-y-6">
302
+ <FieldGroup>
303
+ <Field data-invalid={!!formErrors.email}>
304
+ <FieldLabel htmlFor="reg-email">
305
+ Email Address
306
+ <span className="text-destructive ml-1">*</span>
307
+ </FieldLabel>
308
+ <Input
309
+ id="reg-email"
310
+ name="email"
311
+ type="email"
312
+ placeholder="you@example.com"
313
+ aria-invalid={!!formErrors.email}
314
+ required
315
+ />
316
+ {formErrors.email && (
317
+ <FieldError>{formErrors.email}</FieldError>
318
+ )}
319
+ </Field>
320
+
321
+ <Field data-invalid={!!formErrors.password}>
322
+ <FieldLabel htmlFor="reg-password">
323
+ Password
324
+ <span className="text-destructive ml-1">*</span>
325
+ </FieldLabel>
326
+ <Input
327
+ id="reg-password"
328
+ name="password"
329
+ type="password"
330
+ placeholder="Min. 8 characters"
331
+ aria-invalid={!!formErrors.password}
332
+ required
333
+ />
334
+ <FieldDescription>
335
+ Must be at least 8 characters with a number and special
336
+ character.
337
+ </FieldDescription>
338
+ {formErrors.password && (
339
+ <FieldError>{formErrors.password}</FieldError>
340
+ )}
341
+ </Field>
342
+
343
+ <Field orientation="horizontal">
344
+ <Checkbox id="reg-terms" required />
345
+ <FieldLabel htmlFor="reg-terms">
346
+ I agree to the{" "}
347
+ <a href="#" className="underline">
348
+ Terms of Service
349
+ </a>{" "}
350
+ and{" "}
351
+ <a href="#" className="underline">
352
+ Privacy Policy
353
+ </a>
354
+ </FieldLabel>
355
+ </Field>
356
+ </FieldGroup>
357
+
358
+ <button
359
+ type="submit"
360
+ className="w-full px-4 py-2 bg-primary text-primary-foreground rounded-md font-medium hover:bg-primary/90"
361
+ >
362
+ Create Account
363
+ </button>
364
+ </form>
365
+ </div>
366
+
367
+ {/* Settings Form */}
368
+ <div className="space-y-4 p-6 border rounded-lg">
369
+ <h3 className="text-lg font-semibold">Notification Settings</h3>
370
+ <FieldGroup>
371
+ <Field orientation="horizontal">
372
+ <FieldContent>
373
+ <FieldTitle>
374
+ Email Notifications
375
+ <Info className="size-4 text-muted-foreground ml-1" />
376
+ </FieldTitle>
377
+ <FieldDescription>
378
+ Receive email updates about your account activity.
379
+ </FieldDescription>
380
+ </FieldContent>
381
+ <Switch defaultChecked />
382
+ </Field>
383
+
384
+ <Field orientation="horizontal">
385
+ <FieldContent>
386
+ <FieldTitle>Push Notifications</FieldTitle>
387
+ <FieldDescription>
388
+ Get push notifications on your devices.
389
+ </FieldDescription>
390
+ </FieldContent>
391
+ <Switch />
392
+ </Field>
393
+
394
+ <FieldSeparator />
395
+
396
+ <Field orientation="horizontal">
397
+ <FieldContent>
398
+ <FieldTitle>Marketing Communications</FieldTitle>
399
+ <FieldDescription>
400
+ Receive news, announcements, and product updates.
401
+ </FieldDescription>
402
+ </FieldContent>
403
+ <Switch />
404
+ </Field>
405
+ </FieldGroup>
406
+ </div>
407
+
408
+ {/* Profile Form */}
409
+ <div className="space-y-4 p-6 border rounded-lg">
410
+ <h3 className="text-lg font-semibold">Profile Information</h3>
411
+ <FieldGroup>
412
+ <Field>
413
+ <FieldLabel htmlFor="profile-name">Display Name</FieldLabel>
414
+ <Input
415
+ id="profile-name"
416
+ placeholder="How you'd like to be called"
417
+ />
418
+ <FieldDescription>
419
+ This is how your name will appear to others.
420
+ </FieldDescription>
421
+ </Field>
422
+
423
+ <Field>
424
+ <FieldLabel htmlFor="profile-bio">Bio</FieldLabel>
425
+ <textarea
426
+ id="profile-bio"
427
+ className="w-full min-h-24 px-3 py-2 border rounded-md"
428
+ placeholder="Tell us about yourself"
429
+ />
430
+ <FieldDescription>
431
+ Brief description for your profile (max 500 characters).
432
+ </FieldDescription>
433
+ </Field>
434
+
435
+ <FieldSeparator>Visibility</FieldSeparator>
436
+
437
+ <FieldSet>
438
+ <FieldLegend variant="label">Who can see your profile?</FieldLegend>
439
+ <RadioGroup defaultValue="public">
440
+ <Field orientation="horizontal">
441
+ <RadioGroupItem value="public" id="vis-public" />
442
+ <FieldLabel htmlFor="vis-public">Public</FieldLabel>
443
+ </Field>
444
+
445
+ <Field orientation="horizontal">
446
+ <RadioGroupItem value="private" id="vis-private" />
447
+ <FieldLabel htmlFor="vis-private">Private</FieldLabel>
448
+ </Field>
449
+
450
+ <Field orientation="horizontal">
451
+ <RadioGroupItem value="friends" id="vis-friends" />
452
+ <FieldLabel htmlFor="vis-friends">Friends Only</FieldLabel>
453
+ </Field>
454
+ </RadioGroup>
455
+ </FieldSet>
456
+ </FieldGroup>
457
+ </div>
458
+ </div>
459
+ );
460
+ },
461
+ parameters: {
462
+ layout: "padded",
463
+ docs: {
464
+ description: {
465
+ story:
466
+ "Real-world examples showing fields in registration forms, settings panels, and profile editors with proper validation and layout.",
467
+ },
468
+ },
469
+ },
470
+ };
@@ -17,7 +17,6 @@ const meta = {
17
17
  },
18
18
  },
19
19
  },
20
- tags: ["autodocs"],
21
20
  argTypes: {
22
21
  openDelay: {
23
22
  control: { type: "number" },