/home/grlogisticsandse/www/wp-content/plugins/sliderkits/includes/class-elementor-widgets.php
<?php
use \Elementor\Plugin;

/**
 * Elementor Module
 *
 * @package SliderKits
 * @since 1.0
 */

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

class SK_Elementor_Widgets {
   private static $instance = null;

   public static function get_instance() {
     if ( ! self::$instance )
       self::$instance = new self;
     return self::$instance;
   }

   public function init(){
      add_action( 'elementor/widgets/widgets_registered', array( $this, 'widgets_registered' ) );
      add_action( 'elementor/elements/categories_registered', array( $this, 'new_elementor_category' ) );
   }

   public function new_elementor_category($elements_manager) {
        $elements_manager->add_category(
            'sliderkits',
            array(
                'title' => esc_html__( 'SliderKits', 'sliderkits' ),
                'icon' => 'fa fa-shopping-cart',
            ),
            2
        );
   }

   public function widgets_registered( $widgets_manager ) {
      include( 'widgets/default-slider.php' );
      $widgets_manager->register_widget_type( new SK_Default_Slider_Widget() );

      include( 'widgets/default-gallery.php' );
      $widgets_manager->register_widget_type( new SK_Default_Gallery_Widget() );

      include( 'widgets/accordion-slider.php' );
      $widgets_manager->register_widget_type( new SK_Accordion_Slider_Widget() );

      include( 'widgets/split-slider.php' );
      $widgets_manager->register_widget_type( new SK_Split_Slider_Widget() );

      include( 'widgets/carousel-slider.php' );
      $widgets_manager->register_widget_type( new SK_Carousel_Slider_Widget() );

      include( 'widgets/carousel-popup.php' );
      $widgets_manager->register_widget_type( new SK_Carousel_Popup_Widget() );

      include( 'widgets/carousel-with-background.php' );
      $widgets_manager->register_widget_type( new SK_Carousel_With_Bg_Widget() );

      include( 'widgets/app-slider.php' );
      $widgets_manager->register_widget_type( new SK_App_Slider_Widget() );

      include( 'widgets/team-slider.php' );
      $widgets_manager->register_widget_type( new SK_Team_Slider_Widget() );

      include( 'widgets/blog-slider.php' );
      $widgets_manager->register_widget_type( new SK_Blog_Slider_Widget() );
   }

   // Load Widget Template
   public static function widget_template( $template_name,$settings ) {
          $templates = new SK_Template_Loader();
          foreach( $settings as $key => $value ) {
              $data[$key] = $value;
          }

          ob_start();
          $templates
            ->set_template_data( $data, 'sk_data' )
            ->get_template_part( $template_name );
          echo ob_get_clean();
    }
}

SK_Elementor_Widgets::get_instance()->init();