{% import '@base/macros/componentMacros.twig' as macros %}

{% set shouldWrapContent = (brickConfig.wrapped ?? true) is same as(true) %}

{% set config = { tag: shouldWrapContent ? 'div' : brickConfig.tag|default('section')} %}

{% set brickDataAttributes = {
	'brick-id': brickConfig.name,
} %}

{% set dataAttributes = shouldWrapContent 
	? dataAttributes|default({}) 
	: dataAttributes|default({})|merge(brickDataAttributes)
%}

{% extends '@base/models/base.twig' %}

{% set isBoxed = brickContainer.variant in ['b-container--boxed', 'b-container--boxed-small'] %}

	{% set defaultBrickTagClassnames = [
		brickContainer.theme,
		brickContainer.bgColor,
		brickContainer.spacingTop,
		brickContainer.spacingBottom
	]%}
	{% set defaultBrickContainerClassNames = [] %}

{% if isBoxed %}
	{% set defaultBrickTagClassnames = [brickContainer.theme] %}
	{% set defaultBrickContainerClassNames = [
		brickContainer.bgColor,brickContainer.spacingTop,
		brickContainer.spacingBottom] 
	%}
{% endif %}

{% set brickContainerClassNames = merge_classnames({
    tag: [
		classNames.tag,
        'b-container',
        brickContainer.variant,
		'overflow-x-clip'
    ]|merge(defaultBrickTagClassnames),
}, brickContainerClassNames|default({})) %}

{% set classNames = shouldWrapContent 
	? merge_classnames({ tag: 'b-container__content' }, { tag: [
		classNames.content|default(''),
	]|merge(defaultBrickContainerClassNames) }) 
	: { tag: classNames.tag|default(defaultBrickTagClassnames) }
%}

{% block bgImage %}
	{% if brickContainer.bgImage is defined %}
		{%  include '@elements/atoms/a-image/a-image.template.twig' with brickContainer.bgImage|merge({
            objectFit: 'object-cover',
            componentClassNames: {
                tag: 'b-container__bg-image'
            }
        }) only %}
	{%  endif %}
{% endblock %}

{% block jumpmarkAnchor %}
	{% if jumpmarkAnchorId %}
		<a data-jumpmark id="{{ jumpmarkAnchorId }}"></a>
	{% endif %}
{% endblock %}

{% block container_start %}
	{{ block('jumpmarkAnchor') }}
	{% if shouldWrapContent %}
		<{{-brickConfig.tag}} class="{{ brickContainerClassNames.tag }}" {{- macros.renderPrefixedAttributes('data', brickDataAttributes) -}}>
			{{ block('bgImage') }}
		{% endif %}
	{% endblock %}

	{% block body %}{% endblock %}

	{% block container_end %}
	{% if brickContainer is defined and brickContainer is not empty %}
	</{{-brickConfig.tag-}}>
{% endif %}{% endblock %}
