override_key = $overridable_prop['overrideKey']; $this->element_id = $overridable_prop['elementId']; $this->el_type = $overridable_prop['elType']; $this->widget_type = $overridable_prop['widgetType']; $this->prop_key = $overridable_prop['propKey']; $this->label = $overridable_prop['label']; $this->origin_value = $overridable_prop['originValue']; $this->group_id = $overridable_prop['groupId'] ?? null; if ( isset( $overridable_prop['originPropFields'] ) ) { $this->origin_prop_fields = [ 'el_type' => $overridable_prop['originPropFields']['elType'], 'widget_type' => $overridable_prop['originPropFields']['widgetType'], 'prop_key' => $overridable_prop['originPropFields']['propKey'], 'element_id' => $overridable_prop['originPropFields']['elementId'], ]; } } public static function make( array $overridable_prop ): self { return new self( $overridable_prop ); } }