@mivabyte/ui 26.9.21-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 (497) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +380 -0
  3. package/dist/components/ui/accordion.cjs +76 -0
  4. package/dist/components/ui/accordion.cjs.map +1 -0
  5. package/dist/components/ui/accordion.d.cts +7 -0
  6. package/dist/components/ui/accordion.d.ts +8 -0
  7. package/dist/components/ui/accordion.d.ts.map +1 -0
  8. package/dist/components/ui/accordion.js +50 -0
  9. package/dist/components/ui/accordion.js.map +1 -0
  10. package/dist/components/ui/alert-dialog.cjs +232 -0
  11. package/dist/components/ui/alert-dialog.cjs.map +1 -0
  12. package/dist/components/ui/alert-dialog.d.cts +20 -0
  13. package/dist/components/ui/alert-dialog.d.ts +21 -0
  14. package/dist/components/ui/alert-dialog.d.ts.map +1 -0
  15. package/dist/components/ui/alert-dialog.js +199 -0
  16. package/dist/components/ui/alert-dialog.js.map +1 -0
  17. package/dist/components/ui/alert.cjs +81 -0
  18. package/dist/components/ui/alert.cjs.map +1 -0
  19. package/dist/components/ui/alert.d.cts +8 -0
  20. package/dist/components/ui/alert.d.ts +9 -0
  21. package/dist/components/ui/alert.d.ts.map +1 -0
  22. package/dist/components/ui/alert.js +57 -0
  23. package/dist/components/ui/alert.js.map +1 -0
  24. package/dist/components/ui/aspect-ratio.cjs +29 -0
  25. package/dist/components/ui/aspect-ratio.cjs.map +1 -0
  26. package/dist/components/ui/aspect-ratio.d.cts +5 -0
  27. package/dist/components/ui/aspect-ratio.d.ts +6 -0
  28. package/dist/components/ui/aspect-ratio.d.ts.map +1 -0
  29. package/dist/components/ui/aspect-ratio.js +27 -0
  30. package/dist/components/ui/aspect-ratio.js.map +1 -0
  31. package/dist/components/ui/attachment.cjs +26 -0
  32. package/dist/components/ui/attachment.cjs.map +1 -0
  33. package/dist/components/ui/attachment.d.cts +4 -0
  34. package/dist/components/ui/attachment.d.ts +5 -0
  35. package/dist/components/ui/attachment.d.ts.map +1 -0
  36. package/dist/components/ui/attachment.js +24 -0
  37. package/dist/components/ui/attachment.js.map +1 -0
  38. package/dist/components/ui/avatar.cjs +72 -0
  39. package/dist/components/ui/avatar.cjs.map +1 -0
  40. package/dist/components/ui/avatar.d.cts +6 -0
  41. package/dist/components/ui/avatar.d.ts +7 -0
  42. package/dist/components/ui/avatar.d.ts.map +1 -0
  43. package/dist/components/ui/avatar.js +47 -0
  44. package/dist/components/ui/avatar.js.map +1 -0
  45. package/dist/components/ui/badge.cjs +71 -0
  46. package/dist/components/ui/badge.cjs.map +1 -0
  47. package/dist/components/ui/badge.d.cts +11 -0
  48. package/dist/components/ui/badge.d.ts +12 -0
  49. package/dist/components/ui/badge.d.ts.map +1 -0
  50. package/dist/components/ui/badge.js +48 -0
  51. package/dist/components/ui/badge.js.map +1 -0
  52. package/dist/components/ui/breadcrumb.cjs +122 -0
  53. package/dist/components/ui/breadcrumb.cjs.map +1 -0
  54. package/dist/components/ui/breadcrumb.d.cts +19 -0
  55. package/dist/components/ui/breadcrumb.d.ts +20 -0
  56. package/dist/components/ui/breadcrumb.d.ts.map +1 -0
  57. package/dist/components/ui/breadcrumb.js +94 -0
  58. package/dist/components/ui/breadcrumb.js.map +1 -0
  59. package/dist/components/ui/bubble.cjs +31 -0
  60. package/dist/components/ui/bubble.cjs.map +1 -0
  61. package/dist/components/ui/bubble.d.cts +6 -0
  62. package/dist/components/ui/bubble.d.ts +7 -0
  63. package/dist/components/ui/bubble.d.ts.map +1 -0
  64. package/dist/components/ui/bubble.js +29 -0
  65. package/dist/components/ui/bubble.js.map +1 -0
  66. package/dist/components/ui/button-group.cjs +18 -0
  67. package/dist/components/ui/button-group.cjs.map +1 -0
  68. package/dist/components/ui/button-group.d.cts +5 -0
  69. package/dist/components/ui/button-group.d.ts +6 -0
  70. package/dist/components/ui/button-group.d.ts.map +1 -0
  71. package/dist/components/ui/button-group.js +16 -0
  72. package/dist/components/ui/button-group.js.map +1 -0
  73. package/dist/components/ui/button.cjs +124 -0
  74. package/dist/components/ui/button.cjs.map +1 -0
  75. package/dist/components/ui/button.d.cts +16 -0
  76. package/dist/components/ui/button.d.ts +17 -0
  77. package/dist/components/ui/button.d.ts.map +1 -0
  78. package/dist/components/ui/button.js +101 -0
  79. package/dist/components/ui/button.js.map +1 -0
  80. package/dist/components/ui/calendar.cjs +302 -0
  81. package/dist/components/ui/calendar.cjs.map +1 -0
  82. package/dist/components/ui/calendar.d.cts +8 -0
  83. package/dist/components/ui/calendar.d.ts +9 -0
  84. package/dist/components/ui/calendar.d.ts.map +1 -0
  85. package/dist/components/ui/calendar.js +279 -0
  86. package/dist/components/ui/calendar.js.map +1 -0
  87. package/dist/components/ui/card.cjs +106 -0
  88. package/dist/components/ui/card.cjs.map +1 -0
  89. package/dist/components/ui/card.d.cts +11 -0
  90. package/dist/components/ui/card.d.ts +12 -0
  91. package/dist/components/ui/card.d.ts.map +1 -0
  92. package/dist/components/ui/card.js +79 -0
  93. package/dist/components/ui/card.js.map +1 -0
  94. package/dist/components/ui/carousel.cjs +312 -0
  95. package/dist/components/ui/carousel.cjs.map +1 -0
  96. package/dist/components/ui/carousel.d.cts +18 -0
  97. package/dist/components/ui/carousel.d.ts +19 -0
  98. package/dist/components/ui/carousel.d.ts.map +1 -0
  99. package/dist/components/ui/carousel.js +283 -0
  100. package/dist/components/ui/carousel.js.map +1 -0
  101. package/dist/components/ui/chart.cjs +270 -0
  102. package/dist/components/ui/chart.cjs.map +1 -0
  103. package/dist/components/ui/chart.d.cts +41 -0
  104. package/dist/components/ui/chart.d.ts +42 -0
  105. package/dist/components/ui/chart.d.ts.map +1 -0
  106. package/dist/components/ui/chart.js +241 -0
  107. package/dist/components/ui/chart.js.map +1 -0
  108. package/dist/components/ui/checkbox.cjs +57 -0
  109. package/dist/components/ui/checkbox.cjs.map +1 -0
  110. package/dist/components/ui/checkbox.d.cts +4 -0
  111. package/dist/components/ui/checkbox.d.ts +5 -0
  112. package/dist/components/ui/checkbox.d.ts.map +1 -0
  113. package/dist/components/ui/checkbox.js +34 -0
  114. package/dist/components/ui/checkbox.js.map +1 -0
  115. package/dist/components/ui/collapsible.cjs +34 -0
  116. package/dist/components/ui/collapsible.cjs.map +1 -0
  117. package/dist/components/ui/collapsible.d.cts +5 -0
  118. package/dist/components/ui/collapsible.d.ts +6 -0
  119. package/dist/components/ui/collapsible.d.ts.map +1 -0
  120. package/dist/components/ui/collapsible.js +10 -0
  121. package/dist/components/ui/collapsible.js.map +1 -0
  122. package/dist/components/ui/combobox.cjs +277 -0
  123. package/dist/components/ui/combobox.cjs.map +1 -0
  124. package/dist/components/ui/combobox.d.cts +15 -0
  125. package/dist/components/ui/combobox.d.ts +16 -0
  126. package/dist/components/ui/combobox.d.ts.map +1 -0
  127. package/dist/components/ui/combobox.js +254 -0
  128. package/dist/components/ui/combobox.js.map +1 -0
  129. package/dist/components/ui/command.cjs +244 -0
  130. package/dist/components/ui/command.cjs.map +1 -0
  131. package/dist/components/ui/command.d.cts +80 -0
  132. package/dist/components/ui/command.d.ts +81 -0
  133. package/dist/components/ui/command.d.ts.map +1 -0
  134. package/dist/components/ui/command.js +213 -0
  135. package/dist/components/ui/command.js.map +1 -0
  136. package/dist/components/ui/container.cjs +69 -0
  137. package/dist/components/ui/container.cjs.map +1 -0
  138. package/dist/components/ui/container.d.cts +11 -0
  139. package/dist/components/ui/container.d.ts +12 -0
  140. package/dist/components/ui/container.d.ts.map +1 -0
  141. package/dist/components/ui/container.js +46 -0
  142. package/dist/components/ui/container.js.map +1 -0
  143. package/dist/components/ui/context-menu.cjs +182 -0
  144. package/dist/components/ui/context-menu.cjs.map +1 -0
  145. package/dist/components/ui/context-menu.d.cts +27 -0
  146. package/dist/components/ui/context-menu.d.ts +28 -0
  147. package/dist/components/ui/context-menu.d.ts.map +1 -0
  148. package/dist/components/ui/context-menu.js +145 -0
  149. package/dist/components/ui/context-menu.js.map +1 -0
  150. package/dist/components/ui/data-table.cjs +139 -0
  151. package/dist/components/ui/data-table.cjs.map +1 -0
  152. package/dist/components/ui/data-table.d.cts +13 -0
  153. package/dist/components/ui/data-table.d.ts +14 -0
  154. package/dist/components/ui/data-table.d.ts.map +1 -0
  155. package/dist/components/ui/data-table.js +117 -0
  156. package/dist/components/ui/data-table.js.map +1 -0
  157. package/dist/components/ui/date-picker.cjs +304 -0
  158. package/dist/components/ui/date-picker.cjs.map +1 -0
  159. package/dist/components/ui/date-picker.d.cts +4 -0
  160. package/dist/components/ui/date-picker.d.ts +5 -0
  161. package/dist/components/ui/date-picker.d.ts.map +1 -0
  162. package/dist/components/ui/date-picker.js +282 -0
  163. package/dist/components/ui/date-picker.js.map +1 -0
  164. package/dist/components/ui/dialog.cjs +175 -0
  165. package/dist/components/ui/dialog.cjs.map +1 -0
  166. package/dist/components/ui/dialog.d.cts +34 -0
  167. package/dist/components/ui/dialog.d.ts +35 -0
  168. package/dist/components/ui/dialog.d.ts.map +1 -0
  169. package/dist/components/ui/dialog.js +143 -0
  170. package/dist/components/ui/dialog.js.map +1 -0
  171. package/dist/components/ui/direction.cjs +16 -0
  172. package/dist/components/ui/direction.cjs.map +1 -0
  173. package/dist/components/ui/direction.d.cts +2 -0
  174. package/dist/components/ui/direction.d.ts +3 -0
  175. package/dist/components/ui/direction.d.ts.map +1 -0
  176. package/dist/components/ui/direction.js +3 -0
  177. package/dist/components/ui/direction.js.map +1 -0
  178. package/dist/components/ui/drawer.cjs +130 -0
  179. package/dist/components/ui/drawer.cjs.map +1 -0
  180. package/dist/components/ui/drawer.d.cts +22 -0
  181. package/dist/components/ui/drawer.d.ts +23 -0
  182. package/dist/components/ui/drawer.d.ts.map +1 -0
  183. package/dist/components/ui/drawer.js +99 -0
  184. package/dist/components/ui/drawer.js.map +1 -0
  185. package/dist/components/ui/dropdown-menu.cjs +182 -0
  186. package/dist/components/ui/dropdown-menu.cjs.map +1 -0
  187. package/dist/components/ui/dropdown-menu.d.cts +27 -0
  188. package/dist/components/ui/dropdown-menu.d.ts +28 -0
  189. package/dist/components/ui/dropdown-menu.d.ts.map +1 -0
  190. package/dist/components/ui/dropdown-menu.js +145 -0
  191. package/dist/components/ui/dropdown-menu.js.map +1 -0
  192. package/dist/components/ui/empty.cjs +111 -0
  193. package/dist/components/ui/empty.cjs.map +1 -0
  194. package/dist/components/ui/empty.d.cts +11 -0
  195. package/dist/components/ui/empty.d.ts +12 -0
  196. package/dist/components/ui/empty.d.ts.map +1 -0
  197. package/dist/components/ui/empty.js +104 -0
  198. package/dist/components/ui/empty.js.map +1 -0
  199. package/dist/components/ui/field.cjs +285 -0
  200. package/dist/components/ui/field.cjs.map +1 -0
  201. package/dist/components/ui/field.d.cts +24 -0
  202. package/dist/components/ui/field.d.ts +25 -0
  203. package/dist/components/ui/field.d.ts.map +1 -0
  204. package/dist/components/ui/field.js +253 -0
  205. package/dist/components/ui/field.js.map +1 -0
  206. package/dist/components/ui/hover-card.cjs +55 -0
  207. package/dist/components/ui/hover-card.cjs.map +1 -0
  208. package/dist/components/ui/hover-card.d.cts +6 -0
  209. package/dist/components/ui/hover-card.d.ts +7 -0
  210. package/dist/components/ui/hover-card.d.ts.map +1 -0
  211. package/dist/components/ui/hover-card.js +30 -0
  212. package/dist/components/ui/hover-card.js.map +1 -0
  213. package/dist/components/ui/input-group.cjs +26 -0
  214. package/dist/components/ui/input-group.cjs.map +1 -0
  215. package/dist/components/ui/input-group.d.cts +4 -0
  216. package/dist/components/ui/input-group.d.ts +5 -0
  217. package/dist/components/ui/input-group.d.ts.map +1 -0
  218. package/dist/components/ui/input-group.js +24 -0
  219. package/dist/components/ui/input-group.js.map +1 -0
  220. package/dist/components/ui/input-otp.cjs +77 -0
  221. package/dist/components/ui/input-otp.cjs.map +1 -0
  222. package/dist/components/ui/input-otp.d.cts +36 -0
  223. package/dist/components/ui/input-otp.d.ts +37 -0
  224. package/dist/components/ui/input-otp.d.ts.map +1 -0
  225. package/dist/components/ui/input-otp.js +52 -0
  226. package/dist/components/ui/input-otp.js.map +1 -0
  227. package/dist/components/ui/input.cjs +52 -0
  228. package/dist/components/ui/input.cjs.map +1 -0
  229. package/dist/components/ui/input.d.cts +3 -0
  230. package/dist/components/ui/input.d.ts +4 -0
  231. package/dist/components/ui/input.d.ts.map +1 -0
  232. package/dist/components/ui/input.js +30 -0
  233. package/dist/components/ui/input.js.map +1 -0
  234. package/dist/components/ui/item.cjs +26 -0
  235. package/dist/components/ui/item.cjs.map +1 -0
  236. package/dist/components/ui/item.d.cts +5 -0
  237. package/dist/components/ui/item.d.ts +6 -0
  238. package/dist/components/ui/item.d.ts.map +1 -0
  239. package/dist/components/ui/item.js +24 -0
  240. package/dist/components/ui/item.js.map +1 -0
  241. package/dist/components/ui/kbd-group.cjs +74 -0
  242. package/dist/components/ui/kbd-group.cjs.map +1 -0
  243. package/dist/components/ui/kbd-group.d.cts +9 -0
  244. package/dist/components/ui/kbd-group.d.ts +10 -0
  245. package/dist/components/ui/kbd-group.d.ts.map +1 -0
  246. package/dist/components/ui/kbd-group.js +51 -0
  247. package/dist/components/ui/kbd-group.js.map +1 -0
  248. package/dist/components/ui/kbd.cjs +26 -0
  249. package/dist/components/ui/kbd.cjs.map +1 -0
  250. package/dist/components/ui/kbd.d.cts +5 -0
  251. package/dist/components/ui/kbd.d.ts +6 -0
  252. package/dist/components/ui/kbd.d.ts.map +1 -0
  253. package/dist/components/ui/kbd.js +24 -0
  254. package/dist/components/ui/kbd.js.map +1 -0
  255. package/dist/components/ui/label.cjs +49 -0
  256. package/dist/components/ui/label.cjs.map +1 -0
  257. package/dist/components/ui/label.d.cts +5 -0
  258. package/dist/components/ui/label.d.ts +6 -0
  259. package/dist/components/ui/label.d.ts.map +1 -0
  260. package/dist/components/ui/label.js +26 -0
  261. package/dist/components/ui/label.js.map +1 -0
  262. package/dist/components/ui/marker.cjs +17 -0
  263. package/dist/components/ui/marker.cjs.map +1 -0
  264. package/dist/components/ui/marker.d.cts +5 -0
  265. package/dist/components/ui/marker.d.ts +6 -0
  266. package/dist/components/ui/marker.d.ts.map +1 -0
  267. package/dist/components/ui/marker.js +15 -0
  268. package/dist/components/ui/marker.js.map +1 -0
  269. package/dist/components/ui/menubar.cjs +232 -0
  270. package/dist/components/ui/menubar.cjs.map +1 -0
  271. package/dist/components/ui/menubar.d.cts +28 -0
  272. package/dist/components/ui/menubar.d.ts +29 -0
  273. package/dist/components/ui/menubar.d.ts.map +1 -0
  274. package/dist/components/ui/menubar.js +194 -0
  275. package/dist/components/ui/menubar.js.map +1 -0
  276. package/dist/components/ui/message-scroller.cjs +79 -0
  277. package/dist/components/ui/message-scroller.cjs.map +1 -0
  278. package/dist/components/ui/message-scroller.d.cts +5 -0
  279. package/dist/components/ui/message-scroller.d.ts +6 -0
  280. package/dist/components/ui/message-scroller.d.ts.map +1 -0
  281. package/dist/components/ui/message-scroller.js +56 -0
  282. package/dist/components/ui/message-scroller.js.map +1 -0
  283. package/dist/components/ui/message.cjs +20 -0
  284. package/dist/components/ui/message.cjs.map +1 -0
  285. package/dist/components/ui/message.d.cts +6 -0
  286. package/dist/components/ui/message.d.ts +7 -0
  287. package/dist/components/ui/message.d.ts.map +1 -0
  288. package/dist/components/ui/message.js +18 -0
  289. package/dist/components/ui/message.js.map +1 -0
  290. package/dist/components/ui/native-select.cjs +49 -0
  291. package/dist/components/ui/native-select.cjs.map +1 -0
  292. package/dist/components/ui/native-select.d.cts +4 -0
  293. package/dist/components/ui/native-select.d.ts +5 -0
  294. package/dist/components/ui/native-select.d.ts.map +1 -0
  295. package/dist/components/ui/native-select.js +27 -0
  296. package/dist/components/ui/native-select.js.map +1 -0
  297. package/dist/components/ui/navigation-menu.cjs +137 -0
  298. package/dist/components/ui/navigation-menu.cjs.map +1 -0
  299. package/dist/components/ui/navigation-menu.d.cts +12 -0
  300. package/dist/components/ui/navigation-menu.d.ts +13 -0
  301. package/dist/components/ui/navigation-menu.d.ts.map +1 -0
  302. package/dist/components/ui/navigation-menu.js +106 -0
  303. package/dist/components/ui/navigation-menu.js.map +1 -0
  304. package/dist/components/ui/pagination.cjs +218 -0
  305. package/dist/components/ui/pagination.cjs.map +1 -0
  306. package/dist/components/ui/pagination.d.cts +28 -0
  307. package/dist/components/ui/pagination.d.ts +29 -0
  308. package/dist/components/ui/pagination.d.ts.map +1 -0
  309. package/dist/components/ui/pagination.js +190 -0
  310. package/dist/components/ui/pagination.js.map +1 -0
  311. package/dist/components/ui/popover.cjs +57 -0
  312. package/dist/components/ui/popover.cjs.map +1 -0
  313. package/dist/components/ui/popover.d.cts +7 -0
  314. package/dist/components/ui/popover.d.ts +8 -0
  315. package/dist/components/ui/popover.d.ts.map +1 -0
  316. package/dist/components/ui/popover.js +31 -0
  317. package/dist/components/ui/popover.js.map +1 -0
  318. package/dist/components/ui/progress.cjs +56 -0
  319. package/dist/components/ui/progress.cjs.map +1 -0
  320. package/dist/components/ui/progress.d.cts +4 -0
  321. package/dist/components/ui/progress.d.ts +5 -0
  322. package/dist/components/ui/progress.d.ts.map +1 -0
  323. package/dist/components/ui/progress.js +33 -0
  324. package/dist/components/ui/progress.js.map +1 -0
  325. package/dist/components/ui/questionnaire.cjs +17 -0
  326. package/dist/components/ui/questionnaire.cjs.map +1 -0
  327. package/dist/components/ui/questionnaire.d.cts +5 -0
  328. package/dist/components/ui/questionnaire.d.ts +6 -0
  329. package/dist/components/ui/questionnaire.d.ts.map +1 -0
  330. package/dist/components/ui/questionnaire.js +15 -0
  331. package/dist/components/ui/questionnaire.js.map +1 -0
  332. package/dist/components/ui/radio-group.cjs +65 -0
  333. package/dist/components/ui/radio-group.cjs.map +1 -0
  334. package/dist/components/ui/radio-group.d.cts +5 -0
  335. package/dist/components/ui/radio-group.d.ts +6 -0
  336. package/dist/components/ui/radio-group.d.ts.map +1 -0
  337. package/dist/components/ui/radio-group.js +41 -0
  338. package/dist/components/ui/radio-group.js.map +1 -0
  339. package/dist/components/ui/resizable.cjs +67 -0
  340. package/dist/components/ui/resizable.cjs.map +1 -0
  341. package/dist/components/ui/resizable.d.cts +7 -0
  342. package/dist/components/ui/resizable.d.ts +8 -0
  343. package/dist/components/ui/resizable.d.ts.map +1 -0
  344. package/dist/components/ui/resizable.js +43 -0
  345. package/dist/components/ui/resizable.js.map +1 -0
  346. package/dist/components/ui/scroll-area.cjs +67 -0
  347. package/dist/components/ui/scroll-area.cjs.map +1 -0
  348. package/dist/components/ui/scroll-area.d.cts +5 -0
  349. package/dist/components/ui/scroll-area.d.ts +6 -0
  350. package/dist/components/ui/scroll-area.d.ts.map +1 -0
  351. package/dist/components/ui/scroll-area.js +43 -0
  352. package/dist/components/ui/scroll-area.js.map +1 -0
  353. package/dist/components/ui/select.cjs +154 -0
  354. package/dist/components/ui/select.cjs.map +1 -0
  355. package/dist/components/ui/select.d.cts +13 -0
  356. package/dist/components/ui/select.d.ts +14 -0
  357. package/dist/components/ui/select.d.ts.map +1 -0
  358. package/dist/components/ui/select.js +122 -0
  359. package/dist/components/ui/select.js.map +1 -0
  360. package/dist/components/ui/separator.cjs +54 -0
  361. package/dist/components/ui/separator.cjs.map +1 -0
  362. package/dist/components/ui/separator.d.cts +4 -0
  363. package/dist/components/ui/separator.d.ts +5 -0
  364. package/dist/components/ui/separator.d.ts.map +1 -0
  365. package/dist/components/ui/separator.js +31 -0
  366. package/dist/components/ui/separator.js.map +1 -0
  367. package/dist/components/ui/sheet.cjs +186 -0
  368. package/dist/components/ui/sheet.cjs.map +1 -0
  369. package/dist/components/ui/sheet.d.cts +32 -0
  370. package/dist/components/ui/sheet.d.ts +33 -0
  371. package/dist/components/ui/sheet.d.ts.map +1 -0
  372. package/dist/components/ui/sheet.js +154 -0
  373. package/dist/components/ui/sheet.js.map +1 -0
  374. package/dist/components/ui/sidebar.cjs +962 -0
  375. package/dist/components/ui/sidebar.cjs.map +1 -0
  376. package/dist/components/ui/sidebar.d.cts +75 -0
  377. package/dist/components/ui/sidebar.d.ts +76 -0
  378. package/dist/components/ui/sidebar.d.ts.map +1 -0
  379. package/dist/components/ui/sidebar.js +914 -0
  380. package/dist/components/ui/sidebar.js.map +1 -0
  381. package/dist/components/ui/skeleton.cjs +26 -0
  382. package/dist/components/ui/skeleton.cjs.map +1 -0
  383. package/dist/components/ui/skeleton.d.cts +2 -0
  384. package/dist/components/ui/skeleton.d.ts +3 -0
  385. package/dist/components/ui/skeleton.d.ts.map +1 -0
  386. package/dist/components/ui/skeleton.js +24 -0
  387. package/dist/components/ui/skeleton.js.map +1 -0
  388. package/dist/components/ui/slider.cjs +52 -0
  389. package/dist/components/ui/slider.cjs.map +1 -0
  390. package/dist/components/ui/slider.d.cts +4 -0
  391. package/dist/components/ui/slider.d.ts +5 -0
  392. package/dist/components/ui/slider.d.ts.map +1 -0
  393. package/dist/components/ui/slider.js +29 -0
  394. package/dist/components/ui/slider.js.map +1 -0
  395. package/dist/components/ui/spinner.cjs +26 -0
  396. package/dist/components/ui/spinner.cjs.map +1 -0
  397. package/dist/components/ui/spinner.d.cts +2 -0
  398. package/dist/components/ui/spinner.d.ts +3 -0
  399. package/dist/components/ui/spinner.d.ts.map +1 -0
  400. package/dist/components/ui/spinner.js +24 -0
  401. package/dist/components/ui/spinner.js.map +1 -0
  402. package/dist/components/ui/switch.cjs +57 -0
  403. package/dist/components/ui/switch.cjs.map +1 -0
  404. package/dist/components/ui/switch.d.cts +4 -0
  405. package/dist/components/ui/switch.d.ts +5 -0
  406. package/dist/components/ui/switch.d.ts.map +1 -0
  407. package/dist/components/ui/switch.js +34 -0
  408. package/dist/components/ui/switch.js.map +1 -0
  409. package/dist/components/ui/table.cjs +135 -0
  410. package/dist/components/ui/table.cjs.map +1 -0
  411. package/dist/components/ui/table.d.cts +10 -0
  412. package/dist/components/ui/table.d.ts +11 -0
  413. package/dist/components/ui/table.d.ts.map +1 -0
  414. package/dist/components/ui/table.js +106 -0
  415. package/dist/components/ui/table.js.map +1 -0
  416. package/dist/components/ui/tabs.cjs +78 -0
  417. package/dist/components/ui/tabs.cjs.map +1 -0
  418. package/dist/components/ui/tabs.d.cts +10 -0
  419. package/dist/components/ui/tabs.d.ts +11 -0
  420. package/dist/components/ui/tabs.d.ts.map +1 -0
  421. package/dist/components/ui/tabs.js +52 -0
  422. package/dist/components/ui/tabs.js.map +1 -0
  423. package/dist/components/ui/textarea.cjs +49 -0
  424. package/dist/components/ui/textarea.cjs.map +1 -0
  425. package/dist/components/ui/textarea.d.cts +3 -0
  426. package/dist/components/ui/textarea.d.ts +4 -0
  427. package/dist/components/ui/textarea.d.ts.map +1 -0
  428. package/dist/components/ui/textarea.js +27 -0
  429. package/dist/components/ui/textarea.js.map +1 -0
  430. package/dist/components/ui/toast.cjs +16 -0
  431. package/dist/components/ui/toast.cjs.map +1 -0
  432. package/dist/components/ui/toast.d.cts +2 -0
  433. package/dist/components/ui/toast.d.ts +3 -0
  434. package/dist/components/ui/toast.d.ts.map +1 -0
  435. package/dist/components/ui/toast.js +3 -0
  436. package/dist/components/ui/toast.js.map +1 -0
  437. package/dist/components/ui/toggle-group.cjs +102 -0
  438. package/dist/components/ui/toggle-group.cjs.map +1 -0
  439. package/dist/components/ui/toggle-group.d.cts +12 -0
  440. package/dist/components/ui/toggle-group.d.ts +13 -0
  441. package/dist/components/ui/toggle-group.d.ts.map +1 -0
  442. package/dist/components/ui/toggle-group.js +77 -0
  443. package/dist/components/ui/toggle-group.js.map +1 -0
  444. package/dist/components/ui/toggle.cjs +68 -0
  445. package/dist/components/ui/toggle.cjs.map +1 -0
  446. package/dist/components/ui/toggle.d.cts +12 -0
  447. package/dist/components/ui/toggle.d.ts +13 -0
  448. package/dist/components/ui/toggle.d.ts.map +1 -0
  449. package/dist/components/ui/toggle.js +44 -0
  450. package/dist/components/ui/toggle.js.map +1 -0
  451. package/dist/components/ui/tooltip.cjs +55 -0
  452. package/dist/components/ui/tooltip.cjs.map +1 -0
  453. package/dist/components/ui/tooltip.d.cts +7 -0
  454. package/dist/components/ui/tooltip.d.ts +8 -0
  455. package/dist/components/ui/tooltip.d.ts.map +1 -0
  456. package/dist/components/ui/tooltip.js +29 -0
  457. package/dist/components/ui/tooltip.js.map +1 -0
  458. package/dist/components/ui/typography.cjs +159 -0
  459. package/dist/components/ui/typography.cjs.map +1 -0
  460. package/dist/components/ui/typography.d.cts +35 -0
  461. package/dist/components/ui/typography.d.ts +36 -0
  462. package/dist/components/ui/typography.d.ts.map +1 -0
  463. package/dist/components/ui/typography.js +132 -0
  464. package/dist/components/ui/typography.js.map +1 -0
  465. package/dist/fonts/ONEST-LICENSE.txt +93 -0
  466. package/dist/fonts/onest-latin-ext-wght-normal.woff2 +0 -0
  467. package/dist/fonts/onest-latin-wght-normal.woff2 +0 -0
  468. package/dist/hooks/use-direction.cjs +12 -0
  469. package/dist/hooks/use-direction.cjs.map +1 -0
  470. package/dist/hooks/use-direction.d.cts +2 -0
  471. package/dist/hooks/use-direction.d.ts +3 -0
  472. package/dist/hooks/use-direction.d.ts.map +1 -0
  473. package/dist/hooks/use-direction.js +3 -0
  474. package/dist/hooks/use-direction.js.map +1 -0
  475. package/dist/hooks/use-mobile.cjs +45 -0
  476. package/dist/hooks/use-mobile.cjs.map +1 -0
  477. package/dist/hooks/use-mobile.d.cts +1 -0
  478. package/dist/hooks/use-mobile.d.ts +2 -0
  479. package/dist/hooks/use-mobile.d.ts.map +1 -0
  480. package/dist/hooks/use-mobile.js +23 -0
  481. package/dist/hooks/use-mobile.js.map +1 -0
  482. package/dist/index.cjs +67 -0
  483. package/dist/index.cjs.map +1 -0
  484. package/dist/index.d.cts +86 -0
  485. package/dist/index.d.ts +87 -0
  486. package/dist/index.d.ts.map +1 -0
  487. package/dist/index.js +67 -0
  488. package/dist/index.js.map +1 -0
  489. package/dist/lib/utils.cjs +13 -0
  490. package/dist/lib/utils.cjs.map +1 -0
  491. package/dist/lib/utils.d.cts +2 -0
  492. package/dist/lib/utils.d.ts +3 -0
  493. package/dist/lib/utils.d.ts.map +1 -0
  494. package/dist/lib/utils.js +11 -0
  495. package/dist/lib/utils.js.map +1 -0
  496. package/dist/styles.css +2 -0
  497. package/package.json +931 -0
@@ -0,0 +1,312 @@
1
+ 'use strict';
2
+
3
+ var React2 = require('react');
4
+ var useEmblaCarousel = require('embla-carousel-react');
5
+ var lucideReact = require('lucide-react');
6
+ var clsx = require('clsx');
7
+ var tailwindMerge = require('tailwind-merge');
8
+ var reactSlot = require('@radix-ui/react-slot');
9
+ var classVarianceAuthority = require('class-variance-authority');
10
+ var jsxRuntime = require('react/jsx-runtime');
11
+
12
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
13
+
14
+ function _interopNamespace(e) {
15
+ if (e && e.__esModule) return e;
16
+ var n = Object.create(null);
17
+ if (e) {
18
+ Object.keys(e).forEach(function (k) {
19
+ if (k !== 'default') {
20
+ var d = Object.getOwnPropertyDescriptor(e, k);
21
+ Object.defineProperty(n, k, d.get ? d : {
22
+ enumerable: true,
23
+ get: function () { return e[k]; }
24
+ });
25
+ }
26
+ });
27
+ }
28
+ n.default = e;
29
+ return Object.freeze(n);
30
+ }
31
+
32
+ var React2__namespace = /*#__PURE__*/_interopNamespace(React2);
33
+ var useEmblaCarousel__default = /*#__PURE__*/_interopDefault(useEmblaCarousel);
34
+
35
+ function cn(...inputs) {
36
+ return tailwindMerge.twMerge(clsx.clsx(inputs));
37
+ }
38
+ var buttonVariants = classVarianceAuthority.cva(
39
+ "ui-button ui-focus inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium select-none [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
40
+ {
41
+ variants: {
42
+ variant: {
43
+ default: "bg-primary text-primary-foreground shadow-surface hover:bg-primary-hover",
44
+ primary: "bg-primary text-primary-foreground shadow-surface hover:bg-primary-hover",
45
+ destructive: "bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",
46
+ outline: "border border-input bg-surface shadow-surface hover:bg-accent hover:text-accent-foreground",
47
+ secondary: "bg-secondary text-secondary-foreground shadow-surface hover:bg-surface-interactive",
48
+ accent: "bg-accent-muted text-accent-foreground hover:bg-accent shadow-surface",
49
+ subtle: "bg-accent text-accent-foreground hover:bg-accent-muted",
50
+ inverse: "bg-foreground text-background shadow-sm hover:bg-foreground/90",
51
+ ghost: "hover:bg-accent hover:text-accent-foreground",
52
+ navigation: "hover:bg-accent hover:text-accent-foreground",
53
+ link: "text-primary underline-offset-4 hover:underline"
54
+ },
55
+ size: {
56
+ default: "h-[var(--control-height)] px-4 py-2",
57
+ compact: "h-8 px-3 text-xs",
58
+ sm: "h-8 rounded-md px-3 text-xs",
59
+ lg: "h-12 rounded-md px-6",
60
+ xs: "h-7 rounded px-2 text-xs",
61
+ icon: "size-[var(--control-height)]",
62
+ "icon-xs": "h-7 w-7",
63
+ "icon-lg": "size-12"
64
+ },
65
+ wrap: {
66
+ true: "whitespace-normal text-wrap",
67
+ false: "whitespace-nowrap"
68
+ }
69
+ },
70
+ defaultVariants: {
71
+ variant: "default",
72
+ size: "default"
73
+ }
74
+ }
75
+ );
76
+ var Button = React2__namespace.forwardRef(
77
+ ({
78
+ className,
79
+ variant,
80
+ size,
81
+ wrap,
82
+ asChild = false,
83
+ loading = false,
84
+ render,
85
+ disabled,
86
+ children,
87
+ onClickCapture,
88
+ tabIndex,
89
+ type,
90
+ ...props
91
+ }, ref) => {
92
+ const isDisabled = Boolean(disabled || loading);
93
+ const slotted = asChild || Boolean(render);
94
+ const Comp = slotted ? reactSlot.Slot : "button";
95
+ const content = render ? React2__namespace.cloneElement(
96
+ render,
97
+ void 0,
98
+ children ?? render.props.children
99
+ ) : children;
100
+ return /* @__PURE__ */ jsxRuntime.jsx(
101
+ Comp,
102
+ {
103
+ ...props,
104
+ ref,
105
+ "data-slot": props["data-slot"] ?? "button",
106
+ className: cn(buttonVariants({ variant, size, wrap, className })),
107
+ type,
108
+ disabled: isDisabled,
109
+ "aria-disabled": isDisabled || void 0,
110
+ "aria-busy": loading || props["aria-busy"],
111
+ tabIndex: isDisabled && slotted ? -1 : tabIndex,
112
+ ...isDisabled ? {
113
+ onClickCapture: (event) => {
114
+ event.preventDefault();
115
+ event.stopPropagation();
116
+ }
117
+ } : onClickCapture ? { onClickCapture } : {},
118
+ children: content
119
+ }
120
+ );
121
+ }
122
+ );
123
+ Button.displayName = "Button";
124
+ var CarouselContext = React2__namespace.createContext(null);
125
+ function useCarousel() {
126
+ const context = React2__namespace.useContext(CarouselContext);
127
+ if (!context) {
128
+ throw new Error("useCarousel must be used within a <Carousel />");
129
+ }
130
+ return context;
131
+ }
132
+ var Carousel = React2__namespace.forwardRef(
133
+ ({
134
+ orientation = "horizontal",
135
+ opts,
136
+ setApi,
137
+ plugins,
138
+ className,
139
+ children,
140
+ ...props
141
+ }, ref) => {
142
+ const [carouselRef, api] = useEmblaCarousel__default.default(
143
+ {
144
+ ...opts,
145
+ axis: orientation === "horizontal" ? "x" : "y"
146
+ },
147
+ plugins
148
+ );
149
+ const [canScrollPrev, setCanScrollPrev] = React2__namespace.useState(false);
150
+ const [canScrollNext, setCanScrollNext] = React2__namespace.useState(false);
151
+ const onSelect = React2__namespace.useCallback((api2) => {
152
+ if (!api2) {
153
+ return;
154
+ }
155
+ setCanScrollPrev(api2.canScrollPrev());
156
+ setCanScrollNext(api2.canScrollNext());
157
+ }, []);
158
+ const scrollPrev = React2__namespace.useCallback(() => {
159
+ api?.scrollPrev();
160
+ }, [api]);
161
+ const scrollNext = React2__namespace.useCallback(() => {
162
+ api?.scrollNext();
163
+ }, [api]);
164
+ const handleKeyDown = React2__namespace.useCallback(
165
+ (event) => {
166
+ if (event.key === "ArrowLeft") {
167
+ event.preventDefault();
168
+ scrollPrev();
169
+ } else if (event.key === "ArrowRight") {
170
+ event.preventDefault();
171
+ scrollNext();
172
+ }
173
+ },
174
+ [scrollPrev, scrollNext]
175
+ );
176
+ React2__namespace.useEffect(() => {
177
+ if (!api || !setApi) {
178
+ return;
179
+ }
180
+ setApi(api);
181
+ }, [api, setApi]);
182
+ React2__namespace.useEffect(() => {
183
+ if (!api) {
184
+ return;
185
+ }
186
+ onSelect(api);
187
+ api.on("reInit", onSelect);
188
+ api.on("select", onSelect);
189
+ return () => {
190
+ api?.off("select", onSelect);
191
+ };
192
+ }, [api, onSelect]);
193
+ return /* @__PURE__ */ jsxRuntime.jsx(
194
+ CarouselContext.Provider,
195
+ {
196
+ value: {
197
+ carouselRef,
198
+ api,
199
+ opts,
200
+ orientation: orientation || (opts?.axis === "y" ? "vertical" : "horizontal"),
201
+ scrollPrev,
202
+ scrollNext,
203
+ canScrollPrev,
204
+ canScrollNext
205
+ },
206
+ children: /* @__PURE__ */ jsxRuntime.jsx(
207
+ "div",
208
+ {
209
+ ref,
210
+ onKeyDownCapture: handleKeyDown,
211
+ className: cn("relative", className),
212
+ role: "region",
213
+ "aria-roledescription": "carousel",
214
+ ...props,
215
+ children
216
+ }
217
+ )
218
+ }
219
+ );
220
+ }
221
+ );
222
+ Carousel.displayName = "Carousel";
223
+ var CarouselContent = React2__namespace.forwardRef(({ className, ...props }, ref) => {
224
+ const { carouselRef, orientation } = useCarousel();
225
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { ref: carouselRef, className: "overflow-hidden", children: /* @__PURE__ */ jsxRuntime.jsx(
226
+ "div",
227
+ {
228
+ ref,
229
+ className: cn(
230
+ "flex",
231
+ orientation === "horizontal" ? "-ml-4" : "-mt-4 flex-col",
232
+ className
233
+ ),
234
+ ...props
235
+ }
236
+ ) });
237
+ });
238
+ CarouselContent.displayName = "CarouselContent";
239
+ var CarouselItem = React2__namespace.forwardRef(({ className, ...props }, ref) => {
240
+ const { orientation } = useCarousel();
241
+ return /* @__PURE__ */ jsxRuntime.jsx(
242
+ "div",
243
+ {
244
+ ref,
245
+ role: "group",
246
+ "aria-roledescription": "slide",
247
+ className: cn(
248
+ "min-w-0 shrink-0 grow-0 basis-full",
249
+ orientation === "horizontal" ? "pl-4" : "pt-4",
250
+ className
251
+ ),
252
+ ...props
253
+ }
254
+ );
255
+ });
256
+ CarouselItem.displayName = "CarouselItem";
257
+ var CarouselPrevious = React2__namespace.forwardRef(({ className, variant = "outline", size = "icon", ...props }, ref) => {
258
+ const { orientation, scrollPrev, canScrollPrev } = useCarousel();
259
+ return /* @__PURE__ */ jsxRuntime.jsxs(
260
+ Button,
261
+ {
262
+ ref,
263
+ variant,
264
+ size,
265
+ className: cn(
266
+ "absolute h-8 w-8 rounded-full",
267
+ orientation === "horizontal" ? "-left-12 top-1/2 -translate-y-1/2" : "-top-12 left-1/2 -translate-x-1/2 rotate-90",
268
+ className
269
+ ),
270
+ disabled: !canScrollPrev,
271
+ onClick: scrollPrev,
272
+ ...props,
273
+ children: [
274
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowLeft, { className: "h-4 w-4" }),
275
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Previous slide" })
276
+ ]
277
+ }
278
+ );
279
+ });
280
+ CarouselPrevious.displayName = "CarouselPrevious";
281
+ var CarouselNext = React2__namespace.forwardRef(({ className, variant = "outline", size = "icon", ...props }, ref) => {
282
+ const { orientation, scrollNext, canScrollNext } = useCarousel();
283
+ return /* @__PURE__ */ jsxRuntime.jsxs(
284
+ Button,
285
+ {
286
+ ref,
287
+ variant,
288
+ size,
289
+ className: cn(
290
+ "absolute h-8 w-8 rounded-full",
291
+ orientation === "horizontal" ? "-right-12 top-1/2 -translate-y-1/2" : "-bottom-12 left-1/2 -translate-x-1/2 rotate-90",
292
+ className
293
+ ),
294
+ disabled: !canScrollNext,
295
+ onClick: scrollNext,
296
+ ...props,
297
+ children: [
298
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowRight, { className: "h-4 w-4" }),
299
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Next slide" })
300
+ ]
301
+ }
302
+ );
303
+ });
304
+ CarouselNext.displayName = "CarouselNext";
305
+
306
+ exports.Carousel = Carousel;
307
+ exports.CarouselContent = CarouselContent;
308
+ exports.CarouselItem = CarouselItem;
309
+ exports.CarouselNext = CarouselNext;
310
+ exports.CarouselPrevious = CarouselPrevious;
311
+ //# sourceMappingURL=carousel.cjs.map
312
+ //# sourceMappingURL=carousel.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/lib/utils.ts","../../../src/components/ui/button.tsx","../../../src/components/ui/carousel.tsx"],"names":["twMerge","clsx","cva","React","Slot","jsx","React2","useEmblaCarousel","api","jsxs","ArrowLeft","ArrowRight"],"mappings":"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","file":"carousel.cjs","sourcesContent":["import { type ClassValue, clsx } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","import * as React from \"react\"\nimport { Slot } from \"@radix-ui/react-slot\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst buttonVariants = cva(\n \"ui-button ui-focus inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium select-none [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\",\n {\n variants: {\n variant: {\n default:\n \"bg-primary text-primary-foreground shadow-surface hover:bg-primary-hover\",\n primary:\n \"bg-primary text-primary-foreground shadow-surface hover:bg-primary-hover\",\n destructive:\n \"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90\",\n outline:\n \"border border-input bg-surface shadow-surface hover:bg-accent hover:text-accent-foreground\",\n secondary:\n \"bg-secondary text-secondary-foreground shadow-surface hover:bg-surface-interactive\",\n accent:\n \"bg-accent-muted text-accent-foreground hover:bg-accent shadow-surface\",\n subtle: \"bg-accent text-accent-foreground hover:bg-accent-muted\",\n inverse:\n \"bg-foreground text-background shadow-sm hover:bg-foreground/90\",\n ghost: \"hover:bg-accent hover:text-accent-foreground\",\n navigation: \"hover:bg-accent hover:text-accent-foreground\",\n link: \"text-primary underline-offset-4 hover:underline\",\n },\n size: {\n default: \"h-[var(--control-height)] px-4 py-2\",\n compact: \"h-8 px-3 text-xs\",\n sm: \"h-8 rounded-md px-3 text-xs\",\n lg: \"h-12 rounded-md px-6\",\n xs: \"h-7 rounded px-2 text-xs\",\n icon: \"size-[var(--control-height)]\",\n \"icon-xs\": \"h-7 w-7\",\n \"icon-lg\": \"size-12\",\n },\n wrap: {\n true: \"whitespace-normal text-wrap\",\n false: \"whitespace-nowrap\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\nexport interface ButtonProps\n extends\n React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {\n asChild?: boolean\n wrap?: boolean\n loading?: boolean\n render?: React.ReactElement\n \"data-slot\"?: string\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n className,\n variant,\n size,\n wrap,\n asChild = false,\n loading = false,\n render,\n disabled,\n children,\n onClickCapture,\n tabIndex,\n type,\n ...props\n },\n ref\n ) => {\n const isDisabled = Boolean(disabled || loading)\n const slotted = asChild || Boolean(render)\n const Comp = slotted ? Slot : \"button\"\n const content = render\n ? React.cloneElement(\n render as React.ReactElement<{ children?: React.ReactNode }>,\n undefined,\n children ?? (render.props as { children?: React.ReactNode }).children\n )\n : children\n return (\n <Comp\n {...props}\n ref={ref}\n data-slot={props[\"data-slot\"] ?? \"button\"}\n className={cn(buttonVariants({ variant, size, wrap, className }))}\n type={type}\n disabled={isDisabled}\n aria-disabled={isDisabled || undefined}\n aria-busy={loading || props[\"aria-busy\"]}\n tabIndex={isDisabled && slotted ? -1 : tabIndex}\n {...(isDisabled\n ? {\n onClickCapture: (event: React.MouseEvent) => {\n event.preventDefault()\n event.stopPropagation()\n },\n }\n : onClickCapture\n ? { onClickCapture }\n : {})}\n >\n {content}\n </Comp>\n )\n }\n)\nButton.displayName = \"Button\"\n\nexport { Button, buttonVariants }\n","\"use client\"\n\nimport * as React from \"react\"\nimport useEmblaCarousel, {\n type UseEmblaCarouselType,\n} from \"embla-carousel-react\"\nimport { ArrowLeft, ArrowRight } from \"lucide-react\"\n\nimport { cn } from \"@/lib/utils\"\nimport { Button } from \"@/components/ui/button\"\n\ntype CarouselApi = UseEmblaCarouselType[1]\ntype UseCarouselParameters = Parameters<typeof useEmblaCarousel>\ntype CarouselOptions = UseCarouselParameters[0]\ntype CarouselPlugin = UseCarouselParameters[1]\n\ntype CarouselProps = {\n opts?: CarouselOptions\n plugins?: CarouselPlugin\n orientation?: \"horizontal\" | \"vertical\"\n setApi?: (api: CarouselApi) => void\n}\n\ntype CarouselContextProps = {\n carouselRef: ReturnType<typeof useEmblaCarousel>[0]\n api: ReturnType<typeof useEmblaCarousel>[1]\n scrollPrev: () => void\n scrollNext: () => void\n canScrollPrev: boolean\n canScrollNext: boolean\n} & CarouselProps\n\nconst CarouselContext = React.createContext<CarouselContextProps | null>(null)\n\nfunction useCarousel() {\n const context = React.useContext(CarouselContext)\n\n if (!context) {\n throw new Error(\"useCarousel must be used within a <Carousel />\")\n }\n\n return context\n}\n\nconst Carousel = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & CarouselProps\n>(\n (\n {\n orientation = \"horizontal\",\n opts,\n setApi,\n plugins,\n className,\n children,\n ...props\n },\n ref\n ) => {\n const [carouselRef, api] = useEmblaCarousel(\n {\n ...opts,\n axis: orientation === \"horizontal\" ? \"x\" : \"y\",\n },\n plugins\n )\n const [canScrollPrev, setCanScrollPrev] = React.useState(false)\n const [canScrollNext, setCanScrollNext] = React.useState(false)\n\n const onSelect = React.useCallback((api: CarouselApi) => {\n if (!api) {\n return\n }\n\n setCanScrollPrev(api.canScrollPrev())\n setCanScrollNext(api.canScrollNext())\n }, [])\n\n const scrollPrev = React.useCallback(() => {\n api?.scrollPrev()\n }, [api])\n\n const scrollNext = React.useCallback(() => {\n api?.scrollNext()\n }, [api])\n\n const handleKeyDown = React.useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.key === \"ArrowLeft\") {\n event.preventDefault()\n scrollPrev()\n } else if (event.key === \"ArrowRight\") {\n event.preventDefault()\n scrollNext()\n }\n },\n [scrollPrev, scrollNext]\n )\n\n React.useEffect(() => {\n if (!api || !setApi) {\n return\n }\n\n setApi(api)\n }, [api, setApi])\n\n React.useEffect(() => {\n if (!api) {\n return\n }\n\n onSelect(api)\n api.on(\"reInit\", onSelect)\n api.on(\"select\", onSelect)\n\n return () => {\n api?.off(\"select\", onSelect)\n }\n }, [api, onSelect])\n\n return (\n <CarouselContext.Provider\n value={{\n carouselRef,\n api: api,\n opts,\n orientation:\n orientation || (opts?.axis === \"y\" ? \"vertical\" : \"horizontal\"),\n scrollPrev,\n scrollNext,\n canScrollPrev,\n canScrollNext,\n }}\n >\n <div\n ref={ref}\n onKeyDownCapture={handleKeyDown}\n className={cn(\"relative\", className)}\n role=\"region\"\n aria-roledescription=\"carousel\"\n {...props}\n >\n {children}\n </div>\n </CarouselContext.Provider>\n )\n }\n)\nCarousel.displayName = \"Carousel\"\n\nconst CarouselContent = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => {\n const { carouselRef, orientation } = useCarousel()\n\n return (\n <div ref={carouselRef} className=\"overflow-hidden\">\n <div\n ref={ref}\n className={cn(\n \"flex\",\n orientation === \"horizontal\" ? \"-ml-4\" : \"-mt-4 flex-col\",\n className\n )}\n {...props}\n />\n </div>\n )\n})\nCarouselContent.displayName = \"CarouselContent\"\n\nconst CarouselItem = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => {\n const { orientation } = useCarousel()\n\n return (\n <div\n ref={ref}\n role=\"group\"\n aria-roledescription=\"slide\"\n className={cn(\n \"min-w-0 shrink-0 grow-0 basis-full\",\n orientation === \"horizontal\" ? \"pl-4\" : \"pt-4\",\n className\n )}\n {...props}\n />\n )\n})\nCarouselItem.displayName = \"CarouselItem\"\n\nconst CarouselPrevious = React.forwardRef<\n HTMLButtonElement,\n React.ComponentProps<typeof Button>\n>(({ className, variant = \"outline\", size = \"icon\", ...props }, ref) => {\n const { orientation, scrollPrev, canScrollPrev } = useCarousel()\n\n return (\n <Button\n ref={ref}\n variant={variant}\n size={size}\n className={cn(\n \"absolute h-8 w-8 rounded-full\",\n orientation === \"horizontal\"\n ? \"-left-12 top-1/2 -translate-y-1/2\"\n : \"-top-12 left-1/2 -translate-x-1/2 rotate-90\",\n className\n )}\n disabled={!canScrollPrev}\n onClick={scrollPrev}\n {...props}\n >\n <ArrowLeft className=\"h-4 w-4\" />\n <span className=\"sr-only\">Previous slide</span>\n </Button>\n )\n})\nCarouselPrevious.displayName = \"CarouselPrevious\"\n\nconst CarouselNext = React.forwardRef<\n HTMLButtonElement,\n React.ComponentProps<typeof Button>\n>(({ className, variant = \"outline\", size = \"icon\", ...props }, ref) => {\n const { orientation, scrollNext, canScrollNext } = useCarousel()\n\n return (\n <Button\n ref={ref}\n variant={variant}\n size={size}\n className={cn(\n \"absolute h-8 w-8 rounded-full\",\n orientation === \"horizontal\"\n ? \"-right-12 top-1/2 -translate-y-1/2\"\n : \"-bottom-12 left-1/2 -translate-x-1/2 rotate-90\",\n className\n )}\n disabled={!canScrollNext}\n onClick={scrollNext}\n {...props}\n >\n <ArrowRight className=\"h-4 w-4\" />\n <span className=\"sr-only\">Next slide</span>\n </Button>\n )\n})\nCarouselNext.displayName = \"CarouselNext\"\n\nexport {\n type CarouselApi,\n Carousel,\n CarouselContent,\n CarouselItem,\n CarouselPrevious,\n CarouselNext,\n}\n"]}
@@ -0,0 +1,18 @@
1
+ import * as React from "react";
2
+ import useEmblaCarousel, { type UseEmblaCarouselType } from "embla-carousel-react";
3
+ type CarouselApi = UseEmblaCarouselType[1];
4
+ type UseCarouselParameters = Parameters<typeof useEmblaCarousel>;
5
+ type CarouselOptions = UseCarouselParameters[0];
6
+ type CarouselPlugin = UseCarouselParameters[1];
7
+ type CarouselProps = {
8
+ opts?: CarouselOptions;
9
+ plugins?: CarouselPlugin;
10
+ orientation?: "horizontal" | "vertical";
11
+ setApi?: (api: CarouselApi) => void;
12
+ };
13
+ declare const Carousel: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & CarouselProps & React.RefAttributes<HTMLDivElement>>;
14
+ declare const CarouselContent: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
15
+ declare const CarouselItem: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
16
+ declare const CarouselPrevious: React.ForwardRefExoticComponent<Omit<import("./button.cjs").ButtonProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
17
+ declare const CarouselNext: React.ForwardRefExoticComponent<Omit<import("./button.cjs").ButtonProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
18
+ export { type CarouselApi, Carousel, CarouselContent, CarouselItem, CarouselPrevious, CarouselNext, };
@@ -0,0 +1,19 @@
1
+ import * as React from "react";
2
+ import useEmblaCarousel, { type UseEmblaCarouselType } from "embla-carousel-react";
3
+ type CarouselApi = UseEmblaCarouselType[1];
4
+ type UseCarouselParameters = Parameters<typeof useEmblaCarousel>;
5
+ type CarouselOptions = UseCarouselParameters[0];
6
+ type CarouselPlugin = UseCarouselParameters[1];
7
+ type CarouselProps = {
8
+ opts?: CarouselOptions;
9
+ plugins?: CarouselPlugin;
10
+ orientation?: "horizontal" | "vertical";
11
+ setApi?: (api: CarouselApi) => void;
12
+ };
13
+ declare const Carousel: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & CarouselProps & React.RefAttributes<HTMLDivElement>>;
14
+ declare const CarouselContent: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
15
+ declare const CarouselItem: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
16
+ declare const CarouselPrevious: React.ForwardRefExoticComponent<Omit<import("./button.js").ButtonProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
17
+ declare const CarouselNext: React.ForwardRefExoticComponent<Omit<import("./button.js").ButtonProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
18
+ export { type CarouselApi, Carousel, CarouselContent, CarouselItem, CarouselPrevious, CarouselNext, };
19
+ //# sourceMappingURL=carousel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"carousel.d.ts","sourceRoot":"","sources":["../../../src/components/ui/carousel.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,gBAAgB,EAAE,EACvB,KAAK,oBAAoB,EAC1B,MAAM,sBAAsB,CAAA;AAM7B,KAAK,WAAW,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAA;AAC1C,KAAK,qBAAqB,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAChE,KAAK,eAAe,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAA;AAC/C,KAAK,cAAc,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAA;AAE9C,KAAK,aAAa,GAAG;IACnB,IAAI,CAAC,EAAE,eAAe,CAAA;IACtB,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAA;IACvC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,IAAI,CAAA;CACpC,CAAA;AAuBD,QAAA,MAAM,QAAQ,6HAyGb,CAAA;AAGD,QAAA,MAAM,eAAe,6GAmBnB,CAAA;AAGF,QAAA,MAAM,YAAY,6GAmBhB,CAAA;AAGF,QAAA,MAAM,gBAAgB,8KA0BpB,CAAA;AAGF,QAAA,MAAM,YAAY,8KA0BhB,CAAA;AAGF,OAAO,EACL,KAAK,WAAW,EAChB,QAAQ,EACR,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,YAAY,GACb,CAAA"}
@@ -0,0 +1,283 @@
1
+ import * as React2 from 'react';
2
+ import useEmblaCarousel from 'embla-carousel-react';
3
+ import { ArrowLeft, ArrowRight } from 'lucide-react';
4
+ import { clsx } from 'clsx';
5
+ import { twMerge } from 'tailwind-merge';
6
+ import { Slot } from '@radix-ui/react-slot';
7
+ import { cva } from 'class-variance-authority';
8
+ import { jsx, jsxs } from 'react/jsx-runtime';
9
+
10
+ function cn(...inputs) {
11
+ return twMerge(clsx(inputs));
12
+ }
13
+ var buttonVariants = cva(
14
+ "ui-button ui-focus inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium select-none [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
15
+ {
16
+ variants: {
17
+ variant: {
18
+ default: "bg-primary text-primary-foreground shadow-surface hover:bg-primary-hover",
19
+ primary: "bg-primary text-primary-foreground shadow-surface hover:bg-primary-hover",
20
+ destructive: "bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",
21
+ outline: "border border-input bg-surface shadow-surface hover:bg-accent hover:text-accent-foreground",
22
+ secondary: "bg-secondary text-secondary-foreground shadow-surface hover:bg-surface-interactive",
23
+ accent: "bg-accent-muted text-accent-foreground hover:bg-accent shadow-surface",
24
+ subtle: "bg-accent text-accent-foreground hover:bg-accent-muted",
25
+ inverse: "bg-foreground text-background shadow-sm hover:bg-foreground/90",
26
+ ghost: "hover:bg-accent hover:text-accent-foreground",
27
+ navigation: "hover:bg-accent hover:text-accent-foreground",
28
+ link: "text-primary underline-offset-4 hover:underline"
29
+ },
30
+ size: {
31
+ default: "h-[var(--control-height)] px-4 py-2",
32
+ compact: "h-8 px-3 text-xs",
33
+ sm: "h-8 rounded-md px-3 text-xs",
34
+ lg: "h-12 rounded-md px-6",
35
+ xs: "h-7 rounded px-2 text-xs",
36
+ icon: "size-[var(--control-height)]",
37
+ "icon-xs": "h-7 w-7",
38
+ "icon-lg": "size-12"
39
+ },
40
+ wrap: {
41
+ true: "whitespace-normal text-wrap",
42
+ false: "whitespace-nowrap"
43
+ }
44
+ },
45
+ defaultVariants: {
46
+ variant: "default",
47
+ size: "default"
48
+ }
49
+ }
50
+ );
51
+ var Button = React2.forwardRef(
52
+ ({
53
+ className,
54
+ variant,
55
+ size,
56
+ wrap,
57
+ asChild = false,
58
+ loading = false,
59
+ render,
60
+ disabled,
61
+ children,
62
+ onClickCapture,
63
+ tabIndex,
64
+ type,
65
+ ...props
66
+ }, ref) => {
67
+ const isDisabled = Boolean(disabled || loading);
68
+ const slotted = asChild || Boolean(render);
69
+ const Comp = slotted ? Slot : "button";
70
+ const content = render ? React2.cloneElement(
71
+ render,
72
+ void 0,
73
+ children ?? render.props.children
74
+ ) : children;
75
+ return /* @__PURE__ */ jsx(
76
+ Comp,
77
+ {
78
+ ...props,
79
+ ref,
80
+ "data-slot": props["data-slot"] ?? "button",
81
+ className: cn(buttonVariants({ variant, size, wrap, className })),
82
+ type,
83
+ disabled: isDisabled,
84
+ "aria-disabled": isDisabled || void 0,
85
+ "aria-busy": loading || props["aria-busy"],
86
+ tabIndex: isDisabled && slotted ? -1 : tabIndex,
87
+ ...isDisabled ? {
88
+ onClickCapture: (event) => {
89
+ event.preventDefault();
90
+ event.stopPropagation();
91
+ }
92
+ } : onClickCapture ? { onClickCapture } : {},
93
+ children: content
94
+ }
95
+ );
96
+ }
97
+ );
98
+ Button.displayName = "Button";
99
+ var CarouselContext = React2.createContext(null);
100
+ function useCarousel() {
101
+ const context = React2.useContext(CarouselContext);
102
+ if (!context) {
103
+ throw new Error("useCarousel must be used within a <Carousel />");
104
+ }
105
+ return context;
106
+ }
107
+ var Carousel = React2.forwardRef(
108
+ ({
109
+ orientation = "horizontal",
110
+ opts,
111
+ setApi,
112
+ plugins,
113
+ className,
114
+ children,
115
+ ...props
116
+ }, ref) => {
117
+ const [carouselRef, api] = useEmblaCarousel(
118
+ {
119
+ ...opts,
120
+ axis: orientation === "horizontal" ? "x" : "y"
121
+ },
122
+ plugins
123
+ );
124
+ const [canScrollPrev, setCanScrollPrev] = React2.useState(false);
125
+ const [canScrollNext, setCanScrollNext] = React2.useState(false);
126
+ const onSelect = React2.useCallback((api2) => {
127
+ if (!api2) {
128
+ return;
129
+ }
130
+ setCanScrollPrev(api2.canScrollPrev());
131
+ setCanScrollNext(api2.canScrollNext());
132
+ }, []);
133
+ const scrollPrev = React2.useCallback(() => {
134
+ api?.scrollPrev();
135
+ }, [api]);
136
+ const scrollNext = React2.useCallback(() => {
137
+ api?.scrollNext();
138
+ }, [api]);
139
+ const handleKeyDown = React2.useCallback(
140
+ (event) => {
141
+ if (event.key === "ArrowLeft") {
142
+ event.preventDefault();
143
+ scrollPrev();
144
+ } else if (event.key === "ArrowRight") {
145
+ event.preventDefault();
146
+ scrollNext();
147
+ }
148
+ },
149
+ [scrollPrev, scrollNext]
150
+ );
151
+ React2.useEffect(() => {
152
+ if (!api || !setApi) {
153
+ return;
154
+ }
155
+ setApi(api);
156
+ }, [api, setApi]);
157
+ React2.useEffect(() => {
158
+ if (!api) {
159
+ return;
160
+ }
161
+ onSelect(api);
162
+ api.on("reInit", onSelect);
163
+ api.on("select", onSelect);
164
+ return () => {
165
+ api?.off("select", onSelect);
166
+ };
167
+ }, [api, onSelect]);
168
+ return /* @__PURE__ */ jsx(
169
+ CarouselContext.Provider,
170
+ {
171
+ value: {
172
+ carouselRef,
173
+ api,
174
+ opts,
175
+ orientation: orientation || (opts?.axis === "y" ? "vertical" : "horizontal"),
176
+ scrollPrev,
177
+ scrollNext,
178
+ canScrollPrev,
179
+ canScrollNext
180
+ },
181
+ children: /* @__PURE__ */ jsx(
182
+ "div",
183
+ {
184
+ ref,
185
+ onKeyDownCapture: handleKeyDown,
186
+ className: cn("relative", className),
187
+ role: "region",
188
+ "aria-roledescription": "carousel",
189
+ ...props,
190
+ children
191
+ }
192
+ )
193
+ }
194
+ );
195
+ }
196
+ );
197
+ Carousel.displayName = "Carousel";
198
+ var CarouselContent = React2.forwardRef(({ className, ...props }, ref) => {
199
+ const { carouselRef, orientation } = useCarousel();
200
+ return /* @__PURE__ */ jsx("div", { ref: carouselRef, className: "overflow-hidden", children: /* @__PURE__ */ jsx(
201
+ "div",
202
+ {
203
+ ref,
204
+ className: cn(
205
+ "flex",
206
+ orientation === "horizontal" ? "-ml-4" : "-mt-4 flex-col",
207
+ className
208
+ ),
209
+ ...props
210
+ }
211
+ ) });
212
+ });
213
+ CarouselContent.displayName = "CarouselContent";
214
+ var CarouselItem = React2.forwardRef(({ className, ...props }, ref) => {
215
+ const { orientation } = useCarousel();
216
+ return /* @__PURE__ */ jsx(
217
+ "div",
218
+ {
219
+ ref,
220
+ role: "group",
221
+ "aria-roledescription": "slide",
222
+ className: cn(
223
+ "min-w-0 shrink-0 grow-0 basis-full",
224
+ orientation === "horizontal" ? "pl-4" : "pt-4",
225
+ className
226
+ ),
227
+ ...props
228
+ }
229
+ );
230
+ });
231
+ CarouselItem.displayName = "CarouselItem";
232
+ var CarouselPrevious = React2.forwardRef(({ className, variant = "outline", size = "icon", ...props }, ref) => {
233
+ const { orientation, scrollPrev, canScrollPrev } = useCarousel();
234
+ return /* @__PURE__ */ jsxs(
235
+ Button,
236
+ {
237
+ ref,
238
+ variant,
239
+ size,
240
+ className: cn(
241
+ "absolute h-8 w-8 rounded-full",
242
+ orientation === "horizontal" ? "-left-12 top-1/2 -translate-y-1/2" : "-top-12 left-1/2 -translate-x-1/2 rotate-90",
243
+ className
244
+ ),
245
+ disabled: !canScrollPrev,
246
+ onClick: scrollPrev,
247
+ ...props,
248
+ children: [
249
+ /* @__PURE__ */ jsx(ArrowLeft, { className: "h-4 w-4" }),
250
+ /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Previous slide" })
251
+ ]
252
+ }
253
+ );
254
+ });
255
+ CarouselPrevious.displayName = "CarouselPrevious";
256
+ var CarouselNext = React2.forwardRef(({ className, variant = "outline", size = "icon", ...props }, ref) => {
257
+ const { orientation, scrollNext, canScrollNext } = useCarousel();
258
+ return /* @__PURE__ */ jsxs(
259
+ Button,
260
+ {
261
+ ref,
262
+ variant,
263
+ size,
264
+ className: cn(
265
+ "absolute h-8 w-8 rounded-full",
266
+ orientation === "horizontal" ? "-right-12 top-1/2 -translate-y-1/2" : "-bottom-12 left-1/2 -translate-x-1/2 rotate-90",
267
+ className
268
+ ),
269
+ disabled: !canScrollNext,
270
+ onClick: scrollNext,
271
+ ...props,
272
+ children: [
273
+ /* @__PURE__ */ jsx(ArrowRight, { className: "h-4 w-4" }),
274
+ /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Next slide" })
275
+ ]
276
+ }
277
+ );
278
+ });
279
+ CarouselNext.displayName = "CarouselNext";
280
+
281
+ export { Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious };
282
+ //# sourceMappingURL=carousel.js.map
283
+ //# sourceMappingURL=carousel.js.map