{% if not property_path %}
  {% set root_schema = schema %}
{% endif %}
{% set container_style = get_style_variant(schema.style, template_mode) %}
<div style="font-size:1.5em; margin-bottom: 0.25em; {% if property_path %}margin-left:4px;{% endif %}">
  {% if container_style in ("collapsible", "expandable") %}
    <i class="fa fa-w {% if container_style == "collapsible" %}fa-minus-square-o{% else %}fa-plus-square-o{% endif %} collapse-expand-button" data-id-prefix="{{ id_prefix }}" style="font-size:0.8em;" data-toggle="tooltip" data-placement="top" title="{% if container_style == "collapsible" %}{{ _("Collapse") }}{% else %}{{ _("Expand") }}{% endif %}" data-collapse-text="{{ _("Collapse") }}" data-expand-text="{{ _("Expand") }}"></i>
  {% endif %}
  <strong>{{ schema.title | get_translated_text }}</strong>
</div>
<div style="{% if property_path %}border-left: 1px solid #dddddd; margin-left: 5px; padding-left: 5px;{% endif %} padding-top:1em; {% if container_style == "expandable" %}display:none;{% endif %} {% if container_style == 'horizontal' %}display: flex; flex-wrap: wrap{% endif %}" class="collapsible-object-container" data-id-prefix="{{ id_prefix }}">
  {% if 'note' in schema %}<span class="help-block"><strong>{{ _('Note:') }}</strong> {{ schema['note'] | get_translated_text }}</span>{% endif %}
    <input type="hidden" name="{{ id_prefix }}_hidden" value="object" />
    {% for property_name in get_property_names_in_order(schema, previous_schema) %}
      {% set is_required = property_name in schema.get('required', ()) %}
      {% set schema = schema.properties.get(property_name) %}
      {% set property_path = property_path + (property_name,) %}
      {% set id_prefix = id_prefix_for_property_path(property_path, id_prefix_root) %}
      {% if data is not none %}
        {% set data = data.get(property_name) %}
      {% endif %}
      {% if diff is not none %}
        {% set diff = diff.get(property_name) %}
      {% endif %}
      {% if previous_schema is not none %}
        {% set previous_schema = previous_schema.get('properties', {}).get(property_name) %}
      {% endif %}
      {% if schema and 'conditions' in schema %}
        <div data-condition-wrapper-for="{{ id_prefix }}" class="condition-wrapper">
          {% include "objects/forms/form_any.html" %}
          <input type="hidden" class="condition-wrapper" data-id-prefix="{{ id_prefix}}" data-conditions='{{ schema["conditions"] | encode_choices | stringify }}'>
        </div>
      {% else %}
        {% include "objects/forms/form_any.html" %}
      {% endif %}
    {% endfor %}
  {% if 'recipes' in schema and schema['recipes'] | length > 0 %}
    {% include "objects/forms/form_recipe.html" %}
  {% endif %}
</div>
