---
metadata:
  - name: generator
    content: Diplodoc Platform v5.50.3
alternate:
  - https://divkit.tech/docs/en/concepts/divs/2/div-container.md
  - https://divkit.tech/docs/ru/concepts/divs/2/div-container.md
---
> **Documentation Index:** Fetch the complete configuration index at https://divkit.tech/docs/en/llms.txt

# div-container
Container. It contains other elements and is responsible for their location. It is used to arrange elements vertically, horizontally, and with an overlay in a certain order, simulating the third dimension.

## Parameters
| Parameters | Description |
| --- | --- |
| `type` | <p>**string**</p><p>Required parameter.</p><p>The value must always be `container`.</p> |
| `accessibility` | <p>**object**</p><p>Accessibility settings.</p><p>The value has the type `div-accessibility`.</p><p>Available platforms: Android, iOS, web.</p> |
| `action` | <p>**object**</p><p>One action when clicking on an element. Not used if the `actions` parameter is set.</p><p>The value has the type `div-action`.</p> |
| `action_animation` | <p>**object**</p><p>Click animation. The web only supports the following values: `fade`, `scale`, `native`, `no_animation` and `set`.</p><p>The value has the type `div-animation`.</p><p>Default value: `{"name": "fade", "start_value": 1, "end_value": 0.6, "duration": 100 }`.</p><p>Available platforms: Android, iOS, web.</p> |
| `actions` | <p>**array**</p><p>Multiple actions when clicking on an element.</p> |
| `alignment_horizontal` | <p>**string**</p><p>Horizontal alignment of an element inside the parent element.</p><p>Possible values: `left`, `center`, `right`, `start`, `end`.</p> |
| `alignment_vertical` | <p>**string**</p><p>Vertical alignment of an element inside the parent element.</p><p>Possible values: `top`, `center`, `bottom`, `baseline`.</p> |
| `alpha` | <p>**number**</p><p>Sets transparency of the entire element: `0` — completely transparent, `1` — opaque.</p><p>Restriction for the value `x`: `x >= 0.0 && x <= 1.0`.</p><p>Default value: `1.0`.</p> |
| `animators` | <p>**array**</p><p>Declaration of animators that change variable values over time.</p><p>Available platforms: Android, iOS, web.</p><p>List of possible values:<li>[div-color-animator](div-color-animator.md#div-color-animator)</li><li>[div-number-animator](div-number-animator.md#div-number-animator)</li></p> |
| `aspect` | <p>**object**</p><p>Fixed aspect ratio of the container. The element's height is calculated based on the width, ignoring the `height` parameter's value. </p><p>On the web, support for the `aspect-ratio` CSS property is required to use this parameter.</p><p>The value has the type `div-aspect`.</p> |
| `background` | <p>**array**</p><p>Element background. It can contain multiple layers.</p><p>List of possible values:<li>[div-linear-gradient](div-linear-gradient.md#div-linear-gradient)</li><li>[div-radial-gradient](div-radial-gradient.md#div-radial-gradient)</li><li>[div-image-background](div-image-background.md#div-image-background)</li><li>[div-solid-background](div-solid-background.md#div-solid-background)</li><li>[div-nine-patch-background](div-nine-patch-background.md#div-nine-patch-background)</li></p> |
| `border` | <p>**object**</p><p>Element stroke.</p><p>The value has the type `div-border`.</p> |
| `capture_focus_on_action` | <p>**bool**</p><p>If the value is:<li>`true` - when the element action is activated, the focus will be moved to that element. That means that the accessibility focus will be moved and the virtual keyboard will be hidden, unless the target element implies its presence (e.g. `input`).</li><li>`false` - when you click on an element, the focus will remain on the currently focused element.</li></p><p>Default value: `true`.</p><p>Available platforms: Android, iOS, web.</p> |
| `clip_to_bounds` | <p>**bool_int**</p><p>Enables the bounding of child elements by the parent's borders.</p><p>Default value: `true`.</p><p>Available platforms: Android, iOS, web.</p> |
| `column_span` | <p>**int**</p><p>Merges cells in a column of the [grid](div-grid.md) element.</p><p>Restriction for the value `x`: `x >= 0`.</p><p>Available platforms: Android, iOS, web.</p> |
| `content_alignment_horizontal` | <p>**string**</p><p>Horizontal element alignment. For child elements, it can be redefined using the `alignment_horizontal` property.</p><p>Possible values: `left`, `center`, `right`, `start`, `end`, `space-between`, `space-around`, `space-evenly`.</p><p>Default value: `start`.</p> |
| `content_alignment_vertical` | <p>**string**</p><p>Vertical element alignment. The `baseline` value aligns elements along their own specified baseline (for text and other elements that have a baseline). Elements that don't have their baseline value specified are aligned along the top edge. For child elements, it can be redefined using the `alignment_vertical` property.</p><p>Possible values: `top`, `center`, `bottom`, `baseline`, `space-between`, `space-around`, `space-evenly`.</p><p>Default value: `top`.</p> |
| `disappear_actions` | <p>**array**</p><p>Actions when an element disappears from the screen.</p><p>Available platforms: Android, iOS, web.</p> |
| `doubletap_actions` | <p>**array**</p><p>Action when double-clicking on an element.</p><p>Available platforms: Android, iOS, web.</p> |
| `extensions` | <p>**array**</p><p>Extensions for additional processing of an element. The list of extensions is given in  [DivExtension](../../extensions).</p><p>Available platforms: Android, iOS, web.</p> |
| `focus` | <p>**object**</p><p>Parameters when focusing on an element or losing focus.</p><p>The value has the type `div-focus`.</p> |
| `functions` | <p>**array**</p><p>User functions.</p><p>Available platforms: Android, iOS, web.</p> |
| `height` | <p>**object**</p><p>Element height. For Android: if there is text in this or in a child element, specify height in `sp` to scale the element together with the text. To learn more about units of size measurement, see [Layout inside the card](../../layout).</p><p>The value has the type `div-size`.</p><p>Default value: `{"type": "wrap_content"}`.</p><p>List of possible values:<li>[div-fixed-size](div-fixed-size.md#div-fixed-size)</li><li>[div-match-parent-size](div-match-parent-size.md#div-match-parent-size)</li><li>[div-wrap-content-size](div-wrap-content-size.md#div-wrap-content-size)</li></p> |
| `hover_end_actions` | <p>**array**</p><p>Actions performed after hovering over an element. Available on platforms that support pointing devices (such as a mouse or stylus).</p><p>Available platforms: web, Android, iOS.</p> |
| `hover_start_actions` | <p>**array**</p><p>Actions performed when hovering over an element. Available on platforms that support pointing devices (such as a mouse or stylus).</p><p>Available platforms: web, Android, iOS.</p> |
| `id` | <p>**string**</p><p>Element ID. It must be unique within the root element. It is used as `accessibilityIdentifier` on iOS.</p> |
| `item_builder` | <p>**object**</p><p>Sets collection elements dynamically using `data` and `prototypes`.</p><p>The value has the type `div-collection-item-builder`.</p><p>Available platforms: Android, iOS, web.</p> |
| `item_spacing` | <p>**int**</p><p>Spacing between items along the main axis. Ignored if `separator` with type `show_between` is set.</p><p>Restriction for the value `x`: `x >= 0`.</p><p>Default value: `0`.</p><p>Available platforms: iOS, Android, web.</p> |
| `items` | <p>**array**</p><p>Nested elements.</p><p>List of possible values:<li>[div-image](div-image.md#div-image)</li><li>[div-gif-image](div-gif-image.md#div-gif-image)</li><li>[div-text](div-text.md#div-text)</li><li>[div-separator](div-separator.md#div-separator)</li><li>[div-container](div-container.md#div-container)</li><li>[div-grid](div-grid.md#div-grid)</li><li>[div-gallery](div-gallery.md#div-gallery)</li><li>[div-pager](div-pager.md#div-pager)</li><li>[div-tabs](div-tabs.md#div-tabs)</li><li>[div-state](div-state.md#div-state)</li><li>[div-custom](div-custom.md#div-custom)</li><li>[div-indicator](div-indicator.md#div-indicator)</li><li>[div-slider](div-slider.md#div-slider)</li><li>[div-switch](div-switch.md#div-switch)</li><li>[div-input](div-input.md#div-input)</li><li>[div-select](div-select.md#div-select)</li><li>[div-video](div-video.md#div-video)</li></p> |
| `layout_mode` | <p>**string**</p><p>Element placement method. The `wrap` value transfers elements to the next line if they don't fit in the previous one. If the `wrap` value is set:<li>A separate line is allocated for each element along the main axis with the size value set to `match_parent`.</li><li>Elements along the cross axis with the size value `match_parent` are ignored.</li></p><p>Possible values: `no_wrap`, `wrap`.</p><p>Default value: `no_wrap`.</p> |
| `layout_provider` | <p>**object**</p><p>Provides data on the actual size of the element.</p><p>The value has the type `div-layout-provider`.</p><p>Available platforms: Android, iOS, web.</p> |
| `line_separator` | <p>**object**</p><p>Separator between elements along the cross axis. Not used if the `layout_mode` parameter is set to `no_wrap`. Only new browsers are supported on the web (the `gap` property must be supported for flex blocks).</p><p>The value has the type `separator`.</p><p>Available platforms: Android, iOS, web.</p> |
| `line_spacing` | <p>**int**</p><p>Spacing between lines of items when `layout_mode` is set to `wrap`. Ignored if `line_separator` with type `show_between` is set.</p><p>Restriction for the value `x`: `x >= 0`.</p><p>Default value: `0`.</p><p>Available platforms: iOS, Android, web.</p> |
| `longtap_actions` | <p>**array**</p><p>Action when long-clicking an element. Doesn't work on devices that don't support touch gestures.</p><p>Available platforms: Android, iOS, web.</p> |
| `margins` | <p>**object**</p><p>External margins from the element stroke.</p><p>The value has the type `div-edge-insets`.</p> |
| `orientation` | <p>**string**</p><p>Location of elements. `overlap` value overlays elements on top of each other in the order of enumeration. The lowest is the zero element of an array.</p><p>Possible values: `vertical`, `horizontal`, `overlap`.</p><p>Default value: `vertical`.</p> |
| `paddings` | <p>**object**</p><p>Internal margins from the element stroke.</p><p>The value has the type `div-edge-insets`.</p> |
| `press_end_actions` | <p>**array**</p><p>Actions performed after clicking/tapping an element.</p><p>Available platforms: web, Android, iOS.</p> |
| `press_start_actions` | <p>**array**</p><p>Actions performed at the start of a click/tap on an element.</p><p>Available platforms: web, Android, iOS.</p> |
| `reuse_id` | <p>**string**</p><p>ID for the div object structure. Used to optimize block reuse. See [block reuse](../../reuse/reuse.md).</p><p>Available platforms: Android, iOS.</p> |
| `row_span` | <p>**int**</p><p>Merges cells in a string of the [grid](div-grid.md) element.</p><p>Restriction for the value `x`: `x >= 0`.</p><p>Available platforms: Android, iOS, web.</p> |
| `selected_actions` | <p>**array**</p><p>List of [actions](div-action.md) to be executed when selecting an element in [pager](div-pager.md).</p><p>Available platforms: Android, iOS, web.</p> |
| `separator` | <p>**object**</p><p>Separator between elements along the main axis. Not used if the `orientation` parameter is set to `overlap`. Only new browsers are supported on the web (the `gap` property must be supported for flex blocks).</p><p>The value has the type `separator`.</p><p>Available platforms: Android, iOS, web.</p> |
| `tooltips` | <p>**array**</p><p>Tooltips linked to an element. A tooltip can be shown by `div-action://show_tooltip?id=`, hidden by `div-action://hide_tooltip?id=` where `id` — tooltip id.</p><p>Available platforms: Android, iOS, web.</p> |
| `transform` | <p>**object**</p><p>Applies the passed transformation to the element. Content that doesn't fit into the original view area is cut off.</p><p>The value has the type `div-transform`.</p><p>Available platforms: Android, iOS, web.</p> |
| `transformations` | <p>**array**</p><p>Array of transformations to be applied to the element in sequence.</p><p>Available platforms: web.</p><p>List of possible values:<li>[div-rotation-transformation](div-rotation-transformation.md#div-rotation-transformation)</li><li>[div-translation-transformation](div-translation-transformation.md#div-translation-transformation)</li></p> |
| `transition_change` | <p>**object**</p><p>Change animation. It is played when the position or size of an element changes in the new layout.</p><p>The value has the type `div-change-transition`.</p><p>Available platforms: Android, iOS, web.</p><p>List of possible values:<li>[div-change-set-transition](div-change-set-transition.md#div-change-set-transition)</li><li>[div-change-bounds-transition](div-change-bounds-transition.md#div-change-bounds-transition)</li></p> |
| `transition_in` | <p>**object**</p><p>Appearance animation. It is played when an element with a new ID appears. To learn more about the concept of transitions, see [Animated transitions](../../interaction#animation/transition-animation).</p><p>The value has the type `div-appearance-transition`.</p><p>Available platforms: Android, iOS, web.</p><p>List of possible values:<li>[div-appearance-set-transition](div-appearance-set-transition.md#div-appearance-set-transition)</li><li>[div-fade-transition](div-fade-transition.md#div-fade-transition)</li><li>[div-scale-transition](div-scale-transition.md#div-scale-transition)</li><li>[div-slide-transition](div-slide-transition.md#div-slide-transition)</li></p> |
| `transition_out` | <p>**object**</p><p>Disappearance animation. It is played when an element disappears in the new layout.</p><p>The value has the type `div-appearance-transition`.</p><p>Available platforms: Android, iOS, web.</p><p>List of possible values:<li>[div-appearance-set-transition](div-appearance-set-transition.md#div-appearance-set-transition)</li><li>[div-fade-transition](div-fade-transition.md#div-fade-transition)</li><li>[div-scale-transition](div-scale-transition.md#div-scale-transition)</li><li>[div-slide-transition](div-slide-transition.md#div-slide-transition)</li></p> |
| `transition_triggers` | <p>**array**</p><p>Animation starting triggers. Default value: `[state_change, visibility_change]`.</p><p>An array must not be empty.</p><p>Available platforms: Android, iOS, web.</p> |
| `variable_triggers` | <p>**array**</p><p>Triggers for changing variables within an element.</p><p>Available platforms: Android, iOS, web.</p> |
| `variables` | <p>**array**</p><p>Declaration of variables that can be used within an element. Variables declared in this array can only be used within the element and its child elements.</p><p>Available platforms: iOS, web, Android.</p><p>List of possible values:<li>[string_variable](string_variable.md#string_variable)</li><li>[number_variable](number_variable.md#number_variable)</li><li>[integer_variable](integer_variable.md#integer_variable)</li><li>[boolean_variable](boolean_variable.md#boolean_variable)</li><li>[color_variable](color_variable.md#color_variable)</li><li>[url_variable](url_variable.md#url_variable)</li><li>[dict_variable](dict_variable.md#dict_variable)</li><li>[array_variable](array_variable.md#array_variable)</li><li>[property_variable](property_variable.md#property_variable)</li></p> |
| `visibility` | <p>**string**</p><p>Element visibility.</p><p>Possible values: `visible`, `invisible`, `gone`.</p><p>Default value: `visible`.</p> |
| `visibility_action` | <p>**object**</p><p>Tracking visibility of a single element. Not used if the `visibility_actions` parameter is set.</p><p>The value has the type `div-visibility-action`.</p> |
| `visibility_actions` | <p>**array**</p><p>Actions when an element appears on the screen.</p> |
| `width` | <p>**object**</p><p>Element width.</p><p>The value has the type `div-size`.</p><p>Default value: `{"type": "match_parent"}`.</p><p>List of possible values:<li>[div-fixed-size](div-fixed-size.md#div-fixed-size)</li><li>[div-match-parent-size](div-match-parent-size.md#div-match-parent-size)</li><li>[div-wrap-content-size](div-wrap-content-size.md#div-wrap-content-size)</li></p> |

### separator
| Parameters | Description |
| --- | --- |
| `style` | <p>**object**</p><p>Required parameter.</p><p>Separator style.</p><p>The value has the type `div-drawable`.</p><p>Available platforms: Android, iOS, web.</p><p>List of possible values:<li>[div-shape-drawable](div-shape-drawable.md#div-shape-drawable)</li></p> |
| `margins` | <p>**object**</p><p>External margins from the element stroke.</p><p>The value has the type `div-edge-insets`.</p><p>Available platforms: Android, iOS, web.</p> |
| `show_at_end` | <p>**bool_int**</p><p>Enables displaying the separator after the last item.</p><p>Default value: `false`.</p><p>Available platforms: Android, iOS, web.</p> |
| `show_at_start` | <p>**bool_int**</p><p>Enables displaying the separator before the first item.</p><p>Default value: `false`.</p><p>Available platforms: Android, iOS, web.</p> |
| `show_between` | <p>**bool_int**</p><p>Enables displaying the separator between items.</p><p>Default value: `true`.</p><p>Available platforms: Android, iOS, web.</p> |

<details>
<summary>JSON</summary>

```json
{
  type*: "container",
  accessibility: {
    description: "string",
    hint: "string",
    is_checked: "bool_int",
    mode: "string",
    mute_after_action: "bool_int",
    state_description: "string",
    type: "string"
  },
  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",
    scope_id: "string",
    target: "string",
    typed: div-action-typed,
    url: "string"
  },
  action_animation: {
    duration: "int",
    end_value: "number",
    interpolator: "string",
    items: [ div-animation, ... ],
    name*: "string",
    repeat: div-count,
    start_delay: "int",
    start_value: "number"
  },
  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",
      scope_id: "string",
      target: "string",
      typed: div-action-typed,
      url: "string"
    },
    ...
  ],
  alignment_horizontal: "string",
  alignment_vertical: "string",
  alpha: "number",
  animators: [ div-animator, ... ],
  aspect: {
    ratio*: "number"
  },
  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",
      style: div-stroke-style,
      unit: "string",
      width: "number"
    }
  },
  capture_focus_on_action: "bool",
  clip_to_bounds: "bool_int",
  column_span: "int",
  content_alignment_horizontal: "string",
  content_alignment_vertical: "string",
  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",
            scope_id: "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",
            scope_id: "string",
            target: "string",
            typed: div-action-typed,
            url: "string"
          },
          ...
        ]
      },
      is_enabled: "bool_int",
      log_id*: "string",
      log_limit: "int",
      payload: "object",
      referer: "string",
      scope_id: "string",
      typed: div-action-typed,
      url: "string",
      visibility_percentage: "int"
    },
    ...
  ],
  doubletap_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",
      scope_id: "string",
      target: "string",
      typed: div-action-typed,
      url: "string"
    },
    ...
  ],
  extensions: [
    {
      id*: "string",
      is_enabled: "bool_int",
      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",
        style: div-stroke-style,
        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",
        scope_id: "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",
        scope_id: "string",
        target: "string",
        typed: div-action-typed,
        url: "string"
      },
      ...
    ]
  },
  functions: [
    {
      arguments*: [
        {
          name*: "string",
          type*: "string"
        },
        ...
      ],
      body*: "string",
      name*: "string",
      return_type*: "string"
    },
    ...
  ],
  height: div-size,
  hover_end_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",
      scope_id: "string",
      target: "string",
      typed: div-action-typed,
      url: "string"
    },
    ...
  ],
  hover_start_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",
      scope_id: "string",
      target: "string",
      typed: div-action-typed,
      url: "string"
    },
    ...
  ],
  id: "string",
  item_builder: {
    data*: "raw_array",
    data_element_name: "string",
    prototypes*: [
      {
        div*: div,
        id: "string",
        selector: "bool_int"
      },
      ...
    ]
  },
  item_spacing: "int",
  items: [ div, ... ],
  layout_mode: "string",
  layout_provider: {
    height_variable_name: "string",
    width_variable_name: "string"
  },
  line_separator: {
    margins: {
      bottom: "int",
      end: "int",
      left: "int",
      right: "int",
      start: "int",
      top: "int",
      unit: "string"
    },
    show_at_end: "bool_int",
    show_at_start: "bool_int",
    show_between: "bool_int",
    style*: div-drawable
  },
  line_spacing: "int",
  longtap_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",
      scope_id: "string",
      target: "string",
      typed: div-action-typed,
      url: "string"
    },
    ...
  ],
  margins: {
    bottom: "int",
    end: "int",
    left: "int",
    right: "int",
    start: "int",
    top: "int",
    unit: "string"
  },
  orientation: "string",
  paddings: {
    bottom: "int",
    end: "int",
    left: "int",
    right: "int",
    start: "int",
    top: "int",
    unit: "string"
  },
  press_end_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",
      scope_id: "string",
      target: "string",
      typed: div-action-typed,
      url: "string"
    },
    ...
  ],
  press_start_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",
      scope_id: "string",
      target: "string",
      typed: div-action-typed,
      url: "string"
    },
    ...
  ],
  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",
      scope_id: "string",
      target: "string",
      typed: div-action-typed,
      url: "string"
    },
    ...
  ],
  separator: {
    margins: {
      bottom: "int",
      end: "int",
      left: "int",
      right: "int",
      start: "int",
      top: "int",
      unit: "string"
    },
    show_at_end: "bool_int",
    show_at_start: "bool_int",
    show_between: "bool_int",
    style*: div-drawable
  },
  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"
      },
      background_accessibility_description: "string",
      bring_to_top_id: "string",
      close_by_tap_outside: "bool",
      div*: div,
      duration: "int",
      id*: "string",
      mode: div-tooltip-mode,
      offset: {
        x*: {
          unit: "string",
          value*: "number"
        },
        y*: {
          unit: "string",
          value*: "number"
        }
      },
      position*: "string",
      substrate_div: div,
      tap_outside_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",
          scope_id: "string",
          target: "string",
          typed: div-action-typed,
          url: "string"
        },
        ...
      ]
    },
    ...
  ],
  transform: {
    pivot_x: div-pivot,
    pivot_y: div-pivot,
    rotation: "number"
  },
  transformations: [ div-transformation, ... ],
  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",
          scope_id: "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",
          scope_id: "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",
          scope_id: "string",
          target: "string",
          typed: div-action-typed,
          url: "string"
        },
        ...
      ]
    },
    is_enabled: "bool_int",
    log_id*: "string",
    log_limit: "int",
    payload: "object",
    referer: "string",
    scope_id: "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",
            scope_id: "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",
            scope_id: "string",
            target: "string",
            typed: div-action-typed,
            url: "string"
          },
          ...
        ]
      },
      is_enabled: "bool_int",
      log_id*: "string",
      log_limit: "int",
      payload: "object",
      referer: "string",
      scope_id: "string",
      typed: div-action-typed,
      url: "string",
      visibility_duration: "int",
      visibility_percentage: "int"
    },
    ...
  ],
  width: div-size
}
```
</details>
