Компоненты/Поле ИИ с упоминаниями

Поле ИИ с упоминаниями

29 сентября 2026

Поле чата, где @видео, @поиск и @заметки превращаются в наклонные карточки инструментов и вместе с текстом улетают в ленту.

Установка

npm install clsx lucide-react motion tailwind-merge
pnpm add clsx lucide-react motion tailwind-merge
yarn add clsx lucide-react motion tailwind-merge
bun add clsx lucide-react motion tailwind-merge

Файлы

ai-input-mentions.tsx
НазадОтправка с градиентомДалееПоле ИИ на градиенте

Поле ввода для ИИ-чата распознаёт упоминания инструментов: стоит набрать @видео, @поиск или @заметки, как поле плавно вырастает, а под текстом на пружине выскакивают слегка наклонённые карточки с иконкой и названием инструмента.

По Enter или кнопке со стрелкой текст и карточки перелетают из поля в ленту сообщений, снизу вверх проносится размытая радужная вспышка, и звучит короткий синтезированный звук отправки. Лента сама прокручивается к новому сообщению.

Вручную

Скопируйте эти файлы в components/ai-input-mentions/:

Общие помощники положите в lib/ проекта:

Проверьте алиас путей. Импорты в коде выше записаны как @/components/... и @/lib/.... Нужен алиас "@/*" на папку, где лежат components/ и lib/, в tsconfig.json — или поправьте импорты под свои пути.

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

import { AiInputMentions } from "@/components/ai-input-mentions/ai-input-mentions";

export function Chat() {
return (
  <div className="h-[600px]">
    <AiInputMentions placeholder="Спросите ассистента..." sound={false} />
  </div>
);
}

Пропсы

Пропс
Описание
tools?

Инструменты: ключ для @, название, иконка lucide и цвет иконки

Тип MentionTool[]·По умолчанию DEFAULT_MENTION_TOOLS

placeholder?

Подсказка в пустом поле

Тип string·По умолчанию "Пиши давай.."

colors?

Цвета радужной вспышки при отправке

Тип string[]·По умолчанию MENTION_BURST_COLORS

sound?

Звук при отправке

Тип boolean·По умолчанию true

className?

Классы корневого блока

Тип string