AI студия Владимира Ломтева
УСЛУГИПРОЕКТЫСТАТЬИБАЗА ЗНАНИЙМаркетплейсОбучениеПолезные сервисы

Оставьте заявку,
чтобы обсудить проект

Напишите ваш вопрос, не забудьте указать телефон. Мы перезвоним и все расскажем.

Контакты

Москва

Работаем по всей России
и миру (онлайн)

+7 (999) 760-24-41

Ежедневно с 9:00 до 21:00

lamooof@gmail.com

По вопросам сотрудничества

TelegramWhatsApp

Есть предложение?

Напишите нам в мессенджеры

© 2025 AI студия Владимира Ломтева

Политика конфиденциальностиСогласие на обработку ПДн|ИНН 623412173261
    Animate — Скилл для ИИ-агентов | AI Рассвет

    Animate

    Animation patterns and best practices for Next.js/React applications. Use this skill when implementing animations, transitions, hover effects, page transitions, modals, or any motion in React components. Based on Emil Kowalski's "Animations on the Web" course.

    Скиллы для операций#GitHub#delphi-ai/animate-skill#skills.sh
    Скачивания
    0
    В избранном
    0
    Комментарии
    0
    Просмотры
    2

    Установить скилл

    Добавьте инструмент одной командой или скачайте проверенный архив версии.

    npx skills add delphi-ai/animate-skill --skill animate
    Скачать ZIP
    Версия
    1.0.0+71bc617e7000
    Автор
    Владимир Ломтев
    Репозиторий
    delphi-ai/animate-skill
    GitHub: delphi-ai/animate-skill

    Как установить

    1. 1Скопируйте команду из блока установки.
    2. 2Запустите её в терминале из каталога проекта.

    Документация

    Next.js Animations

    Overview

    This skill provides comprehensive guidance for implementing smooth, performant, and accessible animations in Next.js and React applications. It covers CSS animations, Framer Motion, easing principles, and accessibility considerations.

    Quick Reference

    Easing Cheat Sheet

    Animation Type Easing Duration
    Element entering ease-out 200-300ms
    Element moving on screen ease-in-out 200-300ms
    Element exiting ease-in 150-200ms
    Hover effects ease 150ms
    Opacity only linear varies

    CSS Custom Properties (Recommended)

    :root {
      --ease-out-quint: cubic-bezier(.23, 1, .32, 1);
      --ease-in-out-cubic: cubic-bezier(.645, .045, .355, 1);
      --ease-out-cubic: cubic-bezier(.33, 1, .68, 1);
    }
    

    Common Animation Patterns

    1. Hover Lift Effect

    .card {
      transition: transform 200ms var(--ease-out-quint),
                  box-shadow 200ms var(--ease-out-quint);
    }
    .card:hover {
      transform: translateY(-4px);
      box-shadow: 0 12px 24px rgba(0, 0, 0, 0.15);
    }
    

    2. Button Press

    .button {
      transition: transform 100ms ease-out;
    }
    .button:active {
      transform: scale(0.97);
    }
    

    3. Fade In on Mount (Framer Motion)

    <motion.div
      initial={{ opacity: 0, y: 20 }}
      animate={{ opacity: 1, y: 0 }}
      transition={{ duration: 0.3, ease: [.23, 1, .32, 1] }}
    >
      Content
    </motion.div>
    

    4. Modal with Exit Animation

    <AnimatePresence>
      {isOpen && (
        <motion.div
          initial={{ opacity: 0, scale: 0.95 }}
          animate={{ opacity: 1, scale: 1 }}
          exit={{ opacity: 0, scale: 0.95 }}
          transition={{ duration: 0.2, ease: "easeOut" }}
        >
          {children}
        </motion.div>
      )}
    </AnimatePresence>
    

    5. Tab Indicator (Shared Layout)

    {tabs.map(tab => (
      <button key={tab} onClick={() => setActive(tab)} className="relative px-4 py-2">
        {tab}
        {active === tab && (
          <motion.div
            layoutId="tab-indicator"
            className="absolute inset-0 bg-blue-500 rounded -z-10"
            transition={{ type: "spring", stiffness: 400, damping: 30 }}
          />
        )}
      </button>
    ))}
    

    6. Staggered List Animation

    const container = {
      hidden: { opacity: 0 },
      visible: {
        opacity: 1,
        transition: { staggerChildren: 0.1 }
      }
    }
    
    const item = {
      hidden: { opacity: 0, y: 20 },
      visible: { opacity: 1, y: 0 }
    }
    
    <motion.ul variants={container} initial="hidden" animate="visible">
      {items.map(i => <motion.li key={i} variants={item}>{i}</motion.li>)}
    </motion.ul>
    

    Golden Rules

    1. Exits faster than enters: Exit animations should be ~75% of enter duration
    2. Only animate transform and opacity: These are GPU-accelerated
    3. 200-300ms is the sweet spot: Most animations should be in this range
    4. Always respect prefers-reduced-motion: See accessibility section in references
    5. Use springs for interruptible animations: Better UX when users interrupt

    Examples

    Complete working examples from the course are in the examples/ directory:

    Example Description Key Techniques
    card-hover.tsx Slide-up description on hover CSS transitions, transform, opacity
    toast-stacking.tsx Animated toast notifications CSS custom properties, data-* triggers
    text-reveal.tsx Staggered letter animation @keyframes, animation-delay, calc()
    shared-layout.tsx Element position/size morph Framer Motion layoutId
    animate-height.tsx Smooth height changes useMeasure, animate height
    multi-step-flow.tsx Directional step wizard AnimatePresence, custom variants
    feedback-popover.tsx Button-to-popover expansion Nested layoutId, form states
    app-store-card.tsx iOS-style card expansion Multiple layoutId elements

    To use an example, read it with: Read examples/<name>.tsx

    References

    For detailed documentation, read the reference files:

    • references/easing-and-timing.md - Easing functions, timing guidelines, spring configuration
    • references/css-animations.md - Transforms, transitions, keyframes, clip-path
    • references/framer-motion.md - Motion components, AnimatePresence, variants, layout animations, hooks
    • references/performance-accessibility.md - 60fps optimization, prefers-reduced-motion, accessibility

    When to Use What

    Scenario Recommended Approach
    Simple hover effects CSS transitions
    Enter/exit animations Framer Motion + AnimatePresence
    Layout changes Framer Motion layout prop
    Shared element transitions Framer Motion layoutId
    Scroll-linked animations Framer Motion useScroll
    Complex orchestrated animations Framer Motion variants
    Drag interactions Framer Motion drag gestures
    Performance-critical CSS-only with transforms

    Dependencies

    For Framer Motion examples, install:

    pnpm add framer-motion react-use-measure usehooks-ts
    

    Требования и возможности

    Источник пакета
    https://github.com/delphi-ai/animate-skill/tree/71bc617e7000e69b679549f13ea132e696420d6c

    Файлы версии

    ПутьРазмерSHA256
    README.md137925565b3a12678da1...
    SKILL.md5340c457dc6228181294...
    examples/animate-height.tsx1876084c92c466c0afd8...
    examples/app-store-card.tsx4336b5e06b4b688eed1b...
    examples/card-hover.tsx19110c84fb0ed7b29be6...

    Частые вопросы

    Как установить Animate?
    Используйте команду npx skills add delphi-ai/animate-skill --skill animate или скачайте ZIP-архив.
    Можно ли скачать Animate бесплатно?
    Да, опубликованную версию можно скачать из маркетплейса бесплатно.

    Похожие инструменты

    Смотреть все
    Ozon Seller и Performance APIСправочник Ozon Seller API и Performance API с локальными OpenAPI-спецификациями.Excel Automation>Text To LottieCreate, edit, or fix Lottie/Bodymovin JSON animations for the local Skia Skottie player. Use for text-to-Lottie, SVG/logo/type animation, loaders/icons, state feedback, UI microinteractions, lower thirds, diagrams, data/stat/chart animations, product promos, scene/camera motion, visual effects, scene edits, slots/controls, and Skottie debugging.Grill Me
    Комментарии

    Войдите, чтобы оставить комментарий.

    Комментариев пока нет.

    Установить скилл

    Добавьте инструмент одной командой или скачайте проверенный архив версии.

    npx skills add delphi-ai/animate-skill --skill animate
    Скачать ZIP
    Версия
    1.0.0+71bc617e7000
    Автор
    Владимир Ломтев
    Репозиторий
    delphi-ai/animate-skill
    GitHub: delphi-ai/animate-skill
    A relentless interview to sharpen a plan or design.