PluginProbe
Elementor Website Builder – more than just a page builder / 4.0.0
Elementor Website Builder – more than just a page builder v4.0.0
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 4.0.7 All 451 releases
elementor / modules / components / documents / component-overridable-props.php

component-overridable-props.php in Elementor Website Builder – more than just a page builder 4.0.0, at modules/components/documents/component-overridable-props.php

37 lines 1003 B
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 namespace Elementor\Modules\Components\Documents;
3
4 if ( ! defined( 'ABSPATH' ) ) {
5 exit; // Exit if accessed directly
6 }
7
8 class Component_Overridable_Props {
9 /** @var array{ [string]: Component_Overridable_Prop } */
10 public array $props;
11 public array $groups;
12
13 private function __construct( $overridable_props_meta ) {
14 if ( is_string( $overridable_props_meta ) && ! empty( $overridable_props_meta ) ) {
15 $overridable_props_meta = json_decode( $overridable_props_meta, true );
16 }
17
18 if ( empty( $overridable_props_meta ) ) {
19 $this->props = [];
20 $this->groups = [];
21
22 return;
23 }
24
25 $formatted_props = array_map( function( array $overridable_prop ) {
26 return Component_Overridable_Prop::make( $overridable_prop );
27 }, $overridable_props_meta['props'] ?? [] );
28
29 $this->props = $formatted_props;
30 $this->groups = $overridable_props_meta['groups'] ?? [];
31 }
32
33 public static function make( array $overridable_props_meta ): self {
34 return new self( $overridable_props_meta );
35 }
36 }
37