AiSug建议小组
@cloud-ru/ds-ai-suggestion-panel {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080} - - {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080} - {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080} - {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080} - {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080} - {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}.
Полоса:пользователь也. {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你说什么? 盖加.
Когда
- Рядом:алерт也.
- {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢.
Когда не нужен:
- 说吧
- {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你觉得呢
@cloud-ru/ds-ai-field-request。 。 。 .
- {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你觉得呢
- {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢
- используйте
AiSuggestionSimpleиз@cloud-ru/ds-ai-suggestion。 。 。 .
- используйте
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢.
Анатомия
校对:Soup
- - Giga - открывает на ассистента ассистента ассистента ассистента ассистента
onLogoClick。 。 。 . - {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢
items{\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你觉得呢. - {\fn黑体\fs20\shad2\2aH82\3aH20\4aH33\fscx95\3cH592001\be1} - {\fn黑体\fs20\shad2\2aH82\3aH20\4aH33\fscx95\3cH592001\be1} - - {\fn黑体\fs20\shad2\2aH82\3aH20\4aH33\fscx95\3cH592001\be1} - - - {\fn黑体\fs20\shad2\2aH82\3aH20\4aH33\fscx95\3cH592001\be1}.
- {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得怎么样? Показывается,если也
onClose。 。 。 .
大小( 默认) s(中文(简体) )
s- высота 32.m——40岁.
Размеры
import { AiSuggestionPanel, SIZE } from '@cloud-ru/ds-ai-suggestion-panel';
const ITEMS = [
{ value: 'alert-reason', label: 'Почему сработал алерт?' },
{ value: 'vm-traffic', label: 'Где посмотреть трафик ВМ?' },
];
export function Sizes() {
return (
<div style={{ display: 'flex', flexDirection: 'column', gap: 12, alignItems: 'flex-start' }}>
<AiSuggestionPanel items={ITEMS} size={SIZE.S} />
<AiSuggestionPanel items={ITEMS} size={SIZE.M} />
</div>
);
}
Состояния
disabled- подписьнажатиене.loading{\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你觉得呢.
Hover, 按下 \ 焦点 \ CSS (:hover, (中文(简体) ), :active, (中文(简体) ), :focus-visible) (中文(简体) ). {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得怎样.
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢? {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢.
Установка
pnpm add @cloud-ru/ds-ai-suggestion-panel
import { AiSuggestionPanel, SIZE } from '@cloud-ru/ds-ai-suggestion-panel';
Примеры
Базовый
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢
import { AiSuggestionPanel } from '@cloud-ru/ds-ai-suggestion-panel';
import { Typography } from '@cloud-ru/ds-typography';
import { useState } from 'react';
const ITEMS = [
{ value: 'alert-reason', label: 'Почему сработал алерт?' },
{ value: 'vm-monitoring', label: 'Как настроить мониторинг всех ВМ?' },
{ value: 'vm-traffic', label: 'Где посмотреть трафик ВМ?' },
{ value: 'alert-vm-off', label: 'Как создать алерт, если ВМ выключена?' },
{ value: 'vm-metrics', label: 'Какие проблемы видны по метрикам ВМ?' },
];
export function Basic() {
const [selected, setSelected] = useState<string>();
const selectedLabel = ITEMS.find(item => item.value === selected)?.label;
return (
<div style={{ display: 'flex', flexDirection: 'column', gap: 12, alignItems: 'flex-start' }}>
<AiSuggestionPanel items={ITEMS} onItemClick={setSelected} />
<Typography variant='body' size='s'>
{selectedLabel ? `Выбран вопрос: ${selectedLabel}` : 'Нажмите на вопрос'}
</Typography>
</div>
);
}
Загрузка
装入 装入
import { AiSuggestionPanel, AiSuggestionPanelItem } from '@cloud-ru/ds-ai-suggestion-panel';
import { useEffect, useState } from 'react';
const QUESTIONS: AiSuggestionPanelItem[] = [
{ value: 'alert-reason', label: 'Почему сработал алерт?' },
{ value: 'vm-monitoring', label: 'Как настроить мониторинг всех ВМ?' },
{ value: 'vm-traffic', label: 'Где посмотреть трафик ВМ?' },
];
/** Время «ответа ассистента» в демо. */
const ANSWER_DELAY_MS = 2000;
export function LoadingFlow() {
const [pendingValue, setPendingValue] = useState<string>();
useEffect(() => {
if (!pendingValue) return;
const timer = setTimeout(() => setPendingValue(undefined), ANSWER_DELAY_MS);
return () => clearTimeout(timer);
}, [pendingValue]);
const items = QUESTIONS.map(question => ({ ...question, loading: question.value === pendingValue }));
return <AiSuggestionPanel items={items} onItemClick={setPendingValue} />;
}
Кнопка
{\fn黑体\fs20\shad2\2aH82\3aH20\4aH33\fscx95\3cH592001\be1}结束 {\fn黑体\fs20\shad2\2aH82\3aH20\4aH33\fscx95\3cH592001\be1}
import { AiSuggestionPanel } from '@cloud-ru/ds-ai-suggestion-panel';
import { Button } from '@cloud-ru/ds-button';
import { useState } from 'react';
const ITEMS = [
{ value: 'alert-reason', label: 'Почему сработал алерт?' },
{ value: 'vm-traffic', label: 'Где посмотреть трафик ВМ?' },
];
export function WithClose() {
const [visible, setVisible] = useState(true);
if (!visible) {
return <Button label='Показать подсказки' view='outline' appearance='neutral' onClick={() => setVisible(true)} />;
}
return <AiSuggestionPanel items={ITEMS} onClose={() => setVisible(false)} />;
}
道具
AiSug建议小组
| Prop | 类型 | 默认 | 说明 |
|---|---|---|---|
className | string | —— 说 | (原始内容存档于2018-09-29). CSS-класс. |
data-test-id | string | —— 说 | |
docsUrl | string | https://cloud.ru/docs/ai_assistant_cloudia/ug/index | {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你说什么. |
innerRef | Ref<HTMLDivElement> | —— 说 | {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢. |
items | AiSuggestionPanelItem | —— 说 | Вопросы. {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你还好吧 со. |
layoutPresets | AiSuggestionPanelLayoutDefaults | LayoutPresets | —— 说 | Переопределение(пресетов)mobile, (中文(简体) ), desktop,(...) ) для size。 。 。 . |
onClose | (() => void) | —— 说 | {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢? {\fn华文仿宋\fs16\1cHD1D1D1}好! {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢. |
onItemClick | ((value: string) => void) | —— 说 | [永久失效連結] (中文(简体) ). |
onLogoClick | (() => void) | —— 说 | {\fn黑体\fs20\shad2\2aH82\3aH20\4aH33\fscx95\3cH592001\be1}吉加(英语:. |
size | "m" | "s" | —— 说 | 校对:Soup s - 32岁, m ——40岁. По s移动 m。 。 。 . QQ 桌面; 移动 QQ layoutPresets.mobile。 。 。 . |
相关类型
建议 小组项目
| Prop | 类型 | 默认 | 说明 |
|---|---|---|---|
disabled | boolean | undefined | —— 说 | (原始内容存档于2018-10-11). QQ: нажатие. |
label | string | —— 说 | Текст. {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢. |
loading | boolean | undefined | —— 说 | Вопрос:после也 нажатие. Состояние. |
value | string | —— 说 | Идентификатор; приходит; приходит onItemClick。 。 。 . |
助理建议小组
| Prop | 类型 | 默认 | 说明 |
|---|---|---|---|
size | "m" | "s" | —— 说 | Размер. |
Size=:"m"|"s"
Смотри
@cloud-ru/ds-ai-suggestion{\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你觉得呢.@cloud-ru/ds-ai-button-giga- Giga, из собрана логотипа.
Адаптивность
AiSuggestionPanel -=YTET -伊甸园字幕组=- 翻译: {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢 @cloud-ru/ds-adaptive {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你觉得呢 layoutType нет.
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢 m ???????????????????????????????????????????.
| Проп | 桌面 | 移动 |
|---|---|---|
size | s | m |
- 手机 - 电话 AI_SUGGESTION_PANEL_LAYOUT_PRESETS。 。 。 .
Как
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}我.. layoutPresets[layout] ( AI_SUGGESTION_PANEL_LAYOUT_PRESETS → (=桌面-значение)базовый.
import { AiSuggestionPanel } from '@cloud-ru/ds-ai-suggestion-panel'
// Явный проп задаёт desktop-значение, на mobile полоса остаётся размера m
<AiSuggestionPanel items={items} size='m' />
// Оставить размер s на mobile
<AiSuggestionPanel items={items} layoutPresets={{ mobile: { size: 's' } }} />