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