{% sw_extends '@Storefront/storefront/component/address/address-form.html.twig' %}
{% block component_address_form_address_fields %}
<div class="{{ formRowClass }}">
{% block component_address_form_street_name %}
<div class="form-group col-md-10 col-10">
{% if formViolations.getViolations("/street") is not empty %}
{% set violationPath = "/street" %}
{% elseif formViolations.getViolations("/#{prefix}/street") is not empty %}
{% set violationPath = "/#{prefix}/street" %}
{% else %}
{% set requiredMessage = "error.VIOLATION::IS_BLANK_ERROR"|trans({ '%field%': "address.streetLabel"|trans|sw_sanitize }) %}
{% endif %}
{% block component_address_form_street_name_label %}
<label class="form-label"
for="{{ idPrefix ~ prefix }}AddressStreet">
{{ "address.streetLabel"|trans|sw_sanitize }}{{ "general.required"|trans|sw_sanitize }}
</label>
{% endblock %}
{% block component_address_form_street_name_input %}
<input type="text"
class="form-control{% if violationPath %} is-invalid{% endif %}"
id="{{ idPrefix ~ prefix }}AddressStreet"
placeholder="{{ "address.streetPlaceholder"|trans|striptags }}"
name="{{ prefix }}[street]"
value="{{ data.get('street') }}"
data-form-validation-required
{% if requiredMessage is defined %}data-form-validation-required-message="{{ requiredMessage }}"{% endif %}
required="required">
{% endblock %}
{% block component_address_form_street_name_input_error %}
{% if violationPath %}
{% sw_include '@Storefront/storefront/utilities/form-violation.html.twig' %}
{% endif %}
{% endblock %}
</div>
{% endblock %}
{% block component_address_form_house_number %}
<div class="form-group col-md-2 col-2">
{% if formViolations.getViolations("/houseNumber") is not empty %}
{% set violationPath = "/houseNumber" %}
{% elseif formViolations.getViolations("/#{prefix}/houseNumber") is not empty %}
{% set violationPath = "/#{prefix}/houseNumber" %}
{% else %}
{% set requiredMessage = "error.VIOLATION::IS_BLANK_ERROR"|trans({ '%field%': "address.houseNumberLabel"|trans|sw_sanitize }) %}
{% endif %}
{% block component_address_form_house_number_label %}
<label class="form-label"
for="{{ idPrefix ~ prefix }}AddressHouseNumber">
{{ "address.houseNumberLabel"|trans|sw_sanitize }}{{ "general.required"|trans|sw_sanitize }}
</label>
{% endblock %}
{% block component_address_form_house_number_input %}
<input type="text"
class="form-control{% if violationPath %} is-invalid{% endif %}"
id="{{ idPrefix ~ prefix }}AddressHouseNumber"
placeholder="{{ "address.houseNumberPlaceholder"|trans|striptags }}"
name="{{ prefix }}[houseNumber]"
value="{{ data.get('houseNumber') }}"
data-form-validation-required
{% if requiredMessage is defined %}data-form-validation-required-message="{{ requiredMessage }}"{% endif %}
required="required">
{% endblock %}
{% block component_address_form_house_number_input_error %}
{% if violationPath %}
{% sw_include '@Storefront/storefront/utilities/form-violation.html.twig' %}
{% endif %}
{% endblock %}
</div>
{% endblock %}
{% block component_address_form_additional_field1 %}
{% if config('core.loginRegistration.showAdditionalAddressField1') %}
{% if formViolations.getViolations("/additionalAddressLine1") is not empty %}
{% set violationPath = "/additionalAddressLine1" %}
{% elseif formViolations.getViolations("/#{prefix}/additionalAddressLine1") is not empty %}
{% set violationPath = "/#{prefix}/additionalAddressLine1" %}
{% endif %}
<div class="form-group col-md-12">
{% block component_address_form_additional_field1_label %}
<label class="form-label"
for="{{ idPrefix ~ prefix }}AdditionalField1">
{{ "address.additionalField1Label"|trans|sw_sanitize }}
{{ config('core.loginRegistration.additionalAddressField1Required') ? "general.required"|trans|sw_sanitize }}
</label>
{% endblock %}
{% block component_address_form_additional_field1_input %}
<input type="text"
class="form-control {% if violationPath %} is-invalid{% endif %}"
id="{{ idPrefix ~ prefix }}AdditionalField1"
placeholder="{{ "address.additionalField1Placeholder"|trans|striptags }}"
name="{{ prefix }}[additionalAddressLine1]"
value="{{ data.get('additionalAddressLine1') }}"
{{ config('core.loginRegistration.additionalAddressField1Required') ? 'required="true"' }}>
{% endblock %}
{% block component_address_form_additional_field1_error %}
{% if violationPath %}
{% sw_include '@Storefront/storefront/utilities/form-violation.html.twig' %}
{% endif %}
{% endblock %}
</div>
{% endif %}
{% endblock %}
{% block component_address_form_additional_field2 %}
{% if config('core.loginRegistration.showAdditionalAddressField2') %}
{% if formViolations.getViolations("/additionalAddressLine2") is not empty %}
{% set violationPath = "/additionalAddressLine2" %}
{% elseif formViolations.getViolations("/#{prefix}/additionalAddressLine2") is not empty %}
{% set violationPath = "/#{prefix}/additionalAddressLine2" %}
{% endif %}
<div class="form-group col-md-12">
{% block component_address_form_additional_field2_label %}
<label class="form-label"
for="{{ idPrefix ~ prefix }}AdditionalField2">
{{ "address.additionalField2Label"|trans|sw_sanitize }}{{ config('core.loginRegistration.additionalAddressField2Required') ? "general.required"|trans|sw_sanitize }}
</label>
{% endblock %}
{% block component_address_form_additional_field2_input %}
<input type="text"
class="form-control {% if violationPath %} is-invalid{% endif %}"
id="{{ idPrefix ~ prefix }}AdditionalField2"
placeholder="{{ "address.additionalField2Placeholder"|trans|striptags }}"
name="{{ prefix }}[additionalAddressLine2]"
value="{{ data.get('additionalAddressLine2') }}"
{{ config('core.loginRegistration.additionalAddressField2Required') ? 'required="true"' }}>
{% endblock %}
{% block component_address_form_additional_field2_error %}
{% if violationPath %}
{% sw_include '@Storefront/storefront/utilities/form-violation.html.twig' %}
{% endif %}
{% endblock %}
</div>
{% endif %}
{% endblock %}
{% block component_address_form_zipcode_city %}
{% set zipcodeField %}
{% if formViolations.getViolations("/zipcode") is not empty %}
{% set violationPath = "/zipcode" %}
{% elseif formViolations.getViolations("/#{prefix}/zipcode") is not empty %}
{% set violationPath = "/#{prefix}/zipcode" %}
{% else %}
{% set requiredMessage = "error.VIOLATION::IS_BLANK_ERROR"|trans({ '%field%': "address.zipcodeLabel"|trans|sw_sanitize }) %}
{% endif %}
{% block component_address_form_zipcode_label %}
<label class="form-label"
for="{{ idPrefix ~ prefix }}AddressZipcode">
{{ "address.zipcodeLabel"|trans|sw_sanitize }}{{ "general.required"|trans|sw_sanitize }}
</label>
{% endblock %}
{% block component_address_form_zipcode_input %}
<input type="text"
class="form-control{% if violationPath %} is-invalid{% endif %}"
id="{{ idPrefix ~ prefix }}AddressZipcode"
placeholder="{{ "address.zipcodePlaceholder"|trans|striptags }}"
name="{{ prefix }}[zipcode]"
value="{{ data.get('zipcode') }}"
data-form-validation-required
{% if requiredMessage is defined %}data-form-validation-required-message="{{ requiredMessage }}"{% endif %}
required="required">
{% endblock %}
{% block component_address_form_zipcode_error %}
{% if violationPath %}
{% sw_include '@Storefront/storefront/utilities/form-violation.html.twig' %}
{% endif %}
{% endblock %}
{% endset %}
{% set cityField %}
{% if formViolations.getViolations("/city") is not empty %}
{% set violationPath = "/city" %}
{% elseif formViolations.getViolations("/#{prefix}/city") is not empty %}
{% set violationPath = "/#{prefix}/city" %}
{% else %}
{% set requiredMessage = "error.VIOLATION::IS_BLANK_ERROR"|trans({ '%field%': "address.cityLabel"|trans|sw_sanitize }) %}
{% set violationPath = null %}
{% endif %}
{% block component_address_form_city_label %}
<label class="form-label"
for="{{ idPrefix ~ prefix }}AddressCity">
{{ "address.cityLabel"|trans|sw_sanitize }}{{ "general.required"|trans|sw_sanitize }}
</label>
{% endblock %}
{% block component_address_form_city_input %}
<input type="text"
class="form-control{% if violationPath %} is-invalid{% endif %}"
id="{{ idPrefix ~ prefix }}AddressCity"
placeholder="{{ "address.cityPlaceholder"|trans|striptags }}"
name="{{ prefix }}[city]"
value="{{ data.get('city') }}"
data-form-validation-required
{% if requiredMessage is defined %}data-form-validation-required-message="{{ requiredMessage }}"{% endif %}
required="required">
{% endblock %}
{% block component_address_form_city_error %}
{% if violationPath %}
{% sw_include '@Storefront/storefront/utilities/form-violation.html.twig' %}
{% endif %}
{% endblock %}
{% endset %}
{% if config('core.address.showZipcodeInFrontOfCity') %}
<div class="form-group col-md-4 col-lg-2">
{{ zipcodeField }}
</div>
<div class="form-group col-md-8 col-lg-10">
{{ cityField }}
</div>
{% else %}
<div class="form-group col-md-8 col-lg-10">
{{ cityField }}
</div>
<div class="form-group col-md-4 col-lg-2">
{{ zipcodeField }}
</div>
{% endif %}
{% endblock %}
</div>
<div class="{{ formRowClass }} country-and-state-form-elements" data-country-state-select="true">
{% block component_address_form_country %}
<div class="form-group col-md-6">
{% set initialCountryId = null %}
{% if data.get('countryId') %}
{% set initialCountryId = data.get('countryId') %}
{% elseif page.countries|length > 1 %}
{% set initialCountryId = (page.countries|first).id %}
{% endif %}
{% if formViolations.getViolations("/countryId") is not empty %}
{% set violationPath = "/countryId" %}
{% elseif formViolations.getViolations("/#{prefix}/countryId") is not empty %}
{% set violationPath = "/#{prefix}/countryId" %}
{% endif %}
{% block component_address_form_country_label %}
<label class="form-label"
for="{{ idPrefix ~ prefix }}AddressCountry">
{{ "address.countryLabel"|trans|sw_sanitize }}{{ "general.required"|trans|sw_sanitize }}
</label>
{% endblock %}
{% block component_address_form_country_select %}
<select class="country-select {{ formSelectClass }}{% if violationPath %} is-invalid{% endif %}"
id="{{ idPrefix ~ prefix }}AddressCountry"
name="{{ prefix }}[countryId]"
required="required"
data-initial-country-id="{{ initialCountryId }}">
{% if not initialCountryId %}
<option disabled="disabled"
value=""
selected="selected">
{{ "address.countryPlaceholder"|trans|sw_sanitize }}
</option>
{% endif %}
{% for country in page.countries %}
<option {% if country.id == initialCountryId %}
selected="selected"
{% endif %}
value="{{ country.id }}"
data-vat-id-required="{{ country.vatIdRequired }}"
data-state-required="{{ country.forceStateInRegistration }}"
{% if feature('FEATURE_NEXT_15707') and not country.shippingAvailable and disableNonShippableCountries %}
disabled="disabled"
{% endif %}>
{{ country.translated.name }}{% if feature('FEATURE_NEXT_15707') and showNoShippingPostfix and not country.shippingAvailable %} {{ "address.countryPostfixNoShipping"|trans|sw_sanitize }}{% endif %}
</option>
{% endfor %}
</select>
{% endblock %}
</div>
<div class="form-group col-md-6 d-none">
{% if formViolations.getViolations("/countryStateId") is not empty %}
{% set violationPath = "/countryStateId" %}
{% elseif formViolations.getViolations("/#{prefix}/countryStateId") is not empty %}
{% set violationPath = "/#{prefix}/countryStateId" %}
{% endif %}
{% block component_address_form_country_state_label %}
<label class="form-label"
for="{{ idPrefix ~ prefix }}AddressCountryState">
{{ "address.countryStateLabel"|trans|sw_sanitize }}{{ "general.required"|trans|sw_sanitize }}
</label>
{% endblock %}
{% block component_address_form_country_state_select %}
<select class="country-state-select {{ formSelectClass }}{% if violationPath %} is-invalid{% endif %}"
id="{{ idPrefix ~ prefix }}AddressCountryState"
name="{{ prefix }}[countryStateId]"
data-initial-country-state-id="{{ data.get('countryStateId') }}">
<option value=""
selected="selected"
data-placeholder-option="true">
{{ "address.countryStatePlaceholder"|trans|sw_sanitize }}
</option>
</select>
{% endblock %}
{% block component_address_form_country_error %}
{% if violationPath %}
{% sw_include '@Storefront/storefront/utilities/form-violation.html.twig' %}
{% endif %}
{% endblock %}
</div>
{% endblock %}
</div>
{% endblock %}