@neynar/ui 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (364) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +195 -0
  3. package/dist/components/ui/accordion.d.ts +229 -0
  4. package/dist/components/ui/accordion.d.ts.map +1 -0
  5. package/dist/components/ui/alert-dialog.d.ts +247 -0
  6. package/dist/components/ui/alert-dialog.d.ts.map +1 -0
  7. package/dist/components/ui/alert.d.ts +187 -0
  8. package/dist/components/ui/alert.d.ts.map +1 -0
  9. package/dist/components/ui/aspect-ratio.d.ts +94 -0
  10. package/dist/components/ui/aspect-ratio.d.ts.map +1 -0
  11. package/dist/components/ui/avatar.d.ts +244 -0
  12. package/dist/components/ui/avatar.d.ts.map +1 -0
  13. package/dist/components/ui/badge.d.ts +163 -0
  14. package/dist/components/ui/badge.d.ts.map +1 -0
  15. package/dist/components/ui/breadcrumb.d.ts +281 -0
  16. package/dist/components/ui/breadcrumb.d.ts.map +1 -0
  17. package/dist/components/ui/button.d.ts +129 -0
  18. package/dist/components/ui/button.d.ts.map +1 -0
  19. package/dist/components/ui/calendar.d.ts +169 -0
  20. package/dist/components/ui/calendar.d.ts.map +1 -0
  21. package/dist/components/ui/card.d.ts +365 -0
  22. package/dist/components/ui/card.d.ts.map +1 -0
  23. package/dist/components/ui/carousel.d.ts +369 -0
  24. package/dist/components/ui/carousel.d.ts.map +1 -0
  25. package/dist/components/ui/chart.d.ts +442 -0
  26. package/dist/components/ui/chart.d.ts.map +1 -0
  27. package/dist/components/ui/checkbox.d.ts +88 -0
  28. package/dist/components/ui/checkbox.d.ts.map +1 -0
  29. package/dist/components/ui/collapsible.d.ts +182 -0
  30. package/dist/components/ui/collapsible.d.ts.map +1 -0
  31. package/dist/components/ui/combobox.d.ts +270 -0
  32. package/dist/components/ui/combobox.d.ts.map +1 -0
  33. package/dist/components/ui/command.d.ts +355 -0
  34. package/dist/components/ui/command.d.ts.map +1 -0
  35. package/dist/components/ui/container.d.ts +102 -0
  36. package/dist/components/ui/container.d.ts.map +1 -0
  37. package/dist/components/ui/context-menu.d.ts +339 -0
  38. package/dist/components/ui/context-menu.d.ts.map +1 -0
  39. package/dist/components/ui/date-picker.d.ts +145 -0
  40. package/dist/components/ui/date-picker.d.ts.map +1 -0
  41. package/dist/components/ui/dialog.d.ts +322 -0
  42. package/dist/components/ui/dialog.d.ts.map +1 -0
  43. package/dist/components/ui/drawer.d.ts +154 -0
  44. package/dist/components/ui/drawer.d.ts.map +1 -0
  45. package/dist/components/ui/dropdown-menu.d.ts +349 -0
  46. package/dist/components/ui/dropdown-menu.d.ts.map +1 -0
  47. package/dist/components/ui/empty-state.d.ts +133 -0
  48. package/dist/components/ui/empty-state.d.ts.map +1 -0
  49. package/dist/components/ui/hover-card.d.ts +109 -0
  50. package/dist/components/ui/hover-card.d.ts.map +1 -0
  51. package/dist/components/ui/input.d.ts +89 -0
  52. package/dist/components/ui/input.d.ts.map +1 -0
  53. package/dist/components/ui/label.d.ts +93 -0
  54. package/dist/components/ui/label.d.ts.map +1 -0
  55. package/dist/components/ui/menubar.d.ts +306 -0
  56. package/dist/components/ui/menubar.d.ts.map +1 -0
  57. package/dist/components/ui/navigation-menu.d.ts +318 -0
  58. package/dist/components/ui/navigation-menu.d.ts.map +1 -0
  59. package/dist/components/ui/pagination.d.ts +343 -0
  60. package/dist/components/ui/pagination.d.ts.map +1 -0
  61. package/dist/components/ui/popover.d.ts +178 -0
  62. package/dist/components/ui/popover.d.ts.map +1 -0
  63. package/dist/components/ui/progress.d.ts +64 -0
  64. package/dist/components/ui/progress.d.ts.map +1 -0
  65. package/dist/components/ui/radio-group.d.ts +144 -0
  66. package/dist/components/ui/radio-group.d.ts.map +1 -0
  67. package/dist/components/ui/resizable.d.ts +164 -0
  68. package/dist/components/ui/resizable.d.ts.map +1 -0
  69. package/dist/components/ui/scroll-area.d.ts +82 -0
  70. package/dist/components/ui/scroll-area.d.ts.map +1 -0
  71. package/dist/components/ui/select.d.ts +316 -0
  72. package/dist/components/ui/select.d.ts.map +1 -0
  73. package/dist/components/ui/separator.d.ts +80 -0
  74. package/dist/components/ui/separator.d.ts.map +1 -0
  75. package/dist/components/ui/sheet.d.ts +346 -0
  76. package/dist/components/ui/sheet.d.ts.map +1 -0
  77. package/dist/components/ui/sidebar.d.ts +1561 -0
  78. package/dist/components/ui/sidebar.d.ts.map +1 -0
  79. package/dist/components/ui/skeleton.d.ts +66 -0
  80. package/dist/components/ui/skeleton.d.ts.map +1 -0
  81. package/dist/components/ui/slider.d.ts +95 -0
  82. package/dist/components/ui/slider.d.ts.map +1 -0
  83. package/dist/components/ui/sonner.d.ts +101 -0
  84. package/dist/components/ui/sonner.d.ts.map +1 -0
  85. package/dist/components/ui/stack.d.ts +192 -0
  86. package/dist/components/ui/stack.d.ts.map +1 -0
  87. package/dist/components/ui/stories/accordion.stories.d.ts +71 -0
  88. package/dist/components/ui/stories/accordion.stories.d.ts.map +1 -0
  89. package/dist/components/ui/stories/alert-dialog.stories.d.ts +39 -0
  90. package/dist/components/ui/stories/alert-dialog.stories.d.ts.map +1 -0
  91. package/dist/components/ui/stories/alert.stories.d.ts +48 -0
  92. package/dist/components/ui/stories/alert.stories.d.ts.map +1 -0
  93. package/dist/components/ui/stories/aspect-ratio.stories.d.ts +53 -0
  94. package/dist/components/ui/stories/aspect-ratio.stories.d.ts.map +1 -0
  95. package/dist/components/ui/stories/avatar.stories.d.ts +49 -0
  96. package/dist/components/ui/stories/avatar.stories.d.ts.map +1 -0
  97. package/dist/components/ui/stories/badge.stories.d.ts +64 -0
  98. package/dist/components/ui/stories/badge.stories.d.ts.map +1 -0
  99. package/dist/components/ui/stories/breadcrumb.stories.d.ts +27 -0
  100. package/dist/components/ui/stories/breadcrumb.stories.d.ts.map +1 -0
  101. package/dist/components/ui/stories/button.stories.d.ts +92 -0
  102. package/dist/components/ui/stories/button.stories.d.ts.map +1 -0
  103. package/dist/components/ui/stories/calendar.stories.d.ts +94 -0
  104. package/dist/components/ui/stories/calendar.stories.d.ts.map +1 -0
  105. package/dist/components/ui/stories/card.stories.d.ts +29 -0
  106. package/dist/components/ui/stories/card.stories.d.ts.map +1 -0
  107. package/dist/components/ui/stories/carousel.stories.d.ts +42 -0
  108. package/dist/components/ui/stories/carousel.stories.d.ts.map +1 -0
  109. package/dist/components/ui/stories/chart.stories.d.ts +51 -0
  110. package/dist/components/ui/stories/chart.stories.d.ts.map +1 -0
  111. package/dist/components/ui/stories/checkbox.stories.d.ts +72 -0
  112. package/dist/components/ui/stories/checkbox.stories.d.ts.map +1 -0
  113. package/dist/components/ui/stories/cn.stories.d.ts +19 -0
  114. package/dist/components/ui/stories/cn.stories.d.ts.map +1 -0
  115. package/dist/components/ui/stories/collapsible.stories.d.ts +51 -0
  116. package/dist/components/ui/stories/collapsible.stories.d.ts.map +1 -0
  117. package/dist/components/ui/stories/colors.stories.d.ts +31 -0
  118. package/dist/components/ui/stories/colors.stories.d.ts.map +1 -0
  119. package/dist/components/ui/stories/combobox.stories.d.ts +89 -0
  120. package/dist/components/ui/stories/combobox.stories.d.ts.map +1 -0
  121. package/dist/components/ui/stories/command.stories.d.ts +69 -0
  122. package/dist/components/ui/stories/command.stories.d.ts.map +1 -0
  123. package/dist/components/ui/stories/container.stories.d.ts +42 -0
  124. package/dist/components/ui/stories/container.stories.d.ts.map +1 -0
  125. package/dist/components/ui/stories/context-menu.stories.d.ts +32 -0
  126. package/dist/components/ui/stories/context-menu.stories.d.ts.map +1 -0
  127. package/dist/components/ui/stories/date-picker.stories.d.ts +67 -0
  128. package/dist/components/ui/stories/date-picker.stories.d.ts.map +1 -0
  129. package/dist/components/ui/stories/dialog.stories.d.ts +48 -0
  130. package/dist/components/ui/stories/dialog.stories.d.ts.map +1 -0
  131. package/dist/components/ui/stories/drawer.stories.d.ts +33 -0
  132. package/dist/components/ui/stories/drawer.stories.d.ts.map +1 -0
  133. package/dist/components/ui/stories/dropdown-menu.stories.d.ts +31 -0
  134. package/dist/components/ui/stories/dropdown-menu.stories.d.ts.map +1 -0
  135. package/dist/components/ui/stories/empty-state.stories.d.ts +74 -0
  136. package/dist/components/ui/stories/empty-state.stories.d.ts.map +1 -0
  137. package/dist/components/ui/stories/hover-card.stories.d.ts +35 -0
  138. package/dist/components/ui/stories/hover-card.stories.d.ts.map +1 -0
  139. package/dist/components/ui/stories/input.stories.d.ts +69 -0
  140. package/dist/components/ui/stories/input.stories.d.ts.map +1 -0
  141. package/dist/components/ui/stories/label.stories.d.ts +47 -0
  142. package/dist/components/ui/stories/label.stories.d.ts.map +1 -0
  143. package/dist/components/ui/stories/menubar.stories.d.ts +39 -0
  144. package/dist/components/ui/stories/menubar.stories.d.ts.map +1 -0
  145. package/dist/components/ui/stories/navigation-menu.stories.d.ts +44 -0
  146. package/dist/components/ui/stories/navigation-menu.stories.d.ts.map +1 -0
  147. package/dist/components/ui/stories/pagination.stories.d.ts +33 -0
  148. package/dist/components/ui/stories/pagination.stories.d.ts.map +1 -0
  149. package/dist/components/ui/stories/popover.stories.d.ts +36 -0
  150. package/dist/components/ui/stories/popover.stories.d.ts.map +1 -0
  151. package/dist/components/ui/stories/progress.stories.d.ts +38 -0
  152. package/dist/components/ui/stories/progress.stories.d.ts.map +1 -0
  153. package/dist/components/ui/stories/radio-group.stories.d.ts +76 -0
  154. package/dist/components/ui/stories/radio-group.stories.d.ts.map +1 -0
  155. package/dist/components/ui/stories/resizable.stories.d.ts +49 -0
  156. package/dist/components/ui/stories/resizable.stories.d.ts.map +1 -0
  157. package/dist/components/ui/stories/scroll-area.stories.d.ts +35 -0
  158. package/dist/components/ui/stories/scroll-area.stories.d.ts.map +1 -0
  159. package/dist/components/ui/stories/select.stories.d.ts +51 -0
  160. package/dist/components/ui/stories/select.stories.d.ts.map +1 -0
  161. package/dist/components/ui/stories/separator.stories.d.ts +58 -0
  162. package/dist/components/ui/stories/separator.stories.d.ts.map +1 -0
  163. package/dist/components/ui/stories/sheet.stories.d.ts +43 -0
  164. package/dist/components/ui/stories/sheet.stories.d.ts.map +1 -0
  165. package/dist/components/ui/stories/sidebar.stories.d.ts +60 -0
  166. package/dist/components/ui/stories/sidebar.stories.d.ts.map +1 -0
  167. package/dist/components/ui/stories/skeleton.stories.d.ts +42 -0
  168. package/dist/components/ui/stories/skeleton.stories.d.ts.map +1 -0
  169. package/dist/components/ui/stories/slider.stories.d.ts +99 -0
  170. package/dist/components/ui/stories/slider.stories.d.ts.map +1 -0
  171. package/dist/components/ui/stories/sonner.stories.d.ts +9 -0
  172. package/dist/components/ui/stories/sonner.stories.d.ts.map +1 -0
  173. package/dist/components/ui/stories/stack.stories.d.ts +39 -0
  174. package/dist/components/ui/stories/stack.stories.d.ts.map +1 -0
  175. package/dist/components/ui/stories/switch.stories.d.ts +71 -0
  176. package/dist/components/ui/stories/switch.stories.d.ts.map +1 -0
  177. package/dist/components/ui/stories/table.stories.d.ts +40 -0
  178. package/dist/components/ui/stories/table.stories.d.ts.map +1 -0
  179. package/dist/components/ui/stories/tabs.stories.d.ts +62 -0
  180. package/dist/components/ui/stories/tabs.stories.d.ts.map +1 -0
  181. package/dist/components/ui/stories/text-field.stories.d.ts +78 -0
  182. package/dist/components/ui/stories/text-field.stories.d.ts.map +1 -0
  183. package/dist/components/ui/stories/textarea.stories.d.ts +57 -0
  184. package/dist/components/ui/stories/textarea.stories.d.ts.map +1 -0
  185. package/dist/components/ui/stories/theme-toggle.stories.d.ts +71 -0
  186. package/dist/components/ui/stories/theme-toggle.stories.d.ts.map +1 -0
  187. package/dist/components/ui/stories/theme.stories.d.ts +51 -0
  188. package/dist/components/ui/stories/theme.stories.d.ts.map +1 -0
  189. package/dist/components/ui/stories/toggle-group.stories.d.ts +71 -0
  190. package/dist/components/ui/stories/toggle-group.stories.d.ts.map +1 -0
  191. package/dist/components/ui/stories/toggle.stories.d.ts +78 -0
  192. package/dist/components/ui/stories/toggle.stories.d.ts.map +1 -0
  193. package/dist/components/ui/stories/tooltip.stories.d.ts +37 -0
  194. package/dist/components/ui/stories/tooltip.stories.d.ts.map +1 -0
  195. package/dist/components/ui/stories/typography.stories.d.ts +137 -0
  196. package/dist/components/ui/stories/typography.stories.d.ts.map +1 -0
  197. package/dist/components/ui/stories/use-mobile.stories.d.ts +20 -0
  198. package/dist/components/ui/stories/use-mobile.stories.d.ts.map +1 -0
  199. package/dist/components/ui/stories/use-theme.stories.d.ts +23 -0
  200. package/dist/components/ui/stories/use-theme.stories.d.ts.map +1 -0
  201. package/dist/components/ui/switch.d.ts +84 -0
  202. package/dist/components/ui/switch.d.ts.map +1 -0
  203. package/dist/components/ui/table.d.ts +321 -0
  204. package/dist/components/ui/table.d.ts.map +1 -0
  205. package/dist/components/ui/tabs.d.ts +260 -0
  206. package/dist/components/ui/tabs.d.ts.map +1 -0
  207. package/dist/components/ui/text-field.d.ts +157 -0
  208. package/dist/components/ui/text-field.d.ts.map +1 -0
  209. package/dist/components/ui/textarea.d.ts +84 -0
  210. package/dist/components/ui/textarea.d.ts.map +1 -0
  211. package/dist/components/ui/theme-toggle.d.ts +105 -0
  212. package/dist/components/ui/theme-toggle.d.ts.map +1 -0
  213. package/dist/components/ui/theme.d.ts +110 -0
  214. package/dist/components/ui/theme.d.ts.map +1 -0
  215. package/dist/components/ui/toggle-group.d.ts +133 -0
  216. package/dist/components/ui/toggle-group.d.ts.map +1 -0
  217. package/dist/components/ui/toggle.d.ts +84 -0
  218. package/dist/components/ui/toggle.d.ts.map +1 -0
  219. package/dist/components/ui/tooltip.d.ts +202 -0
  220. package/dist/components/ui/tooltip.d.ts.map +1 -0
  221. package/dist/components/ui/typography.d.ts +287 -0
  222. package/dist/components/ui/typography.d.ts.map +1 -0
  223. package/dist/hooks/use-mobile.d.ts +74 -0
  224. package/dist/hooks/use-mobile.d.ts.map +1 -0
  225. package/dist/hooks/use-theme.d.ts +142 -0
  226. package/dist/hooks/use-theme.d.ts.map +1 -0
  227. package/dist/index.d.ts +57 -0
  228. package/dist/index.d.ts.map +1 -0
  229. package/dist/index.js +27498 -0
  230. package/dist/index.js.map +1 -0
  231. package/dist/lib/utils.d.ts +43 -0
  232. package/dist/lib/utils.d.ts.map +1 -0
  233. package/dist/tsconfig.tsbuildinfo +1 -0
  234. package/docs/llm/colors.md +273 -0
  235. package/docs/llm/components/buttons.md +68 -0
  236. package/docs/llm/components/cards.md +53 -0
  237. package/docs/llm/components/display.md +134 -0
  238. package/docs/llm/components/feedback.md +96 -0
  239. package/docs/llm/components/forms.md +90 -0
  240. package/docs/llm/components/layout.md +59 -0
  241. package/docs/llm/components/menus.md +70 -0
  242. package/docs/llm/components/navigation.md +80 -0
  243. package/docs/llm/components/overlays.md +83 -0
  244. package/docs/llm/components/tables.md +73 -0
  245. package/docs/llm/components/typography.md +199 -0
  246. package/docs/llm/components/utilities.md +114 -0
  247. package/docs/llm/guide.md +165 -0
  248. package/llms.txt +122 -0
  249. package/package.json +104 -0
  250. package/src/components/ui/accordion.tsx +285 -0
  251. package/src/components/ui/alert-dialog.tsx +387 -0
  252. package/src/components/ui/alert.tsx +243 -0
  253. package/src/components/ui/aspect-ratio.tsx +99 -0
  254. package/src/components/ui/avatar.tsx +288 -0
  255. package/src/components/ui/badge.tsx +205 -0
  256. package/src/components/ui/breadcrumb.tsx +378 -0
  257. package/src/components/ui/button.tsx +195 -0
  258. package/src/components/ui/calendar.tsx +371 -0
  259. package/src/components/ui/card.tsx +447 -0
  260. package/src/components/ui/carousel.tsx +624 -0
  261. package/src/components/ui/chart.tsx +802 -0
  262. package/src/components/ui/checkbox.tsx +113 -0
  263. package/src/components/ui/collapsible.tsx +207 -0
  264. package/src/components/ui/combobox.tsx +373 -0
  265. package/src/components/ui/command.tsx +518 -0
  266. package/src/components/ui/container.tsx +114 -0
  267. package/src/components/ui/context-menu.tsx +563 -0
  268. package/src/components/ui/date-picker.tsx +213 -0
  269. package/src/components/ui/dialog.tsx +447 -0
  270. package/src/components/ui/drawer.tsx +273 -0
  271. package/src/components/ui/dropdown-menu.tsx +578 -0
  272. package/src/components/ui/empty-state.tsx +145 -0
  273. package/src/components/ui/hover-card.tsx +144 -0
  274. package/src/components/ui/input.tsx +106 -0
  275. package/src/components/ui/label.tsx +110 -0
  276. package/src/components/ui/menubar.tsx +553 -0
  277. package/src/components/ui/navigation-menu.tsx +471 -0
  278. package/src/components/ui/pagination.tsx +456 -0
  279. package/src/components/ui/popover.tsx +216 -0
  280. package/src/components/ui/progress.tsx +88 -0
  281. package/src/components/ui/radio-group.tsx +183 -0
  282. package/src/components/ui/resizable.tsx +209 -0
  283. package/src/components/ui/scroll-area.tsx +132 -0
  284. package/src/components/ui/select.tsx +485 -0
  285. package/src/components/ui/separator.tsx +101 -0
  286. package/src/components/ui/sheet.tsx +495 -0
  287. package/src/components/ui/sidebar.tsx +2211 -0
  288. package/src/components/ui/skeleton.tsx +76 -0
  289. package/src/components/ui/slider.tsx +147 -0
  290. package/src/components/ui/sonner.tsx +120 -0
  291. package/src/components/ui/stack.tsx +180 -0
  292. package/src/components/ui/stories/accordion.stories.tsx +429 -0
  293. package/src/components/ui/stories/alert-dialog.stories.tsx +519 -0
  294. package/src/components/ui/stories/alert.stories.tsx +228 -0
  295. package/src/components/ui/stories/aspect-ratio.stories.tsx +200 -0
  296. package/src/components/ui/stories/avatar.stories.tsx +317 -0
  297. package/src/components/ui/stories/badge.stories.tsx +260 -0
  298. package/src/components/ui/stories/breadcrumb.stories.tsx +482 -0
  299. package/src/components/ui/stories/button.stories.tsx +266 -0
  300. package/src/components/ui/stories/calendar.stories.tsx +375 -0
  301. package/src/components/ui/stories/card.stories.tsx +308 -0
  302. package/src/components/ui/stories/carousel.stories.tsx +328 -0
  303. package/src/components/ui/stories/chart.stories.tsx +430 -0
  304. package/src/components/ui/stories/checkbox.stories.tsx +297 -0
  305. package/src/components/ui/stories/cn.stories.tsx +433 -0
  306. package/src/components/ui/stories/collapsible.stories.tsx +256 -0
  307. package/src/components/ui/stories/colors.stories.tsx +502 -0
  308. package/src/components/ui/stories/combobox.stories.tsx +301 -0
  309. package/src/components/ui/stories/command.stories.tsx +632 -0
  310. package/src/components/ui/stories/container.stories.tsx +250 -0
  311. package/src/components/ui/stories/context-menu.stories.tsx +446 -0
  312. package/src/components/ui/stories/date-picker.stories.tsx +378 -0
  313. package/src/components/ui/stories/dialog.stories.tsx +535 -0
  314. package/src/components/ui/stories/drawer.stories.tsx +364 -0
  315. package/src/components/ui/stories/dropdown-menu.stories.tsx +374 -0
  316. package/src/components/ui/stories/empty-state.stories.tsx +244 -0
  317. package/src/components/ui/stories/hover-card.stories.tsx +355 -0
  318. package/src/components/ui/stories/input.stories.tsx +289 -0
  319. package/src/components/ui/stories/label.stories.tsx +294 -0
  320. package/src/components/ui/stories/menubar.stories.tsx +764 -0
  321. package/src/components/ui/stories/navigation-menu.stories.tsx +539 -0
  322. package/src/components/ui/stories/pagination.stories.tsx +604 -0
  323. package/src/components/ui/stories/popover.stories.tsx +392 -0
  324. package/src/components/ui/stories/progress.stories.tsx +218 -0
  325. package/src/components/ui/stories/radio-group.stories.tsx +400 -0
  326. package/src/components/ui/stories/resizable.stories.tsx +417 -0
  327. package/src/components/ui/stories/scroll-area.stories.tsx +180 -0
  328. package/src/components/ui/stories/select.stories.tsx +389 -0
  329. package/src/components/ui/stories/separator.stories.tsx +192 -0
  330. package/src/components/ui/stories/sheet.stories.tsx +468 -0
  331. package/src/components/ui/stories/sidebar.stories.tsx +731 -0
  332. package/src/components/ui/stories/skeleton.stories.tsx +216 -0
  333. package/src/components/ui/stories/slider.stories.tsx +321 -0
  334. package/src/components/ui/stories/sonner.stories.tsx +373 -0
  335. package/src/components/ui/stories/stack.stories.tsx +222 -0
  336. package/src/components/ui/stories/switch.stories.tsx +202 -0
  337. package/src/components/ui/stories/table.stories.tsx +541 -0
  338. package/src/components/ui/stories/tabs.stories.tsx +544 -0
  339. package/src/components/ui/stories/text-field.stories.tsx +280 -0
  340. package/src/components/ui/stories/textarea.stories.tsx +245 -0
  341. package/src/components/ui/stories/theme-toggle.stories.tsx +275 -0
  342. package/src/components/ui/stories/theme.stories.tsx +412 -0
  343. package/src/components/ui/stories/toggle-group.stories.tsx +337 -0
  344. package/src/components/ui/stories/toggle.stories.tsx +325 -0
  345. package/src/components/ui/stories/tooltip.stories.tsx +444 -0
  346. package/src/components/ui/stories/typography.stories.tsx +1586 -0
  347. package/src/components/ui/stories/use-mobile.stories.tsx +420 -0
  348. package/src/components/ui/stories/use-theme.stories.tsx +531 -0
  349. package/src/components/ui/switch.tsx +106 -0
  350. package/src/components/ui/table.tsx +424 -0
  351. package/src/components/ui/tabs.tsx +316 -0
  352. package/src/components/ui/text-field.tsx +206 -0
  353. package/src/components/ui/textarea.tsx +98 -0
  354. package/src/components/ui/theme-toggle.tsx +185 -0
  355. package/src/components/ui/theme.tsx +148 -0
  356. package/src/components/ui/toggle-group.tsx +196 -0
  357. package/src/components/ui/toggle.tsx +115 -0
  358. package/src/components/ui/tooltip.tsx +253 -0
  359. package/src/components/ui/typography.tsx +468 -0
  360. package/src/hooks/use-mobile.ts +91 -0
  361. package/src/hooks/use-theme.ts +319 -0
  362. package/src/index.ts +77 -0
  363. package/src/lib/utils.ts +57 -0
  364. package/src/styles/globals.css +160 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme-toggle.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/stories/theme-toggle.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C;;;;;;;GAOG;AACH,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyC0B,CAAC;AAErC,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC;;;;;GAKG;AACH,eAAO,MAAM,WAAW,EAAE,KAezB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,EAAE,KAqFtB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,SAAS,EAAE,KA+FvB,CAAC"}
@@ -0,0 +1,51 @@
1
+ import type { StoryObj } from "@storybook/react-vite";
2
+ import { Theme } from "../theme";
3
+ /**
4
+ * Theme stories demonstrate FOUC prevention and theming system setup
5
+ *
6
+ * The Theme component prevents flash of unstyled content (FOUC) by applying
7
+ * the user's preferred theme before the page renders. It should be placed once
8
+ * at the root of your application for optimal theming experience.
9
+ *
10
+ * These stories showcase:
11
+ * - Basic Theme component setup
12
+ * - Integration with ThemeToggle for user controls
13
+ * - Multiple synchronized theme toggles
14
+ * - Framework-agnostic theming patterns
15
+ */
16
+ declare const meta: {
17
+ title: string;
18
+ component: typeof Theme;
19
+ parameters: {
20
+ layout: string;
21
+ docs: {
22
+ description: {
23
+ component: string;
24
+ };
25
+ };
26
+ };
27
+ tags: string[];
28
+ };
29
+ export default meta;
30
+ type Story = StoryObj<typeof meta>;
31
+ /**
32
+ * Basic usage showing the Theme component with a simple themed interface.
33
+ * The Theme component should be placed at the top of your application to prevent FOUC.
34
+ */
35
+ export declare const Basic: Story;
36
+ /**
37
+ * Demonstrates multiple synchronized theme toggles working together.
38
+ * All toggles stay perfectly in sync through the custom event system.
39
+ */
40
+ export declare const MultipleSynchronizedToggles: Story;
41
+ /**
42
+ * Framework integration examples showing how to use Theme with different React frameworks.
43
+ * This story demonstrates the setup patterns for Next.js, Vite, and other frameworks.
44
+ */
45
+ export declare const FrameworkIntegration: Story;
46
+ /**
47
+ * Technical implementation details showing how the Theme component works internally.
48
+ * This story provides insight into the script content and architecture.
49
+ */
50
+ export declare const TechnicalDetails: Story;
51
+ //# sourceMappingURL=theme.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/stories/theme.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAKjC;;;;;;;;;;;;GAYG;AACH,QAAA,MAAM,IAAI;;;;;;;;;;;;CAyBoB,CAAC;AAE/B,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,KAgCnB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,2BAA2B,EAAE,KA+DzC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,KAuIlC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,KA8G9B,CAAC"}
@@ -0,0 +1,71 @@
1
+ import type { StoryObj } from "@storybook/react-vite";
2
+ import { ToggleGroup } from "../toggle-group";
3
+ declare const meta: {
4
+ title: string;
5
+ component: typeof ToggleGroup;
6
+ parameters: {
7
+ layout: string;
8
+ docs: {
9
+ description: {
10
+ component: string;
11
+ };
12
+ };
13
+ };
14
+ tags: string[];
15
+ argTypes: {
16
+ type: {
17
+ control: {
18
+ type: "select";
19
+ };
20
+ options: string[];
21
+ description: string;
22
+ };
23
+ variant: {
24
+ control: {
25
+ type: "select";
26
+ };
27
+ options: string[];
28
+ description: string;
29
+ };
30
+ size: {
31
+ control: {
32
+ type: "select";
33
+ };
34
+ options: string[];
35
+ description: string;
36
+ };
37
+ disabled: {
38
+ control: {
39
+ type: "boolean";
40
+ };
41
+ description: string;
42
+ };
43
+ defaultValue: {
44
+ control: false;
45
+ description: string;
46
+ };
47
+ value: {
48
+ control: false;
49
+ description: string;
50
+ };
51
+ onValueChange: {
52
+ control: false;
53
+ description: string;
54
+ };
55
+ };
56
+ };
57
+ export default meta;
58
+ type Story = StoryObj<typeof meta>;
59
+ /**
60
+ * Interactive playground story for testing all ToggleGroup props and variants
61
+ */
62
+ export declare const Interactive: Story;
63
+ /**
64
+ * Showcase of all available variants and sizes in a systematic layout
65
+ */
66
+ export declare const Variants: Story;
67
+ /**
68
+ * Real-world usage example showing ToggleGroup in a practical UI context
69
+ */
70
+ export declare const InContext: Story;
71
+ //# sourceMappingURL=toggle-group.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toggle-group.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/stories/toggle-group.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAU5D,OAAO,EAAE,WAAW,EAAmB,MAAM,iBAAiB,CAAC;AAE/D,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoD0B,CAAC;AAErC,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,KA4BzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,KA2HtB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,EAAE,KAuGvB,CAAC"}
@@ -0,0 +1,78 @@
1
+ import type { StoryObj } from "@storybook/react-vite";
2
+ import { Toggle } from "../toggle";
3
+ declare const meta: {
4
+ title: string;
5
+ component: typeof Toggle;
6
+ parameters: {
7
+ layout: string;
8
+ docs: {
9
+ description: {
10
+ component: string;
11
+ };
12
+ };
13
+ };
14
+ tags: string[];
15
+ argTypes: {
16
+ variant: {
17
+ control: {
18
+ type: "select";
19
+ };
20
+ options: string[];
21
+ description: string;
22
+ };
23
+ size: {
24
+ control: {
25
+ type: "select";
26
+ };
27
+ options: string[];
28
+ description: string;
29
+ };
30
+ pressed: {
31
+ control: {
32
+ type: "boolean";
33
+ };
34
+ description: string;
35
+ };
36
+ defaultPressed: {
37
+ control: {
38
+ type: "boolean";
39
+ };
40
+ description: string;
41
+ };
42
+ disabled: {
43
+ control: {
44
+ type: "boolean";
45
+ };
46
+ description: string;
47
+ };
48
+ children: {
49
+ control: {
50
+ type: "text";
51
+ };
52
+ description: string;
53
+ };
54
+ };
55
+ args: {
56
+ onPressedChange: (pressed: boolean) => void;
57
+ children: import("react/jsx-runtime").JSX.Element;
58
+ "aria-label": string;
59
+ };
60
+ };
61
+ export default meta;
62
+ type Story = StoryObj<typeof meta>;
63
+ /**
64
+ * Interactive playground for testing all toggle props and variants.
65
+ * Use the controls panel to experiment with different combinations.
66
+ */
67
+ export declare const Interactive: Story;
68
+ /**
69
+ * Comprehensive showcase of all toggle variants, sizes, and states.
70
+ * Displays the complete design system for designers and developers.
71
+ */
72
+ export declare const Variants: Story;
73
+ /**
74
+ * Real-world usage examples showing toggles in practical UI contexts.
75
+ * Demonstrates common patterns for design and business stakeholders.
76
+ */
77
+ export declare const InContext: Story;
78
+ //# sourceMappingURL=toggle.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toggle.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/stories/toggle.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAInC,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mCA0CqB,OAAO;;;;CAIP,CAAC;AAEhC,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,KAqBzB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,KA4FtB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,SAAS,EAAE,KA0IvB,CAAC"}
@@ -0,0 +1,37 @@
1
+ import type { StoryObj } from "@storybook/react-vite";
2
+ import { Tooltip } from "../tooltip";
3
+ declare const meta: {
4
+ title: string;
5
+ component: typeof Tooltip;
6
+ parameters: {
7
+ layout: string;
8
+ docs: {
9
+ description: {
10
+ component: string;
11
+ };
12
+ };
13
+ };
14
+ tags: string[];
15
+ argTypes: {
16
+ delayDuration: {
17
+ control: {
18
+ type: "number";
19
+ };
20
+ description: string;
21
+ table: {
22
+ type: {
23
+ summary: string;
24
+ };
25
+ defaultValue: {
26
+ summary: string;
27
+ };
28
+ };
29
+ };
30
+ };
31
+ };
32
+ export default meta;
33
+ type Story = StoryObj<typeof meta>;
34
+ export declare const Interactive: Story;
35
+ export declare const Variants: Story;
36
+ export declare const InContext: Story;
37
+ //# sourceMappingURL=tooltip.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tooltip.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/stories/tooltip.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAG5D,OAAO,EAAE,OAAO,EAAkC,MAAM,YAAY,CAAC;AAYrE,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwBsB,CAAC;AAEjC,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,WAAW,EAAE,KAqFzB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAgHtB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAsMvB,CAAC"}
@@ -0,0 +1,137 @@
1
+ import type { StoryObj } from "@storybook/react-vite";
2
+ import { Typography } from "../typography";
3
+ /**
4
+ * Typography component stories for design system documentation
5
+ *
6
+ * This story file demonstrates the Typography component's capabilities through three focused stories:
7
+ * - Interactive: Playground for testing all props and variants
8
+ * - Variants: Systematic showcase of all available typography variants
9
+ * - InContext: Real-world usage examples for business and design teams
10
+ */
11
+ declare const meta: {
12
+ title: string;
13
+ component: typeof Typography;
14
+ parameters: {
15
+ layout: string;
16
+ docs: {
17
+ description: {
18
+ component: string;
19
+ };
20
+ };
21
+ };
22
+ tags: string[];
23
+ argTypes: {
24
+ variant: {
25
+ control: {
26
+ type: "select";
27
+ };
28
+ options: string[];
29
+ description: string;
30
+ };
31
+ color: {
32
+ control: {
33
+ type: "select";
34
+ };
35
+ options: string[];
36
+ description: string;
37
+ };
38
+ align: {
39
+ control: {
40
+ type: "select";
41
+ };
42
+ options: string[];
43
+ description: string;
44
+ };
45
+ transform: {
46
+ control: {
47
+ type: "select";
48
+ };
49
+ options: string[];
50
+ description: string;
51
+ };
52
+ weight: {
53
+ control: {
54
+ type: "select";
55
+ };
56
+ options: string[];
57
+ description: string;
58
+ };
59
+ as: {
60
+ control: {
61
+ type: "select";
62
+ };
63
+ options: string[];
64
+ description: string;
65
+ };
66
+ asChild: {
67
+ control: {
68
+ type: "boolean";
69
+ };
70
+ description: string;
71
+ };
72
+ italic: {
73
+ control: {
74
+ type: "boolean";
75
+ };
76
+ description: string;
77
+ };
78
+ underline: {
79
+ control: {
80
+ type: "boolean";
81
+ };
82
+ description: string;
83
+ };
84
+ strikethrough: {
85
+ control: {
86
+ type: "boolean";
87
+ };
88
+ description: string;
89
+ };
90
+ truncate: {
91
+ control: {
92
+ type: "boolean";
93
+ };
94
+ description: string;
95
+ };
96
+ srOnly: {
97
+ control: {
98
+ type: "boolean";
99
+ };
100
+ description: string;
101
+ };
102
+ children: {
103
+ control: {
104
+ type: "text";
105
+ };
106
+ description: string;
107
+ };
108
+ };
109
+ };
110
+ export default meta;
111
+ type Story = StoryObj<typeof meta>;
112
+ /**
113
+ * Interactive playground for testing all Typography component features.
114
+ * Use controls to experiment with different combinations of props.
115
+ */
116
+ export declare const Interactive: Story;
117
+ /**
118
+ * Systematic showcase of all typography variants with consistent content.
119
+ * Demonstrates the visual hierarchy and size relationships between variants.
120
+ */
121
+ export declare const Variants: Story;
122
+ /**
123
+ * Real-world usage examples demonstrating Typography in practical scenarios.
124
+ * Shows how to combine variants with semantic HTML and accessibility features.
125
+ */
126
+ export declare const InContext: Story;
127
+ /**
128
+ * Showcase of individual semantic typography components for better TypeScript support.
129
+ * Demonstrates the recommended approach using semantic components vs generic Typography.
130
+ */
131
+ export declare const SemanticComponents: Story;
132
+ /**
133
+ * Complete reference table of all semantic typography components with their defaults and usage.
134
+ * Provides a comprehensive overview for developers to quickly understand each component.
135
+ */
136
+ export declare const ComponentReference: Story;
137
+ //# sourceMappingURL=typography.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typography.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/stories/typography.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EACL,UAAU,EAeX,MAAM,eAAe,CAAC;AAUvB;;;;;;;GAOG;AACH,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyGyB,CAAC;AAEpC,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,KAezB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,KAyGtB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,SAAS,EAAE,KAmQvB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,KA4PhC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,KA6wBhC,CAAC"}
@@ -0,0 +1,20 @@
1
+ import type { Meta, StoryObj } from "@storybook/react-vite";
2
+ declare const meta: Meta;
3
+ export default meta;
4
+ type Story = StoryObj<typeof meta>;
5
+ /**
6
+ * Interactive playground showing the hook's real-time response to viewport changes.
7
+ * Resize your browser window to see the mobile detection update dynamically.
8
+ */
9
+ export declare const Interactive: Story;
10
+ /**
11
+ * Different responsive patterns demonstrating various ways to use mobile detection
12
+ * for adaptive user interfaces and layout adjustments.
13
+ */
14
+ export declare const Variants: Story;
15
+ /**
16
+ * Real-world examples showing how to use mobile detection for component selection
17
+ * and responsive user experience patterns in production applications.
18
+ */
19
+ export declare const InContext: Story;
20
+ //# sourceMappingURL=use-mobile.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-mobile.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/stories/use-mobile.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAqV5D,QAAA,MAAM,IAAI,EAAE,IA2BI,CAAC;AAEjB,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,KAUzB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,KAUtB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,SAAS,EAAE,KAUvB,CAAC"}
@@ -0,0 +1,23 @@
1
+ import type { Meta, StoryObj } from "@storybook/react-vite";
2
+ /**
3
+ * The useTheme hook provides a simple, powerful way to manage theme state in React applications.
4
+ * It handles system preference detection, cookie persistence, and synchronization across multiple instances.
5
+ */
6
+ declare const meta: Meta;
7
+ export default meta;
8
+ type Story = StoryObj;
9
+ /**
10
+ * Interactive demonstration of the useTheme hook showing all return values and methods.
11
+ * Change the theme preference and see how the hook state updates in real-time.
12
+ */
13
+ export declare const Interactive: Story;
14
+ /**
15
+ * Multiple synchronized theme controls showing how the hook maintains consistency across instances.
16
+ * All controls share the same state through cookie persistence and custom event synchronization.
17
+ */
18
+ export declare const MultipleSynchronizedInstances: Story;
19
+ /**
20
+ * Real-world usage examples showing common implementation patterns.
21
+ */
22
+ export declare const UsagePatterns: Story;
23
+ //# sourceMappingURL=use-theme.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-theme.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/stories/use-theme.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAgB5D;;;GAGG;AACH,QAAA,MAAM,IAAI,EAAE,IAwCX,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC;AAiKtB;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,KAEzB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,6BAA6B,EAAE,KAsD3C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,KA0H3B,CAAC"}
@@ -0,0 +1,84 @@
1
+ import * as React from "react";
2
+ import * as SwitchPrimitive from "@radix-ui/react-switch";
3
+ /**
4
+ * Switch component for binary toggle controls
5
+ *
6
+ * A versatile toggle switch component built on Radix UI primitives that provides
7
+ * an accessible way to toggle between on/off states. Commonly used for settings,
8
+ * preferences, and feature toggles that have immediate effects.
9
+ *
10
+ * Built with Radix UI Switch primitive and styled with Tailwind CSS to ensure
11
+ * consistent visual appearance across light and dark themes.
12
+ *
13
+ * @example
14
+ * ```tsx
15
+ * // Basic usage with label
16
+ * <div className="flex items-center space-x-2">
17
+ * <Switch id="airplane-mode" />
18
+ * <Label htmlFor="airplane-mode">Airplane Mode</Label>
19
+ * </div>
20
+ * ```
21
+ *
22
+ * @example
23
+ * ```tsx
24
+ * // Controlled switch with state
25
+ * const [enabled, setEnabled] = useState(false);
26
+ *
27
+ * <Switch
28
+ * id="notifications"
29
+ * checked={enabled}
30
+ * onCheckedChange={setEnabled}
31
+ * />
32
+ * ```
33
+ *
34
+ * @example
35
+ * ```tsx
36
+ * // Switch with custom handler
37
+ * <Switch
38
+ * checked={isDarkMode}
39
+ * onCheckedChange={(checked) => {
40
+ * setIsDarkMode(checked);
41
+ * document.documentElement.classList.toggle("dark", checked);
42
+ * }}
43
+ * />
44
+ * ```
45
+ *
46
+ * @example
47
+ * ```tsx
48
+ * // Disabled switch
49
+ * <Switch disabled />
50
+ * <Switch disabled defaultChecked />
51
+ * ```
52
+ *
53
+ * @accessibility
54
+ * - Fully keyboard accessible with Space and Enter key support
55
+ * - ARIA attributes automatically managed by Radix UI
56
+ * - Screen reader announcements for state changes
57
+ * - Focus indicator with visible ring
58
+ * - Associates with labels via htmlFor/id pairing
59
+ * - Disabled state properly communicated to assistive technology
60
+ * - Follows WAI-ARIA Switch pattern
61
+ *
62
+ * @see {@link https://ui.shadcn.com/docs/components/switch} shadcn/ui Switch documentation
63
+ * @since 1.0.0
64
+ * @see {@link https://www.radix-ui.com/primitives/docs/components/switch} Radix UI Switch primitive
65
+ */
66
+ /**
67
+ * Switch component props
68
+ *
69
+ * Extends all props from Radix UI Switch Root primitive, including:
70
+ * - `checked` - The controlled checked state of the switch
71
+ * - `defaultChecked` - The default checked state when uncontrolled
72
+ * - `onCheckedChange` - Event handler called when the checked state changes
73
+ * - `disabled` - Whether the switch is disabled
74
+ * - `required` - Whether the switch is required in forms
75
+ * - `name` - Name attribute for form submission
76
+ * - `value` - Value attribute for form submission
77
+ *
78
+ * @param className - Additional CSS classes to apply to the switch
79
+ * @param props - All other props from Radix UI Switch Root
80
+ */
81
+ type SwitchProps = React.ComponentProps<typeof SwitchPrimitive.Root>;
82
+ declare function Switch({ className, ...props }: SwitchProps): import("react/jsx-runtime").JSX.Element;
83
+ export { Switch };
84
+ //# sourceMappingURL=switch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"switch.d.ts","sourceRoot":"","sources":["../../../src/components/ui/switch.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAI1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8DG;AACH;;;;;;;;;;;;;;GAcG;AACH,KAAK,WAAW,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;AAErE,iBAAS,MAAM,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,WAAW,2CAkBnD;AAED,OAAO,EAAE,MAAM,EAAE,CAAC"}