@mova-ui/react 0.1.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (876) hide show
  1. package/README.md +70 -21
  2. package/bin/mova.mjs +38 -12
  3. package/dist/catalog/components/AnimatedButton.d.ts +9 -0
  4. package/dist/catalog/components/AnimatedButton.js +346 -0
  5. package/dist/catalog/components/IconSwap.d.ts +6 -0
  6. package/dist/catalog/components/IconSwap.js +9 -0
  7. package/dist/catalog/components/InViewRender.d.ts +4 -0
  8. package/dist/catalog/components/InViewRender.js +14 -0
  9. package/dist/catalog/components/PageTransitionCard.d.ts +9 -0
  10. package/dist/catalog/components/PageTransitionCard.js +110 -0
  11. package/dist/catalog/components/PageTransitionModal.d.ts +10 -0
  12. package/dist/catalog/components/PageTransitionModal.js +180 -0
  13. package/dist/catalog/components/PageTransitionOverlay.d.ts +9 -0
  14. package/dist/catalog/components/PageTransitionOverlay.js +7 -0
  15. package/dist/catalog/components/cards/CardArc5.d.ts +14 -0
  16. package/dist/catalog/components/cards/CardArc5.js +76 -0
  17. package/dist/catalog/components/cards/CardArc7.d.ts +14 -0
  18. package/dist/catalog/components/cards/CardArc7.js +77 -0
  19. package/dist/catalog/components/cards/CardCarousel.d.ts +12 -0
  20. package/dist/catalog/components/cards/CardCarousel.js +139 -0
  21. package/dist/catalog/components/cards/CardCascadeStagger.d.ts +9 -0
  22. package/dist/catalog/components/cards/CardCascadeStagger.js +64 -0
  23. package/dist/catalog/components/cards/CardCornerFan.d.ts +12 -0
  24. package/dist/catalog/components/cards/CardCornerFan.js +66 -0
  25. package/dist/catalog/components/cards/CardCoverFlow.d.ts +12 -0
  26. package/dist/catalog/components/cards/CardCoverFlow.js +115 -0
  27. package/dist/catalog/components/cards/CardLinearSpread.d.ts +12 -0
  28. package/dist/catalog/components/cards/CardLinearSpread.js +62 -0
  29. package/dist/catalog/components/cards/CardLongArc5.d.ts +14 -0
  30. package/dist/catalog/components/cards/CardLongArc5.js +76 -0
  31. package/dist/catalog/components/cards/CardScatterSpread.d.ts +9 -0
  32. package/dist/catalog/components/cards/CardScatterSpread.js +69 -0
  33. package/dist/catalog/components/cards/CardStampArc.d.ts +14 -0
  34. package/dist/catalog/components/cards/CardStampArc.js +101 -0
  35. package/dist/catalog/components/cards/CardTimeMachine.d.ts +8 -0
  36. package/dist/catalog/components/cards/CardTimeMachine.js +182 -0
  37. package/dist/catalog/components/cards/CardWheelFan.d.ts +9 -0
  38. package/dist/catalog/components/cards/CardWheelFan.js +68 -0
  39. package/dist/catalog/components/cards/FocusBlur.d.ts +14 -0
  40. package/dist/catalog/components/cards/FocusBlur.js +7 -0
  41. package/dist/catalog/components/css-animations/Dock.d.ts +6 -0
  42. package/dist/catalog/components/css-animations/Dock.js +93 -0
  43. package/dist/catalog/components/css-animations/FocusBlur.d.ts +4 -0
  44. package/dist/catalog/components/css-animations/FocusBlur.js +35 -0
  45. package/dist/catalog/components/css-animations/FrequencySelector.d.ts +6 -0
  46. package/dist/catalog/components/css-animations/FrequencySelector.js +100 -0
  47. package/dist/catalog/components/css-animations/MediaBetweenText.d.ts +34 -0
  48. package/dist/catalog/components/css-animations/MediaBetweenText.js +125 -0
  49. package/dist/catalog/components/css-animations/ScrambleHover.d.ts +16 -0
  50. package/dist/catalog/components/css-animations/ScrambleHover.js +101 -0
  51. package/dist/catalog/components/css-animations/TabBar.d.ts +6 -0
  52. package/dist/catalog/components/css-animations/TabBar.js +57 -0
  53. package/dist/catalog/components/css-animations/whimsical/AppleLoaders.d.ts +9 -0
  54. package/dist/catalog/components/css-animations/whimsical/AppleLoaders.js +57 -0
  55. package/dist/catalog/components/css-animations/whimsical/Area1.d.ts +7 -0
  56. package/dist/catalog/components/css-animations/whimsical/Area1.js +56 -0
  57. package/dist/catalog/components/css-animations/whimsical/Area6.d.ts +7 -0
  58. package/dist/catalog/components/css-animations/whimsical/Area6.js +53 -0
  59. package/dist/catalog/components/css-animations/whimsical/Bookmark.d.ts +7 -0
  60. package/dist/catalog/components/css-animations/whimsical/Bookmark.js +183 -0
  61. package/dist/catalog/components/css-animations/whimsical/ConceptTrios1.d.ts +37 -0
  62. package/dist/catalog/components/css-animations/whimsical/ConceptTrios1.js +253 -0
  63. package/dist/catalog/components/css-animations/whimsical/ConceptTrios2.d.ts +37 -0
  64. package/dist/catalog/components/css-animations/whimsical/ConceptTrios2.js +237 -0
  65. package/dist/catalog/components/css-animations/whimsical/ConceptTrios3.d.ts +73 -0
  66. package/dist/catalog/components/css-animations/whimsical/ConceptTrios3.js +441 -0
  67. package/dist/catalog/components/css-animations/whimsical/Curtain.d.ts +7 -0
  68. package/dist/catalog/components/css-animations/whimsical/Curtain.js +155 -0
  69. package/dist/catalog/components/css-animations/whimsical/Kakikaki.d.ts +7 -0
  70. package/dist/catalog/components/css-animations/whimsical/Kakikaki.js +67 -0
  71. package/dist/catalog/components/css-animations/whimsical/KineticTensionCapsule.d.ts +7 -0
  72. package/dist/catalog/components/css-animations/whimsical/KineticTensionCapsule.js +82 -0
  73. package/dist/catalog/components/css-animations/whimsical/MatrixGridLoader.d.ts +5 -0
  74. package/dist/catalog/components/css-animations/whimsical/MatrixGridLoader.js +88 -0
  75. package/dist/catalog/components/css-animations/whimsical/RedesignedPhysicsTrios.d.ts +103 -0
  76. package/dist/catalog/components/css-animations/whimsical/RedesignedPhysicsTrios.js +607 -0
  77. package/dist/catalog/components/css-animations/whimsical/Tissue.d.ts +7 -0
  78. package/dist/catalog/components/css-animations/whimsical/Tissue.js +111 -0
  79. package/dist/catalog/components/css-animations/whimsical/Tsumiki.d.ts +8 -0
  80. package/dist/catalog/components/css-animations/whimsical/Tsumiki.js +83 -0
  81. package/dist/catalog/components/css-animations/whimsical/WhimsicalVariations.d.ts +37 -0
  82. package/dist/catalog/components/css-animations/whimsical/WhimsicalVariations.js +325 -0
  83. package/dist/catalog/components/css-animations/whimsical/YuiPhysicsExperiments.d.ts +37 -0
  84. package/dist/catalog/components/css-animations/whimsical/YuiPhysicsExperiments.js +247 -0
  85. package/dist/catalog/components/css-animations/yui-components/RedesignedUiTrios.d.ts +19 -0
  86. package/dist/catalog/components/css-animations/yui-components/RedesignedUiTrios.js +174 -0
  87. package/dist/catalog/components/css-animations/yui-components/UiKitTrios.d.ts +19 -0
  88. package/dist/catalog/components/css-animations/yui-components/UiKitTrios.js +147 -0
  89. package/dist/catalog/components/css-animations/yui-components/YuiUiKit1.d.ts +29 -0
  90. package/dist/catalog/components/css-animations/yui-components/YuiUiKit1.js +317 -0
  91. package/dist/catalog/components/css-animations/yui-components/YuiUiKit2.d.ts +34 -0
  92. package/dist/catalog/components/css-animations/yui-components/YuiUiKit2.js +356 -0
  93. package/dist/catalog/components/dither-charts/ActivityHeatmap.d.ts +5 -0
  94. package/dist/catalog/components/dither-charts/ActivityHeatmap.js +8 -0
  95. package/dist/catalog/components/dither-charts/ChartCard.d.ts +2 -0
  96. package/dist/catalog/components/dither-charts/ChartCard.js +8 -0
  97. package/dist/catalog/components/dither-charts/DeviceUsageChart.d.ts +5 -0
  98. package/dist/catalog/components/dither-charts/DeviceUsageChart.js +8 -0
  99. package/dist/catalog/components/dither-charts/DitherBarChart.d.ts +5 -0
  100. package/dist/catalog/components/dither-charts/DitherBarChart.js +148 -0
  101. package/dist/catalog/components/dither-charts/DitherBook.d.ts +23 -0
  102. package/dist/catalog/components/dither-charts/DitherBook.js +352 -0
  103. package/dist/catalog/components/dither-charts/DitherChartsGrid.d.ts +9 -0
  104. package/dist/catalog/components/dither-charts/DitherChartsGrid.js +108 -0
  105. package/dist/catalog/components/dither-charts/DitherDonutChart.d.ts +7 -0
  106. package/dist/catalog/components/dither-charts/DitherDonutChart.js +8 -0
  107. package/dist/catalog/components/dither-charts/DitherFunnelChart.d.ts +5 -0
  108. package/dist/catalog/components/dither-charts/DitherFunnelChart.js +8 -0
  109. package/dist/catalog/components/dither-charts/DitherGrowthChart.d.ts +7 -0
  110. package/dist/catalog/components/dither-charts/DitherGrowthChart.js +8 -0
  111. package/dist/catalog/components/dither-charts/DitherHeatmapGrid.d.ts +5 -0
  112. package/dist/catalog/components/dither-charts/DitherHeatmapGrid.js +115 -0
  113. package/dist/catalog/components/dither-charts/DitherRadialChart.d.ts +5 -0
  114. package/dist/catalog/components/dither-charts/DitherRadialChart.js +114 -0
  115. package/dist/catalog/components/dither-charts/DitherScatterChart.d.ts +5 -0
  116. package/dist/catalog/components/dither-charts/DitherScatterChart.js +151 -0
  117. package/dist/catalog/components/dither-charts/DitherSparklineMatrix.d.ts +5 -0
  118. package/dist/catalog/components/dither-charts/DitherSparklineMatrix.js +89 -0
  119. package/dist/catalog/components/dither-charts/DitherStackedChart.d.ts +7 -0
  120. package/dist/catalog/components/dither-charts/DitherStackedChart.js +8 -0
  121. package/dist/catalog/components/dither-charts/MembersGrowthChart.d.ts +2 -0
  122. package/dist/catalog/components/dither-charts/MembersGrowthChart.js +8 -0
  123. package/dist/catalog/components/dither-charts/PaymentsChart.d.ts +2 -0
  124. package/dist/catalog/components/dither-charts/PaymentsChart.js +8 -0
  125. package/dist/catalog/components/dither-charts/RevenueLineChart.d.ts +5 -0
  126. package/dist/catalog/components/dither-charts/RevenueLineChart.js +8 -0
  127. package/dist/catalog/components/dither-charts/ServerGauge.d.ts +5 -0
  128. package/dist/catalog/components/dither-charts/ServerGauge.js +8 -0
  129. package/dist/catalog/components/dither-charts/SimpleCompExtracted.d.ts +6 -0
  130. package/dist/catalog/components/dither-charts/SimpleCompExtracted.js +423 -0
  131. package/dist/catalog/components/dither-charts/StorageUsageChart.d.ts +5 -0
  132. package/dist/catalog/components/dither-charts/StorageUsageChart.js +8 -0
  133. package/dist/catalog/components/dither-charts/TrafficBubble.d.ts +5 -0
  134. package/dist/catalog/components/dither-charts/TrafficBubble.js +8 -0
  135. package/dist/catalog/components/dither-charts/UptimeChart.d.ts +5 -0
  136. package/dist/catalog/components/dither-charts/UptimeChart.js +8 -0
  137. package/dist/catalog/components/dither-charts/lib/ditherPatterns.d.ts +7 -0
  138. package/dist/catalog/components/dither-charts/lib/ditherPatterns.js +107 -0
  139. package/dist/catalog/components/dither-charts/lib/recharts-legend.d.ts +8 -0
  140. package/dist/catalog/components/dither-charts/lib/recharts-legend.js +40 -0
  141. package/dist/catalog/components/dither-charts/lib/recharts-tooltip.d.ts +10 -0
  142. package/dist/catalog/components/dither-charts/lib/recharts-tooltip.js +7 -0
  143. package/dist/catalog/components/dither-charts/lib/utils.d.ts +3 -0
  144. package/dist/catalog/components/dither-charts/lib/utils.js +7 -0
  145. package/dist/catalog/components/forms/AnimatedFormElement.d.ts +8 -0
  146. package/dist/catalog/components/forms/AnimatedFormElement.js +412 -0
  147. package/dist/catalog/components/metrics/AnimatedMetricCard.d.ts +8 -0
  148. package/dist/catalog/components/metrics/AnimatedMetricCard.js +1049 -0
  149. package/dist/catalog/components/metrics/Budget.d.ts +1 -0
  150. package/dist/catalog/components/metrics/Budget.js +35 -0
  151. package/dist/catalog/components/metrics/CacheStatsCard.d.ts +1 -0
  152. package/dist/catalog/components/metrics/CacheStatsCard.js +88 -0
  153. package/dist/catalog/components/metrics/CourseProgressCard.d.ts +1 -0
  154. package/dist/catalog/components/metrics/CourseProgressCard.js +86 -0
  155. package/dist/catalog/components/metrics/CreditScoreCards.d.ts +1 -0
  156. package/dist/catalog/components/metrics/CreditScoreCards.js +139 -0
  157. package/dist/catalog/components/metrics/FeedbackCard.d.ts +1 -0
  158. package/dist/catalog/components/metrics/FeedbackCard.js +59 -0
  159. package/dist/catalog/components/metrics/FinanceDashboard.d.ts +1 -0
  160. package/dist/catalog/components/metrics/FinanceDashboard.js +164 -0
  161. package/dist/catalog/components/metrics/Growth.d.ts +1 -0
  162. package/dist/catalog/components/metrics/Growth.js +40 -0
  163. package/dist/catalog/components/metrics/GrowthCalendar.d.ts +1 -0
  164. package/dist/catalog/components/metrics/GrowthCalendar.js +87 -0
  165. package/dist/catalog/components/metrics/HealthCards.d.ts +1 -0
  166. package/dist/catalog/components/metrics/HealthCards.js +244 -0
  167. package/dist/catalog/components/metrics/MarketingCards.d.ts +1 -0
  168. package/dist/catalog/components/metrics/MarketingCards.js +70 -0
  169. package/dist/catalog/components/metrics/NetworkTelemetry.d.ts +1 -0
  170. package/dist/catalog/components/metrics/NetworkTelemetry.js +198 -0
  171. package/dist/catalog/components/metrics/NoiseCards.d.ts +1 -0
  172. package/dist/catalog/components/metrics/NoiseCards.js +61 -0
  173. package/dist/catalog/components/metrics/OverviewChart.d.ts +1 -0
  174. package/dist/catalog/components/metrics/OverviewChart.js +69 -0
  175. package/dist/catalog/components/metrics/ProgressIndicator.d.ts +1 -0
  176. package/dist/catalog/components/metrics/ProgressIndicator.js +35 -0
  177. package/dist/catalog/components/metrics/PromptsCard.d.ts +1 -0
  178. package/dist/catalog/components/metrics/PromptsCard.js +29 -0
  179. package/dist/catalog/components/metrics/RealTimeAlerts.d.ts +1 -0
  180. package/dist/catalog/components/metrics/RealTimeAlerts.js +64 -0
  181. package/dist/catalog/components/metrics/RunningStatsCard.d.ts +1 -0
  182. package/dist/catalog/components/metrics/RunningStatsCard.js +41 -0
  183. package/dist/catalog/components/metrics/SalesDashboard.d.ts +1 -0
  184. package/dist/catalog/components/metrics/SalesDashboard.js +156 -0
  185. package/dist/catalog/components/metrics/SalesOverview.d.ts +1 -0
  186. package/dist/catalog/components/metrics/SalesOverview.js +71 -0
  187. package/dist/catalog/components/metrics/SavingsCards.d.ts +1 -0
  188. package/dist/catalog/components/metrics/SavingsCards.js +118 -0
  189. package/dist/catalog/components/metrics/ServerPerformance.d.ts +1 -0
  190. package/dist/catalog/components/metrics/ServerPerformance.js +26 -0
  191. package/dist/catalog/components/metrics/StatusCards.d.ts +1 -0
  192. package/dist/catalog/components/metrics/StatusCards.js +165 -0
  193. package/dist/catalog/components/metrics/StockChartCard.d.ts +1 -0
  194. package/dist/catalog/components/metrics/StockChartCard.js +122 -0
  195. package/dist/catalog/components/metrics/SystemMetricsCard.d.ts +1 -0
  196. package/dist/catalog/components/metrics/SystemMetricsCard.js +129 -0
  197. package/dist/catalog/components/metrics/TimerCard.d.ts +1 -0
  198. package/dist/catalog/components/metrics/TimerCard.js +35 -0
  199. package/dist/catalog/components/metrics/UserMetrics.d.ts +1 -0
  200. package/dist/catalog/components/metrics/UserMetrics.js +128 -0
  201. package/dist/catalog/components/metrics/UsersChartCard.d.ts +1 -0
  202. package/dist/catalog/components/metrics/UsersChartCard.js +111 -0
  203. package/dist/catalog/components/metrics/VisitorsChartCard.d.ts +1 -0
  204. package/dist/catalog/components/metrics/VisitorsChartCard.js +178 -0
  205. package/dist/catalog/components/mono-charts/GitHubActivity.d.ts +30 -0
  206. package/dist/catalog/components/mono-charts/GitHubActivity.js +547 -0
  207. package/dist/catalog/components/mono-charts/MonoActivityHeatmap.d.ts +14 -0
  208. package/dist/catalog/components/mono-charts/MonoActivityHeatmap.js +170 -0
  209. package/dist/catalog/components/mono-charts/MonoRoundedAreaChart.d.ts +7 -0
  210. package/dist/catalog/components/mono-charts/MonoRoundedAreaChart.js +107 -0
  211. package/dist/catalog/components/mono-charts/MonoRoundedBarChart.d.ts +7 -0
  212. package/dist/catalog/components/mono-charts/MonoRoundedBarChart.js +121 -0
  213. package/dist/catalog/components/mono-charts/MonoRoundedBubbleChart.d.ts +7 -0
  214. package/dist/catalog/components/mono-charts/MonoRoundedBubbleChart.js +67 -0
  215. package/dist/catalog/components/mono-charts/MonoRoundedBulletChart.d.ts +7 -0
  216. package/dist/catalog/components/mono-charts/MonoRoundedBulletChart.js +64 -0
  217. package/dist/catalog/components/mono-charts/MonoRoundedCandlestickChart.d.ts +7 -0
  218. package/dist/catalog/components/mono-charts/MonoRoundedCandlestickChart.js +76 -0
  219. package/dist/catalog/components/mono-charts/MonoRoundedComposedChart.d.ts +7 -0
  220. package/dist/catalog/components/mono-charts/MonoRoundedComposedChart.js +117 -0
  221. package/dist/catalog/components/mono-charts/MonoRoundedDonutChart.d.ts +7 -0
  222. package/dist/catalog/components/mono-charts/MonoRoundedDonutChart.js +97 -0
  223. package/dist/catalog/components/mono-charts/MonoRoundedFunnelChart.d.ts +7 -0
  224. package/dist/catalog/components/mono-charts/MonoRoundedFunnelChart.js +65 -0
  225. package/dist/catalog/components/mono-charts/MonoRoundedGaugeArc.d.ts +7 -0
  226. package/dist/catalog/components/mono-charts/MonoRoundedGaugeArc.js +64 -0
  227. package/dist/catalog/components/mono-charts/MonoRoundedHeatmapChart.d.ts +7 -0
  228. package/dist/catalog/components/mono-charts/MonoRoundedHeatmapChart.js +56 -0
  229. package/dist/catalog/components/mono-charts/MonoRoundedKpiCardChart.d.ts +7 -0
  230. package/dist/catalog/components/mono-charts/MonoRoundedKpiCardChart.js +61 -0
  231. package/dist/catalog/components/mono-charts/MonoRoundedLineChart.d.ts +7 -0
  232. package/dist/catalog/components/mono-charts/MonoRoundedLineChart.js +142 -0
  233. package/dist/catalog/components/mono-charts/MonoRoundedMeterChart.d.ts +7 -0
  234. package/dist/catalog/components/mono-charts/MonoRoundedMeterChart.js +68 -0
  235. package/dist/catalog/components/mono-charts/MonoRoundedPolarChart.d.ts +7 -0
  236. package/dist/catalog/components/mono-charts/MonoRoundedPolarChart.js +67 -0
  237. package/dist/catalog/components/mono-charts/MonoRoundedPyramidChart.d.ts +7 -0
  238. package/dist/catalog/components/mono-charts/MonoRoundedPyramidChart.js +52 -0
  239. package/dist/catalog/components/mono-charts/MonoRoundedRadarChart.d.ts +7 -0
  240. package/dist/catalog/components/mono-charts/MonoRoundedRadarChart.js +70 -0
  241. package/dist/catalog/components/mono-charts/MonoRoundedRadialBarGroup.d.ts +7 -0
  242. package/dist/catalog/components/mono-charts/MonoRoundedRadialBarGroup.js +69 -0
  243. package/dist/catalog/components/mono-charts/MonoRoundedRadialGaugeChart.d.ts +7 -0
  244. package/dist/catalog/components/mono-charts/MonoRoundedRadialGaugeChart.js +68 -0
  245. package/dist/catalog/components/mono-charts/MonoRoundedRangeChart.d.ts +7 -0
  246. package/dist/catalog/components/mono-charts/MonoRoundedRangeChart.js +77 -0
  247. package/dist/catalog/components/mono-charts/MonoRoundedSankeyChart.d.ts +7 -0
  248. package/dist/catalog/components/mono-charts/MonoRoundedSankeyChart.js +66 -0
  249. package/dist/catalog/components/mono-charts/MonoRoundedScatterChart.d.ts +7 -0
  250. package/dist/catalog/components/mono-charts/MonoRoundedScatterChart.js +82 -0
  251. package/dist/catalog/components/mono-charts/MonoRoundedSparklineChart.d.ts +7 -0
  252. package/dist/catalog/components/mono-charts/MonoRoundedSparklineChart.js +73 -0
  253. package/dist/catalog/components/mono-charts/MonoRoundedStackedBarChart.d.ts +7 -0
  254. package/dist/catalog/components/mono-charts/MonoRoundedStackedBarChart.js +63 -0
  255. package/dist/catalog/components/mono-charts/MonoRoundedStepChart.d.ts +7 -0
  256. package/dist/catalog/components/mono-charts/MonoRoundedStepChart.js +72 -0
  257. package/dist/catalog/components/mono-charts/MonoRoundedStreamChart.d.ts +7 -0
  258. package/dist/catalog/components/mono-charts/MonoRoundedStreamChart.js +98 -0
  259. package/dist/catalog/components/mono-charts/MonoRoundedTreemapChart.d.ts +7 -0
  260. package/dist/catalog/components/mono-charts/MonoRoundedTreemapChart.js +56 -0
  261. package/dist/catalog/components/mono-charts/MonoRoundedWaterfallChart.d.ts +7 -0
  262. package/dist/catalog/components/mono-charts/MonoRoundedWaterfallChart.js +67 -0
  263. package/dist/catalog/components/simple-comp/ActivityHeatmap.d.ts +5 -0
  264. package/dist/catalog/components/simple-comp/ActivityHeatmap.js +7 -0
  265. package/dist/catalog/components/simple-comp/ChartCard.d.ts +2 -0
  266. package/dist/catalog/components/simple-comp/ChartCard.js +8 -0
  267. package/dist/catalog/components/simple-comp/DeviceUsageChart.d.ts +5 -0
  268. package/dist/catalog/components/simple-comp/DeviceUsageChart.js +7 -0
  269. package/dist/catalog/components/simple-comp/DitherBarChart.d.ts +5 -0
  270. package/dist/catalog/components/simple-comp/DitherBarChart.js +148 -0
  271. package/dist/catalog/components/simple-comp/DitherBook.d.ts +23 -0
  272. package/dist/catalog/components/simple-comp/DitherBook.js +352 -0
  273. package/dist/catalog/components/simple-comp/DitherChartsGrid.d.ts +9 -0
  274. package/dist/catalog/components/simple-comp/DitherChartsGrid.js +107 -0
  275. package/dist/catalog/components/simple-comp/DitherDonutChart.d.ts +7 -0
  276. package/dist/catalog/components/simple-comp/DitherDonutChart.js +7 -0
  277. package/dist/catalog/components/simple-comp/DitherFunnelChart.d.ts +5 -0
  278. package/dist/catalog/components/simple-comp/DitherFunnelChart.js +7 -0
  279. package/dist/catalog/components/simple-comp/DitherGrowthChart.d.ts +7 -0
  280. package/dist/catalog/components/simple-comp/DitherGrowthChart.js +7 -0
  281. package/dist/catalog/components/simple-comp/DitherHeatmapGrid.d.ts +5 -0
  282. package/dist/catalog/components/simple-comp/DitherHeatmapGrid.js +115 -0
  283. package/dist/catalog/components/simple-comp/DitherRadialChart.d.ts +5 -0
  284. package/dist/catalog/components/simple-comp/DitherRadialChart.js +114 -0
  285. package/dist/catalog/components/simple-comp/DitherScatterChart.d.ts +5 -0
  286. package/dist/catalog/components/simple-comp/DitherScatterChart.js +151 -0
  287. package/dist/catalog/components/simple-comp/DitherSparklineMatrix.d.ts +5 -0
  288. package/dist/catalog/components/simple-comp/DitherSparklineMatrix.js +89 -0
  289. package/dist/catalog/components/simple-comp/DitherStackedChart.d.ts +7 -0
  290. package/dist/catalog/components/simple-comp/DitherStackedChart.js +7 -0
  291. package/dist/catalog/components/simple-comp/MembersGrowthChart.d.ts +2 -0
  292. package/dist/catalog/components/simple-comp/MembersGrowthChart.js +8 -0
  293. package/dist/catalog/components/simple-comp/PaymentsChart.d.ts +2 -0
  294. package/dist/catalog/components/simple-comp/PaymentsChart.js +8 -0
  295. package/dist/catalog/components/simple-comp/RevenueLineChart.d.ts +5 -0
  296. package/dist/catalog/components/simple-comp/RevenueLineChart.js +7 -0
  297. package/dist/catalog/components/simple-comp/ServerGauge.d.ts +5 -0
  298. package/dist/catalog/components/simple-comp/ServerGauge.js +7 -0
  299. package/dist/catalog/components/simple-comp/SimpleCompExtracted.d.ts +6 -0
  300. package/dist/catalog/components/simple-comp/SimpleCompExtracted.js +423 -0
  301. package/dist/catalog/components/simple-comp/StorageUsageChart.d.ts +5 -0
  302. package/dist/catalog/components/simple-comp/StorageUsageChart.js +7 -0
  303. package/dist/catalog/components/simple-comp/TrafficBubble.d.ts +5 -0
  304. package/dist/catalog/components/simple-comp/TrafficBubble.js +7 -0
  305. package/dist/catalog/components/simple-comp/UptimeChart.d.ts +5 -0
  306. package/dist/catalog/components/simple-comp/UptimeChart.js +7 -0
  307. package/dist/catalog/components/simple-comp/lib/utils.d.ts +3 -0
  308. package/dist/catalog/components/simple-comp/lib/utils.js +7 -0
  309. package/dist/catalog/components/text/AnimatedText.d.ts +8 -0
  310. package/dist/catalog/components/text/AnimatedText.js +554 -0
  311. package/dist/catalog/components/toggles/AnimatedToggle.d.ts +8 -0
  312. package/dist/catalog/components/toggles/AnimatedToggle.js +243 -0
  313. package/dist/catalog/data/buttons.d.ts +14 -0
  314. package/dist/catalog/data/buttons.js +94 -0
  315. package/dist/catalog/data/ditherCharts.d.ts +12 -0
  316. package/dist/catalog/data/ditherCharts.js +11 -0
  317. package/dist/catalog/data/formElements.d.ts +9 -0
  318. package/dist/catalog/data/formElements.js +117 -0
  319. package/dist/catalog/data/installCommand.d.ts +3 -0
  320. package/dist/catalog/data/installCommand.js +10 -0
  321. package/dist/catalog/data/metrics.d.ts +10 -0
  322. package/dist/catalog/data/metrics.js +136 -0
  323. package/dist/catalog/data/supportedRegistryIds.d.ts +1 -0
  324. package/dist/catalog/data/supportedRegistryIds.js +7 -0
  325. package/dist/catalog/data/textAnimations.d.ts +10 -0
  326. package/dist/catalog/data/textAnimations.js +65 -0
  327. package/dist/catalog/data/toggles.d.ts +9 -0
  328. package/dist/catalog/data/toggles.js +96 -0
  329. package/dist/catalog/data/transitions.d.ts +11 -0
  330. package/dist/catalog/data/transitions.js +198 -0
  331. package/dist/catalog/hooks/useCanvasSetup.d.ts +25 -0
  332. package/dist/catalog/hooks/useCanvasSetup.js +7 -0
  333. package/dist/catalog/hooks/useIsMobile.d.ts +5 -0
  334. package/dist/catalog/hooks/useIsMobile.js +7 -0
  335. package/dist/catalog/hooks/useLoopFlg.d.ts +1 -0
  336. package/dist/catalog/hooks/useLoopFlg.js +7 -0
  337. package/dist/catalog/hooks/useWebHaptics.d.ts +4 -0
  338. package/dist/catalog/hooks/useWebHaptics.js +7 -0
  339. package/dist/catalog/utils/cn.d.ts +1 -0
  340. package/dist/catalog/utils/cn.js +7 -0
  341. package/dist/catalog-chunks/chunk-3QX6CASP.js +93 -0
  342. package/dist/catalog-chunks/chunk-3TYA5TCG.js +34 -0
  343. package/dist/catalog-chunks/chunk-4M7HZE4Z.js +107 -0
  344. package/dist/catalog-chunks/chunk-62CFYJEA.js +141 -0
  345. package/dist/catalog-chunks/chunk-7GU353UA.js +261 -0
  346. package/dist/catalog-chunks/chunk-7XF4PVBJ.js +85 -0
  347. package/dist/catalog-chunks/chunk-AJLUWL56.js +99 -0
  348. package/dist/catalog-chunks/chunk-B64DVBSK.js +105 -0
  349. package/dist/catalog-chunks/chunk-BSR45QIS.js +349 -0
  350. package/dist/catalog-chunks/chunk-E2GLS5WF.js +325 -0
  351. package/dist/catalog-chunks/chunk-EC4R54F3.js +35 -0
  352. package/dist/catalog-chunks/chunk-F47LIDB6.js +19 -0
  353. package/dist/catalog-chunks/chunk-FXF53HPE.js +476 -0
  354. package/dist/catalog-chunks/chunk-GDCQNKP7.js +45 -0
  355. package/dist/catalog-chunks/chunk-I4BVACNZ.js +349 -0
  356. package/dist/catalog-chunks/chunk-I5MYV6VF.js +248 -0
  357. package/dist/catalog-chunks/chunk-JSEX6PVP.js +84 -0
  358. package/dist/catalog-chunks/chunk-KN7YEZTH.js +294 -0
  359. package/dist/catalog-chunks/chunk-KRXJK3FG.js +19 -0
  360. package/dist/catalog-chunks/chunk-KTP5OAIN.js +17 -0
  361. package/dist/catalog-chunks/chunk-KYYXENHF.js +105 -0
  362. package/dist/catalog-chunks/chunk-M2O2SNWE.js +132 -0
  363. package/dist/catalog-chunks/chunk-NITEDAMY.js +325 -0
  364. package/dist/catalog-chunks/chunk-OTFAZXKB.js +8 -0
  365. package/dist/catalog-chunks/chunk-OVOLUMYF.js +452 -0
  366. package/dist/catalog-chunks/chunk-OWYADZUR.js +156 -0
  367. package/dist/catalog-chunks/chunk-PD47DK6W.js +100 -0
  368. package/dist/catalog-chunks/chunk-QITBAUBH.js +101 -0
  369. package/dist/catalog-chunks/chunk-QXWREUPI.js +56 -0
  370. package/dist/catalog-chunks/chunk-RKATUMDL.js +244 -0
  371. package/dist/catalog-chunks/chunk-S7UYABQK.js +99 -0
  372. package/dist/catalog-chunks/chunk-SIL53FHG.js +169 -0
  373. package/dist/catalog-chunks/chunk-SWPGAN45.js +28 -0
  374. package/dist/catalog-chunks/chunk-VCDBPAAS.js +85 -0
  375. package/dist/catalog-chunks/chunk-VMGI6CMO.js +15 -0
  376. package/dist/catalog-chunks/chunk-W7ZMAKCC.js +53 -0
  377. package/dist/catalog-chunks/chunk-XDDKOCZ7.js +89 -0
  378. package/dist/catalog-chunks/chunk-YGLQ5K3F.js +452 -0
  379. package/dist/catalog-chunks/chunk-YHU4BQDL.js +292 -0
  380. package/dist/catalog-chunks/chunk-ZCRXHCGS.js +108 -0
  381. package/dist/catalog-chunks/chunk-ZUQZVT7M.js +87 -0
  382. package/dist/catalog-chunks/chunk-ZXDZMNRZ.js +267 -0
  383. package/dist/index.d.ts +27 -0
  384. package/dist/index.js +6237 -879
  385. package/dist/styles.css +1 -1
  386. package/dist/ui/ai/ai-approval-card.d.ts +28 -0
  387. package/dist/ui/ai/ai-code-block.d.ts +33 -0
  388. package/dist/ui/ai/ai-context-meter.d.ts +14 -0
  389. package/dist/ui/ai/ai-fine-tune-card.d.ts +43 -0
  390. package/dist/ui/ai/ai-prompt-bar.d.ts +25 -0
  391. package/dist/ui/ai/ai-sidebar-nav.d.ts +26 -0
  392. package/dist/ui/ai/ai-sources.d.ts +16 -0
  393. package/dist/ui/ai/ai-suggestions.d.ts +12 -0
  394. package/dist/ui/ai/ai-task-list.d.ts +15 -0
  395. package/dist/ui/ai/ai-tool-call.d.ts +13 -0
  396. package/dist/ui/ai/rudder-issue-board.d.ts +21 -0
  397. package/dist/ui/animated-sidebar.d.ts +9 -0
  398. package/dist/ui/hover/inset-button.d.ts +16 -0
  399. package/dist/ui/loading/analyzing-image.d.ts +2 -0
  400. package/dist/ui/loading/border-trail-loading.d.ts +9 -0
  401. package/dist/ui/loading/wandering-eyes.d.ts +10 -0
  402. package/dist/ui/patterns/animated-tags.d.ts +14 -0
  403. package/dist/ui/patterns/expanding-icon-tabs.d.ts +8 -0
  404. package/dist/ui/patterns/gooey-popover.d.ts +24 -0
  405. package/package.json +79 -14
  406. package/registry/1.json +19 -0
  407. package/registry/10.json +19 -0
  408. package/registry/11.json +19 -0
  409. package/registry/12.json +19 -0
  410. package/registry/13.json +19 -0
  411. package/registry/14.json +19 -0
  412. package/registry/15.json +19 -0
  413. package/registry/16.json +19 -0
  414. package/registry/17.json +19 -0
  415. package/registry/18.json +19 -0
  416. package/registry/19.json +19 -0
  417. package/registry/2.json +19 -0
  418. package/registry/20.json +19 -0
  419. package/registry/21.json +19 -0
  420. package/registry/22.json +19 -0
  421. package/registry/23.json +19 -0
  422. package/registry/24.json +19 -0
  423. package/registry/25.json +19 -0
  424. package/registry/26.json +19 -0
  425. package/registry/27.json +19 -0
  426. package/registry/28.json +19 -0
  427. package/registry/29.json +19 -0
  428. package/registry/3.json +19 -0
  429. package/registry/30.json +19 -0
  430. package/registry/31.json +19 -0
  431. package/registry/32.json +19 -0
  432. package/registry/33.json +19 -0
  433. package/registry/34.json +19 -0
  434. package/registry/35.json +19 -0
  435. package/registry/36.json +16 -0
  436. package/registry/37.json +16 -0
  437. package/registry/4.json +19 -0
  438. package/registry/5.json +19 -0
  439. package/registry/6.json +19 -0
  440. package/registry/7.json +19 -0
  441. package/registry/8.json +19 -0
  442. package/registry/9.json +19 -0
  443. package/registry/LICENSE.third-party +542 -0
  444. package/registry/ab-segmented-tabs.json +18 -0
  445. package/registry/accordion-blind.json +15 -0
  446. package/registry/accordion-loader.json +9 -0
  447. package/registry/ai-approval-card.json +17 -0
  448. package/registry/ai-code-block.json +19 -0
  449. package/registry/ai-context-meter.json +19 -0
  450. package/registry/ai-fine-tune-card.json +19 -0
  451. package/registry/ai-prompt-bar.json +17 -0
  452. package/registry/ai-sidebar-nav.json +17 -0
  453. package/registry/ai-sources.json +20 -0
  454. package/registry/ai-suggestions.json +19 -0
  455. package/registry/ai-task-list.json +20 -0
  456. package/registry/ai-tool-call.json +20 -0
  457. package/registry/analyzing-image.json +17 -0
  458. package/registry/animated-sidebar.json +19 -0
  459. package/registry/animated-tags.json +19 -0
  460. package/registry/app-icon-load.json +9 -0
  461. package/registry/apple-breathe.json +9 -0
  462. package/registry/apple-equalizer.json +9 -0
  463. package/registry/apple-icon-morph.json +9 -0
  464. package/registry/apple-pulse-dots.json +9 -0
  465. package/registry/apple-scale-pulse.json +9 -0
  466. package/registry/apple-sound-wave.json +9 -0
  467. package/registry/apple-text-reveal.json +9 -0
  468. package/registry/apple-unlock.json +9 -0
  469. package/registry/arc-tracer.json +9 -0
  470. package/registry/bar-cascade.json +9 -0
  471. package/registry/bar-sweep.json +9 -0
  472. package/registry/blur-text.json +9 -0
  473. package/registry/blur-up-char.json +19 -0
  474. package/registry/blur-up-word.json +19 -0
  475. package/registry/bobbing-dots.json +9 -0
  476. package/registry/bookmark-corner-peel.json +15 -0
  477. package/registry/bookmark-save-pill.json +18 -0
  478. package/registry/bookmark-toggle.json +19 -0
  479. package/registry/border-trail-loading.json +17 -0
  480. package/registry/bounce-dots.json +9 -0
  481. package/registry/bounce-in-char.json +19 -0
  482. package/registry/bouncing-bars.json +9 -0
  483. package/registry/bouncing-dots.json +9 -0
  484. package/registry/bouncing-lines.json +9 -0
  485. package/registry/bouncing-square.json +9 -0
  486. package/registry/breathe-ring.json +9 -0
  487. package/registry/breathing-glow.json +9 -0
  488. package/registry/breathing-square.json +9 -0
  489. package/registry/btn-1.json +19 -0
  490. package/registry/btn-10.json +19 -0
  491. package/registry/btn-11.json +19 -0
  492. package/registry/btn-12.json +19 -0
  493. package/registry/btn-13.json +19 -0
  494. package/registry/btn-14.json +19 -0
  495. package/registry/btn-15.json +19 -0
  496. package/registry/btn-16.json +19 -0
  497. package/registry/btn-17.json +19 -0
  498. package/registry/btn-18.json +19 -0
  499. package/registry/btn-19.json +19 -0
  500. package/registry/btn-2.json +19 -0
  501. package/registry/btn-20.json +19 -0
  502. package/registry/btn-21.json +19 -0
  503. package/registry/btn-22.json +19 -0
  504. package/registry/btn-23.json +19 -0
  505. package/registry/btn-24.json +19 -0
  506. package/registry/btn-25.json +19 -0
  507. package/registry/btn-26.json +19 -0
  508. package/registry/btn-27.json +19 -0
  509. package/registry/btn-28.json +19 -0
  510. package/registry/btn-29.json +19 -0
  511. package/registry/btn-3.json +19 -0
  512. package/registry/btn-30.json +19 -0
  513. package/registry/btn-31.json +19 -0
  514. package/registry/btn-32.json +19 -0
  515. package/registry/btn-33.json +19 -0
  516. package/registry/btn-34.json +19 -0
  517. package/registry/btn-35.json +19 -0
  518. package/registry/btn-36.json +16 -0
  519. package/registry/btn-37.json +16 -0
  520. package/registry/btn-4.json +19 -0
  521. package/registry/btn-5.json +19 -0
  522. package/registry/btn-6.json +19 -0
  523. package/registry/btn-7.json +19 -0
  524. package/registry/btn-8.json +19 -0
  525. package/registry/btn-9.json +19 -0
  526. package/registry/button-slide-arrow.json +19 -0
  527. package/registry/cacheable-bandwidth-cost.json +19 -0
  528. package/registry/card-arc-5.json +18 -0
  529. package/registry/card-arc-7.json +18 -0
  530. package/registry/card-carousel-mono.json +19 -0
  531. package/registry/card-carousel.json +19 -0
  532. package/registry/card-cascade-stagger.json +18 -0
  533. package/registry/card-corner-fan.json +18 -0
  534. package/registry/card-cover-flow-mono.json +19 -0
  535. package/registry/card-cover-flow.json +19 -0
  536. package/registry/card-deck-cascade.json +15 -0
  537. package/registry/card-glance-preview.json +18 -0
  538. package/registry/card-hover.json +9 -0
  539. package/registry/card-linear-spread.json +18 -0
  540. package/registry/card-long-arc-5.json +18 -0
  541. package/registry/card-scatter-spread.json +18 -0
  542. package/registry/card-stack-peel.json +15 -0
  543. package/registry/card-stamp-arc.json +18 -0
  544. package/registry/card-time-machine-mono.json +18 -0
  545. package/registry/card-time-machine.json +18 -0
  546. package/registry/card-wheel-fan.json +18 -0
  547. package/registry/category-select.json +18 -0
  548. package/registry/character-stagger.json +9 -0
  549. package/registry/checkbox-draw.json +19 -0
  550. package/registry/checkmark-draw.json +19 -0
  551. package/registry/circle-toggle.json +19 -0
  552. package/registry/circuit-trace-draw.json +15 -0
  553. package/registry/circular-bars.json +9 -0
  554. package/registry/circular-create-button.json +16 -0
  555. package/registry/classic-spinner.json +9 -0
  556. package/registry/classic-toggle.json +9 -0
  557. package/registry/clock-spinner.json +9 -0
  558. package/registry/comet-spinner.json +9 -0
  559. package/registry/compass-needle-deflect.json +15 -0
  560. package/registry/concentric-pulse.json +9 -0
  561. package/registry/concentric-ring.json +9 -0
  562. package/registry/concentric-squares.json +9 -0
  563. package/registry/context-menu.json +18 -0
  564. package/registry/conveyor-loop.json +9 -0
  565. package/registry/credit-score-barcode-meter.json +19 -0
  566. package/registry/cross-spinner.json +9 -0
  567. package/registry/cube-flip-spring.json +9 -0
  568. package/registry/cursor-trail.json +9 -0
  569. package/registry/dash-ring.json +9 -0
  570. package/registry/dashed-spiral.json +9 -0
  571. package/registry/date-position-selector.json +18 -0
  572. package/registry/dia-text-reveal.json +19 -0
  573. package/registry/diamond-grid.json +9 -0
  574. package/registry/diamond-rotate-spring.json +9 -0
  575. package/registry/dislike-toggle.json +19 -0
  576. package/registry/dither-book.json +19 -0
  577. package/registry/domino-cascade.json +15 -0
  578. package/registry/dot-spinner.json +9 -0
  579. package/registry/dots-ring.json +9 -0
  580. package/registry/double-bounce-toggle.json +19 -0
  581. package/registry/double-ring.json +9 -0
  582. package/registry/download-icons.json +18 -0
  583. package/registry/drop-dot.json +9 -0
  584. package/registry/drop-in-char.json +19 -0
  585. package/registry/droplet-squish.json +15 -0
  586. package/registry/dual-arc.json +9 -0
  587. package/registry/dual-magnet-dipole.json +15 -0
  588. package/registry/dynamic-island.json +9 -0
  589. package/registry/elastic-bars.json +9 -0
  590. package/registry/elastic-square.json +9 -0
  591. package/registry/elastic-tag-snap.json +15 -0
  592. package/registry/error-shake.json +19 -0
  593. package/registry/expanding-cross.json +9 -0
  594. package/registry/expanding-icon-tabs.json +17 -0
  595. package/registry/face-id-scan.json +9 -0
  596. package/registry/fade-arc.json +9 -0
  597. package/registry/fade-dots.json +9 -0
  598. package/registry/fade-down.json +9 -0
  599. package/registry/fade-in-char.json +19 -0
  600. package/registry/fade-in-text.json +19 -0
  601. package/registry/fade-in-word.json +19 -0
  602. package/registry/fade-in.json +9 -0
  603. package/registry/fade-up.json +9 -0
  604. package/registry/file-upload-dropzone.json +19 -0
  605. package/registry/filter-tag-pill.json +18 -0
  606. package/registry/flip-square.json +9 -0
  607. package/registry/flip-x-char.json +19 -0
  608. package/registry/flip-y-char.json +19 -0
  609. package/registry/float-char.json +19 -0
  610. package/registry/float-word.json +19 -0
  611. package/registry/floating-diamonds.json +9 -0
  612. package/registry/floating-label-input.json +19 -0
  613. package/registry/fluid-bars.json +9 -0
  614. package/registry/fluid-diamond.json +9 -0
  615. package/registry/fluid-dot-orbit.json +9 -0
  616. package/registry/fluid-skeleton.json +9 -0
  617. package/registry/focus-blur.json +18 -0
  618. package/registry/form-submit-button.json +19 -0
  619. package/registry/french-doors-3d.json +18 -0
  620. package/registry/gear-tooth-step.json +15 -0
  621. package/registry/gears.json +9 -0
  622. package/registry/gelatin-wobble.json +15 -0
  623. package/registry/geometric-iris-shutter.json +15 -0
  624. package/registry/glassmorphic-card.json +9 -0
  625. package/registry/glow-button.json +9 -0
  626. package/registry/glow-text.json +19 -0
  627. package/registry/gooey-popover.json +18 -0
  628. package/registry/gradient-arc.json +9 -0
  629. package/registry/gradient-shimmer.json +18 -0
  630. package/registry/grid-dots.json +9 -0
  631. package/registry/haptic-ring.json +9 -0
  632. package/registry/heartbeat.json +9 -0
  633. package/registry/hex-lattice-draw.json +15 -0
  634. package/registry/hexagon-spinner.json +9 -0
  635. package/registry/hourglass.json +9 -0
  636. package/registry/hover-lift-char.json +19 -0
  637. package/registry/hover-lift-word.json +19 -0
  638. package/registry/hover-link-card.json +18 -0
  639. package/registry/hover-scale-char.json +19 -0
  640. package/registry/hover-scale-word.json +19 -0
  641. package/registry/inertia-skid-stop.json +15 -0
  642. package/registry/infinity-path.json +9 -0
  643. package/registry/input-focus-glow.json +19 -0
  644. package/registry/inset-action-button.json +16 -0
  645. package/registry/inset-button.json +17 -0
  646. package/registry/intersecting-rings.json +9 -0
  647. package/registry/ios-spinner.json +9 -0
  648. package/registry/kinetic-metronome-tick.json +15 -0
  649. package/registry/kinetic-tension-capsule.json +15 -0
  650. package/registry/light-dark-morph.json +18 -0
  651. package/registry/like-toggle.json +19 -0
  652. package/registry/line-spinner.json +9 -0
  653. package/registry/liquid-dots.json +9 -0
  654. package/registry/mac-terminal.json +9 -0
  655. package/registry/magnetic-button.json +9 -0
  656. package/registry/magnetic-disks.json +15 -0
  657. package/registry/magnetic-dots.json +9 -0
  658. package/registry/magnetic-slide-btn.json +18 -0
  659. package/registry/manifest.json +11258 -0
  660. package/registry/matrix-grid-loader.json +15 -0
  661. package/registry/minimal-triangle.json +9 -0
  662. package/registry/modular-tile-snap.json +15 -0
  663. package/registry/mono-activity-blue.json +18 -0
  664. package/registry/mono-activity-green.json +18 -0
  665. package/registry/mono-activity-purple.json +18 -0
  666. package/registry/mono-heatmap.json +19 -0
  667. package/registry/mono-rounded-area.json +18 -0
  668. package/registry/mono-rounded-bar.json +18 -0
  669. package/registry/mono-rounded-bubble.json +18 -0
  670. package/registry/mono-rounded-bullet.json +16 -0
  671. package/registry/mono-rounded-candlestick.json +16 -0
  672. package/registry/mono-rounded-composed.json +18 -0
  673. package/registry/mono-rounded-donut.json +18 -0
  674. package/registry/mono-rounded-funnel.json +18 -0
  675. package/registry/mono-rounded-gauge-arc.json +18 -0
  676. package/registry/mono-rounded-heatmap.json +16 -0
  677. package/registry/mono-rounded-kpi.json +18 -0
  678. package/registry/mono-rounded-line.json +18 -0
  679. package/registry/mono-rounded-meter.json +18 -0
  680. package/registry/mono-rounded-polar.json +18 -0
  681. package/registry/mono-rounded-pyramid.json +16 -0
  682. package/registry/mono-rounded-radar.json +18 -0
  683. package/registry/mono-rounded-radial-gauge.json +18 -0
  684. package/registry/mono-rounded-radial-group.json +18 -0
  685. package/registry/mono-rounded-range.json +18 -0
  686. package/registry/mono-rounded-sankey.json +16 -0
  687. package/registry/mono-rounded-scatter.json +18 -0
  688. package/registry/mono-rounded-sparkline.json +18 -0
  689. package/registry/mono-rounded-stacked-bar.json +18 -0
  690. package/registry/mono-rounded-step.json +18 -0
  691. package/registry/mono-rounded-stream.json +18 -0
  692. package/registry/mono-rounded-treemap.json +16 -0
  693. package/registry/mono-rounded-waterfall.json +18 -0
  694. package/registry/mono-stock.json +19 -0
  695. package/registry/morph-action-pill.json +18 -0
  696. package/registry/morph-dot-ring.json +9 -0
  697. package/registry/morph-loader.json +9 -0
  698. package/registry/morph-toggle.json +19 -0
  699. package/registry/morphing-bars.json +9 -0
  700. package/registry/morphing-infinity.json +9 -0
  701. package/registry/morphing-ring.json +9 -0
  702. package/registry/morphing-shape.json +9 -0
  703. package/registry/mouse-follow.json +9 -0
  704. package/registry/multi-select-chips.json +19 -0
  705. package/registry/multi-tab-bar.json +18 -0
  706. package/registry/neon-sign-draw.json +15 -0
  707. package/registry/nested-orbital-gimbal.json +15 -0
  708. package/registry/network-telemetry-matrix.json +19 -0
  709. package/registry/newtons-cradle.json +9 -0
  710. package/registry/noise-decibel-level.json +19 -0
  711. package/registry/obsidian-liquid-wave.json +16 -0
  712. package/registry/offset-rings.json +9 -0
  713. package/registry/orbiting-circles.json +9 -0
  714. package/registry/orbiting-dot.json +9 -0
  715. package/registry/origami-envelope-unfold.json +15 -0
  716. package/registry/origami-shape.json +9 -0
  717. package/registry/otp-input.json +19 -0
  718. package/registry/overview-bar-scrubber-card.json +19 -0
  719. package/registry/page-transition.json +11 -0
  720. package/registry/page-turn-curl.json +15 -0
  721. package/registry/password-toggle.json +19 -0
  722. package/registry/pendulum-bubble-level.json +15 -0
  723. package/registry/pendulum.json +9 -0
  724. package/registry/perspective-flip-stage.json +18 -0
  725. package/registry/perspective-flip.json +18 -0
  726. package/registry/perspective-layout-switcher.json +18 -0
  727. package/registry/physics-dock.json +17 -0
  728. package/registry/pill-tabs.json +19 -0
  729. package/registry/plus-minus-toggle.json +18 -0
  730. package/registry/presets.json +9 -0
  731. package/registry/prism-block-stack.json +15 -0
  732. package/registry/progress-indicator-piano.json +19 -0
  733. package/registry/progress-indicator.json +9 -0
  734. package/registry/progress-stepper.json +18 -0
  735. package/registry/pulsating-dots.json +9 -0
  736. package/registry/pulse-char.json +19 -0
  737. package/registry/pulse-dot.json +9 -0
  738. package/registry/pulse-dots.json +9 -0
  739. package/registry/pulse-square.json +9 -0
  740. package/registry/pulse-word.json +19 -0
  741. package/registry/pulse.json +9 -0
  742. package/registry/pumping-heart.json +9 -0
  743. package/registry/pyramid-block-build.json +15 -0
  744. package/registry/radar-sweep.json +9 -0
  745. package/registry/radial-iris-mask.json +18 -0
  746. package/registry/radial-spinner.json +15 -0
  747. package/registry/radio-scale.json +19 -0
  748. package/registry/range-slider.json +19 -0
  749. package/registry/receipt-tape-print.json +15 -0
  750. package/registry/rectangle-toggle.json +19 -0
  751. package/registry/repost-toggle.json +19 -0
  752. package/registry/reveal-text.json +19 -0
  753. package/registry/ribbon-banner-slide.json +15 -0
  754. package/registry/ring-sweep.json +9 -0
  755. package/registry/ripple-effect.json +9 -0
  756. package/registry/rise-up-word.json +19 -0
  757. package/registry/roller-blind-drop.json +15 -0
  758. package/registry/rolling-tumble.json +15 -0
  759. package/registry/rotate-in-char.json +19 -0
  760. package/registry/rotating-cross.json +9 -0
  761. package/registry/rotating-louvers.json +15 -0
  762. package/registry/rotating-triangle.json +9 -0
  763. package/registry/rudder-issue-board.json +24 -0
  764. package/registry/sales-analytics-dual-bars.json +19 -0
  765. package/registry/sales-overview-radial-dashboard.json +19 -0
  766. package/registry/sales-target-segmented-arc.json +19 -0
  767. package/registry/scale-in-char.json +19 -0
  768. package/registry/scale-in-text.json +19 -0
  769. package/registry/scale-in-word.json +19 -0
  770. package/registry/scale-in.json +9 -0
  771. package/registry/scramble-text.json +18 -0
  772. package/registry/scroll-canvas-unroll.json +15 -0
  773. package/registry/scroll-reveal.json +9 -0
  774. package/registry/search-expand.json +19 -0
  775. package/registry/segmented-arc-meter.json +18 -0
  776. package/registry/segmented-link-stretch.json +15 -0
  777. package/registry/segmented-step-bar.json +18 -0
  778. package/registry/segmented-stepper-dots.json +18 -0
  779. package/registry/select-dropdown.json +19 -0
  780. package/registry/server-performance-step-bars.json +19 -0
  781. package/registry/shape-shift-grid.json +9 -0
  782. package/registry/shimmer-line.json +9 -0
  783. package/registry/shimmer-text.json +19 -0
  784. package/registry/shutter-slide.json +15 -0
  785. package/registry/shutter-step-slices.json +15 -0
  786. package/registry/siri-wave.json +9 -0
  787. package/registry/skeleton-loader.json +9 -0
  788. package/registry/skeleton.json +9 -0
  789. package/registry/skew-x-char.json +19 -0
  790. package/registry/slide-down-char.json +19 -0
  791. package/registry/slide-down-word.json +19 -0
  792. package/registry/slide-left-char.json +19 -0
  793. package/registry/slide-left.json +9 -0
  794. package/registry/slide-right-char.json +19 -0
  795. package/registry/slide-right.json +9 -0
  796. package/registry/slide-up-char.json +19 -0
  797. package/registry/slide-up-text.json +19 -0
  798. package/registry/slide-up-word.json +19 -0
  799. package/registry/sliding-bars.json +9 -0
  800. package/registry/slinky-coil.json +15 -0
  801. package/registry/smart-card-dispenser.json +15 -0
  802. package/registry/smooth-dot-shift.json +9 -0
  803. package/registry/smooth-ring.json +9 -0
  804. package/registry/smooth-rounded-square.json +9 -0
  805. package/registry/solid-switch.json +19 -0
  806. package/registry/spatial-door-portal.json +18 -0
  807. package/registry/spinning-squares.json +9 -0
  808. package/registry/spiral-spinner.json +9 -0
  809. package/registry/split-gate-reveal.json +15 -0
  810. package/registry/spotlight.json +9 -0
  811. package/registry/spring-bars.json +9 -0
  812. package/registry/spring-dot-matrix.json +9 -0
  813. package/registry/spring-hexagon.json +9 -0
  814. package/registry/spring-ring-expand.json +9 -0
  815. package/registry/spring-text-pop.json +9 -0
  816. package/registry/spring-text.json +19 -0
  817. package/registry/square-accordion.json +9 -0
  818. package/registry/square-grid.json +9 -0
  819. package/registry/square-snake.json +9 -0
  820. package/registry/square-spinner.json +9 -0
  821. package/registry/squash-sphere.json +15 -0
  822. package/registry/stacked-bar-pulse.json +9 -0
  823. package/registry/stagger-text.json +19 -0
  824. package/registry/staggered-glass-curtain.json +18 -0
  825. package/registry/sticky-note-peel.json +15 -0
  826. package/registry/sticky-reveal.json +9 -0
  827. package/registry/stretch-x-char.json +19 -0
  828. package/registry/stretch-y-char.json +19 -0
  829. package/registry/stroke-waveform.json +15 -0
  830. package/registry/submenu-flyout.json +18 -0
  831. package/registry/success-check.json +19 -0
  832. package/registry/sudden-brake.json +15 -0
  833. package/registry/swapping-dots.json +9 -0
  834. package/registry/swing-word.json +19 -0
  835. package/registry/swirling-spinner.json +9 -0
  836. package/registry/symmetric-wave.json +9 -0
  837. package/registry/terminal-loader.json +9 -0
  838. package/registry/text-blink.json +9 -0
  839. package/registry/text-dots.json +9 -0
  840. package/registry/text-morph.json +9 -0
  841. package/registry/text-reveal.json +9 -0
  842. package/registry/text-shimmer-wave.json +9 -0
  843. package/registry/text-shimmer.json +9 -0
  844. package/registry/textarea-auto-grow.json +19 -0
  845. package/registry/theme-toggle.json +19 -0
  846. package/registry/tilt-card.json +9 -0
  847. package/registry/timer-preparation-segmented.json +19 -0
  848. package/registry/tracking-in-text.json +19 -0
  849. package/registry/tracking-out-text.json +19 -0
  850. package/registry/trailing-dots.json +9 -0
  851. package/registry/triple-dot-spinner.json +9 -0
  852. package/registry/twin-orbit.json +9 -0
  853. package/registry/typewriter-text.json +18 -0
  854. package/registry/typing-indicator.json +9 -0
  855. package/registry/typing.json +9 -0
  856. package/registry/use-mouse-position.json +10 -0
  857. package/registry/use-reduced-motion.json +9 -0
  858. package/registry/use-scroll-progress.json +9 -0
  859. package/registry/use-stagger.json +9 -0
  860. package/registry/use-web-haptics.json +10 -0
  861. package/registry/users-growth-pill-progress.json +19 -0
  862. package/registry/utils.json +10 -0
  863. package/registry/vertical-wheel-counter.json +18 -0
  864. package/registry/views-hourly-wave-chart.json +19 -0
  865. package/registry/wandering-cube.json +9 -0
  866. package/registry/wandering-eyes.json +15 -0
  867. package/registry/watch-spinner.json +9 -0
  868. package/registry/wave-dots.json +9 -0
  869. package/registry/wave-physics-loader.json +9 -0
  870. package/registry/wave-reveal.json +18 -0
  871. package/registry/waveform-loader.json +9 -0
  872. package/registry/word-reveal.json +9 -0
  873. package/registry/zig-zag-pulse.json +9 -0
  874. package/registry/zoom-in-text.json +19 -0
  875. package/registry/zoom-in.json +9 -0
  876. package/registry/zoom-out-text.json +19 -0
@@ -0,0 +1,18 @@
1
+ {
2
+ "id": "plus-minus-toggle",
3
+ "tier": "free",
4
+ "version": "0.4.1",
5
+ "file": "plus-minus-toggle.tsx",
6
+ "sourcePath": "components/css-animations/yui-components/YuiUiKit1.tsx",
7
+ "registryFile": "plus-minus-toggle.json",
8
+ "exports": [
9
+ "default"
10
+ ],
11
+ "dependencies": [
12
+ "framer-motion",
13
+ "lucide-react"
14
+ ],
15
+ "license": "MIT",
16
+ "previewMode": "client",
17
+ "content": "// @ts-nocheck -- Generated JavaScript bundle; edit the maintained catalog source to retain TypeScript types.\n\"use client\";\n\"use client\";\n\n// catalog/components/css-animations/yui-components/YuiUiKit1.tsx\nimport { useState } from \"react\";\nimport { motion, AnimatePresence } from \"framer-motion\";\nimport {\n ChevronDown,\n ExternalLink,\n Plus,\n Minus,\n Sun,\n Moon,\n X,\n ChevronLeft,\n ChevronRight\n} from \"lucide-react\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nfunction PlusMinusToggle({ theme = \"dark\" }) {\n const [activeBtn, setActiveBtn] = useState(\"plus\");\n return /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center gap-3\", children: [\n /* @__PURE__ */ jsx(\n motion.button,\n {\n whileTap: { scale: 0.88 },\n onClick: () => setActiveBtn(\"plus\"),\n className: `w-11 h-11 rounded-xl border flex items-center justify-center transition-all duration-200 cursor-pointer ${activeBtn === \"plus\" ? theme === \"dark\" ? \"bg-neutral-200 text-neutral-900 border-white shadow-md\" : \"bg-neutral-900 text-white border-neutral-900 shadow-md\" : theme === \"dark\" ? \"bg-neutral-900 text-neutral-400 border-white/10 hover:text-white\" : \"bg-white text-neutral-600 border-neutral-200 hover:text-black\"}`,\n children: /* @__PURE__ */ jsx(Plus, { className: \"w-5 h-5\" })\n }\n ),\n /* @__PURE__ */ jsx(\n motion.button,\n {\n whileTap: { scale: 0.88 },\n onClick: () => setActiveBtn(\"minus\"),\n className: `w-11 h-11 rounded-xl border flex items-center justify-center transition-all duration-200 cursor-pointer ${activeBtn === \"minus\" ? theme === \"dark\" ? \"bg-neutral-200 text-neutral-900 border-white shadow-md\" : \"bg-neutral-900 text-white border-neutral-900 shadow-md\" : theme === \"dark\" ? \"bg-neutral-900 text-neutral-400 border-white/10 hover:text-white\" : \"bg-white text-neutral-600 border-neutral-200 hover:text-black\"}`,\n children: /* @__PURE__ */ jsx(Minus, { className: \"w-5 h-5\" })\n }\n )\n ] });\n}\n\n// catalog/registry-bindings/plus-minus-toggle.tsx\nimport { jsx as jsx2 } from \"react/jsx-runtime\";\nvar PRESET_PROPS = { \"theme\": \"dark\" };\nfunction MovaComponentAdapter(props = {}) {\n return /* @__PURE__ */ jsx2(PlusMinusToggle, { ...PRESET_PROPS, ...props });\n}\nexport {\n MovaComponentAdapter as default\n};\n"
18
+ }
@@ -1,6 +1,15 @@
1
1
  {
2
2
  "id": "presets",
3
+ "tier": "free",
4
+ "version": "0.4.1",
3
5
  "file": "presets.ts",
6
+ "sourcePath": "lib/presets.ts",
7
+ "registryFile": "presets.json",
8
+ "exports": [
9
+ "presets"
10
+ ],
4
11
  "dependencies": [],
12
+ "license": "MIT",
13
+ "previewMode": "client",
5
14
  "content": "\"use client\";\n// Motion spring configuration presets for premium micro-interactions\nexport const presets = {\n // Ultra-responsive, crisp snappy feel\n snappy: {\n type: \"spring\",\n stiffness: 400,\n damping: 28,\n mass: 0.8\n },\n // Bouncy, playful bounce transition\n bouncy: {\n type: \"spring\",\n stiffness: 300,\n damping: 15,\n mass: 1\n },\n // Smooth, elegant default easing transition\n smooth: {\n type: \"spring\",\n stiffness: 220,\n damping: 24,\n mass: 1\n },\n // Gentle, low-speed movement\n gentle: {\n type: \"spring\",\n stiffness: 120,\n damping: 14,\n mass: 1\n },\n // Stiff, high tension movement\n stiff: {\n type: \"spring\",\n stiffness: 500,\n damping: 40,\n mass: 0.5\n }\n} as const;\n"
6
15
  }
@@ -0,0 +1,15 @@
1
+ {
2
+ "id": "prism-block-stack",
3
+ "tier": "free",
4
+ "version": "0.4.1",
5
+ "file": "prism-block-stack.tsx",
6
+ "sourcePath": "components/css-animations/whimsical/RedesignedPhysicsTrios.tsx",
7
+ "registryFile": "prism-block-stack.json",
8
+ "exports": [
9
+ "default"
10
+ ],
11
+ "dependencies": [],
12
+ "license": "MIT",
13
+ "previewMode": "client",
14
+ "content": "// @ts-nocheck -- Generated JavaScript bundle; edit the maintained catalog source to retain TypeScript types.\n\"use client\";\n\"use client\";\n\n// catalog/components/css-animations/whimsical/RedesignedPhysicsTrios.tsx\nimport { useState as useState2 } from \"react\";\n\n// catalog/hooks/useLoopFlg.ts\nimport { useState, useEffect } from \"react\";\nfunction useLoopFlg(enable = true, interval = 2e3) {\n const [flag, setFlag] = useState(0);\n useEffect(() => {\n if (!enable) return;\n const timer = setInterval(() => {\n setFlag((prev) => prev + 1);\n }, interval);\n return () => clearInterval(timer);\n }, [enable, interval]);\n return flag;\n}\n\n// catalog/components/css-animations/whimsical/RedesignedPhysicsTrios.tsx\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nfunction PrismBlockStack({\n trigger = \"hover\",\n loop = true,\n theme = \"dark\",\n className = \"\"\n}) {\n const loopFlg = useLoopFlg(true, 3e3);\n const [hoverKey, setHoverKey] = useState2(0);\n const activeKey = loop ? `${loopFlg}-${hoverKey}` : `${hoverKey}`;\n return /* @__PURE__ */ jsxs(\n \"div\",\n {\n className: `relative w-full h-full rounded-2xl overflow-hidden flex justify-center items-center cursor-pointer transition-all duration-300 bg-transparent ${className}`,\n onMouseEnter: trigger === \"hover\" ? () => setHoverKey((k) => k + 1) : void 0,\n onClick: trigger === \"click\" ? () => setHoverKey((k) => k + 1) : void 0,\n children: [\n /* @__PURE__ */ jsx(\"style\", { children: `\n @keyframes prism_drop {\n 0% { transform: translateY(-60px) rotate(15deg); opacity: 0; }\n 30% { transform: translateY(0) rotate(0deg); opacity: 1; }\n 75% { opacity: 1; transform: translateY(0); }\n 100% { transform: translateY(60px); opacity: 0; }\n }\n .prism-1 { animation: prism_drop 3s cubic-bezier(0.34, 1.56, 0.64, 1) 0s infinite both; }\n .prism-2 { animation: prism_drop 3s cubic-bezier(0.34, 1.56, 0.64, 1) 0.2s infinite both; }\n .prism-3 { animation: prism_drop 3s cubic-bezier(0.34, 1.56, 0.64, 1) 0.4s infinite both; }\n ` }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"relative flex flex-col items-center gap-1.5\", children: [\n /* @__PURE__ */ jsx(\"div\", { className: \"w-10 h-4 rounded-md bg-blue-400 prism-3 shadow-sm\" }),\n /* @__PURE__ */ jsx(\"div\", { className: \"w-14 h-4 rounded-md bg-blue-500 prism-2 shadow-sm\" }),\n /* @__PURE__ */ jsx(\"div\", { className: \"w-18 h-4 rounded-md bg-blue-700 prism-1 shadow-sm\" })\n ] }, activeKey)\n ]\n }\n );\n}\n\n// catalog/registry-bindings/prism-block-stack.tsx\nimport { jsx as jsx2 } from \"react/jsx-runtime\";\nvar PRESET_PROPS = { \"loop\": true, \"trigger\": \"hover\", \"theme\": \"dark\" };\nfunction MovaComponentAdapter(props = {}) {\n return /* @__PURE__ */ jsx2(PrismBlockStack, { ...PRESET_PROPS, ...props });\n}\nexport {\n MovaComponentAdapter as default\n};\n"
15
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "id": "progress-indicator-piano",
3
+ "tier": "free",
4
+ "version": "0.4.1",
5
+ "file": "progress-indicator-piano.tsx",
6
+ "registryFile": "progress-indicator-piano.json",
7
+ "exports": [
8
+ "default"
9
+ ],
10
+ "dependencies": [
11
+ "framer-motion",
12
+ "lucide-react"
13
+ ],
14
+ "license": "MIT",
15
+ "previewMode": "client",
16
+ "usage": "import MovaComponent from './progress-indicator-piano';\n\nexport default function Demo() {\n return <MovaComponent />;\n}",
17
+ "css": "",
18
+ "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/metrics/AnimatedMetricCard.tsx\nimport { useState } from \"react\";\nimport { motion } from \"framer-motion\";\nimport { TrendingUp, Zap, Check, ArrowUpRight, Share2, MoreHorizontal, ChevronDown, Star, Crown, HelpCircle } from \"lucide-react\";\n\n// src/hooks/useWebHaptics.ts\nimport { useCallback } from \"react\";\nfunction useWebHaptics() {\n const trigger = useCallback((type = \"light\") => {\n if (typeof window === \"undefined\" || !window.navigator || !window.navigator.vibrate) {\n return false;\n }\n try {\n switch (type) {\n case \"light\":\n return window.navigator.vibrate(10);\n case \"medium\":\n return window.navigator.vibrate(25);\n case \"heavy\":\n return window.navigator.vibrate(50);\n case \"success\":\n return window.navigator.vibrate([15, 60, 15]);\n case \"warning\":\n return window.navigator.vibrate([30, 60, 30]);\n case \"error\":\n return window.navigator.vibrate([60, 60, 60, 60, 60]);\n default:\n return window.navigator.vibrate(type);\n }\n } catch (e) {\n console.warn(\"Vibration API error:\", e);\n return false;\n }\n }, []);\n return { trigger };\n}\n\n// src/components/metrics/AnimatedMetricCard.tsx\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nvar AnimatedMetricCard = ({ config, theme }) => {\n const [stockRange, setStockRange] = useState(\"1W\");\n const [viewsRange, setViewsRange] = useState(\"Day\");\n const [salesAnalyticsRange, setSalesAnalyticsRange] = useState(\"Weekly\");\n const [salesTargetRange, setSalesTargetRange] = useState(\"Yearly\");\n const [timerActive, setTimerActive] = useState(false);\n const [decibelLevel, setDecibelLevel] = useState(40);\n const { trigger: triggerHaptic } = useWebHaptics();\n const isDark = theme === \"dark\";\n const containerClasses = `w-full h-full p-4 flex flex-col justify-between select-none font-sans transition-colors duration-300 ${isDark ? \"text-white\" : \"text-black\"}`;\n switch (config.interactionType) {\n // --- CACHEABLE BANDWIDTH COST CARD ---\n case \"cacheable-bandwidth-cost\":\n return /* @__PURE__ */ jsxs(\"div\", { className: `w-full h-full p-4 flex flex-col justify-between select-none font-sans rounded-[24px] border transition-colors duration-300 ${isDark ? \"bg-[#18181A] text-white border-white/10\" : \"bg-[#FAFAFA] text-neutral-900 border-neutral-200 shadow-sm\"}`, children: [\n /* @__PURE__ */ jsxs(\"div\", { children: [\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-baseline gap-1.5\", children: [\n /* @__PURE__ */ jsx(\"span\", { className: \"text-3xl font-black tracking-tight\", children: \"90.5 GB\" }),\n /* @__PURE__ */ jsx(\"span\", { className: \"text-base font-bold text-neutral-400 font-normal\", children: \"(69.8%)\" })\n ] }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center justify-between text-xs font-semibold mt-1\", children: [\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center gap-1.5 text-neutral-500 dark:text-neutral-400\", children: [\n /* @__PURE__ */ jsx(\"span\", { className: \"w-2 h-2 rounded-full bg-[#A855F7]\" }),\n /* @__PURE__ */ jsx(\"span\", { children: \"Cacheable Bandwidth\" })\n ] }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center gap-1 text-neutral-600 dark:text-neutral-300 font-bold\", children: [\n /* @__PURE__ */ jsx(\"span\", { className: \"w-3.5 h-3.5 rounded-full bg-neutral-200 dark:bg-white/15 text-[10px] flex items-center justify-center font-black\", children: \"$\" }),\n /* @__PURE__ */ jsx(\"span\", { children: \"$9.50\" }),\n /* @__PURE__ */ jsx(HelpCircle, { className: \"w-3.5 h-3.5 text-neutral-400 cursor-pointer\" })\n ] })\n ] })\n ] }),\n /* @__PURE__ */ jsx(\"div\", { className: \"my-2\", children: /* @__PURE__ */ jsxs(\"div\", { className: \"w-full h-4 bg-neutral-200 dark:bg-neutral-800 rounded-full flex items-center p-0.5 overflow-hidden gap-0.5\", children: [\n /* @__PURE__ */ jsx(\"div\", { className: \"h-full w-[25%] bg-[#1E1B4B] dark:bg-[#312E81] rounded-l-full\" }),\n /* @__PURE__ */ jsx(\"div\", { className: \"h-full w-[20%] bg-[#A855F7]\" }),\n /* @__PURE__ */ jsx(\"div\", { className: \"h-full flex-1 rounded-r-full bg-[#F3E8FF] dark:bg-[#2E1065] relative overflow-hidden\", children: /* @__PURE__ */ jsxs(\"svg\", { className: \"absolute inset-0 w-full h-full opacity-40\", viewBox: \"0 0 100 100\", preserveAspectRatio: \"none\", children: [\n /* @__PURE__ */ jsx(\"defs\", { children: /* @__PURE__ */ jsx(\"pattern\", { id: \"bandwidth-stripes\", width: \"8\", height: \"8\", patternTransform: \"rotate(90 0 0)\", patternUnits: \"userSpaceOnUse\", children: /* @__PURE__ */ jsx(\"line\", { x1: \"0\", y1: \"0\", x2: \"0\", y2: \"8\", stroke: \"#A855F7\", strokeWidth: \"4\" }) }) }),\n /* @__PURE__ */ jsx(\"rect\", { width: \"100%\", height: \"100%\", fill: \"url(#bandwidth-stripes)\" })\n ] }) })\n ] }) }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"space-y-1.5 text-xs font-semibold\", children: [\n /* @__PURE__ */ jsx(\"div\", { className: \"flex items-center justify-between text-neutral-600 dark:text-neutral-300\", children: /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center gap-2\", children: [\n /* @__PURE__ */ jsx(\"span\", { className: \"w-2 h-2 rounded-full bg-[#A855F7]\" }),\n /* @__PURE__ */ jsxs(\"span\", { children: [\n \"Cached \",\n /* @__PURE__ */ jsx(\"strong\", { className: \"text-black dark:text-white font-bold\", children: \"12.8 GB\" }),\n \" \",\n /* @__PURE__ */ jsx(\"span\", { className: \"text-neutral-400 font-normal\", children: \"(9.8%)\" })\n ] })\n ] }) }),\n /* @__PURE__ */ jsx(\"div\", { className: \"flex items-center justify-between text-neutral-600 dark:text-neutral-300\", children: /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center gap-2\", children: [\n /* @__PURE__ */ jsx(\"span\", { className: \"w-2 h-2 rounded-full bg-[#1E1B4B] dark:bg-white\" }),\n /* @__PURE__ */ jsxs(\"span\", { children: [\n \"Non-Cacheable \",\n /* @__PURE__ */ jsx(\"strong\", { className: \"text-black dark:text-white font-bold\", children: \"26.3 GB\" }),\n \" \",\n /* @__PURE__ */ jsx(\"span\", { className: \"text-neutral-400 font-normal\", children: \"(20.3%)\" })\n ] })\n ] }) }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"pt-1 border-t border-neutral-100 dark:border-white/10 text-neutral-500 font-medium\", children: [\n \"Total \",\n /* @__PURE__ */ jsx(\"strong\", { className: \"text-black dark:text-white font-bold\", children: \"129.6 GB\" })\n ] })\n ] })\n ] });\n // --- OTHER IMAGE COMPONENTS ---\n case \"sales-analytics-dual-bars\":\n return /* @__PURE__ */ jsxs(\"div\", { className: `w-full h-full p-4 flex flex-col justify-between select-none font-sans rounded-[24px] border transition-colors duration-300 ${isDark ? \"bg-[#18181A] text-white border-white/10\" : \"bg-[#F9FAFB] text-neutral-900 border-neutral-200 shadow-sm\"}`, children: [\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-start justify-between\", children: [\n /* @__PURE__ */ jsxs(\"div\", { children: [\n /* @__PURE__ */ jsx(\"div\", { className: \"text-base font-bold tracking-tight\", children: \"Sales analytics\" }),\n /* @__PURE__ */ jsx(\"div\", { className: \"text-[11px] text-neutral-400 font-medium mt-1\", children: \"Total units sold\" }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-baseline gap-1 mt-0.5\", children: [\n /* @__PURE__ */ jsx(\"span\", { className: \"text-2xl font-black tracking-tight\", children: \"345\" }),\n /* @__PURE__ */ jsx(\"span\", { className: \"text-sm font-bold text-neutral-400\", children: \"/500\" })\n ] })\n ] }),\n /* @__PURE__ */ jsx(\"div\", { className: `flex items-center p-0.5 rounded-full border ${isDark ? \"bg-white/5 border-white/10\" : \"bg-neutral-100 border-neutral-200\"}`, children: [\"Monthly\", \"Weekly\"].map((r) => /* @__PURE__ */ jsx(\n \"button\",\n {\n onClick: (e) => {\n e.stopPropagation();\n triggerHaptic(\"light\");\n setSalesAnalyticsRange(r);\n },\n className: `px-3 py-1 text-[10px] font-bold rounded-full transition-colors cursor-pointer border-0 ${salesAnalyticsRange === r ? isDark ? \"bg-white text-black\" : \"bg-white text-black shadow-xs\" : \"text-neutral-400 hover:text-white\"}`,\n children: r\n },\n r\n )) })\n ] }),\n /* @__PURE__ */ jsxs(\"div\", { className: `p-3 rounded-2xl border flex flex-col justify-between h-36 mt-1 ${isDark ? \"bg-[#121214] border-white/5\" : \"bg-white border-neutral-100 shadow-xs\"}`, children: [\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center gap-3 text-[10px] font-bold\", children: [\n /* @__PURE__ */ jsxs(\"span\", { className: \"flex items-center gap-1.5 text-neutral-600 dark:text-neutral-300\", children: [\n /* @__PURE__ */ jsx(\"span\", { className: \"w-2 h-2 rounded-xs bg-[#EA580C]\" }),\n /* @__PURE__ */ jsx(\"span\", { children: \"Total Sales\" })\n ] }),\n /* @__PURE__ */ jsxs(\"span\", { className: \"flex items-center gap-1.5 text-neutral-600 dark:text-neutral-300\", children: [\n /* @__PURE__ */ jsx(\"span\", { className: \"w-2 h-2 rounded-xs bg-[#FDBA74]\" }),\n /* @__PURE__ */ jsx(\"span\", { children: \"Total Earnings\" })\n ] })\n ] }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-end justify-between px-2 h-20\", children: [\n /* @__PURE__ */ jsx(\"div\", { className: \"w-6 bg-neutral-200/50 dark:bg-neutral-800/40 rounded-lg h-[40%]\" }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-end gap-1 h-full\", children: [\n /* @__PURE__ */ jsx(motion.div, { initial: { height: 0 }, animate: { height: \"75%\" }, transition: { duration: 0.6 }, className: \"w-6 bg-[#EA580C] rounded-lg shadow-sm\" }),\n /* @__PURE__ */ jsx(motion.div, { initial: { height: 0 }, animate: { height: \"90%\" }, transition: { duration: 0.6, delay: 0.1 }, className: \"w-6 bg-[#FDBA74] rounded-lg shadow-sm\" })\n ] }),\n /* @__PURE__ */ jsx(\"div\", { className: \"w-6 bg-neutral-200/50 dark:bg-neutral-800/40 rounded-lg h-[55%]\" }),\n /* @__PURE__ */ jsx(\"div\", { className: \"w-6 bg-neutral-200/50 dark:bg-neutral-800/40 rounded-lg h-[45%]\" })\n ] }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex justify-between px-2 text-[9px] font-bold text-neutral-400 uppercase\", children: [\n /* @__PURE__ */ jsx(\"span\", { children: \"Sep\" }),\n /* @__PURE__ */ jsx(\"span\", { className: \"text-black dark:text-white font-black\", children: \"Oct\" }),\n /* @__PURE__ */ jsx(\"span\", { children: \"Nov\" }),\n /* @__PURE__ */ jsx(\"span\", { children: \"Dec\" })\n ] })\n ] })\n ] });\n case \"sales-target-segmented-arc\":\n return /* @__PURE__ */ jsxs(\"div\", { className: `w-full h-full p-4 flex flex-col justify-between select-none font-sans rounded-[24px] border transition-colors duration-300 ${isDark ? \"bg-[#18181A] text-white border-white/10\" : \"bg-[#F9FAFB] text-neutral-900 border-neutral-200 shadow-sm\"}`, children: [\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center justify-between\", children: [\n /* @__PURE__ */ jsx(\"span\", { className: \"text-base font-bold tracking-tight\", children: \"Sales target\" }),\n /* @__PURE__ */ jsx(\"div\", { className: `flex items-center p-0.5 rounded-full border ${isDark ? \"bg-white/5 border-white/10\" : \"bg-neutral-100 border-neutral-200\"}`, children: [\"Monthly\", \"Yearly\"].map((r) => /* @__PURE__ */ jsx(\n \"button\",\n {\n onClick: (e) => {\n e.stopPropagation();\n triggerHaptic(\"light\");\n setSalesTargetRange(r);\n },\n className: `px-3 py-1 text-[10px] font-bold rounded-full transition-colors cursor-pointer border-0 ${salesTargetRange === r ? isDark ? \"bg-white text-black\" : \"bg-white text-black shadow-xs\" : \"text-neutral-400 hover:text-white\"}`,\n children: r\n },\n r\n )) })\n ] }),\n /* @__PURE__ */ jsxs(\"div\", { className: `p-3 rounded-2xl border flex flex-col items-center justify-between h-44 mt-1 relative overflow-hidden ${isDark ? \"bg-[#121214] border-white/5\" : \"bg-white border-neutral-100 shadow-xs\"}`, children: [\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center gap-3 text-[10px] font-bold w-full justify-start\", children: [\n /* @__PURE__ */ jsxs(\"span\", { className: \"flex items-center gap-1.5 text-neutral-600 dark:text-neutral-300\", children: [\n /* @__PURE__ */ jsx(\"span\", { className: \"w-2 h-2 rounded-full bg-[#FDBA74]\" }),\n /* @__PURE__ */ jsx(\"span\", { children: \"Property listed\" })\n ] }),\n /* @__PURE__ */ jsxs(\"span\", { className: \"flex items-center gap-1.5 text-neutral-600 dark:text-neutral-300\", children: [\n /* @__PURE__ */ jsx(\"span\", { className: \"w-2 h-2 rounded-full bg-[#EA580C]\" }),\n /* @__PURE__ */ jsx(\"span\", { children: \"Property delivered\" })\n ] })\n ] }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"relative w-52 h-28 flex items-center justify-center mt-2\", children: [\n /* @__PURE__ */ jsx(\"svg\", { viewBox: \"0 0 200 110\", className: \"w-full h-full overflow-visible\", children: Array.from({ length: 16 }).map((_, i) => {\n const angle = -180 + i * (180 / 15);\n const isListed = i < 5;\n const isDelivered = i >= 5 && i < 12;\n return /* @__PURE__ */ jsx(\"g\", { transform: `rotate(${angle} 100 100)`, children: /* @__PURE__ */ jsx(\n \"rect\",\n {\n x: \"93\",\n y: \"10\",\n width: \"14\",\n height: \"28\",\n rx: \"4\",\n fill: isListed ? \"#FDBA74\" : isDelivered ? \"#EA580C\" : isDark ? \"#26262B\" : \"#E5E7EB\"\n }\n ) }, i);\n }) }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"absolute bottom-1 flex flex-col items-center\", children: [\n /* @__PURE__ */ jsx(\"span\", { className: \"text-3xl font-black tracking-tight\", children: \"70%\" }),\n /* @__PURE__ */ jsx(\"span\", { className: \"text-[10px] font-semibold text-neutral-400\", children: \"Achieved\" })\n ] })\n ] })\n ] })\n ] });\n case \"sales-overview-radial-dashboard\":\n return /* @__PURE__ */ jsxs(\"div\", { className: `w-full h-full p-4 flex flex-col justify-between select-none font-sans rounded-[24px] border transition-colors duration-300 ${isDark ? \"bg-[#18181A] text-white border-white/10\" : \"bg-[#FAFAFA] text-neutral-900 border-neutral-200 shadow-sm\"}`, children: [\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center justify-between\", children: [\n /* @__PURE__ */ jsx(\"span\", { className: \"text-base font-bold tracking-tight\", children: \"Sales Overview\" }),\n /* @__PURE__ */ jsx(\"div\", { className: \"w-7 h-7 rounded-full bg-neutral-100 dark:bg-white/10 flex items-center justify-center cursor-pointer\", children: /* @__PURE__ */ jsx(MoreHorizontal, { className: \"w-4 h-4 text-neutral-500 dark:text-neutral-300\" }) })\n ] }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"bg-[#F3F0FF] dark:bg-[#2E1A47] text-[#6D28D9] dark:text-[#DDD6FE] px-3 py-1.5 rounded-xl text-xs font-bold flex items-center gap-2 my-1\", children: [\n /* @__PURE__ */ jsx(Crown, { className: \"w-4 h-4 fill-[#6D28D9] dark:fill-[#DDD6FE]\" }),\n /* @__PURE__ */ jsxs(\"span\", { children: [\n \"You're the top \",\n /* @__PURE__ */ jsx(\"strong\", { className: \"text-[#4C1D95] dark:text-white\", children: \"17%\" }),\n \" of performers\"\n ] })\n ] }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"relative w-48 h-24 flex items-center justify-center mx-auto my-1\", children: [\n /* @__PURE__ */ jsx(\"svg\", { viewBox: \"0 0 200 110\", className: \"w-full h-full overflow-visible\", children: Array.from({ length: 14 }).map((_, i) => {\n const angle = -180 + i * (180 / 13);\n const isActive = i < 9;\n return /* @__PURE__ */ jsx(\"g\", { transform: `rotate(${angle} 100 100)`, children: /* @__PURE__ */ jsx(\n \"rect\",\n {\n x: \"93\",\n y: \"10\",\n width: \"14\",\n height: \"28\",\n rx: \"4\",\n fill: isActive ? \"#6366F1\" : isDark ? \"#26262B\" : \"#E5E7EB\"\n }\n ) }, i);\n }) }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"absolute bottom-0 flex flex-col items-center\", children: [\n /* @__PURE__ */ jsx(\"span\", { className: \"text-2xl font-black tracking-tight\", children: \"67.2%\" }),\n /* @__PURE__ */ jsx(\"span\", { className: \"text-[9px] font-semibold text-neutral-400\", children: \"sales goals\" })\n ] })\n ] }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"grid grid-cols-2 gap-2 mt-1\", children: [\n /* @__PURE__ */ jsxs(\"div\", { className: `p-2.5 rounded-xl border flex flex-col justify-between ${isDark ? \"bg-white/5 border-white/5\" : \"bg-white border-neutral-200/80 shadow-xs\"}`, children: [\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center justify-between\", children: [\n /* @__PURE__ */ jsx(\"span\", { className: \"text-[10px] font-semibold text-neutral-500\", children: \"Number of Sales\" }),\n /* @__PURE__ */ jsx(\"span\", { className: \"px-1.5 py-0.5 rounded-md bg-[#6366F1]/15 text-[#6366F1] text-[9px] font-bold\", children: \"3.5% \\u2197\" })\n ] }),\n /* @__PURE__ */ jsx(\"div\", { className: \"text-xl font-black tracking-tight mt-1\", children: \"1,304\" })\n ] }),\n /* @__PURE__ */ jsxs(\"div\", { className: `p-2.5 rounded-xl border flex flex-col justify-between ${isDark ? \"bg-white/5 border-white/5\" : \"bg-white border-neutral-200/80 shadow-xs\"}`, children: [\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center justify-between\", children: [\n /* @__PURE__ */ jsx(\"span\", { className: \"text-[10px] font-semibold text-neutral-500\", children: \"Total Revenue\" }),\n /* @__PURE__ */ jsx(\"span\", { className: \"px-1.5 py-0.5 rounded-md bg-neutral-900 text-white text-[9px] font-bold\", children: \"4.5% \\u2198\" })\n ] }),\n /* @__PURE__ */ jsx(\"div\", { className: \"text-xl font-black tracking-tight mt-1\", children: \"$21.1K\" })\n ] })\n ] })\n ] });\n case \"users-growth-pill-progress\":\n return /* @__PURE__ */ jsxs(\"div\", { className: \"w-full h-full p-4 flex flex-col justify-between select-none font-sans bg-[#0E0E10] text-white rounded-[24px] border border-white/10\", children: [\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center justify-between\", children: [\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center gap-2\", children: [\n /* @__PURE__ */ jsx(Star, { className: \"w-5 h-5 fill-white text-white\" }),\n /* @__PURE__ */ jsx(\"span\", { className: \"text-sm font-bold tracking-tight\", children: \"Users growth\" })\n ] }),\n /* @__PURE__ */ jsx(\"div\", { className: \"w-7 h-7 rounded-full bg-neutral-700 overflow-hidden border border-white/20\", children: /* @__PURE__ */ jsx(\"img\", { src: \"https://images.unsplash.com/photo-1534528741775-53994a69daeb?w=100&auto=format&fit=crop&q=80\", alt: \"Avatar\", className: \"w-full h-full object-cover\" }) })\n ] }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-baseline gap-2 my-1\", children: [\n /* @__PURE__ */ jsx(\"span\", { className: \"text-3xl font-bold text-[#818CF8]\", children: \"\\u2197\" }),\n /* @__PURE__ */ jsx(\"span\", { className: \"text-4xl font-black tracking-tight\", children: \"+88.3%\" }),\n /* @__PURE__ */ jsxs(\"span\", { className: \"text-[10px] font-bold text-neutral-400 flex items-center gap-0.5\", children: [\n \"+1.78% \",\n /* @__PURE__ */ jsx(TrendingUp, { className: \"w-3 h-3\" })\n ] })\n ] }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"space-y-2 my-1\", children: [\n /* @__PURE__ */ jsx(\"div\", { className: \"w-full h-9 bg-[#1A1A1E] rounded-full flex items-center p-1\", children: /* @__PURE__ */ jsx(\"div\", { className: \"w-[45%] h-full bg-white text-black rounded-full flex items-center px-3 text-xs font-bold\", children: \"12.01\" }) }),\n /* @__PURE__ */ jsx(\"div\", { className: \"w-full h-9 bg-[#1A1A1E] rounded-full flex items-center p-1\", children: /* @__PURE__ */ jsx(\"div\", { className: \"w-[78%] h-full bg-white text-black rounded-full flex items-center px-3 text-xs font-bold\", children: \"13.01\" }) }),\n /* @__PURE__ */ jsx(\"div\", { className: \"w-full h-9 bg-gradient-to-r from-[#2E284A] to-[#A5B4FC] rounded-full flex items-center px-3 text-xs font-bold text-white shadow-md\", children: \"14.01\" })\n ] })\n ] });\n case \"overview-bar-scrubber-card\":\n return /* @__PURE__ */ jsxs(\"div\", { className: `w-full h-full p-4 flex flex-col justify-between select-none font-sans rounded-[24px] border transition-colors duration-300 ${isDark ? \"bg-[#18181A] text-white border-white/10\" : \"bg-[#FAFAFA] text-neutral-900 border-neutral-200 shadow-sm\"}`, children: [\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center justify-between\", children: [\n /* @__PURE__ */ jsx(\"span\", { className: \"text-base font-bold tracking-tight\", children: \"Overview\" }),\n /* @__PURE__ */ jsxs(\"div\", { className: `px-3 py-1 rounded-xl text-xs font-semibold flex items-center gap-1 border cursor-pointer ${isDark ? \"bg-white/10 border-white/15 text-white\" : \"bg-white border-neutral-200 text-neutral-700 shadow-xs\"}`, children: [\n /* @__PURE__ */ jsx(\"span\", { children: \"Last Month\" }),\n /* @__PURE__ */ jsx(ChevronDown, { className: \"w-3 h-3 text-neutral-400\" })\n ] })\n ] }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-baseline gap-2 my-0.5\", children: [\n /* @__PURE__ */ jsxs(\"div\", { children: [\n /* @__PURE__ */ jsx(\"div\", { className: \"text-[10px] text-neutral-400 font-semibold uppercase\", children: \"Avg Per month\" }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"text-2xl font-black tracking-tight\", children: [\n \"1,860\",\n /* @__PURE__ */ jsx(\"span\", { className: \"text-neutral-400 font-normal text-base\", children: \"/3K\" })\n ] })\n ] }),\n /* @__PURE__ */ jsx(\"span\", { className: \"px-2 py-0.5 rounded-md bg-[#22C55E]/15 text-[#22C55E] text-[10px] font-bold flex items-center gap-0.5\", children: \"50,2% \\u25B2\" })\n ] }),\n /* @__PURE__ */ jsx(\"div\", { className: \"relative w-full h-28 my-1 flex items-end justify-between px-1\", children: [\n { month: \"Apr\", h: \"45%\" },\n { month: \"May\", h: \"30%\" },\n { month: \"Jun\", h: \"75%\" },\n { month: \"Jul\", h: \"50%\" },\n { month: \"Aug\", h: \"85%\", active: true },\n { month: \"Sep\", h: \"40%\" },\n { month: \"Oct\", h: \"60%\" },\n { month: \"Nov\", h: \"70%\" }\n ].map((item, i) => /* @__PURE__ */ jsxs(\"div\", { className: \"flex flex-col items-center gap-1 flex-1 relative\", children: [\n item.active && /* @__PURE__ */ jsxs(\"div\", { className: \"absolute -top-11 z-20 flex flex-col items-center\", children: [\n /* @__PURE__ */ jsxs(\"div\", { className: \"bg-[#1E1E22] text-white text-[10px] font-bold px-2.5 py-1 rounded-xl shadow-xl border border-white/10 text-center\", children: [\n /* @__PURE__ */ jsx(\"div\", { children: \"August 2025\" }),\n /* @__PURE__ */ jsx(\"div\", { className: \"text-neutral-300\", children: \"120 pcs\" })\n ] }),\n /* @__PURE__ */ jsx(\"div\", { className: \"w-0 h-0 border-l-[4px] border-l-transparent border-r-[4px] border-r-transparent border-t-[4px] border-t-[#1E1E22]\" })\n ] }),\n /* @__PURE__ */ jsxs(\n \"div\",\n {\n className: `w-7 rounded-2xl relative overflow-hidden flex items-start justify-center ${item.active ? \"bg-[#27272A] border-2 border-white/20 shadow-md\" : \"bg-neutral-200/60 dark:bg-neutral-800/40\"}`,\n style: { height: item.h },\n children: [\n /* @__PURE__ */ jsxs(\"svg\", { className: \"absolute inset-0 w-full h-full opacity-20\", viewBox: \"0 0 100 100\", preserveAspectRatio: \"none\", children: [\n /* @__PURE__ */ jsx(\"defs\", { children: /* @__PURE__ */ jsx(\"pattern\", { id: `stripe-${i}`, width: \"16\", height: \"16\", patternTransform: \"rotate(45 0 0)\", patternUnits: \"userSpaceOnUse\", children: /* @__PURE__ */ jsx(\"line\", { x1: \"0\", y1: \"0\", x2: \"0\", y2: \"16\", stroke: \"#FFFFFF\", strokeWidth: \"8\" }) }) }),\n /* @__PURE__ */ jsx(\"rect\", { width: \"100%\", height: \"100%\", fill: `url(#stripe-${i})` })\n ] }),\n item.active && /* @__PURE__ */ jsx(\"div\", { className: \"w-2.5 h-2.5 rounded-full bg-white border-2 border-[#27272A] mt-1 z-10\" })\n ]\n }\n ),\n /* @__PURE__ */ jsx(\"span\", { className: `text-[9px] font-bold ${item.active ? \"text-black dark:text-white font-black\" : \"text-neutral-400\"}`, children: item.month })\n ] }, i)) })\n ] });\n case \"network-telemetry-matrix\":\n return /* @__PURE__ */ jsxs(\"div\", { className: \"w-full h-full p-4 flex flex-col justify-between select-none font-mono bg-[#0B0D0E] text-white rounded-[24px] border border-white/10\", children: [\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center justify-between\", children: [\n /* @__PURE__ */ jsx(\"span\", { className: \"text-sm font-sans font-bold tracking-tight\", children: \"Network Telemetry\" }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center gap-2 text-neutral-500\", children: [\n /* @__PURE__ */ jsx(Share2, { className: \"w-3.5 h-3.5 hover:text-white transition-colors cursor-pointer\" }),\n /* @__PURE__ */ jsx(MoreHorizontal, { className: \"w-3.5 h-3.5 hover:text-white transition-colors cursor-pointer\" })\n ] })\n ] }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"grid grid-cols-2 gap-3 my-1\", children: [\n /* @__PURE__ */ jsxs(\"div\", { children: [\n /* @__PURE__ */ jsx(\"div\", { className: \"text-[8px] font-bold text-neutral-500 uppercase tracking-widest\", children: \"Average Finality\" }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-baseline gap-1 mt-0.5\", children: [\n /* @__PURE__ */ jsx(\"span\", { className: \"text-2xl font-black font-sans\", children: \"1.8s\" }),\n /* @__PURE__ */ jsx(\"span\", { className: \"text-[9px] font-bold text-[#22C55E] flex items-center gap-0.5\", children: \"\\u2191 14.6%\" })\n ] })\n ] }),\n /* @__PURE__ */ jsxs(\"div\", { children: [\n /* @__PURE__ */ jsx(\"div\", { className: \"text-[8px] font-bold text-neutral-500 uppercase tracking-widest\", children: \"Intents Finalized\" }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-baseline gap-1 mt-0.5\", children: [\n /* @__PURE__ */ jsx(\"span\", { className: \"text-2xl font-black font-sans\", children: \"312,134\" }),\n /* @__PURE__ */ jsx(\"span\", { className: \"text-[9px] font-bold text-[#22C55E] flex items-center gap-0.5\", children: \"\\u2191 11.5%\" })\n ] })\n ] })\n ] }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"space-y-1\", children: [\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex justify-between text-[8px] font-bold text-neutral-500 tracking-wider\", children: [\n /* @__PURE__ */ jsx(\"span\", { children: \"AUGUST / TESTNET V0\" }),\n /* @__PURE__ */ jsx(\"span\", { children: \"12,430 INTENTS\" })\n ] }),\n /* @__PURE__ */ jsx(\"div\", { className: \"grid grid-cols-16 gap-0.5 h-6\", children: Array.from({ length: 48 }).map((_, i) => /* @__PURE__ */ jsx(\n \"div\",\n {\n className: `w-full h-full rounded-[1px] ${[3, 7, 12, 18, 22, 29, 34, 41, 45].includes(i) ? \"bg-[#22C55E]\" : \"bg-[#142319]\"}`\n },\n i\n )) })\n ] }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"space-y-1\", children: [\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex justify-between text-[8px] font-bold text-neutral-500 tracking-wider\", children: [\n /* @__PURE__ */ jsx(\"span\", { children: \"SEPTEMBER / V1 SEQUENCER\" }),\n /* @__PURE__ */ jsx(\"span\", { children: \"18,916 INTENTS\" })\n ] }),\n /* @__PURE__ */ jsx(\"div\", { className: \"grid grid-cols-16 gap-0.5 h-6\", children: Array.from({ length: 48 }).map((_, i) => /* @__PURE__ */ jsx(\n \"div\",\n {\n className: `w-full h-full rounded-[1px] ${[2, 6, 11, 15, 24, 31, 38, 43, 47].includes(i) ? \"bg-[#22C55E]\" : \"bg-[#142319]\"}`\n },\n i\n )) })\n ] })\n ] });\n case \"progress-indicator-piano\":\n return /* @__PURE__ */ jsxs(\"div\", { className: \"w-full h-full p-4 flex flex-col justify-between select-none font-sans bg-[#0E0E10] text-white rounded-[24px] border border-white/10\", children: [\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center justify-between\", children: [\n /* @__PURE__ */ jsx(\"span\", { className: \"text-xs font-semibold text-neutral-300\", children: \"Progress Indicator\" }),\n /* @__PURE__ */ jsx(MoreHorizontal, { className: \"w-4 h-4 text-neutral-500 cursor-pointer\" })\n ] }),\n /* @__PURE__ */ jsx(\"div\", { className: \"text-[11px] text-neutral-400 font-medium my-0.5\", children: \"You are on track to finish the goal three days early\" }),\n /* @__PURE__ */ jsx(\"div\", { className: \"w-full h-px bg-white/10 my-1\" }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-baseline gap-2 my-1\", children: [\n /* @__PURE__ */ jsx(\"span\", { className: \"text-3xl font-black tracking-tight\", children: \"66%\" }),\n /* @__PURE__ */ jsx(\"span\", { className: \"px-2 py-0.5 rounded-full bg-white/10 text-white text-[10px] font-bold border border-white/15 flex items-center gap-1\", children: /* @__PURE__ */ jsx(\"span\", { children: \"\\u2197 71 avg\" }) }),\n /* @__PURE__ */ jsx(\"span\", { className: \"text-[10px] text-neutral-500 font-medium\", children: \"vs. the last period\" })\n ] }),\n /* @__PURE__ */ jsx(\"div\", { className: \"flex items-center gap-1 h-12 w-full mt-2\", children: Array.from({ length: 28 }).map((_, i) => /* @__PURE__ */ jsx(\n \"div\",\n {\n className: `flex-1 h-full rounded-xs transition-colors ${i < 18 ? \"bg-white shadow-[0_0_8px_rgba(255,255,255,0.4)]\" : \"bg-[#26262B]\"}`\n },\n i\n )) })\n ] });\n case \"server-performance-step-bars\":\n return /* @__PURE__ */ jsxs(\"div\", { className: \"w-full h-full p-4 flex flex-col justify-between select-none font-sans bg-[#0E0E10] text-white rounded-[24px] border border-white/10\", children: [\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center justify-between\", children: [\n /* @__PURE__ */ jsx(\"span\", { className: \"text-xs font-semibold text-neutral-400\", children: \"Server Performance Metrics\" }),\n /* @__PURE__ */ jsx(ArrowUpRight, { className: \"w-4 h-4 text-neutral-400\" })\n ] }),\n /* @__PURE__ */ jsx(\"div\", { className: \"text-4xl font-black tracking-tight my-1\", children: \"+45%\" }),\n /* @__PURE__ */ jsx(\"div\", { className: \"flex items-end justify-between gap-1.5 h-20 mt-2 px-1\", children: [15, 22, 30, 45, 58, 72, 90].map((h, i) => /* @__PURE__ */ jsx(\"div\", { className: \"flex-1 bg-[#222226] rounded-t-sm relative overflow-hidden flex flex-col justify-end\", style: { height: `${h}%` }, children: /* @__PURE__ */ jsx(\"div\", { className: \"w-full h-1 bg-white\" }) }, i)) })\n ] });\n case \"credit-score-barcode-meter\":\n return /* @__PURE__ */ jsxs(\"div\", { className: `w-full h-full p-4 flex flex-col justify-between select-none font-sans rounded-[24px] border transition-colors duration-300 ${isDark ? \"bg-[#18181A] text-white border-white/10\" : \"bg-[#FAFAFA] text-neutral-900 border-neutral-200 shadow-sm\"}`, children: [\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-start justify-between\", children: [\n /* @__PURE__ */ jsxs(\"div\", { children: [\n /* @__PURE__ */ jsx(\"div\", { className: \"text-base font-bold tracking-tight\", children: \"Credit Score\" }),\n /* @__PURE__ */ jsx(\"div\", { className: \"text-[11px] text-neutral-400 font-medium\", children: \"Your current credit rating.\" })\n ] }),\n /* @__PURE__ */ jsxs(\"div\", { className: `px-3 py-1 rounded-xl text-xs font-semibold flex items-center gap-1 border cursor-pointer ${isDark ? \"bg-white/10 border-white/15 text-white\" : \"bg-white border-neutral-200 text-neutral-700 shadow-xs\"}`, children: [\n /* @__PURE__ */ jsx(\"span\", { children: \"Weekly\" }),\n /* @__PURE__ */ jsx(ChevronDown, { className: \"w-3 h-3 text-neutral-400\" })\n ] })\n ] }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-baseline gap-2 my-1\", children: [\n /* @__PURE__ */ jsxs(\"span\", { className: \"text-4xl font-black tracking-tight\", children: [\n \"88\",\n /* @__PURE__ */ jsx(\"span\", { className: \"text-neutral-400 font-normal text-2xl\", children: \"/100\" })\n ] }),\n /* @__PURE__ */ jsx(\"span\", { className: \"text-[11px] font-bold text-[#22C55E]\", children: \"\\u25B2 13.6%\" }),\n /* @__PURE__ */ jsx(\"span\", { className: \"text-[11px] text-neutral-400 font-medium\", children: \"vs last month\" })\n ] }),\n /* @__PURE__ */ jsx(\"div\", { className: \"flex items-center justify-between gap-1 h-9 w-full mt-2\", children: Array.from({ length: 42 }).map((_, i) => /* @__PURE__ */ jsx(\n \"div\",\n {\n className: `w-1 h-full rounded-full ${i < 36 ? \"bg-[#22C55E]\" : isDark ? \"bg-white/10\" : \"bg-neutral-200\"}`\n },\n i\n )) })\n ] });\n case \"views-hourly-wave-chart\":\n return /* @__PURE__ */ jsxs(\"div\", { className: `w-full h-full p-4 flex flex-col justify-between select-none font-sans rounded-[24px] border transition-colors duration-300 ${isDark ? \"bg-[#18181A] text-white border-white/10\" : \"bg-white text-neutral-900 border-neutral-200 shadow-sm\"}`, children: [\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-start justify-between\", children: [\n /* @__PURE__ */ jsxs(\"div\", { children: [\n /* @__PURE__ */ jsx(\"div\", { className: \"text-base font-bold tracking-tight\", children: \"Views\" }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-baseline gap-1.5 mt-0.5\", children: [\n /* @__PURE__ */ jsx(\"span\", { className: \"text-3xl font-black tracking-tight\", children: \"12.7K\" }),\n /* @__PURE__ */ jsx(\"span\", { className: \"text-[10px] font-bold text-[#22C55E]\", children: \"\\u2197 2.6%\" }),\n /* @__PURE__ */ jsx(\"span\", { className: \"text-[9px] text-neutral-400 font-bold uppercase\", children: \"VS PREV. DAY\" })\n ] })\n ] }),\n /* @__PURE__ */ jsx(\"div\", { className: `flex items-center p-0.5 rounded-xl border ${isDark ? \"bg-white/5 border-white/10\" : \"bg-neutral-100 border-neutral-200\"}`, children: [\"Day\", \"Week\", \"Month\"].map((p) => /* @__PURE__ */ jsx(\n \"button\",\n {\n onClick: (e) => {\n e.stopPropagation();\n triggerHaptic(\"light\");\n setViewsRange(p);\n },\n className: `px-2.5 py-1 text-[10px] font-bold rounded-lg transition-colors cursor-pointer border-0 ${viewsRange === p ? isDark ? \"bg-white text-black\" : \"bg-white text-black shadow-xs\" : \"text-neutral-400 hover:text-white\"}`,\n children: p\n },\n p\n )) })\n ] }),\n /* @__PURE__ */ jsx(\"div\", { className: \"relative w-full h-20 my-1\", children: /* @__PURE__ */ jsxs(\"svg\", { className: \"w-full h-full overflow-visible\", preserveAspectRatio: \"none\", viewBox: \"0 0 100 40\", children: [\n /* @__PURE__ */ jsx(\"line\", { x1: \"0\", y1: \"20\", x2: \"100\", y2: \"20\", stroke: \"#F59E0B\", strokeWidth: \"1\", strokeDasharray: \"3 3\" }),\n /* @__PURE__ */ jsx(\"text\", { x: \"92\", y: \"18\", fill: \"#F59E0B\", fontSize: \"4\", fontWeight: \"bold\", children: \"AVG\" }),\n /* @__PURE__ */ jsx(\"path\", { d: \"M0,25 Q15,30 25,12 T50,15 T75,18 T100,28 L100,40 L0,40 Z\", fill: \"url(#blue-wave-grad)\", opacity: \"0.25\" }),\n /* @__PURE__ */ jsx(\n motion.path,\n {\n d: \"M0,25 Q15,30 25,12 T50,15 T75,18 T100,28\",\n fill: \"none\",\n stroke: \"#3B82F6\",\n strokeWidth: \"2.5\",\n strokeLinecap: \"round\",\n initial: { pathLength: 0 },\n animate: { pathLength: 1 },\n transition: { duration: 0.8 }\n }\n ),\n /* @__PURE__ */ jsx(\"defs\", { children: /* @__PURE__ */ jsxs(\"linearGradient\", { id: \"blue-wave-grad\", x1: \"0\", y1: \"0\", x2: \"0\", y2: \"1\", children: [\n /* @__PURE__ */ jsx(\"stop\", { offset: \"0%\", stopColor: \"#3B82F6\", stopOpacity: \"0.6\" }),\n /* @__PURE__ */ jsx(\"stop\", { offset: \"100%\", stopColor: \"#3B82F6\", stopOpacity: \"0.0\" })\n ] }) })\n ] }) }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex justify-between text-[9px] font-bold text-neutral-400 uppercase px-1\", children: [\n /* @__PURE__ */ jsx(\"span\", { children: \"12 AM\" }),\n /* @__PURE__ */ jsx(\"span\", { children: \"4 AM\" }),\n /* @__PURE__ */ jsx(\"span\", { children: \"8 AM\" }),\n /* @__PURE__ */ jsx(\"span\", { children: \"12 PM\" }),\n /* @__PURE__ */ jsx(\"span\", { children: \"4 PM\" }),\n /* @__PURE__ */ jsx(\"span\", { children: \"8 PM\" })\n ] })\n ] });\n case \"timer-preparation-segmented\":\n return /* @__PURE__ */ jsxs(\"div\", { className: \"w-full h-full p-4 flex flex-col justify-between select-none font-sans bg-[#12141A] text-white rounded-[24px]\", children: [\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-start justify-between\", children: [\n /* @__PURE__ */ jsxs(\"div\", { children: [\n /* @__PURE__ */ jsx(\"div\", { className: \"text-4xl font-black tracking-tight leading-none font-sans\", children: \"25:04\" }),\n /* @__PURE__ */ jsx(\"div\", { className: \"text-xs font-semibold text-neutral-400 mt-1\", children: \"Left for preparation\" })\n ] }),\n /* @__PURE__ */ jsx(\"div\", { className: \"w-8 h-8 rounded-full bg-[#1A3660] text-[#3B82F6] flex items-center justify-center border border-[#2563EB]/30\", children: /* @__PURE__ */ jsx(Check, { className: \"w-4 h-4 stroke-[3]\" }) })\n ] }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"relative pt-6\", children: [\n /* @__PURE__ */ jsxs(\"div\", { className: \"absolute top-0 right-3 transform -translate-y-full flex flex-col items-center\", children: [\n /* @__PURE__ */ jsxs(\"div\", { className: \"bg-[#2563EB] text-white text-[11px] font-bold px-3 py-1 rounded-full shadow-lg flex items-center gap-1\", children: [\n /* @__PURE__ */ jsx(\"span\", { className: \"w-3.5 h-3.5 rounded-full bg-white text-[#2563EB] text-[9px] font-black flex items-center justify-center\", children: \"1\" }),\n /* @__PURE__ */ jsx(\"span\", { children: \"Preparation\" })\n ] }),\n /* @__PURE__ */ jsx(\"div\", { className: \"w-0 h-0 border-l-[5px] border-l-transparent border-r-[5px] border-r-transparent border-t-[5px] border-t-[#2563EB]\" })\n ] }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"relative w-full h-11 bg-[#1A2333] rounded-xl p-1 flex items-center justify-between gap-1 overflow-hidden\", children: [\n [1, 2, 3].map((seg) => /* @__PURE__ */ jsx(\"div\", { className: \"flex-1 h-full bg-[#121B2B] rounded-lg\" }, seg)),\n /* @__PURE__ */ jsx(\"div\", { className: \"relative flex-1 h-full bg-[#2563EB] rounded-lg overflow-hidden flex items-center justify-center\", children: /* @__PURE__ */ jsxs(\"svg\", { className: \"absolute inset-0 w-full h-full opacity-30\", viewBox: \"0 0 100 100\", preserveAspectRatio: \"none\", children: [\n /* @__PURE__ */ jsx(\"defs\", { children: /* @__PURE__ */ jsx(\"pattern\", { id: \"stripes\", width: \"20\", height: \"20\", patternTransform: \"rotate(45 0 0)\", patternUnits: \"userSpaceOnUse\", children: /* @__PURE__ */ jsx(\"line\", { x1: \"0\", y1: \"0\", x2: \"0\", y2: \"20\", stroke: \"#FFFFFF\", strokeWidth: \"10\" }) }) }),\n /* @__PURE__ */ jsx(\"rect\", { width: \"100%\", height: \"100%\", fill: \"url(#stripes)\" })\n ] }) }),\n /* @__PURE__ */ jsx(\"div\", { className: \"absolute top-0 bottom-0 right-10 w-0.5 bg-white shadow-[0_0_8px_rgba(255,255,255,0.8)] z-10\" })\n ] })\n ] })\n ] });\n case \"noise-decibel-level\":\n return /* @__PURE__ */ jsxs(\n \"div\",\n {\n onClick: (e) => {\n e.stopPropagation();\n triggerHaptic(\"light\");\n setDecibelLevel(decibelLevel === 40 ? 60 : 40);\n },\n className: `w-full h-full p-4 flex flex-col justify-between select-none font-sans rounded-[24px] cursor-pointer transition-colors duration-300 ${isDark ? \"bg-[#18181A] text-white border border-white/10\" : \"bg-[#EAEBED] text-neutral-900\"}`,\n children: [\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-start justify-between\", children: [\n /* @__PURE__ */ jsx(\"span\", { className: \"text-xs font-semibold text-neutral-400\", children: \"Current noise level\" }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-end gap-1 h-4\", children: [\n /* @__PURE__ */ jsx(\"div\", { className: `w-1 rounded-full ${decibelLevel === 40 ? \"h-2 bg-[#22C55E]\" : \"h-2 bg-[#EAB308]\"}` }),\n /* @__PURE__ */ jsx(\"div\", { className: `w-1 rounded-full ${decibelLevel === 40 ? \"h-3 bg-[#22C55E]\" : \"h-3 bg-[#EAB308]\"}` }),\n /* @__PURE__ */ jsx(\"div\", { className: `w-1 rounded-full ${decibelLevel === 40 ? \"h-4 bg-[#22C55E]\" : \"h-4 bg-[#EAB308]\"}` })\n ] })\n ] }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-baseline gap-1 my-1\", children: [\n /* @__PURE__ */ jsx(\"span\", { className: \"text-5xl font-black tracking-tight leading-none font-sans\", children: decibelLevel }),\n /* @__PURE__ */ jsx(\"span\", { className: \"text-base font-bold text-neutral-400\", children: \"dB\" })\n ] }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex justify-between text-[11px] font-semibold text-neutral-400 px-0.5 mb-1\", children: [\n /* @__PURE__ */ jsx(\"span\", { children: \"Low\" }),\n /* @__PURE__ */ jsx(\"span\", { children: \"High\" })\n ] }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center gap-2\", children: [\n /* @__PURE__ */ jsxs(\"div\", { className: `relative flex-1 h-12 rounded-2xl flex items-center justify-start px-4 overflow-hidden ${decibelLevel === 40 ? \"bg-[#22C55E] text-white shadow-md\" : \"bg-[#EAB308] text-white shadow-md\"}`, children: [\n /* @__PURE__ */ jsxs(\"svg\", { className: \"absolute inset-0 w-full h-full opacity-25\", viewBox: \"0 0 100 100\", preserveAspectRatio: \"none\", children: [\n /* @__PURE__ */ jsx(\"defs\", { children: /* @__PURE__ */ jsx(\"pattern\", { id: \"db-stripes\", width: \"16\", height: \"16\", patternTransform: \"rotate(45 0 0)\", patternUnits: \"userSpaceOnUse\", children: /* @__PURE__ */ jsx(\"line\", { x1: \"0\", y1: \"0\", x2: \"0\", y2: \"16\", stroke: \"#FFFFFF\", strokeWidth: \"8\" }) }) }),\n /* @__PURE__ */ jsx(\"rect\", { width: \"100%\", height: \"100%\", fill: \"url(#db-stripes)\" })\n ] }),\n /* @__PURE__ */ jsx(\"span\", { className: \"relative z-10 text-base font-black font-sans\", children: decibelLevel })\n ] }),\n /* @__PURE__ */ jsx(\"div\", { className: \"w-1 h-8 bg-neutral-400/40 rounded-full\" }),\n /* @__PURE__ */ jsx(\"div\", { className: `flex-1 h-12 rounded-2xl flex items-center justify-end px-4 font-black text-base font-sans ${isDark ? \"bg-white/10 text-neutral-400\" : \"bg-neutral-300/80 text-neutral-500\"}`, children: \"120\" })\n ] })\n ]\n }\n );\n // --- MONOCHROMATIC COMPONENTS ---\n case \"mono-stock\":\n return /* @__PURE__ */ jsxs(\"div\", { className: containerClasses, children: [\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-start justify-between\", children: [\n /* @__PURE__ */ jsxs(\"div\", { children: [\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center gap-1.5 font-bold text-[10px] tracking-wider uppercase opacity-60\", children: [\n /* @__PURE__ */ jsx(\"span\", { children: \"AAPL\" }),\n /* @__PURE__ */ jsx(\"span\", { className: \"w-1.5 h-1.5 rounded-full bg-white animate-pulse\" })\n ] }),\n /* @__PURE__ */ jsx(\"div\", { className: \"text-2xl font-black tracking-tight mt-0.5\", children: \"$182.40\" }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center gap-1 text-[10px] font-bold opacity-80 mt-0.5\", children: [\n /* @__PURE__ */ jsx(TrendingUp, { className: \"w-3 h-3\" }),\n /* @__PURE__ */ jsx(\"span\", { children: \"+$4.15 (+2.33%)\" })\n ] })\n ] }),\n /* @__PURE__ */ jsx(\"div\", { className: `flex items-center p-0.5 rounded-full border ${isDark ? \"bg-neutral-900 border-white/10\" : \"bg-neutral-100 border-black/10\"}`, children: [\"1D\", \"1W\", \"1M\", \"1Y\"].map((r) => /* @__PURE__ */ jsx(\n \"button\",\n {\n onClick: (e) => {\n e.stopPropagation();\n triggerHaptic(\"light\");\n setStockRange(r);\n },\n className: `px-2 py-0.5 text-[9px] font-bold rounded-full transition-colors cursor-pointer border-0 ${stockRange === r ? isDark ? \"bg-white text-black\" : \"bg-black text-white\" : isDark ? \"text-neutral-400 hover:text-white\" : \"text-neutral-600 hover:text-black\"}`,\n children: r\n },\n r\n )) })\n ] }),\n /* @__PURE__ */ jsx(\"div\", { className: \"relative w-full h-16 mt-2\", children: /* @__PURE__ */ jsxs(\"svg\", { className: \"w-full h-full overflow-visible\", preserveAspectRatio: \"none\", viewBox: \"0 0 100 40\", children: [\n /* @__PURE__ */ jsx(\"path\", { d: \"M0,30 Q15,10 30,25 T60,15 T90,5 L100,2 L100,40 L0,40 Z\", fill: isDark ? \"rgba(255,255,255,0.06)\" : \"rgba(0,0,0,0.04)\" }),\n /* @__PURE__ */ jsx(\n motion.path,\n {\n d: \"M0,30 Q15,10 30,25 T60,15 T90,5 L100,2\",\n fill: \"none\",\n stroke: isDark ? \"#FFFFFF\" : \"#000000\",\n strokeWidth: \"2.5\",\n strokeLinecap: \"round\",\n initial: { pathLength: 0 },\n animate: { pathLength: 1 },\n transition: { duration: 0.8 }\n }\n ),\n /* @__PURE__ */ jsx(\"circle\", { cx: \"100\", cy: \"2\", r: \"3\", fill: isDark ? \"#FFFFFF\" : \"#000000\" })\n ] }) })\n ] });\n case \"mono-revenue\":\n return /* @__PURE__ */ jsxs(\"div\", { className: containerClasses, children: [\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center justify-between\", children: [\n /* @__PURE__ */ jsxs(\"div\", { children: [\n /* @__PURE__ */ jsx(\"div\", { className: \"text-[10px] font-bold opacity-50 uppercase tracking-wider\", children: \"Revenue Stream\" }),\n /* @__PURE__ */ jsx(\"div\", { className: \"text-2xl font-black mt-0.5\", children: \"$94,820.00\" })\n ] }),\n /* @__PURE__ */ jsx(\"div\", { className: `p-2 rounded-xl border ${isDark ? \"bg-white/5 border-white/10 text-white\" : \"bg-black/5 border-black/10 text-black\"}`, children: /* @__PURE__ */ jsx(Zap, { className: \"w-4 h-4\" }) })\n ] }),\n /* @__PURE__ */ jsx(\"div\", { className: \"relative w-full h-16 mt-2\", children: /* @__PURE__ */ jsxs(\"svg\", { className: \"w-full h-full overflow-visible\", preserveAspectRatio: \"none\", viewBox: \"0 0 100 40\", children: [\n /* @__PURE__ */ jsx(\"path\", { d: \"M0,35 Q20,10 40,20 T80,5 L100,12 L100,40 L0,40 Z\", fill: isDark ? \"rgba(255,255,255,0.06)\" : \"rgba(0,0,0,0.04)\" }),\n /* @__PURE__ */ jsx(\n motion.path,\n {\n d: \"M0,35 Q20,10 40,20 T80,5 L100,12\",\n fill: \"none\",\n stroke: isDark ? \"#FFFFFF\" : \"#000000\",\n strokeWidth: \"2.5\",\n strokeLinecap: \"round\",\n initial: { pathLength: 0 },\n animate: { pathLength: 1 },\n transition: { duration: 0.8 }\n }\n )\n ] }) })\n ] });\n case \"mono-credit\":\n return /* @__PURE__ */ jsxs(\"div\", { className: \"w-full h-full p-4 flex flex-col items-center justify-center text-center select-none font-sans\", children: [\n /* @__PURE__ */ jsxs(\"div\", { className: \"relative w-24 h-24 flex items-center justify-center mb-1\", children: [\n /* @__PURE__ */ jsxs(\"svg\", { className: \"w-full h-full transform -rotate-90\", viewBox: \"0 0 36 36\", children: [\n /* @__PURE__ */ jsx(\"path\", { className: isDark ? \"text-neutral-800\" : \"text-neutral-200\", strokeWidth: \"3.5\", stroke: \"currentColor\", fill: \"none\", d: \"M18 2.0845 a 15.9155 15.9155 0 0 1 0 31.831 a 15.9155 15.9155 0 0 1 0 -31.831\" }),\n /* @__PURE__ */ jsx(\n motion.path,\n {\n className: isDark ? \"text-white\" : \"text-black\",\n strokeWidth: \"3.5\",\n strokeDasharray: \"78, 100\",\n strokeLinecap: \"round\",\n stroke: \"currentColor\",\n fill: \"none\",\n d: \"M18 2.0845 a 15.9155 15.9155 0 0 1 0 31.831 a 15.9155 15.9155 0 0 1 0 -31.831\",\n initial: { strokeDasharray: \"0, 100\" },\n animate: { strokeDasharray: \"78, 100\" },\n transition: { duration: 0.8 }\n }\n )\n ] }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"absolute flex flex-col items-center\", children: [\n /* @__PURE__ */ jsx(\"span\", { className: `text-xl font-black ${isDark ? \"text-white\" : \"text-black\"}`, children: \"785\" }),\n /* @__PURE__ */ jsx(\"span\", { className: \"text-[8px] font-bold opacity-60 uppercase\", children: \"Score\" })\n ] })\n ] }),\n /* @__PURE__ */ jsx(\"span\", { className: `text-[9px] font-bold px-2 py-0.5 rounded-full border ${isDark ? \"bg-white/10 text-white border-white/20\" : \"bg-black/10 text-black border-black/20\"}`, children: \"Excellent Tier\" })\n ] });\n case \"mono-wallet\":\n return /* @__PURE__ */ jsxs(\"div\", { className: containerClasses, children: [\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center justify-between\", children: [\n /* @__PURE__ */ jsx(\"span\", { className: \"text-xs font-bold opacity-60\", children: \"Wallet Balance\" }),\n /* @__PURE__ */ jsx(\"span\", { className: \"text-xs font-bold\", children: \"$24,500.00\" })\n ] }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"grid grid-cols-2 gap-2 my-1\", children: [\n /* @__PURE__ */ jsxs(\"div\", { className: `p-2 rounded-xl border ${isDark ? \"bg-white/[0.03] border-white/10\" : \"bg-black/[0.03] border-black/10\"}`, children: [\n /* @__PURE__ */ jsx(\"div\", { className: \"text-[9px] font-medium opacity-50\", children: \"Inflow\" }),\n /* @__PURE__ */ jsx(\"div\", { className: \"text-base font-black\", children: \"+$8,240\" })\n ] }),\n /* @__PURE__ */ jsxs(\"div\", { className: `p-2 rounded-xl border ${isDark ? \"bg-white/[0.03] border-white/10\" : \"bg-black/[0.03] border-black/10\"}`, children: [\n /* @__PURE__ */ jsx(\"div\", { className: \"text-[9px] font-medium opacity-50\", children: \"Outflow\" }),\n /* @__PURE__ */ jsx(\"div\", { className: \"text-base font-black\", children: \"-$2,150\" })\n ] })\n ] }),\n /* @__PURE__ */ jsx(\"div\", { className: \"text-[10px] opacity-60\", children: \"Auto-save enabled \\xB7 4 cards linked\" })\n ] });\n case \"mono-savings\":\n return /* @__PURE__ */ jsxs(\"div\", { className: containerClasses, children: [\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center justify-between\", children: [\n /* @__PURE__ */ jsx(\"span\", { className: \"text-xs font-bold opacity-60\", children: \"Savings Goal\" }),\n /* @__PURE__ */ jsx(\"span\", { className: \"text-xs font-bold\", children: \"$12,400\" })\n ] }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"my-2\", children: [\n /* @__PURE__ */ jsx(\"div\", { className: \"text-[10px] opacity-60\", children: \"Target: New House ($15,000)\" }),\n /* @__PURE__ */ jsx(\"div\", { className: `w-full h-2 rounded-full mt-1.5 overflow-hidden ${isDark ? \"bg-neutral-800\" : \"bg-neutral-200\"}`, children: /* @__PURE__ */ jsx(motion.div, { initial: { width: 0 }, animate: { width: \"82%\" }, transition: { duration: 0.7 }, className: `h-full rounded-full ${isDark ? \"bg-white\" : \"bg-black\"}` }) })\n ] }),\n /* @__PURE__ */ jsx(\"div\", { className: \"text-[10px] font-medium opacity-60\", children: \"+ $800 auto-deposit / mo\" })\n ] });\n case \"mono-heatmap\":\n return /* @__PURE__ */ jsxs(\"div\", { className: containerClasses, children: [\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center justify-between\", children: [\n /* @__PURE__ */ jsx(\"span\", { className: \"text-xs font-bold opacity-60\", children: \"Activity Heatmap\" }),\n /* @__PURE__ */ jsx(\"span\", { className: \"text-[10px] font-mono font-bold\", children: \"342 Commits\" })\n ] }),\n /* @__PURE__ */ jsx(\"div\", { className: \"grid grid-cols-7 gap-1 my-1\", children: Array.from({ length: 28 }).map((_, i) => /* @__PURE__ */ jsx(\n \"div\",\n {\n className: `w-full aspect-square rounded-xs ${i % 5 === 0 ? isDark ? \"bg-white\" : \"bg-black\" : i % 3 === 0 ? isDark ? \"bg-neutral-500\" : \"bg-neutral-400\" : isDark ? \"bg-neutral-800\" : \"bg-neutral-200\"}`\n },\n i\n )) }),\n /* @__PURE__ */ jsx(\"div\", { className: \"text-[10px] opacity-50\", children: \"High Activity Matrix\" })\n ] });\n case \"mono-activity-ring\":\n return /* @__PURE__ */ jsxs(\"div\", { className: containerClasses, children: [\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center justify-between\", children: [\n /* @__PURE__ */ jsx(\"span\", { className: \"text-xs font-bold opacity-60\", children: \"Activity Rings\" }),\n /* @__PURE__ */ jsx(\"span\", { className: \"text-xs font-bold\", children: \"3 Goals Hit\" })\n ] }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"relative w-24 h-24 flex items-center justify-center mx-auto my-1\", children: [\n /* @__PURE__ */ jsxs(\"svg\", { viewBox: \"0 0 100 100\", className: \"absolute inset-0 w-full h-full transform -rotate-90\", children: [\n /* @__PURE__ */ jsx(\"circle\", { cx: \"50\", cy: \"50\", r: \"42\", className: isDark ? \"text-neutral-800\" : \"text-neutral-200\", strokeWidth: \"4\", stroke: \"currentColor\", fill: \"none\" }),\n /* @__PURE__ */ jsx(motion.circle, { cx: \"50\", cy: \"50\", r: \"42\", className: isDark ? \"text-white\" : \"text-black\", strokeWidth: \"4\", strokeLinecap: \"round\", stroke: \"currentColor\", fill: \"none\", strokeDasharray: \"263.8\", strokeDashoffset: \"52.7\" })\n ] }),\n /* @__PURE__ */ jsxs(\"svg\", { viewBox: \"0 0 100 100\", className: \"absolute inset-0 w-full h-full transform -rotate-90\", children: [\n /* @__PURE__ */ jsx(\"circle\", { cx: \"50\", cy: \"50\", r: \"32\", className: isDark ? \"text-neutral-800\" : \"text-neutral-200\", strokeWidth: \"4\", stroke: \"currentColor\", fill: \"none\" }),\n /* @__PURE__ */ jsx(motion.circle, { cx: \"50\", cy: \"50\", r: \"32\", className: isDark ? \"text-neutral-400\" : \"text-neutral-600\", strokeWidth: \"4\", strokeLinecap: \"round\", stroke: \"currentColor\", fill: \"none\", strokeDasharray: \"201\", strokeDashoffset: \"40.2\" })\n ] }),\n /* @__PURE__ */ jsxs(\"svg\", { viewBox: \"0 0 100 100\", className: \"absolute inset-0 w-full h-full transform -rotate-90\", children: [\n /* @__PURE__ */ jsx(\"circle\", { cx: \"50\", cy: \"50\", r: \"22\", className: isDark ? \"text-neutral-800\" : \"text-neutral-200\", strokeWidth: \"4\", stroke: \"currentColor\", fill: \"none\" }),\n /* @__PURE__ */ jsx(motion.circle, { cx: \"50\", cy: \"50\", r: \"22\", className: isDark ? \"text-neutral-600\" : \"text-neutral-400\", strokeWidth: \"4\", strokeLinecap: \"round\", stroke: \"currentColor\", fill: \"none\", strokeDasharray: \"138.2\", strokeDashoffset: \"27.6\" })\n ] }),\n /* @__PURE__ */ jsx(\"span\", { className: \"text-xs font-black\", children: \"88%\" })\n ] }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex justify-around text-[10px] font-semibold opacity-70\", children: [\n /* @__PURE__ */ jsx(\"span\", { children: \"Move\" }),\n \" \\xB7 \",\n /* @__PURE__ */ jsx(\"span\", { children: \"Exercise\" }),\n \" \\xB7 \",\n /* @__PURE__ */ jsx(\"span\", { children: \"Stand\" })\n ] })\n ] });\n case \"mono-users\":\n return /* @__PURE__ */ jsxs(\"div\", { className: containerClasses, children: [\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center justify-between\", children: [\n /* @__PURE__ */ jsx(\"span\", { className: \"text-xs font-bold opacity-60\", children: \"Active Users (MAU)\" }),\n /* @__PURE__ */ jsx(\"span\", { className: \"text-xs font-bold\", children: \"+12.4%\" })\n ] }),\n /* @__PURE__ */ jsx(\"div\", { className: \"text-3xl font-black\", children: \"48.2k\" }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center gap-1 text-[10px] opacity-70\", children: [\n /* @__PURE__ */ jsx(\"span\", { className: `px-1.5 py-0.5 rounded font-semibold ${isDark ? \"bg-white/10 text-white\" : \"bg-black/10 text-black\"}`, children: \"US 54%\" }),\n /* @__PURE__ */ jsx(\"span\", { className: `px-1.5 py-0.5 rounded font-semibold ${isDark ? \"bg-white/10 text-white\" : \"bg-black/10 text-black\"}`, children: \"EU 32%\" })\n ] })\n ] });\n case \"mono-kfactor\":\n return /* @__PURE__ */ jsxs(\"div\", { className: containerClasses, children: [\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center justify-between\", children: [\n /* @__PURE__ */ jsx(\"span\", { className: \"text-xs font-bold opacity-60\", children: \"Viral K-Factor Arc\" }),\n /* @__PURE__ */ jsx(\"span\", { className: \"text-xs font-bold\", children: \"K = 1.42\" })\n ] }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"relative w-24 h-24 flex items-center justify-center mx-auto my-1\", children: [\n /* @__PURE__ */ jsxs(\"svg\", { viewBox: \"0 0 36 36\", className: \"w-full h-full transform -rotate-90\", children: [\n /* @__PURE__ */ jsx(\"circle\", { cx: \"18\", cy: \"18\", r: \"14\", className: isDark ? \"text-neutral-800\" : \"text-neutral-200\", strokeWidth: \"3.5\", stroke: \"currentColor\", fill: \"none\" }),\n /* @__PURE__ */ jsx(\n motion.circle,\n {\n cx: \"18\",\n cy: \"18\",\n r: \"14\",\n className: isDark ? \"text-white\" : \"text-black\",\n strokeWidth: \"3.5\",\n strokeLinecap: \"round\",\n stroke: \"currentColor\",\n fill: \"none\",\n strokeDasharray: \"88\",\n strokeDashoffset: \"26\",\n initial: { strokeDashoffset: 88 },\n animate: { strokeDashoffset: 26 },\n transition: { duration: 1 }\n }\n )\n ] }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"absolute flex flex-col items-center\", children: [\n /* @__PURE__ */ jsx(\"span\", { className: \"text-lg font-black\", children: \"1.42x\" }),\n /* @__PURE__ */ jsx(\"span\", { className: \"text-[8px] font-bold opacity-60 uppercase\", children: \"Growth\" })\n ] })\n ] }),\n /* @__PURE__ */ jsx(\"div\", { className: \"text-[10px] text-center opacity-60\", children: \"Exponential referral multiplier\" })\n ] });\n case \"mono-latency\":\n return /* @__PURE__ */ jsxs(\"div\", { className: containerClasses, children: [\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center justify-between\", children: [\n /* @__PURE__ */ jsx(\"span\", { className: \"text-xs font-bold opacity-60\", children: \"Latency P99\" }),\n /* @__PURE__ */ jsx(\"span\", { className: \"text-xs font-mono font-bold\", children: \"1.8ms\" })\n ] }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"my-1\", children: [\n /* @__PURE__ */ jsx(\"div\", { className: \"text-2xl font-black\", children: \"1.8s Avg\" }),\n /* @__PURE__ */ jsx(\"div\", { className: \"text-[10px] opacity-50\", children: \"P99: 3.6s \\xB7 P95: 0.4s\" })\n ] }),\n /* @__PURE__ */ jsx(\"div\", { className: \"h-10 w-full mt-1\", children: /* @__PURE__ */ jsx(\"svg\", { className: \"w-full h-full overflow-visible\", preserveAspectRatio: \"none\", viewBox: \"0 0 100 30\", children: /* @__PURE__ */ jsx(\"path\", { d: \"M0,20 L20,25 L40,15 L60,25 L80,10 L100,5\", fill: \"none\", stroke: isDark ? \"#FFFFFF\" : \"#000000\", strokeWidth: \"2.5\", strokeLinecap: \"round\" }) }) })\n ] });\n case \"mono-bandwidth\":\n return /* @__PURE__ */ jsxs(\"div\", { className: containerClasses, children: [\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center justify-between\", children: [\n /* @__PURE__ */ jsx(\"span\", { className: \"text-xs font-bold opacity-60\", children: \"Bandwidth Speed Dial\" }),\n /* @__PURE__ */ jsx(\"span\", { className: \"text-xs font-mono font-bold\", children: \"1.2 Gbps\" })\n ] }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"relative w-full h-16 flex items-center justify-center my-1\", children: [\n /* @__PURE__ */ jsxs(\"svg\", { viewBox: \"0 0 100 50\", className: \"w-full h-full overflow-visible\", children: [\n /* @__PURE__ */ jsx(\"path\", { d: \"M 10 50 A 40 40 0 0 1 90 50\", fill: \"none\", stroke: isDark ? \"#262626\" : \"#E5E5E5\", strokeWidth: \"8\", strokeLinecap: \"round\" }),\n /* @__PURE__ */ jsx(\n motion.path,\n {\n d: \"M 10 50 A 40 40 0 0 1 90 50\",\n fill: \"none\",\n stroke: isDark ? \"#FFFFFF\" : \"#000000\",\n strokeWidth: \"8\",\n strokeLinecap: \"round\",\n strokeDasharray: \"125.6\",\n strokeDashoffset: \"25\",\n initial: { strokeDashoffset: 125.6 },\n animate: { strokeDashoffset: 25 },\n transition: { duration: 1 }\n }\n )\n ] }),\n /* @__PURE__ */ jsx(\"div\", { className: \"absolute bottom-1 flex flex-col items-center\", children: /* @__PURE__ */ jsx(\"span\", { className: \"text-lg font-black\", children: \"840 Mbps\" }) })\n ] }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex justify-between text-[10px] font-mono opacity-60\", children: [\n /* @__PURE__ */ jsx(\"span\", { children: \"Latency: 1.2ms\" }),\n /* @__PURE__ */ jsx(\"span\", { children: \"Packet Loss: 0%\" })\n ] })\n ] });\n case \"mono-server\":\n return /* @__PURE__ */ jsxs(\"div\", { className: containerClasses, children: [\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center justify-between\", children: [\n /* @__PURE__ */ jsx(\"span\", { className: \"text-xs font-bold opacity-60\", children: \"Dual Arc Server Gauge\" }),\n /* @__PURE__ */ jsx(\"span\", { className: \"text-xs font-bold\", children: \"Normal\" })\n ] }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center justify-around my-1\", children: [\n /* @__PURE__ */ jsxs(\"div\", { className: \"relative w-20 h-20 flex items-center justify-center\", children: [\n /* @__PURE__ */ jsxs(\"svg\", { viewBox: \"0 0 36 36\", className: \"w-full h-full transform -rotate-90\", children: [\n /* @__PURE__ */ jsx(\"path\", { className: isDark ? \"text-neutral-800\" : \"text-neutral-200\", strokeWidth: \"4\", stroke: \"currentColor\", fill: \"none\", d: \"M18 2.0845 a 15.9155 15.9155 0 0 1 0 31.831 a 15.9155 15.9155 0 0 1 0 -31.831\" }),\n /* @__PURE__ */ jsx(\n motion.path,\n {\n className: isDark ? \"text-white\" : \"text-black\",\n strokeWidth: \"4\",\n strokeDasharray: \"32, 100\",\n strokeLinecap: \"round\",\n stroke: \"currentColor\",\n fill: \"none\",\n d: \"M18 2.0845 a 15.9155 15.9155 0 0 1 0 31.831 a 15.9155 15.9155 0 0 1 0 -31.831\",\n initial: { strokeDasharray: \"0, 100\" },\n animate: { strokeDasharray: \"32, 100\" },\n transition: { duration: 0.8 }\n }\n )\n ] }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"absolute flex flex-col items-center\", children: [\n /* @__PURE__ */ jsx(\"span\", { className: \"text-sm font-black\", children: \"32%\" }),\n /* @__PURE__ */ jsx(\"span\", { className: \"text-[8px] font-bold opacity-60 uppercase\", children: \"CPU\" })\n ] })\n ] }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"relative w-20 h-20 flex items-center justify-center\", children: [\n /* @__PURE__ */ jsxs(\"svg\", { viewBox: \"0 0 36 36\", className: \"w-full h-full transform -rotate-90\", children: [\n /* @__PURE__ */ jsx(\"path\", { className: isDark ? \"text-neutral-800\" : \"text-neutral-200\", strokeWidth: \"4\", stroke: \"currentColor\", fill: \"none\", d: \"M18 2.0845 a 15.9155 15.9155 0 0 1 0 31.831 a 15.9155 15.9155 0 0 1 0 -31.831\" }),\n /* @__PURE__ */ jsx(\n motion.path,\n {\n className: isDark ? \"text-neutral-400\" : \"text-neutral-600\",\n strokeWidth: \"4\",\n strokeDasharray: \"64, 100\",\n strokeLinecap: \"round\",\n stroke: \"currentColor\",\n fill: \"none\",\n d: \"M18 2.0845 a 15.9155 15.9155 0 0 1 0 31.831 a 15.9155 15.9155 0 0 1 0 -31.831\",\n initial: { strokeDasharray: \"0, 100\" },\n animate: { strokeDasharray: \"64, 100\" },\n transition: { duration: 0.8, delay: 0.1 }\n }\n )\n ] }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"absolute flex flex-col items-center\", children: [\n /* @__PURE__ */ jsx(\"span\", { className: \"text-sm font-black\", children: \"64%\" }),\n /* @__PURE__ */ jsx(\"span\", { className: \"text-[8px] font-bold opacity-60 uppercase\", children: \"RAM\" })\n ] })\n ] })\n ] }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex justify-around text-[10px] font-mono opacity-60\", children: [\n /* @__PURE__ */ jsx(\"span\", { children: \"Nodes: 8 Active\" }),\n /* @__PURE__ */ jsx(\"span\", { children: \"Heap: 4.2 GB\" })\n ] })\n ] });\n case \"mono-progress\":\n return /* @__PURE__ */ jsxs(\"div\", { className: containerClasses, children: [\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center justify-between\", children: [\n /* @__PURE__ */ jsx(\"span\", { className: \"text-xs font-bold opacity-60\", children: \"Circular Build Ring\" }),\n /* @__PURE__ */ jsx(\"span\", { className: \"text-xs font-bold\", children: \"Building...\" })\n ] }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"relative w-24 h-24 flex items-center justify-center mx-auto my-1\", children: [\n /* @__PURE__ */ jsxs(\"svg\", { viewBox: \"0 0 36 36\", className: \"w-full h-full transform -rotate-90\", children: [\n /* @__PURE__ */ jsx(\"circle\", { cx: \"18\", cy: \"18\", r: \"14\", className: isDark ? \"text-neutral-800\" : \"text-neutral-200\", strokeWidth: \"3\", stroke: \"currentColor\", fill: \"none\" }),\n /* @__PURE__ */ jsx(\n motion.circle,\n {\n cx: \"18\",\n cy: \"18\",\n r: \"14\",\n className: isDark ? \"text-white\" : \"text-black\",\n strokeWidth: \"3\",\n strokeLinecap: \"round\",\n stroke: \"currentColor\",\n fill: \"none\",\n strokeDasharray: \"88\",\n strokeDashoffset: \"22\",\n initial: { strokeDashoffset: 88 },\n animate: { strokeDashoffset: 22 },\n transition: { duration: 1 }\n }\n )\n ] }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"absolute flex flex-col items-center\", children: [\n /* @__PURE__ */ jsx(\"span\", { className: \"text-xl font-black\", children: \"75%\" }),\n /* @__PURE__ */ jsx(\"span\", { className: \"text-[8px] font-semibold opacity-60\", children: \"Stage 3/4\" })\n ] })\n ] }),\n /* @__PURE__ */ jsx(\"div\", { className: \"text-[10px] text-center opacity-60\", children: \"Compiling bundle chunks...\" })\n ] });\n case \"mono-radar\":\n return /* @__PURE__ */ jsxs(\"div\", { className: containerClasses, children: [\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center justify-between\", children: [\n /* @__PURE__ */ jsx(\"span\", { className: \"text-xs font-bold opacity-60\", children: \"Incident Radar Arc\" }),\n /* @__PURE__ */ jsxs(\"span\", { className: \"text-xs font-bold flex items-center gap-1\", children: [\n /* @__PURE__ */ jsx(\"span\", { className: `w-2 h-2 rounded-full animate-ping ${isDark ? \"bg-white\" : \"bg-black\"}` }),\n /* @__PURE__ */ jsx(\"span\", { children: \"Scanning\" })\n ] })\n ] }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"relative w-full h-16 flex items-center justify-center my-1\", children: [\n /* @__PURE__ */ jsxs(\"svg\", { viewBox: \"0 0 100 50\", className: \"w-full h-full overflow-visible\", children: [\n /* @__PURE__ */ jsx(\"path\", { d: \"M 10 50 A 40 40 0 0 1 90 50\", fill: \"none\", stroke: isDark ? \"#262626\" : \"#E5E5E5\", strokeWidth: \"6\", strokeLinecap: \"round\" }),\n /* @__PURE__ */ jsx(\n motion.path,\n {\n d: \"M 10 50 A 40 40 0 0 1 90 50\",\n fill: \"none\",\n stroke: isDark ? \"#FFFFFF\" : \"#000000\",\n strokeWidth: \"6\",\n strokeLinecap: \"round\",\n strokeDasharray: \"125.6\",\n strokeDashoffset: \"0\",\n initial: { strokeDashoffset: 125.6 },\n animate: { strokeDashoffset: 0 },\n transition: { duration: 1 }\n }\n )\n ] }),\n /* @__PURE__ */ jsx(\"div\", { className: \"absolute bottom-1 flex flex-col items-center\", children: /* @__PURE__ */ jsx(\"span\", { className: \"text-xs font-black\", children: \"Zero Criticals\" }) })\n ] }),\n /* @__PURE__ */ jsx(\"div\", { className: \"text-[10px] opacity-60 text-center\", children: \"Monitored 24/7 \\xB7 0 Open Alerts\" })\n ] });\n case \"mono-timer-arc\":\n return /* @__PURE__ */ jsxs(\"div\", { className: \"w-full h-full p-4 flex flex-col items-center justify-between select-none font-sans\", children: [\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center justify-between w-full\", children: [\n /* @__PURE__ */ jsx(\"span\", { className: \"text-xs font-bold opacity-60\", children: \"Focus Arc Gauge\" }),\n /* @__PURE__ */ jsx(\"span\", { className: \"text-xs font-mono font-bold\", children: \"25:00\" })\n ] }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"relative w-28 h-28 flex items-center justify-center my-1\", children: [\n /* @__PURE__ */ jsxs(\"svg\", { viewBox: \"0 0 100 100\", className: \"w-full h-full transform -rotate-90\", children: [\n /* @__PURE__ */ jsx(\"circle\", { cx: \"50\", cy: \"50\", r: \"40\", className: isDark ? \"text-neutral-800\" : \"text-neutral-200\", strokeWidth: \"8\", stroke: \"currentColor\", fill: \"none\" }),\n /* @__PURE__ */ jsx(\n motion.circle,\n {\n cx: \"50\",\n cy: \"50\",\n r: \"40\",\n className: isDark ? \"text-white\" : \"text-black\",\n strokeWidth: \"8\",\n strokeLinecap: \"round\",\n stroke: \"currentColor\",\n fill: \"none\",\n strokeDasharray: \"251.2\",\n strokeDashoffset: \"62.8\",\n initial: { strokeDashoffset: 62.8 },\n animate: { strokeDashoffset: 62.8 },\n transition: { duration: 1.2 }\n }\n )\n ] }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"absolute flex flex-col items-center\", children: [\n /* @__PURE__ */ jsx(\"span\", { className: `text-xl font-black ${isDark ? \"text-white\" : \"text-black\"}`, children: \"18:42\" }),\n /* @__PURE__ */ jsx(\"span\", { className: \"text-[9px] font-semibold opacity-60 uppercase tracking-widest\", children: \"Remaining\" })\n ] })\n ] }),\n /* @__PURE__ */ jsx(\n \"button\",\n {\n onClick: (e) => {\n e.stopPropagation();\n triggerHaptic(\"medium\");\n setTimerActive(!timerActive);\n },\n className: `px-4 py-1 text-xs font-bold rounded-full border-0 cursor-pointer ${isDark ? \"bg-white text-black\" : \"bg-black text-white\"}`,\n children: timerActive ? \"Pause\" : \"Start Focus\"\n }\n )\n ] });\n case \"mono-timer-ring\":\n default:\n return /* @__PURE__ */ jsxs(\"div\", { className: \"w-full h-full p-4 flex flex-col items-center justify-between select-none font-sans\", children: [\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center justify-between w-full\", children: [\n /* @__PURE__ */ jsx(\"span\", { className: \"text-xs font-bold opacity-60\", children: \"Concentric Ring Timer\" }),\n /* @__PURE__ */ jsx(\"span\", { className: \"text-xs font-bold\", children: \"Deep Work\" })\n ] }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"relative w-28 h-28 flex items-center justify-center\", children: [\n /* @__PURE__ */ jsxs(\"svg\", { viewBox: \"0 0 100 100\", className: \"absolute inset-0 w-full h-full transform -rotate-90\", children: [\n /* @__PURE__ */ jsx(\"circle\", { cx: \"50\", cy: \"50\", r: \"42\", className: isDark ? \"text-neutral-800\" : \"text-neutral-200\", strokeWidth: \"5\", stroke: \"currentColor\", fill: \"none\" }),\n /* @__PURE__ */ jsx(\n motion.circle,\n {\n cx: \"50\",\n cy: \"50\",\n r: \"42\",\n className: isDark ? \"text-white\" : \"text-black\",\n strokeWidth: \"5\",\n strokeLinecap: \"round\",\n stroke: \"currentColor\",\n fill: \"none\",\n strokeDasharray: \"263.8\",\n strokeDashoffset: \"65.9\",\n initial: { strokeDashoffset: 263.8 },\n animate: { strokeDashoffset: 65.9 },\n transition: { duration: 1 }\n }\n )\n ] }),\n /* @__PURE__ */ jsxs(\"svg\", { viewBox: \"0 0 100 100\", className: \"absolute inset-0 w-full h-full transform -rotate-90\", children: [\n /* @__PURE__ */ jsx(\"circle\", { cx: \"50\", cy: \"50\", r: \"32\", className: isDark ? \"text-neutral-800\" : \"text-neutral-200\", strokeWidth: \"5\", stroke: \"currentColor\", fill: \"none\" }),\n /* @__PURE__ */ jsx(\n motion.circle,\n {\n cx: \"50\",\n cy: \"50\",\n r: \"32\",\n className: isDark ? \"text-neutral-400\" : \"text-neutral-600\",\n strokeWidth: \"5\",\n strokeLinecap: \"round\",\n stroke: \"currentColor\",\n fill: \"none\",\n strokeDasharray: \"201\",\n strokeDashoffset: \"40.2\",\n initial: { strokeDashoffset: 201 },\n animate: { strokeDashoffset: 40.2 },\n transition: { duration: 1, delay: 0.2 }\n }\n )\n ] }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex flex-col items-center\", children: [\n /* @__PURE__ */ jsx(\"span\", { className: `text-lg font-black ${isDark ? \"text-white\" : \"text-black\"}`, children: \"75%\" }),\n /* @__PURE__ */ jsx(\"span\", { className: \"text-[9px] font-bold opacity-60\", children: \"Goal\" })\n ] })\n ] }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"flex items-center gap-3 text-[10px] font-semibold opacity-70\", children: [\n /* @__PURE__ */ jsx(\"span\", { children: \"Focus 45m\" }),\n \" \\xB7 \",\n /* @__PURE__ */ jsx(\"span\", { children: \"Break 15m\" })\n ] })\n ] });\n }\n};\n\n// progress-indicator-piano.tsx\nimport { jsx as jsx2 } from \"react/jsx-runtime\";\nfunction MovaComponent({ theme = \"dark\" }) {\n return /* @__PURE__ */ jsx2(AnimatedMetricCard, { theme, config: { \"id\": \"m-progress-piano\", \"label\": \"Progress Indicator Piano Bar Card\", \"interactionType\": \"progress-indicator-piano\", \"description\": \"Piano key progress bar widget with percentage goal readout and completion prediction.\", \"cliCommand\": \"npx @mova-ui/react add progress-indicator-piano\", \"category\": \"Infrastructure\" } });\n}\nexport {\n MovaComponent as default\n};\n"
19
+ }
@@ -1,8 +1,17 @@
1
1
  {
2
2
  "id": "progress-indicator",
3
+ "tier": "free",
4
+ "version": "0.4.1",
3
5
  "file": "progress-indicator.tsx",
6
+ "sourcePath": "ui/scroll/progress-indicator.tsx",
7
+ "registryFile": "progress-indicator.json",
8
+ "exports": [
9
+ "ProgressIndicator"
10
+ ],
4
11
  "dependencies": [
5
12
  "framer-motion"
6
13
  ],
14
+ "license": "MIT",
15
+ "previewMode": "client",
7
16
  "content": "\"use client\";\nimport React from 'react';\nimport { motion, useScroll, useSpring } from 'framer-motion';\n\ninterface ProgressIndicatorProps {\n color?: string;\n height?: number;\n className?: string;\n}\n\nexport function ProgressIndicator({\n color = 'bg-blue-500',\n height = 4,\n className = '',\n}: ProgressIndicatorProps) {\n const { scrollYProgress } = useScroll();\n const scaleX = useSpring(scrollYProgress, {\n stiffness: 100,\n damping: 30,\n restDelta: 0.001,\n });\n\n return (\n <motion.div\n className={`fixed top-0 left-0 right-0 origin-left z-[9999] ${color} ${className}`}\n style={{\n scaleX,\n height,\n position: 'fixed',\n top: 0,\n left: 0,\n right: 0,\n originX: 0,\n zIndex: 9999,\n }}\n />\n );\n}\n"
8
17
  }
@@ -0,0 +1,18 @@
1
+ {
2
+ "id": "progress-stepper",
3
+ "tier": "free",
4
+ "version": "0.4.1",
5
+ "file": "progress-stepper.tsx",
6
+ "sourcePath": "components/css-animations/yui-components/YuiUiKit1.tsx",
7
+ "registryFile": "progress-stepper.json",
8
+ "exports": [
9
+ "default"
10
+ ],
11
+ "dependencies": [
12
+ "framer-motion",
13
+ "lucide-react"
14
+ ],
15
+ "license": "MIT",
16
+ "previewMode": "client",
17
+ "content": "// @ts-nocheck -- Generated JavaScript bundle; edit the maintained catalog source to retain TypeScript types.\n\"use client\";\n\"use client\";\n\n// catalog/components/css-animations/yui-components/YuiUiKit1.tsx\nimport { useState } from \"react\";\nimport { motion, AnimatePresence } from \"framer-motion\";\nimport {\n ChevronDown,\n ExternalLink,\n Plus,\n Minus,\n Sun,\n Moon,\n X,\n ChevronLeft,\n ChevronRight\n} from \"lucide-react\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nfunction ProgressStepper({ theme = \"dark\" }) {\n const [step, setStep] = useState(2);\n const steps = [1, 2, 3];\n return /* @__PURE__ */ jsxs(\"div\", { className: \"flex flex-col items-center gap-3\", children: [\n /* @__PURE__ */ jsxs(\"div\", { className: \"relative flex items-center justify-between w-48\", children: [\n /* @__PURE__ */ jsx(\"div\", { className: `absolute top-1/2 left-0 right-0 h-1 -translate-y-1/2 rounded-full ${theme === \"dark\" ? \"bg-neutral-800\" : \"bg-neutral-200\"}` }),\n /* @__PURE__ */ jsx(\n motion.div,\n {\n animate: { width: `${(step - 1) / (steps.length - 1) * 100}%` },\n transition: { duration: 0.4, ease: [0.16, 1, 0.3, 1] },\n className: \"absolute top-1/2 left-0 h-1 -translate-y-1/2 rounded-full bg-indigo-500\"\n }\n ),\n steps.map((s) => {\n const isDone = s <= step;\n const isCurrent = s === step;\n return /* @__PURE__ */ jsx(\n motion.button,\n {\n whileTap: { scale: 0.9 },\n onClick: () => setStep(s),\n animate: { scale: isCurrent ? 1.2 : 1 },\n className: `relative z-10 w-7 h-7 rounded-full border-2 flex items-center justify-center text-[10px] font-bold transition-colors cursor-pointer ${isDone ? \"bg-indigo-500 border-indigo-400 text-white shadow-md\" : theme === \"dark\" ? \"bg-[#181818] border-neutral-700 text-neutral-500\" : \"bg-white border-neutral-300 text-neutral-400\"}`,\n children: s\n },\n s\n );\n })\n ] }),\n /* @__PURE__ */ jsxs(\"span\", { className: \"text-[11px] font-mono text-neutral-400\", children: [\n \"STEP \",\n step,\n \" of 3\"\n ] })\n ] });\n}\n\n// catalog/registry-bindings/progress-stepper.tsx\nimport { jsx as jsx2 } from \"react/jsx-runtime\";\nvar PRESET_PROPS = { \"theme\": \"dark\" };\nfunction MovaComponentAdapter(props = {}) {\n return /* @__PURE__ */ jsx2(ProgressStepper, { ...PRESET_PROPS, ...props });\n}\nexport {\n MovaComponentAdapter as default\n};\n"
18
+ }
@@ -1,8 +1,17 @@
1
1
  {
2
2
  "id": "pulsating-dots",
3
+ "tier": "free",
4
+ "version": "0.4.1",
3
5
  "file": "pulsating-dots.tsx",
6
+ "sourcePath": "ui/loading/pulsating-dots.tsx",
7
+ "registryFile": "pulsating-dots.json",
8
+ "exports": [
9
+ "PulsatingDots"
10
+ ],
4
11
  "dependencies": [
5
12
  "framer-motion"
6
13
  ],
14
+ "license": "MIT",
15
+ "previewMode": "client",
7
16
  "content": "\"use client\";\nimport React from 'react';\nimport { motion } from 'framer-motion';\n\nexport const PulsatingDots = () => {\n return (\n <div className=\"flex space-x-2\">\n {[0, 1, 2].map((i) => (\n <motion.div\n key={i}\n className=\"w-3 h-3 bg-zinc-800 dark:bg-white rounded-full\"\n animate={{ scale: [1, 1.5, 1], opacity: [0.5, 1, 0.5] }}\n transition={{ duration: 1.2, repeat: Infinity, delay: i * 0.2, ease: \"easeInOut\" }}\n />\n ))}\n </div>\n );\n};\n"
8
17
  }
@@ -0,0 +1,19 @@
1
+ {
2
+ "id": "pulse-char",
3
+ "tier": "free",
4
+ "version": "0.4.1",
5
+ "file": "pulse-char.tsx",
6
+ "registryFile": "pulse-char.json",
7
+ "exports": [
8
+ "default"
9
+ ],
10
+ "dependencies": [
11
+ "framer-motion",
12
+ "lucide-react"
13
+ ],
14
+ "license": "MIT",
15
+ "previewMode": "client",
16
+ "usage": "import MovaComponent from './pulse-char';\n\nexport default function Demo() {\n return <MovaComponent />;\n}",
17
+ "css": "",
18
+ "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/text/AnimatedText.tsx\nimport { useState } from \"react\";\nimport { motion } from \"framer-motion\";\nimport { RefreshCw } from \"lucide-react\";\n\n// src/hooks/useWebHaptics.ts\nimport { useCallback } from \"react\";\nfunction useWebHaptics() {\n const trigger = useCallback((type = \"light\") => {\n if (typeof window === \"undefined\" || !window.navigator || !window.navigator.vibrate) {\n return false;\n }\n try {\n switch (type) {\n case \"light\":\n return window.navigator.vibrate(10);\n case \"medium\":\n return window.navigator.vibrate(25);\n case \"heavy\":\n return window.navigator.vibrate(50);\n case \"success\":\n return window.navigator.vibrate([15, 60, 15]);\n case \"warning\":\n return window.navigator.vibrate([30, 60, 30]);\n case \"error\":\n return window.navigator.vibrate([60, 60, 60, 60, 60]);\n default:\n return window.navigator.vibrate(type);\n }\n } catch (e) {\n console.warn(\"Vibration API error:\", e);\n return false;\n }\n }, []);\n return { trigger };\n}\n\n// src/components/text/AnimatedText.tsx\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nvar AnimatedText = ({ config, theme }) => {\n const [keyIndex, setKeyIndex] = useState(0);\n const { trigger: triggerHaptic } = useWebHaptics();\n const isDark = theme === \"dark\";\n const replay = () => {\n triggerHaptic(\"light\");\n setKeyIndex((prev) => prev + 1);\n };\n const samplePhrase = \"MOVA UI\";\n const sampleWords = [\"Design\", \"Motion\", \"Mova\"];\n return /* @__PURE__ */ jsxs(\n \"div\",\n {\n onClick: replay,\n className: \"relative flex flex-col items-center justify-center w-full h-full cursor-pointer select-none px-4 group\",\n title: \"Click to replay animation\",\n children: [\n /* @__PURE__ */ jsx(\"div\", { className: \"flex items-center justify-center w-full min-h-[60px] text-center\", children: (() => {\n switch (config.interactionType) {\n /* --- FEATURED --- */\n case \"dia-text-reveal\":\n return /* @__PURE__ */ jsx(\"div\", { className: \"relative overflow-hidden font-black text-2xl tracking-tighter\", children: /* @__PURE__ */ jsx(\n motion.div,\n {\n initial: { clipPath: \"polygon(0 0, 0 0, 0 100%, 0% 100%)\", filter: \"blur(8px)\" },\n animate: { clipPath: \"polygon(0 0, 100% 0, 100% 100%, 0 100%)\", filter: \"blur(0px)\" },\n transition: { duration: 0.85, ease: [0.16, 1, 0.3, 1] },\n className: isDark ? \"text-white\" : \"text-black\",\n children: \"DIA REVEAL\"\n }\n ) }, keyIndex);\n /* --- REVEALS --- */\n case \"blur-text\":\n return /* @__PURE__ */ jsx(\n motion.div,\n {\n initial: { filter: \"blur(12px)\", opacity: 0, scale: 0.9 },\n animate: { filter: \"blur(0px)\", opacity: 1, scale: 1 },\n transition: { duration: 0.7, ease: [0.16, 1, 0.3, 1] },\n className: `font-bold text-2xl ${isDark ? \"text-white\" : \"text-black\"}`,\n children: \"BLUR REVEAL\"\n },\n keyIndex\n );\n case \"shimmer-text\":\n return /* @__PURE__ */ jsx(\"div\", { className: `font-extrabold text-2xl bg-gradient-to-r ${isDark ? \"from-neutral-400 via-white to-neutral-400\" : \"from-neutral-600 via-black to-neutral-600\"} bg-clip-text text-transparent animate-pulse`, children: \"SHIMMER TEXT\" });\n case \"typewriter-text\":\n return /* @__PURE__ */ jsx(\"div\", { className: \"flex items-center font-mono text-lg font-bold\", children: /* @__PURE__ */ jsx(\n motion.span,\n {\n initial: { width: 0 },\n animate: { width: \"auto\" },\n transition: { duration: 1.2, ease: \"easeInOut\" },\n className: `overflow-hidden whitespace-nowrap border-r-2 ${isDark ? \"text-emerald-400 border-emerald-400\" : \"text-emerald-600 border-emerald-600\"}`,\n children: \"TYPEWRITER\"\n }\n ) }, keyIndex);\n case \"reveal-text\":\n return /* @__PURE__ */ jsx(\"div\", { className: \"relative overflow-hidden font-bold text-2xl\", children: /* @__PURE__ */ jsx(\n motion.div,\n {\n initial: { clipPath: \"inset(0 100% 0 0)\" },\n animate: { clipPath: \"inset(0 0 0 0)\" },\n transition: { duration: 0.75, ease: [0.16, 1, 0.3, 1] },\n className: isDark ? \"text-white\" : \"text-black\",\n children: \"CINEMATIC\"\n }\n ) }, keyIndex);\n case \"fade-in-char\":\n return /* @__PURE__ */ jsx(\"div\", { className: \"flex font-bold text-2xl\", children: samplePhrase.split(\"\").map((char, i) => /* @__PURE__ */ jsx(\n motion.span,\n {\n initial: { opacity: 0 },\n animate: { opacity: 1 },\n transition: { duration: 0.3, delay: i * 0.05 },\n className: isDark ? \"text-white\" : \"text-black\",\n children: char === \" \" ? \"\\xA0\" : char\n },\n i\n )) }, keyIndex);\n case \"fade-in-word\":\n return /* @__PURE__ */ jsx(\"div\", { className: \"flex gap-2 font-bold text-xl\", children: sampleWords.map((word, i) => /* @__PURE__ */ jsx(\n motion.span,\n {\n initial: { opacity: 0 },\n animate: { opacity: 1 },\n transition: { duration: 0.4, delay: i * 0.15 },\n className: isDark ? \"text-white\" : \"text-black\",\n children: word\n },\n i\n )) }, keyIndex);\n case \"fade-in-text\":\n return /* @__PURE__ */ jsx(\n motion.div,\n {\n initial: { opacity: 0 },\n animate: { opacity: 1 },\n transition: { duration: 0.8 },\n className: `font-bold text-2xl ${isDark ? \"text-white\" : \"text-black\"}`,\n children: \"FADE IN TEXT\"\n },\n keyIndex\n );\n case \"blur-up-word\":\n return /* @__PURE__ */ jsx(\"div\", { className: \"flex gap-2 font-bold text-xl\", children: sampleWords.map((word, i) => /* @__PURE__ */ jsx(\n motion.span,\n {\n initial: { opacity: 0, y: 15, filter: \"blur(8px)\" },\n animate: { opacity: 1, y: 0, filter: \"blur(0px)\" },\n transition: { duration: 0.5, delay: i * 0.12 },\n className: isDark ? \"text-indigo-400\" : \"text-indigo-600\",\n children: word\n },\n i\n )) }, keyIndex);\n case \"blur-up-char\":\n return /* @__PURE__ */ jsx(\"div\", { className: \"flex font-bold text-2xl\", children: samplePhrase.split(\"\").map((char, i) => /* @__PURE__ */ jsx(\n motion.span,\n {\n initial: { opacity: 0, y: 15, filter: \"blur(8px)\" },\n animate: { opacity: 1, y: 0, filter: \"blur(0px)\" },\n transition: { duration: 0.4, delay: i * 0.04 },\n className: isDark ? \"text-indigo-400\" : \"text-indigo-600\",\n children: char === \" \" ? \"\\xA0\" : char\n },\n i\n )) }, keyIndex);\n /* --- SLIDE & DROP --- */\n case \"stagger-text\":\n return /* @__PURE__ */ jsx(\"div\", { className: \"flex gap-2 font-bold text-xl\", children: sampleWords.map((word, i) => /* @__PURE__ */ jsx(\n motion.span,\n {\n initial: { y: 20, opacity: 0 },\n animate: { y: 0, opacity: 1 },\n transition: { duration: 0.5, delay: i * 0.1, ease: [0.16, 1, 0.3, 1] },\n className: isDark ? \"text-white\" : \"text-black\",\n children: word\n },\n i\n )) }, keyIndex);\n case \"slide-up-char\":\n return /* @__PURE__ */ jsx(\"div\", { className: \"flex overflow-hidden font-bold text-2xl\", children: samplePhrase.split(\"\").map((char, i) => /* @__PURE__ */ jsx(\n motion.span,\n {\n initial: { y: \"100%\" },\n animate: { y: 0 },\n transition: { duration: 0.4, delay: i * 0.04, ease: [0.16, 1, 0.3, 1] },\n className: isDark ? \"text-white\" : \"text-black\",\n children: char === \" \" ? \"\\xA0\" : char\n },\n i\n )) }, keyIndex);\n case \"slide-up-word\":\n return /* @__PURE__ */ jsx(\"div\", { className: \"flex gap-2 overflow-hidden font-bold text-xl\", children: sampleWords.map((word, i) => /* @__PURE__ */ jsx(\n motion.span,\n {\n initial: { y: \"100%\" },\n animate: { y: 0 },\n transition: { duration: 0.5, delay: i * 0.1, ease: [0.16, 1, 0.3, 1] },\n className: isDark ? \"text-white\" : \"text-black\",\n children: word\n },\n i\n )) }, keyIndex);\n case \"slide-up-text\":\n return /* @__PURE__ */ jsx(\"div\", { className: \"overflow-hidden\", children: /* @__PURE__ */ jsx(\n motion.div,\n {\n initial: { y: \"100%\" },\n animate: { y: 0 },\n transition: { duration: 0.6, ease: [0.16, 1, 0.3, 1] },\n className: `font-bold text-2xl ${isDark ? \"text-white\" : \"text-black\"}`,\n children: \"SLIDE UP TEXT\"\n }\n ) }, keyIndex);\n case \"slide-down-char\":\n return /* @__PURE__ */ jsx(\"div\", { className: \"flex overflow-hidden font-bold text-2xl\", children: samplePhrase.split(\"\").map((char, i) => /* @__PURE__ */ jsx(\n motion.span,\n {\n initial: { y: \"-100%\" },\n animate: { y: 0 },\n transition: { duration: 0.4, delay: i * 0.04, ease: [0.16, 1, 0.3, 1] },\n className: isDark ? \"text-white\" : \"text-black\",\n children: char === \" \" ? \"\\xA0\" : char\n },\n i\n )) }, keyIndex);\n case \"slide-down-word\":\n return /* @__PURE__ */ jsx(\"div\", { className: \"flex gap-2 overflow-hidden font-bold text-xl\", children: sampleWords.map((word, i) => /* @__PURE__ */ jsx(\n motion.span,\n {\n initial: { y: \"-100%\" },\n animate: { y: 0 },\n transition: { duration: 0.5, delay: i * 0.1, ease: [0.16, 1, 0.3, 1] },\n className: isDark ? \"text-white\" : \"text-black\",\n children: word\n },\n i\n )) }, keyIndex);\n case \"slide-left-char\":\n return /* @__PURE__ */ jsx(\"div\", { className: \"flex overflow-hidden font-bold text-2xl\", children: samplePhrase.split(\"\").map((char, i) => /* @__PURE__ */ jsx(\n motion.span,\n {\n initial: { x: 40, opacity: 0 },\n animate: { x: 0, opacity: 1 },\n transition: { duration: 0.4, delay: i * 0.04 },\n className: isDark ? \"text-white\" : \"text-black\",\n children: char === \" \" ? \"\\xA0\" : char\n },\n i\n )) }, keyIndex);\n case \"slide-right-char\":\n return /* @__PURE__ */ jsx(\"div\", { className: \"flex overflow-hidden font-bold text-2xl\", children: samplePhrase.split(\"\").map((char, i) => /* @__PURE__ */ jsx(\n motion.span,\n {\n initial: { x: -40, opacity: 0 },\n animate: { x: 0, opacity: 1 },\n transition: { duration: 0.4, delay: i * 0.04 },\n className: isDark ? \"text-white\" : \"text-black\",\n children: char === \" \" ? \"\\xA0\" : char\n },\n i\n )) }, keyIndex);\n case \"drop-in-char\":\n return /* @__PURE__ */ jsx(\"div\", { className: \"flex font-bold text-2xl\", children: samplePhrase.split(\"\").map((char, i) => /* @__PURE__ */ jsx(\n motion.span,\n {\n initial: { y: -50, opacity: 0 },\n animate: { y: 0, opacity: 1 },\n transition: { type: \"spring\", stiffness: 500, damping: 25, delay: i * 0.04 },\n className: isDark ? \"text-cyan-400\" : \"text-cyan-600\",\n children: char === \" \" ? \"\\xA0\" : char\n },\n i\n )) }, keyIndex);\n case \"rise-up-word\":\n return /* @__PURE__ */ jsx(\"div\", { className: \"flex gap-2 font-bold text-xl\", children: sampleWords.map((word, i) => /* @__PURE__ */ jsx(\n motion.span,\n {\n initial: { y: 30, opacity: 0, scale: 0.8 },\n animate: { y: 0, opacity: 1, scale: 1 },\n transition: { type: \"spring\", stiffness: 400, damping: 22, delay: i * 0.12 },\n className: isDark ? \"text-emerald-400\" : \"text-emerald-600\",\n children: word\n },\n i\n )) }, keyIndex);\n case \"bounce-in-char\":\n return /* @__PURE__ */ jsx(\"div\", { className: \"flex font-bold text-2xl\", children: samplePhrase.split(\"\").map((char, i) => /* @__PURE__ */ jsx(\n motion.span,\n {\n initial: { scale: 0, opacity: 0 },\n animate: { scale: [0, 1.3, 1], opacity: 1 },\n transition: { duration: 0.5, delay: i * 0.05 },\n className: isDark ? \"text-pink-400\" : \"text-pink-600\",\n children: char === \" \" ? \"\\xA0\" : char\n },\n i\n )) }, keyIndex);\n /* --- SCALE & ZOOM --- */\n case \"scale-in-char\":\n return /* @__PURE__ */ jsx(\"div\", { className: \"flex font-bold text-2xl\", children: samplePhrase.split(\"\").map((char, i) => /* @__PURE__ */ jsx(\n motion.span,\n {\n initial: { scale: 0 },\n animate: { scale: 1 },\n transition: { type: \"spring\", stiffness: 450, damping: 22, delay: i * 0.04 },\n className: isDark ? \"text-white\" : \"text-black\",\n children: char === \" \" ? \"\\xA0\" : char\n },\n i\n )) }, keyIndex);\n case \"scale-in-word\":\n return /* @__PURE__ */ jsx(\"div\", { className: \"flex gap-2 font-bold text-xl\", children: sampleWords.map((word, i) => /* @__PURE__ */ jsx(\n motion.span,\n {\n initial: { scale: 0.4, opacity: 0 },\n animate: { scale: 1, opacity: 1 },\n transition: { duration: 0.4, delay: i * 0.12 },\n className: isDark ? \"text-white\" : \"text-black\",\n children: word\n },\n i\n )) }, keyIndex);\n case \"scale-in-text\":\n return /* @__PURE__ */ jsx(\n motion.div,\n {\n initial: { scale: 0.5, opacity: 0 },\n animate: { scale: 1, opacity: 1 },\n transition: { type: \"spring\", stiffness: 400, damping: 25 },\n className: `font-bold text-2xl ${isDark ? \"text-white\" : \"text-black\"}`,\n children: \"SCALE IN TEXT\"\n },\n keyIndex\n );\n case \"zoom-in-text\":\n return /* @__PURE__ */ jsx(\n motion.div,\n {\n initial: { scale: 0.2, opacity: 0 },\n animate: { scale: 1, opacity: 1 },\n transition: { duration: 0.6, ease: [0.16, 1, 0.3, 1] },\n className: `font-extrabold text-2xl ${isDark ? \"text-amber-400\" : \"text-amber-600\"}`,\n children: \"ZOOM IN\"\n },\n keyIndex\n );\n case \"zoom-out-text\":\n return /* @__PURE__ */ jsx(\n motion.div,\n {\n initial: { scale: 1.8, opacity: 0 },\n animate: { scale: 1, opacity: 1 },\n transition: { duration: 0.6, ease: [0.16, 1, 0.3, 1] },\n className: `font-extrabold text-2xl ${isDark ? \"text-amber-400\" : \"text-amber-600\"}`,\n children: \"ZOOM OUT\"\n },\n keyIndex\n );\n /* --- 3D & ROTATE --- */\n case \"flip-y-char\":\n return /* @__PURE__ */ jsx(\"div\", { className: \"flex font-bold text-2xl [perspective:1000px]\", children: samplePhrase.split(\"\").map((char, i) => /* @__PURE__ */ jsx(\n motion.span,\n {\n initial: { rotateY: 90, opacity: 0 },\n animate: { rotateY: 0, opacity: 1 },\n transition: { duration: 0.5, delay: i * 0.05 },\n className: isDark ? \"text-indigo-400\" : \"text-indigo-600\",\n children: char === \" \" ? \"\\xA0\" : char\n },\n i\n )) }, keyIndex);\n case \"flip-x-char\":\n return /* @__PURE__ */ jsx(\"div\", { className: \"flex font-bold text-2xl [perspective:1000px]\", children: samplePhrase.split(\"\").map((char, i) => /* @__PURE__ */ jsx(\n motion.span,\n {\n initial: { rotateX: 90, opacity: 0 },\n animate: { rotateX: 0, opacity: 1 },\n transition: { duration: 0.5, delay: i * 0.05 },\n className: isDark ? \"text-indigo-400\" : \"text-indigo-600\",\n children: char === \" \" ? \"\\xA0\" : char\n },\n i\n )) }, keyIndex);\n case \"rotate-in-char\":\n return /* @__PURE__ */ jsx(\"div\", { className: \"flex font-bold text-2xl\", children: samplePhrase.split(\"\").map((char, i) => /* @__PURE__ */ jsx(\n motion.span,\n {\n initial: { rotate: -45, opacity: 0, scale: 0.5 },\n animate: { rotate: 0, opacity: 1, scale: 1 },\n transition: { duration: 0.4, delay: i * 0.04 },\n className: isDark ? \"text-white\" : \"text-black\",\n children: char === \" \" ? \"\\xA0\" : char\n },\n i\n )) }, keyIndex);\n case \"swing-word\":\n return /* @__PURE__ */ jsx(\"div\", { className: \"flex gap-2 font-bold text-xl [perspective:800px]\", children: sampleWords.map((word, i) => /* @__PURE__ */ jsx(\n motion.span,\n {\n initial: { rotateX: -90, opacity: 0 },\n animate: { rotateX: 0, opacity: 1 },\n transition: { type: \"spring\", stiffness: 350, damping: 18, delay: i * 0.12 },\n className: isDark ? \"text-purple-400\" : \"text-purple-600\",\n children: word\n },\n i\n )) }, keyIndex);\n /* --- DISTORTION & SPACING --- */\n case \"stretch-x-char\":\n return /* @__PURE__ */ jsx(\"div\", { className: \"flex font-bold text-2xl\", children: samplePhrase.split(\"\").map((char, i) => /* @__PURE__ */ jsx(\n motion.span,\n {\n initial: { scaleX: 2.5, opacity: 0 },\n animate: { scaleX: 1, opacity: 1 },\n transition: { duration: 0.4, delay: i * 0.04 },\n className: isDark ? \"text-white\" : \"text-black\",\n children: char === \" \" ? \"\\xA0\" : char\n },\n i\n )) }, keyIndex);\n case \"stretch-y-char\":\n return /* @__PURE__ */ jsx(\"div\", { className: \"flex font-bold text-2xl\", children: samplePhrase.split(\"\").map((char, i) => /* @__PURE__ */ jsx(\n motion.span,\n {\n initial: { scaleY: 2.5, opacity: 0 },\n animate: { scaleY: 1, opacity: 1 },\n transition: { duration: 0.4, delay: i * 0.04 },\n className: isDark ? \"text-white\" : \"text-black\",\n children: char === \" \" ? \"\\xA0\" : char\n },\n i\n )) }, keyIndex);\n case \"skew-x-char\":\n return /* @__PURE__ */ jsx(\"div\", { className: \"flex font-bold text-2xl\", children: samplePhrase.split(\"\").map((char, i) => /* @__PURE__ */ jsx(\n motion.span,\n {\n initial: { skewX: -30, opacity: 0 },\n animate: { skewX: 0, opacity: 1 },\n transition: { duration: 0.4, delay: i * 0.04 },\n className: isDark ? \"text-white\" : \"text-black\",\n children: char === \" \" ? \"\\xA0\" : char\n },\n i\n )) }, keyIndex);\n case \"tracking-in-text\":\n return /* @__PURE__ */ jsx(\n motion.div,\n {\n initial: { letterSpacing: \"0.6em\", opacity: 0 },\n animate: { letterSpacing: \"0.05em\", opacity: 1 },\n transition: { duration: 0.7, ease: [0.16, 1, 0.3, 1] },\n className: `font-black text-xl uppercase ${isDark ? \"text-white\" : \"text-black\"}`,\n children: \"TRACKING IN\"\n },\n keyIndex\n );\n case \"tracking-out-text\":\n return /* @__PURE__ */ jsx(\n motion.div,\n {\n initial: { letterSpacing: \"-0.2em\", opacity: 0 },\n animate: { letterSpacing: \"0.1em\", opacity: 1 },\n transition: { duration: 0.7, ease: [0.16, 1, 0.3, 1] },\n className: `font-black text-xl uppercase ${isDark ? \"text-white\" : \"text-black\"}`,\n children: \"TRACKING OUT\"\n },\n keyIndex\n );\n /* --- HOVER & INTERACTIVE --- */\n case \"spring-text\":\n case \"hover-lift-char\":\n return /* @__PURE__ */ jsx(\"div\", { className: \"flex font-bold text-2xl cursor-pointer\", children: samplePhrase.split(\"\").map((char, i) => /* @__PURE__ */ jsx(\n motion.span,\n {\n whileHover: { y: -8, scale: 1.2, color: \"#6366f1\" },\n transition: { type: \"spring\", stiffness: 500, damping: 15 },\n className: isDark ? \"text-white\" : \"text-black\",\n children: char === \" \" ? \"\\xA0\" : char\n },\n i\n )) });\n case \"hover-lift-word\":\n return /* @__PURE__ */ jsx(\"div\", { className: \"flex gap-2 font-bold text-xl cursor-pointer\", children: sampleWords.map((word, i) => /* @__PURE__ */ jsx(\n motion.span,\n {\n whileHover: { y: -6, color: \"#3b82f6\" },\n transition: { type: \"spring\", stiffness: 400, damping: 18 },\n className: isDark ? \"text-white\" : \"text-black\",\n children: word\n },\n i\n )) });\n case \"hover-scale-char\":\n return /* @__PURE__ */ jsx(\"div\", { className: \"flex font-bold text-2xl cursor-pointer\", children: samplePhrase.split(\"\").map((char, i) => /* @__PURE__ */ jsx(\n motion.span,\n {\n whileHover: { scale: 1.4 },\n transition: { type: \"spring\", stiffness: 500, damping: 18 },\n className: isDark ? \"text-pink-400\" : \"text-pink-600\",\n children: char === \" \" ? \"\\xA0\" : char\n },\n i\n )) });\n case \"hover-scale-word\":\n return /* @__PURE__ */ jsx(\"div\", { className: \"flex gap-2 font-bold text-xl cursor-pointer\", children: sampleWords.map((word, i) => /* @__PURE__ */ jsx(\n motion.span,\n {\n whileHover: { scale: 1.25 },\n transition: { type: \"spring\", stiffness: 400, damping: 20 },\n className: isDark ? \"text-pink-400\" : \"text-pink-600\",\n children: word\n },\n i\n )) });\n /* --- CONTINUOUS --- */\n case \"float-char\":\n return /* @__PURE__ */ jsx(\"div\", { className: \"flex font-bold text-2xl\", children: samplePhrase.split(\"\").map((char, i) => /* @__PURE__ */ jsx(\n motion.span,\n {\n animate: { y: [0, -6, 0] },\n transition: { duration: 2, repeat: Infinity, delay: i * 0.1, ease: \"easeInOut\" },\n className: isDark ? \"text-cyan-400\" : \"text-cyan-600\",\n children: char === \" \" ? \"\\xA0\" : char\n },\n i\n )) });\n case \"float-word\":\n return /* @__PURE__ */ jsx(\"div\", { className: \"flex gap-2 font-bold text-xl\", children: sampleWords.map((word, i) => /* @__PURE__ */ jsx(\n motion.span,\n {\n animate: { y: [0, -8, 0] },\n transition: { duration: 2.4, repeat: Infinity, delay: i * 0.2, ease: \"easeInOut\" },\n className: isDark ? \"text-cyan-400\" : \"text-cyan-600\",\n children: word\n },\n i\n )) });\n case \"pulse-char\":\n return /* @__PURE__ */ jsx(\"div\", { className: \"flex font-bold text-2xl\", children: samplePhrase.split(\"\").map((char, i) => /* @__PURE__ */ jsx(\n motion.span,\n {\n animate: { opacity: [0.3, 1, 0.3] },\n transition: { duration: 1.5, repeat: Infinity, delay: i * 0.08 },\n className: isDark ? \"text-emerald-400\" : \"text-emerald-600\",\n children: char === \" \" ? \"\\xA0\" : char\n },\n i\n )) });\n case \"pulse-word\":\n return /* @__PURE__ */ jsx(\"div\", { className: \"flex gap-2 font-bold text-xl\", children: sampleWords.map((word, i) => /* @__PURE__ */ jsx(\n motion.span,\n {\n animate: { opacity: [0.3, 1, 0.3] },\n transition: { duration: 1.8, repeat: Infinity, delay: i * 0.25 },\n className: isDark ? \"text-emerald-400\" : \"text-emerald-600\",\n children: word\n },\n i\n )) });\n case \"glow-text\":\n return /* @__PURE__ */ jsx(\n motion.div,\n {\n animate: { textShadow: isDark ? [\"0 0 10px rgba(99,102,241,0.5)\", \"0 0 25px rgba(99,102,241,0.9)\", \"0 0 10px rgba(99,102,241,0.5)\"] : [\"0 0 10px rgba(79,70,229,0.3)\", \"0 0 20px rgba(79,70,229,0.6)\", \"0 0 10px rgba(79,70,229,0.3)\"] },\n transition: { duration: 2, repeat: Infinity },\n className: `font-black text-3xl tracking-tight ${isDark ? \"text-indigo-300\" : \"text-indigo-600\"}`,\n children: \"GLOW TEXT\"\n }\n );\n default:\n return /* @__PURE__ */ jsx(\"div\", { className: `font-bold text-2xl ${isDark ? \"text-white\" : \"text-black\"}`, children: config.label });\n }\n })() }),\n /* @__PURE__ */ jsx(\"div\", { className: \"absolute top-2 right-2 opacity-0 group-hover:opacity-100 transition-opacity p-1.5 rounded-full bg-black/20 text-white/70\", children: /* @__PURE__ */ jsx(RefreshCw, { className: \"w-3.5 h-3.5\" }) })\n ]\n }\n );\n};\n\n// pulse-char.tsx\nimport { jsx as jsx2 } from \"react/jsx-runtime\";\nfunction MovaComponent({ theme = \"dark\" }) {\n return /* @__PURE__ */ jsx2(AnimatedText, { theme, config: { \"id\": \"txt-pulse-char\", \"label\": \"Pulse Char\", \"interactionType\": \"pulse-char\", \"description\": \"Characters pulse in opacity continuously.\", \"cliCommand\": \"npx @mova-ui/react add pulse-char\", \"category\": \"Continuous\" } });\n}\nexport {\n MovaComponent as default\n};\n"
19
+ }
@@ -1,8 +1,17 @@
1
1
  {
2
2
  "id": "pulse-dot",
3
+ "tier": "free",
4
+ "version": "0.4.1",
3
5
  "file": "pulse-dot.tsx",
6
+ "sourcePath": "ui/loading/pulse-dot.tsx",
7
+ "registryFile": "pulse-dot.json",
8
+ "exports": [
9
+ "PulseDot"
10
+ ],
4
11
  "dependencies": [
5
12
  "framer-motion"
6
13
  ],
14
+ "license": "MIT",
15
+ "previewMode": "client",
7
16
  "content": "\"use client\";\nimport React from 'react';\nimport { motion } from 'framer-motion';\n\nexport const PulseDot = () => {\n return (\n <div className=\"relative w-10 h-10 flex items-center justify-center\">\n <motion.div\n className=\"absolute w-10 h-10 bg-zinc-800 dark:bg-white rounded-full\"\n animate={{ scale: [0, 1], opacity: [0.8, 0] }}\n transition={{ duration: 1.5, repeat: Infinity, ease: \"easeOut\" }}\n />\n <div className=\"w-3 h-3 bg-zinc-800 dark:bg-white rounded-full relative z-10\" />\n </div>\n );\n};\n"
8
17
  }
@@ -1,8 +1,17 @@
1
1
  {
2
2
  "id": "pulse-dots",
3
+ "tier": "free",
4
+ "version": "0.4.1",
3
5
  "file": "pulse-dots.tsx",
6
+ "sourcePath": "ui/loading/pulse-dots.tsx",
7
+ "registryFile": "pulse-dots.json",
8
+ "exports": [
9
+ "PulseDots"
10
+ ],
4
11
  "dependencies": [
5
12
  "framer-motion"
6
13
  ],
14
+ "license": "MIT",
15
+ "previewMode": "client",
7
16
  "content": "\"use client\";\nimport React from 'react';\nimport { motion } from 'framer-motion';\n\nexport const PulseDots = () => {\n return (\n <div className=\"flex space-x-1.5\">\n {[0, 1, 2].map((i) => (\n <motion.div\n key={i}\n className=\"w-2.5 h-2.5 bg-zinc-800 dark:bg-white rounded-full\"\n animate={{ opacity: [0.2, 1, 0.2] }}\n transition={{ duration: 1.4, repeat: Infinity, delay: i * 0.2 }}\n />\n ))}\n </div>\n );\n};\n"
8
17
  }
@@ -1,8 +1,17 @@
1
1
  {
2
2
  "id": "pulse-square",
3
+ "tier": "free",
4
+ "version": "0.4.1",
3
5
  "file": "pulse-square.tsx",
6
+ "sourcePath": "ui/loading/pulse-square.tsx",
7
+ "registryFile": "pulse-square.json",
8
+ "exports": [
9
+ "PulseSquare"
10
+ ],
4
11
  "dependencies": [
5
12
  "framer-motion"
6
13
  ],
14
+ "license": "MIT",
15
+ "previewMode": "client",
7
16
  "content": "\"use client\";\nimport React from 'react';\nimport { motion } from 'framer-motion';\n\nexport const PulseSquare = () => {\n return (\n <motion.div\n className=\"w-8 h-8 border-4 border-zinc-800 dark:border-zinc-700 rounded-md\"\n animate={{ scale: [1, 1.2, 1], opacity: [1, 0.3, 1], borderRadius: [\"20%\", \"50%\", \"20%\"] }}\n transition={{ duration: 1.5, repeat: Infinity, ease: \"easeInOut\" }}\n />\n );\n};\n"
8
17
  }