# elementor/4.3.0-beta1/modules/default-styles/module.php

Elementor Website Builder – more than just a page builder, version 4.3.0-beta1. 88 lines.

- Page: https://pluginprobe.com/plugins/elementor/4.3.0-beta1/code/modules/default-styles/module.php
- Raw: https://pluginprobe.com/plugins/elementor/4.3.0-beta1/raw/modules/default-styles/module.php
- Modified: 2026-09-01T11:47:36+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/elementor/4.3.0-beta1/code/modules/default-styles/module.php#L10-L20`.

```php
<?php

namespace Elementor\Modules\DefaultStyles;

use Elementor\Core\Base\Module as BaseModule;
use Elementor\Modules\AtomicWidgets\Module as Atomic_Widgets_Module;
use Elementor\Modules\DefaultStyles\ImportExportCustomization\Import_Export_Customization;
use Elementor\Plugin;

if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

class Module extends BaseModule {
	const PACKAGES = [
		'editor-default-styles',
	];

	public function get_name() {
		return 'default-styles';
	}

	public function __construct() {
		parent::__construct();

		if ( ! Plugin::$instance->experiments->is_feature_active( Atomic_Widgets_Module::EXPERIMENT_NAME ) ) {
			return;
		}

		add_filter( 'elementor/editor/v2/packages', fn( $packages ) => $this->add_packages( $packages ) );

		( new Default_Style_Post_Type() )->register();
		( new Default_Styles_Tag_Post_IDs() )->register_hooks();

		add_filter( 'elementor/editor/localize_settings', fn( $settings ) => $this->add_editor_localize_settings( $settings ) );

		( new Default_Styles_REST_API() )->register_hooks();
		( new Atomic_Default_Styles() )->register_hooks();
		( new Import_Export_Customization() )->register_hooks();

		add_filter(
			'elementor/kit/meta_to_preserve_on_kit_import',
			[ $this, 'add_meta_to_preserve_on_kit_import' ]
		);

		add_action( 'elementor/kit/after_new_kit_created', [ $this, 'clone_default_styles_for_new_kit' ], 10, 1 );
	}

	public function add_meta_to_preserve_on_kit_import( array $meta_keys ): array {
		return array_merge( $meta_keys, [
			Default_Styles_Tag_Post_IDs::META_KEY,
		] );
	}

	public function clone_default_styles_for_new_kit( array $params ): void {
		[ 'new_kit_id' => $new_kit_id, 'previous_kit_id' => $previous_kit_id ] = $params;

		$previous_kit = Plugin::$instance->kits_manager->get_kit( $previous_kit_id );
		$new_kit = Plugin::$instance->kits_manager->get_kit( $new_kit_id );

		if ( ! $previous_kit || ! $new_kit ) {
			return;
		}

		$tags = Default_Styles_Tag_Post_IDs::make( $previous_kit )->get_all();

		foreach ( array_keys( $tags ) as $tag ) {
			Default_Style_Post::clone_to_other_kit( $tag, $previous_kit, $new_kit );
		}
	}

	private function add_packages( $packages ) {
		return array_merge( $packages, self::PACKAGES );
	}

	private function add_editor_localize_settings( array $settings ): array {
		if ( ! isset( $settings['atomic'] ) ) {
			$settings['atomic'] = [];
		}

		$settings['atomic']['default_styles'] = [
			'allowed_tags' => Default_Styles_Allowed_Tags::TAGS,
		];

		return $settings;
	}
}

```
