div-tabs

Табы. Высота первого таба определяется его содержимым, а высота остальных зависит от платформы.

Параметры

Параметры Описание
items

array

Обязательный параметр.

Табы. Переход между табами можно осуществить с помощью:

  • div-action://set_current_item?id=&item= — задать текущий таб с порядковым номером item внутри элемента, с заданным id;
  • div-action://set_next_item?id=[&overflow={clamp|ring}] — перейти на следующий таб внутри элемента, с заданным id;
  • div-action://set_previous_item?id=[&overflow={clamp|ring}] — перейти на предыдущий таб внутри элемента, с заданным id.
  • Опциональный параметр overflow позволяет задать навигацию при достижении первого или последнего элемента:

  • clamp — переход остановится на пограничном элементе;
  • ring — переход в начало или конец, в зависимости от текущего элемента.
  • По умолчанию, clamp.

    Массив должен быть непустым.

    Доступные платформы: Android, iOS, веб.

    type

    string

    Обязательный параметр.

    Значение всегда должно равняться tabs.

    Доступные платформы: Android, iOS, веб.

    accessibility

    object

    Настройки доступности.

    Значение имеет тип div-accessibility.

    Доступные платформы: Android, iOS, веб.

    alignment_horizontal

    string

    Горизонтальное выравнивание элемента внутри родительского.

    Возможные значения: left, center, right, start, end.

    Доступные платформы: Android, iOS, веб.

    alignment_vertical

    string

    Вертикальное выравнивание элемента внутри родительского.

    Возможные значения: top, center, bottom, baseline.

    Доступные платформы: Android, iOS, веб.

    alpha

    number

    Прозрачность всего элемента: 0 — полностью прозрачный, 1 — непрозрачный.

    Ограничение для значения x: x >= 0.0 && x <= 1.0.

    Значение по умолчанию: 1.0.

    Доступные платформы: Android, iOS, веб.

    animators

    array

    Объявление аниматоров, с помощью которых можно изменять значение переменных во времени.

    Функциональность находится в разработке.

    Список возможных значений:

  • div-color-animator
  • div-number-animator
  • background

    array

    Фон элемента. Может содержать несколько слоев.

    Доступные платформы: Android, iOS, веб.

    Список возможных значений:

  • div-linear-gradient
  • div-radial-gradient
  • div-image-background
  • div-solid-background
  • div-nine-patch-background
  • border

    object

    Рамка элемента.

    Значение имеет тип div-border.

    Доступные платформы: Android, iOS, веб.

    column_span

    int

    Объединяет ячейки в столбце элемента grid.

    Ограничение для значения x: x >= 0.

    Доступные платформы: Android, iOS, веб.

    disappear_actions

    array

    Действия при исчезновении элемента с экрана.

    Доступные платформы: Android, iOS, веб.

    dynamic_height

    bool_int

    Обновление высоты при смене активного элемента. В браузере значение всегда true.

    Значение по умолчанию: false.

    Доступные платформы: Android, iOS.

    extensions

    array

    Расширения для дополнительной обработки элемента. Список расширений см. в разделе Кастомизация.

    Доступные платформы: Android, iOS, веб.

    focus

    object

    Параметры при фокусировке на элементе или потере фокуса.

    Значение имеет тип div-focus.

    Доступные платформы: Android, iOS, веб.

    has_separator

    bool_int

    Разделительная черта между табами и содержимым.

    Значение по умолчанию: false.

    Доступные платформы: Android, iOS, веб.

    height

    object

    Высота элемента. Для Android: если в этом или в дочернем элементе есть текст, укажите высоту в sp, чтобы элемент масштабировался вместе с текстом. Подробнее о единицах измерения размера в разделе Верстка внутри карточки.

    Значение имеет тип div-size.

    Значение по умолчанию: {"type": "wrap_content"}.

    Доступные платформы: Android, iOS, веб.

    Список возможных значений:

  • div-fixed-size
  • div-match-parent-size
  • div-wrap-content-size
  • id

    string

    Идентификатор элемента. На iOS используется в качестве accessibilityIdentifier.

    Доступные платформы: Android, iOS, веб.

    layout_provider

    object

    Предоставляет данные о реальном размере элемента.

    Значение имеет тип div-layout-provider.

    Доступные платформы: Android, iOS.

    margins

    object

    Внешние отступы от рамки элемента.

    Значение имеет тип div-edge-insets.

    Доступные платформы: Android, iOS, веб.

    paddings

    object

    Внутренние отступы от рамки элемента.

    Значение имеет тип div-edge-insets.

    Доступные платформы: Android, iOS, веб.

    restrict_parent_scroll

    bool_int

    При включенном параметре табы не будут передавать жест скролла родительскому элементу.

    Значение по умолчанию: false.

    Доступные платформы: Android, веб.

    reuse_id

    string

    Id для структуры div-объекта. Используется для более оптимального переиспользования блоков. См. переиспользование блоков

    Доступные платформы: Android, iOS.

    row_span

    int

    Объединяет ячейки в строке элемента grid.

    Ограничение для значения x: x >= 0.

    Доступные платформы: Android, iOS, веб.

    selected_actions

    array

    Список действий, которые будут выполнены при выборе элемента в пейджере.

    Доступные платформы: Android, iOS, веб.

    selected_tab

    int

    Порядковый номер таба, который будет открываться по умолчанию.

    Ограничение для значения x: x >= 0.

    Значение по умолчанию: 0.

    Доступные платформы: Android, iOS, веб.

    separator_color

    string

    Цвет разделителя.

    Допустимые форматы: #RGB, #ARGB, #RRGGBB, #AARRGGBB.

    Значение по умолчанию: #14000000.

    Доступные платформы: Android, iOS, веб.

    separator_paddings

    object

    Отступы от разделительной черты. Не используется, если has_separator = false.

    Значение имеет тип div-edge-insets.

    Значение по умолчанию: {"left": 12,"right": 12,"top": 0,"bottom": 0}.

    Доступные платформы: Android, iOS, веб.

    switch_tabs_by_content_swipe_enabled

    bool_int

    Переключение табов скроллом по содержимому.

    Значение по умолчанию: true.

    Доступные платформы: Android, iOS, веб.

    tab_title_delimiter

    object

    Стиль оформления разделителей между заголовками табов.

    Значение имеет тип tab_title_delimiter.

    Доступные платформы: Android.

    tab_title_style

    object

    Стиль оформления заголовков табов.

    Значение имеет тип tab_title_style.

    Доступные платформы: Android, iOS, веб.

    title_paddings

    object

    Отступы в названии таба.

    Значение имеет тип div-edge-insets.

    Значение по умолчанию: {"left": 12,"right": 12,"top": 0,"bottom": 8}.

    Доступные платформы: Android, iOS, веб.

    tooltips

    array

    Привязанные к элементу всплывающие подсказки. Подсказка может быть показана по div-action://show_tooltip?id=, скрыта по div-action://hide_tooltip?id=, где id — id подсказки.

    Доступные платформы: Android, iOS, веб.

    transform

    object

    Применяет к элементу переданное преобразование. Тот контент, который не поместится в исходную область просмотра, будет обрезан.

    Значение имеет тип div-transform.

    Доступные платформы: Android, iOS, веб.

    transition_change

    object

    Анимация изменения. Воспроизводится при изменении положения или размера элемента в новой верстке.

    Значение имеет тип div-change-transition.

    Доступные платформы: Android, iOS, веб.

    Список возможных значений:

  • div-change-set-transition
  • div-change-bounds-transition
  • transition_in

    object

    Анимация появления. Воспроизводится при появлении элемента с новым id. Подробнее о концепции переходов в разделе Анимация перехода.

    Значение имеет тип div-appearance-transition.

    Доступные платформы: Android, iOS, веб.

    Список возможных значений:

  • div-appearance-set-transition
  • div-fade-transition
  • div-scale-transition
  • div-slide-transition
  • transition_out

    object

    Анимация исчезания. Воспроизводится при исчезании элемента в новой верстке.

    Значение имеет тип div-appearance-transition.

    Доступные платформы: Android, iOS, веб.

    Список возможных значений:

  • div-appearance-set-transition
  • div-fade-transition
  • div-scale-transition
  • div-slide-transition
  • transition_triggers

    array

    Триггеры запуска анимации. Значение по умолчанию: [state_change, visibility_change].

    Массив должен быть непустым.

    Доступные платформы: Android, iOS, веб.

    variable_triggers

    array

    Триггеры изменения переменных внутри элемента.

    Доступные платформы: iOS.

    variables

    array

    Объявление переменных, которые могут использоваться внутри элемента. Переменные, объявленные в данном массиве могут использоваться только внутри самого элемента и его дочерних элементов.

    Доступные платформы: iOS.

    Список возможных значений:

  • string_variable
  • number_variable
  • integer_variable
  • boolean_variable
  • color_variable
  • url_variable
  • dict_variable
  • array_variable
  • visibility

    string

    Видимость элемента.

    Возможные значения: visible, invisible, gone.

    Значение по умолчанию: visible.

    Доступные платформы: Android, iOS, веб.

    visibility_action

    object

    Трекинг видимости одного элемента. Не используется, если задан параметр visibility_actions.

    Значение имеет тип div-visibility-action.

    Доступные платформы: Android, iOS, веб.

    visibility_actions

    array

    Действия при появлении элемента на экране.

    Доступные платформы: Android, iOS, веб.

    width

    object

    Ширина элемента.

    Значение имеет тип div-size.

    Значение по умолчанию: {"type": "match_parent"}.

    Доступные платформы: Android, iOS, веб.

    Список возможных значений:

  • div-fixed-size
  • div-match-parent-size
  • div-wrap-content-size
  • tab_title_style

    Параметры Описание
    active_background_color

    string

    Цвет фона заголовка активного таба.

    Допустимые форматы: #RGB, #ARGB, #RRGGBB, #AARRGGBB.

    Значение по умолчанию: #FFFFDC60.

    active_font_weight

    string

    Начертание заголовка активного таба.

    Возможные значения: light, medium, regular, bold.

    active_text_color

    string

    Цвет текста заголовка активного таба.

    Допустимые форматы: #RGB, #ARGB, #RRGGBB, #AARRGGBB.

    Значение по умолчанию: #CC000000.

    animation_duration

    int

    Длительность анимации смены активного заголовка.

    Ограничение для значения x: x >= 0.

    Значение по умолчанию: 300.

    animation_type

    string

    Анимация смены активного заголовка.

    Возможные значения: slide, fade, none.

    Значение по умолчанию: slide.

    Доступные платформы: Android, iOS.

    corner_radius

    int

    Радиус скругления углов заголовка. Если параметр не задан, то максимальное скругление (половина от наименьшего размера). Не используется, если задан параметр corners_radius.

    Ограничение для значения x: x >= 0.

    corners_radius

    object

    Радиусы скругления углов нескольких заголовков. Пустые значения заменяются на corner_radius.

    Значение имеет тип div-corners-radius.

    font_family

    string

    Семейство шрифта:

  • text — стандартный текстовый шрифт;
  • display — семейство для шрифтов с крупным кеглем.
  • font_size

    int

    Размер шрифта заголовка.

    Ограничение для значения x: x >= 0.

    Значение по умолчанию: 12.

    font_size_unit

    string

    Единицы измерения размера шрифта заголовка.

    Возможные значения: dp, sp, px.

    Значение по умолчанию: sp.

    Доступные платформы: Android, iOS.

    font_weight

    string

    Параметр устарел.

    Начертание. Вместо него используйте active_font_weight и inactive_font_weight.

    Возможные значения: light, medium, regular, bold.

    Значение по умолчанию: regular.

    inactive_background_color

    string

    Цвет фона заголовка неактивного таба.

    Допустимые форматы: #RGB, #ARGB, #RRGGBB, #AARRGGBB.

    inactive_font_weight

    string

    Начертание заголовка неактивного таба.

    Возможные значения: light, medium, regular, bold.

    inactive_text_color

    string

    Цвет текста заголовка неактивного таба.

    Допустимые форматы: #RGB, #ARGB, #RRGGBB, #AARRGGBB.

    Значение по умолчанию: #80000000.

    item_spacing

    int

    Интервал между соседними заголовками табов.

    Ограничение для значения x: x >= 0.

    Значение по умолчанию: 0.

    letter_spacing

    number

    Интервал между символами заголовка.

    Значение по умолчанию: 0.

    line_height

    int

    Межстрочный интервал (интерлиньяж) текста.

    Ограничение для значения x: x >= 0.

    paddings

    object

    Отступы вокруг заголовка таба.

    Значение имеет тип div-edge-insets.

    Значение по умолчанию: {"left": 8,"right": 8,"top": 6,"bottom": 6}.

    tab_title_delimiter

    Параметры Описание
    image_url

    string

    Обязательный параметр.

    Прямая ссылка на изображение.

    Значение должно быть валидным URL.

    Доступные платформы: Android.

    height

    object

    Высота элемента. Для Android: если в этом или в дочернем элементе есть текст, укажите высоту в sp, чтобы элемент масштабировался вместе с текстом. Подробнее о единицах измерения размера в разделе Верстка внутри карточки.

    Значение имеет тип div-fixed-size.

    Значение по умолчанию: {"type": "fixed", "value": 12}.

    Доступные платформы: Android.

    width

    object

    Ширина элемента.

    Значение имеет тип div-fixed-size.

    Значение по умолчанию: {"type": "fixed", "value": 12}.

    Доступные платформы: Android.

    item

    Параметры Описание
    div

    object

    Обязательный параметр.

    Содержимое таба.

    Значение имеет тип div.

    Список возможных значений:

  • div-image
  • div-gif-image
  • div-text
  • div-separator
  • div-container
  • div-grid
  • div-gallery
  • div-pager
  • div-tabs
  • div-state
  • div-custom
  • div-indicator
  • div-slider
  • div-input
  • div-select
  • div-video
  • title

    string

    Обязательный параметр.

    Заголовок таба.

    title_click_action

    object

    Действие при нажатии на заголовок активного таба.

    Значение имеет тип div-action.

    JSON
    {
      type*: "tabs",
      accessibility: {
        description: "string",
        hint: "string",
        mode: "string",
        mute_after_action: "bool_int",
        state_description: "string",
        type: "string"
      },
      alignment_horizontal: "string",
      alignment_vertical: "string",
      alpha: "number",
      animators: [ div-animator, ... ],
      background: [ div-background, ... ],
      border: {
        corner_radius: "int",
        corners_radius: {
          bottom-left: "int",
          bottom-right: "int",
          top-left: "int",
          top-right: "int"
        },
        has_shadow: "bool_int",
        shadow: {
          alpha: "number",
          blur: "int",
          color: "string",
          offset*: {
            x*: {
              unit: "string",
              value*: "number"
            },
            y*: {
              unit: "string",
              value*: "number"
            }
          }
        },
        stroke: {
          color*: "string",
          unit: "string",
          width: "number"
        }
      },
      column_span: "int",
      disappear_actions: [
        {
          disappear_duration: "int",
          download_callbacks: {
            on_fail_actions: [
              {
                download_callbacks: div-download-callbacks,
                is_enabled: "bool_int",
                log_id*: "string",
                log_url: "string",
                menu_items: [
                  {
                    action: div-action,
                    actions: [ div-action, ... ],
                    text*: "string"
                  },
                  ...
                ],
                payload: "object",
                referer: "string",
                target: "string",
                typed: div-action-typed,
                url: "string"
              },
              ...
            ],
            on_success_actions: [
              {
                download_callbacks: div-download-callbacks,
                is_enabled: "bool_int",
                log_id*: "string",
                log_url: "string",
                menu_items: [
                  {
                    action: div-action,
                    actions: [ div-action, ... ],
                    text*: "string"
                  },
                  ...
                ],
                payload: "object",
                referer: "string",
                target: "string",
                typed: div-action-typed,
                url: "string"
              },
              ...
            ]
          },
          is_enabled: "bool_int",
          log_id*: "string",
          log_limit: "int",
          payload: "object",
          referer: "string",
          typed: div-action-typed,
          url: "string",
          visibility_percentage: "int"
        },
        ...
      ],
      dynamic_height: "bool_int",
      extensions: [
        {
          id*: "string",
          params: "object"
        },
        ...
      ],
      focus: {
        background: [ div-background, ... ],
        border: {
          corner_radius: "int",
          corners_radius: {
            bottom-left: "int",
            bottom-right: "int",
            top-left: "int",
            top-right: "int"
          },
          has_shadow: "bool_int",
          shadow: {
            alpha: "number",
            blur: "int",
            color: "string",
            offset*: {
              x*: {
                unit: "string",
                value*: "number"
              },
              y*: {
                unit: "string",
                value*: "number"
              }
            }
          },
          stroke: {
            color*: "string",
            unit: "string",
            width: "number"
          }
        },
        next_focus_ids: {
          down: "string",
          forward: "string",
          left: "string",
          right: "string",
          up: "string"
        },
        on_blur: [
          {
            download_callbacks: {
              on_fail_actions: [ div-action, ... ],
              on_success_actions: [ div-action, ... ]
            },
            is_enabled: "bool_int",
            log_id*: "string",
            log_url: "string",
            menu_items: [
              {
                action: div-action,
                actions: [ div-action, ... ],
                text*: "string"
              },
              ...
            ],
            payload: "object",
            referer: "string",
            target: "string",
            typed: div-action-typed,
            url: "string"
          },
          ...
        ],
        on_focus: [
          {
            download_callbacks: {
              on_fail_actions: [ div-action, ... ],
              on_success_actions: [ div-action, ... ]
            },
            is_enabled: "bool_int",
            log_id*: "string",
            log_url: "string",
            menu_items: [
              {
                action: div-action,
                actions: [ div-action, ... ],
                text*: "string"
              },
              ...
            ],
            payload: "object",
            referer: "string",
            target: "string",
            typed: div-action-typed,
            url: "string"
          },
          ...
        ]
      },
      has_separator: "bool_int",
      height: div-size,
      id: "string",
      items*: [
        {
          div*: div,
          title*: "string",
          title_click_action: {
            download_callbacks: {
              on_fail_actions: [ div-action, ... ],
              on_success_actions: [ div-action, ... ]
            },
            is_enabled: "bool_int",
            log_id*: "string",
            log_url: "string",
            menu_items: [
              {
                action: div-action,
                actions: [ div-action, ... ],
                text*: "string"
              },
              ...
            ],
            payload: "object",
            referer: "string",
            target: "string",
            typed: div-action-typed,
            url: "string"
          }
        },
        ...
      ],
      layout_provider: {
        height_variable_name: "string",
        width_variable_name: "string"
      },
      margins: {
        bottom: "int",
        end: "int",
        left: "int",
        right: "int",
        start: "int",
        top: "int",
        unit: "string"
      },
      paddings: {
        bottom: "int",
        end: "int",
        left: "int",
        right: "int",
        start: "int",
        top: "int",
        unit: "string"
      },
      restrict_parent_scroll: "bool_int",
      reuse_id: "string",
      row_span: "int",
      selected_actions: [
        {
          download_callbacks: {
            on_fail_actions: [ div-action, ... ],
            on_success_actions: [ div-action, ... ]
          },
          is_enabled: "bool_int",
          log_id*: "string",
          log_url: "string",
          menu_items: [
            {
              action: div-action,
              actions: [ div-action, ... ],
              text*: "string"
            },
            ...
          ],
          payload: "object",
          referer: "string",
          target: "string",
          typed: div-action-typed,
          url: "string"
        },
        ...
      ],
      selected_tab: "int",
      separator_color: "string",
      separator_paddings: {
        bottom: "int",
        end: "int",
        left: "int",
        right: "int",
        start: "int",
        top: "int",
        unit: "string"
      },
      switch_tabs_by_content_swipe_enabled: "bool_int",
      tab_title_delimiter: {
        height: {
          type*: "fixed",
          unit: "string",
          value*: "int"
        },
        image_url*: "string",
        width: {
          type*: "fixed",
          unit: "string",
          value*: "int"
        }
      },
      tab_title_style: {
        active_background_color: "string",
        active_font_weight: "string",
        active_text_color: "string",
        animation_duration: "int",
        animation_type: "string",
        corner_radius: "int",
        corners_radius: {
          bottom-left: "int",
          bottom-right: "int",
          top-left: "int",
          top-right: "int"
        },
        font_family: "string",
        font_size: "int",
        font_size_unit: "string",
        font_weight: "string",
        inactive_background_color: "string",
        inactive_font_weight: "string",
        inactive_text_color: "string",
        item_spacing: "int",
        letter_spacing: "number",
        line_height: "int",
        paddings: {
          bottom: "int",
          end: "int",
          left: "int",
          right: "int",
          start: "int",
          top: "int",
          unit: "string"
        }
      },
      title_paddings: {
        bottom: "int",
        end: "int",
        left: "int",
        right: "int",
        start: "int",
        top: "int",
        unit: "string"
      },
      tooltips: [
        {
          animation_in: {
            duration: "int",
            end_value: "number",
            interpolator: "string",
            items: [ div-animation, ... ],
            name*: "string",
            repeat: div-count,
            start_delay: "int",
            start_value: "number"
          },
          animation_out: {
            duration: "int",
            end_value: "number",
            interpolator: "string",
            items: [ div-animation, ... ],
            name*: "string",
            repeat: div-count,
            start_delay: "int",
            start_value: "number"
          },
          div*: div,
          duration: "int",
          id*: "string",
          offset: {
            x*: {
              unit: "string",
              value*: "number"
            },
            y*: {
              unit: "string",
              value*: "number"
            }
          },
          position*: "string"
        },
        ...
      ],
      transform: {
        pivot_x: div-pivot,
        pivot_y: div-pivot,
        rotation: "number"
      },
      transition_change: div-change-transition,
      transition_in: div-appearance-transition,
      transition_out: div-appearance-transition,
      transition_triggers: [ "string", ... ],
      variable_triggers: [
        {
          actions*: [
            {
              download_callbacks: {
                on_fail_actions: [ div-action, ... ],
                on_success_actions: [ div-action, ... ]
              },
              is_enabled: "bool_int",
              log_id*: "string",
              log_url: "string",
              menu_items: [
                {
                  action: div-action,
                  actions: [ div-action, ... ],
                  text*: "string"
                },
                ...
              ],
              payload: "object",
              referer: "string",
              target: "string",
              typed: div-action-typed,
              url: "string"
            },
            ...
          ],
          condition*: "bool_int",
          mode: "string"
        },
        ...
      ],
      variables: [ div-variable, ... ],
      visibility: "string",
      visibility_action: {
        download_callbacks: {
          on_fail_actions: [
            {
              download_callbacks: div-download-callbacks,
              is_enabled: "bool_int",
              log_id*: "string",
              log_url: "string",
              menu_items: [
                {
                  action: div-action,
                  actions: [ div-action, ... ],
                  text*: "string"
                },
                ...
              ],
              payload: "object",
              referer: "string",
              target: "string",
              typed: div-action-typed,
              url: "string"
            },
            ...
          ],
          on_success_actions: [
            {
              download_callbacks: div-download-callbacks,
              is_enabled: "bool_int",
              log_id*: "string",
              log_url: "string",
              menu_items: [
                {
                  action: div-action,
                  actions: [ div-action, ... ],
                  text*: "string"
                },
                ...
              ],
              payload: "object",
              referer: "string",
              target: "string",
              typed: div-action-typed,
              url: "string"
            },
            ...
          ]
        },
        is_enabled: "bool_int",
        log_id*: "string",
        log_limit: "int",
        payload: "object",
        referer: "string",
        typed: div-action-typed,
        url: "string",
        visibility_duration: "int",
        visibility_percentage: "int"
      },
      visibility_actions: [
        {
          download_callbacks: {
            on_fail_actions: [
              {
                download_callbacks: div-download-callbacks,
                is_enabled: "bool_int",
                log_id*: "string",
                log_url: "string",
                menu_items: [
                  {
                    action: div-action,
                    actions: [ div-action, ... ],
                    text*: "string"
                  },
                  ...
                ],
                payload: "object",
                referer: "string",
                target: "string",
                typed: div-action-typed,
                url: "string"
              },
              ...
            ],
            on_success_actions: [
              {
                download_callbacks: div-download-callbacks,
                is_enabled: "bool_int",
                log_id*: "string",
                log_url: "string",
                menu_items: [
                  {
                    action: div-action,
                    actions: [ div-action, ... ],
                    text*: "string"
                  },
                  ...
                ],
                payload: "object",
                referer: "string",
                target: "string",
                typed: div-action-typed,
                url: "string"
              },
              ...
            ]
          },
          is_enabled: "bool_int",
          log_id*: "string",
          log_limit: "int",
          payload: "object",
          referer: "string",
          typed: div-action-typed,
          url: "string",
          visibility_duration: "int",
          visibility_percentage: "int"
        },
        ...
      ],
      width: div-size
    }
    
    Предыдущая
    Следующая