@neynar/ui 0.2.0 → 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 (503) hide show
  1. package/dist/components/ui/badge.d.ts +7 -1
  2. package/dist/components/ui/badge.d.ts.map +1 -1
  3. package/dist/components/ui/button-group.d.ts +448 -0
  4. package/dist/components/ui/button-group.d.ts.map +1 -0
  5. package/dist/components/ui/button.d.ts +1 -1
  6. package/dist/components/ui/button.d.ts.map +1 -1
  7. package/dist/components/ui/empty-state.d.ts +1 -0
  8. package/dist/components/ui/empty-state.d.ts.map +1 -1
  9. package/dist/components/ui/empty.d.ts +630 -0
  10. package/dist/components/ui/empty.d.ts.map +1 -0
  11. package/dist/components/ui/field.d.ts +238 -0
  12. package/dist/components/ui/field.d.ts.map +1 -0
  13. package/dist/components/ui/input-group.d.ts +636 -0
  14. package/dist/components/ui/input-group.d.ts.map +1 -0
  15. package/dist/components/ui/item.d.ts +766 -0
  16. package/dist/components/ui/item.d.ts.map +1 -0
  17. package/dist/components/ui/kbd.d.ts +149 -0
  18. package/dist/components/ui/kbd.d.ts.map +1 -0
  19. package/dist/components/ui/spinner.d.ts +194 -0
  20. package/dist/components/ui/spinner.d.ts.map +1 -0
  21. package/dist/components/ui/stories/accordion.stories.d.ts +0 -1
  22. package/dist/components/ui/stories/accordion.stories.d.ts.map +1 -1
  23. package/dist/components/ui/stories/alert-dialog.stories.d.ts +0 -1
  24. package/dist/components/ui/stories/alert-dialog.stories.d.ts.map +1 -1
  25. package/dist/components/ui/stories/alert.stories.d.ts +0 -1
  26. package/dist/components/ui/stories/alert.stories.d.ts.map +1 -1
  27. package/dist/components/ui/stories/aspect-ratio.stories.d.ts +0 -1
  28. package/dist/components/ui/stories/aspect-ratio.stories.d.ts.map +1 -1
  29. package/dist/components/ui/stories/avatar.stories.d.ts +0 -1
  30. package/dist/components/ui/stories/avatar.stories.d.ts.map +1 -1
  31. package/dist/components/ui/stories/badge.stories.d.ts +0 -1
  32. package/dist/components/ui/stories/badge.stories.d.ts.map +1 -1
  33. package/dist/components/ui/stories/breadcrumb.stories.d.ts +0 -1
  34. package/dist/components/ui/stories/breadcrumb.stories.d.ts.map +1 -1
  35. package/dist/components/ui/stories/button-group.stories.d.ts +48 -0
  36. package/dist/components/ui/stories/button-group.stories.d.ts.map +1 -0
  37. package/dist/components/ui/stories/button.stories.d.ts +0 -1
  38. package/dist/components/ui/stories/button.stories.d.ts.map +1 -1
  39. package/dist/components/ui/stories/calendar.stories.d.ts +0 -1
  40. package/dist/components/ui/stories/calendar.stories.d.ts.map +1 -1
  41. package/dist/components/ui/stories/card.stories.d.ts +0 -1
  42. package/dist/components/ui/stories/card.stories.d.ts.map +1 -1
  43. package/dist/components/ui/stories/carousel.stories.d.ts +0 -1
  44. package/dist/components/ui/stories/carousel.stories.d.ts.map +1 -1
  45. package/dist/components/ui/stories/chart.stories.d.ts +0 -1
  46. package/dist/components/ui/stories/chart.stories.d.ts.map +1 -1
  47. package/dist/components/ui/stories/checkbox.stories.d.ts +0 -1
  48. package/dist/components/ui/stories/checkbox.stories.d.ts.map +1 -1
  49. package/dist/components/ui/stories/cn.stories.d.ts.map +1 -1
  50. package/dist/components/ui/stories/collapsible.stories.d.ts +0 -1
  51. package/dist/components/ui/stories/collapsible.stories.d.ts.map +1 -1
  52. package/dist/components/ui/stories/colors.stories.d.ts +0 -1
  53. package/dist/components/ui/stories/colors.stories.d.ts.map +1 -1
  54. package/dist/components/ui/stories/combobox.stories.d.ts +0 -1
  55. package/dist/components/ui/stories/combobox.stories.d.ts.map +1 -1
  56. package/dist/components/ui/stories/command.stories.d.ts +0 -1
  57. package/dist/components/ui/stories/command.stories.d.ts.map +1 -1
  58. package/dist/components/ui/stories/container.stories.d.ts +0 -1
  59. package/dist/components/ui/stories/container.stories.d.ts.map +1 -1
  60. package/dist/components/ui/stories/context-menu.stories.d.ts +0 -1
  61. package/dist/components/ui/stories/context-menu.stories.d.ts.map +1 -1
  62. package/dist/components/ui/stories/date-picker.stories.d.ts +0 -1
  63. package/dist/components/ui/stories/date-picker.stories.d.ts.map +1 -1
  64. package/dist/components/ui/stories/dialog.stories.d.ts +0 -1
  65. package/dist/components/ui/stories/dialog.stories.d.ts.map +1 -1
  66. package/dist/components/ui/stories/drawer.stories.d.ts +0 -1
  67. package/dist/components/ui/stories/drawer.stories.d.ts.map +1 -1
  68. package/dist/components/ui/stories/dropdown-menu.stories.d.ts +0 -1
  69. package/dist/components/ui/stories/dropdown-menu.stories.d.ts.map +1 -1
  70. package/dist/components/ui/stories/empty-state.stories.d.ts +0 -1
  71. package/dist/components/ui/stories/empty-state.stories.d.ts.map +1 -1
  72. package/dist/components/ui/stories/empty.stories.d.ts +38 -0
  73. package/dist/components/ui/stories/empty.stories.d.ts.map +1 -0
  74. package/dist/components/ui/stories/field.stories.d.ts +48 -0
  75. package/dist/components/ui/stories/field.stories.d.ts.map +1 -0
  76. package/dist/components/ui/stories/hover-card.stories.d.ts +0 -1
  77. package/dist/components/ui/stories/hover-card.stories.d.ts.map +1 -1
  78. package/dist/components/ui/stories/input-group.stories.d.ts +37 -0
  79. package/dist/components/ui/stories/input-group.stories.d.ts.map +1 -0
  80. package/dist/components/ui/stories/input.stories.d.ts +0 -1
  81. package/dist/components/ui/stories/input.stories.d.ts.map +1 -1
  82. package/dist/components/ui/stories/item.stories.d.ts +61 -0
  83. package/dist/components/ui/stories/item.stories.d.ts.map +1 -0
  84. package/dist/components/ui/stories/kbd.stories.d.ts +37 -0
  85. package/dist/components/ui/stories/kbd.stories.d.ts.map +1 -0
  86. package/dist/components/ui/stories/label.stories.d.ts +0 -1
  87. package/dist/components/ui/stories/label.stories.d.ts.map +1 -1
  88. package/dist/components/ui/stories/menubar.stories.d.ts +0 -1
  89. package/dist/components/ui/stories/menubar.stories.d.ts.map +1 -1
  90. package/dist/components/ui/stories/navigation-menu.stories.d.ts +0 -1
  91. package/dist/components/ui/stories/navigation-menu.stories.d.ts.map +1 -1
  92. package/dist/components/ui/stories/pagination.stories.d.ts +0 -1
  93. package/dist/components/ui/stories/pagination.stories.d.ts.map +1 -1
  94. package/dist/components/ui/stories/popover.stories.d.ts +0 -1
  95. package/dist/components/ui/stories/popover.stories.d.ts.map +1 -1
  96. package/dist/components/ui/stories/progress.stories.d.ts +0 -1
  97. package/dist/components/ui/stories/progress.stories.d.ts.map +1 -1
  98. package/dist/components/ui/stories/radio-group.stories.d.ts +0 -1
  99. package/dist/components/ui/stories/radio-group.stories.d.ts.map +1 -1
  100. package/dist/components/ui/stories/resizable.stories.d.ts +0 -1
  101. package/dist/components/ui/stories/resizable.stories.d.ts.map +1 -1
  102. package/dist/components/ui/stories/scroll-area.stories.d.ts +0 -1
  103. package/dist/components/ui/stories/scroll-area.stories.d.ts.map +1 -1
  104. package/dist/components/ui/stories/select.stories.d.ts +0 -1
  105. package/dist/components/ui/stories/select.stories.d.ts.map +1 -1
  106. package/dist/components/ui/stories/separator.stories.d.ts +0 -1
  107. package/dist/components/ui/stories/separator.stories.d.ts.map +1 -1
  108. package/dist/components/ui/stories/sheet.stories.d.ts +0 -1
  109. package/dist/components/ui/stories/sheet.stories.d.ts.map +1 -1
  110. package/dist/components/ui/stories/sidebar.stories.d.ts +0 -1
  111. package/dist/components/ui/stories/sidebar.stories.d.ts.map +1 -1
  112. package/dist/components/ui/stories/skeleton.stories.d.ts +0 -1
  113. package/dist/components/ui/stories/skeleton.stories.d.ts.map +1 -1
  114. package/dist/components/ui/stories/slider.stories.d.ts +0 -1
  115. package/dist/components/ui/stories/slider.stories.d.ts.map +1 -1
  116. package/dist/components/ui/stories/sonner.stories.d.ts.map +1 -1
  117. package/dist/components/ui/stories/spinner.stories.d.ts +37 -0
  118. package/dist/components/ui/stories/spinner.stories.d.ts.map +1 -0
  119. package/dist/components/ui/stories/stack.stories.d.ts +0 -1
  120. package/dist/components/ui/stories/stack.stories.d.ts.map +1 -1
  121. package/dist/components/ui/stories/switch.stories.d.ts +0 -1
  122. package/dist/components/ui/stories/switch.stories.d.ts.map +1 -1
  123. package/dist/components/ui/stories/table.stories.d.ts +0 -1
  124. package/dist/components/ui/stories/table.stories.d.ts.map +1 -1
  125. package/dist/components/ui/stories/tabs.stories.d.ts +0 -1
  126. package/dist/components/ui/stories/tabs.stories.d.ts.map +1 -1
  127. package/dist/components/ui/stories/text-field.stories.d.ts +0 -1
  128. package/dist/components/ui/stories/text-field.stories.d.ts.map +1 -1
  129. package/dist/components/ui/stories/textarea.stories.d.ts +0 -1
  130. package/dist/components/ui/stories/textarea.stories.d.ts.map +1 -1
  131. package/dist/components/ui/stories/theme-toggle.stories.d.ts +0 -1
  132. package/dist/components/ui/stories/theme-toggle.stories.d.ts.map +1 -1
  133. package/dist/components/ui/stories/theme.stories.d.ts +0 -1
  134. package/dist/components/ui/stories/theme.stories.d.ts.map +1 -1
  135. package/dist/components/ui/stories/toggle-group.stories.d.ts +0 -1
  136. package/dist/components/ui/stories/toggle-group.stories.d.ts.map +1 -1
  137. package/dist/components/ui/stories/toggle.stories.d.ts +0 -1
  138. package/dist/components/ui/stories/toggle.stories.d.ts.map +1 -1
  139. package/dist/components/ui/stories/tooltip.stories.d.ts +0 -1
  140. package/dist/components/ui/stories/tooltip.stories.d.ts.map +1 -1
  141. package/dist/components/ui/stories/typography.stories.d.ts +0 -1
  142. package/dist/components/ui/stories/typography.stories.d.ts.map +1 -1
  143. package/dist/components/ui/stories/use-mobile.stories.d.ts.map +1 -1
  144. package/dist/components/ui/stories/use-theme.stories.d.ts.map +1 -1
  145. package/dist/components/ui/typography.d.ts +12 -11
  146. package/dist/components/ui/typography.d.ts.map +1 -1
  147. package/dist/index.d.ts +7 -0
  148. package/dist/index.d.ts.map +1 -1
  149. package/dist/index.js +21584 -12837
  150. package/dist/index.js.map +1 -1
  151. package/dist/tsconfig.tsbuildinfo +1 -1
  152. package/docs/llm/components/display.md +125 -0
  153. package/docs/llm/components/feedback.md +0 -14
  154. package/docs/llm/components/forms.md +94 -0
  155. package/docs/llm/components/layout.md +169 -0
  156. package/llms.txt +18 -12
  157. package/package.json +6 -5
  158. package/src/components/ui/badge.tsx +21 -3
  159. package/src/components/ui/button-group.tsx +525 -0
  160. package/src/components/ui/button.tsx +9 -12
  161. package/src/components/ui/empty-state.tsx +1 -0
  162. package/src/components/ui/empty.tsx +793 -0
  163. package/src/components/ui/field.tsx +494 -0
  164. package/src/components/ui/input-group.tsx +801 -0
  165. package/src/components/ui/item.tsx +955 -0
  166. package/src/components/ui/kbd.tsx +175 -0
  167. package/src/components/ui/skeleton.tsx +1 -1
  168. package/src/components/ui/spinner.tsx +211 -0
  169. package/src/components/ui/stories/accordion.stories.tsx +0 -1
  170. package/src/components/ui/stories/alert-dialog.stories.tsx +0 -1
  171. package/src/components/ui/stories/alert.stories.tsx +0 -1
  172. package/src/components/ui/stories/aspect-ratio.stories.tsx +0 -1
  173. package/src/components/ui/stories/avatar.stories.tsx +0 -1
  174. package/src/components/ui/stories/badge.stories.tsx +0 -1
  175. package/src/components/ui/stories/breadcrumb.stories.tsx +0 -1
  176. package/src/components/ui/stories/button-group.stories.tsx +300 -0
  177. package/src/components/ui/stories/button.stories.tsx +0 -1
  178. package/src/components/ui/stories/calendar.stories.tsx +0 -1
  179. package/src/components/ui/stories/card.stories.tsx +0 -1
  180. package/src/components/ui/stories/carousel.stories.tsx +0 -1
  181. package/src/components/ui/stories/chart.stories.tsx +0 -1
  182. package/src/components/ui/stories/checkbox.stories.tsx +0 -1
  183. package/src/components/ui/stories/cn.stories.tsx +0 -1
  184. package/src/components/ui/stories/collapsible.stories.tsx +0 -1
  185. package/src/components/ui/stories/colors.stories.tsx +0 -1
  186. package/src/components/ui/stories/combobox.stories.tsx +0 -1
  187. package/src/components/ui/stories/command.stories.tsx +0 -1
  188. package/src/components/ui/stories/container.stories.tsx +0 -1
  189. package/src/components/ui/stories/context-menu.stories.tsx +0 -1
  190. package/src/components/ui/stories/date-picker.stories.tsx +0 -1
  191. package/src/components/ui/stories/dialog.stories.tsx +0 -1
  192. package/src/components/ui/stories/drawer.stories.tsx +0 -1
  193. package/src/components/ui/stories/dropdown-menu.stories.tsx +0 -1
  194. package/src/components/ui/stories/empty-state.stories.tsx +0 -1
  195. package/src/components/ui/stories/empty.stories.tsx +293 -0
  196. package/src/components/ui/stories/field.stories.tsx +470 -0
  197. package/src/components/ui/stories/hover-card.stories.tsx +0 -1
  198. package/src/components/ui/stories/input-group.stories.tsx +444 -0
  199. package/src/components/ui/stories/input.stories.tsx +0 -1
  200. package/src/components/ui/stories/item.stories.tsx +601 -0
  201. package/src/components/ui/stories/kbd.stories.tsx +462 -0
  202. package/src/components/ui/stories/label.stories.tsx +0 -1
  203. package/src/components/ui/stories/menubar.stories.tsx +0 -1
  204. package/src/components/ui/stories/navigation-menu.stories.tsx +0 -1
  205. package/src/components/ui/stories/pagination.stories.tsx +0 -1
  206. package/src/components/ui/stories/popover.stories.tsx +0 -1
  207. package/src/components/ui/stories/progress.stories.tsx +0 -1
  208. package/src/components/ui/stories/radio-group.stories.tsx +0 -1
  209. package/src/components/ui/stories/resizable.stories.tsx +0 -1
  210. package/src/components/ui/stories/scroll-area.stories.tsx +0 -1
  211. package/src/components/ui/stories/select.stories.tsx +0 -1
  212. package/src/components/ui/stories/separator.stories.tsx +0 -1
  213. package/src/components/ui/stories/sheet.stories.tsx +0 -1
  214. package/src/components/ui/stories/sidebar.stories.tsx +0 -1
  215. package/src/components/ui/stories/skeleton.stories.tsx +0 -1
  216. package/src/components/ui/stories/slider.stories.tsx +0 -1
  217. package/src/components/ui/stories/sonner.stories.tsx +0 -1
  218. package/src/components/ui/stories/spinner.stories.tsx +356 -0
  219. package/src/components/ui/stories/stack.stories.tsx +0 -1
  220. package/src/components/ui/stories/switch.stories.tsx +0 -1
  221. package/src/components/ui/stories/table.stories.tsx +0 -1
  222. package/src/components/ui/stories/tabs.stories.tsx +0 -1
  223. package/src/components/ui/stories/text-field.stories.tsx +0 -1
  224. package/src/components/ui/stories/textarea.stories.tsx +0 -1
  225. package/src/components/ui/stories/theme-toggle.stories.tsx +0 -1
  226. package/src/components/ui/stories/theme.stories.tsx +0 -1
  227. package/src/components/ui/stories/toggle-group.stories.tsx +0 -1
  228. package/src/components/ui/stories/toggle.stories.tsx +0 -1
  229. package/src/components/ui/stories/tooltip.stories.tsx +0 -1
  230. package/src/components/ui/stories/typography.stories.tsx +5 -2
  231. package/src/components/ui/stories/use-mobile.stories.tsx +0 -1
  232. package/src/components/ui/stories/use-theme.stories.tsx +0 -1
  233. package/src/components/ui/tabs.tsx +1 -1
  234. package/src/components/ui/typography.tsx +29 -129
  235. package/src/index.ts +7 -0
  236. package/src/styles/globals.css +45 -25
  237. package/llm-docs/a.llm.md +0 -145
  238. package/llm-docs/accordion-content.llm.md +0 -67
  239. package/llm-docs/accordion-item.llm.md +0 -61
  240. package/llm-docs/accordion-trigger.llm.md +0 -69
  241. package/llm-docs/accordion.llm.md +0 -88
  242. package/llm-docs/alert-description.llm.md +0 -78
  243. package/llm-docs/alert-dialog-action.llm.md +0 -51
  244. package/llm-docs/alert-dialog-cancel.llm.md +0 -48
  245. package/llm-docs/alert-dialog-content.llm.md +0 -88
  246. package/llm-docs/alert-dialog-description.llm.md +0 -53
  247. package/llm-docs/alert-dialog-footer.llm.md +0 -41
  248. package/llm-docs/alert-dialog-header.llm.md +0 -39
  249. package/llm-docs/alert-dialog-overlay.llm.md +0 -44
  250. package/llm-docs/alert-dialog-portal.llm.md +0 -41
  251. package/llm-docs/alert-dialog-title.llm.md +0 -46
  252. package/llm-docs/alert-dialog-trigger.llm.md +0 -40
  253. package/llm-docs/alert-dialog.llm.md +0 -80
  254. package/llm-docs/alert-title.llm.md +0 -48
  255. package/llm-docs/alert.llm.md +0 -92
  256. package/llm-docs/aspect-ratio.llm.md +0 -41
  257. package/llm-docs/avatar-fallback.llm.md +0 -41
  258. package/llm-docs/avatar-image.llm.md +0 -48
  259. package/llm-docs/avatar.llm.md +0 -35
  260. package/llm-docs/badge.llm.md +0 -108
  261. package/llm-docs/blockquote.llm.md +0 -122
  262. package/llm-docs/breadcrumb-ellipsis.llm.md +0 -73
  263. package/llm-docs/breadcrumb-item.llm.md +0 -53
  264. package/llm-docs/breadcrumb-link.llm.md +0 -84
  265. package/llm-docs/breadcrumb-list.llm.md +0 -54
  266. package/llm-docs/breadcrumb-page.llm.md +0 -52
  267. package/llm-docs/breadcrumb-separator.llm.md +0 -60
  268. package/llm-docs/breadcrumb.llm.md +0 -110
  269. package/llm-docs/button.llm.md +0 -281
  270. package/llm-docs/calendar-day-button.llm.md +0 -57
  271. package/llm-docs/calendar.llm.md +0 -340
  272. package/llm-docs/card-action.llm.md +0 -64
  273. package/llm-docs/card-content.llm.md +0 -48
  274. package/llm-docs/card-description.llm.md +0 -46
  275. package/llm-docs/card-footer.llm.md +0 -56
  276. package/llm-docs/card-header.llm.md +0 -53
  277. package/llm-docs/card-title.llm.md +0 -43
  278. package/llm-docs/card.llm.md +0 -100
  279. package/llm-docs/carousel-content.llm.md +0 -77
  280. package/llm-docs/carousel-item.llm.md +0 -96
  281. package/llm-docs/carousel-next.llm.md +0 -95
  282. package/llm-docs/carousel-previous.llm.md +0 -95
  283. package/llm-docs/carousel.llm.md +0 -211
  284. package/llm-docs/chart-config.llm.md +0 -71
  285. package/llm-docs/chart-container.llm.md +0 -148
  286. package/llm-docs/chart-legend-content.llm.md +0 -85
  287. package/llm-docs/chart-legend.llm.md +0 -144
  288. package/llm-docs/chart-style.llm.md +0 -28
  289. package/llm-docs/chart-tooltip-content.llm.md +0 -149
  290. package/llm-docs/chart-tooltip.llm.md +0 -184
  291. package/llm-docs/checkbox.llm.md +0 -100
  292. package/llm-docs/cn.llm.md +0 -46
  293. package/llm-docs/code.llm.md +0 -108
  294. package/llm-docs/collapsible-content.llm.md +0 -109
  295. package/llm-docs/collapsible-trigger.llm.md +0 -75
  296. package/llm-docs/collapsible.llm.md +0 -109
  297. package/llm-docs/combobox-option.llm.md +0 -53
  298. package/llm-docs/combobox.llm.md +0 -208
  299. package/llm-docs/command-dialog.llm.md +0 -112
  300. package/llm-docs/command-empty.llm.md +0 -63
  301. package/llm-docs/command-group.llm.md +0 -83
  302. package/llm-docs/command-input.llm.md +0 -82
  303. package/llm-docs/command-item.llm.md +0 -97
  304. package/llm-docs/command-list.llm.md +0 -53
  305. package/llm-docs/command-loading.llm.md +0 -48
  306. package/llm-docs/command-separator.llm.md +0 -44
  307. package/llm-docs/command-shortcut.llm.md +0 -63
  308. package/llm-docs/command.llm.md +0 -147
  309. package/llm-docs/container.llm.md +0 -236
  310. package/llm-docs/context-menu-checkbox-item.llm.md +0 -97
  311. package/llm-docs/context-menu-content.llm.md +0 -91
  312. package/llm-docs/context-menu-group.llm.md +0 -61
  313. package/llm-docs/context-menu-item.llm.md +0 -94
  314. package/llm-docs/context-menu-label.llm.md +0 -60
  315. package/llm-docs/context-menu-portal.llm.md +0 -49
  316. package/llm-docs/context-menu-radio-group.llm.md +0 -66
  317. package/llm-docs/context-menu-radio-item.llm.md +0 -76
  318. package/llm-docs/context-menu-separator.llm.md +0 -51
  319. package/llm-docs/context-menu-shortcut.llm.md +0 -57
  320. package/llm-docs/context-menu-sub-content.llm.md +0 -90
  321. package/llm-docs/context-menu-sub-trigger.llm.md +0 -73
  322. package/llm-docs/context-menu-sub.llm.md +0 -61
  323. package/llm-docs/context-menu-trigger.llm.md +0 -53
  324. package/llm-docs/context-menu.llm.md +0 -103
  325. package/llm-docs/date-picker.llm.md +0 -90
  326. package/llm-docs/dialog-close.llm.md +0 -61
  327. package/llm-docs/dialog-content.llm.md +0 -128
  328. package/llm-docs/dialog-description.llm.md +0 -44
  329. package/llm-docs/dialog-footer.llm.md +0 -38
  330. package/llm-docs/dialog-header.llm.md +0 -40
  331. package/llm-docs/dialog-overlay.llm.md +0 -57
  332. package/llm-docs/dialog-portal.llm.md +0 -47
  333. package/llm-docs/dialog-title.llm.md +0 -41
  334. package/llm-docs/dialog-trigger.llm.md +0 -51
  335. package/llm-docs/dialog.llm.md +0 -113
  336. package/llm-docs/drawer-close.llm.md +0 -53
  337. package/llm-docs/drawer-content.llm.md +0 -58
  338. package/llm-docs/drawer-description.llm.md +0 -54
  339. package/llm-docs/drawer-footer.llm.md +0 -67
  340. package/llm-docs/drawer-header.llm.md +0 -60
  341. package/llm-docs/drawer-overlay.llm.md +0 -40
  342. package/llm-docs/drawer-portal.llm.md +0 -42
  343. package/llm-docs/drawer-title.llm.md +0 -51
  344. package/llm-docs/drawer-trigger.llm.md +0 -44
  345. package/llm-docs/drawer.llm.md +0 -194
  346. package/llm-docs/dropdown-menu-checkbox-item.llm.md +0 -111
  347. package/llm-docs/dropdown-menu-content.llm.md +0 -109
  348. package/llm-docs/dropdown-menu-group.llm.md +0 -38
  349. package/llm-docs/dropdown-menu-item.llm.md +0 -94
  350. package/llm-docs/dropdown-menu-label.llm.md +0 -66
  351. package/llm-docs/dropdown-menu-portal.llm.md +0 -32
  352. package/llm-docs/dropdown-menu-radio-group.llm.md +0 -73
  353. package/llm-docs/dropdown-menu-radio-item.llm.md +0 -92
  354. package/llm-docs/dropdown-menu-separator.llm.md +0 -55
  355. package/llm-docs/dropdown-menu-shortcut.llm.md +0 -74
  356. package/llm-docs/dropdown-menu-sub-content.llm.md +0 -80
  357. package/llm-docs/dropdown-menu-sub-trigger.llm.md +0 -84
  358. package/llm-docs/dropdown-menu-sub.llm.md +0 -74
  359. package/llm-docs/dropdown-menu-trigger.llm.md +0 -48
  360. package/llm-docs/dropdown-menu.llm.md +0 -120
  361. package/llm-docs/empty-state.llm.md +0 -174
  362. package/llm-docs/h1.llm.md +0 -113
  363. package/llm-docs/h2.llm.md +0 -113
  364. package/llm-docs/h3.llm.md +0 -111
  365. package/llm-docs/h4.llm.md +0 -109
  366. package/llm-docs/h5.llm.md +0 -110
  367. package/llm-docs/h6.llm.md +0 -110
  368. package/llm-docs/hover-card-content.llm.md +0 -167
  369. package/llm-docs/hover-card-trigger.llm.md +0 -65
  370. package/llm-docs/hover-card.llm.md +0 -121
  371. package/llm-docs/input.llm.md +0 -319
  372. package/llm-docs/label.llm.md +0 -145
  373. package/llm-docs/lead.llm.md +0 -119
  374. package/llm-docs/menubar-checkbox-item.llm.md +0 -66
  375. package/llm-docs/menubar-content.llm.md +0 -128
  376. package/llm-docs/menubar-group.llm.md +0 -40
  377. package/llm-docs/menubar-item.llm.md +0 -62
  378. package/llm-docs/menubar-label.llm.md +0 -40
  379. package/llm-docs/menubar-menu.llm.md +0 -32
  380. package/llm-docs/menubar-portal.llm.md +0 -38
  381. package/llm-docs/menubar-radio-group.llm.md +0 -39
  382. package/llm-docs/menubar-radio-item.llm.md +0 -59
  383. package/llm-docs/menubar-separator.llm.md +0 -35
  384. package/llm-docs/menubar-shortcut.llm.md +0 -37
  385. package/llm-docs/menubar-sub-content.llm.md +0 -127
  386. package/llm-docs/menubar-sub-trigger.llm.md +0 -51
  387. package/llm-docs/menubar-sub.llm.md +0 -53
  388. package/llm-docs/menubar-trigger.llm.md +0 -37
  389. package/llm-docs/menubar.llm.md +0 -115
  390. package/llm-docs/navigation-menu-content.llm.md +0 -116
  391. package/llm-docs/navigation-menu-indicator.llm.md +0 -68
  392. package/llm-docs/navigation-menu-item.llm.md +0 -62
  393. package/llm-docs/navigation-menu-link.llm.md +0 -109
  394. package/llm-docs/navigation-menu-list.llm.md +0 -52
  395. package/llm-docs/navigation-menu-trigger-style.llm.md +0 -22
  396. package/llm-docs/navigation-menu-trigger.llm.md +0 -57
  397. package/llm-docs/navigation-menu-viewport.llm.md +0 -51
  398. package/llm-docs/navigation-menu.llm.md +0 -184
  399. package/llm-docs/p.llm.md +0 -115
  400. package/llm-docs/pagination-content.llm.md +0 -60
  401. package/llm-docs/pagination-ellipsis.llm.md +0 -107
  402. package/llm-docs/pagination-item.llm.md +0 -59
  403. package/llm-docs/pagination-link.llm.md +0 -150
  404. package/llm-docs/pagination-next.llm.md +0 -115
  405. package/llm-docs/pagination-previous.llm.md +0 -115
  406. package/llm-docs/pagination.llm.md +0 -190
  407. package/llm-docs/popover-anchor.llm.md +0 -53
  408. package/llm-docs/popover-content.llm.md +0 -109
  409. package/llm-docs/popover-trigger.llm.md +0 -54
  410. package/llm-docs/popover.llm.md +0 -116
  411. package/llm-docs/progress.llm.md +0 -76
  412. package/llm-docs/radio-group-indicator.llm.md +0 -28
  413. package/llm-docs/radio-group-item.llm.md +0 -40
  414. package/llm-docs/radio-group.llm.md +0 -76
  415. package/llm-docs/resizable-handle.llm.md +0 -156
  416. package/llm-docs/resizable-panel-group.llm.md +0 -149
  417. package/llm-docs/resizable-panel.llm.md +0 -157
  418. package/llm-docs/scroll-area-corner.llm.md +0 -41
  419. package/llm-docs/scroll-area-thumb.llm.md +0 -39
  420. package/llm-docs/scroll-area-viewport.llm.md +0 -60
  421. package/llm-docs/scroll-area.llm.md +0 -125
  422. package/llm-docs/scroll-bar.llm.md +0 -78
  423. package/llm-docs/sdk-items-registry.json +0 -2638
  424. package/llm-docs/select-content.llm.md +0 -139
  425. package/llm-docs/select-group.llm.md +0 -60
  426. package/llm-docs/select-item.llm.md +0 -75
  427. package/llm-docs/select-label.llm.md +0 -62
  428. package/llm-docs/select-scroll-down-button.llm.md +0 -45
  429. package/llm-docs/select-scroll-up-button.llm.md +0 -45
  430. package/llm-docs/select-separator.llm.md +0 -59
  431. package/llm-docs/select-trigger.llm.md +0 -66
  432. package/llm-docs/select-value.llm.md +0 -67
  433. package/llm-docs/select.llm.md +0 -159
  434. package/llm-docs/separator.llm.md +0 -129
  435. package/llm-docs/sheet-close.llm.md +0 -49
  436. package/llm-docs/sheet-content.llm.md +0 -115
  437. package/llm-docs/sheet-description.llm.md +0 -62
  438. package/llm-docs/sheet-footer.llm.md +0 -64
  439. package/llm-docs/sheet-header.llm.md +0 -52
  440. package/llm-docs/sheet-title.llm.md +0 -53
  441. package/llm-docs/sheet-trigger.llm.md +0 -46
  442. package/llm-docs/sheet.llm.md +0 -126
  443. package/llm-docs/sidebar-content.llm.md +0 -63
  444. package/llm-docs/sidebar-footer.llm.md +0 -50
  445. package/llm-docs/sidebar-group-action.llm.md +0 -60
  446. package/llm-docs/sidebar-group-content.llm.md +0 -64
  447. package/llm-docs/sidebar-group-label.llm.md +0 -53
  448. package/llm-docs/sidebar-group.llm.md +0 -56
  449. package/llm-docs/sidebar-header.llm.md +0 -67
  450. package/llm-docs/sidebar-input.llm.md +0 -50
  451. package/llm-docs/sidebar-inset.llm.md +0 -52
  452. package/llm-docs/sidebar-menu-action.llm.md +0 -84
  453. package/llm-docs/sidebar-menu-badge.llm.md +0 -60
  454. package/llm-docs/sidebar-menu-button.llm.md +0 -103
  455. package/llm-docs/sidebar-menu-item.llm.md +0 -75
  456. package/llm-docs/sidebar-menu-skeleton.llm.md +0 -76
  457. package/llm-docs/sidebar-menu-sub-button.llm.md +0 -85
  458. package/llm-docs/sidebar-menu-sub-item.llm.md +0 -54
  459. package/llm-docs/sidebar-menu-sub.llm.md +0 -74
  460. package/llm-docs/sidebar-menu.llm.md +0 -65
  461. package/llm-docs/sidebar-provider.llm.md +0 -79
  462. package/llm-docs/sidebar-rail.llm.md +0 -34
  463. package/llm-docs/sidebar-separator.llm.md +0 -57
  464. package/llm-docs/sidebar-trigger.llm.md +0 -49
  465. package/llm-docs/sidebar.llm.md +0 -129
  466. package/llm-docs/skeleton.llm.md +0 -134
  467. package/llm-docs/slider.llm.md +0 -173
  468. package/llm-docs/small.llm.md +0 -115
  469. package/llm-docs/span.llm.md +0 -132
  470. package/llm-docs/stack.llm.md +0 -28
  471. package/llm-docs/strong.llm.md +0 -115
  472. package/llm-docs/switch.llm.md +0 -76
  473. package/llm-docs/table-body.llm.md +0 -36
  474. package/llm-docs/table-caption.llm.md +0 -48
  475. package/llm-docs/table-cell.llm.md +0 -53
  476. package/llm-docs/table-footer.llm.md +0 -41
  477. package/llm-docs/table-head.llm.md +0 -69
  478. package/llm-docs/table-header.llm.md +0 -41
  479. package/llm-docs/table-row.llm.md +0 -42
  480. package/llm-docs/table.llm.md +0 -123
  481. package/llm-docs/tabs-content.llm.md +0 -47
  482. package/llm-docs/tabs-list.llm.md +0 -41
  483. package/llm-docs/tabs-trigger.llm.md +0 -47
  484. package/llm-docs/tabs.llm.md +0 -71
  485. package/llm-docs/text-field.llm.md +0 -327
  486. package/llm-docs/textarea.llm.md +0 -311
  487. package/llm-docs/theme-preference.llm.md +0 -25
  488. package/llm-docs/theme-toggle.llm.md +0 -57
  489. package/llm-docs/theme.llm.md +0 -14
  490. package/llm-docs/toast.llm.md +0 -32
  491. package/llm-docs/toaster.llm.md +0 -193
  492. package/llm-docs/toggle-group-item.llm.md +0 -59
  493. package/llm-docs/toggle-group.llm.md +0 -101
  494. package/llm-docs/toggle.llm.md +0 -40
  495. package/llm-docs/tooltip-content.llm.md +0 -185
  496. package/llm-docs/tooltip-provider.llm.md +0 -68
  497. package/llm-docs/tooltip-trigger.llm.md +0 -70
  498. package/llm-docs/tooltip.llm.md +0 -129
  499. package/llm-docs/typography.llm.md +0 -175
  500. package/llm-docs/use-carousel.llm.md +0 -55
  501. package/llm-docs/use-command-state.llm.md +0 -32
  502. package/llm-docs/use-is-mobile.llm.md +0 -73
  503. package/llm-docs/use-sidebar.llm.md +0 -61
@@ -0,0 +1,175 @@
1
+ import { cn } from "@/lib/utils"
2
+
3
+ /**
4
+ * Props for Kbd component (Documentation only - NOT used in component implementation)
5
+ * These types are for documentation generation and should not replace HTML kbd element inferred types
6
+ */
7
+ type KbdDocsProps = {
8
+ /** Additional CSS classes for custom styling */
9
+ className?: string;
10
+ /** Content to display inside the keyboard key (text, icons, or components) */
11
+ children?: React.ReactNode;
12
+ } & Omit<React.HTMLAttributes<HTMLElement>, "children" | "className">;
13
+
14
+ /**
15
+ * Props for KbdGroup component (Documentation only - NOT used in component implementation)
16
+ * These types are for documentation generation and should not replace HTML div element inferred types
17
+ */
18
+ type KbdGroupDocsProps = {
19
+ /** Additional CSS classes for custom styling */
20
+ className?: string;
21
+ /** Kbd components or other content to group together */
22
+ children?: React.ReactNode;
23
+ } & Omit<React.HTMLAttributes<HTMLDivElement>, "children" | "className">;
24
+
25
+ /**
26
+ * Kbd - Display keyboard input and shortcuts
27
+ *
28
+ * A semantic component for representing keyboard keys, shortcuts, and input in documentation,
29
+ * tutorials, and UI instructions. Uses the HTML kbd element with consistent styling for
30
+ * monospace text, subtle background, and appropriate sizing. Supports icons, text, and
31
+ * modifier keys like Cmd, Shift, Ctrl, and Alt.
32
+ *
33
+ * @example
34
+ * ```tsx
35
+ * // Display a single keyboard key
36
+ * <Kbd>K</Kbd>
37
+ * ```
38
+ *
39
+ * @example
40
+ * ```tsx
41
+ * // Display keyboard shortcuts with modifiers
42
+ * <KbdGroup>
43
+ * <Kbd>⌘</Kbd>
44
+ * <Kbd>K</Kbd>
45
+ * </KbdGroup>
46
+ * ```
47
+ *
48
+ * @example
49
+ * ```tsx
50
+ * // Display keyboard shortcuts in help text
51
+ * <p>
52
+ * Press <Kbd>Ctrl</Kbd> + <Kbd>S</Kbd> to save your work
53
+ * </p>
54
+ * ```
55
+ *
56
+ * @example
57
+ * ```tsx
58
+ * // Complex keyboard shortcut with multiple modifiers
59
+ * <KbdGroup>
60
+ * <Kbd>Ctrl</Kbd>
61
+ * <Kbd>Shift</Kbd>
62
+ * <Kbd>P</Kbd>
63
+ * </KbdGroup>
64
+ * ```
65
+ *
66
+ * @example
67
+ * ```tsx
68
+ * // Display keyboard shortcuts with icons
69
+ * <KbdGroup>
70
+ * <Kbd>
71
+ * <Command className="h-3 w-3" />
72
+ * </Kbd>
73
+ * <Kbd>K</Kbd>
74
+ * </KbdGroup>
75
+ * ```
76
+ *
77
+ * @accessibility
78
+ * - Uses semantic HTML kbd element for keyboard input representation
79
+ * - Screen readers announce content naturally as keyboard input
80
+ * - Non-interactive by default (pointer-events-none) to avoid confusion
81
+ * - Sufficient color contrast for readability (WCAG 2.1 AA compliant)
82
+ * - Respects user font size preferences with relative sizing
83
+ * - Works within tooltips with adjusted contrast for visibility
84
+ *
85
+ * @see {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/kbd} MDN kbd Element Reference
86
+ * @see {@link https://ui.shadcn.com/docs/components/kbd} shadcn/ui Kbd Documentation
87
+ * @see {@link KbdGroup} Group multiple keyboard keys together
88
+ * @since 1.0.0
89
+ */
90
+ function Kbd({ className, ...props }: React.ComponentProps<"kbd">) {
91
+ return (
92
+ <kbd
93
+ data-slot="kbd"
94
+ className={cn(
95
+ "bg-muted text-muted-foreground pointer-events-none inline-flex h-5 w-fit min-w-5 items-center justify-center gap-1 rounded-sm px-1 font-sans text-xs font-medium select-none",
96
+ "[&_svg:not([class*='size-'])]:size-3",
97
+ "[[data-slot=tooltip-content]_&]:bg-background/20 [[data-slot=tooltip-content]_&]:text-background dark:[[data-slot=tooltip-content]_&]:bg-background/10",
98
+ className
99
+ )}
100
+ {...props}
101
+ />
102
+ )
103
+ }
104
+
105
+ /**
106
+ * KbdGroup - Group multiple keyboard keys together
107
+ *
108
+ * A container component for grouping multiple Kbd components to represent complex keyboard
109
+ * shortcuts or key combinations. Automatically handles spacing between individual keys and
110
+ * provides semantic grouping. Useful for displaying shortcuts like "Ctrl+Shift+P" or "Cmd+K".
111
+ *
112
+ * @example
113
+ * ```tsx
114
+ * // Basic keyboard shortcut
115
+ * <KbdGroup>
116
+ * <Kbd>Ctrl</Kbd>
117
+ * <Kbd>C</Kbd>
118
+ * </KbdGroup>
119
+ * ```
120
+ *
121
+ * @example
122
+ * ```tsx
123
+ * // Multiple modifier keys
124
+ * <KbdGroup>
125
+ * <Kbd>⌘</Kbd>
126
+ * <Kbd>⇧</Kbd>
127
+ * <Kbd>P</Kbd>
128
+ * </KbdGroup>
129
+ * ```
130
+ *
131
+ * @example
132
+ * ```tsx
133
+ * // With custom separators using text
134
+ * <KbdGroup>
135
+ * <Kbd>Ctrl</Kbd>
136
+ * <span className="text-muted-foreground">+</span>
137
+ * <Kbd>Alt</Kbd>
138
+ * <span className="text-muted-foreground">+</span>
139
+ * <Kbd>Delete</Kbd>
140
+ * </KbdGroup>
141
+ * ```
142
+ *
143
+ * @example
144
+ * ```tsx
145
+ * // In a command palette or menu item
146
+ * <div className="flex items-center justify-between">
147
+ * <span>Open command palette</span>
148
+ * <KbdGroup>
149
+ * <Kbd>⌘</Kbd>
150
+ * <Kbd>K</Kbd>
151
+ * </KbdGroup>
152
+ * </div>
153
+ * ```
154
+ *
155
+ * @accessibility
156
+ * - Groups related keyboard keys semantically
157
+ * - Screen readers announce grouped keys naturally
158
+ * - Maintains visual separation between keys for clarity
159
+ * - Non-interactive to prevent accidental activation
160
+ * - Respects user preferences for font sizing and spacing
161
+ *
162
+ * @see {@link Kbd} Individual keyboard key display
163
+ * @since 1.0.0
164
+ */
165
+ function KbdGroup({ className, ...props }: React.ComponentProps<"div">) {
166
+ return (
167
+ <kbd
168
+ data-slot="kbd-group"
169
+ className={cn("inline-flex items-center gap-1", className)}
170
+ {...props}
171
+ />
172
+ )
173
+ }
174
+
175
+ export { Kbd, KbdGroup, type KbdDocsProps, type KbdGroupDocsProps }
@@ -149,7 +149,7 @@ function Skeleton({ className, ...props }: React.ComponentProps<"div">) {
149
149
  return (
150
150
  <div
151
151
  data-slot="skeleton"
152
- className={cn("bg-accent animate-pulse rounded-md", className)}
152
+ className={cn("bg-card animate-pulse rounded-md", className)}
153
153
  {...props}
154
154
  />
155
155
  );
@@ -0,0 +1,211 @@
1
+ import * as React from "react";
2
+ import { Loader2Icon } from "lucide-react";
3
+
4
+ import { cn } from "@/lib/utils";
5
+
6
+ /**
7
+ * Props for Spinner component (Documentation only - NOT used in component implementation)
8
+ * These types are for documentation generation and should not replace inferred SVG types
9
+ */
10
+ type SpinnerDocsProps = {
11
+ /** Additional CSS classes for custom size, color, or animation speed styling */
12
+ className?: string;
13
+ /** Color of the spinner icon (uses currentColor by default, inherits from parent text color) */
14
+ color?: string;
15
+ /** Size of the spinner icon in pixels @default 16 */
16
+ size?: number | string;
17
+ /** Stroke width of the spinner lines @default 2 */
18
+ strokeWidth?: number | string;
19
+ /** Accessible label for screen readers describing the loading state @default "Loading" */
20
+ "aria-label"?: string;
21
+ /** Role attribute for accessibility @default "status" */
22
+ role?: string;
23
+ /** Whether the spinner should be hidden from assistive technologies @default false */
24
+ "aria-hidden"?: boolean | "false" | "true";
25
+ /** Describes the element that is currently loading */
26
+ "aria-describedby"?: string;
27
+ /** Indicates that the region is being updated */
28
+ "aria-live"?: "off" | "polite" | "assertive";
29
+ /** Indicates that the content is currently busy loading @default false */
30
+ "aria-busy"?: boolean;
31
+ /** Style object for inline CSS styling */
32
+ style?: React.CSSProperties;
33
+ /** Data attributes for testing or identification */
34
+ [key: `data-${string}`]: string | undefined;
35
+ } & Omit<
36
+ React.SVGProps<SVGSVGElement>,
37
+ "color" | "size" | "strokeWidth" | "children"
38
+ >;
39
+
40
+ /**
41
+ * Spinner - Loading indicator with animated rotation
42
+ *
43
+ * A circular loading spinner built on the Lucide React Loader2 icon with smooth rotation
44
+ * animation. Provides visual feedback to users during asynchronous operations such as
45
+ * data fetching, form submissions, or content loading. The spinner is highly customizable
46
+ * through CSS classes and supports all standard SVG props for size, color, and styling.
47
+ *
48
+ * @example
49
+ * ```tsx
50
+ * // Basic loading spinner with default size (16px)
51
+ * <Spinner />
52
+ *
53
+ * // Custom size using Tailwind size utilities
54
+ * <Spinner className="size-6" />
55
+ * <Spinner className="size-8" />
56
+ * <Spinner className="size-12" />
57
+ *
58
+ * // Custom color using text color classes
59
+ * <Spinner className="text-primary" />
60
+ * <Spinner className="text-destructive" />
61
+ * <Spinner className="text-muted-foreground" />
62
+ * ```
63
+ *
64
+ * @example
65
+ * ```tsx
66
+ * // In loading buttons
67
+ * import { Button } from "./button";
68
+ *
69
+ * <Button disabled>
70
+ * <Spinner className="mr-2 size-4" />
71
+ * Loading...
72
+ * </Button>
73
+ *
74
+ * <Button variant="outline" disabled>
75
+ * <Spinner className="mr-2 size-4" />
76
+ * Processing
77
+ * </Button>
78
+ *
79
+ * // Icon-only loading button
80
+ * <Button size="icon" disabled aria-label="Loading">
81
+ * <Spinner className="size-4" />
82
+ * </Button>
83
+ * ```
84
+ *
85
+ * @example
86
+ * ```tsx
87
+ * // Full-page loading state
88
+ * <div className="flex min-h-screen items-center justify-center">
89
+ * <div className="text-center space-y-4">
90
+ * <Spinner className="size-12 mx-auto" />
91
+ * <p className="text-muted-foreground">Loading your dashboard...</p>
92
+ * </div>
93
+ * </div>
94
+ *
95
+ * // Card loading state
96
+ * <div className="border rounded-lg p-8 flex flex-col items-center gap-3">
97
+ * <Spinner className="size-8" />
98
+ * <p className="text-sm text-muted-foreground">Fetching data...</p>
99
+ * </div>
100
+ *
101
+ * // Inline loading with text
102
+ * <p className="flex items-center gap-2 text-sm">
103
+ * <Spinner className="size-4" />
104
+ * Syncing your data...
105
+ * </p>
106
+ * ```
107
+ *
108
+ * @example
109
+ * ```tsx
110
+ * // Custom animation speed
111
+ * // Slow rotation
112
+ * <Spinner className="animate-[spin_2s_linear_infinite]" />
113
+ *
114
+ * // Fast rotation
115
+ * <Spinner className="animate-[spin_0.5s_linear_infinite]" />
116
+ *
117
+ * // Custom size and color combination
118
+ * <Spinner
119
+ * className="size-6 text-blue-500"
120
+ * strokeWidth={3}
121
+ * />
122
+ *
123
+ * // With background overlay
124
+ * <div className="relative">
125
+ * <div className="absolute inset-0 bg-background/50 backdrop-blur-sm flex items-center justify-center rounded-lg">
126
+ * <Spinner className="size-8" />
127
+ * </div>
128
+ * <div>Your content here</div>
129
+ * </div>
130
+ * ```
131
+ *
132
+ * @example
133
+ * ```tsx
134
+ * // Conditional rendering with loading state
135
+ * function DataDisplay() {
136
+ * const [isLoading, setIsLoading] = React.useState(true);
137
+ *
138
+ * return (
139
+ * <div className="space-y-4">
140
+ * {isLoading ? (
141
+ * <div className="flex justify-center p-8">
142
+ * <Spinner className="size-6" />
143
+ * </div>
144
+ * ) : (
145
+ * <div>Loaded content here</div>
146
+ * )}
147
+ * </div>
148
+ * );
149
+ * }
150
+ *
151
+ * // With aria-live region for screen reader announcements
152
+ * <div aria-live="polite" aria-atomic="true">
153
+ * {isLoading && (
154
+ * <div className="flex items-center gap-2">
155
+ * <Spinner className="size-4" />
156
+ * <span>Loading content, please wait...</span>
157
+ * </div>
158
+ * )}
159
+ * </div>
160
+ * ```
161
+ *
162
+ * @accessibility
163
+ * - Includes role="status" by default to announce loading state to screen readers
164
+ * - Default aria-label="Loading" provides context for assistive technologies
165
+ * - Can be customized with custom aria-label for specific loading contexts
166
+ * - Spinner animation respects user's prefers-reduced-motion preferences via Tailwind
167
+ * - For purely decorative spinners in buttons with text labels, consider aria-hidden="true"
168
+ * - When used in loading overlays, ensure parent container has proper aria-live region
169
+ * - Icon inherits color from parent text color (currentColor) for consistent theming
170
+ * - Meets WCAG 2.1 AA standards when used with sufficient color contrast
171
+ * - Consider adding visually hidden text for additional context: <span className="sr-only">Loading...</span>
172
+ *
173
+ * @size
174
+ * The spinner size can be controlled through:
175
+ * - Tailwind size utilities: size-3 (12px), size-4 (16px), size-5 (20px), size-6 (24px), size-8 (32px), size-12 (48px)
176
+ * - Lucide size prop: <Spinner size={24} /> for pixel-based sizing
177
+ * - Custom width/height classes: w-10 h-10 for specific dimensions
178
+ * - Default size is 16px (size-4) when no size is specified
179
+ *
180
+ * @color
181
+ * The spinner color inherits from the parent text color by default:
182
+ * - text-primary for brand colors
183
+ * - text-destructive for error states
184
+ * - text-muted-foreground for subtle loading indicators
185
+ * - text-primary-foreground for use on colored backgrounds
186
+ * - Custom colors via arbitrary values: text-[#FF0000]
187
+ *
188
+ * @animation
189
+ * - Uses Tailwind's animate-spin utility (360° rotation, 1s linear infinite)
190
+ * - Respects prefers-reduced-motion media query automatically
191
+ * - Can be customized with arbitrary animation values for different speeds
192
+ * - Smooth 60fps rotation on modern browsers
193
+ *
194
+ * @see {@link https://lucide.dev/guide/packages/lucide-react} Lucide React documentation
195
+ * @see {@link https://lucide.dev/icons/loader} Loader2 icon details
196
+ * @see {@link https://lucide.dev/guide/advanced/accessibility} Lucide accessibility guide
197
+ * @see {@link Button} Button component for loading button patterns
198
+ * @since 1.0.0
199
+ */
200
+ function Spinner({ className, ...props }: React.ComponentProps<"svg">) {
201
+ return (
202
+ <Loader2Icon
203
+ role="status"
204
+ aria-label="Loading"
205
+ className={cn("size-4 animate-spin", className)}
206
+ {...props}
207
+ />
208
+ );
209
+ }
210
+
211
+ export { Spinner, type SpinnerDocsProps };
@@ -19,7 +19,6 @@ const meta = {
19
19
  },
20
20
  },
21
21
  },
22
- tags: ["autodocs"],
23
22
  argTypes: {
24
23
  type: {
25
24
  control: { type: "radio" },
@@ -32,7 +32,6 @@ const meta = {
32
32
  },
33
33
  },
34
34
  },
35
- tags: ["autodocs"],
36
35
  } satisfies Meta<typeof AlertDialog>;
37
36
 
38
37
  export default meta;
@@ -15,7 +15,6 @@ const meta = {
15
15
  },
16
16
  },
17
17
  },
18
- tags: ["autodocs"],
19
18
  argTypes: {
20
19
  variant: {
21
20
  control: { type: "select" },
@@ -13,7 +13,6 @@ const meta = {
13
13
  },
14
14
  },
15
15
  },
16
- tags: ["autodocs"],
17
16
  argTypes: {
18
17
  ratio: {
19
18
  control: { type: "number", min: 0.1, max: 5, step: 0.1 },
@@ -14,7 +14,6 @@ const meta = {
14
14
  },
15
15
  },
16
16
  },
17
- tags: ["autodocs"],
18
17
  argTypes: {
19
18
  className: {
20
19
  control: { type: "text" },
@@ -14,7 +14,6 @@ const meta = {
14
14
  },
15
15
  },
16
16
  },
17
- tags: ["autodocs"],
18
17
  argTypes: {
19
18
  variant: {
20
19
  control: { type: "select" },
@@ -28,7 +28,6 @@ const meta = {
28
28
  },
29
29
  },
30
30
  },
31
- tags: ["autodocs"],
32
31
  argTypes: {
33
32
  // No direct props on Breadcrumb component, but we can show composition options
34
33
  children: {