import { Tabs, TabsContent, TabsContents, TabsList, TabsTrigger, } from '@/registry/components/tabs'; import TextIcon from '@workspace/ui/components/icons/text-icon'; import PrimitivesIcon from '@workspace/ui/components/icons/primitives-icon'; import EffectsIcon from '@workspace/ui/components/icons/effects-icon'; import ComponentsIcon from '@workspace/ui/components/icons/components-icon'; import BackgroundIcon from '@workspace/ui/components/icons/background-icon'; import { CodeEditor } from '@/registry/components/code-editor'; import { useState } from 'react'; import { index } from '@/__registry__'; import { SectionWrapper } from './section-wrapper'; import { MotionEffect } from '@/registry/effects/motion-effect'; const TABS = [ { value: 'effects', label: 'Effects', icon: EffectsIcon, name: 'motion-effect-image-grid-demo', code: index['motion-effect-image-grid-demo'].files[0].content, demo: index['motion-effect-image-grid-demo'].component, }, { value: 'components', label: 'Components', icon: ComponentsIcon, name: 'cursor-demo', code: index['cursor-demo'].files[0].content, demo: index['cursor-demo'].component, }, { value: 'primitives', label: 'Primitives', icon: PrimitivesIcon, name: 'radix-accordion-demo', code: index['radix-accordion-demo'].files[0].content, demo: index['radix-accordion-demo'].component, }, { value: 'text', label: 'Text', icon: TextIcon, name: 'writing-text-demo', code: index['writing-text-demo'].files[0].content, demo: index['writing-text-demo'].component, }, { value: 'background', label: 'Background', icon: BackgroundIcon, name: 'fireworks-background-demo', code: index['fireworks-background-demo'].files[0].content, demo: index['fireworks-background-demo'].component, }, ]; export const ComponentsSection = () => { const [currentTab, setCurrentTab] = useState(TABS[0]?.value ?? ''); return ( Various types of animated components } description="Find all types of animated components on Animate UI. Dynamic backgrounds, primitive components animated with Motion and styled with Shadcn's style, animated text and effects to let you easily animate your own components." > {TABS.map((tab) => (

{tab.label}

))}
{TABS.map((tab) => (
{tab.code}
))} TEST TEST
); };