@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,27 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Text } from '../text';
3
+ import { ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, } from '.';
4
+ const meta = {
5
+ title: 'UI/ContextMenu',
6
+ component: ContextMenu,
7
+ tags: ['autodocs'],
8
+ parameters: {
9
+ layout: 'centered',
10
+ },
11
+ };
12
+ export default meta;
13
+ function ContextTarget(props) {
14
+ return (_jsx(ContextMenuTrigger, { className: "flex min-h-24 min-w-64 cursor-context-menu items-center justify-center rounded-lg border border-dashed border-border bg-muted/30 px-4", children: props.children }));
15
+ }
16
+ export const Default = {
17
+ render: () => (_jsxs(ContextMenu, { children: [_jsx(ContextTarget, { children: _jsx(Text, { size: "sm", tone: "muted", children: "Right-click or long-press" }) }), _jsxs(ContextMenuContent, { className: "min-w-48", children: [_jsxs(ContextMenuGroup, { children: [_jsx(ContextMenuLabel, { children: "Actions" }), _jsx(ContextMenuItem, { children: "New file" }), _jsx(ContextMenuItem, { children: "New folder" })] }), _jsx(ContextMenuSeparator, {}), _jsx(ContextMenuItem, { variant: "destructive", children: "Delete" })] })] })),
18
+ };
19
+ export const WithShortcuts = {
20
+ render: () => (_jsxs(ContextMenu, { children: [_jsx(ContextTarget, { children: _jsx(Text, { size: "sm", tone: "muted", children: "Right-click for shortcuts" }) }), _jsxs(ContextMenuContent, { className: "min-w-52", children: [_jsxs(ContextMenuItem, { children: ["Save ", _jsx(ContextMenuShortcut, { children: "\u2318S" })] }), _jsxs(ContextMenuItem, { children: ["Duplicate ", _jsx(ContextMenuShortcut, { children: "\u2318D" })] }), _jsx(ContextMenuSeparator, {}), _jsxs(ContextMenuItem, { variant: "destructive", children: ["Delete ", _jsx(ContextMenuShortcut, { children: "\u232B" })] })] })] })),
21
+ };
22
+ export const WithCheckboxAndRadio = {
23
+ render: () => (_jsxs(ContextMenu, { children: [_jsx(ContextTarget, { children: _jsx(Text, { size: "sm", tone: "muted", children: "Right-click for view options" }) }), _jsxs(ContextMenuContent, { className: "min-w-48", children: [_jsxs(ContextMenuGroup, { children: [_jsx(ContextMenuLabel, { children: "Appearance" }), _jsx(ContextMenuCheckboxItem, { defaultChecked: true, children: "Show sidebar" }), _jsx(ContextMenuCheckboxItem, { children: "Show status bar" })] }), _jsx(ContextMenuSeparator, {}), _jsxs(ContextMenuRadioGroup, { defaultValue: "comfortable", children: [_jsx(ContextMenuLabel, { inset: true, children: "Density" }), _jsx(ContextMenuRadioItem, { value: "compact", inset: true, children: "Compact" }), _jsx(ContextMenuRadioItem, { value: "comfortable", inset: true, children: "Comfortable" })] })] })] })),
24
+ };
25
+ export const WithSubmenu = {
26
+ render: () => (_jsxs(ContextMenu, { children: [_jsx(ContextTarget, { children: _jsx(Text, { size: "sm", tone: "muted", children: "Right-click for nested actions" }) }), _jsxs(ContextMenuContent, { className: "min-w-44", children: [_jsx(ContextMenuItem, { children: "Back" }), _jsxs(ContextMenuSub, { children: [_jsx(ContextMenuSubTrigger, { children: "Share" }), _jsxs(ContextMenuSubContent, { children: [_jsx(ContextMenuItem, { children: "Copy link" }), _jsx(ContextMenuItem, { children: "Email" })] })] }), _jsx(ContextMenuSeparator, {}), _jsx(ContextMenuItem, { variant: "destructive", children: "Remove" })] })] })),
27
+ };
@@ -0,0 +1,2 @@
1
+ export * from './context-menu';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/context-menu/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1 @@
1
+ export * from './context-menu';
@@ -0,0 +1,40 @@
1
+ import * as React from 'react';
2
+ import { Dialog as DialogPrimitive } from '@base-ui/react/dialog';
3
+ /** Props for the dialog root. See [Base UI Dialog](https://base-ui.com/react/components/dialog). */
4
+ export type DialogProps = DialogPrimitive.Root.Props;
5
+ declare function Dialog({ ...props }: DialogProps): import("react/jsx-runtime").JSX.Element;
6
+ /** Props for the element that opens the dialog (typically a button). */
7
+ export type DialogTriggerProps = DialogPrimitive.Trigger.Props;
8
+ declare function DialogTrigger({ ...props }: DialogTriggerProps): import("react/jsx-runtime").JSX.Element;
9
+ /** Props for the portal that renders the overlay and popup into `document.body` (or a custom container). */
10
+ export type DialogPortalProps = DialogPrimitive.Portal.Props;
11
+ declare function DialogPortal({ ...props }: DialogPortalProps): import("react/jsx-runtime").JSX.Element;
12
+ /** Props for the close control (button or custom `render`). */
13
+ export type DialogCloseProps = DialogPrimitive.Close.Props;
14
+ declare function DialogClose({ ...props }: DialogCloseProps): import("react/jsx-runtime").JSX.Element;
15
+ /** Props for the dimmed backdrop behind the popup. */
16
+ export type DialogOverlayProps = DialogPrimitive.Backdrop.Props;
17
+ declare function DialogOverlay({ className, ...props }: DialogOverlayProps): import("react/jsx-runtime").JSX.Element;
18
+ /** Props for the dialog surface; extends the Base UI popup with `showCloseButton`. */
19
+ export type DialogContentProps = DialogPrimitive.Popup.Props & {
20
+ /** When `true` (default), renders a ghost icon button in the top-right that closes the dialog. */
21
+ showCloseButton?: boolean;
22
+ };
23
+ declare function DialogContent({ className, children, showCloseButton, ...props }: DialogContentProps): import("react/jsx-runtime").JSX.Element;
24
+ /** Layout wrapper for title and description at the top of the dialog. */
25
+ export type DialogHeaderProps = React.ComponentProps<'div'>;
26
+ declare function DialogHeader({ className, ...props }: DialogHeaderProps): import("react/jsx-runtime").JSX.Element;
27
+ /** Footer row for actions; optionally appends a default “Close” button. */
28
+ export type DialogFooterProps = React.ComponentProps<'div'> & {
29
+ /** When `true`, appends a `DialogClose` styled as an outline `Button` after `children`. */
30
+ showCloseButton?: boolean;
31
+ };
32
+ declare function DialogFooter({ className, showCloseButton, children, ...props }: DialogFooterProps): import("react/jsx-runtime").JSX.Element;
33
+ /** Accessible dialog title; renders an `h2`. */
34
+ export type DialogTitleProps = DialogPrimitive.Title.Props;
35
+ declare function DialogTitle({ className, ...props }: DialogTitleProps): import("react/jsx-runtime").JSX.Element;
36
+ /** Supporting text below the title. */
37
+ export type DialogDescriptionProps = DialogPrimitive.Description.Props;
38
+ declare function DialogDescription({ className, ...props }: DialogDescriptionProps): import("react/jsx-runtime").JSX.Element;
39
+ export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger };
40
+ //# sourceMappingURL=dialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialog.d.ts","sourceRoot":"","sources":["../../../src/components/dialog/dialog.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAMlE,oGAAoG;AACpG,MAAM,MAAM,WAAW,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC;AAErD,iBAAS,MAAM,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,WAAW,2CAExC;AAED,wEAAwE;AACxE,MAAM,MAAM,kBAAkB,GAAG,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC;AAE/D,iBAAS,aAAa,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,kBAAkB,2CAEtD;AAED,4GAA4G;AAC5G,MAAM,MAAM,iBAAiB,GAAG,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC;AAE7D,iBAAS,YAAY,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,2CAEpD;AAED,+DAA+D;AAC/D,MAAM,MAAM,gBAAgB,GAAG,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC;AAE3D,iBAAS,WAAW,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,2CAElD;AAED,sDAAsD;AACtD,MAAM,MAAM,kBAAkB,GAAG,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC;AAEhE,iBAAS,aAAa,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,kBAAkB,2CAWjE;AAED,sFAAsF;AACtF,MAAM,MAAM,kBAAkB,GAAG,eAAe,CAAC,KAAK,CAAC,KAAK,GAAG;IAC3D,kGAAkG;IAClG,eAAe,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF,iBAAS,aAAa,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAsB,EAAE,GAAG,KAAK,EAAE,EAAE,kBAAkB,2CAsBnG;AAED,yEAAyE;AACzE,MAAM,MAAM,iBAAiB,GAAG,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AAE5D,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,2CAE/D;AAED,2EAA2E;AAC3E,MAAM,MAAM,iBAAiB,GAAG,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG;IAC1D,2FAA2F;IAC3F,eAAe,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,eAAuB,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,2CAWlG;AAED,gDAAgD;AAChD,MAAM,MAAM,gBAAgB,GAAG,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC;AAE3D,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,2CAE7D;AAED,uCAAuC;AACvC,MAAM,MAAM,sBAAsB,GAAG,eAAe,CAAC,WAAW,CAAC,KAAK,CAAC;AAEvE,iBAAS,iBAAiB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,sBAAsB,2CAQzE;AAED,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,iBAAiB,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC"}
@@ -0,0 +1,38 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import * as React from 'react';
4
+ import { Dialog as DialogPrimitive } from '@base-ui/react/dialog';
5
+ import { XIcon } from '@phosphor-icons/react/X';
6
+ import { cn } from '../../lib/utils';
7
+ import { Button } from '../button';
8
+ function Dialog({ ...props }) {
9
+ return _jsx(DialogPrimitive.Root, { "data-slot": "dialog", ...props });
10
+ }
11
+ function DialogTrigger({ ...props }) {
12
+ return _jsx(DialogPrimitive.Trigger, { "data-slot": "dialog-trigger", ...props });
13
+ }
14
+ function DialogPortal({ ...props }) {
15
+ return _jsx(DialogPrimitive.Portal, { "data-slot": "dialog-portal", ...props });
16
+ }
17
+ function DialogClose({ ...props }) {
18
+ return _jsx(DialogPrimitive.Close, { "data-slot": "dialog-close", ...props });
19
+ }
20
+ function DialogOverlay({ className, ...props }) {
21
+ return (_jsx(DialogPrimitive.Backdrop, { "data-slot": "dialog-overlay", className: cn('fixed inset-0 isolate z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0', className), ...props }));
22
+ }
23
+ function DialogContent({ className, children, showCloseButton = true, ...props }) {
24
+ return (_jsxs(DialogPortal, { children: [_jsx(DialogOverlay, {}), _jsxs(DialogPrimitive.Popup, { "data-slot": "dialog-content", className: cn('fixed top-1/2 left-1/2 z-50 grid w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl bg-popover p-4 text-sm text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none sm:max-w-sm 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, children: [children, showCloseButton && (_jsxs(DialogPrimitive.Close, { "data-slot": "dialog-close", render: _jsx(Button, { variant: "ghost", className: "absolute top-2 right-2", size: "icon-sm" }), children: [_jsx(XIcon, {}), _jsx("span", { className: "sr-only", children: "Close" })] }))] })] }));
25
+ }
26
+ function DialogHeader({ className, ...props }) {
27
+ return _jsx("div", { "data-slot": "dialog-header", className: cn('flex flex-col gap-2', className), ...props });
28
+ }
29
+ function DialogFooter({ className, showCloseButton = false, children, ...props }) {
30
+ return (_jsxs("div", { "data-slot": "dialog-footer", className: cn('-mx-4 -mb-4 flex flex-col-reverse gap-2 rounded-b-xl border-t bg-muted/50 p-4 sm:flex-row sm:justify-end', className), ...props, children: [children, showCloseButton && _jsx(DialogPrimitive.Close, { render: _jsx(Button, { variant: "outline" }), children: "Close" })] }));
31
+ }
32
+ function DialogTitle({ className, ...props }) {
33
+ return _jsx(DialogPrimitive.Title, { "data-slot": "dialog-title", className: cn('font-heading text-base leading-none font-medium', className), ...props });
34
+ }
35
+ function DialogDescription({ className, ...props }) {
36
+ return (_jsx(DialogPrimitive.Description, { "data-slot": "dialog-description", className: cn('text-sm text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground', className), ...props }));
37
+ }
38
+ export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger };
@@ -0,0 +1,9 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+ import { Dialog } from './dialog';
3
+ declare const meta: Meta<typeof Dialog>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof meta>;
6
+ export declare const Default: Story;
7
+ export declare const WithoutBuiltInClose: Story;
8
+ export declare const Gallery: Story;
9
+ //# sourceMappingURL=dialog.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialog.stories.d.ts","sourceRoot":"","sources":["../../../src/components/dialog/dialog.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGvD,OAAO,EAAE,MAAM,EAA4F,MAAM,UAAU,CAAC;AAE5H,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,MAAM,CAO7B,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAarB,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,KAajC,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAgBrB,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Button } from '../button';
3
+ import { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger } from './dialog';
4
+ const meta = {
5
+ title: 'UI/Dialog',
6
+ component: Dialog,
7
+ tags: ['autodocs'],
8
+ parameters: {
9
+ layout: 'centered',
10
+ },
11
+ };
12
+ export default meta;
13
+ export const Default = {
14
+ render: () => (_jsxs(Dialog, { children: [_jsx(DialogTrigger, { render: _jsx(Button, { variant: "outline", size: "sm" }), children: "Open dialog" }), _jsxs(DialogContent, { children: [_jsxs(DialogHeader, { children: [_jsx(DialogTitle, { children: "Dialog title" }), _jsx(DialogDescription, { children: "This is a short description of what happens in this dialog." })] }), _jsx(DialogFooter, { showCloseButton: true })] })] })),
15
+ };
16
+ export const WithoutBuiltInClose = {
17
+ render: () => (_jsxs(Dialog, { children: [_jsx(DialogTrigger, { render: _jsx(Button, { variant: "outline", size: "sm" }), children: "Open" }), _jsxs(DialogContent, { showCloseButton: false, children: [_jsxs(DialogHeader, { children: [_jsx(DialogTitle, { children: "No header close" }), _jsx(DialogDescription, { children: "Use the footer action or Escape to dismiss." })] }), _jsx(DialogFooter, { showCloseButton: true })] })] })),
18
+ };
19
+ export const Gallery = {
20
+ parameters: { layout: 'padded', controls: { disable: true } },
21
+ render: () => (_jsx("div", { className: "flex flex-wrap gap-4", children: _jsxs(Dialog, { children: [_jsx(DialogTrigger, { render: _jsx(Button, { variant: "outline", size: "sm" }), children: "Simple" }), _jsxs(DialogContent, { children: [_jsxs(DialogHeader, { children: [_jsx(DialogTitle, { children: "Confirm" }), _jsx(DialogDescription, { children: "Proceed with this action?" })] }), _jsx(DialogFooter, { showCloseButton: true })] })] }) })),
22
+ };
@@ -0,0 +1,3 @@
1
+ export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, } from './dialog';
2
+ export type { DialogCloseProps, DialogContentProps, DialogDescriptionProps, DialogFooterProps, DialogHeaderProps, DialogOverlayProps, DialogPortalProps, DialogProps, DialogTitleProps, DialogTriggerProps, } from './dialog';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/dialog/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,MAAM,EACN,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,WAAW,EACX,aAAa,GAChB,MAAM,UAAU,CAAC;AAClB,YAAY,EACR,gBAAgB,EAChB,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,WAAW,EACX,gBAAgB,EAChB,kBAAkB,GACrB,MAAM,UAAU,CAAC"}
@@ -0,0 +1 @@
1
+ export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, } from './dialog';
@@ -0,0 +1,7 @@
1
+ /**
2
+ * RTL/LTR context for Base UI–aligned components. Re-exports
3
+ * [Base UI Direction Provider](https://base-ui.com/react/components/direction-provider).
4
+ */
5
+ export { DirectionProvider, useDirection, type TextDirection } from '@base-ui/react/direction-provider';
6
+ export type { DirectionProviderProps } from '@base-ui/react/direction-provider';
7
+ //# sourceMappingURL=direction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"direction.d.ts","sourceRoot":"","sources":["../../../src/components/direction/direction.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,mCAAmC,CAAC;AACxG,YAAY,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * RTL/LTR context for Base UI–aligned components. Re-exports
3
+ * [Base UI Direction Provider](https://base-ui.com/react/components/direction-provider).
4
+ */
5
+ export { DirectionProvider, useDirection } from '@base-ui/react/direction-provider';
@@ -0,0 +1,8 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+ import { DirectionProvider } from './direction';
3
+ declare const meta: Meta<typeof DirectionProvider>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof meta>;
6
+ export declare const LTR: Story;
7
+ export declare const RTL: Story;
8
+ //# sourceMappingURL=direction.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"direction.stories.d.ts","sourceRoot":"","sources":["../../../src/components/direction/direction.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,iBAAiB,CAOC,CAAC;AAE3C,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,GAAG,EAAE,KASjB,CAAC;AAEF,eAAO,MAAM,GAAG,EAAE,KASjB,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { DirectionProvider } from './direction';
3
+ const meta = {
4
+ title: 'UI/Direction',
5
+ component: DirectionProvider,
6
+ tags: ['autodocs'],
7
+ parameters: {
8
+ layout: 'centered',
9
+ },
10
+ };
11
+ export default meta;
12
+ export const LTR = {
13
+ args: {
14
+ direction: 'ltr',
15
+ },
16
+ render: (args) => (_jsx(DirectionProvider, { ...args, children: _jsx("p", { className: "text-sm", children: "Left-to-right layout (default)." }) })),
17
+ };
18
+ export const RTL = {
19
+ args: {
20
+ direction: 'rtl',
21
+ },
22
+ render: (args) => (_jsx(DirectionProvider, { ...args, children: _jsx("p", { className: "text-sm", children: "Right-to-left layout for Arabic, Hebrew, and similar locales." }) })),
23
+ };
@@ -0,0 +1,2 @@
1
+ export * from './direction';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/direction/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
@@ -0,0 +1 @@
1
+ export * from './direction';
@@ -0,0 +1,25 @@
1
+ import * as React from 'react';
2
+ import { Drawer as DrawerPrimitive } from 'vaul';
3
+ /** Props for the drawer root. See [Vaul](https://github.com/emilkowalski/vaul). */
4
+ export type DrawerProps = React.ComponentProps<typeof DrawerPrimitive.Root>;
5
+ declare function Drawer({ ...props }: DrawerProps): import("react/jsx-runtime").JSX.Element;
6
+ export type DrawerTriggerProps = React.ComponentProps<typeof DrawerPrimitive.Trigger>;
7
+ declare function DrawerTrigger({ ...props }: DrawerTriggerProps): import("react/jsx-runtime").JSX.Element;
8
+ export type DrawerPortalProps = React.ComponentProps<typeof DrawerPrimitive.Portal>;
9
+ declare function DrawerPortal({ ...props }: DrawerPortalProps): import("react/jsx-runtime").JSX.Element;
10
+ export type DrawerCloseProps = React.ComponentProps<typeof DrawerPrimitive.Close>;
11
+ declare function DrawerClose({ ...props }: DrawerCloseProps): import("react/jsx-runtime").JSX.Element;
12
+ export type DrawerOverlayProps = React.ComponentProps<typeof DrawerPrimitive.Overlay>;
13
+ declare function DrawerOverlay({ className, ...props }: DrawerOverlayProps): import("react/jsx-runtime").JSX.Element;
14
+ export type DrawerContentProps = React.ComponentProps<typeof DrawerPrimitive.Content>;
15
+ declare function DrawerContent({ className, children, ...props }: DrawerContentProps): import("react/jsx-runtime").JSX.Element;
16
+ export type DrawerHeaderProps = React.ComponentProps<'div'>;
17
+ declare function DrawerHeader({ className, ...props }: DrawerHeaderProps): import("react/jsx-runtime").JSX.Element;
18
+ export type DrawerFooterProps = React.ComponentProps<'div'>;
19
+ declare function DrawerFooter({ className, ...props }: DrawerFooterProps): import("react/jsx-runtime").JSX.Element;
20
+ export type DrawerTitleProps = React.ComponentProps<typeof DrawerPrimitive.Title>;
21
+ declare function DrawerTitle({ className, ...props }: DrawerTitleProps): import("react/jsx-runtime").JSX.Element;
22
+ export type DrawerDescriptionProps = React.ComponentProps<typeof DrawerPrimitive.Description>;
23
+ declare function DrawerDescription({ className, ...props }: DrawerDescriptionProps): import("react/jsx-runtime").JSX.Element;
24
+ export { Drawer, DrawerPortal, DrawerOverlay, DrawerTrigger, DrawerClose, DrawerContent, DrawerHeader, DrawerFooter, DrawerTitle, DrawerDescription };
25
+ //# sourceMappingURL=drawer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drawer.d.ts","sourceRoot":"","sources":["../../../src/components/drawer/drawer.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,MAAM,CAAC;AAIjD,mFAAmF;AACnF,MAAM,MAAM,WAAW,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;AAE5E,iBAAS,MAAM,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,WAAW,2CAExC;AAED,MAAM,MAAM,kBAAkB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC;AAEtF,iBAAS,aAAa,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,kBAAkB,2CAEtD;AAED,MAAM,MAAM,iBAAiB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;AAEpF,iBAAS,YAAY,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,2CAEpD;AAED,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;AAElF,iBAAS,WAAW,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,2CAElD;AAED,MAAM,MAAM,kBAAkB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC;AAEtF,iBAAS,aAAa,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,kBAAkB,2CAWjE;AAED,MAAM,MAAM,kBAAkB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC;AAEtF,iBAAS,aAAa,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,kBAAkB,2CAiB3E;AAED,MAAM,MAAM,iBAAiB,GAAG,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AAE5D,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,2CAW/D;AAED,MAAM,MAAM,iBAAiB,GAAG,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AAE5D,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,2CAE/D;AAED,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;AAElF,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,2CAE7D;AAED,MAAM,MAAM,sBAAsB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,WAAW,CAAC,CAAC;AAE9F,iBAAS,iBAAiB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,sBAAsB,2CAEzE;AAED,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC"}
@@ -0,0 +1,36 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import * as React from 'react';
4
+ import { Drawer as DrawerPrimitive } from 'vaul';
5
+ import { cn } from '../../lib/utils';
6
+ function Drawer({ ...props }) {
7
+ return _jsx(DrawerPrimitive.Root, { "data-slot": "drawer", ...props });
8
+ }
9
+ function DrawerTrigger({ ...props }) {
10
+ return _jsx(DrawerPrimitive.Trigger, { "data-slot": "drawer-trigger", ...props });
11
+ }
12
+ function DrawerPortal({ ...props }) {
13
+ return _jsx(DrawerPrimitive.Portal, { "data-slot": "drawer-portal", ...props });
14
+ }
15
+ function DrawerClose({ ...props }) {
16
+ return _jsx(DrawerPrimitive.Close, { "data-slot": "drawer-close", ...props });
17
+ }
18
+ function DrawerOverlay({ className, ...props }) {
19
+ return (_jsx(DrawerPrimitive.Overlay, { "data-slot": "drawer-overlay", className: cn('fixed inset-0 z-50 bg-black/10 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0', className), ...props }));
20
+ }
21
+ function DrawerContent({ className, children, ...props }) {
22
+ return (_jsxs(DrawerPortal, { "data-slot": "drawer-portal", children: [_jsx(DrawerOverlay, {}), _jsxs(DrawerPrimitive.Content, { "data-slot": "drawer-content", className: cn('group/drawer-content fixed z-50 flex h-auto flex-col bg-popover text-sm text-popover-foreground data-[vaul-drawer-direction=bottom]:inset-x-0 data-[vaul-drawer-direction=bottom]:bottom-0 data-[vaul-drawer-direction=bottom]:mt-24 data-[vaul-drawer-direction=bottom]:max-h-[80vh] data-[vaul-drawer-direction=bottom]:rounded-t-xl data-[vaul-drawer-direction=bottom]:border-t data-[vaul-drawer-direction=left]:inset-y-0 data-[vaul-drawer-direction=left]:left-0 data-[vaul-drawer-direction=left]:w-3/4 data-[vaul-drawer-direction=left]:rounded-r-xl data-[vaul-drawer-direction=left]:border-r data-[vaul-drawer-direction=right]:inset-y-0 data-[vaul-drawer-direction=right]:right-0 data-[vaul-drawer-direction=right]:w-3/4 data-[vaul-drawer-direction=right]:rounded-l-xl data-[vaul-drawer-direction=right]:border-l data-[vaul-drawer-direction=top]:inset-x-0 data-[vaul-drawer-direction=top]:top-0 data-[vaul-drawer-direction=top]:mb-24 data-[vaul-drawer-direction=top]:max-h-[80vh] data-[vaul-drawer-direction=top]:rounded-b-xl data-[vaul-drawer-direction=top]:border-b data-[vaul-drawer-direction=left]:sm:max-w-sm data-[vaul-drawer-direction=right]:sm:max-w-sm', className), ...props, children: [_jsx("div", { className: "mx-auto mt-4 hidden h-1 w-[100px] shrink-0 rounded-full bg-muted group-data-[vaul-drawer-direction=bottom]/drawer-content:block" }), children] })] }));
23
+ }
24
+ function DrawerHeader({ className, ...props }) {
25
+ return (_jsx("div", { "data-slot": "drawer-header", className: cn('flex flex-col gap-0.5 p-4 group-data-[vaul-drawer-direction=bottom]/drawer-content:text-center group-data-[vaul-drawer-direction=top]/drawer-content:text-center md:gap-0.5 md:text-left', className), ...props }));
26
+ }
27
+ function DrawerFooter({ className, ...props }) {
28
+ return _jsx("div", { "data-slot": "drawer-footer", className: cn('mt-auto flex flex-col gap-2 p-4', className), ...props });
29
+ }
30
+ function DrawerTitle({ className, ...props }) {
31
+ return _jsx(DrawerPrimitive.Title, { "data-slot": "drawer-title", className: cn('font-heading text-base font-medium text-foreground', className), ...props });
32
+ }
33
+ function DrawerDescription({ className, ...props }) {
34
+ return _jsx(DrawerPrimitive.Description, { "data-slot": "drawer-description", className: cn('text-sm text-muted-foreground', className), ...props });
35
+ }
36
+ export { Drawer, DrawerPortal, DrawerOverlay, DrawerTrigger, DrawerClose, DrawerContent, DrawerHeader, DrawerFooter, DrawerTitle, DrawerDescription };
@@ -0,0 +1,7 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+ declare const meta: Meta;
3
+ export default meta;
4
+ type Story = StoryObj<typeof meta>;
5
+ export declare const Default: Story;
6
+ export declare const FromRight: Story;
7
+ //# sourceMappingURL=drawer.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drawer.stories.d.ts","sourceRoot":"","sources":["../../../src/components/drawer/drawer.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAKvD,QAAA,MAAM,IAAI,EAAE,IAMX,CAAC;AAEF,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"}
@@ -0,0 +1,17 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Button } from '../button';
3
+ import { Drawer, DrawerContent, DrawerDescription, DrawerHeader, DrawerTitle, DrawerTrigger } from './drawer';
4
+ const meta = {
5
+ title: 'UI/Drawer',
6
+ tags: ['autodocs'],
7
+ parameters: {
8
+ layout: 'centered',
9
+ },
10
+ };
11
+ export default meta;
12
+ export const Default = {
13
+ render: () => (_jsxs(Drawer, { children: [_jsx(DrawerTrigger, { asChild: true, children: _jsx(Button, { variant: "outline", size: "sm", children: "Open drawer" }) }), _jsx(DrawerContent, { children: _jsxs(DrawerHeader, { children: [_jsx(DrawerTitle, { children: "Drawer title" }), _jsx(DrawerDescription, { children: "Drag the handle or tap outside to close." })] }) })] })),
14
+ };
15
+ export const FromRight = {
16
+ render: () => (_jsxs(Drawer, { direction: "right", children: [_jsx(DrawerTrigger, { asChild: true, children: _jsx(Button, { variant: "outline", size: "sm", children: "From right" }) }), _jsx(DrawerContent, { children: _jsxs(DrawerHeader, { children: [_jsx(DrawerTitle, { children: "Side drawer" }), _jsx(DrawerDescription, { children: "Good for navigation on small screens." })] }) })] })),
17
+ };
@@ -0,0 +1,2 @@
1
+ export * from './drawer';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/drawer/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC"}
@@ -0,0 +1 @@
1
+ export * from './drawer';
@@ -0,0 +1,65 @@
1
+ import * as React from 'react';
2
+ import { Menu as MenuPrimitive } from '@base-ui/react/menu';
3
+ type DropdownMenuContentPositionProps = Pick<MenuPrimitive.Positioner.Props, 'align' | 'alignOffset' | 'side' | 'sideOffset'>;
4
+ /**
5
+ * Props for `DropdownMenu`. Inherits behavior from
6
+ * [Base UI Menu](https://base-ui.com/react/components/menu).
7
+ */
8
+ type DropdownMenuProps = MenuPrimitive.Root.Props;
9
+ /** Props for `DropdownMenuPortal`. */
10
+ type DropdownMenuPortalProps = MenuPrimitive.Portal.Props;
11
+ /** Props for `DropdownMenuTrigger`. */
12
+ type DropdownMenuTriggerProps = MenuPrimitive.Trigger.Props;
13
+ /** Props for `DropdownMenuContent` (popup plus positioner alignment). */
14
+ type DropdownMenuContentProps = MenuPrimitive.Popup.Props & DropdownMenuContentPositionProps;
15
+ /** Props for `DropdownMenuSubContent` (same surface as content, tuned for nested menus). */
16
+ type DropdownMenuSubContentProps = DropdownMenuContentProps;
17
+ /** Props for `DropdownMenuGroup`. */
18
+ type DropdownMenuGroupProps = MenuPrimitive.Group.Props;
19
+ /** Props for `DropdownMenuLabel`. */
20
+ type DropdownMenuLabelProps = React.ComponentProps<'div'> & {
21
+ inset?: boolean;
22
+ };
23
+ /** Props for `DropdownMenuItem`. */
24
+ type DropdownMenuItemProps = MenuPrimitive.Item.Props & {
25
+ inset?: boolean;
26
+ variant?: 'default' | 'destructive';
27
+ };
28
+ /** Props for `DropdownMenuSub`. */
29
+ type DropdownMenuSubProps = MenuPrimitive.SubmenuRoot.Props;
30
+ /** Props for `DropdownMenuSubTrigger`. */
31
+ type DropdownMenuSubTriggerProps = MenuPrimitive.SubmenuTrigger.Props & {
32
+ inset?: boolean;
33
+ };
34
+ /** Props for `DropdownMenuCheckboxItem`. */
35
+ type DropdownMenuCheckboxItemProps = MenuPrimitive.CheckboxItem.Props & {
36
+ inset?: boolean;
37
+ };
38
+ /** Props for `DropdownMenuRadioGroup`. */
39
+ type DropdownMenuRadioGroupProps = MenuPrimitive.RadioGroup.Props;
40
+ /** Props for `DropdownMenuRadioItem`. */
41
+ type DropdownMenuRadioItemProps = MenuPrimitive.RadioItem.Props & {
42
+ inset?: boolean;
43
+ };
44
+ /** Props for `DropdownMenuSeparator`. */
45
+ type DropdownMenuSeparatorProps = MenuPrimitive.Separator.Props;
46
+ /** Props for `DropdownMenuShortcut`. */
47
+ type DropdownMenuShortcutProps = React.ComponentProps<'span'>;
48
+ declare function DropdownMenu({ ...props }: DropdownMenuProps): import("react/jsx-runtime").JSX.Element;
49
+ declare function DropdownMenuPortal({ ...props }: DropdownMenuPortalProps): import("react/jsx-runtime").JSX.Element;
50
+ declare function DropdownMenuTrigger({ ...props }: DropdownMenuTriggerProps): import("react/jsx-runtime").JSX.Element;
51
+ declare function DropdownMenuContent({ align, alignOffset, side, sideOffset, className, ...props }: DropdownMenuContentProps): import("react/jsx-runtime").JSX.Element;
52
+ declare function DropdownMenuGroup({ ...props }: DropdownMenuGroupProps): import("react/jsx-runtime").JSX.Element;
53
+ declare function DropdownMenuLabel({ className, inset, ...props }: DropdownMenuLabelProps): import("react/jsx-runtime").JSX.Element;
54
+ declare function DropdownMenuItem({ className, inset, variant, ...props }: DropdownMenuItemProps): import("react/jsx-runtime").JSX.Element;
55
+ declare function DropdownMenuSub({ ...props }: DropdownMenuSubProps): import("react/jsx-runtime").JSX.Element;
56
+ declare function DropdownMenuSubTrigger({ className, inset, children, ...props }: DropdownMenuSubTriggerProps): import("react/jsx-runtime").JSX.Element;
57
+ declare function DropdownMenuSubContent({ align, alignOffset, side, sideOffset, className, ...props }: DropdownMenuSubContentProps): import("react/jsx-runtime").JSX.Element;
58
+ declare function DropdownMenuCheckboxItem({ className, children, checked, inset, ...props }: DropdownMenuCheckboxItemProps): import("react/jsx-runtime").JSX.Element;
59
+ declare function DropdownMenuRadioGroup({ ...props }: DropdownMenuRadioGroupProps): import("react/jsx-runtime").JSX.Element;
60
+ declare function DropdownMenuRadioItem({ className, children, inset, ...props }: DropdownMenuRadioItemProps): import("react/jsx-runtime").JSX.Element;
61
+ declare function DropdownMenuSeparator({ className, ...props }: DropdownMenuSeparatorProps): import("react/jsx-runtime").JSX.Element;
62
+ declare function DropdownMenuShortcut({ className, ...props }: DropdownMenuShortcutProps): import("react/jsx-runtime").JSX.Element;
63
+ export { DropdownMenu, DropdownMenuPortal, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuGroup, DropdownMenuLabel, DropdownMenuItem, DropdownMenuCheckboxItem, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubTrigger, DropdownMenuSubContent, };
64
+ export type { DropdownMenuProps, DropdownMenuPortalProps, DropdownMenuTriggerProps, DropdownMenuContentProps, DropdownMenuSubContentProps, DropdownMenuGroupProps, DropdownMenuLabelProps, DropdownMenuItemProps, DropdownMenuSubProps, DropdownMenuSubTriggerProps, DropdownMenuCheckboxItemProps, DropdownMenuRadioGroupProps, DropdownMenuRadioItemProps, DropdownMenuSeparatorProps, DropdownMenuShortcutProps, };
65
+ //# sourceMappingURL=dropdown-menu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dropdown-menu.d.ts","sourceRoot":"","sources":["../../../src/components/dropdown-menu/dropdown-menu.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,IAAI,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAM5D,KAAK,gCAAgC,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,aAAa,GAAG,MAAM,GAAG,YAAY,CAAC,CAAC;AAE9H;;;GAGG;AACH,KAAK,iBAAiB,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;AAElD,sCAAsC;AACtC,KAAK,uBAAuB,GAAG,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC;AAE1D,uCAAuC;AACvC,KAAK,wBAAwB,GAAG,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC;AAE5D,yEAAyE;AACzE,KAAK,wBAAwB,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,GAAG,gCAAgC,CAAC;AAE7F,4FAA4F;AAC5F,KAAK,2BAA2B,GAAG,wBAAwB,CAAC;AAE5D,qCAAqC;AACrC,KAAK,sBAAsB,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC;AAExD,qCAAqC;AACrC,KAAK,sBAAsB,GAAG,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG;IACxD,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,oCAAoC;AACpC,KAAK,qBAAqB,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,GAAG;IACpD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,SAAS,GAAG,aAAa,CAAC;CACvC,CAAC;AAEF,mCAAmC;AACnC,KAAK,oBAAoB,GAAG,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC;AAE5D,0CAA0C;AAC1C,KAAK,2BAA2B,GAAG,aAAa,CAAC,cAAc,CAAC,KAAK,GAAG;IACpE,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,4CAA4C;AAC5C,KAAK,6BAA6B,GAAG,aAAa,CAAC,YAAY,CAAC,KAAK,GAAG;IACpE,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,0CAA0C;AAC1C,KAAK,2BAA2B,GAAG,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC;AAElE,yCAAyC;AACzC,KAAK,0BAA0B,GAAG,aAAa,CAAC,SAAS,CAAC,KAAK,GAAG;IAC9D,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,yCAAyC;AACzC,KAAK,0BAA0B,GAAG,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC;AAEhE,wCAAwC;AACxC,KAAK,yBAAyB,GAAG,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;AAE9D,iBAAS,YAAY,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,2CAEpD;AAED,iBAAS,kBAAkB,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,uBAAuB,2CAEhE;AAED,iBAAS,mBAAmB,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,wBAAwB,2CAElE;AAED,iBAAS,mBAAmB,CAAC,EAAE,KAAe,EAAE,WAAe,EAAE,IAAe,EAAE,UAAc,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,wBAAwB,2CAehJ;AAED,iBAAS,iBAAiB,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,sBAAsB,2CAE9D;AAED,iBAAS,iBAAiB,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,sBAAsB,2CAShF;AAED,iBAAS,gBAAgB,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,OAAmB,EAAE,GAAG,KAAK,EAAE,EAAE,qBAAqB,2CAanG;AAED,iBAAS,eAAe,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,oBAAoB,2CAE1D;AAED,iBAAS,sBAAsB,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,2BAA2B,2CAepG;AAED,iBAAS,sBAAsB,CAAC,EAAE,KAAe,EAAE,WAAgB,EAAE,IAAc,EAAE,UAAc,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,2BAA2B,2CAetJ;AAED,iBAAS,wBAAwB,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,6BAA6B,2CAoBjH;AAED,iBAAS,sBAAsB,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,2BAA2B,2CAMxE;AAED,iBAAS,qBAAqB,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,0BAA0B,2CAmBlG;AAED,iBAAS,qBAAqB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,0BAA0B,2CAEjF;AAED,iBAAS,oBAAoB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,yBAAyB,2CAQ/E;AAED,OAAO,EACH,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,eAAe,EACf,sBAAsB,EACtB,sBAAsB,GACzB,CAAC;AAEF,YAAY,EACR,iBAAiB,EACjB,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,EACxB,2BAA2B,EAC3B,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,2BAA2B,EAC3B,6BAA6B,EAC7B,2BAA2B,EAC3B,0BAA0B,EAC1B,0BAA0B,EAC1B,yBAAyB,GAC5B,CAAC"}
@@ -0,0 +1,53 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import * as React from 'react';
4
+ import { Menu as MenuPrimitive } from '@base-ui/react/menu';
5
+ import { cn } from '../../lib/utils';
6
+ import { CaretRightIcon } from '@phosphor-icons/react/CaretRight';
7
+ import { CheckIcon } from '@phosphor-icons/react/Check';
8
+ function DropdownMenu({ ...props }) {
9
+ return _jsx(MenuPrimitive.Root, { "data-slot": "dropdown-menu", ...props });
10
+ }
11
+ function DropdownMenuPortal({ ...props }) {
12
+ return _jsx(MenuPrimitive.Portal, { "data-slot": "dropdown-menu-portal", ...props });
13
+ }
14
+ function DropdownMenuTrigger({ ...props }) {
15
+ return _jsx(MenuPrimitive.Trigger, { "data-slot": "dropdown-menu-trigger", ...props });
16
+ }
17
+ function DropdownMenuContent({ align = 'start', alignOffset = 0, side = 'bottom', sideOffset = 4, className, ...props }) {
18
+ return (_jsx(MenuPrimitive.Portal, { children: _jsx(MenuPrimitive.Positioner, { className: "isolate z-50 outline-none", align: align, alignOffset: alignOffset, side: side, sideOffset: sideOffset, children: _jsx(MenuPrimitive.Popup, { "data-slot": "dropdown-menu-content", className: cn('z-50 max-h-(--available-height) w-(--anchor-width) min-w-32 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 outline-none 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-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:overflow-hidden data-closed:fade-out-0 data-closed:zoom-out-95', className), ...props }) }) }));
19
+ }
20
+ function DropdownMenuGroup({ ...props }) {
21
+ return _jsx(MenuPrimitive.Group, { "data-slot": "dropdown-menu-group", ...props });
22
+ }
23
+ function DropdownMenuLabel({ className, inset, ...props }) {
24
+ return (_jsx("div", { "data-slot": "dropdown-menu-label", "data-inset": inset, className: cn('px-1.5 py-1 text-xs font-medium text-muted-foreground data-inset:pl-7', className), ...props }));
25
+ }
26
+ function DropdownMenuItem({ className, inset, variant = 'default', ...props }) {
27
+ return (_jsx(MenuPrimitive.Item, { "data-slot": "dropdown-menu-item", "data-inset": inset, "data-variant": variant, className: cn("group/dropdown-menu-item relative flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-7 data-[variant=destructive]:text-destructive-foreground data-[variant=destructive]:focus:bg-destructive-foreground/10 data-[variant=destructive]:focus:text-destructive-foreground dark:data-[variant=destructive]:focus:bg-destructive-foreground/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive-foreground", className), ...props }));
28
+ }
29
+ function DropdownMenuSub({ ...props }) {
30
+ return _jsx(MenuPrimitive.SubmenuRoot, { "data-slot": "dropdown-menu-sub", ...props });
31
+ }
32
+ function DropdownMenuSubTrigger({ className, inset, children, ...props }) {
33
+ return (_jsxs(MenuPrimitive.SubmenuTrigger, { "data-slot": "dropdown-menu-sub-trigger", "data-inset": inset, className: cn("flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-7 data-popup-open:bg-accent data-popup-open:text-accent-foreground data-open:bg-accent data-open:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className), ...props, children: [children, _jsx(CaretRightIcon, { className: "ml-auto" })] }));
34
+ }
35
+ function DropdownMenuSubContent({ align = 'start', alignOffset = -3, side = 'right', sideOffset = 0, className, ...props }) {
36
+ return (_jsx(DropdownMenuContent, { "data-slot": "dropdown-menu-sub-content", className: cn('w-auto min-w-[96px] rounded-lg bg-popover p-1 text-popover-foreground shadow-lg ring-1 ring-foreground/10 duration-100 data-[side=bottom]:slide-in-from-top-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-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), align: align, alignOffset: alignOffset, side: side, sideOffset: sideOffset, ...props }));
37
+ }
38
+ function DropdownMenuCheckboxItem({ className, children, checked, inset, ...props }) {
39
+ return (_jsxs(MenuPrimitive.CheckboxItem, { "data-slot": "dropdown-menu-checkbox-item", "data-inset": inset, className: cn("relative flex cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className), checked: checked, ...props, children: [_jsx("span", { className: "pointer-events-none absolute right-2 flex items-center justify-center", "data-slot": "dropdown-menu-checkbox-item-indicator", children: _jsx(MenuPrimitive.CheckboxItemIndicator, { children: _jsx(CheckIcon, {}) }) }), children] }));
40
+ }
41
+ function DropdownMenuRadioGroup({ ...props }) {
42
+ return (_jsx(MenuPrimitive.Group, { children: _jsx(MenuPrimitive.RadioGroup, { "data-slot": "dropdown-menu-radio-group", ...props }) }));
43
+ }
44
+ function DropdownMenuRadioItem({ className, children, inset, ...props }) {
45
+ return (_jsxs(MenuPrimitive.RadioItem, { "data-slot": "dropdown-menu-radio-item", "data-inset": inset, className: cn("relative flex cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-7 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: [_jsx("span", { className: "pointer-events-none absolute right-2 flex items-center justify-center", "data-slot": "dropdown-menu-radio-item-indicator", children: _jsx(MenuPrimitive.RadioItemIndicator, { children: _jsx(CheckIcon, {}) }) }), children] }));
46
+ }
47
+ function DropdownMenuSeparator({ className, ...props }) {
48
+ return _jsx(MenuPrimitive.Separator, { "data-slot": "dropdown-menu-separator", className: cn('-mx-1 my-1 h-px bg-border', className), ...props });
49
+ }
50
+ function DropdownMenuShortcut({ className, ...props }) {
51
+ return (_jsx("span", { "data-slot": "dropdown-menu-shortcut", className: cn('ml-auto text-xs tracking-widest text-muted-foreground group-focus/dropdown-menu-item:text-accent-foreground', className), ...props }));
52
+ }
53
+ export { DropdownMenu, DropdownMenuPortal, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuGroup, DropdownMenuLabel, DropdownMenuItem, DropdownMenuCheckboxItem, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubTrigger, DropdownMenuSubContent, };
@@ -0,0 +1,18 @@
1
+ import type { StoryObj } from '@storybook/react';
2
+ import { DropdownMenu } from '.';
3
+ declare const meta: {
4
+ title: string;
5
+ component: typeof DropdownMenu;
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 WithCheckboxAndRadio: Story;
16
+ export declare const WithSubmenu: Story;
17
+ export declare const Gallery: Story;
18
+ //# sourceMappingURL=dropdown-menu.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dropdown-menu.stories.d.ts","sourceRoot":"","sources":["../../../src/components/dropdown-menu/dropdown-menu.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EACH,YAAY,EAcf,MAAM,GAAG,CAAC;AAEX,QAAA,MAAM,IAAI;;;;;;;CAO2B,CAAC;AAEtC,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAMnC,eAAO,MAAM,OAAO,EAAE,KAerB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAkB3B,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,KAuBlC,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAkBzB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAqDrB,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Button } from '../button';
3
+ import { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, } from '.';
4
+ const meta = {
5
+ title: 'UI/DropdownMenu',
6
+ component: DropdownMenu,
7
+ tags: ['autodocs'],
8
+ parameters: {
9
+ layout: 'centered',
10
+ },
11
+ };
12
+ export default meta;
13
+ function MenuTriggerButton(props) {
14
+ return _jsx(DropdownMenuTrigger, { render: _jsx(Button, { variant: "outline", size: "sm" }), children: props.children });
15
+ }
16
+ export const Default = {
17
+ render: () => (_jsxs(DropdownMenu, { children: [_jsx(MenuTriggerButton, { children: "Open menu" }), _jsxs(DropdownMenuContent, { className: "min-w-48", children: [_jsxs(DropdownMenuGroup, { children: [_jsx(DropdownMenuLabel, { children: "Actions" }), _jsx(DropdownMenuItem, { children: "New file" }), _jsx(DropdownMenuItem, { children: "New folder" })] }), _jsx(DropdownMenuSeparator, {}), _jsx(DropdownMenuItem, { variant: "destructive", children: "Delete" })] })] })),
18
+ };
19
+ export const WithShortcuts = {
20
+ render: () => (_jsxs(DropdownMenu, { children: [_jsx(MenuTriggerButton, { children: "File" }), _jsxs(DropdownMenuContent, { className: "min-w-52", children: [_jsxs(DropdownMenuItem, { children: ["Save ", _jsx(DropdownMenuShortcut, { children: "\u2318S" })] }), _jsxs(DropdownMenuItem, { children: ["Duplicate ", _jsx(DropdownMenuShortcut, { children: "\u2318D" })] }), _jsx(DropdownMenuSeparator, {}), _jsxs(DropdownMenuItem, { variant: "destructive", children: ["Delete ", _jsx(DropdownMenuShortcut, { children: "\u232B" })] })] })] })),
21
+ };
22
+ export const WithCheckboxAndRadio = {
23
+ render: () => (_jsxs(DropdownMenu, { children: [_jsx(MenuTriggerButton, { children: "View options" }), _jsxs(DropdownMenuContent, { className: "min-w-48", children: [_jsxs(DropdownMenuGroup, { children: [_jsx(DropdownMenuLabel, { children: "Appearance" }), _jsx(DropdownMenuCheckboxItem, { defaultChecked: true, children: "Show sidebar" }), _jsx(DropdownMenuCheckboxItem, { children: "Show status bar" })] }), _jsx(DropdownMenuSeparator, {}), _jsxs(DropdownMenuRadioGroup, { defaultValue: "comfortable", children: [_jsx(DropdownMenuLabel, { inset: true, children: "Density" }), _jsx(DropdownMenuRadioItem, { value: "compact", inset: true, children: "Compact" }), _jsx(DropdownMenuRadioItem, { value: "comfortable", inset: true, children: "Comfortable" })] })] })] })),
24
+ };
25
+ export const WithSubmenu = {
26
+ render: () => (_jsxs(DropdownMenu, { children: [_jsx(MenuTriggerButton, { children: "More" }), _jsxs(DropdownMenuContent, { className: "min-w-44", children: [_jsx(DropdownMenuItem, { children: "Back" }), _jsxs(DropdownMenuSub, { children: [_jsx(DropdownMenuSubTrigger, { children: "Share" }), _jsxs(DropdownMenuSubContent, { children: [_jsx(DropdownMenuItem, { children: "Copy link" }), _jsx(DropdownMenuItem, { children: "Email" })] })] }), _jsx(DropdownMenuSeparator, {}), _jsx(DropdownMenuItem, { variant: "destructive", children: "Remove" })] })] })),
27
+ };
28
+ export const Gallery = {
29
+ parameters: { layout: 'padded' },
30
+ render: () => (_jsxs("div", { className: "flex flex-col gap-10", 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("div", { className: "flex flex-wrap gap-4", children: _jsxs(DropdownMenu, { children: [_jsx(MenuTriggerButton, { children: "Menu" }), _jsxs(DropdownMenuContent, { children: [_jsx(DropdownMenuItem, { children: "One" }), _jsx(DropdownMenuItem, { children: "Two" })] })] }) })] }), _jsxs("div", { className: "flex flex-col gap-3", children: [_jsx("p", { className: "text-xs font-medium tracking-wide text-muted-foreground uppercase", children: "Shortcuts & destructive" }), _jsx("div", { className: "flex flex-wrap gap-4", children: _jsxs(DropdownMenu, { children: [_jsx(MenuTriggerButton, { children: "Edit" }), _jsxs(DropdownMenuContent, { className: "min-w-52", children: [_jsxs(DropdownMenuItem, { children: ["Cut ", _jsx(DropdownMenuShortcut, { children: "\u2318X" })] }), _jsxs(DropdownMenuItem, { children: ["Copy ", _jsx(DropdownMenuShortcut, { children: "\u2318C" })] }), _jsx(DropdownMenuSeparator, {}), _jsx(DropdownMenuItem, { variant: "destructive", children: "Delete" })] })] }) })] }), _jsxs("div", { className: "flex flex-col gap-3", children: [_jsx("p", { className: "text-xs font-medium tracking-wide text-muted-foreground uppercase", children: "Nested" }), _jsx("div", { className: "flex flex-wrap gap-4", children: _jsxs(DropdownMenu, { children: [_jsx(MenuTriggerButton, { children: "Export" }), _jsx(DropdownMenuContent, { children: _jsxs(DropdownMenuSub, { children: [_jsx(DropdownMenuSubTrigger, { children: "Download" }), _jsxs(DropdownMenuSubContent, { children: [_jsx(DropdownMenuItem, { children: "PNG" }), _jsx(DropdownMenuItem, { children: "SVG" })] })] }) })] }) })] })] })),
31
+ };
@@ -0,0 +1,3 @@
1
+ export { DropdownMenu, DropdownMenuPortal, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuGroup, DropdownMenuLabel, DropdownMenuItem, DropdownMenuCheckboxItem, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubTrigger, DropdownMenuSubContent, } from './dropdown-menu';
2
+ export type { DropdownMenuProps, DropdownMenuPortalProps, DropdownMenuTriggerProps, DropdownMenuContentProps, DropdownMenuSubContentProps, DropdownMenuGroupProps, DropdownMenuLabelProps, DropdownMenuItemProps, DropdownMenuSubProps, DropdownMenuSubTriggerProps, DropdownMenuCheckboxItemProps, DropdownMenuRadioGroupProps, DropdownMenuRadioItemProps, DropdownMenuSeparatorProps, DropdownMenuShortcutProps, } from './dropdown-menu';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/dropdown-menu/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,eAAe,EACf,sBAAsB,EACtB,sBAAsB,GACzB,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EACR,iBAAiB,EACjB,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,EACxB,2BAA2B,EAC3B,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,2BAA2B,EAC3B,6BAA6B,EAC7B,2BAA2B,EAC3B,0BAA0B,EAC1B,0BAA0B,EAC1B,yBAAyB,GAC5B,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1 @@
1
+ export { DropdownMenu, DropdownMenuPortal, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuGroup, DropdownMenuLabel, DropdownMenuItem, DropdownMenuCheckboxItem, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubTrigger, DropdownMenuSubContent, } from './dropdown-menu';