<?php
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

return array(
	'uniqueId'                      => array( 'type' => 'string' ),
	'fontLists'                     => array( 'type' => 'string' ),
	'blockName'                     => array(
		'type' => 'string',
	),
	'layoutType'                    => array(
		'type'    => 'string',
		'default' => 'normal',
	),
	'imageSize'                     => array(
		'type'    => 'string',
		'default' => '',
	),
	'showFeaturedVideo'             => array(
		'type'    => 'boolean',
		'default' => false,
	),
	'showImageGallery'              => array(
		'type'    => 'boolean',
		'default' => false,
	),
	'imageGallerySource'            => array(
		'type'    => 'string',
		'default' => 'post_gallery',
	),
	'showImageGalleryNavArrow'      => array(
		'type'    => 'boolean',
		'default' => true,
	),
	'showImageGalleryNavArrowHover' => array(
		'type'    => 'boolean',
		'default' => false,
	),
	'imageGalleryNavArrowStyle'     => array(
		'type'    => 'string',
		'default' => 'chevron-solid',
	),
	'imageGalleryNavArrowSize'      => $this->ranger_attribute( 12 ),
	'imageFeaturedImg'              => array(
		'type'    => 'boolean',
		'default' => true,
	),
	'imageGalleryNavArrowColor'     => array(
		'type'    => 'object',
		'default' => array(
			'color'      => '',
			'hoverColor' => '',
		),
	),
	'imageGalleryNavArrowBgColor'   => array(
		'type'    => 'object',
		'default' => array(
			'color'      => '',
			'hoverColor' => '',
		),
	),
	'imageWidth'                    => $this->ranger_attribute(),
	'imageHeight'                   => $this->ranger_attribute(),
	'imageScale'                    => array(
		'type'    => 'string',
		'default' => 'cover',
	),
	'imageSrcset'                   => array(
		'type'    => 'boolean',
		'default' => false,
	),
	'imageAltText'                  => array(
		'type'    => 'string',
		'default' => '',
	),
	'textAlignment'                 => array(
		'type'    => 'string',
		'default' => 'center',
	),
	'imageBorder'                   => array(
		'type'    => 'object',
		'default' => array(
			'style'      => 'none',
			'color'      => '',
			'hoverColor' => '',
		),
	),
	'imageBorderWidth'              => $this->spacing_attribute(),
	'imageBorderRadius'             => $this->spacing_attribute(),
	'enableImageBoxShadow'          => array(
		'type'    => 'boolean',
		'default' => false,
	),
	'imageBoxShadow'                => array(
		'type'    => 'object',
		'default' => array(
			'device'        => array(
				'Desktop' => array(
					'top'    => 3,
					'right'  => 3,
					'bottom' => 6,
					'left'   => 0,
				),
				'Tablet'  => array(
					'top'    => '',
					'right'  => '',
					'bottom' => '',
					'left'   => '',
				),
				'Mobile'  => array(
					'top'    => '',
					'right'  => '',
					'bottom' => '',
					'left'   => '',
				),
			),
			'unit'          => array(
				'Desktop' => 'outset',
				'Tablet'  => 'outset',
				'Mobile'  => 'outset',
			),
			'color'         => '#4E4F521A',
			'selectDefault' => 'var(--smart-post-shadow-medium-4dp)',
		),
	),
	'imageOverlayType'              => array(
		'type'    => 'string',
		'default' => 'none',
	),
	'overlayContent'                => array(
		'type'    => 'array',
		'default' => array(
			array(
				'id'    => 'post-breadcrumbs',
				'name'  => 'post-breadcrumbs',
				'label' => 'Post Breadcrumb',
				'show'  => false,
			),
			array(
				'id'    => 'post-title',
				'name'  => 'post-title',
				'label' => 'Post Title',
				'show'  => false,
			),
			array(
				'id'    => 'post-category',
				'name'  => 'post-category',
				'label' => 'Category',
				'show'  => false,
			),
			array(
				'id'    => 'post-meta',
				'name'  => 'post-meta',
				'label' => 'Post Meta',
				'show'  => false,
			),
		),
	),
	'imageOverlayBg'                => array(
		'type'    => 'object',
		'default' => array(
			'color' => array(
				'style'       => 'bgColor',
				'transparent' => '',
				'solidColor'  => '',
				'gradient'    => 'linear-gradient(162deg, rgba(128, 128, 214, 0.92) 0%, rgba(136, 169, 231, 0.89) 51%, rgba(144, 234, 228, 0.86) 100%)',
			),
			'hover' => array(
				'style'       => 'bgColor',
				'transparent' => '',
				'solidColor'  => '',
				'gradient'    => 'linear-gradient(162deg, rgba(128, 128, 214, 0.9) 0%, rgba(136, 169, 231, 0.75) 51%, rgba(144, 234, 228, 0.7) 100%)',
			),
		),
	),
	'imageHoverEffect'              => array(
		'type'    => 'string',
		'default' => 'normal',
	),
	'imageBlur'                     => $this->ranger_attribute(),

	'imageOverlayOpacity'           => array(
		'type'    => 'number',
		'default' => 0.6,
	),

	'enableCaption'                 => array(
		'type'    => 'boolean',
		'default' => false,
	),
	'captionGap'                    => $this->ranger_attribute(),
	'captionAlignment'              => array(
		'type'    => 'string',
		'default' => 'center',
	),
	'captionTypography'             => array(
		'type'    => 'object',
		'default' => array(
			'typography' => array(
				'family'     => '',
				'fontWeight' => '',
				'style'      => '',
				'transform'  => '',
				'decoration' => '',
			),
		),
	),
	'captionGlobalTypography'       => array(
		'type'    => 'object',
		'default' => array(),
	),
	'captionFontSize'               => $this->ranger_attribute( '', '', '', 'px' ),
	'captionLatterSpacing'          => $this->ranger_attribute( '' ),
	'captionWordSpacing'            => $this->ranger_attribute( '' ),
	'captionLineHeight'             => array(
		'type'    => 'object',
		'default' => array(
			'device' => array(
				'Desktop' => '',
				'Tablet'  => '',
				'Mobile'  => '',
			),
			// 'unit'   => array(
			// 'Desktop' => 'px',
			// 'Tablet'  => 'px',
			// 'Mobile'  => 'px',
			// ),
		),
	),
	'captionColor'                  => array(
		'type'    => 'object',
		'default' => array(
			'color'      => '',
			'hoverColor' => '',
		),
	),
	'captionPadding'                => $this->spacing_attribute(),
	'backgroundColor'               => array(
		'type'    => 'object',
		'default' => array(
			'color' => array(
				'style'       => 'bgColor',
				'transparent' => '',
				'solidColor'  => '',
				'gradient'    => 'linear-gradient(162deg, rgba(128, 128, 214, 0.92) 0%, rgba(136, 169, 231, 0.89) 51%, rgba(144, 234, 228, 0.86) 100%)',
			),
			'hover' => array(
				'style'       => 'bgColor',
				'transparent' => '',
				'solidColor'  => '',
				'gradient'    => 'linear-gradient(162deg, rgba(128, 128, 214, 0.9) 0%, rgba(136, 169, 231, 0.75) 51%, rgba(144, 234, 228, 0.7) 100%)',
			),
		),
	),
	'border'                        => array(
		'type'    => 'object',
		'default' => array(
			'style'      => 'none',
			'color'      => '',
			'hoverColor' => '',
		),
	),
	'borderWidth'                   => $this->spacing_attribute(),
	'borderRadius'                  => $this->spacing_attribute(),
	'enableBoxShadow'               => array(
		'type'    => 'boolean',
		'default' => false,
	),
	'boxShadow'                     => array(
		'type'    => 'object',
		'default' => array(
			'device'        => array(
				'Desktop' => array(
					'top'    => 3,
					'right'  => 3,
					'bottom' => 6,
					'left'   => 0,
				),
				'Tablet'  => array(
					'top'    => '',
					'right'  => '',
					'bottom' => '',
					'left'   => '',
				),
				'Mobile'  => array(
					'top'    => '',
					'right'  => '',
					'bottom' => '',
					'left'   => '',
				),
			),
			'unit'          => array(
				'Desktop' => 'outset',
				'Tablet'  => 'outset',
				'Mobile'  => 'outset',
			),
			'color'         => '#4E4F521A',
			'selectDefault' => 'var(--smart-post-shadow-medium-4dp)',
		),
	),
	'padding'                       => $this->spacing_attribute(),
	'margin'                        => $this->spacing_attribute(),
	'hideOnDesktop'                 => array(
		'type'    => 'boolean',
		'default' => false,
	),
	'hideOnTablet'                  => array(
		'type'    => 'boolean',
		'default' => false,
	),
	'hideOnMobile'                  => array(
		'type'    => 'boolean',
		'default' => false,
	),
	'additionalId'                  => array(
		'type'    => 'string',
		'default' => '',
	),
	'additionalClass'               => array(
		'type'    => 'string',
		'default' => '',
	),
	'isPreview'                     => array(
		'type'    => 'boolean',
		'default' => false,
	),
	'globalBreakPointData'          => array(
		'type'    => 'object',
		'default' => array(),
	),
	'lazyLoading'                   => array(
		'type'    => 'boolean',
		'default' => false,
	),
	'innerPadding'                  => $this->spacing_attribute(),
);
