@wheelhouse/ui 0.1.5 → 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 (466) 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 +42 -0
  47. package/dist/components/badge/badge.d.ts.map +1 -0
  48. package/dist/components/badge/badge.js +51 -0
  49. package/dist/components/badge/badge.stories.d.ts +20 -0
  50. package/dist/components/badge/badge.stories.d.ts.map +1 -0
  51. package/dist/components/badge/badge.stories.js +90 -0
  52. package/dist/components/badge/index.d.ts +3 -0
  53. package/dist/components/badge/index.d.ts.map +1 -0
  54. package/dist/components/badge/index.js +1 -0
  55. package/dist/components/breadcrumb/breadcrumb.d.ts +25 -0
  56. package/dist/components/breadcrumb/breadcrumb.d.ts.map +1 -0
  57. package/dist/components/breadcrumb/breadcrumb.js +39 -0
  58. package/dist/components/breadcrumb/breadcrumb.stories.d.ts +16 -0
  59. package/dist/components/breadcrumb/breadcrumb.stories.d.ts.map +1 -0
  60. package/dist/components/breadcrumb/breadcrumb.stories.js +21 -0
  61. package/dist/components/breadcrumb/index.d.ts +2 -0
  62. package/dist/components/breadcrumb/index.d.ts.map +1 -0
  63. package/dist/components/breadcrumb/index.js +1 -0
  64. package/dist/components/button/button.d.ts +9 -6
  65. package/dist/components/button/button.d.ts.map +1 -1
  66. package/dist/components/button/button.js +4 -4
  67. package/dist/components/button-group/button-group.d.ts +3 -1
  68. package/dist/components/button-group/button-group.d.ts.map +1 -1
  69. package/dist/components/button-group/button-group.js +1 -1
  70. package/dist/components/button-group/button-group.stories.d.ts +1 -0
  71. package/dist/components/button-group/button-group.stories.d.ts.map +1 -1
  72. package/dist/components/button-group/button-group.stories.js +4 -0
  73. package/dist/components/button-group/index.d.ts +1 -0
  74. package/dist/components/button-group/index.d.ts.map +1 -1
  75. package/dist/components/card/card.d.ts +28 -0
  76. package/dist/components/card/card.d.ts.map +1 -0
  77. package/dist/components/card/card.js +25 -0
  78. package/dist/components/card/card.stories.d.ts +10 -0
  79. package/dist/components/card/card.stories.d.ts.map +1 -0
  80. package/dist/components/card/card.stories.js +30 -0
  81. package/dist/components/card/index.d.ts +2 -0
  82. package/dist/components/card/index.d.ts.map +1 -0
  83. package/dist/components/card/index.js +1 -0
  84. package/dist/components/checkbox/checkbox.d.ts +9 -0
  85. package/dist/components/checkbox/checkbox.d.ts.map +1 -0
  86. package/dist/components/checkbox/checkbox.js +9 -0
  87. package/dist/components/checkbox/checkbox.stories.d.ts +19 -0
  88. package/dist/components/checkbox/checkbox.stories.d.ts.map +1 -0
  89. package/dist/components/checkbox/checkbox.stories.js +31 -0
  90. package/dist/components/checkbox/index.d.ts +2 -0
  91. package/dist/components/checkbox/index.d.ts.map +1 -0
  92. package/dist/components/checkbox/index.js +1 -0
  93. package/dist/components/collapsible/collapsible.d.ts +17 -0
  94. package/dist/components/collapsible/collapsible.d.ts.map +1 -0
  95. package/dist/components/collapsible/collapsible.js +17 -0
  96. package/dist/components/collapsible/collapsible.stories.d.ts +16 -0
  97. package/dist/components/collapsible/collapsible.stories.d.ts.map +1 -0
  98. package/dist/components/collapsible/collapsible.stories.js +24 -0
  99. package/dist/components/collapsible/index.d.ts +3 -0
  100. package/dist/components/collapsible/index.d.ts.map +1 -0
  101. package/dist/components/collapsible/index.js +1 -0
  102. package/dist/components/combobox/combobox.d.ts +38 -0
  103. package/dist/components/combobox/combobox.d.ts.map +1 -0
  104. package/dist/components/combobox/combobox.js +65 -0
  105. package/dist/components/combobox/combobox.stories.d.ts +18 -0
  106. package/dist/components/combobox/combobox.stories.d.ts.map +1 -0
  107. package/dist/components/combobox/combobox.stories.js +46 -0
  108. package/dist/components/combobox/index.d.ts +3 -0
  109. package/dist/components/combobox/index.d.ts.map +1 -0
  110. package/dist/components/combobox/index.js +1 -0
  111. package/dist/components/command/command.d.ts +31 -0
  112. package/dist/components/command/command.d.ts.map +1 -0
  113. package/dist/components/command/command.js +37 -0
  114. package/dist/components/command/command.stories.d.ts +16 -0
  115. package/dist/components/command/command.stories.d.ts.map +1 -0
  116. package/dist/components/command/command.stories.js +26 -0
  117. package/dist/components/command/index.d.ts +2 -0
  118. package/dist/components/command/index.d.ts.map +1 -0
  119. package/dist/components/command/index.js +1 -0
  120. package/dist/components/context-menu/context-menu.d.ts +62 -0
  121. package/dist/components/context-menu/context-menu.d.ts.map +1 -0
  122. package/dist/components/context-menu/context-menu.js +53 -0
  123. package/dist/components/context-menu/context-menu.stories.d.ts +17 -0
  124. package/dist/components/context-menu/context-menu.stories.d.ts.map +1 -0
  125. package/dist/components/context-menu/context-menu.stories.js +27 -0
  126. package/dist/components/context-menu/index.d.ts +2 -0
  127. package/dist/components/context-menu/index.d.ts.map +1 -0
  128. package/dist/components/context-menu/index.js +1 -0
  129. package/dist/components/dialog/dialog.d.ts +40 -0
  130. package/dist/components/dialog/dialog.d.ts.map +1 -0
  131. package/dist/components/dialog/dialog.js +38 -0
  132. package/dist/components/dialog/dialog.stories.d.ts +9 -0
  133. package/dist/components/dialog/dialog.stories.d.ts.map +1 -0
  134. package/dist/components/dialog/dialog.stories.js +22 -0
  135. package/dist/components/dialog/index.d.ts +3 -0
  136. package/dist/components/dialog/index.d.ts.map +1 -0
  137. package/dist/components/dialog/index.js +1 -0
  138. package/dist/components/direction/direction.d.ts +7 -0
  139. package/dist/components/direction/direction.d.ts.map +1 -0
  140. package/dist/components/direction/direction.js +5 -0
  141. package/dist/components/direction/direction.stories.d.ts +8 -0
  142. package/dist/components/direction/direction.stories.d.ts.map +1 -0
  143. package/dist/components/direction/direction.stories.js +23 -0
  144. package/dist/components/direction/index.d.ts +2 -0
  145. package/dist/components/direction/index.d.ts.map +1 -0
  146. package/dist/components/direction/index.js +1 -0
  147. package/dist/components/drawer/drawer.d.ts +25 -0
  148. package/dist/components/drawer/drawer.d.ts.map +1 -0
  149. package/dist/components/drawer/drawer.js +36 -0
  150. package/dist/components/drawer/drawer.stories.d.ts +7 -0
  151. package/dist/components/drawer/drawer.stories.d.ts.map +1 -0
  152. package/dist/components/drawer/drawer.stories.js +17 -0
  153. package/dist/components/drawer/index.d.ts +2 -0
  154. package/dist/components/drawer/index.d.ts.map +1 -0
  155. package/dist/components/drawer/index.js +1 -0
  156. package/dist/components/dropdown-menu/dropdown-menu.d.ts +65 -0
  157. package/dist/components/dropdown-menu/dropdown-menu.d.ts.map +1 -0
  158. package/dist/components/dropdown-menu/dropdown-menu.js +53 -0
  159. package/dist/components/dropdown-menu/dropdown-menu.stories.d.ts +18 -0
  160. package/dist/components/dropdown-menu/dropdown-menu.stories.d.ts.map +1 -0
  161. package/dist/components/dropdown-menu/dropdown-menu.stories.js +31 -0
  162. package/dist/components/dropdown-menu/index.d.ts +3 -0
  163. package/dist/components/dropdown-menu/index.d.ts.map +1 -0
  164. package/dist/components/dropdown-menu/index.js +1 -0
  165. package/dist/components/empty/empty.d.ts +25 -0
  166. package/dist/components/empty/empty.d.ts.map +1 -0
  167. package/dist/components/empty/empty.js +34 -0
  168. package/dist/components/empty/empty.stories.d.ts +7 -0
  169. package/dist/components/empty/empty.stories.d.ts.map +1 -0
  170. package/dist/components/empty/empty.stories.js +19 -0
  171. package/dist/components/empty/index.d.ts +3 -0
  172. package/dist/components/empty/index.d.ts.map +1 -0
  173. package/dist/components/empty/index.js +1 -0
  174. package/dist/components/field/field.d.ts +22 -0
  175. package/dist/components/field/field.d.ts.map +1 -0
  176. package/dist/components/field/field.js +34 -0
  177. package/dist/components/field/field.stories.d.ts +16 -0
  178. package/dist/components/field/field.stories.d.ts.map +1 -0
  179. package/dist/components/field/field.stories.js +26 -0
  180. package/dist/components/field/index.d.ts +2 -0
  181. package/dist/components/field/index.d.ts.map +1 -0
  182. package/dist/components/field/index.js +1 -0
  183. package/dist/components/filters/filters-defaults.d.ts +5 -0
  184. package/dist/components/filters/filters-defaults.d.ts.map +1 -0
  185. package/dist/components/filters/filters-defaults.js +97 -0
  186. package/dist/components/filters/filters-types.d.ts +135 -0
  187. package/dist/components/filters/filters-types.d.ts.map +1 -0
  188. package/dist/components/filters/filters-types.js +1 -0
  189. package/dist/components/filters/filters-utils.d.ts +4 -0
  190. package/dist/components/filters/filters-utils.d.ts.map +1 -0
  191. package/dist/components/filters/filters-utils.js +12 -0
  192. package/dist/components/filters/filters.d.ts +29 -0
  193. package/dist/components/filters/filters.d.ts.map +1 -0
  194. package/dist/components/filters/filters.js +733 -0
  195. package/dist/components/filters/filters.stories.d.ts +8 -0
  196. package/dist/components/filters/filters.stories.d.ts.map +1 -0
  197. package/dist/components/filters/filters.stories.js +48 -0
  198. package/dist/components/filters/index.d.ts +5 -0
  199. package/dist/components/filters/index.d.ts.map +1 -0
  200. package/dist/components/filters/index.js +4 -0
  201. package/dist/components/frame/frame.d.ts +65 -0
  202. package/dist/components/frame/frame.d.ts.map +1 -0
  203. package/dist/components/frame/frame.js +108 -0
  204. package/dist/components/frame/frame.stories.d.ts +14 -0
  205. package/dist/components/frame/frame.stories.d.ts.map +1 -0
  206. package/dist/components/frame/frame.stories.js +50 -0
  207. package/dist/components/frame/index.d.ts +3 -0
  208. package/dist/components/frame/index.d.ts.map +1 -0
  209. package/dist/components/frame/index.js +1 -0
  210. package/dist/components/hover-card/hover-card.d.ts +16 -0
  211. package/dist/components/hover-card/hover-card.d.ts.map +1 -0
  212. package/dist/components/hover-card/hover-card.js +14 -0
  213. package/dist/components/hover-card/hover-card.stories.d.ts +7 -0
  214. package/dist/components/hover-card/hover-card.stories.d.ts.map +1 -0
  215. package/dist/components/hover-card/hover-card.stories.js +15 -0
  216. package/dist/components/hover-card/index.d.ts +3 -0
  217. package/dist/components/hover-card/index.d.ts.map +1 -0
  218. package/dist/components/hover-card/index.js +1 -0
  219. package/dist/components/index.d.ts +48 -0
  220. package/dist/components/index.d.ts.map +1 -1
  221. package/dist/components/index.js +48 -0
  222. package/dist/components/input/index.d.ts +2 -0
  223. package/dist/components/input/index.d.ts.map +1 -0
  224. package/dist/components/input/index.js +1 -0
  225. package/dist/components/input/input.d.ts +16 -0
  226. package/dist/components/input/input.d.ts.map +1 -0
  227. package/dist/components/input/input.js +22 -0
  228. package/dist/components/input/input.stories.d.ts +28 -0
  229. package/dist/components/input/input.stories.d.ts.map +1 -0
  230. package/dist/components/input/input.stories.js +33 -0
  231. package/dist/components/input-group/index.d.ts +3 -0
  232. package/dist/components/input-group/index.d.ts.map +1 -0
  233. package/dist/components/input-group/index.js +1 -0
  234. package/dist/components/input-group/input-group.d.ts +44 -0
  235. package/dist/components/input-group/input-group.d.ts.map +1 -0
  236. package/dist/components/input-group/input-group.js +72 -0
  237. package/dist/components/input-group/input-group.stories.d.ts +18 -0
  238. package/dist/components/input-group/input-group.stories.d.ts.map +1 -0
  239. package/dist/components/input-group/input-group.stories.js +29 -0
  240. package/dist/components/item/index.d.ts +3 -0
  241. package/dist/components/item/index.d.ts.map +1 -0
  242. package/dist/components/item/index.js +1 -0
  243. package/dist/components/item/item.d.ts +60 -0
  244. package/dist/components/item/item.d.ts.map +1 -0
  245. package/dist/components/item/item.js +95 -0
  246. package/dist/components/item/item.stories.d.ts +34 -0
  247. package/dist/components/item/item.stories.d.ts.map +1 -0
  248. package/dist/components/item/item.stories.js +41 -0
  249. package/dist/components/kbd/index.d.ts +3 -0
  250. package/dist/components/kbd/index.d.ts.map +1 -0
  251. package/dist/components/kbd/index.js +1 -0
  252. package/dist/components/kbd/kbd.d.ts +15 -0
  253. package/dist/components/kbd/kbd.d.ts.map +1 -0
  254. package/dist/components/kbd/kbd.js +16 -0
  255. package/dist/components/kbd/kbd.stories.d.ts +17 -0
  256. package/dist/components/kbd/kbd.stories.d.ts.map +1 -0
  257. package/dist/components/kbd/kbd.stories.js +25 -0
  258. package/dist/components/label/index.d.ts +2 -0
  259. package/dist/components/label/index.d.ts.map +1 -0
  260. package/dist/components/label/index.js +1 -0
  261. package/dist/components/label/label.d.ts +6 -0
  262. package/dist/components/label/label.d.ts.map +1 -0
  263. package/dist/components/label/label.js +10 -0
  264. package/dist/components/label/label.stories.d.ts +18 -0
  265. package/dist/components/label/label.stories.d.ts.map +1 -0
  266. package/dist/components/label/label.stories.js +29 -0
  267. package/dist/components/menubar/index.d.ts +3 -0
  268. package/dist/components/menubar/index.d.ts.map +1 -0
  269. package/dist/components/menubar/index.js +1 -0
  270. package/dist/components/menubar/menubar.d.ts +64 -0
  271. package/dist/components/menubar/menubar.d.ts.map +1 -0
  272. package/dist/components/menubar/menubar.js +56 -0
  273. package/dist/components/menubar/menubar.stories.d.ts +15 -0
  274. package/dist/components/menubar/menubar.stories.d.ts.map +1 -0
  275. package/dist/components/menubar/menubar.stories.js +18 -0
  276. package/dist/components/native-select/index.d.ts +2 -0
  277. package/dist/components/native-select/index.d.ts.map +1 -0
  278. package/dist/components/native-select/index.js +1 -0
  279. package/dist/components/native-select/native-select.d.ts +12 -0
  280. package/dist/components/native-select/native-select.d.ts.map +1 -0
  281. package/dist/components/native-select/native-select.js +14 -0
  282. package/dist/components/native-select/native-select.stories.d.ts +8 -0
  283. package/dist/components/native-select/native-select.stories.d.ts.map +1 -0
  284. package/dist/components/native-select/native-select.stories.js +19 -0
  285. package/dist/components/navigation-menu/index.d.ts +3 -0
  286. package/dist/components/navigation-menu/index.d.ts.map +1 -0
  287. package/dist/components/navigation-menu/index.js +1 -0
  288. package/dist/components/navigation-menu/navigation-menu.d.ts +33 -0
  289. package/dist/components/navigation-menu/navigation-menu.d.ts.map +1 -0
  290. package/dist/components/navigation-menu/navigation-menu.js +33 -0
  291. package/dist/components/navigation-menu/navigation-menu.stories.d.ts +14 -0
  292. package/dist/components/navigation-menu/navigation-menu.stories.d.ts.map +1 -0
  293. package/dist/components/navigation-menu/navigation-menu.stories.js +14 -0
  294. package/dist/components/pagination/index.d.ts +3 -0
  295. package/dist/components/pagination/index.d.ts.map +1 -0
  296. package/dist/components/pagination/index.js +1 -0
  297. package/dist/components/pagination/pagination.d.ts +31 -0
  298. package/dist/components/pagination/pagination.d.ts.map +1 -0
  299. package/dist/components/pagination/pagination.js +29 -0
  300. package/dist/components/pagination/pagination.stories.d.ts +14 -0
  301. package/dist/components/pagination/pagination.stories.d.ts.map +1 -0
  302. package/dist/components/pagination/pagination.stories.js +14 -0
  303. package/dist/components/popover/index.d.ts +2 -0
  304. package/dist/components/popover/index.d.ts.map +1 -0
  305. package/dist/components/popover/index.js +1 -0
  306. package/dist/components/popover/popover.d.ts +20 -0
  307. package/dist/components/popover/popover.d.ts.map +1 -0
  308. package/dist/components/popover/popover.js +24 -0
  309. package/dist/components/popover/popover.stories.d.ts +7 -0
  310. package/dist/components/popover/popover.stories.d.ts.map +1 -0
  311. package/dist/components/popover/popover.stories.js +17 -0
  312. package/dist/components/progress/index.d.ts +3 -0
  313. package/dist/components/progress/index.d.ts.map +1 -0
  314. package/dist/components/progress/index.js +1 -0
  315. package/dist/components/progress/progress.d.ts +18 -0
  316. package/dist/components/progress/progress.d.ts.map +1 -0
  317. package/dist/components/progress/progress.js +20 -0
  318. package/dist/components/progress/progress.stories.d.ts +9 -0
  319. package/dist/components/progress/progress.stories.d.ts.map +1 -0
  320. package/dist/components/progress/progress.stories.js +29 -0
  321. package/dist/components/radio-group/index.d.ts +3 -0
  322. package/dist/components/radio-group/index.d.ts.map +1 -0
  323. package/dist/components/radio-group/index.js +1 -0
  324. package/dist/components/radio-group/radio-group.d.ts +13 -0
  325. package/dist/components/radio-group/radio-group.d.ts.map +1 -0
  326. package/dist/components/radio-group/radio-group.js +12 -0
  327. package/dist/components/radio-group/radio-group.stories.d.ts +7 -0
  328. package/dist/components/radio-group/radio-group.stories.d.ts.map +1 -0
  329. package/dist/components/radio-group/radio-group.stories.js +18 -0
  330. package/dist/components/resizable/index.d.ts +2 -0
  331. package/dist/components/resizable/index.d.ts.map +1 -0
  332. package/dist/components/resizable/index.js +1 -0
  333. package/dist/components/resizable/resizable.d.ts +12 -0
  334. package/dist/components/resizable/resizable.d.ts.map +1 -0
  335. package/dist/components/resizable/resizable.js +14 -0
  336. package/dist/components/resizable/resizable.stories.d.ts +7 -0
  337. package/dist/components/resizable/resizable.stories.d.ts.map +1 -0
  338. package/dist/components/resizable/resizable.stories.js +16 -0
  339. package/dist/components/scroll-area/index.d.ts +2 -0
  340. package/dist/components/scroll-area/index.d.ts.map +1 -0
  341. package/dist/components/scroll-area/index.js +1 -0
  342. package/dist/components/scroll-area/scroll-area.d.ts +7 -0
  343. package/dist/components/scroll-area/scroll-area.d.ts.map +1 -0
  344. package/dist/components/scroll-area/scroll-area.js +11 -0
  345. package/dist/components/scroll-area/scroll-area.stories.d.ts +6 -0
  346. package/dist/components/scroll-area/scroll-area.stories.d.ts.map +1 -0
  347. package/dist/components/scroll-area/scroll-area.stories.js +13 -0
  348. package/dist/components/select/index.d.ts +3 -0
  349. package/dist/components/select/index.d.ts.map +1 -0
  350. package/dist/components/select/index.js +1 -0
  351. package/dist/components/select/select.d.ts +49 -0
  352. package/dist/components/select/select.d.ts.map +1 -0
  353. package/dist/components/select/select.js +50 -0
  354. package/dist/components/select/select.stories.d.ts +9 -0
  355. package/dist/components/select/select.stories.d.ts.map +1 -0
  356. package/dist/components/select/select.stories.js +20 -0
  357. package/dist/components/separator/index.d.ts +1 -0
  358. package/dist/components/separator/index.d.ts.map +1 -1
  359. package/dist/components/separator/separator.d.ts +3 -1
  360. package/dist/components/separator/separator.d.ts.map +1 -1
  361. package/dist/components/sheet/index.d.ts +2 -0
  362. package/dist/components/sheet/index.d.ts.map +1 -0
  363. package/dist/components/sheet/index.js +1 -0
  364. package/dist/components/sheet/sheet.d.ts +34 -0
  365. package/dist/components/sheet/sheet.d.ts.map +1 -0
  366. package/dist/components/sheet/sheet.js +38 -0
  367. package/dist/components/sheet/sheet.stories.d.ts +9 -0
  368. package/dist/components/sheet/sheet.stories.d.ts.map +1 -0
  369. package/dist/components/sheet/sheet.stories.js +21 -0
  370. package/dist/components/slider/index.d.ts +3 -0
  371. package/dist/components/slider/index.d.ts.map +1 -0
  372. package/dist/components/slider/index.js +1 -0
  373. package/dist/components/slider/slider.d.ts +15 -0
  374. package/dist/components/slider/slider.d.ts.map +1 -0
  375. package/dist/components/slider/slider.js +20 -0
  376. package/dist/components/slider/slider.stories.d.ts +11 -0
  377. package/dist/components/slider/slider.stories.d.ts.map +1 -0
  378. package/dist/components/slider/slider.stories.js +36 -0
  379. package/dist/components/sonner/index.d.ts +4 -0
  380. package/dist/components/sonner/index.d.ts.map +1 -0
  381. package/dist/components/sonner/index.js +2 -0
  382. package/dist/components/sonner/sonner.d.ts +12 -0
  383. package/dist/components/sonner/sonner.d.ts.map +1 -0
  384. package/dist/components/sonner/sonner.js +32 -0
  385. package/dist/components/sonner/sonner.stories.d.ts +8 -0
  386. package/dist/components/sonner/sonner.stories.d.ts.map +1 -0
  387. package/dist/components/sonner/sonner.stories.js +25 -0
  388. package/dist/components/sonner/toast.d.ts +2 -0
  389. package/dist/components/sonner/toast.d.ts.map +1 -0
  390. package/dist/components/sonner/toast.js +1 -0
  391. package/dist/components/spinner/index.d.ts +3 -0
  392. package/dist/components/spinner/index.d.ts.map +1 -0
  393. package/dist/components/spinner/index.js +1 -0
  394. package/dist/components/spinner/spinner.d.ts +13 -0
  395. package/dist/components/spinner/spinner.d.ts.map +1 -0
  396. package/dist/components/spinner/spinner.js +12 -0
  397. package/dist/components/spinner/spinner.stories.d.ts +9 -0
  398. package/dist/components/spinner/spinner.stories.d.ts.map +1 -0
  399. package/dist/components/spinner/spinner.stories.js +20 -0
  400. package/dist/components/switch/index.d.ts +2 -0
  401. package/dist/components/switch/index.d.ts.map +1 -0
  402. package/dist/components/switch/index.js +1 -0
  403. package/dist/components/switch/switch.d.ts +13 -0
  404. package/dist/components/switch/switch.d.ts.map +1 -0
  405. package/dist/components/switch/switch.js +8 -0
  406. package/dist/components/switch/switch.stories.d.ts +20 -0
  407. package/dist/components/switch/switch.stories.d.ts.map +1 -0
  408. package/dist/components/switch/switch.stories.js +46 -0
  409. package/dist/components/tabs/index.d.ts +3 -0
  410. package/dist/components/tabs/index.d.ts.map +1 -0
  411. package/dist/components/tabs/index.js +1 -0
  412. package/dist/components/tabs/tabs.d.ts +35 -0
  413. package/dist/components/tabs/tabs.d.ts.map +1 -0
  414. package/dist/components/tabs/tabs.js +34 -0
  415. package/dist/components/tabs/tabs.stories.d.ts +10 -0
  416. package/dist/components/tabs/tabs.stories.d.ts.map +1 -0
  417. package/dist/components/tabs/tabs.stories.js +29 -0
  418. package/dist/components/text/index.d.ts +3 -0
  419. package/dist/components/text/index.d.ts.map +1 -0
  420. package/dist/components/text/index.js +1 -0
  421. package/dist/components/text/text.d.ts +47 -0
  422. package/dist/components/text/text.d.ts.map +1 -0
  423. package/dist/components/text/text.js +53 -0
  424. package/dist/components/text/text.stories.d.ts +11 -0
  425. package/dist/components/text/text.stories.d.ts.map +1 -0
  426. package/dist/components/text/text.stories.js +84 -0
  427. package/dist/components/textarea/index.d.ts +2 -0
  428. package/dist/components/textarea/index.d.ts.map +1 -0
  429. package/dist/components/textarea/index.js +1 -0
  430. package/dist/components/textarea/textarea.d.ts +11 -0
  431. package/dist/components/textarea/textarea.d.ts.map +1 -0
  432. package/dist/components/textarea/textarea.js +10 -0
  433. package/dist/components/textarea/textarea.stories.d.ts +24 -0
  434. package/dist/components/textarea/textarea.stories.d.ts.map +1 -0
  435. package/dist/components/textarea/textarea.stories.js +32 -0
  436. package/dist/components/toggle/index.d.ts +3 -0
  437. package/dist/components/toggle/index.d.ts.map +1 -0
  438. package/dist/components/toggle/index.js +1 -0
  439. package/dist/components/toggle/toggle.d.ts +31 -0
  440. package/dist/components/toggle/toggle.d.ts.map +1 -0
  441. package/dist/components/toggle/toggle.js +33 -0
  442. package/dist/components/toggle/toggle.stories.d.ts +11 -0
  443. package/dist/components/toggle/toggle.stories.d.ts.map +1 -0
  444. package/dist/components/toggle/toggle.stories.js +60 -0
  445. package/dist/components/toggle-group/index.d.ts +3 -0
  446. package/dist/components/toggle-group/index.d.ts.map +1 -0
  447. package/dist/components/toggle-group/index.js +1 -0
  448. package/dist/components/toggle-group/toggle-group.d.ts +32 -0
  449. package/dist/components/toggle-group/toggle-group.d.ts.map +1 -0
  450. package/dist/components/toggle-group/toggle-group.js +33 -0
  451. package/dist/components/toggle-group/toggle-group.stories.d.ts +10 -0
  452. package/dist/components/toggle-group/toggle-group.stories.d.ts.map +1 -0
  453. package/dist/components/toggle-group/toggle-group.stories.js +28 -0
  454. package/dist/components/tooltip/index.d.ts +3 -0
  455. package/dist/components/tooltip/index.d.ts.map +1 -0
  456. package/dist/components/tooltip/index.js +1 -0
  457. package/dist/components/tooltip/tooltip.d.ts +22 -0
  458. package/dist/components/tooltip/tooltip.d.ts.map +1 -0
  459. package/dist/components/tooltip/tooltip.js +21 -0
  460. package/dist/components/tooltip/tooltip.stories.d.ts +11 -0
  461. package/dist/components/tooltip/tooltip.stories.d.ts.map +1 -0
  462. package/dist/components/tooltip/tooltip.stories.js +33 -0
  463. package/dist/tsconfig.tsbuildinfo +1 -1
  464. package/llms.txt +14 -19
  465. package/package.json +13 -7
  466. package/src/styles/globals.css +10 -7
@@ -0,0 +1,30 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from '.';
3
+ import { Button } from '../button';
4
+ const meta = {
5
+ title: 'UI/Card',
6
+ component: Card,
7
+ tags: ['autodocs'],
8
+ parameters: {
9
+ layout: 'centered',
10
+ },
11
+ decorators: [
12
+ (Story) => (_jsx("div", { className: "w-80", children: _jsx(Story, {}) })),
13
+ ],
14
+ };
15
+ export default meta;
16
+ export const Default = {
17
+ render: (args) => (_jsxs(Card, { ...args, children: [_jsxs(CardHeader, { children: [_jsx(CardTitle, { children: "Card title" }), _jsx(CardDescription, { children: "A short description of this card." })] }), _jsx(CardContent, { children: _jsx("p", { className: "text-sm text-muted-foreground", children: "This is the main content area of the card." }) }), _jsxs(CardFooter, { children: [_jsx(Button, { variant: "outline", size: "sm", children: "Cancel" }), _jsx(Button, { size: "sm", className: "ml-auto", children: "Save" })] })] })),
18
+ };
19
+ export const Gallery = {
20
+ parameters: { layout: 'padded' },
21
+ decorators: [],
22
+ render: () => (_jsxs("div", { className: "flex 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: "Sizes" }), _jsxs("div", { className: "flex flex-wrap items-start gap-4", children: [_jsx("div", { className: "w-72", children: _jsxs(Card, { size: "default", children: [_jsxs(CardHeader, { children: [_jsx(CardTitle, { children: "Default" }), _jsx(CardDescription, { children: "Standard spacing variant." })] }), _jsx(CardContent, { children: _jsx("p", { className: "text-sm text-muted-foreground", children: "Content area." }) })] }) }), _jsx("div", { className: "w-72", children: _jsxs(Card, { size: "sm", children: [_jsxs(CardHeader, { children: [_jsx(CardTitle, { children: "Small" }), _jsx(CardDescription, { children: "Compact spacing variant." })] }), _jsx(CardContent, { children: _jsx("p", { className: "text-sm text-muted-foreground", children: "Content area." }) })] }) })] })] }), _jsxs("div", { className: "flex flex-col gap-3", children: [_jsx("p", { className: "text-xs font-medium tracking-wide text-muted-foreground uppercase", children: "With footer" }), _jsx("div", { className: "w-72", children: _jsxs(Card, { children: [_jsxs(CardHeader, { children: [_jsx(CardTitle, { children: "Card title" }), _jsx(CardDescription, { children: "A short description of this card." })] }), _jsx(CardContent, { children: _jsx("p", { className: "text-sm text-muted-foreground", children: "This is the main content area." }) }), _jsxs(CardFooter, { children: [_jsx(Button, { variant: "outline", size: "sm", children: "Cancel" }), _jsx(Button, { size: "sm", className: "ml-auto", children: "Save" })] })] }) })] }), _jsxs("div", { className: "flex flex-col gap-3", children: [_jsx("p", { className: "text-xs font-medium tracking-wide text-muted-foreground uppercase", children: "With action" }), _jsx("div", { className: "w-72", children: _jsxs(Card, { children: [_jsxs(CardHeader, { children: [_jsx(CardTitle, { children: "Notifications" }), _jsx(CardDescription, { children: "Manage your notification preferences." }), _jsx(CardAction, { children: _jsx(Button, { variant: "ghost", size: "xs", children: "Edit" }) })] }), _jsx(CardContent, { children: _jsx("p", { className: "text-sm text-muted-foreground", children: "You have 3 unread notifications." }) })] }) })] })] })),
23
+ };
24
+ export const Small = {
25
+ render: (args) => (_jsxs(Card, { size: "sm", ...args, children: [_jsxs(CardHeader, { children: [_jsx(CardTitle, { children: "Small card" }), _jsx(CardDescription, { children: "Compact spacing variant." })] }), _jsx(CardContent, { children: _jsx("p", { className: "text-sm text-muted-foreground", children: "Content area." }) })] })),
26
+ argTypes: { size: { control: false } },
27
+ };
28
+ export const WithAction = {
29
+ render: (args) => (_jsxs(Card, { ...args, children: [_jsxs(CardHeader, { children: [_jsx(CardTitle, { children: "Notifications" }), _jsx(CardDescription, { children: "Manage your notification preferences." }), _jsx(CardAction, { children: _jsx(Button, { variant: "ghost", size: "xs", children: "Edit" }) })] }), _jsx(CardContent, { children: _jsx("p", { className: "text-sm text-muted-foreground", children: "You have 3 unread notifications." }) })] })),
30
+ };
@@ -0,0 +1,2 @@
1
+ export { Card, CardHeader, CardTitle, CardDescription, CardAction, CardContent, CardFooter } from './card';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/card/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC"}
@@ -0,0 +1 @@
1
+ export { Card, CardHeader, CardTitle, CardDescription, CardAction, CardContent, CardFooter } from './card';
@@ -0,0 +1,9 @@
1
+ import { Checkbox as CheckboxPrimitive } from '@base-ui/react/checkbox';
2
+ /**
3
+ * Props for `Checkbox`. Inherits additional behavior from
4
+ * [Base UI Checkbox](https://base-ui.com/react/components/checkbox).
5
+ */
6
+ export type CheckboxProps = CheckboxPrimitive.Root.Props;
7
+ declare function Checkbox({ className, ...props }: CheckboxPrimitive.Root.Props): import("react/jsx-runtime").JSX.Element;
8
+ export { Checkbox };
9
+ //# sourceMappingURL=checkbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkbox.d.ts","sourceRoot":"","sources":["../../../src/components/checkbox/checkbox.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,IAAI,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAKxE;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC;AAEzD,iBAAS,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,CAAC,IAAI,CAAC,KAAK,2CAetE;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC"}
@@ -0,0 +1,9 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { Checkbox as CheckboxPrimitive } from '@base-ui/react/checkbox';
4
+ import { cn } from '../../lib/utils';
5
+ import { CheckIcon } from '@phosphor-icons/react/Check';
6
+ function Checkbox({ className, ...props }) {
7
+ return (_jsx(CheckboxPrimitive.Root, { "data-slot": "checkbox", className: cn('peer relative flex size-4 shrink-0 items-center justify-center rounded-[4px] border border-input transition-colors outline-none group-has-disabled/field:opacity-50 after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:bg-muted disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 aria-invalid:aria-checked:border-primary dark:bg-input/30 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-checked:border-primary data-checked:bg-primary data-checked:text-primary-foreground dark:data-checked:bg-primary', className), ...props, children: _jsx(CheckboxPrimitive.Indicator, { "data-slot": "checkbox-indicator", className: "grid place-content-center text-current transition-none [&>svg]:size-3.5", children: _jsx(CheckIcon, {}) }) }));
8
+ }
9
+ export { Checkbox };
@@ -0,0 +1,19 @@
1
+ import type { StoryObj } from '@storybook/react';
2
+ import { Checkbox } from '.';
3
+ declare const meta: {
4
+ title: string;
5
+ component: typeof Checkbox;
6
+ tags: string[];
7
+ parameters: {
8
+ layout: string;
9
+ };
10
+ };
11
+ export default meta;
12
+ type Story = StoryObj<typeof meta>;
13
+ export declare const Default: Story;
14
+ export declare const Gallery: Story;
15
+ export declare const Checked: Story;
16
+ export declare const Disabled: Story;
17
+ export declare const DisabledChecked: Story;
18
+ export declare const Invalid: Story;
19
+ //# sourceMappingURL=checkbox.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkbox.stories.d.ts","sourceRoot":"","sources":["../../../src/components/checkbox/checkbox.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC;AAG7B,QAAA,MAAM,IAAI;;;;;;;CAOuB,CAAC;AAElC,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAOrB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAmCrB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAOrB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAOtB,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAO7B,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAOrB,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Checkbox } from '.';
3
+ import { Label } from '../label/index';
4
+ const meta = {
5
+ title: 'UI/Checkbox',
6
+ component: Checkbox,
7
+ tags: ['autodocs'],
8
+ parameters: {
9
+ layout: 'centered',
10
+ },
11
+ };
12
+ export default meta;
13
+ export const Default = {
14
+ render: (args) => (_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Checkbox, { id: "default", ...args }), _jsx(Label, { htmlFor: "default", children: "Accept terms and conditions" })] })),
15
+ };
16
+ export const Gallery = {
17
+ parameters: { layout: 'padded' },
18
+ render: () => (_jsx("div", { className: "flex 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: "States" }), _jsxs("div", { className: "flex flex-col gap-3", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Checkbox, { id: "g-default" }), _jsx(Label, { htmlFor: "g-default", children: "Unchecked" })] }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Checkbox, { id: "g-checked", defaultChecked: true }), _jsx(Label, { htmlFor: "g-checked", children: "Checked" })] }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Checkbox, { id: "g-disabled", disabled: true }), _jsx(Label, { htmlFor: "g-disabled", children: "Disabled" })] }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Checkbox, { id: "g-disabled-checked", disabled: true, defaultChecked: true }), _jsx(Label, { htmlFor: "g-disabled-checked", children: "Disabled checked" })] }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Checkbox, { id: "g-invalid", "aria-invalid": true }), _jsx(Label, { htmlFor: "g-invalid", children: "Invalid" })] }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Checkbox, { id: "g-invalid-checked", "aria-invalid": true, defaultChecked: true }), _jsx(Label, { htmlFor: "g-invalid-checked", children: "Invalid checked" })] })] })] }) })),
19
+ };
20
+ export const Checked = {
21
+ render: (args) => (_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Checkbox, { id: "checked", defaultChecked: true, ...args }), _jsx(Label, { htmlFor: "checked", children: "Subscribe to newsletter" })] })),
22
+ };
23
+ export const Disabled = {
24
+ render: (args) => (_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Checkbox, { id: "disabled", disabled: true, ...args }), _jsx(Label, { htmlFor: "disabled", children: "Unavailable option" })] })),
25
+ };
26
+ export const DisabledChecked = {
27
+ render: (args) => (_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Checkbox, { id: "disabled-checked", disabled: true, defaultChecked: true, ...args }), _jsx(Label, { htmlFor: "disabled-checked", children: "Locked setting" })] })),
28
+ };
29
+ export const Invalid = {
30
+ render: (args) => (_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Checkbox, { id: "invalid", "aria-invalid": true, ...args }), _jsx(Label, { htmlFor: "invalid", children: "You must accept the terms" })] })),
31
+ };
@@ -0,0 +1,2 @@
1
+ export { Checkbox } from './checkbox';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/checkbox/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1 @@
1
+ export { Checkbox } from './checkbox';
@@ -0,0 +1,17 @@
1
+ import { Collapsible as CollapsiblePrimitive } from '@base-ui/react/collapsible';
2
+ /** Props for `Collapsible` (extends Base UI Collapsible root). */
3
+ export type CollapsibleProps = CollapsiblePrimitive.Root.Props;
4
+ /** Props for `CollapsibleTrigger`. */
5
+ export type CollapsibleTriggerProps = CollapsiblePrimitive.Trigger.Props;
6
+ /** Props for `CollapsibleContent` (Base UI panel). */
7
+ export type CollapsibleContentProps = CollapsiblePrimitive.Panel.Props;
8
+ /**
9
+ * Root for an expand/collapse region. Compose with `CollapsibleTrigger` and `CollapsibleContent`.
10
+ */
11
+ declare function Collapsible({ ...props }: CollapsibleProps): import("react/jsx-runtime").JSX.Element;
12
+ /** Button that toggles the associated panel open or closed. */
13
+ declare function CollapsibleTrigger({ ...props }: CollapsibleTriggerProps): import("react/jsx-runtime").JSX.Element;
14
+ /** Panel shown or hidden according to the root open state. */
15
+ declare function CollapsibleContent({ ...props }: CollapsibleContentProps): import("react/jsx-runtime").JSX.Element;
16
+ export { Collapsible, CollapsibleTrigger, CollapsibleContent };
17
+ //# sourceMappingURL=collapsible.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collapsible.d.ts","sourceRoot":"","sources":["../../../src/components/collapsible/collapsible.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,IAAI,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAEjF,kEAAkE;AAClE,MAAM,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC;AAE/D,sCAAsC;AACtC,MAAM,MAAM,uBAAuB,GAAG,oBAAoB,CAAC,OAAO,CAAC,KAAK,CAAC;AAEzE,sDAAsD;AACtD,MAAM,MAAM,uBAAuB,GAAG,oBAAoB,CAAC,KAAK,CAAC,KAAK,CAAC;AAEvE;;GAEG;AACH,iBAAS,WAAW,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,2CAElD;AAED,+DAA+D;AAC/D,iBAAS,kBAAkB,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,uBAAuB,2CAEhE;AAED,8DAA8D;AAC9D,iBAAS,kBAAkB,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,uBAAuB,2CAEhE;AAED,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Collapsible as CollapsiblePrimitive } from '@base-ui/react/collapsible';
3
+ /**
4
+ * Root for an expand/collapse region. Compose with `CollapsibleTrigger` and `CollapsibleContent`.
5
+ */
6
+ function Collapsible({ ...props }) {
7
+ return _jsx(CollapsiblePrimitive.Root, { "data-slot": "collapsible", ...props });
8
+ }
9
+ /** Button that toggles the associated panel open or closed. */
10
+ function CollapsibleTrigger({ ...props }) {
11
+ return _jsx(CollapsiblePrimitive.Trigger, { "data-slot": "collapsible-trigger", ...props });
12
+ }
13
+ /** Panel shown or hidden according to the root open state. */
14
+ function CollapsibleContent({ ...props }) {
15
+ return _jsx(CollapsiblePrimitive.Panel, { "data-slot": "collapsible-content", ...props });
16
+ }
17
+ export { Collapsible, CollapsibleTrigger, CollapsibleContent };
@@ -0,0 +1,16 @@
1
+ import type { StoryObj } from '@storybook/react';
2
+ import { Collapsible } from '.';
3
+ declare const meta: {
4
+ title: string;
5
+ component: typeof Collapsible;
6
+ tags: string[];
7
+ parameters: {
8
+ layout: string;
9
+ };
10
+ };
11
+ export default meta;
12
+ type Story = StoryObj<typeof meta>;
13
+ export declare const Default: Story;
14
+ export declare const OpenByDefault: Story;
15
+ export declare const Gallery: Story;
16
+ //# sourceMappingURL=collapsible.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collapsible.stories.d.ts","sourceRoot":"","sources":["../../../src/components/collapsible/collapsible.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAKvD,OAAO,EAAE,WAAW,EAA0C,MAAM,GAAG,CAAC;AAExE,QAAA,MAAM,IAAI;;;;;;;CAO0B,CAAC;AAErC,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAkBrB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAgB3B,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAyBrB,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { CaretDownIcon } from '@phosphor-icons/react/CaretDown';
3
+ import { Button } from '../button';
4
+ import { Text } from '../text';
5
+ import { Collapsible, CollapsibleContent, CollapsibleTrigger } from '.';
6
+ const meta = {
7
+ title: 'UI/Collapsible',
8
+ component: Collapsible,
9
+ tags: ['autodocs'],
10
+ parameters: {
11
+ layout: 'centered',
12
+ },
13
+ };
14
+ export default meta;
15
+ export const Default = {
16
+ render: () => (_jsxs(Collapsible, { className: "flex w-72 flex-col gap-2", children: [_jsx(CollapsibleTrigger, { render: _jsxs(Button, { variant: "outline", className: "group flex w-full items-center justify-between gap-2", children: [_jsx("span", { children: "Advanced options" }), _jsx(CaretDownIcon, { className: "size-4 shrink-0 transition-transform group-data-[panel-open]:rotate-180" })] }) }), _jsx(CollapsibleContent, { className: "flex flex-col gap-2 rounded-md border bg-card p-3 text-card-foreground shadow-xs", children: _jsx(Text, { size: "sm", tone: "muted", children: "Extra settings and details appear here when expanded." }) })] })),
17
+ };
18
+ export const OpenByDefault = {
19
+ render: () => (_jsxs(Collapsible, { defaultOpen: true, className: "flex w-72 flex-col gap-2", children: [_jsx(CollapsibleTrigger, { render: _jsxs(Button, { variant: "ghost", className: "group w-full justify-between px-2", children: [_jsx("span", { children: "Details" }), _jsx(CaretDownIcon, { className: "size-4 transition-transform group-data-[panel-open]:rotate-180" })] }) }), _jsx(CollapsibleContent, { className: "rounded-md border border-dashed p-3", children: _jsx(Text, { size: "sm", children: "This block starts expanded." }) })] })),
20
+ };
21
+ export const Gallery = {
22
+ parameters: { layout: 'padded' },
23
+ render: () => (_jsx("div", { className: "flex max-w-md flex-col gap-6", children: _jsxs("div", { className: "flex flex-col gap-2", children: [_jsx("p", { className: "text-xs font-medium tracking-wide text-muted-foreground uppercase", children: "Bordered card" }), _jsxs(Collapsible, { defaultOpen: true, className: "rounded-lg border bg-card text-card-foreground shadow-xs", children: [_jsxs("div", { className: "flex items-center justify-between gap-2 border-b px-3 py-2", children: [_jsx(Text, { weight: "medium", children: "Shipping address" }), _jsx(CollapsibleTrigger, { className: "group inline-flex size-8 items-center justify-center rounded-md text-muted-foreground hover:bg-muted hover:text-foreground", "aria-label": "Toggle shipping section", children: _jsx(CaretDownIcon, { className: "size-4 transition-transform group-data-[panel-open]:rotate-180" }) })] }), _jsx(CollapsibleContent, { className: "px-3 py-3", children: _jsx(Text, { size: "sm", tone: "muted", children: "742 Evergreen Terrace, Springfield." }) })] })] }) })),
24
+ };
@@ -0,0 +1,3 @@
1
+ export { Collapsible, CollapsibleTrigger, CollapsibleContent } from './collapsible';
2
+ export type { CollapsibleProps, CollapsibleTriggerProps, CollapsibleContentProps } from './collapsible';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/collapsible/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACpF,YAAY,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1 @@
1
+ export { Collapsible, CollapsibleTrigger, CollapsibleContent } from './collapsible';
@@ -0,0 +1,38 @@
1
+ import * as React from 'react';
2
+ import { Combobox as ComboboxPrimitive } from '@base-ui/react';
3
+ /** Props for `Combobox` root (generic over item value type and `multiple`). */
4
+ export type ComboboxProps<Value = unknown, Multiple extends boolean | undefined = false> = ComboboxPrimitive.Root.Props<Value, Multiple>;
5
+ /** Props for `ComboboxInput` (includes `showTrigger` and `showClear`). */
6
+ export type ComboboxInputProps = ComboboxPrimitive.Input.Props & {
7
+ showTrigger?: boolean;
8
+ showClear?: boolean;
9
+ };
10
+ /** Props for `ComboboxContent` (popup + positioner). */
11
+ export type ComboboxContentProps = ComboboxPrimitive.Popup.Props & Pick<ComboboxPrimitive.Positioner.Props, 'side' | 'align' | 'sideOffset' | 'alignOffset' | 'anchor'>;
12
+ /** Props for `ComboboxItem`. */
13
+ export type ComboboxItemProps = ComboboxPrimitive.Item.Props;
14
+ /** Props for `ComboboxChip` (includes `showRemove`). */
15
+ export type ComboboxChipProps = ComboboxPrimitive.Chip.Props & {
16
+ showRemove?: boolean;
17
+ };
18
+ /**
19
+ * Root for a combobox. Provide `items` and compose with input, popup, list, and items.
20
+ */
21
+ declare function Combobox<Value, Multiple extends boolean | undefined = false>(props: ComboboxPrimitive.Root.Props<Value, Multiple>): import("react/jsx-runtime").JSX.Element;
22
+ declare function ComboboxValue({ ...props }: ComboboxPrimitive.Value.Props): import("react/jsx-runtime").JSX.Element;
23
+ declare function ComboboxTrigger({ className, children, ...props }: ComboboxPrimitive.Trigger.Props): import("react/jsx-runtime").JSX.Element;
24
+ declare function ComboboxInput({ className, children, disabled, showTrigger, showClear, ...props }: ComboboxInputProps): import("react/jsx-runtime").JSX.Element;
25
+ declare function ComboboxContent({ className, side, sideOffset, align, alignOffset, anchor, ...props }: ComboboxPrimitive.Popup.Props & Pick<ComboboxPrimitive.Positioner.Props, 'side' | 'align' | 'sideOffset' | 'alignOffset' | 'anchor'>): import("react/jsx-runtime").JSX.Element;
26
+ declare function ComboboxList({ className, ...props }: ComboboxPrimitive.List.Props): import("react/jsx-runtime").JSX.Element;
27
+ declare function ComboboxItem({ className, children, ...props }: ComboboxPrimitive.Item.Props): import("react/jsx-runtime").JSX.Element;
28
+ declare function ComboboxGroup({ className, ...props }: ComboboxPrimitive.Group.Props): import("react/jsx-runtime").JSX.Element;
29
+ declare function ComboboxLabel({ className, ...props }: ComboboxPrimitive.GroupLabel.Props): import("react/jsx-runtime").JSX.Element;
30
+ declare function ComboboxCollection({ ...props }: ComboboxPrimitive.Collection.Props): import("react/jsx-runtime").JSX.Element;
31
+ declare function ComboboxEmpty({ className, ...props }: ComboboxPrimitive.Empty.Props): import("react/jsx-runtime").JSX.Element;
32
+ declare function ComboboxSeparator({ className, ...props }: ComboboxPrimitive.Separator.Props): import("react/jsx-runtime").JSX.Element;
33
+ declare function ComboboxChips({ className, ...props }: React.ComponentPropsWithRef<typeof ComboboxPrimitive.Chips> & ComboboxPrimitive.Chips.Props): import("react/jsx-runtime").JSX.Element;
34
+ declare function ComboboxChip({ className, children, showRemove, ...props }: ComboboxChipProps): import("react/jsx-runtime").JSX.Element;
35
+ declare function ComboboxChipsInput({ className, ...props }: ComboboxPrimitive.Input.Props): import("react/jsx-runtime").JSX.Element;
36
+ declare function useComboboxAnchor(): React.RefObject<HTMLDivElement | null>;
37
+ export { Combobox, ComboboxInput, ComboboxContent, ComboboxList, ComboboxItem, ComboboxGroup, ComboboxLabel, ComboboxCollection, ComboboxEmpty, ComboboxSeparator, ComboboxChips, ComboboxChip, ComboboxChipsInput, ComboboxTrigger, ComboboxValue, useComboboxAnchor, };
38
+ //# sourceMappingURL=combobox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"combobox.d.ts","sourceRoot":"","sources":["../../../src/components/combobox/combobox.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,QAAQ,IAAI,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAS/D,+EAA+E;AAC/E,MAAM,MAAM,aAAa,CAAC,KAAK,GAAG,OAAO,EAAE,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,KAAK,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAEzI,0EAA0E;AAC1E,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,KAAK,CAAC,KAAK,GAAG;IAC7D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,wDAAwD;AACxD,MAAM,MAAM,oBAAoB,GAAG,iBAAiB,CAAC,KAAK,CAAC,KAAK,GAC5D,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,YAAY,GAAG,aAAa,GAAG,QAAQ,CAAC,CAAC;AAEzG,gCAAgC;AAChC,MAAM,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC;AAE7D,wDAAwD;AACxD,MAAM,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,GAAG;IAC3D,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF;;GAEG;AACH,iBAAS,QAAQ,CAAC,KAAK,EAAE,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,KAAK,EAAE,KAAK,EAAE,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,2CAE1H;AAED,iBAAS,aAAa,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,CAAC,KAAK,CAAC,KAAK,2CAEjE;AAED,iBAAS,eAAe,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,CAAC,OAAO,CAAC,KAAK,2CAO1F;AAUD,iBAAS,aAAa,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAgB,EAAE,WAAkB,EAAE,SAAiB,EAAE,GAAG,KAAK,EAAE,EAAE,kBAAkB,2CAoBpI;AAED,iBAAS,eAAe,CAAC,EACrB,SAAS,EACT,IAAe,EACf,UAAc,EACd,KAAe,EACf,WAAe,EACf,MAAM,EACN,GAAG,KAAK,EACX,EAAE,iBAAiB,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,YAAY,GAAG,aAAa,GAAG,QAAQ,CAAC,2CAgBtI;AAED,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,CAAC,IAAI,CAAC,KAAK,2CAW1E;AAED,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,CAAC,IAAI,CAAC,KAAK,2CAgBpF;AAED,iBAAS,aAAa,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,CAAC,KAAK,CAAC,KAAK,2CAE5E;AAED,iBAAS,aAAa,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,CAAC,UAAU,CAAC,KAAK,2CAEjF;AAED,iBAAS,kBAAkB,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,CAAC,UAAU,CAAC,KAAK,2CAE3E;AAED,iBAAS,aAAa,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,CAAC,KAAK,CAAC,KAAK,2CAQ5E;AAED,iBAAS,iBAAiB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,CAAC,SAAS,CAAC,KAAK,2CAEpF;AAED,iBAAS,aAAa,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,qBAAqB,CAAC,OAAO,iBAAiB,CAAC,KAAK,CAAC,GAAG,iBAAiB,CAAC,KAAK,CAAC,KAAK,2CAW1I;AAED,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAiB,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,2CAsB5F;AAED,iBAAS,kBAAkB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,CAAC,KAAK,CAAC,KAAK,2CAEjF;AAED,iBAAS,iBAAiB,2CAEzB;AAED,OAAO,EACH,QAAQ,EACR,aAAa,EACb,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,iBAAiB,GACpB,CAAC"}
@@ -0,0 +1,65 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import * as React from 'react';
4
+ import { Combobox as ComboboxPrimitive } from '@base-ui/react';
5
+ import { cn } from '../../lib/utils';
6
+ import { Button } from '../button';
7
+ import { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput } from '../input-group';
8
+ import { CaretDownIcon } from '@phosphor-icons/react/CaretDown';
9
+ import { CheckIcon } from '@phosphor-icons/react/Check';
10
+ import { XIcon } from '@phosphor-icons/react/X';
11
+ /**
12
+ * Root for a combobox. Provide `items` and compose with input, popup, list, and items.
13
+ */
14
+ function Combobox(props) {
15
+ return _jsx(ComboboxPrimitive.Root, { ...props });
16
+ }
17
+ function ComboboxValue({ ...props }) {
18
+ return _jsx(ComboboxPrimitive.Value, { "data-slot": "combobox-value", ...props });
19
+ }
20
+ function ComboboxTrigger({ className, children, ...props }) {
21
+ return (_jsxs(ComboboxPrimitive.Trigger, { "data-slot": "combobox-trigger", className: cn("[&_svg:not([class*='size-'])]:size-4", className), ...props, children: [children, _jsx(CaretDownIcon, { className: "pointer-events-none size-4 text-muted-foreground" })] }));
22
+ }
23
+ function ComboboxClear({ className, ...props }) {
24
+ return (_jsx(ComboboxPrimitive.Clear, { "data-slot": "combobox-clear", render: _jsx(InputGroupButton, { variant: "ghost", size: "icon-xs" }), className: cn(className), ...props, children: _jsx(XIcon, { className: "pointer-events-none" }) }));
25
+ }
26
+ function ComboboxInput({ className, children, disabled = false, showTrigger = true, showClear = false, ...props }) {
27
+ return (_jsxs(InputGroup, { className: cn('w-auto', className), children: [_jsx(ComboboxPrimitive.Input, { render: _jsx(InputGroupInput, { disabled: disabled }), ...props }), _jsxs(InputGroupAddon, { align: "inline-end", children: [showTrigger && (_jsx(InputGroupButton, { size: "icon-xs", variant: "ghost", render: _jsx(ComboboxTrigger, {}), "data-slot": "input-group-button", className: "group-has-data-[slot=combobox-clear]/input-group:hidden data-pressed:bg-transparent", disabled: disabled })), showClear && _jsx(ComboboxClear, { disabled: disabled })] }), children] }));
28
+ }
29
+ function ComboboxContent({ className, side = 'bottom', sideOffset = 6, align = 'start', alignOffset = 0, anchor, ...props }) {
30
+ return (_jsx(ComboboxPrimitive.Portal, { children: _jsx(ComboboxPrimitive.Positioner, { side: side, sideOffset: sideOffset, align: align, alignOffset: alignOffset, anchor: anchor, className: "isolate z-50", children: _jsx(ComboboxPrimitive.Popup, { "data-slot": "combobox-content", "data-chips": !!anchor, className: cn('group/combobox-content relative max-h-(--available-height) w-(--anchor-width) max-w-(--available-width) min-w-[calc(var(--anchor-width)+--spacing(7))] origin-(--transform-origin) overflow-hidden rounded-lg bg-popover text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[chips=true]:min-w-(--anchor-width) data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 *:data-[slot=input-group]:m-1 *:data-[slot=input-group]:mb-0 *:data-[slot=input-group]:h-8 *:data-[slot=input-group]:border-input/30 *:data-[slot=input-group]:bg-input/30 *:data-[slot=input-group]:shadow-none data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95', className), ...props }) }) }));
31
+ }
32
+ function ComboboxList({ className, ...props }) {
33
+ return (_jsx(ComboboxPrimitive.List, { "data-slot": "combobox-list", className: cn('no-scrollbar max-h-[min(calc(--spacing(72)---spacing(9)),calc(var(--available-height)---spacing(9)))] scroll-py-1 overflow-y-auto overscroll-contain p-1 data-empty:p-0', className), ...props }));
34
+ }
35
+ function ComboboxItem({ className, children, ...props }) {
36
+ return (_jsxs(ComboboxPrimitive.Item, { "data-slot": "combobox-item", className: cn("relative flex w-full cursor-default items-center gap-2 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none data-highlighted:bg-accent data-highlighted:text-accent-foreground not-data-[variant=destructive]:data-highlighted:**:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className), ...props, children: [children, _jsx(ComboboxPrimitive.ItemIndicator, { render: _jsx("span", { className: "pointer-events-none absolute right-2 flex size-4 items-center justify-center" }), children: _jsx(CheckIcon, { className: "pointer-events-none" }) })] }));
37
+ }
38
+ function ComboboxGroup({ className, ...props }) {
39
+ return _jsx(ComboboxPrimitive.Group, { "data-slot": "combobox-group", className: cn(className), ...props });
40
+ }
41
+ function ComboboxLabel({ className, ...props }) {
42
+ return _jsx(ComboboxPrimitive.GroupLabel, { "data-slot": "combobox-label", className: cn('px-2 py-1.5 text-xs text-muted-foreground', className), ...props });
43
+ }
44
+ function ComboboxCollection({ ...props }) {
45
+ return _jsx(ComboboxPrimitive.Collection, { "data-slot": "combobox-collection", ...props });
46
+ }
47
+ function ComboboxEmpty({ className, ...props }) {
48
+ return (_jsx(ComboboxPrimitive.Empty, { "data-slot": "combobox-empty", className: cn('hidden w-full justify-center py-2 text-center text-sm text-muted-foreground group-data-empty/combobox-content:flex', className), ...props }));
49
+ }
50
+ function ComboboxSeparator({ className, ...props }) {
51
+ return _jsx(ComboboxPrimitive.Separator, { "data-slot": "combobox-separator", className: cn('-mx-1 my-1 h-px bg-border', className), ...props });
52
+ }
53
+ function ComboboxChips({ className, ...props }) {
54
+ return (_jsx(ComboboxPrimitive.Chips, { "data-slot": "combobox-chips", className: cn('flex min-h-8 flex-wrap items-center gap-1 rounded-lg border border-input bg-transparent bg-clip-padding px-2.5 py-1 text-sm transition-colors focus-within:border-ring focus-within:ring-3 focus-within:ring-ring/50 has-aria-invalid:border-destructive has-aria-invalid:ring-3 has-aria-invalid:ring-destructive/20 has-data-[slot=combobox-chip]:px-1 dark:bg-input/30 dark:has-aria-invalid:border-destructive/50 dark:has-aria-invalid:ring-destructive/40', className), ...props }));
55
+ }
56
+ function ComboboxChip({ className, children, showRemove = true, ...props }) {
57
+ return (_jsxs(ComboboxPrimitive.Chip, { "data-slot": "combobox-chip", className: cn('flex h-[calc(--spacing(5.25))] w-fit items-center justify-center gap-1 rounded-sm bg-muted px-1.5 text-xs font-medium whitespace-nowrap text-foreground has-disabled:pointer-events-none has-disabled:cursor-not-allowed has-disabled:opacity-50 has-data-[slot=combobox-chip-remove]:pr-0', className), ...props, children: [children, showRemove && (_jsx(ComboboxPrimitive.ChipRemove, { render: _jsx(Button, { variant: "ghost", size: "icon-xs" }), className: "-ml-1 opacity-50 hover:opacity-100", "data-slot": "combobox-chip-remove", children: _jsx(XIcon, { className: "pointer-events-none" }) }))] }));
58
+ }
59
+ function ComboboxChipsInput({ className, ...props }) {
60
+ return _jsx(ComboboxPrimitive.Input, { "data-slot": "combobox-chip-input", className: cn('min-w-16 flex-1 outline-none', className), ...props });
61
+ }
62
+ function useComboboxAnchor() {
63
+ return React.useRef(null);
64
+ }
65
+ export { Combobox, ComboboxInput, ComboboxContent, ComboboxList, ComboboxItem, ComboboxGroup, ComboboxLabel, ComboboxCollection, ComboboxEmpty, ComboboxSeparator, ComboboxChips, ComboboxChip, ComboboxChipsInput, ComboboxTrigger, ComboboxValue, useComboboxAnchor, };
@@ -0,0 +1,18 @@
1
+ import type { StoryObj } from '@storybook/react';
2
+ import { Combobox } from '.';
3
+ declare const meta: {
4
+ title: string;
5
+ component: typeof Combobox;
6
+ tags: string[];
7
+ parameters: {
8
+ layout: string;
9
+ };
10
+ };
11
+ export default meta;
12
+ type Story = StoryObj<typeof meta>;
13
+ export declare const Default: Story;
14
+ export declare const WithClear: Story;
15
+ export declare const Multiple: Story;
16
+ export declare const WithoutTriggerButton: Story;
17
+ export declare const Gallery: Story;
18
+ //# sourceMappingURL=combobox.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"combobox.stories.d.ts","sourceRoot":"","sources":["../../../src/components/combobox/combobox.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGvD,OAAO,EACH,QAAQ,EAWX,MAAM,GAAG,CAAC;AAoBX,QAAA,MAAM,IAAI;;;;;;;CAOuB,CAAC;AAElC,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAgBrB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAgBvB,CAAC;AAuCF,eAAO,MAAM,QAAQ,EAAE,KAEtB,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,KAgBlC,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAwCrB,CAAC"}
@@ -0,0 +1,46 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useId } from 'react';
3
+ import { Combobox, ComboboxChip, ComboboxChips, ComboboxChipsInput, ComboboxContent, ComboboxEmpty, ComboboxInput, ComboboxItem, ComboboxList, ComboboxSeparator, ComboboxValue, } from '.';
4
+ const frameworks = ['Next.js', 'SvelteKit', 'Nuxt', 'Remix', 'Astro', 'TanStack Start'];
5
+ const programmingLanguages = [
6
+ { id: 'js', value: 'JavaScript' },
7
+ { id: 'ts', value: 'TypeScript' },
8
+ { id: 'py', value: 'Python' },
9
+ { id: 'java', value: 'Java' },
10
+ { id: 'cpp', value: 'C++' },
11
+ { id: 'cs', value: 'C#' },
12
+ { id: 'php', value: 'PHP' },
13
+ { id: 'ruby', value: 'Ruby' },
14
+ { id: 'go', value: 'Go' },
15
+ { id: 'rust', value: 'Rust' },
16
+ { id: 'swift', value: 'Swift' },
17
+ ];
18
+ const meta = {
19
+ title: 'UI/Combobox',
20
+ component: Combobox,
21
+ tags: ['autodocs'],
22
+ parameters: {
23
+ layout: 'centered',
24
+ },
25
+ };
26
+ export default meta;
27
+ export const Default = {
28
+ render: () => (_jsxs(Combobox, { items: [...frameworks], defaultOpen: true, children: [_jsx(ComboboxInput, { placeholder: "Search framework\u2026", className: "min-w-64" }), _jsxs(ComboboxContent, { children: [_jsx(ComboboxEmpty, { children: "No matches." }), _jsx(ComboboxList, { children: (item) => (_jsx(ComboboxItem, { value: item, children: item }, item)) })] })] })),
29
+ };
30
+ export const WithClear = {
31
+ render: () => (_jsxs(Combobox, { items: [...frameworks], children: [_jsx(ComboboxInput, { placeholder: "Pick a stack", showClear: true, className: "min-w-64" }), _jsxs(ComboboxContent, { children: [_jsx(ComboboxEmpty, { children: "No matches." }), _jsx(ComboboxList, { children: (item) => (_jsx(ComboboxItem, { value: item, children: item }, item)) })] })] })),
32
+ };
33
+ function MultipleSelectStory() {
34
+ const id = useId();
35
+ return (_jsxs(Combobox, { items: programmingLanguages, multiple: true, itemToStringLabel: (lang) => lang.value, defaultValue: [programmingLanguages[1]], children: [_jsxs("div", { className: "flex w-full max-w-md flex-col gap-1.5", children: [_jsx("span", { className: "text-sm font-medium", id: `${id}-label`, children: "Programming languages" }), _jsx(ComboboxChips, { className: "w-full", children: _jsx(ComboboxValue, { children: (value) => (_jsxs(_Fragment, { children: [value.map((language) => (_jsx(ComboboxChip, { "aria-label": language.value, children: language.value }, language.id))), _jsx(ComboboxChipsInput, { id: id, placeholder: value.length > 0 ? '' : 'e.g. TypeScript', "aria-label": "Filter languages" })] })) }) })] }), _jsxs(ComboboxContent, { children: [_jsx(ComboboxEmpty, { children: "No languages found." }), _jsx(ComboboxList, { children: (language) => (_jsx(ComboboxItem, { value: language, children: language.value }, language.id)) })] })] }));
36
+ }
37
+ export const Multiple = {
38
+ render: () => _jsx(MultipleSelectStory, {}),
39
+ };
40
+ export const WithoutTriggerButton = {
41
+ render: () => (_jsxs(Combobox, { items: [...frameworks], children: [_jsx(ComboboxInput, { placeholder: "Type to filter", showTrigger: false, className: "min-w-64" }), _jsxs(ComboboxContent, { children: [_jsx(ComboboxEmpty, { children: "No matches." }), _jsx(ComboboxList, { children: (item) => (_jsx(ComboboxItem, { value: item, children: item }, item)) })] })] })),
42
+ };
43
+ export const Gallery = {
44
+ parameters: { layout: 'padded' },
45
+ render: () => (_jsxs("div", { className: "flex flex-col gap-10", children: [_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx("p", { className: "text-xs font-medium tracking-wide text-muted-foreground uppercase", children: "Basic" }), _jsxs(Combobox, { items: [...frameworks], children: [_jsx(ComboboxInput, { placeholder: "Framework", className: "min-w-64" }), _jsxs(ComboboxContent, { children: [_jsx(ComboboxEmpty, { children: "No results." }), _jsx(ComboboxList, { children: (item) => (_jsx(ComboboxItem, { value: item, children: item }, item)) })] })] })] }), _jsxs("div", { className: "flex flex-col gap-2", children: [_jsx("p", { className: "text-xs font-medium tracking-wide text-muted-foreground uppercase", children: "Footer slot" }), _jsxs(Combobox, { items: ['Design', 'Engineering', 'Marketing', 'Sales'], children: [_jsx(ComboboxInput, { placeholder: "Team", className: "min-w-64" }), _jsxs(ComboboxContent, { children: [_jsx(ComboboxEmpty, { children: "No results." }), _jsx(ComboboxList, { children: (item) => (_jsx(ComboboxItem, { value: item, children: item }, item)) }), _jsx(ComboboxSeparator, {}), _jsx("div", { className: "p-2 text-center text-xs text-muted-foreground", children: "End of list" })] })] })] })] })),
46
+ };
@@ -0,0 +1,3 @@
1
+ export { Combobox, ComboboxChip, ComboboxChips, ComboboxChipsInput, ComboboxCollection, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxInput, ComboboxItem, ComboboxLabel, ComboboxList, ComboboxSeparator, ComboboxTrigger, ComboboxValue, useComboboxAnchor, } from './combobox';
2
+ export type { ComboboxChipProps, ComboboxContentProps, ComboboxInputProps, ComboboxItemProps, ComboboxProps } from './combobox';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/combobox/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,aAAa,EACb,aAAa,EACb,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,iBAAiB,GACpB,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1 @@
1
+ export { Combobox, ComboboxChip, ComboboxChips, ComboboxChipsInput, ComboboxCollection, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxInput, ComboboxItem, ComboboxLabel, ComboboxList, ComboboxSeparator, ComboboxTrigger, ComboboxValue, useComboboxAnchor, } from './combobox';
@@ -0,0 +1,31 @@
1
+ import * as React from 'react';
2
+ import { Command as CommandPrimitive } from 'cmdk';
3
+ import { Dialog } from '../dialog';
4
+ /** Props for the cmdk root. See [cmdk](https://github.com/pacocoursey/cmdk). */
5
+ export type CommandProps = React.ComponentProps<typeof CommandPrimitive>;
6
+ declare function Command({ className, ...props }: CommandProps): import("react/jsx-runtime").JSX.Element;
7
+ /** Props for the modal command palette wrapper (uses `Dialog` + `DialogContent`). */
8
+ export type CommandDialogProps = Omit<React.ComponentProps<typeof Dialog>, 'children'> & {
9
+ title?: string;
10
+ description?: string;
11
+ className?: string;
12
+ showCloseButton?: boolean;
13
+ children: React.ReactNode;
14
+ };
15
+ declare function CommandDialog({ title, description, children, className, showCloseButton, ...props }: CommandDialogProps): import("react/jsx-runtime").JSX.Element;
16
+ export type CommandInputProps = React.ComponentProps<typeof CommandPrimitive.Input>;
17
+ declare function CommandInput({ className, ...props }: CommandInputProps): import("react/jsx-runtime").JSX.Element;
18
+ export type CommandListProps = React.ComponentProps<typeof CommandPrimitive.List>;
19
+ declare function CommandList({ className, ...props }: CommandListProps): import("react/jsx-runtime").JSX.Element;
20
+ export type CommandEmptyProps = React.ComponentProps<typeof CommandPrimitive.Empty>;
21
+ declare function CommandEmpty({ className, ...props }: CommandEmptyProps): import("react/jsx-runtime").JSX.Element;
22
+ export type CommandGroupProps = React.ComponentProps<typeof CommandPrimitive.Group>;
23
+ declare function CommandGroup({ className, ...props }: CommandGroupProps): import("react/jsx-runtime").JSX.Element;
24
+ export type CommandSeparatorProps = React.ComponentProps<typeof CommandPrimitive.Separator>;
25
+ declare function CommandSeparator({ className, ...props }: CommandSeparatorProps): import("react/jsx-runtime").JSX.Element;
26
+ export type CommandItemProps = React.ComponentProps<typeof CommandPrimitive.Item>;
27
+ declare function CommandItem({ className, children, ...props }: CommandItemProps): import("react/jsx-runtime").JSX.Element;
28
+ export type CommandShortcutProps = React.ComponentProps<'span'>;
29
+ declare function CommandShortcut({ className, ...props }: CommandShortcutProps): import("react/jsx-runtime").JSX.Element;
30
+ export { Command, CommandDialog, CommandInput, CommandList, CommandEmpty, CommandGroup, CommandItem, CommandShortcut, CommandSeparator };
31
+ //# sourceMappingURL=command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../src/components/command/command.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,MAAM,CAAC;AAKnD,OAAO,EAAE,MAAM,EAA+D,MAAM,WAAW,CAAC;AAGhG,gFAAgF;AAChF,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEzE,iBAAS,OAAO,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,YAAY,2CAQrD;AAED,qFAAqF;AACrF,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,EAAE,UAAU,CAAC,GAAG;IACrF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC7B,CAAC;AAEF,iBAAS,aAAa,CAAC,EACnB,KAAyB,EACzB,WAA8C,EAC9C,QAAQ,EACR,SAAS,EACT,eAAuB,EACvB,GAAG,KAAK,EACX,EAAE,kBAAkB,2CAYpB;AAED,MAAM,MAAM,iBAAiB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAC;AAEpF,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,2CAe/D;AAED,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAElF,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,2CAQ7D;AAED,MAAM,MAAM,iBAAiB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAC;AAEpF,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,2CAE/D;AAED,MAAM,MAAM,iBAAiB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAC;AAEpF,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,2CAW/D;AAED,MAAM,MAAM,qBAAqB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,SAAS,CAAC,CAAC;AAE5F,iBAAS,gBAAgB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,qBAAqB,2CAEvE;AAED,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAElF,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,2CAcvE;AAED,MAAM,MAAM,oBAAoB,GAAG,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;AAEhE,iBAAS,eAAe,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,oBAAoB,2CAQrE;AAED,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,gBAAgB,EAAE,CAAC"}
@@ -0,0 +1,37 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import * as React from 'react';
4
+ import { Command as CommandPrimitive } from 'cmdk';
5
+ import { CheckIcon } from '@phosphor-icons/react/Check';
6
+ import { MagnifyingGlassIcon } from '@phosphor-icons/react/MagnifyingGlass';
7
+ import { cn } from '../../lib/utils';
8
+ import { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle } from '../dialog';
9
+ import { InputGroup, InputGroupAddon } from '../input-group';
10
+ function Command({ className, ...props }) {
11
+ return (_jsx(CommandPrimitive, { "data-slot": "command", className: cn('flex size-full flex-col overflow-hidden rounded-xl! bg-popover p-1 text-popover-foreground', className), ...props }));
12
+ }
13
+ function CommandDialog({ title = 'Command Palette', description = 'Search for a command to run...', children, className, showCloseButton = false, ...props }) {
14
+ return (_jsxs(Dialog, { ...props, children: [_jsxs(DialogHeader, { className: "sr-only", children: [_jsx(DialogTitle, { children: title }), _jsx(DialogDescription, { children: description })] }), _jsx(DialogContent, { className: cn('top-1/3 translate-y-0 overflow-hidden rounded-xl! p-0', className), showCloseButton: showCloseButton, children: children })] }));
15
+ }
16
+ function CommandInput({ className, ...props }) {
17
+ return (_jsx("div", { "data-slot": "command-input-wrapper", className: "p-1 pb-0", children: _jsxs(InputGroup, { className: "h-8! rounded-lg! border-input/30 bg-input/30 shadow-none! *:data-[slot=input-group-addon]:pl-2!", children: [_jsx(CommandPrimitive.Input, { "data-slot": "command-input", className: cn('w-full text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50', className), ...props }), _jsx(InputGroupAddon, { children: _jsx(MagnifyingGlassIcon, { className: "size-4 shrink-0 opacity-50" }) })] }) }));
18
+ }
19
+ function CommandList({ className, ...props }) {
20
+ return (_jsx(CommandPrimitive.List, { "data-slot": "command-list", className: cn('no-scrollbar max-h-72 scroll-py-1 overflow-x-hidden overflow-y-auto outline-none', className), ...props }));
21
+ }
22
+ function CommandEmpty({ className, ...props }) {
23
+ return _jsx(CommandPrimitive.Empty, { "data-slot": "command-empty", className: cn('py-6 text-center text-sm', className), ...props });
24
+ }
25
+ function CommandGroup({ className, ...props }) {
26
+ return (_jsx(CommandPrimitive.Group, { "data-slot": "command-group", className: cn('overflow-hidden p-1 text-foreground **:[[cmdk-group-heading]]:px-2 **:[[cmdk-group-heading]]:py-1.5 **:[[cmdk-group-heading]]:text-xs **:[[cmdk-group-heading]]:font-medium **:[[cmdk-group-heading]]:text-muted-foreground', className), ...props }));
27
+ }
28
+ function CommandSeparator({ className, ...props }) {
29
+ return _jsx(CommandPrimitive.Separator, { "data-slot": "command-separator", className: cn('-mx-1 h-px bg-border', className), ...props });
30
+ }
31
+ function CommandItem({ className, children, ...props }) {
32
+ return (_jsxs(CommandPrimitive.Item, { "data-slot": "command-item", className: cn("group/command-item relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none in-data-[slot=dialog-content]:rounded-lg! data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 data-selected:bg-muted data-selected:text-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-selected:*:[svg]:text-foreground", className), ...props, children: [children, _jsx(CheckIcon, { className: "ml-auto opacity-0 group-has-data-[slot=command-shortcut]/command-item:hidden group-data-[checked=true]/command-item:opacity-100" })] }));
33
+ }
34
+ function CommandShortcut({ className, ...props }) {
35
+ return (_jsx("span", { "data-slot": "command-shortcut", className: cn('ml-auto text-xs tracking-widest text-muted-foreground group-data-selected/command-item:text-foreground', className), ...props }));
36
+ }
37
+ export { Command, CommandDialog, CommandInput, CommandList, CommandEmpty, CommandGroup, CommandItem, CommandShortcut, CommandSeparator };
@@ -0,0 +1,16 @@
1
+ import type { StoryObj } from '@storybook/react';
2
+ import { Command } from '.';
3
+ declare const meta: {
4
+ title: string;
5
+ component: typeof Command;
6
+ tags: string[];
7
+ parameters: {
8
+ layout: string;
9
+ };
10
+ };
11
+ export default meta;
12
+ type Story = StoryObj<typeof meta>;
13
+ export declare const Default: Story;
14
+ export declare const WithShortcuts: Story;
15
+ export declare const DialogPalette: Story;
16
+ //# sourceMappingURL=command.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command.stories.d.ts","sourceRoot":"","sources":["../../../src/components/command/command.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAIvD,OAAO,EAAE,OAAO,EAAwH,MAAM,GAAG,CAAC;AAElJ,QAAA,MAAM,IAAI;;;;;;;CAOsB,CAAC;AAEjC,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAmBrB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAkB3B,CAAC;AA8BF,eAAO,MAAM,aAAa,EAAE,KAE3B,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ import { Button } from '../button';
4
+ import { Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut } from '.';
5
+ const meta = {
6
+ title: 'UI/Command',
7
+ component: Command,
8
+ tags: ['autodocs'],
9
+ parameters: {
10
+ layout: 'centered',
11
+ },
12
+ };
13
+ export default meta;
14
+ export const Default = {
15
+ render: () => (_jsxs(Command, { className: "w-80 rounded-xl border border-border shadow-xs", children: [_jsx(CommandInput, { placeholder: "Search\u2026" }), _jsxs(CommandList, { children: [_jsx(CommandEmpty, { children: "No matches." }), _jsxs(CommandGroup, { heading: "Actions", children: [_jsx(CommandItem, { value: "calendar", children: "Calendar" }), _jsx(CommandItem, { value: "search-emoji", children: "Search emoji" }), _jsx(CommandItem, { value: "calculator", children: "Calculator" })] }), _jsx(CommandSeparator, {}), _jsxs(CommandGroup, { heading: "Theme", children: [_jsx(CommandItem, { value: "light", children: "Light" }), _jsx(CommandItem, { value: "dark", children: "Dark" })] })] })] })),
16
+ };
17
+ export const WithShortcuts = {
18
+ render: () => (_jsxs(Command, { className: "w-80 rounded-xl border border-border shadow-xs", children: [_jsx(CommandInput, { placeholder: "Type a command\u2026" }), _jsx(CommandList, { children: _jsxs(CommandGroup, { heading: "File", children: [_jsxs(CommandItem, { value: "new-tab", children: ["New tab", _jsx(CommandShortcut, { children: "\u2318T" })] }), _jsxs(CommandItem, { value: "close-tab", children: ["Close tab", _jsx(CommandShortcut, { children: "\u2318W" })] })] }) })] })),
19
+ };
20
+ function CommandDialogDemo() {
21
+ const [open, setOpen] = useState(false);
22
+ return (_jsxs(_Fragment, { children: [_jsx(Button, { variant: "outline", size: "sm", type: "button", onClick: () => setOpen(true), children: "Open palette" }), _jsx(CommandDialog, { open: open, onOpenChange: setOpen, showCloseButton: true, children: _jsxs(Command, { children: [_jsx(CommandInput, { placeholder: "Search commands\u2026" }), _jsxs(CommandList, { children: [_jsx(CommandEmpty, { children: "No results." }), _jsxs(CommandGroup, { heading: "General", children: [_jsx(CommandItem, { value: "home", onSelect: () => setOpen(false), children: "Home" }), _jsx(CommandItem, { value: "settings", onSelect: () => setOpen(false), children: "Settings" })] })] })] }) })] }));
23
+ }
24
+ export const DialogPalette = {
25
+ render: () => _jsx(CommandDialogDemo, {}),
26
+ };
@@ -0,0 +1,2 @@
1
+ export * from './command';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/command/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC"}