<?xml version="1.0" ?>
<!--
/**
 * Hyvä Themes - https://hyva.io
 * Copyright © Hyvä Themes. All rights reserved.
 * See COPYING.txt for license details.
 */
-->
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">

    <!-- Add product item template to all pages so can be used by Page Builder product grid/carousel -->
    <update handle="catalog_list_item"/>

    <body>
        <!-- Add ID to body tag to enable inline Page Builder styles -->
        <attribute name="id" value="html-body"/>

        <!-- Global carousel nav block - only output when referenced within other blocks -->
        <block name="pagebuilder.carousel.nav"
               template="Magento_PageBuilder::carousel-nav.phtml"/>

        <!-- Render JS templates depending on PageBuilder CMS content rendered on a page -->
        <referenceBlock name="page-js-dependencies">
            <arguments>
                <argument name="blockOutputPatternMap" xsi:type="array">
                    <item name="page_builder.buttons" xsi:type="array">
                        <item name="regex" xsi:type="string">/data-content-type="buttons"[^>]+data-same-width="true"/</item>
                        <item name="template" xsi:type="string">Magento_PageBuilder::widgets/buttons.phtml</item>
                    </item>
                    <item name="page_builder.carousel" xsi:type="array">
                        <item name="regex" xsi:type="string">/data-appearance="carousel"|data-content-type="slider"/</item>
                        <item name="template" xsi:type="string">Magento_PageBuilder::widgets/carousel.phtml</item>
                    </item>
                    <item name="page_builder.map" xsi:type="array">
                        <item name="regex" xsi:type="string">/data-content-type="map"/</item>
                        <item name="template" xsi:type="string">Magento_PageBuilder::widgets/map.phtml</item>
                    </item>
                    <item name="page_builder.parallax" xsi:type="array">
                        <item name="regex" xsi:type="string">/data-enable-parallax="1"|data-background-type="video"/</item>
                        <item name="template" xsi:type="string">Magento_PageBuilder::widgets/parallax.phtml</item>
                    </item>
                    <item name="page_builder.show.on.hover" xsi:type="array">
                        <item name="regex" xsi:type="string">/data-content-type="banner"|data-content-type="slider"/</item>
                        <item name="template" xsi:type="string">Magento_PageBuilder::widgets/show-on-hover.phtml</item>
                    </item>
                    <item name="page_builder.tabs" xsi:type="array">
                        <item name="regex" xsi:type="string">/data-content-type="tabs"|data-content-type="tab-item"/</item>
                        <item name="template" xsi:type="string">Magento_PageBuilder::widgets/tabs.phtml</item>
                    </item>
                    <item name="page_builder.background-images" xsi:type="array">
                        <item name="regex" xsi:type="string">/data-background-lazy-load="true"/</item>
                        <item name="template" xsi:type="string">Magento_PageBuilder::widgets/background-image-lazy-load.phtml</item>
                    </item>
                </argument>
            </arguments>
        </referenceBlock>
    </body>
</page>
