PluginProbe
Elementor Website Builder – more than just a page builder / 4.1.0-dev3
Elementor Website Builder – more than just a page builder v4.1.0-dev3
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
← All changes | modules/atomic-widgets/module.php +20 -21 4.2.34.1.0-dev3 View file →
@@ -2,17 +2,14 @@
2 2
3 3 namespace Elementor\Modules\AtomicWidgets;
4 4
5 5 use Elementor\Core\Base\Module as BaseModule;
6 -use Elementor\Core\Common\Modules\Ajax\Module as Ajax;
7 6 use Elementor\Core\Experiments\Manager as Experiments_Manager;
8 7 use Elementor\Elements_Manager;
9 -use Elementor\Modules\AtomicWidgets\Ajax\Render_Element_Action;
10 8 use Elementor\Modules\AtomicWidgets\DynamicTags\Dynamic_Tags_Module;
11 9 use Elementor\Modules\AtomicWidgets\Elements\Atomic_Youtube\Atomic_Youtube;
12 10 use Elementor\Modules\AtomicWidgets\Elements\Div_Block\Div_Block;
13 11 use Elementor\Modules\AtomicWidgets\Elements\Flexbox\Flexbox;
14 -use Elementor\Modules\AtomicWidgets\Elements\Grid\Grid;
15 12 use Elementor\Modules\AtomicWidgets\Elements\Atomic_Heading\Atomic_Heading;
16 13 use Elementor\Modules\AtomicWidgets\Elements\Atomic_Image\Atomic_Image;
17 14 use Elementor\Modules\AtomicWidgets\Elements\Atomic_Paragraph\Atomic_Paragraph;
18 15 use Elementor\Modules\AtomicWidgets\Elements\Atomic_Button\Atomic_Button;
@@ -22,9 +19,8 @@
22 19 use Elementor\Modules\AtomicWidgets\Elements\Atomic_Tabs\Atomic_Tabs_Menu\Atomic_Tabs_Menu;
23 20 use Elementor\Modules\AtomicWidgets\Elements\Atomic_Tabs\Atomic_Tab\Atomic_Tab;
24 21 use Elementor\Modules\AtomicWidgets\Elements\Atomic_Tabs\Atomic_Tabs_Content_Area\Atomic_Tabs_Content_Area;
25 22 use Elementor\Modules\AtomicWidgets\ImportExport\Atomic_Import_Export;
26 -use Elementor\Modules\AtomicWidgets\Elements\Promotions\Pro_Promotion_Data_Preservation;
27 23 use Elementor\Modules\AtomicWidgets\Elements\Loader\Frontend_Assets_Loader;
28 24 use Elementor\Modules\AtomicWidgets\PropsResolver\Transformers\Combine_Array_Transformer;
29 25 use Elementor\Modules\AtomicWidgets\PropsResolver\Transformers\Export\Image_Src_Export_Transformer;
30 26 use Elementor\Modules\AtomicWidgets\PropsResolver\Transformers\Export\Svg_Src_Export_Transformer;
@@ -46,9 +42,8 @@
46 42 use Elementor\Modules\AtomicWidgets\PropsResolver\Transformers\Styles\Color_Stop_Transformer;
47 43 use Elementor\Modules\AtomicWidgets\PropsResolver\Transformers\Styles\Multi_Props_Transformer;
48 44 use Elementor\Modules\AtomicWidgets\PropsResolver\Transformers\Styles\Position_Transformer;
49 45 use Elementor\Modules\AtomicWidgets\PropsResolver\Transformers\Styles\Shadow_Transformer;
50 -use Elementor\Modules\AtomicWidgets\PropsResolver\Transformers\Styles\Grid_Track_Size_Transformer;
51 46 use Elementor\Modules\AtomicWidgets\PropsResolver\Transformers\Styles\Size_Transformer;
52 47 use Elementor\Modules\AtomicWidgets\PropsResolver\Transformers\Styles\Stroke_Transformer;
53 48 use Elementor\Modules\AtomicWidgets\PropsResolver\Transformers\Styles\Background_Image_Overlay_Transformer;
54 49 use Elementor\Modules\AtomicWidgets\PropsResolver\Transformers\Styles\Background_Image_Overlay_Size_Scale_Transformer;
@@ -53,9 +48,8 @@
53 48 use Elementor\Modules\AtomicWidgets\PropsResolver\Transformers\Styles\Background_Image_Overlay_Transformer;
54 49 use Elementor\Modules\AtomicWidgets\PropsResolver\Transformers\Styles\Background_Image_Overlay_Size_Scale_Transformer;
55 50 use Elementor\Modules\AtomicWidgets\PropsResolver\Transformers\Styles\Background_Overlay_Transformer;
56 51 use Elementor\Modules\AtomicWidgets\PropsResolver\Transformers\Styles\Filter_Transformer;
57 -use Elementor\Modules\AtomicWidgets\PropsResolver\Transformers\Styles\Font_Family_Transformer;
58 52 use Elementor\Modules\AtomicWidgets\PropsResolver\Transformers\Styles\Transform_Origin_Transformer;
59 53 use Elementor\Modules\AtomicWidgets\PropsResolver\Transformers\Styles\Transition_Transformer;
60 54 use Elementor\Modules\AtomicWidgets\PropsResolver\Transformers\Styles\Transform_Rotate_Transformer;
61 55 use Elementor\Modules\AtomicWidgets\PropsResolver\Transformers\Styles\Transform_Skew_Transformer;
@@ -94,9 +88,8 @@
94 88 use Elementor\Modules\AtomicWidgets\PropTypes\Svg_Src_Prop_Type;
95 89 use Elementor\Modules\AtomicWidgets\PropTypes\Dimensions_Prop_Type;
96 90 use Elementor\Modules\AtomicWidgets\PropTypes\Position_Prop_Type;
97 91 use Elementor\Modules\AtomicWidgets\PropTypes\Shadow_Prop_Type;
98 -use Elementor\Modules\AtomicWidgets\PropTypes\Grid_Track_Size_Prop_Type;
99 92 use Elementor\Modules\AtomicWidgets\PropTypes\Size_Prop_Type;
100 93 use Elementor\Modules\AtomicWidgets\PropTypes\Stroke_Prop_Type;
101 94 use Elementor\Modules\AtomicWidgets\PropTypes\Transform\Functions\Transform_Move_Prop_Type;
102 95 use Elementor\Modules\AtomicWidgets\PropTypes\Transform\Transform_Functions_Prop_Type;
@@ -110,12 +103,10 @@
110 103 use Elementor\Modules\AtomicWidgets\Styles\Atomic_Widget_Base_Styles;
111 104 use Elementor\Modules\AtomicWidgets\Styles\Atomic_Widget_Styles;
112 105 use Elementor\Modules\AtomicWidgets\Styles\Size_Constants;
113 106 use Elementor\Modules\AtomicWidgets\Styles\Style_Schema;
114 -use Elementor\Modules\AtomicWidgets\CssConverter\Css_Converter_REST_API;
115 107 use Elementor\Modules\AtomicWidgets\Database\Atomic_Widgets_Database_Updater;
116 108 use Elementor\Modules\AtomicWidgets\Elements\Atomic_Tabs\Atomic_Tab_Content\Atomic_Tab_Content;
117 -use Elementor\Modules\AtomicWidgets\Elements\Atomic_Collection_Loop\Collection_Loop_Promotion;
118 109 use Elementor\Modules\AtomicWidgets\Elements\Atomic_Form\Atomic_Form;
119 110 use Elementor\Modules\AtomicWidgets\Elements\Atomic_Form\Atomic_Form_Promotion;
120 111 use Elementor\Modules\AtomicWidgets\Elements\Atomic_Form\Form_Success_Message\Form_Success_Message;
121 112 use Elementor\Modules\AtomicWidgets\Elements\Atomic_Form\Form_Error_Message\Form_Error_Message;
@@ -132,9 +123,8 @@
132 123 use Elementor\Modules\AtomicWidgets\Utils\Utils;
133 124 use Elementor\Modules\AtomicWidgets\Elements\Atomic_Self_Hosted_Video\Atomic_Self_Hosted_Video;
134 125 use Elementor\Modules\AtomicWidgets\PropsResolver\Transformers\Styles\Span_Transformer;
135 126 use Elementor\Modules\AtomicWidgets\PropsResolver\Transformers\Video_Src_Transformer;
136 -use Elementor\Modules\AtomicWidgets\PropTypes\Font_Family_Prop_Type;
137 127 use Elementor\Modules\AtomicWidgets\PropTypes\Span_Prop_Type;
138 128 use Elementor\Modules\AtomicWidgets\PropTypes\Video_Src_Prop_Type;
139 129
140 130 if ( ! defined( 'ABSPATH' ) ) {
@@ -144,8 +134,10 @@
144 134 class Module extends BaseModule {
145 135 const EXPERIMENT_NAME = 'e_atomic_elements';
146 136 const ENFORCE_CAPABILITIES_EXPERIMENT = 'atomic_widgets_should_enforce_capabilities';
147 137 const EXPERIMENT_EDITOR_MCP = 'editor_mcp';
138 + const EXPERIMENT_CSS_GRID = 'e_css_grid';
139 + const EXPERIMENT_DESIGN_SYSTEM_PANEL = 'e_editor_design_system_panel';
148 140
149 141 const PACKAGES = [
150 142 'editor-canvas',
151 143 'editor-controls', // TODO: Need to be registered and not enqueued.
@@ -185,10 +177,8 @@
185 177 add_action( 'elementor/preview/enqueue_styles', fn () => $this->enqueue_promotion_styles() );
186 178 add_action( 'elementor/frontend/before_register_scripts', fn () => $this->register_frontend_scripts() );
187 179 add_action( 'elementor/frontend/after_enqueue_styles', fn () => $this->add_inline_styles() );
188 180
189 - add_action( 'elementor/ajax/register_actions', fn ( Ajax $ajax ) => ( new Render_Element_Action() )->register( $ajax ) );
190 -
191 181 add_action( 'elementor/atomic-widgets/settings/transformers/register', fn ( $transformers ) => $this->register_settings_transformers( $transformers ) );
192 182 add_action( 'elementor/atomic-widgets/styles/transformers/register', fn ( $transformers ) => $this->register_styles_transformers( $transformers ) );
193 183 add_action( 'elementor/atomic-widgets/import/transformers/register', fn ( $transformers ) => $this->register_import_transformers( $transformers ) );
194 184 add_action( 'elementor/atomic-widgets/export/transformers/register', fn ( $transformers ) => $this->register_export_transformers( $transformers ) );
@@ -245,8 +235,26 @@
245 235 'default' => Experiments_Manager::STATE_ACTIVE,
246 236 'release_status' => Experiments_Manager::RELEASE_STATUS_DEV,
247 237 ]);
248 238
239 + Plugin::$instance->experiments->add_feature( [
240 + 'name' => self::EXPERIMENT_CSS_GRID,
241 + 'title' => esc_html__( 'CSS Grid', 'elementor' ),
242 + 'description' => esc_html__( 'Enable CSS Grid layout for containers.', 'elementor' ),
243 + 'hidden' => true,
244 + 'default' => Experiments_Manager::STATE_INACTIVE,
245 + 'release_status' => Experiments_Manager::RELEASE_STATUS_DEV,
246 + ] );
247 +
248 + Plugin::$instance->experiments->add_feature([
249 + 'name' => self::EXPERIMENT_DESIGN_SYSTEM_PANEL,
250 + 'title' => esc_html__( 'Editor design system panel', 'elementor' ),
251 + 'description' => esc_html__( 'Unified design system entry in the editor (toolbar + single panel for variables and global classes).', 'elementor' ),
252 + 'hidden' => true,
253 + 'default' => Experiments_Manager::STATE_ACTIVE,
254 + 'release_status' => Experiments_Manager::RELEASE_STATUS_DEV,
255 + ]);
256 +
249 257 // When a new feature affects settings or style schema, global class, interactions, variable, etc
250 258 // anything in need of addressing migration for BC purposes, add it here.
251 259 $migrations_affecting_features = [];
252 260
@@ -261,10 +269,8 @@
261 269 ( new Atomic_Widget_Base_Styles() )->register_hooks();
262 270 ( new Atomic_Widgets_Library() )->register_hooks();
263 271 ( new Atomic_Import_Export() )->register_hooks();
264 272 ( new Atomic_Widgets_Database_Updater() )->register();
265 - ( new Css_Converter_REST_API() )->register_hooks();
266 - ( new Pro_Promotion_Data_Preservation() )->register_hooks();
267 273 }
268 274
269 275 private function add_packages( $packages ) {
270 276 return array_merge( $packages, self::PACKAGES );
@@ -301,9 +307,8 @@
301 307
302 308 private function register_elements( Elements_Manager $elements_manager ) {
303 309 $elements_manager->register_element_type( new Div_Block() );
304 310 $elements_manager->register_element_type( new Flexbox() );
305 - $elements_manager->register_element_type( new Grid() );
306 311
307 312 $elements_manager->register_element_type( new Atomic_Tabs() );
308 313 $elements_manager->register_element_type( new Atomic_Tabs_Menu() );
309 314 $elements_manager->register_element_type( new Atomic_Tab() );
@@ -316,12 +321,8 @@
316 321 $elements_manager->register_element_type( new Form_Error_Message() );
317 322 } elseif ( ! \Elementor\Utils::has_pro() ) {
318 323 $elements_manager->register_element_type( new Atomic_Form_Promotion() );
319 324 }
320 -
321 - if ( ! \Elementor\Utils::has_pro() ) {
322 - $elements_manager->register_element_type( new Collection_Loop_Promotion() );
323 - }
324 325 }
325 326
326 327 private function register_settings_transformers( Transformers_Registry $transformers ) {
327 328 $transformers->register_fallback( new Plain_Transformer() );
@@ -350,11 +351,9 @@
350 351 $this->register_layout_styles_transformers( $transformers );
351 352 }
352 353
353 354 private function register_basic_styles_transformers( Transformers_Registry $transformers ): void {
354 - $transformers->register( Font_Family_Prop_Type::get_key(), new Font_Family_Transformer() );
355 355 $transformers->register( Size_Prop_Type::get_key(), new Size_Transformer() );
356 - $transformers->register( Grid_Track_Size_Prop_Type::get_key(), new Grid_Track_Size_Transformer() );
357 356 $transformers->register( Box_Shadow_Prop_Type::get_key(), new Combine_Array_Transformer( ',' ) );
358 357 $transformers->register( Shadow_Prop_Type::get_key(), new Shadow_Transformer() );
359 358 $transformers->register( Flex_Prop_Type::get_key(), new Flex_Transformer() );
360 359 $transformers->register( Stroke_Prop_Type::get_key(), new Stroke_Transformer() );