<?php declare(strict_types=1);namespace WodkaHoverOnListingSW6\Services;use Shopware\Core\Framework\Struct\Struct;class HoverOnListingConfiguration extends Struct{ /** * @var bool */ private bool $active; /** * @var bool */ private bool $useOnHoverColor; /** * @var bool */ private bool $clickableProductBlock; /** * @var string */ private string $onHoverItemColor; /** * @var bool */ private bool $imageSliderActive; /** * @var bool */ private bool $activeListingGrid; /** * @var bool */ private bool $activeFlipDescription; /** * @var string|null */ private ?string $navigationDotsPosition; /** * @var string|null */ private ?string $navigationArrowsPosition; /** * @var bool */ private bool $activeImageHover; /** * @var string|null */ private ?string $imageHoverEffects; /** * @var string */ private string $navigationArrowsColor; /** * @var string */ private string $activeNavigationDotColor; /** * @var string */ private string $inactiveNavigationDotColor; /** * @var bool */ private bool $autoplay; public function __construct(array $data) { $this->active = $data['active'] ?? false; $this->useOnHoverColor = $data['useOnHoverColor'] ?? false; $this->clickableProductBlock = $data['clickableProductBlock'] ?? false; $this->onHoverItemColor = $data['onHoverItemColor'] ?? ''; $this->activeFlipDescription = $data['activeFlipDescription'] ?? false; $this->imageSliderActive = $data['imageSliderActive'] ?? false; $this->activeListingGrid = $data['activeListingGrid'] ?? false; $this->navigationDotsPosition = $data['navigationDotsPosition'] ?? null; $this->navigationArrowsPosition = $data['navigationArrowsPosition'] ?? null; $this->activeImageHover = $data['activeImageHover'] ?? false; $this->imageHoverEffects = $data['imageHoverEffects'] ?? 'zoom'; $this->navigationArrowsColor = $data['navigationArrowsColor'] ?? ''; $this->activeNavigationDotColor = $data['activeNavigationDotColor'] ?? ''; $this->inactiveNavigationDotColor = $data['inactiveNavigationDotColor'] ?? ''; $this->autoplay = $data['autoplay'] ?? false; } /** * @return bool */ public function isActive(): bool { return $this->active; } /** * @return bool */ public function useOnHoverColor(): bool { return $this->useOnHoverColor; } /** * @return bool */ public function clickableProductBlock(): bool { return $this->clickableProductBlock; } /** * @return string */ public function getOnHoverItemColor(): string { return $this->onHoverItemColor; } /** * @return bool */ public function isActiveFlipDescription(): bool { return $this->activeFlipDescription; } /** * @return bool */ public function isImageSliderActive(): bool { return $this->imageSliderActive; } /** * @return bool */ public function isActiveListingGrid(): bool { return $this->activeListingGrid; } /** * @return string|null */ public function getNavigationDotsPosition(): ?string { return $this->navigationDotsPosition; } /** * @return string|null */ public function getNavigationArrowsPosition(): ?string { return $this->navigationArrowsPosition; } /** * @return bool */ public function isActiveImageHover(): bool { return $this->activeImageHover; } /** * @return string|null */ public function getImageHoverEffects(): ?string { return $this->imageHoverEffects; } /** * @return string */ public function getNavigationArrowsColor(): string { return $this->navigationArrowsColor; } /** * @return string */ public function getActiveNavigationDotColor(): string { return $this->activeNavigationDotColor; } /** * @return string */ public function getInactiveNavigationDotColor(): string { return $this->inactiveNavigationDotColor; } /** * @return bool */ public function isAutoplay(): bool { return $this->autoplay; }}