react-marketing-ui 0.0.3 → 0.0.4

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 (178) hide show
  1. package/dist/accordion.js +1 -1
  2. package/dist/accordion.js.map +1 -1
  3. package/dist/accordion.mjs +222 -2
  4. package/dist/accordion.mjs.map +1 -1
  5. package/dist/action-swap.js +1 -0
  6. package/dist/action-swap.mjs +77 -3
  7. package/dist/action-swap.mjs.map +1 -1
  8. package/dist/animated-beam.js +1 -0
  9. package/dist/animated-beam.mjs +127 -2
  10. package/dist/animated-beam.mjs.map +1 -1
  11. package/dist/button.js +1 -1
  12. package/dist/button.js.map +1 -1
  13. package/dist/button.mjs +115 -2
  14. package/dist/button.mjs.map +1 -1
  15. package/dist/card.js +1 -2
  16. package/dist/card.js.map +1 -1
  17. package/dist/card.mjs +135 -3
  18. package/dist/card.mjs.map +1 -1
  19. package/dist/dia-text-reveal.js +1 -0
  20. package/dist/dia-text-reveal.mjs +331 -2
  21. package/dist/dia-text-reveal.mjs.map +1 -1
  22. package/dist/elevated-input.js +1 -1
  23. package/dist/elevated-input.js.map +1 -1
  24. package/dist/elevated-input.mjs +48 -2
  25. package/dist/elevated-input.mjs.map +1 -1
  26. package/dist/fade-in.js +1 -0
  27. package/dist/fade-in.mjs +84 -2
  28. package/dist/fade-in.mjs.map +1 -1
  29. package/dist/feature-card.js +1 -1
  30. package/dist/feature-card.js.map +1 -1
  31. package/dist/feature-card.mjs +34 -2
  32. package/dist/feature-card.mjs.map +1 -1
  33. package/dist/flowchart-parts.js +1 -1
  34. package/dist/flowchart-parts.js.map +1 -1
  35. package/dist/flowchart-parts.mjs +91 -2
  36. package/dist/flowchart-parts.mjs.map +1 -1
  37. package/dist/glossy-button.js +1 -1
  38. package/dist/glossy-button.js.map +1 -1
  39. package/dist/glossy-button.mjs +82 -2
  40. package/dist/glossy-button.mjs.map +1 -1
  41. package/dist/grainient.js +1 -0
  42. package/dist/grainient.mjs +327 -2
  43. package/dist/grainient.mjs.map +1 -1
  44. package/dist/highlighter.js +1 -0
  45. package/dist/highlighter.mjs +122 -3
  46. package/dist/highlighter.mjs.map +1 -1
  47. package/dist/index.js +1 -1
  48. package/dist/index.js.map +1 -1
  49. package/dist/index.mjs +2642 -32
  50. package/dist/index.mjs.map +1 -1
  51. package/dist/input.js +1 -0
  52. package/dist/input.mjs +107 -2
  53. package/dist/input.mjs.map +1 -1
  54. package/dist/lib/breakpoints.js +1 -1
  55. package/dist/lib/breakpoints.js.map +1 -1
  56. package/dist/lib/breakpoints.mjs +34 -1
  57. package/dist/lib/breakpoints.mjs.map +1 -1
  58. package/dist/lib/cn.js +1 -1
  59. package/dist/lib/cn.js.map +1 -1
  60. package/dist/lib/cn.mjs +17 -1
  61. package/dist/lib/cn.mjs.map +1 -1
  62. package/dist/lib/ease.js +1 -0
  63. package/dist/lib/ease.mjs +9 -1
  64. package/dist/lib/ease.mjs.map +1 -1
  65. package/dist/lib/surface.js +1 -0
  66. package/dist/lib/surface.mjs +37 -1
  67. package/dist/lib/surface.mjs.map +1 -1
  68. package/dist/lib/use-media-query.js +1 -0
  69. package/dist/lib/use-media-query.mjs +16 -1
  70. package/dist/lib/use-media-query.mjs.map +1 -1
  71. package/dist/liquid-metal.js +1 -0
  72. package/dist/liquid-metal.mjs +40 -2
  73. package/dist/liquid-metal.mjs.map +1 -1
  74. package/dist/navigation-menu-icons.js +1 -1
  75. package/dist/navigation-menu-icons.js.map +1 -1
  76. package/dist/navigation-menu-icons.mjs +36 -1
  77. package/dist/navigation-menu-icons.mjs.map +1 -1
  78. package/dist/navigation-menu-styles.js +1 -1
  79. package/dist/navigation-menu-styles.js.map +1 -1
  80. package/dist/navigation-menu-styles.mjs +11 -1
  81. package/dist/navigation-menu-styles.mjs.map +1 -1
  82. package/dist/navigation-menu.js +1 -2
  83. package/dist/navigation-menu.js.map +1 -1
  84. package/dist/navigation-menu.mjs +350 -5
  85. package/dist/navigation-menu.mjs.map +1 -1
  86. package/dist/password-input.js +1 -0
  87. package/dist/password-input.mjs +171 -3
  88. package/dist/password-input.mjs.map +1 -1
  89. package/dist/rainbow-button.js +1 -0
  90. package/dist/rainbow-button.mjs +45 -2
  91. package/dist/rainbow-button.mjs.map +1 -1
  92. package/dist/range-slider.js +1 -0
  93. package/dist/range-slider.mjs +82 -1
  94. package/dist/range-slider.mjs.map +1 -1
  95. package/dist/rolling-badge.js +1 -0
  96. package/dist/rolling-badge.mjs +68 -2
  97. package/dist/rolling-badge.mjs.map +1 -1
  98. package/dist/savings-badge.js +1 -1
  99. package/dist/savings-badge.js.map +1 -1
  100. package/dist/savings-badge.mjs +22 -2
  101. package/dist/savings-badge.mjs.map +1 -1
  102. package/dist/shine-border.js +1 -0
  103. package/dist/shine-border.mjs +44 -2
  104. package/dist/shine-border.mjs.map +1 -1
  105. package/dist/sparkles-text.js +1 -0
  106. package/dist/sparkles-text.mjs +84 -3
  107. package/dist/sparkles-text.mjs.map +1 -1
  108. package/dist/tabs.js +1 -0
  109. package/dist/tabs.mjs +118 -2
  110. package/dist/tabs.mjs.map +1 -1
  111. package/dist/theme-toggle.js +1 -0
  112. package/dist/theme-toggle.mjs +248 -5
  113. package/dist/theme-toggle.mjs.map +1 -1
  114. package/package.json +2 -2
  115. package/dist/chunk-3SB6HUBA.mjs +0 -31
  116. package/dist/chunk-3SB6HUBA.mjs.map +0 -1
  117. package/dist/chunk-4PBVBXGY.mjs +0 -84
  118. package/dist/chunk-4PBVBXGY.mjs.map +0 -1
  119. package/dist/chunk-4VCFWVSJ.mjs +0 -42
  120. package/dist/chunk-4VCFWVSJ.mjs.map +0 -1
  121. package/dist/chunk-5QQAPGR2.mjs +0 -109
  122. package/dist/chunk-5QQAPGR2.mjs.map +0 -1
  123. package/dist/chunk-6MB4UKRX.mjs +0 -19
  124. package/dist/chunk-6MB4UKRX.mjs.map +0 -1
  125. package/dist/chunk-6T5LR34O.mjs +0 -45
  126. package/dist/chunk-6T5LR34O.mjs.map +0 -1
  127. package/dist/chunk-AYLCYDUM.mjs +0 -275
  128. package/dist/chunk-AYLCYDUM.mjs.map +0 -1
  129. package/dist/chunk-AYY7D2RJ.mjs +0 -112
  130. package/dist/chunk-AYY7D2RJ.mjs.map +0 -1
  131. package/dist/chunk-CTZEI2YS.mjs +0 -324
  132. package/dist/chunk-CTZEI2YS.mjs.map +0 -1
  133. package/dist/chunk-DA3I3Y5O.mjs +0 -71
  134. package/dist/chunk-DA3I3Y5O.mjs.map +0 -1
  135. package/dist/chunk-EYHT2EWJ.mjs +0 -18
  136. package/dist/chunk-EYHT2EWJ.mjs.map +0 -1
  137. package/dist/chunk-IHLGCS63.mjs +0 -36
  138. package/dist/chunk-IHLGCS63.mjs.map +0 -1
  139. package/dist/chunk-JVXJ6SFX.mjs +0 -38
  140. package/dist/chunk-JVXJ6SFX.mjs.map +0 -1
  141. package/dist/chunk-KBHYXLRG.mjs +0 -13
  142. package/dist/chunk-KBHYXLRG.mjs.map +0 -1
  143. package/dist/chunk-KMXUQYR3.mjs +0 -74
  144. package/dist/chunk-KMXUQYR3.mjs.map +0 -1
  145. package/dist/chunk-KNPOZ34H.mjs +0 -88
  146. package/dist/chunk-KNPOZ34H.mjs.map +0 -1
  147. package/dist/chunk-KRNWCJ4D.mjs +0 -219
  148. package/dist/chunk-KRNWCJ4D.mjs.map +0 -1
  149. package/dist/chunk-M5MESV26.mjs +0 -124
  150. package/dist/chunk-M5MESV26.mjs.map +0 -1
  151. package/dist/chunk-MJYBPJBA.mjs +0 -115
  152. package/dist/chunk-MJYBPJBA.mjs.map +0 -1
  153. package/dist/chunk-NNHPQ67J.mjs +0 -10
  154. package/dist/chunk-NNHPQ67J.mjs.map +0 -1
  155. package/dist/chunk-OCZFHVVD.mjs +0 -71
  156. package/dist/chunk-OCZFHVVD.mjs.map +0 -1
  157. package/dist/chunk-QAWSH567.mjs +0 -19
  158. package/dist/chunk-QAWSH567.mjs.map +0 -1
  159. package/dist/chunk-R2E2J42H.mjs +0 -38
  160. package/dist/chunk-R2E2J42H.mjs.map +0 -1
  161. package/dist/chunk-TPGLLSYV.mjs +0 -65
  162. package/dist/chunk-TPGLLSYV.mjs.map +0 -1
  163. package/dist/chunk-VJENJHXJ.mjs +0 -72
  164. package/dist/chunk-VJENJHXJ.mjs.map +0 -1
  165. package/dist/chunk-W22G7XHR.mjs +0 -104
  166. package/dist/chunk-W22G7XHR.mjs.map +0 -1
  167. package/dist/chunk-WDR5VPZJ.mjs +0 -79
  168. package/dist/chunk-WDR5VPZJ.mjs.map +0 -1
  169. package/dist/chunk-WLUGKBH7.mjs +0 -37
  170. package/dist/chunk-WLUGKBH7.mjs.map +0 -1
  171. package/dist/chunk-WYJYLDUA.mjs +0 -84
  172. package/dist/chunk-WYJYLDUA.mjs.map +0 -1
  173. package/dist/chunk-XZEDZVXT.mjs +0 -38
  174. package/dist/chunk-XZEDZVXT.mjs.map +0 -1
  175. package/dist/chunk-YKGP5JIL.mjs +0 -328
  176. package/dist/chunk-YKGP5JIL.mjs.map +0 -1
  177. package/dist/chunk-YM3U2OBE.mjs +0 -99
  178. package/dist/chunk-YM3U2OBE.mjs.map +0 -1
@@ -1,275 +0,0 @@
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
@@ -1 +0,0 @@
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"]}
@@ -1,112 +0,0 @@
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
@@ -1 +0,0 @@
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"]}