File: /mnt/data/smarthr-co-in/wp-content/plugins/dreamslanding-widgets/plugin.php
<?php
namespace Dreamslandingelementor;
use Dreamslandingelementor\Widgets\DTS_hero_banner;
use Dreamslandingelementor\Widgets\DTS_trust_signals;
use Dreamslandingelementor\Widgets\DTS_enterprise;
use Dreamslandingelementor\Widgets\DTS_awards_ribbon;
use Dreamslandingelementor\Widgets\DTS_box;
use Dreamslandingelementor\Widgets\DTS_platform_cards;
use Dreamslandingelementor\Widgets\DTS_industry_specific_value;
use Dreamslandingelementor\Widgets\DTS_advanced_feature;
use Dreamslandingelementor\Widgets\DTS_saas_management;
use Dreamslandingelementor\Widgets\DTS_value_ahead;
use Dreamslandingelementor\Widgets\DTS_own_your_data;
use Dreamslandingelementor\Widgets\DTS_faq;
use Dreamslandingelementor\Widgets\DTS_home_blog;
use Dreamslandingelementor\Widgets\DTS_Vertical_Tabs;
use Dreamslandingelementor\Widgets\DL_Accordion;
use Dreamslandingelementor\Widgets\DTS_icon_box;
use Dreamslandingelementor\Widgets\DL_Cta_Box;
use Dreamslandingelementor\Widgets\DTS_Card_box;
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
/**
* Main Plugin Class
*
* Register new elementor widget.
*
* @since 1.0.0
*/
class Plugin {
/**
* Constructor
*
* @since 1.0.0
*
* @access public
*/
public function __construct() {
$this->add_actions();
}
/**
* Add Actions
*
* @since 1.0.0
*
* @access private
*/
private function add_actions() {
\add_action( 'elementor/widgets/register', [ $this, 'on_widgets_registered' ] );
\add_action( 'elementor/frontend/after_register_scripts', function() {
\wp_register_script( 'dreamslandingelementor-elementor', \plugins_url( '/assets/js/dreamslandingelementor-elementor.js', ELEMENTOR_DREAMSLANDINGELEMENTOR__FILE__ ), [ 'jquery' ], false, true );
\wp_localize_script( 'dreamslandingelementor-elementor', 'ajax_object', array( 'ajax_url' => \admin_url( 'admin-ajax.php' ) ) );
\wp_register_script( 'markerclusterer', \plugins_url( '/assets/js/markerclusterer.js', ELEMENTOR_DREAMSLANDINGELEMENTOR__FILE__ ), [ 'jquery' ], false, true );
} );
// Register script handle in Elementor editor context as well (no enqueue here)
\add_action( 'elementor/editor/after_register_scripts', function() {
\wp_register_script( 'dreamslandingelementor-elementor', \plugins_url( '/assets/js/dreamslandingelementor-elementor.js', ELEMENTOR_DREAMSLANDINGELEMENTOR__FILE__ ), [ 'jquery' ], false, true );
} );
// Frontend enqueue
\add_action( 'elementor/frontend/before_enqueue_scripts', function() {
\wp_enqueue_script( 'dreamslandingelementor-elementor' );
} );
// Enqueue our (now minimal) JS inside the preview iframe to force visibility + observer
\add_action( 'elementor/preview/enqueue_scripts', function() {
if ( ! \wp_script_is( 'dreamslandingelementor-elementor', 'registered' ) ) {
\wp_register_script( 'dreamslandingelementor-elementor', \plugins_url( '/assets/js/dreamslandingelementor-elementor.js', ELEMENTOR_DREAMSLANDINGELEMENTOR__FILE__ ), [ 'jquery' ], false, true );
}
\wp_enqueue_script( 'dreamslandingelementor-elementor' );
} );
// Editor safeguard CSS to keep AOS-visible
\add_action( 'elementor/editor/after_enqueue_styles', function() {
$css = 'html body [data-aos],html body .aos-init,html body .aos-init[data-aos]{opacity:1!important;transform:none!important;visibility:visible!important;transition:none!important}';
\wp_register_style( 'dreamslandingelementor-editor-inline', false );
\wp_enqueue_style( 'dreamslandingelementor-editor-inline' );
\wp_add_inline_style( 'dreamslandingelementor-editor-inline', $css );
} );
// Also inject the same CSS into the preview iframe (canvas)
\add_action( 'elementor/preview/enqueue_styles', function() {
$css = 'html body [data-aos],html body .aos-init,html body .aos-init[data-aos]{opacity:1!important;transform:none!important;visibility:visible!important;transition:none!important}';
\wp_register_style( 'dreamslandingelementor-preview-inline', false );
\wp_enqueue_style( 'dreamslandingelementor-preview-inline' );
\wp_add_inline_style( 'dreamslandingelementor-preview-inline', $css );
} );
}
/**
* On Widgets Registered
*
* @since 1.0.0
*
* @access public
*/
public function on_widgets_registered() {
$this->includes();
$this->register_widget();
}
/**
* Includes
*
* @since 1.0.0
*
* @access private
*/
private function includes() {
require __DIR__ . '/widgets/class-hero-banner.php';
require __DIR__ . '/widgets/class-trust-signals.php';
require __DIR__ . '/widgets/class-enterprise.php';
require __DIR__ . '/widgets/class-awards-ribbon.php';
require __DIR__ . '/widgets/class-box.php';
require __DIR__ . '/widgets/class-platform-cards.php';
require __DIR__ . '/widgets/class-industry-specific-value.php';
require __DIR__ . '/widgets/class-advanced-feature.php';
require __DIR__ . '/widgets/class-saas-management.php';
require __DIR__ . '/widgets/class-value-ahead.php';
require __DIR__ . '/widgets/class-own-your-data.php';
require __DIR__ . '/widgets/class-faq.php';
require __DIR__ . '/widgets/class-home-blog.php';
require __DIR__ . '/widgets/class-vertical-tabs.php';
require __DIR__ . '/widgets/class-dl-accordion.php';
require __DIR__ . '/widgets/class-icon-box.php';
require __DIR__ . '/widgets/Cta_Box.php';
require __DIR__ . '/widgets/class-box-card.php';
}
/**
* Register Widget
*
* @since 1.0.0
*
* @access private
*/
private function register_widget() {
\Elementor\Plugin::instance()->widgets_manager->register( new DTS_hero_banner() );
\Elementor\Plugin::instance()->widgets_manager->register( new DTS_trust_signals() );
\Elementor\Plugin::instance()->widgets_manager->register( new DTS_enterprise() );
\Elementor\Plugin::instance()->widgets_manager->register( new DTS_awards_ribbon() );
\Elementor\Plugin::instance()->widgets_manager->register( new DTS_box() );
\Elementor\Plugin::instance()->widgets_manager->register( new DTS_platform_cards() );
\Elementor\Plugin::instance()->widgets_manager->register( new DTS_industry_specific_value() );
\Elementor\Plugin::instance()->widgets_manager->register( new DTS_advanced_feature() );
\Elementor\Plugin::instance()->widgets_manager->register( new DTS_saas_management() );
\Elementor\Plugin::instance()->widgets_manager->register( new DTS_value_ahead() );
\Elementor\Plugin::instance()->widgets_manager->register( new DTS_own_your_data() );
\Elementor\Plugin::instance()->widgets_manager->register( new DTS_faq() );
\Elementor\Plugin::instance()->widgets_manager->register( new DTS_home_blog() );
\Elementor\Plugin::instance()->widgets_manager->register( new DTS_Vertical_Tabs() );
\Elementor\Plugin::instance()->widgets_manager->register( new DL_Accordion() );
\Elementor\Plugin::instance()->widgets_manager->register( new DTS_icon_box() );
\Elementor\Plugin::instance()->widgets_manager->register( new DL_Cta_Box() );
\Elementor\Plugin::instance()->widgets_manager->register( new DTS_Card_box() );
}
}
new Plugin();