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; } }