@wheelhouse/ui 0.1.6 → 0.2.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 (460) hide show
  1. package/dist/components/accordion/accordion.d.ts +15 -0
  2. package/dist/components/accordion/accordion.d.ts.map +1 -0
  3. package/dist/components/accordion/accordion.js +18 -0
  4. package/dist/components/accordion/accordion.stories.d.ts +7 -0
  5. package/dist/components/accordion/accordion.stories.d.ts.map +1 -0
  6. package/dist/components/accordion/accordion.stories.js +17 -0
  7. package/dist/components/accordion/index.d.ts +3 -0
  8. package/dist/components/accordion/index.d.ts.map +1 -0
  9. package/dist/components/accordion/index.js +1 -0
  10. package/dist/components/alert/alert.d.ts +11 -0
  11. package/dist/components/alert/alert.d.ts.map +1 -0
  12. package/dist/components/alert/alert.js +28 -0
  13. package/dist/components/alert/alert.stories.d.ts +11 -0
  14. package/dist/components/alert/alert.stories.d.ts.map +1 -0
  15. package/dist/components/alert/alert.stories.js +35 -0
  16. package/dist/components/alert/index.d.ts +2 -0
  17. package/dist/components/alert/index.d.ts.map +1 -0
  18. package/dist/components/alert/index.js +1 -0
  19. package/dist/components/alert-dialog/alert-dialog.d.ts +44 -0
  20. package/dist/components/alert-dialog/alert-dialog.d.ts.map +1 -0
  21. package/dist/components/alert-dialog/alert-dialog.js +43 -0
  22. package/dist/components/alert-dialog/alert-dialog.stories.d.ts +9 -0
  23. package/dist/components/alert-dialog/alert-dialog.stories.d.ts.map +1 -0
  24. package/dist/components/alert-dialog/alert-dialog.stories.js +22 -0
  25. package/dist/components/alert-dialog/index.d.ts +3 -0
  26. package/dist/components/alert-dialog/index.d.ts.map +1 -0
  27. package/dist/components/alert-dialog/index.js +1 -0
  28. package/dist/components/aspect-ratio/aspect-ratio.d.ts +11 -0
  29. package/dist/components/aspect-ratio/aspect-ratio.d.ts.map +1 -0
  30. package/dist/components/aspect-ratio/aspect-ratio.js +9 -0
  31. package/dist/components/aspect-ratio/aspect-ratio.stories.d.ts +8 -0
  32. package/dist/components/aspect-ratio/aspect-ratio.stories.d.ts.map +1 -0
  33. package/dist/components/aspect-ratio/aspect-ratio.stories.js +26 -0
  34. package/dist/components/aspect-ratio/index.d.ts +3 -0
  35. package/dist/components/aspect-ratio/index.d.ts.map +1 -0
  36. package/dist/components/aspect-ratio/index.js +1 -0
  37. package/dist/components/avatar/avatar.d.ts +29 -0
  38. package/dist/components/avatar/avatar.d.ts.map +1 -0
  39. package/dist/components/avatar/avatar.js +24 -0
  40. package/dist/components/avatar/avatar.stories.d.ts +20 -0
  41. package/dist/components/avatar/avatar.stories.d.ts.map +1 -0
  42. package/dist/components/avatar/avatar.stories.js +40 -0
  43. package/dist/components/avatar/index.d.ts +2 -0
  44. package/dist/components/avatar/index.d.ts.map +1 -0
  45. package/dist/components/avatar/index.js +1 -0
  46. package/dist/components/badge/badge.d.ts +6 -5
  47. package/dist/components/badge/badge.d.ts.map +1 -1
  48. package/dist/components/badge/badge.js +3 -3
  49. package/dist/components/breadcrumb/breadcrumb.d.ts +25 -0
  50. package/dist/components/breadcrumb/breadcrumb.d.ts.map +1 -0
  51. package/dist/components/breadcrumb/breadcrumb.js +39 -0
  52. package/dist/components/breadcrumb/breadcrumb.stories.d.ts +16 -0
  53. package/dist/components/breadcrumb/breadcrumb.stories.d.ts.map +1 -0
  54. package/dist/components/breadcrumb/breadcrumb.stories.js +21 -0
  55. package/dist/components/breadcrumb/index.d.ts +2 -0
  56. package/dist/components/breadcrumb/index.d.ts.map +1 -0
  57. package/dist/components/breadcrumb/index.js +1 -0
  58. package/dist/components/button/button.d.ts +9 -6
  59. package/dist/components/button/button.d.ts.map +1 -1
  60. package/dist/components/button/button.js +3 -3
  61. package/dist/components/button-group/button-group.d.ts +3 -1
  62. package/dist/components/button-group/button-group.d.ts.map +1 -1
  63. package/dist/components/button-group/button-group.js +1 -1
  64. package/dist/components/button-group/button-group.stories.d.ts +1 -0
  65. package/dist/components/button-group/button-group.stories.d.ts.map +1 -1
  66. package/dist/components/button-group/button-group.stories.js +4 -0
  67. package/dist/components/button-group/index.d.ts +1 -0
  68. package/dist/components/button-group/index.d.ts.map +1 -1
  69. package/dist/components/card/card.d.ts +28 -0
  70. package/dist/components/card/card.d.ts.map +1 -0
  71. package/dist/components/card/card.js +25 -0
  72. package/dist/components/card/card.stories.d.ts +10 -0
  73. package/dist/components/card/card.stories.d.ts.map +1 -0
  74. package/dist/components/card/card.stories.js +30 -0
  75. package/dist/components/card/index.d.ts +2 -0
  76. package/dist/components/card/index.d.ts.map +1 -0
  77. package/dist/components/card/index.js +1 -0
  78. package/dist/components/checkbox/checkbox.d.ts +9 -0
  79. package/dist/components/checkbox/checkbox.d.ts.map +1 -0
  80. package/dist/components/checkbox/checkbox.js +9 -0
  81. package/dist/components/checkbox/checkbox.stories.d.ts +19 -0
  82. package/dist/components/checkbox/checkbox.stories.d.ts.map +1 -0
  83. package/dist/components/checkbox/checkbox.stories.js +31 -0
  84. package/dist/components/checkbox/index.d.ts +2 -0
  85. package/dist/components/checkbox/index.d.ts.map +1 -0
  86. package/dist/components/checkbox/index.js +1 -0
  87. package/dist/components/collapsible/collapsible.d.ts +17 -0
  88. package/dist/components/collapsible/collapsible.d.ts.map +1 -0
  89. package/dist/components/collapsible/collapsible.js +17 -0
  90. package/dist/components/collapsible/collapsible.stories.d.ts +16 -0
  91. package/dist/components/collapsible/collapsible.stories.d.ts.map +1 -0
  92. package/dist/components/collapsible/collapsible.stories.js +24 -0
  93. package/dist/components/collapsible/index.d.ts +3 -0
  94. package/dist/components/collapsible/index.d.ts.map +1 -0
  95. package/dist/components/collapsible/index.js +1 -0
  96. package/dist/components/combobox/combobox.d.ts +38 -0
  97. package/dist/components/combobox/combobox.d.ts.map +1 -0
  98. package/dist/components/combobox/combobox.js +65 -0
  99. package/dist/components/combobox/combobox.stories.d.ts +18 -0
  100. package/dist/components/combobox/combobox.stories.d.ts.map +1 -0
  101. package/dist/components/combobox/combobox.stories.js +46 -0
  102. package/dist/components/combobox/index.d.ts +3 -0
  103. package/dist/components/combobox/index.d.ts.map +1 -0
  104. package/dist/components/combobox/index.js +1 -0
  105. package/dist/components/command/command.d.ts +31 -0
  106. package/dist/components/command/command.d.ts.map +1 -0
  107. package/dist/components/command/command.js +37 -0
  108. package/dist/components/command/command.stories.d.ts +16 -0
  109. package/dist/components/command/command.stories.d.ts.map +1 -0
  110. package/dist/components/command/command.stories.js +26 -0
  111. package/dist/components/command/index.d.ts +2 -0
  112. package/dist/components/command/index.d.ts.map +1 -0
  113. package/dist/components/command/index.js +1 -0
  114. package/dist/components/context-menu/context-menu.d.ts +62 -0
  115. package/dist/components/context-menu/context-menu.d.ts.map +1 -0
  116. package/dist/components/context-menu/context-menu.js +53 -0
  117. package/dist/components/context-menu/context-menu.stories.d.ts +17 -0
  118. package/dist/components/context-menu/context-menu.stories.d.ts.map +1 -0
  119. package/dist/components/context-menu/context-menu.stories.js +27 -0
  120. package/dist/components/context-menu/index.d.ts +2 -0
  121. package/dist/components/context-menu/index.d.ts.map +1 -0
  122. package/dist/components/context-menu/index.js +1 -0
  123. package/dist/components/dialog/dialog.d.ts +40 -0
  124. package/dist/components/dialog/dialog.d.ts.map +1 -0
  125. package/dist/components/dialog/dialog.js +38 -0
  126. package/dist/components/dialog/dialog.stories.d.ts +9 -0
  127. package/dist/components/dialog/dialog.stories.d.ts.map +1 -0
  128. package/dist/components/dialog/dialog.stories.js +22 -0
  129. package/dist/components/dialog/index.d.ts +3 -0
  130. package/dist/components/dialog/index.d.ts.map +1 -0
  131. package/dist/components/dialog/index.js +1 -0
  132. package/dist/components/direction/direction.d.ts +7 -0
  133. package/dist/components/direction/direction.d.ts.map +1 -0
  134. package/dist/components/direction/direction.js +5 -0
  135. package/dist/components/direction/direction.stories.d.ts +8 -0
  136. package/dist/components/direction/direction.stories.d.ts.map +1 -0
  137. package/dist/components/direction/direction.stories.js +23 -0
  138. package/dist/components/direction/index.d.ts +2 -0
  139. package/dist/components/direction/index.d.ts.map +1 -0
  140. package/dist/components/direction/index.js +1 -0
  141. package/dist/components/drawer/drawer.d.ts +25 -0
  142. package/dist/components/drawer/drawer.d.ts.map +1 -0
  143. package/dist/components/drawer/drawer.js +36 -0
  144. package/dist/components/drawer/drawer.stories.d.ts +7 -0
  145. package/dist/components/drawer/drawer.stories.d.ts.map +1 -0
  146. package/dist/components/drawer/drawer.stories.js +17 -0
  147. package/dist/components/drawer/index.d.ts +2 -0
  148. package/dist/components/drawer/index.d.ts.map +1 -0
  149. package/dist/components/drawer/index.js +1 -0
  150. package/dist/components/dropdown-menu/dropdown-menu.d.ts +65 -0
  151. package/dist/components/dropdown-menu/dropdown-menu.d.ts.map +1 -0
  152. package/dist/components/dropdown-menu/dropdown-menu.js +53 -0
  153. package/dist/components/dropdown-menu/dropdown-menu.stories.d.ts +18 -0
  154. package/dist/components/dropdown-menu/dropdown-menu.stories.d.ts.map +1 -0
  155. package/dist/components/dropdown-menu/dropdown-menu.stories.js +31 -0
  156. package/dist/components/dropdown-menu/index.d.ts +3 -0
  157. package/dist/components/dropdown-menu/index.d.ts.map +1 -0
  158. package/dist/components/dropdown-menu/index.js +1 -0
  159. package/dist/components/empty/empty.d.ts +25 -0
  160. package/dist/components/empty/empty.d.ts.map +1 -0
  161. package/dist/components/empty/empty.js +34 -0
  162. package/dist/components/empty/empty.stories.d.ts +7 -0
  163. package/dist/components/empty/empty.stories.d.ts.map +1 -0
  164. package/dist/components/empty/empty.stories.js +19 -0
  165. package/dist/components/empty/index.d.ts +3 -0
  166. package/dist/components/empty/index.d.ts.map +1 -0
  167. package/dist/components/empty/index.js +1 -0
  168. package/dist/components/field/field.d.ts +22 -0
  169. package/dist/components/field/field.d.ts.map +1 -0
  170. package/dist/components/field/field.js +34 -0
  171. package/dist/components/field/field.stories.d.ts +16 -0
  172. package/dist/components/field/field.stories.d.ts.map +1 -0
  173. package/dist/components/field/field.stories.js +26 -0
  174. package/dist/components/field/index.d.ts +2 -0
  175. package/dist/components/field/index.d.ts.map +1 -0
  176. package/dist/components/field/index.js +1 -0
  177. package/dist/components/filters/filters-defaults.d.ts +5 -0
  178. package/dist/components/filters/filters-defaults.d.ts.map +1 -0
  179. package/dist/components/filters/filters-defaults.js +97 -0
  180. package/dist/components/filters/filters-types.d.ts +135 -0
  181. package/dist/components/filters/filters-types.d.ts.map +1 -0
  182. package/dist/components/filters/filters-types.js +1 -0
  183. package/dist/components/filters/filters-utils.d.ts +4 -0
  184. package/dist/components/filters/filters-utils.d.ts.map +1 -0
  185. package/dist/components/filters/filters-utils.js +12 -0
  186. package/dist/components/filters/filters.d.ts +29 -0
  187. package/dist/components/filters/filters.d.ts.map +1 -0
  188. package/dist/components/filters/filters.js +733 -0
  189. package/dist/components/filters/filters.stories.d.ts +8 -0
  190. package/dist/components/filters/filters.stories.d.ts.map +1 -0
  191. package/dist/components/filters/filters.stories.js +48 -0
  192. package/dist/components/filters/index.d.ts +5 -0
  193. package/dist/components/filters/index.d.ts.map +1 -0
  194. package/dist/components/filters/index.js +4 -0
  195. package/dist/components/frame/frame.d.ts +65 -0
  196. package/dist/components/frame/frame.d.ts.map +1 -0
  197. package/dist/components/frame/frame.js +108 -0
  198. package/dist/components/frame/frame.stories.d.ts +14 -0
  199. package/dist/components/frame/frame.stories.d.ts.map +1 -0
  200. package/dist/components/frame/frame.stories.js +50 -0
  201. package/dist/components/frame/index.d.ts +3 -0
  202. package/dist/components/frame/index.d.ts.map +1 -0
  203. package/dist/components/frame/index.js +1 -0
  204. package/dist/components/hover-card/hover-card.d.ts +16 -0
  205. package/dist/components/hover-card/hover-card.d.ts.map +1 -0
  206. package/dist/components/hover-card/hover-card.js +14 -0
  207. package/dist/components/hover-card/hover-card.stories.d.ts +7 -0
  208. package/dist/components/hover-card/hover-card.stories.d.ts.map +1 -0
  209. package/dist/components/hover-card/hover-card.stories.js +15 -0
  210. package/dist/components/hover-card/index.d.ts +3 -0
  211. package/dist/components/hover-card/index.d.ts.map +1 -0
  212. package/dist/components/hover-card/index.js +1 -0
  213. package/dist/components/index.d.ts +47 -0
  214. package/dist/components/index.d.ts.map +1 -1
  215. package/dist/components/index.js +47 -0
  216. package/dist/components/input/index.d.ts +2 -0
  217. package/dist/components/input/index.d.ts.map +1 -0
  218. package/dist/components/input/index.js +1 -0
  219. package/dist/components/input/input.d.ts +16 -0
  220. package/dist/components/input/input.d.ts.map +1 -0
  221. package/dist/components/input/input.js +22 -0
  222. package/dist/components/input/input.stories.d.ts +28 -0
  223. package/dist/components/input/input.stories.d.ts.map +1 -0
  224. package/dist/components/input/input.stories.js +33 -0
  225. package/dist/components/input-group/index.d.ts +3 -0
  226. package/dist/components/input-group/index.d.ts.map +1 -0
  227. package/dist/components/input-group/index.js +1 -0
  228. package/dist/components/input-group/input-group.d.ts +44 -0
  229. package/dist/components/input-group/input-group.d.ts.map +1 -0
  230. package/dist/components/input-group/input-group.js +72 -0
  231. package/dist/components/input-group/input-group.stories.d.ts +18 -0
  232. package/dist/components/input-group/input-group.stories.d.ts.map +1 -0
  233. package/dist/components/input-group/input-group.stories.js +29 -0
  234. package/dist/components/item/index.d.ts +3 -0
  235. package/dist/components/item/index.d.ts.map +1 -0
  236. package/dist/components/item/index.js +1 -0
  237. package/dist/components/item/item.d.ts +60 -0
  238. package/dist/components/item/item.d.ts.map +1 -0
  239. package/dist/components/item/item.js +95 -0
  240. package/dist/components/item/item.stories.d.ts +34 -0
  241. package/dist/components/item/item.stories.d.ts.map +1 -0
  242. package/dist/components/item/item.stories.js +41 -0
  243. package/dist/components/kbd/index.d.ts +3 -0
  244. package/dist/components/kbd/index.d.ts.map +1 -0
  245. package/dist/components/kbd/index.js +1 -0
  246. package/dist/components/kbd/kbd.d.ts +15 -0
  247. package/dist/components/kbd/kbd.d.ts.map +1 -0
  248. package/dist/components/kbd/kbd.js +16 -0
  249. package/dist/components/kbd/kbd.stories.d.ts +17 -0
  250. package/dist/components/kbd/kbd.stories.d.ts.map +1 -0
  251. package/dist/components/kbd/kbd.stories.js +25 -0
  252. package/dist/components/label/index.d.ts +2 -0
  253. package/dist/components/label/index.d.ts.map +1 -0
  254. package/dist/components/label/index.js +1 -0
  255. package/dist/components/label/label.d.ts +6 -0
  256. package/dist/components/label/label.d.ts.map +1 -0
  257. package/dist/components/label/label.js +10 -0
  258. package/dist/components/label/label.stories.d.ts +18 -0
  259. package/dist/components/label/label.stories.d.ts.map +1 -0
  260. package/dist/components/label/label.stories.js +29 -0
  261. package/dist/components/menubar/index.d.ts +3 -0
  262. package/dist/components/menubar/index.d.ts.map +1 -0
  263. package/dist/components/menubar/index.js +1 -0
  264. package/dist/components/menubar/menubar.d.ts +64 -0
  265. package/dist/components/menubar/menubar.d.ts.map +1 -0
  266. package/dist/components/menubar/menubar.js +56 -0
  267. package/dist/components/menubar/menubar.stories.d.ts +15 -0
  268. package/dist/components/menubar/menubar.stories.d.ts.map +1 -0
  269. package/dist/components/menubar/menubar.stories.js +18 -0
  270. package/dist/components/native-select/index.d.ts +2 -0
  271. package/dist/components/native-select/index.d.ts.map +1 -0
  272. package/dist/components/native-select/index.js +1 -0
  273. package/dist/components/native-select/native-select.d.ts +12 -0
  274. package/dist/components/native-select/native-select.d.ts.map +1 -0
  275. package/dist/components/native-select/native-select.js +14 -0
  276. package/dist/components/native-select/native-select.stories.d.ts +8 -0
  277. package/dist/components/native-select/native-select.stories.d.ts.map +1 -0
  278. package/dist/components/native-select/native-select.stories.js +19 -0
  279. package/dist/components/navigation-menu/index.d.ts +3 -0
  280. package/dist/components/navigation-menu/index.d.ts.map +1 -0
  281. package/dist/components/navigation-menu/index.js +1 -0
  282. package/dist/components/navigation-menu/navigation-menu.d.ts +33 -0
  283. package/dist/components/navigation-menu/navigation-menu.d.ts.map +1 -0
  284. package/dist/components/navigation-menu/navigation-menu.js +33 -0
  285. package/dist/components/navigation-menu/navigation-menu.stories.d.ts +14 -0
  286. package/dist/components/navigation-menu/navigation-menu.stories.d.ts.map +1 -0
  287. package/dist/components/navigation-menu/navigation-menu.stories.js +14 -0
  288. package/dist/components/pagination/index.d.ts +3 -0
  289. package/dist/components/pagination/index.d.ts.map +1 -0
  290. package/dist/components/pagination/index.js +1 -0
  291. package/dist/components/pagination/pagination.d.ts +31 -0
  292. package/dist/components/pagination/pagination.d.ts.map +1 -0
  293. package/dist/components/pagination/pagination.js +29 -0
  294. package/dist/components/pagination/pagination.stories.d.ts +14 -0
  295. package/dist/components/pagination/pagination.stories.d.ts.map +1 -0
  296. package/dist/components/pagination/pagination.stories.js +14 -0
  297. package/dist/components/popover/index.d.ts +2 -0
  298. package/dist/components/popover/index.d.ts.map +1 -0
  299. package/dist/components/popover/index.js +1 -0
  300. package/dist/components/popover/popover.d.ts +20 -0
  301. package/dist/components/popover/popover.d.ts.map +1 -0
  302. package/dist/components/popover/popover.js +24 -0
  303. package/dist/components/popover/popover.stories.d.ts +7 -0
  304. package/dist/components/popover/popover.stories.d.ts.map +1 -0
  305. package/dist/components/popover/popover.stories.js +17 -0
  306. package/dist/components/progress/index.d.ts +3 -0
  307. package/dist/components/progress/index.d.ts.map +1 -0
  308. package/dist/components/progress/index.js +1 -0
  309. package/dist/components/progress/progress.d.ts +18 -0
  310. package/dist/components/progress/progress.d.ts.map +1 -0
  311. package/dist/components/progress/progress.js +20 -0
  312. package/dist/components/progress/progress.stories.d.ts +9 -0
  313. package/dist/components/progress/progress.stories.d.ts.map +1 -0
  314. package/dist/components/progress/progress.stories.js +29 -0
  315. package/dist/components/radio-group/index.d.ts +3 -0
  316. package/dist/components/radio-group/index.d.ts.map +1 -0
  317. package/dist/components/radio-group/index.js +1 -0
  318. package/dist/components/radio-group/radio-group.d.ts +13 -0
  319. package/dist/components/radio-group/radio-group.d.ts.map +1 -0
  320. package/dist/components/radio-group/radio-group.js +12 -0
  321. package/dist/components/radio-group/radio-group.stories.d.ts +7 -0
  322. package/dist/components/radio-group/radio-group.stories.d.ts.map +1 -0
  323. package/dist/components/radio-group/radio-group.stories.js +18 -0
  324. package/dist/components/resizable/index.d.ts +2 -0
  325. package/dist/components/resizable/index.d.ts.map +1 -0
  326. package/dist/components/resizable/index.js +1 -0
  327. package/dist/components/resizable/resizable.d.ts +12 -0
  328. package/dist/components/resizable/resizable.d.ts.map +1 -0
  329. package/dist/components/resizable/resizable.js +14 -0
  330. package/dist/components/resizable/resizable.stories.d.ts +7 -0
  331. package/dist/components/resizable/resizable.stories.d.ts.map +1 -0
  332. package/dist/components/resizable/resizable.stories.js +16 -0
  333. package/dist/components/scroll-area/index.d.ts +2 -0
  334. package/dist/components/scroll-area/index.d.ts.map +1 -0
  335. package/dist/components/scroll-area/index.js +1 -0
  336. package/dist/components/scroll-area/scroll-area.d.ts +7 -0
  337. package/dist/components/scroll-area/scroll-area.d.ts.map +1 -0
  338. package/dist/components/scroll-area/scroll-area.js +11 -0
  339. package/dist/components/scroll-area/scroll-area.stories.d.ts +6 -0
  340. package/dist/components/scroll-area/scroll-area.stories.d.ts.map +1 -0
  341. package/dist/components/scroll-area/scroll-area.stories.js +13 -0
  342. package/dist/components/select/index.d.ts +3 -0
  343. package/dist/components/select/index.d.ts.map +1 -0
  344. package/dist/components/select/index.js +1 -0
  345. package/dist/components/select/select.d.ts +49 -0
  346. package/dist/components/select/select.d.ts.map +1 -0
  347. package/dist/components/select/select.js +50 -0
  348. package/dist/components/select/select.stories.d.ts +9 -0
  349. package/dist/components/select/select.stories.d.ts.map +1 -0
  350. package/dist/components/select/select.stories.js +20 -0
  351. package/dist/components/separator/index.d.ts +1 -0
  352. package/dist/components/separator/index.d.ts.map +1 -1
  353. package/dist/components/separator/separator.d.ts +3 -1
  354. package/dist/components/separator/separator.d.ts.map +1 -1
  355. package/dist/components/sheet/index.d.ts +2 -0
  356. package/dist/components/sheet/index.d.ts.map +1 -0
  357. package/dist/components/sheet/index.js +1 -0
  358. package/dist/components/sheet/sheet.d.ts +34 -0
  359. package/dist/components/sheet/sheet.d.ts.map +1 -0
  360. package/dist/components/sheet/sheet.js +38 -0
  361. package/dist/components/sheet/sheet.stories.d.ts +9 -0
  362. package/dist/components/sheet/sheet.stories.d.ts.map +1 -0
  363. package/dist/components/sheet/sheet.stories.js +21 -0
  364. package/dist/components/slider/index.d.ts +3 -0
  365. package/dist/components/slider/index.d.ts.map +1 -0
  366. package/dist/components/slider/index.js +1 -0
  367. package/dist/components/slider/slider.d.ts +15 -0
  368. package/dist/components/slider/slider.d.ts.map +1 -0
  369. package/dist/components/slider/slider.js +20 -0
  370. package/dist/components/slider/slider.stories.d.ts +11 -0
  371. package/dist/components/slider/slider.stories.d.ts.map +1 -0
  372. package/dist/components/slider/slider.stories.js +36 -0
  373. package/dist/components/sonner/index.d.ts +4 -0
  374. package/dist/components/sonner/index.d.ts.map +1 -0
  375. package/dist/components/sonner/index.js +2 -0
  376. package/dist/components/sonner/sonner.d.ts +12 -0
  377. package/dist/components/sonner/sonner.d.ts.map +1 -0
  378. package/dist/components/sonner/sonner.js +32 -0
  379. package/dist/components/sonner/sonner.stories.d.ts +8 -0
  380. package/dist/components/sonner/sonner.stories.d.ts.map +1 -0
  381. package/dist/components/sonner/sonner.stories.js +25 -0
  382. package/dist/components/sonner/toast.d.ts +2 -0
  383. package/dist/components/sonner/toast.d.ts.map +1 -0
  384. package/dist/components/sonner/toast.js +1 -0
  385. package/dist/components/spinner/index.d.ts +3 -0
  386. package/dist/components/spinner/index.d.ts.map +1 -0
  387. package/dist/components/spinner/index.js +1 -0
  388. package/dist/components/spinner/spinner.d.ts +13 -0
  389. package/dist/components/spinner/spinner.d.ts.map +1 -0
  390. package/dist/components/spinner/spinner.js +12 -0
  391. package/dist/components/spinner/spinner.stories.d.ts +9 -0
  392. package/dist/components/spinner/spinner.stories.d.ts.map +1 -0
  393. package/dist/components/spinner/spinner.stories.js +20 -0
  394. package/dist/components/switch/index.d.ts +2 -0
  395. package/dist/components/switch/index.d.ts.map +1 -0
  396. package/dist/components/switch/index.js +1 -0
  397. package/dist/components/switch/switch.d.ts +13 -0
  398. package/dist/components/switch/switch.d.ts.map +1 -0
  399. package/dist/components/switch/switch.js +8 -0
  400. package/dist/components/switch/switch.stories.d.ts +20 -0
  401. package/dist/components/switch/switch.stories.d.ts.map +1 -0
  402. package/dist/components/switch/switch.stories.js +46 -0
  403. package/dist/components/tabs/index.d.ts +3 -0
  404. package/dist/components/tabs/index.d.ts.map +1 -0
  405. package/dist/components/tabs/index.js +1 -0
  406. package/dist/components/tabs/tabs.d.ts +35 -0
  407. package/dist/components/tabs/tabs.d.ts.map +1 -0
  408. package/dist/components/tabs/tabs.js +34 -0
  409. package/dist/components/tabs/tabs.stories.d.ts +10 -0
  410. package/dist/components/tabs/tabs.stories.d.ts.map +1 -0
  411. package/dist/components/tabs/tabs.stories.js +29 -0
  412. package/dist/components/text/index.d.ts +3 -0
  413. package/dist/components/text/index.d.ts.map +1 -0
  414. package/dist/components/text/index.js +1 -0
  415. package/dist/components/text/text.d.ts +47 -0
  416. package/dist/components/text/text.d.ts.map +1 -0
  417. package/dist/components/text/text.js +53 -0
  418. package/dist/components/text/text.stories.d.ts +11 -0
  419. package/dist/components/text/text.stories.d.ts.map +1 -0
  420. package/dist/components/text/text.stories.js +84 -0
  421. package/dist/components/textarea/index.d.ts +2 -0
  422. package/dist/components/textarea/index.d.ts.map +1 -0
  423. package/dist/components/textarea/index.js +1 -0
  424. package/dist/components/textarea/textarea.d.ts +11 -0
  425. package/dist/components/textarea/textarea.d.ts.map +1 -0
  426. package/dist/components/textarea/textarea.js +10 -0
  427. package/dist/components/textarea/textarea.stories.d.ts +24 -0
  428. package/dist/components/textarea/textarea.stories.d.ts.map +1 -0
  429. package/dist/components/textarea/textarea.stories.js +32 -0
  430. package/dist/components/toggle/index.d.ts +3 -0
  431. package/dist/components/toggle/index.d.ts.map +1 -0
  432. package/dist/components/toggle/index.js +1 -0
  433. package/dist/components/toggle/toggle.d.ts +31 -0
  434. package/dist/components/toggle/toggle.d.ts.map +1 -0
  435. package/dist/components/toggle/toggle.js +33 -0
  436. package/dist/components/toggle/toggle.stories.d.ts +11 -0
  437. package/dist/components/toggle/toggle.stories.d.ts.map +1 -0
  438. package/dist/components/toggle/toggle.stories.js +60 -0
  439. package/dist/components/toggle-group/index.d.ts +3 -0
  440. package/dist/components/toggle-group/index.d.ts.map +1 -0
  441. package/dist/components/toggle-group/index.js +1 -0
  442. package/dist/components/toggle-group/toggle-group.d.ts +32 -0
  443. package/dist/components/toggle-group/toggle-group.d.ts.map +1 -0
  444. package/dist/components/toggle-group/toggle-group.js +33 -0
  445. package/dist/components/toggle-group/toggle-group.stories.d.ts +10 -0
  446. package/dist/components/toggle-group/toggle-group.stories.d.ts.map +1 -0
  447. package/dist/components/toggle-group/toggle-group.stories.js +28 -0
  448. package/dist/components/tooltip/index.d.ts +3 -0
  449. package/dist/components/tooltip/index.d.ts.map +1 -0
  450. package/dist/components/tooltip/index.js +1 -0
  451. package/dist/components/tooltip/tooltip.d.ts +22 -0
  452. package/dist/components/tooltip/tooltip.d.ts.map +1 -0
  453. package/dist/components/tooltip/tooltip.js +21 -0
  454. package/dist/components/tooltip/tooltip.stories.d.ts +11 -0
  455. package/dist/components/tooltip/tooltip.stories.d.ts.map +1 -0
  456. package/dist/components/tooltip/tooltip.stories.js +33 -0
  457. package/dist/tsconfig.tsbuildinfo +1 -1
  458. package/llms.txt +14 -19
  459. package/package.json +10 -5
  460. package/src/styles/globals.css +10 -7
@@ -0,0 +1,3 @@
1
+ export { Tabs, TabsContent, TabsList, TabsTrigger, tabsListVariants } from './tabs';
2
+ export type { TabsContentProps, TabsListProps, TabsProps, TabsTriggerProps } from './tabs';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/tabs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AACpF,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC"}
@@ -0,0 +1 @@
1
+ export { Tabs, TabsContent, TabsList, TabsTrigger, tabsListVariants } from './tabs';
@@ -0,0 +1,35 @@
1
+ import { Tabs as TabsPrimitive } from '@base-ui/react/tabs';
2
+ import { type VariantProps } from 'class-variance-authority';
3
+ /** Props for the tabs root. See [Base UI Tabs](https://base-ui.com/react/components/tabs). */
4
+ export type TabsProps = TabsPrimitive.Root.Props & {
5
+ className?: string;
6
+ };
7
+ /**
8
+ * Tabbed interface: a list of triggers and matching panels. Use `defaultValue` / `value` and `onValueChange` for state.
9
+ */
10
+ declare function Tabs({ className, orientation, ...props }: TabsProps): import("react/jsx-runtime").JSX.Element;
11
+ declare const tabsListVariantStyles: {
12
+ readonly default: "bg-muted";
13
+ readonly line: "gap-1 bg-transparent";
14
+ };
15
+ export declare const tabsListVariantKeys: (keyof typeof tabsListVariantStyles)[];
16
+ declare const tabsListVariants: (props?: ({
17
+ variant?: "line" | "default" | null | undefined;
18
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
19
+ /** Props for the tab list; includes `variant` for pill vs underline styles. */
20
+ export type TabsListProps = TabsPrimitive.List.Props & VariantProps<typeof tabsListVariants> & {
21
+ className?: string;
22
+ };
23
+ declare function TabsList({ className, variant, ...props }: TabsListProps): import("react/jsx-runtime").JSX.Element;
24
+ /** Props for an individual tab button (`value` matches the active `TabsContent`). */
25
+ export type TabsTriggerProps = TabsPrimitive.Tab.Props & {
26
+ className?: string;
27
+ };
28
+ declare function TabsTrigger({ className, ...props }: TabsTriggerProps): import("react/jsx-runtime").JSX.Element;
29
+ /** Props for the panel shown when the tab with the same `value` is active. */
30
+ export type TabsContentProps = TabsPrimitive.Panel.Props & {
31
+ className?: string;
32
+ };
33
+ declare function TabsContent({ className, ...props }: TabsContentProps): import("react/jsx-runtime").JSX.Element;
34
+ export { Tabs, TabsContent, TabsList, TabsTrigger, tabsListVariants };
35
+ //# sourceMappingURL=tabs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["../../../src/components/tabs/tabs.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAIlE,8FAA8F;AAC9F,MAAM,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1E;;GAEG;AACH,iBAAS,IAAI,CAAC,EAAE,SAAS,EAAE,WAA0B,EAAE,GAAG,KAAK,EAAE,EAAE,SAAS,2CAS3E;AAED,QAAA,MAAM,qBAAqB;;;CAGjB,CAAC;AAEX,eAAO,MAAM,mBAAmB,EAAyC,CAAC,MAAM,OAAO,qBAAqB,CAAC,EAAE,CAAC;AAEhH,QAAA,MAAM,gBAAgB;;8EAUrB,CAAC;AAEF,+EAA+E;AAC/E,MAAM,MAAM,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,OAAO,gBAAgB,CAAC,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtH,iBAAS,QAAQ,CAAC,EAAE,SAAS,EAAE,OAAmB,EAAE,GAAG,KAAK,EAAE,EAAE,aAAa,2CAE5E;AAED,qFAAqF;AACrF,MAAM,MAAM,gBAAgB,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhF,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,2CAc7D;AAED,8EAA8E;AAC9E,MAAM,MAAM,gBAAgB,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAElF,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,2CAE7D;AAED,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC"}
@@ -0,0 +1,34 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { Tabs as TabsPrimitive } from '@base-ui/react/tabs';
4
+ import { cva } from 'class-variance-authority';
5
+ import { cn } from '../../lib/utils';
6
+ /**
7
+ * Tabbed interface: a list of triggers and matching panels. Use `defaultValue` / `value` and `onValueChange` for state.
8
+ */
9
+ function Tabs({ className, orientation = 'horizontal', ...props }) {
10
+ return (_jsx(TabsPrimitive.Root, { "data-slot": "tabs", "data-orientation": orientation, className: cn('group/tabs flex gap-2 data-horizontal:flex-col', className), ...props }));
11
+ }
12
+ const tabsListVariantStyles = {
13
+ default: 'bg-muted',
14
+ line: 'gap-1 bg-transparent',
15
+ };
16
+ export const tabsListVariantKeys = Object.keys(tabsListVariantStyles);
17
+ const tabsListVariants = cva('group/tabs-list inline-flex w-fit items-center justify-center rounded-lg p-[3px] text-muted-foreground group-data-horizontal/tabs:h-8 group-data-vertical/tabs:h-fit group-data-vertical/tabs:flex-col data-[variant=line]:rounded-none', {
18
+ variants: {
19
+ variant: tabsListVariantStyles,
20
+ },
21
+ defaultVariants: {
22
+ variant: 'default',
23
+ },
24
+ });
25
+ function TabsList({ className, variant = 'default', ...props }) {
26
+ return _jsx(TabsPrimitive.List, { "data-slot": "tabs-list", "data-variant": variant, className: cn(tabsListVariants({ variant }), className), ...props });
27
+ }
28
+ function TabsTrigger({ className, ...props }) {
29
+ return (_jsx(TabsPrimitive.Tab, { "data-slot": "tabs-trigger", className: cn("relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-1.5 py-0.5 text-sm font-medium whitespace-nowrap text-foreground/60 transition-all group-data-vertical/tabs:w-full group-data-vertical/tabs:justify-start hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 has-data-[icon=inline-end]:pr-1 has-data-[icon=inline-start]:pl-1 aria-disabled:pointer-events-none aria-disabled:opacity-50 dark:text-muted-foreground dark:hover:text-foreground group-data-[variant=default]/tabs-list:data-active:shadow-sm group-data-[variant=line]/tabs-list:data-active:shadow-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", 'group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-active:bg-transparent dark:group-data-[variant=line]/tabs-list:data-active:border-transparent dark:group-data-[variant=line]/tabs-list:data-active:bg-transparent', 'data-active:bg-background data-active:text-foreground dark:data-active:border-input dark:data-active:bg-input/30 dark:data-active:text-foreground', 'after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-horizontal/tabs:after:inset-x-0 group-data-horizontal/tabs:after:bottom-[-5px] group-data-horizontal/tabs:after:h-0.5 group-data-vertical/tabs:after:inset-y-0 group-data-vertical/tabs:after:-right-1 group-data-vertical/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-active:after:opacity-100', className), ...props }));
30
+ }
31
+ function TabsContent({ className, ...props }) {
32
+ return _jsx(TabsPrimitive.Panel, { "data-slot": "tabs-content", className: cn('flex-1 text-sm outline-none', className), ...props });
33
+ }
34
+ export { Tabs, TabsContent, TabsList, TabsTrigger, tabsListVariants };
@@ -0,0 +1,10 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+ import { Tabs } from './tabs';
3
+ declare const meta: Meta<typeof Tabs>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof meta>;
6
+ export declare const Default: Story;
7
+ export declare const LineVariant: Story;
8
+ export declare const Vertical: Story;
9
+ export declare const Gallery: Story;
10
+ //# sourceMappingURL=tabs.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabs.stories.d.ts","sourceRoot":"","sources":["../../../src/components/tabs/tabs.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,IAAI,EAA2D,MAAM,QAAQ,CAAC;AAEvF,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,IAAI,CAU3B,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAYrB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAgBzB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAWtB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAmBrB,CAAC"}
@@ -0,0 +1,29 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Tabs, TabsContent, TabsList, tabsListVariantKeys, TabsTrigger } from './tabs';
3
+ const meta = {
4
+ title: 'UI/Tabs',
5
+ component: Tabs,
6
+ tags: ['autodocs'],
7
+ parameters: {
8
+ layout: 'centered',
9
+ },
10
+ argTypes: {
11
+ orientation: { control: 'select', options: ['horizontal', 'vertical'] },
12
+ },
13
+ };
14
+ export default meta;
15
+ export const Default = {
16
+ args: { defaultValue: 'account', orientation: 'horizontal' },
17
+ render: (args) => (_jsxs(Tabs, { ...args, className: "w-full max-w-md", children: [_jsxs(TabsList, { children: [_jsx(TabsTrigger, { value: "account", children: "Account" }), _jsx(TabsTrigger, { value: "password", children: "Password" })] }), _jsx(TabsContent, { value: "account", children: "Manage your account settings and email." }), _jsx(TabsContent, { value: "password", children: "Change your password and security options." })] })),
18
+ };
19
+ export const LineVariant = {
20
+ parameters: { layout: 'padded' },
21
+ render: () => (_jsxs(Tabs, { defaultValue: "one", className: "w-full max-w-lg", children: [_jsxs(TabsList, { variant: "line", children: [_jsx(TabsTrigger, { value: "one", children: "Overview" }), _jsx(TabsTrigger, { value: "two", children: "Details" }), _jsx(TabsTrigger, { value: "three", disabled: true, children: "Disabled" })] }), _jsx(TabsContent, { value: "one", children: "First panel content." }), _jsx(TabsContent, { value: "two", children: "Second panel content." }), _jsx(TabsContent, { value: "three", children: "Hidden when disabled tab is selected." })] })),
22
+ };
23
+ export const Vertical = {
24
+ render: () => (_jsxs(Tabs, { defaultValue: "a", orientation: "vertical", className: "w-full max-w-md", children: [_jsxs(TabsList, { children: [_jsx(TabsTrigger, { value: "a", children: "General" }), _jsx(TabsTrigger, { value: "b", children: "Billing" })] }), _jsx(TabsContent, { value: "a", children: "General preferences." }), _jsx(TabsContent, { value: "b", children: "Billing and invoices." })] })),
25
+ };
26
+ export const Gallery = {
27
+ parameters: { layout: 'padded', controls: { disable: true } },
28
+ render: () => (_jsx("div", { className: "flex flex-col gap-12", children: tabsListVariantKeys.map((variant) => (_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx("p", { className: "text-xs font-medium tracking-wide text-muted-foreground uppercase", children: variant }), _jsxs(Tabs, { defaultValue: "1", className: "max-w-md", children: [_jsxs(TabsList, { variant: variant, children: [_jsx(TabsTrigger, { value: "1", children: "Tab one" }), _jsx(TabsTrigger, { value: "2", children: "Tab two" })] }), _jsx(TabsContent, { value: "1", children: "Content for tab one." }), _jsx(TabsContent, { value: "2", children: "Content for tab two." })] })] }, variant))) })),
29
+ };
@@ -0,0 +1,3 @@
1
+ export { Text, textVariants, textLineClampKeys, textSizeKeys, textToneKeys, textWeightKeys } from './text';
2
+ export type { TextLines, TextProps } from './text';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/text/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAC3G,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC"}
@@ -0,0 +1 @@
1
+ export { Text, textVariants, textLineClampKeys, textSizeKeys, textToneKeys, textWeightKeys } from './text';
@@ -0,0 +1,47 @@
1
+ import { useRender } from '@base-ui/react/use-render';
2
+ import { type VariantProps } from 'class-variance-authority';
3
+ declare const textSizeStyles: {
4
+ readonly xs: "text-xs";
5
+ readonly sm: "text-sm";
6
+ readonly default: "text-base";
7
+ readonly lg: "text-lg";
8
+ readonly xl: "text-xl";
9
+ readonly '2xl': "text-2xl";
10
+ readonly '3xl': "text-3xl";
11
+ readonly '4xl': "text-4xl";
12
+ };
13
+ declare const textToneStyles: {
14
+ readonly default: "text-foreground";
15
+ readonly muted: "text-muted-foreground";
16
+ };
17
+ declare const textWeightStyles: {
18
+ readonly normal: "font-normal";
19
+ readonly medium: "font-medium";
20
+ readonly semibold: "font-semibold";
21
+ readonly bold: "font-bold";
22
+ };
23
+ export declare const textSizeKeys: (keyof typeof textSizeStyles)[];
24
+ export declare const textToneKeys: (keyof typeof textToneStyles)[];
25
+ export declare const textWeightKeys: (keyof typeof textWeightStyles)[];
26
+ export declare const textLineClampKeys: readonly [1, 2, 3, 4, 5, 6];
27
+ export type TextLines = (typeof textLineClampKeys)[number];
28
+ declare const textVariants: (props?: ({
29
+ size?: "default" | "xs" | "sm" | "lg" | "xl" | "2xl" | "3xl" | "4xl" | null | undefined;
30
+ tone?: "default" | "muted" | null | undefined;
31
+ weight?: "bold" | "normal" | "medium" | "semibold" | null | undefined;
32
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
33
+ type TextVariantProps = VariantProps<typeof textVariants>;
34
+ type TextSize = TextVariantProps['size'];
35
+ type TextTone = TextVariantProps['tone'];
36
+ type TextWeight = TextVariantProps['weight'];
37
+ /** Props for `Text`. */
38
+ export interface TextProps extends useRender.ComponentProps<'span'> {
39
+ size?: TextSize;
40
+ tone?: TextTone;
41
+ weight?: TextWeight;
42
+ truncate?: boolean;
43
+ lines?: TextLines;
44
+ }
45
+ declare function Text({ className, size, tone, weight, truncate, lines, render, ...props }: TextProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
46
+ export { Text, textVariants };
47
+ //# sourceMappingURL=text.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../src/components/text/text.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAIlE,QAAA,MAAM,cAAc;;;;;;;;;CASV,CAAC;AAEX,QAAA,MAAM,cAAc;;;CAGV,CAAC;AAEX,QAAA,MAAM,gBAAgB;;;;;CAKZ,CAAC;AAEX,eAAO,MAAM,YAAY,EAAkC,CAAC,MAAM,OAAO,cAAc,CAAC,EAAE,CAAC;AAC3F,eAAO,MAAM,YAAY,EAAkC,CAAC,MAAM,OAAO,cAAc,CAAC,EAAE,CAAC;AAC3F,eAAO,MAAM,cAAc,EAAoC,CAAC,MAAM,OAAO,gBAAgB,CAAC,EAAE,CAAC;AAEjG,eAAO,MAAM,iBAAiB,6BAA8B,CAAC;AAC7D,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3D,QAAA,MAAM,YAAY;;;;8EAWhB,CAAC;AAEH,KAAK,gBAAgB,GAAG,YAAY,CAAC,OAAO,YAAY,CAAC,CAAC;AAC1D,KAAK,QAAQ,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;AACzC,KAAK,QAAQ,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;AACzC,KAAK,UAAU,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;AAE7C,wBAAwB;AACxB,MAAM,WAAW,SAAU,SAAQ,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC;IAC/D,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC;CACrB;AAED,iBAAS,IAAI,CAAC,EAAE,SAAS,EAAE,IAAgB,EAAE,IAAgB,EAAE,MAAiB,EAAE,QAAgB,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,EAAE,SAAS,8FAcvI;AAED,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC"}
@@ -0,0 +1,53 @@
1
+ import { mergeProps } from '@base-ui/react/merge-props';
2
+ import { useRender } from '@base-ui/react/use-render';
3
+ import { cva } from 'class-variance-authority';
4
+ import { cn } from '../../lib/utils';
5
+ const textSizeStyles = {
6
+ xs: 'text-xs',
7
+ sm: 'text-sm',
8
+ default: 'text-base',
9
+ lg: 'text-lg',
10
+ xl: 'text-xl',
11
+ '2xl': 'text-2xl',
12
+ '3xl': 'text-3xl',
13
+ '4xl': 'text-4xl',
14
+ };
15
+ const textToneStyles = {
16
+ default: 'text-foreground',
17
+ muted: 'text-muted-foreground',
18
+ };
19
+ const textWeightStyles = {
20
+ normal: 'font-normal',
21
+ medium: 'font-medium',
22
+ semibold: 'font-semibold',
23
+ bold: 'font-bold',
24
+ };
25
+ export const textSizeKeys = Object.keys(textSizeStyles);
26
+ export const textToneKeys = Object.keys(textToneStyles);
27
+ export const textWeightKeys = Object.keys(textWeightStyles);
28
+ export const textLineClampKeys = [1, 2, 3, 4, 5, 6];
29
+ const textVariants = cva('text-start', {
30
+ variants: {
31
+ size: textSizeStyles,
32
+ tone: textToneStyles,
33
+ weight: textWeightStyles,
34
+ },
35
+ defaultVariants: {
36
+ size: 'default',
37
+ tone: 'default',
38
+ weight: 'normal',
39
+ },
40
+ });
41
+ function Text({ className, size = 'default', tone = 'default', weight = 'normal', truncate = false, lines, render, ...props }) {
42
+ const layoutClass = lines !== undefined ? cn(`line-clamp-${lines}`, 'inline-block max-w-full min-w-0') : truncate ? 'inline-block min-w-0 max-w-full truncate' : 'inline';
43
+ const defaultProps = {
44
+ 'data-slot': 'text',
45
+ className: cn(layoutClass, textVariants({ size, tone, weight, className })),
46
+ };
47
+ return useRender({
48
+ defaultTagName: 'span',
49
+ render,
50
+ props: mergeProps(defaultProps, props),
51
+ });
52
+ }
53
+ export { Text, textVariants };
@@ -0,0 +1,11 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+ import { Text } from './text';
3
+ declare const meta: Meta<typeof Text>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof meta>;
6
+ export declare const Default: Story;
7
+ export declare const Gallery: Story;
8
+ export declare const Truncate: Story;
9
+ export declare const Lines: Story;
10
+ export declare const PolymorphicLink: Story;
11
+ //# sourceMappingURL=text.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text.stories.d.ts","sourceRoot":"","sources":["../../../src/components/text/text.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGvD,OAAO,EAAE,IAAI,EAAiE,MAAM,QAAQ,CAAC;AAE7F,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,IAAI,CAuC3B,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAkCnC,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC;AAEjC,eAAO,MAAM,OAAO,EAAE,KAqBrB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAWtB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAYnB,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAsB7B,CAAC"}
@@ -0,0 +1,84 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { cn } from '../../lib/utils';
3
+ import { Text, textLineClampKeys, textSizeKeys, textToneKeys, textWeightKeys } from './text';
4
+ const meta = {
5
+ title: 'UI/Text',
6
+ component: Text,
7
+ parameters: {
8
+ layout: 'centered',
9
+ docs: {
10
+ storiesFilter: (story) => story.name !== 'Default',
11
+ },
12
+ },
13
+ tags: ['autodocs'],
14
+ args: {
15
+ children: 'The quick brown fox jumps over the lazy dog.',
16
+ size: 'default',
17
+ tone: 'default',
18
+ weight: 'normal',
19
+ truncate: false,
20
+ },
21
+ argTypes: {
22
+ children: { control: 'text' },
23
+ className: { control: false },
24
+ render: { control: false },
25
+ size: {
26
+ control: 'select',
27
+ options: textSizeKeys,
28
+ },
29
+ tone: {
30
+ control: 'select',
31
+ options: textToneKeys,
32
+ },
33
+ weight: {
34
+ control: 'select',
35
+ options: textWeightKeys,
36
+ },
37
+ truncate: { control: 'boolean' },
38
+ lines: {
39
+ control: 'select',
40
+ options: [undefined, ...textLineClampKeys],
41
+ },
42
+ },
43
+ };
44
+ export default meta;
45
+ const longCopy = 'The quick brown fox jumps over the lazy dog. Pack my box with five dozen liquor jugs. How vexingly quick daft zebras jump.';
46
+ function SizeRows({ tone }) {
47
+ return (_jsx("div", { className: "flex flex-col gap-4", children: textSizeKeys.map((size) => (_jsxs("div", { className: "flex min-w-0 items-baseline gap-4 sm:gap-8", children: [_jsx("span", { className: "w-12 shrink-0 font-mono text-xs text-muted-foreground tabular-nums sm:w-14", children: size }), _jsx(Text, { size: size, tone: tone, children: "The quick brown fox jumps over the lazy dog." })] }, size))) }));
48
+ }
49
+ function WeightRows() {
50
+ return (_jsx("div", { className: "flex flex-col gap-4", children: textWeightKeys.map((weight) => (_jsxs("div", { className: "flex min-w-0 items-baseline gap-4 sm:gap-8", children: [_jsx("span", { className: "w-24 shrink-0 font-mono text-xs text-muted-foreground tabular-nums sm:w-28", children: weight }), _jsx(Text, { size: "default", tone: "default", weight: weight, children: "The quick brown fox jumps over the lazy dog." })] }, weight))) }));
51
+ }
52
+ export const Default = {};
53
+ export const Gallery = {
54
+ parameters: {
55
+ layout: 'padded',
56
+ controls: { disable: true },
57
+ },
58
+ render: () => (_jsxs("div", { className: "flex max-w-[min(100vw-2rem,72rem)] flex-col gap-12", children: [_jsxs("section", { className: "flex flex-col gap-4", children: [_jsx("h3", { className: "text-xs font-medium tracking-wide text-muted-foreground uppercase", children: "Default" }), _jsx(SizeRows, { tone: "default" })] }), _jsxs("section", { className: "flex flex-col gap-4", children: [_jsx("h3", { className: "text-xs font-medium tracking-wide text-muted-foreground uppercase", children: "Muted" }), _jsx(SizeRows, { tone: "muted" })] }), _jsxs("section", { className: "flex flex-col gap-4", children: [_jsx("h3", { className: "text-xs font-medium tracking-wide text-muted-foreground uppercase", children: "Weight" }), _jsx(WeightRows, {})] })] })),
59
+ };
60
+ export const Truncate = {
61
+ parameters: { layout: 'padded' },
62
+ args: {
63
+ children: longCopy,
64
+ truncate: true,
65
+ },
66
+ render: (args) => (_jsx("div", { className: "w-48 max-w-full border border-border bg-background p-3", children: _jsx(Text, { ...args }) })),
67
+ };
68
+ export const Lines = {
69
+ parameters: { layout: 'padded' },
70
+ args: {
71
+ children: longCopy,
72
+ lines: 3,
73
+ truncate: false,
74
+ },
75
+ render: (args) => (_jsx("div", { className: "w-72 max-w-full border border-border bg-background p-3", children: _jsx(Text, { ...args }) })),
76
+ };
77
+ export const PolymorphicLink = {
78
+ name: 'As link (using render prop)',
79
+ args: {
80
+ children: 'Opens in same tab',
81
+ tone: 'default',
82
+ },
83
+ render: (args) => (_jsx(Text, { ...args, render: ({ children, className, ...props }) => (_jsx("a", { ...props, href: "https://example.com", target: "_blank", rel: "noreferrer", className: cn('text-primary underline-offset-4 hover:underline', className), children: children })) })),
84
+ };
@@ -0,0 +1,2 @@
1
+ export { Textarea, type TextareaProps } from './textarea';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/textarea/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1 @@
1
+ export { Textarea } from './textarea';
@@ -0,0 +1,11 @@
1
+ import * as React from 'react';
2
+ /**
3
+ * Props for `Textarea`. Standard HTML textarea attributes apply.
4
+ */
5
+ export type TextareaProps = React.ComponentProps<'textarea'>;
6
+ /**
7
+ * Multi-line text input with design-system borders, focus rings, and invalid states.
8
+ */
9
+ declare const Textarea: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.TextareaHTMLAttributes<HTMLTextAreaElement>, HTMLTextAreaElement>, "ref"> & React.RefAttributes<HTMLTextAreaElement>>;
10
+ export { Textarea };
11
+ //# sourceMappingURL=textarea.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"textarea.d.ts","sourceRoot":"","sources":["../../../src/components/textarea/textarea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;AAE7D;;GAEG;AACH,QAAA,MAAM,QAAQ,0LAYZ,CAAC;AAEH,OAAO,EAAE,QAAQ,EAAE,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as React from 'react';
3
+ import { cn } from '../../lib/utils';
4
+ /**
5
+ * Multi-line text input with design-system borders, focus rings, and invalid states.
6
+ */
7
+ const Textarea = React.forwardRef(function Textarea({ className, ...props }, ref) {
8
+ return (_jsx("textarea", { ref: ref, "data-slot": "textarea", className: cn('flex field-sizing-content min-h-16 w-full rounded-lg border border-input bg-transparent px-2.5 py-2 text-base transition-colors outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40', className), ...props }));
9
+ });
10
+ export { Textarea };
@@ -0,0 +1,24 @@
1
+ import type { StoryObj } from '@storybook/react';
2
+ declare const meta: {
3
+ title: string;
4
+ component: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").TextareaHTMLAttributes<HTMLTextAreaElement>, HTMLTextAreaElement>, "ref"> & import("react").RefAttributes<HTMLTextAreaElement>>;
5
+ tags: string[];
6
+ parameters: {
7
+ layout: string;
8
+ };
9
+ args: {
10
+ placeholder: string;
11
+ rows: number;
12
+ };
13
+ argTypes: {
14
+ className: {
15
+ control: false;
16
+ };
17
+ };
18
+ };
19
+ export default meta;
20
+ type Story = StoryObj<typeof meta>;
21
+ export declare const Default: Story;
22
+ export declare const Gallery: Story;
23
+ export declare const WithField: Story;
24
+ //# sourceMappingURL=textarea.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"textarea.stories.d.ts","sourceRoot":"","sources":["../../../src/components/textarea/textarea.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAMvD,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;CAcuB,CAAC;AAElC,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAMrB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAwBrB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAgBvB,CAAC"}
@@ -0,0 +1,32 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Field } from '../field';
3
+ import { Label } from '../label';
4
+ import { Textarea } from '.';
5
+ const meta = {
6
+ title: 'UI/Textarea',
7
+ component: Textarea,
8
+ tags: ['autodocs'],
9
+ parameters: {
10
+ layout: 'centered',
11
+ },
12
+ args: {
13
+ placeholder: 'Write something…',
14
+ rows: 4,
15
+ },
16
+ argTypes: {
17
+ className: { control: false },
18
+ },
19
+ };
20
+ export default meta;
21
+ export const Default = {
22
+ render: (args) => (_jsx("div", { className: "w-72", children: _jsx(Textarea, { ...args }) })),
23
+ };
24
+ export const Gallery = {
25
+ parameters: { layout: 'padded' },
26
+ render: () => (_jsxs("div", { className: "flex max-w-md flex-col gap-8", children: [_jsxs("div", { className: "flex flex-col gap-3", children: [_jsx("p", { className: "text-xs font-medium tracking-wide text-muted-foreground uppercase", children: "Default" }), _jsx(Textarea, { placeholder: "Message", rows: 3 })] }), _jsxs("div", { className: "flex flex-col gap-3", children: [_jsx("p", { className: "text-xs font-medium tracking-wide text-muted-foreground uppercase", children: "States" }), _jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Textarea, { placeholder: "Disabled", disabled: true, rows: 2 }), _jsx(Textarea, { placeholder: "Invalid (aria-invalid)", "aria-invalid": true, rows: 2 })] })] }), _jsxs("div", { className: "flex flex-col gap-3", children: [_jsx("p", { className: "text-xs font-medium tracking-wide text-muted-foreground uppercase", children: "With label" }), _jsxs("div", { className: "flex flex-col gap-1.5", children: [_jsx(Label, { htmlFor: "textarea-gallery", children: "Notes" }), _jsx(Textarea, { id: "textarea-gallery", placeholder: "Optional details\u2026", rows: 3 })] })] })] })),
27
+ };
28
+ export const WithField = {
29
+ name: 'With Field (validation)',
30
+ parameters: { layout: 'padded' },
31
+ render: () => (_jsxs("div", { className: "flex w-full max-w-sm flex-col gap-6", children: [_jsxs(Field.Root, { name: "bio", invalid: true, children: [_jsx(Field.Label, { children: "Bio" }), _jsx(Textarea, { placeholder: "Tell us about yourself", rows: 3 }), _jsx(Field.Error, { children: "Bio must be at least 10 characters." })] }), _jsxs(Field.Root, { name: "comments", disabled: true, children: [_jsx(Field.Label, { children: "Comments" }), _jsx(Textarea, { placeholder: "Disabled field", rows: 2 })] })] })),
32
+ };
@@ -0,0 +1,3 @@
1
+ export { Toggle, toggleVariants } from './toggle';
2
+ export type { ToggleProps } from './toggle';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/toggle/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAClD,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC"}
@@ -0,0 +1 @@
1
+ export { Toggle, toggleVariants } from './toggle';
@@ -0,0 +1,31 @@
1
+ import { Toggle as TogglePrimitive } from '@base-ui/react/toggle';
2
+ import { type VariantProps } from 'class-variance-authority';
3
+ declare const toggleVariantStyles: {
4
+ readonly default: "bg-transparent";
5
+ readonly outline: "border border-input bg-transparent hover:bg-muted";
6
+ };
7
+ declare const toggleSizeStyles: {
8
+ readonly default: "h-8 min-w-8 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2";
9
+ readonly sm: "h-7 min-w-7 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5";
10
+ readonly lg: "h-9 min-w-9 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2";
11
+ };
12
+ export declare const toggleVariantKeys: (keyof typeof toggleVariantStyles)[];
13
+ export declare const toggleSizeKeys: (keyof typeof toggleSizeStyles)[];
14
+ declare const toggleVariants: (props?: ({
15
+ variant?: "default" | "outline" | null | undefined;
16
+ size?: "default" | "sm" | "lg" | null | undefined;
17
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
18
+ /**
19
+ * Props for `Toggle`. Inherits additional behavior from
20
+ * [Base UI Toggle](https://base-ui.com/react/components/toggle).
21
+ */
22
+ export type ToggleProps = TogglePrimitive.Props & VariantProps<typeof toggleVariants> & {
23
+ className?: string;
24
+ };
25
+ /**
26
+ * A two-state button (pressed / not pressed) for toolbar actions and binary choices.
27
+ * Renders a native `<button>` with `aria-pressed`. For settings-style on/off in forms, consider `Switch` instead.
28
+ */
29
+ declare function Toggle({ className, variant, size, ...props }: ToggleProps): import("react/jsx-runtime").JSX.Element;
30
+ export { Toggle, toggleVariants };
31
+ //# sourceMappingURL=toggle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toggle.d.ts","sourceRoot":"","sources":["../../../src/components/toggle/toggle.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAIlE,QAAA,MAAM,mBAAmB;;;CAGf,CAAC;AAEX,QAAA,MAAM,gBAAgB;;;;CAIZ,CAAC;AAEX,eAAO,MAAM,iBAAiB,EAAuC,CAAC,MAAM,OAAO,mBAAmB,CAAC,EAAE,CAAC;AAE1G,eAAO,MAAM,cAAc,EAAoC,CAAC,MAAM,OAAO,gBAAgB,CAAC,EAAE,CAAC;AAEjG,QAAA,MAAM,cAAc;;;8EAYnB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,eAAe,CAAC,KAAK,GAAG,YAAY,CAAC,OAAO,cAAc,CAAC,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE/G;;;GAGG;AACH,iBAAS,MAAM,CAAC,EAAE,SAAS,EAAE,OAAmB,EAAE,IAAgB,EAAE,GAAG,KAAK,EAAE,EAAE,WAAW,2CAE1F;AAED,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC"}
@@ -0,0 +1,33 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Toggle as TogglePrimitive } from '@base-ui/react/toggle';
3
+ import { cva } from 'class-variance-authority';
4
+ import { cn } from '../../lib/utils';
5
+ const toggleVariantStyles = {
6
+ default: 'bg-transparent',
7
+ outline: 'border border-input bg-transparent hover:bg-muted',
8
+ };
9
+ const toggleSizeStyles = {
10
+ default: 'h-8 min-w-8 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2',
11
+ sm: "h-7 min-w-7 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5",
12
+ lg: 'h-9 min-w-9 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2',
13
+ };
14
+ export const toggleVariantKeys = Object.keys(toggleVariantStyles);
15
+ export const toggleSizeKeys = Object.keys(toggleSizeStyles);
16
+ const toggleVariants = cva("group/toggle inline-flex items-center justify-center gap-1 rounded-lg text-sm font-medium whitespace-nowrap transition-all outline-none hover:bg-muted hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 aria-pressed:bg-muted data-[state=on]:bg-muted dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", {
17
+ variants: {
18
+ variant: toggleVariantStyles,
19
+ size: toggleSizeStyles,
20
+ },
21
+ defaultVariants: {
22
+ variant: 'default',
23
+ size: 'default',
24
+ },
25
+ });
26
+ /**
27
+ * A two-state button (pressed / not pressed) for toolbar actions and binary choices.
28
+ * Renders a native `<button>` with `aria-pressed`. For settings-style on/off in forms, consider `Switch` instead.
29
+ */
30
+ function Toggle({ className, variant = 'default', size = 'default', ...props }) {
31
+ return _jsx(TogglePrimitive, { "data-slot": "toggle", className: cn(toggleVariants({ variant, size, className })), ...props });
32
+ }
33
+ export { Toggle, toggleVariants };
@@ -0,0 +1,11 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+ import { Toggle } from './toggle';
3
+ declare const meta: Meta<typeof Toggle>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof meta>;
6
+ export declare const Default: Story;
7
+ export declare const Gallery: Story;
8
+ export declare const Outline: Story;
9
+ export declare const Small: Story;
10
+ export declare const Large: Story;
11
+ //# sourceMappingURL=toggle.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toggle.stories.d.ts","sourceRoot":"","sources":["../../../src/components/toggle/toggle.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGvD,OAAO,EAAE,MAAM,EAAqC,MAAM,UAAU,CAAC;AAmCrE,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,MAAM,CA2B7B,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC;AAEjC,eAAO,MAAM,OAAO,EAAE,KA2CrB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAGrB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAGnB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAGnB,CAAC"}