AiToolArray

Сворачиваемый список однотипных элементов: имя, счётчик (count + unit) и chevron. Раскрытие controlled: open + onOpenChange.

Когда использовать

  • Массив элементов в результате инструмента.
  • Список объектов с вложенными полями.

Анатомия

Count + Unit

Счётчик рендерится как [ N ] или [ N unit ] (например [ 2 шт. ]).

Вложенный контент

В элементы можно вкладывать любой контент: AiToolText, AiToolKeyValue, AiToolObject (включая массив объектов) и вложенные AiToolArray.

Mono / Error

Наследуются из AiToolDetails и каскадом передаются во вложенные узлы; либо задаются пропом явно.

Установка

pnpm add @cloud-ru/ds-ai-tool
import { AiToolArray } from '@cloud-ru/ds-ai-tool'

Примеры использования

Массив объектов

Массив объектовArray с вложенными Object
Key[ArrayName][ 2 шт. ]
Key[0]
regionru-central1
statusok
Key[1]
regionru-central1-a
statuspending
tsx
import { AiToolArray, AiToolObject } from '@cloud-ru/ds-ai-tool';
import { useState } from 'react';

export function ArrayList() {
  const [open, setOpen] = useState(true);

  return (
    <div style={{ width: 360 }}>
      <AiToolArray name='Key[ArrayName]' count={2} unit='шт.' open={open} onOpenChange={setOpen}>
        <AiToolObject name='Key[0]' open>
          <AiToolObject variant='string' name='region' value='ru-central1' />
          <AiToolObject variant='string' name='status' value='ok' />
        </AiToolObject>
        <AiToolObject name='Key[1]' open>
          <AiToolObject variant='string' name='region' value='ru-central1-a' />
          <AiToolObject variant='string' name='status' value='pending' />
        </AiToolObject>
      </AiToolArray>
    </div>
  );
}

Props

Types

PropsAiToolArrayProps
PropTypeDefaultRequiredDescription
childrenReactNode—noВложенные элементы (при раскрытии).
classNamestring—noДоп. класс корня.
countnumber—noКоличество элементов — рендерится как `[ N ]` (или `[ N unit ]`).
data-test-idstringai-tool-arrayno
errorboolean—noСостояние ошибки: имя и счётчик красные. По умолчанию наследуется от `AiToolDetails`.
monoboolean—noМоноширинный режим имени и счётчика. По умолчанию наследуется от `AiToolDetails`.
nameReactNode—noИмя узла (`Key[ArrayName]`).
onOpenChange((open: boolean) => void)—noПереключение раскрытия. Получает новое значение `open`.
openbooleanfalsenoРаскрытое состояние. Источник истины — родитель.
unitstring—noЕдиница измерения после количества (например `шт.`).

Types

AiToolArrayProps

Storybook

Figma