| 1 |
<?php |
| 2 |
|
| 3 |
namespace Elementor\Modules\Components; |
| 4 |
|
| 5 |
use Elementor\Modules\AtomicWidgets\PropTypes\Utils\Prop_Types_Schema_Extender; |
| 6 |
use Elementor\Modules\AtomicWidgets\PropTypes\Contracts\Prop_Type; |
| 7 |
use Elementor\Modules\Components\PropTypes\Overridable_Prop_Type; |
| 8 |
use Elementor\Modules\GlobalClasses\Utils\Atomic_Elements_Utils; |
| 9 |
|
| 10 |
if ( ! defined( 'ABSPATH' ) ) { |
| 11 |
exit; |
| 12 |
} |
| 13 |
|
| 14 |
class Overridable_Schema_Extender extends Prop_Types_Schema_Extender { |
| 15 |
public static function make(): self { |
| 16 |
return new static(); |
| 17 |
} |
| 18 |
|
| 19 |
protected function get_prop_types_to_add( Prop_Type $prop_type ): array { |
| 20 |
$is_ignore_overridable_applied = ! $prop_type->get_meta_item( Overridable_Prop_Type::META_KEY, true ); |
| 21 |
$is_classes_prop = Atomic_Elements_Utils::is_classes_prop( $prop_type ); |
| 22 |
|
| 23 |
if ( $is_ignore_overridable_applied || $is_classes_prop ) { |
| 24 |
return []; |
| 25 |
} |
| 26 |
return [ Overridable_Prop_Type::make()->set_origin_prop_type( $prop_type ) ]; |
| 27 |
} |
| 28 |
} |
| 29 |
|