AiToolArray

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

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

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

Анатомия

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 [opened, setOpened] = useState(true);

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

Props

Types

PropsAiToolArrayProps
PropTypeDefaultRequiredDescription
childrenReactNodenoВложенные элементы (при раскрытии).
classNamestringnoДоп. класс корня.
countnumbernoКоличество элементов — рендерится как `[ N ]` (или `[ N unit ]`).
data-test-idstringai-tool-arrayno
errorbooleannoСостояние ошибки: имя и счётчик красные. По умолчанию наследуется от `AiToolDetails`.
monobooleannoМоноширинный режим имени и счётчика. По умолчанию наследуется от `AiToolDetails`.
nameReactNodenoИмя узла (`Key[ArrayName]`).
onToggle((opened: boolean) => void)noПереключение раскрытия. Получает новое значение `opened`.
openedbooleanfalsenoРаскрытое состояние. Источник истины — родитель.
unitstringnoЕдиница измерения после количества (например `шт.`).

Types

AiToolArrayProps

Storybook

Figma