{% set hasTabs = (type.getTabs() is not empty) %}
{% set isParent = type.isParent() %}
<div class="ni_block ni_block--{{ type.getHandle() }} {{ collapsed ? 'is-collapsed' : 'is-expanded' }} {{ not hasTabs and not isParent ? 'is-empty' : '' }} {{ isParent ? 'is-parent' : '' }}" data-neo-b-id="{{ uniqueId() }}">
    <input type="hidden" name="{{ 'modified'|ns }}" value="{{ modified ? 1 : 0 }}" data-neo-b="input.modified">
    <input type="hidden" name="{{ 'type'|ns }}" value="{{ type.getHandle() }}">
    <input type="hidden" name="{{ 'enabled'|ns }}" value="{{ enabled ? 1 : 0 }}" data-neo-b="input.enabled">
    <input type="hidden" name="{{ 'collapsed'|ns }}" value="{{ collapsed ? 1 : 0 }}" data-neo-b="input.collapsed">
    <input type="hidden" name="{{ 'level'|ns }}" value="{{ level }}" data-neo-b="input.level">
    <input type="hidden" name="{{ 'sortOrder'|ns }}" value="{{ sortOrder }}" data-neo-b="sortOrder">
    <div class="ni_block_topbar" data-neo-b="container.topbar">
        <div class="ni_block_topbar_left" data-neo-b="container.topbarLeft">
            <div class="ni_block_topbar_item" data-neo-b="select">
                <div class="checkbox block-checkbox" title="{{ "Select"|t }}"></div>
            </div>
            <div class="ni_block_topbar_item title clip-text">
                <span class="blocktype" data-neo-b="select">{{ type.getName() }}</span>{#
                #}<span class="preview" data-neo-b="container.preview">&nbsp;</span>
            </div>
        </div>
        <div class="ni_block_topbar_right" data-neo-b="container.topbarRight">
            <div class="ni_block_topbar_item size-full tabs">
                {% if hasTabs or isParent %}
                    <div class="tabs_trigger" data-neo-b="button.toggler"></div>
                {% endif %}
                {% if type.getTabs()|length > 1 %}
                    {% set hasErrors = false %}
                    <div class="tabs_inner" data-neo-b="container.tabs">
                        {%- for tab in type.getTabs() -%}
                            {%- set tabHasErrors = (tab.getErrors()|length > 0) -%}
                            <a class="tab {{ tab.isBlank() ? ' is-blank' : '' }} {{ loop.first ? ' is-selected' : '' }} {{ tabHasErrors ? ' has-errors' : '' }}"
                               data-neo-b="button.tab"
                               data-neo-b-info="{{ tab.name }}">
                                {{ tab.name }}
                            </a>
                            {%- set hasErrors = (hasErrors or tabHasErrors) -%}
                        {%- endfor -%}
                    </div>
                    <div class="tabs_btn menubtn {{ hasErrors ? ' has-errors' : '' }}" data-neo-b="button.tabs">
                        {{ (type.getTabs()|first).name }}
                    </div>
                    <div class="neo_block_tabs-menu menu">
                        <ul>
                            {% for tab in type.getTabs() %}
                                <li>
                                    <a class="{{ loop.first ? ' is-selected' : '' }} {{ tab.getErrors()|length > 0 ? ' has-errors' : '' }}"
                                       data-neo-b="button.tab"
                                       data-neo-b-info="{{ tab.name }}">
                                        {{ tab.name }}
                                    </a>
                                </li>
                            {% endfor %}
                        </ul>
                    </div>
                {% endif %}
            </div>
            <div class="ni_block_topbar_item hidden" data-neo-b="status">
                <div class="status off" title="{{ "Disabled"|t }}"></div>
            </div>
            <div class="ni_block_topbar_item block-settings">
                <a class="settings icon menubtn" title="{{ "Actions"|t }}" role="button" data-neo-b="button.actions"></a>
                <div class="menu" data-neo-b="container.menu">
                    <ul class="padded">
                        {% if hasTabs or isParent %}
                            <li><a data-icon="collapse" data-action="collapse">{{ "Collapse"|t }}</a></li>
                            <li class="hidden"><a data-icon="expand" data-action="expand">{{ "Expand"|t }}</a></li>
                        {% endif %}
                        <li><a data-icon="disabled" data-action="disable">{{ "Disable"|t }}</a></li>
                        <li class="hidden"><a data-icon="enabled" data-action="enable">{{ "Enable"|t }}</a></li>
                        <li class="hidden"><a data-icon="uarr" data-action="moveUp">{{ "Move Up"|t('app') }}</a></li>
                        <li class="hidden"><a data-icon="darr" data-action="moveDown">{{ "Move Down"|t('app') }}</a></li>
                    </ul>
                    <hr>
                    <ul class="padded">
                        <li><a data-icon="plus" data-action="add">{{ "Add block above"|t }}</a></li>
                        <li><a data-icon="field" data-action="copy">{{ "Copy"|t }}</a></li>
                        <li><a data-icon="brush" data-action="paste">{{ "Paste"|t }}</a></li>
                        <li><a data-icon="share" data-action="duplicate">{{ "Clone"|t }}</a></li>
                    </ul>
                    <hr>
                    <ul class="padded">
                        <li><a class="error" data-icon="remove" data-action="delete">{{ "Delete"|t }}</a></li>
                    </ul>
                </div>
            </div>
            <div class="ni_block_topbar_item block-reorder">
                <a class="move icon" title="{{ "Reorder"|t }}" role="button" data-neo-b="button.move"></a>
            </div>
        </div>
    </div>
    {% if hasTabs or isParent %}
        <div class="ni_block_body" data-neo-b="container.body">
            {% if hasTabs %}
                <div class="ni_block_content" data-neo-b="container.content">{%
                    for tab in type.getTabs() %}
                        <div class="ni_block_content_tab {{ tab.isBlank() ? ' is-blank' : 'flex-fields' }} {{ loop.first ? ' is-selected' : '' }}"
                             data-neo-b="container.tab"
                             data-neo-b-info="{{ tab.name }}">
                            {{ tab.getBodyHtml(id) }}
                        </div>
                    {% endfor
                %}</div>
            {% endif %}
            {% if isParent and renderOldChildBlocksContainer %}
                <div class="ni_block_children" data-neo-b="container.children">
                    <div class="ni_blocks" data-neo-b="container.blocks"></div>
                    <div data-neo-b="container.buttons" class="hidden"></div>
                    <div data-neo-b="container.childrenWarnings" class="hidden">
                        <p class="first warning with-icon">{{ "This Neo field's maximum number of levels has been reached, so no child blocks can be added here."|t('neo') }}</p>
                    </div>
                </div>
            {% endif %}
        </div>
    {% endif %}
    {% if isParent %}
        <div class="ni_block_collapsed-children" data-neo-b="container.collapsedChildren"></div>
    {% endif %}
</div>
