<?php
/**
 * Copyright © Magento, Inc. All rights reserved.
 * See COPYING.txt for license details.
 */

/** @var \Magento\Customer\Block\Widget\Name $block */

/*
<?= $block->getLayout()->createBlock('Magento\Customer\Block\Widget\Name')
   ->setObject($block->getAddress())
   ->toHtml() ?>

For checkout/onepage/shipping.phtml:

<?= $block->getLayout()->createBlock('Magento\Customer\Block\Widget\Name')
   ->setObject($block->getAddress())
   ->setFieldIdFormat('shipping:%s')
   ->setFieldNameFormat('shipping[%s]')
   ->toHtml() ?>
*/

$prefix = $block->showPrefix();
$middle = $block->showMiddlename();
$suffix = $block->showSuffix();
?>
<?php if (($prefix || $middle || $suffix) && !$block->getNoWrap()) : ?>
<div class="field required fullname <?= $block->escapeHtmlAttr($block->getContainerClassName()) ?>">
    <label for="<?= $block->escapeHtmlAttr($block->getFieldId('firstname')) ?>" class="label"><span><?= $block->escapeHtml(__('Name')) ?></span></label>
    <div class="control">
        <fieldset class="fieldset fieldset-fullname">
        <div class="fields">
<?php endif; ?>

    <?php if ($prefix) : ?>
        <div class="field field-name-prefix<?= $block->isPrefixRequired() ? ' required' : '' ?>">
            <label class="label" for="<?= $block->escapeHtmlAttr($block->getFieldId('prefix')) ?>"><span><?= $block->escapeHtml($block->getStoreLabel('prefix')) ?></span></label>
            <div class="control">
                <?php if ($block->getPrefixOptions() === false) : ?>
                    <input type="text" id="<?= $block->escapeHtmlAttr($block->getFieldId('prefix')) ?>"
                           name="<?= $block->escapeHtmlAttr($block->getFieldName('prefix')) ?>"
                           value="<?= $block->escapeHtmlAttr($block->getObject()->getPrefix()) ?>"
                           title="<?= $block->escapeHtmlAttr($block->getStoreLabel('prefix')) ?>"
                           class="input-text <?= $block->escapeHtmlAttr($block->getAttributeValidationClass('prefix')) ?>" <?= $block->isPrefixRequired() ? ' data-validate="{required:true}"' : '' ?>>
                <?php else : ?>
					<?php $customAlreadyPrfix = []; ?>
                    <select id="<?= $block->escapeHtmlAttr($block->getFieldId('prefix')) ?>"
                            name="<?= $block->escapeHtmlAttr($block->getFieldName('prefix')) ?>"
                            title="<?= $block->escapeHtmlAttr($block->getStoreLabel('prefix')) ?>"
                            class="<?= $block->escapeHtmlAttr($block->getAttributeValidationClass('prefix')) ?>" <?= $block->isPrefixRequired() ? ' data-validate="{required:true}"' : '' ?> >
                        <?php foreach ($block->getPrefixOptions() as $_option) : ?>
							<?php if(in_array($_option,$customAlreadyPrfix)) { continue; } ?>
							<?php $customAlreadyPrfix[] = $_option; ?>
                            <option value="<?= $block->escapeHtmlAttr($_option) ?>"<?php if ($block->getObject()->getPrefix() == $_option) : ?> selected="selected"<?php endif; ?>>
                                <?= $block->escapeHtml(__($_option)) ?>
                            </option>
                        <?php endforeach; ?>
                    </select>
                <?php endif; ?>
            </div>
        </div>
    <?php endif; ?>
        <div class="field field-name-firstname required">
            <label class="label" for="<?= $block->escapeHtmlAttr($block->getFieldId('firstname')) ?>"><span><?= $block->escapeHtml($block->getStoreLabel('firstname')) ?></span></label>
            <div class="control">
                <input type="text" id="<?= $block->escapeHtmlAttr($block->getFieldId('firstname')) ?>"
                       name="<?= $block->escapeHtmlAttr($block->getFieldName('firstname')) ?>"
                       value="<?= $block->escapeHtmlAttr($block->getObject()->getFirstname()) ?>"
                       title="<?= $block->escapeHtmlAttr($block->getStoreLabel('firstname')) ?>"
                       onkeydown="return /[a-z]/i.test(event.key)"
                       autocomplete="off"
                       maxlength="30"
                       class="input-text <?= $block->escapeHtmlAttr($block->getAttributeValidationClass('firstname')) ?>" <?= ($block->getAttributeValidationClass('firstname') == 'required-entry') ? ' data-validate="{required:true}"' : '' ?>>
            </div>
        </div>
    <?php if ($middle) : ?>
        <?php $isMiddlenameRequired = $block->isMiddlenameRequired(); ?>
        <div class="field field-name-middlename<?= $isMiddlenameRequired ? ' required' : '' ?>">
            <label class="label" for="<?= $block->escapeHtmlAttr($block->getFieldId('middlename')) ?>"><span><?= $block->escapeHtml($block->getStoreLabel('middlename')) ?></span></label>
            <div class="control">
                <input type="text" id="<?= $block->escapeHtmlAttr($block->getFieldId('middlename')) ?>"
                       name="<?= $block->escapeHtmlAttr($block->getFieldName('middlename')) ?>"
                       value="<?= $block->escapeHtmlAttr($block->getObject()->getMiddlename()) ?>"
                       title="<?= $block->escapeHtmlAttr($block->getStoreLabel('middlename')) ?>"
                       onkeydown="return /[a-z]/i.test(event.key)"
                       autocomplete="off"
                       maxlength="30"
                       class="input-text <?= $block->escapeHtmlAttr($block->getAttributeValidationClass('middlename')) ?>" <?= $isMiddlenameRequired ? ' data-validate="{required:true}"' : '' ?>>
            </div>
        </div>
    <?php endif; ?>
        <div class="field field-name-lastname required">
            <label class="label" for="<?= $block->escapeHtmlAttr($block->getFieldId('lastname')) ?>"><span><?= $block->escapeHtml($block->getStoreLabel('lastname')) ?></span></label>
            <div class="control">
                <input type="text" id="<?= $block->escapeHtmlAttr($block->getFieldId('lastname')) ?>"
                       name="<?= $block->escapeHtmlAttr($block->getFieldName('lastname')) ?>"
                       value="<?= $block->escapeHtmlAttr($block->getObject()->getLastname()) ?>"
                       title="<?= $block->escapeHtmlAttr($block->getStoreLabel('lastname')) ?>"
                       onkeydown="return /[a-z]/i.test(event.key)"
                       autocomplete="off"
                       maxlength="30"
                       class="input-text <?= $block->escapeHtmlAttr($block->getAttributeValidationClass('lastname')) ?>" <?= ($block->getAttributeValidationClass('lastname') == 'required-entry') ? ' data-validate="{required:true}"' : '' ?>>
            </div>
        </div>
    <?php if ($suffix) : ?>
        <div class="field field-name-suffix<?= $block->isSuffixRequired() ? ' required' : '' ?>">
            <label class="label" for="<?= $block->escapeHtmlAttr($block->getFieldId('suffix')) ?>"><span><?= $block->escapeHtml($block->getStoreLabel('suffix')) ?></span></label>
            <div class="control">
                <?php if ($block->getSuffixOptions() === false) : ?>
                    <input type="text" id="<?= $block->escapeHtmlAttr($block->getFieldId('suffix')) ?>"
                           name="<?= $block->escapeHtmlAttr($block->getFieldName('suffix')) ?>"
                           value="<?= $block->escapeHtmlAttr($block->getObject()->getSuffix()) ?>"
                           title="<?= $block->escapeHtmlAttr($block->getStoreLabel('suffix')) ?>"
                           class="input-text <?= $block->escapeHtmlAttr($block->getAttributeValidationClass('suffix')) ?>" <?= $block->isSuffixRequired() ? ' data-validate="{required:true}"' : '' ?>>
                <?php else : ?>
                    <select id="<?= $block->escapeHtmlAttr($block->getFieldId('suffix')) ?>"
                            name="<?= $block->escapeHtmlAttr($block->getFieldName('suffix')) ?>"
                            title="<?= $block->escapeHtmlAttr($block->getStoreLabel('suffix')) ?>"
                            class="<?= $block->escapeHtmlAttr($block->getAttributeValidationClass('suffix')) ?>" <?= $block->isSuffixRequired() ? ' data-validate="{required:true}"' : '' ?>>
                        <?php foreach ($block->getSuffixOptions() as $_option) : ?>
                            <option value="<?= $block->escapeHtmlAttr($_option) ?>"<?php if ($block->getObject()->getSuffix() == $_option) : ?> selected="selected"<?php endif; ?>>
                                <?= $block->escapeHtml(__($_option)) ?>
                            </option>
                        <?php endforeach; ?>
                    </select>
                <?php endif; ?>
            </div>
        </div>
    <?php endif; ?>

    <?php if (($prefix || $middle || $suffix) && !$block->getNoWrap()) : ?>
            </div>
        </fieldset>
    </div>
</div>
<?php endif; ?>
