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

return array(
	'uniqueId'              => array( 'type' => 'string' ),
	'fontLists'             => array( 'type' => 'string' ),
	'blockName'             => array(
		'type' => 'string',
	),
	'layoutType'            => array(
		'type'    => 'string',
		'default' => 'layoutOne',
	),
	'spaceBetween'          => $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)',
		),
	),
	'borderHover'           => array(
		'type'    => 'object',
		'default' => array(
			'style'      => 'none',
			'color'      => '',
			'hoverColor' => '',
		),
	),
	'borderWidthHover'      => $this->spacing_attribute(),
	'borderRadiusHover'     => $this->spacing_attribute(),
	'enableBoxShadowHover'  => array(
		'type'    => 'boolean',
		'default' => false,
	),
	'boxShadowHover'        => 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(),
	'showTitle'             => array(
		'type'    => 'boolean',
		'default' => true,
	),
	'titleLength'           => array(
		'type'    => 'object',
		'default' => array(
			'value' => 7,
			'unit'  => 'words',
		),
	),
	'titleColor'            => array(
		'type'    => 'object',
		'default' => array(
			'color'      => '',
			'hoverColor' => '',
		),
	),
	'titleTypography'       => array(
		'type'    => 'object',
		'default' => array(
			'typography' => array(
				'family'     => '',
				'fontWeight' => '',
				'style'      => '',
				'transform'  => '',
				'decoration' => '',
			),
		),
	),
	'titleGlobalTypography' => array(
		'type'    => 'object',
		'default' => array(),
	),
	'titleFontSize'         => $this->ranger_attribute( '', '', '', 'px' ),
	'titleLatterSpacing'    => $this->ranger_attribute( '' ),
	'titleWordSpacing'      => $this->ranger_attribute( '' ),
	'titleLineHeight'       => array(
		'type'    => 'object',
		'default' => array(
			'device' => array(
				'Desktop' => '',
				'Tablet'  => '',
				'Mobile'  => '',
			),
			// 'unit'   => array(
			// 'Desktop' => 'px',
			// 'Tablet'  => 'px',
			// 'Mobile'  => 'px',
			// ),
		),
	),
	'showImage'             => array(
		'type'    => 'boolean',
		'default' => true,
	),
	'imageSize'             => array(
		'type'    => 'string',
		'default' => '',
	),
	'imageWidth'            => $this->ranger_attribute(),
	'imageHeight'           => $this->ranger_attribute(),
	'verticalAlignment'     => array(
		'type'    => 'string',
		'default' => 'top',
	),
	'imageHoverEffect'      => array(
		'type'    => 'string',
		'default' => 'normal',
	),
	'imageBorder'           => array(
		'type'    => 'object',
		'default' => array(
			'style'      => 'none',
			'color'      => '',
			'hoverColor' => '',
		),
	),
	'imageBorderWidth'      => $this->spacing_attribute(),
	'imageBorderRadius'     => $this->spacing_attribute(),
	'imagePadding'          => $this->spacing_attribute(),
	'showDate'              => array(
		'type'    => 'boolean',
		'default' => true,
	),
	'showReadingTime'       => array(
		'type'    => 'boolean',
		'default' => true,
	),
	'dateFormat'            => array(
		'type'    => 'string',
		'default' => 'M j, Y',
	),
	'metaTypography'        => array(
		'type'    => 'object',
		'default' => array(
			'typography' => array(
				'family'     => '',
				'fontWeight' => '',
				'style'      => '',
				'transform'  => '',
				'decoration' => '',
			),
		),
	),
	'metaGlobalTypography'  => array(
		'type'    => 'object',
		'default' => array(),
	),
	'metaFontSize'          => $this->ranger_attribute( '', '', '', 'px' ),
	'metaLatterSpacing'     => $this->ranger_attribute( '' ),
	'metaWordSpacing'       => $this->ranger_attribute( '' ),
	'metaLineHeight'        => array(
		'type'    => 'object',
		'default' => array(
			'device' => array(
				'Desktop' => '',
				'Tablet'  => '',
				'Mobile'  => '',
			),
			// 'unit'   => array(
			// 'Desktop' => 'px',
			// 'Tablet'  => 'px',
			// 'Mobile'  => 'px',
			// ),
		),
	),
	'metaColor'             => array(
		'type'    => 'string',
		'default' => '',
	),
	'metaPadding'           => $this->ranger_attribute( '' ),
	'showDivider'           => array(
		'type'    => 'boolean',
		'default' => false,
	),
	'dividerColor'          => array(
		'type'    => 'object',
		'default' => array(
			'color'      => 'var(--smart-post-secondary)',
			'hoverColor' => 'var(--smart-post-secondary)',
		),
	),
	'dividerThickness'      => $this->ranger_attribute( 1, '', '', 'px' ),
	'dividerGap'            => $this->ranger_attribute( 20, '', '', 'px' ),
	'showNavLabel'          => array(
		'type'    => 'boolean',
		'default' => true,
	),
	'showNavIcon'           => array(
		'type'    => 'boolean',
		'default' => true,
	),
	'navIconStyle'          => array(
		'type'    => 'string',
		'default' => 'chevron-solid',
	),
	'navTextPosition'       => array(
		'type'    => 'string',
		'default' => '',
	),
	'navIconPosition'       => array(
		'type'    => 'string',
		'default' => '',
	),
	'prevTextLabel'         => array(
		'type'    => 'string',
		'default' => 'Previous',
	),
	'nextTextLabel'         => array(
		'type'    => 'string',
		'default' => 'Next',
	),
	'navTextColor'          => array(
		'type'    => 'object',
		'default' => array(
			'color'      => '',
			'hoverColor' => '',
		),
	),
	'navIconColor'          => array(
		'type'    => 'object',
		'default' => array(
			'color'      => '',
			'hoverColor' => '',
		),
	),
	'navIconSize'           => $this->ranger_attribute(),
	'navIconGap'            => $this->ranger_attribute(),
	'navTypography'         => array(
		'type'    => 'object',
		'default' => array(
			'typography' => array(
				'family'     => '',
				'fontWeight' => '',
				'style'      => '',
				'transform'  => '',
				'decoration' => '',
			),
		),
	),
	'navGlobalTypography'   => array(
		'type'    => 'object',
		'default' => array(),
	),
	'navFontSize'           => $this->ranger_attribute( '', '', '', 'px' ),
	'navLatterSpacing'      => $this->ranger_attribute( '' ),
	'navWordSpacing'        => $this->ranger_attribute( '' ),
	'navLineHeight'         => array(
		'type'    => 'object',
		'default' => array(
			'device' => array(
				'Desktop' => '',
				'Tablet'  => '',
				'Mobile'  => '',
			),
			// 'unit'   => array(
			// 'Desktop' => 'px',
			// 'Tablet'  => 'px',
			// 'Mobile'  => 'px',
			// ),
		),
	),

	'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%)',
			),
		),
	),
	'imageOverlayOpacity'   => array(
		'type'    => 'number',
		'default' => 0.6,
	),

	'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(),
	),
	'metaSeparator'         => array(
		'type'    => 'string',
		'default' => '',
	),
);
