react-shadcn-kit 0.1.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (334) hide show
  1. package/README.md +59 -75
  2. package/dist/assets/global.css +1 -1
  3. package/dist/components/composites/action-button.d.ts +16 -0
  4. package/dist/components/composites/action-button.js +71 -0
  5. package/dist/components/composites/action-button.js.map +1 -0
  6. package/dist/components/composites/index.d.ts +8 -0
  7. package/dist/components/composites/sidebar-wrapper.d.ts +27 -0
  8. package/dist/components/composites/sidebar-wrapper.js +21 -0
  9. package/dist/components/composites/sidebar-wrapper.js.map +1 -0
  10. package/dist/{molecules → components/composites}/theme-toggle.js +3 -3
  11. package/dist/components/composites/theme-toggle.js.map +1 -0
  12. package/dist/{molecules → components/composites}/user-menu.js +4 -4
  13. package/dist/components/composites/user-menu.js.map +1 -0
  14. package/dist/components/marketing/hero.d.ts +12 -0
  15. package/dist/components/marketing/hero.js +87 -0
  16. package/dist/components/marketing/hero.js.map +1 -0
  17. package/dist/components/marketing/index.d.ts +6 -0
  18. package/dist/components/marketing/social-proof.d.ts +10 -0
  19. package/dist/components/marketing/social-proof.js +21 -0
  20. package/dist/components/marketing/social-proof.js.map +1 -0
  21. package/dist/components/marketing/value-props.d.ts +14 -0
  22. package/dist/components/marketing/value-props.js +25 -0
  23. package/dist/components/marketing/value-props.js.map +1 -0
  24. package/dist/{atoms → components/primitives}/accordion.js +1 -1
  25. package/dist/components/primitives/accordion.js.map +1 -0
  26. package/dist/{atoms → components/primitives}/alert-dialog.js +2 -2
  27. package/dist/components/primitives/alert-dialog.js.map +1 -0
  28. package/dist/{atoms → components/primitives}/alert.js +1 -1
  29. package/dist/components/primitives/alert.js.map +1 -0
  30. package/dist/components/primitives/aspect-ratio.js.map +1 -0
  31. package/dist/{atoms → components/primitives}/avatar.js +1 -1
  32. package/dist/components/primitives/avatar.js.map +1 -0
  33. package/dist/components/primitives/badge-variants.d.ts +3 -0
  34. package/dist/{atoms/badge.js → components/primitives/badge-variants.js} +7 -19
  35. package/dist/components/primitives/badge-variants.js.map +1 -0
  36. package/dist/components/primitives/badge.d.ts +9 -0
  37. package/dist/components/primitives/badge.js +21 -0
  38. package/dist/components/primitives/badge.js.map +1 -0
  39. package/dist/{atoms → components/primitives}/breadcrumb.js +1 -1
  40. package/dist/components/primitives/breadcrumb.js.map +1 -0
  41. package/dist/components/primitives/button-group-variants.d.ts +3 -0
  42. package/dist/components/primitives/button-group-variants.js +19 -0
  43. package/dist/components/primitives/button-group-variants.js.map +1 -0
  44. package/dist/components/primitives/button-group.d.ts +13 -0
  45. package/dist/components/primitives/button-group.js +52 -0
  46. package/dist/components/primitives/button-group.js.map +1 -0
  47. package/dist/components/primitives/button-variants.d.ts +4 -0
  48. package/dist/{atoms/button.js → components/primitives/button-variants.js} +8 -28
  49. package/dist/components/primitives/button-variants.js.map +1 -0
  50. package/dist/components/primitives/button.d.ts +9 -0
  51. package/dist/components/primitives/button.js +21 -0
  52. package/dist/components/primitives/button.js.map +1 -0
  53. package/dist/{atoms → components/primitives}/calendar.d.ts +1 -1
  54. package/dist/{atoms → components/primitives}/calendar.js +5 -4
  55. package/dist/components/primitives/calendar.js.map +1 -0
  56. package/dist/{atoms → components/primitives}/card.js +1 -1
  57. package/dist/components/primitives/card.js.map +1 -0
  58. package/dist/{atoms → components/primitives}/carousel.d.ts +1 -1
  59. package/dist/{atoms → components/primitives}/carousel.js +1 -1
  60. package/dist/components/primitives/carousel.js.map +1 -0
  61. package/dist/{atoms → components/primitives}/chart.js +1 -1
  62. package/dist/components/primitives/chart.js.map +1 -0
  63. package/dist/{atoms → components/primitives}/checkbox.js +1 -1
  64. package/dist/components/primitives/checkbox.js.map +1 -0
  65. package/dist/components/primitives/collapsible.js.map +1 -0
  66. package/dist/{atoms → components/primitives}/command.d.ts +1 -1
  67. package/dist/{atoms → components/primitives}/command.js +1 -1
  68. package/dist/components/primitives/command.js.map +1 -0
  69. package/dist/{atoms → components/primitives}/context-menu.js +1 -1
  70. package/dist/components/primitives/context-menu.js.map +1 -0
  71. package/dist/components/primitives/custom-button-variants.d.ts +5 -0
  72. package/dist/components/primitives/custom-button-variants.js +38 -0
  73. package/dist/components/primitives/custom-button-variants.js.map +1 -0
  74. package/dist/components/primitives/custom-button.d.ts +22 -0
  75. package/dist/components/primitives/custom-button.js +64 -0
  76. package/dist/components/primitives/custom-button.js.map +1 -0
  77. package/dist/{atoms → components/primitives}/dialog.js +8 -8
  78. package/dist/components/primitives/dialog.js.map +1 -0
  79. package/dist/{atoms → components/primitives}/drawer.js +1 -1
  80. package/dist/components/primitives/drawer.js.map +1 -0
  81. package/dist/{atoms → components/primitives}/dropdown-menu.js +1 -1
  82. package/dist/components/primitives/dropdown-menu.js.map +1 -0
  83. package/dist/{atoms → components/primitives}/empty.js +1 -1
  84. package/dist/components/primitives/empty.js.map +1 -0
  85. package/dist/{atoms → components/primitives}/field.d.ts +1 -1
  86. package/dist/{atoms → components/primitives}/field.js +1 -1
  87. package/dist/components/primitives/field.js.map +1 -0
  88. package/dist/components/primitives/form-context.d.ts +23 -0
  89. package/dist/components/primitives/form-context.js +26 -0
  90. package/dist/components/primitives/form-context.js.map +1 -0
  91. package/dist/components/primitives/form.d.ts +11 -0
  92. package/dist/components/primitives/form.js +85 -0
  93. package/dist/components/primitives/form.js.map +1 -0
  94. package/dist/{atoms → components/primitives}/hover-card.js +1 -1
  95. package/dist/components/primitives/hover-card.js.map +1 -0
  96. package/dist/components/primitives/index.d.ts +116 -0
  97. package/dist/{atoms → components/primitives}/input-group.d.ts +2 -2
  98. package/dist/{atoms → components/primitives}/input-group.js +1 -1
  99. package/dist/components/primitives/input-group.js.map +1 -0
  100. package/dist/{atoms → components/primitives}/input-otp.js +1 -1
  101. package/dist/components/primitives/input-otp.js.map +1 -0
  102. package/dist/{atoms → components/primitives}/input.js +1 -1
  103. package/dist/components/primitives/input.js.map +1 -0
  104. package/dist/{atoms → components/primitives}/item.d.ts +2 -2
  105. package/dist/{atoms → components/primitives}/item.js +1 -1
  106. package/dist/components/primitives/item.js.map +1 -0
  107. package/dist/{atoms → components/primitives}/kbd.js +1 -1
  108. package/dist/components/primitives/kbd.js.map +1 -0
  109. package/dist/{atoms → components/primitives}/label.js +1 -1
  110. package/dist/components/primitives/label.js.map +1 -0
  111. package/dist/components/primitives/loading-swap.d.ts +8 -0
  112. package/dist/components/primitives/loading-swap.js +25 -0
  113. package/dist/components/primitives/loading-swap.js.map +1 -0
  114. package/dist/{atoms → components/primitives}/menubar.js +1 -1
  115. package/dist/components/primitives/menubar.js.map +1 -0
  116. package/dist/components/primitives/navigation-menu-variants.d.ts +1 -0
  117. package/dist/components/primitives/navigation-menu-variants.js +8 -0
  118. package/dist/components/primitives/navigation-menu-variants.js.map +1 -0
  119. package/dist/components/primitives/navigation-menu.d.ts +13 -0
  120. package/dist/components/primitives/navigation-menu.js +102 -0
  121. package/dist/components/primitives/navigation-menu.js.map +1 -0
  122. package/dist/{atoms → components/primitives}/pagination.d.ts +1 -1
  123. package/dist/{atoms → components/primitives}/pagination.js +2 -2
  124. package/dist/components/primitives/pagination.js.map +1 -0
  125. package/dist/{atoms → components/primitives}/popover.js +1 -1
  126. package/dist/components/primitives/popover.js.map +1 -0
  127. package/dist/{atoms → components/primitives}/progress.js +1 -1
  128. package/dist/components/primitives/progress.js.map +1 -0
  129. package/dist/{atoms → components/primitives}/radio-group.js +1 -1
  130. package/dist/components/primitives/radio-group.js.map +1 -0
  131. package/dist/{atoms → components/primitives}/resizable.js +1 -1
  132. package/dist/components/primitives/resizable.js.map +1 -0
  133. package/dist/{atoms → components/primitives}/scroll-area.js +1 -1
  134. package/dist/components/primitives/scroll-area.js.map +1 -0
  135. package/dist/{atoms → components/primitives}/select.js +1 -1
  136. package/dist/components/primitives/select.js.map +1 -0
  137. package/dist/{atoms → components/primitives}/separator.js +1 -1
  138. package/dist/components/primitives/separator.js.map +1 -0
  139. package/dist/{atoms → components/primitives}/sheet.js +5 -5
  140. package/dist/components/primitives/sheet.js.map +1 -0
  141. package/dist/components/primitives/sidebar-context.d.ts +12 -0
  142. package/dist/components/primitives/sidebar-context.js +13 -0
  143. package/dist/components/primitives/sidebar-context.js.map +1 -0
  144. package/dist/components/primitives/sidebar-variants.d.ts +4 -0
  145. package/dist/components/primitives/sidebar-variants.js +25 -0
  146. package/dist/components/primitives/sidebar-variants.js.map +1 -0
  147. package/dist/components/primitives/sidebar.d.ts +56 -0
  148. package/dist/components/primitives/sidebar.js +542 -0
  149. package/dist/components/primitives/sidebar.js.map +1 -0
  150. package/dist/{atoms → components/primitives}/skeleton.js +1 -1
  151. package/dist/components/primitives/skeleton.js.map +1 -0
  152. package/dist/{atoms → components/primitives}/slider.js +1 -1
  153. package/dist/components/primitives/slider.js.map +1 -0
  154. package/dist/components/primitives/sonner.js.map +1 -0
  155. package/dist/{atoms → components/primitives}/spinner.js +1 -1
  156. package/dist/components/primitives/spinner.js.map +1 -0
  157. package/dist/{atoms → components/primitives}/switch.js +1 -1
  158. package/dist/components/primitives/switch.js.map +1 -0
  159. package/dist/{atoms → components/primitives}/table.js +1 -1
  160. package/dist/components/primitives/table.js.map +1 -0
  161. package/dist/{atoms → components/primitives}/tabs.js +1 -1
  162. package/dist/components/primitives/tabs.js.map +1 -0
  163. package/dist/{atoms → components/primitives}/textarea.js +1 -1
  164. package/dist/components/primitives/textarea.js.map +1 -0
  165. package/dist/components/primitives/theme-provider.js.map +1 -0
  166. package/dist/{atoms → components/primitives}/toggle-group.d.ts +1 -1
  167. package/dist/{atoms → components/primitives}/toggle-group.js +2 -2
  168. package/dist/components/primitives/toggle-group.js.map +1 -0
  169. package/dist/components/primitives/toggle-variants.d.ts +4 -0
  170. package/dist/{atoms/toggle.js → components/primitives/toggle-variants.js} +5 -24
  171. package/dist/components/primitives/toggle-variants.js.map +1 -0
  172. package/dist/components/primitives/toggle.d.ts +9 -0
  173. package/dist/components/primitives/toggle.js +21 -0
  174. package/dist/components/primitives/toggle.js.map +1 -0
  175. package/dist/{atoms → components/primitives}/tooltip.js +1 -1
  176. package/dist/components/primitives/tooltip.js.map +1 -0
  177. package/dist/composites/index.js +11 -0
  178. package/dist/{organisms → composites}/index.js.map +1 -1
  179. package/dist/hooks/index.d.ts +7 -0
  180. package/dist/hooks/index.js +8 -2
  181. package/dist/hooks/index.js.map +1 -1
  182. package/dist/hooks/use-aria-live.d.ts +22 -0
  183. package/dist/hooks/use-aria-live.js +18 -0
  184. package/dist/hooks/use-aria-live.js.map +1 -0
  185. package/dist/hooks/use-focus-visible.d.ts +15 -0
  186. package/dist/hooks/use-focus-visible.js +16 -0
  187. package/dist/hooks/use-focus-visible.js.map +1 -0
  188. package/dist/hooks/use-screen-reader-only.d.ts +14 -0
  189. package/dist/hooks/use-screen-reader-only.js +10 -0
  190. package/dist/hooks/use-screen-reader-only.js.map +1 -0
  191. package/dist/index.d.ts +10 -58
  192. package/dist/index.js +371 -344
  193. package/dist/index.js.map +1 -1
  194. package/dist/lib/index.d.ts +3 -0
  195. package/dist/lib/index.js +8 -2
  196. package/dist/lib/index.js.map +1 -1
  197. package/dist/lib/utils-enhanced.d.ts +27 -0
  198. package/dist/lib/utils-enhanced.js +28 -0
  199. package/dist/lib/utils-enhanced.js.map +1 -0
  200. package/dist/lib/utils-enhanced.test.d.ts +1 -0
  201. package/dist/marketing/index.js +9 -0
  202. package/dist/primitives/index.js +345 -0
  203. package/dist/{atoms → primitives}/index.js.map +1 -1
  204. package/package.json +18 -26
  205. package/dist/atoms/accordion.js.map +0 -1
  206. package/dist/atoms/alert-dialog.js.map +0 -1
  207. package/dist/atoms/alert.js.map +0 -1
  208. package/dist/atoms/aspect-ratio.js.map +0 -1
  209. package/dist/atoms/avatar.js.map +0 -1
  210. package/dist/atoms/badge.d.ts +0 -9
  211. package/dist/atoms/badge.js.map +0 -1
  212. package/dist/atoms/breadcrumb.js.map +0 -1
  213. package/dist/atoms/button-group.d.ts +0 -11
  214. package/dist/atoms/button-group.js +0 -76
  215. package/dist/atoms/button-group.js.map +0 -1
  216. package/dist/atoms/button.d.ts +0 -10
  217. package/dist/atoms/button.js.map +0 -1
  218. package/dist/atoms/calendar.js.map +0 -1
  219. package/dist/atoms/card.js.map +0 -1
  220. package/dist/atoms/carousel.js.map +0 -1
  221. package/dist/atoms/chart.js.map +0 -1
  222. package/dist/atoms/checkbox.js.map +0 -1
  223. package/dist/atoms/collapsible.js.map +0 -1
  224. package/dist/atoms/command.js.map +0 -1
  225. package/dist/atoms/context-menu.js.map +0 -1
  226. package/dist/atoms/dialog.js.map +0 -1
  227. package/dist/atoms/drawer.js.map +0 -1
  228. package/dist/atoms/dropdown-menu.js.map +0 -1
  229. package/dist/atoms/empty.js.map +0 -1
  230. package/dist/atoms/field.js.map +0 -1
  231. package/dist/atoms/form.d.ts +0 -24
  232. package/dist/atoms/form.js +0 -88
  233. package/dist/atoms/form.js.map +0 -1
  234. package/dist/atoms/hover-card.js.map +0 -1
  235. package/dist/atoms/index.d.ts +0 -54
  236. package/dist/atoms/index.js +0 -342
  237. package/dist/atoms/input-group.js.map +0 -1
  238. package/dist/atoms/input-otp.js.map +0 -1
  239. package/dist/atoms/input.js.map +0 -1
  240. package/dist/atoms/item.js.map +0 -1
  241. package/dist/atoms/kbd.js.map +0 -1
  242. package/dist/atoms/label.js.map +0 -1
  243. package/dist/atoms/menubar.js.map +0 -1
  244. package/dist/atoms/navigation-menu.d.ts +0 -14
  245. package/dist/atoms/navigation-menu.js +0 -160
  246. package/dist/atoms/navigation-menu.js.map +0 -1
  247. package/dist/atoms/pagination.js.map +0 -1
  248. package/dist/atoms/popover.js.map +0 -1
  249. package/dist/atoms/progress.js.map +0 -1
  250. package/dist/atoms/radio-group.js.map +0 -1
  251. package/dist/atoms/resizable.js.map +0 -1
  252. package/dist/atoms/scroll-area.js.map +0 -1
  253. package/dist/atoms/select.js.map +0 -1
  254. package/dist/atoms/separator.js.map +0 -1
  255. package/dist/atoms/sheet.js.map +0 -1
  256. package/dist/atoms/sidebar.d.ts +0 -70
  257. package/dist/atoms/sidebar.js +0 -573
  258. package/dist/atoms/sidebar.js.map +0 -1
  259. package/dist/atoms/skeleton.js.map +0 -1
  260. package/dist/atoms/slider.js.map +0 -1
  261. package/dist/atoms/sonner.js.map +0 -1
  262. package/dist/atoms/spinner.js.map +0 -1
  263. package/dist/atoms/switch.js.map +0 -1
  264. package/dist/atoms/table.js.map +0 -1
  265. package/dist/atoms/tabs.js.map +0 -1
  266. package/dist/atoms/textarea.js.map +0 -1
  267. package/dist/atoms/theme-provider.js.map +0 -1
  268. package/dist/atoms/toggle-group.js.map +0 -1
  269. package/dist/atoms/toggle.d.ts +0 -9
  270. package/dist/atoms/toggle.js.map +0 -1
  271. package/dist/atoms/tooltip.js.map +0 -1
  272. package/dist/default-layout.js +0 -114
  273. package/dist/default-layout.js.map +0 -1
  274. package/dist/molecules/index.d.ts +0 -3
  275. package/dist/molecules/index.js +0 -9
  276. package/dist/molecules/sidebar-theme-toggle.d.ts +0 -5
  277. package/dist/molecules/sidebar-theme-toggle.js +0 -39
  278. package/dist/molecules/sidebar-theme-toggle.js.map +0 -1
  279. package/dist/molecules/theme-toggle.js.map +0 -1
  280. package/dist/molecules/user-menu.js.map +0 -1
  281. package/dist/organisms/app-navbar.d.ts +0 -73
  282. package/dist/organisms/app-navbar.js +0 -142
  283. package/dist/organisms/app-navbar.js.map +0 -1
  284. package/dist/organisms/app-sidebar.d.ts +0 -67
  285. package/dist/organisms/app-sidebar.js +0 -161
  286. package/dist/organisms/app-sidebar.js.map +0 -1
  287. package/dist/organisms/index.d.ts +0 -2
  288. package/dist/organisms/index.js +0 -7
  289. /package/dist/{molecules → components/composites}/theme-toggle.d.ts +0 -0
  290. /package/dist/{molecules → components/composites}/user-menu.d.ts +0 -0
  291. /package/dist/{atoms → components/primitives}/accordion.d.ts +0 -0
  292. /package/dist/{atoms → components/primitives}/alert-dialog.d.ts +0 -0
  293. /package/dist/{atoms → components/primitives}/alert.d.ts +0 -0
  294. /package/dist/{atoms → components/primitives}/aspect-ratio.d.ts +0 -0
  295. /package/dist/{atoms → components/primitives}/aspect-ratio.js +0 -0
  296. /package/dist/{atoms → components/primitives}/avatar.d.ts +0 -0
  297. /package/dist/{atoms → components/primitives}/breadcrumb.d.ts +0 -0
  298. /package/dist/{atoms → components/primitives}/card.d.ts +0 -0
  299. /package/dist/{atoms → components/primitives}/chart.d.ts +0 -0
  300. /package/dist/{atoms → components/primitives}/checkbox.d.ts +0 -0
  301. /package/dist/{atoms → components/primitives}/collapsible.d.ts +0 -0
  302. /package/dist/{atoms → components/primitives}/collapsible.js +0 -0
  303. /package/dist/{atoms → components/primitives}/context-menu.d.ts +0 -0
  304. /package/dist/{atoms → components/primitives}/dialog.d.ts +0 -0
  305. /package/dist/{atoms → components/primitives}/drawer.d.ts +0 -0
  306. /package/dist/{atoms → components/primitives}/dropdown-menu.d.ts +0 -0
  307. /package/dist/{atoms → components/primitives}/empty.d.ts +0 -0
  308. /package/dist/{atoms → components/primitives}/hover-card.d.ts +0 -0
  309. /package/dist/{atoms → components/primitives}/input-otp.d.ts +0 -0
  310. /package/dist/{atoms → components/primitives}/input.d.ts +0 -0
  311. /package/dist/{atoms → components/primitives}/kbd.d.ts +0 -0
  312. /package/dist/{atoms → components/primitives}/label.d.ts +0 -0
  313. /package/dist/{atoms → components/primitives}/menubar.d.ts +0 -0
  314. /package/dist/{atoms → components/primitives}/popover.d.ts +0 -0
  315. /package/dist/{atoms → components/primitives}/progress.d.ts +0 -0
  316. /package/dist/{atoms → components/primitives}/radio-group.d.ts +0 -0
  317. /package/dist/{atoms → components/primitives}/resizable.d.ts +0 -0
  318. /package/dist/{atoms → components/primitives}/scroll-area.d.ts +0 -0
  319. /package/dist/{atoms → components/primitives}/select.d.ts +0 -0
  320. /package/dist/{atoms → components/primitives}/separator.d.ts +0 -0
  321. /package/dist/{atoms → components/primitives}/sheet.d.ts +0 -0
  322. /package/dist/{atoms → components/primitives}/skeleton.d.ts +0 -0
  323. /package/dist/{atoms → components/primitives}/slider.d.ts +0 -0
  324. /package/dist/{atoms → components/primitives}/sonner.d.ts +0 -0
  325. /package/dist/{atoms → components/primitives}/sonner.js +0 -0
  326. /package/dist/{atoms → components/primitives}/spinner.d.ts +0 -0
  327. /package/dist/{atoms → components/primitives}/switch.d.ts +0 -0
  328. /package/dist/{atoms → components/primitives}/table.d.ts +0 -0
  329. /package/dist/{atoms → components/primitives}/tabs.d.ts +0 -0
  330. /package/dist/{atoms → components/primitives}/textarea.d.ts +0 -0
  331. /package/dist/{atoms → components/primitives}/theme-provider.d.ts +0 -0
  332. /package/dist/{atoms → components/primitives}/theme-provider.js +0 -0
  333. /package/dist/{atoms → components/primitives}/tooltip.d.ts +0 -0
  334. /package/dist/{molecules → marketing}/index.js.map +0 -0
@@ -0,0 +1,27 @@
1
+ import { Sidebar } from '../primitives/sidebar';
2
+ import * as React from "react";
3
+ export interface SidebarWrapperProps extends React.ComponentPropsWithoutRef<typeof Sidebar> {
4
+ /**
5
+ * Optional custom trigger component. If not provided, a default trigger button is rendered.
6
+ */
7
+ trigger?: React.ReactNode;
8
+ /**
9
+ * Children rendered inside the SidebarContent area.
10
+ */
11
+ children: React.ReactNode;
12
+ }
13
+ /**
14
+ * SidebarWrapper
15
+ *
16
+ * A composable wrapper around the shadcn/ui `Sidebar` components tailored for the
17
+ * `mcomposites` package. It provides a ready‑to‑use layout consisting of a
18
+ * `SidebarProvider`, a `Sidebar` with optional custom trigger, and a content
19
+ * area. The wrapper can be dropped into any page to instantly gain a fully
20
+ * functional, accessible sidebar.
21
+ *
22
+ * Example usage:
23
+ * ```tsx
24
+ * <SidebarWrapper trigger={<MyTrigger />}>...</SidebarWrapper>
25
+ * ```
26
+ */
27
+ export declare function SidebarWrapper({ trigger, children, className, ...sidebarProps }: SidebarWrapperProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,21 @@
1
+ import { jsxs as e, jsx as r } from "react/jsx-runtime";
2
+ import { SidebarProvider as o, Sidebar as t, SidebarHeader as b, SidebarContent as S, SidebarTrigger as p, SidebarInset as m } from "../primitives/sidebar.js";
3
+ function f({
4
+ trigger: i,
5
+ children: d,
6
+ className: a,
7
+ ...n
8
+ }) {
9
+ return /* @__PURE__ */ e(o, { children: [
10
+ /* @__PURE__ */ e(t, { className: a, ...n, children: [
11
+ /* @__PURE__ */ r(b, {}),
12
+ /* @__PURE__ */ r(S, { children: d }),
13
+ i ?? /* @__PURE__ */ r(p, {})
14
+ ] }),
15
+ /* @__PURE__ */ r(m, {})
16
+ ] });
17
+ }
18
+ export {
19
+ f as SidebarWrapper
20
+ };
21
+ //# sourceMappingURL=sidebar-wrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sidebar-wrapper.js","sources":["../../../src/components/composites/sidebar-wrapper.tsx"],"sourcesContent":["import * as React from \"react\";\nimport {\n Sidebar,\n SidebarHeader,\n SidebarContent,\n SidebarProvider,\n SidebarTrigger,\n SidebarInset,\n} from \"../primitives/sidebar\";\n\nexport interface SidebarWrapperProps extends React.ComponentPropsWithoutRef<typeof Sidebar> {\n /**\n * Optional custom trigger component. If not provided, a default trigger button is rendered.\n */\n trigger?: React.ReactNode;\n /**\n * Children rendered inside the SidebarContent area.\n */\n children: React.ReactNode;\n}\n\n/**\n * SidebarWrapper\n *\n * A composable wrapper around the shadcn/ui `Sidebar` components tailored for the\n * `mcomposites` package. It provides a ready‑to‑use layout consisting of a\n * `SidebarProvider`, a `Sidebar` with optional custom trigger, and a content\n * area. The wrapper can be dropped into any page to instantly gain a fully\n * functional, accessible sidebar.\n *\n * Example usage:\n * ```tsx\n * <SidebarWrapper trigger={<MyTrigger />}>...</SidebarWrapper>\n * ```\n */\nexport function SidebarWrapper({\n trigger,\n children,\n className,\n ...sidebarProps\n}: SidebarWrapperProps) {\n return (\n <SidebarProvider>\n <Sidebar className={className} {...sidebarProps}>\n {/* Header can be customized by the consumer via children or by extending this component */}\n <SidebarHeader />\n <SidebarContent>{children}</SidebarContent>\n {/* Optional trigger – falls back to the default button when omitted */}\n {trigger ?? <SidebarTrigger />}\n </Sidebar>\n {/* Inset provides the main content area next to the sidebar */}\n <SidebarInset />\n </SidebarProvider>\n );\n}\n"],"names":["jsxs","jsx","SidebarProvider","Sidebar","SidebarHeader","SidebarContent","SidebarTrigger","SidebarInset","SidebarWrapper","trigger","children","className","sidebarProps"],"mappings":"AAmCO,SAAA,QAAAA,GAAA,OAAAC,SAAA;AAAA,SAAA,mBAAAC,GAAA,WAAAC,GAAA,iBAAAC,GAAA,kBAAAC,GAAA,kBAAAC,GAAA,gBAAAC,SAAA;AAAA,SAASC,EAAe;AAAA,EAC7B,SAAAC;AAAA,EACA,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,GAAGC;AACL,GAAwB;AACtB,2BACGV,GAAA,EACC,UAAA;AAAA,IAAA,gBAAAF,EAACG,GAAA,EAAQ,WAAAQ,GAAuB,GAAGC,GAEjC,UAAA;AAAA,MAAA,gBAAAX,EAACG,GAAA,EAAc;AAAA,MACf,gBAAAH,EAACI,KAAgB,UAAAK,GAAS;AAAA,MAEzBD,uBAAYH,GAAA,CAAA,CAAe;AAAA,IAAA,GAC9B;AAAA,sBAECC,GAAA,CAAA,CAAa;AAAA,EAAA,GAChB;AAEJ;"}
@@ -1,9 +1,9 @@
1
1
  import { jsxs as o, jsx as e } from "react/jsx-runtime";
2
2
  import { Sun as m, Moon as c } from "lucide-react";
3
3
  import { useTheme as d } from "next-themes";
4
- import { Button as h } from "../atoms/button.js";
5
- import { DropdownMenu as p, DropdownMenuTrigger as u, DropdownMenuContent as k, DropdownMenuItem as n } from "../atoms/dropdown-menu.js";
6
- import { cn as f } from "../lib/utils.js";
4
+ import { Button as h } from "../primitives/button.js";
5
+ import { DropdownMenu as p, DropdownMenuTrigger as u, DropdownMenuContent as k, DropdownMenuItem as n } from "../primitives/dropdown-menu.js";
6
+ import { cn as f } from "../../lib/utils.js";
7
7
  function N({
8
8
  align: a = "end",
9
9
  side: l = "bottom",
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme-toggle.js","sources":["../../../src/components/composites/theme-toggle.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { Moon, Sun } from \"lucide-react\";\nimport { useTheme } from \"next-themes\";\n\nimport { Button } from \"../primitives/button\";\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n} from \"../primitives/dropdown-menu\";\nimport { cn } from \"@/lib/utils\";\n\nexport interface ThemeToggleProps {\n align?: \"center\" | \"start\" | \"end\";\n side?: \"top\" | \"right\" | \"bottom\" | \"left\";\n sideOffset?: number;\n className?: string;\n trigger?: React.ReactNode;\n}\n\nexport function ThemeToggle({\n align = \"end\",\n side = \"bottom\",\n sideOffset = 4,\n className,\n trigger,\n}: ThemeToggleProps) {\n const { setTheme } = useTheme();\n\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n {trigger ? (\n trigger\n ) : (\n <Button variant=\"ghost\" size=\"icon\" className={cn(\"h-9 w-9\", className)}>\n <Sun className=\"h-[1.2rem] w-[1.2rem] rotate-0 scale-100 transition-all dark:-rotate-90 dark:scale-0\" />\n <Moon className=\"absolute h-[1.2rem] w-[1.2rem] rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100\" />\n <span className=\"sr-only\">Toggle theme</span>\n </Button>\n )}\n </DropdownMenuTrigger>\n <DropdownMenuContent align={align} side={side} sideOffset={sideOffset}>\n <DropdownMenuItem onClick={() => setTheme(\"light\")}>Light</DropdownMenuItem>\n <DropdownMenuItem onClick={() => setTheme(\"dark\")}>Dark</DropdownMenuItem>\n <DropdownMenuItem onClick={() => setTheme(\"system\")}>System</DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n );\n}\n"],"names":["jsxs","jsx","Sun","Moon","useTheme","Button","DropdownMenu","DropdownMenuTrigger","DropdownMenuContent","DropdownMenuItem","cn","ThemeToggle","align","side","sideOffset","className","trigger","setTheme"],"mappings":"AAuBO,SAAA,QAAAA,GAAA,OAAAC,SAAA;AAAA,SAAA,OAAAC,GAAA,QAAAC,SAAA;AAAA,SAAA,YAAAC,SAAA;AAAA,SAAA,UAAAC,SAAA;AAAA,SAAA,gBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,oBAAAC,SAAA;AAAA,SAAA,MAAAC,SAAA;AAAA,SAASC,EAAY;AAAA,EAC1B,OAAAC,IAAQ;AAAA,EACR,MAAAC,IAAO;AAAA,EACP,YAAAC,IAAa;AAAA,EACb,WAAAC;AAAA,EACA,SAAAC;AACF,GAAqB;AACnB,QAAM,EAAE,UAAAC,EAAA,IAAab,EAAA;AAErB,2BACGE,GAAA,EACC,UAAA;AAAA,IAAA,gBAAAL,EAACM,GAAA,EAAoB,SAAO,IACzB,UAAAS,KAGC,gBAAAhB,EAACK,GAAA,EAAO,SAAQ,SAAQ,MAAK,QAAO,WAAWK,EAAG,WAAWK,CAAS,GACpE,UAAA;AAAA,MAAA,gBAAAd,EAACC,GAAA,EAAI,WAAU,uFAAA,CAAuF;AAAA,MACtG,gBAAAD,EAACE,GAAA,EAAK,WAAU,+FAAA,CAA+F;AAAA,MAC/G,gBAAAF,EAAC,QAAA,EAAK,WAAU,WAAU,UAAA,eAAA,CAAY;AAAA,IAAA,EAAA,CACxC,EAAA,CAEJ;AAAA,IACA,gBAAAD,EAACQ,GAAA,EAAoB,OAAAI,GAAc,MAAAC,GAAY,YAAAC,GAC7C,UAAA;AAAA,MAAA,gBAAAb,EAACQ,KAAiB,SAAS,MAAMQ,EAAS,OAAO,GAAG,UAAA,SAAK;AAAA,wBACxDR,GAAA,EAAiB,SAAS,MAAMQ,EAAS,MAAM,GAAG,UAAA,QAAI;AAAA,wBACtDR,GAAA,EAAiB,SAAS,MAAMQ,EAAS,QAAQ,GAAG,UAAA,SAAA,CAAM;AAAA,IAAA,EAAA,CAC7D;AAAA,EAAA,GACF;AAEJ;"}
@@ -1,9 +1,9 @@
1
1
  import { jsxs as a, jsx as e } from "react/jsx-runtime";
2
2
  import * as i from "react";
3
- import { Avatar as t, AvatarImage as d, AvatarFallback as m } from "../atoms/avatar.js";
4
- import { Button as s } from "../atoms/button.js";
5
- import { DropdownMenu as h, DropdownMenuTrigger as p, DropdownMenuContent as f, DropdownMenuLabel as u, DropdownMenuSeparator as x, DropdownMenuItem as g } from "../atoms/dropdown-menu.js";
6
- import { cn as w } from "../lib/utils.js";
3
+ import { Avatar as t, AvatarImage as d, AvatarFallback as m } from "../primitives/avatar.js";
4
+ import { Button as s } from "../primitives/button.js";
5
+ import { DropdownMenu as h, DropdownMenuTrigger as p, DropdownMenuContent as f, DropdownMenuLabel as u, DropdownMenuSeparator as x, DropdownMenuItem as g } from "../primitives/dropdown-menu.js";
6
+ import { cn as w } from "../../lib/utils.js";
7
7
  function b({ user: n, items: o, className: l }) {
8
8
  return /* @__PURE__ */ a(h, { children: [
9
9
  /* @__PURE__ */ e(p, { asChild: !0, children: /* @__PURE__ */ e(s, { variant: "ghost", size: "icon", className: w("rounded-full", l), children: /* @__PURE__ */ a(t, { className: "h-8 w-8", children: [
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-menu.js","sources":["../../../src/components/composites/user-menu.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { Avatar, AvatarFallback, AvatarImage } from \"../primitives/avatar\";\nimport { Button } from \"../primitives/button\";\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuTrigger,\n} from \"../primitives/dropdown-menu\";\nimport { cn } from \"@/lib/utils\";\n\nexport interface UserMenuProps {\n user: {\n name: string;\n email: string;\n avatar?: string;\n };\n items?: Array<{\n label: string;\n href?: string;\n onClick?: () => void;\n icon?: React.ComponentType<{ className?: string }>;\n }>;\n className?: string;\n}\n\nexport function UserMenu({ user, items, className }: UserMenuProps) {\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"ghost\" size=\"icon\" className={cn(\"rounded-full\", className)}>\n <Avatar className=\"h-8 w-8\">\n <AvatarImage src={user.avatar} alt={user.name} />\n <AvatarFallback>{user.name?.[0] ?? \"U\"}</AvatarFallback>\n </Avatar>\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuLabel className=\"p-0 font-normal\">\n <div className=\"flex flex-col space-y-1\">\n <p className=\"text-sm font-medium leading-none\">{user.name}</p>\n <p className=\"text-xs leading-none text-muted-foreground\">{user.email}</p>\n </div>\n </DropdownMenuLabel>\n <DropdownMenuSeparator />\n {items?.map((item, i) => (\n <DropdownMenuItem key={i} asChild>\n <a href={item.href ?? \"#\"} onClick={item.onClick}>\n {item.icon && React.createElement(item.icon, { className: \"mr-2 h-4 w-4\" })}\n <span>{item.label}</span>\n </a>\n </DropdownMenuItem>\n ))}\n </DropdownMenuContent>\n </DropdownMenu>\n );\n}\n"],"names":["UserMenu","user","items","className","DropdownMenu","jsx","DropdownMenuTrigger","Button","cn","jsxs","Avatar","AvatarImage","AvatarFallback","DropdownMenuContent","DropdownMenuLabel","DropdownMenuSeparator","item","i","DropdownMenuItem","React"],"mappings":";;;;;;AA8BO,SAASA,EAAS,EAAE,MAAAC,GAAM,OAAAC,GAAO,WAAAC,KAA4B;AAClE,2BACGC,GAAA,EACC,UAAA;AAAA,IAAA,gBAAAC,EAACC,KAAoB,SAAO,IAC1B,UAAA,gBAAAD,EAACE,GAAA,EAAO,SAAQ,SAAQ,MAAK,QAAO,WAAWC,EAAG,gBAAgBL,CAAS,GACzE,UAAA,gBAAAM,EAACC,GAAA,EAAO,WAAU,WAChB,UAAA;AAAA,MAAA,gBAAAL,EAACM,KAAY,KAAKV,EAAK,QAAQ,KAAKA,EAAK,MAAM;AAAA,wBAC9CW,GAAA,EAAgB,UAAAX,EAAK,OAAO,CAAC,KAAK,IAAA,CAAI;AAAA,IAAA,EAAA,CACzC,GACF,GACF;AAAA,IACA,gBAAAQ,EAACI,GAAA,EAAoB,OAAM,OACzB,UAAA;AAAA,MAAA,gBAAAR,EAACS,KAAkB,WAAU,mBAC3B,UAAA,gBAAAL,EAAC,OAAA,EAAI,WAAU,2BACb,UAAA;AAAA,QAAA,gBAAAJ,EAAC,KAAA,EAAE,WAAU,oCAAoC,UAAAJ,EAAK,MAAK;AAAA,QAC3D,gBAAAI,EAAC,KAAA,EAAE,WAAU,8CAA8C,YAAK,MAAA,CAAM;AAAA,MAAA,EAAA,CACxE,EAAA,CACF;AAAA,wBACCU,GAAA,EAAsB;AAAA,MACtBb,GAAO,IAAI,CAACc,GAAMC,wBAChBC,GAAA,EAAyB,SAAO,IAC/B,UAAA,gBAAAT,EAAC,OAAE,MAAMO,EAAK,QAAQ,KAAK,SAASA,EAAK,SACtC,UAAA;AAAA,QAAAA,EAAK,QAAQG,EAAM,cAAcH,EAAK,MAAM,EAAE,WAAW,gBAAgB;AAAA,QAC1E,gBAAAX,EAAC,QAAA,EAAM,UAAAW,EAAK,MAAA,CAAM;AAAA,MAAA,EAAA,CACpB,EAAA,GAJqBC,CAKvB,CACD;AAAA,IAAA,EAAA,CACH;AAAA,EAAA,GACF;AAEJ;"}
@@ -0,0 +1,12 @@
1
+ import * as React from "react";
2
+ interface HeroSectionProps extends React.HTMLAttributes<HTMLElement> {
3
+ title: string;
4
+ subtitle?: string;
5
+ ctaText?: string;
6
+ ctaHref?: string;
7
+ secondaryCtaText?: string;
8
+ secondaryCtaHref?: string;
9
+ badge?: string;
10
+ }
11
+ declare const HeroSection: React.ForwardRefExoticComponent<HeroSectionProps & React.RefAttributes<HTMLElement>>;
12
+ export { HeroSection };
@@ -0,0 +1,87 @@
1
+ import { jsxs as t, jsx as e } from "react/jsx-runtime";
2
+ import * as p from "react";
3
+ import { CustomButton as n } from "../primitives/custom-button.js";
4
+ import { cn as h } from "../../lib/utils.js";
5
+ const x = p.forwardRef(
6
+ ({
7
+ title: o,
8
+ subtitle: r,
9
+ ctaText: l,
10
+ ctaHref: a = "#",
11
+ secondaryCtaText: i,
12
+ secondaryCtaHref: c = "#",
13
+ badge: s,
14
+ className: d,
15
+ ...m
16
+ }, f) => /* @__PURE__ */ t(
17
+ "section",
18
+ {
19
+ ref: f,
20
+ className: h(
21
+ "relative flex flex-col items-center justify-center overflow-hidden px-6 py-24 text-center sm:py-32 lg:px-8",
22
+ d
23
+ ),
24
+ ...m,
25
+ children: [
26
+ /* @__PURE__ */ e(
27
+ "div",
28
+ {
29
+ className: "absolute inset-x-0 -top-40 -z-10 transform-gpu overflow-hidden blur-3xl sm:-top-80",
30
+ "aria-hidden": "true",
31
+ children: /* @__PURE__ */ e(
32
+ "div",
33
+ {
34
+ className: "relative left-[calc(50%-11rem)] aspect-1155/678 w-144.5 -translate-x-1/2 rotate-30 bg-linear-to-tr from-[#ff80b5] to-[#9089fc] opacity-20 sm:left-[calc(50%-30rem)] sm:w-288.75",
35
+ style: {
36
+ clipPath: "polygon(74.1% 44.1%, 100% 61.6%, 97.5% 26.9%, 85.5% 0.1%, 80.7% 2%, 72.5% 32.5%, 60.2% 62.4%, 52.4% 68.1%, 47.5% 58.3%, 45.2% 34.5%, 27.5% 76.7%, 0.1% 64.9%, 17.9% 100%, 27.6% 76.8%, 76.1% 97.7%, 74.1% 44.1%)"
37
+ }
38
+ }
39
+ )
40
+ }
41
+ ),
42
+ /* @__PURE__ */ t("div", { className: "mx-auto max-w-2xl", children: [
43
+ s && /* @__PURE__ */ e("div", { className: "mb-8 flex justify-center", children: /* @__PURE__ */ t("div", { className: "relative rounded-full px-3 py-1 text-sm leading-6 text-muted-foreground ring-1 ring-border hover:ring-border/80 transition-all", children: [
44
+ s,
45
+ " ",
46
+ /* @__PURE__ */ t("a", { href: a, className: "font-semibold text-primary", children: [
47
+ /* @__PURE__ */ e("span", { className: "absolute inset-0", "aria-hidden": "true" }),
48
+ "Read more ",
49
+ /* @__PURE__ */ e("span", { "aria-hidden": "true", children: "→" })
50
+ ] })
51
+ ] }) }),
52
+ /* @__PURE__ */ e("h1", { className: "text-4xl font-bold tracking-tight text-foreground sm:text-6xl bg-clip-text", children: o }),
53
+ r && /* @__PURE__ */ e("p", { className: "mt-6 text-lg leading-8 text-muted-foreground", children: r }),
54
+ /* @__PURE__ */ t("div", { className: "mt-10 flex items-center justify-center gap-x-6", children: [
55
+ l && /* @__PURE__ */ e("a", { href: a, children: /* @__PURE__ */ e(n, { size: "lg", effect: "expandIcon", children: l }) }),
56
+ i && /* @__PURE__ */ e("a", { href: c, children: /* @__PURE__ */ t(n, { variant: "ghost", size: "lg", children: [
57
+ i,
58
+ " ",
59
+ /* @__PURE__ */ e("span", { "aria-hidden": "true", children: "→" })
60
+ ] }) })
61
+ ] })
62
+ ] }),
63
+ /* @__PURE__ */ e(
64
+ "div",
65
+ {
66
+ className: "absolute inset-x-0 top-[calc(100%-13rem)] -z-10 transform-gpu overflow-hidden blur-3xl sm:top-[calc(100%-30rem)]",
67
+ "aria-hidden": "true",
68
+ children: /* @__PURE__ */ e(
69
+ "div",
70
+ {
71
+ className: "relative left-[calc(50%+3rem)] aspect-1155/678 w-144.5 -translate-x-1/2 bg-linear-to-tr from-[#ff80b5] to-[#9089fc] opacity-20 sm:left-[calc(50%+36rem)] sm:w-288.75",
72
+ style: {
73
+ clipPath: "polygon(74.1% 44.1%, 100% 61.6%, 97.5% 26.9%, 85.5% 0.1%, 80.7% 2%, 72.5% 32.5%, 60.2% 62.4%, 52.4% 68.1%, 47.5% 58.3%, 45.2% 34.5%, 27.5% 76.7%, 0.1% 64.9%, 17.9% 100%, 27.6% 76.8%, 76.1% 97.7%, 74.1% 44.1%)"
74
+ }
75
+ }
76
+ )
77
+ }
78
+ )
79
+ ]
80
+ }
81
+ )
82
+ );
83
+ x.displayName = "HeroSection";
84
+ export {
85
+ x as HeroSection
86
+ };
87
+ //# sourceMappingURL=hero.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hero.js","sources":["../../../src/components/marketing/hero.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { CustomButton } from \"../primitives/custom-button\";\nimport { cn } from \"@/lib/utils\";\n\ninterface HeroSectionProps extends React.HTMLAttributes<HTMLElement> {\n title: string;\n subtitle?: string;\n ctaText?: string;\n ctaHref?: string;\n secondaryCtaText?: string;\n secondaryCtaHref?: string;\n badge?: string;\n}\n\nconst HeroSection = React.forwardRef<HTMLElement, HeroSectionProps>(\n (\n {\n title,\n subtitle,\n ctaText,\n ctaHref = \"#\",\n secondaryCtaText,\n secondaryCtaHref = \"#\",\n badge,\n className,\n ...props\n },\n ref,\n ) => {\n return (\n <section\n ref={ref}\n className={cn(\n \"relative flex flex-col items-center justify-center overflow-hidden px-6 py-24 text-center sm:py-32 lg:px-8\",\n className,\n )}\n {...props}\n >\n {/* Abstract Background Decoration */}\n <div\n className=\"absolute inset-x-0 -top-40 -z-10 transform-gpu overflow-hidden blur-3xl sm:-top-80\"\n aria-hidden=\"true\"\n >\n <div\n className=\"relative left-[calc(50%-11rem)] aspect-1155/678 w-144.5 -translate-x-1/2 rotate-30 bg-linear-to-tr from-[#ff80b5] to-[#9089fc] opacity-20 sm:left-[calc(50%-30rem)] sm:w-288.75\"\n style={{\n clipPath:\n \"polygon(74.1% 44.1%, 100% 61.6%, 97.5% 26.9%, 85.5% 0.1%, 80.7% 2%, 72.5% 32.5%, 60.2% 62.4%, 52.4% 68.1%, 47.5% 58.3%, 45.2% 34.5%, 27.5% 76.7%, 0.1% 64.9%, 17.9% 100%, 27.6% 76.8%, 76.1% 97.7%, 74.1% 44.1%)\",\n }}\n />\n </div>\n\n <div className=\"mx-auto max-w-2xl\">\n {badge && (\n <div className=\"mb-8 flex justify-center\">\n <div className=\"relative rounded-full px-3 py-1 text-sm leading-6 text-muted-foreground ring-1 ring-border hover:ring-border/80 transition-all\">\n {badge}{\" \"}\n <a href={ctaHref} className=\"font-semibold text-primary\">\n <span className=\"absolute inset-0\" aria-hidden=\"true\" />\n Read more <span aria-hidden=\"true\">&rarr;</span>\n </a>\n </div>\n </div>\n )}\n <h1 className=\"text-4xl font-bold tracking-tight text-foreground sm:text-6xl bg-clip-text\">\n {title}\n </h1>\n {subtitle && <p className=\"mt-6 text-lg leading-8 text-muted-foreground\">{subtitle}</p>}\n <div className=\"mt-10 flex items-center justify-center gap-x-6\">\n {ctaText && (\n <a href={ctaHref}>\n <CustomButton size=\"lg\" effect=\"expandIcon\">\n {ctaText}\n </CustomButton>\n </a>\n )}\n {secondaryCtaText && (\n <a href={secondaryCtaHref}>\n <CustomButton variant=\"ghost\" size=\"lg\">\n {secondaryCtaText} <span aria-hidden=\"true\">→</span>\n </CustomButton>\n </a>\n )}\n </div>\n </div>\n\n <div\n className=\"absolute inset-x-0 top-[calc(100%-13rem)] -z-10 transform-gpu overflow-hidden blur-3xl sm:top-[calc(100%-30rem)]\"\n aria-hidden=\"true\"\n >\n <div\n className=\"relative left-[calc(50%+3rem)] aspect-1155/678 w-144.5 -translate-x-1/2 bg-linear-to-tr from-[#ff80b5] to-[#9089fc] opacity-20 sm:left-[calc(50%+36rem)] sm:w-288.75\"\n style={{\n clipPath:\n \"polygon(74.1% 44.1%, 100% 61.6%, 97.5% 26.9%, 85.5% 0.1%, 80.7% 2%, 72.5% 32.5%, 60.2% 62.4%, 52.4% 68.1%, 47.5% 58.3%, 45.2% 34.5%, 27.5% 76.7%, 0.1% 64.9%, 17.9% 100%, 27.6% 76.8%, 76.1% 97.7%, 74.1% 44.1%)\",\n }}\n />\n </div>\n </section>\n );\n },\n);\n\nHeroSection.displayName = \"HeroSection\";\n\nexport { HeroSection };\n"],"names":["jsxs","jsx","React","CustomButton","cn","HeroSection","title","subtitle","ctaText","ctaHref","secondaryCtaText","secondaryCtaHref","badge","className","props","ref"],"mappings":"AAgBA,SAAA,QAAAA,GAAA,OAAAC,SAAA;AAAA,YAAAC,OAAA;AAAA,SAAA,gBAAAC,SAAA;AAAA,SAAA,MAAAC,SAAA;AAAA,MAAMC,IAAcH,EAAM;AAAA,EACxB,CACE;AAAA,IACE,OAAAI;AAAA,IACA,UAAAC;AAAA,IACA,SAAAC;AAAA,IACA,SAAAC,IAAU;AAAA,IACV,kBAAAC;AAAA,IACA,kBAAAC,IAAmB;AAAA,IACnB,OAAAC;AAAA,IACA,WAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,GAELC,MAGE,gBAAAf;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAe;AAAA,MACA,WAAWX;AAAA,QACT;AAAA,QACAS;AAAA,MAAA;AAAA,MAED,GAAGC;AAAA,MAGJ,UAAA;AAAA,QAAA,gBAAAb;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,eAAY;AAAA,YAEZ,UAAA,gBAAAA;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,WAAU;AAAA,gBACV,OAAO;AAAA,kBACL,UACE;AAAA,gBAAA;AAAA,cACJ;AAAA,YAAA;AAAA,UACF;AAAA,QAAA;AAAA,QAGF,gBAAAD,EAAC,OAAA,EAAI,WAAU,qBACZ,UAAA;AAAA,UAAAY,uBACE,OAAA,EAAI,WAAU,4BACb,UAAA,gBAAAZ,EAAC,OAAA,EAAI,WAAU,kIACZ,UAAA;AAAA,YAAAY;AAAA,YAAO;AAAA,YACR,gBAAAZ,EAAC,KAAA,EAAE,MAAMS,GAAS,WAAU,8BAC1B,UAAA;AAAA,cAAA,gBAAAR,EAAC,QAAA,EAAK,WAAU,oBAAmB,eAAY,QAAO;AAAA,cAAE;AAAA,cAC9C,gBAAAA,EAAC,QAAA,EAAK,eAAY,QAAO,UAAA,IAAA,CAAM;AAAA,YAAA,EAAA,CAC3C;AAAA,UAAA,EAAA,CACF,EAAA,CACF;AAAA,UAEF,gBAAAA,EAAC,MAAA,EAAG,WAAU,8EACX,UAAAK,GACH;AAAA,UACCC,KAAY,gBAAAN,EAAC,KAAA,EAAE,WAAU,gDAAgD,UAAAM,GAAS;AAAA,UACnF,gBAAAP,EAAC,OAAA,EAAI,WAAU,kDACZ,UAAA;AAAA,YAAAQ,KACC,gBAAAP,EAAC,KAAA,EAAE,MAAMQ,GACP,UAAA,gBAAAR,EAACE,GAAA,EAAa,MAAK,MAAK,QAAO,cAC5B,UAAAK,EAAA,CACH,GACF;AAAA,YAEDE,KACC,gBAAAT,EAAC,KAAA,EAAE,MAAMU,GACP,4BAACR,GAAA,EAAa,SAAQ,SAAQ,MAAK,MAChC,UAAA;AAAA,cAAAO;AAAA,cAAiB;AAAA,cAAC,gBAAAT,EAAC,QAAA,EAAK,eAAY,QAAO,UAAA,IAAA,CAAC;AAAA,YAAA,EAAA,CAC/C,EAAA,CACF;AAAA,UAAA,EAAA,CAEJ;AAAA,QAAA,GACF;AAAA,QAEA,gBAAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,eAAY;AAAA,YAEZ,UAAA,gBAAAA;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,WAAU;AAAA,gBACV,OAAO;AAAA,kBACL,UACE;AAAA,gBAAA;AAAA,cACJ;AAAA,YAAA;AAAA,UACF;AAAA,QAAA;AAAA,MACF;AAAA,IAAA;AAAA,EAAA;AAIR;AAEAI,EAAY,cAAc;"}
@@ -0,0 +1,6 @@
1
+ export * from './hero';
2
+ export * from './social-proof';
3
+ export * from './value-props';
4
+ export type * from './hero';
5
+ export type * from './social-proof';
6
+ export type * from './value-props';
@@ -0,0 +1,10 @@
1
+ import * as React from "react";
2
+ interface SocialProofProps extends React.HTMLAttributes<HTMLElement> {
3
+ logos: {
4
+ name: string;
5
+ src: string;
6
+ }[];
7
+ title?: string;
8
+ }
9
+ declare const SocialProof: React.ForwardRefExoticComponent<SocialProofProps & React.RefAttributes<HTMLElement>>;
10
+ export { SocialProof };
@@ -0,0 +1,21 @@
1
+ import { jsx as e, jsxs as m } from "react/jsx-runtime";
2
+ import * as i from "react";
3
+ import { cn as c } from "../../lib/utils.js";
4
+ const n = i.forwardRef(
5
+ ({ logos: t, title: r = "Trusted by the world's most innovative teams", className: s, ...o }, l) => /* @__PURE__ */ e("section", { ref: l, className: c("py-24 sm:py-32 bg-secondary/30", s), ...o, children: /* @__PURE__ */ m("div", { className: "mx-auto max-w-7xl px-6 lg:px-8", children: [
6
+ /* @__PURE__ */ e("h2", { className: "text-center text-lg font-semibold leading-8 text-muted-foreground", children: r }),
7
+ /* @__PURE__ */ e("div", { className: "mx-auto mt-10 grid max-w-lg grid-cols-4 items-center gap-x-8 gap-y-10 sm:max-w-xl sm:grid-cols-6 sm:gap-x-10 lg:mx-0 lg:max-w-none lg:grid-cols-5", children: t.map((a) => /* @__PURE__ */ e(
8
+ "div",
9
+ {
10
+ className: "flex items-center justify-center grayscale opacity-50 hover:grayscale-0 hover:opacity-100 transition-all duration-300",
11
+ children: /* @__PURE__ */ e("span", { className: "text-xl font-bold italic text-muted-foreground", children: a.name })
12
+ },
13
+ a.name
14
+ )) })
15
+ ] }) })
16
+ );
17
+ n.displayName = "SocialProof";
18
+ export {
19
+ n as SocialProof
20
+ };
21
+ //# sourceMappingURL=social-proof.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"social-proof.js","sources":["../../../src/components/marketing/social-proof.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { cn } from \"@/lib/utils\";\n\ninterface SocialProofProps extends React.HTMLAttributes<HTMLElement> {\n logos: { name: string; src: string }[];\n title?: string;\n}\n\nconst SocialProof = React.forwardRef<HTMLElement, SocialProofProps>(\n ({ logos, title = \"Trusted by the world's most innovative teams\", className, ...props }, ref) => {\n return (\n <section ref={ref} className={cn(\"py-24 sm:py-32 bg-secondary/30\", className)} {...props}>\n <div className=\"mx-auto max-w-7xl px-6 lg:px-8\">\n <h2 className=\"text-center text-lg font-semibold leading-8 text-muted-foreground\">\n {title}\n </h2>\n <div className=\"mx-auto mt-10 grid max-w-lg grid-cols-4 items-center gap-x-8 gap-y-10 sm:max-w-xl sm:grid-cols-6 sm:gap-x-10 lg:mx-0 lg:max-w-none lg:grid-cols-5\">\n {logos.map((logo) => (\n <div\n key={logo.name}\n className=\"flex items-center justify-center grayscale opacity-50 hover:grayscale-0 hover:opacity-100 transition-all duration-300\"\n >\n <span className=\"text-xl font-bold italic text-muted-foreground\">{logo.name}</span>\n </div>\n ))}\n </div>\n </div>\n </section>\n );\n },\n);\n\nSocialProof.displayName = \"SocialProof\";\n\nexport { SocialProof };\n"],"names":["jsx","jsxs","React","cn","SocialProof","logos","title","className","props","ref","logo"],"mappings":"AAUA,SAAA,OAAAA,GAAA,QAAAC,SAAA;AAAA,YAAAC,OAAA;AAAA,SAAA,MAAAC,SAAA;AAAA,MAAMC,IAAcF,EAAM;AAAA,EACxB,CAAC,EAAE,OAAAG,GAAO,OAAAC,IAAQ,gDAAgD,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAErF,gBAAAT,EAAC,WAAA,EAAQ,KAAAS,GAAU,WAAWN,EAAG,kCAAkCI,CAAS,GAAI,GAAGC,GACjF,UAAA,gBAAAP,EAAC,OAAA,EAAI,WAAU,kCACb,UAAA;AAAA,IAAA,gBAAAD,EAAC,MAAA,EAAG,WAAU,qEACX,UAAAM,GACH;AAAA,sBACC,OAAA,EAAI,WAAU,qJACZ,UAAAD,EAAM,IAAI,CAACK,MACV,gBAAAV;AAAA,MAAC;AAAA,MAAA;AAAA,QAEC,WAAU;AAAA,QAEV,UAAA,gBAAAA,EAAC,QAAA,EAAK,WAAU,kDAAkD,YAAK,KAAA,CAAK;AAAA,MAAA;AAAA,MAHvEU,EAAK;AAAA,IAAA,CAKb,EAAA,CACH;AAAA,EAAA,EAAA,CACF,EAAA,CACF;AAGN;AAEAN,EAAY,cAAc;"}
@@ -0,0 +1,14 @@
1
+ import * as React from "react";
2
+ interface Feature {
3
+ name: string;
4
+ description: string;
5
+ icon?: React.ElementType;
6
+ }
7
+ interface ValuePropsProps extends React.HTMLAttributes<HTMLElement> {
8
+ features: Feature[];
9
+ title: string;
10
+ subtitle?: string;
11
+ badge?: string;
12
+ }
13
+ declare const ValueProps: React.ForwardRefExoticComponent<ValuePropsProps & React.RefAttributes<HTMLElement>>;
14
+ export { ValueProps };
@@ -0,0 +1,25 @@
1
+ import { jsx as e, jsxs as l } from "react/jsx-runtime";
2
+ import * as x from "react";
3
+ import { cn as c } from "../../lib/utils.js";
4
+ import { CheckIcon as d } from "lucide-react";
5
+ const p = x.forwardRef(
6
+ ({ features: s, title: r, subtitle: t, badge: m, className: i, ...n }, o) => /* @__PURE__ */ e("section", { ref: o, className: c("py-24 sm:py-32", i), ...n, children: /* @__PURE__ */ l("div", { className: "mx-auto max-w-7xl px-6 lg:px-8", children: [
7
+ /* @__PURE__ */ l("div", { className: "mx-auto max-w-2xl lg:text-center", children: [
8
+ m && /* @__PURE__ */ e("h2", { className: "text-base font-semibold leading-7 text-primary", children: m }),
9
+ /* @__PURE__ */ e("p", { className: "mt-2 text-3xl font-bold tracking-tight text-foreground sm:text-4xl", children: r }),
10
+ t && /* @__PURE__ */ e("p", { className: "mt-6 text-lg leading-8 text-muted-foreground", children: t })
11
+ ] }),
12
+ /* @__PURE__ */ e("div", { className: "mx-auto mt-16 max-w-2xl sm:mt-20 lg:mt-24 lg:max-w-none", children: /* @__PURE__ */ e("dl", { className: "grid max-w-xl grid-cols-1 gap-x-8 gap-y-16 lg:max-w-none lg:grid-cols-3", children: s.map((a) => /* @__PURE__ */ l("div", { className: "flex flex-col", children: [
13
+ /* @__PURE__ */ l("dt", { className: "flex items-center gap-x-3 text-base font-semibold leading-7 text-foreground", children: [
14
+ a.icon ? /* @__PURE__ */ e(a.icon, { className: "size-5 flex-none text-primary", "aria-hidden": "true" }) : /* @__PURE__ */ e(d, { className: "size-5 flex-none text-primary", "aria-hidden": "true" }),
15
+ a.name
16
+ ] }),
17
+ /* @__PURE__ */ e("dd", { className: "mt-4 flex flex-auto flex-col text-base leading-7 text-muted-foreground", children: /* @__PURE__ */ e("p", { className: "flex-auto", children: a.description }) })
18
+ ] }, a.name)) }) })
19
+ ] }) })
20
+ );
21
+ p.displayName = "ValueProps";
22
+ export {
23
+ p as ValueProps
24
+ };
25
+ //# sourceMappingURL=value-props.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"value-props.js","sources":["../../../src/components/marketing/value-props.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { cn } from \"@/lib/utils\";\nimport { CheckIcon } from \"lucide-react\";\n\ninterface Feature {\n name: string;\n description: string;\n icon?: React.ElementType;\n}\n\ninterface ValuePropsProps extends React.HTMLAttributes<HTMLElement> {\n features: Feature[];\n title: string;\n subtitle?: string;\n badge?: string;\n}\n\nconst ValueProps = React.forwardRef<HTMLElement, ValuePropsProps>(\n ({ features, title, subtitle, badge, className, ...props }, ref) => {\n return (\n <section ref={ref} className={cn(\"py-24 sm:py-32\", className)} {...props}>\n <div className=\"mx-auto max-w-7xl px-6 lg:px-8\">\n <div className=\"mx-auto max-w-2xl lg:text-center\">\n {badge && <h2 className=\"text-base font-semibold leading-7 text-primary\">{badge}</h2>}\n <p className=\"mt-2 text-3xl font-bold tracking-tight text-foreground sm:text-4xl\">\n {title}\n </p>\n {subtitle && <p className=\"mt-6 text-lg leading-8 text-muted-foreground\">{subtitle}</p>}\n </div>\n <div className=\"mx-auto mt-16 max-w-2xl sm:mt-20 lg:mt-24 lg:max-w-none\">\n <dl className=\"grid max-w-xl grid-cols-1 gap-x-8 gap-y-16 lg:max-w-none lg:grid-cols-3\">\n {features.map((feature) => (\n <div key={feature.name} className=\"flex flex-col\">\n <dt className=\"flex items-center gap-x-3 text-base font-semibold leading-7 text-foreground\">\n {feature.icon ? (\n <feature.icon className=\"size-5 flex-none text-primary\" aria-hidden=\"true\" />\n ) : (\n <CheckIcon className=\"size-5 flex-none text-primary\" aria-hidden=\"true\" />\n )}\n {feature.name}\n </dt>\n <dd className=\"mt-4 flex flex-auto flex-col text-base leading-7 text-muted-foreground\">\n <p className=\"flex-auto\">{feature.description}</p>\n </dd>\n </div>\n ))}\n </dl>\n </div>\n </div>\n </section>\n );\n },\n);\n\nValueProps.displayName = \"ValueProps\";\n\nexport { ValueProps };\n"],"names":["jsx","jsxs","React","cn","CheckIcon","ValueProps","features","title","subtitle","badge","className","props","ref","feature"],"mappings":"AAmBA,SAAA,OAAAA,GAAA,QAAAC,SAAA;AAAA,YAAAC,OAAA;AAAA,SAAA,MAAAC,SAAA;AAAA,SAAA,aAAAC,SAAA;AAAA,MAAMC,IAAaH,EAAM;AAAA,EACvB,CAAC,EAAE,UAAAI,GAAU,OAAAC,GAAO,UAAAC,GAAU,OAAAC,GAAO,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAExD,gBAAAZ,EAAC,WAAA,EAAQ,KAAAY,GAAU,WAAWT,EAAG,kBAAkBO,CAAS,GAAI,GAAGC,GACjE,UAAA,gBAAAV,EAAC,OAAA,EAAI,WAAU,kCACb,UAAA;AAAA,IAAA,gBAAAA,EAAC,OAAA,EAAI,WAAU,oCACZ,UAAA;AAAA,MAAAQ,KAAS,gBAAAT,EAAC,MAAA,EAAG,WAAU,kDAAkD,UAAAS,GAAM;AAAA,MAChF,gBAAAT,EAAC,KAAA,EAAE,WAAU,sEACV,UAAAO,GACH;AAAA,MACCC,KAAY,gBAAAR,EAAC,KAAA,EAAE,WAAU,gDAAgD,UAAAQ,EAAA,CAAS;AAAA,IAAA,GACrF;AAAA,IACA,gBAAAR,EAAC,OAAA,EAAI,WAAU,2DACb,4BAAC,MAAA,EAAG,WAAU,2EACX,UAAAM,EAAS,IAAI,CAACO,MACb,gBAAAZ,EAAC,OAAA,EAAuB,WAAU,iBAChC,UAAA;AAAA,MAAA,gBAAAA,EAAC,MAAA,EAAG,WAAU,+EACX,UAAA;AAAA,QAAAY,EAAQ,OACP,gBAAAb,EAACa,EAAQ,MAAR,EAAa,WAAU,iCAAgC,eAAY,OAAA,CAAO,IAE3E,gBAAAb,EAACI,GAAA,EAAU,WAAU,iCAAgC,eAAY,QAAO;AAAA,QAEzES,EAAQ;AAAA,MAAA,GACX;AAAA,MACA,gBAAAb,EAAC,MAAA,EAAG,WAAU,0EACZ,UAAA,gBAAAA,EAAC,OAAE,WAAU,aAAa,UAAAa,EAAQ,YAAA,CAAY,EAAA,CAChD;AAAA,IAAA,EAAA,GAXQA,EAAQ,IAYlB,CACD,EAAA,CACH,EAAA,CACF;AAAA,EAAA,EAAA,CACF,EAAA,CACF;AAGN;AAEAR,EAAW,cAAc;"}
@@ -1,7 +1,7 @@
1
1
  import { jsx as e, jsxs as a } from "react/jsx-runtime";
2
2
  import * as n from "@radix-ui/react-accordion";
3
3
  import { ChevronDownIcon as s } from "lucide-react";
4
- import { cn as i } from "../lib/utils.js";
4
+ import { cn as i } from "../../lib/utils.js";
5
5
  function m({ ...t }) {
6
6
  return /* @__PURE__ */ e(n.Root, { "data-slot": "accordion", ...t });
7
7
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accordion.js","sources":["../../../src/components/primitives/accordion.tsx"],"sourcesContent":["import * as React from \"react\";\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\";\nimport { ChevronDownIcon } from \"lucide-react\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction Accordion({ ...props }: React.ComponentProps<typeof AccordionPrimitive.Root>) {\n return <AccordionPrimitive.Root data-slot=\"accordion\" {...props} />;\n}\n\nfunction AccordionItem({\n className,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Item>) {\n return (\n <AccordionPrimitive.Item\n data-slot=\"accordion-item\"\n className={cn(\"border-b last:border-b-0\", className)}\n {...props}\n />\n );\n}\n\nfunction AccordionTrigger({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Trigger>) {\n return (\n <AccordionPrimitive.Header className=\"flex\">\n <AccordionPrimitive.Trigger\n data-slot=\"accordion-trigger\"\n className={cn(\n \"focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180\",\n className,\n )}\n {...props}\n >\n {children}\n <ChevronDownIcon className=\"text-muted-foreground pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200\" />\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n );\n}\n\nfunction AccordionContent({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Content>) {\n return (\n <AccordionPrimitive.Content\n data-slot=\"accordion-content\"\n className=\"data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm\"\n {...props}\n >\n <div className={cn(\"pt-0 pb-4\", className)}>{children}</div>\n </AccordionPrimitive.Content>\n );\n}\n\nexport { Accordion, AccordionItem, AccordionTrigger, AccordionContent };\n"],"names":["jsx","jsxs","AccordionPrimitive","ChevronDownIcon","cn","Accordion","props","AccordionItem","className","AccordionTrigger","children","AccordionContent"],"mappings":"AAMA,SAAA,OAAAA,GAAA,QAAAC,SAAA;AAAA,YAAAC,OAAA;AAAA,SAAA,mBAAAC,SAAA;AAAA,SAAA,MAAAC,SAAA;AAAA,SAASC,EAAU,EAAE,GAAGC,KAA+D;AACrF,2BAAQJ,EAAmB,MAAnB,EAAwB,aAAU,aAAa,GAAGI,GAAO;AACnE;AAEA,SAASC,EAAc;AAAA,EACrB,WAAAC;AAAA,EACA,GAAGF;AACL,GAAyD;AACvD,SACE,gBAAAN;AAAA,IAACE,EAAmB;AAAA,IAAnB;AAAA,MACC,aAAU;AAAA,MACV,WAAWE,EAAG,4BAA4BI,CAAS;AAAA,MAClD,GAAGF;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASG,EAAiB;AAAA,EACxB,WAAAD;AAAA,EACA,UAAAE;AAAA,EACA,GAAGJ;AACL,GAA4D;AAC1D,SACE,gBAAAN,EAACE,EAAmB,QAAnB,EAA0B,WAAU,QACnC,UAAA,gBAAAD;AAAA,IAACC,EAAmB;AAAA,IAAnB;AAAA,MACC,aAAU;AAAA,MACV,WAAWE;AAAA,QACT;AAAA,QACAI;AAAA,MAAA;AAAA,MAED,GAAGF;AAAA,MAEH,UAAA;AAAA,QAAAI;AAAA,QACD,gBAAAV,EAACG,GAAA,EAAgB,WAAU,8GAAA,CAA8G;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA,GAE7I;AAEJ;AAEA,SAASQ,EAAiB;AAAA,EACxB,WAAAH;AAAA,EACA,UAAAE;AAAA,EACA,GAAGJ;AACL,GAA4D;AAC1D,SACE,gBAAAN;AAAA,IAACE,EAAmB;AAAA,IAAnB;AAAA,MACC,aAAU;AAAA,MACV,WAAU;AAAA,MACT,GAAGI;AAAA,MAEJ,4BAAC,OAAA,EAAI,WAAWF,EAAG,aAAaI,CAAS,GAAI,UAAAE,EAAA,CAAS;AAAA,IAAA;AAAA,EAAA;AAG5D;"}
@@ -1,7 +1,7 @@
1
1
  import { jsx as e, jsxs as n } from "react/jsx-runtime";
2
2
  import * as o from "@radix-ui/react-alert-dialog";
3
- import { cn as l } from "../lib/utils.js";
4
- import { buttonVariants as r } from "./button.js";
3
+ import { cn as l } from "../../lib/utils.js";
4
+ import { buttonVariants as r } from "./button-variants.js";
5
5
  function u({ ...t }) {
6
6
  return /* @__PURE__ */ e(o.Root, { "data-slot": "alert-dialog", ...t });
7
7
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alert-dialog.js","sources":["../../../src/components/primitives/alert-dialog.tsx"],"sourcesContent":["import * as React from \"react\";\nimport * as AlertDialogPrimitive from \"@radix-ui/react-alert-dialog\";\n\nimport { cn } from \"@/lib/utils\";\nimport { buttonVariants } from \"../primitives/button-variants\";\n\nfunction AlertDialog({ ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Root>) {\n return <AlertDialogPrimitive.Root data-slot=\"alert-dialog\" {...props} />;\n}\n\nfunction AlertDialogTrigger({\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Trigger>) {\n return <AlertDialogPrimitive.Trigger data-slot=\"alert-dialog-trigger\" {...props} />;\n}\n\nfunction AlertDialogPortal({ ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Portal>) {\n return <AlertDialogPrimitive.Portal data-slot=\"alert-dialog-portal\" {...props} />;\n}\n\nfunction AlertDialogOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Overlay>) {\n return (\n <AlertDialogPrimitive.Overlay\n data-slot=\"alert-dialog-overlay\"\n className={cn(\n \"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AlertDialogContent({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Content>) {\n return (\n <AlertDialogPortal>\n <AlertDialogOverlay />\n <AlertDialogPrimitive.Content\n data-slot=\"alert-dialog-content\"\n className={cn(\n \"bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg\",\n className,\n )}\n {...props}\n />\n </AlertDialogPortal>\n );\n}\n\nfunction AlertDialogHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-dialog-header\"\n className={cn(\"flex flex-col gap-2 text-center sm:text-left\", className)}\n {...props}\n />\n );\n}\n\nfunction AlertDialogFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-dialog-footer\"\n className={cn(\"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end\", className)}\n {...props}\n />\n );\n}\n\nfunction AlertDialogTitle({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Title>) {\n return (\n <AlertDialogPrimitive.Title\n data-slot=\"alert-dialog-title\"\n className={cn(\"text-lg font-semibold\", className)}\n {...props}\n />\n );\n}\n\nfunction AlertDialogDescription({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Description>) {\n return (\n <AlertDialogPrimitive.Description\n data-slot=\"alert-dialog-description\"\n className={cn(\"text-muted-foreground text-sm\", className)}\n {...props}\n />\n );\n}\n\nfunction AlertDialogAction({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Action>) {\n return <AlertDialogPrimitive.Action className={cn(buttonVariants(), className)} {...props} />;\n}\n\nfunction AlertDialogCancel({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Cancel>) {\n return (\n <AlertDialogPrimitive.Cancel\n className={cn(buttonVariants({ variant: \"outline\" }), className)}\n {...props}\n />\n );\n}\n\nexport {\n AlertDialog,\n AlertDialogPortal,\n AlertDialogOverlay,\n AlertDialogTrigger,\n AlertDialogContent,\n AlertDialogHeader,\n AlertDialogFooter,\n AlertDialogTitle,\n AlertDialogDescription,\n AlertDialogAction,\n AlertDialogCancel,\n};\n"],"names":["jsx","jsxs","AlertDialogPrimitive","cn","buttonVariants","AlertDialog","props","AlertDialogTrigger","AlertDialogPortal","AlertDialogOverlay","className","AlertDialogContent","AlertDialogHeader","AlertDialogFooter","AlertDialogTitle","AlertDialogDescription","AlertDialogAction","AlertDialogCancel"],"mappings":"AAMA,SAAA,OAAAA,GAAA,QAAAC,SAAA;AAAA,YAAAC,OAAA;AAAA,SAAA,MAAAC,SAAA;AAAA,SAAA,kBAAAC,SAAA;AAAA,SAASC,EAAY,EAAE,GAAGC,KAAiE;AACzF,2BAAQJ,EAAqB,MAArB,EAA0B,aAAU,gBAAgB,GAAGI,GAAO;AACxE;AAEA,SAASC,EAAmB;AAAA,EAC1B,GAAGD;AACL,GAA8D;AAC5D,2BAAQJ,EAAqB,SAArB,EAA6B,aAAU,wBAAwB,GAAGI,GAAO;AACnF;AAEA,SAASE,EAAkB,EAAE,GAAGF,KAAmE;AACjG,2BAAQJ,EAAqB,QAArB,EAA4B,aAAU,uBAAuB,GAAGI,GAAO;AACjF;AAEA,SAASG,EAAmB;AAAA,EAC1B,WAAAC;AAAA,EACA,GAAGJ;AACL,GAA8D;AAC5D,SACE,gBAAAN;AAAA,IAACE,EAAqB;AAAA,IAArB;AAAA,MACC,aAAU;AAAA,MACV,WAAWC;AAAA,QACT;AAAA,QACAO;AAAA,MAAA;AAAA,MAED,GAAGJ;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASK,EAAmB;AAAA,EAC1B,WAAAD;AAAA,EACA,GAAGJ;AACL,GAA8D;AAC5D,2BACGE,GAAA,EACC,UAAA;AAAA,IAAA,gBAAAR,EAACS,GAAA,EAAmB;AAAA,IACpB,gBAAAT;AAAA,MAACE,EAAqB;AAAA,MAArB;AAAA,QACC,aAAU;AAAA,QACV,WAAWC;AAAA,UACT;AAAA,UACAO;AAAA,QAAA;AAAA,QAED,GAAGJ;AAAA,MAAA;AAAA,IAAA;AAAA,EACN,GACF;AAEJ;AAEA,SAASM,EAAkB,EAAE,WAAAF,GAAW,GAAGJ,KAAsC;AAC/E,SACE,gBAAAN;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWG,EAAG,gDAAgDO,CAAS;AAAA,MACtE,GAAGJ;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASO,EAAkB,EAAE,WAAAH,GAAW,GAAGJ,KAAsC;AAC/E,SACE,gBAAAN;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWG,EAAG,0DAA0DO,CAAS;AAAA,MAChF,GAAGJ;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASQ,EAAiB;AAAA,EACxB,WAAAJ;AAAA,EACA,GAAGJ;AACL,GAA4D;AAC1D,SACE,gBAAAN;AAAA,IAACE,EAAqB;AAAA,IAArB;AAAA,MACC,aAAU;AAAA,MACV,WAAWC,EAAG,yBAAyBO,CAAS;AAAA,MAC/C,GAAGJ;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASS,EAAuB;AAAA,EAC9B,WAAAL;AAAA,EACA,GAAGJ;AACL,GAAkE;AAChE,SACE,gBAAAN;AAAA,IAACE,EAAqB;AAAA,IAArB;AAAA,MACC,aAAU;AAAA,MACV,WAAWC,EAAG,iCAAiCO,CAAS;AAAA,MACvD,GAAGJ;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASU,EAAkB;AAAA,EACzB,WAAAN;AAAA,EACA,GAAGJ;AACL,GAA6D;AAC3D,SAAO,gBAAAN,EAACE,EAAqB,QAArB,EAA4B,WAAWC,EAAGC,KAAkBM,CAAS,GAAI,GAAGJ,EAAA,CAAO;AAC7F;AAEA,SAASW,EAAkB;AAAA,EACzB,WAAAP;AAAA,EACA,GAAGJ;AACL,GAA6D;AAC3D,SACE,gBAAAN;AAAA,IAACE,EAAqB;AAAA,IAArB;AAAA,MACC,WAAWC,EAAGC,EAAe,EAAE,SAAS,UAAA,CAAW,GAAGM,CAAS;AAAA,MAC9D,GAAGJ;AAAA,IAAA;AAAA,EAAA;AAGV;"}
@@ -1,6 +1,6 @@
1
1
  import { jsx as e } from "react/jsx-runtime";
2
2
  import { cva as i } from "class-variance-authority";
3
- import { cn as a } from "../lib/utils.js";
3
+ import { cn as a } from "../../lib/utils.js";
4
4
  const l = i(
5
5
  "relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current",
6
6
  {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alert.js","sources":["../../../src/components/primitives/alert.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst alertVariants = cva(\n \"relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current\",\n {\n variants: {\n variant: {\n default: \"bg-card text-card-foreground\",\n destructive:\n \"text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n },\n);\n\nfunction Alert({\n className,\n variant,\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof alertVariants>) {\n return (\n <div\n data-slot=\"alert\"\n role=\"alert\"\n className={cn(alertVariants({ variant }), className)}\n {...props}\n />\n );\n}\n\nfunction AlertTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-title\"\n className={cn(\"col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight\", className)}\n {...props}\n />\n );\n}\n\nfunction AlertDescription({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-description\"\n className={cn(\n \"text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Alert, AlertTitle, AlertDescription };\n"],"names":["alertVariants","cva","Alert","className","variant","props","jsx","cn","AlertTitle","AlertDescription"],"mappings":";;;AAKA,MAAMA,IAAgBC;AAAA,EACpB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SAAS;AAAA,QACT,aACE;AAAA,MAAA;AAAA,IACJ;AAAA,IAEF,iBAAiB;AAAA,MACf,SAAS;AAAA,IAAA;AAAA,EACX;AAEJ;AAEA,SAASC,EAAM;AAAA,EACb,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,GAAGC;AACL,GAAqE;AACnE,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,MAAK;AAAA,MACL,WAAWC,EAAGP,EAAc,EAAE,SAAAI,EAAA,CAAS,GAAGD,CAAS;AAAA,MAClD,GAAGE;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASG,EAAW,EAAE,WAAAL,GAAW,GAAGE,KAAsC;AACxE,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC,EAAG,+DAA+DJ,CAAS;AAAA,MACrF,GAAGE;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASI,EAAiB,EAAE,WAAAN,GAAW,GAAGE,KAAsC;AAC9E,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC;AAAA,QACT;AAAA,QACAJ;AAAA,MAAA;AAAA,MAED,GAAGE;AAAA,IAAA;AAAA,EAAA;AAGV;"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aspect-ratio.js","sources":["../../../src/components/primitives/aspect-ratio.tsx"],"sourcesContent":["\"use client\";\n\nimport * as AspectRatioPrimitive from \"@radix-ui/react-aspect-ratio\";\n\nfunction AspectRatio({ ...props }: React.ComponentProps<typeof AspectRatioPrimitive.Root>) {\n return <AspectRatioPrimitive.Root data-slot=\"aspect-ratio\" {...props} />;\n}\n\nexport { AspectRatio };\n"],"names":["jsx","AspectRatioPrimitive","AspectRatio","props"],"mappings":"AAIA,SAAA,OAAAA,SAAA;AAAA,YAAAC,OAAA;AAAA,SAASC,EAAY,EAAE,GAAGC,KAAiE;AACzF,2BAAQF,EAAqB,MAArB,EAA0B,aAAU,gBAAgB,GAAGE,GAAO;AACxE;"}
@@ -1,6 +1,6 @@
1
1
  import { jsx as e } from "react/jsx-runtime";
2
2
  import * as r from "@radix-ui/react-avatar";
3
- import { cn as l } from "../lib/utils.js";
3
+ import { cn as l } from "../../lib/utils.js";
4
4
  function i({ className: a, ...t }) {
5
5
  return /* @__PURE__ */ e(
6
6
  r.Root,
@@ -0,0 +1 @@
1
+ {"version":3,"file":"avatar.js","sources":["../../../src/components/primitives/avatar.tsx"],"sourcesContent":["import * as React from \"react\";\nimport * as AvatarPrimitive from \"@radix-ui/react-avatar\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction Avatar({ className, ...props }: React.ComponentProps<typeof AvatarPrimitive.Root>) {\n return (\n <AvatarPrimitive.Root\n data-slot=\"avatar\"\n className={cn(\"relative flex size-8 shrink-0 overflow-hidden rounded-full\", className)}\n {...props}\n />\n );\n}\n\nfunction AvatarImage({ className, ...props }: React.ComponentProps<typeof AvatarPrimitive.Image>) {\n return (\n <AvatarPrimitive.Image\n data-slot=\"avatar-image\"\n className={cn(\"aspect-square size-full\", className)}\n {...props}\n />\n );\n}\n\nfunction AvatarFallback({\n className,\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Fallback>) {\n return (\n <AvatarPrimitive.Fallback\n data-slot=\"avatar-fallback\"\n className={cn(\"bg-muted flex size-full items-center justify-center rounded-full\", className)}\n {...props}\n />\n );\n}\n\nexport { Avatar, AvatarImage, AvatarFallback };\n"],"names":["Avatar","className","props","jsx","AvatarPrimitive","cn","AvatarImage","AvatarFallback"],"mappings":";;;AAKA,SAASA,EAAO,EAAE,WAAAC,GAAW,GAAGC,KAA4D;AAC1F,SACE,gBAAAC;AAAA,IAACC,EAAgB;AAAA,IAAhB;AAAA,MACC,aAAU;AAAA,MACV,WAAWC,EAAG,8DAA8DJ,CAAS;AAAA,MACpF,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASI,EAAY,EAAE,WAAAL,GAAW,GAAGC,KAA6D;AAChG,SACE,gBAAAC;AAAA,IAACC,EAAgB;AAAA,IAAhB;AAAA,MACC,aAAU;AAAA,MACV,WAAWC,EAAG,2BAA2BJ,CAAS;AAAA,MACjD,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASK,EAAe;AAAA,EACtB,WAAAN;AAAA,EACA,GAAGC;AACL,GAA0D;AACxD,SACE,gBAAAC;AAAA,IAACC,EAAgB;AAAA,IAAhB;AAAA,MACC,aAAU;AAAA,MACV,WAAWC,EAAG,oEAAoEJ,CAAS;AAAA,MAC1F,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;"}
@@ -0,0 +1,3 @@
1
+ export declare const badgeVariants: (props?: ({
2
+ variant?: "default" | "destructive" | "outline" | "secondary" | null | undefined;
3
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
@@ -1,15 +1,12 @@
1
- import { jsx as a } from "react/jsx-runtime";
2
- import { Slot as o } from "@radix-ui/react-slot";
3
- import { cva as n } from "class-variance-authority";
4
- import { cn as s } from "../lib/utils.js";
5
- const d = n(
1
+ import { cva as r } from "class-variance-authority";
2
+ const t = r(
6
3
  "inline-flex items-center justify-center rounded-full border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",
7
4
  {
8
5
  variants: {
9
6
  variant: {
10
- default: "border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",
11
- secondary: "border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",
12
- destructive: "border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",
7
+ default: "border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90 shadow-sm",
8
+ secondary: "border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90 shadow-sm",
9
+ destructive: "border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60 shadow-sm",
13
10
  outline: "text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"
14
11
  }
15
12
  },
@@ -18,16 +15,7 @@ const d = n(
18
15
  }
19
16
  }
20
17
  );
21
- function b({
22
- className: r,
23
- variant: e,
24
- asChild: t = !1,
25
- ...i
26
- }) {
27
- return /* @__PURE__ */ a(t ? o : "span", { "data-slot": "badge", className: s(d({ variant: e }), r), ...i });
28
- }
29
18
  export {
30
- b as Badge,
31
- d as badgeVariants
19
+ t as badgeVariants
32
20
  };
33
- //# sourceMappingURL=badge.js.map
21
+ //# sourceMappingURL=badge-variants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"badge-variants.js","sources":["../../../src/components/primitives/badge-variants.ts"],"sourcesContent":["import { cva } from \"class-variance-authority\";\n\nexport const badgeVariants = cva(\n \"inline-flex items-center justify-center rounded-full border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden\",\n {\n variants: {\n variant: {\n default:\n \"border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90 shadow-sm\",\n secondary:\n \"border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90 shadow-sm\",\n destructive:\n \"border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60 shadow-sm\",\n outline: \"text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n },\n);\n"],"names":["badgeVariants","cva"],"mappings":";AAEO,MAAMA,IAAgBC;AAAA,EAC3B;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SACE;AAAA,QACF,WACE;AAAA,QACF,aACE;AAAA,QACF,SAAS;AAAA,MAAA;AAAA,IACX;AAAA,IAEF,iBAAiB;AAAA,MACf,SAAS;AAAA,IAAA;AAAA,EACX;AAEJ;"}
@@ -0,0 +1,9 @@
1
+ import { VariantProps } from 'class-variance-authority';
2
+ import { badgeVariants } from './badge-variants';
3
+ import * as React from "react";
4
+ interface BadgeProps extends React.ComponentProps<"span">, VariantProps<typeof badgeVariants> {
5
+ asChild?: boolean;
6
+ }
7
+ declare const Badge: React.ForwardRefExoticComponent<Omit<BadgeProps, "ref"> & React.RefAttributes<HTMLSpanElement>>;
8
+ export { Badge };
9
+ export type { BadgeProps };
@@ -0,0 +1,21 @@
1
+ import { jsx as e } from "react/jsx-runtime";
2
+ import * as s from "react";
3
+ import { Slot as p } from "@radix-ui/react-slot";
4
+ import { cn as f } from "../../lib/utils.js";
5
+ import { badgeVariants as d } from "./badge-variants.js";
6
+ const i = s.forwardRef(
7
+ ({ className: o, variant: a, asChild: r = !1, ...m }, t) => /* @__PURE__ */ e(
8
+ r ? p : "span",
9
+ {
10
+ ref: t,
11
+ "data-slot": "badge",
12
+ className: f(d({ variant: a, className: o })),
13
+ ...m
14
+ }
15
+ )
16
+ );
17
+ i.displayName = "Badge";
18
+ export {
19
+ i as Badge
20
+ };
21
+ //# sourceMappingURL=badge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"badge.js","sources":["../../../src/components/primitives/badge.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"@/lib/utils\";\nimport { badgeVariants } from \"./badge-variants\";\n\ninterface BadgeProps extends React.ComponentProps<\"span\">, VariantProps<typeof badgeVariants> {\n asChild?: boolean;\n}\n\nconst Badge = React.forwardRef<HTMLSpanElement, BadgeProps>(\n ({ className, variant, asChild = false, ...props }, ref) => {\n const Comp = asChild ? Slot : \"span\";\n\n return (\n <Comp\n ref={ref}\n data-slot=\"badge\"\n className={cn(badgeVariants({ variant, className }))}\n {...props}\n />\n );\n },\n);\n\nBadge.displayName = \"Badge\";\n\nexport { Badge };\nexport type { BadgeProps };\n"],"names":["jsx","React","Slot","cn","badgeVariants","Badge","className","variant","asChild","props","ref"],"mappings":"AAYA,SAAA,OAAAA,SAAA;AAAA,YAAAC,OAAA;AAAA,SAAA,QAAAC,SAAA;AAAA,SAAA,MAAAC,SAAA;AAAA,SAAA,iBAAAC,SAAA;AAAA,MAAMC,IAAQJ,EAAM;AAAA,EAClB,CAAC,EAAE,WAAAK,GAAW,SAAAC,GAAS,SAAAC,IAAU,IAAO,GAAGC,EAAA,GAASC,MAIhD,gBAAAV;AAAA,IAHWQ,IAAUN,IAAO;AAAA,IAG3B;AAAA,MACC,KAAAQ;AAAA,MACA,aAAU;AAAA,MACV,WAAWP,EAAGC,EAAc,EAAE,SAAAG,GAAS,WAAAD,EAAA,CAAW,CAAC;AAAA,MAClD,GAAGG;AAAA,IAAA;AAAA,EAAA;AAIZ;AAEAJ,EAAM,cAAc;"}
@@ -1,7 +1,7 @@
1
1
  import { jsx as a, jsxs as o } from "react/jsx-runtime";
2
2
  import { Slot as s } from "@radix-ui/react-slot";
3
3
  import { ChevronRight as i, MoreHorizontal as l } from "lucide-react";
4
- import { cn as t } from "../lib/utils.js";
4
+ import { cn as t } from "../../lib/utils.js";
5
5
  function p({ ...r }) {
6
6
  return /* @__PURE__ */ a("nav", { "aria-label": "breadcrumb", "data-slot": "breadcrumb", ...r });
7
7
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"breadcrumb.js","sources":["../../../src/components/primitives/breadcrumb.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { ChevronRight, MoreHorizontal } from \"lucide-react\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction Breadcrumb({ ...props }: React.ComponentProps<\"nav\">) {\n return <nav aria-label=\"breadcrumb\" data-slot=\"breadcrumb\" {...props} />;\n}\n\nfunction BreadcrumbList({ className, ...props }: React.ComponentProps<\"ol\">) {\n return (\n <ol\n data-slot=\"breadcrumb-list\"\n className={cn(\n \"text-muted-foreground flex flex-wrap items-center gap-1.5 text-sm break-words sm:gap-2.5\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction BreadcrumbItem({ className, ...props }: React.ComponentProps<\"li\">) {\n return (\n <li\n data-slot=\"breadcrumb-item\"\n className={cn(\"inline-flex items-center gap-1.5\", className)}\n {...props}\n />\n );\n}\n\nfunction BreadcrumbLink({\n asChild,\n className,\n ...props\n}: React.ComponentProps<\"a\"> & {\n asChild?: boolean;\n}) {\n const Comp = asChild ? Slot : \"a\";\n\n return (\n <Comp\n data-slot=\"breadcrumb-link\"\n className={cn(\"hover:text-foreground transition-colors\", className)}\n {...props}\n />\n );\n}\n\nfunction BreadcrumbPage({ className, ...props }: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"breadcrumb-page\"\n role=\"link\"\n aria-disabled=\"true\"\n aria-current=\"page\"\n className={cn(\"text-foreground font-normal\", className)}\n {...props}\n />\n );\n}\n\nfunction BreadcrumbSeparator({ children, className, ...props }: React.ComponentProps<\"li\">) {\n return (\n <li\n data-slot=\"breadcrumb-separator\"\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn(\"[&>svg]:size-3.5\", className)}\n {...props}\n >\n {children ?? <ChevronRight />}\n </li>\n );\n}\n\nfunction BreadcrumbEllipsis({ className, ...props }: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"breadcrumb-ellipsis\"\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn(\"flex size-9 items-center justify-center\", className)}\n {...props}\n >\n <MoreHorizontal className=\"size-4\" />\n <span className=\"sr-only\">More</span>\n </span>\n );\n}\n\nexport {\n Breadcrumb,\n BreadcrumbList,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbPage,\n BreadcrumbSeparator,\n BreadcrumbEllipsis,\n};\n"],"names":["jsx","jsxs","Slot","ChevronRight","MoreHorizontal","cn","Breadcrumb","props","BreadcrumbList","className","BreadcrumbItem","BreadcrumbLink","asChild","BreadcrumbPage","BreadcrumbSeparator","children","BreadcrumbEllipsis"],"mappings":"AAMA,SAAA,OAAAA,GAAA,QAAAC,SAAA;AAAA,SAAA,QAAAC,SAAA;AAAA,SAAA,gBAAAC,GAAA,kBAAAC,SAAA;AAAA,SAAA,MAAAC,SAAA;AAAA,SAASC,EAAW,EAAE,GAAGC,KAAsC;AAC7D,2BAAQ,OAAA,EAAI,cAAW,cAAa,aAAU,cAAc,GAAGA,GAAO;AACxE;AAEA,SAASC,EAAe,EAAE,WAAAC,GAAW,GAAGF,KAAqC;AAC3E,SACE,gBAAAP;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWK;AAAA,QACT;AAAA,QACAI;AAAA,MAAA;AAAA,MAED,GAAGF;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASG,EAAe,EAAE,WAAAD,GAAW,GAAGF,KAAqC;AAC3E,SACE,gBAAAP;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWK,EAAG,oCAAoCI,CAAS;AAAA,MAC1D,GAAGF;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASI,EAAe;AAAA,EACtB,SAAAC;AAAA,EACA,WAAAH;AAAA,EACA,GAAGF;AACL,GAEG;AAGD,SACE,gBAAAP;AAAA,IAHWY,IAAUV,IAAO;AAAA,IAG3B;AAAA,MACC,aAAU;AAAA,MACV,WAAWG,EAAG,2CAA2CI,CAAS;AAAA,MACjE,GAAGF;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASM,EAAe,EAAE,WAAAJ,GAAW,GAAGF,KAAuC;AAC7E,SACE,gBAAAP;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,MAAK;AAAA,MACL,iBAAc;AAAA,MACd,gBAAa;AAAA,MACb,WAAWK,EAAG,+BAA+BI,CAAS;AAAA,MACrD,GAAGF;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASO,EAAoB,EAAE,UAAAC,GAAU,WAAAN,GAAW,GAAGF,KAAqC;AAC1F,SACE,gBAAAP;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,MAAK;AAAA,MACL,eAAY;AAAA,MACZ,WAAWK,EAAG,oBAAoBI,CAAS;AAAA,MAC1C,GAAGF;AAAA,MAEH,UAAAQ,uBAAaZ,GAAA,CAAA,CAAa;AAAA,IAAA;AAAA,EAAA;AAGjC;AAEA,SAASa,EAAmB,EAAE,WAAAP,GAAW,GAAGF,KAAuC;AACjF,SACE,gBAAAN;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,MAAK;AAAA,MACL,eAAY;AAAA,MACZ,WAAWI,EAAG,2CAA2CI,CAAS;AAAA,MACjE,GAAGF;AAAA,MAEJ,UAAA;AAAA,QAAA,gBAAAP,EAACI,GAAA,EAAe,WAAU,SAAA,CAAS;AAAA,QACnC,gBAAAJ,EAAC,QAAA,EAAK,WAAU,WAAU,UAAA,OAAA,CAAI;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGpC;"}
@@ -0,0 +1,3 @@
1
+ export declare const buttonGroupVariants: (props?: ({
2
+ orientation?: "horizontal" | "vertical" | null | undefined;
3
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
@@ -0,0 +1,19 @@
1
+ import { cva as t } from "class-variance-authority";
2
+ const e = t(
3
+ "flex w-fit items-stretch [&>*]:focus-visible:z-10 [&>*]:focus-visible:relative [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-r-md has-[>[data-slot=button-group]]:gap-2",
4
+ {
5
+ variants: {
6
+ orientation: {
7
+ horizontal: "[&>*:not(:first-child)]:rounded-l-none [&>*:not(:first-child)]:border-l-0 [&>*:not(:last-child)]:rounded-r-none",
8
+ vertical: "flex-col [&>*:not(:first-child)]:rounded-t-none [&>*:not(:first-child)]:border-t-0 [&>*:not(:last-child)]:rounded-b-none"
9
+ }
10
+ },
11
+ defaultVariants: {
12
+ orientation: "horizontal"
13
+ }
14
+ }
15
+ );
16
+ export {
17
+ e as buttonGroupVariants
18
+ };
19
+ //# sourceMappingURL=button-group-variants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button-group-variants.js","sources":["../../../src/components/primitives/button-group-variants.ts"],"sourcesContent":["import { cva } from \"class-variance-authority\";\n\nexport const buttonGroupVariants = cva(\n \"flex w-fit items-stretch [&>*]:focus-visible:z-10 [&>*]:focus-visible:relative [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-r-md has-[>[data-slot=button-group]]:gap-2\",\n {\n variants: {\n orientation: {\n horizontal:\n \"[&>*:not(:first-child)]:rounded-l-none [&>*:not(:first-child)]:border-l-0 [&>*:not(:last-child)]:rounded-r-none\",\n vertical:\n \"flex-col [&>*:not(:first-child)]:rounded-t-none [&>*:not(:first-child)]:border-t-0 [&>*:not(:last-child)]:rounded-b-none\",\n },\n },\n defaultVariants: {\n orientation: \"horizontal\",\n },\n },\n);\n"],"names":["buttonGroupVariants","cva"],"mappings":";AAEO,MAAMA,IAAsBC;AAAA,EACjC;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,aAAa;AAAA,QACX,YACE;AAAA,QACF,UACE;AAAA,MAAA;AAAA,IACJ;AAAA,IAEF,iBAAiB;AAAA,MACf,aAAa;AAAA,IAAA;AAAA,EACf;AAEJ;"}
@@ -0,0 +1,13 @@
1
+ import { VariantProps } from 'class-variance-authority';
2
+ import { buttonGroupVariants } from './button-group-variants';
3
+ import * as React from "react";
4
+ interface ButtonGroupProps extends React.ComponentProps<"div">, VariantProps<typeof buttonGroupVariants> {
5
+ }
6
+ declare const ButtonGroup: React.ForwardRefExoticComponent<Omit<ButtonGroupProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
7
+ interface ButtonGroupTextProps extends React.ComponentProps<"div"> {
8
+ asChild?: boolean;
9
+ }
10
+ declare const ButtonGroupText: React.ForwardRefExoticComponent<Omit<ButtonGroupTextProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
11
+ declare const ButtonGroupSeparator: React.ForwardRefExoticComponent<Omit<import('@radix-ui/react-separator').SeparatorProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
12
+ export { ButtonGroup, ButtonGroupSeparator, ButtonGroupText };
13
+ export type { ButtonGroupProps, ButtonGroupTextProps };