assets = new Assets(); $this->actions(); } /** * Preloader Class Actions * * @since 1.5.0 */ public function actions() { add_action('wp_enqueue_scripts', function () { $this->assets->preloader_style(); $this->assets->preloader_script(); }); add_action('elementor/kit/register_tabs', [$this, 'register_site_settings'], 1, 40); add_action('wp_body_open', [$this, 'render_output'], 0); } /** * Register Preloader extension site_settings * * @since 1.5.0 * * @param object $kit */ public function register_site_settings(Kit $kit) { $kit->register_tab('afeb_preloader_kit_settings', PreloaderKit::class); } /** * Render Preloader extension output on the frontend * * @since 1.5.0 */ public function render_output() { $settings = []; $settings['loader'] = Helper::get_elementor_settings('afeb_preloader_loader'); if (!empty($settings['loader']) && $settings['loader'] != 'none' && !Helper::is_edit_mode()) { $settings['entrance_animation'] = Helper::get_elementor_settings('afeb_preloader_entrance_animation'); $settings['exit_animation'] = Helper::get_elementor_settings('afeb_preloader_exit_animation'); $settings['animation_duration'] = Helper::get_elementor_settings('afeb_preloader_animation_duration'); $entrance_animation = isset($settings['entrance_animation']) ? esc_attr($settings['entrance_animation']) : 'none'; $exit_animation = isset($settings['exit_animation']) ? esc_attr($settings['exit_animation']) : 'none'; $animation_duration = isset($settings['animation_duration']['size']) ? floatval($settings['animation_duration']['size']) : 300; $styles = []; $kit_settings = []; $kit_id = get_option('elementor_active_kit', -1); $default_kit = Plugin::instance()->documents->get_doc_for_frontend($kit_id); if ($default_kit && is_object($default_kit)) { $kit_settings = $default_kit->get_settings(); } if (!empty($kit_settings)) { if (!empty($kit_settings['afeb_preloader_background_color'])) { $styles[] = [ 'selectors' => ['.afeb-preloader',], 'rules' => ['background-color' => $kit_settings['afeb_preloader_background_color'],], ]; } if (!empty($kit_settings['afeb_preloader_loader_animation_background_color'])) { $styles[] = [ 'selectors' => [ '.afeb-modern-loader .afeb-bar', '.afeb-worm-crawl-loader .afeb-circle:before', ], 'rules' => ['background-color' => $kit_settings['afeb_preloader_loader_animation_background_color'],], ]; } if (!empty($kit_settings['afeb_preloader_loader_animation_color'])) { $styles[] = [ 'selectors' => [ '.afeb-whirlwind-loader:after', '.afeb-whirlwind-loader:before', '.afeb-whirlwind-loader', '.afeb-speedster-loader .afeb-bar::before', ], 'rules' => ['border-top-color' => $kit_settings['afeb_preloader_loader_animation_color'],], ]; } if (!empty($kit_settings['afeb_preloader_animation_scale']['size'])) { $styles[] = [ 'selectors' => ['.afeb-preloader .afeb-loader',], 'rules' => ['transform' => 'scale(' . $kit_settings['afeb_preloader_animation_scale']['size'] . ')',], ]; } } if (!empty($styles)) { echo ''; } ?>
'; switch ($loader_animation) { case 'modern': $loader_animation_content .= '
'; for ($i = 0; $i < 5; $i++) $loader_animation_content .= '
'; $loader_animation_content .= '
'; break; case 'whirlwind': $loader_animation_content .= '
'; break; case 'speedster': $loader_animation_content .= '
'; for ($i = 0; $i < 4; $i++) $loader_animation_content .= '
'; $loader_animation_content .= '
'; break; case 'worm-crawl': $loader_animation_content .= '
'; for ($i = 0; $i < 12; $i++) $loader_animation_content .= '
'; $loader_animation_content .= '
'; break; } $loader_animation_content .= '
'; echo $loader_animation_content; } ?>