icon-wheel
obsidianui/icon-wheelFreeComponent
obsidianui publishes no description for this item.
Live preview
live · rendered by the registry
Rendered by obsidianui on their own page — this is the component running, not a screenshot of it.Install it
npx shadcn@latest add https://obsidianui.dev/r/icon-wheel.jsonSource
1'use client';23import React from 'react';4import { motion } from 'framer-motion';5import Image from 'next/image';6import { cn } from '@/lib/utils';78type IconWheelProps = {9 icons: Array<string>;10 radius?: number;11 iconSize?: number;12 duration?: number;13 className?: string;14};1516export function IconWheel({17 icons,18 radius = 120,19 iconSize = 40,20 duration = 20,21 className22}: IconWheelProps) {23 const angleStep = (2 * Math.PI) / icons.length;24 const containerSize = radius * 2 + iconSize + 60;25 const center = containerSize / 2;2627 return (28 <div29 className={cn(30 'relative',31 className32 )}33 style={{34 width: containerSize,35 height: containerSize,36 }}37 >38 {/* Subtle orbit path - monochrome */}39 <div40 className="absolute rounded-full border border-neutral-300 dark:border-zinc-700"41 style={{42 width: radius * 2,43 height: radius * 2,44 left: center - radius,45 top: center - radius,46 }}47 />4849 {/* Center Logo - ObsidianUI Crystal */}50 <div51 className="absolute z-10 flex items-center justify-center"52 style={{53 left: center - 24,54 top: center - 28,55 width: 48,56 height: 56,57 }}58 >59 <Image60 src="/logo/bg-less.png"61 alt="ObsidianUI"62 width={48}63 height={56}64 className="object-contain drop-shadow-lg"65 />66 </div>6768 {/* Rotating container */}69 <motion.div70 className="absolute inset-0"71 animate={{ rotate: 360 }}72 transition={{73 duration: duration,74 ease: 'linear',75 repeat: Infinity76 }}77 >78 {icons.map((url, i) => {79 const angle = i * angleStep - Math.PI / 2; // Start from top80 const x = center + Math.cos(angle) * radius - (iconSize + 16) / 2;81 const y = center + Math.sin(angle) * radius - (iconSize + 16) / 2;8283 return (84// … truncated
What it pulls in
npm packages
Files it writes
More from obsidianui
All 111 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| ai-inputai-input | obsidianui | Components | Free | 2 deps | |
| alertalert | obsidianui | Components | Free | no deps | |
| animated-tab-baranimated-tab-bar | obsidianui | Components | Free | no deps | |
| apple-spotlightapple-spotlight | obsidianui | Components | Free | 2 deps | |
| avataravatar | obsidianui | Components | Free | 1 dep | |
| badgebadge | obsidianui | Components | Free | 1 dep | |
| breadcrumbbreadcrumb | obsidianui | Components | Free | 2 deps | |
| buttonbutton | obsidianui | Components | Free | 1 dep |
