<?xml version="1.0"?>
<!--
/**
 * BSS Commerce Co.
 *
 * NOTICE OF LICENSE
 *
 * This source file is subject to the EULA
 * that is bundled with this package in the file LICENSE.txt.
 * It is also available through the world-wide-web at this URL:
 * http://bsscommerce.com/Bss-Commerce-License.txt
 *
 * @category   BSS
 * @package    Bss_QuoteExtension
 * @author     Extension Team
 * @copyright  Copyright (c) 2018-2019 BSS Commerce Co. ( http://bsscommerce.com )
 * @license    http://bsscommerce.com/Bss-Commerce-License.txt
 */
-->
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="2columns-left" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <update handle="customer_account"/>
    <update handle="quoteextension_item_price_renderers"/>
    <update handle="quoteextension_quote_checkout"/>
    <body>
        <referenceContainer name="page.main.title">
            <block class="Bss\QuoteExtension\Block\QuoteExtension\View\Info" name="quoteextension_status" template="quoteextension/view/status.phtml" before="-"/>
            <block class="Bss\QuoteExtension\Block\QuoteExtension\View\Info" name="quoteextension_date" template="quoteextension/view/date.phtml" after="quoteextension_status"/>
            <block class="Bss\QuoteExtension\Block\QuoteExtension\View\Action" name="quoteextension_actions" template="quoteextension/view/actions.phtml" after="quoteextension_date">
                <block class="Bss\QuoteExtension\Block\QuoteExtension\View\Action" name="quoteextension_checkout" template="quoteextension/view/actions/checkout.phtml" before="-">
                    <arguments>
                        <argument name="view_model" xsi:type="object">Bss\QuoteExtension\ViewModel\CompatibleCompanyAccount</argument>
                    </arguments>
                </block>
                <block class="Bss\QuoteExtension\Block\QuoteExtension\View\Action" name="quoteextension_print" template="quoteextension/view//actions/print.phtml" after="quoteextension_checkout"/>
                <block class="Bss\QuoteExtension\Block\QuoteExtension\View\Action" name="quoteextension_cancel" template="quoteextension/view/actions/cancel.phtml" after="quoteextension_print"/>
                <block class="Bss\QuoteExtension\Block\QuoteExtension\View\Action" name="quoteextension_delete" template="quoteextension/view/actions/delete.phtml" after="quoteextension_cancel"/>
            </block>
        </referenceContainer>
        <referenceContainer name="content">
            <block class="Bss\QuoteExtension\Block\QuoteExtension\View" name="quoteextension.quote.form" as="cart-items" template="quoteextension/view.phtml" after="cart.summary">
                <block class="Magento\Framework\View\Element\RendererList" name="quoteextension.quote.item.renderers" as="renderer.list">
                    <block class="Bss\QuoteExtension\Block\QuoteExtension\Quote\Item\Renderer" name="quoteextension.item.renderer.simple" as="simple" template="Bss_QuoteExtension::quoteextension/view/item/default.phtml"/>
                    <block class="Bss\QuoteExtension\Block\QuoteExtension\Quote\Item\Renderer" name="quoteextension.item.renderer.default" as="default" template="Bss_QuoteExtension::quoteextension/view/item/default.phtml"/>
                    <block class="Magento\Downloadable\Block\Checkout\Cart\Item\Renderer" name="downloadable.product.links" template="Magento_Downloadable::checkout/links.phtml"/>
                    <block class="Bss\QuoteExtension\Block\Cart\Item\Renderer\Configurable" name="quoteextension.item.renderer.configurable" as="configurable" template="Bss_QuoteExtension::quoteextension/view/item/default.phtml"/>
                    <block class="Bss\QuoteExtension\Block\Cart\Item\Renderer\Bundle" name="quoteextension.item.renderer.bundle" as="bundle" template="Bss_QuoteExtension::quoteextension/view/item/default.phtml"/>
                    <block class="Bss\QuoteExtension\Block\Cart\Item\Renderer\Grouped" name="quoteextension.item.renderer.grouped" as="grouped" template="Bss_QuoteExtension::quoteextension/view/item/default.phtml"/>
                </block>
                <block class="Bss\QuoteExtension\Block\QuoteExtension\Totals" name="quote_totals" template="Magento_Sales::order/totals.phtml">
                        <arguments>
                            <argument name="label_properties" xsi:type="string">colspan="3" class="mark"</argument>
                            <argument name="value_properties" xsi:type="string">class="amount"</argument>
                        </arguments>
                        <block class="Bss\QuoteExtension\Block\QuoteExtension\Tax" name="tax" template="Bss_QuoteExtension::quoteextension/view/tax.phtml"/>
                    </block>
                <block class="Bss\QuoteExtension\Block\QuoteExtension\View\Address" name="quoteextension.quote.submit" template="Bss_QuoteExtension::quoteextension/view/shipping.phtml">
                    <arguments>
                        <argument name="jsLayout" xsi:type="array">
                            <item name="types" xsi:type="array">
                                <item name="form.input" xsi:type="array">
                                    <item name="component" xsi:type="string">Magento_Ui/js/form/element/abstract</item>
                                    <item name="config" xsi:type="array">
                                        <item name="provider" xsi:type="string">checkoutProvider</item>
                                        <item name="deps" xsi:type="array">
                                            <item name="0" xsi:type="string">checkoutProvider</item>
                                        </item>
                                        <item name="template" xsi:type="string">ui/form/field</item>
                                        <item name="elementTmpl" xsi:type="string">ui/form/element/input</item>
                                    </item>
                                </item>
                            </item>
                            <item name="components" xsi:type="array">
                                <item name="block-submit" xsi:type="array">
                                    <item name="component" xsi:type="string">uiComponent</item>
                                    <item name="displayArea" xsi:type="string">submit</item>
                                    <item name="sortOrder" xsi:type="string">999</item>
                                    <item name="config" xsi:type="array">
                                        <item name="template" xsi:type="string">Bss_QuoteExtension/quote-submit/view/onepage</item>
                                    </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_Ui/js/view/messages</item>
                                            <item name="displayArea" xsi:type="string">messages</item>
                                        </item>
                                        <item name="steps" xsi:type="array">
                                            <item name="component" xsi:type="string">uiComponent</item>
                                            <item name="displayArea" xsi:type="string">steps</item>
                                            <item name="children" xsi:type="array">
                                                <item name="shipping-step" xsi:type="array">
                                                    <item name="component" xsi:type="string">uiComponent</item>
                                                    <item name="sortOrder" xsi:type="string">100</item>
                                                    <item name="children" xsi:type="array">
                                                        <item name="step-config" xsi:type="array">
                                                            <item name="component" xsi:type="string">uiComponent</item>
                                                            <item name="children" xsi:type="array">
                                                                <item name="shipping-rates-validation" xsi:type="array">
                                                                    <item name="children" xsi:type="array">
                                                                        <item name="freeshipping-rates-validation" xsi:type="array">
                                                                            <item name="component" xsi:type="string">Magento_OfflineShipping/js/view/shipping-rates-validation/freeshipping</item>
                                                                        </item>
                                                                        <item name="flatrate-rates-validation" xsi:type="array">
                                                                            <item name="component" xsi:type="string">Magento_OfflineShipping/js/view/shipping-rates-validation/flatrate</item>
                                                                        </item>
                                                                        <item name="tablerate-rates-validation" xsi:type="array">
                                                                            <item name="component" xsi:type="string">Magento_OfflineShipping/js/view/shipping-rates-validation/tablerate</item>
                                                                        </item>
                                                                        <item name="dhl-rates-validation" xsi:type="array">
                                                                            <item name="component" xsi:type="string">Magento_Dhl/js/view/shipping-rates-validation</item>
                                                                        </item>
                                                                        <item name="fedex-rates-validation" xsi:type="array">
                                                                            <item name="component" xsi:type="string">Magento_Fedex/js/view/shipping-rates-validation</item>
                                                                        </item>
                                                                        <item name="ups-rates-validation" xsi:type="array">
                                                                            <item name="component" xsi:type="string">Magento_Ups/js/view/shipping-rates-validation</item>
                                                                        </item>
                                                                    </item>
                                                                </item>
                                                            </item>
                                                        </item>
                                                        <item name="shippingAddress" xsi:type="array">
                                                            <item name="config" xsi:type="array">
                                                                <!--<item name="deps" xsi:type="array">-->
                                                                <!--<item name="0" xsi:type="string">checkout.steps.shipping-step.step-config</item>-->
                                                                <!--<item name="1" xsi:type="string">checkoutProvider</item>-->
                                                                <!--</item>-->
                                                                <item name="popUpForm" xsi:type="array">
                                                                    <item name="element" xsi:type="string">#opc-new-shipping-address</item>
                                                                    <item name="options" xsi:type="array">
                                                                        <item name="type" xsi:type="string">popup</item>
                                                                        <item name="responsive" xsi:type="boolean">true</item>
                                                                        <item name="innerScroll" xsi:type="boolean">true</item>
                                                                        <item name="title" xsi:type="string" translate="true">Shipping Address</item>
                                                                        <item name="trigger" xsi:type="string">opc-new-shipping-address</item>
                                                                        <item name="buttons" xsi:type="array">
                                                                            <item name="save" xsi:type="array">
                                                                                <item name="text" xsi:type="string" translate="true">Save Address</item>
                                                                                <item name="class" xsi:type="string">action primary action-save-address</item>
                                                                            </item>
                                                                            <item name="cancel" xsi:type="array">
                                                                                <item name="text" xsi:type="string" translate="true">Cancel</item>
                                                                                <item name="class" xsi:type="string">action secondary action-hide-popup</item>
                                                                            </item>
                                                                        </item>
                                                                    </item>
                                                                </item>
                                                            </item>
                                                            <item name="component" xsi:type="string">Bss_QuoteExtension/js/quote-submit/view/shipping</item>
                                                            <item name="template" xsi:type="string">Bss_QuoteExtension/quote-view/view/shipping</item>
                                                            <item name="provider" xsi:type="string">checkoutProvider</item>
                                                            <item name="sortOrder" xsi:type="string">50</item>
                                                            <item name="children" xsi:type="array">
                                                                <item name="remarks" xsi:type="array">
                                                                    <item name="component" xsi:type="string">Magento_Tax/js/view/checkout/shipping_method/price</item>
                                                                    <item name="displayArea" xsi:type="string">price</item>
                                                                </item>
                                                                <item name="before-form" xsi:type="array">
                                                                    <item name="component" xsi:type="string">uiComponent</item>
                                                                    <item name="displayArea" xsi:type="string">before-form</item>
                                                                    <item name="children" xsi:type="array">
                                                                        <!-- before form fields -->
                                                                    </item>
                                                                </item>
                                                                <item name="before-fields" xsi:type="array">
                                                                    <item name="component" xsi:type="string">uiComponent</item>
                                                                    <item name="displayArea" xsi:type="string">before-fields</item>
                                                                    <item name="children" xsi:type="array">
                                                                        <!-- before fields -->
                                                                    </item>
                                                                </item>
                                                                <item name="address-list" xsi:type="array">
                                                                    <item name="component" xsi:type="string">Bss_QuoteExtension/js/quote-view/view/shipping-address/list</item>
                                                                    <item name="displayArea" xsi:type="string">address-list</item>
                                                                </item>
                                                                <item name="address-list-additional-addresses" xsi:type="array">
                                                                    <item name="component" xsi:type="string">uiComponent</item>
                                                                    <item name="displayArea" xsi:type="string">address-list-additional-addresses</item>
                                                                    <item name="children" xsi:type="array">
                                                                        <!-- address-list-additional-addresses -->
                                                                    </item>
                                                                </item>
                                                                <item name="before-shipping-method-form" xsi:type="array">
                                                                    <item name="component" xsi:type="string">uiComponent</item>
                                                                    <item name="displayArea" xsi:type="string">before-shipping-method-form</item>
                                                                    <item name="children" xsi:type="array">
                                                                        <!-- address-list-additional-addresses -->
                                                                    </item>
                                                                </item>
                                                                <item name="shipping-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">Magento_Ui/js/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">shippingAddress.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>
                                        </item>
                                    </item>
                                </item>
                                <item name="checkoutProvider" xsi:type="array">
                                    <item name="component" xsi:type="string">uiComponent</item>
                                </item>
                            </item>
                        </argument>
                    </arguments>
                </block>
            </block>
            <block class="Magento\Customer\Block\Account\Dashboard" name="customer.account.link.back" template="account/link/back.phtml" cacheable="false"/>
        </referenceContainer>
        <block class="Magento\Checkout\Block\Cart\Additional\Info" name="additional.product.info" template="cart/additional/info.phtml">
            <block class="Bss\QuoteExtension\Block\QuoteExtension\Quote\Item\Renderer\DefaultRenderer" name="quoteextension.product.comment" template="Bss_QuoteExtension::quoteextension/view/item/comment.phtml"/>
        </block>
    </body>
</page>
