BlockDex

Components

Registries

Free blocks

Method

BlockDex

Components

Registries

Free blocks

Method

Open API

BlockDex

Components

Registries

Free blocks

Method

Open API

Components/fancy/marquee-along-svg-path

Marquee Along Svg Path

fancy/marquee-along-svg-path
FreeComponent

A ui component.

Install it

npx shadcn@latest add https://www.fancycomponents.dev/r/marquee-along-svg-path.json

Source

fancy/blocks/marquee-along-svg-path.tsxwww.fancycomponents.dev/r/marquee-along-svg-path.json · first 6 KB
1import React, { RefObject, useCallback, useEffect, useRef } from "react"
2import {
3 motion,
4 SpringOptions,
5 useAnimationFrame,
6 useMotionValue,
7 useScroll,
8 useSpring,
9 useTransform,
10 useVelocity,
11} from "motion/react"
12
13import { cn } from "@/lib/utils"
14
15// Custom wrap function
16const wrap = (min: number, max: number, value: number): number => {
17 const range = max - min
18 return ((((value - min) % range) + range) % range) + min
19}
20
21type PreserveAspectRatioAlign =
22 | "none"
23 | "xMinYMin"
24 | "xMidYMin"
25 | "xMaxYMin"
26 | "xMinYMid"
27 | "xMidYMid"
28 | "xMaxYMid"
29 | "xMinYMax"
30 | "xMidYMax"
31 | "xMaxYMax"
32
33interface CSSVariableInterpolation {
34 property: string
35 from: number | string
36 to: number | string
37}
38
39type PreserveAspectRatioMeetOrSlice = "meet" | "slice"
40
41type PreserveAspectRatio =
42 | PreserveAspectRatioAlign
43 | `${Exclude<PreserveAspectRatioAlign, "none">} ${PreserveAspectRatioMeetOrSlice}`
44
45interface MarqueeAlongSvgPathProps {
46 children: React.ReactNode
47 className?: string
48
49 // Path properties
50 path: string
51 pathId?: string
52 preserveAspectRatio?: PreserveAspectRatio
53 showPath?: boolean
54
55 // SVG properties
56 width?: string | number
57 height?: string | number
58 viewBox?: string
59
60 // Marquee properties
61 baseVelocity?: number
62 direction?: "normal" | "reverse"
63 easing?: (value: number) => number
64 slowdownOnHover?: boolean
65 slowDownFactor?: number
66 slowDownSpringConfig?: SpringOptions
67
68 // Scroll properties
69 useScrollVelocity?: boolean
70 scrollAwareDirection?: boolean
71 scrollSpringConfig?: SpringOptions
72 scrollContainer?: RefObject<HTMLElement | null> | HTMLElement | null
73
74 // Item repetition
75 repeat?: number
76
77 // Drag properties
78 draggable?: boolean
79 dragSensitivity?: number
80 dragVelocityDecay?: number
81 dragAwareDirection?: boolean
82 grabCursor?: boolean
83
84 // Z-index properties
85 enableRollingZIndex?: boolean
86 zIndexBase?: number
87 zIndexRange?: number
88
89 cssVariableInterpolation?: CSSVariableInterpolation[]
90
91 // Responsive properties
92 responsive?: boolean
93}
94
95const MarqueeAlongSvgPath = ({
96 children,
97 className,
98
99 // Path defaults
100 path,
101 pathId,
102 preserveAspectRatio = "xMidYMid meet",
103 showPath = false,
104
105 // SVG defaults
106 width = "100%",
107 height = "100%",
108 viewBox = "0 0 100 100",
109
110 // Marquee defaults
111 baseVelocity = 5,
112 direction = "normal",
113 easing,
114 slowdownOnHover = false,
115 slowDownFactor = 0.3,
116 slowDownSpringConfig = { damping: 50, stiffness: 400 },
117
118 // Scroll defaults
119// … truncated

What it pulls in

npm packages

  • motion

Files it writes

  • fancy/blocks/marquee-along-svg-path

Facts

Registry
fancy
Type
registry:ui
Access
Free
Files written
1
Licence
the repository states none
In the index
at or before 2026-08-13
Last confirmed
today

Go to the source

www.fancycomponents.dev danielpetho/fancy on GitHub Raw registry item This item as JSON

More from fancy

All 158 items
Same registry, same kind — the ones you would have found next
ComponentRegistryKindAccessInstallsCommand
Animated Gradient With Svganimated-gradient-with-svgfancyComponentsFreeno deps
Basic Number Tickerbasic-number-tickerfancyComponentsFree1 dep
Box Carouselbox-carouselfancyComponentsFree1 dep
Breathing Textbreathing-textfancyComponentsFree1 dep
Circling Elementscircling-elementsfancyComponentsFree1 dep
Css Boxcss-boxfancyComponentsFree1 dep
Cursor Attractor And Gravitycursor-attractor-and-gravityfancyComponentsFree5 deps
Drag Elementsdrag-elementsfancyComponentsFree1 dep

Also from Kynth Studios

Built for the same person as BlockDex

SkillWorks

Claude Code skills and plugins, scored

skillworks.kynth.studio

RuleStack

AGENTS.md gallery and agent-config comparison

rulestack.kynth.studio

ToolDrift

What the AI coding tools changed last night

tooldrift.kynth.studio

The studio list

One product, taken apart, once a month

Kynth Studios pulls one shipped product open every month — what it does, what it cost to build, what the pipeline behind it looks like, and what the numbers did. One email a month, nothing in between.

Double opt-in — we send one confirmation link and nothing else until you click it.

BlockDex

Built by

Kynth Studios

the studio behind SkillWorks, RuleStack and ToolDrift

part of Toolproof, the measurement layer for AI agent tooling

Index

Components
Registries
Method
Open API

Guides

shadcn component libraries
Best shadcn registries
Free shadcn blocks

Reference

Corpus counts
Crawl health
hello@kynth.studio
Privacy
Terms

© 2026 BlockDex. A Kynth Studios product. Changelog

BlockDex

The studio list

One product, taken apart, once a month

Kynth Studios pulls one shipped product open every month — what it does, what it cost to build, what the pipeline behind it looks like, and what the numbers did. One email a month, nothing in between.

Double opt-in — we send one confirmation link and nothing else until you click it.

BlockDex

Built by

Kynth Studios

the studio behind SkillWorks, RuleStack and ToolDrift

part of Toolproof, the measurement layer for AI agent tooling

Index

Components
Registries
Method
Open API

Guides

shadcn component libraries
Best shadcn registries
Free shadcn blocks

Reference

Corpus counts
Crawl health
hello@kynth.studio
Privacy
Terms

© 2026 BlockDex. A Kynth Studios product. Changelog

BlockDex

The studio list

One product, taken apart, once a month

Kynth Studios pulls one shipped product open every month — what it does, what it cost to build, what the pipeline behind it looks like, and what the numbers did. One email a month, nothing in between.

Double opt-in — we send one confirmation link and nothing else until you click it.

BlockDex

Built by

Kynth Studios

the studio behind SkillWorks, RuleStack and ToolDrift

part of Toolproof, the measurement layer for AI agent tooling

Index

Components
Registries
Method
Open API

Guides

shadcn component libraries
Best shadcn registries
Free shadcn blocks

Reference

Corpus counts
Crawl health
hello@kynth.studio
Privacy
Terms

© 2026 BlockDex. A Kynth Studios product. Changelog

BlockDex