- WordPress 6.9.4 (es_ES) with Kadence theme - Homepage: Hero, La Asociación, Pilares, Beneficios, Eventos, Miembros, Hazte Miembro, Contacto - Brand identity: #13294b navy, #a12932 burgundy, #c69c48 gold - Fonts: Raleway (headings) + Source Sans 3 (body) + Lato (UI) - Plugins: Kadence Blocks, Polylang, Contact Form 7 - Custom CSS with full brand styling and responsive layout - HTTPS enforced via wp-config.php proxy detection
41 lines
869 B
PHP
41 lines
869 B
PHP
<?php declare( strict_types=1 );
|
|
|
|
namespace KadenceWP\KadenceBlocks\Optimizer\Response;
|
|
|
|
/**
|
|
* Data Transfer Object representing a single entry in an image srcset attribute.
|
|
*
|
|
* Contains the URL and width descriptor for a responsive image source,
|
|
* used to build complete srcset attributes for optimized image delivery.
|
|
*/
|
|
final class SrcsetEntry {
|
|
|
|
public string $url;
|
|
public int $width;
|
|
|
|
private function __construct( string $url, int $width ) {
|
|
$this->url = $url;
|
|
$this->width = $width;
|
|
}
|
|
|
|
/**
|
|
* @param array{url: string, width: int} $attributes
|
|
*/
|
|
public static function from( array $attributes ): self {
|
|
return new self(
|
|
$attributes['url'],
|
|
$attributes['width']
|
|
);
|
|
}
|
|
|
|
/**
|
|
* @return array{url: string, width: int}
|
|
*/
|
|
public function toArray(): array {
|
|
return [
|
|
'url' => $this->url,
|
|
'width' => $this->width,
|
|
];
|
|
}
|
|
}
|