PluginProbe
Elementor Website Builder – more than just a page builder / 4.3.0-beta3
Elementor Website Builder – more than just a page builder v4.3.0-beta3
4.3.0-beta3 4.3.0-beta2 4.3.0-beta1 4.2.4 4.2.3 4.2.2 4.2.1 4.2.0 4.1.5 4.2.0-beta2 4.2.0-dev2 4.2.0-beta1 4.1.4 4.1.3 4.1.2 4.1.1 4.1.0 4.1.0-beta3 4.1.0-dev3 4.0.9 4.1.0-beta2 4.1.0-dev2 4.0.8 4.1.0-beta1 4.1.0-dev1 All 452 releases
elementor / modules / components / variants / component-variants.php

component-variants.php in Elementor Website Builder – more than just a page builder 4.3.0-beta3, at modules/components/variants/component-variants.php

39 lines 764 B
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace Elementor\Modules\Components\Variants;
4
5 if ( ! defined( 'ABSPATH' ) ) {
6 exit;
7 }
8
9 class Component_Variants {
10 /** @var Component_Variant[] */
11 public array $variants;
12
13 private function __construct( array $variants_meta ) {
14 if ( empty( $variants_meta['variants'] ) ) {
15 $this->variants = [];
16
17 return;
18 }
19
20 $this->variants = array_map(
21 fn( array $variant ) => Component_Variant::make( $variant ),
22 $variants_meta['variants']
23 );
24 }
25
26 public static function make( array $variants_meta ): self {
27 return new self( $variants_meta );
28 }
29
30 public function to_associative_array(): array {
31 return [
32 'variants' => array_map(
33 fn( Component_Variant $variant ) => $variant->to_associative_array(),
34 $this->variants
35 ),
36 ];
37 }
38 }
39