Image Hover Effects – Elementor Addon - Version 1.3.4

Version Description

  • Fixed - Hardened allowed options in the editor to enforce better security policies
Download this release

Release Info

Developer blocksera
Plugin Icon 128x128 Image Hover Effects – Elementor Addon
Version 1.3.4
Comparing to
See all releases

Code changes from version 1.3.3 to 1.3.4

assets/admin.css CHANGED
@@ -1,45 +1,45 @@
1
- .eihe-pro-prepare {
2
- line-height:1.5;
3
- text-align:center;
4
- }
5
- .elementor-panel .eihe-pro-prepare a {
6
- background-color: #fcb92c;
7
- -webkit-box-shadow: 0 0 1px rgba(0,0,0,.1), 0 2px 2px rgba(0,0,0,.1);
8
- box-shadow: 0 0 1px rgba(0,0,0,.1), 0 2px 2px rgba(0,0,0,.1);
9
- color: white;
10
- padding: 8px 7px;
11
- border-radius: 5px;
12
- display: inline-block;
13
- margin-bottom: 10px;
14
- opacity: 1;
15
- }
16
- .elementor-panel .eihe-pro-prepare a sup {
17
- font-size: 60%;
18
- }
19
- .elementor-panel .eihe-pro-prepare a:hover {
20
- color: white;
21
- opacity: 0.92;
22
- }
23
- .eihe-pro-prepare div {
24
- font-size: 16px;
25
- }
26
-
27
- .eihe-notice {
28
- padding-bottom: 10px;
29
- min-height: 86px;
30
- }
31
-
32
- .eihe-notice .eihe-done {
33
- position: absolute;
34
- top: 9px;
35
- right: 35px;
36
- cursor: pointer;
37
- background-color: white;
38
- }
39
-
40
- .eihe-notice .eihe-iconimg {
41
- float: left;
42
- margin: 10px 10px 10px 0;
43
- max-width: 68px;
44
- border-radius: 5px;
45
  }
1
+ .eihe-pro-prepare {
2
+ line-height:1.5;
3
+ text-align:center;
4
+ }
5
+ .elementor-panel .eihe-pro-prepare a {
6
+ background-color: #fcb92c;
7
+ -webkit-box-shadow: 0 0 1px rgba(0,0,0,.1), 0 2px 2px rgba(0,0,0,.1);
8
+ box-shadow: 0 0 1px rgba(0,0,0,.1), 0 2px 2px rgba(0,0,0,.1);
9
+ color: white;
10
+ padding: 8px 7px;
11
+ border-radius: 5px;
12
+ display: inline-block;
13
+ margin-bottom: 10px;
14
+ opacity: 1;
15
+ }
16
+ .elementor-panel .eihe-pro-prepare a sup {
17
+ font-size: 60%;
18
+ }
19
+ .elementor-panel .eihe-pro-prepare a:hover {
20
+ color: white;
21
+ opacity: 0.92;
22
+ }
23
+ .eihe-pro-prepare div {
24
+ font-size: 16px;
25
+ }
26
+
27
+ .eihe-notice {
28
+ padding-bottom: 10px;
29
+ min-height: 86px;
30
+ }
31
+
32
+ .eihe-notice .eihe-done {
33
+ position: absolute;
34
+ top: 9px;
35
+ right: 35px;
36
+ cursor: pointer;
37
+ background-color: white;
38
+ }
39
+
40
+ .eihe-notice .eihe-iconimg {
41
+ float: left;
42
+ margin: 10px 10px 10px 0;
43
+ max-width: 68px;
44
+ border-radius: 5px;
45
  }
assets/admin.js CHANGED
@@ -1,15 +1,15 @@
1
- jQuery(document).ready(function(){
2
- $ = jQuery.noConflict();
3
-
4
- $(document).on('click', '.eihe-notice .notice-dismiss, .eihe-notice .eihe-done', function() {
5
- var $eiherate = $(this).closest('.eihe-notice');
6
-
7
- $eiherate.slideUp();
8
- $.ajax({
9
- url: ajaxurl,
10
- data: {
11
- action: 'eihe_top_notice'
12
- }
13
- })
14
- });
15
  });
1
+ jQuery(document).ready(function(){
2
+ $ = jQuery.noConflict();
3
+
4
+ $(document).on('click', '.eihe-notice .notice-dismiss, .eihe-notice .eihe-done', function() {
5
+ var $eiherate = $(this).closest('.eihe-notice');
6
+
7
+ $eiherate.slideUp();
8
+ $.ajax({
9
+ url: ajaxurl,
10
+ data: {
11
+ action: 'eihe_top_notice'
12
+ }
13
+ })
14
+ });
15
  });
image-hover-effects-addon-for-elementor.php CHANGED
@@ -1,156 +1,156 @@
1
- <?php
2
- /**
3
- * Plugin Name: Image Hover Effects - Elementor Addon
4
- * Plugin URI: https://imagehoverpro.blocksera.com
5
- * Author: Blocksera
6
- * Author URI: https://blocksera.com
7
- * Description: Add creative image hover effects to Elementor page builder. Easily customize title and content and effects with intuitive interface.
8
- * Requires PHP: 5.6
9
- * Requires at least: 4.7
10
- * Tested up to: 5.5.3
11
- * Version: 1.3.3
12
- * License: GPL v3
13
- * Text Domain: eihe-lang
14
- * Domain Path: /languages
15
- **/
16
-
17
- if (!defined('ABSPATH')) {
18
- exit;
19
- }
20
-
21
- define('EIHE_VERSION', '1.3.3');
22
- define('EIHE_MINIMUM_ELEMENTOR_VERSION', '2.6.0');
23
- define('EIHE_PATH', plugin_dir_path(__FILE__));
24
- define('EIHE_URL', plugin_dir_url(__FILE__));
25
-
26
- require_once EIHE_PATH . 'includes/elementor-checker.php';
27
-
28
- class Elementor_Image_Hover_Effects {
29
-
30
- private static $_instance = null;
31
-
32
- public static function get_instance() {
33
- if ( is_null( self::$_instance ) ) {
34
- self::$_instance = new self();
35
- }
36
- return self::$_instance;
37
- }
38
-
39
- public function __construct() {
40
- add_action('plugins_loaded', [$this, 'init']);
41
- }
42
-
43
- public function init() {
44
-
45
- if (!did_action('elementor/loaded')) {
46
- add_action('admin_notices', 'eihe_addon_failed_load');
47
- return;
48
- }
49
-
50
- if (!version_compare(ELEMENTOR_VERSION, EIHE_MINIMUM_ELEMENTOR_VERSION, '>=')) {
51
- add_action('admin_notices', [$this, 'eihe_addon_failed_outofdate']);
52
- return;
53
- }
54
-
55
- add_action('elementor/frontend/after_enqueue_styles', [$this, 'includes']);
56
- add_action('elementor/widgets/widgets_registered', [$this, 'register_widgets']);
57
- add_action('upgrader_process_complete', [$this, 'wp_upe_upgrade_completed'], 10, 2);
58
- add_action('admin_enqueue_scripts', [$this,'eihe_scripts']);
59
- add_action( 'elementor/editor/before_enqueue_scripts', function() {
60
- wp_register_style( 'eihe-editor-css', EIHE_URL . 'assets/admin.css');
61
- wp_enqueue_style( 'eihe-editor-css' );
62
- });
63
- add_action('admin_init', [$this, 'display_notice']);
64
- load_plugin_textdomain('eihe-lang', false, dirname(plugin_basename(__FILE__)) . '/languages' );
65
- add_filter( 'wpml_elementor_widgets_to_translate', [ $this, 'wpml_widgets_to_translate_filter' ] );
66
- }
67
-
68
- public function wpml_widgets_to_translate_filter( $widgets ) {
69
- $widgets[ 'e_image_hover_effects' ] = [
70
- 'conditions' => [ 'widgetType' => 'e_image_hover_effects' ],
71
- 'fields' => [
72
- [
73
- 'field' => 'eihe_title',
74
- 'type' => __( 'Image Hover Effects : Title', 'eihe-lang' ),
75
- 'editor_type' => 'LINE'
76
- ],
77
- [
78
- 'field' => 'eihe_description',
79
- 'type' => __( 'Image Hover Effects : Description', 'eihe-lang' ),
80
- 'editor_type' => 'LINE'
81
- ],
82
- ],
83
- ];
84
-
85
- return $widgets;
86
- }
87
-
88
- public function eihe_scripts(){
89
- wp_enqueue_style( 'eihe-css', EIHE_URL . 'assets/admin.css',array(),EIHE_VERSION,'all');
90
- wp_enqueue_script( 'eihe-common', EIHE_URL . 'assets/admin.js',array('jquery'), EIHE_VERSION,true);
91
- }
92
-
93
- public function display_notice() {
94
-
95
- if(isset($_GET['eihe_dismiss']) && $_GET['eihe_dismiss'] == 1) {
96
- add_option('eihe_dismiss' , true);
97
- }
98
-
99
- $upgrade = get_option('eihe_upgraded');
100
- $dismiss = get_option('eihe_dismiss');
101
-
102
- if(!get_option('eihe-top-notice')){
103
- add_option('eihe-top-notice',strtotime(current_time('mysql')));
104
- }
105
- if(get_option('eihe-top-notice') && get_option('eihe-top-notice') != 0) {
106
- if( get_option('eihe-top-notice') < strtotime('-3 days')) { //if greater than 3 days
107
- add_action('admin_notices', array($this,'eihe_top_admin_notice'));
108
- add_action('wp_ajax_eihe_top_notice', array($this,'eihe_top_notice_dismiss'));
109
- }
110
- }
111
- }
112
-
113
- public function eihe_top_notice_dismiss(){
114
- update_option('eihe-top-notice','0');
115
- exit();
116
- }
117
-
118
- public function eihe_top_admin_notice(){
119
- ?>
120
- <div class="eihe-notice notice notice-success is-dismissible">
121
- <img class="eihe-iconimg" src="<?php echo EIHE_URL; ?>assets/icon.png" style="float:left;" />
122
- <p style="width:80%;"><?php _e('Enjoying our <strong>Image Hover Effects - Elementor Addon?</strong> We hope you liked it! If you feel this plugin helped you, You can give us a 5 star rating!<br>It will motivate us to serve you more !','eihe-lang'); ?> </p>
123
- <a href="https://wordpress.org/support/plugin/image-hover-effects-addon-for-elementor/reviews/#new-post" class="button button-primary" style="margin-right: 10px !important;" target="_blank"><?php _e('Rate the Plugin!','eihe-lang'); ?> &#11088;&#11088;&#11088;&#11088;&#11088;</a>
124
- <a href="https://tiny.cc/eihe-pro" class="button button-secondary" target="_blank"><?php _e('Go Pro','eihe-lang'); ?></a>
125
- <span class="eihe-done"><?php _e('Already Done','eihe-lang'); ?></span>
126
- </div>
127
- <?php
128
- }
129
-
130
- public function wp_upe_upgrade_completed($upgrader_object, $options) {
131
-
132
- $our_plugin = plugin_basename( __FILE__ );
133
-
134
- if ($options['action'] == 'update' && $options['type'] == 'plugin' && isset( $options['plugins'])) {
135
- foreach($options['plugins'] as $plugin) {
136
- if ($plugin == $our_plugin) {
137
- add_option('eihe_upgraded', true);
138
- }
139
- }
140
- }
141
-
142
- }
143
-
144
- public function register_widgets() {
145
- require_once(EIHE_PATH . 'includes/widgets.php');
146
- }
147
-
148
- public function includes() {
149
- wp_enqueue_style('eihe-front-style', EIHE_URL . 'assets/style.min.css', array(), EIHE_VERSION);
150
- }
151
-
152
- }
153
-
154
- Elementor_Image_Hover_Effects::get_instance();
155
-
156
  ?>
1
+ <?php
2
+ /**
3
+ * Plugin Name: Image Hover Effects - Elementor Addon
4
+ * Plugin URI: https://imagehoverpro.blocksera.com
5
+ * Author: Blocksera
6
+ * Author URI: https://blocksera.com
7
+ * Description: Add creative image hover effects to Elementor page builder. Easily customize title and content and effects with intuitive interface.
8
+ * Requires PHP: 5.6
9
+ * Requires at least: 4.7
10
+ * Tested up to: 5.7
11
+ * Version: 1.3.4
12
+ * License: GPL v3
13
+ * Text Domain: eihe-lang
14
+ * Domain Path: /languages
15
+ **/
16
+
17
+ if (!defined('ABSPATH')) {
18
+ exit;
19
+ }
20
+
21
+ define('EIHE_VERSION', '1.3.4');
22
+ define('EIHE_MINIMUM_ELEMENTOR_VERSION', '2.6.0');
23
+ define('EIHE_PATH', plugin_dir_path(__FILE__));
24
+ define('EIHE_URL', plugin_dir_url(__FILE__));
25
+
26
+ require_once EIHE_PATH . 'includes/elementor-checker.php';
27
+
28
+ class Elementor_Image_Hover_Effects {
29
+
30
+ private static $_instance = null;
31
+
32
+ public static function get_instance() {
33
+ if ( is_null( self::$_instance ) ) {
34
+ self::$_instance = new self();
35
+ }
36
+ return self::$_instance;
37
+ }
38
+
39
+ public function __construct() {
40
+ add_action('plugins_loaded', [$this, 'init']);
41
+ }
42
+
43
+ public function init() {
44
+
45
+ if (!did_action('elementor/loaded')) {
46
+ add_action('admin_notices', 'eihe_addon_failed_load');
47
+ return;
48
+ }
49
+
50
+ if (!version_compare(ELEMENTOR_VERSION, EIHE_MINIMUM_ELEMENTOR_VERSION, '>=')) {
51
+ add_action('admin_notices', [$this, 'eihe_addon_failed_outofdate']);
52
+ return;
53
+ }
54
+
55
+ add_action('elementor/frontend/after_enqueue_styles', [$this, 'includes']);
56
+ add_action('elementor/widgets/widgets_registered', [$this, 'register_widgets']);
57
+ add_action('upgrader_process_complete', [$this, 'wp_upe_upgrade_completed'], 10, 2);
58
+ add_action('admin_enqueue_scripts', [$this,'eihe_scripts']);
59
+ add_action( 'elementor/editor/before_enqueue_scripts', function() {
60
+ wp_register_style( 'eihe-editor-css', EIHE_URL . 'assets/admin.css');
61
+ wp_enqueue_style( 'eihe-editor-css' );
62
+ });
63
+ add_action('admin_init', [$this, 'display_notice']);
64
+ load_plugin_textdomain('eihe-lang', false, dirname(plugin_basename(__FILE__)) . '/languages' );
65
+ add_filter( 'wpml_elementor_widgets_to_translate', [ $this, 'wpml_widgets_to_translate_filter' ] );
66
+ }
67
+
68
+ public function wpml_widgets_to_translate_filter( $widgets ) {
69
+ $widgets[ 'e_image_hover_effects' ] = [
70
+ 'conditions' => [ 'widgetType' => 'e_image_hover_effects' ],
71
+ 'fields' => [
72
+ [
73
+ 'field' => 'eihe_title',
74
+ 'type' => __( 'Image Hover Effects : Title', 'eihe-lang' ),
75
+ 'editor_type' => 'LINE'
76
+ ],
77
+ [
78
+ 'field' => 'eihe_description',
79
+ 'type' => __( 'Image Hover Effects : Description', 'eihe-lang' ),
80
+ 'editor_type' => 'LINE'
81
+ ],
82
+ ],
83
+ ];
84
+
85
+ return $widgets;
86
+ }
87
+
88
+ public function eihe_scripts(){
89
+ wp_enqueue_style( 'eihe-css', EIHE_URL . 'assets/admin.css',array(),EIHE_VERSION,'all');
90
+ wp_enqueue_script( 'eihe-common', EIHE_URL . 'assets/admin.js',array('jquery'), EIHE_VERSION,true);
91
+ }
92
+
93
+ public function display_notice() {
94
+
95
+ if(isset($_GET['eihe_dismiss']) && $_GET['eihe_dismiss'] == 1) {
96
+ add_option('eihe_dismiss' , true);
97
+ }
98
+
99
+ $upgrade = get_option('eihe_upgraded');
100
+ $dismiss = get_option('eihe_dismiss');
101
+
102
+ if(!get_option('eihe-top-notice')){
103
+ add_option('eihe-top-notice',strtotime(current_time('mysql')));
104
+ }
105
+ if(get_option('eihe-top-notice') && get_option('eihe-top-notice') != 0) {
106
+ if( get_option('eihe-top-notice') < strtotime('-3 days')) { //if greater than 3 days
107
+ add_action('admin_notices', array($this,'eihe_top_admin_notice'));
108
+ add_action('wp_ajax_eihe_top_notice', array($this,'eihe_top_notice_dismiss'));
109
+ }
110
+ }
111
+ }
112
+
113
+ public function eihe_top_notice_dismiss(){
114
+ update_option('eihe-top-notice','0');
115
+ exit();
116
+ }
117
+
118
+ public function eihe_top_admin_notice(){
119
+ ?>
120
+ <div class="eihe-notice notice notice-success is-dismissible">
121
+ <img class="eihe-iconimg" src="<?php echo EIHE_URL; ?>assets/icon.png" style="float:left;" />
122
+ <p style="width:80%;"><?php _e('Enjoying our <strong>Image Hover Effects - Elementor Addon?</strong> We hope you liked it! If you feel this plugin helped you, You can give us a 5 star rating!<br>It will motivate us to serve you more !','eihe-lang'); ?> </p>
123
+ <a href="https://wordpress.org/support/plugin/image-hover-effects-addon-for-elementor/reviews/#new-post" class="button button-primary" style="margin-right: 10px !important;" target="_blank"><?php _e('Rate the Plugin!','eihe-lang'); ?> &#11088;&#11088;&#11088;&#11088;&#11088;</a>
124
+ <a href="https://tiny.cc/eihe-pro" class="button button-secondary" target="_blank"><?php _e('Go Pro','eihe-lang'); ?></a>
125
+ <span class="eihe-done"><?php _e('Already Done','eihe-lang'); ?></span>
126
+ </div>
127
+ <?php
128
+ }
129
+
130
+ public function wp_upe_upgrade_completed($upgrader_object, $options) {
131
+
132
+ $our_plugin = plugin_basename( __FILE__ );
133
+
134
+ if ($options['action'] == 'update' && $options['type'] == 'plugin' && isset( $options['plugins'])) {
135
+ foreach($options['plugins'] as $plugin) {
136
+ if ($plugin == $our_plugin) {
137
+ add_option('eihe_upgraded', true);
138
+ }
139
+ }
140
+ }
141
+
142
+ }
143
+
144
+ public function register_widgets() {
145
+ require_once(EIHE_PATH . 'includes/widgets.php');
146
+ }
147
+
148
+ public function includes() {
149
+ wp_enqueue_style('eihe-front-style', EIHE_URL . 'assets/style.min.css', array(), EIHE_VERSION);
150
+ }
151
+
152
+ }
153
+
154
+ Elementor_Image_Hover_Effects::get_instance();
155
+
156
  ?>
includes/elementor-checker.php CHANGED
@@ -1,64 +1,64 @@
1
- <?php
2
-
3
- if (!defined( 'ABSPATH')) {
4
- exit;
5
- }
6
-
7
- function eihe_addon_failed_load() {
8
-
9
- $screen = get_current_screen();
10
-
11
- if (isset( $screen->parent_file) && 'plugins.php' === $screen->parent_file && 'update' === $screen->id) {
12
- return;
13
- }
14
-
15
- $plugin = 'elementor/elementor.php';
16
-
17
- if (eihe_is_elementor_installed()) {
18
-
19
- if (!current_user_can('activate_plugins')) {
20
- return;
21
- }
22
-
23
- $activation_url = wp_nonce_url('plugins.php?action=activate&plugin=' . $plugin . '&plugin_status=all&paged=1&s', 'activate-plugin_' . $plugin );
24
-
25
- $message = '<p><b>Image Hover Effects Addon</b> requires Elementor to be activated.</p>';
26
- $message .= '<p><a href="'. $activation_url .'" class="button-primary">Activate Elementor</a></p>';
27
-
28
- } else {
29
-
30
- if (!current_user_can('install_plugins')) {
31
- return;
32
- }
33
-
34
- $install_url = wp_nonce_url(self_admin_url('update.php?action=install-plugin&plugin=elementor'), 'install-plugin_elementor');
35
-
36
- $message = '<p><b>Image Hover Effects Addon</b> requires Elementor to be installed and activated.</p>';
37
- $message .= '<p><a href="'. $install_url .'" class="button-primary">Install Elementor</a></p>';
38
- }
39
-
40
- echo '<div class="notice notice-error"><p>' . $message . '</p></div>';
41
- }
42
-
43
- function eihe_addon_failed_outofdate() {
44
-
45
- if (!current_user_can('update_plugins')) {
46
- return;
47
- }
48
-
49
- $file_path = 'elementor/elementor.php';
50
-
51
- $upgrade_link = wp_nonce_url(self_admin_url('update.php?action=upgrade-plugin&plugin=') . $file_path, 'upgrade-plugin_' . $file_path);
52
-
53
- $message = '<p><b>Image Hover Effects Addon</b> does not work since you are using an older version of Elementor</p>';
54
- $message .= '<p><a href="'. $upgrade_link .'" class="button-primary">Update Elementor</a></p>';
55
-
56
- echo '<div class="notice notice-error">' . $message . '</div>';
57
- }
58
-
59
- function eihe_is_elementor_installed() {
60
- $file_path = 'elementor/elementor.php';
61
- $installed_plugins = get_plugins();
62
-
63
- return isset($installed_plugins[$file_path]);
64
- }
1
+ <?php
2
+
3
+ if (!defined( 'ABSPATH')) {
4
+ exit;
5
+ }
6
+
7
+ function eihe_addon_failed_load() {
8
+
9
+ $screen = get_current_screen();
10
+
11
+ if (isset( $screen->parent_file) && 'plugins.php' === $screen->parent_file && 'update' === $screen->id) {
12
+ return;
13
+ }
14
+
15
+ $plugin = 'elementor/elementor.php';
16
+
17
+ if (eihe_is_elementor_installed()) {
18
+
19
+ if (!current_user_can('activate_plugins')) {
20
+ return;
21
+ }
22
+
23
+ $activation_url = wp_nonce_url('plugins.php?action=activate&plugin=' . $plugin . '&plugin_status=all&paged=1&s', 'activate-plugin_' . $plugin );
24
+
25
+ $message = '<p><b>Image Hover Effects Addon</b> requires Elementor to be activated.</p>';
26
+ $message .= '<p><a href="'. $activation_url .'" class="button-primary">Activate Elementor</a></p>';
27
+
28
+ } else {
29
+
30
+ if (!current_user_can('install_plugins')) {
31
+ return;
32
+ }
33
+
34
+ $install_url = wp_nonce_url(self_admin_url('update.php?action=install-plugin&plugin=elementor'), 'install-plugin_elementor');
35
+
36
+ $message = '<p><b>Image Hover Effects Addon</b> requires Elementor to be installed and activated.</p>';
37
+ $message .= '<p><a href="'. $install_url .'" class="button-primary">Install Elementor</a></p>';
38
+ }
39
+
40
+ echo '<div class="notice notice-error"><p>' . $message . '</p></div>';
41
+ }
42
+
43
+ function eihe_addon_failed_outofdate() {
44
+
45
+ if (!current_user_can('update_plugins')) {
46
+ return;
47
+ }
48
+
49
+ $file_path = 'elementor/elementor.php';
50
+
51
+ $upgrade_link = wp_nonce_url(self_admin_url('update.php?action=upgrade-plugin&plugin=') . $file_path, 'upgrade-plugin_' . $file_path);
52
+
53
+ $message = '<p><b>Image Hover Effects Addon</b> does not work since you are using an older version of Elementor</p>';
54
+ $message .= '<p><a href="'. $upgrade_link .'" class="button-primary">Update Elementor</a></p>';
55
+
56
+ echo '<div class="notice notice-error">' . $message . '</div>';
57
+ }
58
+
59
+ function eihe_is_elementor_installed() {
60
+ $file_path = 'elementor/elementor.php';
61
+ $installed_plugins = get_plugins();
62
+
63
+ return isset($installed_plugins[$file_path]);
64
+ }
includes/widgets.php CHANGED
@@ -1,551 +1,582 @@
1
- <?php
2
- namespace Elementor;
3
-
4
- if (!defined('ABSPATH')) {
5
- exit;
6
- }
7
-
8
- class Elementor_Image_Hover_Effects_EIHE extends Widget_Base {
9
-
10
- public function get_name() {
11
- return 'e_image_hover_effects';
12
- }
13
-
14
- public function get_title() {
15
- return esc_html__('Image Hover Effects', 'eihe-lang');
16
- }
17
-
18
- public function get_icon() {
19
- return 'eicon-image-rollover';
20
- }
21
-
22
- protected function _register_controls() {
23
-
24
- $this->start_controls_section(
25
- 'eihe_content',
26
- [
27
- 'label' => esc_html__('Image Hover Effects', 'eihe-lang'),
28
- 'tab' => Controls_Manager::TAB_CONTENT,
29
- ]
30
- );
31
-
32
- $this->add_control(
33
- 'eihe_effect',
34
- [
35
- 'label' => esc_html__('Effect', 'eihe-lang'),
36
- 'type' => Controls_Manager::SELECT,
37
- 'options' => [
38
- 'eihe-fade' => esc_html__('Fade', 'eihe-lang'),
39
- 'eihe-fade-in-up' => esc_html__('Fade In Up', 'eihe-lang'),
40
- 'eihe-fade-in-down' => esc_html__('Fade In Down', 'eihe-lang'),
41
- 'eihe-fade-in-left' => esc_html__('Fade In Left', 'eihe-lang'),
42
- 'eihe-fade-in-right' => esc_html__('Fade In Right', 'eihe-lang'),
43
- 'eihe-slide-up' => esc_html__('Slide Up', 'eihe-lang'),
44
- 'eihe-slide-down' => esc_html__('Slide Down', 'eihe-lang'),
45
- 'eihe-slide-left' => esc_html__('Slide Left', 'eihe-lang'),
46
- 'eihe-slide-right' => esc_html__('Slide Right', 'eihe-lang'),
47
- 'eihe-reveal-up' => esc_html__('Reveal Up', 'eihe-lang'),
48
- 'eihe-reveal-down' => esc_html__('Reveal Down', 'eihe-lang'),
49
- 'eihe-reveal-left' => esc_html__('Reveal Left', 'eihe-lang'),
50
- 'eihe-reveal-right' => esc_html__('Reveal Right', 'eihe-lang'),
51
- 'eihe-push-up' => esc_html__('Push Up', 'eihe-lang'),
52
- 'eihe-push-down' => esc_html__('Push Down', 'eihe-lang'),
53
- 'eihe-push-left' => esc_html__('Push Left', 'eihe-lang'),
54
- 'eihe-push-right' => esc_html__('Push Right', 'eihe-lang'),
55
- 'eihe-hinge-up' => esc_html__('Hinge Up', 'eihe-lang'),
56
- 'eihe-hinge-down' => esc_html__('Hinge Down', 'eihe-lang'),
57
- 'eihe-hinge-left' => esc_html__('Hinge Left', 'eihe-lang'),
58
- 'eihe-hinge-right' => esc_html__('Hinge Right', 'eihe-lang'),
59
- 'eihe-flip-horiz' => esc_html__('Flip Horizontal', 'eihe-lang'),
60
- 'eihe-flip-vert' => esc_html__('Flip Vertical', 'eihe-lang'),
61
- 'eihe-flip-diag-1' => esc_html__('Flip Crosss 1', 'eihe-lang'),
62
- 'eihe-flip-diag-2' => esc_html__('Flip Crosss 2', 'eihe-lang'),
63
- 'eihe-shutter-out-horiz' => esc_html__('Shutter Out Horizontal', 'eihe-lang'),
64
- 'eihe-shutter-out-vert' => esc_html__('Shutter Out Vertical', 'eihe-lang'),
65
- 'eihe-shutter-out-diag-1' => esc_html__('Shutter Out Crosss 1', 'eihe-lang'),
66
- 'eihe-shutter-out-diag-2' => esc_html__('Shutter Out Crosss 2', 'eihe-lang'),
67
- 'eihe-shutter-in-horiz' => esc_html__('Shutter In Horizontal', 'eihe-lang'),
68
- 'eihe-shutter-in-vert' => esc_html__('Shutter In Vertical', 'eihe-lang'),
69
- 'eihe-shutter-in-out-horiz' => esc_html__('Shutter In Out Horizontal', 'eihe-lang'),
70
- 'eihe-shutter-in-out-vert' => esc_html__('Shutter In Out Vertical', 'eihe-lang'),
71
- 'eihe-shutter-in-out-diag-1' => esc_html__('Shutter In Out Crosss 1', 'eihe-lang'),
72
- 'eihe-shutter-in-out-diag-2' => esc_html__('Shutter In Out Crosss 2', 'eihe-lang'),
73
- 'eihe-fold-up' => esc_html__('Fold Up', 'eihe-lang'),
74
- 'eihe-fold-down' => esc_html__('Fold Down', 'eihe-lang'),
75
- 'eihe-fold-left' => esc_html__('Fold Left', 'eihe-lang'),
76
- 'eihe-fold-right' => esc_html__('Fold Right', 'eihe-lang'),
77
- 'eihe-zoom-in' => esc_html__('Zoom In', 'eihe-lang'),
78
- 'eihe-zoom-out' => esc_html__('Zoom Out', 'eihe-lang'),
79
- 'eihe-zoom-out-up' => esc_html__('Zoom Out Up', 'eihe-lang'),
80
- 'eihe-zoom-out-down' => esc_html__('Zoom Out Down', 'eihe-lang'),
81
- 'eihe-zoom-out-left' => esc_html__('Zoom Out Left', 'eihe-lang'),
82
- 'eihe-zoom-out-right' => esc_html__('Zoom Out Right', 'eihe-lang'),
83
- 'eihe-zoom-out-flip-vert' => esc_html__('Zoom Out Flip Vertical', 'eihe-lang'),
84
- 'eihe-zoom-out-flip-horiz' => esc_html__('Zoom Out Flip Horizontal', 'eihe-lang'),
85
- 'eihe-blur' => esc_html__('Blur', 'eihe-lang'),
86
- ],
87
- 'default' => 'eihe-fade-in-up',
88
- ]
89
- );
90
-
91
- $this->add_control(
92
- 'eihe_image',
93
- [
94
- 'label' => esc_html__('Choose Image', 'eihe-lang'),
95
- 'type' => Controls_Manager::MEDIA,
96
- 'default' => [
97
- 'url' => Utils::get_placeholder_image_src(),
98
- ],
99
- 'separator' => 'before',
100
- ]
101
- );
102
-
103
- $this->add_group_control(
104
- Group_Control_Image_Size::get_type(),
105
- [
106
- 'name' => 'eihe_thumbnail',
107
- 'exclude' => ['custom'],
108
- 'include' => [],
109
- 'default' => 'full',
110
- ]
111
- );
112
-
113
- $this->add_control(
114
- 'eihe_title',
115
- [
116
- 'label' => __('Title', 'eihe-lang'),
117
- 'type' => Controls_Manager::TEXT,
118
- 'default' => __('Title', 'eihe-lang'),
119
- 'placeholder' => __('Type your title here', 'eihe-lang'),
120
- 'separator' => 'before',
121
- 'label_block' => true
122
- ]
123
- );
124
-
125
- $this->add_control(
126
- 'eihe_tag',
127
- [
128
- 'label' => esc_html__('Title Tag', 'eihe-lang'),
129
- 'type' => Controls_Manager::SELECT,
130
- 'options' => [
131
- 'h1' => esc_html__('H1', 'eihe-lang'),
132
- 'h2' => esc_html__('H2', 'eihe-lang'),
133
- 'h3' => esc_html__('H3', 'eihe-lang'),
134
- 'h4' => esc_html__('H4', 'eihe-lang'),
135
- 'h5' => esc_html__('H5', 'eihe-lang'),
136
- 'h6' => esc_html__('H6', 'eihe-lang'),
137
- 'p' => esc_html__('Paragraph', 'eihe-lang'),
138
- 'span' => esc_html__('Span', 'eihe-lang'),
139
- ],
140
- 'default' => 'h3',
141
- ]
142
- );
143
-
144
- $this->add_control(
145
- 'eihe_description',
146
- [
147
- 'label' => __('Description', 'eihe-lang'),
148
- 'type' => Controls_Manager::TEXTAREA,
149
- 'rows' => 5,
150
- 'default' => __('Description', 'eihe-lang'),
151
- 'placeholder' => __('Type your description here', 'eihe-lang'),
152
- 'show_label' => true,
153
- 'separator' => 'before',
154
- ]
155
- );
156
-
157
- $this->add_control(
158
- 'icon',
159
- [
160
- 'label' => __( 'Icon', 'eihe-lang'),
161
- 'type' => Controls_Manager::ICONS,
162
- 'label_block' => true,
163
- 'separator' => 'before',
164
- ]
165
- );
166
-
167
- $this->add_control(
168
- 'icon_order',
169
- [
170
- 'label' => esc_html__('Icon Position', 'eihe-lang'),
171
- 'type' => Controls_Manager::SELECT,
172
- 'options' => [
173
- 'before' => esc_html__('Before', 'eihe-lang'),
174
- 'after' => esc_html__('After', 'eihe-lang'),
175
- ],
176
- 'default' => 'after',
177
- ]
178
- );
179
-
180
- $this->add_control(
181
- 'eihe_link',
182
- [
183
- 'label' => __('Link To', 'eihe-lang'),
184
- 'type' => Controls_Manager::URL,
185
- 'placeholder' => __('https://your-link.com', 'eihe-lang'),
186
- 'show_external' => true,
187
- 'separator' => 'before',
188
- 'default' => [
189
- 'url' => '',
190
- 'is_external' => false,
191
- 'nofollow' => false,
192
- ]
193
- ]
194
- );
195
-
196
- $this->end_controls_section();
197
- $this->start_controls_section(
198
- 'eihe_pro',
199
- [
200
- 'label' => esc_html__('PRO Features', 'eihe-lang'),
201
- 'tab' => Controls_Manager::TAB_CONTENT,
202
- ]
203
- );
204
-
205
- $this->add_control(
206
- 'eihe_pro_html',
207
- [
208
- 'label' => __( ' ', 'eihe-lang'),
209
- 'type' => \Elementor\Controls_Manager::RAW_HTML,
210
- 'content_classes' => 'eihe-pro-prepare',
211
- 'raw' => __( '<br/><div>Meet Our Pro Effects</div><br/>Thank you for installing our plugin, you can also try our premium version which includes 150+ Creative Hover effects<br/><br/><a target="_blank" href="https://tiny.cc/eihe-pro">Emage Hover Effects</a>', 'eihe-lang'),
212
- ]
213
- );
214
-
215
- $this->end_controls_section();
216
- $this->start_controls_section(
217
- 'eihe_content_style',
218
- [
219
- 'label' => esc_html__('Style', 'eihe-lang'),
220
- 'tab' => Controls_Manager::TAB_STYLE,
221
- ]
222
- );
223
-
224
- $this->add_control(
225
- 'eihe_background_color',
226
- [
227
- 'label' => esc_html__('Background', 'eihe-lang'),
228
- 'type' => Controls_Manager::COLOR,
229
- 'default' => '#000',
230
- 'scheme' => [
231
- 'type' => Scheme_Color::get_type(),
232
- 'value' => Scheme_Color::COLOR_1,
233
- ],
234
- 'selectors' => [
235
- "{{WRAPPER}} .eihe-box,
236
- {{WRAPPER}} .eihe-box .eihe-caption,
237
- {{WRAPPER}} .eihe-box[class^='eihe-shutter-in-']:after,
238
- {{WRAPPER}} .eihe-box[class^='eihe-shutter-in-']:before,
239
- {{WRAPPER}} .eihe-box[class*=' eihe-shutter-in-']:after,
240
- {{WRAPPER}} .eihe-box[class*=' eihe-shutter-in-']:before,
241
- {{WRAPPER}} .eihe-box[class^='eihe-shutter-out-']:before,
242
- {{WRAPPER}} .eihe-box[class*=' eihe-shutter-out-']:before,
243
- {{WRAPPER}} .eihe-box[class^='eihe-reveal-']:before,
244
- {{WRAPPER}} .eihe-box[class*=' eihe-reveal-']:before" => "background-color: {{VALUE}};",
245
- "{{WRAPPER}} .eihe-box[class*=' eihe-reveal-'] .eihe-caption" => "background: none;",
246
- "{{WRAPPER}} .eihe-box[class*=' eihe-shutter-in-'] .eihe-caption" => "background: none;",
247
- "{{WRAPPER}} .eihe-box[class*=' eihe-shutter-out-'] .eihe-caption" => "background: none;",
248
- ]
249
- ]
250
- );
251
-
252
- $this->add_responsive_control(
253
- 'eihe_align',
254
- [
255
- 'label' => esc_html__('Horizontal Alignment', 'eihe-lang'),
256
- 'type' => Controls_Manager::CHOOSE,
257
- 'options' => [
258
- 'flex-start'=> [
259
- 'title' => esc_html__('Left', 'eihe-lang'),
260
- 'icon' => 'fa fa-align-left',
261
- ],
262
- 'center' => [
263
- 'title' => esc_html__('Center', 'eihe-lang'),
264
- 'icon' => 'fa fa-align-center',
265
- ],
266
- 'flex-end' => [
267
- 'title' => esc_html__('Right', 'eihe-lang'),
268
- 'icon' => 'fa fa-align-right',
269
- ]
270
- ],
271
- 'default' => 'center',
272
- 'selectors' => [
273
- '{{WRAPPER}} .eihe-box .eihe-caption' => 'align-items: {{VALUE}}',
274
- ]
275
- ]
276
- );
277
-
278
- $this->add_responsive_control(
279
- 'eihe_vertical_align',
280
- [
281
- 'label' => esc_html__('Vertical Alignment', 'eihe-lang'),
282
- 'type' => Controls_Manager::CHOOSE,
283
- 'options' => [
284
- 'flex-start'=> [
285
- 'title' => esc_html__('Top', 'eihe-lang'),
286
- 'icon' => 'eicon-v-align-top',
287
- ],
288
- 'center' => [
289
- 'title' => esc_html__('Middle', 'eihe-lang'),
290
- 'icon' => 'eicon-v-align-middle',
291
- ],
292
- 'flex-end' => [
293
- 'title' => esc_html__('Bottom', 'eihe-lang'),
294
- 'icon' => 'eicon-v-align-bottom',
295
- ]
296
- ],
297
- 'default' => 'center',
298
- 'selectors' => [
299
- '{{WRAPPER}} .eihe-box .eihe-caption' => 'justify-content: {{VALUE}}',
300
- ]
301
- ]
302
- );
303
-
304
- $this->add_control(
305
- 'eihe_padding',
306
- [
307
- 'label' => esc_html__('Padding', 'eihe-lang'),
308
- 'type' => Controls_Manager::DIMENSIONS,
309
- 'size_units'=> ['px', '%'],
310
- 'default' => [
311
- 'top' => 30,
312
- 'right' => 30,
313
- 'bottom'=> 30,
314
- 'left' => 30,
315
- ],
316
- 'selectors' => [
317
- '{{WRAPPER}} .eihe-box .eihe-caption' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}}'
318
- ]
319
- ]
320
- );
321
-
322
- $this->add_control(
323
- 'eihe_image_border_radius',
324
- [
325
- 'label' => esc_html__('Border Radius', 'eihe-lang'),
326
- 'type' => Controls_Manager::DIMENSIONS,
327
- 'size_units' => ['px', '%'],
328
- 'selectors' => [
329
- '{{WRAPPER}} .eihe-box' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}}'
330
- ]
331
- ]
332
- );
333
-
334
- $this->add_control(
335
- 'eihe_title_heading',
336
- [
337
- 'label' => __('Title', 'eihe-lang'),
338
- 'type' => Controls_Manager::HEADING,
339
- 'separator' => 'before',
340
- ]
341
- );
342
-
343
- $this->add_control(
344
- 'eihe_title_color',
345
- [
346
- 'label' => __('Color', 'eihe-lang'),
347
- 'type' => Controls_Manager::COLOR,
348
- 'scheme' => [
349
- 'type' => Scheme_Color::get_type(),
350
- 'value' => Scheme_Color::COLOR_1,
351
- ],
352
- 'default' => '#fff',
353
- 'selectors' => [
354
- '{{WRAPPER}} .eihe-box .eihe-caption .eihe-title-cover .eihe-title' => 'color: {{VALUE}}'
355
- ]
356
- ]
357
- );
358
-
359
- $this->add_group_control(
360
- Group_Control_Typography::get_type(),
361
- [
362
- 'name' => 'eihe_title_typography',
363
- 'label' => __('Typography', 'eihe-lang'),
364
- 'scheme' => Scheme_Typography::TYPOGRAPHY_1,
365
- 'selector' => '{{WRAPPER}} .eihe-box .eihe-caption .eihe-title-cover .eihe-title'
366
- ]
367
- );
368
-
369
- $this->add_control(
370
- 'eihe_description_heading',
371
- [
372
- 'label' => __('Description', 'eihe-lang'),
373
- 'type' => Controls_Manager::HEADING,
374
- 'separator' => 'before',
375
- ]
376
- );
377
-
378
- $this->add_control(
379
- 'eihe_description_color',
380
- [
381
- 'label' => __('Color', 'eihe-lang'),
382
- 'type' => Controls_Manager::COLOR,
383
- 'scheme' => [
384
- 'type' => Scheme_Color::get_type(),
385
- 'value' => Scheme_Color::COLOR_1,
386
- ],
387
- 'default' => '#fff',
388
- 'selectors' => [
389
- '{{WRAPPER}} .eihe-box .eihe-caption p' => 'color: {{VALUE}}'
390
- ]
391
- ]
392
- );
393
-
394
- $this->add_group_control(
395
- Group_Control_Typography::get_type(),
396
- [
397
- 'name' => 'eihe_description_typography',
398
- 'label' => __('Typography', 'eihe-lang'),
399
- 'scheme' => Scheme_Typography::TYPOGRAPHY_1,
400
- 'selector' => '{{WRAPPER}} .eihe-box .eihe-caption p'
401
- ]
402
- );
403
-
404
- $this->add_control(
405
- 'icon_heading',
406
- [
407
- 'label' => __('Icon', 'eihe-lang'),
408
- 'type' => Controls_Manager::HEADING,
409
- 'separator' => 'before',
410
- ]
411
- );
412
-
413
- $this->add_control(
414
- 'icon_color',
415
- [
416
- 'label' => __( 'Color', 'eihe-lang'),
417
- 'type' => Controls_Manager::COLOR,
418
- 'scheme' => [
419
- 'type' => Scheme_Color::get_type(),
420
- 'value' => Scheme_Color::COLOR_1,
421
- ],
422
- 'default' => '#dddddd',
423
- 'selectors' => [
424
- '{{WRAPPER}} .eihe-box .eihe-caption .eihe-title-cover .eihe-icon' => 'color: {{VALUE}};',
425
- ],
426
- ]
427
- );
428
-
429
- $this->add_control(
430
- 'icon_size',
431
- [
432
- 'label' => __('Icon Size', 'eihe-lang'),
433
- 'type' => Controls_Manager::SLIDER,
434
- 'range' => [
435
- 'px' => [
436
- 'min' => 5,
437
- 'max' => 200,
438
- ],
439
- ],
440
- 'default' => [
441
- 'size' => 30
442
- ],
443
- 'selectors' => [
444
- '{{WRAPPER}} .eihe-box .eihe-caption .eihe-title-cover .eihe-icon' => 'font-size: {{SIZE}}{{UNIT}}; width: {{SIZE}}{{UNIT}}; height: {{SIZE}}{{UNIT}};',
445
- ],
446
- ]
447
- );
448
-
449
- $this->add_control(
450
- 'icon_space',
451
- [
452
- 'label' => __('Icon Space', 'eihe-lang'),
453
- 'type' => Controls_Manager::SLIDER,
454
- 'range' => [
455
- 'px' => [
456
- 'min' => 0,
457
- 'max' => 150,
458
- ],
459
- ],
460
- 'default' => [
461
- 'size' => 15
462
- ],
463
- 'selectors' => [
464
- '{{WRAPPER}} .eihe-box .eihe-caption .eihe-title-cover .eihe-ileft' => 'margin-right: {{SIZE}}{{UNIT}};',
465
- '{{WRAPPER}} .eihe-box .eihe-caption .eihe-title-cover .eihe-iright' => 'margin-left: {{SIZE}}{{UNIT}};',
466
- ],
467
- ]
468
- );
469
-
470
- $this->end_controls_section();
471
- }
472
-
473
- protected function render() {
474
-
475
- $settings = $this->get_settings_for_display();
476
-
477
- $eihe_tag = $settings['eihe_tag'];
478
- $icon = $settings['icon'];
479
- $icon_order = $settings['icon_order'];
480
- $eihe_align = $settings['eihe_align'];
481
-
482
- $target = $settings['eihe_link']['is_external'] ? ' target="_blank"' : '';
483
- $nofollow = $settings['eihe_link']['nofollow'] ? ' rel="nofollow"' : '';
484
-
485
- if (strlen($settings['eihe_link']['url']) > 0) { ?>
486
- <a href="<?php echo $settings['eihe_link']['url']; ?>"<?php echo $target.$nofollow; ?>>
487
- <?php } ?>
488
- <div class="eihe-box <?php echo $settings['eihe_effect'] . ' eihe_' . $eihe_align; ?>">
489
- <?php echo Group_Control_Image_Size::get_attachment_image_html($settings, 'eihe_thumbnail', 'eihe_image'); ?>
490
- <div class="eihe-caption">
491
- <div class="eihe-title-cover">
492
- <?php if($icon_order == 'before' && !empty($icon) && !empty($icon['value'])) { ?><div class="eihe-ileft eihe-icon"><?php Icons_Manager::render_icon( $icon, [ 'aria-hidden' => 'true' ] ); ?> </div> <?php } ?>
493
- <<?php echo $eihe_tag;?> class="eihe-title"><?php echo $settings['eihe_title']; ?></<?php echo $eihe_tag; ?>>
494
- <?php if($icon_order == 'after' && !empty($icon) && !empty($icon['value'])) { ?><div class="eihe-iright eihe-icon"><?php Icons_Manager::render_icon( $icon, [ 'aria-hidden' => 'true' ] ); ?> </div> <?php } ?>
495
- </div>
496
- <p><?php echo $settings['eihe_description']; ?></p>
497
- </div>
498
- </div>
499
- <?php if (strlen($settings['eihe_link']['url']) > 0) { ?>
500
- </a>
501
- <?php }
502
- }
503
-
504
- protected function _content_template() {
505
- ?>
506
- <#
507
-
508
- var image = {
509
- id: settings.eihe_image.id,
510
- url: settings.eihe_image.url,
511
- size: settings.eihe_thumbnail_size,
512
- dimension: settings.eihe_thumbnail_custom_dimension,
513
- model: view.getEditModel()
514
- };
515
- var image_url = elementor.imagesManager.getImageUrl(image);
516
- var icon = settings.icon;
517
- var icon_order = settings.icon_order;
518
- var iconHTML = '';
519
-
520
- var target = settings.eihe_link.is_external ? ' target="_blank"' : '';
521
- var nofollow = settings.eihe_link.nofollow ? ' rel="nofollow"' : '';
522
-
523
- if (settings.eihe_link.url.length > 0) { #>
524
- <a href="{{{ settings.eihe_link.url }}}"{{ target }}{{ nofollow }}>
525
- <# } #>
526
- <div class="eihe-box {{{ settings.eihe_effect }}} eihe_{{{ settings.eihe_align }}}">
527
- <img src="{{{ image_url }}}" />
528
- <div class="eihe-caption">
529
- <div class="eihe-title-cover">
530
- <# if(icon && settings.icon.value && icon_order == 'before'){
531
- iconHTML = elementor.helpers.renderIcon(view, settings.icon, { 'aria-hidden': true }, 'i', 'object' ); #>
532
- <div class="eihe-ileft eihe-icon">{{{ iconHTML.value }}}</div>
533
- <# } #>
534
- <{{{settings.eihe_tag}}} class="eihe-title">{{{ settings.eihe_title }}}</{{{settings.eihe_tag}}}>
535
- <# if(icon && settings.icon.value && icon_order == 'after'){
536
- iconHTML = elementor.helpers.renderIcon(view, settings.icon, { 'aria-hidden': true }, 'i', 'object' ); #>
537
- <div class="eihe-iright eihe-icon">{{{ iconHTML.value }}}</div>
538
- <# } #>
539
- </div>
540
- <p>{{{ settings.eihe_description }}}</p>
541
- </div>
542
- </div>
543
- <# if (settings.eihe_link.url.length > 0) { #>
544
- </a>
545
- <# } #>
546
-
547
- <?php
548
- }
549
- }
550
-
551
- Plugin::instance()->widgets_manager->register_widget_type( new Elementor_Image_Hover_Effects_EIHE() );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace Elementor;
3
+
4
+ if (!defined('ABSPATH')) {
5
+ exit;
6
+ }
7
+
8
+ class Elementor_Image_Hover_Effects_EIHE extends Widget_Base {
9
+
10
+ public function get_name() {
11
+ return 'e_image_hover_effects';
12
+ }
13
+
14
+ public function get_title() {
15
+ return esc_html__('Image Hover Effects', 'eihe-lang');
16
+ }
17
+
18
+ public function get_icon() {
19
+ return 'eicon-image-rollover';
20
+ }
21
+
22
+ protected function _register_controls() {
23
+
24
+ $this->start_controls_section(
25
+ 'eihe_content',
26
+ [
27
+ 'label' => esc_html__('Image Hover Effects', 'eihe-lang'),
28
+ 'tab' => Controls_Manager::TAB_CONTENT,
29
+ ]
30
+ );
31
+
32
+ $this->add_control(
33
+ 'eihe_effect',
34
+ [
35
+ 'label' => esc_html__('Effect', 'eihe-lang'),
36
+ 'type' => Controls_Manager::SELECT,
37
+ 'options' => [
38
+ 'eihe-fade' => esc_html__('Fade', 'eihe-lang'),
39
+ 'eihe-fade-in-up' => esc_html__('Fade In Up', 'eihe-lang'),
40
+ 'eihe-fade-in-down' => esc_html__('Fade In Down', 'eihe-lang'),
41
+ 'eihe-fade-in-left' => esc_html__('Fade In Left', 'eihe-lang'),
42
+ 'eihe-fade-in-right' => esc_html__('Fade In Right', 'eihe-lang'),
43
+ 'eihe-slide-up' => esc_html__('Slide Up', 'eihe-lang'),
44
+ 'eihe-slide-down' => esc_html__('Slide Down', 'eihe-lang'),
45
+ 'eihe-slide-left' => esc_html__('Slide Left', 'eihe-lang'),
46
+ 'eihe-slide-right' => esc_html__('Slide Right', 'eihe-lang'),
47
+ 'eihe-reveal-up' => esc_html__('Reveal Up', 'eihe-lang'),
48
+ 'eihe-reveal-down' => esc_html__('Reveal Down', 'eihe-lang'),
49
+ 'eihe-reveal-left' => esc_html__('Reveal Left', 'eihe-lang'),
50
+ 'eihe-reveal-right' => esc_html__('Reveal Right', 'eihe-lang'),
51
+ 'eihe-push-up' => esc_html__('Push Up', 'eihe-lang'),
52
+ 'eihe-push-down' => esc_html__('Push Down', 'eihe-lang'),
53
+ 'eihe-push-left' => esc_html__('Push Left', 'eihe-lang'),
54
+ 'eihe-push-right' => esc_html__('Push Right', 'eihe-lang'),
55
+ 'eihe-hinge-up' => esc_html__('Hinge Up', 'eihe-lang'),
56
+ 'eihe-hinge-down' => esc_html__('Hinge Down', 'eihe-lang'),
57
+ 'eihe-hinge-left' => esc_html__('Hinge Left', 'eihe-lang'),
58
+ 'eihe-hinge-right' => esc_html__('Hinge Right', 'eihe-lang'),
59
+ 'eihe-flip-horiz' => esc_html__('Flip Horizontal', 'eihe-lang'),
60
+ 'eihe-flip-vert' => esc_html__('Flip Vertical', 'eihe-lang'),
61
+ 'eihe-flip-diag-1' => esc_html__('Flip Crosss 1', 'eihe-lang'),
62
+ 'eihe-flip-diag-2' => esc_html__('Flip Crosss 2', 'eihe-lang'),
63
+ 'eihe-shutter-out-horiz' => esc_html__('Shutter Out Horizontal', 'eihe-lang'),
64
+ 'eihe-shutter-out-vert' => esc_html__('Shutter Out Vertical', 'eihe-lang'),
65
+ 'eihe-shutter-out-diag-1' => esc_html__('Shutter Out Crosss 1', 'eihe-lang'),
66
+ 'eihe-shutter-out-diag-2' => esc_html__('Shutter Out Crosss 2', 'eihe-lang'),
67
+ 'eihe-shutter-in-horiz' => esc_html__('Shutter In Horizontal', 'eihe-lang'),
68
+ 'eihe-shutter-in-vert' => esc_html__('Shutter In Vertical', 'eihe-lang'),
69
+ 'eihe-shutter-in-out-horiz' => esc_html__('Shutter In Out Horizontal', 'eihe-lang'),
70
+ 'eihe-shutter-in-out-vert' => esc_html__('Shutter In Out Vertical', 'eihe-lang'),
71
+ 'eihe-shutter-in-out-diag-1' => esc_html__('Shutter In Out Crosss 1', 'eihe-lang'),
72
+ 'eihe-shutter-in-out-diag-2' => esc_html__('Shutter In Out Crosss 2', 'eihe-lang'),
73
+ 'eihe-fold-up' => esc_html__('Fold Up', 'eihe-lang'),
74
+ 'eihe-fold-down' => esc_html__('Fold Down', 'eihe-lang'),
75
+ 'eihe-fold-left' => esc_html__('Fold Left', 'eihe-lang'),
76
+ 'eihe-fold-right' => esc_html__('Fold Right', 'eihe-lang'),
77
+ 'eihe-zoom-in' => esc_html__('Zoom In', 'eihe-lang'),
78
+ 'eihe-zoom-out' => esc_html__('Zoom Out', 'eihe-lang'),
79
+ 'eihe-zoom-out-up' => esc_html__('Zoom Out Up', 'eihe-lang'),
80
+ 'eihe-zoom-out-down' => esc_html__('Zoom Out Down', 'eihe-lang'),
81
+ 'eihe-zoom-out-left' => esc_html__('Zoom Out Left', 'eihe-lang'),
82
+ 'eihe-zoom-out-right' => esc_html__('Zoom Out Right', 'eihe-lang'),
83
+ 'eihe-zoom-out-flip-vert' => esc_html__('Zoom Out Flip Vertical', 'eihe-lang'),
84
+ 'eihe-zoom-out-flip-horiz' => esc_html__('Zoom Out Flip Horizontal', 'eihe-lang'),
85
+ 'eihe-blur' => esc_html__('Blur', 'eihe-lang'),
86
+ ],
87
+ 'default' => 'eihe-fade-in-up',
88
+ ]
89
+ );
90
+
91
+ $this->add_control(
92
+ 'eihe_image',
93
+ [
94
+ 'label' => esc_html__('Choose Image', 'eihe-lang'),
95
+ 'type' => Controls_Manager::MEDIA,
96
+ 'default' => [
97
+ 'url' => Utils::get_placeholder_image_src(),
98
+ ],
99
+ 'separator' => 'before',
100
+ ]
101
+ );
102
+
103
+ $this->add_group_control(
104
+ Group_Control_Image_Size::get_type(),
105
+ [
106
+ 'name' => 'eihe_thumbnail',
107
+ 'exclude' => ['custom'],
108
+ 'include' => [],
109
+ 'default' => 'full',
110
+ ]
111
+ );
112
+
113
+ $this->add_control(
114
+ 'eihe_title',
115
+ [
116
+ 'label' => __('Title', 'eihe-lang'),
117
+ 'type' => Controls_Manager::TEXT,
118
+ 'default' => __('Title', 'eihe-lang'),
119
+ 'placeholder' => __('Type your title here', 'eihe-lang'),
120
+ 'separator' => 'before',
121
+ 'label_block' => true
122
+ ]
123
+ );
124
+
125
+ $this->add_control(
126
+ 'eihe_tag',
127
+ [
128
+ 'label' => esc_html__('Title Tag', 'eihe-lang'),
129
+ 'type' => Controls_Manager::SELECT,
130
+ 'options' => [
131
+ 'h1' => esc_html__('H1', 'eihe-lang'),
132
+ 'h2' => esc_html__('H2', 'eihe-lang'),
133
+ 'h3' => esc_html__('H3', 'eihe-lang'),
134
+ 'h4' => esc_html__('H4', 'eihe-lang'),
135
+ 'h5' => esc_html__('H5', 'eihe-lang'),
136
+ 'h6' => esc_html__('H6', 'eihe-lang'),
137
+ 'p' => esc_html__('Paragraph', 'eihe-lang'),
138
+ 'span' => esc_html__('Span', 'eihe-lang'),
139
+ ],
140
+ 'default' => 'h3',
141
+ ]
142
+ );
143
+
144
+ $this->add_control(
145
+ 'eihe_description',
146
+ [
147
+ 'label' => __('Description', 'eihe-lang'),
148
+ 'type' => Controls_Manager::TEXTAREA,
149
+ 'rows' => 5,
150
+ 'default' => __('Description', 'eihe-lang'),
151
+ 'placeholder' => __('Type your description here', 'eihe-lang'),
152
+ 'show_label' => true,
153
+ 'separator' => 'before',
154
+ ]
155
+ );
156
+
157
+ $this->add_control(
158
+ 'icon',
159
+ [
160
+ 'label' => __( 'Icon', 'eihe-lang'),
161
+ 'type' => Controls_Manager::ICONS,
162
+ 'label_block' => true,
163
+ 'separator' => 'before',
164
+ ]
165
+ );
166
+
167
+ $this->add_control(
168
+ 'icon_order',
169
+ [
170
+ 'label' => esc_html__('Icon Position', 'eihe-lang'),
171
+ 'type' => Controls_Manager::SELECT,
172
+ 'options' => [
173
+ 'before' => esc_html__('Before', 'eihe-lang'),
174
+ 'after' => esc_html__('After', 'eihe-lang'),
175
+ ],
176
+ 'default' => 'after',
177
+ ]
178
+ );
179
+
180
+ $this->add_control(
181
+ 'eihe_link',
182
+ [
183
+ 'label' => __('Link To', 'eihe-lang'),
184
+ 'type' => Controls_Manager::URL,
185
+ 'placeholder' => __('https://your-link.com', 'eihe-lang'),
186
+ 'show_external' => true,
187
+ 'separator' => 'before',
188
+ 'default' => [
189
+ 'url' => '',
190
+ 'is_external' => false,
191
+ 'nofollow' => false,
192
+ ]
193
+ ]
194
+ );
195
+
196
+ $this->end_controls_section();
197
+ $this->start_controls_section(
198
+ 'eihe_pro',
199
+ [
200
+ 'label' => esc_html__('PRO Features', 'eihe-lang'),
201
+ 'tab' => Controls_Manager::TAB_CONTENT,
202
+ ]
203
+ );
204
+
205
+ $this->add_control(
206
+ 'eihe_pro_html',
207
+ [
208
+ 'label' => __( ' ', 'eihe-lang'),
209
+ 'type' => \Elementor\Controls_Manager::RAW_HTML,
210
+ 'content_classes' => 'eihe-pro-prepare',
211
+ 'raw' => __( '<br/><div>Meet Our Pro Effects</div><br/>Thank you for installing our plugin, you can also try our premium version which includes 150+ Creative Hover effects<br/><br/><a target="_blank" href="https://tiny.cc/eihe-pro">Emage Hover Effects</a>', 'eihe-lang'),
212
+ ]
213
+ );
214
+
215
+ $this->end_controls_section();
216
+ $this->start_controls_section(
217
+ 'eihe_content_style',
218
+ [
219
+ 'label' => esc_html__('Style', 'eihe-lang'),
220
+ 'tab' => Controls_Manager::TAB_STYLE,
221
+ ]
222
+ );
223
+
224
+ $this->add_control(
225
+ 'eihe_background_color',
226
+ [
227
+ 'label' => esc_html__('Background', 'eihe-lang'),
228
+ 'type' => Controls_Manager::COLOR,
229
+ 'default' => '#000',
230
+ 'scheme' => [
231
+ 'type' => Scheme_Color::get_type(),
232
+ 'value' => Scheme_Color::COLOR_1,
233
+ ],
234
+ 'selectors' => [
235
+ "{{WRAPPER}} .eihe-box,
236
+ {{WRAPPER}} .eihe-box .eihe-caption,
237
+ {{WRAPPER}} .eihe-box[class^='eihe-shutter-in-']:after,
238
+ {{WRAPPER}} .eihe-box[class^='eihe-shutter-in-']:before,
239
+ {{WRAPPER}} .eihe-box[class*=' eihe-shutter-in-']:after,
240
+ {{WRAPPER}} .eihe-box[class*=' eihe-shutter-in-']:before,
241
+ {{WRAPPER}} .eihe-box[class^='eihe-shutter-out-']:before,
242
+ {{WRAPPER}} .eihe-box[class*=' eihe-shutter-out-']:before,
243
+ {{WRAPPER}} .eihe-box[class^='eihe-reveal-']:before,
244
+ {{WRAPPER}} .eihe-box[class*=' eihe-reveal-']:before" => "background-color: {{VALUE}};",
245
+ "{{WRAPPER}} .eihe-box[class*=' eihe-reveal-'] .eihe-caption" => "background: none;",
246
+ "{{WRAPPER}} .eihe-box[class*=' eihe-shutter-in-'] .eihe-caption" => "background: none;",
247
+ "{{WRAPPER}} .eihe-box[class*=' eihe-shutter-out-'] .eihe-caption" => "background: none;",
248
+ ]
249
+ ]
250
+ );
251
+
252
+ $this->add_responsive_control(
253
+ 'eihe_align',
254
+ [
255
+ 'label' => esc_html__('Horizontal Alignment', 'eihe-lang'),
256
+ 'type' => Controls_Manager::CHOOSE,
257
+ 'options' => [
258
+ 'flex-start'=> [
259
+ 'title' => esc_html__('Left', 'eihe-lang'),
260
+ 'icon' => 'fa fa-align-left',
261
+ ],
262
+ 'center' => [
263
+ 'title' => esc_html__('Center', 'eihe-lang'),
264
+ 'icon' => 'fa fa-align-center',
265
+ ],
266
+ 'flex-end' => [
267
+ 'title' => esc_html__('Right', 'eihe-lang'),
268
+ 'icon' => 'fa fa-align-right',
269
+ ]
270
+ ],
271
+ 'default' => 'center',
272
+ 'selectors' => [
273
+ '{{WRAPPER}} .eihe-box .eihe-caption' => 'align-items: {{VALUE}}',
274
+ ]
275
+ ]
276
+ );
277
+
278
+ $this->add_responsive_control(
279
+ 'eihe_vertical_align',
280
+ [
281
+ 'label' => esc_html__('Vertical Alignment', 'eihe-lang'),
282
+ 'type' => Controls_Manager::CHOOSE,
283
+ 'options' => [
284
+ 'flex-start'=> [
285
+ 'title' => esc_html__('Top', 'eihe-lang'),
286
+ 'icon' => 'eicon-v-align-top',
287
+ ],
288
+ 'center' => [
289
+ 'title' => esc_html__('Middle', 'eihe-lang'),
290
+ 'icon' => 'eicon-v-align-middle',
291
+ ],
292
+ 'flex-end' => [
293
+ 'title' => esc_html__('Bottom', 'eihe-lang'),
294
+ 'icon' => 'eicon-v-align-bottom',
295
+ ]
296
+ ],
297
+ 'default' => 'center',
298
+ 'selectors' => [
299
+ '{{WRAPPER}} .eihe-box .eihe-caption' => 'justify-content: {{VALUE}}',
300
+ ]
301
+ ]
302
+ );
303
+
304
+ $this->add_control(
305
+ 'eihe_padding',
306
+ [
307
+ 'label' => esc_html__('Padding', 'eihe-lang'),
308
+ 'type' => Controls_Manager::DIMENSIONS,
309
+ 'size_units'=> ['px', '%'],
310
+ 'default' => [
311
+ 'top' => 30,
312
+ 'right' => 30,
313
+ 'bottom'=> 30,
314
+ 'left' => 30,
315
+ ],
316
+ 'selectors' => [
317
+ '{{WRAPPER}} .eihe-box .eihe-caption' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}}'
318
+ ]
319
+ ]
320
+ );
321
+
322
+ $this->add_control(
323
+ 'eihe_image_border_radius',
324
+ [
325
+ 'label' => esc_html__('Border Radius', 'eihe-lang'),
326
+ 'type' => Controls_Manager::DIMENSIONS,
327
+ 'size_units' => ['px', '%'],
328
+ 'selectors' => [
329
+ '{{WRAPPER}} .eihe-box' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}}'
330
+ ]
331
+ ]
332
+ );
333
+
334
+ $this->add_control(
335
+ 'eihe_title_heading',
336
+ [
337
+ 'label' => __('Title', 'eihe-lang'),
338
+ 'type' => Controls_Manager::HEADING,
339
+ 'separator' => 'before',
340
+ ]
341
+ );
342
+
343
+ $this->add_control(
344
+ 'eihe_title_color',
345
+ [
346
+ 'label' => __('Color', 'eihe-lang'),
347
+ 'type' => Controls_Manager::COLOR,
348
+ 'scheme' => [
349
+ 'type' => Scheme_Color::get_type(),
350
+ 'value' => Scheme_Color::COLOR_1,
351
+ ],
352
+ 'default' => '#fff',
353
+ 'selectors' => [
354
+ '{{WRAPPER}} .eihe-box .eihe-caption .eihe-title-cover .eihe-title' => 'color: {{VALUE}}'
355
+ ]
356
+ ]
357
+ );
358
+
359
+ $this->add_group_control(
360
+ Group_Control_Typography::get_type(),
361
+ [
362
+ 'name' => 'eihe_title_typography',
363
+ 'label' => __('Typography', 'eihe-lang'),
364
+ 'scheme' => Scheme_Typography::TYPOGRAPHY_1,
365
+ 'selector' => '{{WRAPPER}} .eihe-box .eihe-caption .eihe-title-cover .eihe-title'
366
+ ]
367
+ );
368
+
369
+ $this->add_control(
370
+ 'eihe_description_heading',
371
+ [
372
+ 'label' => __('Description', 'eihe-lang'),
373
+ 'type' => Controls_Manager::HEADING,
374
+ 'separator' => 'before',
375
+ ]
376
+ );
377
+
378
+ $this->add_control(
379
+ 'eihe_description_color',
380
+ [
381
+ 'label' => __('Color', 'eihe-lang'),
382
+ 'type' => Controls_Manager::COLOR,
383
+ 'scheme' => [
384
+ 'type' => Scheme_Color::get_type(),
385
+ 'value' => Scheme_Color::COLOR_1,
386
+ ],
387
+ 'default' => '#fff',
388
+ 'selectors' => [
389
+ '{{WRAPPER}} .eihe-box .eihe-caption p' => 'color: {{VALUE}}'
390
+ ]
391
+ ]
392
+ );
393
+
394
+ $this->add_group_control(
395
+ Group_Control_Typography::get_type(),
396
+ [
397
+ 'name' => 'eihe_description_typography',
398
+ 'label' => __('Typography', 'eihe-lang'),
399
+ 'scheme' => Scheme_Typography::TYPOGRAPHY_1,
400
+ 'selector' => '{{WRAPPER}} .eihe-box .eihe-caption p'
401
+ ]
402
+ );
403
+
404
+ $this->add_control(
405
+ 'icon_heading',
406
+ [
407
+ 'label' => __('Icon', 'eihe-lang'),
408
+ 'type' => Controls_Manager::HEADING,
409
+ 'separator' => 'before',
410
+ ]
411
+ );
412
+
413
+ $this->add_control(
414
+ 'icon_color',
415
+ [
416
+ 'label' => __( 'Color', 'eihe-lang'),
417
+ 'type' => Controls_Manager::COLOR,
418
+ 'scheme' => [
419
+ 'type' => Scheme_Color::get_type(),
420
+ 'value' => Scheme_Color::COLOR_1,
421
+ ],
422
+ 'default' => '#dddddd',
423
+ 'selectors' => [
424
+ '{{WRAPPER}} .eihe-box .eihe-caption .eihe-title-cover .eihe-icon' => 'color: {{VALUE}};',
425
+ ],
426
+ ]
427
+ );
428
+
429
+ $this->add_control(
430
+ 'icon_size',
431
+ [
432
+ 'label' => __('Icon Size', 'eihe-lang'),
433
+ 'type' => Controls_Manager::SLIDER,
434
+ 'range' => [
435
+ 'px' => [
436
+ 'min' => 5,
437
+ 'max' => 200,
438
+ ],
439
+ ],
440
+ 'default' => [
441
+ 'size' => 30
442
+ ],
443
+ 'selectors' => [
444
+ '{{WRAPPER}} .eihe-box .eihe-caption .eihe-title-cover .eihe-icon' => 'font-size: {{SIZE}}{{UNIT}}; width: {{SIZE}}{{UNIT}}; height: {{SIZE}}{{UNIT}};',
445
+ ],
446
+ ]
447
+ );
448
+
449
+ $this->add_control(
450
+ 'icon_space',
451
+ [
452
+ 'label' => __('Icon Space', 'eihe-lang'),
453
+ 'type' => Controls_Manager::SLIDER,
454
+ 'range' => [
455
+ 'px' => [
456
+ 'min' => 0,
457
+ 'max' => 150,
458
+ ],
459
+ ],
460
+ 'default' => [
461
+ 'size' => 15
462
+ ],
463
+ 'selectors' => [
464
+ '{{WRAPPER}} .eihe-box .eihe-caption .eihe-title-cover .eihe-ileft' => 'margin-right: {{SIZE}}{{UNIT}};',
465
+ '{{WRAPPER}} .eihe-box .eihe-caption .eihe-title-cover .eihe-iright' => 'margin-left: {{SIZE}}{{UNIT}};',
466
+ ],
467
+ ]
468
+ );
469
+
470
+ $this->end_controls_section();
471
+ }
472
+
473
+ public static function validate_html_tag($tag)
474
+ {
475
+ if(method_exists('Elementor\Utils', 'validate_html_tag'))
476
+ {
477
+ return Utils::validate_html_tag($tag);
478
+ } else {
479
+ $allowed_tags = ['h1','h2','h3','h4','h5','h6','p','span'];
480
+ return in_array(strtolower($tag), $allowed_tags) ? $tag : 'div';
481
+ }
482
+ }
483
+
484
+ protected function render()
485
+ {
486
+ $settings = $this->get_settings_for_display();
487
+
488
+ $eihe_tag = $this->validate_html_tag($settings['eihe_tag']);
489
+ $icon = $settings['icon'];
490
+ $icon_order = $settings['icon_order'];
491
+ $eihe_align = $settings['eihe_align'];
492
+
493
+ $target = $settings['eihe_link']['is_external'] ? ' target="_blank"' : '';
494
+ $nofollow = $settings['eihe_link']['nofollow'] ? ' rel="nofollow"' : '';
495
+
496
+ $title = wp_kses_post($settings['eihe_title']);
497
+ $desc = wp_kses_post($settings['eihe_description']);
498
+ $eihe_effect = esc_attr($settings['eihe_effect']);
499
+ $eihe_link = esc_url($settings['eihe_link']['url']);
500
+
501
+ if (strlen($eihe_link) > 0) { ?>
502
+ <a href="<?php echo $eihe_link; ?>"<?php echo $target.$nofollow; ?>>
503
+ <?php } ?>
504
+ <div class="eihe-box <?php echo $eihe_effect . ' eihe_' . $eihe_align; ?>">
505
+ <?php echo Group_Control_Image_Size::get_attachment_image_html($settings, 'eihe_thumbnail', 'eihe_image'); ?>
506
+ <div class="eihe-caption">
507
+ <div class="eihe-title-cover">
508
+ <?php if($icon_order == 'before' && !empty($icon) && !empty($icon['value'])) { ?><div class="eihe-ileft eihe-icon"><?php Icons_Manager::render_icon( $icon, [ 'aria-hidden' => 'true' ] ); ?> </div> <?php } ?>
509
+ <<?php echo $eihe_tag;?> class="eihe-title"><?php echo $title; ?></<?php echo $eihe_tag; ?>>
510
+ <?php if($icon_order == 'after' && !empty($icon) && !empty($icon['value'])) { ?><div class="eihe-iright eihe-icon"><?php Icons_Manager::render_icon( $icon, [ 'aria-hidden' => 'true' ] ); ?> </div> <?php } ?>
511
+ </div>
512
+ <p><?php echo $desc; ?></p>
513
+ </div>
514
+ </div>
515
+ <?php if (strlen($eihe_link) > 0) { ?>
516
+ </a>
517
+ <?php }
518
+ }
519
+
520
+ protected function _content_template()
521
+ {
522
+ ?>
523
+ <#
524
+
525
+ var image = {
526
+ id: settings.eihe_image.id,
527
+ url: settings.eihe_image.url,
528
+ size: settings.eihe_thumbnail_size,
529
+ dimension: settings.eihe_thumbnail_custom_dimension,
530
+ model: view.getEditModel()
531
+ };
532
+ var image_url = elementor.imagesManager.getImageUrl(image);
533
+ var icon = settings.icon;
534
+ var icon_order = settings.icon_order;
535
+ var iconHTML = '';
536
+
537
+ var target = settings.eihe_link.is_external ? ' target="_blank"' : '';
538
+ var nofollow = settings.eihe_link.nofollow ? ' rel="nofollow"' : '';
539
+
540
+ var allowed_tags = ['h1','h2','h3','h4','h5','h6','p','span'];
541
+
542
+ var eihe_tag = settings.eihe_tag;
543
+
544
+ if ( typeof elementor.helpers.validateHTMLTag === "function" ) {
545
+ eihe_tag = elementor.helpers.validateHTMLTag(eihe_tag);
546
+ } else {
547
+ eihe_tag = allowed_tags.indexOf(eihe_tag) > -1 ? eihe_tag : 'div';
548
+ }
549
+
550
+ var eihe_title = settings.eihe_title;
551
+ var eihe_description = settings.eihe_description;
552
+ var eihe_link = settings.eihe_link.url;
553
+
554
+ if (eihe_link.length > 0) { #>
555
+ <a href="{{{ eihe_link }}}"{{ target }}{{ nofollow }}>
556
+ <# } #>
557
+ <div class="eihe-box {{{ settings.eihe_effect }}} eihe_{{{ settings.eihe_align }}}">
558
+ <img src="{{{ image_url }}}" />
559
+ <div class="eihe-caption">
560
+ <div class="eihe-title-cover">
561
+ <# if(icon && settings.icon.value && icon_order == 'before'){
562
+ iconHTML = elementor.helpers.renderIcon(view, settings.icon, { 'aria-hidden': true }, 'i', 'object' ); #>
563
+ <div class="eihe-ileft eihe-icon">{{{ iconHTML.value }}}</div>
564
+ <# } #>
565
+ <{{{eihe_tag}}} class="eihe-title">{{{ eihe_title }}}</{{{eihe_tag}}}>
566
+ <# if(icon && settings.icon.value && icon_order == 'after'){
567
+ iconHTML = elementor.helpers.renderIcon(view, settings.icon, { 'aria-hidden': true }, 'i', 'object' ); #>
568
+ <div class="eihe-iright eihe-icon">{{{ iconHTML.value }}}</div>
569
+ <# } #>
570
+ </div>
571
+ <p>{{{ eihe_description }}}</p>
572
+ </div>
573
+ </div>
574
+ <# if (eihe_link.length > 0) { #>
575
+ </a>
576
+ <# } #>
577
+
578
+ <?php
579
+ }
580
+ }
581
+
582
+ Plugin::instance()->widgets_manager->register_widget_type(new Elementor_Image_Hover_Effects_EIHE());
languages/eihe-lang.pot CHANGED
@@ -1,471 +1,483 @@
1
- # Blank WordPress Pot
2
- # Copyright 2014 ...
3
- # This file is distributed under the GNU General Public License v3 or later.
4
- #, fuzzy
5
- msgid ""
6
- msgstr ""
7
- "Project-Id-Version: "
8
- "Blank WordPress Pot "
9
- "v1.0.0\n"
10
- "POT-Creation-Date: "
11
- "2019-06-25 13:14+0530\n"
12
- "PO-Revision-Date: \n"
13
- "Last-Translator: Your "
14
- "Name <you@example.com>\n"
15
- "Language-Team: Your Team "
16
- "<translations@example."
17
- "com>\n"
18
- "Report-Msgid-Bugs-To: "
19
- "Translator Name "
20
- "<translations@example."
21
- "com>\n"
22
- "MIME-Version: 1.0\n"
23
- "Content-Type: text/"
24
- "plain; charset=UTF-8\n"
25
- "Content-Transfer-"
26
- "Encoding: 8bit\n"
27
- "Plural-Forms: "
28
- "nplurals=2; plural=n != "
29
- "1;\n"
30
- "X-Textdomain-Support: "
31
- "yesX-Generator: Poedit "
32
- "1.6.4\n"
33
- "X-Poedit-SourceCharset: "
34
- "UTF-8\n"
35
- "X-Poedit-KeywordsList: "
36
- "__;_e;esc_html_e;"
37
- "esc_html_x:1,2c;"
38
- "esc_html__;esc_attr_e;"
39
- "esc_attr_x:1,2c;"
40
- "esc_attr__;_ex:1,2c;"
41
- "_nx:4c,1,2;"
42
- "_nx_noop:4c,1,2;_x:1,2c;"
43
- "_n:1,2;_n_noop:1,2;"
44
- "__ngettext:1,2;"
45
- "__ngettext_noop:1,2;_c,"
46
- "_nc:4c,1,2\n"
47
- "X-Poedit-Basepath: ..\n"
48
- "Language: en_US\n"
49
- "X-Generator: Poedit "
50
- "2.2.1\n"
51
- "X-Poedit-"
52
- "SearchPath-0: .\n"
53
-
54
- #: image-hover-effects-addon-for-elementor.php:100
55
- msgid ""
56
- "Enjoying our "
57
- "<strong>Image Hover "
58
- "Effects Addon for "
59
- "Elementor?</strong> We "
60
- "hope you liked it! If "
61
- "you feel this plugin "
62
- "helped you, You can give "
63
- "us a 5 star rating!"
64
- "<br>It will motivate us "
65
- "to serve you more !"
66
- msgstr ""
67
-
68
- #: image-hover-effects-addon-for-elementor.php:101
69
- msgid "Rate the Plugin!"
70
- msgstr ""
71
-
72
- #: image-hover-effects-addon-for-elementor.php:102
73
- msgid "Go Pro"
74
- msgstr ""
75
-
76
- #: image-hover-effects-addon-for-elementor.php:103
77
- msgid "Already Done"
78
- msgstr ""
79
-
80
- #: includes/widgets.php:15
81
- #: includes/widgets.php:27
82
- msgid "Image Hover Effects"
83
- msgstr ""
84
-
85
- #: includes/widgets.php:35
86
- msgid "Effect"
87
- msgstr ""
88
-
89
- #: includes/widgets.php:38
90
- msgid "Fade"
91
- msgstr ""
92
-
93
- #: includes/widgets.php:39
94
- msgid "Fade In Up"
95
- msgstr ""
96
-
97
- #: includes/widgets.php:40
98
- msgid "Fade In Down"
99
- msgstr ""
100
-
101
- #: includes/widgets.php:41
102
- msgid "Fade In Left"
103
- msgstr ""
104
-
105
- #: includes/widgets.php:42
106
- msgid "Fade In Right"
107
- msgstr ""
108
-
109
- #: includes/widgets.php:43
110
- msgid "Slide Up"
111
- msgstr ""
112
-
113
- #: includes/widgets.php:44
114
- msgid "Slide Down"
115
- msgstr ""
116
-
117
- #: includes/widgets.php:45
118
- msgid "Slide Left"
119
- msgstr ""
120
-
121
- #: includes/widgets.php:46
122
- msgid "Slide Right"
123
- msgstr ""
124
-
125
- #: includes/widgets.php:47
126
- msgid "Reveal Up"
127
- msgstr ""
128
-
129
- #: includes/widgets.php:48
130
- msgid "Reveal Down"
131
- msgstr ""
132
-
133
- #: includes/widgets.php:49
134
- msgid "Reveal Left"
135
- msgstr ""
136
-
137
- #: includes/widgets.php:50
138
- msgid "Reveal Right"
139
- msgstr ""
140
-
141
- #: includes/widgets.php:51
142
- msgid "Push Up"
143
- msgstr ""
144
-
145
- #: includes/widgets.php:52
146
- msgid "Push Down"
147
- msgstr ""
148
-
149
- #: includes/widgets.php:53
150
- msgid "Push Left"
151
- msgstr ""
152
-
153
- #: includes/widgets.php:54
154
- msgid "Push Right"
155
- msgstr ""
156
-
157
- #: includes/widgets.php:55
158
- msgid "Hinge Up"
159
- msgstr ""
160
-
161
- #: includes/widgets.php:56
162
- msgid "Hinge Down"
163
- msgstr ""
164
-
165
- #: includes/widgets.php:57
166
- msgid "Hinge Left"
167
- msgstr ""
168
-
169
- #: includes/widgets.php:58
170
- msgid "Hinge Right"
171
- msgstr ""
172
-
173
- #: includes/widgets.php:59
174
- msgid "Flip Horizontal"
175
- msgstr ""
176
-
177
- #: includes/widgets.php:60
178
- msgid "Flip Vertical"
179
- msgstr ""
180
-
181
- #: includes/widgets.php:61
182
- msgid "Flip Crosss 1"
183
- msgstr ""
184
-
185
- #: includes/widgets.php:62
186
- msgid "Flip Crosss 2"
187
- msgstr ""
188
-
189
- #: includes/widgets.php:63
190
- msgid ""
191
- "Shutter Out Horizontal"
192
- msgstr ""
193
-
194
- #: includes/widgets.php:64
195
- msgid ""
196
- "Shutter Out Vertical"
197
- msgstr ""
198
-
199
- #: includes/widgets.php:65
200
- msgid ""
201
- "Shutter Out Crosss 1"
202
- msgstr ""
203
-
204
- #: includes/widgets.php:66
205
- msgid ""
206
- "Shutter Out Crosss 2"
207
- msgstr ""
208
-
209
- #: includes/widgets.php:67
210
- msgid ""
211
- "Shutter In Horizontal"
212
- msgstr ""
213
-
214
- #: includes/widgets.php:68
215
- msgid "Shutter In Vertical"
216
- msgstr ""
217
-
218
- #: includes/widgets.php:69
219
- msgid ""
220
- "Shutter In Out Horizontal"
221
- msgstr ""
222
-
223
- #: includes/widgets.php:70
224
- msgid ""
225
- "Shutter In Out Vertical"
226
- msgstr ""
227
-
228
- #: includes/widgets.php:71
229
- msgid ""
230
- "Shutter In Out Crosss 1"
231
- msgstr ""
232
-
233
- #: includes/widgets.php:72
234
- msgid ""
235
- "Shutter In Out Crosss 2"
236
- msgstr ""
237
-
238
- #: includes/widgets.php:73
239
- msgid "Fold Up"
240
- msgstr ""
241
-
242
- #: includes/widgets.php:74
243
- msgid "Fold Down"
244
- msgstr ""
245
-
246
- #: includes/widgets.php:75
247
- msgid "Fold Left"
248
- msgstr ""
249
-
250
- #: includes/widgets.php:76
251
- msgid "Fold Right"
252
- msgstr ""
253
-
254
- #: includes/widgets.php:77
255
- msgid "Zoom In"
256
- msgstr ""
257
-
258
- #: includes/widgets.php:78
259
- msgid "Zoom Out"
260
- msgstr ""
261
-
262
- #: includes/widgets.php:79
263
- msgid "Zoom Out Up"
264
- msgstr ""
265
-
266
- #: includes/widgets.php:80
267
- msgid "Zoom Out Down"
268
- msgstr ""
269
-
270
- #: includes/widgets.php:81
271
- msgid "Zoom Out Left"
272
- msgstr ""
273
-
274
- #: includes/widgets.php:82
275
- msgid "Zoom Out Right"
276
- msgstr ""
277
-
278
- #: includes/widgets.php:83
279
- msgid ""
280
- "Zoom Out Flip Vertical"
281
- msgstr ""
282
-
283
- #: includes/widgets.php:84
284
- msgid ""
285
- "Zoom Out Flip Horizontal"
286
- msgstr ""
287
-
288
- #: includes/widgets.php:85
289
- msgid "Blur"
290
- msgstr ""
291
-
292
- #: includes/widgets.php:94
293
- msgid "Choose Image"
294
- msgstr ""
295
-
296
- #: includes/widgets.php:116
297
- #: includes/widgets.php:118
298
- #: includes/widgets.php:338
299
- msgid "Title"
300
- msgstr ""
301
-
302
- #: includes/widgets.php:119
303
- msgid ""
304
- "Type your title here"
305
- msgstr ""
306
-
307
- #: includes/widgets.php:128
308
- msgid "Title Tag"
309
- msgstr ""
310
-
311
- #: includes/widgets.php:131
312
- msgid "H1"
313
- msgstr ""
314
-
315
- #: includes/widgets.php:132
316
- msgid "H2"
317
- msgstr ""
318
-
319
- #: includes/widgets.php:133
320
- msgid "H3"
321
- msgstr ""
322
-
323
- #: includes/widgets.php:134
324
- msgid "H4"
325
- msgstr ""
326
-
327
- #: includes/widgets.php:135
328
- msgid "H5"
329
- msgstr ""
330
-
331
- #: includes/widgets.php:136
332
- msgid "H6"
333
- msgstr ""
334
-
335
- #: includes/widgets.php:137
336
- msgid "Paragraph"
337
- msgstr ""
338
-
339
- #: includes/widgets.php:138
340
- msgid "Span"
341
- msgstr ""
342
-
343
- #: includes/widgets.php:147
344
- #: includes/widgets.php:150
345
- #: includes/widgets.php:373
346
- msgid "Description"
347
- msgstr ""
348
-
349
- #: includes/widgets.php:151
350
- msgid ""
351
- "Type your description "
352
- "here"
353
- msgstr ""
354
-
355
- #: includes/widgets.php:160
356
- #: includes/widgets.php:408
357
- msgid "Icon"
358
- msgstr ""
359
-
360
- #: includes/widgets.php:171
361
- msgid "Icon Position"
362
- msgstr ""
363
-
364
- #: includes/widgets.php:174
365
- msgid "Before"
366
- msgstr ""
367
-
368
- #: includes/widgets.php:175
369
- msgid "After"
370
- msgstr ""
371
-
372
- #: includes/widgets.php:184
373
- msgid "Link To"
374
- msgstr ""
375
-
376
- #: includes/widgets.php:186
377
- msgid ""
378
- "https://your-link.com"
379
- msgstr ""
380
-
381
- #: includes/widgets.php:201
382
- msgid "PRO Features"
383
- msgstr ""
384
-
385
- #: includes/widgets.php:209
386
- msgid " "
387
- msgstr ""
388
-
389
- #: includes/widgets.php:212
390
- msgid ""
391
- "<br/><div>Meet Our Pro "
392
- "Effects</div><br/>Thank "
393
- "you for installing our "
394
- "plugin, you can also try "
395
- "our premium version "
396
- "which includes 150+ "
397
- "Creative Hover "
398
- "effects<br/><br/><a "
399
- "target=\"_blank\" href="
400
- "\"https://tiny.cc/eihe-"
401
- "pro\">Emage Hover "
402
- "Effects</a>"
403
- msgstr ""
404
-
405
- #: includes/widgets.php:220
406
- msgid "Style"
407
- msgstr ""
408
-
409
- #: includes/widgets.php:228
410
- msgid "Background"
411
- msgstr ""
412
-
413
- #: includes/widgets.php:256
414
- msgid ""
415
- "Horizontal Alignment"
416
- msgstr ""
417
-
418
- #: includes/widgets.php:260
419
- msgid "Left"
420
- msgstr ""
421
-
422
- #: includes/widgets.php:264
423
- msgid "Center"
424
- msgstr ""
425
-
426
- #: includes/widgets.php:268
427
- msgid "Right"
428
- msgstr ""
429
-
430
- #: includes/widgets.php:282
431
- msgid "Vertical Alignment"
432
- msgstr ""
433
-
434
- #: includes/widgets.php:286
435
- msgid "Top"
436
- msgstr ""
437
-
438
- #: includes/widgets.php:290
439
- msgid "Middle"
440
- msgstr ""
441
-
442
- #: includes/widgets.php:294
443
- msgid "Bottom"
444
- msgstr ""
445
-
446
- #: includes/widgets.php:308
447
- msgid "Padding"
448
- msgstr ""
449
-
450
- #: includes/widgets.php:326
451
- msgid "Border Radius"
452
- msgstr ""
453
-
454
- #: includes/widgets.php:347
455
- #: includes/widgets.php:382
456
- #: includes/widgets.php:417
457
- msgid "Color"
458
- msgstr ""
459
-
460
- #: includes/widgets.php:364
461
- #: includes/widgets.php:399
462
- msgid "Typography"
463
- msgstr ""
464
-
465
- #: includes/widgets.php:433
466
- msgid "Icon Size"
467
- msgstr ""
468
-
469
- #: includes/widgets.php:453
470
- msgid "Icon Space"
471
- msgstr ""
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Blank WordPress Pot
2
+ # Copyright 2014 ...
3
+ # This file is distributed under the GNU General Public License v3 or later.
4
+ #, fuzzy
5
+ msgid ""
6
+ msgstr ""
7
+ "Project-Id-Version: "
8
+ "Blank WordPress Pot "
9
+ "v1.0.0\n"
10
+ "POT-Creation-Date: "
11
+ "2021-04-08 13:13+0530\n"
12
+ "PO-Revision-Date: \n"
13
+ "Last-Translator: Your "
14
+ "Name <you@example.com>\n"
15
+ "Language-Team: Your Team "
16
+ "<translations@example."
17
+ "com>\n"
18
+ "Report-Msgid-Bugs-To: "
19
+ "Translator Name "
20
+ "<translations@example."
21
+ "com>\n"
22
+ "MIME-Version: 1.0\n"
23
+ "Content-Type: text/"
24
+ "plain; charset=UTF-8\n"
25
+ "Content-Transfer-"
26
+ "Encoding: 8bit\n"
27
+ "Plural-Forms: "
28
+ "nplurals=2; plural=n != "
29
+ "1;\n"
30
+ "X-Textdomain-Support: "
31
+ "yesX-Generator: Poedit "
32
+ "1.6.4\n"
33
+ "X-Poedit-SourceCharset: "
34
+ "UTF-8\n"
35
+ "X-Poedit-KeywordsList: "
36
+ "__;_e;esc_html_e;"
37
+ "esc_html_x:1,2c;"
38
+ "esc_html__;esc_attr_e;"
39
+ "esc_attr_x:1,2c;"
40
+ "esc_attr__;_ex:1,2c;"
41
+ "_nx:4c,1,2;"
42
+ "_nx_noop:4c,1,2;_x:1,2c;"
43
+ "_n:1,2;_n_noop:1,2;"
44
+ "__ngettext:1,2;"
45
+ "__ngettext_noop:1,2;_c,"
46
+ "_nc:4c,1,2\n"
47
+ "X-Poedit-Basepath: ..\n"
48
+ "Language: en_US\n"
49
+ "X-Generator: Poedit "
50
+ "2.4.2\n"
51
+ "X-Poedit-"
52
+ "SearchPath-0: .\n"
53
+
54
+ #: image-hover-effects-addon-for-elementor.php:74
55
+ msgid ""
56
+ "Image Hover Effects : "
57
+ "Title"
58
+ msgstr ""
59
+
60
+ #: image-hover-effects-addon-for-elementor.php:79
61
+ msgid ""
62
+ "Image Hover Effects : "
63
+ "Description"
64
+ msgstr ""
65
+
66
+ #: image-hover-effects-addon-for-elementor.php:122
67
+ msgid ""
68
+ "Enjoying our "
69
+ "<strong>Image Hover "
70
+ "Effects - Elementor "
71
+ "Addon?</strong> We hope "
72
+ "you liked it! If you "
73
+ "feel this plugin helped "
74
+ "you, You can give us a 5 "
75
+ "star rating!<br>It will "
76
+ "motivate us to serve you "
77
+ "more !"
78
+ msgstr ""
79
+
80
+ #: image-hover-effects-addon-for-elementor.php:123
81
+ msgid "Rate the Plugin!"
82
+ msgstr ""
83
+
84
+ #: image-hover-effects-addon-for-elementor.php:124
85
+ msgid "Go Pro"
86
+ msgstr ""
87
+
88
+ #: image-hover-effects-addon-for-elementor.php:125
89
+ msgid "Already Done"
90
+ msgstr ""
91
+
92
+ #: includes/widgets.php:15
93
+ #: includes/widgets.php:27
94
+ msgid "Image Hover Effects"
95
+ msgstr ""
96
+
97
+ #: includes/widgets.php:35
98
+ msgid "Effect"
99
+ msgstr ""
100
+
101
+ #: includes/widgets.php:38
102
+ msgid "Fade"
103
+ msgstr ""
104
+
105
+ #: includes/widgets.php:39
106
+ msgid "Fade In Up"
107
+ msgstr ""
108
+
109
+ #: includes/widgets.php:40
110
+ msgid "Fade In Down"
111
+ msgstr ""
112
+
113
+ #: includes/widgets.php:41
114
+ msgid "Fade In Left"
115
+ msgstr ""
116
+
117
+ #: includes/widgets.php:42
118
+ msgid "Fade In Right"
119
+ msgstr ""
120
+
121
+ #: includes/widgets.php:43
122
+ msgid "Slide Up"
123
+ msgstr ""
124
+
125
+ #: includes/widgets.php:44
126
+ msgid "Slide Down"
127
+ msgstr ""
128
+
129
+ #: includes/widgets.php:45
130
+ msgid "Slide Left"
131
+ msgstr ""
132
+
133
+ #: includes/widgets.php:46
134
+ msgid "Slide Right"
135
+ msgstr ""
136
+
137
+ #: includes/widgets.php:47
138
+ msgid "Reveal Up"
139
+ msgstr ""
140
+
141
+ #: includes/widgets.php:48
142
+ msgid "Reveal Down"
143
+ msgstr ""
144
+
145
+ #: includes/widgets.php:49
146
+ msgid "Reveal Left"
147
+ msgstr ""
148
+
149
+ #: includes/widgets.php:50
150
+ msgid "Reveal Right"
151
+ msgstr ""
152
+
153
+ #: includes/widgets.php:51
154
+ msgid "Push Up"
155
+ msgstr ""
156
+
157
+ #: includes/widgets.php:52
158
+ msgid "Push Down"
159
+ msgstr ""
160
+
161
+ #: includes/widgets.php:53
162
+ msgid "Push Left"
163
+ msgstr ""
164
+
165
+ #: includes/widgets.php:54
166
+ msgid "Push Right"
167
+ msgstr ""
168
+
169
+ #: includes/widgets.php:55
170
+ msgid "Hinge Up"
171
+ msgstr ""
172
+
173
+ #: includes/widgets.php:56
174
+ msgid "Hinge Down"
175
+ msgstr ""
176
+
177
+ #: includes/widgets.php:57
178
+ msgid "Hinge Left"
179
+ msgstr ""
180
+
181
+ #: includes/widgets.php:58
182
+ msgid "Hinge Right"
183
+ msgstr ""
184
+
185
+ #: includes/widgets.php:59
186
+ msgid "Flip Horizontal"
187
+ msgstr ""
188
+
189
+ #: includes/widgets.php:60
190
+ msgid "Flip Vertical"
191
+ msgstr ""
192
+
193
+ #: includes/widgets.php:61
194
+ msgid "Flip Crosss 1"
195
+ msgstr ""
196
+
197
+ #: includes/widgets.php:62
198
+ msgid "Flip Crosss 2"
199
+ msgstr ""
200
+
201
+ #: includes/widgets.php:63
202
+ msgid ""
203
+ "Shutter Out Horizontal"
204
+ msgstr ""
205
+
206
+ #: includes/widgets.php:64
207
+ msgid ""
208
+ "Shutter Out Vertical"
209
+ msgstr ""
210
+
211
+ #: includes/widgets.php:65
212
+ msgid ""
213
+ "Shutter Out Crosss 1"
214
+ msgstr ""
215
+
216
+ #: includes/widgets.php:66
217
+ msgid ""
218
+ "Shutter Out Crosss 2"
219
+ msgstr ""
220
+
221
+ #: includes/widgets.php:67
222
+ msgid ""
223
+ "Shutter In Horizontal"
224
+ msgstr ""
225
+
226
+ #: includes/widgets.php:68
227
+ msgid "Shutter In Vertical"
228
+ msgstr ""
229
+
230
+ #: includes/widgets.php:69
231
+ msgid ""
232
+ "Shutter In Out Horizontal"
233
+ msgstr ""
234
+
235
+ #: includes/widgets.php:70
236
+ msgid ""
237
+ "Shutter In Out Vertical"
238
+ msgstr ""
239
+
240
+ #: includes/widgets.php:71
241
+ msgid ""
242
+ "Shutter In Out Crosss 1"
243
+ msgstr ""
244
+
245
+ #: includes/widgets.php:72
246
+ msgid ""
247
+ "Shutter In Out Crosss 2"
248
+ msgstr ""
249
+
250
+ #: includes/widgets.php:73
251
+ msgid "Fold Up"
252
+ msgstr ""
253
+
254
+ #: includes/widgets.php:74
255
+ msgid "Fold Down"
256
+ msgstr ""
257
+
258
+ #: includes/widgets.php:75
259
+ msgid "Fold Left"
260
+ msgstr ""
261
+
262
+ #: includes/widgets.php:76
263
+ msgid "Fold Right"
264
+ msgstr ""
265
+
266
+ #: includes/widgets.php:77
267
+ msgid "Zoom In"
268
+ msgstr ""
269
+
270
+ #: includes/widgets.php:78
271
+ msgid "Zoom Out"
272
+ msgstr ""
273
+
274
+ #: includes/widgets.php:79
275
+ msgid "Zoom Out Up"
276
+ msgstr ""
277
+
278
+ #: includes/widgets.php:80
279
+ msgid "Zoom Out Down"
280
+ msgstr ""
281
+
282
+ #: includes/widgets.php:81
283
+ msgid "Zoom Out Left"
284
+ msgstr ""
285
+
286
+ #: includes/widgets.php:82
287
+ msgid "Zoom Out Right"
288
+ msgstr ""
289
+
290
+ #: includes/widgets.php:83
291
+ msgid ""
292
+ "Zoom Out Flip Vertical"
293
+ msgstr ""
294
+
295
+ #: includes/widgets.php:84
296
+ msgid ""
297
+ "Zoom Out Flip Horizontal"
298
+ msgstr ""
299
+
300
+ #: includes/widgets.php:85
301
+ msgid "Blur"
302
+ msgstr ""
303
+
304
+ #: includes/widgets.php:94
305
+ msgid "Choose Image"
306
+ msgstr ""
307
+
308
+ #: includes/widgets.php:116
309
+ #: includes/widgets.php:118
310
+ #: includes/widgets.php:337
311
+ msgid "Title"
312
+ msgstr ""
313
+
314
+ #: includes/widgets.php:119
315
+ msgid ""
316
+ "Type your title here"
317
+ msgstr ""
318
+
319
+ #: includes/widgets.php:128
320
+ msgid "Title Tag"
321
+ msgstr ""
322
+
323
+ #: includes/widgets.php:131
324
+ msgid "H1"
325
+ msgstr ""
326
+
327
+ #: includes/widgets.php:132
328
+ msgid "H2"
329
+ msgstr ""
330
+
331
+ #: includes/widgets.php:133
332
+ msgid "H3"
333
+ msgstr ""
334
+
335
+ #: includes/widgets.php:134
336
+ msgid "H4"
337
+ msgstr ""
338
+
339
+ #: includes/widgets.php:135
340
+ msgid "H5"
341
+ msgstr ""
342
+
343
+ #: includes/widgets.php:136
344
+ msgid "H6"
345
+ msgstr ""
346
+
347
+ #: includes/widgets.php:137
348
+ msgid "Paragraph"
349
+ msgstr ""
350
+
351
+ #: includes/widgets.php:138
352
+ msgid "Span"
353
+ msgstr ""
354
+
355
+ #: includes/widgets.php:147
356
+ #: includes/widgets.php:150
357
+ #: includes/widgets.php:372
358
+ msgid "Description"
359
+ msgstr ""
360
+
361
+ #: includes/widgets.php:151
362
+ msgid ""
363
+ "Type your description "
364
+ "here"
365
+ msgstr ""
366
+
367
+ #: includes/widgets.php:160
368
+ #: includes/widgets.php:407
369
+ msgid "Icon"
370
+ msgstr ""
371
+
372
+ #: includes/widgets.php:170
373
+ msgid "Icon Position"
374
+ msgstr ""
375
+
376
+ #: includes/widgets.php:173
377
+ msgid "Before"
378
+ msgstr ""
379
+
380
+ #: includes/widgets.php:174
381
+ msgid "After"
382
+ msgstr ""
383
+
384
+ #: includes/widgets.php:183
385
+ msgid "Link To"
386
+ msgstr ""
387
+
388
+ #: includes/widgets.php:185
389
+ msgid ""
390
+ "https://your-link.com"
391
+ msgstr ""
392
+
393
+ #: includes/widgets.php:200
394
+ msgid "PRO Features"
395
+ msgstr ""
396
+
397
+ #: includes/widgets.php:208
398
+ msgid " "
399
+ msgstr ""
400
+
401
+ #: includes/widgets.php:211
402
+ msgid ""
403
+ "<br/><div>Meet Our Pro "
404
+ "Effects</div><br/>Thank "
405
+ "you for installing our "
406
+ "plugin, you can also try "
407
+ "our premium version "
408
+ "which includes 150+ "
409
+ "Creative Hover "
410
+ "effects<br/><br/><a "
411
+ "target=\"_blank\" href="
412
+ "\"https://tiny.cc/eihe-"
413
+ "pro\">Emage Hover "
414
+ "Effects</a>"
415
+ msgstr ""
416
+
417
+ #: includes/widgets.php:219
418
+ msgid "Style"
419
+ msgstr ""
420
+
421
+ #: includes/widgets.php:227
422
+ msgid "Background"
423
+ msgstr ""
424
+
425
+ #: includes/widgets.php:255
426
+ msgid ""
427
+ "Horizontal Alignment"
428
+ msgstr ""
429
+
430
+ #: includes/widgets.php:259
431
+ msgid "Left"
432
+ msgstr ""
433
+
434
+ #: includes/widgets.php:263
435
+ msgid "Center"
436
+ msgstr ""
437
+
438
+ #: includes/widgets.php:267
439
+ msgid "Right"
440
+ msgstr ""
441
+
442
+ #: includes/widgets.php:281
443
+ msgid "Vertical Alignment"
444
+ msgstr ""
445
+
446
+ #: includes/widgets.php:285
447
+ msgid "Top"
448
+ msgstr ""
449
+
450
+ #: includes/widgets.php:289
451
+ msgid "Middle"
452
+ msgstr ""
453
+
454
+ #: includes/widgets.php:293
455
+ msgid "Bottom"
456
+ msgstr ""
457
+
458
+ #: includes/widgets.php:307
459
+ msgid "Padding"
460
+ msgstr ""
461
+
462
+ #: includes/widgets.php:325
463
+ msgid "Border Radius"
464
+ msgstr ""
465
+
466
+ #: includes/widgets.php:346
467
+ #: includes/widgets.php:381
468
+ #: includes/widgets.php:416
469
+ msgid "Color"
470
+ msgstr ""
471
+
472
+ #: includes/widgets.php:363
473
+ #: includes/widgets.php:398
474
+ msgid "Typography"
475
+ msgstr ""
476
+
477
+ #: includes/widgets.php:432
478
+ msgid "Icon Size"
479
+ msgstr ""
480
+
481
+ #: includes/widgets.php:452
482
+ msgid "Icon Space"
483
+ msgstr ""
languages/readme.txt CHANGED
@@ -1,24 +1,24 @@
1
- #How to use the pot file#
2
-
3
- The pot file included in this folder is ready to use.
4
-
5
- 1. Start up Poedit.
6
-
7
- 2. In Poedit goto File -> New from POT/PO file...
8
-
9
- 3. Select and Open the pot file from the languages folder.
10
-
11
- 4. Choose the Translation Language.
12
-
13
- 5. goto Catalog -> Properties, Enter your name, email address, your language and country (i.e. French fr_FR, German de_DE) to the setting form.
14
-
15
- 5. Update all the texts, you can use pretranslate to fill by poedit(suggested)
16
-
17
- 6. Save the file:
18
- - For a plugin like filename-xx_XX.po with xx_XX for your language and country. (eg. image-hover-effects-addon-for-elementor-fr_FR.po )
19
-
20
- 7. That's it, go to your WordPress site and see your translation in action. Enjoy your blogging!!!
21
-
22
- 8. To contribute this translation, Click here - https://translate.wordpress.org/projects/wp-plugins/image-hover-effects-addon-for-elementor
23
-
24
  Thank you for your contribution.
1
+ #How to use the pot file#
2
+
3
+ The pot file included in this folder is ready to use.
4
+
5
+ 1. Start up Poedit.
6
+
7
+ 2. In Poedit goto File -> New from POT/PO file...
8
+
9
+ 3. Select and Open the pot file from the languages folder.
10
+
11
+ 4. Choose the Translation Language.
12
+
13
+ 5. goto Catalog -> Properties, Enter your name, email address, your language and country (i.e. French fr_FR, German de_DE) to the setting form.
14
+
15
+ 5. Update all the texts, you can use pretranslate to fill by poedit(suggested)
16
+
17
+ 6. Save the file:
18
+ - For a plugin like filename-xx_XX.po with xx_XX for your language and country. (eg. image-hover-effects-addon-for-elementor-fr_FR.po )
19
+
20
+ 7. That's it, go to your WordPress site and see your translation in action. Enjoy your blogging!!!
21
+
22
+ 8. To contribute this translation, Click here - https://translate.wordpress.org/projects/wp-plugins/image-hover-effects-addon-for-elementor
23
+
24
  Thank you for your contribution.
readme.txt CHANGED
@@ -1,176 +1,179 @@
1
- === Image Hover Effects - Elementor Addon ===
2
- Contributors: blocksera, crypto4ever
3
- Donate Link: https://imagehoverpro.blocksera.com
4
- Tags: elementor, addons, elementor widget, image hover effects, css effects
5
- Requires PHP: 5.6
6
- Requires at least: 4.7
7
- Tested up to: 5.5.3
8
- Stable tag: 1.3.3
9
- License: GPLv3 or later
10
- License URI: https://www.gnu.org/licenses/gpl-3.0.html
11
-
12
- Add creative image hover effects to Elementor page builder. Easily customize title and content and effects with intuitive interface.
13
-
14
- == Description ==
15
-
16
- https://www.youtube.com/watch?v=1XknWh0rtQY
17
-
18
- Image Hover Effects Addon for [Elementor Page Builder](https://elementor.com) is the best in class addon that lets you set customized hover effects for your image. It gives attention to detail by allowing you to align text, change background, set borders and offers a number of other features. This free plugin has over 40 image hover effects ranging from fade and push to zoom and blur. A pre-set combination of two or more effects is also available. It creates an interactive space for the users to your website.
19
-
20
- Add title and description to your image, set the title tag, add icons, link to a page or a website and do a lot more. Whenever you scroll the cursor over the image, the hover effect is effectuated to display the title and description.
21
-
22
- The widget add-on is designed for use by both beginners and advanced users. You can either change the appearance of the effect with the click of a few buttons or choose to add custom HTML or CSS attributes.
23
-
24
- = Features =
25
-
26
- * Easy to customize options.
27
- * 40+ Image Hover Effects.
28
- * Circle and Square border both comes with all effects.
29
- * Center the text horizontally.
30
- * Control the spaces between elements.
31
- * WPML Compatibility
32
-
33
- **Background**: Set a background color to the effect. You can also choose set a transparent background.
34
-
35
- **Horizontal Alignment**: Align the title and description to the left, center, right with horizontal alignment.
36
-
37
- **Vertical Alignment**: Align the title and description to the top, middle or bottom with vertical alignment.
38
-
39
- **Padding**: Set the padding to the content over the effect.
40
-
41
- **Border Radius**: You can use this feature to trim off the sharp edges of the image to give it a smoother touch.
42
-
43
- **Title**: Set a title color that compliments the background. Using the ‘Typography’ option, you can choose the font, font size, weight, case, style (italic, bold, etc.), decoration (overline, underline, etc.), line height and letter spacing of the title.
44
-
45
- **Description**: Similarly, you can choose the color and the typography options for your description under this option.
46
-
47
- **Icon**: Set the icon’s color, it’s size and the space between the icon and the title.
48
-
49
- = Customizations =
50
-
51
- Image Hover Effects for Elementor comes with CSS3 styles that add stunning yet mellow and pleasant hover effects to your images. Let your images fade in or fade out, slide, flip, shutter, zoom, fold, roll, etc with just a click. There’s no coding involved. Image hover effects keeps things simple and elegant. If you’ve got multiple images to be displayed, then you can simply copy the style and paste it onto another image. You also have the option to duplicate the image. The hover effects from Image Hover Effects are fully responsive, and can accommodate to very small and extra-large devices. They’re designed using flexible and robust CSS.
52
-
53
- = Seo Friendly =
54
-
55
- From an SEO perspective, adding title tags, headings and descriptions to your images is indispensable. Title tags and descriptions almost always garner a click from the user whereas keywords in titles and headings can help your website rank higher in search results.
56
-
57
- Image Hover Effects for Elementor lets you do all that and more in just a span of few seconds. Just add the title of your image to the Title field and set the tag (H1-H6, paragraph, span). Then add the description to the Description field. That’s all there is to it. Now you can customize the look of your text to being neat and crisp or wild and artistic or choose from a multitude of other choices.
58
-
59
- Another important factor is linking to specific pages or interlinking to drive traffic. Image Hover Effects provides an option to link your image to a specified URL. You can copy the link to which your users should be directed to (when they click the image) and paste it in the field under the ‘Link To’ section.
60
-
61
- = Where it can be used =
62
-
63
- On any WordPress website that supports Elementor! Be it a blogging site, a news website or even an e-commerce or e-learning website, Image Hover Effects works flawless. Since there are over 40 hover effects, you can use a combination of styles to work wonders with your images. But why should you stop there? Try our Pro version. The Pro version offers over 150+ hover effects and a number of other perks as well.
64
-
65
- <h3>Emage Hover Effects for Elementor (Pro)</h3>
66
-
67
- * **150+ hover effects**
68
- * Basic to **advanced** image hover effects
69
- * Apply **separate effects** to image, overlay and content
70
- * **9 alignment** options
71
- * Virtually **unlimited effect** combinations
72
- * Customize content with links, buttons, colors and typography
73
- * **Post Grid** Hover effects
74
- * Dynamic fields (with Elementor Pro)
75
-
76
- = Useful Links =
77
-
78
- [Hover effects demo](http://tiny.cc/free-eihe) | [Emage Hover Effects](https://imagehoverpro.blocksera.com) (Pro) | [Buy Emage Hover Effects](https://codecanyon.net/item/emage-image-hover-effects-for-elementor-page-builder/22563091)
79
-
80
- == Screenshots ==
81
-
82
- 1. Image Hover Effects - Elementor Addon
83
- 2. 40+ hover effects
84
- 3. Advanced styling options
85
- 4. Full html code support
86
-
87
- == Installation ==
88
-
89
- 1. Upload the plugin and activate it (alternatively, install through the WP admin console)
90
- 2. Edit any page/post using edit with elementor option
91
- 3. On elementor widget menu, search/scroll and find the image hover effects addons
92
- 4. Drag and drop this addon, where you have to add the section
93
- 5. Customize the options and add the content
94
- 6. Hurray! in a minute you have added the Image Hover Section
95
-
96
-
97
- == Frequently Asked Questions ==
98
-
99
- = Will it work without Elementor page builder? =
100
-
101
- Ths plugin only works with Elementor. Check out [Image Hover Effects Block](https://wordpress.org/plugins/image-hover-effects-block/) plugin if you are using Wordpress Block Editor
102
-
103
- = Will it work with any theme? =
104
-
105
- Absolutely. It will work with any theme where Elementor works.
106
-
107
- = What is Emage Hover Effects? =
108
-
109
- [Emage Hover Effects](https://codecanyon.net/item/emage-image-hover-effects-for-elementor-page-builder/22563091) is the premium version of this plugin. It contains over 150+ hover effects and more customization options
110
-
111
- = Can I upgrade this to pro version? =
112
-
113
- Yes, but you need to remove this plugin and install pro version after purchase.
114
-
115
-
116
- == Changelog ==
117
-
118
- = 1.3.3 =
119
- * Content alignment fix
120
-
121
- = 1.3.2 =
122
- * Icons control upgraded to support Font Awesome 5 and SVG icons
123
-
124
- = 1.3.1 =
125
- * Wordpress 5.5 Compatibility Update
126
- * Minor Fix
127
-
128
- = 1.3.0 =
129
- * WPML Translation Support
130
-
131
- = 1.2.8 =
132
- * Wordpress 5.3.2 Compatibility Update
133
-
134
- = 1.2.7 =
135
- * Wordpress 5.3 Compatibility Update
136
-
137
- = 1.2.6 =
138
- * Vertical alignment option type enhancement
139
-
140
- = 1.2.5 =
141
- * Wordpress 5.2 Compatibility Update
142
-
143
- = 1.2.4 =
144
- * Wordpress 5 Compatibility
145
- * Minor css related fixes
146
-
147
- = 1.2.3 =
148
- * features notice removed
149
-
150
- = 1.2.2 =
151
- * readme update
152
-
153
- = 1.2.1 =
154
- * Minor UI fixes and widget controls arrangements
155
-
156
- = 1.2 =
157
- * Translation ready
158
- * Icon added for title
159
- * code improvements
160
- * typography issue fix
161
- * UI improvements
162
-
163
- = 1.1 =
164
- * Removed columns control
165
- * Added support for iOS devices
166
- * Added link feature
167
- * Inline editing
168
- * Change image size
169
- * Center align text by default
170
-
171
- = 1.0 =
172
- * Initial version
173
-
174
- == Upgrade Notice ==
175
-
 
 
 
176
  This is the initial version
1
+ === Image Hover Effects - Elementor Addon ===
2
+ Contributors: blocksera, crypto4ever
3
+ Donate Link: https://imagehoverpro.blocksera.com
4
+ Tags: elementor, addons, elementor widget, image hover effects, css effects
5
+ Requires PHP: 5.6
6
+ Requires at least: 4.7
7
+ Tested up to: 5.7
8
+ Stable tag: 1.3.4
9
+ License: GPLv3 or later
10
+ License URI: https://www.gnu.org/licenses/gpl-3.0.html
11
+
12
+ Add creative image hover effects to Elementor page builder. Easily customize title and content and effects with intuitive interface.
13
+
14
+ == Description ==
15
+
16
+ https://www.youtube.com/watch?v=1XknWh0rtQY
17
+
18
+ Image Hover Effects Addon for [Elementor Page Builder](https://elementor.com) is the best in class addon that lets you set customized hover effects for your image. It gives attention to detail by allowing you to align text, change background, set borders and offers a number of other features. This free plugin has over 40 image hover effects ranging from fade and push to zoom and blur. A pre-set combination of two or more effects is also available. It creates an interactive space for the users to your website.
19
+
20
+ Add title and description to your image, set the title tag, add icons, link to a page or a website and do a lot more. Whenever you scroll the cursor over the image, the hover effect is effectuated to display the title and description.
21
+
22
+ The widget add-on is designed for use by both beginners and advanced users. You can either change the appearance of the effect with the click of a few buttons or choose to add custom HTML or CSS attributes.
23
+
24
+ = Features =
25
+
26
+ * Easy to customize options.
27
+ * 40+ Image Hover Effects.
28
+ * Circle and Square border both comes with all effects.
29
+ * Center the text horizontally.
30
+ * Control the spaces between elements.
31
+ * WPML Compatibility
32
+
33
+ **Background**: Set a background color to the effect. You can also choose set a transparent background.
34
+
35
+ **Horizontal Alignment**: Align the title and description to the left, center, right with horizontal alignment.
36
+
37
+ **Vertical Alignment**: Align the title and description to the top, middle or bottom with vertical alignment.
38
+
39
+ **Padding**: Set the padding to the content over the effect.
40
+
41
+ **Border Radius**: You can use this feature to trim off the sharp edges of the image to give it a smoother touch.
42
+
43
+ **Title**: Set a title color that compliments the background. Using the ‘Typography’ option, you can choose the font, font size, weight, case, style (italic, bold, etc.), decoration (overline, underline, etc.), line height and letter spacing of the title.
44
+
45
+ **Description**: Similarly, you can choose the color and the typography options for your description under this option.
46
+
47
+ **Icon**: Set the icon’s color, it’s size and the space between the icon and the title.
48
+
49
+ = Customizations =
50
+
51
+ Image Hover Effects for Elementor comes with CSS3 styles that add stunning yet mellow and pleasant hover effects to your images. Let your images fade in or fade out, slide, flip, shutter, zoom, fold, roll, etc with just a click. There’s no coding involved. Image hover effects keeps things simple and elegant. If you’ve got multiple images to be displayed, then you can simply copy the style and paste it onto another image. You also have the option to duplicate the image. The hover effects from Image Hover Effects are fully responsive, and can accommodate to very small and extra-large devices. They’re designed using flexible and robust CSS.
52
+
53
+ = Seo Friendly =
54
+
55
+ From an SEO perspective, adding title tags, headings and descriptions to your images is indispensable. Title tags and descriptions almost always garner a click from the user whereas keywords in titles and headings can help your website rank higher in search results.
56
+
57
+ Image Hover Effects for Elementor lets you do all that and more in just a span of few seconds. Just add the title of your image to the Title field and set the tag (H1-H6, paragraph, span). Then add the description to the Description field. That’s all there is to it. Now you can customize the look of your text to being neat and crisp or wild and artistic or choose from a multitude of other choices.
58
+
59
+ Another important factor is linking to specific pages or interlinking to drive traffic. Image Hover Effects provides an option to link your image to a specified URL. You can copy the link to which your users should be directed to (when they click the image) and paste it in the field under the ‘Link To’ section.
60
+
61
+ = Where it can be used =
62
+
63
+ On any WordPress website that supports Elementor! Be it a blogging site, a news website or even an e-commerce or e-learning website, Image Hover Effects works flawless. Since there are over 40 hover effects, you can use a combination of styles to work wonders with your images. But why should you stop there? Try our Pro version. The Pro version offers over 150+ hover effects and a number of other perks as well.
64
+
65
+ <h3>Emage Hover Effects for Elementor (Pro)</h3>
66
+
67
+ * **150+ hover effects**
68
+ * Basic to **advanced** image hover effects
69
+ * Apply **separate effects** to image, overlay and content
70
+ * **9 alignment** options
71
+ * Virtually **unlimited effect** combinations
72
+ * Customize content with links, buttons, colors and typography
73
+ * **Post Grid** Hover effects
74
+ * Dynamic fields (with Elementor Pro)
75
+
76
+ = Useful Links =
77
+
78
+ [Hover effects demo](http://tiny.cc/free-eihe) | [Emage Hover Effects](https://imagehoverpro.blocksera.com) (Pro) | [Buy Emage Hover Effects](https://codecanyon.net/item/emage-image-hover-effects-for-elementor-page-builder/22563091)
79
+
80
+ == Screenshots ==
81
+
82
+ 1. Image Hover Effects - Elementor Addon
83
+ 2. 40+ hover effects
84
+ 3. Advanced styling options
85
+ 4. Full html code support
86
+
87
+ == Installation ==
88
+
89
+ 1. Upload the plugin and activate it (alternatively, install through the WP admin console)
90
+ 2. Edit any page/post using edit with elementor option
91
+ 3. On elementor widget menu, search/scroll and find the image hover effects addons
92
+ 4. Drag and drop this addon, where you have to add the section
93
+ 5. Customize the options and add the content
94
+ 6. Hurray! in a minute you have added the Image Hover Section
95
+
96
+
97
+ == Frequently Asked Questions ==
98
+
99
+ = Will it work without Elementor page builder? =
100
+
101
+ Ths plugin only works with Elementor. Check out [Image Hover Effects Block](https://wordpress.org/plugins/image-hover-effects-block/) plugin if you are using Wordpress Block Editor
102
+
103
+ = Will it work with any theme? =
104
+
105
+ Absolutely. It will work with any theme where Elementor works.
106
+
107
+ = What is Emage Hover Effects? =
108
+
109
+ [Emage Hover Effects](https://codecanyon.net/item/emage-image-hover-effects-for-elementor-page-builder/22563091) is the premium version of this plugin. It contains over 150+ hover effects and more customization options
110
+
111
+ = Can I upgrade this to pro version? =
112
+
113
+ Yes, but you need to remove this plugin and install pro version after purchase.
114
+
115
+
116
+ == Changelog ==
117
+
118
+ = 1.3.4 =
119
+ * Fixed - Hardened allowed options in the editor to enforce better security policies
120
+
121
+ = 1.3.3 =
122
+ * Fixed - Content alignment
123
+
124
+ = 1.3.2 =
125
+ * Enhancement - Icons control upgraded to support Font Awesome 5 and SVG icons
126
+
127
+ = 1.3.1 =
128
+ * WordPress 5.5 Compatibility Update
129
+ * Minor Fix
130
+
131
+ = 1.3.0 =
132
+ * Added - WPML Translation Support
133
+
134
+ = 1.2.8 =
135
+ * WordPress 5.3.2 Compatibility Update
136
+
137
+ = 1.2.7 =
138
+ * WordPress 5.3 Compatibility Update
139
+
140
+ = 1.2.6 =
141
+ * Enhancement - Vertical alignment option type
142
+
143
+ = 1.2.5 =
144
+ * WordPress 5.2 Compatibility Update
145
+
146
+ = 1.2.4 =
147
+ * WordPress 5 Compatibility Update
148
+ * Fixed - Minor CSS related fixes
149
+
150
+ = 1.2.3 =
151
+ * Features notice removed
152
+
153
+ = 1.2.2 =
154
+ * Readme update
155
+
156
+ = 1.2.1 =
157
+ * Fixed - Minor UI fixes and widget controls arrangements
158
+
159
+ = 1.2 =
160
+ * Added - Translation ready
161
+ * Added - Icon added for title
162
+ * Fixed - Code improvements
163
+ * Fixed - Typography issue fix
164
+ * Fixed - UI improvements
165
+
166
+ = 1.1 =
167
+ * Removed - Columns control
168
+ * Added - Support for iOS devices
169
+ * Added - Link feature
170
+ * Added - Inline editing
171
+ * Added - Change image size
172
+ * Added - Center align text by default
173
+
174
+ = 1.0 =
175
+ * Initial version
176
+
177
+ == Upgrade Notice ==
178
+
179
  This is the initial version