/home/preegmxb/qasmartz.theoriginalsstudios.com/wp-content/plugins/lexend-core/plugin.php
<?php
namespace GenixCore;

use GenixCore\PageSettings\Page_Settings;
use Elementor\Controls_Manager;


/**
 * Class Plugin
 *
 * Main Plugin class
 * @since 1.2.0
 */
class Genix_Core_Plugin {

	/**
	 * Instance
	 *
	 * @since 1.2.0
	 * @access private
	 * @static
	 *
	 * @var Plugin The single instance of the class.
	 */
	private static $_instance = null;

	/**
	 * Instance
	 *
	 * Ensures only one instance of the class is loaded or can be loaded.
	 *
	 * @since 1.2.0
	 * @access public
	 *
	 * @return Plugin An instance of the class.
	 */
	public static function instance() {
		if ( is_null( self::$_instance ) ) {
			self::$_instance = new self();
		}
		return self::$_instance;
	}

	/**
	 * Add Category
	 */

    public function genix_core_elementor_category($manager)
    {
        $manager->add_category(
            'genixcore',
            array(
                'title' => esc_html__('Lexend Addons', 'genixcore'),
                'icon' => 'eicon-banner',
            )
        );
    }

	/**
	 * widget_scripts
	 *
	 * Load required plugin core files.
	 *
	 * @since 1.2.0
	 * @access public
	 */
	public function widget_scripts() {
		wp_register_script( 'genixcore', plugins_url( '/assets/js/hello-world.js', __FILE__ ), [ 'jquery' ], false, true );
	}

	/**
	 * Editor scripts
	 *
	 * Enqueue plugin javascripts integrations for Elementor editor.
	 *
	 * @since 1.2.1
	 * @access public
	 */
	public function editor_scripts() {
		add_filter( 'script_loader_tag', [ $this, 'editor_scripts_as_a_module' ], 10, 2 );

		wp_enqueue_script(
			'genixcore-editor',
			plugins_url( '/assets/js/editor/editor.js', __FILE__ ),
			[
				'elementor-editor',
			],
			'1.2.1',
			true
		);
	}


	/**
	 * genix_enqueue_editor_scripts
	 */
    function genix_enqueue_editor_scripts() {
        wp_enqueue_style('genix-element-addons-editor', GENIXCORE_ADDONS_URL . 'assets/css/editor.css', null, '1.0');
    }



	/**
	 * Force load editor script as a module
	 *
	 * @since 1.2.1
	 *
	 * @param string $tag
	 * @param string $handle
	 *
	 * @return string
	 */
	public function editor_scripts_as_a_module( $tag, $handle ) {
		if ( 'genixcore-editor' === $handle ) {
			$tag = str_replace( '<script', '<script type="module"', $tag );
		}

		return $tag;
	}

	/**
	 * Register Widgets
	 *
	 * Register new Elementor widgets.
	 *
	 * @since 1.2.0
	 * @access public
	 *
	 * @param Widgets_Manager $widgets_manager Elementor widgets manager.
	 */
	public function register_widgets( $widgets_manager ) {
		// Its is now safe to include Widgets files
		foreach($this->genixcore_widget_list() as $widget_file_name){
			require_once( GENIXCORE_ELEMENTS_PATH . "/{$widget_file_name}.php" );
		}
	}

	public function genixcore_widget_list() {
		return [
            'tg-header',
            'tg-btn',
            'heading',
            'section-title',
            'tg-text-editor',
            'background-shapes',
            'author-group',
            // 'link-title',
            // 'hero-image',
            'brand',
            'hero-img',
            'animated-img',
            'lexend-tab',
            // 'hero-slider',
            'icon-box',
            'menu-list',
            // 'portfolio-slider',
            // 'portfolio-pagination',
            'services-box',
            'social-list',
            'language-list',
            // 'marquee-text',
            'pricing',
            'pricing-tab',
            // 'services-list',
            // 'awards-list',
            // 'portfolio',
            // 'progressbar',
            'faq',
            'lexend-video',
            'cover-content',
            'megamenu-demos',
            // 'step-process',
            'team',
            'average-review',
            'tg-divider',
            'job-post',
            'testimonial',
            'timeline',
            'dark-light-img',
            'coming-soon',
            'key-features',
            'lexend-elements',
            'blog-post',
            'tg-contact-form',
		];
	}

	/**
	 * Add page settings controls
	 *
	 * Register new settings for a document page settings.
	 *
	 * @since 1.2.1
	 * @access private
	 */
	private function add_page_settings_controls() {
		require_once( __DIR__ . '/page-settings/manager.php' );
		new Page_Settings();
	}


	/**
	 * Register controls
	 *
	 * @param Controls_Manager $controls_Manager
	 */

    public function register_controls(Controls_Manager $controls_Manager)
    {
        include_once(GENIXCORE_ADDONS_DIR . '/controls/genixgradient.php');
        $genixgradient = 'GenixCore\Elementor\Controls\Group_Control_GenixGradient';
        $controls_Manager->add_group_control($genixgradient::get_type(), new $genixgradient());

        include_once(GENIXCORE_ADDONS_DIR . '/controls/genixbggradient.php');
        $genixbggradient = 'GenixCore\Elementor\Controls\Group_Control_GenixBGGradient';
        $controls_Manager->add_group_control($genixbggradient::get_type(), new $genixbggradient());
    }


    public function genix_add_custom_icons_tab($tabs = array()){


        // Append new icons
        $unicon_icons = array(
            'unicon-grid-filled',
            'unicon-logo-facebook-alt',
            'unicon-shopping-basket',
            'unicon-logo-dribbble',
            'unicon-cart',
            'unicon-cloud',
            'unicon-download-cloud',
            'unicon-drizzle-cloud',
            'unicon-lightning-cloud',
            'unicon-message-circle',
            'unicon-message-square',
            'unicon-rain-cloud',
            'unicon-snow-cloud',
            'unicon-sun',
            'unicon-sunrise',
            'unicon-sunset',
            'unicon-thermometer',
            'unicon-umbrella1',
            'unicon-upload-cloud',
            'unicon-wind',
            'unicon-document-alt-filled',
            'unicon-document-alt',
            'unicon-document-blank-filled',
            'unicon-folder-filled',
            'unicon-user-group-filled',
            'unicon-image-gallery-filled',
            'unicon-image-slider-filled',
            'unicon-checkbox-checked-filled',
            'unicon-checkmark-alt',
            'unicon-checkmark-outline-filled',
            'unicon-email-filled',
            'unicon-image-filled',
            'unicon-star-half-alt-filled',
            'unicon-star-half-filled',
            'unicon-trophy-filled',
            'unicon-view-alt-filled',
            'unicon-delete-filled',
            'unicon-add-alt-filled',
            'unicon-asleep-filled',
            'unicon-blog-filled',
            'unicon-bookmark-filled',
            'unicon-data-1-filled',
            'unicon-home-filled',
            'unicon-idea-filled',
            'unicon-layers-filled',
            'unicon-location-filled',
            'unicon-locked-filled',
            'unicon-logo-instagram-filled',
            'unicon-logo-x-filled',
            'unicon-logo-x',
            'unicon-phone-filled',
            'unicon-printer-filled',
            'unicon-reply-filled',
            'unicon-request-quote-filled',
            'unicon-security-filled',
            'unicon-settings-adjust-filled',
            'unicon-settings-filled',
            'unicon-share-filled',
            'unicon-shopping-cart-alt-filled',
            'unicon-shopping-cart-alt',
            'unicon-shopping-cart-filled',
            'unicon-skill-level-filled',
            'unicon-sub-volume-filled',
            'unicon-tag-filled',
            'unicon-tag-group-filled',
            'unicon-time-filled',
            'unicon-tools-filled',
            'unicon-unlocked-filled',
            'unicon-user-filled',
            'unicon-account',
            'unicon-activity',
            'unicon-add-alt',
            'unicon-add',
            'unicon-airplay-filled',
            'unicon-airplay',
            'unicon-airport-location',
            'unicon-analytics',
            'unicon-api',
            'unicon-archive',
            'unicon-area',
            'unicon-arrow-down',
            'unicon-arrow-left',
            'unicon-arrow-right',
            'unicon-arrow-up-right',
            'unicon-arrow-up',
            'unicon-asleep',
            'unicon-attachment',
            'unicon-audio-console',
            'unicon-augmented-reality',
            'unicon-auto-scroll',
            'unicon-awake',
            'unicon-back-to-top',
            'unicon-bar',
            'unicon-barrier',
            'unicon-bastion-host',
            'unicon-blog',
            'unicon-book',
            'unicon-bookmark-add',
            'unicon-bookmark',
            'unicon-box',
            'unicon-brightness-contrast',
            'unicon-brush-freehand',
            'unicon-building',
            'unicon-calendar',
            'unicon-camera',
            'unicon-carbon',
            'unicon-caret-down',
            'unicon-caret-left',
            'unicon-caret-right',
            'unicon-caret-sort',
            'unicon-caret-up',
            'unicon-carousel-horizontal',
            'unicon-carousel-vertical',
            'unicon-categories',
            'unicon-cd-archive',
            'unicon-center-circle',
            'unicon-center-to-fit',
            'unicon-certificate',
            'unicon-chart-column',
            'unicon-chart-line-data',
            'unicon-chart-pie',
            'unicon-chart-ring',
            'unicon-chart-stacked',
            'unicon-chart-treemap',
            'unicon-chart-venn-diagram',
            'unicon-chat-bot',
            'unicon-chat-launch',
            'unicon-chat',
            'unicon-checkbox-checked',
            'unicon-checkbox',
            'unicon-checkmark-outline',
            'unicon-checkmark',
            'unicon-chevron-down',
            'unicon-chevron-left',
            'unicon-chevron-mini',
            'unicon-chevron-right',
            'unicon-chevron-sort-down',
            'unicon-chevron-sort-up',
            'unicon-chevron-sort',
            'unicon-chevron-up',
            'unicon-circle-dash',
            'unicon-circle-measurement',
            'unicon-clean',
            'unicon-close-outline',
            'unicon-close',
            'unicon-cloud-download',
            'unicon-cloud-lightning',
            'unicon-cloud-satellite',
            'unicon-cloud-upload',
            'unicon-cobb-angle',
            'unicon-code',
            'unicon-collaborate',
            'unicon-collapse-all',
            'unicon-color-palette',
            'unicon-color-switch',
            'unicon-column',
            'unicon-compare',
            'unicon-condition-point',
            'unicon-condition-wait-point',
            'unicon-container-software',
            'unicon-contour-finding',
            'unicon-contrast',
            'unicon-copy-file',
            'unicon-copy',
            'unicon-course',
            'unicon-credentials',
            'unicon-crop',
            'unicon-cube-view',
            'unicon-cube',
            'unicon-currency-dollar',
            'unicon-currency',
            'unicon-cursor-1',
            'unicon-cursor-2',
            'unicon-cursor-alt',
            'unicon-cursor',
            'unicon-curve-auto-colon',
            'unicon-curve-manual',
            'unicon-cut-in-half',
            'unicon-cut',
            'unicon-dashboard-reference',
            'unicon-dashboard',
            'unicon-data-1',
            'unicon-data-base-alt',
            'unicon-data-base',
            'unicon-debug',
            'unicon-delete',
            'unicon-delivery-parcel',
            'unicon-delivery-truck',
            'unicon-delivery',
            'unicon-departure',
            'unicon-devices',
            'unicon-diagram',
            'unicon-dicom-overlay',
            'unicon-direct-link',
            'unicon-direction-right-01',
            'unicon-direction-straight-right',
            'unicon-direction-straight',
            'unicon-document-add',
            'unicon-document-attachment',
            'unicon-document-blank',
            'unicon-document-download',
            'unicon-document',
            'unicon-dot-mark',
            'unicon-down-to-bottom',
            'unicon-download-study',
            'unicon-download',
            'unicon-drag-horizontal',
            'unicon-drag-vertical',
            'unicon-draggable',
            'unicon-draw',
            'unicon-drop-photo-filled',
            'unicon-drop-photo',
            'unicon-earth-americas',
            'unicon-earth-europe-africa',
            'unicon-earth-filled',
            'unicon-earth',
            'unicon-edge-enhancement',
            'unicon-edit-off',
            'unicon-edit',
            'unicon-edt-loop',
            'unicon-email-new',
            'unicon-email',
            'unicon-erase',
            'unicon-error-outline',
            'unicon-error',
            'unicon-event-schedule',
            'unicon-event',
            'unicon-events-alt',
            'unicon-events',
            'unicon-explore',
            'unicon-export',
            'unicon-eyedropper',
            'unicon-face-dissatisfied',
            'unicon-face-satisfied',
            'unicon-fade',
            'unicon-favorite-filled',
            'unicon-favorite',
            'unicon-file-storage',
            'unicon-filter-edit',
            'unicon-filter',
            'unicon-finance',
            'unicon-fingerprint-recognition',
            'unicon-fire',
            'unicon-flag-filled',
            'unicon-flag',
            'unicon-flash-filled',
            'unicon-flash',
            'unicon-flow-connection',
            'unicon-folder-add',
            'unicon-folder-shared',
            'unicon-folder',
            'unicon-folders',
            'unicon-forum',
            'unicon-game-console',
            'unicon-gamification',
            'unicon-gift',
            'unicon-globe',
            'unicon-glyph-caution-inverted',
            'unicon-glyph-caution',
            'unicon-glyph-circle-fill',
            'unicon-glyph-square-fill',
            'unicon-glyph-undefined',
            'unicon-gradient',
            'unicon-grid',
            'unicon-group-objects-new',
            'unicon-group-objects-save',
            'unicon-group',
            'unicon-growth',
            'unicon-gui-management',
            'unicon-gui',
            'unicon-hashtag',
            'unicon-headphones',
            'unicon-headset',
            'unicon-help-filled',
            'unicon-help',
            'unicon-hole-filling',
            'unicon-home',
            'unicon-ibm-cloud-pak-security',
            'unicon-iCA-2D',
            'unicon-idea',
            'unicon-identification',
            'unicon-image-copy',
            'unicon-image-search-alt',
            'unicon-image-search',
            'unicon-image',
            'unicon-in-progress',
            'unicon-incomplete',
            'unicon-increase-level',
            'unicon-industry',
            'unicon-information-filled',
            'unicon-information',
            'unicon-insert-page',
            'unicon-insert-syntax',
            'unicon-integration',
            'unicon-interactive-segmentation-cursor',
            'unicon-intersect',
            'unicon-inventory-management',
            'unicon-keyboard',
            'unicon-language',
            'unicon-laptop',
            'unicon-lasso-polygon',
            'unicon-lasso',
            'unicon-launch-study-1',
            'unicon-launch-study-2',
            'unicon-launch',
            'unicon-layers',
            'unicon-legend',
            'unicon-license-draft',
            'unicon-lifesaver',
            'unicon-light-filled',
            'unicon-light',
            'unicon-lightning',
            'unicon-link',
            'unicon-list-boxes',
            'unicon-list-bulleted',
            'unicon-list-checked',
            'unicon-list-dropdown',
            'unicon-list-numbered',
            'unicon-list',
            'unicon-location-current',
            'unicon-location',
            'unicon-locked',
            'unicon-login',
            'unicon-logo-delicious',
            'unicon-logo-digg',
            'unicon-logo-discord',
            'unicon-logo-facebook',
            'unicon-logo-flickr',
            'unicon-logo-github',
            'unicon-logo-google',
            'unicon-logo-instagram',
            'unicon-logo-linkedin',
            'unicon-logo-livestream',
            'unicon-logo-medium',
            'unicon-logo-pinterest',
            'unicon-logo-quora',
            'unicon-logo-skype',
            'unicon-logo-slack',
            'unicon-logo-snapchat',
            'unicon-logo-stumbleupon',
            'unicon-logo-tumblr',
            'unicon-logo-twitter',
            'unicon-logo-vmware',
            'unicon-logo-xing',
            'unicon-logo-youtube',
            'unicon-logout',
            'unicon-mac-command',
            'unicon-mac-option',
            'unicon-mac-shift',
            'unicon-machine-learning',
            'unicon-magic-wand-filled',
            'unicon-magic-wand',
            'unicon-magnify',
            'unicon-manage-protection',
            'unicon-map-center',
            'unicon-map-identify',
            'unicon-map',
            'unicon-maximize',
            'unicon-media-cast',
            'unicon-media-library',
            'unicon-menu',
            'unicon-meter-alt',
            'unicon-meter',
            'unicon-microphone-filled',
            'unicon-microphone',
            'unicon-microscope',
            'unicon-migrate-alt',
            'unicon-military-camp',
            'unicon-minimize',
            'unicon-misuse-alt',
            'unicon-misuse-outline',
            'unicon-misuse',
            'unicon-mobile-add',
            'unicon-mobile',
            'unicon-model-alt',
            'unicon-model',
            'unicon-money',
            'unicon-move',
            'unicon-mpr-toggle',
            'unicon-music',
            'unicon-name-space',
            'unicon-navaid-military',
            'unicon-new-tab',
            'unicon-nominal',
            'unicon-not-available',
            'unicon-notebook-reference',
            'unicon-notebook',
            'unicon-notification-filled',
            'unicon-notification-new',
            'unicon-notification',
            'unicon-opacity',
            'unicon-open-panel-left',
            'unicon-open-panel-top',
            'unicon-ordinal',
            'unicon-overflow-menu-horizontal',
            'unicon-overflow-menu-vertical',
            'unicon-overlay',
            'unicon-package',
            'unicon-page-break',
            'unicon-paint-brush-alt',
            'unicon-paint-brush',
            'unicon-pan-horizontal',
            'unicon-pan-vertical',
            'unicon-panel-expansion',
            'unicon-partnership',
            'unicon-password',
            'unicon-pause',
            'unicon-pedestrian-child',
            'unicon-pedestrian-family',
            'unicon-pen-fountain',
            'unicon-pen',
            'unicon-pending',
            'unicon-percentage-filled',
            'unicon-percentage',
            'unicon-phone-ip',
            'unicon-phone',
            'unicon-piggy-bank-slot',
            'unicon-piggy-bank',
            'unicon-pin-filled',
            'unicon-pin',
            'unicon-plane',
            'unicon-play-filled-alt',
            'unicon-play-filled',
            'unicon-play-outline',
            'unicon-play',
            'unicon-playlist',
            'unicon-policy',
            'unicon-popup',
            'unicon-portfolio',
            'unicon-power',
            'unicon-presentation-file',
            'unicon-printer',
            'unicon-product',
            'unicon-progress-bar',
            'unicon-purchase',
            'unicon-query',
            'unicon-quotes',
            'unicon-radio-button-checked',
            'unicon-radio-button',
            'unicon-rain-drop',
            'unicon-receipt',
            'unicon-recently-viewed',
            'unicon-recommend',
            'unicon-recording-filled-alt',
            'unicon-recording-filled',
            'unicon-recording',
            'unicon-redo',
            'unicon-registration',
            'unicon-reminder',
            'unicon-renew',
            'unicon-repeat',
            'unicon-reply-all',
            'unicon-reply',
            'unicon-report-data',
            'unicon-report',
            'unicon-request-quote',
            'unicon-reset-alt',
            'unicon-reset',
            'unicon-restart',
            'unicon-result',
            'unicon-roadmap',
            'unicon-rocket',
            'unicon-rotate-180',
            'unicon-rotate-360',
            'unicon-row',
            'unicon-rss',
            'unicon-rule',
            'unicon-ruler-alt',
            'unicon-ruler',
            'unicon-run',
            'unicon-save',
            'unicon-scale',
            'unicon-scales',
            'unicon-scalpel-cursor',
            'unicon-scalpel-lasso',
            'unicon-scalpel',
            'unicon-scan',
            'unicon-screen',
            'unicon-script',
            'unicon-search-locate',
            'unicon-search',
            'unicon-security',
            'unicon-select-01',
            'unicon-select-02',
            'unicon-select-window',
            'unicon-send-alt-filled',
            'unicon-send-alt',
            'unicon-send-filled',
            'unicon-send-to-back',
            'unicon-send',
            'unicon-server-time',
            'unicon-settings-adjust',
            'unicon-settings',
            'unicon-shape-except',
            'unicon-share',
            'unicon-shopping-bag',
            'unicon-shopping-cart',
            'unicon-shopping-catalog',
            'unicon-shrink-screen',
            'unicon-shuffle',
            'unicon-signal-strength',
            'unicon-skill-level',
            'unicon-smoothing-cursor',
            'unicon-smoothing',
            'unicon-soccer',
            'unicon-software',
            'unicon-spell-check',
            'unicon-split-discard',
            'unicon-split-screen',
            'unicon-split',
            'unicon-spray-paint',
            'unicon-stacked-scrolling-1',
            'unicon-stamp',
            'unicon-star-filled',
            'unicon-star',
            'unicon-stay-inside',
            'unicon-stop-filled-alt',
            'unicon-stop',
            'unicon-store',
            'unicon-string-integer',
            'unicon-string-text',
            'unicon-sub-volume',
            'unicon-subtract-alt',
            'unicon-subtract',
            'unicon-table',
            'unicon-tablet',
            'unicon-tag-group',
            'unicon-tag',
            'unicon-task-add',
            'unicon-task-approved',
            'unicon-task-view',
            'unicon-task',
            'unicon-template',
            'unicon-term',
            'unicon-terminal',
            'unicon-text-annotation-toggle',
            'unicon-text-bold',
            'unicon-text-color',
            'unicon-text-creation',
            'unicon-text-fill',
            'unicon-text-font',
            'unicon-text-line-spacing',
            'unicon-text-mining-applier',
            'unicon-text-mining',
            'unicon-text-underline',
            'unicon-theater',
            'unicon-thumbnail-1',
            'unicon-thumbnail-2',
            'unicon-thumbs-down',
            'unicon-thumbs-up',
            'unicon-ticket',
            'unicon-time',
            'unicon-tool-box',
            'unicon-tools-alt',
            'unicon-tools',
            'unicon-touch-1',
            'unicon-touch-interaction',
            'unicon-translate',
            'unicon-trash-can',
            'unicon-trophy',
            'unicon-types',
            'unicon-umbrella',
            'unicon-unlink',
            'unicon-unlocked',
            'unicon-upload',
            'unicon-user-avatar-filled-alt',
            'unicon-user-avatar-filled',
            'unicon-user-avatar',
            'unicon-user-multiple',
            'unicon-user',
            'unicon-uv-index',
            'unicon-video-add',
            'unicon-video-chat',
            'unicon-video',
            'unicon-view-filled',
            'unicon-view-mode-1',
            'unicon-view-mode-2',
            'unicon-view-next',
            'unicon-view-off',
            'unicon-view',
            'unicon-virtual-column-key',
            'unicon-virtual-private-cloud-alt',
            'unicon-visual-recognition',
            'unicon-volume-block-storage',
            'unicon-volume-up',
            'unicon-wallet',
            'unicon-warning-alt-filled',
            'unicon-warning-alt',
            'unicon-warning-filled',
            'unicon-warning',
            'unicon-wheat',
            'unicon-wifi',
            'unicon-wikis',
            'unicon-word-cloud',
            'unicon-workspace',
            'unicon-zoom-area',
            'unicon-zoom-in-area',
            'unicon-zoom-in',
            'unicon-zoom-out-area',
            'unicon-zoom-out',
            'unicon-zoom-reset',
        );

        $tabs['tg-unicon-icons'] = array(
            'name' => 'tg-unicon-icons',
            'label' => esc_html__('Lexend Unicon Icons', 'genixcore'),
            'labelIcon' => 'genix-icon',
            'prefix' => '',
            'displayPrefix' => 'genix',
            'url' => GENIXCORE_ADDONS_URL . 'assets/css/unicons.min.css',
            'icons' => $unicon_icons,
            'ver' => '1.0.0',
        );

        // Append Flat icons
        $flat_icons = array(
            'flaticon-pin',
            'flaticon-iphone',
            'flaticon-phone-call',
            'flaticon-mail',
            'flaticon-envelope',
            'flaticon-down',
            'flaticon-next',
            'flaticon-chevron',
            'flaticon-right',
            'flaticon-right-arrow',
            'flaticon-arrow-button',
            'flaticon-user',
            'flaticon-shopping-cart',
            'flaticon-shopping-bag',
            'flaticon-online-shopping',
            'flaticon-time',
            'flaticon-profit',
            'flaticon-email',
            'flaticon-investment',
            'flaticon-investment-1',
            'flaticon-pie-chart',
            'flaticon-talk',
            'flaticon-trophy',
            'flaticon-happy',
            'flaticon-china',
            'flaticon-budget',
            'flaticon-report',
            'flaticon-finance',
            'flaticon-targeted',
            'flaticon-target',
            'flaticon-financial-profit',
            'flaticon-piggy-bank',
            'flaticon-graph',
            'flaticon-light-bulb',
            'flaticon-startup',
            'flaticon-life-insurance',
            'flaticon-travel-insurance',
            'flaticon-protection',
            'flaticon-insurance-agent',
            'flaticon-healthcare',
            'flaticon-motorbike',
            'flaticon-ship',
            'flaticon-house',
            'flaticon-handshake',
            'flaticon-suitcase',
        );

        $tabs['tg-flat-icons'] = array(
            'name' => 'tg-flat-icons',
            'label' => esc_html__('Lexend Flat Icons', 'genixcore'),
            'labelIcon' => 'genix-icon',
            'prefix' => '',
            'displayPrefix' => 'genix',
            'url' => GENIXCORE_ADDONS_URL . 'assets/css/flaticon.css',
            'icons' => $flat_icons,
            'ver' => '1.0.0',
        );

        return $tabs;
    }

	/**
	 *  Plugin class constructor
	 *
	 * Register plugin action hooks and filters
	 *
	 * @since 1.2.0
	 * @access public
	 */
	public function __construct() {

		// Register widget scripts
		add_action( 'elementor/frontend/after_register_scripts', [ $this, 'widget_scripts' ] );

		// Register widgets
		add_action( 'elementor/widgets/register', [ $this, 'register_widgets' ] );

		// Register editor scripts
		add_action( 'elementor/editor/after_enqueue_scripts', [ $this, 'editor_scripts' ] );

		add_action('elementor/elements/categories_registered', [$this, 'genix_core_elementor_category']);

		// Register custom controls
	    add_action('elementor/controls/controls_registered', [$this, 'register_controls']);

	    add_filter('elementor/icons_manager/additional_tabs', [$this, 'genix_add_custom_icons_tab']);

	    // $this->genix_add_custom_icons_tab();

	    add_action('elementor/editor/after_enqueue_scripts', [$this, 'genix_enqueue_editor_scripts'] );

		$this->add_page_settings_controls();

	}


}

// Instantiate Plugin Class
Genix_Core_Plugin::instance();