{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "creative-experience",
  "dependencies": [
    "motion"
  ],
  "devDependencies": [],
  "registryDependencies": [],
  "files": [
    {
      "path": "../../packages/blocks/src/experience-section/creative-experience.tsx",
      "content": "'use client'\r\nimport {\r\n  Accordion,\r\n  AccordionHeader,\r\n  AccordionItem,\r\n  AccordionPanel,\r\n} from '@/components/ui/accordion'\r\nimport { TimelineAnimation } from '@/components/ui/timeline-animation'\r\nimport { Plus } from 'lucide-react'\r\nimport { useRef } from 'react'\r\n\r\ntype ExperienceItem = {\r\n  company: string\r\n  year: string\r\n  position: string\r\n  answer: string\r\n}\r\n\r\nconst experienceData: ExperienceItem[] = [\r\n  {\r\n    company: 'microsoft',\r\n    year: '2020-2021',\r\n    position: 'Design Director',\r\n    answer:\r\n      \"Led the complete redesign of Microsoft's customer experience platform, overseeing a team of 25+ designers and researchers. Implemented a new design system that improved user engagement by 45% and reduced cart abandonment by 30%. Spearheaded the integration of AI-powered personalization features that served 50+ million customers globally.\",\r\n  },\r\n  {\r\n    company: 'adobe*',\r\n    year: '2019-2020',\r\n    position: 'Senior Designer',\r\n    answer:\r\n      \"Directed the visual design overhaul of Adobe's ecosystem applications, ensuring seamless integration across Creative Cloud, Document Cloud, and Experience Cloud. Collaborated closely with engineering teams to implement cutting-edge interaction patterns that set new industry standards. Contributed to the development of design guidelines that are now used by thousands of developers worldwide.\",\r\n  },\r\n  {\r\n    company: 'tesla',\r\n    year: '2018-2019',\r\n    position: 'Product Designer',\r\n    answer:\r\n      'Pioneered the user interface for autonomous vehicle navigation systems, focusing on passenger safety and comfort. Designed intuitive control systems that bridge the gap between human drivers and AI technology. Conducted extensive user research with diverse demographics to create inclusive and accessible design solutions that earned multiple safety certifications.',\r\n  },\r\n  {\r\n    company: 'airbnb',\r\n    year: '2017-2018',\r\n    position: 'Design Lead',\r\n    answer:\r\n      \"Transformed Airbnb's host experience platform, redesigning the entire workflow to increase efficiency and reduce cognitive load. Implemented real-time feedback systems that improved host satisfaction scores by 60%. Led cross-functional initiatives that resulted in a 25% reduction in average response times across 190+ countries.\",\r\n  },\r\n  {\r\n    company: 'spotify',\r\n    year: '2015-2017',\r\n    position: 'Art Director',\r\n    answer:\r\n      \"Established Spotify's visual identity and brand guidelines during a critical period of rapid growth. Created award-winning campaigns that increased brand recognition by 200% and user acquisition by 150%. Developed a comprehensive design system that scaled across multiple platforms and enabled the design team to ship features 3x faster while maintaining consistency.\",\r\n  },\r\n]\r\n\r\nexport function CreativeExperience() {\r\n  const heroRef = useRef<HTMLDivElement>(null)\r\n  const revealVariants = {\r\n    visible: (i: number) => ({\r\n      y: 0,\r\n      opacity: 1,\r\n      filter: 'blur(0px)',\r\n      transition: {\r\n        delay: i * 0.4,\r\n        duration: 0.5,\r\n      },\r\n    }),\r\n    hidden: {\r\n      filter: 'blur(20px)',\r\n      y: 40,\r\n      opacity: 0,\r\n    },\r\n  }\r\n  return (\r\n    <div className=\"sm:p-10 p-5 mx-auto bg-zinc-100 min-h-screen w-full\">\r\n      <div className=\"mt-3 max-w-7xl mx-auto\" ref={heroRef}>\r\n        <h1 className=\"md:text-7xl text-5xl font-manrope font-semibold pb-10\">\r\n          My Experience\r\n        </h1>\r\n        <Accordion defaultValue=\"item-2\">\r\n          {experienceData.map((item, index) => (\r\n            <AccordionItem\r\n              key={index}\r\n              value={`item-${index}`}\r\n              className=\"mb-0 overflow-visible bg-transparent rounded-none w-full\"\r\n            >\r\n              <TimelineAnimation\r\n                key={index}\r\n                animationNum={index}\r\n                timelineRef={heroRef}\r\n                customVariants={revealVariants}\r\n                className=\"border-t border-neutral-300\"\r\n              >\r\n                <AccordionHeader\r\n                  customIcon\r\n                  className=\"hover:no-underline px-4 gap-4 py-2 relative data-active:bg-zinc-200 hover:bg-transparent text-black sm:text-base text-sm\"\r\n                >\r\n                  <div className=\"flex items-center space-x-2 sm:gap-5 gap-2 sm:justify-between justify-end\">\r\n                    <span className=\"flex flex-col space-y-2\">\r\n                      <span className=\"text-xs lg:text-xl md:text-md italic font-normal\">\r\n                        ({item.year})\r\n                      </span>\r\n                    </span>\r\n                    <span className=\"relative opacity-0 scale-95 group-data-active:opacity-100 group-data-active:scale-100 group-hover:scale-100 group-hover:opacity-100 transition-opacity group-data-active:rotate-90 text-neutral-600 p-2 -translate-x-1 rounded-xl\">\r\n                      <Plus className=\"group-data-active:rotate-45 transition-all duration-300\" />\r\n                    </span>\r\n                  </div>\r\n                  <p className=\"flex flex-col\">\r\n                    <span className=\"font-medium lg:text-8xl md:text-6xl text-4xl uppercase\">\r\n                      {item.company}\r\n                    </span>\r\n                    <span className=\"lg:text-xl text-zinc-800 text-end md:text-base text-sm uppercase font-medium\">\r\n                      {item.position}\r\n                    </span>\r\n                  </p>\r\n                </AccordionHeader>\r\n              </TimelineAnimation>\r\n              <TimelineAnimation\r\n                animationNum={index}\r\n                timelineRef={heroRef}\r\n                customVariants={revealVariants}\r\n              >\r\n                <AccordionPanel\r\n                  className=\"space-y-4 w-full mx-auto bg-zinc-200 data-active:bg-neutral-200 px-4\"\r\n                  articleClassName=\"pt-2 px-0 w-full max-w-4xl\"\r\n                >\r\n                  <p className=\"text-xs sm:text-base\">{item.answer}</p>\r\n                </AccordionPanel>\r\n              </TimelineAnimation>\r\n            </AccordionItem>\r\n          ))}\r\n        </Accordion>\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n",
      "type": "registry:block"
    },
    {
      "path": "./components/ui/timeline-animation.tsx",
      "content": "import type { Variants } from 'motion/react';\nimport { type HTMLMotionProps, motion, useInView } from 'motion/react';\nimport type React from 'react';\n\ntype TimelineContentProps<T extends keyof HTMLElementTagNameMap> = {\n  children?: React.ReactNode;\n  animationNum: number;\n  className?: string;\n  timelineRef: React.RefObject<HTMLElement | null>;\n  as?: T;\n  customVariants?: Variants;\n  once?: boolean;\n} & HTMLMotionProps<T>;\n\nexport const TimelineAnimation = <T extends keyof HTMLElementTagNameMap = 'div'>({\n  children,\n  animationNum,\n  timelineRef,\n  className,\n  as,\n  customVariants,\n  once = true,\n  ...props\n}: TimelineContentProps<T>) => {\n  const defaultSequenceVariants = {\n    visible: (i: number) => ({\n      filter: 'blur(0px)',\n      y: 0,\n      opacity: 1,\n      transition: {\n        delay: i * 0.5,\n        duration: 0.5,\n      },\n    }),\n    hidden: {\n      filter: 'blur(20px)',\n      y: 0,\n      opacity: 0,\n    },\n  };\n\n  const sequenceVariants = customVariants || defaultSequenceVariants;\n\n  const isInView = useInView(timelineRef, {\n    once,\n  });\n\n  const MotionComponent = motion[as || 'div'] as React.ElementType;\n\n  return (\n    <MotionComponent\n      initial='hidden'\n      animate={isInView ? 'visible' : 'hidden'}\n      custom={animationNum}\n      variants={sequenceVariants}\n      className={className}\n      {...props}\n    >\n      {children}\n    </MotionComponent>\n  );\n};\n",
      "type": "registry:component"
    }
  ],
  "type": "registry:block"
}