@mova-ui/react 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (299) hide show
  1. package/README.md +68 -21
  2. package/bin/mova.mjs +22 -7
  3. package/dist/styles.css +131 -1
  4. package/package.json +62 -14
  5. package/registry/1.json +14 -0
  6. package/registry/10.json +14 -0
  7. package/registry/11.json +14 -0
  8. package/registry/12.json +14 -0
  9. package/registry/13.json +14 -0
  10. package/registry/14.json +14 -0
  11. package/registry/15.json +14 -0
  12. package/registry/16.json +14 -0
  13. package/registry/17.json +14 -0
  14. package/registry/18.json +14 -0
  15. package/registry/19.json +14 -0
  16. package/registry/2.json +14 -0
  17. package/registry/20.json +14 -0
  18. package/registry/21.json +14 -0
  19. package/registry/22.json +14 -0
  20. package/registry/23.json +14 -0
  21. package/registry/24.json +14 -0
  22. package/registry/25.json +14 -0
  23. package/registry/26.json +14 -0
  24. package/registry/27.json +14 -0
  25. package/registry/28.json +14 -0
  26. package/registry/29.json +14 -0
  27. package/registry/3.json +14 -0
  28. package/registry/30.json +14 -0
  29. package/registry/31.json +14 -0
  30. package/registry/32.json +14 -0
  31. package/registry/33.json +14 -0
  32. package/registry/34.json +14 -0
  33. package/registry/35.json +14 -0
  34. package/registry/36.json +11 -0
  35. package/registry/37.json +11 -0
  36. package/registry/4.json +14 -0
  37. package/registry/5.json +14 -0
  38. package/registry/6.json +14 -0
  39. package/registry/7.json +14 -0
  40. package/registry/8.json +14 -0
  41. package/registry/9.json +14 -0
  42. package/registry/LICENSE.third-party +283 -0
  43. package/registry/ab-segmented-tabs.json +14 -0
  44. package/registry/accordion-blind.json +14 -0
  45. package/registry/analyzing-image.json +13 -0
  46. package/registry/animated-sidebar.json +14 -0
  47. package/registry/animated-tags.json +14 -0
  48. package/registry/blur-up-char.json +14 -0
  49. package/registry/blur-up-word.json +14 -0
  50. package/registry/bookmark-corner-peel.json +14 -0
  51. package/registry/bookmark-save-pill.json +14 -0
  52. package/registry/bookmark-toggle.json +14 -0
  53. package/registry/border-trail-loading.json +13 -0
  54. package/registry/bounce-in-char.json +14 -0
  55. package/registry/btn-1.json +14 -0
  56. package/registry/btn-10.json +14 -0
  57. package/registry/btn-11.json +14 -0
  58. package/registry/btn-12.json +14 -0
  59. package/registry/btn-13.json +14 -0
  60. package/registry/btn-14.json +14 -0
  61. package/registry/btn-15.json +14 -0
  62. package/registry/btn-16.json +14 -0
  63. package/registry/btn-17.json +14 -0
  64. package/registry/btn-18.json +14 -0
  65. package/registry/btn-19.json +14 -0
  66. package/registry/btn-2.json +14 -0
  67. package/registry/btn-20.json +14 -0
  68. package/registry/btn-21.json +14 -0
  69. package/registry/btn-22.json +14 -0
  70. package/registry/btn-23.json +14 -0
  71. package/registry/btn-24.json +14 -0
  72. package/registry/btn-25.json +14 -0
  73. package/registry/btn-26.json +14 -0
  74. package/registry/btn-27.json +14 -0
  75. package/registry/btn-28.json +14 -0
  76. package/registry/btn-29.json +14 -0
  77. package/registry/btn-3.json +14 -0
  78. package/registry/btn-30.json +14 -0
  79. package/registry/btn-31.json +14 -0
  80. package/registry/btn-32.json +14 -0
  81. package/registry/btn-33.json +14 -0
  82. package/registry/btn-34.json +14 -0
  83. package/registry/btn-35.json +14 -0
  84. package/registry/btn-36.json +11 -0
  85. package/registry/btn-37.json +11 -0
  86. package/registry/btn-4.json +14 -0
  87. package/registry/btn-5.json +14 -0
  88. package/registry/btn-6.json +14 -0
  89. package/registry/btn-7.json +14 -0
  90. package/registry/btn-8.json +14 -0
  91. package/registry/btn-9.json +14 -0
  92. package/registry/button-slide-arrow.json +14 -0
  93. package/registry/cacheable-bandwidth-cost.json +14 -0
  94. package/registry/card-arc-5.json +13 -0
  95. package/registry/card-arc-7.json +13 -0
  96. package/registry/card-carousel-mono.json +14 -0
  97. package/registry/card-carousel.json +14 -0
  98. package/registry/card-cascade-stagger.json +13 -0
  99. package/registry/card-corner-fan.json +13 -0
  100. package/registry/card-cover-flow-mono.json +14 -0
  101. package/registry/card-cover-flow.json +14 -0
  102. package/registry/card-deck-cascade.json +14 -0
  103. package/registry/card-glance-preview.json +14 -0
  104. package/registry/card-linear-spread.json +13 -0
  105. package/registry/card-long-arc-5.json +13 -0
  106. package/registry/card-scatter-spread.json +13 -0
  107. package/registry/card-stack-peel.json +14 -0
  108. package/registry/card-stamp-arc.json +13 -0
  109. package/registry/card-time-machine-mono.json +13 -0
  110. package/registry/card-time-machine.json +13 -0
  111. package/registry/card-wheel-fan.json +13 -0
  112. package/registry/category-select.json +14 -0
  113. package/registry/checkbox-draw.json +14 -0
  114. package/registry/checkmark-draw.json +14 -0
  115. package/registry/circle-toggle.json +14 -0
  116. package/registry/circuit-trace-draw.json +14 -0
  117. package/registry/circular-create-button.json +11 -0
  118. package/registry/compass-needle-deflect.json +14 -0
  119. package/registry/context-menu.json +14 -0
  120. package/registry/credit-score-barcode-meter.json +14 -0
  121. package/registry/date-position-selector.json +14 -0
  122. package/registry/dia-text-reveal.json +14 -0
  123. package/registry/dislike-toggle.json +14 -0
  124. package/registry/dither-book.json +14 -0
  125. package/registry/domino-cascade.json +14 -0
  126. package/registry/double-bounce-toggle.json +14 -0
  127. package/registry/download-icons.json +14 -0
  128. package/registry/drop-in-char.json +14 -0
  129. package/registry/droplet-squish.json +14 -0
  130. package/registry/dual-magnet-dipole.json +14 -0
  131. package/registry/elastic-tag-snap.json +14 -0
  132. package/registry/error-shake.json +14 -0
  133. package/registry/expanding-icon-tabs.json +13 -0
  134. package/registry/fade-in-char.json +14 -0
  135. package/registry/fade-in-text.json +14 -0
  136. package/registry/fade-in-word.json +14 -0
  137. package/registry/file-upload-dropzone.json +14 -0
  138. package/registry/filter-tag-pill.json +14 -0
  139. package/registry/flip-x-char.json +14 -0
  140. package/registry/flip-y-char.json +14 -0
  141. package/registry/float-char.json +14 -0
  142. package/registry/float-word.json +14 -0
  143. package/registry/floating-label-input.json +14 -0
  144. package/registry/focus-blur.json +13 -0
  145. package/registry/form-submit-button.json +14 -0
  146. package/registry/french-doors-3d.json +13 -0
  147. package/registry/gear-tooth-step.json +14 -0
  148. package/registry/gelatin-wobble.json +14 -0
  149. package/registry/geometric-iris-shutter.json +14 -0
  150. package/registry/glow-text.json +14 -0
  151. package/registry/gooey-popover.json +13 -0
  152. package/registry/gradient-shimmer.json +13 -0
  153. package/registry/hex-lattice-draw.json +14 -0
  154. package/registry/hover-lift-char.json +14 -0
  155. package/registry/hover-lift-word.json +14 -0
  156. package/registry/hover-link-card.json +14 -0
  157. package/registry/hover-scale-char.json +14 -0
  158. package/registry/hover-scale-word.json +14 -0
  159. package/registry/inertia-skid-stop.json +14 -0
  160. package/registry/input-focus-glow.json +14 -0
  161. package/registry/inset-action-button.json +11 -0
  162. package/registry/inset-button.json +12 -0
  163. package/registry/kinetic-metronome-tick.json +14 -0
  164. package/registry/kinetic-tension-capsule.json +14 -0
  165. package/registry/light-dark-morph.json +14 -0
  166. package/registry/like-toggle.json +14 -0
  167. package/registry/magnetic-disks.json +14 -0
  168. package/registry/magnetic-slide-btn.json +14 -0
  169. package/registry/matrix-grid-loader.json +14 -0
  170. package/registry/modular-tile-snap.json +14 -0
  171. package/registry/mono-activity-blue.json +13 -0
  172. package/registry/mono-activity-green.json +13 -0
  173. package/registry/mono-activity-purple.json +13 -0
  174. package/registry/mono-heatmap.json +14 -0
  175. package/registry/mono-rounded-area.json +13 -0
  176. package/registry/mono-rounded-bar.json +13 -0
  177. package/registry/mono-rounded-bubble.json +13 -0
  178. package/registry/mono-rounded-bullet.json +11 -0
  179. package/registry/mono-rounded-candlestick.json +11 -0
  180. package/registry/mono-rounded-composed.json +13 -0
  181. package/registry/mono-rounded-donut.json +13 -0
  182. package/registry/mono-rounded-funnel.json +13 -0
  183. package/registry/mono-rounded-gauge-arc.json +13 -0
  184. package/registry/mono-rounded-heatmap.json +11 -0
  185. package/registry/mono-rounded-kpi.json +13 -0
  186. package/registry/mono-rounded-line.json +13 -0
  187. package/registry/mono-rounded-meter.json +13 -0
  188. package/registry/mono-rounded-polar.json +13 -0
  189. package/registry/mono-rounded-pyramid.json +11 -0
  190. package/registry/mono-rounded-radar.json +13 -0
  191. package/registry/mono-rounded-radial-gauge.json +13 -0
  192. package/registry/mono-rounded-radial-group.json +13 -0
  193. package/registry/mono-rounded-range.json +13 -0
  194. package/registry/mono-rounded-sankey.json +11 -0
  195. package/registry/mono-rounded-scatter.json +13 -0
  196. package/registry/mono-rounded-sparkline.json +13 -0
  197. package/registry/mono-rounded-stacked-bar.json +13 -0
  198. package/registry/mono-rounded-step.json +13 -0
  199. package/registry/mono-rounded-stream.json +13 -0
  200. package/registry/mono-rounded-treemap.json +11 -0
  201. package/registry/mono-rounded-waterfall.json +13 -0
  202. package/registry/mono-stock.json +14 -0
  203. package/registry/morph-action-pill.json +14 -0
  204. package/registry/morph-toggle.json +14 -0
  205. package/registry/multi-select-chips.json +14 -0
  206. package/registry/multi-tab-bar.json +14 -0
  207. package/registry/neon-sign-draw.json +14 -0
  208. package/registry/nested-orbital-gimbal.json +14 -0
  209. package/registry/network-telemetry-matrix.json +14 -0
  210. package/registry/noise-decibel-level.json +14 -0
  211. package/registry/obsidian-liquid-wave.json +11 -0
  212. package/registry/origami-envelope-unfold.json +14 -0
  213. package/registry/otp-input.json +14 -0
  214. package/registry/overview-bar-scrubber-card.json +14 -0
  215. package/registry/page-turn-curl.json +14 -0
  216. package/registry/password-toggle.json +14 -0
  217. package/registry/pendulum-bubble-level.json +14 -0
  218. package/registry/perspective-flip-stage.json +13 -0
  219. package/registry/perspective-flip.json +13 -0
  220. package/registry/perspective-layout-switcher.json +14 -0
  221. package/registry/physics-dock.json +14 -0
  222. package/registry/pill-tabs.json +14 -0
  223. package/registry/plus-minus-toggle.json +14 -0
  224. package/registry/prism-block-stack.json +14 -0
  225. package/registry/progress-indicator-piano.json +14 -0
  226. package/registry/progress-stepper.json +14 -0
  227. package/registry/pulse-char.json +14 -0
  228. package/registry/pulse-word.json +14 -0
  229. package/registry/pyramid-block-build.json +14 -0
  230. package/registry/radial-iris-mask.json +13 -0
  231. package/registry/radial-spinner.json +14 -0
  232. package/registry/radio-scale.json +14 -0
  233. package/registry/range-slider.json +14 -0
  234. package/registry/receipt-tape-print.json +14 -0
  235. package/registry/rectangle-toggle.json +14 -0
  236. package/registry/repost-toggle.json +14 -0
  237. package/registry/reveal-text.json +14 -0
  238. package/registry/ribbon-banner-slide.json +14 -0
  239. package/registry/rise-up-word.json +14 -0
  240. package/registry/roller-blind-drop.json +14 -0
  241. package/registry/rolling-tumble.json +14 -0
  242. package/registry/rotate-in-char.json +14 -0
  243. package/registry/rotating-louvers.json +14 -0
  244. package/registry/sales-analytics-dual-bars.json +14 -0
  245. package/registry/sales-overview-radial-dashboard.json +14 -0
  246. package/registry/sales-target-segmented-arc.json +14 -0
  247. package/registry/scale-in-char.json +14 -0
  248. package/registry/scale-in-text.json +14 -0
  249. package/registry/scale-in-word.json +14 -0
  250. package/registry/scramble-text.json +13 -0
  251. package/registry/scroll-canvas-unroll.json +14 -0
  252. package/registry/search-expand.json +14 -0
  253. package/registry/segmented-arc-meter.json +14 -0
  254. package/registry/segmented-link-stretch.json +14 -0
  255. package/registry/segmented-step-bar.json +14 -0
  256. package/registry/segmented-stepper-dots.json +14 -0
  257. package/registry/select-dropdown.json +14 -0
  258. package/registry/server-performance-step-bars.json +14 -0
  259. package/registry/shimmer-text.json +14 -0
  260. package/registry/shutter-slide.json +14 -0
  261. package/registry/shutter-step-slices.json +14 -0
  262. package/registry/skew-x-char.json +14 -0
  263. package/registry/slide-down-char.json +14 -0
  264. package/registry/slide-down-word.json +14 -0
  265. package/registry/slide-left-char.json +14 -0
  266. package/registry/slide-right-char.json +14 -0
  267. package/registry/slide-up-char.json +14 -0
  268. package/registry/slide-up-text.json +14 -0
  269. package/registry/slide-up-word.json +14 -0
  270. package/registry/slinky-coil.json +14 -0
  271. package/registry/smart-card-dispenser.json +14 -0
  272. package/registry/solid-switch.json +14 -0
  273. package/registry/spatial-door-portal.json +13 -0
  274. package/registry/split-gate-reveal.json +14 -0
  275. package/registry/spring-text.json +14 -0
  276. package/registry/squash-sphere.json +14 -0
  277. package/registry/stagger-text.json +14 -0
  278. package/registry/staggered-glass-curtain.json +13 -0
  279. package/registry/sticky-note-peel.json +14 -0
  280. package/registry/stretch-x-char.json +14 -0
  281. package/registry/stretch-y-char.json +14 -0
  282. package/registry/stroke-waveform.json +14 -0
  283. package/registry/submenu-flyout.json +14 -0
  284. package/registry/success-check.json +14 -0
  285. package/registry/sudden-brake.json +14 -0
  286. package/registry/swing-word.json +14 -0
  287. package/registry/textarea-auto-grow.json +14 -0
  288. package/registry/theme-toggle.json +14 -0
  289. package/registry/timer-preparation-segmented.json +14 -0
  290. package/registry/tracking-in-text.json +14 -0
  291. package/registry/tracking-out-text.json +14 -0
  292. package/registry/typewriter-text.json +13 -0
  293. package/registry/users-growth-pill-progress.json +14 -0
  294. package/registry/vertical-wheel-counter.json +14 -0
  295. package/registry/views-hourly-wave-chart.json +14 -0
  296. package/registry/wandering-eyes.json +11 -0
  297. package/registry/wave-reveal.json +13 -0
  298. package/registry/zoom-in-text.json +14 -0
  299. package/registry/zoom-out-text.json +14 -0
@@ -0,0 +1,13 @@
1
+ {
2
+ "id": "mono-rounded-kpi",
3
+ "file": "mono-rounded-kpi.tsx",
4
+ "content": "// @ts-nocheck -- Generated JavaScript bundle; edit the maintained catalog source to retain TypeScript types.\n\"use client\";\n// Mova catalog component. See LICENSE.mova and LICENSE.third-party.\n// src/components/mono-charts/MonoRoundedKpiCardChart.tsx\nimport { ResponsiveContainer, AreaChart, Area } from \"recharts\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nvar KPI_LINE_DATA = [\n { v: 30 },\n { v: 45 },\n { v: 35 },\n { v: 60 },\n { v: 50 },\n { v: 85 },\n { v: 75 },\n { v: 95 }\n];\nfunction MonoRoundedKpiCardChart({ theme = \"dark\", compact = false }) {\n const isDark = theme === \"dark\";\n return /* @__PURE__ */ jsxs(\n \"div\",\n {\n className: `relative w-full rounded-[24px] transition-all duration-300 group flex flex-col justify-between overflow-hidden p-4 sm:p-5 ${compact ? \"h-[220px] sm:h-[268px]\" : \"min-h-[290px]\"} ${isDark ? \"bg-[#181818] shadow-[inset_0_1px_0_rgba(255,255,255,0.04)] hover:bg-[#202020]\" : \"bg-white shadow-[0_4px_20px_rgba(0,0,0,0.04)] border border-neutral-100 text-black hover:shadow-[0_6px_24px_rgba(0,0,0,0.06)]\"}`,\n children: [\n /* @__PURE__ */ jsx(\"div\", { className: \"flex items-center justify-between mb-1\", children: /* @__PURE__ */ jsxs(\"div\", { children: [\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center gap-2\", children: [\n /* @__PURE__ */ jsx(\"span\", { className: `text-xs font-semibold tracking-wider uppercase ${isDark ? \"text-neutral-400\" : \"text-neutral-500\"}`, children: \"KPI Stat Card\" }),\n /* @__PURE__ */ jsx(\"span\", { className: \"inline-flex items-center px-1.5 py-0.5 rounded-full text-[10px] font-mono bg-white/10 text-white border border-white/20\", children: \"Metric\" })\n ] }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"text-2xl font-extrabold tracking-tight tabular-nums mt-1 font-sans\", children: [\n \"$48,920 \",\n /* @__PURE__ */ jsx(\"span\", { className: \"text-xs font-normal text-emerald-400 font-mono\", children: \"+14.2%\" })\n ] })\n ] }) }),\n /* @__PURE__ */ jsx(\"div\", { className: `relative w-full flex-1 rounded-[14px] overflow-hidden p-2 transition-colors duration-300 flex flex-col justify-end ${isDark ? \"bg-[#131313]\" : \"bg-[#f4f4f6]\"}`, children: /* @__PURE__ */ jsx(\"div\", { className: \"w-full h-24\", children: /* @__PURE__ */ jsx(ResponsiveContainer, { width: \"100%\", height: \"100%\", children: /* @__PURE__ */ jsxs(AreaChart, { data: KPI_LINE_DATA, children: [\n /* @__PURE__ */ jsx(\"defs\", { children: /* @__PURE__ */ jsxs(\"linearGradient\", { id: \"kpiGrad\", x1: \"0\", y1: \"0\", x2: \"0\", y2: \"1\", children: [\n /* @__PURE__ */ jsx(\"stop\", { offset: \"0%\", stopColor: isDark ? \"#FFFFFF\" : \"#09090B\", stopOpacity: 0.3 }),\n /* @__PURE__ */ jsx(\"stop\", { offset: \"100%\", stopColor: isDark ? \"#FFFFFF\" : \"#09090B\", stopOpacity: 0 })\n ] }) }),\n /* @__PURE__ */ jsx(\n Area,\n {\n type: \"monotone\",\n dataKey: \"v\",\n stroke: isDark ? \"#FFFFFF\" : \"#09090B\",\n strokeWidth: 2.5,\n strokeLinecap: \"round\",\n fill: \"url(#kpiGrad)\",\n animationDuration: 800\n }\n )\n ] }) }) }) }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center justify-between mt-3 pt-1 border-t border-white/5 text-[11px] font-mono\", children: [\n /* @__PURE__ */ jsx(\"span\", { className: isDark ? \"text-neutral-400\" : \"text-neutral-600\", children: \"Rounded Sparkline Wave\" }),\n /* @__PURE__ */ jsx(\"span\", { className: isDark ? \"text-white font-medium\" : \"text-black font-medium\", children: \"Monthly Revenue\" })\n ] })\n ]\n }\n );\n}\n\n// mono-rounded-kpi.tsx\nimport { jsx as jsx2 } from \"react/jsx-runtime\";\nfunction Demo() {\n return /* @__PURE__ */ jsx2(MonoRoundedKpiCardChart, { theme: \"dark\" });\n}\nexport {\n Demo as default\n};\n",
5
+ "dependencies": [
6
+ "recharts"
7
+ ],
8
+ "css": "",
9
+ "usage": "import MovaComponent from './mono-rounded-kpi';\n\nexport default function Demo() {\n return <MovaComponent />;\n}",
10
+ "exports": [
11
+ "default"
12
+ ]
13
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "id": "mono-rounded-line",
3
+ "file": "mono-rounded-line.tsx",
4
+ "content": "// @ts-nocheck -- Generated JavaScript bundle; edit the maintained catalog source to retain TypeScript types.\n\"use client\";\n// Mova catalog component. See LICENSE.mova and LICENSE.third-party.\n// src/components/mono-charts/MonoRoundedLineChart.tsx\nimport { useState as useState2 } from \"react\";\nimport {\n ResponsiveContainer,\n LineChart,\n Line,\n XAxis,\n YAxis,\n CartesianGrid,\n Tooltip\n} from \"recharts\";\n\n// src/components/dither-charts/lib/recharts-tooltip.tsx\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nfunction DitherChartTooltipContent({\n active,\n payload,\n label,\n theme = \"dark\",\n indicator = \"dot\",\n formatter\n}) {\n if (!active || !payload || payload.length === 0) return null;\n const isDark = theme === \"dark\";\n return /* @__PURE__ */ jsxs(\n \"div\",\n {\n className: `px-3 py-2 rounded-xl text-xs shadow-2xl backdrop-blur-md border transition-all pointer-events-none font-sans z-50 ${isDark ? \"bg-[#181818]/90 border-white/10 text-white shadow-black/80\" : \"bg-white/95 border-neutral-200 text-neutral-900 shadow-neutral-300/50\"}`,\n children: [\n label && /* @__PURE__ */ jsx(\"div\", { className: `font-medium mb-1.5 pb-1 border-b tracking-tight ${isDark ? \"border-white/10 text-neutral-300\" : \"border-neutral-200 text-neutral-600\"}`, children: label }),\n /* @__PURE__ */ jsx(\"div\", { className: \"flex flex-col gap-1\", children: payload.map((item, idx) => {\n const color = item.color || item.fill || (isDark ? \"#FFFFFF\" : \"#000000\");\n const valueDisplay = formatter ? formatter(item.value, item.name) : typeof item.value === \"number\" ? item.value.toLocaleString() : item.value;\n return /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center justify-between gap-3\", children: [\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center gap-1.5\", children: [\n indicator === \"dot\" && /* @__PURE__ */ jsx(\n \"span\",\n {\n className: \"w-2 h-2 rounded-full ring-1 ring-white/20\",\n style: { backgroundColor: color }\n }\n ),\n indicator === \"line\" && /* @__PURE__ */ jsx(\n \"span\",\n {\n className: \"w-2.5 h-0.5 rounded-full\",\n style: { backgroundColor: color }\n }\n ),\n /* @__PURE__ */ jsxs(\"span\", { className: `font-normal ${isDark ? \"text-neutral-400\" : \"text-neutral-600\"}`, children: [\n item.name || item.dataKey,\n \":\"\n ] })\n ] }),\n /* @__PURE__ */ jsx(\"span\", { className: \"font-semibold tabular-nums\", children: valueDisplay })\n ] }, idx);\n }) })\n ]\n }\n );\n}\n\n// src/hooks/useIsMobile.ts\nimport { useState, useEffect } from \"react\";\nfunction useIsMobile(breakpoint = 768) {\n const [isMobile, setIsMobile] = useState(() => {\n if (typeof window === \"undefined\") return false;\n return window.innerWidth < breakpoint || window.matchMedia(`(max-width: ${breakpoint}px)`).matches;\n });\n useEffect(() => {\n if (typeof window === \"undefined\") return;\n const mql = window.matchMedia(`(max-width: ${breakpoint}px)`);\n const onChange = (e) => {\n setIsMobile(e.matches);\n };\n setIsMobile(mql.matches);\n if (mql.addEventListener) {\n mql.addEventListener(\"change\", onChange);\n return () => mql.removeEventListener(\"change\", onChange);\n } else {\n mql.addListener(onChange);\n return () => mql.removeListener(onChange);\n }\n }, [breakpoint]);\n return isMobile;\n}\n\n// src/components/mono-charts/MonoRoundedLineChart.tsx\nimport { jsx as jsx2, jsxs as jsxs2 } from \"react/jsx-runtime\";\nvar MONO_LINE_DATA = [\n { label: \"Jan\", value: 24, secondary: 18 },\n { label: \"Feb\", value: 45, secondary: 32 },\n { label: \"Mar\", value: 38, secondary: 29 },\n { label: \"Apr\", value: 65, secondary: 48 },\n { label: \"May\", value: 52, secondary: 41 },\n { label: \"Jun\", value: 84, secondary: 62 }\n];\nfunction MonoRoundedLineChart({ theme = \"dark\", compact = false }) {\n const isDark = theme === \"dark\";\n const isMobile = useIsMobile();\n const [activeSeries, setActiveSeries] = useState2(\"all\");\n const latestVal = MONO_LINE_DATA[MONO_LINE_DATA.length - 1].value;\n return /* @__PURE__ */ jsxs2(\n \"div\",\n {\n className: `relative w-full rounded-[24px] transition-all duration-300 group flex flex-col justify-between overflow-hidden p-4 sm:p-5 ${compact ? \"h-[220px] sm:h-[268px]\" : \"min-h-[290px]\"} ${isDark ? \"bg-[#181818] shadow-[inset_0_1px_0_rgba(255,255,255,0.04)] hover:bg-[#202020]\" : \"bg-white shadow-[0_4px_20px_rgba(0,0,0,0.04)] border border-neutral-100 text-black hover:shadow-[0_6px_24px_rgba(0,0,0,0.06)]\"}`,\n children: [\n /* @__PURE__ */ jsxs2(\"div\", { className: \"flex items-center justify-between mb-2\", children: [\n /* @__PURE__ */ jsxs2(\"div\", { children: [\n /* @__PURE__ */ jsxs2(\"div\", { className: \"flex items-center gap-2\", children: [\n /* @__PURE__ */ jsx2(\"span\", { className: `text-xs font-semibold tracking-wider uppercase ${isDark ? \"text-neutral-400\" : \"text-neutral-500\"}`, children: \"Spline Dynamics\" }),\n /* @__PURE__ */ jsx2(\"span\", { className: \"inline-flex items-center px-1.5 py-0.5 rounded-full text-[10px] font-mono bg-white/10 text-white border border-white/20\", children: \"Line\" })\n ] }),\n /* @__PURE__ */ jsxs2(\"div\", { className: \"text-xl font-bold tracking-tight tabular-nums mt-0.5 font-sans\", children: [\n latestVal,\n \"k \",\n /* @__PURE__ */ jsx2(\"span\", { className: \"text-xs font-normal opacity-70\", children: \"nodes\" })\n ] })\n ] }),\n /* @__PURE__ */ jsx2(\"div\", { className: `p-0.5 rounded-full border flex items-center gap-0.5 ${isDark ? \"bg-white/5 border-white/10\" : \"bg-neutral-100 border-neutral-200\"}`, children: [\"all\", \"value\"].map((s) => /* @__PURE__ */ jsx2(\n \"button\",\n {\n type: \"button\",\n onClick: () => setActiveSeries(s),\n className: `px-2.5 py-0.5 rounded-full text-[11px] font-medium capitalize transition-all cursor-pointer ${activeSeries === s ? isDark ? \"bg-white text-black font-semibold shadow-sm\" : \"bg-black text-white font-semibold shadow-sm\" : isDark ? \"text-neutral-400 hover:text-white\" : \"text-neutral-600 hover:text-black\"}`,\n children: s === \"all\" ? \"Dual\" : \"Single\"\n },\n s\n )) })\n ] }),\n /* @__PURE__ */ jsx2(\"div\", { className: `relative w-full flex-1 rounded-[14px] overflow-hidden p-2 transition-colors duration-300 touch-pan-y ${isDark ? \"bg-[#131313]\" : \"bg-[#f4f4f6]\"}`, children: /* @__PURE__ */ jsx2(ResponsiveContainer, { width: \"100%\", height: compact ? 130 : 160, children: /* @__PURE__ */ jsxs2(LineChart, { data: MONO_LINE_DATA, margin: { top: 12, right: 12, left: -22, bottom: 0 }, children: [\n /* @__PURE__ */ jsx2(\n CartesianGrid,\n {\n strokeDasharray: \"3 3\",\n vertical: false,\n stroke: isDark ? \"rgba(255,255,255,0.05)\" : \"rgba(0,0,0,0.05)\"\n }\n ),\n /* @__PURE__ */ jsx2(\n XAxis,\n {\n dataKey: \"label\",\n tickLine: false,\n axisLine: false,\n tick: { fontSize: 10, fill: isDark ? \"#71717A\" : \"#A1A1AA\" }\n }\n ),\n /* @__PURE__ */ jsx2(\n YAxis,\n {\n tickLine: false,\n axisLine: false,\n tick: { fontSize: 10, fill: isDark ? \"#71717A\" : \"#A1A1AA\" }\n }\n ),\n /* @__PURE__ */ jsx2(Tooltip, { content: /* @__PURE__ */ jsx2(DitherChartTooltipContent, { theme, indicator: \"dot\" }) }),\n activeSeries === \"all\" && /* @__PURE__ */ jsx2(\n Line,\n {\n type: \"monotone\",\n dataKey: \"secondary\",\n name: \"Baseline\",\n stroke: isDark ? \"#52525B\" : \"#A1A1AA\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeDasharray: \"4 4\",\n dot: false,\n isAnimationActive: !isMobile,\n animationDuration: isMobile ? 0 : 900\n }\n ),\n /* @__PURE__ */ jsx2(\n Line,\n {\n type: \"monotone\",\n dataKey: \"value\",\n name: \"Active\",\n stroke: isDark ? \"#FFFFFF\" : \"#09090B\",\n strokeWidth: 3,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n dot: {\n r: 4,\n fill: isDark ? \"#FFFFFF\" : \"#09090B\",\n stroke: isDark ? \"#181818\" : \"#FFFFFF\",\n strokeWidth: 2\n },\n activeDot: {\n r: 6,\n fill: isDark ? \"#FFFFFF\" : \"#09090B\",\n stroke: isDark ? \"#A1A1AA\" : \"#52525B\",\n strokeWidth: 2\n },\n isAnimationActive: !isMobile,\n animationDuration: isMobile ? 0 : 800\n }\n )\n ] }) }) }),\n /* @__PURE__ */ jsxs2(\"div\", { className: \"flex items-center justify-between mt-3 pt-1 border-t border-white/5 text-[11px] font-mono\", children: [\n /* @__PURE__ */ jsx2(\"span\", { className: isDark ? \"text-neutral-400\" : \"text-neutral-600\", children: \"Rounded Caps\" }),\n /* @__PURE__ */ jsx2(\"span\", { className: isDark ? \"text-white font-medium\" : \"text-black font-medium\", children: \"84k Peak\" })\n ] })\n ]\n }\n );\n}\n\n// mono-rounded-line.tsx\nimport { jsx as jsx3 } from \"react/jsx-runtime\";\nfunction Demo() {\n return /* @__PURE__ */ jsx3(MonoRoundedLineChart, { theme: \"dark\" });\n}\nexport {\n Demo as default\n};\n",
5
+ "dependencies": [
6
+ "recharts"
7
+ ],
8
+ "css": "",
9
+ "usage": "import MovaComponent from './mono-rounded-line';\n\nexport default function Demo() {\n return <MovaComponent />;\n}",
10
+ "exports": [
11
+ "default"
12
+ ]
13
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "id": "mono-rounded-meter",
3
+ "file": "mono-rounded-meter.tsx",
4
+ "content": "// @ts-nocheck -- Generated JavaScript bundle; edit the maintained catalog source to retain TypeScript types.\n\"use client\";\n// Mova catalog component. See LICENSE.mova and LICENSE.third-party.\n// src/components/mono-charts/MonoRoundedMeterChart.tsx\nimport { ResponsiveContainer, PieChart, Pie, Cell } from \"recharts\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nfunction MonoRoundedMeterChart({ theme = \"dark\", compact = false }) {\n const isDark = theme === \"dark\";\n const val = 78;\n const data = [\n { name: \"Active\", value: val },\n { name: \"Remaining\", value: 100 - val }\n ];\n return /* @__PURE__ */ jsxs(\n \"div\",\n {\n className: `relative w-full rounded-[24px] transition-all duration-300 group flex flex-col justify-between overflow-hidden p-4 sm:p-5 ${compact ? \"h-[220px] sm:h-[268px]\" : \"min-h-[290px]\"} ${isDark ? \"bg-[#181818] shadow-[inset_0_1px_0_rgba(255,255,255,0.04)] hover:bg-[#202020]\" : \"bg-white shadow-[0_4px_20px_rgba(0,0,0,0.04)] border border-neutral-100 text-black hover:shadow-[0_6px_24px_rgba(0,0,0,0.06)]\"}`,\n children: [\n /* @__PURE__ */ jsx(\"div\", { className: \"flex items-center justify-between mb-1\", children: /* @__PURE__ */ jsxs(\"div\", { children: [\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center gap-2\", children: [\n /* @__PURE__ */ jsx(\"span\", { className: `text-xs font-semibold tracking-wider uppercase ${isDark ? \"text-neutral-400\" : \"text-neutral-500\"}`, children: \"Arc Meter\" }),\n /* @__PURE__ */ jsx(\"span\", { className: \"inline-flex items-center px-1.5 py-0.5 rounded-full text-[10px] font-mono bg-white/10 text-white border border-white/20\", children: \"Speedometer\" })\n ] }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"text-xl font-bold tracking-tight tabular-nums mt-0.5 font-sans\", children: [\n val,\n \"% \",\n /* @__PURE__ */ jsx(\"span\", { className: \"text-xs font-normal opacity-70\", children: \"load index\" })\n ] })\n ] }) }),\n /* @__PURE__ */ jsxs(\"div\", { className: `relative w-full flex-1 rounded-[14px] overflow-hidden p-2 transition-colors duration-300 flex flex-col items-center justify-center ${isDark ? \"bg-[#131313]\" : \"bg-[#f4f4f6]\"}`, children: [\n /* @__PURE__ */ jsx(ResponsiveContainer, { width: \"100%\", height: compact ? 120 : 140, children: /* @__PURE__ */ jsx(PieChart, { children: /* @__PURE__ */ jsxs(\n Pie,\n {\n data,\n dataKey: \"value\",\n cx: \"50%\",\n cy: \"70%\",\n startAngle: 180,\n endAngle: 0,\n innerRadius: compact ? 42 : 52,\n outerRadius: compact ? 58 : 70,\n cornerRadius: 6,\n strokeLinecap: \"round\",\n paddingAngle: 4,\n children: [\n /* @__PURE__ */ jsx(Cell, { fill: isDark ? \"#FFFFFF\" : \"#09090B\" }),\n /* @__PURE__ */ jsx(Cell, { fill: isDark ? \"rgba(255,255,255,0.1)\" : \"rgba(9,9,11,0.1)\" })\n ]\n }\n ) }) }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"absolute bottom-4 flex flex-col items-center pointer-events-none\", children: [\n /* @__PURE__ */ jsxs(\"span\", { className: \"text-lg font-bold tabular-nums font-sans\", children: [\n val,\n \"%\"\n ] }),\n /* @__PURE__ */ jsx(\"span\", { className: `text-[10px] font-mono ${isDark ? \"text-neutral-400\" : \"text-neutral-500\"}`, children: \"Optimal Load\" })\n ] })\n ] }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center justify-between mt-3 pt-1 border-t border-white/5 text-[11px] font-mono\", children: [\n /* @__PURE__ */ jsx(\"span\", { className: isDark ? \"text-neutral-400\" : \"text-neutral-600\", children: \"Rounded Semi-Circle Arc\" }),\n /* @__PURE__ */ jsx(\"span\", { className: isDark ? \"text-white font-medium\" : \"text-black font-medium\", children: \"Gauge Meter\" })\n ] })\n ]\n }\n );\n}\n\n// mono-rounded-meter.tsx\nimport { jsx as jsx2 } from \"react/jsx-runtime\";\nfunction Demo() {\n return /* @__PURE__ */ jsx2(MonoRoundedMeterChart, { theme: \"dark\" });\n}\nexport {\n Demo as default\n};\n",
5
+ "dependencies": [
6
+ "recharts"
7
+ ],
8
+ "css": "",
9
+ "usage": "import MovaComponent from './mono-rounded-meter';\n\nexport default function Demo() {\n return <MovaComponent />;\n}",
10
+ "exports": [
11
+ "default"
12
+ ]
13
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "id": "mono-rounded-polar",
3
+ "file": "mono-rounded-polar.tsx",
4
+ "content": "// @ts-nocheck -- Generated JavaScript bundle; edit the maintained catalog source to retain TypeScript types.\n\"use client\";\n// Mova catalog component. See LICENSE.mova and LICENSE.third-party.\n// src/components/mono-charts/MonoRoundedPolarChart.tsx\nimport { ResponsiveContainer, RadialBarChart, RadialBar, Tooltip } from \"recharts\";\n\n// src/components/dither-charts/lib/recharts-tooltip.tsx\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nfunction DitherChartTooltipContent({\n active,\n payload,\n label,\n theme = \"dark\",\n indicator = \"dot\",\n formatter\n}) {\n if (!active || !payload || payload.length === 0) return null;\n const isDark = theme === \"dark\";\n return /* @__PURE__ */ jsxs(\n \"div\",\n {\n className: `px-3 py-2 rounded-xl text-xs shadow-2xl backdrop-blur-md border transition-all pointer-events-none font-sans z-50 ${isDark ? \"bg-[#181818]/90 border-white/10 text-white shadow-black/80\" : \"bg-white/95 border-neutral-200 text-neutral-900 shadow-neutral-300/50\"}`,\n children: [\n label && /* @__PURE__ */ jsx(\"div\", { className: `font-medium mb-1.5 pb-1 border-b tracking-tight ${isDark ? \"border-white/10 text-neutral-300\" : \"border-neutral-200 text-neutral-600\"}`, children: label }),\n /* @__PURE__ */ jsx(\"div\", { className: \"flex flex-col gap-1\", children: payload.map((item, idx) => {\n const color = item.color || item.fill || (isDark ? \"#FFFFFF\" : \"#000000\");\n const valueDisplay = formatter ? formatter(item.value, item.name) : typeof item.value === \"number\" ? item.value.toLocaleString() : item.value;\n return /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center justify-between gap-3\", children: [\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center gap-1.5\", children: [\n indicator === \"dot\" && /* @__PURE__ */ jsx(\n \"span\",\n {\n className: \"w-2 h-2 rounded-full ring-1 ring-white/20\",\n style: { backgroundColor: color }\n }\n ),\n indicator === \"line\" && /* @__PURE__ */ jsx(\n \"span\",\n {\n className: \"w-2.5 h-0.5 rounded-full\",\n style: { backgroundColor: color }\n }\n ),\n /* @__PURE__ */ jsxs(\"span\", { className: `font-normal ${isDark ? \"text-neutral-400\" : \"text-neutral-600\"}`, children: [\n item.name || item.dataKey,\n \":\"\n ] })\n ] }),\n /* @__PURE__ */ jsx(\"span\", { className: \"font-semibold tabular-nums\", children: valueDisplay })\n ] }, idx);\n }) })\n ]\n }\n );\n}\n\n// src/components/mono-charts/MonoRoundedPolarChart.tsx\nimport { jsx as jsx2, jsxs as jsxs2 } from \"react/jsx-runtime\";\nvar POLAR_DATA = [\n { name: \"Alpha\", count: 90 },\n { name: \"Beta\", count: 65 },\n { name: \"Gamma\", count: 40 }\n];\nfunction MonoRoundedPolarChart({ theme = \"dark\", compact = false }) {\n const isDark = theme === \"dark\";\n return /* @__PURE__ */ jsxs2(\n \"div\",\n {\n className: `relative w-full rounded-[24px] transition-all duration-300 group flex flex-col justify-between overflow-hidden p-4 sm:p-5 ${compact ? \"h-[220px] sm:h-[268px]\" : \"min-h-[290px]\"} ${isDark ? \"bg-[#181818] shadow-[inset_0_1px_0_rgba(255,255,255,0.04)] hover:bg-[#202020]\" : \"bg-white shadow-[0_4px_20px_rgba(0,0,0,0.04)] border border-neutral-100 text-black hover:shadow-[0_6px_24px_rgba(0,0,0,0.06)]\"}`,\n children: [\n /* @__PURE__ */ jsx2(\"div\", { className: \"flex items-center justify-between mb-1\", children: /* @__PURE__ */ jsxs2(\"div\", { children: [\n /* @__PURE__ */ jsxs2(\"div\", { className: \"flex items-center gap-2\", children: [\n /* @__PURE__ */ jsx2(\"span\", { className: `text-xs font-semibold tracking-wider uppercase ${isDark ? \"text-neutral-400\" : \"text-neutral-500\"}`, children: \"Polar Pillars\" }),\n /* @__PURE__ */ jsx2(\"span\", { className: \"inline-flex items-center px-1.5 py-0.5 rounded-full text-[10px] font-mono bg-white/10 text-white border border-white/20\", children: \"Radial\" })\n ] }),\n /* @__PURE__ */ jsxs2(\"div\", { className: \"text-xl font-bold tracking-tight tabular-nums mt-0.5 font-sans\", children: [\n \"3 Bands \",\n /* @__PURE__ */ jsx2(\"span\", { className: \"text-xs font-normal opacity-70\", children: \"polar angle\" })\n ] })\n ] }) }),\n /* @__PURE__ */ jsx2(\"div\", { className: `relative w-full flex-1 rounded-[14px] overflow-hidden p-2 transition-colors duration-300 flex items-center justify-center ${isDark ? \"bg-[#131313]\" : \"bg-[#f4f4f6]\"}`, children: /* @__PURE__ */ jsx2(ResponsiveContainer, { width: \"100%\", height: compact ? 130 : 160, children: /* @__PURE__ */ jsxs2(\n RadialBarChart,\n {\n cx: \"50%\",\n cy: \"50%\",\n innerRadius: \"25%\",\n outerRadius: \"85%\",\n barSize: 12,\n data: POLAR_DATA,\n startAngle: 90,\n endAngle: -270,\n children: [\n /* @__PURE__ */ jsx2(Tooltip, { content: /* @__PURE__ */ jsx2(DitherChartTooltipContent, { theme, indicator: \"dot\" }) }),\n /* @__PURE__ */ jsx2(\n RadialBar,\n {\n background: { fill: isDark ? \"rgba(255,255,255,0.05)\" : \"rgba(0,0,0,0.05)\" },\n dataKey: \"count\",\n cornerRadius: 6,\n fill: isDark ? \"#FFFFFF\" : \"#09090B\",\n animationDuration: 800\n }\n )\n ]\n }\n ) }) }),\n /* @__PURE__ */ jsxs2(\"div\", { className: \"flex items-center justify-between mt-3 pt-1 border-t border-white/5 text-[11px] font-mono\", children: [\n /* @__PURE__ */ jsx2(\"span\", { className: isDark ? \"text-neutral-400\" : \"text-neutral-600\", children: \"Rounded 360\\xB0 Polar Arcs\" }),\n /* @__PURE__ */ jsx2(\"span\", { className: isDark ? \"text-white font-medium\" : \"text-black font-medium\", children: \"Radial Pillars\" })\n ] })\n ]\n }\n );\n}\n\n// mono-rounded-polar.tsx\nimport { jsx as jsx3 } from \"react/jsx-runtime\";\nfunction Demo() {\n return /* @__PURE__ */ jsx3(MonoRoundedPolarChart, { theme: \"dark\" });\n}\nexport {\n Demo as default\n};\n",
5
+ "dependencies": [
6
+ "recharts"
7
+ ],
8
+ "css": "",
9
+ "usage": "import MovaComponent from './mono-rounded-polar';\n\nexport default function Demo() {\n return <MovaComponent />;\n}",
10
+ "exports": [
11
+ "default"
12
+ ]
13
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "id": "mono-rounded-pyramid",
3
+ "file": "mono-rounded-pyramid.tsx",
4
+ "content": "// @ts-nocheck -- Generated JavaScript bundle; edit the maintained catalog source to retain TypeScript types.\n\"use client\";\n// Mova catalog component. See LICENSE.mova and LICENSE.third-party.\n// src/components/mono-charts/MonoRoundedPyramidChart.tsx\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nvar PYRAMID_LEVELS = [\n { label: \"Executive\", widthPct: 30, opacity: 1 },\n { label: \"Management\", widthPct: 50, opacity: 0.7 },\n { label: \"Senior Staff\", widthPct: 70, opacity: 0.45 },\n { label: \"Core Team\", widthPct: 90, opacity: 0.25 }\n];\nfunction MonoRoundedPyramidChart({ theme = \"dark\", compact = false }) {\n const isDark = theme === \"dark\";\n return /* @__PURE__ */ jsxs(\n \"div\",\n {\n className: `relative w-full rounded-[24px] transition-all duration-300 group flex flex-col justify-between overflow-hidden p-4 sm:p-5 ${compact ? \"h-[220px] sm:h-[268px]\" : \"min-h-[290px]\"} ${isDark ? \"bg-[#181818] shadow-[inset_0_1px_0_rgba(255,255,255,0.04)] hover:bg-[#202020]\" : \"bg-white shadow-[0_4px_20px_rgba(0,0,0,0.04)] border border-neutral-100 text-black hover:shadow-[0_6px_24px_rgba(0,0,0,0.06)]\"}`,\n children: [\n /* @__PURE__ */ jsx(\"div\", { className: \"flex items-center justify-between mb-1\", children: /* @__PURE__ */ jsxs(\"div\", { children: [\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center gap-2\", children: [\n /* @__PURE__ */ jsx(\"span\", { className: `text-xs font-semibold tracking-wider uppercase ${isDark ? \"text-neutral-400\" : \"text-neutral-500\"}`, children: \"Pyramid Stack\" }),\n /* @__PURE__ */ jsx(\"span\", { className: \"inline-flex items-center px-1.5 py-0.5 rounded-full text-[10px] font-mono bg-white/10 text-white border border-white/20\", children: \"Hierarchy\" })\n ] }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"text-xl font-bold tracking-tight tabular-nums mt-0.5 font-sans\", children: [\n \"4 Tiers \",\n /* @__PURE__ */ jsx(\"span\", { className: \"text-xs font-normal opacity-70\", children: \"structured\" })\n ] })\n ] }) }),\n /* @__PURE__ */ jsx(\"div\", { className: `relative w-full flex-1 rounded-[14px] overflow-hidden p-3 transition-colors duration-300 flex flex-col items-center justify-around gap-2 ${isDark ? \"bg-[#131313]\" : \"bg-[#f4f4f6]\"}`, children: PYRAMID_LEVELS.map((lvl, idx) => /* @__PURE__ */ jsx(\n \"div\",\n {\n className: \"h-6 sm:h-7 rounded-xl transition-all flex items-center justify-center border hover:scale-105 cursor-pointer\",\n style: {\n width: `${lvl.widthPct}%`,\n backgroundColor: isDark ? `rgba(255,255,255,${lvl.opacity})` : `rgba(9,9,11,${lvl.opacity})`,\n borderColor: isDark ? \"rgba(255,255,255,0.2)\" : \"rgba(9,9,11,0.2)\",\n color: isDark ? lvl.opacity > 0.6 ? \"#000000\" : \"#FFFFFF\" : lvl.opacity > 0.6 ? \"#FFFFFF\" : \"#000000\"\n },\n children: /* @__PURE__ */ jsx(\"span\", { className: \"text-[10px] font-bold font-mono tracking-tight\", children: lvl.label })\n },\n idx\n )) }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center justify-between mt-3 pt-1 border-t border-white/5 text-[11px] font-mono\", children: [\n /* @__PURE__ */ jsx(\"span\", { className: isDark ? \"text-neutral-400\" : \"text-neutral-600\", children: \"Rounded Tier Layers\" }),\n /* @__PURE__ */ jsx(\"span\", { className: isDark ? \"text-white font-medium\" : \"text-black font-medium\", children: \"Pyramid Hierarchy\" })\n ] })\n ]\n }\n );\n}\n\n// mono-rounded-pyramid.tsx\nimport { jsx as jsx2 } from \"react/jsx-runtime\";\nfunction Demo() {\n return /* @__PURE__ */ jsx2(MonoRoundedPyramidChart, { theme: \"dark\" });\n}\nexport {\n Demo as default\n};\n",
5
+ "dependencies": [],
6
+ "css": "",
7
+ "usage": "import MovaComponent from './mono-rounded-pyramid';\n\nexport default function Demo() {\n return <MovaComponent />;\n}",
8
+ "exports": [
9
+ "default"
10
+ ]
11
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "id": "mono-rounded-radar",
3
+ "file": "mono-rounded-radar.tsx",
4
+ "content": "// @ts-nocheck -- Generated JavaScript bundle; edit the maintained catalog source to retain TypeScript types.\n\"use client\";\n// Mova catalog component. See LICENSE.mova and LICENSE.third-party.\n// src/components/mono-charts/MonoRoundedRadarChart.tsx\nimport {\n ResponsiveContainer,\n RadarChart,\n Radar,\n PolarGrid,\n PolarAngleAxis,\n PolarRadiusAxis,\n Tooltip\n} from \"recharts\";\n\n// src/components/dither-charts/lib/recharts-tooltip.tsx\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nfunction DitherChartTooltipContent({\n active,\n payload,\n label,\n theme = \"dark\",\n indicator = \"dot\",\n formatter\n}) {\n if (!active || !payload || payload.length === 0) return null;\n const isDark = theme === \"dark\";\n return /* @__PURE__ */ jsxs(\n \"div\",\n {\n className: `px-3 py-2 rounded-xl text-xs shadow-2xl backdrop-blur-md border transition-all pointer-events-none font-sans z-50 ${isDark ? \"bg-[#181818]/90 border-white/10 text-white shadow-black/80\" : \"bg-white/95 border-neutral-200 text-neutral-900 shadow-neutral-300/50\"}`,\n children: [\n label && /* @__PURE__ */ jsx(\"div\", { className: `font-medium mb-1.5 pb-1 border-b tracking-tight ${isDark ? \"border-white/10 text-neutral-300\" : \"border-neutral-200 text-neutral-600\"}`, children: label }),\n /* @__PURE__ */ jsx(\"div\", { className: \"flex flex-col gap-1\", children: payload.map((item, idx) => {\n const color = item.color || item.fill || (isDark ? \"#FFFFFF\" : \"#000000\");\n const valueDisplay = formatter ? formatter(item.value, item.name) : typeof item.value === \"number\" ? item.value.toLocaleString() : item.value;\n return /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center justify-between gap-3\", children: [\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center gap-1.5\", children: [\n indicator === \"dot\" && /* @__PURE__ */ jsx(\n \"span\",\n {\n className: \"w-2 h-2 rounded-full ring-1 ring-white/20\",\n style: { backgroundColor: color }\n }\n ),\n indicator === \"line\" && /* @__PURE__ */ jsx(\n \"span\",\n {\n className: \"w-2.5 h-0.5 rounded-full\",\n style: { backgroundColor: color }\n }\n ),\n /* @__PURE__ */ jsxs(\"span\", { className: `font-normal ${isDark ? \"text-neutral-400\" : \"text-neutral-600\"}`, children: [\n item.name || item.dataKey,\n \":\"\n ] })\n ] }),\n /* @__PURE__ */ jsx(\"span\", { className: \"font-semibold tabular-nums\", children: valueDisplay })\n ] }, idx);\n }) })\n ]\n }\n );\n}\n\n// src/components/mono-charts/MonoRoundedRadarChart.tsx\nimport { jsx as jsx2, jsxs as jsxs2 } from \"react/jsx-runtime\";\nvar RADAR_DATA = [\n { subject: \"Speed\", metric: 90 },\n { subject: \"Memory\", metric: 75 },\n { subject: \"Scale\", metric: 85 },\n { subject: \"Latency\", metric: 95 },\n { subject: \"IOPS\", metric: 80 }\n];\nfunction MonoRoundedRadarChart({ theme = \"dark\", compact = false }) {\n const isDark = theme === \"dark\";\n return /* @__PURE__ */ jsxs2(\n \"div\",\n {\n className: `relative w-full rounded-[24px] transition-all duration-300 group flex flex-col justify-between overflow-hidden p-4 sm:p-5 ${compact ? \"h-[220px] sm:h-[268px]\" : \"min-h-[290px]\"} ${isDark ? \"bg-[#181818] shadow-[inset_0_1px_0_rgba(255,255,255,0.04)] hover:bg-[#202020]\" : \"bg-white shadow-[0_4px_20px_rgba(0,0,0,0.04)] border border-neutral-100 text-black hover:shadow-[0_6px_24px_rgba(0,0,0,0.06)]\"}`,\n children: [\n /* @__PURE__ */ jsx2(\"div\", { className: \"flex items-center justify-between mb-1\", children: /* @__PURE__ */ jsxs2(\"div\", { children: [\n /* @__PURE__ */ jsxs2(\"div\", { className: \"flex items-center gap-2\", children: [\n /* @__PURE__ */ jsx2(\"span\", { className: `text-xs font-semibold tracking-wider uppercase ${isDark ? \"text-neutral-400\" : \"text-neutral-500\"}`, children: \"Polygon Web\" }),\n /* @__PURE__ */ jsx2(\"span\", { className: \"inline-flex items-center px-1.5 py-0.5 rounded-full text-[10px] font-mono bg-white/10 text-white border border-white/20\", children: \"Radar\" })\n ] }),\n /* @__PURE__ */ jsxs2(\"div\", { className: \"text-xl font-bold tracking-tight tabular-nums mt-0.5 font-sans\", children: [\n \"85 \",\n /* @__PURE__ */ jsx2(\"span\", { className: \"text-xs font-normal opacity-70\", children: \"score\" })\n ] })\n ] }) }),\n /* @__PURE__ */ jsx2(\"div\", { className: `relative w-full flex-1 rounded-[14px] overflow-hidden p-2 transition-colors duration-300 flex items-center justify-center ${isDark ? \"bg-[#131313]\" : \"bg-[#f4f4f6]\"}`, children: /* @__PURE__ */ jsx2(ResponsiveContainer, { width: \"100%\", height: compact ? 130 : 160, children: /* @__PURE__ */ jsxs2(RadarChart, { cx: \"50%\", cy: \"50%\", outerRadius: compact ? 42 : 52, data: RADAR_DATA, children: [\n /* @__PURE__ */ jsx2(PolarGrid, { stroke: isDark ? \"rgba(255,255,255,0.08)\" : \"rgba(0,0,0,0.08)\" }),\n /* @__PURE__ */ jsx2(PolarAngleAxis, { dataKey: \"subject\", tick: { fontSize: 9, fill: isDark ? \"#71717A\" : \"#A1A1AA\" } }),\n /* @__PURE__ */ jsx2(PolarRadiusAxis, { domain: [0, 100], tick: false, axisLine: false }),\n /* @__PURE__ */ jsx2(Tooltip, { content: /* @__PURE__ */ jsx2(DitherChartTooltipContent, { theme, indicator: \"dot\" }) }),\n /* @__PURE__ */ jsx2(\n Radar,\n {\n name: \"Metric\",\n dataKey: \"metric\",\n stroke: isDark ? \"#FFFFFF\" : \"#09090B\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n fill: isDark ? \"rgba(255,255,255,0.15)\" : \"rgba(9,9,11,0.15)\",\n animationDuration: 800\n }\n )\n ] }) }) }),\n /* @__PURE__ */ jsxs2(\"div\", { className: \"flex items-center justify-between mt-3 pt-1 border-t border-white/5 text-[11px] font-mono\", children: [\n /* @__PURE__ */ jsx2(\"span\", { className: isDark ? \"text-neutral-400\" : \"text-neutral-600\", children: \"5 Multi-Axis Nodes\" }),\n /* @__PURE__ */ jsx2(\"span\", { className: isDark ? \"text-white font-medium\" : \"text-black font-medium\", children: \"Polygon Net\" })\n ] })\n ]\n }\n );\n}\n\n// mono-rounded-radar.tsx\nimport { jsx as jsx3 } from \"react/jsx-runtime\";\nfunction Demo() {\n return /* @__PURE__ */ jsx3(MonoRoundedRadarChart, { theme: \"dark\" });\n}\nexport {\n Demo as default\n};\n",
5
+ "dependencies": [
6
+ "recharts"
7
+ ],
8
+ "css": "",
9
+ "usage": "import MovaComponent from './mono-rounded-radar';\n\nexport default function Demo() {\n return <MovaComponent />;\n}",
10
+ "exports": [
11
+ "default"
12
+ ]
13
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "id": "mono-rounded-radial-gauge",
3
+ "file": "mono-rounded-radial-gauge.tsx",
4
+ "content": "// @ts-nocheck -- Generated JavaScript bundle; edit the maintained catalog source to retain TypeScript types.\n\"use client\";\n// Mova catalog component. See LICENSE.mova and LICENSE.third-party.\n// src/components/mono-charts/MonoRoundedRadialGaugeChart.tsx\nimport { ResponsiveContainer, RadialBarChart, RadialBar, Tooltip } from \"recharts\";\n\n// src/components/dither-charts/lib/recharts-tooltip.tsx\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nfunction DitherChartTooltipContent({\n active,\n payload,\n label,\n theme = \"dark\",\n indicator = \"dot\",\n formatter\n}) {\n if (!active || !payload || payload.length === 0) return null;\n const isDark = theme === \"dark\";\n return /* @__PURE__ */ jsxs(\n \"div\",\n {\n className: `px-3 py-2 rounded-xl text-xs shadow-2xl backdrop-blur-md border transition-all pointer-events-none font-sans z-50 ${isDark ? \"bg-[#181818]/90 border-white/10 text-white shadow-black/80\" : \"bg-white/95 border-neutral-200 text-neutral-900 shadow-neutral-300/50\"}`,\n children: [\n label && /* @__PURE__ */ jsx(\"div\", { className: `font-medium mb-1.5 pb-1 border-b tracking-tight ${isDark ? \"border-white/10 text-neutral-300\" : \"border-neutral-200 text-neutral-600\"}`, children: label }),\n /* @__PURE__ */ jsx(\"div\", { className: \"flex flex-col gap-1\", children: payload.map((item, idx) => {\n const color = item.color || item.fill || (isDark ? \"#FFFFFF\" : \"#000000\");\n const valueDisplay = formatter ? formatter(item.value, item.name) : typeof item.value === \"number\" ? item.value.toLocaleString() : item.value;\n return /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center justify-between gap-3\", children: [\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center gap-1.5\", children: [\n indicator === \"dot\" && /* @__PURE__ */ jsx(\n \"span\",\n {\n className: \"w-2 h-2 rounded-full ring-1 ring-white/20\",\n style: { backgroundColor: color }\n }\n ),\n indicator === \"line\" && /* @__PURE__ */ jsx(\n \"span\",\n {\n className: \"w-2.5 h-0.5 rounded-full\",\n style: { backgroundColor: color }\n }\n ),\n /* @__PURE__ */ jsxs(\"span\", { className: `font-normal ${isDark ? \"text-neutral-400\" : \"text-neutral-600\"}`, children: [\n item.name || item.dataKey,\n \":\"\n ] })\n ] }),\n /* @__PURE__ */ jsx(\"span\", { className: \"font-semibold tabular-nums\", children: valueDisplay })\n ] }, idx);\n }) })\n ]\n }\n );\n}\n\n// src/components/mono-charts/MonoRoundedRadialGaugeChart.tsx\nimport { jsx as jsx2, jsxs as jsxs2 } from \"react/jsx-runtime\";\nvar RADIAL_GAUGE_DATA = [\n { name: \"Core\", val: 90 },\n { name: \"Memory\", val: 72 },\n { name: \"Cache\", val: 54 }\n];\nfunction MonoRoundedRadialGaugeChart({ theme = \"dark\", compact = false }) {\n const isDark = theme === \"dark\";\n return /* @__PURE__ */ jsxs2(\n \"div\",\n {\n className: `relative w-full rounded-[24px] transition-all duration-300 group flex flex-col justify-between overflow-hidden p-4 sm:p-5 ${compact ? \"h-[220px] sm:h-[268px]\" : \"min-h-[290px]\"} ${isDark ? \"bg-[#181818] shadow-[inset_0_1px_0_rgba(255,255,255,0.04)] hover:bg-[#202020]\" : \"bg-white shadow-[0_4px_20px_rgba(0,0,0,0.04)] border border-neutral-100 text-black hover:shadow-[0_6px_24px_rgba(0,0,0,0.06)]\"}`,\n children: [\n /* @__PURE__ */ jsx2(\"div\", { className: \"flex items-center justify-between mb-1\", children: /* @__PURE__ */ jsxs2(\"div\", { children: [\n /* @__PURE__ */ jsxs2(\"div\", { className: \"flex items-center gap-2\", children: [\n /* @__PURE__ */ jsx2(\"span\", { className: `text-xs font-semibold tracking-wider uppercase ${isDark ? \"text-neutral-400\" : \"text-neutral-500\"}`, children: \"Radial Rings\" }),\n /* @__PURE__ */ jsx2(\"span\", { className: \"inline-flex items-center px-1.5 py-0.5 rounded-full text-[10px] font-mono bg-white/10 text-white border border-white/20\", children: \"Concentric\" })\n ] }),\n /* @__PURE__ */ jsxs2(\"div\", { className: \"text-xl font-bold tracking-tight tabular-nums mt-0.5 font-sans\", children: [\n \"90% \",\n /* @__PURE__ */ jsx2(\"span\", { className: \"text-xs font-normal opacity-70\", children: \"core utilization\" })\n ] })\n ] }) }),\n /* @__PURE__ */ jsx2(\"div\", { className: `relative w-full flex-1 rounded-[14px] overflow-hidden p-2 transition-colors duration-300 flex items-center justify-center ${isDark ? \"bg-[#131313]\" : \"bg-[#f4f4f6]\"}`, children: /* @__PURE__ */ jsx2(ResponsiveContainer, { width: \"100%\", height: compact ? 130 : 160, children: /* @__PURE__ */ jsxs2(\n RadialBarChart,\n {\n cx: \"50%\",\n cy: \"50%\",\n innerRadius: \"30%\",\n outerRadius: \"90%\",\n barSize: 10,\n data: RADIAL_GAUGE_DATA,\n startAngle: 180,\n endAngle: -180,\n children: [\n /* @__PURE__ */ jsx2(Tooltip, { content: /* @__PURE__ */ jsx2(DitherChartTooltipContent, { theme, indicator: \"dot\" }) }),\n RADIAL_GAUGE_DATA.map((_, idx) => /* @__PURE__ */ jsx2(\n RadialBar,\n {\n background: { fill: isDark ? \"rgba(255,255,255,0.05)\" : \"rgba(0,0,0,0.05)\" },\n dataKey: \"val\",\n cornerRadius: 5,\n fill: isDark ? idx === 0 ? \"#FFFFFF\" : idx === 1 ? \"rgba(255,255,255,0.6)\" : \"rgba(255,255,255,0.3)\" : idx === 0 ? \"#09090B\" : idx === 1 ? \"rgba(9,9,11,0.6)\" : \"rgba(9,9,11,0.3)\",\n animationDuration: 800\n },\n idx\n ))\n ]\n }\n ) }) }),\n /* @__PURE__ */ jsxs2(\"div\", { className: \"flex items-center justify-between mt-3 pt-1 border-t border-white/5 text-[11px] font-mono\", children: [\n /* @__PURE__ */ jsx2(\"span\", { className: isDark ? \"text-neutral-400\" : \"text-neutral-600\", children: \"Concentric Caps\" }),\n /* @__PURE__ */ jsx2(\"span\", { className: isDark ? \"text-white font-medium\" : \"text-black font-medium\", children: \"3 Progress Meters\" })\n ] })\n ]\n }\n );\n}\n\n// mono-rounded-radial-gauge.tsx\nimport { jsx as jsx3 } from \"react/jsx-runtime\";\nfunction Demo() {\n return /* @__PURE__ */ jsx3(MonoRoundedRadialGaugeChart, { theme: \"dark\" });\n}\nexport {\n Demo as default\n};\n",
5
+ "dependencies": [
6
+ "recharts"
7
+ ],
8
+ "css": "",
9
+ "usage": "import MovaComponent from './mono-rounded-radial-gauge';\n\nexport default function Demo() {\n return <MovaComponent />;\n}",
10
+ "exports": [
11
+ "default"
12
+ ]
13
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "id": "mono-rounded-radial-group",
3
+ "file": "mono-rounded-radial-group.tsx",
4
+ "content": "// @ts-nocheck -- Generated JavaScript bundle; edit the maintained catalog source to retain TypeScript types.\n\"use client\";\n// Mova catalog component. See LICENSE.mova and LICENSE.third-party.\n// src/components/mono-charts/MonoRoundedRadialBarGroup.tsx\nimport { ResponsiveContainer, RadialBarChart, RadialBar, Tooltip } from \"recharts\";\n\n// src/components/dither-charts/lib/recharts-tooltip.tsx\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nfunction DitherChartTooltipContent({\n active,\n payload,\n label,\n theme = \"dark\",\n indicator = \"dot\",\n formatter\n}) {\n if (!active || !payload || payload.length === 0) return null;\n const isDark = theme === \"dark\";\n return /* @__PURE__ */ jsxs(\n \"div\",\n {\n className: `px-3 py-2 rounded-xl text-xs shadow-2xl backdrop-blur-md border transition-all pointer-events-none font-sans z-50 ${isDark ? \"bg-[#181818]/90 border-white/10 text-white shadow-black/80\" : \"bg-white/95 border-neutral-200 text-neutral-900 shadow-neutral-300/50\"}`,\n children: [\n label && /* @__PURE__ */ jsx(\"div\", { className: `font-medium mb-1.5 pb-1 border-b tracking-tight ${isDark ? \"border-white/10 text-neutral-300\" : \"border-neutral-200 text-neutral-600\"}`, children: label }),\n /* @__PURE__ */ jsx(\"div\", { className: \"flex flex-col gap-1\", children: payload.map((item, idx) => {\n const color = item.color || item.fill || (isDark ? \"#FFFFFF\" : \"#000000\");\n const valueDisplay = formatter ? formatter(item.value, item.name) : typeof item.value === \"number\" ? item.value.toLocaleString() : item.value;\n return /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center justify-between gap-3\", children: [\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center gap-1.5\", children: [\n indicator === \"dot\" && /* @__PURE__ */ jsx(\n \"span\",\n {\n className: \"w-2 h-2 rounded-full ring-1 ring-white/20\",\n style: { backgroundColor: color }\n }\n ),\n indicator === \"line\" && /* @__PURE__ */ jsx(\n \"span\",\n {\n className: \"w-2.5 h-0.5 rounded-full\",\n style: { backgroundColor: color }\n }\n ),\n /* @__PURE__ */ jsxs(\"span\", { className: `font-normal ${isDark ? \"text-neutral-400\" : \"text-neutral-600\"}`, children: [\n item.name || item.dataKey,\n \":\"\n ] })\n ] }),\n /* @__PURE__ */ jsx(\"span\", { className: \"font-semibold tabular-nums\", children: valueDisplay })\n ] }, idx);\n }) })\n ]\n }\n );\n}\n\n// src/components/mono-charts/MonoRoundedRadialBarGroup.tsx\nimport { jsx as jsx2, jsxs as jsxs2 } from \"react/jsx-runtime\";\nvar RADIAL_GROUP_DATA = [\n { name: \"System\", val: 85 },\n { name: \"Network\", val: 62 },\n { name: \"Storage\", val: 45 },\n { name: \"Memory\", val: 30 }\n];\nfunction MonoRoundedRadialBarGroup({ theme = \"dark\", compact = false }) {\n const isDark = theme === \"dark\";\n return /* @__PURE__ */ jsxs2(\n \"div\",\n {\n className: `relative w-full rounded-[24px] transition-all duration-300 group flex flex-col justify-between overflow-hidden p-4 sm:p-5 ${compact ? \"h-[220px] sm:h-[268px]\" : \"min-h-[290px]\"} ${isDark ? \"bg-[#181818] shadow-[inset_0_1px_0_rgba(255,255,255,0.04)] hover:bg-[#202020]\" : \"bg-white shadow-[0_4px_20px_rgba(0,0,0,0.04)] border border-neutral-100 text-black hover:shadow-[0_6px_24px_rgba(0,0,0,0.06)]\"}`,\n children: [\n /* @__PURE__ */ jsx2(\"div\", { className: \"flex items-center justify-between mb-1\", children: /* @__PURE__ */ jsxs2(\"div\", { children: [\n /* @__PURE__ */ jsxs2(\"div\", { className: \"flex items-center gap-2\", children: [\n /* @__PURE__ */ jsx2(\"span\", { className: `text-xs font-semibold tracking-wider uppercase ${isDark ? \"text-neutral-400\" : \"text-neutral-500\"}`, children: \"Radial Group\" }),\n /* @__PURE__ */ jsx2(\"span\", { className: \"inline-flex items-center px-1.5 py-0.5 rounded-full text-[10px] font-mono bg-white/10 text-white border border-white/20\", children: \"Multi-Arc\" })\n ] }),\n /* @__PURE__ */ jsxs2(\"div\", { className: \"text-xl font-bold tracking-tight tabular-nums mt-0.5 font-sans\", children: [\n \"4 Rings \",\n /* @__PURE__ */ jsx2(\"span\", { className: \"text-xs font-normal opacity-70\", children: \"active\" })\n ] })\n ] }) }),\n /* @__PURE__ */ jsx2(\"div\", { className: `relative w-full flex-1 rounded-[14px] overflow-hidden p-2 transition-colors duration-300 flex items-center justify-center ${isDark ? \"bg-[#131313]\" : \"bg-[#f4f4f6]\"}`, children: /* @__PURE__ */ jsx2(ResponsiveContainer, { width: \"100%\", height: compact ? 130 : 160, children: /* @__PURE__ */ jsxs2(\n RadialBarChart,\n {\n cx: \"50%\",\n cy: \"50%\",\n innerRadius: \"20%\",\n outerRadius: \"95%\",\n barSize: 8,\n data: RADIAL_GROUP_DATA,\n startAngle: 180,\n endAngle: 0,\n children: [\n /* @__PURE__ */ jsx2(Tooltip, { content: /* @__PURE__ */ jsx2(DitherChartTooltipContent, { theme, indicator: \"dot\" }) }),\n RADIAL_GROUP_DATA.map((_, idx) => /* @__PURE__ */ jsx2(\n RadialBar,\n {\n background: { fill: isDark ? \"rgba(255,255,255,0.05)\" : \"rgba(0,0,0,0.05)\" },\n dataKey: \"val\",\n cornerRadius: 8,\n fill: isDark ? idx === 0 ? \"#FFFFFF\" : idx === 1 ? \"rgba(255,255,255,0.7)\" : idx === 2 ? \"rgba(255,255,255,0.4)\" : \"rgba(255,255,255,0.2)\" : idx === 0 ? \"#09090B\" : idx === 1 ? \"rgba(9,9,11,0.7)\" : idx === 2 ? \"rgba(9,9,11,0.4)\" : \"rgba(9,9,11,0.2)\",\n animationDuration: 800\n },\n idx\n ))\n ]\n }\n ) }) }),\n /* @__PURE__ */ jsxs2(\"div\", { className: \"flex items-center justify-between mt-3 pt-1 border-t border-white/5 text-[11px] font-mono\", children: [\n /* @__PURE__ */ jsx2(\"span\", { className: isDark ? \"text-neutral-400\" : \"text-neutral-600\", children: \"Rounded 180\\xB0 Radial Caps\" }),\n /* @__PURE__ */ jsx2(\"span\", { className: isDark ? \"text-white font-medium\" : \"text-black font-medium\", children: \"4 Gauge Arcs\" })\n ] })\n ]\n }\n );\n}\n\n// mono-rounded-radial-group.tsx\nimport { jsx as jsx3 } from \"react/jsx-runtime\";\nfunction Demo() {\n return /* @__PURE__ */ jsx3(MonoRoundedRadialBarGroup, { theme: \"dark\" });\n}\nexport {\n Demo as default\n};\n",
5
+ "dependencies": [
6
+ "recharts"
7
+ ],
8
+ "css": "",
9
+ "usage": "import MovaComponent from './mono-rounded-radial-group';\n\nexport default function Demo() {\n return <MovaComponent />;\n}",
10
+ "exports": [
11
+ "default"
12
+ ]
13
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "id": "mono-rounded-range",
3
+ "file": "mono-rounded-range.tsx",
4
+ "content": "// @ts-nocheck -- Generated JavaScript bundle; edit the maintained catalog source to retain TypeScript types.\n\"use client\";\n// Mova catalog component. See LICENSE.mova and LICENSE.third-party.\n// src/components/mono-charts/MonoRoundedRangeChart.tsx\nimport { useId } from \"react\";\nimport {\n ResponsiveContainer,\n AreaChart,\n Area,\n XAxis,\n YAxis,\n Tooltip\n} from \"recharts\";\n\n// src/components/dither-charts/lib/recharts-tooltip.tsx\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nfunction DitherChartTooltipContent({\n active,\n payload,\n label,\n theme = \"dark\",\n indicator = \"dot\",\n formatter\n}) {\n if (!active || !payload || payload.length === 0) return null;\n const isDark = theme === \"dark\";\n return /* @__PURE__ */ jsxs(\n \"div\",\n {\n className: `px-3 py-2 rounded-xl text-xs shadow-2xl backdrop-blur-md border transition-all pointer-events-none font-sans z-50 ${isDark ? \"bg-[#181818]/90 border-white/10 text-white shadow-black/80\" : \"bg-white/95 border-neutral-200 text-neutral-900 shadow-neutral-300/50\"}`,\n children: [\n label && /* @__PURE__ */ jsx(\"div\", { className: `font-medium mb-1.5 pb-1 border-b tracking-tight ${isDark ? \"border-white/10 text-neutral-300\" : \"border-neutral-200 text-neutral-600\"}`, children: label }),\n /* @__PURE__ */ jsx(\"div\", { className: \"flex flex-col gap-1\", children: payload.map((item, idx) => {\n const color = item.color || item.fill || (isDark ? \"#FFFFFF\" : \"#000000\");\n const valueDisplay = formatter ? formatter(item.value, item.name) : typeof item.value === \"number\" ? item.value.toLocaleString() : item.value;\n return /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center justify-between gap-3\", children: [\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center gap-1.5\", children: [\n indicator === \"dot\" && /* @__PURE__ */ jsx(\n \"span\",\n {\n className: \"w-2 h-2 rounded-full ring-1 ring-white/20\",\n style: { backgroundColor: color }\n }\n ),\n indicator === \"line\" && /* @__PURE__ */ jsx(\n \"span\",\n {\n className: \"w-2.5 h-0.5 rounded-full\",\n style: { backgroundColor: color }\n }\n ),\n /* @__PURE__ */ jsxs(\"span\", { className: `font-normal ${isDark ? \"text-neutral-400\" : \"text-neutral-600\"}`, children: [\n item.name || item.dataKey,\n \":\"\n ] })\n ] }),\n /* @__PURE__ */ jsx(\"span\", { className: \"font-semibold tabular-nums\", children: valueDisplay })\n ] }, idx);\n }) })\n ]\n }\n );\n}\n\n// src/components/mono-charts/MonoRoundedRangeChart.tsx\nimport { jsx as jsx2, jsxs as jsxs2 } from \"react/jsx-runtime\";\nvar RANGE_DATA = [\n { day: \"Mon\", range: [20, 50] },\n { day: \"Tue\", range: [35, 75] },\n { day: \"Wed\", range: [25, 60] },\n { day: \"Thu\", range: [40, 90] },\n { day: \"Fri\", range: [55, 85] }\n];\nfunction MonoRoundedRangeChart({ theme = \"dark\", compact = false }) {\n const isDark = theme === \"dark\";\n const idPrefix = useId().replace(/:/g, \"\");\n return /* @__PURE__ */ jsxs2(\n \"div\",\n {\n className: `relative w-full rounded-[24px] transition-all duration-300 group flex flex-col justify-between overflow-hidden p-4 sm:p-5 ${compact ? \"h-[220px] sm:h-[268px]\" : \"min-h-[290px]\"} ${isDark ? \"bg-[#181818] shadow-[inset_0_1px_0_rgba(255,255,255,0.04)] hover:bg-[#202020]\" : \"bg-white shadow-[0_4px_20px_rgba(0,0,0,0.04)] border border-neutral-100 text-black hover:shadow-[0_6px_24px_rgba(0,0,0,0.06)]\"}`,\n children: [\n /* @__PURE__ */ jsx2(\"div\", { className: \"flex items-center justify-between mb-1\", children: /* @__PURE__ */ jsxs2(\"div\", { children: [\n /* @__PURE__ */ jsxs2(\"div\", { className: \"flex items-center gap-2\", children: [\n /* @__PURE__ */ jsx2(\"span\", { className: `text-xs font-semibold tracking-wider uppercase ${isDark ? \"text-neutral-400\" : \"text-neutral-500\"}`, children: \"Range Band\" }),\n /* @__PURE__ */ jsx2(\"span\", { className: \"inline-flex items-center px-1.5 py-0.5 rounded-full text-[10px] font-mono bg-white/10 text-white border border-white/20\", children: \"Min-Max\" })\n ] }),\n /* @__PURE__ */ jsxs2(\"div\", { className: \"text-xl font-bold tracking-tight tabular-nums mt-0.5 font-sans\", children: [\n \"50 \",\n /* @__PURE__ */ jsx2(\"span\", { className: \"text-xs font-normal opacity-70\", children: \"variance band\" })\n ] })\n ] }) }),\n /* @__PURE__ */ jsxs2(\"div\", { className: `relative w-full flex-1 rounded-[14px] overflow-hidden p-2 transition-colors duration-300 ${isDark ? \"bg-[#131313]\" : \"bg-[#f4f4f6]\"}`, children: [\n /* @__PURE__ */ jsx2(\"svg\", { className: \"absolute w-0 h-0 pointer-events-none\", children: /* @__PURE__ */ jsx2(\"defs\", { children: /* @__PURE__ */ jsxs2(\"linearGradient\", { id: `${idPrefix}range-grad`, x1: \"0\", y1: \"0\", x2: \"0\", y2: \"1\", children: [\n /* @__PURE__ */ jsx2(\"stop\", { offset: \"0%\", stopColor: isDark ? \"#FFFFFF\" : \"#09090B\", stopOpacity: \"0.3\" }),\n /* @__PURE__ */ jsx2(\"stop\", { offset: \"100%\", stopColor: isDark ? \"#FFFFFF\" : \"#09090B\", stopOpacity: \"0.05\" })\n ] }) }) }),\n /* @__PURE__ */ jsx2(ResponsiveContainer, { width: \"100%\", height: compact ? 130 : 160, children: /* @__PURE__ */ jsxs2(AreaChart, { data: RANGE_DATA, margin: { top: 12, right: 12, left: -22, bottom: 0 }, children: [\n /* @__PURE__ */ jsx2(XAxis, { dataKey: \"day\", tickLine: false, axisLine: false, tick: { fontSize: 10, fill: isDark ? \"#71717A\" : \"#A1A1AA\" } }),\n /* @__PURE__ */ jsx2(YAxis, { tickLine: false, axisLine: false, tick: { fontSize: 10, fill: isDark ? \"#71717A\" : \"#A1A1AA\" } }),\n /* @__PURE__ */ jsx2(Tooltip, { content: /* @__PURE__ */ jsx2(DitherChartTooltipContent, { theme, indicator: \"dot\" }) }),\n /* @__PURE__ */ jsx2(\n Area,\n {\n type: \"monotone\",\n dataKey: \"range\",\n name: \"Band Range\",\n stroke: isDark ? \"#FFFFFF\" : \"#09090B\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n fill: `url(#${idPrefix}range-grad)`,\n animationDuration: 800\n }\n )\n ] }) })\n ] }),\n /* @__PURE__ */ jsxs2(\"div\", { className: \"flex items-center justify-between mt-3 pt-1 border-t border-white/5 text-[11px] font-mono\", children: [\n /* @__PURE__ */ jsx2(\"span\", { className: isDark ? \"text-neutral-400\" : \"text-neutral-600\", children: \"Rounded Spline Boundaries\" }),\n /* @__PURE__ */ jsx2(\"span\", { className: isDark ? \"text-white font-medium\" : \"text-black font-medium\", children: \"Floating Range Band\" })\n ] })\n ]\n }\n );\n}\n\n// mono-rounded-range.tsx\nimport { jsx as jsx3 } from \"react/jsx-runtime\";\nfunction Demo() {\n return /* @__PURE__ */ jsx3(MonoRoundedRangeChart, { theme: \"dark\" });\n}\nexport {\n Demo as default\n};\n",
5
+ "dependencies": [
6
+ "recharts"
7
+ ],
8
+ "css": "",
9
+ "usage": "import MovaComponent from './mono-rounded-range';\n\nexport default function Demo() {\n return <MovaComponent />;\n}",
10
+ "exports": [
11
+ "default"
12
+ ]
13
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "id": "mono-rounded-sankey",
3
+ "file": "mono-rounded-sankey.tsx",
4
+ "content": "// @ts-nocheck -- Generated JavaScript bundle; edit the maintained catalog source to retain TypeScript types.\n\"use client\";\n// Mova catalog component. See LICENSE.mova and LICENSE.third-party.\n// src/components/mono-charts/MonoRoundedSankeyChart.tsx\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nfunction MonoRoundedSankeyChart({ theme = \"dark\", compact = false }) {\n const isDark = theme === \"dark\";\n return /* @__PURE__ */ jsxs(\n \"div\",\n {\n className: `relative w-full rounded-[24px] transition-all duration-300 group flex flex-col justify-between overflow-hidden p-4 sm:p-5 ${compact ? \"h-[220px] sm:h-[268px]\" : \"min-h-[290px]\"} ${isDark ? \"bg-[#181818] shadow-[inset_0_1px_0_rgba(255,255,255,0.04)] hover:bg-[#202020]\" : \"bg-white shadow-[0_4px_20px_rgba(0,0,0,0.04)] border border-neutral-100 text-black hover:shadow-[0_6px_24px_rgba(0,0,0,0.06)]\"}`,\n children: [\n /* @__PURE__ */ jsx(\"div\", { className: \"flex items-center justify-between mb-1\", children: /* @__PURE__ */ jsxs(\"div\", { children: [\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center gap-2\", children: [\n /* @__PURE__ */ jsx(\"span\", { className: `text-xs font-semibold tracking-wider uppercase ${isDark ? \"text-neutral-400\" : \"text-neutral-500\"}`, children: \"Sankey Flow\" }),\n /* @__PURE__ */ jsx(\"span\", { className: \"inline-flex items-center px-1.5 py-0.5 rounded-full text-[10px] font-mono bg-white/10 text-white border border-white/20\", children: \"Transfer\" })\n ] }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"text-xl font-bold tracking-tight tabular-nums mt-0.5 font-sans\", children: [\n \"100% \",\n /* @__PURE__ */ jsx(\"span\", { className: \"text-xs font-normal opacity-70\", children: \"flow routed\" })\n ] })\n ] }) }),\n /* @__PURE__ */ jsxs(\"div\", { className: `relative w-full flex-1 rounded-[14px] overflow-hidden p-3 transition-colors duration-300 flex items-center justify-between gap-4 ${isDark ? \"bg-[#131313]\" : \"bg-[#f4f4f6]\"}`, children: [\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex flex-col justify-around h-full gap-2 z-10\", children: [\n /* @__PURE__ */ jsx(\"div\", { className: \"w-12 h-9 rounded-lg bg-current opacity-90 flex items-center justify-center text-[10px] font-bold font-mono text-background\", children: \"Source A\" }),\n /* @__PURE__ */ jsx(\"div\", { className: \"w-12 h-9 rounded-lg bg-current opacity-60 flex items-center justify-center text-[10px] font-bold font-mono text-background\", children: \"Source B\" })\n ] }),\n /* @__PURE__ */ jsxs(\"svg\", { className: \"absolute inset-0 w-full h-full pointer-events-none p-4\", preserveAspectRatio: \"none\", children: [\n /* @__PURE__ */ jsx(\n \"path\",\n {\n d: \"M 60,35 C 130,35 150,55 220,55\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"14\",\n strokeOpacity: isDark ? \"0.3\" : \"0.2\",\n strokeLinecap: \"round\"\n }\n ),\n /* @__PURE__ */ jsx(\n \"path\",\n {\n d: \"M 60,85 C 130,85 150,55 220,55\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"10\",\n strokeOpacity: isDark ? \"0.25\" : \"0.15\",\n strokeLinecap: \"round\"\n }\n )\n ] }),\n /* @__PURE__ */ jsx(\"div\", { className: \"flex items-center justify-center h-full z-10\", children: /* @__PURE__ */ jsxs(\"div\", { className: \"w-14 h-14 rounded-xl bg-current flex flex-col items-center justify-center text-[10px] font-bold font-mono text-background shadow-md\", children: [\n /* @__PURE__ */ jsx(\"span\", { children: \"Target\" }),\n /* @__PURE__ */ jsx(\"span\", { className: \"text-[9px] font-normal opacity-80\", children: \"Output\" })\n ] }) })\n ] }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center justify-between mt-3 pt-1 border-t border-white/5 text-[11px] font-mono\", children: [\n /* @__PURE__ */ jsx(\"span\", { className: isDark ? \"text-neutral-400\" : \"text-neutral-600\", children: \"Rounded Flow Bands\" }),\n /* @__PURE__ */ jsx(\"span\", { className: isDark ? \"text-white font-medium\" : \"text-black font-medium\", children: \"Channel Routing\" })\n ] })\n ]\n }\n );\n}\n\n// mono-rounded-sankey.tsx\nimport { jsx as jsx2 } from \"react/jsx-runtime\";\nfunction Demo() {\n return /* @__PURE__ */ jsx2(MonoRoundedSankeyChart, { theme: \"dark\" });\n}\nexport {\n Demo as default\n};\n",
5
+ "dependencies": [],
6
+ "css": "",
7
+ "usage": "import MovaComponent from './mono-rounded-sankey';\n\nexport default function Demo() {\n return <MovaComponent />;\n}",
8
+ "exports": [
9
+ "default"
10
+ ]
11
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "id": "mono-rounded-scatter",
3
+ "file": "mono-rounded-scatter.tsx",
4
+ "content": "// @ts-nocheck -- Generated JavaScript bundle; edit the maintained catalog source to retain TypeScript types.\n\"use client\";\n// Mova catalog component. See LICENSE.mova and LICENSE.third-party.\n// src/components/mono-charts/MonoRoundedScatterChart.tsx\nimport {\n ResponsiveContainer,\n ScatterChart,\n Scatter,\n XAxis,\n YAxis,\n ZAxis,\n CartesianGrid,\n Tooltip\n} from \"recharts\";\n\n// src/components/dither-charts/lib/recharts-tooltip.tsx\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nfunction DitherChartTooltipContent({\n active,\n payload,\n label,\n theme = \"dark\",\n indicator = \"dot\",\n formatter\n}) {\n if (!active || !payload || payload.length === 0) return null;\n const isDark = theme === \"dark\";\n return /* @__PURE__ */ jsxs(\n \"div\",\n {\n className: `px-3 py-2 rounded-xl text-xs shadow-2xl backdrop-blur-md border transition-all pointer-events-none font-sans z-50 ${isDark ? \"bg-[#181818]/90 border-white/10 text-white shadow-black/80\" : \"bg-white/95 border-neutral-200 text-neutral-900 shadow-neutral-300/50\"}`,\n children: [\n label && /* @__PURE__ */ jsx(\"div\", { className: `font-medium mb-1.5 pb-1 border-b tracking-tight ${isDark ? \"border-white/10 text-neutral-300\" : \"border-neutral-200 text-neutral-600\"}`, children: label }),\n /* @__PURE__ */ jsx(\"div\", { className: \"flex flex-col gap-1\", children: payload.map((item, idx) => {\n const color = item.color || item.fill || (isDark ? \"#FFFFFF\" : \"#000000\");\n const valueDisplay = formatter ? formatter(item.value, item.name) : typeof item.value === \"number\" ? item.value.toLocaleString() : item.value;\n return /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center justify-between gap-3\", children: [\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center gap-1.5\", children: [\n indicator === \"dot\" && /* @__PURE__ */ jsx(\n \"span\",\n {\n className: \"w-2 h-2 rounded-full ring-1 ring-white/20\",\n style: { backgroundColor: color }\n }\n ),\n indicator === \"line\" && /* @__PURE__ */ jsx(\n \"span\",\n {\n className: \"w-2.5 h-0.5 rounded-full\",\n style: { backgroundColor: color }\n }\n ),\n /* @__PURE__ */ jsxs(\"span\", { className: `font-normal ${isDark ? \"text-neutral-400\" : \"text-neutral-600\"}`, children: [\n item.name || item.dataKey,\n \":\"\n ] })\n ] }),\n /* @__PURE__ */ jsx(\"span\", { className: \"font-semibold tabular-nums\", children: valueDisplay })\n ] }, idx);\n }) })\n ]\n }\n );\n}\n\n// src/hooks/useIsMobile.ts\nimport { useState, useEffect } from \"react\";\nfunction useIsMobile(breakpoint = 768) {\n const [isMobile, setIsMobile] = useState(() => {\n if (typeof window === \"undefined\") return false;\n return window.innerWidth < breakpoint || window.matchMedia(`(max-width: ${breakpoint}px)`).matches;\n });\n useEffect(() => {\n if (typeof window === \"undefined\") return;\n const mql = window.matchMedia(`(max-width: ${breakpoint}px)`);\n const onChange = (e) => {\n setIsMobile(e.matches);\n };\n setIsMobile(mql.matches);\n if (mql.addEventListener) {\n mql.addEventListener(\"change\", onChange);\n return () => mql.removeEventListener(\"change\", onChange);\n } else {\n mql.addListener(onChange);\n return () => mql.removeListener(onChange);\n }\n }, [breakpoint]);\n return isMobile;\n}\n\n// src/components/mono-charts/MonoRoundedScatterChart.tsx\nimport { jsx as jsx2, jsxs as jsxs2 } from \"react/jsx-runtime\";\nvar MONO_SCATTER_DATA = [\n { x: 10, y: 30, z: 200, name: \"Node A\" },\n { x: 25, y: 65, z: 400, name: \"Node B\" },\n { x: 40, y: 45, z: 300, name: \"Node C\" },\n { x: 55, y: 80, z: 500, name: \"Node D\" },\n { x: 70, y: 60, z: 350, name: \"Node E\" },\n { x: 85, y: 92, z: 600, name: \"Node F\" }\n];\nfunction MonoRoundedScatterChart({ theme = \"dark\", compact = false }) {\n const isDark = theme === \"dark\";\n const isMobile = useIsMobile();\n return /* @__PURE__ */ jsxs2(\n \"div\",\n {\n className: `relative w-full rounded-[24px] transition-all duration-300 group flex flex-col justify-between overflow-hidden p-4 sm:p-5 ${compact ? \"h-[220px] sm:h-[268px]\" : \"min-h-[290px]\"} ${isDark ? \"bg-[#181818] shadow-[inset_0_1px_0_rgba(255,255,255,0.04)] hover:bg-[#202020]\" : \"bg-white shadow-[0_4px_20px_rgba(0,0,0,0.04)] border border-neutral-100 text-black hover:shadow-[0_6px_24px_rgba(0,0,0,0.06)]\"}`,\n children: [\n /* @__PURE__ */ jsx2(\"div\", { className: \"flex items-center justify-between mb-2\", children: /* @__PURE__ */ jsxs2(\"div\", { children: [\n /* @__PURE__ */ jsxs2(\"div\", { className: \"flex items-center gap-2\", children: [\n /* @__PURE__ */ jsx2(\"span\", { className: `text-xs font-semibold tracking-wider uppercase ${isDark ? \"text-neutral-400\" : \"text-neutral-500\"}`, children: \"Mono Scatter Matrix\" }),\n /* @__PURE__ */ jsx2(\"span\", { className: \"inline-flex items-center px-1.5 py-0.5 rounded-full text-[10px] font-mono bg-white/10 text-white border border-white/20\", children: \"Rounded Nodes\" })\n ] }),\n /* @__PURE__ */ jsxs2(\"div\", { className: \"text-xl font-bold tracking-tight tabular-nums mt-0.5 font-sans\", children: [\n \"6 Nodes \",\n /* @__PURE__ */ jsx2(\"span\", { className: \"text-xs font-normal opacity-70\", children: \"mapped\" })\n ] })\n ] }) }),\n /* @__PURE__ */ jsx2(\"div\", { className: `relative w-full flex-1 rounded-[14px] overflow-hidden p-2 transition-colors duration-300 touch-pan-y ${isDark ? \"bg-[#131313]\" : \"bg-[#f4f4f6]\"}`, children: /* @__PURE__ */ jsx2(ResponsiveContainer, { width: \"100%\", height: compact ? 130 : 160, children: /* @__PURE__ */ jsxs2(ScatterChart, { margin: { top: 12, right: 12, left: -22, bottom: 0 }, children: [\n /* @__PURE__ */ jsx2(\n CartesianGrid,\n {\n strokeDasharray: \"2 2\",\n stroke: isDark ? \"rgba(255,255,255,0.05)\" : \"rgba(0,0,0,0.05)\"\n }\n ),\n /* @__PURE__ */ jsx2(XAxis, { dataKey: \"x\", type: \"number\", tickLine: false, axisLine: false, tick: { fontSize: 10, fill: isDark ? \"#71717A\" : \"#A1A1AA\" } }),\n /* @__PURE__ */ jsx2(YAxis, { dataKey: \"y\", type: \"number\", tickLine: false, axisLine: false, tick: { fontSize: 10, fill: isDark ? \"#71717A\" : \"#A1A1AA\" } }),\n /* @__PURE__ */ jsx2(ZAxis, { dataKey: \"z\", range: [60, 240] }),\n /* @__PURE__ */ jsx2(Tooltip, { content: /* @__PURE__ */ jsx2(DitherChartTooltipContent, { theme, indicator: \"dot\" }), cursor: { strokeDasharray: \"3 3\" } }),\n /* @__PURE__ */ jsx2(\n Scatter,\n {\n name: \"Cluster Nodes\",\n data: MONO_SCATTER_DATA,\n fill: isDark ? \"#FFFFFF\" : \"#09090B\",\n stroke: isDark ? \"rgba(255,255,255,0.5)\" : \"rgba(9,9,11,0.5)\",\n strokeWidth: 1.5,\n isAnimationActive: !isMobile,\n animationDuration: isMobile ? 0 : 800\n }\n )\n ] }) }) }),\n /* @__PURE__ */ jsxs2(\"div\", { className: \"flex items-center justify-between mt-3 pt-1 border-t border-white/5 text-[11px] font-mono\", children: [\n /* @__PURE__ */ jsx2(\"span\", { className: isDark ? \"text-neutral-400\" : \"text-neutral-600\", children: \"Scale-Weighted Nodes\" }),\n /* @__PURE__ */ jsx2(\"span\", { className: isDark ? \"text-white font-medium\" : \"text-black font-medium\", children: \"99.8% Sync\" })\n ] })\n ]\n }\n );\n}\n\n// mono-rounded-scatter.tsx\nimport { jsx as jsx3 } from \"react/jsx-runtime\";\nfunction Demo() {\n return /* @__PURE__ */ jsx3(MonoRoundedScatterChart, { theme: \"dark\" });\n}\nexport {\n Demo as default\n};\n",
5
+ "dependencies": [
6
+ "recharts"
7
+ ],
8
+ "css": "",
9
+ "usage": "import MovaComponent from './mono-rounded-scatter';\n\nexport default function Demo() {\n return <MovaComponent />;\n}",
10
+ "exports": [
11
+ "default"
12
+ ]
13
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "id": "mono-rounded-sparkline",
3
+ "file": "mono-rounded-sparkline.tsx",
4
+ "content": "// @ts-nocheck -- Generated JavaScript bundle; edit the maintained catalog source to retain TypeScript types.\n\"use client\";\n// Mova catalog component. See LICENSE.mova and LICENSE.third-party.\n// src/components/mono-charts/MonoRoundedSparklineChart.tsx\nimport { ResponsiveContainer, LineChart, Line } from \"recharts\";\n\n// src/hooks/useIsMobile.ts\nimport { useState, useEffect } from \"react\";\nfunction useIsMobile(breakpoint = 768) {\n const [isMobile, setIsMobile] = useState(() => {\n if (typeof window === \"undefined\") return false;\n return window.innerWidth < breakpoint || window.matchMedia(`(max-width: ${breakpoint}px)`).matches;\n });\n useEffect(() => {\n if (typeof window === \"undefined\") return;\n const mql = window.matchMedia(`(max-width: ${breakpoint}px)`);\n const onChange = (e) => {\n setIsMobile(e.matches);\n };\n setIsMobile(mql.matches);\n if (mql.addEventListener) {\n mql.addEventListener(\"change\", onChange);\n return () => mql.removeEventListener(\"change\", onChange);\n } else {\n mql.addListener(onChange);\n return () => mql.removeListener(onChange);\n }\n }, [breakpoint]);\n return isMobile;\n}\n\n// src/components/mono-charts/MonoRoundedSparklineChart.tsx\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nvar SPARK_ROWS = [\n {\n name: \"CPU Temp\",\n val: \"42\\xB0C\",\n data: [{ x: 1, y: 10 }, { x: 2, y: 25 }, { x: 3, y: 18 }, { x: 4, y: 40 }, { x: 5, y: 30 }]\n },\n {\n name: \"GPU Temp\",\n val: \"58\\xB0C\",\n data: [{ x: 1, y: 15 }, { x: 2, y: 30 }, { x: 3, y: 22 }, { x: 4, y: 55 }, { x: 5, y: 48 }]\n },\n {\n name: \"Fan Speed\",\n val: \"1.2k RPM\",\n data: [{ x: 1, y: 40 }, { x: 2, y: 35 }, { x: 3, y: 60 }, { x: 4, y: 50 }, { x: 5, y: 80 }]\n }\n];\nfunction MonoRoundedSparklineChart({ theme = \"dark\", compact = false }) {\n const isDark = theme === \"dark\";\n const isMobile = useIsMobile();\n return /* @__PURE__ */ jsxs(\n \"div\",\n {\n className: `relative w-full rounded-[24px] transition-all duration-300 group flex flex-col justify-between overflow-hidden p-4 sm:p-5 ${compact ? \"h-[220px] sm:h-[268px]\" : \"min-h-[290px]\"} ${isDark ? \"bg-[#181818] shadow-[inset_0_1px_0_rgba(255,255,255,0.04)] hover:bg-[#202020]\" : \"bg-white shadow-[0_4px_20px_rgba(0,0,0,0.04)] border border-neutral-100 text-black hover:shadow-[0_6px_24px_rgba(0,0,0,0.06)]\"}`,\n children: [\n /* @__PURE__ */ jsx(\"div\", { className: \"flex items-center justify-between mb-1\", children: /* @__PURE__ */ jsxs(\"div\", { children: [\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center gap-2\", children: [\n /* @__PURE__ */ jsx(\"span\", { className: `text-xs font-semibold tracking-wider uppercase ${isDark ? \"text-neutral-400\" : \"text-neutral-500\"}`, children: \"Sparklines\" }),\n /* @__PURE__ */ jsx(\"span\", { className: \"inline-flex items-center px-1.5 py-0.5 rounded-full text-[10px] font-mono bg-white/10 text-white border border-white/20\", children: \"Telemetry\" })\n ] }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"text-xl font-bold tracking-tight tabular-nums mt-0.5 font-sans\", children: [\n \"3 Rows \",\n /* @__PURE__ */ jsx(\"span\", { className: \"text-xs font-normal opacity-70\", children: \"active\" })\n ] })\n ] }) }),\n /* @__PURE__ */ jsx(\"div\", { className: `relative w-full flex-1 rounded-[14px] overflow-hidden p-3 transition-colors duration-300 flex flex-col justify-around gap-2 touch-pan-y ${isDark ? \"bg-[#131313]\" : \"bg-[#f4f4f6]\"}`, children: SPARK_ROWS.map((row, idx) => /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center justify-between gap-3\", children: [\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex flex-col w-20 shrink-0\", children: [\n /* @__PURE__ */ jsx(\"span\", { className: `text-[11px] font-medium ${isDark ? \"text-white\" : \"text-black\"}`, children: row.name }),\n /* @__PURE__ */ jsx(\"span\", { className: `text-[10px] font-mono ${isDark ? \"text-neutral-400\" : \"text-neutral-500\"}`, children: row.val })\n ] }),\n /* @__PURE__ */ jsx(\"div\", { className: \"flex-1 h-7\", children: /* @__PURE__ */ jsx(ResponsiveContainer, { width: \"100%\", height: \"100%\", children: /* @__PURE__ */ jsx(LineChart, { data: row.data, children: /* @__PURE__ */ jsx(\n Line,\n {\n type: \"monotone\",\n dataKey: \"y\",\n stroke: isDark ? \"#FFFFFF\" : \"#09090B\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n dot: false,\n isAnimationActive: !isMobile,\n animationDuration: isMobile ? 0 : 800\n }\n ) }) }) })\n ] }, idx)) }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center justify-between mt-3 pt-1 border-t border-white/5 text-[11px] font-mono\", children: [\n /* @__PURE__ */ jsx(\"span\", { className: isDark ? \"text-neutral-400\" : \"text-neutral-600\", children: \"Rounded Mini Splines\" }),\n /* @__PURE__ */ jsx(\"span\", { className: isDark ? \"text-white font-medium\" : \"text-black font-medium\", children: \"Real-Time Telemetry\" })\n ] })\n ]\n }\n );\n}\n\n// mono-rounded-sparkline.tsx\nimport { jsx as jsx2 } from \"react/jsx-runtime\";\nfunction Demo() {\n return /* @__PURE__ */ jsx2(MonoRoundedSparklineChart, { theme: \"dark\" });\n}\nexport {\n Demo as default\n};\n",
5
+ "dependencies": [
6
+ "recharts"
7
+ ],
8
+ "css": "",
9
+ "usage": "import MovaComponent from './mono-rounded-sparkline';\n\nexport default function Demo() {\n return <MovaComponent />;\n}",
10
+ "exports": [
11
+ "default"
12
+ ]
13
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "id": "mono-rounded-stacked-bar",
3
+ "file": "mono-rounded-stacked-bar.tsx",
4
+ "content": "// @ts-nocheck -- Generated JavaScript bundle; edit the maintained catalog source to retain TypeScript types.\n\"use client\";\n// Mova catalog component. See LICENSE.mova and LICENSE.third-party.\n// src/components/mono-charts/MonoRoundedStackedBarChart.tsx\nimport {\n ResponsiveContainer,\n BarChart,\n Bar,\n XAxis,\n YAxis,\n CartesianGrid,\n Tooltip\n} from \"recharts\";\n\n// src/components/dither-charts/lib/recharts-tooltip.tsx\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nfunction DitherChartTooltipContent({\n active,\n payload,\n label,\n theme = \"dark\",\n indicator = \"dot\",\n formatter\n}) {\n if (!active || !payload || payload.length === 0) return null;\n const isDark = theme === \"dark\";\n return /* @__PURE__ */ jsxs(\n \"div\",\n {\n className: `px-3 py-2 rounded-xl text-xs shadow-2xl backdrop-blur-md border transition-all pointer-events-none font-sans z-50 ${isDark ? \"bg-[#181818]/90 border-white/10 text-white shadow-black/80\" : \"bg-white/95 border-neutral-200 text-neutral-900 shadow-neutral-300/50\"}`,\n children: [\n label && /* @__PURE__ */ jsx(\"div\", { className: `font-medium mb-1.5 pb-1 border-b tracking-tight ${isDark ? \"border-white/10 text-neutral-300\" : \"border-neutral-200 text-neutral-600\"}`, children: label }),\n /* @__PURE__ */ jsx(\"div\", { className: \"flex flex-col gap-1\", children: payload.map((item, idx) => {\n const color = item.color || item.fill || (isDark ? \"#FFFFFF\" : \"#000000\");\n const valueDisplay = formatter ? formatter(item.value, item.name) : typeof item.value === \"number\" ? item.value.toLocaleString() : item.value;\n return /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center justify-between gap-3\", children: [\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center gap-1.5\", children: [\n indicator === \"dot\" && /* @__PURE__ */ jsx(\n \"span\",\n {\n className: \"w-2 h-2 rounded-full ring-1 ring-white/20\",\n style: { backgroundColor: color }\n }\n ),\n indicator === \"line\" && /* @__PURE__ */ jsx(\n \"span\",\n {\n className: \"w-2.5 h-0.5 rounded-full\",\n style: { backgroundColor: color }\n }\n ),\n /* @__PURE__ */ jsxs(\"span\", { className: `font-normal ${isDark ? \"text-neutral-400\" : \"text-neutral-600\"}`, children: [\n item.name || item.dataKey,\n \":\"\n ] })\n ] }),\n /* @__PURE__ */ jsx(\"span\", { className: \"font-semibold tabular-nums\", children: valueDisplay })\n ] }, idx);\n }) })\n ]\n }\n );\n}\n\n// src/hooks/useIsMobile.ts\nimport { useState, useEffect } from \"react\";\nfunction useIsMobile(breakpoint = 768) {\n const [isMobile, setIsMobile] = useState(() => {\n if (typeof window === \"undefined\") return false;\n return window.innerWidth < breakpoint || window.matchMedia(`(max-width: ${breakpoint}px)`).matches;\n });\n useEffect(() => {\n if (typeof window === \"undefined\") return;\n const mql = window.matchMedia(`(max-width: ${breakpoint}px)`);\n const onChange = (e) => {\n setIsMobile(e.matches);\n };\n setIsMobile(mql.matches);\n if (mql.addEventListener) {\n mql.addEventListener(\"change\", onChange);\n return () => mql.removeEventListener(\"change\", onChange);\n } else {\n mql.addListener(onChange);\n return () => mql.removeListener(onChange);\n }\n }, [breakpoint]);\n return isMobile;\n}\n\n// src/components/mono-charts/MonoRoundedStackedBarChart.tsx\nimport { jsx as jsx2, jsxs as jsxs2 } from \"react/jsx-runtime\";\nvar STACKED_DATA = [\n { label: \"Q1\", layer1: 30, layer2: 25, layer3: 20 },\n { label: \"Q2\", layer1: 45, layer2: 35, layer3: 25 },\n { label: \"Q3\", layer1: 60, layer2: 40, layer3: 30 },\n { label: \"Q4\", layer1: 75, layer2: 50, layer3: 35 }\n];\nfunction MonoRoundedStackedBarChart({ theme = \"dark\", compact = false }) {\n const isDark = theme === \"dark\";\n const isMobile = useIsMobile();\n return /* @__PURE__ */ jsxs2(\n \"div\",\n {\n className: `relative w-full rounded-[24px] transition-all duration-300 group flex flex-col justify-between overflow-hidden p-4 sm:p-5 ${compact ? \"h-[220px] sm:h-[268px]\" : \"min-h-[290px]\"} ${isDark ? \"bg-[#181818] shadow-[inset_0_1px_0_rgba(255,255,255,0.04)] hover:bg-[#202020]\" : \"bg-white shadow-[0_4px_20px_rgba(0,0,0,0.04)] border border-neutral-100 text-black hover:shadow-[0_6px_24px_rgba(0,0,0,0.06)]\"}`,\n children: [\n /* @__PURE__ */ jsx2(\"div\", { className: \"flex items-center justify-between mb-2\", children: /* @__PURE__ */ jsxs2(\"div\", { children: [\n /* @__PURE__ */ jsxs2(\"div\", { className: \"flex items-center gap-2\", children: [\n /* @__PURE__ */ jsx2(\"span\", { className: `text-xs font-semibold tracking-wider uppercase ${isDark ? \"text-neutral-400\" : \"text-neutral-500\"}`, children: \"Stacked Tones\" }),\n /* @__PURE__ */ jsx2(\"span\", { className: \"inline-flex items-center px-1.5 py-0.5 rounded-full text-[10px] font-mono bg-white/10 text-white border border-white/20\", children: \"Layers\" })\n ] }),\n /* @__PURE__ */ jsxs2(\"div\", { className: \"text-xl font-bold tracking-tight tabular-nums mt-0.5 font-sans\", children: [\n \"160 \",\n /* @__PURE__ */ jsx2(\"span\", { className: \"text-xs font-normal opacity-70\", children: \"cumulative\" })\n ] })\n ] }) }),\n /* @__PURE__ */ jsx2(\"div\", { className: `relative w-full flex-1 rounded-[14px] overflow-hidden p-2 transition-colors duration-300 touch-pan-y ${isDark ? \"bg-[#131313]\" : \"bg-[#f4f4f6]\"}`, children: /* @__PURE__ */ jsx2(ResponsiveContainer, { width: \"100%\", height: compact ? 130 : 160, children: /* @__PURE__ */ jsxs2(BarChart, { data: STACKED_DATA, margin: { top: 12, right: 12, left: -22, bottom: 0 }, children: [\n /* @__PURE__ */ jsx2(CartesianGrid, { strokeDasharray: \"2 2\", vertical: false, stroke: isDark ? \"rgba(255,255,255,0.05)\" : \"rgba(0,0,0,0.05)\" }),\n /* @__PURE__ */ jsx2(XAxis, { dataKey: \"label\", tickLine: false, axisLine: false, tick: { fontSize: 10, fill: isDark ? \"#71717A\" : \"#A1A1AA\" } }),\n /* @__PURE__ */ jsx2(YAxis, { tickLine: false, axisLine: false, tick: { fontSize: 10, fill: isDark ? \"#71717A\" : \"#A1A1AA\" } }),\n /* @__PURE__ */ jsx2(Tooltip, { content: /* @__PURE__ */ jsx2(DitherChartTooltipContent, { theme, indicator: \"dot\" }) }),\n /* @__PURE__ */ jsx2(Bar, { dataKey: \"layer1\", name: \"Base\", stackId: \"a\", fill: isDark ? \"#FFFFFF\" : \"#09090B\", radius: [0, 0, 8, 8], barSize: 18, isAnimationActive: !isMobile, animationDuration: isMobile ? 0 : 800 }),\n /* @__PURE__ */ jsx2(Bar, { dataKey: \"layer2\", name: \"Mid\", stackId: \"a\", fill: isDark ? \"rgba(255,255,255,0.5)\" : \"rgba(9,9,11,0.5)\", isAnimationActive: !isMobile, animationDuration: isMobile ? 0 : 800 }),\n /* @__PURE__ */ jsx2(Bar, { dataKey: \"layer3\", name: \"Top\", stackId: \"a\", fill: isDark ? \"rgba(255,255,255,0.2)\" : \"rgba(9,9,11,0.2)\", radius: [8, 8, 0, 0], isAnimationActive: !isMobile, animationDuration: isMobile ? 0 : 800 })\n ] }) }) }),\n /* @__PURE__ */ jsxs2(\"div\", { className: \"flex items-center justify-between mt-3 pt-1 border-t border-white/5 text-[11px] font-mono\", children: [\n /* @__PURE__ */ jsx2(\"span\", { className: isDark ? \"text-neutral-400\" : \"text-neutral-600\", children: \"3 Monochrome Layers\" }),\n /* @__PURE__ */ jsx2(\"span\", { className: isDark ? \"text-white font-medium\" : \"text-black font-medium\", children: \"Stacked Geometry\" })\n ] })\n ]\n }\n );\n}\n\n// mono-rounded-stacked-bar.tsx\nimport { jsx as jsx3 } from \"react/jsx-runtime\";\nfunction Demo() {\n return /* @__PURE__ */ jsx3(MonoRoundedStackedBarChart, { theme: \"dark\" });\n}\nexport {\n Demo as default\n};\n",
5
+ "dependencies": [
6
+ "recharts"
7
+ ],
8
+ "css": "",
9
+ "usage": "import MovaComponent from './mono-rounded-stacked-bar';\n\nexport default function Demo() {\n return <MovaComponent />;\n}",
10
+ "exports": [
11
+ "default"
12
+ ]
13
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "id": "mono-rounded-step",
3
+ "file": "mono-rounded-step.tsx",
4
+ "content": "// @ts-nocheck -- Generated JavaScript bundle; edit the maintained catalog source to retain TypeScript types.\n\"use client\";\n// Mova catalog component. See LICENSE.mova and LICENSE.third-party.\n// src/components/mono-charts/MonoRoundedStepChart.tsx\nimport {\n ResponsiveContainer,\n LineChart,\n Line,\n XAxis,\n YAxis,\n CartesianGrid,\n Tooltip\n} from \"recharts\";\n\n// src/components/dither-charts/lib/recharts-tooltip.tsx\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nfunction DitherChartTooltipContent({\n active,\n payload,\n label,\n theme = \"dark\",\n indicator = \"dot\",\n formatter\n}) {\n if (!active || !payload || payload.length === 0) return null;\n const isDark = theme === \"dark\";\n return /* @__PURE__ */ jsxs(\n \"div\",\n {\n className: `px-3 py-2 rounded-xl text-xs shadow-2xl backdrop-blur-md border transition-all pointer-events-none font-sans z-50 ${isDark ? \"bg-[#181818]/90 border-white/10 text-white shadow-black/80\" : \"bg-white/95 border-neutral-200 text-neutral-900 shadow-neutral-300/50\"}`,\n children: [\n label && /* @__PURE__ */ jsx(\"div\", { className: `font-medium mb-1.5 pb-1 border-b tracking-tight ${isDark ? \"border-white/10 text-neutral-300\" : \"border-neutral-200 text-neutral-600\"}`, children: label }),\n /* @__PURE__ */ jsx(\"div\", { className: \"flex flex-col gap-1\", children: payload.map((item, idx) => {\n const color = item.color || item.fill || (isDark ? \"#FFFFFF\" : \"#000000\");\n const valueDisplay = formatter ? formatter(item.value, item.name) : typeof item.value === \"number\" ? item.value.toLocaleString() : item.value;\n return /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center justify-between gap-3\", children: [\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center gap-1.5\", children: [\n indicator === \"dot\" && /* @__PURE__ */ jsx(\n \"span\",\n {\n className: \"w-2 h-2 rounded-full ring-1 ring-white/20\",\n style: { backgroundColor: color }\n }\n ),\n indicator === \"line\" && /* @__PURE__ */ jsx(\n \"span\",\n {\n className: \"w-2.5 h-0.5 rounded-full\",\n style: { backgroundColor: color }\n }\n ),\n /* @__PURE__ */ jsxs(\"span\", { className: `font-normal ${isDark ? \"text-neutral-400\" : \"text-neutral-600\"}`, children: [\n item.name || item.dataKey,\n \":\"\n ] })\n ] }),\n /* @__PURE__ */ jsx(\"span\", { className: \"font-semibold tabular-nums\", children: valueDisplay })\n ] }, idx);\n }) })\n ]\n }\n );\n}\n\n// src/components/mono-charts/MonoRoundedStepChart.tsx\nimport { jsx as jsx2, jsxs as jsxs2 } from \"react/jsx-runtime\";\nvar STEP_DATA = [\n { step: \"01\", level: 20 },\n { step: \"02\", level: 40 },\n { step: \"03\", level: 35 },\n { step: \"04\", level: 75 },\n { step: \"05\", level: 60 },\n { step: \"06\", level: 90 }\n];\nfunction MonoRoundedStepChart({ theme = \"dark\", compact = false }) {\n const isDark = theme === \"dark\";\n return /* @__PURE__ */ jsxs2(\n \"div\",\n {\n className: `relative w-full rounded-[24px] transition-all duration-300 group flex flex-col justify-between overflow-hidden p-4 sm:p-5 ${compact ? \"h-[220px] sm:h-[268px]\" : \"min-h-[290px]\"} ${isDark ? \"bg-[#181818] shadow-[inset_0_1px_0_rgba(255,255,255,0.04)] hover:bg-[#202020]\" : \"bg-white shadow-[0_4px_20px_rgba(0,0,0,0.04)] border border-neutral-100 text-black hover:shadow-[0_6px_24px_rgba(0,0,0,0.06)]\"}`,\n children: [\n /* @__PURE__ */ jsx2(\"div\", { className: \"flex items-center justify-between mb-2\", children: /* @__PURE__ */ jsxs2(\"div\", { children: [\n /* @__PURE__ */ jsxs2(\"div\", { className: \"flex items-center gap-2\", children: [\n /* @__PURE__ */ jsx2(\"span\", { className: `text-xs font-semibold tracking-wider uppercase ${isDark ? \"text-neutral-400\" : \"text-neutral-500\"}`, children: \"Step Progression\" }),\n /* @__PURE__ */ jsx2(\"span\", { className: \"inline-flex items-center px-1.5 py-0.5 rounded-full text-[10px] font-mono bg-white/10 text-white border border-white/20\", children: \"Staircase\" })\n ] }),\n /* @__PURE__ */ jsxs2(\"div\", { className: \"text-xl font-bold tracking-tight tabular-nums mt-0.5 font-sans\", children: [\n \"90 \",\n /* @__PURE__ */ jsx2(\"span\", { className: \"text-xs font-normal opacity-70\", children: \"peak step\" })\n ] })\n ] }) }),\n /* @__PURE__ */ jsx2(\"div\", { className: `relative w-full flex-1 rounded-[14px] overflow-hidden p-2 transition-colors duration-300 ${isDark ? \"bg-[#131313]\" : \"bg-[#f4f4f6]\"}`, children: /* @__PURE__ */ jsx2(ResponsiveContainer, { width: \"100%\", height: compact ? 130 : 160, children: /* @__PURE__ */ jsxs2(LineChart, { data: STEP_DATA, margin: { top: 12, right: 12, left: -22, bottom: 0 }, children: [\n /* @__PURE__ */ jsx2(CartesianGrid, { strokeDasharray: \"3 3\", vertical: false, stroke: isDark ? \"rgba(255,255,255,0.05)\" : \"rgba(0,0,0,0.05)\" }),\n /* @__PURE__ */ jsx2(XAxis, { dataKey: \"step\", tickLine: false, axisLine: false, tick: { fontSize: 10, fill: isDark ? \"#71717A\" : \"#A1A1AA\" } }),\n /* @__PURE__ */ jsx2(YAxis, { tickLine: false, axisLine: false, tick: { fontSize: 10, fill: isDark ? \"#71717A\" : \"#A1A1AA\" } }),\n /* @__PURE__ */ jsx2(Tooltip, { content: /* @__PURE__ */ jsx2(DitherChartTooltipContent, { theme, indicator: \"dot\" }) }),\n /* @__PURE__ */ jsx2(\n Line,\n {\n type: \"stepAfter\",\n dataKey: \"level\",\n name: \"Level\",\n stroke: isDark ? \"#FFFFFF\" : \"#09090B\",\n strokeWidth: 3,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n dot: { r: 4, fill: isDark ? \"#FFFFFF\" : \"#09090B\" },\n animationDuration: 800\n }\n )\n ] }) }) }),\n /* @__PURE__ */ jsxs2(\"div\", { className: \"flex items-center justify-between mt-3 pt-1 border-t border-white/5 text-[11px] font-mono\", children: [\n /* @__PURE__ */ jsx2(\"span\", { className: isDark ? \"text-neutral-400\" : \"text-neutral-600\", children: \"Discrete Steps\" }),\n /* @__PURE__ */ jsx2(\"span\", { className: isDark ? \"text-white font-medium\" : \"text-black font-medium\", children: \"Level 6 Active\" })\n ] })\n ]\n }\n );\n}\n\n// mono-rounded-step.tsx\nimport { jsx as jsx3 } from \"react/jsx-runtime\";\nfunction Demo() {\n return /* @__PURE__ */ jsx3(MonoRoundedStepChart, { theme: \"dark\" });\n}\nexport {\n Demo as default\n};\n",
5
+ "dependencies": [
6
+ "recharts"
7
+ ],
8
+ "css": "",
9
+ "usage": "import MovaComponent from './mono-rounded-step';\n\nexport default function Demo() {\n return <MovaComponent />;\n}",
10
+ "exports": [
11
+ "default"
12
+ ]
13
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "id": "mono-rounded-stream",
3
+ "file": "mono-rounded-stream.tsx",
4
+ "content": "// @ts-nocheck -- Generated JavaScript bundle; edit the maintained catalog source to retain TypeScript types.\n\"use client\";\n// Mova catalog component. See LICENSE.mova and LICENSE.third-party.\n// src/components/mono-charts/MonoRoundedStreamChart.tsx\nimport { useId } from \"react\";\nimport {\n ResponsiveContainer,\n AreaChart,\n Area,\n XAxis,\n YAxis,\n Tooltip\n} from \"recharts\";\n\n// src/components/dither-charts/lib/recharts-tooltip.tsx\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nfunction DitherChartTooltipContent({\n active,\n payload,\n label,\n theme = \"dark\",\n indicator = \"dot\",\n formatter\n}) {\n if (!active || !payload || payload.length === 0) return null;\n const isDark = theme === \"dark\";\n return /* @__PURE__ */ jsxs(\n \"div\",\n {\n className: `px-3 py-2 rounded-xl text-xs shadow-2xl backdrop-blur-md border transition-all pointer-events-none font-sans z-50 ${isDark ? \"bg-[#181818]/90 border-white/10 text-white shadow-black/80\" : \"bg-white/95 border-neutral-200 text-neutral-900 shadow-neutral-300/50\"}`,\n children: [\n label && /* @__PURE__ */ jsx(\"div\", { className: `font-medium mb-1.5 pb-1 border-b tracking-tight ${isDark ? \"border-white/10 text-neutral-300\" : \"border-neutral-200 text-neutral-600\"}`, children: label }),\n /* @__PURE__ */ jsx(\"div\", { className: \"flex flex-col gap-1\", children: payload.map((item, idx) => {\n const color = item.color || item.fill || (isDark ? \"#FFFFFF\" : \"#000000\");\n const valueDisplay = formatter ? formatter(item.value, item.name) : typeof item.value === \"number\" ? item.value.toLocaleString() : item.value;\n return /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center justify-between gap-3\", children: [\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center gap-1.5\", children: [\n indicator === \"dot\" && /* @__PURE__ */ jsx(\n \"span\",\n {\n className: \"w-2 h-2 rounded-full ring-1 ring-white/20\",\n style: { backgroundColor: color }\n }\n ),\n indicator === \"line\" && /* @__PURE__ */ jsx(\n \"span\",\n {\n className: \"w-2.5 h-0.5 rounded-full\",\n style: { backgroundColor: color }\n }\n ),\n /* @__PURE__ */ jsxs(\"span\", { className: `font-normal ${isDark ? \"text-neutral-400\" : \"text-neutral-600\"}`, children: [\n item.name || item.dataKey,\n \":\"\n ] })\n ] }),\n /* @__PURE__ */ jsx(\"span\", { className: \"font-semibold tabular-nums\", children: valueDisplay })\n ] }, idx);\n }) })\n ]\n }\n );\n}\n\n// src/components/mono-charts/MonoRoundedStreamChart.tsx\nimport { jsx as jsx2, jsxs as jsxs2 } from \"react/jsx-runtime\";\nvar STREAM_DATA = [\n { t: \"01\", w1: 20, w2: 15 },\n { t: \"02\", w1: 45, w2: 30 },\n { t: \"03\", w1: 30, w2: 50 },\n { t: \"04\", w1: 70, w2: 35 },\n { t: \"05\", w1: 55, w2: 60 },\n { t: \"06\", w1: 85, w2: 40 }\n];\nfunction MonoRoundedStreamChart({ theme = \"dark\", compact = false }) {\n const isDark = theme === \"dark\";\n const idPrefix = useId().replace(/:/g, \"\");\n return /* @__PURE__ */ jsxs2(\n \"div\",\n {\n className: `relative w-full rounded-[24px] transition-all duration-300 group flex flex-col justify-between overflow-hidden p-4 sm:p-5 ${compact ? \"h-[220px] sm:h-[268px]\" : \"min-h-[290px]\"} ${isDark ? \"bg-[#181818] shadow-[inset_0_1px_0_rgba(255,255,255,0.04)] hover:bg-[#202020]\" : \"bg-white shadow-[0_4px_20px_rgba(0,0,0,0.04)] border border-neutral-100 text-black hover:shadow-[0_6px_24px_rgba(0,0,0,0.06)]\"}`,\n children: [\n /* @__PURE__ */ jsx2(\"div\", { className: \"flex items-center justify-between mb-1\", children: /* @__PURE__ */ jsxs2(\"div\", { children: [\n /* @__PURE__ */ jsxs2(\"div\", { className: \"flex items-center gap-2\", children: [\n /* @__PURE__ */ jsx2(\"span\", { className: `text-xs font-semibold tracking-wider uppercase ${isDark ? \"text-neutral-400\" : \"text-neutral-500\"}`, children: \"Stream Wave\" }),\n /* @__PURE__ */ jsx2(\"span\", { className: \"inline-flex items-center px-1.5 py-0.5 rounded-full text-[10px] font-mono bg-white/10 text-white border border-white/20\", children: \"Fluid\" })\n ] }),\n /* @__PURE__ */ jsxs2(\"div\", { className: \"text-xl font-bold tracking-tight tabular-nums mt-0.5 font-sans\", children: [\n \"125 \",\n /* @__PURE__ */ jsx2(\"span\", { className: \"text-xs font-normal opacity-70\", children: \"peak flow\" })\n ] })\n ] }) }),\n /* @__PURE__ */ jsxs2(\"div\", { className: `relative w-full flex-1 rounded-[14px] overflow-hidden p-2 transition-colors duration-300 ${isDark ? \"bg-[#131313]\" : \"bg-[#f4f4f6]\"}`, children: [\n /* @__PURE__ */ jsx2(\"svg\", { className: \"absolute w-0 h-0 pointer-events-none\", children: /* @__PURE__ */ jsxs2(\"defs\", { children: [\n /* @__PURE__ */ jsxs2(\"linearGradient\", { id: `${idPrefix}stream-g1`, x1: \"0\", y1: \"0\", x2: \"0\", y2: \"1\", children: [\n /* @__PURE__ */ jsx2(\"stop\", { offset: \"0%\", stopColor: isDark ? \"#FFFFFF\" : \"#09090B\", stopOpacity: \"0.4\" }),\n /* @__PURE__ */ jsx2(\"stop\", { offset: \"100%\", stopColor: isDark ? \"#FFFFFF\" : \"#09090B\", stopOpacity: \"0.05\" })\n ] }),\n /* @__PURE__ */ jsxs2(\"linearGradient\", { id: `${idPrefix}stream-g2`, x1: \"0\", y1: \"0\", x2: \"0\", y2: \"1\", children: [\n /* @__PURE__ */ jsx2(\"stop\", { offset: \"0%\", stopColor: isDark ? \"#FFFFFF\" : \"#09090B\", stopOpacity: \"0.2\" }),\n /* @__PURE__ */ jsx2(\"stop\", { offset: \"100%\", stopColor: isDark ? \"#FFFFFF\" : \"#09090B\", stopOpacity: \"0.0\" })\n ] })\n ] }) }),\n /* @__PURE__ */ jsx2(ResponsiveContainer, { width: \"100%\", height: compact ? 130 : 160, children: /* @__PURE__ */ jsxs2(AreaChart, { data: STREAM_DATA, margin: { top: 12, right: 12, left: -22, bottom: 0 }, children: [\n /* @__PURE__ */ jsx2(XAxis, { dataKey: \"t\", tickLine: false, axisLine: false, tick: { fontSize: 10, fill: isDark ? \"#71717A\" : \"#A1A1AA\" } }),\n /* @__PURE__ */ jsx2(YAxis, { tickLine: false, axisLine: false, tick: { fontSize: 10, fill: isDark ? \"#71717A\" : \"#A1A1AA\" } }),\n /* @__PURE__ */ jsx2(Tooltip, { content: /* @__PURE__ */ jsx2(DitherChartTooltipContent, { theme, indicator: \"dot\" }) }),\n /* @__PURE__ */ jsx2(\n Area,\n {\n type: \"natural\",\n dataKey: \"w1\",\n name: \"Wave 1\",\n stroke: isDark ? \"#FFFFFF\" : \"#09090B\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n fill: `url(#${idPrefix}stream-g1)`,\n animationDuration: 800\n }\n ),\n /* @__PURE__ */ jsx2(\n Area,\n {\n type: \"natural\",\n dataKey: \"w2\",\n name: \"Wave 2\",\n stroke: isDark ? \"#A1A1AA\" : \"#52525B\",\n strokeWidth: 1.5,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n fill: `url(#${idPrefix}stream-g2)`,\n animationDuration: 900\n }\n )\n ] }) })\n ] }),\n /* @__PURE__ */ jsxs2(\"div\", { className: \"flex items-center justify-between mt-3 pt-1 border-t border-white/5 text-[11px] font-mono\", children: [\n /* @__PURE__ */ jsx2(\"span\", { className: isDark ? \"text-neutral-400\" : \"text-neutral-600\", children: \"Rounded Natural Spline\" }),\n /* @__PURE__ */ jsx2(\"span\", { className: isDark ? \"text-white font-medium\" : \"text-black font-medium\", children: \"Dual Stream Wave\" })\n ] })\n ]\n }\n );\n}\n\n// mono-rounded-stream.tsx\nimport { jsx as jsx3 } from \"react/jsx-runtime\";\nfunction Demo() {\n return /* @__PURE__ */ jsx3(MonoRoundedStreamChart, { theme: \"dark\" });\n}\nexport {\n Demo as default\n};\n",
5
+ "dependencies": [
6
+ "recharts"
7
+ ],
8
+ "css": "",
9
+ "usage": "import MovaComponent from './mono-rounded-stream';\n\nexport default function Demo() {\n return <MovaComponent />;\n}",
10
+ "exports": [
11
+ "default"
12
+ ]
13
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "id": "mono-rounded-treemap",
3
+ "file": "mono-rounded-treemap.tsx",
4
+ "content": "// @ts-nocheck -- Generated JavaScript bundle; edit the maintained catalog source to retain TypeScript types.\n\"use client\";\n// Mova catalog component. See LICENSE.mova and LICENSE.third-party.\n// src/components/mono-charts/MonoRoundedTreemapChart.tsx\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nvar TREEMAP_TILES = [\n { label: \"Storage\", share: 45, flex: \"col-span-2 row-span-2\", opacity: 1 },\n { label: \"Compute\", share: 30, flex: \"col-span-1 row-span-2\", opacity: 0.6 },\n { label: \"Network\", share: 15, flex: \"col-span-2 row-span-1\", opacity: 0.35 },\n { label: \"Cache\", share: 10, flex: \"col-span-1 row-span-1\", opacity: 0.2 }\n];\nfunction MonoRoundedTreemapChart({ theme = \"dark\", compact = false }) {\n const isDark = theme === \"dark\";\n return /* @__PURE__ */ jsxs(\n \"div\",\n {\n className: `relative w-full rounded-[24px] transition-all duration-300 group flex flex-col justify-between overflow-hidden p-4 sm:p-5 ${compact ? \"h-[220px] sm:h-[268px]\" : \"min-h-[290px]\"} ${isDark ? \"bg-[#181818] shadow-[inset_0_1px_0_rgba(255,255,255,0.04)] hover:bg-[#202020]\" : \"bg-white shadow-[0_4px_20px_rgba(0,0,0,0.04)] border border-neutral-100 text-black hover:shadow-[0_6px_24px_rgba(0,0,0,0.06)]\"}`,\n children: [\n /* @__PURE__ */ jsx(\"div\", { className: \"flex items-center justify-between mb-1\", children: /* @__PURE__ */ jsxs(\"div\", { children: [\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center gap-2\", children: [\n /* @__PURE__ */ jsx(\"span\", { className: `text-xs font-semibold tracking-wider uppercase ${isDark ? \"text-neutral-400\" : \"text-neutral-500\"}`, children: \"Tile Treemap\" }),\n /* @__PURE__ */ jsx(\"span\", { className: \"inline-flex items-center px-1.5 py-0.5 rounded-full text-[10px] font-mono bg-white/10 text-white border border-white/20\", children: \"Allocation\" })\n ] }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"text-xl font-bold tracking-tight tabular-nums mt-0.5 font-sans\", children: [\n \"100% \",\n /* @__PURE__ */ jsx(\"span\", { className: \"text-xs font-normal opacity-70\", children: \"partitioned\" })\n ] })\n ] }) }),\n /* @__PURE__ */ jsx(\"div\", { className: `relative w-full flex-1 rounded-[14px] overflow-hidden p-2 transition-colors duration-300 grid grid-cols-3 grid-rows-3 gap-1.5 ${isDark ? \"bg-[#131313]\" : \"bg-[#f4f4f6]\"}`, children: TREEMAP_TILES.map((tile, idx) => /* @__PURE__ */ jsxs(\n \"div\",\n {\n className: `${tile.flex} rounded-xl p-2 flex flex-col justify-between transition-all hover:scale-[1.02] cursor-pointer border ${isDark ? \"border-white/10\" : \"border-black/10\"}`,\n style: {\n backgroundColor: isDark ? `rgba(255,255,255,${tile.opacity})` : `rgba(9,9,11,${tile.opacity})`,\n color: isDark ? tile.opacity > 0.5 ? \"#000000\" : \"#FFFFFF\" : tile.opacity > 0.5 ? \"#FFFFFF\" : \"#000000\"\n },\n children: [\n /* @__PURE__ */ jsx(\"span\", { className: \"text-[11px] font-bold tracking-tight font-sans\", children: tile.label }),\n /* @__PURE__ */ jsxs(\"span\", { className: \"text-[10px] font-mono opacity-80\", children: [\n tile.share,\n \"%\"\n ] })\n ]\n },\n idx\n )) }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center justify-between mt-3 pt-1 border-t border-white/5 text-[11px] font-mono\", children: [\n /* @__PURE__ */ jsx(\"span\", { className: isDark ? \"text-neutral-400\" : \"text-neutral-600\", children: \"Rounded Corner Tiles\" }),\n /* @__PURE__ */ jsx(\"span\", { className: isDark ? \"text-white font-medium\" : \"text-black font-medium\", children: \"4 Resource Partitions\" })\n ] })\n ]\n }\n );\n}\n\n// mono-rounded-treemap.tsx\nimport { jsx as jsx2 } from \"react/jsx-runtime\";\nfunction Demo() {\n return /* @__PURE__ */ jsx2(MonoRoundedTreemapChart, { theme: \"dark\" });\n}\nexport {\n Demo as default\n};\n",
5
+ "dependencies": [],
6
+ "css": "",
7
+ "usage": "import MovaComponent from './mono-rounded-treemap';\n\nexport default function Demo() {\n return <MovaComponent />;\n}",
8
+ "exports": [
9
+ "default"
10
+ ]
11
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "id": "mono-rounded-waterfall",
3
+ "file": "mono-rounded-waterfall.tsx",
4
+ "content": "// @ts-nocheck -- Generated JavaScript bundle; edit the maintained catalog source to retain TypeScript types.\n\"use client\";\n// Mova catalog component. See LICENSE.mova and LICENSE.third-party.\n// src/components/mono-charts/MonoRoundedWaterfallChart.tsx\nimport {\n ResponsiveContainer,\n BarChart,\n Bar,\n XAxis,\n YAxis,\n Tooltip\n} from \"recharts\";\n\n// src/components/dither-charts/lib/recharts-tooltip.tsx\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nfunction DitherChartTooltipContent({\n active,\n payload,\n label,\n theme = \"dark\",\n indicator = \"dot\",\n formatter\n}) {\n if (!active || !payload || payload.length === 0) return null;\n const isDark = theme === \"dark\";\n return /* @__PURE__ */ jsxs(\n \"div\",\n {\n className: `px-3 py-2 rounded-xl text-xs shadow-2xl backdrop-blur-md border transition-all pointer-events-none font-sans z-50 ${isDark ? \"bg-[#181818]/90 border-white/10 text-white shadow-black/80\" : \"bg-white/95 border-neutral-200 text-neutral-900 shadow-neutral-300/50\"}`,\n children: [\n label && /* @__PURE__ */ jsx(\"div\", { className: `font-medium mb-1.5 pb-1 border-b tracking-tight ${isDark ? \"border-white/10 text-neutral-300\" : \"border-neutral-200 text-neutral-600\"}`, children: label }),\n /* @__PURE__ */ jsx(\"div\", { className: \"flex flex-col gap-1\", children: payload.map((item, idx) => {\n const color = item.color || item.fill || (isDark ? \"#FFFFFF\" : \"#000000\");\n const valueDisplay = formatter ? formatter(item.value, item.name) : typeof item.value === \"number\" ? item.value.toLocaleString() : item.value;\n return /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center justify-between gap-3\", children: [\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center gap-1.5\", children: [\n indicator === \"dot\" && /* @__PURE__ */ jsx(\n \"span\",\n {\n className: \"w-2 h-2 rounded-full ring-1 ring-white/20\",\n style: { backgroundColor: color }\n }\n ),\n indicator === \"line\" && /* @__PURE__ */ jsx(\n \"span\",\n {\n className: \"w-2.5 h-0.5 rounded-full\",\n style: { backgroundColor: color }\n }\n ),\n /* @__PURE__ */ jsxs(\"span\", { className: `font-normal ${isDark ? \"text-neutral-400\" : \"text-neutral-600\"}`, children: [\n item.name || item.dataKey,\n \":\"\n ] })\n ] }),\n /* @__PURE__ */ jsx(\"span\", { className: \"font-semibold tabular-nums\", children: valueDisplay })\n ] }, idx);\n }) })\n ]\n }\n );\n}\n\n// src/components/mono-charts/MonoRoundedWaterfallChart.tsx\nimport { jsx as jsx2, jsxs as jsxs2 } from \"react/jsx-runtime\";\nvar WATERFALL_DATA = [\n { step: \"Start\", base: 0, delta: 50 },\n { step: \"Inflow\", base: 50, delta: 30 },\n { step: \"Outflow\", base: 60, delta: 20 },\n { step: \"Net\", base: 0, delta: 80 }\n];\nfunction MonoRoundedWaterfallChart({ theme = \"dark\", compact = false }) {\n const isDark = theme === \"dark\";\n return /* @__PURE__ */ jsxs2(\n \"div\",\n {\n className: `relative w-full rounded-[24px] transition-all duration-300 group flex flex-col justify-between overflow-hidden p-4 sm:p-5 ${compact ? \"h-[220px] sm:h-[268px]\" : \"min-h-[290px]\"} ${isDark ? \"bg-[#181818] shadow-[inset_0_1px_0_rgba(255,255,255,0.04)] hover:bg-[#202020]\" : \"bg-white shadow-[0_4px_20px_rgba(0,0,0,0.04)] border border-neutral-100 text-black hover:shadow-[0_6px_24px_rgba(0,0,0,0.06)]\"}`,\n children: [\n /* @__PURE__ */ jsx2(\"div\", { className: \"flex items-center justify-between mb-1\", children: /* @__PURE__ */ jsxs2(\"div\", { children: [\n /* @__PURE__ */ jsxs2(\"div\", { className: \"flex items-center gap-2\", children: [\n /* @__PURE__ */ jsx2(\"span\", { className: `text-xs font-semibold tracking-wider uppercase ${isDark ? \"text-neutral-400\" : \"text-neutral-500\"}`, children: \"Waterfall Steps\" }),\n /* @__PURE__ */ jsx2(\"span\", { className: \"inline-flex items-center px-1.5 py-0.5 rounded-full text-[10px] font-mono bg-white/10 text-white border border-white/20\", children: \"Delta\" })\n ] }),\n /* @__PURE__ */ jsxs2(\"div\", { className: \"text-xl font-bold tracking-tight tabular-nums mt-0.5 font-sans\", children: [\n \"+80 \",\n /* @__PURE__ */ jsx2(\"span\", { className: \"text-xs font-normal opacity-70\", children: \"net delta\" })\n ] })\n ] }) }),\n /* @__PURE__ */ jsx2(\"div\", { className: `relative w-full flex-1 rounded-[14px] overflow-hidden p-2 transition-colors duration-300 ${isDark ? \"bg-[#131313]\" : \"bg-[#f4f4f6]\"}`, children: /* @__PURE__ */ jsx2(ResponsiveContainer, { width: \"100%\", height: compact ? 130 : 160, children: /* @__PURE__ */ jsxs2(BarChart, { data: WATERFALL_DATA, margin: { top: 12, right: 12, left: -22, bottom: 0 }, children: [\n /* @__PURE__ */ jsx2(XAxis, { dataKey: \"step\", tickLine: false, axisLine: false, tick: { fontSize: 10, fill: isDark ? \"#71717A\" : \"#A1A1AA\" } }),\n /* @__PURE__ */ jsx2(YAxis, { tickLine: false, axisLine: false, tick: { fontSize: 10, fill: isDark ? \"#71717A\" : \"#A1A1AA\" } }),\n /* @__PURE__ */ jsx2(Tooltip, { content: /* @__PURE__ */ jsx2(DitherChartTooltipContent, { theme, indicator: \"dot\" }) }),\n /* @__PURE__ */ jsx2(Bar, { dataKey: \"base\", stackId: \"a\", fill: \"transparent\" }),\n /* @__PURE__ */ jsx2(\n Bar,\n {\n dataKey: \"delta\",\n name: \"Delta\",\n stackId: \"a\",\n fill: isDark ? \"#FFFFFF\" : \"#09090B\",\n radius: [6, 6, 6, 6],\n barSize: 18,\n animationDuration: 800\n }\n )\n ] }) }) }),\n /* @__PURE__ */ jsxs2(\"div\", { className: \"flex items-center justify-between mt-3 pt-1 border-t border-white/5 text-[11px] font-mono\", children: [\n /* @__PURE__ */ jsx2(\"span\", { className: isDark ? \"text-neutral-400\" : \"text-neutral-600\", children: \"Rounded Floating Pillars\" }),\n /* @__PURE__ */ jsx2(\"span\", { className: isDark ? \"text-white font-medium\" : \"text-black font-medium\", children: \"Sequential Deltas\" })\n ] })\n ]\n }\n );\n}\n\n// mono-rounded-waterfall.tsx\nimport { jsx as jsx3 } from \"react/jsx-runtime\";\nfunction Demo() {\n return /* @__PURE__ */ jsx3(MonoRoundedWaterfallChart, { theme: \"dark\" });\n}\nexport {\n Demo as default\n};\n",
5
+ "dependencies": [
6
+ "recharts"
7
+ ],
8
+ "css": "",
9
+ "usage": "import MovaComponent from './mono-rounded-waterfall';\n\nexport default function Demo() {\n return <MovaComponent />;\n}",
10
+ "exports": [
11
+ "default"
12
+ ]
13
+ }