Infinite Card Marquee
A component for displaying cards in a continuous scrolling carousel. Powers the testimonial-row-01 block at /blocks/testimonial-row-01.
Our team specializes in building responsive and accessible web applications using the latest technologies.
We create native-like mobile experiences that work seamlessly across both iOS and Android platforms.
Our backend services are built to scale, with robust APIs and efficient database designs.
We implement automated testing and deployment pipelines to ensure consistent and reliable software delivery.
Our design team creates intuitive and visually appealing interfaces with a focus on user experience.
Our team specializes in building responsive and accessible web applications using the latest technologies.
We create native-like mobile experiences that work seamlessly across both iOS and Android platforms.
Our backend services are built to scale, with robust APIs and efficient database designs.
We implement automated testing and deployment pipelines to ensure consistent and reliable software delivery.
Our design team creates intuitive and visually appealing interfaces with a focus on user experience.
1"use client";23import { Badge } from "@/components/ui/badge";4import { CardItem, InfiniteCardMarquee } from "@/registry/ui";56export const horizontalCards: CardItem[] = [7 {8 id: 1,9 title: "Web Development",10 description: "Modern frontend solutions",11 content: (12 <div className="p-2">13 <p className="text-sm">14 Our team specializes in building responsive and accessible web15 applications using the latest technologies.16 </p>17 </div>18 ),19 footer: (20 <div className="flex w-full justify-between">21 <Badge variant="outline">React</Badge>22 <Badge variant="outline">Next.js</Badge>23 </div>24 ),25 },26 {27 id: 2,28 title: "Mobile Apps",29 description: "Cross-platform development",30 content: (31 <div className="p-2">32 <p className="text-sm">33 We create native-like mobile experiences that work seamlessly across34 both iOS and Android platforms.35 </p>36 </div>37 ),38 footer: (39 <div className="flex w-full justify-between">40 <Badge variant="outline">React Native</Badge>41 <Badge variant="outline">Flutter</Badge>42 </div>43 ),44 },45 {46 id: 3,47 title: "Backend Services",48 description: "Scalable API solutions",49 content: (50 <div className="p-2">51 <p className="text-sm">52 Our backend services are built to scale, with robust APIs and53 efficient database designs.54 </p>55 </div>56 ),57 footer: (58 <div className="flex w-full justify-between">59 <Badge variant="outline">Node.js</Badge>60 <Badge variant="outline">Python</Badge>61 </div>62 ),63 },64 {65 id: 4,66 title: "DevOps",67 description: "CI/CD and deployment",68 content: (69 <div className="p-2">70 <p className="text-sm">71 We implement automated testing and deployment pipelines to ensure72 consistent and reliable software delivery.73 </p>74 </div>75 ),76 footer: (77 <div className="flex w-full justify-between">78 <Badge variant="outline">Docker</Badge>79 <Badge variant="outline">Kubernetes</Badge>80 </div>81 ),82 },83 {84 id: 5,85 title: "UI/UX Design",86 description: "User-centered interfaces",87 content: (88 <div className="p-2">89 <p className="text-sm">90 Our design team creates intuitive and visually appealing interfaces91 with a focus on user experience.92 </p>93 </div>94 ),95 footer: (96 <div className="flex w-full justify-between">97 <Badge variant="outline">Figma</Badge>98 <Badge variant="outline">Adobe XD</Badge>99 </div>100 ),101 },102];103104export function InfiniteCardMarqueeHorizontalExample() {105 return (106 <InfiniteCardMarquee107 cards={horizontalCards}108 axis="horizontal"109 speed="normal"110 pauseOnHover111 scaleOnHover112 cardWidth={300}113 gap={16}114 />115 );116}
Our team specializes in building responsive and accessible web applications using the latest technologies.
We create native-like mobile experiences that work seamlessly across both iOS and Android platforms.
Our backend services are built to scale, with robust APIs and efficient database designs.
We implement automated testing and deployment pipelines to ensure consistent and reliable software delivery.
Our team specializes in building responsive and accessible web applications using the latest technologies.
We create native-like mobile experiences that work seamlessly across both iOS and Android platforms.
Our backend services are built to scale, with robust APIs and efficient database designs.
We implement automated testing and deployment pipelines to ensure consistent and reliable software delivery.
1"use client";23import { Badge } from "@/components/ui/badge";4import { CardItem, InfiniteCardMarquee } from "@/registry/ui";56export const verticalCards: CardItem[] = [7 {8 id: 1,9 title: "Web Development",10 description: "Modern frontend solutions",11 content: (12 <div className="p-2">13 <p className="text-sm">14 Our team specializes in building responsive and accessible web15 applications using the latest technologies.16 </p>17 </div>18 ),19 footer: (20 <div className="flex w-full justify-between">21 <Badge variant="outline">React</Badge>22 <Badge variant="outline">Next.js</Badge>23 </div>24 ),25 },26 {27 id: 2,28 title: "Mobile Apps",29 description: "Cross-platform development",30 content: (31 <div className="p-2">32 <p className="text-sm">33 We create native-like mobile experiences that work seamlessly across34 both iOS and Android platforms.35 </p>36 </div>37 ),38 footer: (39 <div className="flex w-full justify-between">40 <Badge variant="outline">React Native</Badge>41 <Badge variant="outline">Flutter</Badge>42 </div>43 ),44 },45 {46 id: 3,47 title: "Backend Services",48 description: "Scalable API solutions",49 content: (50 <div className="p-2">51 <p className="text-sm">52 Our backend services are built to scale, with robust APIs and53 efficient database designs.54 </p>55 </div>56 ),57 footer: (58 <div className="flex w-full justify-between">59 <Badge variant="outline">Node.js</Badge>60 <Badge variant="outline">Python</Badge>61 </div>62 ),63 },64 {65 id: 4,66 title: "DevOps",67 description: "CI/CD and deployment",68 content: (69 <div className="p-2">70 <p className="text-sm">71 We implement automated testing and deployment pipelines to ensure72 consistent and reliable software delivery.73 </p>74 </div>75 ),76 footer: (77 <div className="flex w-full justify-between">78 <Badge variant="outline">Docker</Badge>79 <Badge variant="outline">Kubernetes</Badge>80 </div>81 ),82 },83 {84 id: 5,85 title: "UI/UX Design",86 description: "User-centered interfaces",87 content: (88 <div className="p-2">89 <p className="text-sm">90 Our design team creates intuitive and visually appealing interfaces91 with a focus on user experience.92 </p>93 </div>94 ),95 footer: (96 <div className="flex w-full justify-between">97 <Badge variant="outline">Figma</Badge>98 <Badge variant="outline">Adobe XD</Badge>99 </div>100 ),101 },102];103104export function InfiniteCardMarqueeVerticalExample() {105 return (106 <div className="mx-auto w-full max-w-xs">107 <InfiniteCardMarquee108 cards={verticalCards.slice(0, 4)}109 axis="vertical"110 speed="fast"111 cardWidth={280}112 cardHeight={260}113 gap={12}114 />115 </div>116 );117}
"The team at Tibbs Tech delivered beyond our expectations. Their attention to detail and commitment to quality is unmatched in the industry."
John Doe
CTO, TechCorp
"Tibbs Tech provided innovative solutions that helped us stay ahead of our competition. Their strategic approach to problem-solving is refreshing."
Jane Smith
CEO, InnovateTech
"The support team at Tibbs Tech is always available and quick to respond. They've saved us from critical situations multiple times."
Robert Johnson
IT Director, Enterprise Co.
"The team at Tibbs Tech delivered beyond our expectations. Their attention to detail and commitment to quality is unmatched in the industry."
John Doe
CTO, TechCorp
"Tibbs Tech provided innovative solutions that helped us stay ahead of our competition. Their strategic approach to problem-solving is refreshing."
Jane Smith
CEO, InnovateTech
"The support team at Tibbs Tech is always available and quick to respond. They've saved us from critical situations multiple times."
Robert Johnson
IT Director, Enterprise Co.
"Tibbs Tech provided innovative solutions that helped us stay ahead of our competition. Their strategic approach to problem-solving is refreshing."
Jane Smith
CEO, InnovateTech
"The support team at Tibbs Tech is always available and quick to respond. They've saved us from critical situations multiple times."
Robert Johnson
IT Director, Enterprise Co.
"The team at Tibbs Tech delivered beyond our expectations. Their attention to detail and commitment to quality is unmatched in the industry."
John Doe
CTO, TechCorp
"Tibbs Tech provided innovative solutions that helped us stay ahead of our competition. Their strategic approach to problem-solving is refreshing."
Jane Smith
CEO, InnovateTech
"The support team at Tibbs Tech is always available and quick to respond. They've saved us from critical situations multiple times."
Robert Johnson
IT Director, Enterprise Co.
"The team at Tibbs Tech delivered beyond our expectations. Their attention to detail and commitment to quality is unmatched in the industry."
John Doe
CTO, TechCorp
1"use client";23import { Badge } from "@/components/ui/badge";4import { CardItem, InfiniteCardMarquee } from "@/registry/ui";56export const rowsCards: CardItem[] = [7 {8 id: 1,9 title: "Exceptional Quality",10 description: "Tibbs Tech transformed our business operations.",11 content: (12 <div className="space-y-2 p-2">13 <p className="text-sm">14 "The team at Tibbs Tech delivered beyond our expectations. Their15 attention to detail and commitment to quality is unmatched in the16 industry."17 </p>18 <div className="flex items-center gap-2 pt-2">19 <div className="flex h-8 w-8 items-center justify-center rounded-full bg-primary/20 font-semibold text-primary">20 JD21 </div>22 <div>23 <p className="text-sm font-medium">John Doe</p>24 <p className="text-xs text-muted-foreground">CTO, TechCorp</p>25 </div>26 </div>27 </div>28 ),29 footer: (30 <div className="flex w-full justify-between">31 <Badge variant="outline">Software Development</Badge>32 <span className="text-xs text-muted-foreground">⭐⭐⭐⭐⭐</span>33 </div>34 ),35 },36 {37 id: 2,38 title: "Innovative Solutions",39 description: "Cutting-edge technology implementation",40 content: (41 <div className="space-y-2 p-2">42 <p className="text-sm">43 "Tibbs Tech provided innovative solutions that helped us stay44 ahead of our competition. Their strategic approach to problem-solving45 is refreshing."46 </p>47 <div className="flex items-center gap-2 pt-2">48 <div className="flex h-8 w-8 items-center justify-center rounded-full bg-primary/20 font-semibold text-primary">49 JS50 </div>51 <div>52 <p className="text-sm font-medium">Jane Smith</p>53 <p className="text-xs text-muted-foreground">CEO, InnovateTech</p>54 </div>55 </div>56 </div>57 ),58 footer: (59 <div className="flex w-full justify-between">60 <Badge variant="outline">AI Integration</Badge>61 <span className="text-xs text-muted-foreground">⭐⭐⭐⭐⭐</span>62 </div>63 ),64 },65 {66 id: 3,67 title: "Reliable Support",68 description: "24/7 customer assistance",69 content: (70 <div className="space-y-2 p-2">71 <p className="text-sm">72 "The support team at Tibbs Tech is always available and quick to73 respond. They've saved us from critical situations multiple74 times."75 </p>76 <div className="flex items-center gap-2 pt-2">77 <div className="flex h-8 w-8 items-center justify-center rounded-full bg-primary/20 font-semibold text-primary">78 RJ79 </div>80 <div>81 <p className="text-sm font-medium">Robert Johnson</p>82 <p className="text-xs text-muted-foreground">83 IT Director, Enterprise Co.84 </p>85 </div>86 </div>87 </div>88 ),89 footer: (90 <div className="flex w-full justify-between">91 <Badge variant="outline">Technical Support</Badge>92 <span className="text-xs text-muted-foreground">⭐⭐⭐⭐⭐</span>93 </div>94 ),95 },96];9798export function InfiniteCardMarqueeRowsExample() {99 return (100 <InfiniteCardMarquee101 cards={rowsCards}102 rows={2}103 rowReverse={[false, true]}104 cardWidth={280}105 cardHeight={340}106 gap={16}107 rowGap={8}108 />109 );110}
Our team specializes in building responsive and accessible web applications using the latest technologies.
We create native-like mobile experiences that work seamlessly across both iOS and Android platforms.
Our backend services are built to scale, with robust APIs and efficient database designs.
We implement automated testing and deployment pipelines to ensure consistent and reliable software delivery.
Our design team creates intuitive and visually appealing interfaces with a focus on user experience.
Our team specializes in building responsive and accessible web applications using the latest technologies.
We create native-like mobile experiences that work seamlessly across both iOS and Android platforms.
Our backend services are built to scale, with robust APIs and efficient database designs.
We implement automated testing and deployment pipelines to ensure consistent and reliable software delivery.
Our design team creates intuitive and visually appealing interfaces with a focus on user experience.
1"use client";23import { Badge } from "@/components/ui/badge";4import { CardItem, InfiniteCardMarquee } from "@/registry/ui";56export const reverseCards: CardItem[] = [7 {8 id: 1,9 title: "Web Development",10 description: "Modern frontend solutions",11 content: (12 <div className="p-2">13 <p className="text-sm">14 Our team specializes in building responsive and accessible web15 applications using the latest technologies.16 </p>17 </div>18 ),19 footer: (20 <div className="flex w-full justify-between">21 <Badge variant="outline">React</Badge>22 <Badge variant="outline">Next.js</Badge>23 </div>24 ),25 },26 {27 id: 2,28 title: "Mobile Apps",29 description: "Cross-platform development",30 content: (31 <div className="p-2">32 <p className="text-sm">33 We create native-like mobile experiences that work seamlessly across34 both iOS and Android platforms.35 </p>36 </div>37 ),38 footer: (39 <div className="flex w-full justify-between">40 <Badge variant="outline">React Native</Badge>41 <Badge variant="outline">Flutter</Badge>42 </div>43 ),44 },45 {46 id: 3,47 title: "Backend Services",48 description: "Scalable API solutions",49 content: (50 <div className="p-2">51 <p className="text-sm">52 Our backend services are built to scale, with robust APIs and53 efficient database designs.54 </p>55 </div>56 ),57 footer: (58 <div className="flex w-full justify-between">59 <Badge variant="outline">Node.js</Badge>60 <Badge variant="outline">Python</Badge>61 </div>62 ),63 },64 {65 id: 4,66 title: "DevOps",67 description: "CI/CD and deployment",68 content: (69 <div className="p-2">70 <p className="text-sm">71 We implement automated testing and deployment pipelines to ensure72 consistent and reliable software delivery.73 </p>74 </div>75 ),76 footer: (77 <div className="flex w-full justify-between">78 <Badge variant="outline">Docker</Badge>79 <Badge variant="outline">Kubernetes</Badge>80 </div>81 ),82 },83 {84 id: 5,85 title: "UI/UX Design",86 description: "User-centered interfaces",87 content: (88 <div className="p-2">89 <p className="text-sm">90 Our design team creates intuitive and visually appealing interfaces91 with a focus on user experience.92 </p>93 </div>94 ),95 footer: (96 <div className="flex w-full justify-between">97 <Badge variant="outline">Figma</Badge>98 <Badge variant="outline">Adobe XD</Badge>99 </div>100 ),101 },102];103104export function InfiniteCardMarqueeReverseExample() {105 return (106 <InfiniteCardMarquee107 cards={reverseCards}108 axis="horizontal"109 reverse110 speed="slow"111 cardWidth={280}112 gap={20}113 />114 );115}
Our team specializes in building responsive and accessible web applications using the latest technologies.
We create native-like mobile experiences that work seamlessly across both iOS and Android platforms.
Our backend services are built to scale, with robust APIs and efficient database designs.
Our team specializes in building responsive and accessible web applications using the latest technologies.
We create native-like mobile experiences that work seamlessly across both iOS and Android platforms.
Our backend services are built to scale, with robust APIs and efficient database designs.
1"use client";23import { Badge } from "@/components/ui/badge";4import { CardItem, InfiniteCardMarquee } from "@/registry/ui";56export const fastCards: CardItem[] = [7 {8 id: 1,9 title: "Web Development",10 description: "Modern frontend solutions",11 content: (12 <div className="p-2">13 <p className="text-sm">14 Our team specializes in building responsive and accessible web15 applications using the latest technologies.16 </p>17 </div>18 ),19 footer: (20 <div className="flex w-full justify-between">21 <Badge variant="outline">React</Badge>22 <Badge variant="outline">Next.js</Badge>23 </div>24 ),25 },26 {27 id: 2,28 title: "Mobile Apps",29 description: "Cross-platform development",30 content: (31 <div className="p-2">32 <p className="text-sm">33 We create native-like mobile experiences that work seamlessly across34 both iOS and Android platforms.35 </p>36 </div>37 ),38 footer: (39 <div className="flex w-full justify-between">40 <Badge variant="outline">React Native</Badge>41 <Badge variant="outline">Flutter</Badge>42 </div>43 ),44 },45 {46 id: 3,47 title: "Backend Services",48 description: "Scalable API solutions",49 content: (50 <div className="p-2">51 <p className="text-sm">52 Our backend services are built to scale, with robust APIs and53 efficient database designs.54 </p>55 </div>56 ),57 footer: (58 <div className="flex w-full justify-between">59 <Badge variant="outline">Node.js</Badge>60 <Badge variant="outline">Python</Badge>61 </div>62 ),63 },64 {65 id: 4,66 title: "DevOps",67 description: "CI/CD and deployment",68 content: (69 <div className="p-2">70 <p className="text-sm">71 We implement automated testing and deployment pipelines to ensure72 consistent and reliable software delivery.73 </p>74 </div>75 ),76 footer: (77 <div className="flex w-full justify-between">78 <Badge variant="outline">Docker</Badge>79 <Badge variant="outline">Kubernetes</Badge>80 </div>81 ),82 },83 {84 id: 5,85 title: "UI/UX Design",86 description: "User-centered interfaces",87 content: (88 <div className="p-2">89 <p className="text-sm">90 Our design team creates intuitive and visually appealing interfaces91 with a focus on user experience.92 </p>93 </div>94 ),95 footer: (96 <div className="flex w-full justify-between">97 <Badge variant="outline">Figma</Badge>98 <Badge variant="outline">Adobe XD</Badge>99 </div>100 ),101 },102];103104export function InfiniteCardMarqueeFastExample() {105 return (106 <InfiniteCardMarquee107 cards={fastCards.slice(0, 3)}108 speed="fast"109 pauseOnHover={false}110 scaleOnHover={false}111 cardWidth={260}112 gap={12}113 />114 );115}
"The team at Tibbs Tech delivered beyond our expectations. Their attention to detail and commitment to quality is unmatched in the industry."
John Doe
CTO, TechCorp
"Tibbs Tech provided innovative solutions that helped us stay ahead of our competition. Their strategic approach to problem-solving is refreshing."
Jane Smith
CEO, InnovateTech
"The support team at Tibbs Tech is always available and quick to respond. They've saved us from critical situations multiple times."
Robert Johnson
IT Director, Enterprise Co.
"The team at Tibbs Tech delivered beyond our expectations. Their attention to detail and commitment to quality is unmatched in the industry."
John Doe
CTO, TechCorp
"Tibbs Tech provided innovative solutions that helped us stay ahead of our competition. Their strategic approach to problem-solving is refreshing."
Jane Smith
CEO, InnovateTech
"The support team at Tibbs Tech is always available and quick to respond. They've saved us from critical situations multiple times."
Robert Johnson
IT Director, Enterprise Co.
1"use client";23import { Badge } from "@/components/ui/badge";4import { CardItem, InfiniteCardMarquee } from "@/registry/ui";56export const testimonialsCards: CardItem[] = [7 {8 id: 1,9 title: "Exceptional Quality",10 description: "Tibbs Tech transformed our business operations.",11 content: (12 <div className="space-y-2 p-2">13 <p className="text-sm">14 "The team at Tibbs Tech delivered beyond our expectations. Their15 attention to detail and commitment to quality is unmatched in the16 industry."17 </p>18 <div className="flex items-center gap-2 pt-2">19 <div className="flex h-8 w-8 items-center justify-center rounded-full bg-primary/20 font-semibold text-primary">20 JD21 </div>22 <div>23 <p className="text-sm font-medium">John Doe</p>24 <p className="text-xs text-muted-foreground">CTO, TechCorp</p>25 </div>26 </div>27 </div>28 ),29 footer: (30 <div className="flex w-full justify-between">31 <Badge variant="outline">Software Development</Badge>32 <span className="text-xs text-muted-foreground">⭐⭐⭐⭐⭐</span>33 </div>34 ),35 },36 {37 id: 2,38 title: "Innovative Solutions",39 description: "Cutting-edge technology implementation",40 content: (41 <div className="space-y-2 p-2">42 <p className="text-sm">43 "Tibbs Tech provided innovative solutions that helped us stay44 ahead of our competition. Their strategic approach to problem-solving45 is refreshing."46 </p>47 <div className="flex items-center gap-2 pt-2">48 <div className="flex h-8 w-8 items-center justify-center rounded-full bg-primary/20 font-semibold text-primary">49 JS50 </div>51 <div>52 <p className="text-sm font-medium">Jane Smith</p>53 <p className="text-xs text-muted-foreground">CEO, InnovateTech</p>54 </div>55 </div>56 </div>57 ),58 footer: (59 <div className="flex w-full justify-between">60 <Badge variant="outline">AI Integration</Badge>61 <span className="text-xs text-muted-foreground">⭐⭐⭐⭐⭐</span>62 </div>63 ),64 },65 {66 id: 3,67 title: "Reliable Support",68 description: "24/7 customer assistance",69 content: (70 <div className="space-y-2 p-2">71 <p className="text-sm">72 "The support team at Tibbs Tech is always available and quick to73 respond. They've saved us from critical situations multiple74 times."75 </p>76 <div className="flex items-center gap-2 pt-2">77 <div className="flex h-8 w-8 items-center justify-center rounded-full bg-primary/20 font-semibold text-primary">78 RJ79 </div>80 <div>81 <p className="text-sm font-medium">Robert Johnson</p>82 <p className="text-xs text-muted-foreground">83 IT Director, Enterprise Co.84 </p>85 </div>86 </div>87 </div>88 ),89 footer: (90 <div className="flex w-full justify-between">91 <Badge variant="outline">Technical Support</Badge>92 <span className="text-xs text-muted-foreground">⭐⭐⭐⭐⭐</span>93 </div>94 ),95 },96];9798export function InfiniteCardMarqueeTestimonialsExample() {99 return (100 <InfiniteCardMarquee101 cards={testimonialsCards}102 cardWidth={320}103 cardHeight={320}104 gap={20}105 />106 );107}
Gain insights with interactive reports and custom metrics.
Manage customer relationships with our comprehensive CRM tool.
Track projects, assign tasks, and monitor progress efficiently.
Gain insights with interactive reports and custom metrics.
Manage customer relationships with our comprehensive CRM tool.
Track projects, assign tasks, and monitor progress efficiently.
1"use client";23import { Button } from "@/components/ui/button";4import { CardItem, InfiniteCardMarquee } from "@/registry/ui";56export const productsCards: CardItem[] = [7 {8 id: 1,9 title: "Analytics Dashboard",10 description: "$1999",11 content: (12 <div className="flex flex-col items-center p-4">13 <div className="mb-2 flex h-20 w-20 items-center justify-center rounded-md bg-primary/10">14 <svg15 className="h-12 w-12 text-primary"16 fill="none"17 stroke="currentColor"18 viewBox="0 0 24 24"19 xmlns="http://www.w3.org/2000/svg"20 >21 <path22 strokeLinecap="round"23 strokeLinejoin="round"24 strokeWidth={2}25 d="M7 12l3-3 3 3 4-4M8 21l4-4 4 4M3 4h18M4 4h16v12a1 1 0 01-1 1H5a1 1 0 01-1-1V4z"26 />27 </svg>28 </div>29 <p className="text-sm text-muted-foreground">30 Gain insights with interactive reports and custom metrics.31 </p>32 </div>33 ),34 footer: <Button className="w-full">Purchase Now</Button>,35 className: "border-primary/10",36 },37 {38 id: 2,39 title: "CRM Solution",40 description: "$2499",41 content: (42 <div className="flex flex-col items-center p-4">43 <div className="mb-2 flex h-20 w-20 items-center justify-center rounded-md bg-primary/10">44 <svg45 className="h-12 w-12 text-primary"46 fill="none"47 stroke="currentColor"48 viewBox="0 0 24 24"49 xmlns="http://www.w3.org/2000/svg"50 >51 <path52 strokeLinecap="round"53 strokeLinejoin="round"54 strokeWidth={2}55 d="M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z"56 />57 </svg>58 </div>59 <p className="text-sm text-muted-foreground">60 Manage customer relationships with our comprehensive CRM tool.61 </p>62 </div>63 ),64 footer: <Button className="w-full">Purchase Now</Button>,65 className: "border-primary/10",66 },67 {68 id: 3,69 title: "Project Management",70 description: "$1799",71 content: (72 <div className="flex flex-col items-center p-4">73 <div className="mb-2 flex h-20 w-20 items-center justify-center rounded-md bg-primary/10">74 <svg75 className="h-12 w-12 text-primary"76 fill="none"77 stroke="currentColor"78 viewBox="0 0 24 24"79 xmlns="http://www.w3.org/2000/svg"80 >81 <path82 strokeLinecap="round"83 strokeLinejoin="round"84 strokeWidth={2}85 d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-3 7h3m-3 4h3m-6-4h.01M9 16h.01"86 />87 </svg>88 </div>89 <p className="text-sm text-muted-foreground">90 Track projects, assign tasks, and monitor progress efficiently.91 </p>92 </div>93 ),94 footer: <Button className="w-full">Purchase Now</Button>,95 className: "border-primary/10",96 },97];9899export function InfiniteCardMarqueeProductsExample() {100 return (101 <InfiniteCardMarquee102 cards={productsCards}103 reverse104 speed="slow"105 cardWidth={300}106 cardHeight={340}107 gap={16}108 fillViewport109 />110 );111}
Installation & source
Install via the shadcn CLI or copy the registry files manually.
npx shadcn@latest add @tt-ui/infinite-card-marquee
Props
| Name | Type | Default | Description |
|---|---|---|---|
| cards | CardItem[] | Required | Items to render in the loop |
| axis | "horizontal" | "vertical" | "horizontal" | Scroll along the x or y axis |
| reverse | boolean | false | Opposite scroll (right/up instead of left/down) |
| speed | "slow" | "normal" | "fast" | "normal" | Animation speed preset |
| pauseOnHover | boolean | true | Pause while the pointer is over the viewport |
| scaleOnHover | boolean | true | Slight scale-up on card hover |
| cardWidth | number | string | 300 | Card width (number = px) |
| cardHeight | number | string | "auto" | Card height; auto uses a fixed default for layout stability |
| gap | number | 16 | Gap between cards in px |
| sets | number | 2 | How many full list copies per track when fillViewport is false |
| fillViewport | boolean | false | Compute copies from container size for a seamless loop |
| rows | number | 1 | Stack multiple horizontal marquee rows (horizontal axis only) |
| rowReverse | boolean | boolean[] | - | Per-row scroll direction; array entries override `reverse` for that row |
| rowGap | number | 12 | Vertical spacing between rows in px when rows > 1 |
| className | string | - | Outer wrapper |
| viewportClassName | string | - | Clipped area (vertical default height is h-[400px]) |
| trackClassName | string | - | Animated row/column |
| itemClassName | string | - | Every Card root (merged with each item className) |
| rowClassName | string | - | Each row viewport when rows > 1 |