@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,630 @@
1
+ import { type VariantProps } from "class-variance-authority";
2
+ /**
3
+ * Empty - Flexible container for displaying empty states with consistent layout
4
+ *
5
+ * A foundational empty state component that provides a centered, vertically-aligned
6
+ * container optimized for displaying empty or no-data states. Uses a composable
7
+ * architecture similar to Alert and Card components, allowing fine-grained control
8
+ * over layout and content through sub-components.
9
+ *
10
+ * ## Key Features
11
+ * - Composable sub-components for flexible layouts (header, media, title, description, content)
12
+ * - Responsive padding that adapts from mobile to desktop (p-6 to md:p-12)
13
+ * - Built-in flex layout with automatic centering and gap spacing
14
+ * - Border-dashed styling hint for visual differentiation
15
+ * - Maximum content width constraints for optimal readability
16
+ * - Text balance for improved typography on multi-line content
17
+ * - Fully accessible with semantic HTML structure
18
+ *
19
+ * ## When to Use
20
+ * - Search results with no matches
21
+ * - Empty data tables, lists, or dashboards
22
+ * - Onboarding states for new users
23
+ * - File uploads or content creation areas
24
+ * - Inbox or notification centers with no items
25
+ * - Error recovery or loading failure scenarios
26
+ *
27
+ * ## Component Architecture
28
+ * - **Empty**: Root container with flex layout, padding, and centering
29
+ * - **EmptyHeader**: Groups media and title with constrained width (max-w-sm)
30
+ * - **EmptyMedia**: Icon or illustration display with two variants
31
+ * - **EmptyTitle**: Prominent heading text with medium font weight
32
+ * - **EmptyDescription**: Muted description text with link styling
33
+ * - **EmptyContent**: Additional content area for buttons or secondary info
34
+ *
35
+ * @example
36
+ * ```tsx
37
+ * // Basic empty state with icon, title, and description
38
+ * import { Inbox } from 'lucide-react';
39
+ *
40
+ * <Empty>
41
+ * <EmptyHeader>
42
+ * <EmptyMedia variant="icon">
43
+ * <Inbox />
44
+ * </EmptyMedia>
45
+ * <EmptyTitle>No messages yet</EmptyTitle>
46
+ * </EmptyHeader>
47
+ * <EmptyDescription>
48
+ * New messages will appear here when you receive them.
49
+ * </EmptyDescription>
50
+ * </Empty>
51
+ * ```
52
+ *
53
+ * @example
54
+ * ```tsx
55
+ * // Search results empty state with action button
56
+ * import { Search } from 'lucide-react';
57
+ * import { Button } from './button';
58
+ *
59
+ * <Empty>
60
+ * <EmptyHeader>
61
+ * <EmptyMedia variant="icon">
62
+ * <Search />
63
+ * </EmptyMedia>
64
+ * <EmptyTitle>No results found</EmptyTitle>
65
+ * </EmptyHeader>
66
+ * <EmptyDescription>
67
+ * Try adjusting your search or filters to find what you're looking for.
68
+ * </EmptyDescription>
69
+ * <EmptyContent>
70
+ * <Button variant="outline" onClick={clearFilters}>
71
+ * Clear filters
72
+ * </Button>
73
+ * </EmptyContent>
74
+ * </Empty>
75
+ * ```
76
+ *
77
+ * @example
78
+ * ```tsx
79
+ * // File upload empty state with custom illustration
80
+ * import { Upload } from 'lucide-react';
81
+ * import { Button } from './button';
82
+ *
83
+ * <Empty className="min-h-[400px] border-2 border-dashed">
84
+ * <EmptyHeader>
85
+ * <EmptyMedia>
86
+ * <Upload className="w-16 h-16 text-muted-foreground" />
87
+ * </EmptyMedia>
88
+ * <EmptyTitle>Drop files here</EmptyTitle>
89
+ * </EmptyHeader>
90
+ * <EmptyDescription>
91
+ * Drag and drop files to upload, or click the button below.
92
+ * </EmptyDescription>
93
+ * <EmptyContent>
94
+ * <Button onClick={openFilePicker}>
95
+ * Choose files
96
+ * </Button>
97
+ * </EmptyContent>
98
+ * </Empty>
99
+ * ```
100
+ *
101
+ * @example
102
+ * ```tsx
103
+ * // Complex empty state with multiple actions
104
+ * import { Users, UserPlus, Upload } from 'lucide-react';
105
+ * import { Button } from './button';
106
+ *
107
+ * <Empty>
108
+ * <EmptyHeader>
109
+ * <EmptyMedia variant="icon">
110
+ * <Users />
111
+ * </EmptyMedia>
112
+ * <EmptyTitle>No team members</EmptyTitle>
113
+ * </EmptyHeader>
114
+ * <EmptyDescription>
115
+ * Get started by <a href="/invite">inviting your first team member</a> or
116
+ * importing from a CSV file.
117
+ * </EmptyDescription>
118
+ * <EmptyContent>
119
+ * <div className="flex gap-2">
120
+ * <Button onClick={openInviteModal}>
121
+ * <UserPlus className="w-4 h-4 mr-2" />
122
+ * Invite member
123
+ * </Button>
124
+ * <Button variant="outline" onClick={importFromCsv}>
125
+ * <Upload className="w-4 h-4 mr-2" />
126
+ * Import CSV
127
+ * </Button>
128
+ * </div>
129
+ * </EmptyContent>
130
+ * </Empty>
131
+ * ```
132
+ *
133
+ * @example
134
+ * ```tsx
135
+ * // Minimal empty state without header grouping
136
+ * import { Sparkles } from 'lucide-react';
137
+ *
138
+ * <Empty>
139
+ * <EmptyMedia>
140
+ * <Sparkles className="w-12 h-12 text-primary" />
141
+ * </EmptyMedia>
142
+ * <EmptyTitle>All caught up!</EmptyTitle>
143
+ * <EmptyDescription>
144
+ * You've reviewed all pending items.
145
+ * </EmptyDescription>
146
+ * </Empty>
147
+ * ```
148
+ *
149
+ * @example
150
+ * ```tsx
151
+ * // Error state with custom styling
152
+ * import { AlertCircle } from 'lucide-react';
153
+ * import { Button } from './button';
154
+ *
155
+ * <Empty className="border-destructive/50 bg-destructive/5">
156
+ * <EmptyHeader>
157
+ * <EmptyMedia>
158
+ * <AlertCircle className="w-12 h-12 text-destructive" />
159
+ * </EmptyMedia>
160
+ * <EmptyTitle>Failed to load data</EmptyTitle>
161
+ * </EmptyHeader>
162
+ * <EmptyDescription className="text-destructive/90">
163
+ * There was an error loading your content. Please try again.
164
+ * </EmptyDescription>
165
+ * <EmptyContent>
166
+ * <Button variant="destructive" onClick={retry}>
167
+ * Retry
168
+ * </Button>
169
+ * </EmptyContent>
170
+ * </Empty>
171
+ * ```
172
+ *
173
+ * @accessibility
174
+ * - Semantic HTML structure with proper div hierarchy
175
+ * - Center-aligned content aids screen reader comprehension
176
+ * - Text balance improves readability for dyslexic users
177
+ * - Sufficient color contrast for text elements (muted-foreground meets WCAG AA)
178
+ * - Responsive padding ensures adequate touch targets on mobile
179
+ * - Interactive elements (buttons, links) remain keyboard accessible
180
+ * - Icons are decorative and don't interfere with screen reader navigation
181
+ * - Supports reduced motion preferences through CSS transitions
182
+ *
183
+ * @see {@link EmptyHeader} - Groups media and title with constrained width
184
+ * @see {@link EmptyMedia} - Icon or illustration display with variants
185
+ * @see {@link EmptyTitle} - Prominent heading for the empty state
186
+ * @see {@link EmptyDescription} - Descriptive text with link support
187
+ * @see {@link EmptyContent} - Additional content area for actions
188
+ * @see {@link https://ui.shadcn.com/docs/components/empty-state} - shadcn/ui empty state patterns
189
+ * @since 1.0.0
190
+ */
191
+ declare function Empty({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
192
+ /**
193
+ * EmptyHeader - Groups media and title elements with constrained width
194
+ *
195
+ * A container component that groups the EmptyMedia and EmptyTitle elements together,
196
+ * applying a maximum width constraint (max-w-sm / 24rem) for optimal visual hierarchy
197
+ * and readability. Typically used to create a cohesive header unit within the empty state.
198
+ *
199
+ * ## Features
200
+ * - Maximum width of 24rem (384px) for visual balance
201
+ * - Flex column layout with 0.5rem (8px) gap between children
202
+ * - Center-aligned items and text
203
+ * - Maintains semantic grouping for screen readers
204
+ *
205
+ * ## Usage Patterns
206
+ * - Group EmptyMedia and EmptyTitle together
207
+ * - Create visual separation from description and content
208
+ * - Constrain width of title for better readability
209
+ * - Optional - components can be used without header grouping
210
+ *
211
+ * @example
212
+ * ```tsx
213
+ * // Standard header with icon and title
214
+ * import { Package } from 'lucide-react';
215
+ *
216
+ * <EmptyHeader>
217
+ * <EmptyMedia variant="icon">
218
+ * <Package />
219
+ * </EmptyMedia>
220
+ * <EmptyTitle>No packages found</EmptyTitle>
221
+ * </EmptyHeader>
222
+ * ```
223
+ *
224
+ * @example
225
+ * ```tsx
226
+ * // Header with large illustration
227
+ * import { Rocket } from 'lucide-react';
228
+ *
229
+ * <EmptyHeader>
230
+ * <EmptyMedia>
231
+ * <Rocket className="w-20 h-20 text-primary" />
232
+ * </EmptyMedia>
233
+ * <EmptyTitle>Ready to launch!</EmptyTitle>
234
+ * </EmptyHeader>
235
+ * ```
236
+ *
237
+ * @example
238
+ * ```tsx
239
+ * // Custom styled header
240
+ * <EmptyHeader className="max-w-md gap-4">
241
+ * <EmptyMedia variant="icon">
242
+ * <Star />
243
+ * </EmptyMedia>
244
+ * <EmptyTitle>Custom spacing and width</EmptyTitle>
245
+ * </EmptyHeader>
246
+ * ```
247
+ *
248
+ * @accessibility
249
+ * - Semantic grouping improves screen reader context
250
+ * - Maintains proper reading order (media → title)
251
+ * - Width constraint enhances readability for all users
252
+ * - Center alignment provides clear visual focus
253
+ *
254
+ * @see {@link EmptyMedia} - Icon or illustration component typically used within header
255
+ * @see {@link EmptyTitle} - Title component typically used within header
256
+ * @see {@link Empty} - Parent container component
257
+ */
258
+ declare function EmptyHeader({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
259
+ /**
260
+ * EmptyMedia variant styles configuration
261
+ *
262
+ * @variant default - Transparent background for custom illustrations or large icons
263
+ * @variant icon - Muted background with rounded corners and constrained sizing for standard icons (40px container, 24px icon)
264
+ */
265
+ declare const emptyMediaVariants: (props?: ({
266
+ variant?: "default" | "icon" | null | undefined;
267
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
268
+ /**
269
+ * EmptyMedia - Icon or illustration display component with styling variants
270
+ *
271
+ * Displays icons, illustrations, or other visual elements in an empty state. Offers
272
+ * two variants: a transparent default for custom-sized graphics and an "icon" variant
273
+ * with consistent sizing and background styling. Automatically handles SVG pointer
274
+ * events and shrinking behavior.
275
+ *
276
+ * ## Variants
277
+ *
278
+ * ### default
279
+ * - Transparent background (bg-transparent)
280
+ * - No size constraints - use for custom-sized illustrations
281
+ * - Full control over icon/illustration dimensions
282
+ * - Best for large decorative graphics (48px+)
283
+ *
284
+ * ### icon
285
+ * - Muted background (bg-muted) with rounded corners (rounded-lg)
286
+ * - Fixed 40px × 40px container (size-10)
287
+ * - Automatically sizes child SVGs to 24px (size-6) unless explicitly sized
288
+ * - Text color set to foreground for proper contrast
289
+ * - Best for standard icon sizes (16-24px)
290
+ * - Provides visual emphasis through background contrast
291
+ *
292
+ * ## Features
293
+ * - SVG pointer events disabled to prevent interaction issues
294
+ * - Shrink prevention for consistent sizing
295
+ * - Bottom margin (mb-2 / 8px) for spacing from subsequent elements
296
+ * - Flex layout with centered content
297
+ * - Compatible with all icon libraries (lucide-react, heroicons, etc.)
298
+ *
299
+ * @example
300
+ * ```tsx
301
+ * // Standard icon variant with auto-sizing
302
+ * import { Inbox } from 'lucide-react';
303
+ *
304
+ * <EmptyMedia variant="icon">
305
+ * <Inbox />
306
+ * </EmptyMedia>
307
+ * ```
308
+ *
309
+ * @example
310
+ * ```tsx
311
+ * // Default variant with custom-sized illustration
312
+ * import { Package } from 'lucide-react';
313
+ *
314
+ * <EmptyMedia>
315
+ * <Package className="w-16 h-16 text-primary" />
316
+ * </EmptyMedia>
317
+ * ```
318
+ *
319
+ * @example
320
+ * ```tsx
321
+ * // Icon variant with explicitly sized SVG (overrides auto-sizing)
322
+ * import { Search } from 'lucide-react';
323
+ *
324
+ * <EmptyMedia variant="icon">
325
+ * <Search className="size-5" />
326
+ * </EmptyMedia>
327
+ * ```
328
+ *
329
+ * @example
330
+ * ```tsx
331
+ * // Custom styled media container
332
+ * import { Sparkles } from 'lucide-react';
333
+ *
334
+ * <EmptyMedia className="bg-primary/10 rounded-full p-4">
335
+ * <Sparkles className="w-8 h-8 text-primary" />
336
+ * </EmptyMedia>
337
+ * ```
338
+ *
339
+ * @example
340
+ * ```tsx
341
+ * // Multiple icons or complex graphics
342
+ * import { Users, Plus } from 'lucide-react';
343
+ *
344
+ * <EmptyMedia>
345
+ * <div className="relative">
346
+ * <Users className="w-12 h-12 text-muted-foreground" />
347
+ * <Plus className="w-6 h-6 text-primary absolute -bottom-1 -right-1" />
348
+ * </div>
349
+ * </EmptyMedia>
350
+ * ```
351
+ *
352
+ * @accessibility
353
+ * - Icons are decorative and don't require alt text
354
+ * - SVG pointer events disabled prevents accidental interactions
355
+ * - Sufficient size for visibility and recognition
356
+ * - Color contrast maintained through foreground/muted colors
357
+ * - Responsive to theme changes (light/dark mode)
358
+ *
359
+ * @see {@link EmptyHeader} - Often used within header for visual grouping
360
+ * @see {@link Empty} - Parent container component
361
+ */
362
+ declare function EmptyMedia({ className, variant, ...props }: React.ComponentProps<"div"> & VariantProps<typeof emptyMediaVariants>): import("react/jsx-runtime").JSX.Element;
363
+ /**
364
+ * EmptyTitle - Prominent heading text for empty state messages
365
+ *
366
+ * Displays the primary heading or title for an empty state, styled with medium font
367
+ * weight and tight character spacing for visual hierarchy. Typically describes what
368
+ * is missing or the current state in a concise, user-friendly way.
369
+ *
370
+ * ## Features
371
+ * - Large text size (text-lg / 1.125rem / 18px)
372
+ * - Medium font weight (font-medium / 500) for emphasis
373
+ * - Tight character spacing (tracking-tight / -0.025em) for readability
374
+ * - Foreground color for maximum contrast
375
+ * - Center-aligned within empty state layout
376
+ *
377
+ * ## Best Practices
378
+ * - Keep titles short and descriptive (2-6 words)
379
+ * - Focus on the current state rather than what's wrong
380
+ * - Use positive language when possible
381
+ * - Be specific rather than generic ("No projects" vs "Empty")
382
+ * - Avoid technical jargon or error codes
383
+ *
384
+ * @example
385
+ * ```tsx
386
+ * // Simple descriptive title
387
+ * <EmptyTitle>No results found</EmptyTitle>
388
+ * ```
389
+ *
390
+ * @example
391
+ * ```tsx
392
+ * // Positive framing for empty inbox
393
+ * <EmptyTitle>You're all caught up!</EmptyTitle>
394
+ * ```
395
+ *
396
+ * @example
397
+ * ```tsx
398
+ * // Specific empty list title
399
+ * <EmptyTitle>No team members yet</EmptyTitle>
400
+ * ```
401
+ *
402
+ * @example
403
+ * ```tsx
404
+ * // Custom styled title
405
+ * <EmptyTitle className="text-xl font-semibold text-primary">
406
+ * Welcome to your dashboard
407
+ * </EmptyTitle>
408
+ * ```
409
+ *
410
+ * @accessibility
411
+ * - Provides clear, descriptive content for screen readers
412
+ * - Font size and weight ensure readability
413
+ * - High contrast color (foreground) meets WCAG AA standards
414
+ * - Center alignment aids comprehension
415
+ * - Can be enhanced with heading tags via className if needed for semantic structure
416
+ *
417
+ * @see {@link EmptyHeader} - Often grouped within header with EmptyMedia
418
+ * @see {@link EmptyDescription} - Complementary description text component
419
+ * @see {@link Empty} - Parent container component
420
+ */
421
+ declare function EmptyTitle({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
422
+ /**
423
+ * EmptyDescription - Descriptive text with link styling for empty states
424
+ *
425
+ * Provides supplementary information, guidance, or context below the empty state title.
426
+ * Automatically styles inline links with underlines and hover effects, making it easy
427
+ * to include helpful links or documentation references within the description text.
428
+ *
429
+ * ## Features
430
+ * - Muted foreground color for visual hierarchy below title
431
+ * - Small text size (text-sm) with relaxed line height for readability
432
+ * - Automatic link styling with underlines and offset
433
+ * - Hover state for links changes color to primary
434
+ * - Supports rich content including paragraphs and inline elements
435
+ * - Center-aligned text within empty state layout
436
+ *
437
+ * ## Link Styling
438
+ * - Default: underline with 4px offset, muted-foreground color
439
+ * - Hover: primary color while maintaining underline
440
+ * - Provides clear visual affordance for interactive elements
441
+ *
442
+ * ## Best Practices
443
+ * - Provide helpful context or next steps
444
+ * - Keep descriptions concise (1-2 sentences)
445
+ * - Include actionable guidance when possible
446
+ * - Use links to documentation, help, or related features
447
+ * - Avoid overwhelming users with too much information
448
+ *
449
+ * @example
450
+ * ```tsx
451
+ * // Simple description text
452
+ * <EmptyDescription>
453
+ * Try adjusting your search or filters to find what you're looking for.
454
+ * </EmptyDescription>
455
+ * ```
456
+ *
457
+ * @example
458
+ * ```tsx
459
+ * // Description with inline link
460
+ * <EmptyDescription>
461
+ * Get started by <a href="/docs/setup">reading our setup guide</a> or
462
+ * watching the tutorial video.
463
+ * </EmptyDescription>
464
+ * ```
465
+ *
466
+ * @example
467
+ * ```tsx
468
+ * // Multi-line description
469
+ * <EmptyDescription>
470
+ * Your inbox is empty. New messages and notifications will appear here
471
+ * when you receive them.
472
+ * </EmptyDescription>
473
+ * ```
474
+ *
475
+ * @example
476
+ * ```tsx
477
+ * // Description with multiple links
478
+ * <EmptyDescription>
479
+ * Need help? Check out our <a href="/docs">documentation</a> or
480
+ * <a href="/support">contact support</a>.
481
+ * </EmptyDescription>
482
+ * ```
483
+ *
484
+ * @example
485
+ * ```tsx
486
+ * // Custom styled description
487
+ * <EmptyDescription className="text-base text-foreground max-w-md">
488
+ * Override default styling for custom appearance and width.
489
+ * </EmptyDescription>
490
+ * ```
491
+ *
492
+ * @accessibility
493
+ * - Links are keyboard accessible (Tab navigation)
494
+ * - Underlines provide visual affordance independent of color
495
+ * - Hover state provides additional interactive feedback
496
+ * - Muted color still meets WCAG AA contrast requirements
497
+ * - Relaxed line height (text-sm/relaxed) improves readability
498
+ * - Screen readers properly announce links and their purpose
499
+ *
500
+ * @see {@link EmptyTitle} - Title component that precedes description
501
+ * @see {@link EmptyContent} - Additional content area for buttons and actions
502
+ * @see {@link Empty} - Parent container component
503
+ */
504
+ declare function EmptyDescription({ className, ...props }: React.ComponentProps<"p">): import("react/jsx-runtime").JSX.Element;
505
+ /**
506
+ * EmptyContent - Additional content area for buttons, actions, or secondary information
507
+ *
508
+ * A flexible container for additional content within an empty state, typically used for
509
+ * action buttons, links, or secondary information. Provides consistent width constraints,
510
+ * gap spacing, and alignment for optimal layout of calls-to-action and supplementary content.
511
+ *
512
+ * ## Features
513
+ * - Maximum width of 24rem (384px) for visual balance
514
+ * - Minimum width of 0 to prevent overflow issues
515
+ * - Flex column layout with 1rem (16px) gap between children
516
+ * - Center-aligned items for button grouping
517
+ * - Small text size (text-sm) for secondary content
518
+ * - Text balance for improved multi-line typography
519
+ * - Full width within constraints (w-full)
520
+ *
521
+ * ## Common Use Cases
522
+ * - Primary and secondary action buttons
523
+ * - Button groups with multiple actions
524
+ * - Secondary links or navigation
525
+ * - Additional context or instructions
526
+ * - Step indicators or progress information
527
+ *
528
+ * ## Layout Patterns
529
+ * - Single button: automatically centered
530
+ * - Multiple buttons: stack vertically with gap spacing
531
+ * - Button groups: use flex-row with gap within content
532
+ * - Text content: maintains readability with text-balance
533
+ *
534
+ * @example
535
+ * ```tsx
536
+ * // Single action button
537
+ * import { Button } from './button';
538
+ *
539
+ * <EmptyContent>
540
+ * <Button onClick={handleCreate}>Create new project</Button>
541
+ * </EmptyContent>
542
+ * ```
543
+ *
544
+ * @example
545
+ * ```tsx
546
+ * // Multiple vertically stacked buttons
547
+ * import { Button } from './button';
548
+ *
549
+ * <EmptyContent>
550
+ * <Button onClick={handleCreate}>Create project</Button>
551
+ * <Button variant="outline" onClick={handleImport}>Import project</Button>
552
+ * </EmptyContent>
553
+ * ```
554
+ *
555
+ * @example
556
+ * ```tsx
557
+ * // Horizontal button group
558
+ * import { Button } from './button';
559
+ * import { Plus, Upload } from 'lucide-react';
560
+ *
561
+ * <EmptyContent>
562
+ * <div className="flex gap-2">
563
+ * <Button onClick={handleCreate}>
564
+ * <Plus className="w-4 h-4 mr-2" />
565
+ * Create
566
+ * </Button>
567
+ * <Button variant="outline" onClick={handleUpload}>
568
+ * <Upload className="w-4 h-4 mr-2" />
569
+ * Upload
570
+ * </Button>
571
+ * </div>
572
+ * </EmptyContent>
573
+ * ```
574
+ *
575
+ * @example
576
+ * ```tsx
577
+ * // Button with additional text
578
+ * import { Button } from './button';
579
+ *
580
+ * <EmptyContent>
581
+ * <Button onClick={handleInvite}>Invite team members</Button>
582
+ * <p className="text-xs text-muted-foreground">
583
+ * or <a href="/import" className="underline">import from CSV</a>
584
+ * </p>
585
+ * </EmptyContent>
586
+ * ```
587
+ *
588
+ * @example
589
+ * ```tsx
590
+ * // Secondary links only
591
+ * <EmptyContent>
592
+ * <a href="/docs" className="text-sm underline underline-offset-4">
593
+ * View documentation
594
+ * </a>
595
+ * <a href="/examples" className="text-sm underline underline-offset-4">
596
+ * Browse examples
597
+ * </a>
598
+ * </EmptyContent>
599
+ * ```
600
+ *
601
+ * @example
602
+ * ```tsx
603
+ * // Custom styled content area
604
+ * import { Button } from './button';
605
+ *
606
+ * <EmptyContent className="max-w-md gap-2">
607
+ * <Button className="w-full" onClick={handleAction}>
608
+ * Full width button
609
+ * </Button>
610
+ * <p className="text-center">
611
+ * Tighter gap and wider max width
612
+ * </p>
613
+ * </EmptyContent>
614
+ * ```
615
+ *
616
+ * @accessibility
617
+ * - Maintains focus order for keyboard navigation
618
+ * - Buttons and links remain fully keyboard accessible
619
+ * - Adequate spacing between interactive elements for touch targets
620
+ * - Text content maintains readability with text-balance
621
+ * - Center alignment provides clear visual hierarchy
622
+ * - Supports reduced motion preferences through CSS
623
+ *
624
+ * @see {@link EmptyDescription} - Description component that typically precedes content
625
+ * @see {@link Empty} - Parent container component
626
+ * @see {@link Button} - Common component used within EmptyContent for actions
627
+ */
628
+ declare function EmptyContent({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
629
+ export { Empty, EmptyHeader, EmptyTitle, EmptyDescription, EmptyContent, EmptyMedia, };
630
+ //# sourceMappingURL=empty.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"empty.d.ts","sourceRoot":"","sources":["../../../src/components/ui/empty.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAyEjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4LG;AACH,iBAAS,KAAK,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAWlE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiEG;AACH,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAWxE;AAED;;;;;GAKG;AACH,QAAA,MAAM,kBAAkB;;8EAevB,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6FG;AACH,iBAAS,UAAU,CAAC,EAClB,SAAS,EACT,OAAmB,EACnB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC,OAAO,kBAAkB,CAAC,2CASvE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AACH,iBAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQvE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiFG;AACH,iBAAS,gBAAgB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,2CAW3E;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0HG;AACH,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAWzE;AAED,OAAO,EACL,KAAK,EACL,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,UAAU,GACX,CAAA"}