---
metadata:
  - name: generator
    content: Diplodoc Platform v5.54.5
alternate:
  - https://divkit.tech/docs/en/concepts/divs/2/div-input.md
  - https://divkit.tech/docs/ru/concepts/divs/2/div-input.md
  - href: en/concepts/divs/2/div-input.md
    type: text/markdown
    title: Markdown version
  - href: ../../../llms.txt
    type: text/markdown
    title: llms.txt
---
> **Documentation Index:** Fetch the complete configuration index at https://divkit.tech/docs/en/llms.txt

# div-input
Text input element.

## Parameters
| Parameters | Description |
| --- | --- |
| `text_variable` | <p>**string**</p><p>Required parameter.</p><p>Name of text storage variable.</p> |
| `type` | <p>**string**</p><p>Required parameter.</p><p>The value must always be `input`.</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> |
| `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> |
| `allow_suggestions_bar` | <p>**bool_int**</p><p>Shows or hides the suggestions bar above the virtual keyboard. On platforms where the system doesn't support hiding the suggestions bar, the default system behavior is used.</p><p>Default value: `true`.</p><p>Available platforms: iOS.</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> |
| `autocapitalization` | <p>**string**</p><p>Text auto-capitalization type. <li>By default: `auto` — default behavior of the platform;</li><li>`none' — automatic capitalization is not applied;</li><li>`words` — capitalization of each word;</li><li>`sentences` — capitalization at the beginning of a sentence;</li><li>`all_characters' — capitalization of each character.</li></p><p>Possible values: `auto`, `none`, `words`, `sentences`, `all_characters`.</p><p>Default value: `auto`.</p><p>Available platforms: Android, iOS, web.</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> |
| `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> |
| `disappear_actions` | <p>**array**</p><p>Actions when an element disappears from the screen.</p><p>Available platforms: Android, iOS, web.</p> |
| `enter_key_actions` | <p>**array**</p><p>Actions when pressing the 'Enter' key. Actions (if any) override the default behavior.</p><p>Available platforms: iOS, Android, web.</p> |
| `enter_key_type` | <p>**string**</p><p>'Enter' key type.</p><p>Possible values: `default`, `go`, `search`, `send`, `done`.</p><p>Default value: `default`.</p><p>Available platforms: iOS, Android, 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> |
| `filters` | <p>**array**</p><p>Filter that prevents users from entering text that doesn't satisfy the specified conditions.</p><p>Available platforms: Android, iOS, web.</p><p>List of possible values:<li>[div-input-filter-regex](div-input-filter-regex.md#div-input-filter-regex)</li><li>[div-input-filter-expression](div-input-filter-expression.md#div-input-filter-expression)</li></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> |
| `font_family` | <p>**string**</p><p>Font family:<li>`text` — a standard text font;</li><li>`display` — a family of fonts with a large font size.</li></p><p>Available platforms: Android, iOS, web.</p> |
| `font_size` | <p>**int**</p><p>Font size.</p><p>Restriction for the value `x`: `x >= 0`.</p><p>Default value: `12`.</p> |
| `font_size_unit` | <p>**string**</p><p>Unit of measurement:<li>`px` — a physical pixel.</li><li>`dp` — a logical pixel that doesn't depend on screen density.</li><li>`sp` — a logical pixel that depends on the font size on a device. Specify height in `sp`. Only available on Android.</li></p><p>Possible values: `dp`, `sp`, `px`.</p><p>Default value: `sp`.</p> |
| `font_variation_settings` | <p>**dictionary**</p><p>List of TrueType/OpenType font features. The object is constructed from pairs of axis tag and style values. The axis tag must contain four ASCII characters.</p><p>Available platforms: iOS, Android, web.</p> |
| `font_weight` | <p>**string**</p><p>Style.</p><p>Possible values: `light`, `medium`, `regular`, `bold`.</p> |
| `font_weight_value` | <p>**int**</p><p>Style. Numeric value.</p><p>Restriction for the value `x`: `x > 0`.</p><p>Available platforms: Android, iOS, web.</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> |
| `highlight_color` | <p>**string**</p><p>Text highlight color. If the value isn't set, the color set in the client will be used instead.</p><p>Valid formats: `#RGB`, `#ARGB`, `#RRGGBB`, `#AARRGGBB`.</p><p>Available platforms: Android, iOS, web.</p> |
| `hint_color` | <p>**string**</p><p>Text color.</p><p>Valid formats: `#RGB`, `#ARGB`, `#RRGGBB`, `#AARRGGBB`.</p><p>Default value: `#73000000`.</p> |
| `hint_text` | <p>**string**</p><p>Tooltip text.</p> |
| `id` | <p>**string**</p><p>Element ID. It must be unique within the root element. It is used as `accessibilityIdentifier` on iOS.</p> |
| `is_enabled` | <p>**bool_int**</p><p>Enables or disables text editing.</p><p>Default value: `true`.</p> |
| `keyboard_type` | <p>**string**</p><p>Keyboard type.</p><p>Possible values: `single_line_text`, `multi_line_text`, `phone`, `number`, `email`, `uri`, `password`.</p><p>Default value: `multi_line_text`.</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> |
| `letter_spacing` | <p>**number**</p><p>Spacing between characters.</p><p>Default value: `0`.</p><p>Available platforms: Android, iOS, web.</p> |
| `line_height` | <p>**int**</p><p>Line spacing of the text. Units specified in `font_size_unit`.</p><p>Restriction for the value `x`: `x >= 0`.</p> |
| `margins` | <p>**object**</p><p>External margins from the element stroke.</p><p>The value has the type `div-edge-insets`.</p> |
| `mask` | <p>**object**</p><p>Mask for entering text based on the specified template.</p><p>The value has the type `div-input-mask`.</p><p>Available platforms: Android, iOS, web.</p><p>List of possible values:<li>[div-fixed-length-input-mask](div-fixed-length-input-mask.md#div-fixed-length-input-mask)</li><li>[div-currency-input-mask](div-currency-input-mask.md#div-currency-input-mask)</li><li>[div-phone-input-mask](div-phone-input-mask.md#div-phone-input-mask)</li></p> |
| `max_length` | <p>**int**</p><p>Maximum number of characters that can be entered in the input field.</p><p>Restriction for the value `x`: `x > 0`.</p><p>Available platforms: Android, iOS, web.</p> |
| `max_visible_lines` | <p>**int**</p><p>Maximum number of lines to be displayed in the input field.</p><p>Restriction for the value `x`: `x > 0`.</p> |
| `native_interface` | <p>**object**</p><p>Text input line used in the native interface.</p><p>The value has the type `native_interface`.</p><p>Available platforms: Android.</p> |
| `paddings` | <p>**object**</p><p>Internal margins from the element stroke.</p><p>The value has the type `div-edge-insets`.</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> |
| `select_all_on_focus` | <p>**bool_int**</p><p>Highlighting input text when focused.</p><p>Default value: `false`.</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> |
| `text_alignment_horizontal` | <p>**string**</p><p>Horizontal text alignment.</p><p>Possible values: `left`, `center`, `right`, `start`, `end`.</p><p>Default value: `start`.</p> |
| `text_alignment_vertical` | <p>**string**</p><p>Vertical text alignment.</p><p>Possible values: `top`, `center`, `bottom`, `baseline`.</p><p>Default value: `center`.</p> |
| `text_color` | <p>**string**</p><p>Text color.</p><p>Valid formats: `#RGB`, `#ARGB`, `#RRGGBB`, `#AARRGGBB`.</p><p>Default value: `#FF000000`.</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> |
| `validators` | <p>**array**</p><p>Validator that checks that the field value meets the specified conditions.</p><p>Available platforms: Android, iOS, web.</p><p>List of possible values:<li>[div-input-validator-regex](div-input-validator-regex.md#div-input-validator-regex)</li><li>[div-input-validator-expression](div-input-validator-expression.md#div-input-validator-expression)</li></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> |

### native_interface
| Parameters | Description |
| --- | --- |
| `color` | <p>**string**</p><p>Required parameter.</p><p>Text input line color.</p><p>Valid formats: `#RGB`, `#ARGB`, `#RRGGBB`, `#AARRGGBB`.</p><p>Available platforms: Android.</p> |

<details>
<summary>JSON</summary>

```json
{
  type*: "input",
  accessibility: {
    description: "string",
    hint: "string",
    is_checked: "bool_int",
    mode: "string",
    mute_after_action: "bool_int",
    state_description: "string",
    type: "string"
  },
  alignment_horizontal: "string",
  alignment_vertical: "string",
  allow_suggestions_bar: "bool_int",
  alpha: "number",
  animators: [ div-animator, ... ],
  autocapitalization: "string",
  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"
    }
  },
  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",
            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"
    },
    ...
  ],
  enter_key_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"
    },
    ...
  ],
  enter_key_type: "string",
  extensions: [
    {
      id*: "string",
      is_enabled: "bool_int",
      params: "object"
    },
    ...
  ],
  filters: [ div-input-filter, ... ],
  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"
      },
      ...
    ]
  },
  font_family: "string",
  font_size: "int",
  font_size_unit: "string",
  font_variation_settings: "dictionary",
  font_weight: "string",
  font_weight_value: "int",
  functions: [
    {
      arguments*: [
        {
          name*: "string",
          type*: "string"
        },
        ...
      ],
      body*: "string",
      name*: "string",
      return_type*: "string"
    },
    ...
  ],
  height: div-size,
  highlight_color: "string",
  hint_color: "string",
  hint_text: "string",
  id: "string",
  is_enabled: "bool_int",
  keyboard_type: "string",
  layout_provider: {
    height_variable_name: "string",
    width_variable_name: "string"
  },
  letter_spacing: "number",
  line_height: "int",
  margins: {
    bottom: "int",
    end: "int",
    left: "int",
    right: "int",
    start: "int",
    top: "int",
    unit: "string"
  },
  mask: div-input-mask,
  max_length: "int",
  max_visible_lines: "int",
  native_interface: {
    color*: "string"
  },
  paddings: {
    bottom: "int",
    end: "int",
    left: "int",
    right: "int",
    start: "int",
    top: "int",
    unit: "string"
  },
  reuse_id: "string",
  row_span: "int",
  select_all_on_focus: "bool_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"
    },
    ...
  ],
  text_alignment_horizontal: "string",
  text_alignment_vertical: "string",
  text_color: "string",
  text_variable*: "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"
      },
      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", ... ],
  validators: [ div-input-validator, ... ],
  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>
