<?xml version="1.0" ?>
<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">olegnax_carousel_slide_form.slide_form_data_source</item>
		</item>
		<item name="label" translate="true" xsi:type="string">General Information</item>
		<item name="template" xsi:type="string">templates/form/collapsible</item>
	</argument>
	<settings>
		<buttons>
			<button class="Olegnax\Carousel\Block\Adminhtml\Slide\Edit\BackButton" name="back"/>
			<button class="Olegnax\Carousel\Block\Adminhtml\Slide\Edit\DeleteButton" name="delete"/>
			<button class="Olegnax\Carousel\Block\Adminhtml\Slide\Edit\SaveButton" name="save"/>
			<button class="Olegnax\Carousel\Block\Adminhtml\Slide\Edit\SaveAndContinueButton" name="save_and_continue"/>
		</buttons>
		<namespace>olegnax_carousel_slide_form</namespace>
		<dataScope>data</dataScope>
		<deps>
			<dep>olegnax_carousel_slide_form.slide_form_data_source</dep>
		</deps>
	</settings>
	<dataSource name="slide_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="*/*/save"/>
		</settings>
		<dataProvider class="Olegnax\Carousel\Model\Slide\DataProvider" name="slide_form_data_source">
			<settings>
				<requestFieldName>slide_id</requestFieldName>
				<primaryFieldName>slide_id</primaryFieldName>
			</settings>
		</dataProvider>
	</dataSource>
	<fieldset name="general">
		<settings>
			<label>General</label>
		</settings>
		<field formElement="checkbox" name="is_active" sortOrder="0">
			<argument name="data" xsi:type="array">
				<item name="config" xsi:type="array">
					<item name="source" xsi:type="string">Slide</item>
					<item name="default" xsi:type="number">1</item>
				</item>
			</argument>
			<settings>
				<dataType>boolean</dataType>
				<label translate="true">Enable Slide</label>
				<dataScope>is_active</dataScope>

			</settings>
			<formElements>
				<checkbox>
					<settings>
						<valueMap>
							<map name="false" xsi:type="number">0</map>
							<map name="true" xsi:type="number">1</map>
						</valueMap>
						<prefer>toggle</prefer>
					</settings>
				</checkbox>
			</formElements>
		</field>
		<field formElement="select" name="carousel" sortOrder="10">
			<argument name="data" xsi:type="array">
				<item name="config" xsi:type="array">
					<item name="source" xsi:type="string">Slide</item>
				</item>
			</argument>
			<settings>
				<dataType>text</dataType>
				<label translate="true">Carousel</label>
				<dataScope>carousel</dataScope>
				<validation>
					<rule name="required-entry" xsi:type="boolean">true</rule>
				</validation>
			</settings>
			<formElements>
				<select>
					<settings>
						<options class="Olegnax\Carousel\Model\Slide\Source\Carousel"/>
					</settings>
				</select>
			</formElements>
		</field>
		<field name="storeviews" formElement="multiselect" class="Magento\Store\Ui\Component\Form\Field\StoreView" sortOrder="20">
			<argument name="data" xsi:type="array">
				<item name="config" xsi:type="array">
					<item name="source" xsi:type="string">block</item>
					<item name="default" xsi:type="number">0</item>
				</item>
			</argument>
			<settings>
				<validation>
					<rule name="required-entry" xsi:type="boolean">true</rule>
				</validation>
				<dataType>int</dataType>
				<tooltip>
					<link>https://docs.magento.com/m2/ce/user_guide/configuration/scope.html</link>
					<description>What is this?</description>
				</tooltip>
				<label translate="true">Store View</label>
				<dataScope>store_id</dataScope>
			</settings>
			<formElements>
				<multiselect>
					<settings>
						<options class="Magento\Cms\Ui\Component\Listing\Column\Cms\Options"/>
					</settings>
				</multiselect>
			</formElements>
		</field>
   		<field formElement="input" name="sort_order" sortOrder="30">
			<argument name="data" xsi:type="array">
				<item name="config" xsi:type="array">
					<item name="source" xsi:type="string">Slide</item>
					<item name="default" xsi:type="number">10</item>
				</item>
			</argument>
			<settings>
				<dataType>text</dataType>
				<label translate="true">Sort Order</label>
				<dataScope>sort_order</dataScope>
				<validation>
					<rule name="required-entry" xsi:type="boolean">false</rule>
				</validation>
			</settings>
		</field>
		<field formElement="checkbox" name="content_only" sortOrder="31">
			<argument name="data" xsi:type="array">
				<item name="config" xsi:type="array">
					<item name="source" xsi:type="string">Slide</item>
					<item name="default" xsi:type="number">0</item>
				</item>
			</argument>
			<settings>
				<dataType>boolean</dataType>
				<label translate="true">Content Only</label>
				<dataScope>content_only</dataScope>
			</settings>
			<formElements>
				<checkbox>
					<settings>
						<valueMap>
							<map name="false" xsi:type="number">0</map>
							<map name="true" xsi:type="number">1</map>
						</valueMap>
						<prefer>toggle</prefer>
					</settings>
				</checkbox>
			</formElements>
		</field>
		<field formElement="select" name="content_wrappers" sortOrder="35">
			<argument name="data" xsi:type="array">
				<item name="config" xsi:type="array">
					<item name="source" xsi:type="string">Slide</item>
				</item>
			</argument>
			<settings>
				<dataType>text</dataType>
				<label translate="true">Content Wrappers</label>
				<dataScope>content_wrappers</dataScope>
				<tooltip>
					<description>1. With container - Slider content will have max width same as website. Use when your page/slider is full width and you want to limit its content width. 2. No container - use when slider is in content. 3. Raw - no additional wrappers at all. Build your own slide.</description>
				</tooltip>
			</settings>
			<formElements>
				<select>
					<settings>
						<options class="Olegnax\Carousel\Model\Slide\Source\Wrappers"/>
					</settings>
				</select>
			</formElements>
		</field>
		<field formElement="select" name="layout" sortOrder="40">
			<argument name="data" xsi:type="array">
				<item name="config" xsi:type="array">
					<item name="source" xsi:type="string">Slide</item>
				</item>
			</argument>
			<settings>
				<dataType>text</dataType>
				<label translate="true">Content Position(Layout)</label>
				<dataScope>layout</dataScope>
			</settings>
			<formElements>
				<select>
					<settings>
						<options class="Olegnax\Carousel\Model\Slide\Source\Layout"/>
					</settings>
				</select>
			</formElements>
		</field>
		<field formElement="select" name="mobile_align" sortOrder="41">
			<argument name="data" xsi:type="array">
				<item name="config" xsi:type="array">
					<item name="source" xsi:type="string">Slide</item>
				</item>
			</argument>
			<settings>
				<dataType>text</dataType>
				<label translate="true">Content Mobile Align</label>
				<dataScope>mobile_align</dataScope>
			</settings>
			<formElements>
				<select>
					<settings>
						<options class="Olegnax\Carousel\Model\Slide\Source\MobileAlign"/>
					</settings>
				</select>
			</formElements>
		</field>
		<field formElement="select" name="margins" sortOrder="42">
			<argument name="data" xsi:type="array">
				<item name="config" xsi:type="array">
					<item name="source" xsi:type="string">Slide</item>
				</item>
			</argument>
			<settings>
				<dataType>text</dataType>
				<label translate="true">Margins Size</label>
				<dataScope>margins</dataScope>
				<tooltip>
					<description>Space between titles and content.</description>
				</tooltip>
			</settings>
			<formElements>
				<select>
					<settings>
						<options class="Olegnax\Carousel\Model\Slide\Source\Margins"/>
					</settings>
				</select>
			</formElements>
		</field>
		<field formElement="colorPicker" name="slide_bg" sortOrder="50">
			<argument name="data" xsi:type="array">
				<item name="config" xsi:type="array">
					<item name="source" xsi:type="string">Slide</item>
				</item>
			</argument>
			<settings>
				<dataType>string</dataType>
				<label translate="true">Slide background</label>
				<dataScope>slide_bg</dataScope>
			</settings>
		</field>
		<field formElement="imageUploader" name="image" sortOrder="60">
			<argument name="data" xsi:type="array">
				<item name="config" xsi:type="array">
					<item name="source" xsi:type="string">Slide</item>
				</item>
			</argument>
			<settings>
				<dataType>text</dataType>
				<label translate="true">Slide Image</label>
				<dataScope>image</dataScope>
				<elementTmpl>ui/form/element/uploader/image</elementTmpl>
			</settings>
			<formElements>
				<imageUploader>
					<settings>
						<required>false</required>
						<uploaderConfig>
							<param xsi:type="url" name="url" path="catalog/category_image/upload"/>
						</uploaderConfig>
						<previewTmpl>Magento_Catalog/image-preview</previewTmpl>
						<openDialogTitle>Media Gallery</openDialogTitle>
						<initialMediaGalleryOpenSubpath>catalog/category</initialMediaGalleryOpenSubpath>
						<allowedExtensions>jpg jpeg gif png</allowedExtensions>
						<maxFileSize>4194304</maxFileSize>
					</settings>
				</imageUploader>
			</formElements>
		</field>
		<field formElement="imageUploader" name="mobile_image" sortOrder="61">
			<argument name="data" xsi:type="array">
				<item name="config" xsi:type="array">
					<item name="source" xsi:type="string">Slide</item>
				</item>
			</argument>
			<settings>
				<dataType>text</dataType>
				<label translate="true">Mobile Image</label>
				<dataScope>mobile_image</dataScope>
				<elementTmpl>ui/form/element/uploader/image</elementTmpl>
			</settings>
			<formElements>
				<imageUploader>
					<settings>
						<required>false</required>
						<uploaderConfig>
							<param xsi:type="url" name="url" path="catalog/category_image/upload"/>
						</uploaderConfig>
						<previewTmpl>Magento_Catalog/image-preview</previewTmpl>
						<openDialogTitle>Media Gallery</openDialogTitle>
						<initialMediaGalleryOpenSubpath>catalog/category</initialMediaGalleryOpenSubpath>
						<allowedExtensions>jpg jpeg gif png</allowedExtensions>
						<maxFileSize>4194304</maxFileSize>
					</settings>
				</imageUploader>
			</formElements>
		</field>
                <field formElement="input" name="slide_link" sortOrder="65">
			<argument name="data" xsi:type="array">
				<item name="config" xsi:type="array">
					<item name="source" xsi:type="string">Slide</item>
				</item>
			</argument>
			<settings>
				<dataType>text</dataType>
				<label translate="true">Slide Url (link on entire slide)</label>
				<dataScope>slide_link</dataScope>
			</settings>
		</field>
   		<field formElement="input" name="subtitle" sortOrder="70">
			<argument name="data" xsi:type="array">
				<item name="config" xsi:type="array">
					<item name="source" xsi:type="string">Slide</item>
				</item>
			</argument>
			<settings>
				<dataType>text</dataType>
				<label translate="true">Subtitle</label>
				<dataScope>subtitle</dataScope>
			</settings>
		</field>
		<field formElement="colorPicker" name="subtitle_color" sortOrder="72">
			<argument name="data" xsi:type="array">
				<item name="config" xsi:type="array">
					<item name="source" xsi:type="string">Slide</item>
				</item>
			</argument>
			<settings>
				<dataType>string</dataType>
				<label translate="true">Subtitle Color</label>
				<dataScope>subtitle_color</dataScope>
			</settings>
		</field>
   		<field formElement="input" name="title" sortOrder="80">
			<argument name="data" xsi:type="array">
				<item name="config" xsi:type="array">
					<item name="source" xsi:type="string">Slide</item>
				</item>
			</argument>
			<settings>
				<dataType>textarea</dataType>
				<label translate="true">Title</label>
				<dataScope>title</dataScope>
			</settings>
		</field>
		<field formElement="select" name="title_size" sortOrder="81">
			<argument name="data" xsi:type="array">
				<item name="config" xsi:type="array">
					<item name="source" xsi:type="string">Slide</item>
				</item>
			</argument>
			<settings>
				<dataType>text</dataType>
				<label translate="true">Title Size</label>
				<dataScope>title_size</dataScope>
			</settings>
			<formElements>
				<select>
					<settings>
						<options class="Olegnax\Carousel\Model\Slide\Source\TitleSize"/>
					</settings>
				</select>
			</formElements>
		</field>
		<field formElement="colorPicker" name="title_color" sortOrder="82">
			<argument name="data" xsi:type="array">
				<item name="config" xsi:type="array">
					<item name="source" xsi:type="string">Slide</item>
				</item>
			</argument>
			<settings>
				<dataType>string</dataType>
				<label translate="true">Title Color</label>
				<dataScope>title_color</dataScope>
			</settings>
		</field>
		<field formElement="colorPicker" name="title_bg" sortOrder="83">
			<argument name="data" xsi:type="array">
				<item name="config" xsi:type="array">
					<item name="source" xsi:type="string">Slide</item>
				</item>
			</argument>
			<settings>
				<dataType>string</dataType>
				<label translate="true">Title Background</label>
				<dataScope>title_bg</dataScope>
			</settings>
		</field>
                <field formElement="input" name="link" sortOrder="90">
			<argument name="data" xsi:type="array">
				<item name="config" xsi:type="array">
					<item name="source" xsi:type="string">Slide</item>
				</item>
			</argument>
			<settings>
				<dataType>text</dataType>
				<label translate="true">Button Url</label>
				<dataScope>link</dataScope>
			</settings>
		</field>
                <field formElement="input" name="button" sortOrder="100">
			<argument name="data" xsi:type="array">
				<item name="config" xsi:type="array">
					<item name="source" xsi:type="string">Slide</item>
				</item>
			</argument>
			<settings>
				<dataType>text</dataType>
				<label translate="true">Button Text</label>
				<dataScope>button</dataScope>
			</settings>
		</field>
                <field formElement="input" name="button_css" sortOrder="100">
			<argument name="data" xsi:type="array">
				<item name="config" xsi:type="array">
					<item name="source" xsi:type="string">Slide</item>
				</item>
			</argument>
			<settings>
				<dataType>text</dataType>
				<label translate="true">Button Class</label>
				<dataScope>button_css</dataScope>
			</settings>
		</field>
		<field formElement="select" name="button_style" sortOrder="101">
			<argument name="data" xsi:type="array">
				<item name="config" xsi:type="array">
					<item name="source" xsi:type="string">Slide</item>
				</item>
			</argument>
			<settings>
				<dataType>text</dataType>
				<label translate="true">Button Style</label>
				<dataScope>button_style</dataScope>
			</settings>
			<formElements>
				<select>
					<settings>
						<options class="Olegnax\Carousel\Model\Slide\Source\ButtonStyle"/>
					</settings>
				</select>
			</formElements>
		</field>
		<field formElement="colorPicker" name="button_color" sortOrder="102">
			<argument name="data" xsi:type="array">
				<item name="config" xsi:type="array">
					<item name="source" xsi:type="string">Slide</item>
				</item>
			</argument>
			<settings>
				<dataType>string</dataType>
				<label translate="true">Button Text Color</label>
				<dataScope>button_color</dataScope>
			</settings>
		</field>
		<field formElement="colorPicker" name="button_bg" sortOrder="103">
			<argument name="data" xsi:type="array">
				<item name="config" xsi:type="array">
					<item name="source" xsi:type="string">Slide</item>
				</item>
			</argument>
			<settings>
				<dataType>string</dataType>
				<label translate="true">Button Bg Color</label>
				<dataScope>button_bg</dataScope>
			</settings>
		</field>
		<field formElement="colorPicker" name="button_color_hover" sortOrder="104">
			<argument name="data" xsi:type="array">
				<item name="config" xsi:type="array">
					<item name="source" xsi:type="string">Slide</item>
				</item>
			</argument>
			<settings>
				<dataType>string</dataType>
				<label translate="true">Button Hover Text Color</label>
				<dataScope>button_color_hover</dataScope>
			</settings>
		</field>
		<field formElement="colorPicker" name="button_bg_hover" sortOrder="105">
			<argument name="data" xsi:type="array">
				<item name="config" xsi:type="array">
					<item name="source" xsi:type="string">Slide</item>
				</item>
			</argument>
			<settings>
				<dataType>string</dataType>
				<label translate="true">Button Hover Bg Color</label>
				<dataScope>button_bg_hover</dataScope>

			</settings>
		</field>
                <field formElement="input" name="content_width" sortOrder="190">
			<argument name="data" xsi:type="array">
				<item name="config" xsi:type="array">
					<item name="source" xsi:type="string">Slide</item>
				</item>
			</argument>
			<settings>
				<dataType>text</dataType>
				<label translate="true">Content Max Width</label>
				<dataScope>content_width</dataScope>
			</settings>
		</field>
		<field formElement="wysiwyg" name="content" sortOrder="200">
			<argument name="data" xsi:type="array">
				<item name="config" xsi:type="array">
					<item name="source" xsi:type="string">Slide</item>
				</item>
			</argument>
			<settings>
				<additionalClasses>
					<class name="admin__field-wide">true</class>
				</additionalClasses>
				<label translate="true">Main Content</label>
				<dataScope>content</dataScope>
			</settings>
			<formElements>
				<wysiwyg>
					<settings>
						<wysiwyg>true</wysiwyg>
					</settings>
				</wysiwyg>
			</formElements>
		</field>
		<field formElement="wysiwyg" name="content2" sortOrder="201">
			<argument name="data" xsi:type="array">
				<item name="config" xsi:type="array">
					<item name="source" xsi:type="string">Slide</item>
				</item>
			</argument>
			<settings>
				<additionalClasses>
					<class name="admin__field-wide">true</class>
				</additionalClasses>
				<label translate="true">Second Content</label>
				<dataScope>content2</dataScope>
			</settings>
			<formElements>
				<wysiwyg>
					<settings>
						<wysiwyg>true</wysiwyg>
					</settings>
				</wysiwyg>
			</formElements>
		</field>
		<field formElement="colorPicker" name="text_color" sortOrder="210">
			<argument name="data" xsi:type="array">
				<item name="config" xsi:type="array">
					<item name="source" xsi:type="string">Slide</item>
				</item>
			</argument>
			<settings>
				<dataType>string</dataType>
				<label translate="true">Text Color</label>
				<dataScope>text_color</dataScope>
			</settings>
		</field>
                <field formElement="input" name="nav_title" sortOrder="210">
			<argument name="data" xsi:type="array">
				<item name="config" xsi:type="array">
					<item name="source" xsi:type="string">Slide</item>
				</item>
			</argument>
			<settings>
				<dataType>text</dataType>
				<label translate="true">Navigation Text</label>
				<dataScope>nav_title</dataScope>
			</settings>
		</field>
                <field formElement="input" name="custom_class" sortOrder="900">
			<argument name="data" xsi:type="array">
				<item name="config" xsi:type="array">
					<item name="source" xsi:type="string">Slide</item>
				</item>
			</argument>
			<settings>
				<dataType>text</dataType>
				<label translate="true">Slide Custom Classes</label>
				<dataScope>custom_class</dataScope>
			</settings>
		</field>
	</fieldset>
</form>
