PluginProbe
Elementor Website Builder – more than just a page builder / 3.27.0-dev2
Elementor Website Builder – more than just a page builder v3.27.0-dev2
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 / atomic-widgets / base / atomic-element-base.php

atomic-element-base.php in Elementor Website Builder – more than just a page builder 3.27.0-dev2, at modules/atomic-widgets/base/atomic-element-base.php

48 lines 1.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace Elementor\Modules\AtomicWidgets\Base;
4
5 use Elementor\Element_Base;
6 use Elementor\Modules\AtomicWidgets\PropTypes\Concerns\Has_Atomic_Base;
7 use Elementor\Modules\AtomicWidgets\PropTypes\Contracts\Prop_Type;
8
9 if ( ! defined( 'ABSPATH' ) ) {
10 exit; // Exit if accessed directly.
11 }
12
13 abstract class Atomic_Element_Base extends Element_Base {
14
15 use Has_Atomic_Base;
16
17 protected $version = '0.0';
18 protected $styles = [];
19
20 public function __construct( $data = [], $args = null ) {
21 parent::__construct( $data, $args );
22
23 $this->version = $data['version'] ?? '0.0';
24 $this->styles = $data['styles'] ?? [];
25 }
26
27 abstract protected function define_atomic_controls(): array;
28
29 final public function get_initial_config() {
30 $config = parent::get_initial_config();
31
32 $config['atomic_controls'] = $this->get_atomic_controls();
33 $config['atomic_props_schema'] = static::get_props_schema();
34 $config['version'] = $this->version;
35 $config['show_in_panel'] = true;
36 $config['categories'] = [ 'layout' ];
37 $config['hide_on_search'] = false;
38 $config['controls'] = [];
39
40 return $config;
41 }
42
43 /**
44 * @return array<string, Prop_Type>
45 */
46 abstract protected static function define_props_schema(): array;
47 }
48