1 звезда на GitHub = 1 новый компонент.

Поставить звезду
Навигацияburgericonanimated

Animated Burger Menu

Иконка-гамбургер с плавной анимацией превращения в крестик закрытия.

Живое превью

Использование

Скопируйте и вставьте этот код в ваш React-компонент:

tsx
import { BurgerMorphIcon } from 'react-component-kit-ui/navigation';

<BurgerMorphIcon>Content</BurgerMorphIcon>

Ручная установка

Если вы не используете пакет npm, создайте файл и вставьте следующий код: src/components/BurgerMorphIcon.tsx + BurgerMorphIcon.css:

BurgerMorphIcon.tsx
'use client';

import './BurgerMorphIcon.css';
// TODO(port): inline handler onClick="this.classList.toggle('active')"

/** BurgerMorphIcon — ported from astro-component-kit. */
export interface BurgerMorphIconProps {
}

export function BurgerMorphIcon({}: BurgerMorphIconProps) {
  return (
    <>
      <button className="burger" data-rk-641974="">
        <span data-rk-641974=""></span><span data-rk-641974=""></span><span data-rk-641974=""></span>
      </button>
    </>
  );
}

export default BurgerMorphIcon;
BurgerMorphIcon.css
/* BurgerMorphIcon — ported from astro-component-kit (navigation/BurgerMorphIcon.astro) */

.burger:where([data-rk-641974]) { background: none; border: none; width: 30px; height: 24px; cursor: pointer; display: flex; flex-direction: column; justify-content: space-between; }
.burger:where([data-rk-641974]) span:where([data-rk-641974]) { width: 100%; height: 3px; background: #fff; border-radius: 2px; transition: 0.4s; }
.burger.active:where([data-rk-641974]) span:nth-child(1):where([data-rk-641974]) { transform: translateY(10.5px) rotate(45deg); }
.burger.active:where([data-rk-641974]) span:nth-child(2):where([data-rk-641974]) { opacity: 0; }
.burger.active:where([data-rk-641974]) span:nth-child(3):where([data-rk-641974]) { transform: translateY(-10.5px) rotate(-45deg); }

Краткая информация

Категория
Навигация
Имя файла
BurgerMorphIcon.tsx
Зависимости
Нет — чистый React + CSS
Теги
burgericonanimated