<?xml version="1.0" encoding="UTF-8"?>
<form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Ui:etc/ui_configuration.xsd">
    <argument name="data" xsi:type="array">
        <item name="js_config" xsi:type="array">
            <item name="provider" xsi:type="string">autogedal_label_form.autogedal_label_form_data_source</item>
        </item>
        <item name="label" xsi:type="string" translate="true">Label</item>
        <item name="template" xsi:type="string">templates/form/collapsible</item>
    </argument>
    <settings>
        <buttons>
            <button name="back" class="Autogedal\Labels\Block\Adminhtml\Label\Edit\BackButton"/>
            <button name="delete" class="Autogedal\Labels\Block\Adminhtml\Label\Edit\DeleteButton"/>
            <button name="reset" class="Autogedal\Labels\Block\Adminhtml\Label\Edit\ResetButton"/>
            <button name="save" class="Autogedal\Labels\Block\Adminhtml\Label\Edit\SaveButton"/>
            <button name="save_and_continue" class="Autogedal\Labels\Block\Adminhtml\Label\Edit\SaveAndContinueButton"/>
        </buttons>
        <namespace>autogedal_label_form</namespace>
        <dataScope>data</dataScope>
        <deps>
            <dep>autogedal_label_form.autogedal_label_form_data_source</dep>
        </deps>
    </settings>
    <dataSource name="autogedal_label_form_data_source">
        <argument name="data" xsi:type="array">
            <item name="js_config" xsi:type="array">
                <item name="component" xsi:type="string">Magento_Ui/js/form/provider</item>
            </item>
        </argument>
        <settings>
            <submitUrl path="autogedal_labels/label/save"/>
        </settings>
        <dataProvider class="Autogedal\Labels\Ui\DataProvider\Label\Form\DataProvider"
                      name="autogedal_label_form_data_source">
            <settings>
                <requestFieldName>label_id</requestFieldName>
                <primaryFieldName>label_id</primaryFieldName>
            </settings>
        </dataProvider>
    </dataSource>
    <fieldset name="general" sortOrder="10">
        <settings>
            <collapsible>false</collapsible>
            <label translate="true">General</label>
        </settings>
        <field name="label_id" formElement="input">
            <settings>
                <dataType>text</dataType>
                <visible>false</visible>
            </settings>
        </field>
        <field name="name" sortOrder="10" formElement="input">
            <settings>
                <dataType>text</dataType>
                <label translate="true">Name</label>
                <validation>
                    <rule name="required-entry" xsi:type="boolean">true</rule>
                </validation>
            </settings>
        </field>
        <field name="is_active" sortOrder="20" formElement="select">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="default" xsi:type="number">0</item>
                </item>
            </argument>
            <settings>
                <dataType>boolean</dataType>
                <label translate="true">Active</label>
                <validation>
                    <rule name="required-entry" xsi:type="boolean">true</rule>
                </validation>
            </settings>
            <formElements>
                <select>
                    <settings>
                        <options class="Magento\Config\Model\Config\Source\Yesno"/>
                    </settings>
                </select>
            </formElements>
        </field>
        <field name="pos" sortOrder="30" formElement="input">
            <settings>
                <dataType>text</dataType>
                <label translate="true">Position</label>
                <validation>
                    <rule name="required-entry" xsi:type="boolean">true</rule>
                </validation>
            </settings>
        </field>
        <field name="is_single" sortOrder="40" formElement="select">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="default" xsi:type="number">0</item>
                </item>
            </argument>
            <settings>
                <dataType>boolean</dataType>
                <label translate="true">Single (hide lower priority labels)</label>
            </settings>
            <formElements>
                <select>
                    <settings>
                        <options class="Magento\Config\Model\Config\Source\Yesno"/>
                    </settings>
                </select>
            </formElements>
        </field>
        <field name="stores" sortOrder="50" formElement="multiselect">
            <settings>
                <dataType>text</dataType>
                <label translate="true">Stores</label>
                <componentType>multiselect</componentType>
                <notice translate="true">Select the store views where this label should be visible. Leave empty or select All Store Views to make it global.</notice>
            </settings>
            <formElements>
                <multiselect>
                    <settings>
                        <options class="Magento\Store\Model\System\Store"/>
                    </settings>
                </multiselect>
            </formElements>
        </field>
    </fieldset>
    <fieldset name="product_display" sortOrder="20">
        <settings>
            <collapsible>true</collapsible>
            <label translate="true">Label Display Options</label>
        </settings>
        <field name="prod_txt" sortOrder="10" formElement="input">
            <settings>
                <dataType>text</dataType>
                <label translate="true">Product Text</label>
                <notice translate="true">Variables: {PRICE}, {SPECIAL_PRICE}, {FINAL_PRICE}, {SAVE_PERCENT}, {SAVE_AMOUNT}, {ATTR:code}, {SKU}, {STOCK}, {BR}, {NEW_FOR}, {SPDL}, {SPHL}</notice>
            </settings>
        </field>
        <field name="prod_img" sortOrder="20" formElement="imageUploader">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="source" xsi:type="string">label</item>
                </item>
            </argument>
            <settings>
                <elementTmpl>ui/form/element/uploader/image</elementTmpl>
                <dataType>string</dataType>
                <label translate="true">Product Image</label>
                <notice translate="true">Image stored under pub/media/autogedal_label</notice>
                <visible>true</visible>
            </settings>
            <formElements>
                <imageUploader>
                    <settings>
                        <required>false</required>
                        <uploaderConfig>
                            <param xsi:type="url" name="url" path="autogedal_labels/label_image/upload"/>
                        </uploaderConfig>
                        <previewTmpl>Magento_Catalog/image-preview</previewTmpl>
                        <allowedExtensions>jpg jpeg gif png svg</allowedExtensions>
                    </settings>
                </imageUploader>
            </formElements>
        </field>
        <field name="prod_shape" sortOrder="25" formElement="select" component="Magento_PageBuilder/js/form/element/visual-select">
            <settings>
                <dataType>text</dataType>
                <label translate="true">Product Shape</label>
                <notice translate="true">Choose a built-in SVG shape or leave blank to keep the uploaded image.</notice>
                <elementTmpl>Magento_PageBuilder/form/element/visual-select</elementTmpl>
                <additionalClasses>
                    <class name="admin__field-visual-select-container">true</class>
                </additionalClasses>
            </settings>
            <formElements>
                <select>
                    <settings>
                        <options class="Autogedal\Labels\Model\Config\Source\Shape"/>
                    </settings>
                </select>
            </formElements>
        </field>
        <field name="prod_label_color" sortOrder="30" formElement="input">
            <settings>
                <dataType>text</dataType>
                <label translate="true">Product Label Color</label>
                <notice translate="true">Hex color used to recolor SVG product images, for example #FF0000.</notice>
                <placeholder translate="true">#FF0000</placeholder>
            </settings>
        </field>
        <field name="prod_pos" sortOrder="40" formElement="select">
            <settings>
                <dataType>number</dataType>
                <label translate="true">Product Position</label>
                <validation>
                    <rule name="required-entry" xsi:type="boolean">true</rule>
                </validation>
            </settings>
            <formElements>
                <select>
                    <settings>
                        <options>
                            <option name="prod_top_left" xsi:type="array">
                                <item name="label" xsi:type="string" translate="true">Top Left</item>
                                <item name="value" xsi:type="number">0</item>
                            </option>
                            <option name="prod_top_center" xsi:type="array">
                                <item name="label" xsi:type="string" translate="true">Top Center</item>
                                <item name="value" xsi:type="number">1</item>
                            </option>
                            <option name="prod_top_right" xsi:type="array">
                                <item name="label" xsi:type="string" translate="true">Top Right</item>
                                <item name="value" xsi:type="number">2</item>
                            </option>
                            <option name="prod_middle_left" xsi:type="array">
                                <item name="label" xsi:type="string" translate="true">Middle Left</item>
                                <item name="value" xsi:type="number">3</item>
                            </option>
                            <option name="prod_middle_center" xsi:type="array">
                                <item name="label" xsi:type="string" translate="true">Middle Center</item>
                                <item name="value" xsi:type="number">4</item>
                            </option>
                            <option name="prod_middle_right" xsi:type="array">
                                <item name="label" xsi:type="string" translate="true">Middle Right</item>
                                <item name="value" xsi:type="number">5</item>
                            </option>
                            <option name="prod_bottom_left" xsi:type="array">
                                <item name="label" xsi:type="string" translate="true">Bottom Left</item>
                                <item name="value" xsi:type="number">6</item>
                            </option>
                            <option name="prod_bottom_center" xsi:type="array">
                                <item name="label" xsi:type="string" translate="true">Bottom Center</item>
                                <item name="value" xsi:type="number">7</item>
                            </option>
                            <option name="prod_bottom_right" xsi:type="array">
                                <item name="label" xsi:type="string" translate="true">Bottom Right</item>
                                <item name="value" xsi:type="number">8</item>
                            </option>
                        </options>
                    </settings>
                </select>
            </formElements>
        </field>
        <field name="prod_style" sortOrder="50" formElement="textarea">
            <settings>
                <dataType>text</dataType>
                <label translate="true">Product Inline CSS</label>
            </settings>
        </field>
        <field name="prod_text_style" sortOrder="60" formElement="textarea">
            <settings>
                <dataType>text</dataType>
                <label translate="true">Product Text Style</label>
            </settings>
        </field>
        <field name="prod_image_width" sortOrder="70" formElement="input">
            <settings>
                <dataType>text</dataType>
                <label translate="true">Product Image Width</label>
            </settings>
        </field>
        <field name="prod_image_height" sortOrder="80" formElement="input">
            <settings>
                <dataType>text</dataType>
                <label translate="true">Product Image Height</label>
            </settings>
        </field>
    </fieldset>
    <fieldset name="conditions" sortOrder="40">
        <settings>
            <collapsible>true</collapsible>
            <label translate="true">Conditions</label>
        </settings>
        <field name="is_new" sortOrder="10" formElement="select">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="source" xsi:type="string">label</item>
                    <item name="default" xsi:type="number">0</item>
                </item>
            </argument>
            <settings>
                <dataType>number</dataType>
                <label translate="true">Product Age</label>
                <notice translate="true">Choose whether this label should apply only to new products, only to old products, or to any product.</notice>
                <dataScope>is_new</dataScope>
            </settings>
            <formElements>
                <select>
                    <settings>
                        <options>
                            <option name="new_any" xsi:type="array">
                                <item name="label" xsi:type="string" translate="true">Any</item>
                                <item name="value" xsi:type="number">0</item>
                            </option>
                            <option name="new_no" xsi:type="array">
                                <item name="label" xsi:type="string" translate="true">No</item>
                                <item name="value" xsi:type="number">1</item>
                            </option>
                            <option name="new_yes" xsi:type="array">
                                <item name="label" xsi:type="string" translate="true">Yes</item>
                                <item name="value" xsi:type="number">2</item>
                            </option>
                        </options>
                    </settings>
                </select>
            </formElements>
        </field>
        <field name="is_sale" sortOrder="20" formElement="select">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="source" xsi:type="string">label</item>
                    <item name="default" xsi:type="number">0</item>
                </item>
            </argument>
            <settings>
                <dataType>number</dataType>
                <label translate="true">Sale Price Condition</label>
                <notice translate="true">Choose whether this label should apply only to discounted products, only to full-price products, or to any product.</notice>
                <dataScope>is_sale</dataScope>
                <switcherConfig>
                    <component>Autogedal_Labels/js/form/switcher</component>
                    <enabled>true</enabled>
                    <rules>
                        <rule name="0">
                            <value>0</value>
                            <actions>
                                <action name="0">
                                    <target>autogedal_label_form.autogedal_label_form.conditions.special_price_only</target>
                                    <callback>hide</callback>
                                </action>
                            </actions>
                        </rule>
                        <rule name="1">
                            <value>1</value>
                            <actions>
                                <action name="0">
                                    <target>autogedal_label_form.autogedal_label_form.conditions.special_price_only</target>
                                    <callback>hide</callback>
                                </action>
                            </actions>
                        </rule>
                        <rule name="2">
                            <value>2</value>
                            <actions>
                                <action name="0">
                                    <target>autogedal_label_form.autogedal_label_form.conditions.special_price_only</target>
                                    <callback>show</callback>
                                </action>
                            </actions>
                        </rule>
                    </rules>
                </switcherConfig>
            </settings>
            <formElements>
                <select>
                    <settings>
                        <options>
                            <option name="sale_any" xsi:type="array">
                                <item name="label" xsi:type="string" translate="true">Any</item>
                                <item name="value" xsi:type="number">0</item>
                            </option>
                            <option name="sale_no" xsi:type="array">
                                <item name="label" xsi:type="string" translate="true">No</item>
                                <item name="value" xsi:type="number">1</item>
                            </option>
                            <option name="sale_yes" xsi:type="array">
                                <item name="label" xsi:type="string" translate="true">Yes</item>
                                <item name="value" xsi:type="number">2</item>
                            </option>
                        </options>
                    </settings>
                </select>
            </formElements>
        </field>
        <field name="special_price_only" sortOrder="30" formElement="select">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="source" xsi:type="string">label</item>
                    <item name="default" xsi:type="number">0</item>
                </item>
            </argument>
            <settings>
                <dataType>boolean</dataType>
                <label translate="true">Require Discounted Price</label>
                <notice translate="true">Only relevant when Sale Price Condition is Yes. The label will show only if the product has a lower special price.</notice>
                <visible>false</visible>
                <dataScope>special_price_only</dataScope>
            </settings>
            <formElements>
                <select>
                    <settings>
                        <options class="Magento\Config\Model\Config\Source\Yesno"/>
                    </settings>
                </select>
            </formElements>
        </field>
        <field name="include_type" sortOrder="40" formElement="select">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="source" xsi:type="string">label</item>
                    <item name="default" xsi:type="number">0</item>
                </item>
            </argument>
            <settings>
                <dataType>number</dataType>
                <label translate="true">SKU Filter</label>
                <validation>
                    <rule name="required-entry" xsi:type="boolean">true</rule>
                </validation>
                <dataScope>include_type</dataScope>
                <switcherConfig>
                    <component>Autogedal_Labels/js/form/switcher</component>
                    <enabled>true</enabled>
                    <rules>
                        <rule name="0">
                            <value>0</value>
                            <actions>
                                <action name="0">
                                    <target>autogedal_label_form.autogedal_label_form.conditions.include_sku</target>
                                    <callback>hide</callback>
                                </action>
                            </actions>
                        </rule>
                        <rule name="1">
                            <value>1</value>
                            <actions>
                                <action name="0">
                                    <target>autogedal_label_form.autogedal_label_form.conditions.include_sku</target>
                                    <callback>show</callback>
                                </action>
                            </actions>
                        </rule>
                        <rule name="2">
                            <value>2</value>
                            <actions>
                                <action name="0">
                                    <target>autogedal_label_form.autogedal_label_form.conditions.include_sku</target>
                                    <callback>show</callback>
                                </action>
                            </actions>
                        </rule>
                    </rules>
                </switcherConfig>
            </settings>
            <formElements>
                <select>
                    <settings>
                        <options>
                            <option name="include_all" xsi:type="array">
                                <item name="label" xsi:type="string" translate="true">
                                    No SKU Filter
                                </item>
                                <item name="value" xsi:type="number">0</item>
                            </option>
                            <option name="include_all_except" xsi:type="array">
                                <item name="label" xsi:type="string" translate="true">
                                    Exclude these SKUs
                                </item>
                                <item name="value" xsi:type="number">1</item>
                            </option>
                            <option name="include_skus_only" xsi:type="array">
                                <item name="label" xsi:type="string" translate="true">
                                    Include only these SKUs
                                </item>
                                <item name="value" xsi:type="number">2</item>
                            </option>
                        </options>
                    </settings>
                </select>
            </formElements>
        </field>
        <field name="include_sku" sortOrder="50" formElement="textarea">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="source" xsi:type="string">label</item>
                </item>
            </argument>
            <settings>
                <dataType>text</dataType>
                <label translate="true">SKU List</label>
                <notice translate="true">Use one SKU per comma-separated value. This field is used only for the two SKU modes.</notice>
                <visible>false</visible>
                <dataScope>include_sku</dataScope>
            </settings>
        </field>
        <field name="category_enabled" sortOrder="60" formElement="select">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="source" xsi:type="string">label</item>
                    <item name="default" xsi:type="number">0</item>
                </item>
            </argument>
            <settings>
                <dataType>boolean</dataType>
                <label translate="true">Limit by Category</label>
                <dataScope>category_enabled</dataScope>
                <switcherConfig>
                    <component>Autogedal_Labels/js/form/switcher</component>
                    <enabled>true</enabled>
                    <rules>
                        <rule name="0">
                            <value>0</value>
                            <actions>
                                <action name="0">
                                    <target>autogedal_label_form.autogedal_label_form.conditions.category</target>
                                    <callback>hide</callback>
                                </action>
                            </actions>
                        </rule>
                        <rule name="1">
                            <value>1</value>
                            <actions>
                                <action name="0">
                                    <target>autogedal_label_form.autogedal_label_form.conditions.category</target>
                                    <callback>show</callback>
                                </action>
                            </actions>
                        </rule>
                    </rules>
                </switcherConfig>
            </settings>
            <formElements>
                <select>
                    <settings>
                        <options class="Magento\Config\Model\Config\Source\Yesno"/>
                    </settings>
                </select>
            </formElements>
        </field>
        <field name="category" sortOrder="65" formElement="multiselect">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="source" xsi:type="string">label</item>
                </item>
            </argument>
            <settings>
                <dataType>text</dataType>
                <label translate="true">Included Categories</label>
                <componentType>multiselect</componentType>
                <visible>false</visible>
                <dataScope>category</dataScope>
            </settings>
            <formElements>
                <multiselect>
                    <settings>
                        <options class="Autogedal\Labels\Model\Config\Source\CategoryTree"/>
                    </settings>
                </multiselect>
            </formElements>
        </field>
        <field name="attr_code" sortOrder="70" formElement="select">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="source" xsi:type="string">label</item>
                </item>
            </argument>
            <settings>
                <dataType>text</dataType>
                <label translate="true">Filter Attribute</label>
                <dataScope>attr_code</dataScope>
            </settings>
            <formElements>
                <select>
                    <settings>
                        <options class="Autogedal\Labels\Model\Config\Source\ProductAttribute"/>
                    </settings>
                </select>
            </formElements>
        </field>
        <field name="attr_multi" sortOrder="80" formElement="select">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="source" xsi:type="string">label</item>
                    <item name="default" xsi:type="number">0</item>
                </item>
            </argument>
            <settings>
                <dataType>boolean</dataType>
                <label translate="true">Attribute Has Multiple Values</label>
                <dataScope>attr_multi</dataScope>
                <switcherConfig>
                    <component>Autogedal_Labels/js/form/switcher</component>
                    <enabled>true</enabled>
                    <rules>
                        <rule name="0">
                            <value>0</value>
                            <actions>
                                <action name="0">
                                    <target>autogedal_label_form.autogedal_label_form.conditions.attr_rule</target>
                                    <callback>hide</callback>
                                </action>
                            </actions>
                        </rule>
                        <rule name="1">
                            <value>1</value>
                            <actions>
                                <action name="0">
                                    <target>autogedal_label_form.autogedal_label_form.conditions.attr_rule</target>
                                    <callback>show</callback>
                                </action>
                            </actions>
                        </rule>
                    </rules>
                </switcherConfig>
            </settings>
            <formElements>
                <select>
                    <settings>
                        <options class="Magento\Config\Model\Config\Source\Yesno"/>
                    </settings>
                </select>
            </formElements>
        </field>
        <field name="attr_rule" sortOrder="90" formElement="select">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="source" xsi:type="string">label</item>
                    <item name="default" xsi:type="number">0</item>
                </item>
            </argument>
            <settings>
                <dataType>number</dataType>
                <label translate="true">Multi-value Match Rule</label>
                <notice translate="true">Use One of selected values for any match, or All selected values when the attribute has multiple values.</notice>
                <visible>false</visible>
                <dataScope>attr_rule</dataScope>
            </settings>
            <formElements>
                <select>
                    <settings>
                        <options>
                            <option name="attr_equals" xsi:type="array">
                                <item name="label" xsi:type="string" translate="true">One of selected values</item>
                                <item name="value" xsi:type="number">0</item>
                            </option>
                            <option name="attr_all" xsi:type="array">
                                <item name="label" xsi:type="string" translate="true">All selected values</item>
                                <item name="value" xsi:type="number">1</item>
                            </option>
                        </options>
                    </settings>
                </select>
            </formElements>
        </field>
        <field name="attr_value" sortOrder="100" formElement="input">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="source" xsi:type="string">label</item>
                    <item name="component" xsi:type="string">Autogedal_Labels/js/form/element/attribute-value</item>
                    <item name="elementTmpl" xsi:type="string">Autogedal_Labels/form/element/attribute-value</item>
                    <item name="optionsUrl" xsi:type="string">autogedal_labels/label/attributeOptions</item>
                </item>
            </argument>
            <settings>
                <dataType>text</dataType>
                <label translate="true">Matching Values</label>
                <dataScope>attr_value</dataScope>
            </settings>
        </field>
        <field name="product_stock_enabled" sortOrder="110" formElement="select">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="source" xsi:type="string">label</item>
                    <item name="default" xsi:type="number">0</item>
                </item>
            </argument>
            <settings>
                <dataType>boolean</dataType>
                <label translate="true">Limit by Stock</label>
                <dataScope>product_stock_enabled</dataScope>
                <switcherConfig>
                    <component>Autogedal_Labels/js/form/switcher</component>
                    <enabled>true</enabled>
                    <rules>
                        <rule name="0">
                            <value>0</value>
                            <actions>
                                <action name="0">
                                    <target>autogedal_label_form.autogedal_label_form.conditions.stock_less</target>
                                    <callback>hide</callback>
                                </action>
                                <action name="1">
                                    <target>autogedal_label_form.autogedal_label_form.conditions.stock_more</target>
                                    <callback>hide</callback>
                                </action>
                                <action name="2">
                                    <target>autogedal_label_form.autogedal_label_form.conditions.stock_status</target>
                                    <callback>hide</callback>
                                </action>
                            </actions>
                        </rule>
                        <rule name="1">
                            <value>1</value>
                            <actions>
                                <action name="0">
                                    <target>autogedal_label_form.autogedal_label_form.conditions.stock_less</target>
                                    <callback>show</callback>
                                </action>
                                <action name="1">
                                    <target>autogedal_label_form.autogedal_label_form.conditions.stock_more</target>
                                    <callback>show</callback>
                                </action>
                                <action name="2">
                                    <target>autogedal_label_form.autogedal_label_form.conditions.stock_status</target>
                                    <callback>show</callback>
                                </action>
                            </actions>
                        </rule>
                    </rules>
                </switcherConfig>
            </settings>
            <formElements>
                <select>
                    <settings>
                        <options class="Magento\Config\Model\Config\Source\Yesno"/>
                    </settings>
                </select>
            </formElements>
        </field>
        <field name="stock_status" sortOrder="120" formElement="select">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="source" xsi:type="string">label</item>
                    <item name="default" xsi:type="number">0</item>
                </item>
            </argument>
            <settings>
                <dataType>number</dataType>
                <label translate="true">Stock Status</label>
                <validation>
                    <rule name="required-entry" xsi:type="boolean">true</rule>
                </validation>
                <dataScope>stock_status</dataScope>
            </settings>
            <formElements>
                <select>
                    <settings>
                        <options>
                            <option name="stock_any" xsi:type="array">
                                <item name="label" xsi:type="string" translate="true">Any</item>
                                <item name="value" xsi:type="number">0</item>
                            </option>
                            <option name="stock_out" xsi:type="array">
                                <item name="label" xsi:type="string" translate="true">Out of Stock Only</item>
                                <item name="value" xsi:type="number">1</item>
                            </option>
                            <option name="stock_in" xsi:type="array">
                                <item name="label" xsi:type="string" translate="true">In Stock Only</item>
                                <item name="value" xsi:type="number">2</item>
                            </option>
                        </options>
                    </settings>
                </select>
            </formElements>
        </field>
        <field name="stock_less" sortOrder="130" formElement="input">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="source" xsi:type="string">label</item>
                </item>
            </argument>
            <settings>
                <dataType>text</dataType>
                <label translate="true">Hide When Stock Falls To</label>
                <visible>false</visible>
                <dataScope>stock_less</dataScope>
            </settings>
        </field>
        <field name="stock_more" sortOrder="140" formElement="input">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="source" xsi:type="string">label</item>
                </item>
            </argument>
            <settings>
                <dataType>text</dataType>
                <label translate="true">Hide When Stock Rises Above</label>
                <visible>false</visible>
                <dataScope>stock_more</dataScope>
            </settings>
        </field>
        <field name="date_range_enabled" sortOrder="150" formElement="select">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="source" xsi:type="string">label</item>
                    <item name="default" xsi:type="number">0</item>
                </item>
            </argument>
            <settings>
                <dataType>boolean</dataType>
                <label translate="true">Limit by Date</label>
                <dataScope>date_range_enabled</dataScope>
                <switcherConfig>
                    <component>Autogedal_Labels/js/form/switcher</component>
                    <enabled>true</enabled>
                    <rules>
                        <rule name="0">
                            <value>0</value>
                            <actions>
                                <action name="0">
                                    <target>autogedal_label_form.autogedal_label_form.conditions.from_date</target>
                                    <callback>hide</callback>
                                </action>
                                <action name="1">
                                    <target>autogedal_label_form.autogedal_label_form.conditions.from_time</target>
                                    <callback>hide</callback>
                                </action>
                                <action name="2">
                                    <target>autogedal_label_form.autogedal_label_form.conditions.to_date</target>
                                    <callback>hide</callback>
                                </action>
                                <action name="3">
                                    <target>autogedal_label_form.autogedal_label_form.conditions.to_time</target>
                                    <callback>hide</callback>
                                </action>
                            </actions>
                        </rule>
                        <rule name="1">
                            <value>1</value>
                            <actions>
                                <action name="0">
                                    <target>autogedal_label_form.autogedal_label_form.conditions.from_date</target>
                                    <callback>show</callback>
                                </action>
                                <action name="1">
                                    <target>autogedal_label_form.autogedal_label_form.conditions.from_time</target>
                                    <callback>show</callback>
                                </action>
                                <action name="2">
                                    <target>autogedal_label_form.autogedal_label_form.conditions.to_date</target>
                                    <callback>show</callback>
                                </action>
                                <action name="3">
                                    <target>autogedal_label_form.autogedal_label_form.conditions.to_time</target>
                                    <callback>show</callback>
                                </action>
                            </actions>
                        </rule>
                    </rules>
                </switcherConfig>
            </settings>
            <formElements>
                <select>
                    <settings>
                        <options class="Magento\Config\Model\Config\Source\Yesno"/>
                    </settings>
                </select>
            </formElements>
        </field>
        <field name="from_date" sortOrder="160" formElement="date">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="source" xsi:type="string">label</item>
                </item>
            </argument>
            <settings>
                <validation>
                    <rule name="validate-date" xsi:type="boolean">true</rule>
                </validation>
                <dataType>text</dataType>
                <label translate="true">Start Date</label>
                <visible>false</visible>
                <dataScope>from_date</dataScope>
            </settings>
        </field>
        <field name="from_time" sortOrder="170" formElement="input">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="source" xsi:type="string">label</item>
                </item>
            </argument>
            <settings>
                <dataType>text</dataType>
                <label translate="true">Start Time</label>
                <notice translate="true">Use HH:MM:SS, for example 15:32:00.</notice>
                <visible>false</visible>
                <dataScope>from_time</dataScope>
            </settings>
        </field>
        <field name="to_date" sortOrder="180" formElement="date">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="source" xsi:type="string">label</item>
                </item>
            </argument>
            <settings>
                <validation>
                    <rule name="validate-date" xsi:type="boolean">true</rule>
                </validation>
                <dataType>text</dataType>
                <label translate="true">End Date</label>
                <visible>false</visible>
                <dataScope>to_date</dataScope>
            </settings>
        </field>
        <field name="to_time" sortOrder="190" formElement="input">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="source" xsi:type="string">label</item>
                </item>
            </argument>
            <settings>
                <dataType>text</dataType>
                <label translate="true">End Time</label>
                <notice translate="true">Use HH:MM:SS, for example 23:59:59.</notice>
                <visible>false</visible>
                <dataScope>to_time</dataScope>
            </settings>
        </field>
        <field name="price_range_enabled" sortOrder="200" formElement="select">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="source" xsi:type="string">label</item>
                    <item name="default" xsi:type="number">0</item>
                </item>
            </argument>
            <settings>
                <dataType>boolean</dataType>
                <label translate="true">Limit by Price</label>
                <dataScope>price_range_enabled</dataScope>
                <switcherConfig>
                    <component>Autogedal_Labels/js/form/switcher</component>
                    <enabled>true</enabled>
                    <rules>
                        <rule name="0">
                            <value>0</value>
                            <actions>
                                <action name="0">
                                    <target>autogedal_label_form.autogedal_label_form.conditions.from_price</target>
                                    <callback>hide</callback>
                                </action>
                                <action name="1">
                                    <target>autogedal_label_form.autogedal_label_form.conditions.to_price</target>
                                    <callback>hide</callback>
                                </action>
                                <action name="2">
                                    <target>autogedal_label_form.autogedal_label_form.conditions.by_price</target>
                                    <callback>hide</callback>
                                </action>
                            </actions>
                        </rule>
                        <rule name="1">
                            <value>1</value>
                            <actions>
                                <action name="0">
                                    <target>autogedal_label_form.autogedal_label_form.conditions.from_price</target>
                                    <callback>show</callback>
                                </action>
                                <action name="1">
                                    <target>autogedal_label_form.autogedal_label_form.conditions.to_price</target>
                                    <callback>show</callback>
                                </action>
                                <action name="2">
                                    <target>autogedal_label_form.autogedal_label_form.conditions.by_price</target>
                                    <callback>show</callback>
                                </action>
                            </actions>
                        </rule>
                    </rules>
                </switcherConfig>
            </settings>
            <formElements>
                <select>
                    <settings>
                        <options class="Magento\Config\Model\Config\Source\Yesno"/>
                    </settings>
                </select>
            </formElements>
        </field>
        <field name="by_price" sortOrder="210" formElement="select">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="source" xsi:type="string">label</item>
                    <item name="default" xsi:type="number">0</item>
                </item>
            </argument>
            <settings>
                <dataType>text</dataType>
                <label translate="true">Price Reference</label>
                <validation>
                    <rule name="required-entry" xsi:type="boolean">true</rule>
                </validation>
                <dataScope>by_price</dataScope>
            </settings>
            <formElements>
                <select>
                    <settings>
                        <options>
                            <option name="price_base" xsi:type="array">
                                <item name="label" xsi:type="string" translate="true">Base Price</item>
                                <item name="value" xsi:type="number">0</item>
                            </option>
                            <option name="price_special" xsi:type="array">
                                <item name="label" xsi:type="string" translate="true">Special Price</item>
                                <item name="value" xsi:type="number">1</item>
                            </option>
                            <option name="price_final" xsi:type="array">
                                <item name="label" xsi:type="string" translate="true">Final Price</item>
                                <item name="value" xsi:type="number">2</item>
                            </option>
                            <option name="price_final_tax" xsi:type="array">
                                <item name="label" xsi:type="string" translate="true">Final Price Incl. Tax</item>
                                <item name="value" xsi:type="number">3</item>
                            </option>
                            <option name="price_from" xsi:type="array">
                                <item name="label" xsi:type="string" translate="true">Starting From Price</item>
                                <item name="value" xsi:type="number">4</item>
                            </option>
                            <option name="price_to" xsi:type="array">
                                <item name="label" xsi:type="string" translate="true">Starting To Price</item>
                                <item name="value" xsi:type="number">5</item>
                            </option>
                        </options>
                    </settings>
                </select>
            </formElements>
        </field>
        <field name="from_price" sortOrder="220" formElement="input">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="source" xsi:type="string">label</item>
                </item>
            </argument>
            <settings>
                <dataType>text</dataType>
                <label translate="true">Min Price</label>
                <visible>false</visible>
                <dataScope>from_price</dataScope>
            </settings>
        </field>
        <field name="to_price" sortOrder="230" formElement="input">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="source" xsi:type="string">label</item>
                </item>
            </argument>
            <settings>
                <dataType>text</dataType>
                <label translate="true">Max Price</label>
                <visible>false</visible>
                <dataScope>to_price</dataScope>
            </settings>
        </field>
        <field name="customer_group_enabled" sortOrder="240" formElement="select">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="source" xsi:type="string">label</item>
                    <item name="default" xsi:type="number">0</item>
                </item>
            </argument>
            <settings>
                <dataType>boolean</dataType>
                <label translate="true">Limit by Customer Group</label>
                <dataScope>customer_group_enabled</dataScope>
                <switcherConfig>
                    <component>Autogedal_Labels/js/form/switcher</component>
                    <enabled>true</enabled>
                    <rules>
                        <rule name="0">
                            <value>0</value>
                            <actions>
                                <action name="0">
                                    <target>autogedal_label_form.autogedal_label_form.conditions.customer_groups</target>
                                    <callback>hide</callback>
                                </action>
                            </actions>
                        </rule>
                        <rule name="1">
                            <value>1</value>
                            <actions>
                                <action name="0">
                                    <target>autogedal_label_form.autogedal_label_form.conditions.customer_groups</target>
                                    <callback>show</callback>
                                </action>
                            </actions>
                        </rule>
                    </rules>
                </switcherConfig>
            </settings>
            <formElements>
                <select>
                    <settings>
                        <options class="Magento\Config\Model\Config\Source\Yesno"/>
                    </settings>
                </select>
            </formElements>
        </field>
        <field name="customer_groups" sortOrder="250" formElement="multiselect">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="source" xsi:type="string">label</item>
                </item>
            </argument>
            <settings>
                <dataType>text</dataType>
                <label translate="true">Customer Groups</label>
                <componentType>multiselect</componentType>
                <visible>false</visible>
                <dataScope>customer_groups</dataScope>
            </settings>
            <formElements>
                <multiselect>
                    <settings>
                        <options class="Magento\Customer\Model\Config\Source\Group\Multiselect"/>
                    </settings>
                </multiselect>
            </formElements>
        </field>
        <field name="use_for_parent" sortOrder="260" formElement="select">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="source" xsi:type="string">label</item>
                    <item name="default" xsi:type="number">0</item>
                </item>
            </argument>
            <settings>
                <dataType>boolean</dataType>
                <label translate="true">Apply to Parent Product</label>
                <notice translate="true">Display this label for configurable and grouped parent products when a child product matches.</notice>
                <dataScope>use_for_parent</dataScope>
            </settings>
            <formElements>
                <select>
                    <settings>
                        <options class="Magento\Config\Model\Config\Source\Yesno"/>
                    </settings>
                </select>
            </formElements>
        </field>
    </fieldset>
</form>
