<?xml version="1.0"?>
<!--
/**
 * Mageplaza
 *
 * NOTICE OF LICENSE
 *
 * This source file is subject to the Mageplaza.com license that is
 * available through the world-wide-web at this URL:
 * https://www.mageplaza.com/LICENSE.txt
 *
 * DISCLAIMER
 *
 * Do not edit or add to this file if you wish to upgrade this extension to newer
 * version in the future.
 *
 * @category    Mageplaza
 * @package     Mageplaza_Osc
 * @copyright   Copyright (c) Mageplaza (https://www.mageplaza.com/)
 * @license     https://www.mageplaza.com/LICENSE.txt
 */
-->
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="checkout" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <update handle="checkout_index_index"/>
    <head>
        <css src="Mageplaza_Osc::css/style.css"/>
        <css src="Mageplaza_Core::css/grid-mageplaza.css"/>
        <css src="Mageplaza_Core::css/font-awesome.min.css"/>
    </head>
    <body>
        <referenceBlock name="content">
            <block class="Mageplaza\Osc\Block\Checkout\CompatibleConfig" name="mageplaza.osc.compatible-config" before="checkout.root"/>
            <block class="Mageplaza\Osc\Block\StaticBlock" name="osc.static-block.top" template="static-block.phtml" before="checkout.root"/>
            <block class="Mageplaza\Osc\Block\StaticBlock" name="osc.static-block.bottom" template="static-block.phtml" after="checkout.root"/>
        </referenceBlock>
        <referenceBlock name="checkout.root">
            <arguments>
                <argument name="jsLayout" xsi:type="array">
                    <item name="components" xsi:type="array">
                        <item name="checkout" xsi:type="array">
                            <item name="config" xsi:type="array">
                                <item name="template" xsi:type="helper" helper="Mageplaza\Osc\Helper\Data::getLayoutTemplate"/>
                            </item>
                            <item name="children" xsi:type="array">
                                <item name="authentication" xsi:type="array">
                                    <item name="component" xsi:type="string">Mageplaza_Osc/js/view/authentication</item>
                                    <item name="children" xsi:type="array">
                                        <item name="errors" xsi:type="array">
                                            <item name="sortOrder" xsi:type="string">0</item>
                                            <item name="component" xsi:type="string">Magento_Checkout/js/view/authentication-messages</item>
                                            <item name="displayArea" xsi:type="string">messages</item>
                                        </item>
                                    </item>
                                    <item name="config" xsi:type="array">
                                        <item name="componentDisabled" xsi:type="helper" helper="Mageplaza\Osc\Helper\Data::isDisableAuthentication"/>
                                    </item>
                                </item>
                                <item name="geoip" xsi:type="array">
                                    <item name="component" xsi:type="string">Mageplaza_Osc/js/view/geoip</item>
                                </item>
                                <item name="progressBar" xsi:type="array">
                                    <item name="config" xsi:type="array">
                                        <item name="componentDisabled" xsi:type="boolean">true</item>
                                    </item>
                                </item>
                                <item name="steps" xsi:type="array">
                                    <item name="children" xsi:type="array">
                                        <item name="shipping-step" xsi:type="array">
                                            <item name="children" xsi:type="array">
                                                <item name="shippingAddress" xsi:type="array">
                                                    <item name="component" xsi:type="string">Mageplaza_Osc/js/view/shipping</item>
                                                    <item name="children" xsi:type="array">
                                                        <item name="customer-email" xsi:type="array">
                                                            <item name="component" xsi:type="string">Mageplaza_Osc/js/view/form/element/email</item>
                                                        </item>
                                                        <item name="shippingAdditional" xsi:type="array">
                                                            <item name="component" xsi:type="string">uiComponent</item>
                                                            <item name="displayArea" xsi:type="string">shippingAdditional</item>
                                                            <item name="children" xsi:type="array">
                                                                <item name="place-order-comment" xsi:type="array">
                                                                    <item name="component" xsi:type="string">Mageplaza_Osc/js/view/review/comment</item>
                                                                    <item name="sortOrder" xsi:type="string">20</item>
                                                                    <item name="config" xsi:type="array">
                                                                        <item name="componentDisabled" xsi:type="helper" helper="Mageplaza\Osc\Helper\Data::isDisabledComment"/>
                                                                    </item>
                                                                </item>
                                                            </item>
                                                        </item>
                                                        <item name="address-list" xsi:type="array">
                                                            <item name="config" xsi:type="array">
                                                                <item name="rendererTemplates" xsi:type="array">
                                                                    <item name="customer-address" xsi:type="array">
                                                                        <item name="component" xsi:type="string">Mageplaza_Osc/js/view/shipping-address/address-renderer/default</item>
                                                                    </item>
                                                                    <item name="new-customer-address" xsi:type="array">
                                                                        <item name="component" xsi:type="string">Mageplaza_Osc/js/view/shipping-address/address-renderer/default</item>
                                                                    </item>
                                                                </item>
                                                            </item>
                                                        </item>
                                                        <item name="shipping-address-fieldset" xsi:type="array">
                                                            <item name="children" xsi:type="array">
                                                                <item name="region_id" xsi:type="array">
                                                                    <item name="component" xsi:type="string">Mageplaza_Osc/js/view/form/element/region</item>
                                                                </item>
                                                            </item>
                                                        </item>
                                                    </item>
                                                </item>
                                                <item name="billingAddress" xsi:type="array">
                                                    <item name="component" xsi:type="string">Mageplaza_Osc/js/view/billing-address</item>
                                                    <item name="config" xsi:type="array">
                                                        <item name="deps" xsi:type="array">
                                                            <item name="0" xsi:type="string">checkoutProvider</item>
                                                            <item name="1" xsi:type="string">checkout.steps.shipping-step.shippingAddress</item>
                                                        </item>
                                                    </item>
                                                    <item name="provider" xsi:type="string">checkoutProvider</item>
                                                    <item name="children" xsi:type="array">
                                                        <item name="customer-email" xsi:type="array">
                                                            <item name="component" xsi:type="string">Mageplaza_Osc/js/view/form/element/email</item>
                                                            <item name="displayArea" xsi:type="string">customer-email</item>
                                                            <item name="tooltip" xsi:type="array">
                                                                <item name="description" xsi:type="string" translate="true">We'll send your order confirmation here.</item>
                                                            </item>
                                                            <item name="children" xsi:type="array">
                                                                <item name="before-login-form" xsi:type="array">
                                                                    <item name="component" xsi:type="string">uiComponent</item>
                                                                    <item name="displayArea" xsi:type="string">before-login-form</item>
                                                                    <item name="children" xsi:type="array">
                                                                        <!-- before login form fields -->
                                                                    </item>
                                                                </item>
                                                                <item name="additional-login-form-fields" xsi:type="array">
                                                                    <item name="component" xsi:type="string">uiComponent</item>
                                                                    <item name="displayArea" xsi:type="string">additional-login-form-fields</item>
                                                                    <item name="children" xsi:type="array">
                                                                        <!-- additional login form fields -->
                                                                    </item>
                                                                </item>
                                                            </item>
                                                        </item>
                                                        <item name="billing-address-fieldset" xsi:type="array">
                                                            <item name="component" xsi:type="string">uiComponent</item>
                                                            <item name="config" xsi:type="array">
                                                                <item name="deps" xsi:type="array">
                                                                    <item name="0" xsi:type="string">checkoutProvider</item>
                                                                </item>
                                                            </item>
                                                            <item name="displayArea" xsi:type="string">additional-fieldsets</item>
                                                            <item name="children" xsi:type="array">
                                                                <!-- The following items override configuration of corresponding address attributes -->
                                                                <item name="region" xsi:type="array">
                                                                    <!-- Make region attribute invisible on frontend. Corresponding input element is created by region_id field -->
                                                                    <item name="visible" xsi:type="boolean">false</item>
                                                                </item>
                                                                <item name="region_id" xsi:type="array">
                                                                    <item name="component" xsi:type="string">Mageplaza_Osc/js/view/form/element/region</item>
                                                                    <item name="config" xsi:type="array">
                                                                        <item name="template" xsi:type="string">ui/form/field</item>
                                                                        <item name="elementTmpl" xsi:type="string">ui/form/element/select</item>
                                                                        <item name="customEntry" xsi:type="string">billingAddress.region</item>
                                                                    </item>
                                                                    <item name="validation" xsi:type="array">
                                                                        <item name="required-entry" xsi:type="boolean">true</item>
                                                                    </item>
                                                                    <!-- Value of region_id field is filtered by the value of county_id attribute -->
                                                                    <item name="filterBy" xsi:type="array">
                                                                        <item name="target" xsi:type="string"><![CDATA[${ $.provider }:${ $.parentScope }.country_id]]></item>
                                                                        <item name="field" xsi:type="string">country_id</item>
                                                                    </item>
                                                                </item>
                                                                <item name="postcode" xsi:type="array">
                                                                    <!-- post-code field has custom UI component -->
                                                                    <item name="component" xsi:type="string">Magento_Ui/js/form/element/post-code</item>
                                                                    <item name="validation" xsi:type="array">
                                                                        <item name="required-entry" xsi:type="string">true</item>
                                                                    </item>
                                                                </item>
                                                                <item name="company" xsi:type="array">
                                                                    <item name="validation" xsi:type="array">
                                                                        <item name="min_text_length" xsi:type="number">0</item>
                                                                    </item>
                                                                </item>
                                                                <item name="fax" xsi:type="array">
                                                                    <item name="validation" xsi:type="array">
                                                                        <item name="min_text_length" xsi:type="number">0</item>
                                                                    </item>
                                                                </item>
                                                                <item name="country_id" xsi:type="array">
                                                                    <item name="sortOrder" xsi:type="string">115</item>
                                                                </item>
                                                                <item name="telephone" xsi:type="array">
                                                                    <item name="config" xsi:type="array">
                                                                        <item name="tooltip" xsi:type="array">
                                                                            <item name="description" xsi:type="string" translate="true">For delivery questions.</item>
                                                                        </item>
                                                                    </item>
                                                                </item>
                                                            </item>
                                                        </item>
                                                    </item>
                                                </item>
                                            </item>
                                        </item>
                                        <item name="billing-step" xsi:type="array">
                                            <item name="children" xsi:type="array">
                                                <item name="payment" xsi:type="array">
                                                    <item name="component" xsi:type="string">Mageplaza_Osc/js/view/payment</item>
                                                    <item name="children" xsi:type="array">
                                                        <item name="additional-payment-validators" xsi:type="array">
                                                            <item name="children" xsi:type="array">
                                                                <item name="agreements-validator" xsi:type="array">
                                                                    <item name="config" xsi:type="array">
                                                                        <item name="componentDisabled" xsi:type="helper" helper="Mageplaza\Osc\Helper\Data::disabledPaymentTOC"/>
                                                                    </item>
                                                                </item>
                                                            </item>
                                                        </item>
                                                        <item name="customer-email" xsi:type="array">
                                                            <item name="config" xsi:type="array">
                                                                <item name="componentDisabled" xsi:type="boolean">true</item>
                                                            </item>
                                                        </item>
                                                        <item name="payments-list" xsi:type="array">
                                                            <item name="children" xsi:type="array">
                                                                <item name="before-place-order" xsi:type="array">
                                                                    <item name="children" xsi:type="array">
                                                                        <item name="agreements" xsi:type="array">
                                                                            <item name="config" xsi:type="array">
                                                                                <item name="componentDisabled" xsi:type="helper" helper="Mageplaza\Osc\Helper\Data::disabledPaymentTOC"/>
                                                                            </item>
                                                                        </item>
                                                                    </item>
                                                                </item>
                                                            </item>
                                                        </item>
                                                        <item name="afterMethods" xsi:type="array">
                                                            <item name="children" xsi:type="array">
                                                                <item name="discount" xsi:type="array">
                                                                    <item name="component" xsi:type="string">Mageplaza_Osc/js/view/payment/discount</item>
                                                                    <item name="config" xsi:type="array">
                                                                        <item name="template" xsi:type="string">Mageplaza_Osc/container/payment/discount</item>
                                                                        <item name="componentDisabled" xsi:type="helper" helper="Mageplaza\Osc\Helper\Data::disabledPaymentCoupon"/>
                                                                    </item>
                                                                </item>
                                                            </item>
                                                        </item>
                                                    </item>
                                                </item>
                                            </item>
                                        </item>
                                    </item>
                                </item>
                                <item name="sidebar" xsi:type="array">
                                    <item name="config" xsi:type="array">
                                        <item name="template" xsi:type="string">Mageplaza_Osc/container/sidebar</item>
                                    </item>
                                    <item name="children" xsi:type="array">
                                        <item name="summary" xsi:type="array">
                                            <item name="config" xsi:type="array">
                                                <item name="template" xsi:type="string">Mageplaza_Osc/container/summary</item>
                                            </item>
                                            <item name="children" xsi:type="array">
                                                <item name="itemsBefore" xsi:type="array">
                                                    <item name="sortOrder" xsi:type="string">5</item>
                                                </item>
                                                <item name="cart_items" xsi:type="array">
                                                    <item name="component" xsi:type="string">Mageplaza_Osc/js/view/summary/cart-items</item>
                                                    <item name="sortOrder" xsi:type="string">10</item>
                                                    <item name="config" xsi:type="array">
                                                        <item name="template" xsi:type="string">Mageplaza_Osc/container/summary/cart-items</item>
                                                        <item name="componentDisabled" xsi:type="helper" helper="Mageplaza\Osc\Helper\Data::isDisabledReviewCartSection"/>
                                                    </item>
                                                    <item name="children" xsi:type="array">
                                                        <item name="details" xsi:type="array">
                                                            <item name="component" xsi:type="string">Mageplaza_Osc/js/view/summary/item/details</item>
                                                            <item name="children" xsi:type="array">
                                                                <item name="thumbnail" xsi:type="array">
                                                                    <item name="config" xsi:type="array">
                                                                        <item name="componentDisabled" xsi:type="helper" helper="Mageplaza\Osc\Helper\Data::isHideProductImage"/>
                                                                    </item>
                                                                </item>
                                                            </item>
                                                        </item>
                                                    </item>
                                                </item>
                                                <item name="itemsAfter" xsi:type="array">
                                                    <item name="sortOrder" xsi:type="string">15</item>
                                                </item>
                                                <item name="totals" xsi:type="array">
                                                    <item name="sortOrder" xsi:type="string">20</item>
                                                    <item name="children" xsi:type="array">
                                                        <item name="before_grandtotal" xsi:type="array">
                                                            <item name="children" xsi:type="array">
                                                                <item name="osc_gift_wrap" xsi:type="array">
                                                                    <item name="component" xsi:type="string">Mageplaza_Osc/js/view/summary/gift-wrap</item>
                                                                    <item name="config" xsi:type="array">
                                                                        <item name="title" xsi:type="string" translate="true">Gift Wrap</item>
                                                                        <item name="componentDisabled" xsi:type="helper" helper="Mageplaza\Osc\Helper\Data::isDisabledGiftWrap"/>
                                                                    </item>
                                                                </item>
                                                            </item>
                                                        </item>
                                                    </item>
                                                </item>
                                            </item>
                                        </item>
                                        <item name="shipping-information" xsi:type="array">
                                            <item name="config" xsi:type="array">
                                                <item name="componentDisabled" xsi:type="boolean">true</item>
                                            </item>
                                        </item>
                                        <item name="place-order-information-left" xsi:type="array">
                                            <item name="component" xsi:type="string">uiComponent</item>
                                            <item name="displayArea" xsi:type="string">place-order-information-left</item>
                                            <item name="children" xsi:type="array">
                                                <item name="discount" xsi:type="array">
                                                    <item name="component" xsi:type="string">Mageplaza_Osc/js/view/payment/discount</item>
                                                    <item name="config" xsi:type="array">
                                                        <item name="componentDisabled" xsi:type="helper" helper="Mageplaza\Osc\Helper\Data::disabledReviewCoupon"/>
                                                    </item>
                                                    <item name="children" xsi:type="array">
                                                        <item name="errors" xsi:type="array">
                                                            <item name="sortOrder" xsi:type="string">0</item>
                                                            <item name="component" xsi:type="string">Magento_SalesRule/js/view/payment/discount-messages</item>
                                                            <item name="displayArea" xsi:type="string">messages</item>
                                                        </item>
                                                    </item>
                                                </item>
                                                <item name="addition-information" xsi:type="array">
                                                    <item name="component" xsi:type="string">Mageplaza_Osc/js/view/review/addition</item>
                                                    <item name="sortOrder" xsi:type="string">20</item>
                                                    <item name="children" xsi:type="array">
                                                        <!-- Add more component here -->
                                                        <item name="newsletter" xsi:type="array">
                                                            <item name="component" xsi:type="string">Mageplaza_Osc/js/view/review/addition/newsletter</item>
                                                            <item name="sortOrder" xsi:type="string">20</item>
                                                            <item name="config" xsi:type="array">
                                                                <item name="componentDisabled" xsi:type="helper" helper="Mageplaza\Osc\Helper\Data::isDisabledNewsletter"/>
                                                            </item>
                                                        </item>
                                                        <item name="gift_wrap" xsi:type="array">
                                                            <item name="component" xsi:type="string">Mageplaza_Osc/js/view/review/addition/gift-wrap</item>
                                                            <item name="sortOrder" xsi:type="string">30</item>
                                                            <item name="config" xsi:type="array">
                                                                <item name="componentDisabled" xsi:type="helper" helper="Mageplaza\Osc\Helper\Data::isDisabledGiftWrap"/>
                                                            </item>
                                                        </item>
                                                        <item name="gift-message" xsi:type="array">
                                                            <item name="component" xsi:type="string">Mageplaza_Osc/js/view/review/addition/gift-message</item>
                                                            <item name="sortOrder" xsi:type="string">40</item>
                                                            <item name="config" xsi:type="array">
                                                                <item name="componentDisabled" xsi:type="helper" helper="Mageplaza\Osc\Helper\Data::isDisabledGiftMessage"/>
                                                            </item>
                                                        </item>
                                                    </item>
                                                </item>
                                            </item>
                                        </item>
                                        <item name="place-order-information-right" xsi:type="array">
                                            <item name="component" xsi:type="string">uiComponent</item>
                                            <item name="displayArea" xsi:type="string">place-order-information-right</item>
                                            <item name="children" xsi:type="array">
                                                <item name="place-order-button" xsi:type="array">
                                                    <item name="component" xsi:type="string">Mageplaza_Osc/js/view/review/placeOrder</item>
                                                    <item name="children" xsi:type="array">
                                                        <item name="agreements" xsi:type="array">
                                                            <item name="component" xsi:type="string">Mageplaza_Osc/js/view/review/checkout-agreements</item>
                                                            <item name="config" xsi:type="array">
                                                                <item name="componentDisabled" xsi:type="helper" helper="Mageplaza\Osc\Helper\Data::disabledReviewTOC"/>
                                                            </item>
                                                            <item name="displayArea" xsi:type="string">checkout-agreements</item>
                                                            <item name="dataScope" xsi:type="string">checkoutAgreements</item>
                                                            <item name="provider" xsi:type="string">checkoutProvider</item>
                                                        </item>
                                                    </item>
                                                </item>
                                                <item name="osc-payment-list" xsi:type="array">
                                                    <item name="component" xsi:type="string">Mageplaza_Osc/js/view/payment/list</item>
                                                    <item name="displayArea" xsi:type="string">payment-methods-list</item>
                                                    <item name="config" xsi:type="array">
                                                        <item name="componentDisabled" xsi:type="helper" helper="Mageplaza\Osc\Helper\Data::checkVersion"/>
                                                        <item name="deps" xsi:type="array">
                                                            <item name="0" xsi:type="string">checkout.steps.billing-step.payment.renders</item>
                                                            <item name="1" xsi:type="string">checkout.steps.billing-step.payment.additional-payment-validators</item>
                                                        </item>
                                                    </item>
                                                    <item name="children" xsi:type="array">
                                                        <item name="before-place-order" xsi:type="array">
                                                            <item name="component" xsi:type="string">uiComponent</item>
                                                            <item name="displayArea" xsi:type="string">before-place-order</item>
                                                            <item name="dataScope" xsi:type="string">before-place-order</item>
                                                            <item name="provider" xsi:type="string">checkoutProvider</item>
                                                            <item name="config" xsi:type="array">
                                                                <item name="template" xsi:type="string">Magento_Checkout/payment/before-place-order</item>
                                                            </item>
                                                        </item>
                                                    </item>
                                                </item>
                                            </item>
                                        </item>
                                    </item>
                                </item>
                            </item>
                        </item>
                    </item>
                </argument>
            </arguments>
        </referenceBlock>
        <attribute name="class" value="checkout-index-index"/>
        <referenceBlock name="head.additional">
            <block class="Mageplaza\Osc\Block\Design" name="osc.design" as="osc.generator.css" template="design.phtml"/>
        </referenceBlock>
        <referenceBlock name="page.main.title">
            <block class="Mageplaza\Osc\Block\Container" name="page.main.description" template="description.phtml"/>
        </referenceBlock>
        <referenceContainer name="columns.top">
            <container name="page.messages.osc" htmlTag="div" htmlClass="page messages">
                <block class="Magento\Framework\View\Element\Template" name="ajax.message.placeholder.osc" template="Magento_Theme::html/messages.phtml"/>
                <block class="Magento\Framework\View\Element\Messages" name="messages.osc" as="messages.osc" template="Magento_Theme::messages.phtml"/>
            </container>
        </referenceContainer>
    </body>
</page>