@nous-research/ui 0.13.2 → 0.14.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 (317) hide show
  1. package/dist/assets/filler-bg0.webp +0 -0
  2. package/dist/assets.d.ts +38 -0
  3. package/dist/fonts.d.ts +0 -1
  4. package/dist/fonts.js +5 -7
  5. package/dist/hooks/use-capped-frame.d.ts +0 -1
  6. package/dist/hooks/use-capped-frame.js +12 -13
  7. package/dist/hooks/use-css-var-dims.d.ts +0 -1
  8. package/dist/hooks/use-css-var-dims.js +26 -21
  9. package/dist/hooks/use-gpu-tier.d.ts +0 -1
  10. package/dist/hooks/use-gpu-tier.js +90 -110
  11. package/dist/hooks/use-render-loop.d.ts +0 -1
  12. package/dist/hooks/use-render-loop.js +58 -58
  13. package/dist/hooks/use-smooth-controls.d.ts +0 -1
  14. package/dist/hooks/use-smooth-controls.js +204 -206
  15. package/dist/index.d.ts +0 -1
  16. package/dist/index.js +84 -58
  17. package/dist/ui/basic-page.d.ts +1 -2
  18. package/dist/ui/basic-page.js +15 -7
  19. package/dist/ui/components/animated-count.d.ts +1 -2
  20. package/dist/ui/components/animated-count.js +109 -85
  21. package/dist/ui/components/ascii.d.ts +2 -3
  22. package/dist/ui/components/ascii.js +75 -59
  23. package/dist/ui/components/badge.d.ts +1 -2
  24. package/dist/ui/components/badge.js +35 -18
  25. package/dist/ui/components/badges/nous-girl.d.ts +1 -2
  26. package/dist/ui/components/badges/nous-girl.js +80 -3
  27. package/dist/ui/components/blend-mode.d.ts +1 -2
  28. package/dist/ui/components/blend-mode.js +55 -63
  29. package/dist/ui/components/blink.d.ts +1 -2
  30. package/dist/ui/components/blink.js +15 -6
  31. package/dist/ui/components/button.d.ts +2 -3
  32. package/dist/ui/components/button.js +139 -90
  33. package/dist/ui/components/command-block.d.ts +2 -3
  34. package/dist/ui/components/command-block.js +52 -24
  35. package/dist/ui/components/cursor.d.ts +1 -2
  36. package/dist/ui/components/cursor.js +93 -54
  37. package/dist/ui/components/dropdown-menu.d.ts +1 -2
  38. package/dist/ui/components/dropdown-menu.js +99 -51
  39. package/dist/ui/components/fit-text/index.d.ts +0 -1
  40. package/dist/ui/components/fit-text/index.js +21 -13
  41. package/dist/ui/components/graphs/bar-chart.d.ts +1 -2
  42. package/dist/ui/components/graphs/bar-chart.js +116 -63
  43. package/dist/ui/components/graphs/index.d.ts +0 -1
  44. package/dist/ui/components/graphs/index.js +3 -4
  45. package/dist/ui/components/graphs/line-chart.d.ts +1 -2
  46. package/dist/ui/components/graphs/line-chart.js +159 -102
  47. package/dist/ui/components/graphs/utils.d.ts +2 -3
  48. package/dist/ui/components/graphs/utils.js +147 -114
  49. package/dist/ui/components/grid/index.d.ts +0 -1
  50. package/dist/ui/components/grid/index.js +12 -9
  51. package/dist/ui/components/hover-bg.d.ts +0 -1
  52. package/dist/ui/components/hover-bg.js +11 -6
  53. package/dist/ui/components/icons/arrow.d.ts +1 -2
  54. package/dist/ui/components/icons/arrow.js +42 -5
  55. package/dist/ui/components/icons/chevron.d.ts +1 -2
  56. package/dist/ui/components/icons/chevron.js +49 -5
  57. package/dist/ui/components/icons/discord.d.ts +1 -2
  58. package/dist/ui/components/icons/discord.js +12 -4
  59. package/dist/ui/components/icons/eye.d.ts +1 -2
  60. package/dist/ui/components/icons/eye.js +5 -3
  61. package/dist/ui/components/icons/gear.d.ts +1 -2
  62. package/dist/ui/components/icons/gear.js +28 -14
  63. package/dist/ui/components/icons/github.d.ts +1 -2
  64. package/dist/ui/components/icons/github.js +12 -4
  65. package/dist/ui/components/icons/hamburger.d.ts +1 -2
  66. package/dist/ui/components/icons/hamburger.js +54 -5
  67. package/dist/ui/components/icons/heart.d.ts +1 -2
  68. package/dist/ui/components/icons/heart.js +8 -3
  69. package/dist/ui/components/icons/index.d.ts +0 -1
  70. package/dist/ui/components/icons/index.js +11 -12
  71. package/dist/ui/components/icons/link.d.ts +1 -2
  72. package/dist/ui/components/icons/link.js +10 -3
  73. package/dist/ui/components/icons/minus.d.ts +1 -2
  74. package/dist/ui/components/icons/minus.js +10 -3
  75. package/dist/ui/components/icons/search.d.ts +1 -2
  76. package/dist/ui/components/icons/search.js +30 -3
  77. package/dist/ui/components/image-distortion.d.ts +1 -2
  78. package/dist/ui/components/image-distortion.js +300 -265
  79. package/dist/ui/components/leva-client.d.ts +1 -2
  80. package/dist/ui/components/leva-client.js +9 -10
  81. package/dist/ui/components/list-item.d.ts +0 -1
  82. package/dist/ui/components/list-item.js +26 -10
  83. package/dist/ui/components/modal/index.d.ts +1 -2
  84. package/dist/ui/components/modal/index.js +33 -14
  85. package/dist/ui/components/overlays/blend-modes.d.ts +0 -1
  86. package/dist/ui/components/overlays/blend-modes.js +11 -12
  87. package/dist/ui/components/overlays/glitch.d.ts +1 -2
  88. package/dist/ui/components/overlays/glitch.js +115 -110
  89. package/dist/ui/components/overlays/greys.d.ts +1 -2
  90. package/dist/ui/components/overlays/greys.js +200 -179
  91. package/dist/ui/components/overlays/index.d.ts +1 -2
  92. package/dist/ui/components/overlays/index.js +31 -17
  93. package/dist/ui/components/overlays/lens-layers.d.ts +1 -2
  94. package/dist/ui/components/overlays/lens-layers.js +89 -65
  95. package/dist/ui/components/overlays/lens.d.ts +0 -1
  96. package/dist/ui/components/overlays/lens.js +46 -52
  97. package/dist/ui/components/overlays/noise.d.ts +1 -2
  98. package/dist/ui/components/overlays/noise.js +112 -113
  99. package/dist/ui/components/overlays/vignette.d.ts +1 -2
  100. package/dist/ui/components/overlays/vignette.js +44 -38
  101. package/dist/ui/components/poster.d.ts +1 -2
  102. package/dist/ui/components/poster.js +240 -87
  103. package/dist/ui/components/progress.d.ts +1 -2
  104. package/dist/ui/components/progress.js +52 -12
  105. package/dist/ui/components/scene-canvas.d.ts +1 -2
  106. package/dist/ui/components/scene-canvas.js +169 -119
  107. package/dist/ui/components/scramble.d.ts +1 -2
  108. package/dist/ui/components/scramble.js +60 -59
  109. package/dist/ui/components/segmented.d.ts +2 -3
  110. package/dist/ui/components/segmented.js +47 -12
  111. package/dist/ui/components/select.d.ts +1 -2
  112. package/dist/ui/components/select.js +207 -120
  113. package/dist/ui/components/selection-switcher.d.ts +0 -1
  114. package/dist/ui/components/selection-switcher.js +29 -25
  115. package/dist/ui/components/shader.d.ts +1 -2
  116. package/dist/ui/components/shader.js +56 -38
  117. package/dist/ui/components/socials.d.ts +1 -2
  118. package/dist/ui/components/socials.js +18 -7
  119. package/dist/ui/components/spinner.d.ts +1 -2
  120. package/dist/ui/components/spinner.js +36 -25
  121. package/dist/ui/components/stats.d.ts +1 -2
  122. package/dist/ui/components/stats.js +33 -9
  123. package/dist/ui/components/switch.d.ts +0 -1
  124. package/dist/ui/components/switch.js +35 -11
  125. package/dist/ui/components/tabs.d.ts +3 -4
  126. package/dist/ui/components/tabs.js +38 -12
  127. package/dist/ui/components/terminal-demo.d.ts +1 -2
  128. package/dist/ui/components/terminal-demo.js +119 -74
  129. package/dist/ui/components/theme-toggle.d.ts +1 -2
  130. package/dist/ui/components/theme-toggle.js +63 -8
  131. package/dist/ui/components/tier-card.d.ts +1 -2
  132. package/dist/ui/components/tier-card.js +144 -24
  133. package/dist/ui/components/tv.d.ts +1 -2
  134. package/dist/ui/components/tv.js +138 -90
  135. package/dist/ui/components/typography/h1.d.ts +0 -1
  136. package/dist/ui/components/typography/h1.js +17 -8
  137. package/dist/ui/components/typography/h2.d.ts +0 -1
  138. package/dist/ui/components/typography/h2.js +17 -8
  139. package/dist/ui/components/typography/index.d.ts +0 -1
  140. package/dist/ui/components/typography/index.js +35 -24
  141. package/dist/ui/components/typography/legend.d.ts +1 -2
  142. package/dist/ui/components/typography/legend.js +18 -6
  143. package/dist/ui/components/typography/small.d.ts +0 -1
  144. package/dist/ui/components/typography/small.js +8 -7
  145. package/dist/ui/components/watchlist.d.ts +1 -2
  146. package/dist/ui/components/watchlist.js +77 -25
  147. package/dist/ui/fonts.css +7 -7
  148. package/dist/ui/footer.d.ts +1 -2
  149. package/dist/ui/footer.js +61 -25
  150. package/dist/ui/header.d.ts +1 -2
  151. package/dist/ui/header.js +255 -60
  152. package/dist/ui/layout-wrapper.d.ts +1 -2
  153. package/dist/ui/layout-wrapper.js +5 -4
  154. package/dist/utils/color.d.ts +0 -1
  155. package/dist/utils/color.js +8 -9
  156. package/dist/utils/index.d.ts +0 -1
  157. package/dist/utils/index.js +37 -38
  158. package/dist/utils/poly.d.ts +0 -1
  159. package/dist/utils/poly.js +1 -2
  160. package/package.json +41 -24
  161. package/dist/assets/filler-bg0.jpg +0 -0
  162. package/dist/fonts.d.ts.map +0 -1
  163. package/dist/fonts.js.map +0 -1
  164. package/dist/hooks/use-capped-frame.d.ts.map +0 -1
  165. package/dist/hooks/use-capped-frame.js.map +0 -1
  166. package/dist/hooks/use-css-var-dims.d.ts.map +0 -1
  167. package/dist/hooks/use-css-var-dims.js.map +0 -1
  168. package/dist/hooks/use-gpu-tier.d.ts.map +0 -1
  169. package/dist/hooks/use-gpu-tier.js.map +0 -1
  170. package/dist/hooks/use-render-loop.d.ts.map +0 -1
  171. package/dist/hooks/use-render-loop.js.map +0 -1
  172. package/dist/hooks/use-smooth-controls.d.ts.map +0 -1
  173. package/dist/hooks/use-smooth-controls.js.map +0 -1
  174. package/dist/index.d.ts.map +0 -1
  175. package/dist/index.js.map +0 -1
  176. package/dist/ui/basic-page.d.ts.map +0 -1
  177. package/dist/ui/basic-page.js.map +0 -1
  178. package/dist/ui/components/animated-count.d.ts.map +0 -1
  179. package/dist/ui/components/animated-count.js.map +0 -1
  180. package/dist/ui/components/ascii.d.ts.map +0 -1
  181. package/dist/ui/components/ascii.js.map +0 -1
  182. package/dist/ui/components/badge.d.ts.map +0 -1
  183. package/dist/ui/components/badge.js.map +0 -1
  184. package/dist/ui/components/badges/nous-girl.d.ts.map +0 -1
  185. package/dist/ui/components/badges/nous-girl.js.map +0 -1
  186. package/dist/ui/components/blend-mode.d.ts.map +0 -1
  187. package/dist/ui/components/blend-mode.js.map +0 -1
  188. package/dist/ui/components/blink.d.ts.map +0 -1
  189. package/dist/ui/components/blink.js.map +0 -1
  190. package/dist/ui/components/button.d.ts.map +0 -1
  191. package/dist/ui/components/button.js.map +0 -1
  192. package/dist/ui/components/command-block.d.ts.map +0 -1
  193. package/dist/ui/components/command-block.js.map +0 -1
  194. package/dist/ui/components/cursor.d.ts.map +0 -1
  195. package/dist/ui/components/cursor.js.map +0 -1
  196. package/dist/ui/components/dropdown-menu.d.ts.map +0 -1
  197. package/dist/ui/components/dropdown-menu.js.map +0 -1
  198. package/dist/ui/components/fit-text/index.d.ts.map +0 -1
  199. package/dist/ui/components/fit-text/index.js.map +0 -1
  200. package/dist/ui/components/graphs/bar-chart.d.ts.map +0 -1
  201. package/dist/ui/components/graphs/bar-chart.js.map +0 -1
  202. package/dist/ui/components/graphs/index.d.ts.map +0 -1
  203. package/dist/ui/components/graphs/index.js.map +0 -1
  204. package/dist/ui/components/graphs/line-chart.d.ts.map +0 -1
  205. package/dist/ui/components/graphs/line-chart.js.map +0 -1
  206. package/dist/ui/components/graphs/utils.d.ts.map +0 -1
  207. package/dist/ui/components/graphs/utils.js.map +0 -1
  208. package/dist/ui/components/grid/index.d.ts.map +0 -1
  209. package/dist/ui/components/grid/index.js.map +0 -1
  210. package/dist/ui/components/hover-bg.d.ts.map +0 -1
  211. package/dist/ui/components/hover-bg.js.map +0 -1
  212. package/dist/ui/components/icons/arrow.d.ts.map +0 -1
  213. package/dist/ui/components/icons/arrow.js.map +0 -1
  214. package/dist/ui/components/icons/chevron.d.ts.map +0 -1
  215. package/dist/ui/components/icons/chevron.js.map +0 -1
  216. package/dist/ui/components/icons/discord.d.ts.map +0 -1
  217. package/dist/ui/components/icons/discord.js.map +0 -1
  218. package/dist/ui/components/icons/eye.d.ts.map +0 -1
  219. package/dist/ui/components/icons/eye.js.map +0 -1
  220. package/dist/ui/components/icons/gear.d.ts.map +0 -1
  221. package/dist/ui/components/icons/gear.js.map +0 -1
  222. package/dist/ui/components/icons/github.d.ts.map +0 -1
  223. package/dist/ui/components/icons/github.js.map +0 -1
  224. package/dist/ui/components/icons/hamburger.d.ts.map +0 -1
  225. package/dist/ui/components/icons/hamburger.js.map +0 -1
  226. package/dist/ui/components/icons/heart.d.ts.map +0 -1
  227. package/dist/ui/components/icons/heart.js.map +0 -1
  228. package/dist/ui/components/icons/index.d.ts.map +0 -1
  229. package/dist/ui/components/icons/index.js.map +0 -1
  230. package/dist/ui/components/icons/link.d.ts.map +0 -1
  231. package/dist/ui/components/icons/link.js.map +0 -1
  232. package/dist/ui/components/icons/minus.d.ts.map +0 -1
  233. package/dist/ui/components/icons/minus.js.map +0 -1
  234. package/dist/ui/components/icons/search.d.ts.map +0 -1
  235. package/dist/ui/components/icons/search.js.map +0 -1
  236. package/dist/ui/components/image-distortion.d.ts.map +0 -1
  237. package/dist/ui/components/image-distortion.js.map +0 -1
  238. package/dist/ui/components/leva-client.d.ts.map +0 -1
  239. package/dist/ui/components/leva-client.js.map +0 -1
  240. package/dist/ui/components/list-item.d.ts.map +0 -1
  241. package/dist/ui/components/list-item.js.map +0 -1
  242. package/dist/ui/components/modal/index.d.ts.map +0 -1
  243. package/dist/ui/components/modal/index.js.map +0 -1
  244. package/dist/ui/components/overlays/blend-modes.d.ts.map +0 -1
  245. package/dist/ui/components/overlays/blend-modes.js.map +0 -1
  246. package/dist/ui/components/overlays/glitch.d.ts.map +0 -1
  247. package/dist/ui/components/overlays/glitch.js.map +0 -1
  248. package/dist/ui/components/overlays/greys.d.ts.map +0 -1
  249. package/dist/ui/components/overlays/greys.js.map +0 -1
  250. package/dist/ui/components/overlays/index.d.ts.map +0 -1
  251. package/dist/ui/components/overlays/index.js.map +0 -1
  252. package/dist/ui/components/overlays/lens-layers.d.ts.map +0 -1
  253. package/dist/ui/components/overlays/lens-layers.js.map +0 -1
  254. package/dist/ui/components/overlays/lens.d.ts.map +0 -1
  255. package/dist/ui/components/overlays/lens.js.map +0 -1
  256. package/dist/ui/components/overlays/noise.d.ts.map +0 -1
  257. package/dist/ui/components/overlays/noise.js.map +0 -1
  258. package/dist/ui/components/overlays/vignette.d.ts.map +0 -1
  259. package/dist/ui/components/overlays/vignette.js.map +0 -1
  260. package/dist/ui/components/poster.d.ts.map +0 -1
  261. package/dist/ui/components/poster.js.map +0 -1
  262. package/dist/ui/components/progress.d.ts.map +0 -1
  263. package/dist/ui/components/progress.js.map +0 -1
  264. package/dist/ui/components/scene-canvas.d.ts.map +0 -1
  265. package/dist/ui/components/scene-canvas.js.map +0 -1
  266. package/dist/ui/components/scramble.d.ts.map +0 -1
  267. package/dist/ui/components/scramble.js.map +0 -1
  268. package/dist/ui/components/segmented.d.ts.map +0 -1
  269. package/dist/ui/components/segmented.js.map +0 -1
  270. package/dist/ui/components/select.d.ts.map +0 -1
  271. package/dist/ui/components/select.js.map +0 -1
  272. package/dist/ui/components/selection-switcher.d.ts.map +0 -1
  273. package/dist/ui/components/selection-switcher.js.map +0 -1
  274. package/dist/ui/components/shader.d.ts.map +0 -1
  275. package/dist/ui/components/shader.js.map +0 -1
  276. package/dist/ui/components/socials.d.ts.map +0 -1
  277. package/dist/ui/components/socials.js.map +0 -1
  278. package/dist/ui/components/spinner.d.ts.map +0 -1
  279. package/dist/ui/components/spinner.js.map +0 -1
  280. package/dist/ui/components/stats.d.ts.map +0 -1
  281. package/dist/ui/components/stats.js.map +0 -1
  282. package/dist/ui/components/switch.d.ts.map +0 -1
  283. package/dist/ui/components/switch.js.map +0 -1
  284. package/dist/ui/components/tabs.d.ts.map +0 -1
  285. package/dist/ui/components/tabs.js.map +0 -1
  286. package/dist/ui/components/terminal-demo.d.ts.map +0 -1
  287. package/dist/ui/components/terminal-demo.js.map +0 -1
  288. package/dist/ui/components/theme-toggle.d.ts.map +0 -1
  289. package/dist/ui/components/theme-toggle.js.map +0 -1
  290. package/dist/ui/components/tier-card.d.ts.map +0 -1
  291. package/dist/ui/components/tier-card.js.map +0 -1
  292. package/dist/ui/components/tv.d.ts.map +0 -1
  293. package/dist/ui/components/tv.js.map +0 -1
  294. package/dist/ui/components/typography/h1.d.ts.map +0 -1
  295. package/dist/ui/components/typography/h1.js.map +0 -1
  296. package/dist/ui/components/typography/h2.d.ts.map +0 -1
  297. package/dist/ui/components/typography/h2.js.map +0 -1
  298. package/dist/ui/components/typography/index.d.ts.map +0 -1
  299. package/dist/ui/components/typography/index.js.map +0 -1
  300. package/dist/ui/components/typography/legend.d.ts.map +0 -1
  301. package/dist/ui/components/typography/legend.js.map +0 -1
  302. package/dist/ui/components/typography/small.d.ts.map +0 -1
  303. package/dist/ui/components/typography/small.js.map +0 -1
  304. package/dist/ui/components/watchlist.d.ts.map +0 -1
  305. package/dist/ui/components/watchlist.js.map +0 -1
  306. package/dist/ui/footer.d.ts.map +0 -1
  307. package/dist/ui/footer.js.map +0 -1
  308. package/dist/ui/header.d.ts.map +0 -1
  309. package/dist/ui/header.js.map +0 -1
  310. package/dist/ui/layout-wrapper.d.ts.map +0 -1
  311. package/dist/ui/layout-wrapper.js.map +0 -1
  312. package/dist/utils/color.d.ts.map +0 -1
  313. package/dist/utils/color.js.map +0 -1
  314. package/dist/utils/index.d.ts.map +0 -1
  315. package/dist/utils/index.js.map +0 -1
  316. package/dist/utils/poly.d.ts.map +0 -1
  317. package/dist/utils/poly.js.map +0 -1
@@ -1,25 +1,145 @@
1
- 'use client';
2
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
- import { cn } from '../../utils';
4
- import { ImageDistortion } from './image-distortion';
5
- import { Typography } from './typography';
6
- /**
7
- * Selectable tier / pricing card. Full-bleed distorted image background,
8
- * readable overlay text, and an animated `.arc-border` shimmer on the
9
- * selected state. Fully presentational — the consumer owns the data
10
- * (tier schema, price formatting, tier imagery / tints).
11
- *
12
- * Visual states:
13
- * - `selected`: brightens the distortion, activates `.arc-border`, and
14
- * composites the headline / price with `mix-blend-mode: plus-lighter`
15
- * so the text lifts off the image regardless of tint.
16
- * - `isCurrent`: subtle midground-tinted border hint (suppressed when
17
- * `selected` wins).
18
- * - `overlay`: optional top-layer color blended with `mix-blend-mode:
19
- * color` — used for the "highest tier" red treatment on top of any
20
- * base tint.
21
- */
22
- export function TierCard({ badge, bullets, className, image, isCurrent = false, onSelect, overlay, price, selected = false, tint, tintStrength, title }) {
23
- return (_jsxs("button", { className: cn('group relative flex w-full cursor-pointer flex-col border border-current/20', 'text-left transition-colors duration-300', selected && 'border-midground/60', isCurrent && !selected && 'border-midground/30', className), onClick: onSelect, type: "button", children: [_jsx("span", { "aria-hidden": true, className: cn('arc-border transition-opacity duration-200', selected ? 'opacity-100' : 'opacity-0 group-hover:opacity-100') }), _jsxs("div", { className: "relative aspect-[3/4] min-h-0 w-full flex-1 overflow-hidden", style: { backgroundColor: 'var(--background)' }, children: [_jsx(ImageDistortion, { active: selected, src: image, tint: tint, tintStrength: tintStrength }), overlay && (_jsx("div", { className: "pointer-events-none absolute inset-0", style: { backgroundColor: overlay, mixBlendMode: 'color' } })), _jsxs("div", { className: "pointer-events-none absolute inset-0 z-[1] flex flex-col justify-between p-3", children: [_jsxs("div", { className: "flex flex-col gap-0.5", children: [_jsxs(Typography, { variant: "sm", className: cn('block drop-shadow-[0_1px_2px_rgba(0,0,0,0.5)] text-[1.2rem]', 'transition-colors', selected && 'text-midground'), style: selected ? { mixBlendMode: 'plus-lighter' } : undefined, children: [title, badge && _jsx("span", { className: "ml-1 opacity-50", children: badge })] }), price.secondary ? (_jsxs(_Fragment, { children: [_jsxs(Typography, { className: "block text-md line-through opacity-50 drop-shadow-[0_1px_3px_rgba(0,0,0,0.6)]", expanded: true, style: { mixBlendMode: 'plus-lighter' }, children: [price.secondary, price.secondarySuffix && (_jsx("span", { className: "text-[1rem]", children: price.secondarySuffix }))] }), _jsxs(Typography, { className: "block text-xl font-bold drop-shadow-[0_1px_3px_rgba(0,0,0,0.6)]", expanded: true, style: { mixBlendMode: 'plus-lighter' }, children: [price.primary, price.primarySuffix && (_jsxs("span", { className: "text-[1rem] opacity-60", children: [' ', price.primarySuffix] }))] })] })) : (_jsxs(Typography, { className: "block text-xl font-bold drop-shadow-[0_1px_3px_rgba(0,0,0,0.6)]", expanded: true, style: { mixBlendMode: 'plus-lighter' }, children: [price.primary, price.primarySuffix && (_jsx("span", { className: "text-[1rem] opacity-60", children: price.primarySuffix }))] }))] }), bullets.length > 0 && (_jsx("ul", { className: "flex flex-col gap-1", children: bullets.map((bullet, i) => (_jsxs("li", { className: cn('font-courier text-[1rem] leading-tight tracking-tight uppercase', 'drop-shadow-[0_1px_2px_rgba(0,0,0,0.5)]'), children: ["\u00B7 ", bullet] }, typeof bullet === 'string' ? bullet : i))) }))] })] })] }));
1
+ "use client";
2
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
3
+ import { cn } from "../../utils/index.js";
4
+ import { ImageDistortion } from "./image-distortion.js";
5
+ import { Typography } from "./typography/index.js";
6
+ export function TierCard({
7
+ badge,
8
+ bullets,
9
+ className,
10
+ image,
11
+ isCurrent = false,
12
+ onSelect,
13
+ overlay,
14
+ price,
15
+ selected = false,
16
+ tint,
17
+ tintStrength,
18
+ title
19
+ }) {
20
+ return /* @__PURE__ */ jsxs(
21
+ "button",
22
+ {
23
+ className: cn(
24
+ "group relative flex w-full cursor-pointer flex-col border border-current/20",
25
+ "text-left transition-colors duration-300",
26
+ selected && "border-midground/60",
27
+ isCurrent && !selected && "border-midground/30",
28
+ className
29
+ ),
30
+ onClick: onSelect,
31
+ type: "button",
32
+ children: [
33
+ /* @__PURE__ */ jsx(
34
+ "span",
35
+ {
36
+ "aria-hidden": true,
37
+ className: cn(
38
+ "arc-border transition-opacity duration-200",
39
+ selected ? "opacity-100" : "opacity-0 group-hover:opacity-100"
40
+ )
41
+ }
42
+ ),
43
+ /* @__PURE__ */ jsxs(
44
+ "div",
45
+ {
46
+ className: "relative aspect-[3/4] min-h-0 w-full flex-1 overflow-hidden",
47
+ style: { backgroundColor: "var(--background)" },
48
+ children: [
49
+ /* @__PURE__ */ jsx(
50
+ ImageDistortion,
51
+ {
52
+ active: selected,
53
+ src: image,
54
+ tint,
55
+ tintStrength
56
+ }
57
+ ),
58
+ overlay && /* @__PURE__ */ jsx(
59
+ "div",
60
+ {
61
+ className: "pointer-events-none absolute inset-0",
62
+ style: { backgroundColor: overlay, mixBlendMode: "color" }
63
+ }
64
+ ),
65
+ /* @__PURE__ */ jsxs("div", { className: "pointer-events-none absolute inset-0 z-[1] flex flex-col justify-between p-3", children: [
66
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-0.5", children: [
67
+ /* @__PURE__ */ jsxs(
68
+ Typography,
69
+ {
70
+ variant: "sm",
71
+ className: cn(
72
+ "block drop-shadow-[0_1px_2px_rgba(0,0,0,0.5)] text-[1.2rem]",
73
+ "transition-colors",
74
+ selected && "text-midground"
75
+ ),
76
+ style: selected ? { mixBlendMode: "plus-lighter" } : void 0,
77
+ children: [
78
+ title,
79
+ badge && /* @__PURE__ */ jsx("span", { className: "ml-1 opacity-50", children: badge })
80
+ ]
81
+ }
82
+ ),
83
+ price.secondary ? /* @__PURE__ */ jsxs(Fragment, { children: [
84
+ /* @__PURE__ */ jsxs(
85
+ Typography,
86
+ {
87
+ className: "block text-md line-through opacity-50 drop-shadow-[0_1px_3px_rgba(0,0,0,0.6)]",
88
+ expanded: true,
89
+ style: { mixBlendMode: "plus-lighter" },
90
+ children: [
91
+ price.secondary,
92
+ price.secondarySuffix && /* @__PURE__ */ jsx("span", { className: "text-[1rem]", children: price.secondarySuffix })
93
+ ]
94
+ }
95
+ ),
96
+ /* @__PURE__ */ jsxs(
97
+ Typography,
98
+ {
99
+ className: "block text-xl font-bold drop-shadow-[0_1px_3px_rgba(0,0,0,0.6)]",
100
+ expanded: true,
101
+ style: { mixBlendMode: "plus-lighter" },
102
+ children: [
103
+ price.primary,
104
+ price.primarySuffix && /* @__PURE__ */ jsxs("span", { className: "text-[1rem] opacity-60", children: [
105
+ " ",
106
+ price.primarySuffix
107
+ ] })
108
+ ]
109
+ }
110
+ )
111
+ ] }) : /* @__PURE__ */ jsxs(
112
+ Typography,
113
+ {
114
+ className: "block text-xl font-bold drop-shadow-[0_1px_3px_rgba(0,0,0,0.6)]",
115
+ expanded: true,
116
+ style: { mixBlendMode: "plus-lighter" },
117
+ children: [
118
+ price.primary,
119
+ price.primarySuffix && /* @__PURE__ */ jsx("span", { className: "text-[1rem] opacity-60", children: price.primarySuffix })
120
+ ]
121
+ }
122
+ )
123
+ ] }),
124
+ bullets.length > 0 && /* @__PURE__ */ jsx("ul", { className: "flex flex-col gap-1", children: bullets.map((bullet, i) => /* @__PURE__ */ jsxs(
125
+ "li",
126
+ {
127
+ className: cn(
128
+ "font-courier text-[1rem] leading-tight tracking-tight uppercase",
129
+ "drop-shadow-[0_1px_2px_rgba(0,0,0,0.5)]"
130
+ ),
131
+ children: [
132
+ "\xB7 ",
133
+ bullet
134
+ ]
135
+ },
136
+ typeof bullet === "string" ? bullet : i
137
+ )) })
138
+ ] })
139
+ ]
140
+ }
141
+ )
142
+ ]
143
+ }
144
+ );
24
145
  }
25
- //# sourceMappingURL=tier-card.js.map
@@ -1,4 +1,3 @@
1
1
  export declare function TV({ className }: {
2
2
  className?: string;
3
- }): import("react/jsx-runtime").JSX.Element;
4
- //# sourceMappingURL=tv.d.ts.map
3
+ }): import("react").JSX.Element;
@@ -1,8 +1,13 @@
1
- 'use client';
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { useEffect, useRef } from 'react';
4
- const VERT = /* glsl */ `attribute vec2 a;void main(){gl_Position=vec4(a,0,1);}`;
5
- const FRAG = /* glsl */ `precision highp float;
1
+ "use client";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import { useEffect, useRef } from "react";
4
+ const VERT = (
5
+ /* glsl */
6
+ `attribute vec2 a;void main(){gl_Position=vec4(a,0,1);}`
7
+ );
8
+ const FRAG = (
9
+ /* glsl */
10
+ `precision highp float;
6
11
  uniform float t;
7
12
  uniform vec2 r;
8
13
 
@@ -99,92 +104,135 @@ void main() {
99
104
  c *= 1. - edge * max(step(.45, rowNoise), step(.3, h(vec2(gl_FragCoord.x + scanY * 7., floor(t * 45.)))) * step(.2, rowNoise));
100
105
 
101
106
  gl_FragColor = vec4(clamp(c, 0., 1.), 1.);
102
- }`;
107
+ }`
108
+ );
103
109
  function useGL(ref) {
104
- const raf = useRef(0);
105
- useEffect(() => {
106
- const c = ref.current;
107
- if (!c) {
108
- return;
109
- }
110
- const gl = c.getContext('webgl');
111
- if (!gl) {
112
- return;
113
- }
114
- const sh = (type, src) => {
115
- const s = gl.createShader(type);
116
- gl.shaderSource(s, src);
117
- gl.compileShader(s);
118
- return s;
119
- };
120
- const p = gl.createProgram();
121
- gl.attachShader(p, sh(gl.VERTEX_SHADER, VERT));
122
- gl.attachShader(p, sh(gl.FRAGMENT_SHADER, FRAG));
123
- gl.linkProgram(p);
124
- gl.useProgram(p);
125
- gl.bindBuffer(gl.ARRAY_BUFFER, gl.createBuffer());
126
- gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([-1, -1, 1, -1, -1, 1, 1, 1]), gl.STATIC_DRAW);
127
- const a = gl.getAttribLocation(p, 'a');
128
- gl.enableVertexAttribArray(a);
129
- gl.vertexAttribPointer(a, 2, gl.FLOAT, false, 0, 0);
130
- const uT = gl.getUniformLocation(p, 't');
131
- const uR = gl.getUniformLocation(p, 'r');
132
- const resize = () => {
133
- const rect = c.getBoundingClientRect();
134
- const dpr = Math.min(devicePixelRatio, 2);
135
- c.width = rect.width * dpr;
136
- c.height = rect.height * dpr;
137
- gl.viewport(0, 0, c.width, c.height);
138
- };
139
- resize();
140
- const ro = new ResizeObserver(resize);
141
- ro.observe(c);
142
- const t0 = performance.now();
143
- let visible = !document.hidden;
144
- let inView = true;
145
- let raf2 = 0;
146
- const tick = () => {
147
- gl.uniform1f(uT, (performance.now() - t0) / 1e3);
148
- gl.uniform2f(uR, c.width, c.height);
149
- gl.drawArrays(gl.TRIANGLE_STRIP, 0, 4);
150
- raf2 = requestAnimationFrame(tick);
151
- };
152
- const start = () => {
153
- if (visible && inView && !raf2) {
154
- raf2 = requestAnimationFrame(tick);
155
- }
156
- };
157
- const stop = () => {
158
- if (raf2) {
159
- cancelAnimationFrame(raf2);
160
- raf2 = 0;
161
- }
162
- };
163
- const onVisibility = () => {
164
- visible = !document.hidden;
165
- visible ? start() : stop();
166
- };
167
- const io = new IntersectionObserver(entries => {
168
- inView = entries.some(e => e.isIntersecting);
169
- inView ? start() : stop();
170
- }, { threshold: 0 });
171
- io.observe(c);
172
- document.addEventListener('visibilitychange', onVisibility);
173
- start();
174
- raf.current = raf2;
175
- return () => {
176
- stop();
177
- io.disconnect();
178
- document.removeEventListener('visibilitychange', onVisibility);
179
- ro.disconnect();
180
- };
181
- }, [ref]);
110
+ const raf = useRef(0);
111
+ useEffect(() => {
112
+ const c = ref.current;
113
+ if (!c) {
114
+ return;
115
+ }
116
+ const gl = c.getContext("webgl");
117
+ if (!gl) {
118
+ return;
119
+ }
120
+ const sh = (type, src) => {
121
+ const s = gl.createShader(type);
122
+ gl.shaderSource(s, src);
123
+ gl.compileShader(s);
124
+ return s;
125
+ };
126
+ const p = gl.createProgram();
127
+ gl.attachShader(p, sh(gl.VERTEX_SHADER, VERT));
128
+ gl.attachShader(p, sh(gl.FRAGMENT_SHADER, FRAG));
129
+ gl.linkProgram(p);
130
+ gl.useProgram(p);
131
+ gl.bindBuffer(gl.ARRAY_BUFFER, gl.createBuffer());
132
+ gl.bufferData(
133
+ gl.ARRAY_BUFFER,
134
+ new Float32Array([-1, -1, 1, -1, -1, 1, 1, 1]),
135
+ gl.STATIC_DRAW
136
+ );
137
+ const a = gl.getAttribLocation(p, "a");
138
+ gl.enableVertexAttribArray(a);
139
+ gl.vertexAttribPointer(a, 2, gl.FLOAT, false, 0, 0);
140
+ const uT = gl.getUniformLocation(p, "t");
141
+ const uR = gl.getUniformLocation(p, "r");
142
+ const resize = () => {
143
+ const rect = c.getBoundingClientRect();
144
+ const dpr = Math.min(devicePixelRatio, 2);
145
+ c.width = rect.width * dpr;
146
+ c.height = rect.height * dpr;
147
+ gl.viewport(0, 0, c.width, c.height);
148
+ };
149
+ resize();
150
+ const ro = new ResizeObserver(resize);
151
+ ro.observe(c);
152
+ const t0 = performance.now();
153
+ let visible = !document.hidden;
154
+ let inView = true;
155
+ let raf2 = 0;
156
+ const tick = () => {
157
+ gl.uniform1f(uT, (performance.now() - t0) / 1e3);
158
+ gl.uniform2f(uR, c.width, c.height);
159
+ gl.drawArrays(gl.TRIANGLE_STRIP, 0, 4);
160
+ raf2 = requestAnimationFrame(tick);
161
+ };
162
+ const start = () => {
163
+ if (visible && inView && !raf2) {
164
+ raf2 = requestAnimationFrame(tick);
165
+ }
166
+ };
167
+ const stop = () => {
168
+ if (raf2) {
169
+ cancelAnimationFrame(raf2);
170
+ raf2 = 0;
171
+ }
172
+ };
173
+ const onVisibility = () => {
174
+ visible = !document.hidden;
175
+ visible ? start() : stop();
176
+ };
177
+ const io = new IntersectionObserver(
178
+ (entries) => {
179
+ inView = entries.some((e) => e.isIntersecting);
180
+ inView ? start() : stop();
181
+ },
182
+ { threshold: 0 }
183
+ );
184
+ io.observe(c);
185
+ document.addEventListener("visibilitychange", onVisibility);
186
+ start();
187
+ raf.current = raf2;
188
+ return () => {
189
+ stop();
190
+ io.disconnect();
191
+ document.removeEventListener("visibilitychange", onVisibility);
192
+ ro.disconnect();
193
+ };
194
+ }, [ref]);
182
195
  }
183
196
  export function TV({ className }) {
184
- const canvasRef = useRef(null);
185
- useGL(canvasRef);
186
- return (_jsxs("div", { className: ['relative', className].filter(Boolean).join(' '), children: [_jsxs("svg", { className: "relative h-full w-full", fill: "none", viewBox: "0 0 210 173", children: [_jsx("path", { d: "M30.8342 2.44471 6.08268 36.683c-.24437.338-.38254.7412-.39689 1.158L1.57754 157.126c-.03891 1.129.82339 2.087 1.95096 2.167l162.4835 11.463c.433.031.866-.074 1.238-.3l35.718-21.69c.607-.369.986-1.02 1.008-1.73l4.102-130.9871c.035-1.1269-.826-2.0806-1.951-2.1604L32.6847 1.58029c-.7248-.05144-1.4247.27551-1.8505.86442Z", fill: "#FDFD0D", stroke: "#FDFD0D", strokeWidth: "3.15" }), _jsx("path", { d: "M203.09 17.1483 35.6844 5.83395l-4.2 121.94805 168.4906 13.076z", fill: "#000", stroke: "#FDFD0D", strokeWidth: "4.2" }), _jsx("path", { d: "M190.491 29.7483 48.2859 18.434l-4.2 98.848 143.2901 10.976z", fill: "#FDFD0D" })] }), _jsx("canvas", { className: "absolute inset-0 h-full w-full", ref: canvasRef, style: {
187
- clipPath: 'polygon(23% 10.65%, 90.71% 17.2%, 89.23% 74.13%, 20.99% 67.79%)'
188
- } })] }));
197
+ const canvasRef = useRef(null);
198
+ useGL(canvasRef);
199
+ return /* @__PURE__ */ jsxs("div", { className: ["relative", className].filter(Boolean).join(" "), children: [
200
+ /* @__PURE__ */ jsxs("svg", { className: "relative h-full w-full", fill: "none", viewBox: "0 0 210 173", children: [
201
+ /* @__PURE__ */ jsx(
202
+ "path",
203
+ {
204
+ d: "M30.8342 2.44471 6.08268 36.683c-.24437.338-.38254.7412-.39689 1.158L1.57754 157.126c-.03891 1.129.82339 2.087 1.95096 2.167l162.4835 11.463c.433.031.866-.074 1.238-.3l35.718-21.69c.607-.369.986-1.02 1.008-1.73l4.102-130.9871c.035-1.1269-.826-2.0806-1.951-2.1604L32.6847 1.58029c-.7248-.05144-1.4247.27551-1.8505.86442Z",
205
+ fill: "#FDFD0D",
206
+ stroke: "#FDFD0D",
207
+ strokeWidth: "3.15"
208
+ }
209
+ ),
210
+ /* @__PURE__ */ jsx(
211
+ "path",
212
+ {
213
+ d: "M203.09 17.1483 35.6844 5.83395l-4.2 121.94805 168.4906 13.076z",
214
+ fill: "#000",
215
+ stroke: "#FDFD0D",
216
+ strokeWidth: "4.2"
217
+ }
218
+ ),
219
+ /* @__PURE__ */ jsx(
220
+ "path",
221
+ {
222
+ d: "M190.491 29.7483 48.2859 18.434l-4.2 98.848 143.2901 10.976z",
223
+ fill: "#FDFD0D"
224
+ }
225
+ )
226
+ ] }),
227
+ /* @__PURE__ */ jsx(
228
+ "canvas",
229
+ {
230
+ className: "absolute inset-0 h-full w-full",
231
+ ref: canvasRef,
232
+ style: {
233
+ clipPath: "polygon(23% 10.65%, 90.71% 17.2%, 89.23% 74.13%, 20.99% 67.79%)"
234
+ }
235
+ }
236
+ )
237
+ ] });
189
238
  }
190
- //# sourceMappingURL=tv.js.map
@@ -9,4 +9,3 @@ export declare const H1: import("react").ForwardRefExoticComponent<{
9
9
  sans?: boolean | null | undefined;
10
10
  variant?: "lg" | "md" | "sm" | "xl" | null | undefined;
11
11
  } & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLHeadingElement>, HTMLHeadingElement>, "ref">, "as" | "expanded" | "compressed" | "courier" | "mondwest" | "mono" | "sans" | "variant"> & import("react").RefAttributes<HTMLHeadingElement>>;
12
- //# sourceMappingURL=h1.d.ts.map
@@ -1,8 +1,17 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { forwardRef } from 'react';
3
- import { cn } from '../../../utils';
4
- import { Typography } from '.';
5
- export const H1 = forwardRef(({ className, ...props }, ref) => {
6
- return (_jsx(Typography, { as: "h1", className: cn('font-bold', className), variant: "xl", ref, ...props }));
7
- });
8
- //# sourceMappingURL=h1.js.map
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { forwardRef } from "react";
3
+ import { cn } from "../../../utils/index.js";
4
+ import { Typography } from "./index.js";
5
+ export const H1 = forwardRef(
6
+ ({ className, ...props }, ref) => {
7
+ return /* @__PURE__ */ jsx(
8
+ Typography,
9
+ {
10
+ as: "h1",
11
+ className: cn("font-bold", className),
12
+ variant: "xl",
13
+ ...{ ref, ...props }
14
+ }
15
+ );
16
+ }
17
+ );
@@ -9,4 +9,3 @@ export declare const H2: import("react").ForwardRefExoticComponent<{
9
9
  sans?: boolean | null | undefined;
10
10
  variant?: "lg" | "md" | "sm" | "xl" | null | undefined;
11
11
  } & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLHeadingElement>, HTMLHeadingElement>, "ref">, "as" | "expanded" | "compressed" | "courier" | "mondwest" | "mono" | "sans" | "variant"> & import("react").RefAttributes<HTMLHeadingElement>>;
12
- //# sourceMappingURL=h2.d.ts.map
@@ -1,8 +1,17 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { forwardRef } from 'react';
3
- import { cn } from '../../../utils';
4
- import { Typography } from '.';
5
- export const H2 = forwardRef(({ className, ...props }, ref) => {
6
- return (_jsx(Typography, { as: "h2", className: cn('font-bold', className), variant: "lg", ref, ...props }));
7
- });
8
- //# sourceMappingURL=h2.js.map
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { forwardRef } from "react";
3
+ import { cn } from "../../../utils/index.js";
4
+ import { Typography } from "./index.js";
5
+ export const H2 = forwardRef(
6
+ ({ className, ...props }, ref) => {
7
+ return /* @__PURE__ */ jsx(
8
+ Typography,
9
+ {
10
+ as: "h2",
11
+ className: cn("font-bold", className),
12
+ variant: "lg",
13
+ ...{ ref, ...props }
14
+ }
15
+ );
16
+ }
17
+ );
@@ -13,4 +13,3 @@ export declare const Typography: import("../../..").PolyComponent<"span", OwnPro
13
13
  type OwnProps = VariantProps<typeof typographyVariants>;
14
14
  export type TypographyProps<T extends React.ElementType = 'span'> = PolyProps<T, OwnProps>;
15
15
  export {};
16
- //# sourceMappingURL=index.d.ts.map
@@ -1,29 +1,40 @@
1
- import { cva } from 'class-variance-authority';
2
- import { createElement } from 'react';
3
- import { cn, polyRef } from '../../../utils';
4
- const typographyVariants = cva('font-sans', {
5
- variants: {
6
- compressed: { true: 'font-compressed' },
7
- courier: { true: 'font-courier' },
8
- expanded: { true: 'font-expanded' },
9
- mondwest: { true: 'font-mondwest tracking-[0.1875rem]' },
10
- mono: { true: 'font-mono' },
11
- sans: { true: 'font-sans' },
12
- variant: {
13
- lg: 'text-[2.625rem] leading-[1] tracking-[0.0525rem]',
14
- md: 'text-[2.625rem] leading-[1] tracking-[0.0525rem]',
15
- sm: 'leading-1.4 text-[.9375rem] tracking-[0.1875rem]',
16
- xl: 'text-[4.5rem] leading-[1] tracking-[0.135rem]'
17
- }
1
+ import { cva } from "class-variance-authority";
2
+ import { createElement } from "react";
3
+ import { cn, polyRef } from "../../../utils/index.js";
4
+ const typographyVariants = cva("font-sans", {
5
+ variants: {
6
+ compressed: { true: "font-compressed" },
7
+ courier: { true: "font-courier" },
8
+ expanded: { true: "font-expanded" },
9
+ mondwest: { true: "font-mondwest tracking-[0.1875rem]" },
10
+ mono: { true: "font-mono" },
11
+ sans: { true: "font-sans" },
12
+ variant: {
13
+ lg: "text-[2.625rem] leading-[1] tracking-[0.0525rem]",
14
+ md: "text-[2.625rem] leading-[1] tracking-[0.0525rem]",
15
+ sm: "leading-1.4 text-[.9375rem] tracking-[0.1875rem]",
16
+ xl: "text-[4.5rem] leading-[1] tracking-[0.135rem]"
18
17
  }
18
+ }
19
19
  });
20
- export const Typography = polyRef(({ as, className, compressed, courier, expanded, mondwest, mono, variant, ...rest }, ref) => {
20
+ export const Typography = polyRef(
21
+ ({
22
+ as,
23
+ className,
24
+ compressed,
25
+ courier,
26
+ expanded,
27
+ mondwest,
28
+ mono,
29
+ variant,
30
+ ...rest
31
+ }, ref) => {
21
32
  const fonts = { compressed, courier, expanded, mondwest, mono };
22
33
  const fontVariant = { ...fonts, sans: !Object.values(fonts).some(Boolean) };
23
- return createElement((as ?? 'span'), {
24
- ...rest,
25
- className: cn(typographyVariants({ ...fontVariant, variant }), className),
26
- ref
34
+ return createElement(as ?? "span", {
35
+ ...rest,
36
+ className: cn(typographyVariants({ ...fontVariant, variant }), className),
37
+ ref
27
38
  });
28
- });
29
- //# sourceMappingURL=index.js.map
39
+ }
40
+ );
@@ -1,7 +1,6 @@
1
- export declare function Legend({ children, className, label, sub, ...props }: LegendProps): import("react/jsx-runtime").JSX.Element;
1
+ export declare function Legend({ children, className, label, sub, ...props }: LegendProps): import("react").JSX.Element;
2
2
  interface LegendProps extends React.ComponentProps<'hgroup'> {
3
3
  label: React.ReactNode;
4
4
  sub?: React.ReactNode;
5
5
  }
6
6
  export {};
7
- //# sourceMappingURL=legend.d.ts.map
@@ -1,7 +1,19 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { cn } from '../../../utils';
3
- import { Small } from './small';
4
- export function Legend({ children, className, label, sub, ...props }) {
5
- return (_jsxs("hgroup", { className: cn('flex flex-col gap-2', className), ...props, children: [_jsx(Small, { children: label }), sub && _jsxs(Small, { className: "opacity-50", children: ["- ", sub] }), children] }));
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { cn } from "../../../utils/index.js";
3
+ import { Small } from "./small.js";
4
+ export function Legend({
5
+ children,
6
+ className,
7
+ label,
8
+ sub,
9
+ ...props
10
+ }) {
11
+ return /* @__PURE__ */ jsxs("hgroup", { className: cn("flex flex-col gap-2", className), ...props, children: [
12
+ /* @__PURE__ */ jsx(Small, { children: label }),
13
+ sub && /* @__PURE__ */ jsxs(Small, { className: "opacity-50", children: [
14
+ "- ",
15
+ sub
16
+ ] }),
17
+ children
18
+ ] });
6
19
  }
7
- //# sourceMappingURL=legend.js.map
@@ -1,3 +1,2 @@
1
1
  import { type TypographyProps } from '.';
2
2
  export declare const Small: import("react").ForwardRefExoticComponent<Omit<TypographyProps<any>, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
3
- //# sourceMappingURL=small.d.ts.map
@@ -1,7 +1,8 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { forwardRef } from 'react';
3
- import { Typography } from '.';
4
- export const Small = forwardRef((props, ref) => {
5
- return (_jsx(Typography, { as: "small", mondwest: true, variant: "sm", ref, ...props }));
6
- });
7
- //# sourceMappingURL=small.js.map
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { forwardRef } from "react";
3
+ import { Typography } from "./index.js";
4
+ export const Small = forwardRef(
5
+ (props, ref) => {
6
+ return /* @__PURE__ */ jsx(Typography, { as: "small", mondwest: true, variant: "sm", ...{ ref, ...props } });
7
+ }
8
+ );
@@ -1,4 +1,4 @@
1
- export declare function Watchlist({ className, counter, items, scramble, ...props }: WatchlistProps): import("react/jsx-runtime").JSX.Element;
1
+ export declare function Watchlist({ className, counter, items, scramble, ...props }: WatchlistProps): import("react").JSX.Element;
2
2
  interface WatchlistProps extends React.ComponentProps<'div'> {
3
3
  counter?: boolean;
4
4
  items: {
@@ -9,4 +9,3 @@ interface WatchlistProps extends React.ComponentProps<'div'> {
9
9
  scramble?: boolean;
10
10
  }
11
11
  export {};
12
- //# sourceMappingURL=watchlist.d.ts.map