| @@ -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() ); |