@wheelhouse/ui 0.1.6 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (535) hide show
  1. package/dist/blocks/index.d.ts +2 -0
  2. package/dist/blocks/index.d.ts.map +1 -0
  3. package/dist/blocks/index.js +1 -0
  4. package/dist/blocks/navigation/index.d.ts +2 -0
  5. package/dist/blocks/navigation/index.d.ts.map +1 -0
  6. package/dist/blocks/navigation/index.js +1 -0
  7. package/dist/blocks/navigation/pattern-1/index.d.ts +3 -0
  8. package/dist/blocks/navigation/pattern-1/index.d.ts.map +1 -0
  9. package/dist/blocks/navigation/pattern-1/index.js +1 -0
  10. package/dist/blocks/navigation/pattern-1/pattern-1.config.d.ts +47 -0
  11. package/dist/blocks/navigation/pattern-1/pattern-1.config.d.ts.map +1 -0
  12. package/dist/blocks/navigation/pattern-1/pattern-1.config.js +55 -0
  13. package/dist/blocks/navigation/pattern-1/pattern-1.d.ts +7 -0
  14. package/dist/blocks/navigation/pattern-1/pattern-1.d.ts.map +1 -0
  15. package/dist/blocks/navigation/pattern-1/pattern-1.js +50 -0
  16. package/dist/blocks/navigation/pattern-1/pattern-1.stories.d.ts +16 -0
  17. package/dist/blocks/navigation/pattern-1/pattern-1.stories.d.ts.map +1 -0
  18. package/dist/blocks/navigation/pattern-1/pattern-1.stories.js +20 -0
  19. package/dist/components/accordion/accordion.d.ts +15 -0
  20. package/dist/components/accordion/accordion.d.ts.map +1 -0
  21. package/dist/components/accordion/accordion.js +18 -0
  22. package/dist/components/accordion/accordion.stories.d.ts +7 -0
  23. package/dist/components/accordion/accordion.stories.d.ts.map +1 -0
  24. package/dist/components/accordion/accordion.stories.js +17 -0
  25. package/dist/components/accordion/index.d.ts +3 -0
  26. package/dist/components/accordion/index.d.ts.map +1 -0
  27. package/dist/components/accordion/index.js +1 -0
  28. package/dist/components/alert/alert.d.ts +11 -0
  29. package/dist/components/alert/alert.d.ts.map +1 -0
  30. package/dist/components/alert/alert.js +28 -0
  31. package/dist/components/alert/alert.stories.d.ts +11 -0
  32. package/dist/components/alert/alert.stories.d.ts.map +1 -0
  33. package/dist/components/alert/alert.stories.js +35 -0
  34. package/dist/components/alert/index.d.ts +2 -0
  35. package/dist/components/alert/index.d.ts.map +1 -0
  36. package/dist/components/alert/index.js +1 -0
  37. package/dist/components/alert-dialog/alert-dialog.d.ts +44 -0
  38. package/dist/components/alert-dialog/alert-dialog.d.ts.map +1 -0
  39. package/dist/components/alert-dialog/alert-dialog.js +43 -0
  40. package/dist/components/alert-dialog/alert-dialog.stories.d.ts +9 -0
  41. package/dist/components/alert-dialog/alert-dialog.stories.d.ts.map +1 -0
  42. package/dist/components/alert-dialog/alert-dialog.stories.js +22 -0
  43. package/dist/components/alert-dialog/index.d.ts +3 -0
  44. package/dist/components/alert-dialog/index.d.ts.map +1 -0
  45. package/dist/components/alert-dialog/index.js +1 -0
  46. package/dist/components/aspect-ratio/aspect-ratio.d.ts +11 -0
  47. package/dist/components/aspect-ratio/aspect-ratio.d.ts.map +1 -0
  48. package/dist/components/aspect-ratio/aspect-ratio.js +9 -0
  49. package/dist/components/aspect-ratio/aspect-ratio.stories.d.ts +8 -0
  50. package/dist/components/aspect-ratio/aspect-ratio.stories.d.ts.map +1 -0
  51. package/dist/components/aspect-ratio/aspect-ratio.stories.js +26 -0
  52. package/dist/components/aspect-ratio/index.d.ts +3 -0
  53. package/dist/components/aspect-ratio/index.d.ts.map +1 -0
  54. package/dist/components/aspect-ratio/index.js +1 -0
  55. package/dist/components/avatar/avatar.d.ts +29 -0
  56. package/dist/components/avatar/avatar.d.ts.map +1 -0
  57. package/dist/components/avatar/avatar.js +24 -0
  58. package/dist/components/avatar/avatar.stories.d.ts +20 -0
  59. package/dist/components/avatar/avatar.stories.d.ts.map +1 -0
  60. package/dist/components/avatar/avatar.stories.js +40 -0
  61. package/dist/components/avatar/index.d.ts +2 -0
  62. package/dist/components/avatar/index.d.ts.map +1 -0
  63. package/dist/components/avatar/index.js +1 -0
  64. package/dist/components/badge/badge.d.ts +5 -4
  65. package/dist/components/badge/badge.d.ts.map +1 -1
  66. package/dist/components/badge/badge.js +3 -3
  67. package/dist/components/breadcrumb/breadcrumb.d.ts +25 -0
  68. package/dist/components/breadcrumb/breadcrumb.d.ts.map +1 -0
  69. package/dist/components/breadcrumb/breadcrumb.js +38 -0
  70. package/dist/components/breadcrumb/breadcrumb.stories.d.ts +16 -0
  71. package/dist/components/breadcrumb/breadcrumb.stories.d.ts.map +1 -0
  72. package/dist/components/breadcrumb/breadcrumb.stories.js +21 -0
  73. package/dist/components/breadcrumb/index.d.ts +2 -0
  74. package/dist/components/breadcrumb/index.d.ts.map +1 -0
  75. package/dist/components/breadcrumb/index.js +1 -0
  76. package/dist/components/button/button.d.ts +9 -6
  77. package/dist/components/button/button.d.ts.map +1 -1
  78. package/dist/components/button/button.js +3 -3
  79. package/dist/components/button-group/button-group.d.ts +3 -1
  80. package/dist/components/button-group/button-group.d.ts.map +1 -1
  81. package/dist/components/button-group/button-group.js +1 -1
  82. package/dist/components/button-group/button-group.stories.d.ts +1 -0
  83. package/dist/components/button-group/button-group.stories.d.ts.map +1 -1
  84. package/dist/components/button-group/button-group.stories.js +4 -0
  85. package/dist/components/button-group/index.d.ts +1 -0
  86. package/dist/components/button-group/index.d.ts.map +1 -1
  87. package/dist/components/calendar/calendar.d.ts +34 -0
  88. package/dist/components/calendar/calendar.d.ts.map +1 -0
  89. package/dist/components/calendar/calendar.js +82 -0
  90. package/dist/components/calendar/calendar.stories.d.ts +16 -0
  91. package/dist/components/calendar/calendar.stories.d.ts.map +1 -0
  92. package/dist/components/calendar/calendar.stories.js +33 -0
  93. package/dist/components/calendar/index.d.ts +3 -0
  94. package/dist/components/calendar/index.d.ts.map +1 -0
  95. package/dist/components/calendar/index.js +1 -0
  96. package/dist/components/card/card.d.ts +28 -0
  97. package/dist/components/card/card.d.ts.map +1 -0
  98. package/dist/components/card/card.js +25 -0
  99. package/dist/components/card/card.stories.d.ts +10 -0
  100. package/dist/components/card/card.stories.d.ts.map +1 -0
  101. package/dist/components/card/card.stories.js +30 -0
  102. package/dist/components/card/index.d.ts +2 -0
  103. package/dist/components/card/index.d.ts.map +1 -0
  104. package/dist/components/card/index.js +1 -0
  105. package/dist/components/checkbox/checkbox.d.ts +9 -0
  106. package/dist/components/checkbox/checkbox.d.ts.map +1 -0
  107. package/dist/components/checkbox/checkbox.js +9 -0
  108. package/dist/components/checkbox/checkbox.stories.d.ts +19 -0
  109. package/dist/components/checkbox/checkbox.stories.d.ts.map +1 -0
  110. package/dist/components/checkbox/checkbox.stories.js +31 -0
  111. package/dist/components/checkbox/index.d.ts +2 -0
  112. package/dist/components/checkbox/index.d.ts.map +1 -0
  113. package/dist/components/checkbox/index.js +1 -0
  114. package/dist/components/collapsible/collapsible.d.ts +17 -0
  115. package/dist/components/collapsible/collapsible.d.ts.map +1 -0
  116. package/dist/components/collapsible/collapsible.js +17 -0
  117. package/dist/components/collapsible/collapsible.stories.d.ts +16 -0
  118. package/dist/components/collapsible/collapsible.stories.d.ts.map +1 -0
  119. package/dist/components/collapsible/collapsible.stories.js +24 -0
  120. package/dist/components/collapsible/index.d.ts +3 -0
  121. package/dist/components/collapsible/index.d.ts.map +1 -0
  122. package/dist/components/collapsible/index.js +1 -0
  123. package/dist/components/combobox/combobox.d.ts +38 -0
  124. package/dist/components/combobox/combobox.d.ts.map +1 -0
  125. package/dist/components/combobox/combobox.js +63 -0
  126. package/dist/components/combobox/combobox.stories.d.ts +18 -0
  127. package/dist/components/combobox/combobox.stories.d.ts.map +1 -0
  128. package/dist/components/combobox/combobox.stories.js +46 -0
  129. package/dist/components/combobox/index.d.ts +3 -0
  130. package/dist/components/combobox/index.d.ts.map +1 -0
  131. package/dist/components/combobox/index.js +1 -0
  132. package/dist/components/command/command.d.ts +31 -0
  133. package/dist/components/command/command.d.ts.map +1 -0
  134. package/dist/components/command/command.js +36 -0
  135. package/dist/components/command/command.stories.d.ts +16 -0
  136. package/dist/components/command/command.stories.d.ts.map +1 -0
  137. package/dist/components/command/command.stories.js +26 -0
  138. package/dist/components/command/index.d.ts +2 -0
  139. package/dist/components/command/index.d.ts.map +1 -0
  140. package/dist/components/command/index.js +1 -0
  141. package/dist/components/context-menu/context-menu.d.ts +62 -0
  142. package/dist/components/context-menu/context-menu.d.ts.map +1 -0
  143. package/dist/components/context-menu/context-menu.js +52 -0
  144. package/dist/components/context-menu/context-menu.stories.d.ts +17 -0
  145. package/dist/components/context-menu/context-menu.stories.d.ts.map +1 -0
  146. package/dist/components/context-menu/context-menu.stories.js +27 -0
  147. package/dist/components/context-menu/index.d.ts +2 -0
  148. package/dist/components/context-menu/index.d.ts.map +1 -0
  149. package/dist/components/context-menu/index.js +1 -0
  150. package/dist/components/date-selector/date-selector-context.d.ts +6 -0
  151. package/dist/components/date-selector/date-selector-context.d.ts.map +1 -0
  152. package/dist/components/date-selector/date-selector-context.js +11 -0
  153. package/dist/components/date-selector/date-selector-parts.d.ts +68 -0
  154. package/dist/components/date-selector/date-selector-parts.d.ts.map +1 -0
  155. package/dist/components/date-selector/date-selector-parts.js +131 -0
  156. package/dist/components/date-selector/date-selector-types.d.ts +118 -0
  157. package/dist/components/date-selector/date-selector-types.d.ts.map +1 -0
  158. package/dist/components/date-selector/date-selector-types.js +32 -0
  159. package/dist/components/date-selector/date-selector-value.d.ts +47 -0
  160. package/dist/components/date-selector/date-selector-value.d.ts.map +1 -0
  161. package/dist/components/date-selector/date-selector-value.js +183 -0
  162. package/dist/components/date-selector/date-selector.d.ts +6 -0
  163. package/dist/components/date-selector/date-selector.d.ts.map +1 -0
  164. package/dist/components/date-selector/date-selector.js +144 -0
  165. package/dist/components/date-selector/date-selector.stories.d.ts +135 -0
  166. package/dist/components/date-selector/date-selector.stories.d.ts.map +1 -0
  167. package/dist/components/date-selector/date-selector.stories.js +144 -0
  168. package/dist/components/date-selector/index.d.ts +7 -0
  169. package/dist/components/date-selector/index.d.ts.map +1 -0
  170. package/dist/components/date-selector/index.js +5 -0
  171. package/dist/components/date-selector/use-date-selector.d.ts +50 -0
  172. package/dist/components/date-selector/use-date-selector.d.ts.map +1 -0
  173. package/dist/components/date-selector/use-date-selector.js +305 -0
  174. package/dist/components/dialog/dialog.d.ts +40 -0
  175. package/dist/components/dialog/dialog.d.ts.map +1 -0
  176. package/dist/components/dialog/dialog.js +38 -0
  177. package/dist/components/dialog/dialog.stories.d.ts +9 -0
  178. package/dist/components/dialog/dialog.stories.d.ts.map +1 -0
  179. package/dist/components/dialog/dialog.stories.js +22 -0
  180. package/dist/components/dialog/index.d.ts +3 -0
  181. package/dist/components/dialog/index.d.ts.map +1 -0
  182. package/dist/components/dialog/index.js +1 -0
  183. package/dist/components/direction/direction.d.ts +7 -0
  184. package/dist/components/direction/direction.d.ts.map +1 -0
  185. package/dist/components/direction/direction.js +5 -0
  186. package/dist/components/direction/direction.stories.d.ts +8 -0
  187. package/dist/components/direction/direction.stories.d.ts.map +1 -0
  188. package/dist/components/direction/direction.stories.js +23 -0
  189. package/dist/components/direction/index.d.ts +2 -0
  190. package/dist/components/direction/index.d.ts.map +1 -0
  191. package/dist/components/direction/index.js +1 -0
  192. package/dist/components/drawer/drawer.d.ts +25 -0
  193. package/dist/components/drawer/drawer.d.ts.map +1 -0
  194. package/dist/components/drawer/drawer.js +36 -0
  195. package/dist/components/drawer/drawer.stories.d.ts +7 -0
  196. package/dist/components/drawer/drawer.stories.d.ts.map +1 -0
  197. package/dist/components/drawer/drawer.stories.js +17 -0
  198. package/dist/components/drawer/index.d.ts +2 -0
  199. package/dist/components/drawer/index.d.ts.map +1 -0
  200. package/dist/components/drawer/index.js +1 -0
  201. package/dist/components/dropdown-menu/dropdown-menu.d.ts +65 -0
  202. package/dist/components/dropdown-menu/dropdown-menu.d.ts.map +1 -0
  203. package/dist/components/dropdown-menu/dropdown-menu.js +52 -0
  204. package/dist/components/dropdown-menu/dropdown-menu.stories.d.ts +18 -0
  205. package/dist/components/dropdown-menu/dropdown-menu.stories.d.ts.map +1 -0
  206. package/dist/components/dropdown-menu/dropdown-menu.stories.js +31 -0
  207. package/dist/components/dropdown-menu/index.d.ts +3 -0
  208. package/dist/components/dropdown-menu/index.d.ts.map +1 -0
  209. package/dist/components/dropdown-menu/index.js +1 -0
  210. package/dist/components/empty/empty.d.ts +25 -0
  211. package/dist/components/empty/empty.d.ts.map +1 -0
  212. package/dist/components/empty/empty.js +34 -0
  213. package/dist/components/empty/empty.stories.d.ts +7 -0
  214. package/dist/components/empty/empty.stories.d.ts.map +1 -0
  215. package/dist/components/empty/empty.stories.js +19 -0
  216. package/dist/components/empty/index.d.ts +3 -0
  217. package/dist/components/empty/index.d.ts.map +1 -0
  218. package/dist/components/empty/index.js +1 -0
  219. package/dist/components/field/field.d.ts +22 -0
  220. package/dist/components/field/field.d.ts.map +1 -0
  221. package/dist/components/field/field.js +34 -0
  222. package/dist/components/field/field.stories.d.ts +16 -0
  223. package/dist/components/field/field.stories.d.ts.map +1 -0
  224. package/dist/components/field/field.stories.js +26 -0
  225. package/dist/components/field/index.d.ts +2 -0
  226. package/dist/components/field/index.d.ts.map +1 -0
  227. package/dist/components/field/index.js +1 -0
  228. package/dist/components/filters/filters-defaults.d.ts +5 -0
  229. package/dist/components/filters/filters-defaults.d.ts.map +1 -0
  230. package/dist/components/filters/filters-defaults.js +97 -0
  231. package/dist/components/filters/filters-types.d.ts +135 -0
  232. package/dist/components/filters/filters-types.d.ts.map +1 -0
  233. package/dist/components/filters/filters-types.js +1 -0
  234. package/dist/components/filters/filters-utils.d.ts +4 -0
  235. package/dist/components/filters/filters-utils.d.ts.map +1 -0
  236. package/dist/components/filters/filters-utils.js +12 -0
  237. package/dist/components/filters/filters.d.ts +29 -0
  238. package/dist/components/filters/filters.d.ts.map +1 -0
  239. package/dist/components/filters/filters.js +733 -0
  240. package/dist/components/filters/filters.stories.d.ts +8 -0
  241. package/dist/components/filters/filters.stories.d.ts.map +1 -0
  242. package/dist/components/filters/filters.stories.js +48 -0
  243. package/dist/components/filters/index.d.ts +5 -0
  244. package/dist/components/filters/index.d.ts.map +1 -0
  245. package/dist/components/filters/index.js +4 -0
  246. package/dist/components/frame/frame.d.ts +65 -0
  247. package/dist/components/frame/frame.d.ts.map +1 -0
  248. package/dist/components/frame/frame.js +108 -0
  249. package/dist/components/frame/frame.stories.d.ts +14 -0
  250. package/dist/components/frame/frame.stories.d.ts.map +1 -0
  251. package/dist/components/frame/frame.stories.js +50 -0
  252. package/dist/components/frame/index.d.ts +3 -0
  253. package/dist/components/frame/index.d.ts.map +1 -0
  254. package/dist/components/frame/index.js +1 -0
  255. package/dist/components/hover-card/hover-card.d.ts +16 -0
  256. package/dist/components/hover-card/hover-card.d.ts.map +1 -0
  257. package/dist/components/hover-card/hover-card.js +14 -0
  258. package/dist/components/hover-card/hover-card.stories.d.ts +7 -0
  259. package/dist/components/hover-card/hover-card.stories.d.ts.map +1 -0
  260. package/dist/components/hover-card/hover-card.stories.js +15 -0
  261. package/dist/components/hover-card/index.d.ts +3 -0
  262. package/dist/components/hover-card/index.d.ts.map +1 -0
  263. package/dist/components/hover-card/index.js +1 -0
  264. package/dist/components/index.d.ts +51 -0
  265. package/dist/components/index.d.ts.map +1 -1
  266. package/dist/components/index.js +51 -0
  267. package/dist/components/input/index.d.ts +2 -0
  268. package/dist/components/input/index.d.ts.map +1 -0
  269. package/dist/components/input/index.js +1 -0
  270. package/dist/components/input/input.d.ts +16 -0
  271. package/dist/components/input/input.d.ts.map +1 -0
  272. package/dist/components/input/input.js +22 -0
  273. package/dist/components/input/input.stories.d.ts +28 -0
  274. package/dist/components/input/input.stories.d.ts.map +1 -0
  275. package/dist/components/input/input.stories.js +33 -0
  276. package/dist/components/input-group/index.d.ts +3 -0
  277. package/dist/components/input-group/index.d.ts.map +1 -0
  278. package/dist/components/input-group/index.js +1 -0
  279. package/dist/components/input-group/input-group.d.ts +44 -0
  280. package/dist/components/input-group/input-group.d.ts.map +1 -0
  281. package/dist/components/input-group/input-group.js +72 -0
  282. package/dist/components/input-group/input-group.stories.d.ts +18 -0
  283. package/dist/components/input-group/input-group.stories.d.ts.map +1 -0
  284. package/dist/components/input-group/input-group.stories.js +29 -0
  285. package/dist/components/item/index.d.ts +3 -0
  286. package/dist/components/item/index.d.ts.map +1 -0
  287. package/dist/components/item/index.js +1 -0
  288. package/dist/components/item/item.d.ts +60 -0
  289. package/dist/components/item/item.d.ts.map +1 -0
  290. package/dist/components/item/item.js +95 -0
  291. package/dist/components/item/item.stories.d.ts +34 -0
  292. package/dist/components/item/item.stories.d.ts.map +1 -0
  293. package/dist/components/item/item.stories.js +40 -0
  294. package/dist/components/kbd/index.d.ts +3 -0
  295. package/dist/components/kbd/index.d.ts.map +1 -0
  296. package/dist/components/kbd/index.js +1 -0
  297. package/dist/components/kbd/kbd.d.ts +15 -0
  298. package/dist/components/kbd/kbd.d.ts.map +1 -0
  299. package/dist/components/kbd/kbd.js +16 -0
  300. package/dist/components/kbd/kbd.stories.d.ts +17 -0
  301. package/dist/components/kbd/kbd.stories.d.ts.map +1 -0
  302. package/dist/components/kbd/kbd.stories.js +25 -0
  303. package/dist/components/label/index.d.ts +2 -0
  304. package/dist/components/label/index.d.ts.map +1 -0
  305. package/dist/components/label/index.js +1 -0
  306. package/dist/components/label/label.d.ts +6 -0
  307. package/dist/components/label/label.d.ts.map +1 -0
  308. package/dist/components/label/label.js +10 -0
  309. package/dist/components/label/label.stories.d.ts +18 -0
  310. package/dist/components/label/label.stories.d.ts.map +1 -0
  311. package/dist/components/label/label.stories.js +29 -0
  312. package/dist/components/menubar/index.d.ts +3 -0
  313. package/dist/components/menubar/index.d.ts.map +1 -0
  314. package/dist/components/menubar/index.js +1 -0
  315. package/dist/components/menubar/menubar.d.ts +64 -0
  316. package/dist/components/menubar/menubar.d.ts.map +1 -0
  317. package/dist/components/menubar/menubar.js +56 -0
  318. package/dist/components/menubar/menubar.stories.d.ts +15 -0
  319. package/dist/components/menubar/menubar.stories.d.ts.map +1 -0
  320. package/dist/components/menubar/menubar.stories.js +18 -0
  321. package/dist/components/native-select/index.d.ts +2 -0
  322. package/dist/components/native-select/index.d.ts.map +1 -0
  323. package/dist/components/native-select/index.js +1 -0
  324. package/dist/components/native-select/native-select.d.ts +12 -0
  325. package/dist/components/native-select/native-select.d.ts.map +1 -0
  326. package/dist/components/native-select/native-select.js +14 -0
  327. package/dist/components/native-select/native-select.stories.d.ts +8 -0
  328. package/dist/components/native-select/native-select.stories.d.ts.map +1 -0
  329. package/dist/components/native-select/native-select.stories.js +19 -0
  330. package/dist/components/navigation-menu/index.d.ts +3 -0
  331. package/dist/components/navigation-menu/index.d.ts.map +1 -0
  332. package/dist/components/navigation-menu/index.js +1 -0
  333. package/dist/components/navigation-menu/navigation-menu.d.ts +33 -0
  334. package/dist/components/navigation-menu/navigation-menu.d.ts.map +1 -0
  335. package/dist/components/navigation-menu/navigation-menu.js +33 -0
  336. package/dist/components/navigation-menu/navigation-menu.stories.d.ts +14 -0
  337. package/dist/components/navigation-menu/navigation-menu.stories.d.ts.map +1 -0
  338. package/dist/components/navigation-menu/navigation-menu.stories.js +14 -0
  339. package/dist/components/pagination/index.d.ts +3 -0
  340. package/dist/components/pagination/index.d.ts.map +1 -0
  341. package/dist/components/pagination/index.js +1 -0
  342. package/dist/components/pagination/pagination.d.ts +31 -0
  343. package/dist/components/pagination/pagination.d.ts.map +1 -0
  344. package/dist/components/pagination/pagination.js +29 -0
  345. package/dist/components/pagination/pagination.stories.d.ts +14 -0
  346. package/dist/components/pagination/pagination.stories.d.ts.map +1 -0
  347. package/dist/components/pagination/pagination.stories.js +14 -0
  348. package/dist/components/popover/index.d.ts +2 -0
  349. package/dist/components/popover/index.d.ts.map +1 -0
  350. package/dist/components/popover/index.js +1 -0
  351. package/dist/components/popover/popover.d.ts +20 -0
  352. package/dist/components/popover/popover.d.ts.map +1 -0
  353. package/dist/components/popover/popover.js +24 -0
  354. package/dist/components/popover/popover.stories.d.ts +7 -0
  355. package/dist/components/popover/popover.stories.d.ts.map +1 -0
  356. package/dist/components/popover/popover.stories.js +17 -0
  357. package/dist/components/progress/index.d.ts +3 -0
  358. package/dist/components/progress/index.d.ts.map +1 -0
  359. package/dist/components/progress/index.js +1 -0
  360. package/dist/components/progress/progress.d.ts +18 -0
  361. package/dist/components/progress/progress.d.ts.map +1 -0
  362. package/dist/components/progress/progress.js +20 -0
  363. package/dist/components/progress/progress.stories.d.ts +9 -0
  364. package/dist/components/progress/progress.stories.d.ts.map +1 -0
  365. package/dist/components/progress/progress.stories.js +29 -0
  366. package/dist/components/radio-group/index.d.ts +3 -0
  367. package/dist/components/radio-group/index.d.ts.map +1 -0
  368. package/dist/components/radio-group/index.js +1 -0
  369. package/dist/components/radio-group/radio-group.d.ts +13 -0
  370. package/dist/components/radio-group/radio-group.d.ts.map +1 -0
  371. package/dist/components/radio-group/radio-group.js +12 -0
  372. package/dist/components/radio-group/radio-group.stories.d.ts +7 -0
  373. package/dist/components/radio-group/radio-group.stories.d.ts.map +1 -0
  374. package/dist/components/radio-group/radio-group.stories.js +18 -0
  375. package/dist/components/resizable/index.d.ts +2 -0
  376. package/dist/components/resizable/index.d.ts.map +1 -0
  377. package/dist/components/resizable/index.js +1 -0
  378. package/dist/components/resizable/resizable.d.ts +12 -0
  379. package/dist/components/resizable/resizable.d.ts.map +1 -0
  380. package/dist/components/resizable/resizable.js +14 -0
  381. package/dist/components/resizable/resizable.stories.d.ts +7 -0
  382. package/dist/components/resizable/resizable.stories.d.ts.map +1 -0
  383. package/dist/components/resizable/resizable.stories.js +16 -0
  384. package/dist/components/scroll-area/index.d.ts +2 -0
  385. package/dist/components/scroll-area/index.d.ts.map +1 -0
  386. package/dist/components/scroll-area/index.js +1 -0
  387. package/dist/components/scroll-area/scroll-area.d.ts +7 -0
  388. package/dist/components/scroll-area/scroll-area.d.ts.map +1 -0
  389. package/dist/components/scroll-area/scroll-area.js +11 -0
  390. package/dist/components/scroll-area/scroll-area.stories.d.ts +6 -0
  391. package/dist/components/scroll-area/scroll-area.stories.d.ts.map +1 -0
  392. package/dist/components/scroll-area/scroll-area.stories.js +13 -0
  393. package/dist/components/select/index.d.ts +3 -0
  394. package/dist/components/select/index.d.ts.map +1 -0
  395. package/dist/components/select/index.js +1 -0
  396. package/dist/components/select/select.d.ts +49 -0
  397. package/dist/components/select/select.d.ts.map +1 -0
  398. package/dist/components/select/select.js +50 -0
  399. package/dist/components/select/select.stories.d.ts +9 -0
  400. package/dist/components/select/select.stories.d.ts.map +1 -0
  401. package/dist/components/select/select.stories.js +20 -0
  402. package/dist/components/separator/index.d.ts +1 -0
  403. package/dist/components/separator/index.d.ts.map +1 -1
  404. package/dist/components/separator/separator.d.ts +3 -1
  405. package/dist/components/separator/separator.d.ts.map +1 -1
  406. package/dist/components/sheet/index.d.ts +2 -0
  407. package/dist/components/sheet/index.d.ts.map +1 -0
  408. package/dist/components/sheet/index.js +1 -0
  409. package/dist/components/sheet/sheet.d.ts +34 -0
  410. package/dist/components/sheet/sheet.d.ts.map +1 -0
  411. package/dist/components/sheet/sheet.js +38 -0
  412. package/dist/components/sheet/sheet.stories.d.ts +9 -0
  413. package/dist/components/sheet/sheet.stories.d.ts.map +1 -0
  414. package/dist/components/sheet/sheet.stories.js +21 -0
  415. package/dist/components/slider/index.d.ts +3 -0
  416. package/dist/components/slider/index.d.ts.map +1 -0
  417. package/dist/components/slider/index.js +1 -0
  418. package/dist/components/slider/slider.d.ts +15 -0
  419. package/dist/components/slider/slider.d.ts.map +1 -0
  420. package/dist/components/slider/slider.js +20 -0
  421. package/dist/components/slider/slider.stories.d.ts +11 -0
  422. package/dist/components/slider/slider.stories.d.ts.map +1 -0
  423. package/dist/components/slider/slider.stories.js +36 -0
  424. package/dist/components/sonner/index.d.ts +4 -0
  425. package/dist/components/sonner/index.d.ts.map +1 -0
  426. package/dist/components/sonner/index.js +2 -0
  427. package/dist/components/sonner/sonner.d.ts +12 -0
  428. package/dist/components/sonner/sonner.d.ts.map +1 -0
  429. package/dist/components/sonner/sonner.js +32 -0
  430. package/dist/components/sonner/sonner.stories.d.ts +8 -0
  431. package/dist/components/sonner/sonner.stories.d.ts.map +1 -0
  432. package/dist/components/sonner/sonner.stories.js +25 -0
  433. package/dist/components/sonner/toast.d.ts +2 -0
  434. package/dist/components/sonner/toast.d.ts.map +1 -0
  435. package/dist/components/sonner/toast.js +1 -0
  436. package/dist/components/sortable/index.d.ts +3 -0
  437. package/dist/components/sortable/index.d.ts.map +1 -0
  438. package/dist/components/sortable/index.js +1 -0
  439. package/dist/components/sortable/sortable.d.ts +94 -0
  440. package/dist/components/sortable/sortable.d.ts.map +1 -0
  441. package/dist/components/sortable/sortable.js +210 -0
  442. package/dist/components/sortable/sortable.stories.d.ts +14 -0
  443. package/dist/components/sortable/sortable.stories.d.ts.map +1 -0
  444. package/dist/components/sortable/sortable.stories.js +38 -0
  445. package/dist/components/spinner/index.d.ts +3 -0
  446. package/dist/components/spinner/index.d.ts.map +1 -0
  447. package/dist/components/spinner/index.js +1 -0
  448. package/dist/components/spinner/spinner.d.ts +13 -0
  449. package/dist/components/spinner/spinner.d.ts.map +1 -0
  450. package/dist/components/spinner/spinner.js +12 -0
  451. package/dist/components/spinner/spinner.stories.d.ts +9 -0
  452. package/dist/components/spinner/spinner.stories.d.ts.map +1 -0
  453. package/dist/components/spinner/spinner.stories.js +20 -0
  454. package/dist/components/status-indicator/index.d.ts +3 -0
  455. package/dist/components/status-indicator/index.d.ts.map +1 -0
  456. package/dist/components/status-indicator/index.js +1 -0
  457. package/dist/components/status-indicator/status-indicator.d.ts +51 -0
  458. package/dist/components/status-indicator/status-indicator.d.ts.map +1 -0
  459. package/dist/components/status-indicator/status-indicator.js +48 -0
  460. package/dist/components/status-indicator/status-indicator.stories.d.ts +20 -0
  461. package/dist/components/status-indicator/status-indicator.stories.d.ts.map +1 -0
  462. package/dist/components/status-indicator/status-indicator.stories.js +97 -0
  463. package/dist/components/switch/index.d.ts +2 -0
  464. package/dist/components/switch/index.d.ts.map +1 -0
  465. package/dist/components/switch/index.js +1 -0
  466. package/dist/components/switch/switch.d.ts +13 -0
  467. package/dist/components/switch/switch.d.ts.map +1 -0
  468. package/dist/components/switch/switch.js +8 -0
  469. package/dist/components/switch/switch.stories.d.ts +20 -0
  470. package/dist/components/switch/switch.stories.d.ts.map +1 -0
  471. package/dist/components/switch/switch.stories.js +46 -0
  472. package/dist/components/tabs/index.d.ts +3 -0
  473. package/dist/components/tabs/index.d.ts.map +1 -0
  474. package/dist/components/tabs/index.js +1 -0
  475. package/dist/components/tabs/tabs.d.ts +35 -0
  476. package/dist/components/tabs/tabs.d.ts.map +1 -0
  477. package/dist/components/tabs/tabs.js +34 -0
  478. package/dist/components/tabs/tabs.stories.d.ts +10 -0
  479. package/dist/components/tabs/tabs.stories.d.ts.map +1 -0
  480. package/dist/components/tabs/tabs.stories.js +29 -0
  481. package/dist/components/text/index.d.ts +3 -0
  482. package/dist/components/text/index.d.ts.map +1 -0
  483. package/dist/components/text/index.js +1 -0
  484. package/dist/components/text/text.d.ts +47 -0
  485. package/dist/components/text/text.d.ts.map +1 -0
  486. package/dist/components/text/text.js +53 -0
  487. package/dist/components/text/text.stories.d.ts +11 -0
  488. package/dist/components/text/text.stories.d.ts.map +1 -0
  489. package/dist/components/text/text.stories.js +84 -0
  490. package/dist/components/textarea/index.d.ts +2 -0
  491. package/dist/components/textarea/index.d.ts.map +1 -0
  492. package/dist/components/textarea/index.js +1 -0
  493. package/dist/components/textarea/textarea.d.ts +11 -0
  494. package/dist/components/textarea/textarea.d.ts.map +1 -0
  495. package/dist/components/textarea/textarea.js +10 -0
  496. package/dist/components/textarea/textarea.stories.d.ts +24 -0
  497. package/dist/components/textarea/textarea.stories.d.ts.map +1 -0
  498. package/dist/components/textarea/textarea.stories.js +32 -0
  499. package/dist/components/toggle/index.d.ts +3 -0
  500. package/dist/components/toggle/index.d.ts.map +1 -0
  501. package/dist/components/toggle/index.js +1 -0
  502. package/dist/components/toggle/toggle.d.ts +31 -0
  503. package/dist/components/toggle/toggle.d.ts.map +1 -0
  504. package/dist/components/toggle/toggle.js +33 -0
  505. package/dist/components/toggle/toggle.stories.d.ts +11 -0
  506. package/dist/components/toggle/toggle.stories.d.ts.map +1 -0
  507. package/dist/components/toggle/toggle.stories.js +60 -0
  508. package/dist/components/toggle-group/index.d.ts +3 -0
  509. package/dist/components/toggle-group/index.d.ts.map +1 -0
  510. package/dist/components/toggle-group/index.js +1 -0
  511. package/dist/components/toggle-group/toggle-group.d.ts +32 -0
  512. package/dist/components/toggle-group/toggle-group.d.ts.map +1 -0
  513. package/dist/components/toggle-group/toggle-group.js +33 -0
  514. package/dist/components/toggle-group/toggle-group.stories.d.ts +10 -0
  515. package/dist/components/toggle-group/toggle-group.stories.d.ts.map +1 -0
  516. package/dist/components/toggle-group/toggle-group.stories.js +28 -0
  517. package/dist/components/tooltip/index.d.ts +3 -0
  518. package/dist/components/tooltip/index.d.ts.map +1 -0
  519. package/dist/components/tooltip/index.js +1 -0
  520. package/dist/components/tooltip/tooltip.d.ts +22 -0
  521. package/dist/components/tooltip/tooltip.d.ts.map +1 -0
  522. package/dist/components/tooltip/tooltip.js +21 -0
  523. package/dist/components/tooltip/tooltip.stories.d.ts +11 -0
  524. package/dist/components/tooltip/tooltip.stories.d.ts.map +1 -0
  525. package/dist/components/tooltip/tooltip.stories.js +33 -0
  526. package/dist/hooks/use-mobile.d.ts +2 -0
  527. package/dist/hooks/use-mobile.d.ts.map +1 -0
  528. package/dist/hooks/use-mobile.js +15 -0
  529. package/dist/index.d.ts +1 -0
  530. package/dist/index.d.ts.map +1 -1
  531. package/dist/index.js +1 -0
  532. package/dist/tsconfig.tsbuildinfo +1 -1
  533. package/llms.txt +21 -19
  534. package/package.json +17 -9
  535. package/src/styles/globals.css +6 -11
@@ -0,0 +1,50 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import * as React from 'react';
4
+ import { Select as SelectPrimitive } from '@base-ui/react/select';
5
+ import { Check, ChevronDown, ChevronUp } from 'lucide-react';
6
+ import { cn } from '../../lib/utils';
7
+ /**
8
+ * Root for a native-style select. Compose `SelectTrigger`, `SelectValue`, `SelectContent`,
9
+ * and `SelectItem` parts; optionally set `items` on the root for automatic labels.
10
+ */
11
+ function Select(props) {
12
+ return _jsx(SelectPrimitive.Root, { ...props });
13
+ }
14
+ /** Groups `SelectItem` rows with optional `SelectLabel`. */
15
+ function SelectGroup({ className, ...props }) {
16
+ return _jsx(SelectPrimitive.Group, { "data-slot": "select-group", className: cn('scroll-my-1 p-1', className), ...props });
17
+ }
18
+ /** Displays the selected label or `placeholder` when empty. */
19
+ function SelectValue({ className, ...props }) {
20
+ return _jsx(SelectPrimitive.Value, { "data-slot": "select-value", className: cn('flex flex-1 text-left', className), ...props });
21
+ }
22
+ /** Button that opens the list popup; shows a chevron icon. */
23
+ function SelectTrigger({ className, size = 'default', children, ...props }) {
24
+ return (_jsxs(SelectPrimitive.Trigger, { "data-slot": "select-trigger", "data-size": size, className: cn("flex w-fit items-center justify-between gap-1.5 rounded-lg border border-input bg-transparent py-2 pr-2 pl-2.5 text-sm whitespace-nowrap transition-colors outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-placeholder:text-muted-foreground data-[size=default]:h-8 data-[size=sm]:h-7 data-[size=sm]:rounded-[min(var(--radius-md),10px)] *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className), ...props, children: [children, _jsx(SelectPrimitive.Icon, { render: _jsx(ChevronDown, { className: "pointer-events-none size-4 text-muted-foreground" }) })] }));
25
+ }
26
+ /** Portal, positioner, and scrollable list surface for options. */
27
+ function SelectContent({ className, children, side = 'bottom', sideOffset = 4, align = 'center', alignOffset = 0, alignItemWithTrigger = true, ...props }) {
28
+ return (_jsx(SelectPrimitive.Portal, { children: _jsx(SelectPrimitive.Positioner, { side: side, sideOffset: sideOffset, align: align, alignOffset: alignOffset, alignItemWithTrigger: alignItemWithTrigger, className: "isolate z-50", children: _jsxs(SelectPrimitive.Popup, { "data-slot": "select-content", "data-align-trigger": alignItemWithTrigger, className: cn('relative isolate z-50 max-h-(--available-height) w-(--anchor-width) min-w-36 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[align-trigger=true]:animate-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:fade-out-0 data-closed:zoom-out-95', className), ...props, children: [_jsx(SelectScrollUpButton, {}), _jsx(SelectPrimitive.List, { children: children }), _jsx(SelectScrollDownButton, {})] }) }) }));
29
+ }
30
+ /** Section label inside the list. */
31
+ function SelectLabel({ className, ...props }) {
32
+ return _jsx(SelectPrimitive.GroupLabel, { "data-slot": "select-label", className: cn('px-1.5 py-1 text-xs text-muted-foreground', className), ...props });
33
+ }
34
+ /** One selectable option; shows a check when selected. */
35
+ function SelectItem({ className, children, ...props }) {
36
+ return (_jsxs(SelectPrimitive.Item, { "data-slot": "select-item", className: cn("relative flex w-full 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 not-data-[variant=destructive]:focus:**: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 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2", className), ...props, children: [_jsx(SelectPrimitive.ItemText, { className: "flex flex-1 shrink-0 gap-2 whitespace-nowrap", children: children }), _jsx(SelectPrimitive.ItemIndicator, { render: _jsx("span", { className: "pointer-events-none absolute right-2 flex size-4 items-center justify-center" }), children: _jsx(Check, { className: "pointer-events-none" }) })] }));
37
+ }
38
+ /** Horizontal rule between groups or items. */
39
+ function SelectSeparator({ className, ...props }) {
40
+ return _jsx(SelectPrimitive.Separator, { "data-slot": "select-separator", className: cn('pointer-events-none -mx-1 my-1 h-px bg-border', className), ...props });
41
+ }
42
+ /** Scroll affordance at the top of a long list (pointer/hover). */
43
+ function SelectScrollUpButton({ className, ...props }) {
44
+ return (_jsx(SelectPrimitive.ScrollUpArrow, { "data-slot": "select-scroll-up-button", className: cn("top-0 z-10 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4", className), ...props, children: _jsx(ChevronUp, {}) }));
45
+ }
46
+ /** Scroll affordance at the bottom of a long list (pointer/hover). */
47
+ function SelectScrollDownButton({ className, ...props }) {
48
+ return (_jsx(SelectPrimitive.ScrollDownArrow, { "data-slot": "select-scroll-down-button", className: cn("bottom-0 z-10 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4", className), ...props, children: _jsx(ChevronDown, {}) }));
49
+ }
50
+ export { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, };
@@ -0,0 +1,9 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+ import { Select } from './select';
3
+ declare const meta: Meta<typeof Select>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof meta>;
6
+ export declare const Default: Story;
7
+ export declare const SmallTrigger: Story;
8
+ export declare const WithSeparator: Story;
9
+ //# sourceMappingURL=select.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select.stories.d.ts","sourceRoot":"","sources":["../../../src/components/select/select.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,MAAM,EAAoG,MAAM,UAAU,CAAC;AAEpI,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,KAgBrB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAa1B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAmB3B,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectSeparator, SelectTrigger, SelectValue } from './select';
3
+ const meta = {
4
+ title: 'UI/Select',
5
+ component: Select,
6
+ tags: ['autodocs'],
7
+ parameters: {
8
+ layout: 'centered',
9
+ },
10
+ };
11
+ export default meta;
12
+ export const Default = {
13
+ render: () => (_jsxs(Select, { defaultValue: "apple", children: [_jsx(SelectTrigger, { className: "min-w-44", children: _jsx(SelectValue, { placeholder: "Pick a fruit" }) }), _jsx(SelectContent, { children: _jsxs(SelectGroup, { children: [_jsx(SelectLabel, { children: "Fruits" }), _jsx(SelectItem, { value: "apple", children: "Apple" }), _jsx(SelectItem, { value: "banana", children: "Banana" }), _jsx(SelectItem, { value: "orange", children: "Orange" })] }) })] })),
14
+ };
15
+ export const SmallTrigger = {
16
+ render: () => (_jsxs(Select, { defaultValue: "us", children: [_jsx(SelectTrigger, { size: "sm", className: "min-w-36", children: _jsx(SelectValue, { placeholder: "Region" }) }), _jsxs(SelectContent, { children: [_jsx(SelectItem, { value: "us", children: "United States" }), _jsx(SelectItem, { value: "eu", children: "Europe" }), _jsx(SelectItem, { value: "apac", children: "Asia Pacific" })] })] })),
17
+ };
18
+ export const WithSeparator = {
19
+ render: () => (_jsxs(Select, { defaultValue: "new", children: [_jsx(SelectTrigger, { className: "min-w-48", children: _jsx(SelectValue, { placeholder: "Action" }) }), _jsxs(SelectContent, { children: [_jsxs(SelectGroup, { children: [_jsx(SelectLabel, { children: "File" }), _jsx(SelectItem, { value: "new", children: "New file" }), _jsx(SelectItem, { value: "open", children: "Open\u2026" })] }), _jsx(SelectSeparator, {}), _jsx(SelectGroup, { children: _jsx(SelectItem, { value: "quit", children: "Quit" }) })] })] })),
20
+ };
@@ -1,2 +1,3 @@
1
1
  export { Separator } from './separator';
2
+ export type { SeparatorProps } from './separator';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/separator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/separator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC"}
@@ -1,4 +1,6 @@
1
1
  import { Separator as SeparatorPrimitive } from '@base-ui/react/separator';
2
- declare function Separator({ className, orientation, ...props }: SeparatorPrimitive.Props): import("react/jsx-runtime").JSX.Element;
2
+ /** Props for `Separator` (extends Base UI Separator). */
3
+ export type SeparatorProps = SeparatorPrimitive.Props;
4
+ declare function Separator({ className, orientation, ...props }: SeparatorProps): import("react/jsx-runtime").JSX.Element;
3
5
  export { Separator };
4
6
  //# sourceMappingURL=separator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"separator.d.ts","sourceRoot":"","sources":["../../../src/components/separator/separator.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAI3E,iBAAS,SAAS,CAAC,EAAE,SAAS,EAAE,WAA0B,EAAE,GAAG,KAAK,EAAE,EAAE,kBAAkB,CAAC,KAAK,2CAS/F;AAED,OAAO,EAAE,SAAS,EAAE,CAAC"}
1
+ {"version":3,"file":"separator.d.ts","sourceRoot":"","sources":["../../../src/components/separator/separator.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAI3E,yDAAyD;AACzD,MAAM,MAAM,cAAc,GAAG,kBAAkB,CAAC,KAAK,CAAC;AAEtD,iBAAS,SAAS,CAAC,EAAE,SAAS,EAAE,WAA0B,EAAE,GAAG,KAAK,EAAE,EAAE,cAAc,2CASrF;AAED,OAAO,EAAE,SAAS,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './sheet';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/sheet/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC"}
@@ -0,0 +1 @@
1
+ export * from './sheet';
@@ -0,0 +1,34 @@
1
+ import * as React from 'react';
2
+ import { Dialog as SheetPrimitive } from '@base-ui/react/dialog';
3
+ /** Props for the sheet root. See [Base UI Dialog](https://base-ui.com/react/components/dialog) (sheet uses the same primitive). */
4
+ export type SheetProps = SheetPrimitive.Root.Props;
5
+ declare function Sheet({ ...props }: SheetProps): import("react/jsx-runtime").JSX.Element;
6
+ /** Props for the element that opens the sheet (typically a button). */
7
+ export type SheetTriggerProps = SheetPrimitive.Trigger.Props;
8
+ declare function SheetTrigger({ ...props }: SheetTriggerProps): import("react/jsx-runtime").JSX.Element;
9
+ /** Props for the close control (button or custom `render`). */
10
+ export type SheetCloseProps = SheetPrimitive.Close.Props;
11
+ declare function SheetClose({ ...props }: SheetCloseProps): import("react/jsx-runtime").JSX.Element;
12
+ export type SheetPortalProps = SheetPrimitive.Portal.Props;
13
+ declare function SheetPortal({ ...props }: SheetPortalProps): import("react/jsx-runtime").JSX.Element;
14
+ /** Props for the dimmed backdrop behind the sheet. */
15
+ export type SheetOverlayProps = SheetPrimitive.Backdrop.Props;
16
+ declare function SheetOverlay({ className, ...props }: SheetOverlayProps): import("react/jsx-runtime").JSX.Element;
17
+ /** Props for the sliding surface; extends the Base UI popup with `side` and `showCloseButton`. */
18
+ export type SheetContentProps = SheetPrimitive.Popup.Props & {
19
+ /** Which edge of the viewport the sheet slides from. */
20
+ side?: 'top' | 'right' | 'bottom' | 'left';
21
+ /** When `true` (default), renders a ghost icon button in the corner that closes the sheet. */
22
+ showCloseButton?: boolean;
23
+ };
24
+ declare function SheetContent({ className, children, side, showCloseButton, ...props }: SheetContentProps): import("react/jsx-runtime").JSX.Element;
25
+ export type SheetHeaderProps = React.ComponentProps<'div'>;
26
+ declare function SheetHeader({ className, ...props }: SheetHeaderProps): import("react/jsx-runtime").JSX.Element;
27
+ export type SheetFooterProps = React.ComponentProps<'div'>;
28
+ declare function SheetFooter({ className, ...props }: SheetFooterProps): import("react/jsx-runtime").JSX.Element;
29
+ export type SheetTitleProps = SheetPrimitive.Title.Props;
30
+ declare function SheetTitle({ className, ...props }: SheetTitleProps): import("react/jsx-runtime").JSX.Element;
31
+ export type SheetDescriptionProps = SheetPrimitive.Description.Props;
32
+ declare function SheetDescription({ className, ...props }: SheetDescriptionProps): import("react/jsx-runtime").JSX.Element;
33
+ export { Sheet, SheetTrigger, SheetClose, SheetPortal, SheetOverlay, SheetContent, SheetHeader, SheetFooter, SheetTitle, SheetDescription };
34
+ //# sourceMappingURL=sheet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sheet.d.ts","sourceRoot":"","sources":["../../../src/components/sheet/sheet.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAMjE,mIAAmI;AACnI,MAAM,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC;AAEnD,iBAAS,KAAK,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,UAAU,2CAEtC;AAED,uEAAuE;AACvE,MAAM,MAAM,iBAAiB,GAAG,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC;AAE7D,iBAAS,YAAY,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,2CAEpD;AAED,+DAA+D;AAC/D,MAAM,MAAM,eAAe,GAAG,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC;AAEzD,iBAAS,UAAU,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,eAAe,2CAEhD;AAED,MAAM,MAAM,gBAAgB,GAAG,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC;AAE3D,iBAAS,WAAW,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,2CAElD;AAED,sDAAsD;AACtD,MAAM,MAAM,iBAAiB,GAAG,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC;AAE9D,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,2CAW/D;AAED,kGAAkG;AAClG,MAAM,MAAM,iBAAiB,GAAG,cAAc,CAAC,KAAK,CAAC,KAAK,GAAG;IACzD,wDAAwD;IACxD,IAAI,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC3C,8FAA8F;IAC9F,eAAe,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAc,EAAE,eAAsB,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,2CAuBjH;AAED,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AAE3D,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,2CAE7D;AAED,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AAE3D,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,2CAE7D;AAED,MAAM,MAAM,eAAe,GAAG,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC;AAEzD,iBAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,eAAe,2CAE3D;AAED,MAAM,MAAM,qBAAqB,GAAG,cAAc,CAAC,WAAW,CAAC,KAAK,CAAC;AAErE,iBAAS,gBAAgB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,qBAAqB,2CAEvE;AAED,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,gBAAgB,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 SheetPrimitive } from '@base-ui/react/dialog';
5
+ import { X } from 'lucide-react';
6
+ import { cn } from '../../lib/utils';
7
+ import { Button } from '../button';
8
+ function Sheet({ ...props }) {
9
+ return _jsx(SheetPrimitive.Root, { "data-slot": "sheet", ...props });
10
+ }
11
+ function SheetTrigger({ ...props }) {
12
+ return _jsx(SheetPrimitive.Trigger, { "data-slot": "sheet-trigger", ...props });
13
+ }
14
+ function SheetClose({ ...props }) {
15
+ return _jsx(SheetPrimitive.Close, { "data-slot": "sheet-close", ...props });
16
+ }
17
+ function SheetPortal({ ...props }) {
18
+ return _jsx(SheetPrimitive.Portal, { "data-slot": "sheet-portal", ...props });
19
+ }
20
+ function SheetOverlay({ className, ...props }) {
21
+ return (_jsx(SheetPrimitive.Backdrop, { "data-slot": "sheet-overlay", className: cn('fixed inset-0 z-50 bg-black/10 transition-opacity duration-150 data-ending-style:opacity-0 data-starting-style:opacity-0 supports-backdrop-filter:backdrop-blur-xs', className), ...props }));
22
+ }
23
+ function SheetContent({ className, children, side = 'right', showCloseButton = true, ...props }) {
24
+ return (_jsxs(SheetPortal, { children: [_jsx(SheetOverlay, {}), _jsxs(SheetPrimitive.Popup, { "data-slot": "sheet-content", "data-side": side, className: cn('fixed z-50 flex flex-col gap-4 bg-popover bg-clip-padding text-sm text-popover-foreground shadow-lg transition duration-200 ease-in-out data-ending-style:opacity-0 data-starting-style:opacity-0 data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=bottom]:data-ending-style:translate-y-[2.5rem] data-[side=bottom]:data-starting-style:translate-y-[2.5rem] data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-3/4 data-[side=left]:border-r data-[side=left]:data-ending-style:translate-x-[-2.5rem] data-[side=left]:data-starting-style:translate-x-[-2.5rem] data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-3/4 data-[side=right]:border-l data-[side=right]:data-ending-style:translate-x-[2.5rem] data-[side=right]:data-starting-style:translate-x-[2.5rem] data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=top]:data-ending-style:translate-y-[-2.5rem] data-[side=top]:data-starting-style:translate-y-[-2.5rem] data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm', className), ...props, children: [children, showCloseButton && (_jsxs(SheetPrimitive.Close, { "data-slot": "sheet-close", render: _jsx(Button, { variant: "ghost", className: "absolute top-3 right-3", size: "icon-sm" }), children: [_jsx(X, {}), _jsx("span", { className: "sr-only", children: "Close" })] }))] })] }));
25
+ }
26
+ function SheetHeader({ className, ...props }) {
27
+ return _jsx("div", { "data-slot": "sheet-header", className: cn('flex flex-col gap-0.5 p-4', className), ...props });
28
+ }
29
+ function SheetFooter({ className, ...props }) {
30
+ return _jsx("div", { "data-slot": "sheet-footer", className: cn('mt-auto flex flex-col gap-2 p-4', className), ...props });
31
+ }
32
+ function SheetTitle({ className, ...props }) {
33
+ return _jsx(SheetPrimitive.Title, { "data-slot": "sheet-title", className: cn('font-heading text-base font-medium text-foreground', className), ...props });
34
+ }
35
+ function SheetDescription({ className, ...props }) {
36
+ return _jsx(SheetPrimitive.Description, { "data-slot": "sheet-description", className: cn('text-sm text-muted-foreground', className), ...props });
37
+ }
38
+ export { Sheet, SheetTrigger, SheetClose, SheetPortal, SheetOverlay, SheetContent, SheetHeader, SheetFooter, SheetTitle, SheetDescription };
@@ -0,0 +1,9 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+ import { Sheet } from './sheet';
3
+ declare const meta: Meta<typeof Sheet>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof meta>;
6
+ export declare const Default: Story;
7
+ export declare const FromLeft: Story;
8
+ export declare const WithoutBuiltInClose: Story;
9
+ //# sourceMappingURL=sheet.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sheet.stories.d.ts","sourceRoot":"","sources":["../../../src/components/sheet/sheet.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGvD,OAAO,EAAE,KAAK,EAAyE,MAAM,SAAS,CAAC;AAEvG,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,KAAK,CAO5B,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAYrB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAYtB,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,KAYjC,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Button } from '../button';
3
+ import { Sheet, SheetContent, SheetDescription, SheetHeader, SheetTitle, SheetTrigger } from './sheet';
4
+ const meta = {
5
+ title: 'UI/Sheet',
6
+ component: Sheet,
7
+ tags: ['autodocs'],
8
+ parameters: {
9
+ layout: 'centered',
10
+ },
11
+ };
12
+ export default meta;
13
+ export const Default = {
14
+ render: () => (_jsxs(Sheet, { children: [_jsx(SheetTrigger, { render: _jsx(Button, { variant: "outline", size: "sm" }), children: "Open sheet" }), _jsx(SheetContent, { children: _jsxs(SheetHeader, { children: [_jsx(SheetTitle, { children: "Sheet title" }), _jsx(SheetDescription, { children: "Supporting copy for this slide-over panel." })] }) })] })),
15
+ };
16
+ export const FromLeft = {
17
+ render: () => (_jsxs(Sheet, { children: [_jsx(SheetTrigger, { render: _jsx(Button, { variant: "outline", size: "sm" }), children: "From left" }), _jsx(SheetContent, { side: "left", children: _jsxs(SheetHeader, { children: [_jsx(SheetTitle, { children: "Navigation" }), _jsx(SheetDescription, { children: "Common pattern for narrow viewports." })] }) })] })),
18
+ };
19
+ export const WithoutBuiltInClose = {
20
+ render: () => (_jsxs(Sheet, { children: [_jsx(SheetTrigger, { render: _jsx(Button, { variant: "outline", size: "sm" }), children: "Open" }), _jsx(SheetContent, { showCloseButton: false, children: _jsxs(SheetHeader, { children: [_jsx(SheetTitle, { children: "No corner close" }), _jsx(SheetDescription, { children: "Use Escape or a footer action to dismiss." })] }) })] })),
21
+ };
@@ -0,0 +1,3 @@
1
+ export { Slider } from './slider';
2
+ export type { SliderProps } from './slider';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/slider/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC"}
@@ -0,0 +1 @@
1
+ export { Slider } from './slider';
@@ -0,0 +1,15 @@
1
+ import { Slider as SliderPrimitive } from '@base-ui/react/slider';
2
+ /**
3
+ * Props for `Slider`. Inherits additional behavior from
4
+ * [Base UI Slider](https://base-ui.com/react/components/slider).
5
+ */
6
+ export type SliderProps = SliderPrimitive.Root.Props & {
7
+ className?: string;
8
+ };
9
+ /**
10
+ * Range input for choosing a numeric value or a pair of values. Renders track, range indicator, and thumb(s)
11
+ * with horizontal or vertical orientation. For range selection, pass `value` or `defaultValue` as a two-element array.
12
+ */
13
+ declare function Slider({ className, defaultValue, value, min, max, ...props }: SliderProps): import("react/jsx-runtime").JSX.Element;
14
+ export { Slider };
15
+ //# sourceMappingURL=slider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slider.d.ts","sourceRoot":"","sources":["../../../src/components/slider/slider.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAUlE;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9E;;;GAGG;AACH,iBAAS,MAAM,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,GAAO,EAAE,GAAS,EAAE,GAAG,KAAK,EAAE,EAAE,WAAW,2CAkC5F;AAED,OAAO,EAAE,MAAM,EAAE,CAAC"}
@@ -0,0 +1,20 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { Slider as SliderPrimitive } from '@base-ui/react/slider';
4
+ import { cn } from '../../lib/utils';
5
+ function thumbCountFromProps(value, defaultValue) {
6
+ if (Array.isArray(value))
7
+ return value.length;
8
+ if (Array.isArray(defaultValue))
9
+ return defaultValue.length;
10
+ return 1;
11
+ }
12
+ /**
13
+ * Range input for choosing a numeric value or a pair of values. Renders track, range indicator, and thumb(s)
14
+ * with horizontal or vertical orientation. For range selection, pass `value` or `defaultValue` as a two-element array.
15
+ */
16
+ function Slider({ className, defaultValue, value, min = 0, max = 100, ...props }) {
17
+ const thumbCount = thumbCountFromProps(value, defaultValue);
18
+ return (_jsx(SliderPrimitive.Root, { className: cn('data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full', className), "data-slot": "slider", defaultValue: defaultValue, value: value, min: min, max: max, thumbAlignment: "edge", ...props, children: _jsxs(SliderPrimitive.Control, { className: "relative flex w-full touch-none items-center select-none data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-40 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col data-disabled:opacity-50", children: [_jsx(SliderPrimitive.Track, { "data-slot": "slider-track", className: "relative grow overflow-hidden rounded-full bg-muted select-none data-[orientation=horizontal]:h-1 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1", children: _jsx(SliderPrimitive.Indicator, { "data-slot": "slider-range", className: "bg-primary select-none data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full" }) }), Array.from({ length: thumbCount }, (_, index) => (_jsx(SliderPrimitive.Thumb, { "data-slot": "slider-thumb", className: "relative block size-3 shrink-0 rounded-full border border-ring bg-white ring-ring/50 transition-[color,box-shadow] select-none after:absolute after:-inset-2 hover:ring-3 focus-visible:ring-3 focus-visible:outline-hidden active:ring-3 disabled:pointer-events-none disabled:opacity-50" }, index)))] }) }));
19
+ }
20
+ export { Slider };
@@ -0,0 +1,11 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+ import { Slider } from './slider';
3
+ declare const meta: Meta<typeof Slider>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof meta>;
6
+ export declare const Default: Story;
7
+ export declare const Range: Story;
8
+ export declare const Vertical: Story;
9
+ export declare const Disabled: Story;
10
+ export declare const Gallery: Story;
11
+ //# sourceMappingURL=slider.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slider.stories.d.ts","sourceRoot":"","sources":["../../../src/components/slider/slider.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGvD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,MAAM,CAc7B,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAOrB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAOnB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAiBtB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAOtB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAsBrB,CAAC"}
@@ -0,0 +1,36 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Label } from '../label';
3
+ import { Slider } from './slider';
4
+ const meta = {
5
+ title: 'UI/Slider',
6
+ component: Slider,
7
+ tags: ['autodocs'],
8
+ parameters: {
9
+ layout: 'centered',
10
+ },
11
+ decorators: [
12
+ (Story) => (_jsx("div", { className: "flex w-64 min-w-[16rem] flex-col gap-3", children: _jsx(Story, {}) })),
13
+ ],
14
+ };
15
+ export default meta;
16
+ export const Default = {
17
+ render: (args) => (_jsxs(_Fragment, { children: [_jsx(Label, { id: "story-slider-default", children: "Volume" }), _jsx(Slider, { ...args, defaultValue: 40, "aria-labelledby": "story-slider-default" })] })),
18
+ };
19
+ export const Range = {
20
+ render: (args) => (_jsxs(_Fragment, { children: [_jsx(Label, { id: "story-slider-range-label", children: "Price range" }), _jsx(Slider, { ...args, defaultValue: [20, 80], "aria-labelledby": "story-slider-range-label" })] })),
21
+ };
22
+ export const Vertical = {
23
+ parameters: { layout: 'padded' },
24
+ decorators: [
25
+ (Story) => (_jsx("div", { className: "flex h-48 items-stretch justify-center py-4", children: _jsx(Story, {}) })),
26
+ ],
27
+ render: (args) => (_jsxs(_Fragment, { children: [_jsx(Label, { id: "story-slider-v", className: "sr-only", children: "Level" }), _jsx(Slider, { ...args, orientation: "vertical", defaultValue: 55, "aria-labelledby": "story-slider-v" })] })),
28
+ };
29
+ export const Disabled = {
30
+ render: (args) => (_jsxs(_Fragment, { children: [_jsx(Label, { id: "story-slider-dis", children: "Disabled" }), _jsx(Slider, { ...args, defaultValue: 30, disabled: true, "aria-labelledby": "story-slider-dis" })] })),
31
+ };
32
+ export const Gallery = {
33
+ parameters: { layout: 'padded', controls: { disable: true } },
34
+ decorators: [(Story) => _jsx(Story, {})],
35
+ render: () => (_jsxs("div", { className: "mx-auto flex w-full max-w-md flex-col gap-10", children: [_jsxs("section", { className: "flex flex-col gap-2", children: [_jsx("p", { className: "text-xs font-medium tracking-wide text-muted-foreground uppercase", children: "Default" }), _jsx(Label, { id: "gal-1", children: "Brightness" }), _jsx(Slider, { defaultValue: 65, "aria-labelledby": "gal-1" })] }), _jsxs("section", { className: "flex flex-col gap-2", children: [_jsx("p", { className: "text-xs font-medium tracking-wide text-muted-foreground uppercase", children: "Range" }), _jsx(Label, { id: "gal-2-label", children: "Select range" }), _jsx(Slider, { defaultValue: [25, 75], "aria-labelledby": "gal-2-label" })] }), _jsxs("section", { className: "flex flex-col gap-2", children: [_jsx("p", { className: "text-xs font-medium tracking-wide text-muted-foreground uppercase", children: "Step" }), _jsx(Label, { id: "gal-3", children: "Snap by 10" }), _jsx(Slider, { min: 0, max: 100, step: 10, defaultValue: 50, "aria-labelledby": "gal-3" })] })] })),
36
+ };
@@ -0,0 +1,4 @@
1
+ export { Toaster } from './sonner';
2
+ export { toast } from './toast';
3
+ export type { ToasterProps } from 'sonner';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/sonner/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,YAAY,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { Toaster } from './sonner';
2
+ export { toast } from './toast';
@@ -0,0 +1,12 @@
1
+ import { type ToasterProps } from 'sonner';
2
+ /**
3
+ * Opinionated [Sonner](https://sonner.emilkowal.ski/) toaster: Wheelhouse popover tokens, Lucide icons,
4
+ * and `cn-toast` class for styling. Mount once near the app root.
5
+ *
6
+ * Defaults to **`theme="system"`** so light/dark follows the OS; in Next.js with `next-themes`, pass
7
+ * **`theme={resolvedTheme}`** (or map `resolvedTheme` to `'light' | 'dark'`) from your layout if you
8
+ * rely on the `.dark` class instead of system preference.
9
+ */
10
+ declare function Toaster({ theme, ...props }: ToasterProps): import("react/jsx-runtime").JSX.Element;
11
+ export { Toaster };
12
+ //# sourceMappingURL=sonner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sonner.d.ts","sourceRoot":"","sources":["../../../src/components/sonner/sonner.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAqB,KAAK,YAAY,EAAE,MAAM,QAAQ,CAAC;AAG9D;;;;;;;GAOG;AACH,iBAAS,OAAO,CAAC,EAAE,KAAgB,EAAE,GAAG,KAAK,EAAE,EAAE,YAAY,2CA4B5D;AAED,OAAO,EAAE,OAAO,EAAE,CAAC"}
@@ -0,0 +1,32 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import * as React from 'react';
4
+ import { Toaster as Sonner } from 'sonner';
5
+ import { AlertTriangle, CheckCircle, Info, Loader2, XCircle } from 'lucide-react';
6
+ /**
7
+ * Opinionated [Sonner](https://sonner.emilkowal.ski/) toaster: Wheelhouse popover tokens, Lucide icons,
8
+ * and `cn-toast` class for styling. Mount once near the app root.
9
+ *
10
+ * Defaults to **`theme="system"`** so light/dark follows the OS; in Next.js with `next-themes`, pass
11
+ * **`theme={resolvedTheme}`** (or map `resolvedTheme` to `'light' | 'dark'`) from your layout if you
12
+ * rely on the `.dark` class instead of system preference.
13
+ */
14
+ function Toaster({ theme = 'system', ...props }) {
15
+ return (_jsx(Sonner, { theme: theme, className: "toaster group", icons: {
16
+ success: _jsx(CheckCircle, { className: "size-4" }),
17
+ info: _jsx(Info, { className: "size-4" }),
18
+ warning: _jsx(AlertTriangle, { className: "size-4" }),
19
+ error: _jsx(XCircle, { className: "size-4" }),
20
+ loading: _jsx(Loader2, { className: "size-4 animate-spin" }),
21
+ }, style: {
22
+ '--normal-bg': 'var(--popover)',
23
+ '--normal-text': 'var(--popover-foreground)',
24
+ '--normal-border': 'var(--border)',
25
+ '--border-radius': 'var(--radius)',
26
+ }, toastOptions: {
27
+ classNames: {
28
+ toast: 'cn-toast',
29
+ },
30
+ }, ...props }));
31
+ }
32
+ export { Toaster };
@@ -0,0 +1,8 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+ import { Toaster } from './index';
3
+ declare const meta: Meta<typeof Toaster>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof meta>;
6
+ export declare const Default: Story;
7
+ export declare const Variants: Story;
8
+ //# sourceMappingURL=sonner.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sonner.stories.d.ts","sourceRoot":"","sources":["../../../src/components/sonner/sonner.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGvD,OAAO,EAAS,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,OAAO,CAe9B,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAcrB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAoBtB,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Button } from '../button';
3
+ import { toast, Toaster } from './index';
4
+ const meta = {
5
+ title: 'UI/Sonner',
6
+ component: Toaster,
7
+ tags: ['autodocs'],
8
+ parameters: {
9
+ layout: 'centered',
10
+ },
11
+ decorators: [
12
+ (Story) => (_jsxs(_Fragment, { children: [_jsx(Story, {}), _jsx(Toaster, {})] })),
13
+ ],
14
+ };
15
+ export default meta;
16
+ export const Default = {
17
+ render: () => (_jsx(Button, { variant: "outline", size: "sm", onClick: () => {
18
+ toast('Event has been created', {
19
+ description: 'Monday, January 3rd at 6:00pm',
20
+ });
21
+ }, children: "Show toast" })),
22
+ };
23
+ export const Variants = {
24
+ render: () => (_jsxs("div", { className: "flex flex-wrap justify-center gap-2", children: [_jsx(Button, { variant: "outline", size: "sm", onClick: () => toast.success('Saved'), children: "Success" }), _jsx(Button, { variant: "outline", size: "sm", onClick: () => toast.info('FYI'), children: "Info" }), _jsx(Button, { variant: "outline", size: "sm", onClick: () => toast.warning('Heads up'), children: "Warning" }), _jsx(Button, { variant: "outline", size: "sm", onClick: () => toast.error('Something went wrong'), children: "Error" }), _jsx(Button, { variant: "outline", size: "sm", onClick: () => toast.loading('Loading…'), children: "Loading" })] })),
25
+ };
@@ -0,0 +1,2 @@
1
+ export { toast } from 'sonner';
2
+ //# sourceMappingURL=toast.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toast.d.ts","sourceRoot":"","sources":["../../../src/components/sonner/toast.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC"}
@@ -0,0 +1 @@
1
+ export { toast } from 'sonner';
@@ -0,0 +1,3 @@
1
+ export { Sortable, SortableItem, SortableItemHandle, SortableOverlay } from './sortable';
2
+ export type { SortableItemHandleProps, SortableItemProps, SortableOverlayProps, SortableRootProps } from './sortable';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/sortable/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACzF,YAAY,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1 @@
1
+ export { Sortable, SortableItem, SortableItemHandle, SortableOverlay } from './sortable';
@@ -0,0 +1,94 @@
1
+ /**
2
+ * Drag-and-drop sortable lists and grids built on [dnd-kit](https://dndkit.com/).
3
+ *
4
+ * Compose **`Sortable`** (root) with **`SortableItem`** rows and an optional **`SortableItemHandle`**
5
+ * for the drag affordance. The root renders a **`DragOverlay`** portal while dragging; use
6
+ * **`SortableOverlay`** only when you need a fully custom overlay.
7
+ *
8
+ * @packageDocumentation
9
+ */
10
+ import * as React from 'react';
11
+ import { type ReactNode } from 'react';
12
+ import { useRender } from '@base-ui/react/use-render';
13
+ import { type DragEndEvent, DragOverlay, type DragStartEvent, type Modifiers, type UniqueIdentifier } from '@dnd-kit/core';
14
+ /**
15
+ * Props for {@link Sortable}. `T` is your row model; stable string ids come from {@link SortableRootProps.getItemValue}.
16
+ *
17
+ * @typeParam T - Item type in the controlled `value` array.
18
+ */
19
+ export interface SortableRootProps<T> extends Omit<useRender.ComponentProps<'div'>, 'onDragStart' | 'onDragEnd' | 'children'> {
20
+ /** Controlled list; order updates when items are reordered (unless {@link SortableRootProps.onMove} handles persistence). */
21
+ value: T[];
22
+ /** Called with the next array when the user drops an item in a new position. */
23
+ onValueChange: (value: T[]) => void;
24
+ /** Stable string id for each item; must match the corresponding {@link SortableItemProps.value}. */
25
+ getItemValue: (item: T) => string;
26
+ /** Typically a list of `SortableItem` elements (one per row). */
27
+ children: ReactNode;
28
+ /**
29
+ * Optional full control on drop: receive indices and apply `value` yourself (e.g. server mutation).
30
+ * When omitted, the root calls `onValueChange` with an array moved via dnd-kit `arrayMove`.
31
+ */
32
+ onMove?: (event: {
33
+ event: DragEndEvent;
34
+ activeIndex: number;
35
+ overIndex: number;
36
+ }) => void;
37
+ /**
38
+ * Layout strategy for `@dnd-kit/sortable`: vertical list, horizontal/flow, or grid (both use rect sorting).
39
+ * @defaultValue vertical
40
+ */
41
+ strategy?: 'horizontal' | 'vertical' | 'grid';
42
+ /** Passed through to `DndContext`; invoked when a drag starts. */
43
+ onDragStart?: (event: DragStartEvent) => void;
44
+ /** Passed through to `DndContext`; invoked when a drag ends (after reorder logic). */
45
+ onDragEnd?: (event: DragEndEvent) => void;
46
+ /** Optional dnd-kit modifiers (e.g. `restrictToParentElement`) for both context and overlay. */
47
+ modifiers?: Modifiers;
48
+ }
49
+ /**
50
+ * Root for a sortable region. Wires `DndContext`, `SortableContext`, sensors, and a `DragOverlay` portal on the client.
51
+ *
52
+ * Renders the default element as a `div` with `data-slot="sortable"` (see Base UI `useRender` / `render` prop).
53
+ */
54
+ declare function Sortable<T>({ value, onValueChange, getItemValue, className, render, onMove, strategy, onDragStart, onDragEnd, modifiers, children, ...props }: SortableRootProps<T>): import("react/jsx-runtime").JSX.Element;
55
+ /**
56
+ * Props for {@link SortableItem}. `value` is the sortable id (string) registered with dnd-kit.
57
+ */
58
+ export interface SortableItemProps extends useRender.ComponentProps<'div'> {
59
+ /** Must match `getItemValue(item)` for that row and be unique among siblings. */
60
+ value: string;
61
+ /** When true, the item does not participate in dragging. */
62
+ disabled?: boolean;
63
+ }
64
+ /**
65
+ * One row in a sortable list. Provides `data-slot="sortable-item"` and sortable transforms unless rendered inside a drag overlay clone.
66
+ */
67
+ declare function SortableItem({ value, className, render, disabled, ...props }: SortableItemProps): import("react/jsx-runtime").JSX.Element;
68
+ /**
69
+ * Props for {@link SortableItemHandle}. Spread `listeners` from context onto this node (handled internally).
70
+ */
71
+ export interface SortableItemHandleProps extends useRender.ComponentProps<'div'> {
72
+ /** When true (default), applies grab/grabbing cursor classes while dragging. */
73
+ cursor?: boolean;
74
+ }
75
+ /**
76
+ * Drag handle for a `SortableItem`. Must be nested under `SortableItem` so listeners and drag state apply.
77
+ */
78
+ declare function SortableItemHandle({ className, render, cursor, ...props }: SortableItemHandleProps): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
79
+ /**
80
+ * Props for {@link SortableOverlay}. Extends dnd-kit `DragOverlay` except `children`, which may be a render function receiving the active id.
81
+ */
82
+ export interface SortableOverlayProps extends Omit<React.ComponentProps<typeof DragOverlay>, 'children'> {
83
+ /** Static node or function `({ value }) => …` for custom overlay content tied to the active item id. */
84
+ children?: ReactNode | ((params: {
85
+ value: UniqueIdentifier;
86
+ }) => ReactNode);
87
+ }
88
+ /**
89
+ * Alternate overlay entry: renders `DragOverlay` in a portal with shared modifiers/animation from `Sortable` context.
90
+ * Prefer the built-in overlay on `Sortable` unless you need this API.
91
+ */
92
+ declare function SortableOverlay({ children, className, ...props }: SortableOverlayProps): React.ReactPortal | null;
93
+ export { Sortable, SortableItem, SortableItemHandle, SortableOverlay };
94
+ //# sourceMappingURL=sortable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sortable.d.ts","sourceRoot":"","sources":["../../../src/components/sortable/sortable.tsx"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAMH,KAAK,SAAS,EAMjB,MAAM,OAAO,CAAC;AAGf,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAGH,KAAK,YAAY,EAEjB,WAAW,EACX,KAAK,cAAc,EAInB,KAAK,SAAS,EAGd,KAAK,gBAAgB,EAGxB,MAAM,eAAe,CAAC;AA2DvB;;;;GAIG;AACH,MAAM,WAAW,iBAAiB,CAAC,CAAC,CAAE,SAAQ,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,aAAa,GAAG,WAAW,GAAG,UAAU,CAAC;IACzH,6HAA6H;IAC7H,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,gFAAgF;IAChF,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC;IACpC,oGAAoG;IACpG,YAAY,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;IAClC,iEAAiE;IACjE,QAAQ,EAAE,SAAS,CAAC;IACpB;;;OAGG;IACH,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,YAAY,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC1F;;;OAGG;IACH,QAAQ,CAAC,EAAE,YAAY,GAAG,UAAU,GAAG,MAAM,CAAC;IAC9C,kEAAkE;IAClE,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IAC9C,sFAAsF;IACtF,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IAC1C,gGAAgG;IAChG,SAAS,CAAC,EAAE,SAAS,CAAC;CACzB;AAED;;;;GAIG;AACH,iBAAS,QAAQ,CAAC,CAAC,EAAE,EACjB,KAAK,EACL,aAAa,EACb,YAAY,EACZ,SAAS,EACT,MAAM,EACN,MAAM,EACN,QAAqB,EACrB,WAAW,EACX,SAAS,EACT,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACX,EAAE,iBAAiB,CAAC,CAAC,CAAC,2CA8HtB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC;IACtE,iFAAiF;IACjF,KAAK,EAAE,MAAM,CAAC;IACd,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,iBAAS,YAAY,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,2CAgDxF;AAED;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC;IAC5E,gFAAgF;IAChF,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,iBAAS,kBAAkB,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,MAAa,EAAE,GAAG,KAAK,EAAE,EAAE,uBAAuB,0EAiBlG;AAED;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,WAAW,CAAC,EAAE,UAAU,CAAC;IACpG,wGAAwG;IACxG,QAAQ,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,gBAAgB,CAAA;KAAE,KAAK,SAAS,CAAC,CAAC;CAC/E;AAED;;;GAGG;AACH,iBAAS,eAAe,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,oBAAoB,4BAc/E;AAED,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,kBAAkB,EAAE,eAAe,EAAE,CAAC"}