react-marketing-ui 0.0.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 (318) hide show
  1. package/README.md +34 -0
  2. package/dist/accordion.d.cts +21 -0
  3. package/dist/accordion.d.ts +21 -0
  4. package/dist/accordion.d.ts.map +1 -0
  5. package/dist/accordion.js +230 -0
  6. package/dist/accordion.js.map +1 -0
  7. package/dist/accordion.mjs +4 -0
  8. package/dist/accordion.mjs.map +1 -0
  9. package/dist/action-swap.d.cts +23 -0
  10. package/dist/action-swap.d.ts +23 -0
  11. package/dist/action-swap.d.ts.map +1 -0
  12. package/dist/action-swap.js +81 -0
  13. package/dist/action-swap.js.map +1 -0
  14. package/dist/action-swap.mjs +5 -0
  15. package/dist/action-swap.mjs.map +1 -0
  16. package/dist/animated-beam.d.cts +24 -0
  17. package/dist/animated-beam.d.ts +24 -0
  18. package/dist/animated-beam.d.ts.map +1 -0
  19. package/dist/animated-beam.js +130 -0
  20. package/dist/animated-beam.js.map +1 -0
  21. package/dist/animated-beam.mjs +4 -0
  22. package/dist/animated-beam.mjs.map +1 -0
  23. package/dist/button.d.cts +55 -0
  24. package/dist/button.d.ts +55 -0
  25. package/dist/button.d.ts.map +1 -0
  26. package/dist/button.js +119 -0
  27. package/dist/button.js.map +1 -0
  28. package/dist/button.mjs +4 -0
  29. package/dist/button.mjs.map +1 -0
  30. package/dist/card.d.cts +20 -0
  31. package/dist/card.d.ts +20 -0
  32. package/dist/card.d.ts.map +1 -0
  33. package/dist/card.js +146 -0
  34. package/dist/card.js.map +1 -0
  35. package/dist/card.mjs +5 -0
  36. package/dist/card.mjs.map +1 -0
  37. package/dist/chunk-3SB6HUBA.mjs +31 -0
  38. package/dist/chunk-3SB6HUBA.mjs.map +1 -0
  39. package/dist/chunk-4PBVBXGY.mjs +84 -0
  40. package/dist/chunk-4PBVBXGY.mjs.map +1 -0
  41. package/dist/chunk-4VCFWVSJ.mjs +42 -0
  42. package/dist/chunk-4VCFWVSJ.mjs.map +1 -0
  43. package/dist/chunk-5QQAPGR2.mjs +109 -0
  44. package/dist/chunk-5QQAPGR2.mjs.map +1 -0
  45. package/dist/chunk-6MB4UKRX.mjs +19 -0
  46. package/dist/chunk-6MB4UKRX.mjs.map +1 -0
  47. package/dist/chunk-6T5LR34O.mjs +45 -0
  48. package/dist/chunk-6T5LR34O.mjs.map +1 -0
  49. package/dist/chunk-AYLCYDUM.mjs +275 -0
  50. package/dist/chunk-AYLCYDUM.mjs.map +1 -0
  51. package/dist/chunk-AYY7D2RJ.mjs +112 -0
  52. package/dist/chunk-AYY7D2RJ.mjs.map +1 -0
  53. package/dist/chunk-CTZEI2YS.mjs +324 -0
  54. package/dist/chunk-CTZEI2YS.mjs.map +1 -0
  55. package/dist/chunk-DA3I3Y5O.mjs +71 -0
  56. package/dist/chunk-DA3I3Y5O.mjs.map +1 -0
  57. package/dist/chunk-EYHT2EWJ.mjs +18 -0
  58. package/dist/chunk-EYHT2EWJ.mjs.map +1 -0
  59. package/dist/chunk-IHLGCS63.mjs +36 -0
  60. package/dist/chunk-IHLGCS63.mjs.map +1 -0
  61. package/dist/chunk-JVXJ6SFX.mjs +38 -0
  62. package/dist/chunk-JVXJ6SFX.mjs.map +1 -0
  63. package/dist/chunk-KBHYXLRG.mjs +13 -0
  64. package/dist/chunk-KBHYXLRG.mjs.map +1 -0
  65. package/dist/chunk-KMXUQYR3.mjs +74 -0
  66. package/dist/chunk-KMXUQYR3.mjs.map +1 -0
  67. package/dist/chunk-KNPOZ34H.mjs +88 -0
  68. package/dist/chunk-KNPOZ34H.mjs.map +1 -0
  69. package/dist/chunk-KRNWCJ4D.mjs +219 -0
  70. package/dist/chunk-KRNWCJ4D.mjs.map +1 -0
  71. package/dist/chunk-M5MESV26.mjs +124 -0
  72. package/dist/chunk-M5MESV26.mjs.map +1 -0
  73. package/dist/chunk-MJYBPJBA.mjs +115 -0
  74. package/dist/chunk-MJYBPJBA.mjs.map +1 -0
  75. package/dist/chunk-NNHPQ67J.mjs +10 -0
  76. package/dist/chunk-NNHPQ67J.mjs.map +1 -0
  77. package/dist/chunk-OCZFHVVD.mjs +71 -0
  78. package/dist/chunk-OCZFHVVD.mjs.map +1 -0
  79. package/dist/chunk-QAWSH567.mjs +19 -0
  80. package/dist/chunk-QAWSH567.mjs.map +1 -0
  81. package/dist/chunk-R2E2J42H.mjs +38 -0
  82. package/dist/chunk-R2E2J42H.mjs.map +1 -0
  83. package/dist/chunk-TPGLLSYV.mjs +65 -0
  84. package/dist/chunk-TPGLLSYV.mjs.map +1 -0
  85. package/dist/chunk-VJENJHXJ.mjs +72 -0
  86. package/dist/chunk-VJENJHXJ.mjs.map +1 -0
  87. package/dist/chunk-W22G7XHR.mjs +104 -0
  88. package/dist/chunk-W22G7XHR.mjs.map +1 -0
  89. package/dist/chunk-WDR5VPZJ.mjs +79 -0
  90. package/dist/chunk-WDR5VPZJ.mjs.map +1 -0
  91. package/dist/chunk-WLUGKBH7.mjs +37 -0
  92. package/dist/chunk-WLUGKBH7.mjs.map +1 -0
  93. package/dist/chunk-WYJYLDUA.mjs +84 -0
  94. package/dist/chunk-WYJYLDUA.mjs.map +1 -0
  95. package/dist/chunk-XZEDZVXT.mjs +38 -0
  96. package/dist/chunk-XZEDZVXT.mjs.map +1 -0
  97. package/dist/chunk-YKGP5JIL.mjs +328 -0
  98. package/dist/chunk-YKGP5JIL.mjs.map +1 -0
  99. package/dist/chunk-YM3U2OBE.mjs +99 -0
  100. package/dist/chunk-YM3U2OBE.mjs.map +1 -0
  101. package/dist/dia-text-reveal.css +18 -0
  102. package/dist/dia-text-reveal.css.map +1 -0
  103. package/dist/dia-text-reveal.d.cts +37 -0
  104. package/dist/dia-text-reveal.d.ts +37 -0
  105. package/dist/dia-text-reveal.d.ts.map +1 -0
  106. package/dist/dia-text-reveal.js +334 -0
  107. package/dist/dia-text-reveal.js.map +1 -0
  108. package/dist/dia-text-reveal.lines.d.cts +23 -0
  109. package/dist/dia-text-reveal.lines.d.ts +23 -0
  110. package/dist/dia-text-reveal.lines.d.ts.map +1 -0
  111. package/dist/dia-text-reveal.mjs +4 -0
  112. package/dist/dia-text-reveal.mjs.map +1 -0
  113. package/dist/dia-text-reveal.sweep.d.cts +49 -0
  114. package/dist/dia-text-reveal.sweep.d.ts +49 -0
  115. package/dist/dia-text-reveal.sweep.d.ts.map +1 -0
  116. package/dist/dia-text-reveal.utils.d.cts +3 -0
  117. package/dist/dia-text-reveal.utils.d.ts +3 -0
  118. package/dist/dia-text-reveal.utils.d.ts.map +1 -0
  119. package/dist/elevated-input.d.cts +11 -0
  120. package/dist/elevated-input.d.ts +11 -0
  121. package/dist/elevated-input.d.ts.map +1 -0
  122. package/dist/elevated-input.js +52 -0
  123. package/dist/elevated-input.js.map +1 -0
  124. package/dist/elevated-input.mjs +4 -0
  125. package/dist/elevated-input.mjs.map +1 -0
  126. package/dist/fade-in.d.cts +43 -0
  127. package/dist/fade-in.d.ts +43 -0
  128. package/dist/fade-in.d.ts.map +1 -0
  129. package/dist/fade-in.js +89 -0
  130. package/dist/fade-in.js.map +1 -0
  131. package/dist/fade-in.mjs +4 -0
  132. package/dist/fade-in.mjs.map +1 -0
  133. package/dist/feature-card.d.cts +23 -0
  134. package/dist/feature-card.d.ts +23 -0
  135. package/dist/feature-card.d.ts.map +1 -0
  136. package/dist/feature-card.js +38 -0
  137. package/dist/feature-card.js.map +1 -0
  138. package/dist/feature-card.mjs +4 -0
  139. package/dist/feature-card.mjs.map +1 -0
  140. package/dist/flowchart-parts.d.cts +61 -0
  141. package/dist/flowchart-parts.d.ts +61 -0
  142. package/dist/flowchart-parts.d.ts.map +1 -0
  143. package/dist/flowchart-parts.js +102 -0
  144. package/dist/flowchart-parts.js.map +1 -0
  145. package/dist/flowchart-parts.mjs +4 -0
  146. package/dist/flowchart-parts.mjs.map +1 -0
  147. package/dist/glossy-button.d.cts +21 -0
  148. package/dist/glossy-button.d.ts +21 -0
  149. package/dist/glossy-button.d.ts.map +1 -0
  150. package/dist/glossy-button.js +87 -0
  151. package/dist/glossy-button.js.map +1 -0
  152. package/dist/glossy-button.mjs +4 -0
  153. package/dist/glossy-button.mjs.map +1 -0
  154. package/dist/grainient.css +9 -0
  155. package/dist/grainient.css.map +1 -0
  156. package/dist/grainient.d.cts +5 -0
  157. package/dist/grainient.d.ts +5 -0
  158. package/dist/grainient.d.ts.map +1 -0
  159. package/dist/grainient.js +330 -0
  160. package/dist/grainient.js.map +1 -0
  161. package/dist/grainient.mjs +4 -0
  162. package/dist/grainient.mjs.map +1 -0
  163. package/dist/grainient.shader.d.cts +9 -0
  164. package/dist/grainient.shader.d.ts +9 -0
  165. package/dist/grainient.shader.d.ts.map +1 -0
  166. package/dist/grainient.types.d.cts +30 -0
  167. package/dist/grainient.types.d.ts +30 -0
  168. package/dist/grainient.types.d.ts.map +1 -0
  169. package/dist/highlighter.d.cts +47 -0
  170. package/dist/highlighter.d.ts +47 -0
  171. package/dist/highlighter.d.ts.map +1 -0
  172. package/dist/highlighter.js +125 -0
  173. package/dist/highlighter.js.map +1 -0
  174. package/dist/highlighter.mjs +5 -0
  175. package/dist/highlighter.mjs.map +1 -0
  176. package/dist/index.css +27 -0
  177. package/dist/index.css.map +1 -0
  178. package/dist/index.d.cts +56 -0
  179. package/dist/index.d.ts +56 -0
  180. package/dist/index.d.ts.map +1 -0
  181. package/dist/index.js +2723 -0
  182. package/dist/index.js.map +1 -0
  183. package/dist/index.mjs +34 -0
  184. package/dist/index.mjs.map +1 -0
  185. package/dist/input.d.cts +15 -0
  186. package/dist/input.d.ts +15 -0
  187. package/dist/input.d.ts.map +1 -0
  188. package/dist/input.js +110 -0
  189. package/dist/input.js.map +1 -0
  190. package/dist/input.mjs +4 -0
  191. package/dist/input.mjs.map +1 -0
  192. package/dist/lib/breakpoints.d.cts +36 -0
  193. package/dist/lib/breakpoints.d.ts +36 -0
  194. package/dist/lib/breakpoints.d.ts.map +1 -0
  195. package/dist/lib/breakpoints.js +41 -0
  196. package/dist/lib/breakpoints.js.map +1 -0
  197. package/dist/lib/breakpoints.mjs +3 -0
  198. package/dist/lib/breakpoints.mjs.map +1 -0
  199. package/dist/lib/cn.js +24 -0
  200. package/dist/lib/cn.js.map +1 -0
  201. package/dist/lib/cn.mjs +3 -0
  202. package/dist/lib/cn.mjs.map +1 -0
  203. package/dist/lib/ease.d.cts +19 -0
  204. package/dist/lib/ease.d.ts +19 -0
  205. package/dist/lib/ease.d.ts.map +1 -0
  206. package/dist/lib/ease.js +16 -0
  207. package/dist/lib/ease.js.map +1 -0
  208. package/dist/lib/ease.mjs +3 -0
  209. package/dist/lib/ease.mjs.map +1 -0
  210. package/dist/lib/surface.d.cts +14 -0
  211. package/dist/lib/surface.d.ts +14 -0
  212. package/dist/lib/surface.d.ts.map +1 -0
  213. package/dist/lib/surface.js +40 -0
  214. package/dist/lib/surface.js.map +1 -0
  215. package/dist/lib/surface.mjs +3 -0
  216. package/dist/lib/surface.mjs.map +1 -0
  217. package/dist/lib/use-media-query.d.cts +9 -0
  218. package/dist/lib/use-media-query.d.ts +9 -0
  219. package/dist/lib/use-media-query.d.ts.map +1 -0
  220. package/dist/lib/use-media-query.js +19 -0
  221. package/dist/lib/use-media-query.js.map +1 -0
  222. package/dist/lib/use-media-query.mjs +3 -0
  223. package/dist/lib/use-media-query.mjs.map +1 -0
  224. package/dist/lib/utils.d.cts +25 -0
  225. package/dist/lib/utils.d.ts +25 -0
  226. package/dist/lib/utils.d.ts.map +1 -0
  227. package/dist/liquid-metal.d.cts +24 -0
  228. package/dist/liquid-metal.d.ts +24 -0
  229. package/dist/liquid-metal.d.ts.map +1 -0
  230. package/dist/liquid-metal.js +43 -0
  231. package/dist/liquid-metal.js.map +1 -0
  232. package/dist/liquid-metal.mjs +4 -0
  233. package/dist/liquid-metal.mjs.map +1 -0
  234. package/dist/navigation-menu-icons.d.cts +5 -0
  235. package/dist/navigation-menu-icons.d.ts +5 -0
  236. package/dist/navigation-menu-icons.d.ts.map +1 -0
  237. package/dist/navigation-menu-icons.js +42 -0
  238. package/dist/navigation-menu-icons.js.map +1 -0
  239. package/dist/navigation-menu-icons.mjs +3 -0
  240. package/dist/navigation-menu-icons.mjs.map +1 -0
  241. package/dist/navigation-menu-styles.d.cts +45 -0
  242. package/dist/navigation-menu-styles.d.ts +45 -0
  243. package/dist/navigation-menu-styles.d.ts.map +1 -0
  244. package/dist/navigation-menu-styles.js +16 -0
  245. package/dist/navigation-menu-styles.js.map +1 -0
  246. package/dist/navigation-menu-styles.mjs +3 -0
  247. package/dist/navigation-menu-styles.mjs.map +1 -0
  248. package/dist/navigation-menu.d.cts +18 -0
  249. package/dist/navigation-menu.d.ts +18 -0
  250. package/dist/navigation-menu.d.ts.map +1 -0
  251. package/dist/navigation-menu.js +367 -0
  252. package/dist/navigation-menu.js.map +1 -0
  253. package/dist/navigation-menu.mjs +7 -0
  254. package/dist/navigation-menu.mjs.map +1 -0
  255. package/dist/password-input.d.cts +6 -0
  256. package/dist/password-input.d.ts +6 -0
  257. package/dist/password-input.d.ts.map +1 -0
  258. package/dist/password-input.js +174 -0
  259. package/dist/password-input.js.map +1 -0
  260. package/dist/password-input.mjs +5 -0
  261. package/dist/password-input.mjs.map +1 -0
  262. package/dist/rainbow-button.d.cts +16 -0
  263. package/dist/rainbow-button.d.ts +16 -0
  264. package/dist/rainbow-button.d.ts.map +1 -0
  265. package/dist/rainbow-button.js +49 -0
  266. package/dist/rainbow-button.js.map +1 -0
  267. package/dist/rainbow-button.mjs +4 -0
  268. package/dist/rainbow-button.mjs.map +1 -0
  269. package/dist/range-slider.d.cts +20 -0
  270. package/dist/range-slider.d.ts +20 -0
  271. package/dist/range-slider.d.ts.map +1 -0
  272. package/dist/range-slider.js +85 -0
  273. package/dist/range-slider.js.map +1 -0
  274. package/dist/range-slider.mjs +3 -0
  275. package/dist/range-slider.mjs.map +1 -0
  276. package/dist/rolling-badge.d.cts +11 -0
  277. package/dist/rolling-badge.d.ts +11 -0
  278. package/dist/rolling-badge.d.ts.map +1 -0
  279. package/dist/rolling-badge.js +71 -0
  280. package/dist/rolling-badge.js.map +1 -0
  281. package/dist/rolling-badge.mjs +4 -0
  282. package/dist/rolling-badge.mjs.map +1 -0
  283. package/dist/savings-badge.d.cts +10 -0
  284. package/dist/savings-badge.d.ts +10 -0
  285. package/dist/savings-badge.d.ts.map +1 -0
  286. package/dist/savings-badge.js +26 -0
  287. package/dist/savings-badge.js.map +1 -0
  288. package/dist/savings-badge.mjs +4 -0
  289. package/dist/savings-badge.mjs.map +1 -0
  290. package/dist/shine-border.d.cts +15 -0
  291. package/dist/shine-border.d.ts +15 -0
  292. package/dist/shine-border.d.ts.map +1 -0
  293. package/dist/shine-border.js +47 -0
  294. package/dist/shine-border.js.map +1 -0
  295. package/dist/shine-border.mjs +4 -0
  296. package/dist/shine-border.mjs.map +1 -0
  297. package/dist/sparkles-text.d.cts +22 -0
  298. package/dist/sparkles-text.d.ts +22 -0
  299. package/dist/sparkles-text.d.ts.map +1 -0
  300. package/dist/sparkles-text.js +87 -0
  301. package/dist/sparkles-text.js.map +1 -0
  302. package/dist/sparkles-text.mjs +5 -0
  303. package/dist/sparkles-text.mjs.map +1 -0
  304. package/dist/tabs.d.cts +16 -0
  305. package/dist/tabs.d.ts +16 -0
  306. package/dist/tabs.d.ts.map +1 -0
  307. package/dist/tabs.js +121 -0
  308. package/dist/tabs.js.map +1 -0
  309. package/dist/tabs.mjs +4 -0
  310. package/dist/tabs.mjs.map +1 -0
  311. package/dist/theme-toggle.d.cts +10 -0
  312. package/dist/theme-toggle.d.ts +10 -0
  313. package/dist/theme-toggle.d.ts.map +1 -0
  314. package/dist/theme-toggle.js +251 -0
  315. package/dist/theme-toggle.js.map +1 -0
  316. package/dist/theme-toggle.mjs +7 -0
  317. package/dist/theme-toggle.mjs.map +1 -0
  318. package/package.json +428 -0
@@ -0,0 +1,275 @@
1
+ import { navigationMenuTriggerStyle, navigationMenuSubTriggerStyle } from './chunk-KBHYXLRG.mjs';
2
+ import { ChevronDownIcon, ChevronRightIcon, ArrowSvg } from './chunk-JVXJ6SFX.mjs';
3
+ import { solidSurface } from './chunk-XZEDZVXT.mjs';
4
+ import { cn, validCssVars } from './chunk-QAWSH567.mjs';
5
+ import { NavigationMenu as NavigationMenu$1 } from '@base-ui/react/navigation-menu';
6
+ import { jsxs, jsx } from 'react/jsx-runtime';
7
+
8
+ function NavigationMenu({
9
+ className,
10
+ children,
11
+ side,
12
+ sideOffset = 10,
13
+ align,
14
+ alignOffset,
15
+ collisionPadding = { top: 5, bottom: 5, left: 20, right: 20 },
16
+ collisionBoundary,
17
+ arrow = false,
18
+ positionMethod = "fixed",
19
+ level = 2,
20
+ shadowLevel = 2,
21
+ ...props
22
+ }) {
23
+ return /* @__PURE__ */ jsxs(
24
+ NavigationMenu$1.Root,
25
+ {
26
+ "data-slot": "navigation-menu",
27
+ "data-level": level,
28
+ className: cn("min-w-max rounded-md p-1 text-foreground", solidSurface(level, shadowLevel), className),
29
+ ...props,
30
+ children: [
31
+ children,
32
+ /* @__PURE__ */ jsx(
33
+ NavigationMenuViewport,
34
+ {
35
+ side,
36
+ sideOffset,
37
+ align,
38
+ alignOffset,
39
+ collisionPadding,
40
+ collisionBoundary,
41
+ arrow,
42
+ positionMethod
43
+ }
44
+ )
45
+ ]
46
+ }
47
+ );
48
+ }
49
+ function NavigationMenuList({ className, ...props }) {
50
+ return /* @__PURE__ */ jsx(NavigationMenu$1.List, { "data-slot": "navigation-menu-list", className: cn("relative flex", className), ...props });
51
+ }
52
+ function NavigationMenuItem({ className, ...props }) {
53
+ return /* @__PURE__ */ jsx(NavigationMenu$1.Item, { "data-slot": "navigation-menu-item", className: cn("relative", className), ...props });
54
+ }
55
+ function NavigationMenuTrigger({ className, children, ...props }) {
56
+ return /* @__PURE__ */ jsxs(
57
+ NavigationMenu$1.Trigger,
58
+ {
59
+ "data-slot": "navigation-menu-trigger",
60
+ className: cn(navigationMenuTriggerStyle(), className),
61
+ ...props,
62
+ children: [
63
+ children,
64
+ /* @__PURE__ */ jsx(NavigationMenuIcon, {})
65
+ ]
66
+ }
67
+ );
68
+ }
69
+ function NavigationMenuIcon({
70
+ className,
71
+ render = /* @__PURE__ */ jsx(ChevronDownIcon, {}),
72
+ ...props
73
+ }) {
74
+ return /* @__PURE__ */ jsx(
75
+ NavigationMenu$1.Icon,
76
+ {
77
+ className: cn("transition-transform duration-200 ease-in-out data-[popup-open]:rotate-180", className),
78
+ render,
79
+ ...props
80
+ }
81
+ );
82
+ }
83
+ function NavigationMenuSubTrigger({
84
+ className,
85
+ children,
86
+ ...props
87
+ }) {
88
+ return /* @__PURE__ */ jsxs(
89
+ NavigationMenu$1.Trigger,
90
+ {
91
+ "data-slot": "navigation-menu-sub-trigger",
92
+ className: cn(navigationMenuSubTriggerStyle(), className),
93
+ ...props,
94
+ children: [
95
+ children,
96
+ /* @__PURE__ */ jsx(
97
+ NavigationMenu$1.Icon,
98
+ {
99
+ className: "absolute top-1/2 right-2.5 flex h-2.5 w-2.5 -translate-y-1/2 items-center justify-center transition-transform duration-200 ease-in-out data-[popup-open]:rotate-180",
100
+ render: /* @__PURE__ */ jsx(ChevronRightIcon, {})
101
+ }
102
+ )
103
+ ]
104
+ }
105
+ );
106
+ }
107
+ function NavigationMenuContent({ className, ...props }) {
108
+ return /* @__PURE__ */ jsx(
109
+ NavigationMenu$1.Content,
110
+ {
111
+ "data-slot": "navigation-menu-content",
112
+ className: cn(
113
+ "h-full w-[calc(100vw-2.5rem)] p-4 sm:w-max",
114
+ // Transitions for opacity/transform/filter
115
+ "transition-[opacity,transform,filter,scale,translate] duration-(--duration) ease-(--easing)",
116
+ // Starting/ending opacity
117
+ "data-ending-style:opacity-0 data-starting-style:opacity-0",
118
+ // Direction-aware slide (starting)
119
+ "data-starting-style:data-[activation-direction=left]:-translate-x-1/2",
120
+ "data-starting-style:data-[activation-direction=right]:translate-x-1/2",
121
+ // Direction-aware slide (ending)
122
+ "data-ending-style:data-[activation-direction=left]:translate-x-1/2",
123
+ "data-ending-style:data-[activation-direction=right]:-translate-x-1/2",
124
+ // Blur effect during transitions
125
+ "data-ending-style:blur-[4px] data-starting-style:blur-[4px]",
126
+ // scale effect during transitions
127
+ "data-ending-style:scale-97 data-starting-style:scale-97",
128
+ // Motion reduce support
129
+ "motion-reduce:transition-none",
130
+ className
131
+ ),
132
+ ...props
133
+ }
134
+ );
135
+ }
136
+ function NavigationMenuLink({ className, standalone, ...props }) {
137
+ return /* @__PURE__ */ jsx(
138
+ NavigationMenu$1.Link,
139
+ {
140
+ "data-slot": "navigation-menu-link",
141
+ className: cn(
142
+ standalone ? navigationMenuTriggerStyle() : "block rounded-md p-2.5 xs:p-3 text-inherit no-underline duration-150 hover:text-foreground hover:duration-0 focus-visible:relative focus-visible:outline-2 focus-visible:outline-ring focus-visible:-outline-offset-1",
143
+ className
144
+ ),
145
+ ...props
146
+ }
147
+ );
148
+ }
149
+ function NavigationMenuBackdrop({ ...props }) {
150
+ return /* @__PURE__ */ jsx(NavigationMenu$1.Backdrop, { "data-slot": "navigation-menu-backdrop", ...props });
151
+ }
152
+ function NavigationMenuPortal({ ...props }) {
153
+ return /* @__PURE__ */ jsx(NavigationMenu$1.Portal, { "data-slot": "navigation-menu-portal", ...props });
154
+ }
155
+ function NavigationMenuArrow({ ...props }) {
156
+ return /* @__PURE__ */ jsx(
157
+ NavigationMenu$1.Arrow,
158
+ {
159
+ className: "flex transition-[left] duration-[var(--duration)] ease-[var(--easing)] data-[side=bottom]:top-[-8px] data-[side=left]:right-[-13px] data-[side=top]:bottom-[-8px] data-[side=right]:left-[-13px] data-[side=left]:rotate-90 data-[side=right]:-rotate-90 data-[side=top]:rotate-180",
160
+ ...props,
161
+ children: /* @__PURE__ */ jsx(ArrowSvg, {})
162
+ }
163
+ );
164
+ }
165
+ function NavigationMenuViewport({
166
+ className,
167
+ children,
168
+ side,
169
+ sideOffset,
170
+ align,
171
+ alignOffset,
172
+ collisionPadding,
173
+ collisionBoundary,
174
+ arrow = false,
175
+ positionMethod = "fixed",
176
+ ...props
177
+ }) {
178
+ return /* @__PURE__ */ jsx(NavigationMenuPortal, { children: /* @__PURE__ */ jsx(
179
+ NavigationMenu$1.Positioner,
180
+ {
181
+ "data-slot": "navigation-menu-positioner",
182
+ side,
183
+ sideOffset,
184
+ align,
185
+ alignOffset,
186
+ collisionPadding,
187
+ collisionBoundary,
188
+ positionMethod,
189
+ className: "z-50 box-border h-(--positioner-height) w-(--positioner-width) max-w-(--available-width) transition-[top,left,right,bottom] duration-(--duration) ease-(--easing) before:absolute before:content-[''] data-instant:transition-none data-[side=bottom]:before:-top-2.5 data-[side=left]:before:top-0 data-[side=right]:before:top-0 data-[side=bottom]:before:right-0 data-[side=left]:before:-right-2.5 data-[side=top]:before:right-0 data-[side=left]:before:bottom-0 data-[side=right]:before:bottom-0 data-[side=top]:before:-bottom-2.5 data-[side=bottom]:before:left-0 data-[side=right]:before:-left-2.5 data-[side=top]:before:left-0 data-[side=bottom]:before:h-2.5 data-[side=top]:before:h-2.5 data-[side=left]:before:w-2.5 data-[side=right]:before:w-2.5",
190
+ style: validCssVars({ "--duration": "0.35s", "--easing": "cubic-bezier(0.22, 1, 0.36, 1)" }),
191
+ children: /* @__PURE__ */ jsxs(
192
+ NavigationMenu$1.Popup,
193
+ {
194
+ "data-slot": "navigation-menu-content",
195
+ className: cn(
196
+ "relative h-(--popup-height) w-(--popup-width) origin-(--transform-origin) overflow-hidden rounded-md text-foreground transition-[opacity,transform,width,height,scale,translate] duration-(--duration) ease-(--easing) data-ending-style:scale-90 data-starting-style:scale-90 data-ending-style:opacity-0 data-starting-style:opacity-0 data-ending-style:duration-150",
197
+ solidSurface(3, 3)
198
+ ),
199
+ children: [
200
+ arrow ? /* @__PURE__ */ jsx(NavigationMenuArrow, {}) : null,
201
+ /* @__PURE__ */ jsx(
202
+ NavigationMenu$1.Viewport,
203
+ {
204
+ "data-slot": "navigation-menu-viewport",
205
+ className: cn("relative h-full w-full overflow-hidden", className),
206
+ ...props,
207
+ children
208
+ }
209
+ )
210
+ ]
211
+ }
212
+ )
213
+ }
214
+ ) });
215
+ }
216
+ function NavigationMenuSub({
217
+ className,
218
+ children,
219
+ orientation = "vertical",
220
+ side = "right",
221
+ sideOffset = 24,
222
+ align = "end",
223
+ alignOffset = -24,
224
+ arrow = false,
225
+ ...props
226
+ }) {
227
+ return /* @__PURE__ */ jsxs(
228
+ NavigationMenu$1.Root,
229
+ {
230
+ "data-slot": "navigation-menu-sub",
231
+ className: cn("", className),
232
+ orientation,
233
+ ...props,
234
+ children: [
235
+ children,
236
+ /* @__PURE__ */ jsx(NavigationMenuPortal, { children: /* @__PURE__ */ jsx(
237
+ NavigationMenu$1.Positioner,
238
+ {
239
+ "data-slot": "navigation-menu-sub-positioner",
240
+ sideOffset,
241
+ alignOffset,
242
+ align,
243
+ side,
244
+ className: "box-border h-(--positioner-height) w-(--positioner-width) max-w-(--available-width) transition-[top,left,right,bottom] duration-(--duration) ease-(--easing) before:absolute before:content-[''] data-instant:transition-none data-[side=bottom]:before:-top-2.5 data-[side=left]:before:top-0 data-[side=right]:before:top-0 data-[side=bottom]:before:right-0 data-[side=left]:before:-right-2.5 data-[side=top]:before:right-0 data-[side=left]:before:bottom-0 data-[side=right]:before:bottom-0 data-[side=top]:before:-bottom-2.5 data-[side=bottom]:before:left-0 data-[side=right]:before:-left-2.5 data-[side=top]:before:left-0 data-[side=bottom]:before:h-2.5 data-[side=top]:before:h-2.5 data-[side=left]:before:w-2.5 data-[side=right]:before:w-2.5",
245
+ style: validCssVars({ "--duration": "0.35s", "--easing": "cubic-bezier(0.22, 1, 0.36, 1)" }),
246
+ children: /* @__PURE__ */ jsxs(
247
+ NavigationMenu$1.Popup,
248
+ {
249
+ "data-slot": "navigation-menu-sub-content",
250
+ className: cn(
251
+ "relative h-(--popup-height) w-(--popup-width) origin-(--transform-origin) overflow-hidden rounded-md text-foreground transition-[opacity,transform,width,height,scale,translate] duration-(--duration) ease-(--easing) data-ending-style:scale-90 data-starting-style:scale-90 data-ending-style:opacity-0 data-starting-style:opacity-0 data-ending-style:duration-150",
252
+ solidSurface(5, 5)
253
+ ),
254
+ children: [
255
+ arrow ? /* @__PURE__ */ jsx(NavigationMenuArrow, {}) : null,
256
+ /* @__PURE__ */ jsx(
257
+ NavigationMenu$1.Viewport,
258
+ {
259
+ "data-slot": "navigation-menu-sub-viewport",
260
+ className: "relative h-full w-full overflow-hidden"
261
+ }
262
+ )
263
+ ]
264
+ }
265
+ )
266
+ }
267
+ ) })
268
+ ]
269
+ }
270
+ );
271
+ }
272
+
273
+ export { NavigationMenu, NavigationMenuArrow, NavigationMenuBackdrop, NavigationMenuContent, NavigationMenuIcon, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuPortal, NavigationMenuSub, NavigationMenuSubTrigger, NavigationMenuTrigger, NavigationMenuViewport };
274
+ //# sourceMappingURL=chunk-AYLCYDUM.mjs.map
275
+ //# sourceMappingURL=chunk-AYLCYDUM.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/navigation-menu.tsx"],"names":["NavigationMenuPrimitive"],"mappings":"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","file":"chunk-AYLCYDUM.mjs","sourcesContent":["import { NavigationMenu as NavigationMenuPrimitive } from '@base-ui/react/navigation-menu';\nimport type * as React from 'react';\nimport { solidSurface } from '../lib/surface.js';\nimport { cn, validCssVars } from '../lib/utils.js';\nimport { ArrowSvg, ChevronDownIcon, ChevronRightIcon } from './navigation-menu-icons.js';\nimport {\n type NavigationMenuLinkProps,\n type NavigationMenuProps,\n type NavigationMenuSubProps,\n type NavigationMenuViewportProps,\n navigationMenuSubTriggerStyle,\n navigationMenuTriggerStyle,\n} from './navigation-menu-styles.js';\n\nfunction NavigationMenu({\n className,\n children,\n side,\n sideOffset = 10,\n align,\n alignOffset,\n collisionPadding = { top: 5, bottom: 5, left: 20, right: 20 },\n collisionBoundary,\n arrow = false,\n positionMethod = 'fixed',\n level = 2,\n shadowLevel = 2,\n ...props\n}: NavigationMenuProps) {\n return (\n <NavigationMenuPrimitive.Root\n data-slot=\"navigation-menu\"\n data-level={level}\n className={cn('min-w-max rounded-md p-1 text-foreground', solidSurface(level, shadowLevel), className)}\n {...props}\n >\n {children}\n <NavigationMenuViewport\n side={side}\n sideOffset={sideOffset}\n align={align}\n alignOffset={alignOffset}\n collisionPadding={collisionPadding}\n collisionBoundary={collisionBoundary}\n arrow={arrow}\n positionMethod={positionMethod}\n />\n </NavigationMenuPrimitive.Root>\n );\n}\n\nfunction NavigationMenuList({ className, ...props }: React.ComponentProps<typeof NavigationMenuPrimitive.List>) {\n return <NavigationMenuPrimitive.List data-slot=\"navigation-menu-list\" className={cn('relative flex', className)} {...props} />;\n}\n\nfunction NavigationMenuItem({ className, ...props }: React.ComponentProps<typeof NavigationMenuPrimitive.Item>) {\n return <NavigationMenuPrimitive.Item data-slot=\"navigation-menu-item\" className={cn('relative', className)} {...props} />;\n}\n\nfunction NavigationMenuTrigger({ className, children, ...props }: React.ComponentProps<typeof NavigationMenuPrimitive.Trigger>) {\n return (\n <NavigationMenuPrimitive.Trigger\n data-slot=\"navigation-menu-trigger\"\n className={cn(navigationMenuTriggerStyle(), className)}\n {...props}\n >\n {children}\n <NavigationMenuIcon />\n </NavigationMenuPrimitive.Trigger>\n );\n}\n\nfunction NavigationMenuIcon({\n className,\n render = <ChevronDownIcon />,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Icon>) {\n return (\n <NavigationMenuPrimitive.Icon\n className={cn('transition-transform duration-200 ease-in-out data-[popup-open]:rotate-180', className)}\n render={render}\n {...props}\n />\n );\n}\n\nfunction NavigationMenuSubTrigger({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Trigger>) {\n return (\n <NavigationMenuPrimitive.Trigger\n data-slot=\"navigation-menu-sub-trigger\"\n className={cn(navigationMenuSubTriggerStyle(), className)}\n {...props}\n >\n {children}\n <NavigationMenuPrimitive.Icon\n className=\"absolute top-1/2 right-2.5 flex h-2.5 w-2.5 -translate-y-1/2 items-center justify-center transition-transform duration-200 ease-in-out data-[popup-open]:rotate-180\"\n render={<ChevronRightIcon />}\n />\n </NavigationMenuPrimitive.Trigger>\n );\n}\n\nfunction NavigationMenuContent({ className, ...props }: React.ComponentProps<typeof NavigationMenuPrimitive.Content>) {\n return (\n <NavigationMenuPrimitive.Content\n data-slot=\"navigation-menu-content\"\n className={cn(\n 'h-full w-[calc(100vw-2.5rem)] p-4 sm:w-max',\n // Transitions for opacity/transform/filter\n 'transition-[opacity,transform,filter,scale,translate] duration-(--duration) ease-(--easing)',\n // Starting/ending opacity\n 'data-ending-style:opacity-0 data-starting-style:opacity-0',\n // Direction-aware slide (starting)\n 'data-starting-style:data-[activation-direction=left]:-translate-x-1/2',\n 'data-starting-style:data-[activation-direction=right]:translate-x-1/2',\n // Direction-aware slide (ending)\n 'data-ending-style:data-[activation-direction=left]:translate-x-1/2',\n 'data-ending-style:data-[activation-direction=right]:-translate-x-1/2',\n // Blur effect during transitions\n 'data-ending-style:blur-[4px] data-starting-style:blur-[4px]',\n // scale effect during transitions\n 'data-ending-style:scale-97 data-starting-style:scale-97',\n // Motion reduce support\n 'motion-reduce:transition-none',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction NavigationMenuLink({ className, standalone, ...props }: NavigationMenuLinkProps) {\n return (\n <NavigationMenuPrimitive.Link\n data-slot=\"navigation-menu-link\"\n className={cn(\n standalone\n ? navigationMenuTriggerStyle()\n : 'block rounded-md p-2.5 xs:p-3 text-inherit no-underline duration-150 hover:text-foreground hover:duration-0 focus-visible:relative focus-visible:outline-2 focus-visible:outline-ring focus-visible:-outline-offset-1',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction NavigationMenuBackdrop({ ...props }: React.ComponentProps<typeof NavigationMenuPrimitive.Backdrop>) {\n return <NavigationMenuPrimitive.Backdrop data-slot=\"navigation-menu-backdrop\" {...props} />;\n}\n\nfunction NavigationMenuPortal({ ...props }: React.ComponentProps<typeof NavigationMenuPrimitive.Portal>) {\n return <NavigationMenuPrimitive.Portal data-slot=\"navigation-menu-portal\" {...props} />;\n}\n\nfunction NavigationMenuArrow({ ...props }: React.ComponentProps<typeof NavigationMenuPrimitive.Arrow>) {\n return (\n <NavigationMenuPrimitive.Arrow\n className=\"flex transition-[left] duration-[var(--duration)] ease-[var(--easing)] data-[side=bottom]:top-[-8px] data-[side=left]:right-[-13px] data-[side=top]:bottom-[-8px] data-[side=right]:left-[-13px] data-[side=left]:rotate-90 data-[side=right]:-rotate-90 data-[side=top]:rotate-180\"\n {...props}\n >\n <ArrowSvg />\n </NavigationMenuPrimitive.Arrow>\n );\n}\n\nfunction NavigationMenuViewport({\n className,\n children,\n side,\n sideOffset,\n align,\n alignOffset,\n collisionPadding,\n collisionBoundary,\n arrow = false,\n positionMethod = 'fixed',\n ...props\n}: NavigationMenuViewportProps) {\n return (\n <NavigationMenuPortal>\n <NavigationMenuPrimitive.Positioner\n data-slot=\"navigation-menu-positioner\"\n side={side}\n sideOffset={sideOffset}\n align={align}\n alignOffset={alignOffset}\n collisionPadding={collisionPadding}\n collisionBoundary={collisionBoundary}\n positionMethod={positionMethod}\n className=\"z-50 box-border h-(--positioner-height) w-(--positioner-width) max-w-(--available-width) transition-[top,left,right,bottom] duration-(--duration) ease-(--easing) before:absolute before:content-[''] data-instant:transition-none data-[side=bottom]:before:-top-2.5 data-[side=left]:before:top-0 data-[side=right]:before:top-0 data-[side=bottom]:before:right-0 data-[side=left]:before:-right-2.5 data-[side=top]:before:right-0 data-[side=left]:before:bottom-0 data-[side=right]:before:bottom-0 data-[side=top]:before:-bottom-2.5 data-[side=bottom]:before:left-0 data-[side=right]:before:-left-2.5 data-[side=top]:before:left-0 data-[side=bottom]:before:h-2.5 data-[side=top]:before:h-2.5 data-[side=left]:before:w-2.5 data-[side=right]:before:w-2.5\"\n style={validCssVars({ '--duration': '0.35s', '--easing': 'cubic-bezier(0.22, 1, 0.36, 1)' })}\n >\n <NavigationMenuPrimitive.Popup\n data-slot=\"navigation-menu-content\"\n className={cn(\n 'relative h-(--popup-height) w-(--popup-width) origin-(--transform-origin) overflow-hidden rounded-md text-foreground transition-[opacity,transform,width,height,scale,translate] duration-(--duration) ease-(--easing) data-ending-style:scale-90 data-starting-style:scale-90 data-ending-style:opacity-0 data-starting-style:opacity-0 data-ending-style:duration-150',\n solidSurface(3, 3),\n )}\n >\n {arrow ? <NavigationMenuArrow /> : null}\n <NavigationMenuPrimitive.Viewport\n data-slot=\"navigation-menu-viewport\"\n className={cn('relative h-full w-full overflow-hidden', className)}\n {...props}\n >\n {children}\n </NavigationMenuPrimitive.Viewport>\n </NavigationMenuPrimitive.Popup>\n </NavigationMenuPrimitive.Positioner>\n </NavigationMenuPortal>\n );\n}\n\nfunction NavigationMenuSub({\n className,\n children,\n orientation = 'vertical',\n side = 'right',\n sideOffset = 24,\n align = 'end',\n alignOffset = -24,\n arrow = false,\n ...props\n}: NavigationMenuSubProps) {\n return (\n <NavigationMenuPrimitive.Root\n data-slot=\"navigation-menu-sub\"\n className={cn('', className)}\n orientation={orientation}\n {...props}\n >\n {children}\n <NavigationMenuPortal>\n <NavigationMenuPrimitive.Positioner\n data-slot=\"navigation-menu-sub-positioner\"\n sideOffset={sideOffset}\n alignOffset={alignOffset}\n align={align}\n side={side}\n className=\"box-border h-(--positioner-height) w-(--positioner-width) max-w-(--available-width) transition-[top,left,right,bottom] duration-(--duration) ease-(--easing) before:absolute before:content-[''] data-instant:transition-none data-[side=bottom]:before:-top-2.5 data-[side=left]:before:top-0 data-[side=right]:before:top-0 data-[side=bottom]:before:right-0 data-[side=left]:before:-right-2.5 data-[side=top]:before:right-0 data-[side=left]:before:bottom-0 data-[side=right]:before:bottom-0 data-[side=top]:before:-bottom-2.5 data-[side=bottom]:before:left-0 data-[side=right]:before:-left-2.5 data-[side=top]:before:left-0 data-[side=bottom]:before:h-2.5 data-[side=top]:before:h-2.5 data-[side=left]:before:w-2.5 data-[side=right]:before:w-2.5\"\n style={validCssVars({ '--duration': '0.35s', '--easing': 'cubic-bezier(0.22, 1, 0.36, 1)' })}\n >\n <NavigationMenuPrimitive.Popup\n data-slot=\"navigation-menu-sub-content\"\n className={cn(\n 'relative h-(--popup-height) w-(--popup-width) origin-(--transform-origin) overflow-hidden rounded-md text-foreground transition-[opacity,transform,width,height,scale,translate] duration-(--duration) ease-(--easing) data-ending-style:scale-90 data-starting-style:scale-90 data-ending-style:opacity-0 data-starting-style:opacity-0 data-ending-style:duration-150',\n solidSurface(5, 5),\n )}\n >\n {arrow ? <NavigationMenuArrow /> : null}\n <NavigationMenuPrimitive.Viewport\n data-slot=\"navigation-menu-sub-viewport\"\n className=\"relative h-full w-full overflow-hidden\"\n />\n </NavigationMenuPrimitive.Popup>\n </NavigationMenuPrimitive.Positioner>\n </NavigationMenuPortal>\n </NavigationMenuPrimitive.Root>\n );\n}\n\nexport {\n NavigationMenu,\n NavigationMenuArrow,\n NavigationMenuBackdrop,\n NavigationMenuContent,\n NavigationMenuIcon,\n NavigationMenuItem,\n NavigationMenuLink,\n NavigationMenuList,\n NavigationMenuPortal,\n NavigationMenuSub,\n NavigationMenuSubTrigger,\n NavigationMenuTrigger,\n NavigationMenuViewport,\n};\n"]}
@@ -0,0 +1,112 @@
1
+ import { cn } from './chunk-QAWSH567.mjs';
2
+ import { cva } from 'class-variance-authority';
3
+ import { jsxs, jsx } from 'react/jsx-runtime';
4
+
5
+ var buttonVariants = cva(
6
+ "group inline-flex items-center justify-center gap-1.5 font-medium [transition:opacity_.24s_80ms,transform_.15s_cubic-bezier(.4,0,.2,1),box-shadow_.15s_cubic-bezier(.4,0,.2,1),filter_.15s_cubic-bezier(.4,0,.2,1)] disabled:[transition:opacity_.1s]",
7
+ {
8
+ variants: {
9
+ variant: {
10
+ filled: "bg-(--foreground) text-(--primary-foreground) shadow-elevated-3 hover:opacity-90",
11
+ bordered: "border border-(--border-hi) bg-surface-3 text-foreground shadow-elevated-3 hover:bg-(--muted)",
12
+ ghost: "text-(--foreground-secondary) hover:bg-(--surface-hover) hover:text-(--foreground)"
13
+ },
14
+ size: {
15
+ sm: "h-8 px-3.5 text-[15px]",
16
+ md: "h-9 px-5 text-[17px]",
17
+ lg: "h-11 px-6 text-[17px]",
18
+ icon: "size-11"
19
+ },
20
+ shape: {
21
+ rounded: "rounded-interactive",
22
+ pill: "rounded-full"
23
+ }
24
+ },
25
+ // Pill is the house standard — every CTA is fully rounded.
26
+ defaultVariants: { variant: "filled", size: "md", shape: "pill" }
27
+ }
28
+ );
29
+ function Button({
30
+ variant,
31
+ size,
32
+ shape,
33
+ showArrow = false,
34
+ external = false,
35
+ title,
36
+ actionOrLink,
37
+ children,
38
+ className,
39
+ "aria-label": ariaLabel,
40
+ "aria-expanded": ariaExpanded
41
+ }) {
42
+ const buttonClassName = cn(buttonVariants({ variant, size, shape }), className);
43
+ const arrowSlot = showArrow && /* @__PURE__ */ jsxs(
44
+ "svg",
45
+ {
46
+ viewBox: "0 0 14 14",
47
+ width: "14",
48
+ height: "14",
49
+ fill: "none",
50
+ stroke: "currentColor",
51
+ strokeWidth: "2",
52
+ strokeLinecap: "round",
53
+ strokeLinejoin: "round",
54
+ "aria-hidden": true,
55
+ className: "shrink-0",
56
+ children: [
57
+ /* @__PURE__ */ jsx(
58
+ "line",
59
+ {
60
+ x1: "0",
61
+ y1: "7",
62
+ x2: "9",
63
+ y2: "7",
64
+ strokeDasharray: "9",
65
+ className: "[stroke-dashoffset:9] [transition:stroke-dashoffset_.08s_cubic-bezier(.22,1,.36,1)] group-hover:[stroke-dashoffset:0] group-hover:[transition-duration:.22s]"
66
+ }
67
+ ),
68
+ /* @__PURE__ */ jsx(
69
+ "path",
70
+ {
71
+ d: "M5 3l4 4-4 4",
72
+ className: "[transform:translateX(0)] [transition:transform_.22s_cubic-bezier(.22,1,.36,1)] group-hover:[transform:translateX(2px)]"
73
+ }
74
+ )
75
+ ]
76
+ }
77
+ );
78
+ if (typeof actionOrLink === "string")
79
+ return /* @__PURE__ */ jsxs(
80
+ "a",
81
+ {
82
+ href: actionOrLink,
83
+ className: cn(buttonClassName, "no-underline"),
84
+ "aria-label": ariaLabel,
85
+ title,
86
+ ...external ? { target: "_blank", rel: "noopener noreferrer" } : {},
87
+ children: [
88
+ children,
89
+ arrowSlot
90
+ ]
91
+ }
92
+ );
93
+ return /* @__PURE__ */ jsxs(
94
+ "button",
95
+ {
96
+ type: "button",
97
+ className: buttonClassName,
98
+ onClick: actionOrLink,
99
+ "aria-label": ariaLabel,
100
+ "aria-expanded": ariaExpanded,
101
+ title,
102
+ children: [
103
+ children,
104
+ arrowSlot
105
+ ]
106
+ }
107
+ );
108
+ }
109
+
110
+ export { Button };
111
+ //# sourceMappingURL=chunk-AYY7D2RJ.mjs.map
112
+ //# sourceMappingURL=chunk-AYY7D2RJ.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/button.tsx"],"names":[],"mappings":"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","file":"chunk-AYY7D2RJ.mjs","sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\nimport type { ReactNode } from 'react';\nimport { cn } from '../lib/utils.js';\n\n/**\n * Shared marketing-site button styles.\n *\n * The `transition` in the base string matches the former `.button-transition`\n * utility — a pure-CSS morph so the component stays server-renderable.\n */\nconst buttonVariants = cva(\n 'group inline-flex items-center justify-center gap-1.5 font-medium [transition:opacity_.24s_80ms,transform_.15s_cubic-bezier(.4,0,.2,1),box-shadow_.15s_cubic-bezier(.4,0,.2,1),filter_.15s_cubic-bezier(.4,0,.2,1)] disabled:[transition:opacity_.1s]',\n {\n variants: {\n variant: {\n filled: 'bg-(--foreground) text-(--primary-foreground) shadow-elevated-3 hover:opacity-90',\n bordered: 'border border-(--border-hi) bg-surface-3 text-foreground shadow-elevated-3 hover:bg-(--muted)',\n ghost: 'text-(--foreground-secondary) hover:bg-(--surface-hover) hover:text-(--foreground)',\n },\n size: {\n sm: 'h-8 px-3.5 text-[15px]',\n md: 'h-9 px-5 text-[17px]',\n lg: 'h-11 px-6 text-[17px]',\n icon: 'size-11',\n },\n shape: {\n rounded: 'rounded-interactive',\n pill: 'rounded-full',\n },\n },\n // Pill is the house standard — every CTA is fully rounded.\n defaultVariants: { variant: 'filled', size: 'md', shape: 'pill' },\n },\n);\n\nexport type ButtonProps = VariantProps<typeof buttonVariants> & {\n showArrow?: boolean;\n /**\n * Set when `actionOrLink` is an off-site URL — renders the anchor with\n * `target=\"_blank\"` and `rel=\"noopener noreferrer\"`.\n */\n external?: boolean;\n /** Hover tooltip on the rendered anchor/button. */\n title?: string;\n /**\n * String → renders as a plain anchor <a href={...}>.\n * Function → renders as a <button type=\"button\" onClick={...}>.\n */\n actionOrLink: string | (() => void);\n children: ReactNode;\n className?: string;\n 'aria-label'?: string;\n 'aria-expanded'?: boolean;\n};\n\n/**\n * Shared marketing-site button.\n *\n * variant=\"filled\" → primary CTA (inverse theming: bg-(--foreground) + text-(--primary-foreground)\n * + shadow-elevated-3 — flips with the theme so it pops against any surface)\n * variant=\"bordered\" → elevated surface + border (bg-surface-3 + shadow-elevated-3 + border)\n * variant=\"ghost\" → transparent, muted text that gains a surface on hover\n * size=\"sm\" → h-8, px-3.5, text-[15px] (navbar / compact)\n * size=\"md\" → h-9, px-5, text-[17px] (default)\n * size=\"lg\" → h-11, px-6, text-[17px] (hero CTAs)\n * size=\"icon\" → size-11 square (icon-only buttons)\n * shape=\"pill\" → fully rounded (rounded-full); pill is the default\n * showArrow → chevron right at rest, morphs to arrow-right on hover\n *\n * Server-renderable: the arrow morph is pure CSS (group-hover), so no client\n * state or animation library is needed. When `actionOrLink` is a function the\n * component renders a <button>; passing a function requires a client-component\n * parent (functions can't cross the server→client boundary), which is inherent\n * to any onClick prop and unchanged by this component being server-capable.\n */\nexport function Button({\n variant,\n size,\n shape,\n showArrow = false,\n external = false,\n title,\n actionOrLink,\n children,\n className,\n 'aria-label': ariaLabel,\n 'aria-expanded': ariaExpanded,\n}: ButtonProps) {\n const buttonClassName = cn(buttonVariants({ variant, size, shape }), className);\n\n /*\n * Single SVG that morphs from › to → on hover — pure CSS, no JS.\n * The shaft draws in from the left (stroke-dashoffset 9 → 0) and the arrowhead\n * nudges right. Draw-in is slower (.22s) than the reverse (.08s), matching the\n * asymmetric timing of the former framer-motion version. ease = cubic-bezier(.22,1,.36,1).\n */\n const arrowSlot = showArrow && (\n <svg\n viewBox=\"0 0 14 14\"\n width=\"14\"\n height=\"14\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden={true}\n className=\"shrink-0\"\n >\n {/* Shaft — draws in from the left */}\n <line\n x1=\"0\"\n y1=\"7\"\n x2=\"9\"\n y2=\"7\"\n strokeDasharray=\"9\"\n className=\"[stroke-dashoffset:9] [transition:stroke-dashoffset_.08s_cubic-bezier(.22,1,.36,1)] group-hover:[stroke-dashoffset:0] group-hover:[transition-duration:.22s]\"\n />\n {/* Arrowhead — nudges right so the shaft \"connects\" underneath */}\n <path\n d=\"M5 3l4 4-4 4\"\n className=\"[transform:translateX(0)] [transition:transform_.22s_cubic-bezier(.22,1,.36,1)] group-hover:[transform:translateX(2px)]\"\n />\n </svg>\n );\n\n if (typeof actionOrLink === 'string')\n return (\n <a\n href={actionOrLink}\n className={cn(buttonClassName, 'no-underline')}\n aria-label={ariaLabel}\n title={title}\n {...(external ? { target: '_blank', rel: 'noopener noreferrer' } : {})}\n >\n {children}\n {arrowSlot}\n </a>\n );\n\n return (\n <button\n type=\"button\"\n className={buttonClassName}\n onClick={actionOrLink}\n aria-label={ariaLabel}\n aria-expanded={ariaExpanded}\n title={title}\n >\n {children}\n {arrowSlot}\n </button>\n );\n}\n"]}