@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.
- package/README.md +70 -21
- package/bin/mova.mjs +38 -12
- package/dist/catalog/components/AnimatedButton.d.ts +9 -0
- package/dist/catalog/components/AnimatedButton.js +346 -0
- package/dist/catalog/components/IconSwap.d.ts +6 -0
- package/dist/catalog/components/IconSwap.js +9 -0
- package/dist/catalog/components/InViewRender.d.ts +4 -0
- package/dist/catalog/components/InViewRender.js +14 -0
- package/dist/catalog/components/PageTransitionCard.d.ts +9 -0
- package/dist/catalog/components/PageTransitionCard.js +110 -0
- package/dist/catalog/components/PageTransitionModal.d.ts +10 -0
- package/dist/catalog/components/PageTransitionModal.js +180 -0
- package/dist/catalog/components/PageTransitionOverlay.d.ts +9 -0
- package/dist/catalog/components/PageTransitionOverlay.js +7 -0
- package/dist/catalog/components/cards/CardArc5.d.ts +14 -0
- package/dist/catalog/components/cards/CardArc5.js +76 -0
- package/dist/catalog/components/cards/CardArc7.d.ts +14 -0
- package/dist/catalog/components/cards/CardArc7.js +77 -0
- package/dist/catalog/components/cards/CardCarousel.d.ts +12 -0
- package/dist/catalog/components/cards/CardCarousel.js +139 -0
- package/dist/catalog/components/cards/CardCascadeStagger.d.ts +9 -0
- package/dist/catalog/components/cards/CardCascadeStagger.js +64 -0
- package/dist/catalog/components/cards/CardCornerFan.d.ts +12 -0
- package/dist/catalog/components/cards/CardCornerFan.js +66 -0
- package/dist/catalog/components/cards/CardCoverFlow.d.ts +12 -0
- package/dist/catalog/components/cards/CardCoverFlow.js +115 -0
- package/dist/catalog/components/cards/CardLinearSpread.d.ts +12 -0
- package/dist/catalog/components/cards/CardLinearSpread.js +62 -0
- package/dist/catalog/components/cards/CardLongArc5.d.ts +14 -0
- package/dist/catalog/components/cards/CardLongArc5.js +76 -0
- package/dist/catalog/components/cards/CardScatterSpread.d.ts +9 -0
- package/dist/catalog/components/cards/CardScatterSpread.js +69 -0
- package/dist/catalog/components/cards/CardStampArc.d.ts +14 -0
- package/dist/catalog/components/cards/CardStampArc.js +101 -0
- package/dist/catalog/components/cards/CardTimeMachine.d.ts +8 -0
- package/dist/catalog/components/cards/CardTimeMachine.js +182 -0
- package/dist/catalog/components/cards/CardWheelFan.d.ts +9 -0
- package/dist/catalog/components/cards/CardWheelFan.js +68 -0
- package/dist/catalog/components/cards/FocusBlur.d.ts +14 -0
- package/dist/catalog/components/cards/FocusBlur.js +7 -0
- package/dist/catalog/components/css-animations/Dock.d.ts +6 -0
- package/dist/catalog/components/css-animations/Dock.js +93 -0
- package/dist/catalog/components/css-animations/FocusBlur.d.ts +4 -0
- package/dist/catalog/components/css-animations/FocusBlur.js +35 -0
- package/dist/catalog/components/css-animations/FrequencySelector.d.ts +6 -0
- package/dist/catalog/components/css-animations/FrequencySelector.js +100 -0
- package/dist/catalog/components/css-animations/MediaBetweenText.d.ts +34 -0
- package/dist/catalog/components/css-animations/MediaBetweenText.js +125 -0
- package/dist/catalog/components/css-animations/ScrambleHover.d.ts +16 -0
- package/dist/catalog/components/css-animations/ScrambleHover.js +101 -0
- package/dist/catalog/components/css-animations/TabBar.d.ts +6 -0
- package/dist/catalog/components/css-animations/TabBar.js +57 -0
- package/dist/catalog/components/css-animations/whimsical/AppleLoaders.d.ts +9 -0
- package/dist/catalog/components/css-animations/whimsical/AppleLoaders.js +57 -0
- package/dist/catalog/components/css-animations/whimsical/Area1.d.ts +7 -0
- package/dist/catalog/components/css-animations/whimsical/Area1.js +56 -0
- package/dist/catalog/components/css-animations/whimsical/Area6.d.ts +7 -0
- package/dist/catalog/components/css-animations/whimsical/Area6.js +53 -0
- package/dist/catalog/components/css-animations/whimsical/Bookmark.d.ts +7 -0
- package/dist/catalog/components/css-animations/whimsical/Bookmark.js +183 -0
- package/dist/catalog/components/css-animations/whimsical/ConceptTrios1.d.ts +37 -0
- package/dist/catalog/components/css-animations/whimsical/ConceptTrios1.js +253 -0
- package/dist/catalog/components/css-animations/whimsical/ConceptTrios2.d.ts +37 -0
- package/dist/catalog/components/css-animations/whimsical/ConceptTrios2.js +237 -0
- package/dist/catalog/components/css-animations/whimsical/ConceptTrios3.d.ts +73 -0
- package/dist/catalog/components/css-animations/whimsical/ConceptTrios3.js +441 -0
- package/dist/catalog/components/css-animations/whimsical/Curtain.d.ts +7 -0
- package/dist/catalog/components/css-animations/whimsical/Curtain.js +155 -0
- package/dist/catalog/components/css-animations/whimsical/Kakikaki.d.ts +7 -0
- package/dist/catalog/components/css-animations/whimsical/Kakikaki.js +67 -0
- package/dist/catalog/components/css-animations/whimsical/KineticTensionCapsule.d.ts +7 -0
- package/dist/catalog/components/css-animations/whimsical/KineticTensionCapsule.js +82 -0
- package/dist/catalog/components/css-animations/whimsical/MatrixGridLoader.d.ts +5 -0
- package/dist/catalog/components/css-animations/whimsical/MatrixGridLoader.js +88 -0
- package/dist/catalog/components/css-animations/whimsical/RedesignedPhysicsTrios.d.ts +103 -0
- package/dist/catalog/components/css-animations/whimsical/RedesignedPhysicsTrios.js +607 -0
- package/dist/catalog/components/css-animations/whimsical/Tissue.d.ts +7 -0
- package/dist/catalog/components/css-animations/whimsical/Tissue.js +111 -0
- package/dist/catalog/components/css-animations/whimsical/Tsumiki.d.ts +8 -0
- package/dist/catalog/components/css-animations/whimsical/Tsumiki.js +83 -0
- package/dist/catalog/components/css-animations/whimsical/WhimsicalVariations.d.ts +37 -0
- package/dist/catalog/components/css-animations/whimsical/WhimsicalVariations.js +325 -0
- package/dist/catalog/components/css-animations/whimsical/YuiPhysicsExperiments.d.ts +37 -0
- package/dist/catalog/components/css-animations/whimsical/YuiPhysicsExperiments.js +247 -0
- package/dist/catalog/components/css-animations/yui-components/RedesignedUiTrios.d.ts +19 -0
- package/dist/catalog/components/css-animations/yui-components/RedesignedUiTrios.js +174 -0
- package/dist/catalog/components/css-animations/yui-components/UiKitTrios.d.ts +19 -0
- package/dist/catalog/components/css-animations/yui-components/UiKitTrios.js +147 -0
- package/dist/catalog/components/css-animations/yui-components/YuiUiKit1.d.ts +29 -0
- package/dist/catalog/components/css-animations/yui-components/YuiUiKit1.js +317 -0
- package/dist/catalog/components/css-animations/yui-components/YuiUiKit2.d.ts +34 -0
- package/dist/catalog/components/css-animations/yui-components/YuiUiKit2.js +356 -0
- package/dist/catalog/components/dither-charts/ActivityHeatmap.d.ts +5 -0
- package/dist/catalog/components/dither-charts/ActivityHeatmap.js +8 -0
- package/dist/catalog/components/dither-charts/ChartCard.d.ts +2 -0
- package/dist/catalog/components/dither-charts/ChartCard.js +8 -0
- package/dist/catalog/components/dither-charts/DeviceUsageChart.d.ts +5 -0
- package/dist/catalog/components/dither-charts/DeviceUsageChart.js +8 -0
- package/dist/catalog/components/dither-charts/DitherBarChart.d.ts +5 -0
- package/dist/catalog/components/dither-charts/DitherBarChart.js +148 -0
- package/dist/catalog/components/dither-charts/DitherBook.d.ts +23 -0
- package/dist/catalog/components/dither-charts/DitherBook.js +352 -0
- package/dist/catalog/components/dither-charts/DitherChartsGrid.d.ts +9 -0
- package/dist/catalog/components/dither-charts/DitherChartsGrid.js +108 -0
- package/dist/catalog/components/dither-charts/DitherDonutChart.d.ts +7 -0
- package/dist/catalog/components/dither-charts/DitherDonutChart.js +8 -0
- package/dist/catalog/components/dither-charts/DitherFunnelChart.d.ts +5 -0
- package/dist/catalog/components/dither-charts/DitherFunnelChart.js +8 -0
- package/dist/catalog/components/dither-charts/DitherGrowthChart.d.ts +7 -0
- package/dist/catalog/components/dither-charts/DitherGrowthChart.js +8 -0
- package/dist/catalog/components/dither-charts/DitherHeatmapGrid.d.ts +5 -0
- package/dist/catalog/components/dither-charts/DitherHeatmapGrid.js +115 -0
- package/dist/catalog/components/dither-charts/DitherRadialChart.d.ts +5 -0
- package/dist/catalog/components/dither-charts/DitherRadialChart.js +114 -0
- package/dist/catalog/components/dither-charts/DitherScatterChart.d.ts +5 -0
- package/dist/catalog/components/dither-charts/DitherScatterChart.js +151 -0
- package/dist/catalog/components/dither-charts/DitherSparklineMatrix.d.ts +5 -0
- package/dist/catalog/components/dither-charts/DitherSparklineMatrix.js +89 -0
- package/dist/catalog/components/dither-charts/DitherStackedChart.d.ts +7 -0
- package/dist/catalog/components/dither-charts/DitherStackedChart.js +8 -0
- package/dist/catalog/components/dither-charts/MembersGrowthChart.d.ts +2 -0
- package/dist/catalog/components/dither-charts/MembersGrowthChart.js +8 -0
- package/dist/catalog/components/dither-charts/PaymentsChart.d.ts +2 -0
- package/dist/catalog/components/dither-charts/PaymentsChart.js +8 -0
- package/dist/catalog/components/dither-charts/RevenueLineChart.d.ts +5 -0
- package/dist/catalog/components/dither-charts/RevenueLineChart.js +8 -0
- package/dist/catalog/components/dither-charts/ServerGauge.d.ts +5 -0
- package/dist/catalog/components/dither-charts/ServerGauge.js +8 -0
- package/dist/catalog/components/dither-charts/SimpleCompExtracted.d.ts +6 -0
- package/dist/catalog/components/dither-charts/SimpleCompExtracted.js +423 -0
- package/dist/catalog/components/dither-charts/StorageUsageChart.d.ts +5 -0
- package/dist/catalog/components/dither-charts/StorageUsageChart.js +8 -0
- package/dist/catalog/components/dither-charts/TrafficBubble.d.ts +5 -0
- package/dist/catalog/components/dither-charts/TrafficBubble.js +8 -0
- package/dist/catalog/components/dither-charts/UptimeChart.d.ts +5 -0
- package/dist/catalog/components/dither-charts/UptimeChart.js +8 -0
- package/dist/catalog/components/dither-charts/lib/ditherPatterns.d.ts +7 -0
- package/dist/catalog/components/dither-charts/lib/ditherPatterns.js +107 -0
- package/dist/catalog/components/dither-charts/lib/recharts-legend.d.ts +8 -0
- package/dist/catalog/components/dither-charts/lib/recharts-legend.js +40 -0
- package/dist/catalog/components/dither-charts/lib/recharts-tooltip.d.ts +10 -0
- package/dist/catalog/components/dither-charts/lib/recharts-tooltip.js +7 -0
- package/dist/catalog/components/dither-charts/lib/utils.d.ts +3 -0
- package/dist/catalog/components/dither-charts/lib/utils.js +7 -0
- package/dist/catalog/components/forms/AnimatedFormElement.d.ts +8 -0
- package/dist/catalog/components/forms/AnimatedFormElement.js +412 -0
- package/dist/catalog/components/metrics/AnimatedMetricCard.d.ts +8 -0
- package/dist/catalog/components/metrics/AnimatedMetricCard.js +1049 -0
- package/dist/catalog/components/metrics/Budget.d.ts +1 -0
- package/dist/catalog/components/metrics/Budget.js +35 -0
- package/dist/catalog/components/metrics/CacheStatsCard.d.ts +1 -0
- package/dist/catalog/components/metrics/CacheStatsCard.js +88 -0
- package/dist/catalog/components/metrics/CourseProgressCard.d.ts +1 -0
- package/dist/catalog/components/metrics/CourseProgressCard.js +86 -0
- package/dist/catalog/components/metrics/CreditScoreCards.d.ts +1 -0
- package/dist/catalog/components/metrics/CreditScoreCards.js +139 -0
- package/dist/catalog/components/metrics/FeedbackCard.d.ts +1 -0
- package/dist/catalog/components/metrics/FeedbackCard.js +59 -0
- package/dist/catalog/components/metrics/FinanceDashboard.d.ts +1 -0
- package/dist/catalog/components/metrics/FinanceDashboard.js +164 -0
- package/dist/catalog/components/metrics/Growth.d.ts +1 -0
- package/dist/catalog/components/metrics/Growth.js +40 -0
- package/dist/catalog/components/metrics/GrowthCalendar.d.ts +1 -0
- package/dist/catalog/components/metrics/GrowthCalendar.js +87 -0
- package/dist/catalog/components/metrics/HealthCards.d.ts +1 -0
- package/dist/catalog/components/metrics/HealthCards.js +244 -0
- package/dist/catalog/components/metrics/MarketingCards.d.ts +1 -0
- package/dist/catalog/components/metrics/MarketingCards.js +70 -0
- package/dist/catalog/components/metrics/NetworkTelemetry.d.ts +1 -0
- package/dist/catalog/components/metrics/NetworkTelemetry.js +198 -0
- package/dist/catalog/components/metrics/NoiseCards.d.ts +1 -0
- package/dist/catalog/components/metrics/NoiseCards.js +61 -0
- package/dist/catalog/components/metrics/OverviewChart.d.ts +1 -0
- package/dist/catalog/components/metrics/OverviewChart.js +69 -0
- package/dist/catalog/components/metrics/ProgressIndicator.d.ts +1 -0
- package/dist/catalog/components/metrics/ProgressIndicator.js +35 -0
- package/dist/catalog/components/metrics/PromptsCard.d.ts +1 -0
- package/dist/catalog/components/metrics/PromptsCard.js +29 -0
- package/dist/catalog/components/metrics/RealTimeAlerts.d.ts +1 -0
- package/dist/catalog/components/metrics/RealTimeAlerts.js +64 -0
- package/dist/catalog/components/metrics/RunningStatsCard.d.ts +1 -0
- package/dist/catalog/components/metrics/RunningStatsCard.js +41 -0
- package/dist/catalog/components/metrics/SalesDashboard.d.ts +1 -0
- package/dist/catalog/components/metrics/SalesDashboard.js +156 -0
- package/dist/catalog/components/metrics/SalesOverview.d.ts +1 -0
- package/dist/catalog/components/metrics/SalesOverview.js +71 -0
- package/dist/catalog/components/metrics/SavingsCards.d.ts +1 -0
- package/dist/catalog/components/metrics/SavingsCards.js +118 -0
- package/dist/catalog/components/metrics/ServerPerformance.d.ts +1 -0
- package/dist/catalog/components/metrics/ServerPerformance.js +26 -0
- package/dist/catalog/components/metrics/StatusCards.d.ts +1 -0
- package/dist/catalog/components/metrics/StatusCards.js +165 -0
- package/dist/catalog/components/metrics/StockChartCard.d.ts +1 -0
- package/dist/catalog/components/metrics/StockChartCard.js +122 -0
- package/dist/catalog/components/metrics/SystemMetricsCard.d.ts +1 -0
- package/dist/catalog/components/metrics/SystemMetricsCard.js +129 -0
- package/dist/catalog/components/metrics/TimerCard.d.ts +1 -0
- package/dist/catalog/components/metrics/TimerCard.js +35 -0
- package/dist/catalog/components/metrics/UserMetrics.d.ts +1 -0
- package/dist/catalog/components/metrics/UserMetrics.js +128 -0
- package/dist/catalog/components/metrics/UsersChartCard.d.ts +1 -0
- package/dist/catalog/components/metrics/UsersChartCard.js +111 -0
- package/dist/catalog/components/metrics/VisitorsChartCard.d.ts +1 -0
- package/dist/catalog/components/metrics/VisitorsChartCard.js +178 -0
- package/dist/catalog/components/mono-charts/GitHubActivity.d.ts +30 -0
- package/dist/catalog/components/mono-charts/GitHubActivity.js +547 -0
- package/dist/catalog/components/mono-charts/MonoActivityHeatmap.d.ts +14 -0
- package/dist/catalog/components/mono-charts/MonoActivityHeatmap.js +170 -0
- package/dist/catalog/components/mono-charts/MonoRoundedAreaChart.d.ts +7 -0
- package/dist/catalog/components/mono-charts/MonoRoundedAreaChart.js +107 -0
- package/dist/catalog/components/mono-charts/MonoRoundedBarChart.d.ts +7 -0
- package/dist/catalog/components/mono-charts/MonoRoundedBarChart.js +121 -0
- package/dist/catalog/components/mono-charts/MonoRoundedBubbleChart.d.ts +7 -0
- package/dist/catalog/components/mono-charts/MonoRoundedBubbleChart.js +67 -0
- package/dist/catalog/components/mono-charts/MonoRoundedBulletChart.d.ts +7 -0
- package/dist/catalog/components/mono-charts/MonoRoundedBulletChart.js +64 -0
- package/dist/catalog/components/mono-charts/MonoRoundedCandlestickChart.d.ts +7 -0
- package/dist/catalog/components/mono-charts/MonoRoundedCandlestickChart.js +76 -0
- package/dist/catalog/components/mono-charts/MonoRoundedComposedChart.d.ts +7 -0
- package/dist/catalog/components/mono-charts/MonoRoundedComposedChart.js +117 -0
- package/dist/catalog/components/mono-charts/MonoRoundedDonutChart.d.ts +7 -0
- package/dist/catalog/components/mono-charts/MonoRoundedDonutChart.js +97 -0
- package/dist/catalog/components/mono-charts/MonoRoundedFunnelChart.d.ts +7 -0
- package/dist/catalog/components/mono-charts/MonoRoundedFunnelChart.js +65 -0
- package/dist/catalog/components/mono-charts/MonoRoundedGaugeArc.d.ts +7 -0
- package/dist/catalog/components/mono-charts/MonoRoundedGaugeArc.js +64 -0
- package/dist/catalog/components/mono-charts/MonoRoundedHeatmapChart.d.ts +7 -0
- package/dist/catalog/components/mono-charts/MonoRoundedHeatmapChart.js +56 -0
- package/dist/catalog/components/mono-charts/MonoRoundedKpiCardChart.d.ts +7 -0
- package/dist/catalog/components/mono-charts/MonoRoundedKpiCardChart.js +61 -0
- package/dist/catalog/components/mono-charts/MonoRoundedLineChart.d.ts +7 -0
- package/dist/catalog/components/mono-charts/MonoRoundedLineChart.js +142 -0
- package/dist/catalog/components/mono-charts/MonoRoundedMeterChart.d.ts +7 -0
- package/dist/catalog/components/mono-charts/MonoRoundedMeterChart.js +68 -0
- package/dist/catalog/components/mono-charts/MonoRoundedPolarChart.d.ts +7 -0
- package/dist/catalog/components/mono-charts/MonoRoundedPolarChart.js +67 -0
- package/dist/catalog/components/mono-charts/MonoRoundedPyramidChart.d.ts +7 -0
- package/dist/catalog/components/mono-charts/MonoRoundedPyramidChart.js +52 -0
- package/dist/catalog/components/mono-charts/MonoRoundedRadarChart.d.ts +7 -0
- package/dist/catalog/components/mono-charts/MonoRoundedRadarChart.js +70 -0
- package/dist/catalog/components/mono-charts/MonoRoundedRadialBarGroup.d.ts +7 -0
- package/dist/catalog/components/mono-charts/MonoRoundedRadialBarGroup.js +69 -0
- package/dist/catalog/components/mono-charts/MonoRoundedRadialGaugeChart.d.ts +7 -0
- package/dist/catalog/components/mono-charts/MonoRoundedRadialGaugeChart.js +68 -0
- package/dist/catalog/components/mono-charts/MonoRoundedRangeChart.d.ts +7 -0
- package/dist/catalog/components/mono-charts/MonoRoundedRangeChart.js +77 -0
- package/dist/catalog/components/mono-charts/MonoRoundedSankeyChart.d.ts +7 -0
- package/dist/catalog/components/mono-charts/MonoRoundedSankeyChart.js +66 -0
- package/dist/catalog/components/mono-charts/MonoRoundedScatterChart.d.ts +7 -0
- package/dist/catalog/components/mono-charts/MonoRoundedScatterChart.js +82 -0
- package/dist/catalog/components/mono-charts/MonoRoundedSparklineChart.d.ts +7 -0
- package/dist/catalog/components/mono-charts/MonoRoundedSparklineChart.js +73 -0
- package/dist/catalog/components/mono-charts/MonoRoundedStackedBarChart.d.ts +7 -0
- package/dist/catalog/components/mono-charts/MonoRoundedStackedBarChart.js +63 -0
- package/dist/catalog/components/mono-charts/MonoRoundedStepChart.d.ts +7 -0
- package/dist/catalog/components/mono-charts/MonoRoundedStepChart.js +72 -0
- package/dist/catalog/components/mono-charts/MonoRoundedStreamChart.d.ts +7 -0
- package/dist/catalog/components/mono-charts/MonoRoundedStreamChart.js +98 -0
- package/dist/catalog/components/mono-charts/MonoRoundedTreemapChart.d.ts +7 -0
- package/dist/catalog/components/mono-charts/MonoRoundedTreemapChart.js +56 -0
- package/dist/catalog/components/mono-charts/MonoRoundedWaterfallChart.d.ts +7 -0
- package/dist/catalog/components/mono-charts/MonoRoundedWaterfallChart.js +67 -0
- package/dist/catalog/components/simple-comp/ActivityHeatmap.d.ts +5 -0
- package/dist/catalog/components/simple-comp/ActivityHeatmap.js +7 -0
- package/dist/catalog/components/simple-comp/ChartCard.d.ts +2 -0
- package/dist/catalog/components/simple-comp/ChartCard.js +8 -0
- package/dist/catalog/components/simple-comp/DeviceUsageChart.d.ts +5 -0
- package/dist/catalog/components/simple-comp/DeviceUsageChart.js +7 -0
- package/dist/catalog/components/simple-comp/DitherBarChart.d.ts +5 -0
- package/dist/catalog/components/simple-comp/DitherBarChart.js +148 -0
- package/dist/catalog/components/simple-comp/DitherBook.d.ts +23 -0
- package/dist/catalog/components/simple-comp/DitherBook.js +352 -0
- package/dist/catalog/components/simple-comp/DitherChartsGrid.d.ts +9 -0
- package/dist/catalog/components/simple-comp/DitherChartsGrid.js +107 -0
- package/dist/catalog/components/simple-comp/DitherDonutChart.d.ts +7 -0
- package/dist/catalog/components/simple-comp/DitherDonutChart.js +7 -0
- package/dist/catalog/components/simple-comp/DitherFunnelChart.d.ts +5 -0
- package/dist/catalog/components/simple-comp/DitherFunnelChart.js +7 -0
- package/dist/catalog/components/simple-comp/DitherGrowthChart.d.ts +7 -0
- package/dist/catalog/components/simple-comp/DitherGrowthChart.js +7 -0
- package/dist/catalog/components/simple-comp/DitherHeatmapGrid.d.ts +5 -0
- package/dist/catalog/components/simple-comp/DitherHeatmapGrid.js +115 -0
- package/dist/catalog/components/simple-comp/DitherRadialChart.d.ts +5 -0
- package/dist/catalog/components/simple-comp/DitherRadialChart.js +114 -0
- package/dist/catalog/components/simple-comp/DitherScatterChart.d.ts +5 -0
- package/dist/catalog/components/simple-comp/DitherScatterChart.js +151 -0
- package/dist/catalog/components/simple-comp/DitherSparklineMatrix.d.ts +5 -0
- package/dist/catalog/components/simple-comp/DitherSparklineMatrix.js +89 -0
- package/dist/catalog/components/simple-comp/DitherStackedChart.d.ts +7 -0
- package/dist/catalog/components/simple-comp/DitherStackedChart.js +7 -0
- package/dist/catalog/components/simple-comp/MembersGrowthChart.d.ts +2 -0
- package/dist/catalog/components/simple-comp/MembersGrowthChart.js +8 -0
- package/dist/catalog/components/simple-comp/PaymentsChart.d.ts +2 -0
- package/dist/catalog/components/simple-comp/PaymentsChart.js +8 -0
- package/dist/catalog/components/simple-comp/RevenueLineChart.d.ts +5 -0
- package/dist/catalog/components/simple-comp/RevenueLineChart.js +7 -0
- package/dist/catalog/components/simple-comp/ServerGauge.d.ts +5 -0
- package/dist/catalog/components/simple-comp/ServerGauge.js +7 -0
- package/dist/catalog/components/simple-comp/SimpleCompExtracted.d.ts +6 -0
- package/dist/catalog/components/simple-comp/SimpleCompExtracted.js +423 -0
- package/dist/catalog/components/simple-comp/StorageUsageChart.d.ts +5 -0
- package/dist/catalog/components/simple-comp/StorageUsageChart.js +7 -0
- package/dist/catalog/components/simple-comp/TrafficBubble.d.ts +5 -0
- package/dist/catalog/components/simple-comp/TrafficBubble.js +7 -0
- package/dist/catalog/components/simple-comp/UptimeChart.d.ts +5 -0
- package/dist/catalog/components/simple-comp/UptimeChart.js +7 -0
- package/dist/catalog/components/simple-comp/lib/utils.d.ts +3 -0
- package/dist/catalog/components/simple-comp/lib/utils.js +7 -0
- package/dist/catalog/components/text/AnimatedText.d.ts +8 -0
- package/dist/catalog/components/text/AnimatedText.js +554 -0
- package/dist/catalog/components/toggles/AnimatedToggle.d.ts +8 -0
- package/dist/catalog/components/toggles/AnimatedToggle.js +243 -0
- package/dist/catalog/data/buttons.d.ts +14 -0
- package/dist/catalog/data/buttons.js +94 -0
- package/dist/catalog/data/ditherCharts.d.ts +12 -0
- package/dist/catalog/data/ditherCharts.js +11 -0
- package/dist/catalog/data/formElements.d.ts +9 -0
- package/dist/catalog/data/formElements.js +117 -0
- package/dist/catalog/data/installCommand.d.ts +3 -0
- package/dist/catalog/data/installCommand.js +10 -0
- package/dist/catalog/data/metrics.d.ts +10 -0
- package/dist/catalog/data/metrics.js +136 -0
- package/dist/catalog/data/supportedRegistryIds.d.ts +1 -0
- package/dist/catalog/data/supportedRegistryIds.js +7 -0
- package/dist/catalog/data/textAnimations.d.ts +10 -0
- package/dist/catalog/data/textAnimations.js +65 -0
- package/dist/catalog/data/toggles.d.ts +9 -0
- package/dist/catalog/data/toggles.js +96 -0
- package/dist/catalog/data/transitions.d.ts +11 -0
- package/dist/catalog/data/transitions.js +198 -0
- package/dist/catalog/hooks/useCanvasSetup.d.ts +25 -0
- package/dist/catalog/hooks/useCanvasSetup.js +7 -0
- package/dist/catalog/hooks/useIsMobile.d.ts +5 -0
- package/dist/catalog/hooks/useIsMobile.js +7 -0
- package/dist/catalog/hooks/useLoopFlg.d.ts +1 -0
- package/dist/catalog/hooks/useLoopFlg.js +7 -0
- package/dist/catalog/hooks/useWebHaptics.d.ts +4 -0
- package/dist/catalog/hooks/useWebHaptics.js +7 -0
- package/dist/catalog/utils/cn.d.ts +1 -0
- package/dist/catalog/utils/cn.js +7 -0
- package/dist/catalog-chunks/chunk-3QX6CASP.js +93 -0
- package/dist/catalog-chunks/chunk-3TYA5TCG.js +34 -0
- package/dist/catalog-chunks/chunk-4M7HZE4Z.js +107 -0
- package/dist/catalog-chunks/chunk-62CFYJEA.js +141 -0
- package/dist/catalog-chunks/chunk-7GU353UA.js +261 -0
- package/dist/catalog-chunks/chunk-7XF4PVBJ.js +85 -0
- package/dist/catalog-chunks/chunk-AJLUWL56.js +99 -0
- package/dist/catalog-chunks/chunk-B64DVBSK.js +105 -0
- package/dist/catalog-chunks/chunk-BSR45QIS.js +349 -0
- package/dist/catalog-chunks/chunk-E2GLS5WF.js +325 -0
- package/dist/catalog-chunks/chunk-EC4R54F3.js +35 -0
- package/dist/catalog-chunks/chunk-F47LIDB6.js +19 -0
- package/dist/catalog-chunks/chunk-FXF53HPE.js +476 -0
- package/dist/catalog-chunks/chunk-GDCQNKP7.js +45 -0
- package/dist/catalog-chunks/chunk-I4BVACNZ.js +349 -0
- package/dist/catalog-chunks/chunk-I5MYV6VF.js +248 -0
- package/dist/catalog-chunks/chunk-JSEX6PVP.js +84 -0
- package/dist/catalog-chunks/chunk-KN7YEZTH.js +294 -0
- package/dist/catalog-chunks/chunk-KRXJK3FG.js +19 -0
- package/dist/catalog-chunks/chunk-KTP5OAIN.js +17 -0
- package/dist/catalog-chunks/chunk-KYYXENHF.js +105 -0
- package/dist/catalog-chunks/chunk-M2O2SNWE.js +132 -0
- package/dist/catalog-chunks/chunk-NITEDAMY.js +325 -0
- package/dist/catalog-chunks/chunk-OTFAZXKB.js +8 -0
- package/dist/catalog-chunks/chunk-OVOLUMYF.js +452 -0
- package/dist/catalog-chunks/chunk-OWYADZUR.js +156 -0
- package/dist/catalog-chunks/chunk-PD47DK6W.js +100 -0
- package/dist/catalog-chunks/chunk-QITBAUBH.js +101 -0
- package/dist/catalog-chunks/chunk-QXWREUPI.js +56 -0
- package/dist/catalog-chunks/chunk-RKATUMDL.js +244 -0
- package/dist/catalog-chunks/chunk-S7UYABQK.js +99 -0
- package/dist/catalog-chunks/chunk-SIL53FHG.js +169 -0
- package/dist/catalog-chunks/chunk-SWPGAN45.js +28 -0
- package/dist/catalog-chunks/chunk-VCDBPAAS.js +85 -0
- package/dist/catalog-chunks/chunk-VMGI6CMO.js +15 -0
- package/dist/catalog-chunks/chunk-W7ZMAKCC.js +53 -0
- package/dist/catalog-chunks/chunk-XDDKOCZ7.js +89 -0
- package/dist/catalog-chunks/chunk-YGLQ5K3F.js +452 -0
- package/dist/catalog-chunks/chunk-YHU4BQDL.js +292 -0
- package/dist/catalog-chunks/chunk-ZCRXHCGS.js +108 -0
- package/dist/catalog-chunks/chunk-ZUQZVT7M.js +87 -0
- package/dist/catalog-chunks/chunk-ZXDZMNRZ.js +267 -0
- package/dist/index.d.ts +27 -0
- package/dist/index.js +6237 -879
- package/dist/styles.css +1 -1
- package/dist/ui/ai/ai-approval-card.d.ts +28 -0
- package/dist/ui/ai/ai-code-block.d.ts +33 -0
- package/dist/ui/ai/ai-context-meter.d.ts +14 -0
- package/dist/ui/ai/ai-fine-tune-card.d.ts +43 -0
- package/dist/ui/ai/ai-prompt-bar.d.ts +25 -0
- package/dist/ui/ai/ai-sidebar-nav.d.ts +26 -0
- package/dist/ui/ai/ai-sources.d.ts +16 -0
- package/dist/ui/ai/ai-suggestions.d.ts +12 -0
- package/dist/ui/ai/ai-task-list.d.ts +15 -0
- package/dist/ui/ai/ai-tool-call.d.ts +13 -0
- package/dist/ui/ai/rudder-issue-board.d.ts +21 -0
- package/dist/ui/animated-sidebar.d.ts +9 -0
- package/dist/ui/hover/inset-button.d.ts +16 -0
- package/dist/ui/loading/analyzing-image.d.ts +2 -0
- package/dist/ui/loading/border-trail-loading.d.ts +9 -0
- package/dist/ui/loading/wandering-eyes.d.ts +10 -0
- package/dist/ui/patterns/animated-tags.d.ts +14 -0
- package/dist/ui/patterns/expanding-icon-tabs.d.ts +8 -0
- package/dist/ui/patterns/gooey-popover.d.ts +24 -0
- package/package.json +79 -14
- package/registry/1.json +19 -0
- package/registry/10.json +19 -0
- package/registry/11.json +19 -0
- package/registry/12.json +19 -0
- package/registry/13.json +19 -0
- package/registry/14.json +19 -0
- package/registry/15.json +19 -0
- package/registry/16.json +19 -0
- package/registry/17.json +19 -0
- package/registry/18.json +19 -0
- package/registry/19.json +19 -0
- package/registry/2.json +19 -0
- package/registry/20.json +19 -0
- package/registry/21.json +19 -0
- package/registry/22.json +19 -0
- package/registry/23.json +19 -0
- package/registry/24.json +19 -0
- package/registry/25.json +19 -0
- package/registry/26.json +19 -0
- package/registry/27.json +19 -0
- package/registry/28.json +19 -0
- package/registry/29.json +19 -0
- package/registry/3.json +19 -0
- package/registry/30.json +19 -0
- package/registry/31.json +19 -0
- package/registry/32.json +19 -0
- package/registry/33.json +19 -0
- package/registry/34.json +19 -0
- package/registry/35.json +19 -0
- package/registry/36.json +16 -0
- package/registry/37.json +16 -0
- package/registry/4.json +19 -0
- package/registry/5.json +19 -0
- package/registry/6.json +19 -0
- package/registry/7.json +19 -0
- package/registry/8.json +19 -0
- package/registry/9.json +19 -0
- package/registry/LICENSE.third-party +542 -0
- package/registry/ab-segmented-tabs.json +18 -0
- package/registry/accordion-blind.json +15 -0
- package/registry/accordion-loader.json +9 -0
- package/registry/ai-approval-card.json +17 -0
- package/registry/ai-code-block.json +19 -0
- package/registry/ai-context-meter.json +19 -0
- package/registry/ai-fine-tune-card.json +19 -0
- package/registry/ai-prompt-bar.json +17 -0
- package/registry/ai-sidebar-nav.json +17 -0
- package/registry/ai-sources.json +20 -0
- package/registry/ai-suggestions.json +19 -0
- package/registry/ai-task-list.json +20 -0
- package/registry/ai-tool-call.json +20 -0
- package/registry/analyzing-image.json +17 -0
- package/registry/animated-sidebar.json +19 -0
- package/registry/animated-tags.json +19 -0
- package/registry/app-icon-load.json +9 -0
- package/registry/apple-breathe.json +9 -0
- package/registry/apple-equalizer.json +9 -0
- package/registry/apple-icon-morph.json +9 -0
- package/registry/apple-pulse-dots.json +9 -0
- package/registry/apple-scale-pulse.json +9 -0
- package/registry/apple-sound-wave.json +9 -0
- package/registry/apple-text-reveal.json +9 -0
- package/registry/apple-unlock.json +9 -0
- package/registry/arc-tracer.json +9 -0
- package/registry/bar-cascade.json +9 -0
- package/registry/bar-sweep.json +9 -0
- package/registry/blur-text.json +9 -0
- package/registry/blur-up-char.json +19 -0
- package/registry/blur-up-word.json +19 -0
- package/registry/bobbing-dots.json +9 -0
- package/registry/bookmark-corner-peel.json +15 -0
- package/registry/bookmark-save-pill.json +18 -0
- package/registry/bookmark-toggle.json +19 -0
- package/registry/border-trail-loading.json +17 -0
- package/registry/bounce-dots.json +9 -0
- package/registry/bounce-in-char.json +19 -0
- package/registry/bouncing-bars.json +9 -0
- package/registry/bouncing-dots.json +9 -0
- package/registry/bouncing-lines.json +9 -0
- package/registry/bouncing-square.json +9 -0
- package/registry/breathe-ring.json +9 -0
- package/registry/breathing-glow.json +9 -0
- package/registry/breathing-square.json +9 -0
- package/registry/btn-1.json +19 -0
- package/registry/btn-10.json +19 -0
- package/registry/btn-11.json +19 -0
- package/registry/btn-12.json +19 -0
- package/registry/btn-13.json +19 -0
- package/registry/btn-14.json +19 -0
- package/registry/btn-15.json +19 -0
- package/registry/btn-16.json +19 -0
- package/registry/btn-17.json +19 -0
- package/registry/btn-18.json +19 -0
- package/registry/btn-19.json +19 -0
- package/registry/btn-2.json +19 -0
- package/registry/btn-20.json +19 -0
- package/registry/btn-21.json +19 -0
- package/registry/btn-22.json +19 -0
- package/registry/btn-23.json +19 -0
- package/registry/btn-24.json +19 -0
- package/registry/btn-25.json +19 -0
- package/registry/btn-26.json +19 -0
- package/registry/btn-27.json +19 -0
- package/registry/btn-28.json +19 -0
- package/registry/btn-29.json +19 -0
- package/registry/btn-3.json +19 -0
- package/registry/btn-30.json +19 -0
- package/registry/btn-31.json +19 -0
- package/registry/btn-32.json +19 -0
- package/registry/btn-33.json +19 -0
- package/registry/btn-34.json +19 -0
- package/registry/btn-35.json +19 -0
- package/registry/btn-36.json +16 -0
- package/registry/btn-37.json +16 -0
- package/registry/btn-4.json +19 -0
- package/registry/btn-5.json +19 -0
- package/registry/btn-6.json +19 -0
- package/registry/btn-7.json +19 -0
- package/registry/btn-8.json +19 -0
- package/registry/btn-9.json +19 -0
- package/registry/button-slide-arrow.json +19 -0
- package/registry/cacheable-bandwidth-cost.json +19 -0
- package/registry/card-arc-5.json +18 -0
- package/registry/card-arc-7.json +18 -0
- package/registry/card-carousel-mono.json +19 -0
- package/registry/card-carousel.json +19 -0
- package/registry/card-cascade-stagger.json +18 -0
- package/registry/card-corner-fan.json +18 -0
- package/registry/card-cover-flow-mono.json +19 -0
- package/registry/card-cover-flow.json +19 -0
- package/registry/card-deck-cascade.json +15 -0
- package/registry/card-glance-preview.json +18 -0
- package/registry/card-hover.json +9 -0
- package/registry/card-linear-spread.json +18 -0
- package/registry/card-long-arc-5.json +18 -0
- package/registry/card-scatter-spread.json +18 -0
- package/registry/card-stack-peel.json +15 -0
- package/registry/card-stamp-arc.json +18 -0
- package/registry/card-time-machine-mono.json +18 -0
- package/registry/card-time-machine.json +18 -0
- package/registry/card-wheel-fan.json +18 -0
- package/registry/category-select.json +18 -0
- package/registry/character-stagger.json +9 -0
- package/registry/checkbox-draw.json +19 -0
- package/registry/checkmark-draw.json +19 -0
- package/registry/circle-toggle.json +19 -0
- package/registry/circuit-trace-draw.json +15 -0
- package/registry/circular-bars.json +9 -0
- package/registry/circular-create-button.json +16 -0
- package/registry/classic-spinner.json +9 -0
- package/registry/classic-toggle.json +9 -0
- package/registry/clock-spinner.json +9 -0
- package/registry/comet-spinner.json +9 -0
- package/registry/compass-needle-deflect.json +15 -0
- package/registry/concentric-pulse.json +9 -0
- package/registry/concentric-ring.json +9 -0
- package/registry/concentric-squares.json +9 -0
- package/registry/context-menu.json +18 -0
- package/registry/conveyor-loop.json +9 -0
- package/registry/credit-score-barcode-meter.json +19 -0
- package/registry/cross-spinner.json +9 -0
- package/registry/cube-flip-spring.json +9 -0
- package/registry/cursor-trail.json +9 -0
- package/registry/dash-ring.json +9 -0
- package/registry/dashed-spiral.json +9 -0
- package/registry/date-position-selector.json +18 -0
- package/registry/dia-text-reveal.json +19 -0
- package/registry/diamond-grid.json +9 -0
- package/registry/diamond-rotate-spring.json +9 -0
- package/registry/dislike-toggle.json +19 -0
- package/registry/dither-book.json +19 -0
- package/registry/domino-cascade.json +15 -0
- package/registry/dot-spinner.json +9 -0
- package/registry/dots-ring.json +9 -0
- package/registry/double-bounce-toggle.json +19 -0
- package/registry/double-ring.json +9 -0
- package/registry/download-icons.json +18 -0
- package/registry/drop-dot.json +9 -0
- package/registry/drop-in-char.json +19 -0
- package/registry/droplet-squish.json +15 -0
- package/registry/dual-arc.json +9 -0
- package/registry/dual-magnet-dipole.json +15 -0
- package/registry/dynamic-island.json +9 -0
- package/registry/elastic-bars.json +9 -0
- package/registry/elastic-square.json +9 -0
- package/registry/elastic-tag-snap.json +15 -0
- package/registry/error-shake.json +19 -0
- package/registry/expanding-cross.json +9 -0
- package/registry/expanding-icon-tabs.json +17 -0
- package/registry/face-id-scan.json +9 -0
- package/registry/fade-arc.json +9 -0
- package/registry/fade-dots.json +9 -0
- package/registry/fade-down.json +9 -0
- package/registry/fade-in-char.json +19 -0
- package/registry/fade-in-text.json +19 -0
- package/registry/fade-in-word.json +19 -0
- package/registry/fade-in.json +9 -0
- package/registry/fade-up.json +9 -0
- package/registry/file-upload-dropzone.json +19 -0
- package/registry/filter-tag-pill.json +18 -0
- package/registry/flip-square.json +9 -0
- package/registry/flip-x-char.json +19 -0
- package/registry/flip-y-char.json +19 -0
- package/registry/float-char.json +19 -0
- package/registry/float-word.json +19 -0
- package/registry/floating-diamonds.json +9 -0
- package/registry/floating-label-input.json +19 -0
- package/registry/fluid-bars.json +9 -0
- package/registry/fluid-diamond.json +9 -0
- package/registry/fluid-dot-orbit.json +9 -0
- package/registry/fluid-skeleton.json +9 -0
- package/registry/focus-blur.json +18 -0
- package/registry/form-submit-button.json +19 -0
- package/registry/french-doors-3d.json +18 -0
- package/registry/gear-tooth-step.json +15 -0
- package/registry/gears.json +9 -0
- package/registry/gelatin-wobble.json +15 -0
- package/registry/geometric-iris-shutter.json +15 -0
- package/registry/glassmorphic-card.json +9 -0
- package/registry/glow-button.json +9 -0
- package/registry/glow-text.json +19 -0
- package/registry/gooey-popover.json +18 -0
- package/registry/gradient-arc.json +9 -0
- package/registry/gradient-shimmer.json +18 -0
- package/registry/grid-dots.json +9 -0
- package/registry/haptic-ring.json +9 -0
- package/registry/heartbeat.json +9 -0
- package/registry/hex-lattice-draw.json +15 -0
- package/registry/hexagon-spinner.json +9 -0
- package/registry/hourglass.json +9 -0
- package/registry/hover-lift-char.json +19 -0
- package/registry/hover-lift-word.json +19 -0
- package/registry/hover-link-card.json +18 -0
- package/registry/hover-scale-char.json +19 -0
- package/registry/hover-scale-word.json +19 -0
- package/registry/inertia-skid-stop.json +15 -0
- package/registry/infinity-path.json +9 -0
- package/registry/input-focus-glow.json +19 -0
- package/registry/inset-action-button.json +16 -0
- package/registry/inset-button.json +17 -0
- package/registry/intersecting-rings.json +9 -0
- package/registry/ios-spinner.json +9 -0
- package/registry/kinetic-metronome-tick.json +15 -0
- package/registry/kinetic-tension-capsule.json +15 -0
- package/registry/light-dark-morph.json +18 -0
- package/registry/like-toggle.json +19 -0
- package/registry/line-spinner.json +9 -0
- package/registry/liquid-dots.json +9 -0
- package/registry/mac-terminal.json +9 -0
- package/registry/magnetic-button.json +9 -0
- package/registry/magnetic-disks.json +15 -0
- package/registry/magnetic-dots.json +9 -0
- package/registry/magnetic-slide-btn.json +18 -0
- package/registry/manifest.json +11258 -0
- package/registry/matrix-grid-loader.json +15 -0
- package/registry/minimal-triangle.json +9 -0
- package/registry/modular-tile-snap.json +15 -0
- package/registry/mono-activity-blue.json +18 -0
- package/registry/mono-activity-green.json +18 -0
- package/registry/mono-activity-purple.json +18 -0
- package/registry/mono-heatmap.json +19 -0
- package/registry/mono-rounded-area.json +18 -0
- package/registry/mono-rounded-bar.json +18 -0
- package/registry/mono-rounded-bubble.json +18 -0
- package/registry/mono-rounded-bullet.json +16 -0
- package/registry/mono-rounded-candlestick.json +16 -0
- package/registry/mono-rounded-composed.json +18 -0
- package/registry/mono-rounded-donut.json +18 -0
- package/registry/mono-rounded-funnel.json +18 -0
- package/registry/mono-rounded-gauge-arc.json +18 -0
- package/registry/mono-rounded-heatmap.json +16 -0
- package/registry/mono-rounded-kpi.json +18 -0
- package/registry/mono-rounded-line.json +18 -0
- package/registry/mono-rounded-meter.json +18 -0
- package/registry/mono-rounded-polar.json +18 -0
- package/registry/mono-rounded-pyramid.json +16 -0
- package/registry/mono-rounded-radar.json +18 -0
- package/registry/mono-rounded-radial-gauge.json +18 -0
- package/registry/mono-rounded-radial-group.json +18 -0
- package/registry/mono-rounded-range.json +18 -0
- package/registry/mono-rounded-sankey.json +16 -0
- package/registry/mono-rounded-scatter.json +18 -0
- package/registry/mono-rounded-sparkline.json +18 -0
- package/registry/mono-rounded-stacked-bar.json +18 -0
- package/registry/mono-rounded-step.json +18 -0
- package/registry/mono-rounded-stream.json +18 -0
- package/registry/mono-rounded-treemap.json +16 -0
- package/registry/mono-rounded-waterfall.json +18 -0
- package/registry/mono-stock.json +19 -0
- package/registry/morph-action-pill.json +18 -0
- package/registry/morph-dot-ring.json +9 -0
- package/registry/morph-loader.json +9 -0
- package/registry/morph-toggle.json +19 -0
- package/registry/morphing-bars.json +9 -0
- package/registry/morphing-infinity.json +9 -0
- package/registry/morphing-ring.json +9 -0
- package/registry/morphing-shape.json +9 -0
- package/registry/mouse-follow.json +9 -0
- package/registry/multi-select-chips.json +19 -0
- package/registry/multi-tab-bar.json +18 -0
- package/registry/neon-sign-draw.json +15 -0
- package/registry/nested-orbital-gimbal.json +15 -0
- package/registry/network-telemetry-matrix.json +19 -0
- package/registry/newtons-cradle.json +9 -0
- package/registry/noise-decibel-level.json +19 -0
- package/registry/obsidian-liquid-wave.json +16 -0
- package/registry/offset-rings.json +9 -0
- package/registry/orbiting-circles.json +9 -0
- package/registry/orbiting-dot.json +9 -0
- package/registry/origami-envelope-unfold.json +15 -0
- package/registry/origami-shape.json +9 -0
- package/registry/otp-input.json +19 -0
- package/registry/overview-bar-scrubber-card.json +19 -0
- package/registry/page-transition.json +11 -0
- package/registry/page-turn-curl.json +15 -0
- package/registry/password-toggle.json +19 -0
- package/registry/pendulum-bubble-level.json +15 -0
- package/registry/pendulum.json +9 -0
- package/registry/perspective-flip-stage.json +18 -0
- package/registry/perspective-flip.json +18 -0
- package/registry/perspective-layout-switcher.json +18 -0
- package/registry/physics-dock.json +17 -0
- package/registry/pill-tabs.json +19 -0
- package/registry/plus-minus-toggle.json +18 -0
- package/registry/presets.json +9 -0
- package/registry/prism-block-stack.json +15 -0
- package/registry/progress-indicator-piano.json +19 -0
- package/registry/progress-indicator.json +9 -0
- package/registry/progress-stepper.json +18 -0
- package/registry/pulsating-dots.json +9 -0
- package/registry/pulse-char.json +19 -0
- package/registry/pulse-dot.json +9 -0
- package/registry/pulse-dots.json +9 -0
- package/registry/pulse-square.json +9 -0
- package/registry/pulse-word.json +19 -0
- package/registry/pulse.json +9 -0
- package/registry/pumping-heart.json +9 -0
- package/registry/pyramid-block-build.json +15 -0
- package/registry/radar-sweep.json +9 -0
- package/registry/radial-iris-mask.json +18 -0
- package/registry/radial-spinner.json +15 -0
- package/registry/radio-scale.json +19 -0
- package/registry/range-slider.json +19 -0
- package/registry/receipt-tape-print.json +15 -0
- package/registry/rectangle-toggle.json +19 -0
- package/registry/repost-toggle.json +19 -0
- package/registry/reveal-text.json +19 -0
- package/registry/ribbon-banner-slide.json +15 -0
- package/registry/ring-sweep.json +9 -0
- package/registry/ripple-effect.json +9 -0
- package/registry/rise-up-word.json +19 -0
- package/registry/roller-blind-drop.json +15 -0
- package/registry/rolling-tumble.json +15 -0
- package/registry/rotate-in-char.json +19 -0
- package/registry/rotating-cross.json +9 -0
- package/registry/rotating-louvers.json +15 -0
- package/registry/rotating-triangle.json +9 -0
- package/registry/rudder-issue-board.json +24 -0
- package/registry/sales-analytics-dual-bars.json +19 -0
- package/registry/sales-overview-radial-dashboard.json +19 -0
- package/registry/sales-target-segmented-arc.json +19 -0
- package/registry/scale-in-char.json +19 -0
- package/registry/scale-in-text.json +19 -0
- package/registry/scale-in-word.json +19 -0
- package/registry/scale-in.json +9 -0
- package/registry/scramble-text.json +18 -0
- package/registry/scroll-canvas-unroll.json +15 -0
- package/registry/scroll-reveal.json +9 -0
- package/registry/search-expand.json +19 -0
- package/registry/segmented-arc-meter.json +18 -0
- package/registry/segmented-link-stretch.json +15 -0
- package/registry/segmented-step-bar.json +18 -0
- package/registry/segmented-stepper-dots.json +18 -0
- package/registry/select-dropdown.json +19 -0
- package/registry/server-performance-step-bars.json +19 -0
- package/registry/shape-shift-grid.json +9 -0
- package/registry/shimmer-line.json +9 -0
- package/registry/shimmer-text.json +19 -0
- package/registry/shutter-slide.json +15 -0
- package/registry/shutter-step-slices.json +15 -0
- package/registry/siri-wave.json +9 -0
- package/registry/skeleton-loader.json +9 -0
- package/registry/skeleton.json +9 -0
- package/registry/skew-x-char.json +19 -0
- package/registry/slide-down-char.json +19 -0
- package/registry/slide-down-word.json +19 -0
- package/registry/slide-left-char.json +19 -0
- package/registry/slide-left.json +9 -0
- package/registry/slide-right-char.json +19 -0
- package/registry/slide-right.json +9 -0
- package/registry/slide-up-char.json +19 -0
- package/registry/slide-up-text.json +19 -0
- package/registry/slide-up-word.json +19 -0
- package/registry/sliding-bars.json +9 -0
- package/registry/slinky-coil.json +15 -0
- package/registry/smart-card-dispenser.json +15 -0
- package/registry/smooth-dot-shift.json +9 -0
- package/registry/smooth-ring.json +9 -0
- package/registry/smooth-rounded-square.json +9 -0
- package/registry/solid-switch.json +19 -0
- package/registry/spatial-door-portal.json +18 -0
- package/registry/spinning-squares.json +9 -0
- package/registry/spiral-spinner.json +9 -0
- package/registry/split-gate-reveal.json +15 -0
- package/registry/spotlight.json +9 -0
- package/registry/spring-bars.json +9 -0
- package/registry/spring-dot-matrix.json +9 -0
- package/registry/spring-hexagon.json +9 -0
- package/registry/spring-ring-expand.json +9 -0
- package/registry/spring-text-pop.json +9 -0
- package/registry/spring-text.json +19 -0
- package/registry/square-accordion.json +9 -0
- package/registry/square-grid.json +9 -0
- package/registry/square-snake.json +9 -0
- package/registry/square-spinner.json +9 -0
- package/registry/squash-sphere.json +15 -0
- package/registry/stacked-bar-pulse.json +9 -0
- package/registry/stagger-text.json +19 -0
- package/registry/staggered-glass-curtain.json +18 -0
- package/registry/sticky-note-peel.json +15 -0
- package/registry/sticky-reveal.json +9 -0
- package/registry/stretch-x-char.json +19 -0
- package/registry/stretch-y-char.json +19 -0
- package/registry/stroke-waveform.json +15 -0
- package/registry/submenu-flyout.json +18 -0
- package/registry/success-check.json +19 -0
- package/registry/sudden-brake.json +15 -0
- package/registry/swapping-dots.json +9 -0
- package/registry/swing-word.json +19 -0
- package/registry/swirling-spinner.json +9 -0
- package/registry/symmetric-wave.json +9 -0
- package/registry/terminal-loader.json +9 -0
- package/registry/text-blink.json +9 -0
- package/registry/text-dots.json +9 -0
- package/registry/text-morph.json +9 -0
- package/registry/text-reveal.json +9 -0
- package/registry/text-shimmer-wave.json +9 -0
- package/registry/text-shimmer.json +9 -0
- package/registry/textarea-auto-grow.json +19 -0
- package/registry/theme-toggle.json +19 -0
- package/registry/tilt-card.json +9 -0
- package/registry/timer-preparation-segmented.json +19 -0
- package/registry/tracking-in-text.json +19 -0
- package/registry/tracking-out-text.json +19 -0
- package/registry/trailing-dots.json +9 -0
- package/registry/triple-dot-spinner.json +9 -0
- package/registry/twin-orbit.json +9 -0
- package/registry/typewriter-text.json +18 -0
- package/registry/typing-indicator.json +9 -0
- package/registry/typing.json +9 -0
- package/registry/use-mouse-position.json +10 -0
- package/registry/use-reduced-motion.json +9 -0
- package/registry/use-scroll-progress.json +9 -0
- package/registry/use-stagger.json +9 -0
- package/registry/use-web-haptics.json +10 -0
- package/registry/users-growth-pill-progress.json +19 -0
- package/registry/utils.json +10 -0
- package/registry/vertical-wheel-counter.json +18 -0
- package/registry/views-hourly-wave-chart.json +19 -0
- package/registry/wandering-cube.json +9 -0
- package/registry/wandering-eyes.json +15 -0
- package/registry/watch-spinner.json +9 -0
- package/registry/wave-dots.json +9 -0
- package/registry/wave-physics-loader.json +9 -0
- package/registry/wave-reveal.json +18 -0
- package/registry/waveform-loader.json +9 -0
- package/registry/word-reveal.json +9 -0
- package/registry/zig-zag-pulse.json +9 -0
- package/registry/zoom-in-text.json +19 -0
- package/registry/zoom-in.json +9 -0
- package/registry/zoom-out-text.json +19 -0
package/README.md
CHANGED
|
@@ -1,46 +1,95 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Mova
|
|
2
2
|
|
|
3
3
|
**Make interfaces feel alive.**
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
React components for motion: entrance transitions, hover effects, text reveals, loading indicators, and scroll interactions. Import them as a library, or copy the source into your project with the bundled CLI.
|
|
6
6
|
|
|
7
|
-
##
|
|
7
|
+
## Install
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
Requires Node.js 20+ and React / React DOM 18.2+ or 19.
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
npm install @mova-ui/react
|
|
11
13
|
```
|
|
12
14
|
|
|
15
|
+
Import the CSS once in your app entry point. Mova ships compiled styles, so you do not need to configure Tailwind. The stylesheet includes component utilities without a global reset.
|
|
16
|
+
|
|
13
17
|
```tsx
|
|
14
|
-
|
|
15
|
-
import { FadeIn, GlowButton, ClassicSpinner } from '@mova-ui/react';
|
|
18
|
+
import { FadeIn, GlowButton } from '@mova-ui/react';
|
|
16
19
|
import '@mova-ui/react/styles.css';
|
|
17
20
|
|
|
18
|
-
export function
|
|
19
|
-
return
|
|
21
|
+
export function Welcome() {
|
|
22
|
+
return (
|
|
23
|
+
<FadeIn>
|
|
24
|
+
<GlowButton onClick={() => console.log('Hello!')}>
|
|
25
|
+
Try Mova
|
|
26
|
+
</GlowButton>
|
|
27
|
+
</FadeIn>
|
|
28
|
+
);
|
|
20
29
|
}
|
|
21
30
|
```
|
|
22
31
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
The exported CSS contains the bundled components' Tailwind utility classes and theme tokens, **not** the website stylesheet or Tailwind preflight. Import it once; Tailwind is not required for the supplied styles. Its utility class names are global: applications that already use Tailwind may instead scan their installed package's JS or copied source using their own Tailwind configuration. Custom `className` values require your own CSS. Components include upstream demo defaults; check individual props before use. Motion accessibility behavior varies by component; applications should configure reduced-motion preferences and test accessibility for their use case.
|
|
32
|
+
The package includes TypeScript declarations and an ESM entry point. In frameworks with React Server Components, use interactive components inside a client boundary.
|
|
26
33
|
|
|
27
|
-
## Copy
|
|
34
|
+
## Copy components
|
|
28
35
|
|
|
29
|
-
Run from a project
|
|
36
|
+
Run the CLI from a project directory containing `package.json`:
|
|
30
37
|
|
|
31
|
-
```
|
|
32
|
-
npx @mova-ui/react --help
|
|
38
|
+
```bash
|
|
33
39
|
npx @mova-ui/react list
|
|
34
40
|
npx @mova-ui/react add glow-button
|
|
35
41
|
npx @mova-ui/react add fade-in --dir src/components/mova
|
|
42
|
+
npx @mova-ui/react --help
|
|
36
43
|
```
|
|
37
44
|
|
|
38
|
-
The CLI copies
|
|
45
|
+
The CLI copies component source, `styles.css`, and attribution licenses into `src/components/mova` by default. Missing dependencies are installed automatically using your project's npm, pnpm, yarn, or bun. Import the copied CSS once and keep both license files with the source.
|
|
46
|
+
|
|
47
|
+
Component sources are bundled with the package. Use `--skip-install` for offline source copying; otherwise dependency installation updates your package manifest and lockfile. It refuses symlink targets and paths outside your project. Existing component files stay untouched unless you pass `--overwrite`.
|
|
48
|
+
|
|
49
|
+
The extended site catalog is generated into standalone JavaScript bundles stored in `.tsx` files with an explicit typecheck exemption. Original library components retain their TypeScript source; generated catalog bundles do not preserve their original prop types.
|
|
50
|
+
|
|
51
|
+
## Development
|
|
52
|
+
|
|
53
|
+
This repository contains the component library and CLI only.
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
npm ci --include=dev
|
|
57
|
+
npm run build
|
|
58
|
+
npm test
|
|
59
|
+
npm run test:consumer
|
|
60
|
+
# Run all checks:
|
|
61
|
+
npm run verify
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
- `source-registry/` contains the editable components, hooks, and utilities. The classic toggle is stored as registry JSON.
|
|
65
|
+
- `scripts/build.mjs` compiles the ESM bundle, strict TypeScript declarations, CSS, and offline registry.
|
|
66
|
+
- `bin/mova.mjs` implements the source-copy CLI.
|
|
67
|
+
- `install-catalog/` contains reviewed public CLI inputs and third-party attribution, controlled by `public-registry.json`. Maintain these inputs in Library; there is no Site-to-Library export workflow.
|
|
68
|
+
- `tests/` covers package exports, CLI safety, and installation into a separate React consumer.
|
|
69
|
+
|
|
70
|
+
The root public inventory has 178 explicit `sourceRegistry` paths, 220 explicit `catalogEntries` records, and 66 explicit `catalog/registry-bindings.json` entries. Each binding generates standalone CLI source from its canonical catalog module and preset props. Duplicate paths or component IDs are rejected by the build rather than silently skipped, and the combined 464 IDs are the only IDs emitted into the versioned manifest and CLI registry.
|
|
71
|
+
|
|
72
|
+
The build recreates `dist/`, `registry/`, and `.generated/`. Do not edit those directories. Consumer verification packs the library, checks its file allowlist, installs it in a temporary project, then runs CLI commands, server rendering, strict typechecking, and a Vite production build.
|
|
73
|
+
|
|
74
|
+
## Source catalog
|
|
75
|
+
|
|
76
|
+
`catalog/` owns 153 reusable UI modules and 16 support files: cards, charts, metrics, forms, toggles, text effects, and CSS animation experiments. The `0.4.1` artifact exports the explicit module allowlist through `@mova-ui/react/catalog/...` and includes canonical source records in its versioned manifest. These subpaths are separate from root exports and do not create additional CLI IDs. During the root build, `catalog/data/supportedRegistryIds.ts` is generated from the finalized `registry/manifest.json` component IDs; the checked-in catalog copy is only a standalone fallback. See [the catalog guide](catalog/README.md) for source development. Local artifact availability does not imply that this version has been published to npm.
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
npm ci --prefix catalog --include=dev
|
|
80
|
+
npm --prefix catalog run verify
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## Contributing
|
|
84
|
+
|
|
85
|
+
Keep changes focused on reusable components or CLI behavior. Edit `source-registry/`, add regression coverage where applicable, and run `npm run verify` before opening a pull request. Include usage notes when you change a component API. Check keyboard interaction and reduced-motion behavior for interactive or animated changes.
|
|
86
|
+
|
|
87
|
+
Maintainers can use the manual npm release workflow for a reviewed, unpublished version. The workflow requires an exact version match and the `NPM_TOKEN` secret. Version `0.2.0` adds automatic dependency installation and the expanded CLI catalog.
|
|
39
88
|
|
|
40
|
-
|
|
89
|
+
## Attribution
|
|
41
90
|
|
|
42
|
-
|
|
91
|
+
Forked from an early version of [Amicro](https://github.com/Subhan-code/Amicro--Micro-transitions-).
|
|
43
92
|
|
|
44
|
-
## License
|
|
93
|
+
## License
|
|
45
94
|
|
|
46
|
-
MIT.
|
|
95
|
+
MIT. See [LICENSE](LICENSE).
|
package/bin/mova.mjs
CHANGED
|
@@ -1,20 +1,22 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import {
|
|
2
|
+
import { readFileSync, writeFileSync, lstatSync, realpathSync, mkdirSync, renameSync, unlinkSync, constants, openSync, closeSync } from 'node:fs';
|
|
3
3
|
import { resolve, dirname, join, isAbsolute, relative, sep } from 'node:path';
|
|
4
4
|
import { fileURLToPath } from 'node:url';
|
|
5
5
|
import { randomUUID } from 'node:crypto';
|
|
6
|
+
import { execFileSync } from 'node:child_process';
|
|
6
7
|
const pkg = resolve(dirname(fileURLToPath(import.meta.url)), '..');
|
|
8
|
+
const packageManifest = JSON.parse(readFileSync(join(pkg, 'package.json'), 'utf8'));
|
|
7
9
|
const help = `Mova — Make interfaces feel alive.
|
|
8
10
|
|
|
9
11
|
Usage:
|
|
10
12
|
npx @mova-ui/react list
|
|
11
|
-
npx @mova-ui/react add <id> [--dir src/components/mova] [--overwrite]
|
|
13
|
+
npx @mova-ui/react add <id> [--dir src/components/mova] [--overwrite] [--skip-install]
|
|
12
14
|
npx @mova-ui/react --help
|
|
13
15
|
|
|
14
16
|
Run add from your project root (must contain package.json).
|
|
15
17
|
Copies bundled TypeScript source, compiled styles.css and the MIT license.
|
|
16
|
-
|
|
17
|
-
Import the copied styles.css once in your app.
|
|
18
|
+
Installs missing dependencies using your project's npm, pnpm, yarn, or bun.
|
|
19
|
+
Import the copied styles.css once in your app. --skip-install copies source only.
|
|
18
20
|
--dir must be a relative directory inside this project; symlinks are refused.
|
|
19
21
|
--overwrite explicitly replaces existing regular files (never symlinks).
|
|
20
22
|
`;
|
|
@@ -31,31 +33,39 @@ function safePath(root, path) {
|
|
|
31
33
|
if (s && i === parts.length-1 && !s.isFile()) throw new Error('Target is not a regular file');
|
|
32
34
|
}
|
|
33
35
|
}
|
|
36
|
+
function publicEntries() {
|
|
37
|
+
const manifest = JSON.parse(readFileSync(join(pkg, 'registry', 'manifest.json'), 'utf8'));
|
|
38
|
+
if (manifest.package !== '@mova-ui/react' || manifest.components?.some(item => item.tier !== 'free')) {
|
|
39
|
+
throw new Error('Invalid public registry manifest');
|
|
40
|
+
}
|
|
41
|
+
return new Map(manifest.components.map(item => [item.id, item]));
|
|
42
|
+
}
|
|
34
43
|
function main(args) {
|
|
35
44
|
if (!args.length || (args.length === 1 && ['--help','-h'].includes(args[0]))) { console.log(help); return; }
|
|
36
45
|
if (args[0] === 'list' && args.length === 1) {
|
|
37
|
-
console.log(
|
|
46
|
+
console.log([...publicEntries().keys()].sort().join('\n')); return;
|
|
38
47
|
}
|
|
39
48
|
if (args[0] !== 'add' || !/^[a-z0-9]+(?:-[a-z0-9]+)*$/.test(args[1] ?? '')) throw new Error('Use add <id>, list, or --help');
|
|
40
|
-
const id = args[1]; let dir = 'src/components/mova'; let overwrite = false;
|
|
49
|
+
const id = args[1]; let dir = 'src/components/mova'; let overwrite = false; let skipInstall = false;
|
|
41
50
|
for (let i=2;i<args.length;i++) {
|
|
42
51
|
if (args[i] === '--overwrite' && !overwrite) overwrite = true;
|
|
52
|
+
else if (args[i] === '--skip-install' && !skipInstall) skipInstall = true;
|
|
43
53
|
else if (args[i] === '--dir' && args[i+1] && !args[i+1].startsWith('--')) dir = args[++i];
|
|
44
54
|
else throw new Error(`Unknown or incomplete option: ${args[i]}`);
|
|
45
55
|
}
|
|
46
56
|
if (!dir || isAbsolute(dir) || dir.includes('\\') || dir.includes(':') || dir.split('/').some(p => p === '..' || p.startsWith('.git') || p === 'node_modules')) throw new Error('Directory must be a relative path inside this project');
|
|
47
57
|
const root = realpathSync(process.cwd());
|
|
48
58
|
if (!stat(join(root, 'package.json'))?.isFile()) throw new Error('Run add from a project root containing package.json');
|
|
49
|
-
JSON.parse(readFileSync(join(root, 'package.json'), 'utf8'));
|
|
50
|
-
const
|
|
51
|
-
if (!
|
|
52
|
-
const item = JSON.parse(readFileSync(registryFile, 'utf8'));
|
|
59
|
+
const project = JSON.parse(readFileSync(join(root, 'package.json'), 'utf8'));
|
|
60
|
+
const item = publicEntries().get(id);
|
|
61
|
+
if (!item) throw new Error(`Unknown component: ${id}. Run npx @mova-ui/react list`);
|
|
53
62
|
if (!/^[a-z0-9-]+\.tsx?$/.test(item.file) || typeof item.content !== 'string') throw new Error('Invalid bundled registry entry');
|
|
54
63
|
const out = resolve(root, dir);
|
|
55
64
|
const files = [
|
|
56
65
|
{ name: item.file, content: item.content },
|
|
57
66
|
{ name: 'styles.css', content: readFileSync(join(pkg, 'dist/styles.css'), 'utf8') },
|
|
58
|
-
{ name: 'LICENSE.mova', content: readFileSync(join(pkg, 'LICENSE'), 'utf8') }
|
|
67
|
+
{ name: 'LICENSE.mova', content: readFileSync(join(pkg, 'LICENSE'), 'utf8') },
|
|
68
|
+
{ name: 'LICENSE.third-party', content: readFileSync(join(pkg, 'registry/LICENSE.third-party'), 'utf8') }
|
|
59
69
|
].map(f => ({...f, path: join(out, f.name)}));
|
|
60
70
|
// Preflight the entire operation before creating directories or replacing files.
|
|
61
71
|
for (const f of files) {
|
|
@@ -64,6 +74,22 @@ function main(args) {
|
|
|
64
74
|
f.skip = exists && f.name !== item.file && readFileSync(f.path, 'utf8') === f.content;
|
|
65
75
|
if (exists && !f.skip && !overwrite) throw new Error(`${relative(root, f.path)} already exists; use --overwrite to replace it`);
|
|
66
76
|
}
|
|
77
|
+
const dependencies = item.dependencies.filter(name => !project.dependencies?.[name] && !project.devDependencies?.[name]);
|
|
78
|
+
if (dependencies.some(name => !/^(?:@[a-z0-9._-]+\/)?[a-z0-9._-]+$/.test(name))) throw new Error('Invalid registry dependency');
|
|
79
|
+
const dependencySpecs = dependencies.map(name => {
|
|
80
|
+
const version = packageManifest.dependencies?.[name];
|
|
81
|
+
return version ? `${name}@${version}` : name;
|
|
82
|
+
});
|
|
83
|
+
if (!skipInstall && dependencies.length) {
|
|
84
|
+
const declared = project.packageManager?.split('@')[0];
|
|
85
|
+
const manager = ['npm', 'pnpm', 'yarn', 'bun'].includes(declared) ? declared
|
|
86
|
+
: stat(join(root, 'pnpm-lock.yaml')) ? 'pnpm'
|
|
87
|
+
: stat(join(root, 'yarn.lock')) ? 'yarn'
|
|
88
|
+
: stat(join(root, 'bun.lock')) || stat(join(root, 'bun.lockb')) ? 'bun' : 'npm';
|
|
89
|
+
console.log(`Installing ${dependencySpecs.join(', ')} with ${manager}…`);
|
|
90
|
+
try { execFileSync(manager, [manager === 'npm' ? 'install' : 'add', ...dependencySpecs], { cwd: root, stdio: 'inherit' }); }
|
|
91
|
+
catch { throw new Error(`Dependency installation failed (${manager}). Component files were not written. Resolve the package-manager error and retry.`); }
|
|
92
|
+
}
|
|
67
93
|
for (const f of files.filter(f => !f.skip)) {
|
|
68
94
|
mkdirSync(dirname(f.path), { recursive: true });
|
|
69
95
|
safePath(root, f.path);
|
|
@@ -78,7 +104,7 @@ function main(args) {
|
|
|
78
104
|
}
|
|
79
105
|
}
|
|
80
106
|
console.log(`Added ${id} to ${dir}\nImport '${dir}/styles.css' once in your app (adjust the relative import).`);
|
|
81
|
-
if (
|
|
107
|
+
if (skipInstall && dependencies.length) console.log(`Skipped dependencies: ${dependencies.join(' ')}`);
|
|
82
108
|
console.log('Requires React 18.2+ or 19 and React DOM. MIT attribution is in LICENSE.mova.');
|
|
83
109
|
}
|
|
84
110
|
try { main(process.argv.slice(2)); } catch (error) { console.error(`Mova: ${error.message}`); process.exitCode = 1; }
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ButtonConfig } from '../data/buttons';
|
|
3
|
+
interface AnimatedButtonProps {
|
|
4
|
+
config: ButtonConfig;
|
|
5
|
+
layoutMode: 'list' | 'grid' | 'matrix';
|
|
6
|
+
theme?: 'dark' | 'light';
|
|
7
|
+
}
|
|
8
|
+
export declare const AnimatedButton: React.NamedExoticComponent<AnimatedButtonProps>;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,346 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import {
|
|
3
|
+
FocusBlur
|
|
4
|
+
} from "../../catalog-chunks/chunk-QXWREUPI.js";
|
|
5
|
+
|
|
6
|
+
// .generated/catalog/components/AnimatedButton.tsx
|
|
7
|
+
import React, { useState } from "react";
|
|
8
|
+
import { AnimatePresence, motion } from "framer-motion";
|
|
9
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
10
|
+
var AnimatedButton = React.memo(function AnimatedButton2({ config, layoutMode, theme = "dark" }) {
|
|
11
|
+
const [isHovered, setIsHovered] = useState(false);
|
|
12
|
+
if (config.interactionType === "focus-blur") {
|
|
13
|
+
return /* @__PURE__ */ jsx(
|
|
14
|
+
FocusBlur,
|
|
15
|
+
{
|
|
16
|
+
items: [
|
|
17
|
+
{ label: "@X", href: "#" },
|
|
18
|
+
{ label: "@Threads", href: "#" },
|
|
19
|
+
{ label: "@GitHub", href: "#" }
|
|
20
|
+
],
|
|
21
|
+
showBrackets: true,
|
|
22
|
+
className: layoutMode === "matrix" ? "scale-[0.5] origin-center text-[10px] gap-1 px-1 py-1" : "text-sm gap-4"
|
|
23
|
+
}
|
|
24
|
+
);
|
|
25
|
+
}
|
|
26
|
+
const Icon1 = config.icon1;
|
|
27
|
+
const Icon2 = config.icon2;
|
|
28
|
+
const isMatrix = layoutMode === "matrix";
|
|
29
|
+
const isLightTheme = theme === "light";
|
|
30
|
+
const [hasInteracted, setHasInteracted] = useState(false);
|
|
31
|
+
const [mouseCoords, setMouseCoords] = useState({ x: 0, y: 0 });
|
|
32
|
+
const handleMouseEnter = () => {
|
|
33
|
+
setIsHovered(true);
|
|
34
|
+
if (config.interactionType === "morph" && (config.id === "4" || config.id === "21" || config.id === "22" || config.id === "24" || config.id === "25")) {
|
|
35
|
+
setHasInteracted(true);
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
const handleMouseMove = (e) => {
|
|
39
|
+
if (config.interactionType === "magnetic") {
|
|
40
|
+
const rect = e.currentTarget.getBoundingClientRect();
|
|
41
|
+
const x = e.clientX - rect.left - rect.width / 2;
|
|
42
|
+
const y = e.clientY - rect.top - rect.height / 2;
|
|
43
|
+
setMouseCoords({ x: x * 0.35, y: y * 0.35 });
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
const handleMouseLeave = () => {
|
|
47
|
+
setIsHovered(false);
|
|
48
|
+
if (config.interactionType === "magnetic") {
|
|
49
|
+
setMouseCoords({ x: 0, y: 0 });
|
|
50
|
+
}
|
|
51
|
+
if (hasInteracted) {
|
|
52
|
+
setTimeout(() => setHasInteracted(false), 500);
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
const handleTouchStart = () => {
|
|
56
|
+
setIsHovered(true);
|
|
57
|
+
if (config.interactionType === "morph" && (config.id === "4" || config.id === "21" || config.id === "22" || config.id === "24" || config.id === "25")) {
|
|
58
|
+
setHasInteracted(true);
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
const handleTouchEnd = () => {
|
|
62
|
+
setTimeout(() => {
|
|
63
|
+
setIsHovered(false);
|
|
64
|
+
if (hasInteracted) {
|
|
65
|
+
setTimeout(() => setHasInteracted(false), 500);
|
|
66
|
+
}
|
|
67
|
+
}, 500);
|
|
68
|
+
};
|
|
69
|
+
const showIcon2 = hasInteracted || isHovered;
|
|
70
|
+
const renderIconContent = () => {
|
|
71
|
+
switch (config.interactionType) {
|
|
72
|
+
case "slide-arrow":
|
|
73
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
74
|
+
/* @__PURE__ */ jsx(AnimatePresence, { mode: "popLayout", children: !isHovered && /* @__PURE__ */ jsx(
|
|
75
|
+
motion.div,
|
|
76
|
+
{
|
|
77
|
+
layout: true,
|
|
78
|
+
initial: { opacity: 0, x: -10 },
|
|
79
|
+
animate: { opacity: 1, x: 0 },
|
|
80
|
+
exit: { opacity: 0, x: -10 },
|
|
81
|
+
transition: { type: "spring", stiffness: 600, damping: 25 },
|
|
82
|
+
className: `flex items-center shrink-0 ${!isMatrix ? "mr-2.5" : ""}`,
|
|
83
|
+
children: /* @__PURE__ */ jsx(Icon1, { className: `w-[16px] h-[16px] ${isLightTheme ? "text-black" : "text-[#e3e3e3]"}` })
|
|
84
|
+
},
|
|
85
|
+
"icon1"
|
|
86
|
+
) }),
|
|
87
|
+
!isMatrix && /* @__PURE__ */ jsx(motion.span, { layout: true, className: "font-medium tracking-tight text-[13px] whitespace-nowrap", children: config.label }),
|
|
88
|
+
/* @__PURE__ */ jsx(AnimatePresence, { mode: "popLayout", children: isHovered && /* @__PURE__ */ jsx(
|
|
89
|
+
motion.div,
|
|
90
|
+
{
|
|
91
|
+
layout: true,
|
|
92
|
+
initial: { opacity: 0, x: 10 },
|
|
93
|
+
animate: { opacity: 1, x: 0 },
|
|
94
|
+
exit: { opacity: 0, x: 10 },
|
|
95
|
+
transition: { type: "spring", stiffness: 600, damping: 25 },
|
|
96
|
+
className: `flex items-center shrink-0 ${!isMatrix ? "ml-2.5" : ""}`,
|
|
97
|
+
children: Icon2 && /* @__PURE__ */ jsx(Icon2, { className: `w-[16px] h-[16px] ${isLightTheme ? "text-black" : "text-[#e3e3e3]"}` })
|
|
98
|
+
},
|
|
99
|
+
"icon2"
|
|
100
|
+
) })
|
|
101
|
+
] });
|
|
102
|
+
case "sparkle":
|
|
103
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
104
|
+
/* @__PURE__ */ jsx("div", { className: "relative w-[16px] h-[16px] flex items-center justify-center shrink-0", children: /* @__PURE__ */ jsx(AnimatePresence, { mode: "popLayout", initial: false, children: !isHovered ? /* @__PURE__ */ jsx(
|
|
105
|
+
motion.div,
|
|
106
|
+
{
|
|
107
|
+
initial: { y: -15, opacity: 0, scale: 0.8 },
|
|
108
|
+
animate: { y: 0, opacity: 1, scale: 1 },
|
|
109
|
+
exit: { y: -15, opacity: 0, scale: 0.8 },
|
|
110
|
+
transition: { type: "spring", stiffness: 600, damping: 25 },
|
|
111
|
+
className: "absolute inset-0 flex items-center justify-center",
|
|
112
|
+
children: /* @__PURE__ */ jsx(Icon1, { className: `w-[16px] h-[16px] ${isLightTheme ? "text-black" : "text-[#e3e3e3]"}` })
|
|
113
|
+
},
|
|
114
|
+
"icon1"
|
|
115
|
+
) : /* @__PURE__ */ jsxs(
|
|
116
|
+
motion.div,
|
|
117
|
+
{
|
|
118
|
+
initial: { y: 15, opacity: 0, scale: 0.8 },
|
|
119
|
+
animate: { y: 0, opacity: 1, scale: 1 },
|
|
120
|
+
exit: { y: 15, opacity: 0, scale: 0.8 },
|
|
121
|
+
transition: { type: "spring", stiffness: 600, damping: 25 },
|
|
122
|
+
className: "absolute inset-0 flex items-center justify-center",
|
|
123
|
+
children: [
|
|
124
|
+
Icon2 && /* @__PURE__ */ jsx(Icon2, { className: `w-[16px] h-[16px] ${config.icon2Color || (isLightTheme ? "text-black" : "text-[#e3e3e3]")}` }),
|
|
125
|
+
/* @__PURE__ */ jsx(
|
|
126
|
+
motion.div,
|
|
127
|
+
{
|
|
128
|
+
initial: { opacity: 0, scale: 0, rotate: -45, y: 10 },
|
|
129
|
+
animate: { opacity: 1, scale: 1, rotate: 0, y: 0 },
|
|
130
|
+
exit: { opacity: 0, scale: 0, rotate: 45, y: 10 },
|
|
131
|
+
transition: { type: "spring", stiffness: 600, damping: 25, delay: 0.05 },
|
|
132
|
+
className: "absolute -top-3 -right-2",
|
|
133
|
+
children: /* @__PURE__ */ jsx("svg", { className: "w-2.5 h-2.5 text-yellow-200", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ jsx("path", { d: "M12 2l2.4 7.6H22l-6.2 4.5 2.4 7.6-6.2-4.5-6.2 4.5 2.4-7.6L2 9.6h7.6z" }) })
|
|
134
|
+
}
|
|
135
|
+
),
|
|
136
|
+
/* @__PURE__ */ jsx(
|
|
137
|
+
motion.div,
|
|
138
|
+
{
|
|
139
|
+
initial: { opacity: 0, scale: 0, rotate: 45, x: 10 },
|
|
140
|
+
animate: { opacity: 1, scale: 1, rotate: 0, x: 0 },
|
|
141
|
+
exit: { opacity: 0, scale: 0, rotate: -45, x: 10 },
|
|
142
|
+
transition: { type: "spring", stiffness: 600, damping: 25, delay: 0.1 },
|
|
143
|
+
className: "absolute -top-1 -left-3",
|
|
144
|
+
children: /* @__PURE__ */ jsx("svg", { className: "w-1.5 h-1.5 text-yellow-400", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ jsx("path", { d: "M12 2l2.4 7.6H22l-6.2 4.5 2.4 7.6-6.2-4.5-6.2 4.5 2.4-7.6L2 9.6h7.6z" }) })
|
|
145
|
+
}
|
|
146
|
+
)
|
|
147
|
+
]
|
|
148
|
+
},
|
|
149
|
+
"icon2"
|
|
150
|
+
) }) }),
|
|
151
|
+
!isMatrix && /* @__PURE__ */ jsx(motion.span, { layout: true, className: "font-medium tracking-tight text-[13px] whitespace-nowrap ml-2.5", children: config.label })
|
|
152
|
+
] });
|
|
153
|
+
case "morph":
|
|
154
|
+
case "color-morph":
|
|
155
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
156
|
+
/* @__PURE__ */ jsx("div", { className: "relative w-[16px] h-[16px] flex items-center justify-center shrink-0", children: /* @__PURE__ */ jsx(AnimatePresence, { mode: "popLayout", initial: false, children: !showIcon2 ? /* @__PURE__ */ jsx(
|
|
157
|
+
motion.div,
|
|
158
|
+
{
|
|
159
|
+
initial: { scale: 0.5, opacity: 0 },
|
|
160
|
+
animate: { scale: 1, opacity: 1 },
|
|
161
|
+
exit: { scale: 0.5, opacity: 0 },
|
|
162
|
+
transition: { type: "spring", stiffness: 600, damping: 25 },
|
|
163
|
+
className: "absolute inset-0 flex items-center justify-center",
|
|
164
|
+
children: /* @__PURE__ */ jsx(Icon1, { className: `w-[16px] h-[16px] ${isHovered && config.icon1Color ? config.icon1Color : isLightTheme ? "text-black" : "text-[#e3e3e3]"}` })
|
|
165
|
+
},
|
|
166
|
+
"icon1"
|
|
167
|
+
) : /* @__PURE__ */ jsx(
|
|
168
|
+
motion.div,
|
|
169
|
+
{
|
|
170
|
+
initial: { scale: 0.5, opacity: 0 },
|
|
171
|
+
animate: { scale: 1, opacity: 1 },
|
|
172
|
+
exit: { scale: 0.5, opacity: 0 },
|
|
173
|
+
transition: { type: "spring", stiffness: 600, damping: 25 },
|
|
174
|
+
className: "absolute inset-0 flex items-center justify-center",
|
|
175
|
+
children: Icon2 && /* @__PURE__ */ jsx(Icon2, { className: `w-[16px] h-[16px] ${config.icon2Color || (isLightTheme ? "text-black" : "text-[#e3e3e3]")}` })
|
|
176
|
+
},
|
|
177
|
+
"icon2"
|
|
178
|
+
) }) }),
|
|
179
|
+
!isMatrix && /* @__PURE__ */ jsx(motion.span, { layout: true, className: "font-medium tracking-tight text-[13px] whitespace-nowrap ml-2.5", children: config.id === "4" && showIcon2 ? "Copied" : config.label })
|
|
180
|
+
] });
|
|
181
|
+
case "pulse":
|
|
182
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
183
|
+
/* @__PURE__ */ jsx("div", { className: "relative w-[16px] h-[16px] flex items-center justify-center shrink-0", children: /* @__PURE__ */ jsx(
|
|
184
|
+
motion.div,
|
|
185
|
+
{
|
|
186
|
+
animate: { scale: isHovered ? [1, 1.25, 1] : 1 },
|
|
187
|
+
transition: { duration: 0.4, ease: "easeInOut" },
|
|
188
|
+
children: /* @__PURE__ */ jsx(Icon1, { className: `w-[16px] h-[16px] transition-colors duration-300 ${isHovered && config.icon1Color ? `${config.icon1Color} fill-current` : isLightTheme ? "text-black" : "text-[#e3e3e3]"}` })
|
|
189
|
+
}
|
|
190
|
+
) }),
|
|
191
|
+
!isMatrix && /* @__PURE__ */ jsx(motion.span, { layout: true, className: "font-medium tracking-tight text-[13px] whitespace-nowrap ml-2.5", children: config.label })
|
|
192
|
+
] });
|
|
193
|
+
case "rotate":
|
|
194
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
195
|
+
/* @__PURE__ */ jsx("div", { className: "relative w-[16px] h-[16px] flex items-center justify-center shrink-0", children: /* @__PURE__ */ jsx(motion.div, { animate: { rotate: isHovered ? 180 : 0 }, transition: { type: "spring", stiffness: 400, damping: 25 }, children: /* @__PURE__ */ jsx(Icon1, { className: `w-[16px] h-[16px] ${isLightTheme ? "text-black" : "text-[#e3e3e3]"}` }) }) }),
|
|
196
|
+
!isMatrix && /* @__PURE__ */ jsx(motion.span, { layout: true, className: "font-medium tracking-tight text-[13px] whitespace-nowrap ml-2.5", children: config.label })
|
|
197
|
+
] });
|
|
198
|
+
case "shake":
|
|
199
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
200
|
+
/* @__PURE__ */ jsx("div", { className: "relative w-[16px] h-[16px] flex items-center justify-center shrink-0", children: /* @__PURE__ */ jsx(
|
|
201
|
+
motion.div,
|
|
202
|
+
{
|
|
203
|
+
animate: {
|
|
204
|
+
y: isHovered ? [0, -2, 0, -2, 0] : 0,
|
|
205
|
+
rotate: isHovered ? [0, -10, 10, -10, 0] : 0
|
|
206
|
+
},
|
|
207
|
+
transition: { duration: 0.4 },
|
|
208
|
+
children: /* @__PURE__ */ jsx(Icon1, { className: `w-[16px] h-[16px] transition-colors duration-300 ${isHovered && config.icon1Color ? config.icon1Color : isLightTheme ? "text-black" : "text-[#e3e3e3]"}` })
|
|
209
|
+
}
|
|
210
|
+
) }),
|
|
211
|
+
!isMatrix && /* @__PURE__ */ jsx(motion.span, { layout: true, className: `font-medium tracking-tight text-[13px] whitespace-nowrap transition-colors duration-300 ml-2.5 ${isHovered && config.icon1Color ? config.icon1Color : isLightTheme ? "text-black" : "text-[#e3e3e3]"}`, children: config.label })
|
|
212
|
+
] });
|
|
213
|
+
case "ring":
|
|
214
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
215
|
+
/* @__PURE__ */ jsx("div", { className: "relative w-[16px] h-[16px] flex items-center justify-center shrink-0", children: /* @__PURE__ */ jsx(AnimatePresence, { mode: "popLayout", initial: false, children: !isHovered ? /* @__PURE__ */ jsx(
|
|
216
|
+
motion.div,
|
|
217
|
+
{
|
|
218
|
+
initial: { rotate: -15, scale: 0.8, opacity: 0 },
|
|
219
|
+
animate: { rotate: 0, scale: 1, opacity: 1 },
|
|
220
|
+
exit: { rotate: 15, scale: 0.8, opacity: 0 },
|
|
221
|
+
transition: { type: "spring", stiffness: 600, damping: 25 },
|
|
222
|
+
className: "absolute inset-0 flex items-center justify-center",
|
|
223
|
+
children: /* @__PURE__ */ jsx(Icon1, { className: `w-[16px] h-[16px] ${isLightTheme ? "text-black" : "text-[#e3e3e3]"}` })
|
|
224
|
+
},
|
|
225
|
+
"icon1"
|
|
226
|
+
) : /* @__PURE__ */ jsxs(
|
|
227
|
+
motion.div,
|
|
228
|
+
{
|
|
229
|
+
initial: { rotate: -15, scale: 0.8, opacity: 0 },
|
|
230
|
+
animate: { rotate: 0, scale: 1, opacity: 1 },
|
|
231
|
+
exit: { rotate: 15, scale: 0.8, opacity: 0 },
|
|
232
|
+
transition: { type: "spring", stiffness: 600, damping: 25 },
|
|
233
|
+
className: "absolute inset-0 flex items-center justify-center",
|
|
234
|
+
children: [
|
|
235
|
+
Icon2 && /* @__PURE__ */ jsx(Icon2, { className: `w-[16px] h-[16px] ${config.icon2Color || (isLightTheme ? "text-black" : "text-[#e3e3e3]")}` }),
|
|
236
|
+
/* @__PURE__ */ jsx(
|
|
237
|
+
motion.div,
|
|
238
|
+
{
|
|
239
|
+
initial: { scale: 0 },
|
|
240
|
+
animate: { scale: 1 },
|
|
241
|
+
transition: { type: "spring", stiffness: 600, damping: 15, delay: 0.1 },
|
|
242
|
+
className: "absolute top-0 right-0 w-1.5 h-1.5 bg-red-500 rounded-full border border-transparent"
|
|
243
|
+
}
|
|
244
|
+
)
|
|
245
|
+
]
|
|
246
|
+
},
|
|
247
|
+
"icon2"
|
|
248
|
+
) }) }),
|
|
249
|
+
!isMatrix && /* @__PURE__ */ jsx(motion.span, { layout: true, className: "font-medium tracking-tight text-[13px] whitespace-nowrap ml-2.5", children: config.label })
|
|
250
|
+
] });
|
|
251
|
+
case "glare":
|
|
252
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
253
|
+
/* @__PURE__ */ jsx(Icon1, { className: `w-[16px] h-[16px] ${!isMatrix ? "mr-2.5" : ""} ${isLightTheme ? "text-black" : "text-[#e3e3e3]"}` }),
|
|
254
|
+
!isMatrix && /* @__PURE__ */ jsx("span", { className: "font-medium tracking-tight text-[13px] whitespace-nowrap", children: config.label }),
|
|
255
|
+
/* @__PURE__ */ jsx(
|
|
256
|
+
motion.div,
|
|
257
|
+
{
|
|
258
|
+
animate: { x: isHovered ? ["-150%", "150%"] : "-150%" },
|
|
259
|
+
transition: { duration: 0.85, ease: "easeInOut", repeat: isHovered ? Infinity : 0, repeatDelay: 1 },
|
|
260
|
+
className: `absolute top-0 bottom-0 w-[50px] skew-x-[-20deg] pointer-events-none z-10`,
|
|
261
|
+
style: {
|
|
262
|
+
background: isLightTheme ? "linear-gradient(90deg, transparent, rgba(0,0,0,0.12), transparent)" : "linear-gradient(90deg, transparent, rgba(255,255,255,0.22), transparent)"
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
)
|
|
266
|
+
] });
|
|
267
|
+
case "text-reveal":
|
|
268
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
269
|
+
/* @__PURE__ */ jsx("div", { className: "relative w-[16px] h-[16px] flex items-center justify-center shrink-0 mr-2.5", children: /* @__PURE__ */ jsx(motion.div, { animate: { rotate: isHovered ? 45 : 0 }, transition: { type: "spring", stiffness: 400, damping: 25 }, children: /* @__PURE__ */ jsx(Icon1, { className: `w-[16px] h-[16px] ${isLightTheme ? "text-black" : "text-[#e3e3e3]"}` }) }) }),
|
|
270
|
+
!isMatrix && /* @__PURE__ */ jsx("div", { className: "relative h-[18px] overflow-hidden", children: /* @__PURE__ */ jsxs(
|
|
271
|
+
motion.div,
|
|
272
|
+
{
|
|
273
|
+
animate: { y: isHovered ? -18 : 0 },
|
|
274
|
+
transition: { type: "spring", stiffness: 400, damping: 25 },
|
|
275
|
+
className: "flex flex-col",
|
|
276
|
+
children: [
|
|
277
|
+
/* @__PURE__ */ jsx("span", { className: `block h-[18px] leading-[18px] font-medium tracking-tight text-[13px] whitespace-nowrap ${isLightTheme ? "text-black" : "text-[#e3e3e3]"}`, children: config.label }),
|
|
278
|
+
/* @__PURE__ */ jsx("span", { className: `block h-[18px] leading-[18px] font-medium tracking-tight text-[13px] whitespace-nowrap ${isLightTheme ? "text-black" : "text-[#e3e3e3]"}`, children: config.label })
|
|
279
|
+
]
|
|
280
|
+
}
|
|
281
|
+
) })
|
|
282
|
+
] });
|
|
283
|
+
case "magnetic":
|
|
284
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
285
|
+
/* @__PURE__ */ jsx(Icon1, { className: `w-[16px] h-[16px] ${!isMatrix ? "mr-2.5" : ""} ${isLightTheme ? "text-black" : "text-[#e3e3e3]"}` }),
|
|
286
|
+
!isMatrix && /* @__PURE__ */ jsx("span", { className: "font-medium tracking-tight text-[13px] whitespace-nowrap", children: config.label })
|
|
287
|
+
] });
|
|
288
|
+
case "expand-ring":
|
|
289
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
290
|
+
/* @__PURE__ */ jsx("div", { className: "relative w-[16px] h-[16px] flex items-center justify-center shrink-0", children: /* @__PURE__ */ jsx(
|
|
291
|
+
motion.div,
|
|
292
|
+
{
|
|
293
|
+
animate: { scale: isHovered ? 1.1 : 1 },
|
|
294
|
+
transition: { type: "spring", stiffness: 400, damping: 20 },
|
|
295
|
+
children: /* @__PURE__ */ jsx(Icon1, { className: `w-[16px] h-[16px] ${isLightTheme ? "text-black" : "text-[#e3e3e3]"}` })
|
|
296
|
+
}
|
|
297
|
+
) }),
|
|
298
|
+
!isMatrix && /* @__PURE__ */ jsx("span", { className: "font-medium tracking-tight text-[13px] whitespace-nowrap ml-2.5", children: config.label }),
|
|
299
|
+
/* @__PURE__ */ jsx(AnimatePresence, { children: isHovered && /* @__PURE__ */ jsx(
|
|
300
|
+
motion.div,
|
|
301
|
+
{
|
|
302
|
+
initial: { opacity: 1, scale: 1 },
|
|
303
|
+
animate: { opacity: 0, scale: 1.15 },
|
|
304
|
+
exit: { opacity: 0 },
|
|
305
|
+
transition: { duration: 0.6, ease: "easeOut" },
|
|
306
|
+
className: `absolute inset-0 rounded-[40px] pointer-events-none border ${isLightTheme ? "border-black/25" : "border-white/25"}`
|
|
307
|
+
},
|
|
308
|
+
"expand-ring-div"
|
|
309
|
+
) })
|
|
310
|
+
] });
|
|
311
|
+
default:
|
|
312
|
+
return null;
|
|
313
|
+
}
|
|
314
|
+
};
|
|
315
|
+
return /* @__PURE__ */ jsx(
|
|
316
|
+
motion.button,
|
|
317
|
+
{
|
|
318
|
+
layout: true,
|
|
319
|
+
transition: { type: "spring", stiffness: 500, damping: 25 },
|
|
320
|
+
onMouseEnter: handleMouseEnter,
|
|
321
|
+
onMouseMove: handleMouseMove,
|
|
322
|
+
onMouseLeave: handleMouseLeave,
|
|
323
|
+
onPointerEnter: handleMouseEnter,
|
|
324
|
+
onPointerLeave: handleMouseLeave,
|
|
325
|
+
onPointerMove: handleMouseMove,
|
|
326
|
+
onFocus: handleMouseEnter,
|
|
327
|
+
onBlur: handleMouseLeave,
|
|
328
|
+
onTouchStart: handleTouchStart,
|
|
329
|
+
onTouchEnd: handleTouchEnd,
|
|
330
|
+
animate: {
|
|
331
|
+
paddingLeft: isMatrix ? 0 : isHovered ? 28 : 24,
|
|
332
|
+
paddingRight: isMatrix ? 0 : isHovered ? 28 : 24,
|
|
333
|
+
x: isHovered && config.interactionType === "magnetic" ? mouseCoords.x : 0,
|
|
334
|
+
y: isHovered && config.interactionType === "magnetic" ? mouseCoords.y : 0,
|
|
335
|
+
backgroundColor: isLightTheme ? hasInteracted && config.id === "4" ? "rgba(0,0,0,0.08)" : isHovered ? "rgba(0,0,0,0.06)" : "rgba(0,0,0,0.04)" : hasInteracted && config.id === "4" ? "rgba(255,255,255,0.08)" : isHovered ? "rgba(255,255,255,0.06)" : "rgba(255,255,255,0.04)"
|
|
336
|
+
},
|
|
337
|
+
whileHover: { scale: 1.02 },
|
|
338
|
+
whileTap: { scale: 0.96 },
|
|
339
|
+
className: `relative flex items-center justify-center rounded-[40px] border-0 cursor-pointer shadow-none transition-colors duration-150 ${isMatrix ? "w-[36px] h-[36px] sm:w-[42px] sm:h-[42px] px-0" : "h-[36px] min-w-[75px]"} ${config.interactionType === "glare" ? "overflow-hidden" : ""} ${isLightTheme ? "text-black" : "text-[#e3e3e3]"}`,
|
|
340
|
+
children: /* @__PURE__ */ jsx(motion.div, { layout: true, transition: { type: "spring", stiffness: 500, damping: 25 }, className: `flex items-center justify-center w-full ${isMatrix ? "scale-100 sm:scale-[1.15] origin-center" : ""}`, children: renderIconContent() })
|
|
341
|
+
}
|
|
342
|
+
);
|
|
343
|
+
});
|
|
344
|
+
export {
|
|
345
|
+
AnimatedButton
|
|
346
|
+
};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { HTMLMotionProps } from "framer-motion";
|
|
3
|
+
export declare function IconSwap({ children }: {
|
|
4
|
+
children: React.ReactNode;
|
|
5
|
+
}): React.JSX.Element;
|
|
6
|
+
export declare function IconSwapItem({ children, className, ...props }: HTMLMotionProps<"span">): React.JSX.Element;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
// .generated/catalog/components/InViewRender.tsx
|
|
4
|
+
import { useRef } from "react";
|
|
5
|
+
import { useInView } from "framer-motion";
|
|
6
|
+
import { jsx } from "react/jsx-runtime";
|
|
7
|
+
function InViewRender({ children }) {
|
|
8
|
+
const ref = useRef(null);
|
|
9
|
+
const isInView = useInView(ref, { margin: "200px", once: true });
|
|
10
|
+
return /* @__PURE__ */ jsx("div", { ref, className: "w-full h-full flex items-center justify-center", children: isInView ? children : null });
|
|
11
|
+
}
|
|
12
|
+
export {
|
|
13
|
+
InViewRender
|
|
14
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { TransitionPreset } from '../data/transitions';
|
|
3
|
+
interface PageTransitionCardProps {
|
|
4
|
+
preset: TransitionPreset;
|
|
5
|
+
theme: 'dark' | 'light';
|
|
6
|
+
showToast: (msg: string) => void;
|
|
7
|
+
}
|
|
8
|
+
export declare const PageTransitionCard: React.FC<PageTransitionCardProps>;
|
|
9
|
+
export {};
|