> ## Documentation Index
> Fetch the complete documentation index at: https://docs.twenty.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Виджеты

> Изучите типы виджетов и варианты визуализации в Twenty.

export const ChartIcon = ({icon, size = 20}) => {
  const icons = {
    'database': <svg xmlns="http://www.w3.org/2000/svg" width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
        <path stroke="none" d="M0 0h24v24H0z" fill="none" />
        <path d="M4 6a8 3 0 1 0 16 0a8 3 0 1 0 -16 0" />
        <path d="M4 6v6a8 3 0 0 0 16 0v-6" />
        <path d="M4 12v6a8 3 0 0 0 16 0v-6" />
      </svg>,
    'filter': <svg xmlns="http://www.w3.org/2000/svg" width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
        <path stroke="none" d="M0 0h24v24H0z" fill="none" />
        <path d="M4 4h16v2.172a2 2 0 0 1 -.586 1.414l-4.414 4.414v7l-6 2v-8.5l-4.48 -4.928a2 2 0 0 1 -.52 -1.345v-2.227" />
      </svg>,
    'axis-x': <svg xmlns="http://www.w3.org/2000/svg" width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
        <path stroke="none" d="M0 0h24v24H0z" fill="none" />
        <path d="M4 13v.01" />
        <path d="M4 9v.01" />
        <path d="M4 5v.01" />
        <path d="M17 20l3 -3l-3 -3" />
        <path d="M4 17h16" />
      </svg>,
    'axis-y': <svg xmlns="http://www.w3.org/2000/svg" width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
        <path stroke="none" d="M0 0h24v24H0z" fill="none" />
        <path d="M11 20h-.01" />
        <path d="M15 20h-.01" />
        <path d="M19 20h-.01" />
        <path d="M4 7l3 -3l3 3" />
        <path d="M7 20v-16" />
      </svg>,
    'sum': <svg xmlns="http://www.w3.org/2000/svg" width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
        <path stroke="none" d="M0 0h24v24H0z" fill="none" />
        <path d="M18 16v2a1 1 0 0 1 -1 1h-11l6 -7l-6 -7h11a1 1 0 0 1 1 1v2" />
      </svg>,
    'chart-pie': <svg xmlns="http://www.w3.org/2000/svg" width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
        <path stroke="none" d="M0 0h24v24H0z" fill="none" />
        <path d="M10 3.2a9 9 0 1 0 10.8 10.8a1 1 0 0 0 -1 -1h-6.8a2 2 0 0 1 -2 -2v-7a.9 .9 0 0 0 -1 -.8" />
        <path d="M15 3.5a9 9 0 0 1 5.5 5.5h-4.5a1 1 0 0 1 -1 -1v-4.5" />
      </svg>,
    'chart-line': <svg xmlns="http://www.w3.org/2000/svg" width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
        <path stroke="none" d="M0 0h24v24H0z" fill="none" />
        <path d="M4 19l16 0" />
        <path d="M4 15l4 -6l4 2l4 -5l4 4" />
      </svg>,
    'calendar': <svg xmlns="http://www.w3.org/2000/svg" width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
        <path stroke="none" d="M0 0h24v24H0z" fill="none" />
        <path d="M4 7a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2v-12" />
        <path d="M16 3v4" />
        <path d="M8 3v4" />
        <path d="M4 11h16" />
        <path d="M11 15h1" />
        <path d="M12 15v3" />
      </svg>,
    'arrows-sort': <svg xmlns="http://www.w3.org/2000/svg" width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
        <path stroke="none" d="M0 0h24v24H0z" fill="none" />
        <path d="M3 9l4 -4l4 4m-4 -4v14" />
        <path d="M21 15l-4 4l-4 -4m4 4v-14" />
      </svg>,
    'filters': <svg xmlns="http://www.w3.org/2000/svg" width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
        <path stroke="none" d="M0 0h24v24H0z" fill="none" />
        <path d="M7 8a5 5 0 1 0 10 0a5 5 0 1 0 -10 0" />
        <path d="M8 11a5 5 0 1 0 3.998 1.997" />
        <path d="M12.002 19.003a5 5 0 1 0 3.998 -8.003" />
      </svg>,
    'chart-bar-popular': <svg xmlns="http://www.w3.org/2000/svg" width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
        <path stroke="none" d="M0 0h24v24H0z" fill="none" />
        <path d="M3 13a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v6a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1l0 -6" />
        <path d="M9 9a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v10a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1l0 -10" />
        <path d="M15 5a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v14a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1l0 -14" />
        <path d="M4 20h14" />
      </svg>,
    'math-min': <svg xmlns="http://www.w3.org/2000/svg" width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
        <path stroke="none" d="M0 0h24v24H0z" fill="none" />
        <path d="M15 18a2 2 0 1 0 4 0a2 2 0 0 0 -4 0" />
        <path d="M3 13s1 -9 4 -9c2.48 0 5.643 9.565 8.36 12.883" />
        <path d="M18.748 17.038c.702 -.88 1.452 -3.56 2.252 -8.038" />
      </svg>,
    'math-max': <svg xmlns="http://www.w3.org/2000/svg" width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
        <path stroke="none" d="M0 0h24v24H0z" fill="none" />
        <path d="M5 6a2 2 0 1 0 4 0a2 2 0 0 0 -4 0" />
        <path d="M3 15s.616 -5.544 2.332 -7.93" />
        <path d="M8.637 7.112c2.717 3.313 5.882 12.888 8.363 12.888c2 0 3.333 -3 4 -9" />
      </svg>,
    'color-swatch': <svg xmlns="http://www.w3.org/2000/svg" width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
        <path stroke="none" d="M0 0h24v24H0z" fill="none" />
        <path d="M19 3h-4a2 2 0 0 0 -2 2v12a4 4 0 0 0 8 0v-12a2 2 0 0 0 -2 -2" />
        <path d="M13 7.35l-2 -2a2 2 0 0 0 -2.828 0l-2.828 2.828a2 2 0 0 0 0 2.828l9 9" />
        <path d="M7.3 13h-2.3a2 2 0 0 0 -2 2v4a2 2 0 0 0 2 2h12" />
        <path d="M17 17l0 .01" />
      </svg>,
    'gizmo': <svg xmlns="http://www.w3.org/2000/svg" width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
        <path stroke="none" d="M0 0h24v24H0z" fill="none" />
        <path d="M20 19l-8 -5.5l-8 5.5" />
        <path d="M12 4v9.5" />
        <path d="M11 4a1 1 0 1 0 2 0a1 1 0 1 0 -2 0" />
        <path d="M3 19a1 1 0 1 0 2 0a1 1 0 1 0 -2 0" />
        <path d="M19 19a1 1 0 1 0 2 0a1 1 0 1 0 -2 0" />
      </svg>,
    'stack-2': <svg xmlns="http://www.w3.org/2000/svg" width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
        <path stroke="none" d="M0 0h24v24H0z" fill="none" />
        <path d="M12 4l-8 4l8 4l8 -4l-8 -4" />
        <path d="M4 12l8 4l8 -4" />
        <path d="M4 16l8 4l8 -4" />
      </svg>,
    'badge-2k': <svg xmlns="http://www.w3.org/2000/svg" width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
        <path stroke="none" d="M0 0h24v24H0z" fill="none" />
        <path d="M3 7a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v10a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2l0 -10" />
        <path d="M14 9v6" />
        <path d="M17 9l-2 3l2 3" />
        <path d="M15 12h-1" />
        <path d="M7 9h2a1 1 0 0 1 1 1v1a1 1 0 0 1 -1 1h-1a1 1 0 0 0 -1 1v1a1 1 0 0 0 1 1h2" />
      </svg>,
    'text-caption': <svg xmlns="http://www.w3.org/2000/svg" width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
        <path stroke="none" d="M0 0h24v24H0z" fill="none" />
        <path d="M4 15h16" />
        <path d="M4 5a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v4a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1l0 -4" />
        <path d="M4 20h12" />
      </svg>,
    'eye-off': <svg xmlns="http://www.w3.org/2000/svg" width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
        <path stroke="none" d="M0 0h24v24H0z" fill="none" />
        <path d="M10.585 10.587a2 2 0 0 0 2.829 2.828" />
        <path d="M16.681 16.673a8.717 8.717 0 0 1 -4.681 1.327c-3.6 0 -6.6 -2 -9 -6c1.272 -2.12 2.712 -3.678 4.32 -4.674m2.86 -1.146a9.055 9.055 0 0 1 1.82 -.18c3.6 0 6.6 2 9 6c-.666 1.11 -1.379 2.067 -2.138 2.87" />
        <path d="M3 3l18 18" />
      </svg>,
    'caret-left': <svg xmlns="http://www.w3.org/2000/svg" width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
        <path stroke="none" d="M0 0h24v24H0z" fill="none" />
        <path d="M14 6l-6 6l6 6v-12" />
      </svg>,
    'caret-right': <svg xmlns="http://www.w3.org/2000/svg" width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
        <path stroke="none" d="M0 0h24v24H0z" fill="none" />
        <path d="M10 18l6 -6l-6 -6v12" />
      </svg>,
    'number-123': <svg xmlns="http://www.w3.org/2000/svg" width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
        <path stroke="none" d="M0 0h24v24H0z" fill="none" />
        <path d="M3 10l2 -2v8" />
        <path d="M9 8h3a1 1 0 0 1 1 1v2a1 1 0 0 1 -1 1h-2a1 1 0 0 0 -1 1v2a1 1 0 0 0 1 1h3" />
        <path d="M17 8h2.5a1.5 1.5 0 0 1 1.5 1.5v1a1.5 1.5 0 0 1 -1.5 1.5h-1.5h1.5a1.5 1.5 0 0 1 1.5 1.5v1a1.5 1.5 0 0 1 -1.5 1.5h-2.5" />
      </svg>,
    'frame': <svg xmlns="http://www.w3.org/2000/svg" width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
        <path stroke="none" d="M0 0h24v24H0z" fill="none" />
        <path d="M4 7l16 0" />
        <path d="M4 17l16 0" />
        <path d="M7 4l0 16" />
        <path d="M17 4l0 16" />
      </svg>,
    'align-box-left-top': <svg xmlns="http://www.w3.org/2000/svg" width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
        <path stroke="none" d="M0 0h24v24H0z" fill="none" />
        <path d="M3 5a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v14a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2v-14" />
        <path d="M9 13h-2" />
        <path d="M13 10h-6" />
        <path d="M11 7h-4" />
      </svg>
  };
  const selectedIcon = icons[icon];
  if (!selectedIcon) {
    return null;
  }
  return selectedIcon;
};

## Доступные виджеты

Twenty предоставляет различные типы виджетов для визуализации данных вашей CRM-системы.

### <span style={{ display: 'inline-flex', alignItems: 'center', gap: '8px' }}><ChartIcon icon="chart-bar-popular" />Гистограммы</span>

Отображайте данные в виде горизонтальных или вертикальных столбцов.

<Frame>
  <img src="https://mintcdn.com/twenty/rtjyQTAh0DrLn5Sz/images/user-guide/dashboard/dashboard-widget-bar-chart.png?fit=max&auto=format&n=rtjyQTAh0DrLn5Sz&q=85&s=81765220d7d28faa18aedffa5e669174" alt="Гистограмма" width="1258" height="742" data-path="images/user-guide/dashboard/dashboard-widget-bar-chart.png" />
</Frame>

**Лучше всего подходит для:**

* Сравнение значений по категориям
* Отображение рейтингов
* Отслеживание метрик по периодам времени

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

* Сделки по этапам
* Выручка по менеджерам по продажам
* Контакты, добавленные по месяцам

<Note>
  **Ограничения отображения**: Гистограммы могут отображать максимум 100 столбцов и 50 групп на столбец при использовании "Group By". Если вы видите предупреждение "Undisplayed data: max X bars per chart", добавьте фильтры, чтобы сузить данные, или измените группировку (например, группируйте по неделям вместо дней).
</Note>

### <span style={{ display: 'inline-flex', alignItems: 'center', gap: '8px' }}><ChartIcon icon="chart-pie" />Круговые диаграммы</span>

Показывайте доли целого.

<Frame>
  <img src="https://mintcdn.com/twenty/rtjyQTAh0DrLn5Sz/images/user-guide/dashboard/dashboard-widget-pie-chart.png?fit=max&auto=format&n=rtjyQTAh0DrLn5Sz&q=85&s=b3172f5c7a5f1f40a6e5e463f0172446" alt="Круговая диаграмма" width="1258" height="742" data-path="images/user-guide/dashboard/dashboard-widget-pie-chart.png" />
</Frame>

**Лучше всего подходит для:**

* Отражение состава или распределения
* Сравнение частей с целым
* Выделение ключевых сегментов

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

* Распределение сделок по источникам
* Разбивка контактов по отраслям
* Состав воронки по ответственным

### <span style={{ display: 'inline-flex', alignItems: 'center', gap: '8px' }}><ChartIcon icon="chart-line" />Линейные диаграммы</span>

Отображайте динамику во времени.

<Frame>
  <img src="https://mintcdn.com/twenty/rtjyQTAh0DrLn5Sz/images/user-guide/dashboard/dashboard-widget-line-chart.png?fit=max&auto=format&n=rtjyQTAh0DrLn5Sz&q=85&s=6ec6177e1f779cac4dfb4c42fc4de0fc" alt="Линейная диаграмма" width="1258" height="742" data-path="images/user-guide/dashboard/dashboard-widget-line-chart.png" />
</Frame>

**Лучше всего подходит для:**

* Отслеживание изменений во времени
* Определение тенденций
* Сравнение нескольких метрик

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

* Динамика количества сделок по месяцам
* Рост выручки по кварталам
* Динамика уровня активности

### <span style={{ display: 'inline-flex', alignItems: 'center', gap: '8px' }}><ChartIcon icon="sum" />Сводные диаграммы</span>

Наглядно отображайте отдельные ключевые значения.

<Frame>
  <img src="https://mintcdn.com/twenty/rtjyQTAh0DrLn5Sz/images/user-guide/dashboard/dashboard-widget-aggregate-chart.png?fit=max&auto=format&n=rtjyQTAh0DrLn5Sz&q=85&s=ce43dedfdcfc4512b7c616c7a78df75a" alt="Сводная диаграмма" width="622" height="236" data-path="images/user-guide/dashboard/dashboard-widget-aggregate-chart.png" />
</Frame>

**Лучше всего подходит для:**

* Выделение KPI
* Показ итогов или средних значений
* Быстрые проверки статуса

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

* Общий объем воронки
* Число открытых сделок
* Коэффициент конверсии

**Расширенные параметры:**

* **Ratio**: Для полей типа Select вычисляйте соотношения между значениями. Перейдите в **Отображаемые данные** → выберите поле → включите параметр **Ratio**.
* **Префикс и суффикс**: Добавляйте произвольный текст до или после числа (например, префикс "\$" или суффикс "%") для лучшей читаемости.

### <span style={{ display: 'inline-flex', alignItems: 'center', gap: '8px' }}><ChartIcon icon="frame" />iFrames</span>

Встраивайте внешние инструменты и контент прямо в ваш дашборд.

<Frame>
  <img src="https://mintcdn.com/twenty/rtjyQTAh0DrLn5Sz/images/user-guide/dashboard/dashboard-widget-iframe.png?fit=max&auto=format&n=rtjyQTAh0DrLn5Sz&q=85&s=52cba90e5d56ce805c1d6cdd17c8f2a8" alt="iFrame" width="1258" height="992" data-path="images/user-guide/dashboard/dashboard-widget-iframe.png" />
</Frame>

**Лучше всего подходит для:**

* Отображение внешних отчетов или дашбордов
* Интеграция сторонних инструментов продаж
* Отображение данных в реальном времени из других систем

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

* Метрики из вашего сервиса поддержки
* Метрики из вашей системы обзвона
* Контент в реальном времени из вашего инструмента последовательностей продаж

### <span style={{ display: 'inline-flex', alignItems: 'center', gap: '8px' }}><ChartIcon icon="align-box-left-top" />Форматированный текст</span>

Добавляйте форматированный текст и контент прямо в ваш дашборд.

<Frame>
  <img src="https://mintcdn.com/twenty/rtjyQTAh0DrLn5Sz/images/user-guide/dashboard/dashboard-widget-rich-text.png?fit=max&auto=format&n=rtjyQTAh0DrLn5Sz&q=85&s=e006d6b5fe8c362b66a43b1a03096a5a" alt="Форматированный текст" width="1258" height="742" data-path="images/user-guide/dashboard/dashboard-widget-rich-text.png" />
</Frame>

**Лучше всего подходит для:**

* Добавление контекста или инструкций
* Описания дашборда
* Заметки и аннотации

**Возможности:**

* Форматирование текста (полужирный, курсив, списки и т. д.)
* Загрузка изображений и файлов
* Редактирование в стиле Markdown

<Note>
  **Скоро**: Индикаторные диаграммы и таблицы пока недоступны, но есть в нашей дорожной карте.
</Note>

### Дублирование виджетов

1. Нажмите на виджет
2. Откройте **Параметры**
3. Нажмите **Дублировать виджет**
