Version Description
- New: Happy Effects (universal widget extension)
- New: CSS Transform (Happy Effects)
- New: Dual Button Widget
- Fix: Info box icon size issue
- Fix: Icon box icon size issue
Download this release
Release Info
Developer | thehappymonster |
Plugin | Happy Addons for Elementor (Mega Menu, Post Grid, Woocommerce Product Grid, Table, Event Calendar, Slider Elementor Widget) |
Version | 1.0.5 |
Comparing to | |
See all releases |
Code changes from version 1.0.4 to 1.0.5
- assets/admin/css/main.css +9 -9
- assets/admin/css/main.min.css +1 -1
- assets/admin/js/happy-addons.js +52 -2
- assets/admin/js/happy-addons.min.js +1 -1
- assets/css/main.css +79 -0
- assets/css/main.min.css +1 -1
- assets/js/happy-addons.js +8 -7
- assets/js/happy-addons.min.js +1 -1
- base.php +21 -15
- base/widget-base.php +24 -3
- classes/asset-manager.php +17 -21
- classes/happy-effects.php +777 -0
- classes/widget-manager.php +6 -368
- controls/foreground.php +2 -2
- inc/functions.php +5 -5
- plugin.php +2 -2
- readme.txt +40 -7
- widgets/calderaform/widget.php +41 -41
- widgets/card/widget.php +98 -96
- widgets/cf7/widget.php +36 -35
- widgets/dual-button/widget.php +855 -0
- widgets/gradient-heading/widget.php +23 -23
- widgets/icon-box/widget.php +51 -51
- widgets/image-compare/widget.php +44 -44
- widgets/infobox/widget.php +71 -71
- widgets/member/widget.php +108 -108
- widgets/ninjaform/widget.php +41 -40
- widgets/review/widget.php +62 -62
- widgets/skills/widget.php +24 -24
- widgets/weform/widget.php +48 -47
- widgets/wpform/widget.php +50 -49
assets/admin/css/main.css
CHANGED
@@ -1,10 +1,10 @@
|
|
1 |
-
.elementor-panel #elementor-panel-category-
|
2 |
.elementor-panel #elementor-panel-elements .happy-addons-addon {
|
3 |
-webkit-transition: background-image .3s;
|
4 |
transition: background-image .3s;
|
5 |
}
|
6 |
-
.elementor-panel #elementor-panel-category-
|
7 |
-
.elementor-panel #elementor-panel-category-
|
8 |
.elementor-panel #elementor-panel-elements .happy-addons-addon .icon,
|
9 |
.elementor-panel #elementor-panel-elements .happy-addons-addon .title {
|
10 |
background-image: -webkit-linear-gradient(315deg, #e2498a 25%, #562dd4 100%);
|
@@ -15,17 +15,17 @@
|
|
15 |
|
16 |
-webkit-text-fill-color: transparent;
|
17 |
}
|
18 |
-
.elementor-panel #elementor-panel-category-
|
19 |
-
.elementor-panel #elementor-panel-category-
|
20 |
.elementor-panel #elementor-panel-elements .happy-addons-addon:hover,
|
21 |
.elementor-panel #elementor-panel-elements .happy-addons-addon:focus {
|
22 |
background-image: -webkit-linear-gradient(315deg, #e2498a 0%, #562dd4 100%);
|
23 |
background-image: linear-gradient(135deg, #e2498a 0%, #562dd4 100%);
|
24 |
}
|
25 |
-
.elementor-panel #elementor-panel-category-
|
26 |
-
.elementor-panel #elementor-panel-category-
|
27 |
-
.elementor-panel #elementor-panel-category-
|
28 |
-
.elementor-panel #elementor-panel-category-
|
29 |
.elementor-panel #elementor-panel-elements .happy-addons-addon:hover .icon,
|
30 |
.elementor-panel #elementor-panel-elements .happy-addons-addon:hover .title,
|
31 |
.elementor-panel #elementor-panel-elements .happy-addons-addon:focus .icon,
|
1 |
+
.elementor-panel #elementor-panel-category-happy_addons_category .elementor-element,
|
2 |
.elementor-panel #elementor-panel-elements .happy-addons-addon {
|
3 |
-webkit-transition: background-image .3s;
|
4 |
transition: background-image .3s;
|
5 |
}
|
6 |
+
.elementor-panel #elementor-panel-category-happy_addons_category .elementor-element .icon,
|
7 |
+
.elementor-panel #elementor-panel-category-happy_addons_category .elementor-element .title,
|
8 |
.elementor-panel #elementor-panel-elements .happy-addons-addon .icon,
|
9 |
.elementor-panel #elementor-panel-elements .happy-addons-addon .title {
|
10 |
background-image: -webkit-linear-gradient(315deg, #e2498a 25%, #562dd4 100%);
|
15 |
|
16 |
-webkit-text-fill-color: transparent;
|
17 |
}
|
18 |
+
.elementor-panel #elementor-panel-category-happy_addons_category .elementor-element:hover,
|
19 |
+
.elementor-panel #elementor-panel-category-happy_addons_category .elementor-element:focus,
|
20 |
.elementor-panel #elementor-panel-elements .happy-addons-addon:hover,
|
21 |
.elementor-panel #elementor-panel-elements .happy-addons-addon:focus {
|
22 |
background-image: -webkit-linear-gradient(315deg, #e2498a 0%, #562dd4 100%);
|
23 |
background-image: linear-gradient(135deg, #e2498a 0%, #562dd4 100%);
|
24 |
}
|
25 |
+
.elementor-panel #elementor-panel-category-happy_addons_category .elementor-element:hover .icon,
|
26 |
+
.elementor-panel #elementor-panel-category-happy_addons_category .elementor-element:hover .title,
|
27 |
+
.elementor-panel #elementor-panel-category-happy_addons_category .elementor-element:focus .icon,
|
28 |
+
.elementor-panel #elementor-panel-category-happy_addons_category .elementor-element:focus .title,
|
29 |
.elementor-panel #elementor-panel-elements .happy-addons-addon:hover .icon,
|
30 |
.elementor-panel #elementor-panel-elements .happy-addons-addon:hover .title,
|
31 |
.elementor-panel #elementor-panel-elements .happy-addons-addon:focus .icon,
|
assets/admin/css/main.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.elementor-panel #elementor-panel-category-
|
1 |
+
.elementor-panel #elementor-panel-category-happy_addons_category .elementor-element,.elementor-panel #elementor-panel-elements .happy-addons-addon{-webkit-transition:background-image .3s;transition:background-image .3s}.elementor-panel #elementor-panel-category-happy_addons_category .elementor-element .icon,.elementor-panel #elementor-panel-category-happy_addons_category .elementor-element .title,.elementor-panel #elementor-panel-elements .happy-addons-addon .icon,.elementor-panel #elementor-panel-elements .happy-addons-addon .title{background-image:-webkit-linear-gradient(315deg,#e2498a 25%,#562dd4 100%);background-image:linear-gradient(135deg,#e2498a 25%,#562dd4 100%);-webkit-background-clip:text;-webkit-transition:background-image .2s,color .2s;transition:background-image .2s,color .2s;-webkit-text-fill-color:transparent}.elementor-panel #elementor-panel-category-happy_addons_category .elementor-element:focus,.elementor-panel #elementor-panel-category-happy_addons_category .elementor-element:hover,.elementor-panel #elementor-panel-elements .happy-addons-addon:focus,.elementor-panel #elementor-panel-elements .happy-addons-addon:hover{background-image:-webkit-linear-gradient(315deg,#e2498a 0%,#562dd4 100%);background-image:linear-gradient(135deg,#e2498a 0%,#562dd4 100%)}.elementor-panel #elementor-panel-category-happy_addons_category .elementor-element:focus .icon,.elementor-panel #elementor-panel-category-happy_addons_category .elementor-element:focus .title,.elementor-panel #elementor-panel-category-happy_addons_category .elementor-element:hover .icon,.elementor-panel #elementor-panel-category-happy_addons_category .elementor-element:hover .title,.elementor-panel #elementor-panel-elements .happy-addons-addon:focus .icon,.elementor-panel #elementor-panel-elements .happy-addons-addon:focus .title,.elementor-panel #elementor-panel-elements .happy-addons-addon:hover .icon,.elementor-panel #elementor-panel-elements .happy-addons-addon:hover .title{background:0 0;color:#fff;-webkit-text-fill-color:initial}
|
assets/admin/js/happy-addons.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1 |
-
;(function($,
|
2 |
'use strict';
|
3 |
|
4 |
elementor.on('panel:init', function() {
|
@@ -9,4 +9,54 @@
|
|
9 |
.addClass('happy-addons-addon');
|
10 |
}, 100));
|
11 |
});
|
12 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
;(function(elementor, $, window) {
|
2 |
'use strict';
|
3 |
|
4 |
elementor.on('panel:init', function() {
|
9 |
.addClass('happy-addons-addon');
|
10 |
}, 100));
|
11 |
});
|
12 |
+
|
13 |
+
function getCssEffectsControlsMap() {
|
14 |
+
return {
|
15 |
+
'translate' : ['x', 'y', 'x_tablet', 'y_tablet', 'x_mobile', 'y_mobile'],
|
16 |
+
'skew' : ['x', 'y', 'x_tablet', 'y_tablet', 'x_mobile', 'y_mobile'],
|
17 |
+
'scale': ['x', 'y', 'x_tablet', 'y_tablet', 'x_mobile', 'y_mobile'],
|
18 |
+
'rotate' : ['x', 'y', 'z', 'x_tablet', 'y_tablet', 'z_tablet', 'x_mobile', 'y_mobile', 'z_mobile']
|
19 |
+
};
|
20 |
+
}
|
21 |
+
|
22 |
+
function bindCssTransformControls(effectSwitch, effectControl, widgetModel) {
|
23 |
+
var settingPrefix = 'ha_transform_fx_';
|
24 |
+
effectSwitch = settingPrefix + effectSwitch;
|
25 |
+
effectControl = settingPrefix + effectControl;
|
26 |
+
|
27 |
+
widgetModel.on('change:'+ effectSwitch, function(model, isActive) {
|
28 |
+
if (!isActive) {
|
29 |
+
var controlView = elementor.getPanelView().getCurrentPageView().children.find(function(view) {
|
30 |
+
return view.model.get('name') === effectControl;
|
31 |
+
});
|
32 |
+
widgetModel.set(effectControl, _.extend({}, widgetModel.defaults[effectControl]));
|
33 |
+
controlView && controlView.render();
|
34 |
+
}
|
35 |
+
});
|
36 |
+
}
|
37 |
+
|
38 |
+
function initCssTransformEffects(model) {
|
39 |
+
var widgetModel = elementorFrontend.config.elements.data[model.cid];
|
40 |
+
_.each(getCssEffectsControlsMap(), function(effectProps, effectKey) {
|
41 |
+
_.each(effectProps, function(effectProp) {
|
42 |
+
bindCssTransformControls(
|
43 |
+
effectKey + '_toggle',
|
44 |
+
effectKey + '_' + effectProp,
|
45 |
+
widgetModel
|
46 |
+
);
|
47 |
+
})
|
48 |
+
});
|
49 |
+
|
50 |
+
// Event bindings cleanup
|
51 |
+
elementor.getPanelView().getCurrentPageView().model.on('editor:close', function() {
|
52 |
+
_.each(getCssEffectsControlsMap(), function(effectConfig, effectKey) {
|
53 |
+
widgetModel.off('change:ha_transform_fx_'+effectKey+'_toggle');
|
54 |
+
});
|
55 |
+
});
|
56 |
+
}
|
57 |
+
|
58 |
+
elementor.hooks.addAction('panel/open_editor/widget', function(panel, model) {
|
59 |
+
initCssTransformEffects(model);
|
60 |
+
});
|
61 |
+
|
62 |
+
}(elementor, jQuery, window));
|
assets/admin/js/happy-addons.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
!function(e,n){"use strict";n.on("panel:init",function(){
|
1 |
+
!function(e,n,t){"use strict";function o(){return{translate:["x","y","x_tablet","y_tablet","x_mobile","y_mobile"],skew:["x","y","x_tablet","y_tablet","x_mobile","y_mobile"],scale:["x","y","x_tablet","y_tablet","x_mobile","y_mobile"],rotate:["x","y","z","x_tablet","y_tablet","z_tablet","x_mobile","y_mobile","z_mobile"]}}function a(n,t,o){n="ha_transform_fx_"+n,t="ha_transform_fx_"+t,o.on("change:"+n,function(n,a){if(!a){var l=e.getPanelView().getCurrentPageView().children.find(function(e){return e.model.get("name")===t});o.set(t,_.extend({},o.defaults[t])),l&&l.render()}})}function l(n){var t=elementorFrontend.config.elements.data[n.cid];_.each(o(),function(e,n){_.each(e,function(e){a(n+"_toggle",n+"_"+e,t)})}),e.getPanelView().getCurrentPageView().model.on("editor:close",function(){_.each(o(),function(e,n){t.off("change:ha_transform_fx_"+n+"_toggle")})})}e.on("panel:init",function(){n("#elementor-panel-elements-search-input").on("keyup",_.debounce(function(){n("#elementor-panel-elements").find(".hm").parents(".elementor-element").addClass("happy-addons-addon")},100))}),e.hooks.addAction("panel/open_editor/widget",function(e,n){l(n)})}(elementor,jQuery,window);
|
assets/css/main.css
CHANGED
@@ -251,6 +251,13 @@
|
|
251 |
width: 1em;
|
252 |
height: 1em;
|
253 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
254 |
.ha-infobox-figure > img {
|
255 |
width: 100%;
|
256 |
height: 100%;
|
@@ -292,6 +299,7 @@
|
|
292 |
transition: transform .3s, border .3s, background .3s, color .3s, -webkit-transform .3s;
|
293 |
}
|
294 |
.ha-icon-box-icon > i {
|
|
|
295 |
display: block;
|
296 |
width: 1em;
|
297 |
height: 1em;
|
@@ -300,6 +308,13 @@
|
|
300 |
transition: transform .3s;
|
301 |
transition: transform .3s, -webkit-transform .3s;
|
302 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
303 |
|
304 |
.ha-icon-box-link {
|
305 |
display: block;
|
@@ -593,3 +608,67 @@ span .ha-review-ratting--star:before,
|
|
593 |
color: inherit;
|
594 |
text-decoration: none;
|
595 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
251 |
width: 1em;
|
252 |
height: 1em;
|
253 |
}
|
254 |
+
.ha-infobox-figure > i:before {
|
255 |
+
position: absolute;
|
256 |
+
left: 50%;
|
257 |
+
-webkit-transform: translateX(-50%);
|
258 |
+
-ms-transform: translateX(-50%);
|
259 |
+
transform: translateX(-50%);
|
260 |
+
}
|
261 |
.ha-infobox-figure > img {
|
262 |
width: 100%;
|
263 |
height: 100%;
|
299 |
transition: transform .3s, border .3s, background .3s, color .3s, -webkit-transform .3s;
|
300 |
}
|
301 |
.ha-icon-box-icon > i {
|
302 |
+
position: relative;
|
303 |
display: block;
|
304 |
width: 1em;
|
305 |
height: 1em;
|
308 |
transition: transform .3s;
|
309 |
transition: transform .3s, -webkit-transform .3s;
|
310 |
}
|
311 |
+
.ha-icon-box-icon > i:before {
|
312 |
+
position: absolute;
|
313 |
+
left: 50%;
|
314 |
+
-webkit-transform: translateX(-50%);
|
315 |
+
-ms-transform: translateX(-50%);
|
316 |
+
transform: translateX(-50%);
|
317 |
+
}
|
318 |
|
319 |
.ha-icon-box-link {
|
320 |
display: block;
|
608 |
color: inherit;
|
609 |
text-decoration: none;
|
610 |
}
|
611 |
+
|
612 |
+
.ha-dual-button > .elementor-widget-container {
|
613 |
+
display: -webkit-box;
|
614 |
+
display: -webkit-flex;
|
615 |
+
display: -ms-flexbox;
|
616 |
+
display: flex;
|
617 |
+
}
|
618 |
+
|
619 |
+
.ha-dual-btn,
|
620 |
+
.ha-dual-btn-connector {
|
621 |
+
display: inline-block;
|
622 |
+
}
|
623 |
+
|
624 |
+
.ha-dual-btn-wrapper {
|
625 |
+
position: relative;
|
626 |
+
text-align: center;
|
627 |
+
font-weight: 400;
|
628 |
+
}
|
629 |
+
|
630 |
+
.ha-dual-btn {
|
631 |
+
padding: 1.2rem 3rem;
|
632 |
+
color: #fff;
|
633 |
+
text-decoration: none;
|
634 |
+
font-size: 14px;
|
635 |
+
}
|
636 |
+
|
637 |
+
.ha-dual-btn--left {
|
638 |
+
border-top-left-radius: 50px;
|
639 |
+
border-bottom-left-radius: 50px;
|
640 |
+
background-color: #3266fd;
|
641 |
+
}
|
642 |
+
|
643 |
+
.ha-dual-btn--right {
|
644 |
+
border-top-right-radius: 50px;
|
645 |
+
border-bottom-right-radius: 50px;
|
646 |
+
background-color: #27374c;
|
647 |
+
}
|
648 |
+
|
649 |
+
.ha-dual-btn-connector {
|
650 |
+
position: absolute !important;
|
651 |
+
top: 50%;
|
652 |
+
right: 0;
|
653 |
+
z-index: 9;
|
654 |
+
width: 30px;
|
655 |
+
height: 30px;
|
656 |
+
border-radius: 100%;
|
657 |
+
background-color: #fff;
|
658 |
+
box-shadow: 0 0 0 5px rgba(255, 255, 255, .3);
|
659 |
+
color: #27374c;
|
660 |
+
text-transform: uppercase;
|
661 |
+
font-size: 12px;
|
662 |
+
line-height: 30px;
|
663 |
+
-webkit-transform: translate(50%, -50%);
|
664 |
+
-ms-transform: translate(50%, -50%);
|
665 |
+
transform: translate(50%, -50%);
|
666 |
+
}
|
667 |
+
|
668 |
+
.ha-dual-btn-icon--before {
|
669 |
+
margin-right: 5px;
|
670 |
+
}
|
671 |
+
|
672 |
+
.ha-dual-btn-icon--after {
|
673 |
+
margin-left: 5px;
|
674 |
+
}
|
assets/css/main.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.ha-card>.elementor-widget-container,.ha-icon-box>.elementor-widget-container,.ha-image-compare>.elementor-widget-container,.ha-infobox>.elementor-widget-container,.ha-member>.elementor-widget-container,.ha-review>.elementor-widget-container{border-radius:.5rem;background-color:#fff;box-shadow:0 .2rem 2.8rem rgba(36,36,36,.1);word-wrap:break-word;overflow-wrap:break-word}.happy-addon,.happy-addon *{box-sizing:border-box}.happy-addon img{max-width:100%;height:auto;-o-object-fit:cover;object-fit:cover}.happy-addon p:empty{display:none}.ha-cf:after,.ha-cf:before{display:table;content:" "}.ha-cf:after{clear:both}.ha-btn{display:inline-block;vertical-align:middle;text-align:center;text-decoration:none;font-weight:700;font-size:14px;line-height:1;-webkit-transition:all .3s;transition:all .3s}.ha-btn:not(.ha-btn--link){padding:.7rem 1.3rem;border-radius:.25rem;background-color:#8c8c8c;color:#fff;text-align:center}.ha-btn:not(.ha-btn--link):focus,.ha-btn:not(.ha-btn--link):hover{background-color:#242424}.ha-btn.ha-btn--link{color:#3ca6ff}.ha-btn-icon{-webkit-transition:all .3s;transition:all .3s}.ha-btn-icon+.ha-btn-text,.ha-btn-text+.ha-btn-icon{margin-left:5px}.ha-card-figure{position:relative;height:250px}.ha-card-figure>img{border-top-left-radius:calc(.5rem - 1px);border-top-right-radius:calc(.5rem - 1px)}.ha-card-body{padding:1.5rem}.ha-card-title{margin-top:0;margin-bottom:.75rem;color:#151515;font-size:24px}.ha-card-text{margin-bottom:2rem;color:#616161;font-size:16px;line-height:1.7}.ha-card-text>p,.ha-infobox-text>p{margin-top:0;margin-bottom:0}.ha-card--top .ha-card-figure,.ha-member-links>a{display:inline-block}.ha-card--left>.elementor-widget-container,.ha-card--right>.elementor-widget-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center}.ha-card--left>.elementor-widget-container{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.ha-card--left .ha-card-body,.ha-card--left .ha-card-figure,.ha-card--right .ha-card-body,.ha-card--right .ha-card-figure{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.ha-card--left .ha-card-body,.ha-card--right .ha-card-body{padding:2.5rem}.ha-card--left .ha-card-figure>img{border-radius:calc(.5rem - 1px) 0 0 calc(.5rem - 1px)}.ha-card--right>.elementor-widget-container{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;text-align:right}.ha-card--right .ha-card-figure>img{border-radius:0 calc(.5rem - 1px) calc(.5rem - 1px) 0}.ha-card .ha-badge{position:absolute}.ha-badge{padding:.475rem 1.1rem;border-radius:50px;background-color:#fff;font-size:12px}.ha-badge--top-left{top:1rem;left:1rem}.ha-badge--top-center{top:1rem;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.ha-badge--top-right{top:1rem;right:1rem}.ha-badge--middle-left{top:50%;left:1rem;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.ha-badge--middle-center{top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.ha-badge--middle-right{top:50%;right:1rem;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.ha-badge--bottom-left{bottom:1rem;left:1rem}.ha-badge--bottom-center{bottom:1rem;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.ha-badge--bottom-right{right:1rem;bottom:1rem}.ha-infobox>.elementor-widget-container{padding:1.5rem}.ha-infobox-title{margin-top:0;margin-bottom:1rem;color:#151515;font-size:24px}.ha-infobox-figure{display:inline-block;margin:0 0 1.5rem!important}.ha-infobox-figure--icon{text-align:center;font-size:3rem}.ha-infobox-figure>i{position:relative;display:block;width:1em;height:1em}.ha-card-figure>img,.ha-infobox-figure>img,.ha-member-figure img{width:100%;height:100%;vertical-align:bottom}.ha-infobox-text+.ha-btn--link{margin-top:1rem}.ha-icon-box>.elementor-widget-container{position:relative;padding:1.25rem}.ha-icon-box-title{margin-top:0;margin-bottom:0;color:#151515;font-size:24px;-webkit-transition:color .3s;transition:color .3s}.ha-icon-box-icon{display:inline-block;margin-bottom:1rem;color:#151515;text-align:center;font-size:3rem;-webkit-transition:border .3s,background .3s,color .3s,-webkit-transform .3s;transition:transform .3s,border .3s,background .3s,color .3s;transition:transform .3s,border .3s,background .3s,color .3s,-webkit-transform .3s}.ha-icon-box-icon>i{display:block;width:1em;height:1em;-webkit-transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.ha-icon-box-link{display:block;color:transparent;text-decoration:none}.ha-icon-box .ha-badge{position:absolute;z-index:9999;background-color:#e2498a;color:#fff}.ha-member>.elementor-widget-container{padding:1.25rem}.ha-member-figure{display:inline-block;margin:0 0 1.5rem!important}.ha-member-name{margin-top:0;margin-bottom:.5rem;color:#151515;font-size:18px}.ha-member-position{margin-bottom:1.5rem;color:#7f7f7f;font-size:14px}.ha-member-bio{margin-bottom:1.5rem;font-size:14px;line-height:1.6}.ha-member-links>a{color:#9895ad;text-align:center;line-height:1;-webkit-transition:all .2s;transition:all .2s}.ha-member-links>a:focus,.ha-member-links>a:hover{color:#222}.ha-member-links>a>i{width:1em;height:1em}.ha-member-links>a:not(:last-child){margin-right:.3rem}.ha-review-header{margin-top:1.5rem}.ha-review-desc p,.ha-review-figure{margin:0}.ha-review-figure>img{width:100%;height:100%;border-radius:50%;vertical-align:bottom}.ha-review-reviewer{margin-top:0;margin-bottom:.3rem;color:#151515;font-size:18px}.ha-review-position{margin-bottom:.5rem;color:#7f7f7f;font-size:15px}.ha-review-ratting{display:inline-block;font-size:12px;line-height:1}.ha-review-ratting--num{padding:.25em .66em;border-radius:2.5em;background-color:#287dfe;color:#fff}.ha-review-ratting--star{display:inline-block;color:#ffbf36;font-family:"Fontawesome"}.ha-review-ratting--star>span{position:relative;overflow:hidden;height:1em}.ha-review-ratting--star span>span{position:absolute;top:0;left:0;overflow:hidden;padding-top:1.5em}.ha-review-ratting--star span>span:before,span .ha-review-ratting--star:before{position:absolute;top:0;left:0}.ha-review-ratting--star span:before{content:"\f006\f006\f006\f006\f006"}.ha-review-ratting--star span>span:before{content:"\f005\f005\f005\f005\f005"}.ha-review-desc{margin-top:1.5rem;font-size:16px;line-height:1.6}.ha-review--top>.elementor-widget-container{padding:2rem}.ha-review--top .ha-review-figure{display:inline-block;max-width:70px;height:70px}.ha-review--left>.elementor-widget-container{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.ha-review--left>.elementor-widget-container,.ha-review--right>.elementor-widget-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center;padding-left:2rem}.ha-review--left .ha-review-figure,.ha-review--right .ha-review-figure{-webkit-box-flex:0;-webkit-flex:0 0 150px;-ms-flex:0 0 150px;flex:0 0 150px;max-width:150px;height:150px}.ha-review--left .ha-review-body,.ha-review--right .ha-review-body{-webkit-box-flex:0;-webkit-flex:0 0 calc(100% - 150px);-ms-flex:0 0 calc(100% - 150px);flex:0 0 calc(100% - 150px);padding:2rem;max-width:calc(100% - 150px)}.ha-review--left .ha-review-body>:first-child,.ha-review--right .ha-review-body>:first-child{margin-top:0}.ha-review--right>.elementor-widget-container{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;padding-right:2rem;padding-left:0;text-align:right}.ha-image-compare .twentytwenty-container,.ha-image-compare .twentytwenty-wrapper{border-radius:inherit}.ha-skills>.elementor-widget-container{padding-top:1px}.ha-skill{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;background-color:#e9ecef;font-size:.75rem}.ha-skill--inside .ha-skill-info,.ha-skill--outside .ha-skill-info{text-align:left;font-size:14px}.ha-skill--inside .ha-skill-level-text,.ha-skill--outside .ha-skill-level-text{float:right}.ha-skill--outside{height:2px}.ha-skill--outside .ha-skill-level{position:relative}.ha-skill--outside .ha-skill-info{position:absolute;top:-25px;width:100%;color:#242424}.ha-skill--inside{overflow:hidden;height:30px;border-radius:.3rem}.ha-skill--inside .ha-skill-info{padding-right:1rem;padding-left:1rem;color:#fff}.ha-skill-level{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;background-color:#007bff;color:#fff;text-align:center;white-space:nowrap;-webkit-transition:width .6s ease;transition:width .6s ease}.ha-skill--outside{margin-top:40px}.ha-skill--inside:not(:first-child){margin-top:20px}.ha-gradient-heading{margin-top:0;margin-bottom:0}.ha-gradient-heading>a{color:inherit;text-decoration:none}
|
1 |
+
.ha-card>.elementor-widget-container,.ha-icon-box>.elementor-widget-container,.ha-image-compare>.elementor-widget-container,.ha-infobox>.elementor-widget-container,.ha-member>.elementor-widget-container,.ha-review>.elementor-widget-container{border-radius:.5rem;background-color:#fff;box-shadow:0 .2rem 2.8rem rgba(36,36,36,.1);word-wrap:break-word;overflow-wrap:break-word}.happy-addon,.happy-addon *{box-sizing:border-box}.happy-addon img{max-width:100%;height:auto;-o-object-fit:cover;object-fit:cover}.happy-addon p:empty{display:none}.ha-cf:after,.ha-cf:before{display:table;content:" "}.ha-cf:after{clear:both}.ha-btn{display:inline-block;vertical-align:middle;text-align:center;text-decoration:none;font-weight:700;font-size:14px;line-height:1;-webkit-transition:all .3s;transition:all .3s}.ha-btn:not(.ha-btn--link){padding:.7rem 1.3rem;border-radius:.25rem;background-color:#8c8c8c;color:#fff;text-align:center}.ha-btn:not(.ha-btn--link):focus,.ha-btn:not(.ha-btn--link):hover{background-color:#242424}.ha-btn.ha-btn--link{color:#3ca6ff}.ha-btn-icon{-webkit-transition:all .3s;transition:all .3s}.ha-btn-icon+.ha-btn-text,.ha-btn-text+.ha-btn-icon{margin-left:5px}.ha-card-figure{position:relative;height:250px}.ha-card-figure>img{border-top-left-radius:calc(.5rem - 1px);border-top-right-radius:calc(.5rem - 1px)}.ha-card-body{padding:1.5rem}.ha-card-title{margin-top:0;margin-bottom:.75rem;color:#151515;font-size:24px}.ha-card-text{margin-bottom:2rem;color:#616161;font-size:16px;line-height:1.7}.ha-card-text>p,.ha-infobox-text>p{margin-top:0;margin-bottom:0}.ha-card--top .ha-card-figure,.ha-member-links>a{display:inline-block}.ha-card--left>.elementor-widget-container,.ha-card--right>.elementor-widget-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center}.ha-card--left>.elementor-widget-container{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.ha-card--left .ha-card-body,.ha-card--left .ha-card-figure,.ha-card--right .ha-card-body,.ha-card--right .ha-card-figure{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.ha-card--left .ha-card-body,.ha-card--right .ha-card-body{padding:2.5rem}.ha-card--left .ha-card-figure>img{border-radius:calc(.5rem - 1px) 0 0 calc(.5rem - 1px)}.ha-card--right>.elementor-widget-container{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;text-align:right}.ha-card--right .ha-card-figure>img{border-radius:0 calc(.5rem - 1px) calc(.5rem - 1px) 0}.ha-card .ha-badge{position:absolute}.ha-badge{padding:.475rem 1.1rem;border-radius:50px;background-color:#fff;font-size:12px}.ha-badge--top-left{top:1rem;left:1rem}.ha-badge--top-center{top:1rem;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.ha-badge--top-right{top:1rem;right:1rem}.ha-badge--middle-left{top:50%;left:1rem;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.ha-badge--middle-center{top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.ha-badge--middle-right{top:50%;right:1rem;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.ha-badge--bottom-left{bottom:1rem;left:1rem}.ha-badge--bottom-center{bottom:1rem;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.ha-badge--bottom-right{right:1rem;bottom:1rem}.ha-infobox>.elementor-widget-container{padding:1.5rem}.ha-infobox-title{margin-top:0;margin-bottom:1rem;color:#151515;font-size:24px}.ha-infobox-figure{display:inline-block;margin:0 0 1.5rem!important}.ha-infobox-figure--icon{text-align:center;font-size:3rem}.ha-icon-box-icon>i,.ha-infobox-figure>i{position:relative;display:block;width:1em;height:1em}.ha-icon-box-icon>i:before,.ha-infobox-figure>i:before{position:absolute;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.ha-card-figure>img,.ha-infobox-figure>img,.ha-member-figure img{width:100%;height:100%;vertical-align:bottom}.ha-infobox-text+.ha-btn--link{margin-top:1rem}.ha-icon-box>.elementor-widget-container{position:relative;padding:1.25rem}.ha-icon-box-title{margin-top:0;margin-bottom:0;color:#151515;font-size:24px;-webkit-transition:color .3s;transition:color .3s}.ha-icon-box-icon{display:inline-block;margin-bottom:1rem;color:#151515;text-align:center;font-size:3rem;-webkit-transition:border .3s,background .3s,color .3s,-webkit-transform .3s;transition:transform .3s,border .3s,background .3s,color .3s;transition:transform .3s,border .3s,background .3s,color .3s,-webkit-transform .3s}.ha-icon-box-icon>i{-webkit-transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.ha-icon-box-link{display:block;color:transparent;text-decoration:none}.ha-icon-box .ha-badge{position:absolute;z-index:9999;background-color:#e2498a;color:#fff}.ha-member>.elementor-widget-container{padding:1.25rem}.ha-member-figure{display:inline-block;margin:0 0 1.5rem!important}.ha-member-name{margin-top:0;margin-bottom:.5rem;color:#151515;font-size:18px}.ha-member-position{margin-bottom:1.5rem;color:#7f7f7f;font-size:14px}.ha-member-bio{margin-bottom:1.5rem;font-size:14px;line-height:1.6}.ha-member-links>a{color:#9895ad;text-align:center;line-height:1;-webkit-transition:all .2s;transition:all .2s}.ha-member-links>a:focus,.ha-member-links>a:hover{color:#222}.ha-member-links>a>i{width:1em;height:1em}.ha-member-links>a:not(:last-child){margin-right:.3rem}.ha-review-header{margin-top:1.5rem}.ha-review-desc p,.ha-review-figure{margin:0}.ha-review-figure>img{width:100%;height:100%;border-radius:50%;vertical-align:bottom}.ha-review-reviewer{margin-top:0;margin-bottom:.3rem;color:#151515;font-size:18px}.ha-review-position{margin-bottom:.5rem;color:#7f7f7f;font-size:15px}.ha-review-ratting{display:inline-block;font-size:12px;line-height:1}.ha-review-ratting--num{padding:.25em .66em;border-radius:2.5em;background-color:#287dfe;color:#fff}.ha-review-ratting--star{display:inline-block;color:#ffbf36;font-family:"Fontawesome"}.ha-review-ratting--star>span{position:relative;overflow:hidden;height:1em}.ha-review-ratting--star span>span{position:absolute;top:0;left:0;overflow:hidden;padding-top:1.5em}.ha-review-ratting--star span>span:before,span .ha-review-ratting--star:before{position:absolute;top:0;left:0}.ha-review-ratting--star span:before{content:"\f006\f006\f006\f006\f006"}.ha-review-ratting--star span>span:before{content:"\f005\f005\f005\f005\f005"}.ha-review-desc{margin-top:1.5rem;font-size:16px;line-height:1.6}.ha-review--top>.elementor-widget-container{padding:2rem}.ha-review--top .ha-review-figure{display:inline-block;max-width:70px;height:70px}.ha-review--left>.elementor-widget-container{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.ha-review--left>.elementor-widget-container,.ha-review--right>.elementor-widget-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center;padding-left:2rem}.ha-review--left .ha-review-figure,.ha-review--right .ha-review-figure{-webkit-box-flex:0;-webkit-flex:0 0 150px;-ms-flex:0 0 150px;flex:0 0 150px;max-width:150px;height:150px}.ha-review--left .ha-review-body,.ha-review--right .ha-review-body{-webkit-box-flex:0;-webkit-flex:0 0 calc(100% - 150px);-ms-flex:0 0 calc(100% - 150px);flex:0 0 calc(100% - 150px);padding:2rem;max-width:calc(100% - 150px)}.ha-review--left .ha-review-body>:first-child,.ha-review--right .ha-review-body>:first-child{margin-top:0}.ha-review--right>.elementor-widget-container{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;padding-right:2rem;padding-left:0;text-align:right}.ha-image-compare .twentytwenty-container,.ha-image-compare .twentytwenty-wrapper{border-radius:inherit}.ha-skills>.elementor-widget-container{padding-top:1px}.ha-skill{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;background-color:#e9ecef;font-size:.75rem}.ha-skill--inside .ha-skill-info,.ha-skill--outside .ha-skill-info{text-align:left;font-size:14px}.ha-skill--inside .ha-skill-level-text,.ha-skill--outside .ha-skill-level-text{float:right}.ha-skill--outside{height:2px}.ha-skill--outside .ha-skill-level{position:relative}.ha-skill--outside .ha-skill-info{position:absolute;top:-25px;width:100%;color:#242424}.ha-skill--inside{overflow:hidden;height:30px;border-radius:.3rem}.ha-skill--inside .ha-skill-info{padding-right:1rem;padding-left:1rem;color:#fff}.ha-skill-level{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;background-color:#007bff;color:#fff;text-align:center;white-space:nowrap;-webkit-transition:width .6s ease;transition:width .6s ease}.ha-skill--outside{margin-top:40px}.ha-skill--inside:not(:first-child){margin-top:20px}.ha-gradient-heading{margin-top:0;margin-bottom:0}.ha-gradient-heading>a{color:inherit;text-decoration:none}.ha-dual-button>.elementor-widget-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.ha-dual-btn,.ha-dual-btn-connector{display:inline-block}.ha-dual-btn-wrapper{position:relative;text-align:center;font-weight:400}.ha-dual-btn{padding:1.2rem 3rem;color:#fff;text-decoration:none;font-size:14px}.ha-dual-btn--left{border-top-left-radius:50px;border-bottom-left-radius:50px;background-color:#3266fd}.ha-dual-btn--right{border-top-right-radius:50px;border-bottom-right-radius:50px;background-color:#27374c}.ha-dual-btn-connector{position:absolute!important;top:50%;right:0;z-index:9;width:30px;height:30px;border-radius:100%;background-color:#fff;box-shadow:0 0 0 5px rgba(255,255,255,.3);color:#27374c;text-transform:uppercase;font-size:12px;line-height:30px;-webkit-transform:translate(50%,-50%);-ms-transform:translate(50%,-50%);transform:translate(50%,-50%)}.ha-dual-btn-icon--before{margin-right:5px}.ha-dual-btn-icon--after{margin-left:5px}
|
assets/js/happy-addons.js
CHANGED
@@ -1,8 +1,8 @@
|
|
1 |
'use strict';
|
2 |
window.Happy = window.Happy || {};
|
3 |
|
4 |
-
(function ($, Happy) {
|
5 |
-
var $window = $(
|
6 |
|
7 |
$.fn.getHappySettings = function() {
|
8 |
return this.data('happy-settings');
|
@@ -24,8 +24,8 @@ window.Happy = window.Happy || {};
|
|
24 |
});
|
25 |
};
|
26 |
|
27 |
-
$window.on(
|
28 |
-
var
|
29 |
onInit: function() {
|
30 |
elementorModules.frontend.handlers.Base.prototype.onInit.apply(this, arguments);
|
31 |
this.run();
|
@@ -131,9 +131,10 @@ window.Happy = window.Happy || {};
|
|
131 |
|
132 |
elementorFrontend.hooks.addAction(
|
133 |
'frontend/element_ready/widget',
|
134 |
-
function
|
135 |
-
|
136 |
}
|
137 |
);
|
138 |
});
|
139 |
-
|
|
1 |
'use strict';
|
2 |
window.Happy = window.Happy || {};
|
3 |
|
4 |
+
(function ($, Happy, w) {
|
5 |
+
var $window = $(w);
|
6 |
|
7 |
$.fn.getHappySettings = function() {
|
8 |
return this.data('happy-settings');
|
24 |
});
|
25 |
};
|
26 |
|
27 |
+
$window.on('elementor/frontend/init', function() {
|
28 |
+
var HappyEffects = elementorModules.frontend.handlers.Base.extend({
|
29 |
onInit: function() {
|
30 |
elementorModules.frontend.handlers.Base.prototype.onInit.apply(this, arguments);
|
31 |
this.run();
|
131 |
|
132 |
elementorFrontend.hooks.addAction(
|
133 |
'frontend/element_ready/widget',
|
134 |
+
function($scope) {
|
135 |
+
elementorFrontend.elementsHandler.addHandler(HappyEffects, {$element: $scope});
|
136 |
}
|
137 |
);
|
138 |
});
|
139 |
+
|
140 |
+
} (jQuery, Happy, window));
|
assets/js/happy-addons.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
"use strict";window.Happy=window.Happy||{},function(e,t){var
|
1 |
+
"use strict";window.Happy=window.Happy||{},function(e,t,a){var n=e(a);e.fn.getHappySettings=function(){return this.data("happy-settings")},t.initImageComparison=function(e){var t=e.find(".hajs-image-comparison"),a=t.getHappySettings();a[{on_hover:"move_slider_on_hover",on_swipe:"move_with_handle_only",on_click:"click_to_move"}[a.move_handle||"on_swipe"]]=!0,delete a.move_handle,t.imagesLoaded().done(function(){t.twentytwenty(a)})},n.on("elementor/frontend/init",function(){var e=elementorModules.frontend.handlers.Base.extend({onInit:function(){elementorModules.frontend.handlers.Base.prototype.onInit.apply(this,arguments),this.run()},getTheElement:function(){return this.$element.find(".elementor-widget-container")[0]},resetFx:function(){anime.remove(this.getTheElement()),this.getTheElement()&&this.getTheElement().removeAttribute("style")},onDestroy:function(){elementorModules.frontend.handlers.Base.prototype.onDestroy.apply(this,arguments),this.resetFx()},onElementChange:function(){this.resetFx(),this.run()},run:function(){var e=this.getElementSettings(),t={targets:this.getTheElement(),loop:!0,direction:"alternate",easing:"easeInOutSine"};e.ha_floating_fx_translate_toggle&&(e.ha_floating_fx_translate_x.size&&(t.translateX={value:e.ha_floating_fx_translate_x.size,duration:e.ha_floating_fx_translate_duration.size,delay:e.ha_floating_fx_translate_delay.size||0}),e.ha_floating_fx_translate_y.size&&(t.translateY={value:e.ha_floating_fx_translate_y.size,duration:e.ha_floating_fx_translate_duration.size,delay:e.ha_floating_fx_translate_delay.size||0})),e.ha_floating_fx_rotate_toggle&&(e.ha_floating_fx_rotate_x.size&&(t.rotateX={value:e.ha_floating_fx_rotate_x.size,duration:e.ha_floating_fx_rotate_duration.size,delay:e.ha_floating_fx_rotate_delay.size||0}),e.ha_floating_fx_rotate_y.size&&(t.rotateY={value:e.ha_floating_fx_rotate_y.size,duration:e.ha_floating_fx_rotate_duration.size,delay:e.ha_floating_fx_rotate_delay.size||0}),e.ha_floating_fx_rotate_z.size&&(t.rotateZ={value:e.ha_floating_fx_rotate_z.size,duration:e.ha_floating_fx_rotate_duration.size,delay:e.ha_floating_fx_rotate_delay.size||0})),e.ha_floating_fx_scale_toggle&&(e.ha_floating_fx_scale_x.size&&(t.scaleX={value:e.ha_floating_fx_scale_x.size,duration:e.ha_floating_fx_scale_duration.size,delay:e.ha_floating_fx_scale_delay.size||0}),e.ha_floating_fx_scale_y.size&&(t.scaleY={value:e.ha_floating_fx_scale_y.size,duration:e.ha_floating_fx_scale_duration.size,delay:e.ha_floating_fx_scale_delay.size||0})),(e.ha_floating_fx_translate_toggle||e.ha_floating_fx_rotate_toggle||e.ha_floating_fx_scale_toggle)&&(this.getTheElement()&&this.getTheElement().style.setProperty("will-change","transform"),anime(t))}});elementorFrontend.hooks.addAction("frontend/element_ready/ha-image-compare.default",t.initImageComparison),elementorFrontend.hooks.addAction("frontend/element_ready/widget",function(t){elementorFrontend.elementsHandler.addHandler(e,{$element:t})})})}(jQuery,Happy,window);
|
base.php
CHANGED
@@ -6,11 +6,15 @@
|
|
6 |
*/
|
7 |
namespace Happy_Addons\Elementor;
|
8 |
|
|
|
|
|
|
|
|
|
9 |
defined( 'ABSPATH' ) || die();
|
10 |
|
11 |
class Base {
|
12 |
|
13 |
-
const VERSION = '1.0.
|
14 |
|
15 |
const MINIMUM_ELEMENTOR_VERSION = '2.5.0';
|
16 |
|
@@ -31,7 +35,7 @@ class Base {
|
|
31 |
}
|
32 |
|
33 |
public function i18n() {
|
34 |
-
load_plugin_textdomain( '
|
35 |
}
|
36 |
|
37 |
public function init() {
|
@@ -61,8 +65,9 @@ class Base {
|
|
61 |
// Register custom controls
|
62 |
add_action( 'elementor/controls/controls_registered', [$this, 'register_controls'] );
|
63 |
|
64 |
-
|
65 |
-
|
|
|
66 |
}
|
67 |
|
68 |
public function include_files() {
|
@@ -70,6 +75,7 @@ class Base {
|
|
70 |
require( __DIR__ . '/inc/happy-icons.php' );
|
71 |
require( __DIR__ . '/classes/widget-manager.php' );
|
72 |
require( __DIR__ . '/classes/asset-manager.php' );
|
|
|
73 |
}
|
74 |
|
75 |
/**
|
@@ -79,9 +85,9 @@ class Base {
|
|
79 |
*/
|
80 |
public function add_category( $elements_manager ) {
|
81 |
$elements_manager->add_category(
|
82 |
-
'
|
83 |
[
|
84 |
-
'title' => __( 'Happy Addons', '
|
85 |
'icon' => 'fa fa-smile-o',
|
86 |
]
|
87 |
);
|
@@ -102,9 +108,9 @@ class Base {
|
|
102 |
|
103 |
$message = sprintf(
|
104 |
/* translators: 1: Plugin name 2: Elementor */
|
105 |
-
esc_html__( '"%1$s" requires "%2$s" to be installed and activated.', '
|
106 |
-
'<strong>' . esc_html__( 'Happy Elementor Addons', '
|
107 |
-
'<strong>' . esc_html__( 'Elementor', '
|
108 |
);
|
109 |
|
110 |
printf( '<div class="notice notice-warning is-dismissible"><p>%1$s</p></div>', $message );
|
@@ -125,9 +131,9 @@ class Base {
|
|
125 |
|
126 |
$message = sprintf(
|
127 |
/* translators: 1: Plugin name 2: Elementor 3: Required Elementor version */
|
128 |
-
esc_html__( '"%1$s" requires "%2$s" version %3$s or greater.', '
|
129 |
-
'<strong>' . esc_html__( 'Happy Elementor Addons', '
|
130 |
-
'<strong>' . esc_html__( 'Elementor', '
|
131 |
self::MINIMUM_ELEMENTOR_VERSION
|
132 |
);
|
133 |
|
@@ -149,9 +155,9 @@ class Base {
|
|
149 |
|
150 |
$message = sprintf(
|
151 |
/* translators: 1: Plugin name 2: PHP 3: Required PHP version */
|
152 |
-
esc_html__( '"%1$s" requires "%2$s" version %3$s or greater.', '
|
153 |
-
'<strong>' . esc_html__( 'Happy Elementor Addons', '
|
154 |
-
'<strong>' . esc_html__( 'PHP', '
|
155 |
self::MINIMUM_PHP_VERSION
|
156 |
);
|
157 |
|
6 |
*/
|
7 |
namespace Happy_Addons\Elementor;
|
8 |
|
9 |
+
use Happy_Addons\Elementor\Manager\Assets;
|
10 |
+
use Happy_Addons\Elementor\Manager\Widgets;
|
11 |
+
use Happy_Addons\Elementor\Extension\Happy_Effects;
|
12 |
+
|
13 |
defined( 'ABSPATH' ) || die();
|
14 |
|
15 |
class Base {
|
16 |
|
17 |
+
const VERSION = '1.0.5';
|
18 |
|
19 |
const MINIMUM_ELEMENTOR_VERSION = '2.5.0';
|
20 |
|
35 |
}
|
36 |
|
37 |
public function i18n() {
|
38 |
+
load_plugin_textdomain( 'happy-elementor-addons' );
|
39 |
}
|
40 |
|
41 |
public function init() {
|
65 |
// Register custom controls
|
66 |
add_action( 'elementor/controls/controls_registered', [$this, 'register_controls'] );
|
67 |
|
68 |
+
Widgets::init();
|
69 |
+
Assets::init();
|
70 |
+
Happy_Effects::init();
|
71 |
}
|
72 |
|
73 |
public function include_files() {
|
75 |
require( __DIR__ . '/inc/happy-icons.php' );
|
76 |
require( __DIR__ . '/classes/widget-manager.php' );
|
77 |
require( __DIR__ . '/classes/asset-manager.php' );
|
78 |
+
require( __DIR__ . '/classes/happy-effects.php' );
|
79 |
}
|
80 |
|
81 |
/**
|
85 |
*/
|
86 |
public function add_category( $elements_manager ) {
|
87 |
$elements_manager->add_category(
|
88 |
+
'happy_addons_category',
|
89 |
[
|
90 |
+
'title' => __( 'Happy Addons', 'happy-elementor-addons' ),
|
91 |
'icon' => 'fa fa-smile-o',
|
92 |
]
|
93 |
);
|
108 |
|
109 |
$message = sprintf(
|
110 |
/* translators: 1: Plugin name 2: Elementor */
|
111 |
+
esc_html__( '"%1$s" requires "%2$s" to be installed and activated.', 'happy-elementor-addons' ),
|
112 |
+
'<strong>' . esc_html__( 'Happy Elementor Addons', 'happy-elementor-addons' ) . '</strong>',
|
113 |
+
'<strong>' . esc_html__( 'Elementor', 'happy-elementor-addons' ) . '</strong>'
|
114 |
);
|
115 |
|
116 |
printf( '<div class="notice notice-warning is-dismissible"><p>%1$s</p></div>', $message );
|
131 |
|
132 |
$message = sprintf(
|
133 |
/* translators: 1: Plugin name 2: Elementor 3: Required Elementor version */
|
134 |
+
esc_html__( '"%1$s" requires "%2$s" version %3$s or greater.', 'happy-elementor-addons' ),
|
135 |
+
'<strong>' . esc_html__( 'Happy Elementor Addons', 'happy-elementor-addons' ) . '</strong>',
|
136 |
+
'<strong>' . esc_html__( 'Elementor', 'happy-elementor-addons' ) . '</strong>',
|
137 |
self::MINIMUM_ELEMENTOR_VERSION
|
138 |
);
|
139 |
|
155 |
|
156 |
$message = sprintf(
|
157 |
/* translators: 1: Plugin name 2: PHP 3: Required PHP version */
|
158 |
+
esc_html__( '"%1$s" requires "%2$s" version %3$s or greater.', 'happy-elementor-addons' ),
|
159 |
+
'<strong>' . esc_html__( 'Happy Elementor Addons', 'happy-elementor-addons' ) . '</strong>',
|
160 |
+
'<strong>' . esc_html__( 'PHP', 'happy-elementor-addons' ) . '</strong>',
|
161 |
self::MINIMUM_PHP_VERSION
|
162 |
);
|
163 |
|
base/widget-base.php
CHANGED
@@ -44,7 +44,7 @@ abstract class Base extends Widget_Base {
|
|
44 |
* @return array Widget categories.
|
45 |
*/
|
46 |
public function get_categories() {
|
47 |
-
return [ '
|
48 |
}
|
49 |
|
50 |
/**
|
@@ -69,20 +69,39 @@ abstract class Base extends Widget_Base {
|
|
69 |
return rtrim( $html_class );
|
70 |
}
|
71 |
|
|
|
|
|
|
|
|
|
72 |
/**
|
73 |
* Register design controls
|
74 |
*
|
75 |
* Design controls are fixed for all widgets
|
76 |
*/
|
77 |
private function register_design_controls() {
|
|
|
|
|
|
|
|
|
|
|
78 |
$this->start_controls_section(
|
79 |
'_design',
|
80 |
[
|
81 |
-
'label' => __( 'Design', '
|
82 |
'tab' => Controls_Manager::TAB_CONTENT,
|
83 |
]
|
84 |
);
|
85 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
86 |
$this->end_controls_section();
|
87 |
}
|
88 |
|
@@ -93,7 +112,7 @@ abstract class Base extends Widget_Base {
|
|
93 |
$this->start_controls_section(
|
94 |
'_faq',
|
95 |
[
|
96 |
-
'label' => __( 'FAQs', '
|
97 |
'tab' => Controls_Manager::TAB_CONTENT,
|
98 |
]
|
99 |
);
|
@@ -114,6 +133,8 @@ abstract class Base extends Widget_Base {
|
|
114 |
* Register widget controls
|
115 |
*/
|
116 |
protected function _register_controls() {
|
|
|
|
|
117 |
$this->register_content_controls();
|
118 |
|
119 |
$this->register_style_controls();
|
44 |
* @return array Widget categories.
|
45 |
*/
|
46 |
public function get_categories() {
|
47 |
+
return [ 'happy_addons_category' ];
|
48 |
}
|
49 |
|
50 |
/**
|
69 |
return rtrim( $html_class );
|
70 |
}
|
71 |
|
72 |
+
protected function get_presets() {
|
73 |
+
return [];
|
74 |
+
}
|
75 |
+
|
76 |
/**
|
77 |
* Register design controls
|
78 |
*
|
79 |
* Design controls are fixed for all widgets
|
80 |
*/
|
81 |
private function register_design_controls() {
|
82 |
+
$presets = $this->get_presets();
|
83 |
+
if ( empty( $presets ) ) {
|
84 |
+
return;
|
85 |
+
}
|
86 |
+
|
87 |
$this->start_controls_section(
|
88 |
'_design',
|
89 |
[
|
90 |
+
'label' => __( 'Design', 'happy-elementor-addons' ),
|
91 |
'tab' => Controls_Manager::TAB_CONTENT,
|
92 |
]
|
93 |
);
|
94 |
|
95 |
+
$this->add_control(
|
96 |
+
'_preset',
|
97 |
+
[
|
98 |
+
'label' => __( 'Preset', 'happy-elementor-addons' ),
|
99 |
+
'type' => 'select',
|
100 |
+
'options' => ['' => __( 'Default', 'happy-elementor-addons' )] + $presets,
|
101 |
+
'default' => '',
|
102 |
+
]
|
103 |
+
);
|
104 |
+
|
105 |
$this->end_controls_section();
|
106 |
}
|
107 |
|
112 |
$this->start_controls_section(
|
113 |
'_faq',
|
114 |
[
|
115 |
+
'label' => __( 'FAQs', 'happy-elementor-addons' ),
|
116 |
'tab' => Controls_Manager::TAB_CONTENT,
|
117 |
]
|
118 |
);
|
133 |
* Register widget controls
|
134 |
*/
|
135 |
protected function _register_controls() {
|
136 |
+
$this->register_design_controls();
|
137 |
+
|
138 |
$this->register_content_controls();
|
139 |
|
140 |
$this->register_style_controls();
|
classes/asset-manager.php
CHANGED
@@ -1,40 +1,36 @@
|
|
1 |
<?php
|
2 |
-
namespace Happy_Addons\Elementor;
|
3 |
|
4 |
-
|
5 |
-
|
6 |
-
class Asset_Manager {
|
7 |
|
8 |
-
|
9 |
|
10 |
-
|
11 |
-
if ( is_null( self::$instance ) ) {
|
12 |
-
self::$instance = new self();
|
13 |
-
}
|
14 |
-
return self::$instance;
|
15 |
-
}
|
16 |
|
17 |
-
|
|
|
|
|
|
|
18 |
// Frontend scripts
|
19 |
-
add_action( 'wp_enqueue_scripts', [
|
20 |
-
|
21 |
-
add_action( 'elementor/editor/before_enqueue_scripts', [$this, 'enqueue_editor_scripts'] );
|
22 |
|
23 |
-
|
|
|
24 |
|
|
|
25 |
|
26 |
// Placeholder image replacement
|
27 |
-
add_filter( 'elementor/utils/get_placeholder_image_src', [
|
28 |
}
|
29 |
|
30 |
-
public function set_placeholder_image() {
|
31 |
return HAPPY_ASSETS . 'imgs/placeholder.jpg';
|
32 |
}
|
33 |
|
34 |
/**
|
35 |
* Enqueue frontend scripts
|
36 |
*/
|
37 |
-
public function enqueue_frontend_scripts() {
|
38 |
$suffix = ha_is_script_debug_enabled() ? '.' : '.';
|
39 |
|
40 |
wp_enqueue_style(
|
@@ -92,7 +88,7 @@ class Asset_Manager {
|
|
92 |
);
|
93 |
}
|
94 |
|
95 |
-
public function enqueue_editor_scripts() {
|
96 |
wp_enqueue_style(
|
97 |
'happy-icon',
|
98 |
HAPPY_ASSETS . 'fonts/style.min.css',
|
@@ -116,7 +112,7 @@ class Asset_Manager {
|
|
116 |
);
|
117 |
}
|
118 |
|
119 |
-
public function enqueue_preview_style() {
|
120 |
if( class_exists( 'WeForms' ) ) {
|
121 |
wp_enqueue_style(
|
122 |
'happy-elementor-weform-preview',
|
1 |
<?php
|
2 |
+
namespace Happy_Addons\Elementor\Manager;
|
3 |
|
4 |
+
use Happy_Addons\Elementor\Base;
|
|
|
|
|
5 |
|
6 |
+
defined( 'ABSPATH' ) || die();
|
7 |
|
8 |
+
class Assets {
|
|
|
|
|
|
|
|
|
|
|
9 |
|
10 |
+
/**
|
11 |
+
* Bind hook and run internal methods here
|
12 |
+
*/
|
13 |
+
public static function init() {
|
14 |
// Frontend scripts
|
15 |
+
add_action( 'wp_enqueue_scripts', [__CLASS__, 'enqueue_frontend_scripts'] );
|
|
|
|
|
16 |
|
17 |
+
// Edit and preview enqueue
|
18 |
+
add_action( 'elementor/preview/enqueue_styles', [__CLASS__, 'enqueue_preview_style'] );
|
19 |
|
20 |
+
add_action( 'elementor/editor/before_enqueue_scripts', [__CLASS__, 'enqueue_editor_scripts'] );
|
21 |
|
22 |
// Placeholder image replacement
|
23 |
+
add_filter( 'elementor/utils/get_placeholder_image_src', [__CLASS__, 'set_placeholder_image'] );
|
24 |
}
|
25 |
|
26 |
+
public static function set_placeholder_image() {
|
27 |
return HAPPY_ASSETS . 'imgs/placeholder.jpg';
|
28 |
}
|
29 |
|
30 |
/**
|
31 |
* Enqueue frontend scripts
|
32 |
*/
|
33 |
+
public static function enqueue_frontend_scripts() {
|
34 |
$suffix = ha_is_script_debug_enabled() ? '.' : '.';
|
35 |
|
36 |
wp_enqueue_style(
|
88 |
);
|
89 |
}
|
90 |
|
91 |
+
public static function enqueue_editor_scripts() {
|
92 |
wp_enqueue_style(
|
93 |
'happy-icon',
|
94 |
HAPPY_ASSETS . 'fonts/style.min.css',
|
112 |
);
|
113 |
}
|
114 |
|
115 |
+
public static function enqueue_preview_style() {
|
116 |
if( class_exists( 'WeForms' ) ) {
|
117 |
wp_enqueue_style(
|
118 |
'happy-elementor-weform-preview',
|
classes/happy-effects.php
ADDED
@@ -0,0 +1,777 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
namespace Happy_Addons\Elementor\Extension;
|
3 |
+
|
4 |
+
use Elementor\Controls_Manager;
|
5 |
+
use Elementor\Element_Base;
|
6 |
+
use Elementor\Core\Files\CSS\Post;
|
7 |
+
|
8 |
+
defined( 'ABSPATH' ) || die();
|
9 |
+
|
10 |
+
class Happy_Effects {
|
11 |
+
|
12 |
+
public static function init() {
|
13 |
+
add_action( 'elementor/element/common/_section_style/after_section_end', [__CLASS__, 'add_controls_section'] );
|
14 |
+
}
|
15 |
+
|
16 |
+
public static function add_controls_section( Element_Base $element ) {
|
17 |
+
$element->start_controls_section(
|
18 |
+
'_section_happy_effects',
|
19 |
+
[
|
20 |
+
'label' => __( 'Happy Effects', 'happy-elementor-addons' ),
|
21 |
+
'tab' => Controls_Manager::TAB_ADVANCED,
|
22 |
+
]
|
23 |
+
);
|
24 |
+
|
25 |
+
self::add_floating_effects( $element );
|
26 |
+
self::add_css_effects( $element );
|
27 |
+
|
28 |
+
$element->end_controls_section();
|
29 |
+
}
|
30 |
+
|
31 |
+
public static function add_floating_effects( Element_Base $element ) {
|
32 |
+
$element->add_control(
|
33 |
+
'ha_floating_fx',
|
34 |
+
[
|
35 |
+
'label' => __( 'Floating Effects', 'happy-elementor-addons' ),
|
36 |
+
'type' => Controls_Manager::SWITCHER,
|
37 |
+
'return_value' => 'yes',
|
38 |
+
'frontend_available' => true,
|
39 |
+
]
|
40 |
+
);
|
41 |
+
|
42 |
+
$element->add_control(
|
43 |
+
'ha_floating_fx_translate_toggle',
|
44 |
+
[
|
45 |
+
'label' => __( 'Translate', 'happy-elementor-addons' ),
|
46 |
+
'type' => Controls_Manager::POPOVER_TOGGLE,
|
47 |
+
'return_value' => 'yes',
|
48 |
+
'frontend_available' => true,
|
49 |
+
'condition' => [
|
50 |
+
'ha_floating_fx' => 'yes',
|
51 |
+
]
|
52 |
+
]
|
53 |
+
);
|
54 |
+
|
55 |
+
$element->start_popover();
|
56 |
+
|
57 |
+
$element->add_control(
|
58 |
+
'ha_floating_fx_translate_x',
|
59 |
+
[
|
60 |
+
'label' => __( 'Translate X', 'happy-elementor-addons' ),
|
61 |
+
'type' => Controls_Manager::SLIDER,
|
62 |
+
'size_units' => ['px'],
|
63 |
+
'condition' => [
|
64 |
+
'ha_floating_fx_translate_toggle' => 'yes',
|
65 |
+
'ha_floating_fx' => 'yes',
|
66 |
+
],
|
67 |
+
'render_type' => 'none',
|
68 |
+
'frontend_available' => true,
|
69 |
+
]
|
70 |
+
);
|
71 |
+
|
72 |
+
$element->add_control(
|
73 |
+
'ha_floating_fx_translate_y',
|
74 |
+
[
|
75 |
+
'label' => __( 'Translate Y', 'happy-elementor-addons' ),
|
76 |
+
'type' => Controls_Manager::SLIDER,
|
77 |
+
'size_units' => ['px'],
|
78 |
+
'condition' => [
|
79 |
+
'ha_floating_fx_translate_toggle' => 'yes',
|
80 |
+
'ha_floating_fx' => 'yes',
|
81 |
+
],
|
82 |
+
'render_type' => 'none',
|
83 |
+
'frontend_available' => true,
|
84 |
+
]
|
85 |
+
);
|
86 |
+
|
87 |
+
$element->add_control(
|
88 |
+
'ha_floating_fx_translate_duration',
|
89 |
+
[
|
90 |
+
'label' => __( 'Duration', 'happy-elementor-addons' ),
|
91 |
+
'type' => Controls_Manager::SLIDER,
|
92 |
+
'size_units' => ['px'],
|
93 |
+
'range' => [
|
94 |
+
'px' => [
|
95 |
+
'min' => 0,
|
96 |
+
'max' => 10000,
|
97 |
+
'step' => 100
|
98 |
+
]
|
99 |
+
],
|
100 |
+
'default' => [
|
101 |
+
'size' => 1000,
|
102 |
+
],
|
103 |
+
'condition' => [
|
104 |
+
'ha_floating_fx_translate_toggle' => 'yes',
|
105 |
+
'ha_floating_fx' => 'yes',
|
106 |
+
],
|
107 |
+
'render_type' => 'none',
|
108 |
+
'frontend_available' => true,
|
109 |
+
]
|
110 |
+
);
|
111 |
+
|
112 |
+
$element->add_control(
|
113 |
+
'ha_floating_fx_translate_delay',
|
114 |
+
[
|
115 |
+
'label' => __( 'Delay', 'happy-elementor-addons' ),
|
116 |
+
'type' => Controls_Manager::SLIDER,
|
117 |
+
'size_units' => ['px'],
|
118 |
+
'range' => [
|
119 |
+
'px' => [
|
120 |
+
'min' => 0,
|
121 |
+
'max' => 5000,
|
122 |
+
'step' => 100
|
123 |
+
]
|
124 |
+
],
|
125 |
+
'condition' => [
|
126 |
+
'ha_floating_fx_translate_toggle' => 'yes',
|
127 |
+
'ha_floating_fx' => 'yes',
|
128 |
+
],
|
129 |
+
'render_type' => 'none',
|
130 |
+
'frontend_available' => true,
|
131 |
+
]
|
132 |
+
);
|
133 |
+
|
134 |
+
$element->end_popover();
|
135 |
+
|
136 |
+
$element->add_control(
|
137 |
+
'ha_floating_fx_rotate_toggle',
|
138 |
+
[
|
139 |
+
'label' => __( 'Rotate', 'happy-elementor-addons' ),
|
140 |
+
'type' => Controls_Manager::POPOVER_TOGGLE,
|
141 |
+
'return_value' => 'yes',
|
142 |
+
'frontend_available' => true,
|
143 |
+
'condition' => [
|
144 |
+
'ha_floating_fx' => 'yes',
|
145 |
+
]
|
146 |
+
]
|
147 |
+
);
|
148 |
+
|
149 |
+
$element->start_popover();
|
150 |
+
|
151 |
+
$element->add_control(
|
152 |
+
'ha_floating_fx_rotate_x',
|
153 |
+
[
|
154 |
+
'label' => __( 'Rotate X', 'happy-elementor-addons' ),
|
155 |
+
'type' => Controls_Manager::SLIDER,
|
156 |
+
'size_units' => ['px'],
|
157 |
+
'range' => [
|
158 |
+
'px' => [
|
159 |
+
'min' => 0,
|
160 |
+
'max' => 360,
|
161 |
+
]
|
162 |
+
],
|
163 |
+
'condition' => [
|
164 |
+
'ha_floating_fx_rotate_toggle' => 'yes',
|
165 |
+
'ha_floating_fx' => 'yes',
|
166 |
+
],
|
167 |
+
'render_type' => 'none',
|
168 |
+
'frontend_available' => true,
|
169 |
+
]
|
170 |
+
);
|
171 |
+
|
172 |
+
$element->add_control(
|
173 |
+
'ha_floating_fx_rotate_y',
|
174 |
+
[
|
175 |
+
'label' => __( 'Rotate Y', 'happy-elementor-addons' ),
|
176 |
+
'type' => Controls_Manager::SLIDER,
|
177 |
+
'size_units' => ['px'],
|
178 |
+
'range' => [
|
179 |
+
'px' => [
|
180 |
+
'min' => 0,
|
181 |
+
'max' => 360,
|
182 |
+
]
|
183 |
+
],
|
184 |
+
'condition' => [
|
185 |
+
'ha_floating_fx_rotate_toggle' => 'yes',
|
186 |
+
'ha_floating_fx' => 'yes',
|
187 |
+
],
|
188 |
+
'render_type' => 'none',
|
189 |
+
'frontend_available' => true,
|
190 |
+
]
|
191 |
+
);
|
192 |
+
|
193 |
+
$element->add_control(
|
194 |
+
'ha_floating_fx_rotate_z',
|
195 |
+
[
|
196 |
+
'label' => __( 'Rotate Z', 'happy-elementor-addons' ),
|
197 |
+
'type' => Controls_Manager::SLIDER,
|
198 |
+
'size_units' => ['px'],
|
199 |
+
'range' => [
|
200 |
+
'px' => [
|
201 |
+
'min' => 0,
|
202 |
+
'max' => 360,
|
203 |
+
]
|
204 |
+
],
|
205 |
+
'condition' => [
|
206 |
+
'ha_floating_fx_rotate_toggle' => 'yes',
|
207 |
+
'ha_floating_fx' => 'yes',
|
208 |
+
],
|
209 |
+
'render_type' => 'none',
|
210 |
+
'frontend_available' => true,
|
211 |
+
]
|
212 |
+
);
|
213 |
+
|
214 |
+
$element->add_control(
|
215 |
+
'ha_floating_fx_rotate_duration',
|
216 |
+
[
|
217 |
+
'label' => __( 'Duration', 'happy-elementor-addons' ),
|
218 |
+
'type' => Controls_Manager::SLIDER,
|
219 |
+
'size_units' => ['px'],
|
220 |
+
'range' => [
|
221 |
+
'px' => [
|
222 |
+
'min' => 0,
|
223 |
+
'max' => 10000,
|
224 |
+
'step' => 100
|
225 |
+
]
|
226 |
+
],
|
227 |
+
'default' => [
|
228 |
+
'size' => 1000,
|
229 |
+
],
|
230 |
+
'condition' => [
|
231 |
+
'ha_floating_fx_rotate_toggle' => 'yes',
|
232 |
+
'ha_floating_fx' => 'yes',
|
233 |
+
],
|
234 |
+
'render_type' => 'none',
|
235 |
+
'frontend_available' => true,
|
236 |
+
]
|
237 |
+
);
|
238 |
+
|
239 |
+
$element->add_control(
|
240 |
+
'ha_floating_fx_rotate_delay',
|
241 |
+
[
|
242 |
+
'label' => __( 'Delay', 'happy-elementor-addons' ),
|
243 |
+
'type' => Controls_Manager::SLIDER,
|
244 |
+
'size_units' => ['px'],
|
245 |
+
'range' => [
|
246 |
+
'px' => [
|
247 |
+
'min' => 0,
|
248 |
+
'max' => 5000,
|
249 |
+
'step' => 100
|
250 |
+
]
|
251 |
+
],
|
252 |
+
'condition' => [
|
253 |
+
'ha_floating_fx_rotate_toggle' => 'yes',
|
254 |
+
'ha_floating_fx' => 'yes',
|
255 |
+
],
|
256 |
+
'render_type' => 'none',
|
257 |
+
'frontend_available' => true,
|
258 |
+
]
|
259 |
+
);
|
260 |
+
|
261 |
+
$element->end_popover();
|
262 |
+
|
263 |
+
$element->add_control(
|
264 |
+
'ha_floating_fx_scale_toggle',
|
265 |
+
[
|
266 |
+
'label' => __( 'Scale', 'happy-elementor-addons' ),
|
267 |
+
'type' => Controls_Manager::POPOVER_TOGGLE,
|
268 |
+
'return_value' => 'yes',
|
269 |
+
'frontend_available' => true,
|
270 |
+
'condition' => [
|
271 |
+
'ha_floating_fx' => 'yes',
|
272 |
+
]
|
273 |
+
]
|
274 |
+
);
|
275 |
+
|
276 |
+
$element->start_popover();
|
277 |
+
|
278 |
+
$element->add_control(
|
279 |
+
'ha_floating_fx_scale_x',
|
280 |
+
[
|
281 |
+
'label' => __( 'Scale X', 'happy-elementor-addons' ),
|
282 |
+
'type' => Controls_Manager::SLIDER,
|
283 |
+
'size_units' => ['px'],
|
284 |
+
'range' => [
|
285 |
+
'px' => [
|
286 |
+
'min' => 0,
|
287 |
+
'max' => 10,
|
288 |
+
'step' => .1
|
289 |
+
]
|
290 |
+
],
|
291 |
+
'condition' => [
|
292 |
+
'ha_floating_fx_scale_toggle' => 'yes',
|
293 |
+
'ha_floating_fx' => 'yes',
|
294 |
+
],
|
295 |
+
'render_type' => 'none',
|
296 |
+
'frontend_available' => true,
|
297 |
+
]
|
298 |
+
);
|
299 |
+
|
300 |
+
$element->add_control(
|
301 |
+
'ha_floating_fx_scale_y',
|
302 |
+
[
|
303 |
+
'label' => __( 'Scale Y', 'happy-elementor-addons' ),
|
304 |
+
'type' => Controls_Manager::SLIDER,
|
305 |
+
'size_units' => ['px'],
|
306 |
+
'range' => [
|
307 |
+
'px' => [
|
308 |
+
'min' => 0,
|
309 |
+
'max' => 10,
|
310 |
+
'step' => .1
|
311 |
+
]
|
312 |
+
],
|
313 |
+
'condition' => [
|
314 |
+
'ha_floating_fx_scale_toggle' => 'yes',
|
315 |
+
'ha_floating_fx' => 'yes',
|
316 |
+
],
|
317 |
+
'render_type' => 'none',
|
318 |
+
'frontend_available' => true,
|
319 |
+
]
|
320 |
+
);
|
321 |
+
|
322 |
+
$element->add_control(
|
323 |
+
'ha_floating_fx_scale_duration',
|
324 |
+
[
|
325 |
+
'label' => __( 'Duration', 'happy-elementor-addons' ),
|
326 |
+
'type' => Controls_Manager::SLIDER,
|
327 |
+
'size_units' => ['px'],
|
328 |
+
'range' => [
|
329 |
+
'px' => [
|
330 |
+
'min' => 0,
|
331 |
+
'max' => 10000,
|
332 |
+
'step' => 100
|
333 |
+
]
|
334 |
+
],
|
335 |
+
'default' => [
|
336 |
+
'size' => 1000,
|
337 |
+
],
|
338 |
+
'condition' => [
|
339 |
+
'ha_floating_fx_scale_toggle' => 'yes',
|
340 |
+
'ha_floating_fx' => 'yes',
|
341 |
+
],
|
342 |
+
'render_type' => 'none',
|
343 |
+
'frontend_available' => true,
|
344 |
+
]
|
345 |
+
);
|
346 |
+
|
347 |
+
$element->add_control(
|
348 |
+
'ha_floating_fx_scale_delay',
|
349 |
+
[
|
350 |
+
'label' => __( 'Delay', 'happy-elementor-addons' ),
|
351 |
+
'type' => Controls_Manager::SLIDER,
|
352 |
+
'size_units' => ['px'],
|
353 |
+
'range' => [
|
354 |
+
'px' => [
|
355 |
+
'min' => 0,
|
356 |
+
'max' => 5000,
|
357 |
+
'step' => 100
|
358 |
+
]
|
359 |
+
],
|
360 |
+
'condition' => [
|
361 |
+
'ha_floating_fx_scale_toggle' => 'yes',
|
362 |
+
'ha_floating_fx' => 'yes',
|
363 |
+
],
|
364 |
+
'render_type' => 'none',
|
365 |
+
'frontend_available' => true,
|
366 |
+
]
|
367 |
+
);
|
368 |
+
|
369 |
+
$element->end_popover();
|
370 |
+
|
371 |
+
$element->add_control(
|
372 |
+
'ha_hr',
|
373 |
+
[
|
374 |
+
'type' => Controls_Manager::DIVIDER,
|
375 |
+
]
|
376 |
+
);
|
377 |
+
}
|
378 |
+
|
379 |
+
public static function add_css_effects( Element_Base $element ) {
|
380 |
+
$element->add_control(
|
381 |
+
'ha_transform_fx',
|
382 |
+
[
|
383 |
+
'label' => __( 'CSS Transform', 'happy-elementor-addons' ),
|
384 |
+
'type' => Controls_Manager::SWITCHER,
|
385 |
+
'return_value' => 'yes',
|
386 |
+
]
|
387 |
+
);
|
388 |
+
|
389 |
+
$element->add_control(
|
390 |
+
'ha_transform_fx_translate_toggle',
|
391 |
+
[
|
392 |
+
'label' => __( 'Translate', 'happy-elementor-addons' ),
|
393 |
+
'type' => Controls_Manager::POPOVER_TOGGLE,
|
394 |
+
'return_value' => 'yes',
|
395 |
+
'condition' => [
|
396 |
+
'ha_transform_fx' => 'yes',
|
397 |
+
],
|
398 |
+
]
|
399 |
+
);
|
400 |
+
|
401 |
+
$element->start_popover();
|
402 |
+
|
403 |
+
$element->add_responsive_control(
|
404 |
+
'ha_transform_fx_translate_x',
|
405 |
+
[
|
406 |
+
'label' => __( 'Translate X', 'happy-elementor-addons' ),
|
407 |
+
'type' => Controls_Manager::SLIDER,
|
408 |
+
'size_units' => ['px'],
|
409 |
+
'range' => [
|
410 |
+
'px' => [
|
411 |
+
'min' => -1000,
|
412 |
+
'max' => 1000,
|
413 |
+
]
|
414 |
+
],
|
415 |
+
'condition' => [
|
416 |
+
'ha_transform_fx_translate_toggle' => 'yes',
|
417 |
+
'ha_transform_fx' => 'yes',
|
418 |
+
],
|
419 |
+
]
|
420 |
+
);
|
421 |
+
|
422 |
+
$element->add_responsive_control(
|
423 |
+
'ha_transform_fx_translate_y',
|
424 |
+
[
|
425 |
+
'label' => __( 'Translate Y', 'happy-elementor-addons' ),
|
426 |
+
'type' => Controls_Manager::SLIDER,
|
427 |
+
'size_units' => ['px'],
|
428 |
+
'range' => [
|
429 |
+
'px' => [
|
430 |
+
'min' => -1000,
|
431 |
+
'max' => 1000,
|
432 |
+
]
|
433 |
+
],
|
434 |
+
'condition' => [
|
435 |
+
'ha_transform_fx_translate_toggle' => 'yes',
|
436 |
+
'ha_transform_fx' => 'yes',
|
437 |
+
],
|
438 |
+
'selectors' => [
|
439 |
+
'(desktop){{WRAPPER}}' =>
|
440 |
+
'-ms-transform:'
|
441 |
+
. 'translate({{ha_transform_fx_translate_x.SIZE || 0}}px, {{ha_transform_fx_translate_y.SIZE || 0}}px);'
|
442 |
+
. '-webkit-transform:'
|
443 |
+
. 'translate({{ha_transform_fx_translate_x.SIZE || 0}}px, {{ha_transform_fx_translate_y.SIZE || 0}}px);'
|
444 |
+
. 'transform:'
|
445 |
+
. 'translate({{ha_transform_fx_translate_x.SIZE || 0}}px, {{ha_transform_fx_translate_y.SIZE || 0}}px);',
|
446 |
+
'(tablet){{WRAPPER}}' =>
|
447 |
+
'-ms-transform:'
|
448 |
+
. 'translate({{ha_transform_fx_translate_x_tablet.SIZE || 0}}px, {{ha_transform_fx_translate_y_tablet.SIZE || 0}}px);'
|
449 |
+
. '-webkit-transform:'
|
450 |
+
. 'translate({{ha_transform_fx_translate_x_tablet.SIZE || 0}}px, {{ha_transform_fx_translate_y_tablet.SIZE || 0}}px);'
|
451 |
+
. 'transform:'
|
452 |
+
. 'translate({{ha_transform_fx_translate_x_tablet.SIZE || 0}}px, {{ha_transform_fx_translate_y_tablet.SIZE || 0}}px);',
|
453 |
+
'(mobile){{WRAPPER}}' =>
|
454 |
+
'-ms-transform:'
|
455 |
+
. 'translate({{ha_transform_fx_translate_x_mobile.SIZE || 0}}px, {{ha_transform_fx_translate_y_mobile.SIZE || 0}}px);'
|
456 |
+
. '-webkit-transform:'
|
457 |
+
. 'translate({{ha_transform_fx_translate_x_mobile.SIZE || 0}}px, {{ha_transform_fx_translate_y_mobile.SIZE || 0}}px);'
|
458 |
+
. 'transform:'
|
459 |
+
. 'translate({{ha_transform_fx_translate_x_mobile.SIZE || 0}}px, {{ha_transform_fx_translate_y_mobile.SIZE || 0}}px);',
|
460 |
+
]
|
461 |
+
]
|
462 |
+
);
|
463 |
+
|
464 |
+
$element->end_popover();
|
465 |
+
|
466 |
+
$element->add_control(
|
467 |
+
'ha_transform_fx_rotate_toggle',
|
468 |
+
[
|
469 |
+
'label' => __( 'Rotate', 'happy-elementor-addons' ),
|
470 |
+
'type' => Controls_Manager::POPOVER_TOGGLE,
|
471 |
+
'condition' => [
|
472 |
+
'ha_transform_fx' => 'yes',
|
473 |
+
],
|
474 |
+
]
|
475 |
+
);
|
476 |
+
|
477 |
+
$element->start_popover();
|
478 |
+
|
479 |
+
$element->add_responsive_control(
|
480 |
+
'ha_transform_fx_rotate_x',
|
481 |
+
[
|
482 |
+
'label' => __( 'Rotate X', 'happy-elementor-addons' ),
|
483 |
+
'type' => Controls_Manager::SLIDER,
|
484 |
+
'size_units' => ['px'],
|
485 |
+
'range' => [
|
486 |
+
'px' => [
|
487 |
+
'min' => -180,
|
488 |
+
'max' => 180,
|
489 |
+
]
|
490 |
+
],
|
491 |
+
'condition' => [
|
492 |
+
'ha_transform_fx_rotate_toggle' => 'yes',
|
493 |
+
'ha_transform_fx' => 'yes',
|
494 |
+
],
|
495 |
+
]
|
496 |
+
);
|
497 |
+
|
498 |
+
$element->add_responsive_control(
|
499 |
+
'ha_transform_fx_rotate_y',
|
500 |
+
[
|
501 |
+
'label' => __( 'Rotate Y', 'happy-elementor-addons' ),
|
502 |
+
'type' => Controls_Manager::SLIDER,
|
503 |
+
'size_units' => ['px'],
|
504 |
+
'range' => [
|
505 |
+
'px' => [
|
506 |
+
'min' => -180,
|
507 |
+
'max' => 180,
|
508 |
+
]
|
509 |
+
],
|
510 |
+
'condition' => [
|
511 |
+
'ha_transform_fx_rotate_toggle' => 'yes',
|
512 |
+
'ha_transform_fx' => 'yes',
|
513 |
+
],
|
514 |
+
]
|
515 |
+
);
|
516 |
+
|
517 |
+
$element->add_responsive_control(
|
518 |
+
'ha_transform_fx_rotate_z',
|
519 |
+
[
|
520 |
+
'label' => __( 'Rotate Z', 'happy-elementor-addons' ),
|
521 |
+
'type' => Controls_Manager::SLIDER,
|
522 |
+
'size_units' => ['px'],
|
523 |
+
'range' => [
|
524 |
+
'px' => [
|
525 |
+
'min' => -180,
|
526 |
+
'max' => 180,
|
527 |
+
]
|
528 |
+
],
|
529 |
+
'condition' => [
|
530 |
+
'ha_transform_fx_rotate_toggle' => 'yes',
|
531 |
+
'ha_transform_fx' => 'yes',
|
532 |
+
],
|
533 |
+
'selectors' => [
|
534 |
+
'(desktop){{WRAPPER}}' =>
|
535 |
+
'-ms-transform:'
|
536 |
+
. 'translate({{ha_transform_fx_translate_x.SIZE || 0}}px, {{ha_transform_fx_translate_y.SIZE || 0}}px) '
|
537 |
+
. 'rotateX({{ha_transform_fx_rotate_x.SIZE || 0}}deg) rotateY({{ha_transform_fx_rotate_y.SIZE || 0}}deg) rotateZ({{ha_transform_fx_rotate_z.SIZE || 0}}deg);'
|
538 |
+
. '-webkit-transform:'
|
539 |
+
. 'translate({{ha_transform_fx_translate_x.SIZE || 0}}px, {{ha_transform_fx_translate_y.SIZE || 0}}px) '
|
540 |
+
. 'rotateX({{ha_transform_fx_rotate_x.SIZE || 0}}deg) rotateY({{ha_transform_fx_rotate_y.SIZE || 0}}deg) rotateZ({{ha_transform_fx_rotate_z.SIZE || 0}}deg);'
|
541 |
+
. 'transform:'
|
542 |
+
. 'translate({{ha_transform_fx_translate_x.SIZE || 0}}px, {{ha_transform_fx_translate_y.SIZE || 0}}px) '
|
543 |
+
. 'rotateX({{ha_transform_fx_rotate_x.SIZE || 0}}deg) rotateY({{ha_transform_fx_rotate_y.SIZE || 0}}deg) rotateZ({{ha_transform_fx_rotate_z.SIZE || 0}}deg);',
|
544 |
+
'(tablet){{WRAPPER}}' =>
|
545 |
+
'-ms-transform:'
|
546 |
+
. 'translate({{ha_transform_fx_translate_x_tablet.SIZE || 0}}px, {{ha_transform_fx_translate_y_tablet.SIZE || 0}}px) '
|
547 |
+
. 'rotateX({{ha_transform_fx_rotate_x_tablet.SIZE || 0}}deg) rotateY({{ha_transform_fx_rotate_y_tablet.SIZE || 0}}deg) rotateZ({{ha_transform_fx_rotate_z_tablet.SIZE || 0}}deg);'
|
548 |
+
. '-webkit-transform:'
|
549 |
+
. 'translate({{ha_transform_fx_translate_x_tablet.SIZE || 0}}px, {{ha_transform_fx_translate_y_tablet.SIZE || 0}}px) '
|
550 |
+
. 'rotateX({{ha_transform_fx_rotate_x_tablet.SIZE || 0}}deg) rotateY({{ha_transform_fx_rotate_y_tablet.SIZE || 0}}deg) rotateZ({{ha_transform_fx_rotate_z_tablet.SIZE || 0}}deg);'
|
551 |
+
. 'transform:'
|
552 |
+
. 'translate({{ha_transform_fx_translate_x_tablet.SIZE || 0}}px, {{ha_transform_fx_translate_y_tablet.SIZE || 0}}px) '
|
553 |
+
. 'rotateX({{ha_transform_fx_rotate_x_tablet.SIZE || 0}}deg) rotateY({{ha_transform_fx_rotate_y_tablet.SIZE || 0}}deg) rotateZ({{ha_transform_fx_rotate_z_tablet.SIZE || 0}}deg);',
|
554 |
+
'(mobile){{WRAPPER}}' =>
|
555 |
+
'-ms-transform:'
|
556 |
+
. 'translate({{ha_transform_fx_translate_x_mobile.SIZE || 0}}px, {{ha_transform_fx_translate_y_mobile.SIZE || 0}}px) '
|
557 |
+
. 'rotateX({{ha_transform_fx_rotate_x_mobile.SIZE || 0}}deg) rotateY({{ha_transform_fx_rotate_y_mobile.SIZE || 0}}deg) rotateZ({{ha_transform_fx_rotate_z_mobile.SIZE || 0}}deg);'
|
558 |
+
. '-webkit-transform:'
|
559 |
+
. 'translate({{ha_transform_fx_translate_x_mobile.SIZE || 0}}px, {{ha_transform_fx_translate_y_mobile.SIZE || 0}}px) '
|
560 |
+
. 'rotateX({{ha_transform_fx_rotate_x_mobile.SIZE || 0}}deg) rotateY({{ha_transform_fx_rotate_y_mobile.SIZE || 0}}deg) rotateZ({{ha_transform_fx_rotate_z_mobile.SIZE || 0}}deg);'
|
561 |
+
. 'transform:'
|
562 |
+
. 'translate({{ha_transform_fx_translate_x_mobile.SIZE || 0}}px, {{ha_transform_fx_translate_y_mobile.SIZE || 0}}px) '
|
563 |
+
. 'rotateX({{ha_transform_fx_rotate_x_mobile.SIZE || 0}}deg) rotateY({{ha_transform_fx_rotate_y_mobile.SIZE || 0}}deg) rotateZ({{ha_transform_fx_rotate_z_mobile.SIZE || 0}}deg);'
|
564 |
+
]
|
565 |
+
]
|
566 |
+
);
|
567 |
+
|
568 |
+
$element->end_popover();
|
569 |
+
|
570 |
+
$element->add_control(
|
571 |
+
'ha_transform_fx_scale_toggle',
|
572 |
+
[
|
573 |
+
'label' => __( 'Scale', 'happy-elementor-addons' ),
|
574 |
+
'type' => Controls_Manager::POPOVER_TOGGLE,
|
575 |
+
'return_value' => 'yes',
|
576 |
+
'condition' => [
|
577 |
+
'ha_transform_fx' => 'yes',
|
578 |
+
],
|
579 |
+
]
|
580 |
+
);
|
581 |
+
|
582 |
+
$element->start_popover();
|
583 |
+
|
584 |
+
$element->add_responsive_control(
|
585 |
+
'ha_transform_fx_scale_x',
|
586 |
+
[
|
587 |
+
'label' => __( 'Scale X', 'happy-elementor-addons' ),
|
588 |
+
'type' => Controls_Manager::SLIDER,
|
589 |
+
'size_units' => ['px'],
|
590 |
+
'default' => [
|
591 |
+
'size' => 1
|
592 |
+
],
|
593 |
+
'range' => [
|
594 |
+
'px' => [
|
595 |
+
'min' => 0,
|
596 |
+
'max' => 5,
|
597 |
+
'step' => .1
|
598 |
+
]
|
599 |
+
],
|
600 |
+
'condition' => [
|
601 |
+
'ha_transform_fx_scale_toggle' => 'yes',
|
602 |
+
'ha_transform_fx' => 'yes',
|
603 |
+
],
|
604 |
+
]
|
605 |
+
);
|
606 |
+
|
607 |
+
$element->add_responsive_control(
|
608 |
+
'ha_transform_fx_scale_y',
|
609 |
+
[
|
610 |
+
'label' => __( 'Scale Y', 'happy-elementor-addons' ),
|
611 |
+
'type' => Controls_Manager::SLIDER,
|
612 |
+
'size_units' => ['px'],
|
613 |
+
'default' => [
|
614 |
+
'size' => 1
|
615 |
+
],
|
616 |
+
'range' => [
|
617 |
+
'px' => [
|
618 |
+
'min' => 0,
|
619 |
+
'max' => 5,
|
620 |
+
'step' => .1
|
621 |
+
]
|
622 |
+
],
|
623 |
+
'condition' => [
|
624 |
+
'ha_transform_fx_scale_toggle' => 'yes',
|
625 |
+
'ha_transform_fx' => 'yes',
|
626 |
+
],
|
627 |
+
'selectors' => [
|
628 |
+
'(desktop){{WRAPPER}}' =>
|
629 |
+
'-ms-transform:'
|
630 |
+
. 'translate({{ha_transform_fx_translate_x.SIZE || 0}}px, {{ha_transform_fx_translate_y.SIZE || 0}}px) '
|
631 |
+
. 'rotateX({{ha_transform_fx_rotate_x.SIZE || 0}}deg) rotateY({{ha_transform_fx_rotate_y.SIZE || 0}}deg) rotateZ({{ha_transform_fx_rotate_z.SIZE || 0}}deg) '
|
632 |
+
. 'scaleX({{ha_transform_fx_scale_x.SIZE || 1}}) scaleY({{ha_transform_fx_scale_y.SIZE || 1}});'
|
633 |
+
. '-webkit-transform:'
|
634 |
+
. 'translate({{ha_transform_fx_translate_x.SIZE || 0}}px, {{ha_transform_fx_translate_y.SIZE || 0}}px) '
|
635 |
+
. 'rotateX({{ha_transform_fx_rotate_x.SIZE || 0}}deg) rotateY({{ha_transform_fx_rotate_y.SIZE || 0}}deg) rotateZ({{ha_transform_fx_rotate_z.SIZE || 0}}deg) '
|
636 |
+
. 'scaleX({{ha_transform_fx_scale_x.SIZE || 1}}) scaleY({{ha_transform_fx_scale_y.SIZE || 1}});'
|
637 |
+
. 'transform:'
|
638 |
+
. 'translate({{ha_transform_fx_translate_x.SIZE || 0}}px, {{ha_transform_fx_translate_y.SIZE || 0}}px) '
|
639 |
+
. 'rotateX({{ha_transform_fx_rotate_x.SIZE || 0}}deg) rotateY({{ha_transform_fx_rotate_y.SIZE || 0}}deg) rotateZ({{ha_transform_fx_rotate_z.SIZE || 0}}deg) '
|
640 |
+
. 'scaleX({{ha_transform_fx_scale_x.SIZE || 1}}) scaleY({{ha_transform_fx_scale_y.SIZE || 1}});',
|
641 |
+
'(tablet){{WRAPPER}}' =>
|
642 |
+
'-ms-transform:'
|
643 |
+
. 'translate({{ha_transform_fx_translate_x_tablet.SIZE || 0}}px, {{ha_transform_fx_translate_y_tablet.SIZE || 0}}px) '
|
644 |
+
. 'rotateX({{ha_transform_fx_rotate_x_tablet.SIZE || 0}}deg) rotateY({{ha_transform_fx_rotate_y_tablet.SIZE || 0}}deg) rotateZ({{ha_transform_fx_rotate_z_tablet.SIZE || 0}}deg) '
|
645 |
+
. 'scaleX({{ha_transform_fx_scale_x_tablet.SIZE || 1}}) scaleY({{ha_transform_fx_scale_y_tablet.SIZE || 1}});'
|
646 |
+
. '-webkit-transform:'
|
647 |
+
. 'translate({{ha_transform_fx_translate_x_tablet.SIZE || 0}}px, {{ha_transform_fx_translate_y_tablet.SIZE || 0}}px) '
|
648 |
+
. 'rotateX({{ha_transform_fx_rotate_x_tablet.SIZE || 0}}deg) rotateY({{ha_transform_fx_rotate_y_tablet.SIZE || 0}}deg) rotateZ({{ha_transform_fx_rotate_z_tablet.SIZE || 0}}deg) '
|
649 |
+
. 'scaleX({{ha_transform_fx_scale_x_tablet.SIZE || 1}}) scaleY({{ha_transform_fx_scale_y_tablet.SIZE || 1}});'
|
650 |
+
. 'transform:'
|
651 |
+
. 'translate({{ha_transform_fx_translate_x_tablet.SIZE || 0}}px, {{ha_transform_fx_translate_y_tablet.SIZE || 0}}px) '
|
652 |
+
. 'rotateX({{ha_transform_fx_rotate_x_tablet.SIZE || 0}}deg) rotateY({{ha_transform_fx_rotate_y_tablet.SIZE || 0}}deg) rotateZ({{ha_transform_fx_rotate_z_tablet.SIZE || 0}}deg) '
|
653 |
+
. 'scaleX({{ha_transform_fx_scale_x_tablet.SIZE || 1}}) scaleY({{ha_transform_fx_scale_y_tablet.SIZE || 1}});',
|
654 |
+
'(mobile){{WRAPPER}}' =>
|
655 |
+
'-ms-transform:'
|
656 |
+
. 'translate({{ha_transform_fx_translate_x_mobile.SIZE || 0}}px, {{ha_transform_fx_translate_y_mobile.SIZE || 0}}px) '
|
657 |
+
. 'rotateX({{ha_transform_fx_rotate_x_mobile.SIZE || 0}}deg) rotateY({{ha_transform_fx_rotate_y_mobile.SIZE || 0}}deg) rotateZ({{ha_transform_fx_rotate_z_mobile.SIZE || 0}}deg) '
|
658 |
+
. 'scaleX({{ha_transform_fx_scale_x_mobile.SIZE || 1}}) scaleY({{ha_transform_fx_scale_y_mobile.SIZE || 1}});'
|
659 |
+
. '-webkit-transform:'
|
660 |
+
. 'translate({{ha_transform_fx_translate_x_mobile.SIZE || 0}}px, {{ha_transform_fx_translate_y_mobile.SIZE || 0}}px) '
|
661 |
+
. 'rotateX({{ha_transform_fx_rotate_x_mobile.SIZE || 0}}deg) rotateY({{ha_transform_fx_rotate_y_mobile.SIZE || 0}}deg) rotateZ({{ha_transform_fx_rotate_z_mobile.SIZE || 0}}deg) '
|
662 |
+
. 'scaleX({{ha_transform_fx_scale_x_mobile.SIZE || 1}}) scaleY({{ha_transform_fx_scale_y_mobile.SIZE || 1}});'
|
663 |
+
. 'transform:'
|
664 |
+
. 'translate({{ha_transform_fx_translate_x_mobile.SIZE || 0}}px, {{ha_transform_fx_translate_y_mobile.SIZE || 0}}px) '
|
665 |
+
. 'rotateX({{ha_transform_fx_rotate_x_mobile.SIZE || 0}}deg) rotateY({{ha_transform_fx_rotate_y_mobile.SIZE || 0}}deg) rotateZ({{ha_transform_fx_rotate_z_mobile.SIZE || 0}}deg) '
|
666 |
+
. 'scaleX({{ha_transform_fx_scale_x_mobile.SIZE || 1}}) scaleY({{ha_transform_fx_scale_y_mobile.SIZE || 1}});'
|
667 |
+
]
|
668 |
+
]
|
669 |
+
);
|
670 |
+
|
671 |
+
$element->end_popover();
|
672 |
+
|
673 |
+
$element->add_control(
|
674 |
+
'ha_transform_fx_skew_toggle',
|
675 |
+
[
|
676 |
+
'label' => __( 'Skew', 'happy-elementor-addons' ),
|
677 |
+
'type' => Controls_Manager::POPOVER_TOGGLE,
|
678 |
+
'return_value' => 'yes',
|
679 |
+
'condition' => [
|
680 |
+
'ha_transform_fx' => 'yes',
|
681 |
+
],
|
682 |
+
]
|
683 |
+
);
|
684 |
+
|
685 |
+
$element->start_popover();
|
686 |
+
|
687 |
+
$element->add_responsive_control(
|
688 |
+
'ha_transform_fx_skew_x',
|
689 |
+
[
|
690 |
+
'label' => __( 'Skew X', 'happy-elementor-addons' ),
|
691 |
+
'type' => Controls_Manager::SLIDER,
|
692 |
+
'size_units' => ['deg'],
|
693 |
+
'range' => [
|
694 |
+
'px' => [
|
695 |
+
'min' => -180,
|
696 |
+
'max' => 180,
|
697 |
+
]
|
698 |
+
],
|
699 |
+
'condition' => [
|
700 |
+
'ha_transform_fx_skew_toggle' => 'yes',
|
701 |
+
'ha_transform_fx' => 'yes',
|
702 |
+
],
|
703 |
+
]
|
704 |
+
);
|
705 |
+
|
706 |
+
$element->add_responsive_control(
|
707 |
+
'ha_transform_fx_skew_y',
|
708 |
+
[
|
709 |
+
'label' => __( 'Skew Y', 'happy-elementor-addons' ),
|
710 |
+
'type' => Controls_Manager::SLIDER,
|
711 |
+
'size_units' => ['deg'],
|
712 |
+
'range' => [
|
713 |
+
'px' => [
|
714 |
+
'min' => -180,
|
715 |
+
'max' => 180,
|
716 |
+
]
|
717 |
+
],
|
718 |
+
'condition' => [
|
719 |
+
'ha_transform_fx_skew_toggle' => 'yes',
|
720 |
+
'ha_transform_fx' => 'yes',
|
721 |
+
],
|
722 |
+
'selectors' => [
|
723 |
+
'(desktop){{WRAPPER}}' =>
|
724 |
+
'-ms-transform:'
|
725 |
+
. 'translate({{ha_transform_fx_translate_x.SIZE || 0}}px, {{ha_transform_fx_translate_y.SIZE || 0}}px) '
|
726 |
+
. 'rotateX({{ha_transform_fx_rotate_x.SIZE || 0}}deg) rotateY({{ha_transform_fx_rotate_y.SIZE || 0}}deg) rotateZ({{ha_transform_fx_rotate_z.SIZE || 0}}deg) '
|
727 |
+
. 'scaleX({{ha_transform_fx_scale_x.SIZE || 1}}) scaleY({{ha_transform_fx_scale_y.SIZE || 1}}) '
|
728 |
+
. 'skew({{ha_transform_fx_skew_x.SIZE || 0}}deg, {{ha_transform_fx_skew_y.SIZE || 0}}deg);'
|
729 |
+
. '-webkit-transform:'
|
730 |
+
. 'translate({{ha_transform_fx_translate_x.SIZE || 0}}px, {{ha_transform_fx_translate_y.SIZE || 0}}px) '
|
731 |
+
. 'rotateX({{ha_transform_fx_rotate_x.SIZE || 0}}deg) rotateY({{ha_transform_fx_rotate_y.SIZE || 0}}deg) rotateZ({{ha_transform_fx_rotate_z.SIZE || 0}}deg) '
|
732 |
+
. 'scaleX({{ha_transform_fx_scale_x.SIZE || 1}}) scaleY({{ha_transform_fx_scale_y.SIZE || 1}}) '
|
733 |
+
. 'skew({{ha_transform_fx_skew_x.SIZE || 0}}deg, {{ha_transform_fx_skew_y.SIZE || 0}}deg);'
|
734 |
+
. 'transform:'
|
735 |
+
. 'translate({{ha_transform_fx_translate_x.SIZE || 0}}px, {{ha_transform_fx_translate_y.SIZE || 0}}px) '
|
736 |
+
. 'rotateX({{ha_transform_fx_rotate_x.SIZE || 0}}deg) rotateY({{ha_transform_fx_rotate_y.SIZE || 0}}deg) rotateZ({{ha_transform_fx_rotate_z.SIZE || 0}}deg) '
|
737 |
+
. 'scaleX({{ha_transform_fx_scale_x.SIZE || 1}}) scaleY({{ha_transform_fx_scale_y.SIZE || 1}}) '
|
738 |
+
. 'skew({{ha_transform_fx_skew_x.SIZE || 0}}deg, {{ha_transform_fx_skew_y.SIZE || 0}}deg);',
|
739 |
+
'(tablet){{WRAPPER}}' =>
|
740 |
+
'-ms-transform:'
|
741 |
+
. 'translate({{ha_transform_fx_translate_x_tablet.SIZE || 0}}px, {{ha_transform_fx_translate_y_tablet.SIZE || 0}}px) '
|
742 |
+
. 'rotateX({{ha_transform_fx_rotate_x_tablet.SIZE || 0}}deg) rotateY({{ha_transform_fx_rotate_y_tablet.SIZE || 0}}deg) rotateZ({{ha_transform_fx_rotate_z_tablet.SIZE || 0}}deg) '
|
743 |
+
. 'scaleX({{ha_transform_fx_scale_x_tablet.SIZE || 1}}) scaleY({{ha_transform_fx_scale_y_tablet.SIZE || 1}}) '
|
744 |
+
. 'skew({{ha_transform_fx_skew_x_tablet.SIZE || 0}}deg, {{ha_transform_fx_skew_y_tablet.SIZE || 0}}deg);'
|
745 |
+
. '-webkit-transform:'
|
746 |
+
. 'translate({{ha_transform_fx_translate_x_tablet.SIZE || 0}}px, {{ha_transform_fx_translate_y_tablet.SIZE || 0}}px) '
|
747 |
+
. 'rotateX({{ha_transform_fx_rotate_x_tablet.SIZE || 0}}deg) rotateY({{ha_transform_fx_rotate_y_tablet.SIZE || 0}}deg) rotateZ({{ha_transform_fx_rotate_z_tablet.SIZE || 0}}deg) '
|
748 |
+
. 'scaleX({{ha_transform_fx_scale_x_tablet.SIZE || 1}}) scaleY({{ha_transform_fx_scale_y_tablet.SIZE || 1}}) '
|
749 |
+
. 'skew({{ha_transform_fx_skew_x_tablet.SIZE || 0}}deg, {{ha_transform_fx_skew_y_tablet.SIZE || 0}}deg);'
|
750 |
+
. 'transform:'
|
751 |
+
. 'translate({{ha_transform_fx_translate_x_tablet.SIZE || 0}}px, {{ha_transform_fx_translate_y_tablet.SIZE || 0}}px) '
|
752 |
+
. 'rotateX({{ha_transform_fx_rotate_x_tablet.SIZE || 0}}deg) rotateY({{ha_transform_fx_rotate_y_tablet.SIZE || 0}}deg) rotateZ({{ha_transform_fx_rotate_z_tablet.SIZE || 0}}deg) '
|
753 |
+
. 'scaleX({{ha_transform_fx_scale_x_tablet.SIZE || 1}}) scaleY({{ha_transform_fx_scale_y_tablet.SIZE || 1}}) '
|
754 |
+
. 'skew({{ha_transform_fx_skew_x_tablet.SIZE || 0}}deg, {{ha_transform_fx_skew_y_tablet.SIZE || 0}}deg);',
|
755 |
+
'(mobile){{WRAPPER}}' =>
|
756 |
+
'-ms-transform:'
|
757 |
+
. 'translate({{ha_transform_fx_translate_x_mobile.SIZE || 0}}px, {{ha_transform_fx_translate_y_mobile.SIZE || 0}}px) '
|
758 |
+
. 'rotateX({{ha_transform_fx_rotate_x_mobile.SIZE || 0}}deg) rotateY({{ha_transform_fx_rotate_y_mobile.SIZE || 0}}deg) rotateZ({{ha_transform_fx_rotate_z_mobile.SIZE || 0}}deg) '
|
759 |
+
. 'scaleX({{ha_transform_fx_scale_x_mobile.SIZE || 1}}) scaleY({{ha_transform_fx_scale_y_mobile.SIZE || 1}}) '
|
760 |
+
. 'skew({{ha_transform_fx_skew_x_mobile.SIZE || 0}}deg, {{ha_transform_fx_skew_y_mobile.SIZE || 0}}deg);'
|
761 |
+
. '-webkit-transform:'
|
762 |
+
. 'translate({{ha_transform_fx_translate_x_mobile.SIZE || 0}}px, {{ha_transform_fx_translate_y_mobile.SIZE || 0}}px) '
|
763 |
+
. 'rotateX({{ha_transform_fx_rotate_x_mobile.SIZE || 0}}deg) rotateY({{ha_transform_fx_rotate_y_mobile.SIZE || 0}}deg) rotateZ({{ha_transform_fx_rotate_z_mobile.SIZE || 0}}deg) '
|
764 |
+
. 'scaleX({{ha_transform_fx_scale_x_mobile.SIZE || 1}}) scaleY({{ha_transform_fx_scale_y_mobile.SIZE || 1}}) '
|
765 |
+
. 'skew({{ha_transform_fx_skew_x_mobile.SIZE || 0}}deg, {{ha_transform_fx_skew_y_mobile.SIZE || 0}}deg);'
|
766 |
+
. 'transform:'
|
767 |
+
. 'translate({{ha_transform_fx_translate_x_mobile.SIZE || 0}}px, {{ha_transform_fx_translate_y_mobile.SIZE || 0}}px) '
|
768 |
+
. 'rotateX({{ha_transform_fx_rotate_x_mobile.SIZE || 0}}deg) rotateY({{ha_transform_fx_rotate_y_mobile.SIZE || 0}}deg) rotateZ({{ha_transform_fx_rotate_z_mobile.SIZE || 0}}deg) '
|
769 |
+
. 'scaleX({{ha_transform_fx_scale_x_mobile.SIZE || 1}}) scaleY({{ha_transform_fx_scale_y_mobile.SIZE || 1}}) '
|
770 |
+
. 'skew({{ha_transform_fx_skew_x_mobile.SIZE || 0}}deg, {{ha_transform_fx_skew_y_mobile.SIZE || 0}}deg);'
|
771 |
+
]
|
772 |
+
]
|
773 |
+
);
|
774 |
+
|
775 |
+
$element->end_popover();
|
776 |
+
}
|
777 |
+
}
|
classes/widget-manager.php
CHANGED
@@ -1,376 +1,13 @@
|
|
1 |
<?php
|
2 |
-
namespace Happy_Addons\Elementor;
|
3 |
|
4 |
-
use Elementor\Controls_Manager;
|
5 |
-
use Elementor\Element_Base;
|
6 |
use Elementor\Plugin as Elementor;
|
7 |
-
use Happy_Addons\Elementor\Widget\Base as Happy_Addon_Base;
|
8 |
|
9 |
defined( 'ABSPATH' ) || die();
|
10 |
|
11 |
-
class
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
public static function instance() {
|
16 |
-
if ( is_null( self::$instance ) ) {
|
17 |
-
self::$instance = new self();
|
18 |
-
}
|
19 |
-
return self::$instance;
|
20 |
-
}
|
21 |
-
|
22 |
-
public function init() {
|
23 |
-
// Add Plugin actions
|
24 |
-
add_action( 'elementor/widgets/widgets_registered', [ $this, 'register_widgets' ] );
|
25 |
-
add_action( 'elementor/element/common/section_effects/after_section_start', [ $this, 'add_floating_effect_controls' ] );
|
26 |
-
}
|
27 |
-
|
28 |
-
public function add_floating_effect_controls( Element_Base $element ) {
|
29 |
-
$element->add_control(
|
30 |
-
'ha_floating_fx',
|
31 |
-
[
|
32 |
-
'label' => __( 'Floating Effects', 'happy_addons' ),
|
33 |
-
'type' => Controls_Manager::SWITCHER,
|
34 |
-
'return_value' => 'yes',
|
35 |
-
'frontend_available' => true,
|
36 |
-
]
|
37 |
-
);
|
38 |
-
|
39 |
-
$element->add_control(
|
40 |
-
'ha_floating_fx_translate_toggle',
|
41 |
-
[
|
42 |
-
'label' => __( 'Translate', 'happy_addons' ),
|
43 |
-
'type' => Controls_Manager::POPOVER_TOGGLE,
|
44 |
-
'return_value' => 'yes',
|
45 |
-
'frontend_available' => true,
|
46 |
-
'condition' => [
|
47 |
-
'ha_floating_fx' => 'yes',
|
48 |
-
]
|
49 |
-
]
|
50 |
-
);
|
51 |
-
|
52 |
-
$element->start_popover();
|
53 |
-
|
54 |
-
$element->add_control(
|
55 |
-
'ha_floating_fx_translate_x',
|
56 |
-
[
|
57 |
-
'label' => __( 'Translate X', 'happy_addons' ),
|
58 |
-
'type' => Controls_Manager::SLIDER,
|
59 |
-
'size_units' => ['px'],
|
60 |
-
'condition' => [
|
61 |
-
'ha_floating_fx_translate_toggle' => 'yes',
|
62 |
-
'ha_floating_fx' => 'yes',
|
63 |
-
],
|
64 |
-
'render_type' => 'none',
|
65 |
-
'frontend_available' => true,
|
66 |
-
]
|
67 |
-
);
|
68 |
-
|
69 |
-
$element->add_control(
|
70 |
-
'ha_floating_fx_translate_y',
|
71 |
-
[
|
72 |
-
'label' => __( 'Translate Y', 'happy_addons' ),
|
73 |
-
'type' => Controls_Manager::SLIDER,
|
74 |
-
'size_units' => ['px'],
|
75 |
-
'condition' => [
|
76 |
-
'ha_floating_fx_translate_toggle' => 'yes',
|
77 |
-
'ha_floating_fx' => 'yes',
|
78 |
-
],
|
79 |
-
'render_type' => 'none',
|
80 |
-
'frontend_available' => true,
|
81 |
-
]
|
82 |
-
);
|
83 |
-
|
84 |
-
$element->add_control(
|
85 |
-
'ha_floating_fx_translate_duration',
|
86 |
-
[
|
87 |
-
'label' => __( 'Duration', 'happy_addons' ),
|
88 |
-
'type' => Controls_Manager::SLIDER,
|
89 |
-
'size_units' => ['px'],
|
90 |
-
'range' => [
|
91 |
-
'px' => [
|
92 |
-
'min' => 0,
|
93 |
-
'max' => 10000,
|
94 |
-
'step' => 100
|
95 |
-
]
|
96 |
-
],
|
97 |
-
'default' => [
|
98 |
-
'size' => 1000,
|
99 |
-
],
|
100 |
-
'condition' => [
|
101 |
-
'ha_floating_fx_translate_toggle' => 'yes',
|
102 |
-
'ha_floating_fx' => 'yes',
|
103 |
-
],
|
104 |
-
'render_type' => 'none',
|
105 |
-
'frontend_available' => true,
|
106 |
-
]
|
107 |
-
);
|
108 |
-
|
109 |
-
$element->add_control(
|
110 |
-
'ha_floating_fx_translate_delay',
|
111 |
-
[
|
112 |
-
'label' => __( 'Delay', 'happy_addons' ),
|
113 |
-
'type' => Controls_Manager::SLIDER,
|
114 |
-
'size_units' => ['px'],
|
115 |
-
'range' => [
|
116 |
-
'px' => [
|
117 |
-
'min' => 0,
|
118 |
-
'max' => 5000,
|
119 |
-
'step' => 100
|
120 |
-
]
|
121 |
-
],
|
122 |
-
'condition' => [
|
123 |
-
'ha_floating_fx_translate_toggle' => 'yes',
|
124 |
-
'ha_floating_fx' => 'yes',
|
125 |
-
],
|
126 |
-
'render_type' => 'none',
|
127 |
-
'frontend_available' => true,
|
128 |
-
]
|
129 |
-
);
|
130 |
-
|
131 |
-
$element->end_popover();
|
132 |
-
|
133 |
-
$element->add_control(
|
134 |
-
'ha_floating_fx_rotate_toggle',
|
135 |
-
[
|
136 |
-
'label' => __( 'Rotate', 'happy_addons' ),
|
137 |
-
'type' => Controls_Manager::POPOVER_TOGGLE,
|
138 |
-
'return_value' => 'yes',
|
139 |
-
'frontend_available' => true,
|
140 |
-
'condition' => [
|
141 |
-
'ha_floating_fx' => 'yes',
|
142 |
-
]
|
143 |
-
]
|
144 |
-
);
|
145 |
-
|
146 |
-
$element->start_popover();
|
147 |
-
|
148 |
-
$element->add_control(
|
149 |
-
'ha_floating_fx_rotate_x',
|
150 |
-
[
|
151 |
-
'label' => __( 'Rotate X', 'happy_addons' ),
|
152 |
-
'type' => Controls_Manager::SLIDER,
|
153 |
-
'size_units' => ['px'],
|
154 |
-
'range' => [
|
155 |
-
'px' => [
|
156 |
-
'min' => 0,
|
157 |
-
'max' => 360,
|
158 |
-
]
|
159 |
-
],
|
160 |
-
'condition' => [
|
161 |
-
'ha_floating_fx_rotate_toggle' => 'yes',
|
162 |
-
'ha_floating_fx' => 'yes',
|
163 |
-
],
|
164 |
-
'render_type' => 'none',
|
165 |
-
'frontend_available' => true,
|
166 |
-
]
|
167 |
-
);
|
168 |
-
|
169 |
-
$element->add_control(
|
170 |
-
'ha_floating_fx_rotate_y',
|
171 |
-
[
|
172 |
-
'label' => __( 'Rotate Y', 'happy_addons' ),
|
173 |
-
'type' => Controls_Manager::SLIDER,
|
174 |
-
'size_units' => ['px'],
|
175 |
-
'range' => [
|
176 |
-
'px' => [
|
177 |
-
'min' => 0,
|
178 |
-
'max' => 360,
|
179 |
-
]
|
180 |
-
],
|
181 |
-
'condition' => [
|
182 |
-
'ha_floating_fx_rotate_toggle' => 'yes',
|
183 |
-
'ha_floating_fx' => 'yes',
|
184 |
-
],
|
185 |
-
'render_type' => 'none',
|
186 |
-
'frontend_available' => true,
|
187 |
-
]
|
188 |
-
);
|
189 |
-
|
190 |
-
$element->add_control(
|
191 |
-
'ha_floating_fx_rotate_z',
|
192 |
-
[
|
193 |
-
'label' => __( 'Rotate Z', 'happy_addons' ),
|
194 |
-
'type' => Controls_Manager::SLIDER,
|
195 |
-
'size_units' => ['px'],
|
196 |
-
'range' => [
|
197 |
-
'px' => [
|
198 |
-
'min' => 0,
|
199 |
-
'max' => 360,
|
200 |
-
]
|
201 |
-
],
|
202 |
-
'condition' => [
|
203 |
-
'ha_floating_fx_rotate_toggle' => 'yes',
|
204 |
-
'ha_floating_fx' => 'yes',
|
205 |
-
],
|
206 |
-
'render_type' => 'none',
|
207 |
-
'frontend_available' => true,
|
208 |
-
]
|
209 |
-
);
|
210 |
-
|
211 |
-
$element->add_control(
|
212 |
-
'ha_floating_fx_rotate_duration',
|
213 |
-
[
|
214 |
-
'label' => __( 'Duration', 'happy_addons' ),
|
215 |
-
'type' => Controls_Manager::SLIDER,
|
216 |
-
'size_units' => ['px'],
|
217 |
-
'range' => [
|
218 |
-
'px' => [
|
219 |
-
'min' => 0,
|
220 |
-
'max' => 10000,
|
221 |
-
'step' => 100
|
222 |
-
]
|
223 |
-
],
|
224 |
-
'default' => [
|
225 |
-
'size' => 1000,
|
226 |
-
],
|
227 |
-
'condition' => [
|
228 |
-
'ha_floating_fx_rotate_toggle' => 'yes',
|
229 |
-
'ha_floating_fx' => 'yes',
|
230 |
-
],
|
231 |
-
'render_type' => 'none',
|
232 |
-
'frontend_available' => true,
|
233 |
-
]
|
234 |
-
);
|
235 |
-
|
236 |
-
$element->add_control(
|
237 |
-
'ha_floating_fx_rotate_delay',
|
238 |
-
[
|
239 |
-
'label' => __( 'Delay', 'happy_addons' ),
|
240 |
-
'type' => Controls_Manager::SLIDER,
|
241 |
-
'size_units' => ['px'],
|
242 |
-
'range' => [
|
243 |
-
'px' => [
|
244 |
-
'min' => 0,
|
245 |
-
'max' => 5000,
|
246 |
-
'step' => 100
|
247 |
-
]
|
248 |
-
],
|
249 |
-
'condition' => [
|
250 |
-
'ha_floating_fx_rotate_toggle' => 'yes',
|
251 |
-
'ha_floating_fx' => 'yes',
|
252 |
-
],
|
253 |
-
'render_type' => 'none',
|
254 |
-
'frontend_available' => true,
|
255 |
-
]
|
256 |
-
);
|
257 |
-
|
258 |
-
$element->end_popover();
|
259 |
-
|
260 |
-
$element->add_control(
|
261 |
-
'ha_floating_fx_scale_toggle',
|
262 |
-
[
|
263 |
-
'label' => __( 'Scale', 'happy_addons' ),
|
264 |
-
'type' => Controls_Manager::POPOVER_TOGGLE,
|
265 |
-
'return_value' => 'yes',
|
266 |
-
'frontend_available' => true,
|
267 |
-
'condition' => [
|
268 |
-
'ha_floating_fx' => 'yes',
|
269 |
-
]
|
270 |
-
]
|
271 |
-
);
|
272 |
-
|
273 |
-
$element->start_popover();
|
274 |
-
|
275 |
-
$element->add_control(
|
276 |
-
'ha_floating_fx_scale_x',
|
277 |
-
[
|
278 |
-
'label' => __( 'Scale X', 'happy_addons' ),
|
279 |
-
'type' => Controls_Manager::SLIDER,
|
280 |
-
'size_units' => ['px'],
|
281 |
-
'range' => [
|
282 |
-
'px' => [
|
283 |
-
'min' => 0,
|
284 |
-
'max' => 10,
|
285 |
-
'step' => .1
|
286 |
-
]
|
287 |
-
],
|
288 |
-
'condition' => [
|
289 |
-
'ha_floating_fx_scale_toggle' => 'yes',
|
290 |
-
'ha_floating_fx' => 'yes',
|
291 |
-
],
|
292 |
-
'render_type' => 'none',
|
293 |
-
'frontend_available' => true,
|
294 |
-
]
|
295 |
-
);
|
296 |
-
|
297 |
-
$element->add_control(
|
298 |
-
'ha_floating_fx_scale_y',
|
299 |
-
[
|
300 |
-
'label' => __( 'Scale Y', 'happy_addons' ),
|
301 |
-
'type' => Controls_Manager::SLIDER,
|
302 |
-
'size_units' => ['px'],
|
303 |
-
'range' => [
|
304 |
-
'px' => [
|
305 |
-
'min' => 0,
|
306 |
-
'max' => 10,
|
307 |
-
'step' => .1
|
308 |
-
]
|
309 |
-
],
|
310 |
-
'condition' => [
|
311 |
-
'ha_floating_fx_scale_toggle' => 'yes',
|
312 |
-
'ha_floating_fx' => 'yes',
|
313 |
-
],
|
314 |
-
'render_type' => 'none',
|
315 |
-
'frontend_available' => true,
|
316 |
-
]
|
317 |
-
);
|
318 |
-
|
319 |
-
$element->add_control(
|
320 |
-
'ha_floating_fx_scale_duration',
|
321 |
-
[
|
322 |
-
'label' => __( 'Duration', 'happy_addons' ),
|
323 |
-
'type' => Controls_Manager::SLIDER,
|
324 |
-
'size_units' => ['px'],
|
325 |
-
'range' => [
|
326 |
-
'px' => [
|
327 |
-
'min' => 0,
|
328 |
-
'max' => 10000,
|
329 |
-
'step' => 100
|
330 |
-
]
|
331 |
-
],
|
332 |
-
'default' => [
|
333 |
-
'size' => 1000,
|
334 |
-
],
|
335 |
-
'condition' => [
|
336 |
-
'ha_floating_fx_scale_toggle' => 'yes',
|
337 |
-
'ha_floating_fx' => 'yes',
|
338 |
-
],
|
339 |
-
'render_type' => 'none',
|
340 |
-
'frontend_available' => true,
|
341 |
-
]
|
342 |
-
);
|
343 |
-
|
344 |
-
$element->add_control(
|
345 |
-
'ha_floating_fx_scale_delay',
|
346 |
-
[
|
347 |
-
'label' => __( 'Delay', 'happy_addons' ),
|
348 |
-
'type' => Controls_Manager::SLIDER,
|
349 |
-
'size_units' => ['px'],
|
350 |
-
'range' => [
|
351 |
-
'px' => [
|
352 |
-
'min' => 0,
|
353 |
-
'max' => 5000,
|
354 |
-
'step' => 100
|
355 |
-
]
|
356 |
-
],
|
357 |
-
'condition' => [
|
358 |
-
'ha_floating_fx_scale_toggle' => 'yes',
|
359 |
-
'ha_floating_fx' => 'yes',
|
360 |
-
],
|
361 |
-
'render_type' => 'none',
|
362 |
-
'frontend_available' => true,
|
363 |
-
]
|
364 |
-
);
|
365 |
-
|
366 |
-
$element->end_popover();
|
367 |
-
|
368 |
-
$element->add_control(
|
369 |
-
'hr',
|
370 |
-
[
|
371 |
-
'type' => Controls_Manager::DIVIDER,
|
372 |
-
]
|
373 |
-
);
|
374 |
}
|
375 |
|
376 |
/**
|
@@ -382,7 +19,7 @@ class Widget_Manager {
|
|
382 |
*
|
383 |
* @access public
|
384 |
*/
|
385 |
-
public function
|
386 |
require( HAPPY_DIR_PATH . 'base/widget-base.php' );
|
387 |
|
388 |
$widgets = [
|
@@ -399,6 +36,7 @@ class Widget_Manager {
|
|
399 |
'ninjaform',
|
400 |
'calderaform',
|
401 |
'weform',
|
|
|
402 |
];
|
403 |
|
404 |
foreach ( $widgets as $widget ) {
|
1 |
<?php
|
2 |
+
namespace Happy_Addons\Elementor\Manager;
|
3 |
|
|
|
|
|
4 |
use Elementor\Plugin as Elementor;
|
|
|
5 |
|
6 |
defined( 'ABSPATH' ) || die();
|
7 |
|
8 |
+
class Widgets {
|
9 |
+
public static function init() {
|
10 |
+
add_action( 'elementor/widgets/widgets_registered', [__CLASS__, 'register'] );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11 |
}
|
12 |
|
13 |
/**
|
19 |
*
|
20 |
* @access public
|
21 |
*/
|
22 |
+
public static function register() {
|
23 |
require( HAPPY_DIR_PATH . 'base/widget-base.php' );
|
24 |
|
25 |
$widgets = [
|
36 |
'ninjaform',
|
37 |
'calderaform',
|
38 |
'weform',
|
39 |
+
'dual-button',
|
40 |
];
|
41 |
|
42 |
foreach ( $widgets as $widget ) {
|
controls/foreground.php
CHANGED
@@ -60,11 +60,11 @@ class Group_Control_Foreground extends Group_Control_Base {
|
|
60 |
'render_type' => 'ui',
|
61 |
'options' => [
|
62 |
'classic' => [
|
63 |
-
'title' => _x( 'Classic', 'Text Color Control', '
|
64 |
'icon' => 'fa fa-paint-brush',
|
65 |
],
|
66 |
'gradient' => [
|
67 |
-
'title' => _x( 'Gradient', 'Text Color Control', '
|
68 |
'icon' => 'fa fa-barcode',
|
69 |
],
|
70 |
],
|
60 |
'render_type' => 'ui',
|
61 |
'options' => [
|
62 |
'classic' => [
|
63 |
+
'title' => _x( 'Classic', 'Text Color Control', 'happy-elementor-addons' ),
|
64 |
'icon' => 'fa fa-paint-brush',
|
65 |
],
|
66 |
'gradient' => [
|
67 |
+
'title' => _x( 'Gradient', 'Text Color Control', 'happy-elementor-addons' ),
|
68 |
'icon' => 'fa fa-barcode',
|
69 |
],
|
70 |
],
|
inc/functions.php
CHANGED
@@ -85,14 +85,14 @@ if ( ! function_exists( 'ha_get_ninjaform' ) ) {
|
|
85 |
|
86 |
if ( !empty($contact_forms) && !is_wp_error( $contact_forms ) ) {
|
87 |
|
88 |
-
$options[0] = esc_html__( 'Select Ninja Form', '
|
89 |
|
90 |
foreach ( $contact_forms as $form ) {
|
91 |
$options[$form->get_id()] = $form->get_setting('title');
|
92 |
}
|
93 |
}
|
94 |
} else {
|
95 |
-
$options[0] = esc_html__( 'Create a Form First', '
|
96 |
}
|
97 |
|
98 |
return $options;
|
@@ -112,13 +112,13 @@ if ( ! function_exists( 'ha_get_caldera_form' ) ) {
|
|
112 |
$contact_forms = \Caldera_Forms_Forms::get_forms(true, true);
|
113 |
|
114 |
if ( !empty( $contact_forms ) && !is_wp_error( $contact_forms ) ) {
|
115 |
-
$options[0] = esc_html__( 'Select a Caldera Form', '
|
116 |
foreach ( $contact_forms as $form ) {
|
117 |
$options[$form['ID']] = $form['name'];
|
118 |
}
|
119 |
}
|
120 |
} else {
|
121 |
-
$options[0] = esc_html__( 'Create a Form First', '
|
122 |
}
|
123 |
|
124 |
return $options;
|
@@ -165,7 +165,7 @@ if ( ! function_exists( 'ha_get_modula_gallery' ) ) {
|
|
165 |
if ( ! empty( $gallery ) ) {
|
166 |
return wp_list_pluck( $gallery, 'post_title', 'ID' );
|
167 |
} else {
|
168 |
-
__( 'Create a Gallery', '
|
169 |
}
|
170 |
return [];
|
171 |
}
|
85 |
|
86 |
if ( !empty($contact_forms) && !is_wp_error( $contact_forms ) ) {
|
87 |
|
88 |
+
$options[0] = esc_html__( 'Select Ninja Form', 'happy-elementor-addons' );
|
89 |
|
90 |
foreach ( $contact_forms as $form ) {
|
91 |
$options[$form->get_id()] = $form->get_setting('title');
|
92 |
}
|
93 |
}
|
94 |
} else {
|
95 |
+
$options[0] = esc_html__( 'Create a Form First', 'happy-elementor-addons' );
|
96 |
}
|
97 |
|
98 |
return $options;
|
112 |
$contact_forms = \Caldera_Forms_Forms::get_forms(true, true);
|
113 |
|
114 |
if ( !empty( $contact_forms ) && !is_wp_error( $contact_forms ) ) {
|
115 |
+
$options[0] = esc_html__( 'Select a Caldera Form', 'happy-elementor-addons' );
|
116 |
foreach ( $contact_forms as $form ) {
|
117 |
$options[$form['ID']] = $form['name'];
|
118 |
}
|
119 |
}
|
120 |
} else {
|
121 |
+
$options[0] = esc_html__( 'Create a Form First', 'happy-elementor-addons' );
|
122 |
}
|
123 |
|
124 |
return $options;
|
165 |
if ( ! empty( $gallery ) ) {
|
166 |
return wp_list_pluck( $gallery, 'post_title', 'ID' );
|
167 |
} else {
|
168 |
+
__( 'Create a Gallery', 'happy-elementor-addons' );
|
169 |
}
|
170 |
return [];
|
171 |
}
|
plugin.php
CHANGED
@@ -3,12 +3,12 @@
|
|
3 |
* Plugin Name: Happy Elementor Addons
|
4 |
* Plugin URI: https://happyaddons.com/
|
5 |
* Description: <a href="https://happyaddons.com/">HappyAddons</a> is a collection of slick, powerful widgets that works seamlessly with Elementor page builder. It’s trendy look with detail customization features allows to create extraordinary designs instantly. <a href="https://happyaddons.com/">HappyAddons</a> is free, rapidly growing and comes with great support.
|
6 |
-
* Version: 1.0.
|
7 |
* Author: HappyMonster
|
8 |
* Author URI: https://happymonster.me/
|
9 |
* License: GPLv2
|
10 |
* License URI: https://www.gnu.org/licenses/gpl-2.0.html
|
11 |
-
* Text Domain:
|
12 |
* Domain Path: /languages/
|
13 |
*
|
14 |
* @package Happy_Addons
|
3 |
* Plugin Name: Happy Elementor Addons
|
4 |
* Plugin URI: https://happyaddons.com/
|
5 |
* Description: <a href="https://happyaddons.com/">HappyAddons</a> is a collection of slick, powerful widgets that works seamlessly with Elementor page builder. It’s trendy look with detail customization features allows to create extraordinary designs instantly. <a href="https://happyaddons.com/">HappyAddons</a> is free, rapidly growing and comes with great support.
|
6 |
+
* Version: 1.0.5
|
7 |
* Author: HappyMonster
|
8 |
* Author URI: https://happymonster.me/
|
9 |
* License: GPLv2
|
10 |
* License URI: https://www.gnu.org/licenses/gpl-2.0.html
|
11 |
+
* Text Domain: happy-elementor-addons
|
12 |
* Domain Path: /languages/
|
13 |
*
|
14 |
* @package Happy_Addons
|
readme.txt
CHANGED
@@ -1,14 +1,14 @@
|
|
1 |
=== Happy Elementor Addons ===
|
2 |
Plugin Name: Happy Elementor Addons
|
3 |
-
Version: 1.0.
|
4 |
Author: HappyMonster
|
5 |
Author URI: http://happymonster.me/
|
6 |
Contributors: thehappymonster, happyaddons, hasinhayder, obiplabon, sourav926
|
7 |
Tags: elementor, form, page builder, widget, addon
|
8 |
-
Requires at least: 4.
|
9 |
Tested up to: 5.2.2
|
10 |
Requires PHP: 5.4
|
11 |
-
Stable tag: 1.0.
|
12 |
License: GPLv2
|
13 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
14 |
|
@@ -18,8 +18,6 @@ License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
|
18 |
|
19 |
[HappyAddons](https://happyaddons.com/) is a collection of slick, powerful widgets that works seamlessly with Elementor page builder. It’s trendy look with detail customization features allows to create extraordinary designs instantly. [HappyAddons](https://happyaddons.com/) is free, rapidly growing and comes with great support.
|
20 |
|
21 |
-
**[Get Support](https://happyaddons.com/happy-support/)** | **[Report an Issue](https://github.com/project-mmxix/happyaddons-issues/issues)**
|
22 |
-
|
23 |
### Included Free Widgets
|
24 |
|
25 |
1. **[Card](https://happyaddons.com/elementor-card-widget-demo/)** - Incredibly powerful widget to demonstrate your products, articles, news, creative posts using a beautiful combination of texts, links, badge and image. Using built in positioning and offset feature you can create eye-candy designs in a twist. [Check demo](https://happyaddons.com/elementor-card-widget-demo/)
|
@@ -31,9 +29,19 @@ License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
|
31 |
7. **[Review](https://happyaddons.com/elementor-review-widget-demo/)** - Showcase your user feedback, reviews and rating easily than ever using our review widget. Display user photo, texts and star ratings. Make them stand out using built in offsets and positioning features. [Check demo](https://happyaddons.com/elementor-review-widget-demo/)
|
32 |
8. **[Skill Bars](https://happyaddons.com/elementor-skill-bars-widget-demo/)** - An essential building block to showcase user skills, task percentage, required tools and other progressive information in different ways. Comes with incredible customizing options to suit your needs. [Check demo](https://happyaddons.com/elementor-skill-bars-widget-demo/)
|
33 |
9. **[Contact Form 7](https://happyaddons.com/elementor-contact-form-7-widget-demo/)** - This utility widget helps you to integrate existing forms built using CF7 plugin across your web pages without spending too much time. [Check demo](https://happyaddons.com/elementor-contact-form-7-widget-demo/)
|
34 |
-
10. **[Caldera
|
35 |
-
11. **[
|
36 |
12. **[Ninja Forms](https://happyaddons.com/elementor-ninja-form-widget-demo/)** - Use this widget to embed forms created using Ninja Forms to display seamlessly on your web pages. Various styling options will help you to look at them even better. [Check demo](https://happyaddons.com/elementor-ninja-form-widget-demo/)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
37 |
|
38 |
### Features
|
39 |
|
@@ -64,8 +72,33 @@ It's really easy and super simple to install **Happy Elementor Addons** plugin b
|
|
64 |
3. Upload the plugin files to the `/wp-content/plugins/happy-elementor-addons` directory.
|
65 |
4. Activate the plugin through the 'Plugins' screen in WordPress.
|
66 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
67 |
== Changelog ==
|
68 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
69 |
= 1.0.4 =
|
70 |
|
71 |
* Fix: Card widget responsive issue
|
1 |
=== Happy Elementor Addons ===
|
2 |
Plugin Name: Happy Elementor Addons
|
3 |
+
Version: 1.0.5
|
4 |
Author: HappyMonster
|
5 |
Author URI: http://happymonster.me/
|
6 |
Contributors: thehappymonster, happyaddons, hasinhayder, obiplabon, sourav926
|
7 |
Tags: elementor, form, page builder, widget, addon
|
8 |
+
Requires at least: 4.7
|
9 |
Tested up to: 5.2.2
|
10 |
Requires PHP: 5.4
|
11 |
+
Stable tag: 1.0.5
|
12 |
License: GPLv2
|
13 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
14 |
|
18 |
|
19 |
[HappyAddons](https://happyaddons.com/) is a collection of slick, powerful widgets that works seamlessly with Elementor page builder. It’s trendy look with detail customization features allows to create extraordinary designs instantly. [HappyAddons](https://happyaddons.com/) is free, rapidly growing and comes with great support.
|
20 |
|
|
|
|
|
21 |
### Included Free Widgets
|
22 |
|
23 |
1. **[Card](https://happyaddons.com/elementor-card-widget-demo/)** - Incredibly powerful widget to demonstrate your products, articles, news, creative posts using a beautiful combination of texts, links, badge and image. Using built in positioning and offset feature you can create eye-candy designs in a twist. [Check demo](https://happyaddons.com/elementor-card-widget-demo/)
|
29 |
7. **[Review](https://happyaddons.com/elementor-review-widget-demo/)** - Showcase your user feedback, reviews and rating easily than ever using our review widget. Display user photo, texts and star ratings. Make them stand out using built in offsets and positioning features. [Check demo](https://happyaddons.com/elementor-review-widget-demo/)
|
30 |
8. **[Skill Bars](https://happyaddons.com/elementor-skill-bars-widget-demo/)** - An essential building block to showcase user skills, task percentage, required tools and other progressive information in different ways. Comes with incredible customizing options to suit your needs. [Check demo](https://happyaddons.com/elementor-skill-bars-widget-demo/)
|
31 |
9. **[Contact Form 7](https://happyaddons.com/elementor-contact-form-7-widget-demo/)** - This utility widget helps you to integrate existing forms built using CF7 plugin across your web pages without spending too much time. [Check demo](https://happyaddons.com/elementor-contact-form-7-widget-demo/)
|
32 |
+
10. **[Caldera Forms](https://happyaddons.com/elementor-caldera-forms-widget-demo/)** - This widget can help you to display your caldera forms to display on your web pages designed with Elementor. [Check demo](https://happyaddons.com/elementor-caldera-forms-widget-demo/)
|
33 |
+
11. **[weForms](https://happyaddons.com/elementor-we-forms-widget-demo/)** - Designed forms using weForms plugin and looking for a way to display those on your Elementor powered pages? This is the answer for that. [Check demo](https://happyaddons.com/elementor-we-forms-widget-demo/)
|
34 |
12. **[Ninja Forms](https://happyaddons.com/elementor-ninja-form-widget-demo/)** - Use this widget to embed forms created using Ninja Forms to display seamlessly on your web pages. Various styling options will help you to look at them even better. [Check demo](https://happyaddons.com/elementor-ninja-form-widget-demo/)
|
35 |
+
12. **WPForms** - Use this widget to embed forms created using WPForms to display seamlessly on your web pages. Various styling options will help you to look at them even better.
|
36 |
+
13. **[Dual Button](https://happyaddons.com/elementor-dual-button-widget-demo/)** - DualButton widget allows you to add two flexible and trendy action buttons in your sections, in different styles.
|
37 |
+
|
38 |
+
### Included Free Extensions
|
39 |
+
**Happy Effects**
|
40 |
+
|
41 |
+
1. **[Floating Effects](https://happyaddons.com/elementor-floating-effect-demo/)**
|
42 |
+
2. **[CSS Transform](https://happyaddons.com/elementor-css-transform-demo/)**
|
43 |
+
|
44 |
+
https://www.youtube.com/watch?v=LmtacsLcFPU
|
45 |
|
46 |
### Features
|
47 |
|
72 |
3. Upload the plugin files to the `/wp-content/plugins/happy-elementor-addons` directory.
|
73 |
4. Activate the plugin through the 'Plugins' screen in WordPress.
|
74 |
|
75 |
+
== Screenshots ==
|
76 |
+
|
77 |
+
1. Review widget with image offset
|
78 |
+
2. Icon box widget - capsule design
|
79 |
+
3. Team member widget
|
80 |
+
4. Info box widget
|
81 |
+
5. Skill bars widget
|
82 |
+
6. Dual button widget
|
83 |
+
7. Icon box widget with label
|
84 |
+
8. Happy Effects - available in all kinds of Elementor widgets. And works smoothly with all the 3rd party Elementor addons plugin, Elementor Pro and Elementor
|
85 |
+
9. Happy Effects - CSS Transform - Rotate
|
86 |
+
10. happy Effects - CSS Transform - Rotate and Translate
|
87 |
+
11. Review widget - capsule design
|
88 |
+
12. Card widget with Happy Effects (Floating Effects)
|
89 |
+
13. Card widget - capsule design
|
90 |
+
|
91 |
+
|
92 |
== Changelog ==
|
93 |
|
94 |
+
= 1.0.5 =
|
95 |
+
|
96 |
+
* New: Happy Effects (universal widget extension)
|
97 |
+
* New: CSS Transform (Happy Effects)
|
98 |
+
* New: Dual Button Widget
|
99 |
+
* Fix: Info box icon size issue
|
100 |
+
* Fix: Icon box icon size issue
|
101 |
+
|
102 |
= 1.0.4 =
|
103 |
|
104 |
* Fix: Card widget responsive issue
|
widgets/calderaform/widget.php
CHANGED
@@ -24,7 +24,7 @@ class CalderaForm extends Base {
|
|
24 |
* @return string Widget title.
|
25 |
*/
|
26 |
public function get_title() {
|
27 |
-
return __( 'Caldera
|
28 |
}
|
29 |
|
30 |
/**
|
@@ -47,8 +47,7 @@ class CalderaForm extends Base {
|
|
47 |
$this->start_controls_section(
|
48 |
'_section_calderaf',
|
49 |
[
|
50 |
-
'label' => ha_is_calderaf_activated() ? __( 'Caldera
|
51 |
-
'tab' => Controls_Manager::TAB_CONTENT,
|
52 |
]
|
53 |
);
|
54 |
|
@@ -58,9 +57,10 @@ class CalderaForm extends Base {
|
|
58 |
[
|
59 |
'type' => Controls_Manager::RAW_HTML,
|
60 |
'raw' => sprintf(
|
61 |
-
__( 'Hi, it seems %1$s is missing in your site. Please install and activate %1$s first.', '
|
62 |
'<a href="https://wordpress.org/plugins/caldera-forms/" target="_blank" rel="noopener">Caldera Form</a>'
|
63 |
-
)
|
|
|
64 |
]
|
65 |
);
|
66 |
$this->end_controls_section();
|
@@ -70,10 +70,10 @@ class CalderaForm extends Base {
|
|
70 |
$this->add_control(
|
71 |
'form_id',
|
72 |
[
|
73 |
-
'label' => __( 'Select Your Form', '
|
74 |
'type' => Controls_Manager::SELECT,
|
75 |
'label_block' => true,
|
76 |
-
'options' => ['' => __( '', '
|
77 |
]
|
78 |
);
|
79 |
|
@@ -84,7 +84,7 @@ class CalderaForm extends Base {
|
|
84 |
$this->start_controls_section(
|
85 |
'_section_fields_style',
|
86 |
[
|
87 |
-
'label' => __( 'Form Fields', '
|
88 |
'tab' => Controls_Manager::TAB_STYLE,
|
89 |
]
|
90 |
);
|
@@ -92,7 +92,7 @@ class CalderaForm extends Base {
|
|
92 |
$this->add_responsive_control(
|
93 |
'field_margin',
|
94 |
[
|
95 |
-
'label' => __( 'Field Spacing', '
|
96 |
'type' => Controls_Manager::DIMENSIONS,
|
97 |
'size_units' => [ 'px', '%' ],
|
98 |
'selectors' => [
|
@@ -104,7 +104,7 @@ class CalderaForm extends Base {
|
|
104 |
$this->add_responsive_control(
|
105 |
'field_padding',
|
106 |
[
|
107 |
-
'label' => __( 'Padding', '
|
108 |
'type' => Controls_Manager::DIMENSIONS,
|
109 |
'size_units' => [ 'px', 'em', '%' ],
|
110 |
'selectors' => [
|
@@ -116,7 +116,7 @@ class CalderaForm extends Base {
|
|
116 |
$this->add_responsive_control(
|
117 |
'field_border_radius',
|
118 |
[
|
119 |
-
'label' => __( 'Border Radius', '
|
120 |
'type' => Controls_Manager::DIMENSIONS,
|
121 |
'size_units' => [ 'px', '%' ],
|
122 |
'selectors' => [
|
@@ -129,7 +129,7 @@ class CalderaForm extends Base {
|
|
129 |
Group_Control_Typography::get_type(),
|
130 |
[
|
131 |
'name' => 'field_typography',
|
132 |
-
'label' => __( 'Typography', '
|
133 |
'selector' => '{{WRAPPER}} .form-group input:not(.btn), {{WRAPPER}} .form-group textarea',
|
134 |
]
|
135 |
);
|
@@ -137,7 +137,7 @@ class CalderaForm extends Base {
|
|
137 |
$this->add_control(
|
138 |
'field_textcolor',
|
139 |
[
|
140 |
-
'label' => __( 'Field Text Color', '
|
141 |
'type' => Controls_Manager::COLOR,
|
142 |
'selectors' => [
|
143 |
'{{WRAPPER}} .form-group input:not(.btn), {{WRAPPER}} .form-group textarea' => 'color: {{VALUE}}',
|
@@ -148,7 +148,7 @@ class CalderaForm extends Base {
|
|
148 |
$this->add_control(
|
149 |
'field_placeholder_color',
|
150 |
[
|
151 |
-
'label' => __( 'Field Placeholder Color', '
|
152 |
'type' => Controls_Manager::COLOR,
|
153 |
'selectors' => [
|
154 |
'{{WRAPPER}} ::-webkit-input-placeholder' => 'color: {{VALUE}};',
|
@@ -163,7 +163,7 @@ class CalderaForm extends Base {
|
|
163 |
$this->start_controls_tab(
|
164 |
'tab_field_normal',
|
165 |
[
|
166 |
-
'label' => __( 'Normal', '
|
167 |
]
|
168 |
);
|
169 |
|
@@ -186,7 +186,7 @@ class CalderaForm extends Base {
|
|
186 |
$this->add_control(
|
187 |
'field_bg_color',
|
188 |
[
|
189 |
-
'label' => __( 'Background Color', '
|
190 |
'type' => Controls_Manager::COLOR,
|
191 |
'selectors' => [
|
192 |
'{{WRAPPER}} .form-group input:not(.btn), {{WRAPPER}} .form-group textarea' => 'background-color: {{VALUE}}',
|
@@ -199,7 +199,7 @@ class CalderaForm extends Base {
|
|
199 |
$this->start_controls_tab(
|
200 |
'tab_field_focus',
|
201 |
[
|
202 |
-
'label' => __( 'Focus', '
|
203 |
]
|
204 |
);
|
205 |
|
@@ -225,7 +225,7 @@ class CalderaForm extends Base {
|
|
225 |
$this->add_control(
|
226 |
'field_focus_bg_color',
|
227 |
[
|
228 |
-
'label' => __( 'Background Color', '
|
229 |
'type' => Controls_Manager::COLOR,
|
230 |
'selectors' => [
|
231 |
'{{WRAPPER}} .form-group input:focus:not(.btn), {{WRAPPER}} .form-group textarea:focus' => 'background-color: {{VALUE}}',
|
@@ -242,7 +242,7 @@ class CalderaForm extends Base {
|
|
242 |
$this->start_controls_section(
|
243 |
'caldera-form-label',
|
244 |
[
|
245 |
-
'label' => __( 'Form Fields Label', '
|
246 |
'tab' => Controls_Manager::TAB_STYLE,
|
247 |
]
|
248 |
);
|
@@ -250,7 +250,7 @@ class CalderaForm extends Base {
|
|
250 |
$this->add_responsive_control(
|
251 |
'label_margin',
|
252 |
[
|
253 |
-
'label' => __( 'Margin', '
|
254 |
'type' => Controls_Manager::DIMENSIONS,
|
255 |
'size_units' => [ 'px', '%' ],
|
256 |
'selectors' => [
|
@@ -262,7 +262,7 @@ class CalderaForm extends Base {
|
|
262 |
$this->add_responsive_control(
|
263 |
'label_padding',
|
264 |
[
|
265 |
-
'label' => __( 'Padding', '
|
266 |
'type' => Controls_Manager::DIMENSIONS,
|
267 |
'size_units' => [ 'px', 'em', '%' ],
|
268 |
'selectors' => [
|
@@ -283,7 +283,7 @@ class CalderaForm extends Base {
|
|
283 |
Group_Control_Typography::get_type(),
|
284 |
[
|
285 |
'name' => 'label_typography',
|
286 |
-
'label' => __( 'Label Typography', '
|
287 |
'selector' => '{{WRAPPER}} .caldera-grid label',
|
288 |
]
|
289 |
);
|
@@ -292,7 +292,7 @@ class CalderaForm extends Base {
|
|
292 |
Group_Control_Typography::get_type(),
|
293 |
[
|
294 |
'name' => 'desc_typography',
|
295 |
-
'label' => __( 'Description Typography', '
|
296 |
'selector' => '{{WRAPPER}} .caldera-grid .help-block',
|
297 |
]
|
298 |
);
|
@@ -300,7 +300,7 @@ class CalderaForm extends Base {
|
|
300 |
$this->add_control(
|
301 |
'label_color',
|
302 |
[
|
303 |
-
'label' => __( 'Label Text Color', '
|
304 |
'type' => Controls_Manager::COLOR,
|
305 |
'selectors' => [
|
306 |
'{{WRAPPER}} .caldera-grid label' => 'color: {{VALUE}}',
|
@@ -311,7 +311,7 @@ class CalderaForm extends Base {
|
|
311 |
$this->add_control(
|
312 |
'requered_label',
|
313 |
[
|
314 |
-
'label' => __( 'Required Label Color', '
|
315 |
'type' => Controls_Manager::COLOR,
|
316 |
'selectors' => [
|
317 |
'{{WRAPPER}} .field_required' => 'color: {{VALUE}} !important',
|
@@ -322,7 +322,7 @@ class CalderaForm extends Base {
|
|
322 |
$this->add_control(
|
323 |
'desc_color',
|
324 |
[
|
325 |
-
'label' => __( 'Description Text Color', '
|
326 |
'type' => Controls_Manager::COLOR,
|
327 |
'selectors' => [
|
328 |
'{{WRAPPER}} .caldera-grid .help-block' => 'color: {{VALUE}}',
|
@@ -335,7 +335,7 @@ class CalderaForm extends Base {
|
|
335 |
$this->start_controls_section(
|
336 |
'submit',
|
337 |
[
|
338 |
-
'label' => __( 'Submit Button', '
|
339 |
'tab' => Controls_Manager::TAB_STYLE,
|
340 |
]
|
341 |
);
|
@@ -343,10 +343,10 @@ class CalderaForm extends Base {
|
|
343 |
$this->add_control(
|
344 |
'submit_btn_width',
|
345 |
[
|
346 |
-
'label' => __( 'Button Full Width?', '
|
347 |
'type' => Controls_Manager::SWITCHER,
|
348 |
-
'label_on' => __( 'Yes', '
|
349 |
-
'label_off' => __( 'No', '
|
350 |
'return_value' => 'yes',
|
351 |
'default' => 'yes',
|
352 |
]
|
@@ -355,7 +355,7 @@ class CalderaForm extends Base {
|
|
355 |
$this->add_responsive_control(
|
356 |
'button_width',
|
357 |
[
|
358 |
-
'label' => __( 'Button Width', '
|
359 |
'type' => Controls_Manager::SLIDER,
|
360 |
'size_units' => [ 'px', '%' ],
|
361 |
'condition' => [
|
@@ -384,7 +384,7 @@ class CalderaForm extends Base {
|
|
384 |
$this->add_responsive_control(
|
385 |
'submit_margin',
|
386 |
[
|
387 |
-
'label' => __( 'Margin', '
|
388 |
'type' => Controls_Manager::DIMENSIONS,
|
389 |
'size_units' => [ 'px', '%' ],
|
390 |
'selectors' => [
|
@@ -396,7 +396,7 @@ class CalderaForm extends Base {
|
|
396 |
$this->add_responsive_control(
|
397 |
'submit_padding',
|
398 |
[
|
399 |
-
'label' => __( 'Padding', '
|
400 |
'type' => Controls_Manager::DIMENSIONS,
|
401 |
'size_units' => [ 'px', 'em', '%' ],
|
402 |
'selectors' => [
|
@@ -424,7 +424,7 @@ class CalderaForm extends Base {
|
|
424 |
$this->add_control(
|
425 |
'submit_border_radius',
|
426 |
[
|
427 |
-
'label' => __( 'Border Radius', '
|
428 |
'type' => Controls_Manager::DIMENSIONS,
|
429 |
'size_units' => [ 'px', '%' ],
|
430 |
'selectors' => [
|
@@ -454,14 +454,14 @@ class CalderaForm extends Base {
|
|
454 |
$this->start_controls_tab(
|
455 |
'tab_button_normal',
|
456 |
[
|
457 |
-
'label' => __( 'Normal', '
|
458 |
]
|
459 |
);
|
460 |
|
461 |
$this->add_control(
|
462 |
'submit_color',
|
463 |
[
|
464 |
-
'label' => __( 'Text Color', '
|
465 |
'type' => Controls_Manager::COLOR,
|
466 |
'default' => '',
|
467 |
'selectors' => [
|
@@ -473,7 +473,7 @@ class CalderaForm extends Base {
|
|
473 |
$this->add_control(
|
474 |
'submit_bg_color',
|
475 |
[
|
476 |
-
'label' => __( 'Background Color', '
|
477 |
'type' => Controls_Manager::COLOR,
|
478 |
'selectors' => [
|
479 |
'{{WRAPPER}} .form-group .btn' => 'background-color: {{VALUE}};',
|
@@ -486,14 +486,14 @@ class CalderaForm extends Base {
|
|
486 |
$this->start_controls_tab(
|
487 |
'tab_button_hover',
|
488 |
[
|
489 |
-
'label' => __( 'Hover', '
|
490 |
]
|
491 |
);
|
492 |
|
493 |
$this->add_control(
|
494 |
'submit_hover_color',
|
495 |
[
|
496 |
-
'label' => __( 'Text Color', '
|
497 |
'type' => Controls_Manager::COLOR,
|
498 |
'selectors' => [
|
499 |
'{{WRAPPER}} .form-group .btn:hover, {{WRAPPER}} .form-group .btn:focus' => 'color: {{VALUE}};',
|
@@ -504,7 +504,7 @@ class CalderaForm extends Base {
|
|
504 |
$this->add_control(
|
505 |
'submit_hover_bg_color',
|
506 |
[
|
507 |
-
'label' => __( 'Background Color', '
|
508 |
'type' => Controls_Manager::COLOR,
|
509 |
'selectors' => [
|
510 |
'{{WRAPPER}} .form-group .btn:hover, {{WRAPPER}} .form-group .btn:focus' => 'background-color: {{VALUE}};',
|
@@ -515,7 +515,7 @@ class CalderaForm extends Base {
|
|
515 |
$this->add_control(
|
516 |
'submit_hover_border_color',
|
517 |
[
|
518 |
-
'label' => __( 'Border Color', '
|
519 |
'type' => Controls_Manager::COLOR,
|
520 |
'selectors' => [
|
521 |
'{{WRAPPER}} .form-group .btn:hover, {{WRAPPER}} .form-group .btn:focus' => 'border-color: {{VALUE}};',
|
24 |
* @return string Widget title.
|
25 |
*/
|
26 |
public function get_title() {
|
27 |
+
return __( 'Caldera Forms', 'happy-elementor-addons' );
|
28 |
}
|
29 |
|
30 |
/**
|
47 |
$this->start_controls_section(
|
48 |
'_section_calderaf',
|
49 |
[
|
50 |
+
'label' => ha_is_calderaf_activated() ? __( 'Caldera Forms', 'happy-elementor-addons' ) : __( 'Notice', 'happy-elementor-addons' ),
|
|
|
51 |
]
|
52 |
);
|
53 |
|
57 |
[
|
58 |
'type' => Controls_Manager::RAW_HTML,
|
59 |
'raw' => sprintf(
|
60 |
+
__( 'Hi, it seems %1$s is missing in your site. Please install and activate %1$s first.', 'happy-elementor-addons' ),
|
61 |
'<a href="https://wordpress.org/plugins/caldera-forms/" target="_blank" rel="noopener">Caldera Form</a>'
|
62 |
+
),
|
63 |
+
'content_classes' => 'elementor-panel-alert elementor-panel-alert-warning',
|
64 |
]
|
65 |
);
|
66 |
$this->end_controls_section();
|
70 |
$this->add_control(
|
71 |
'form_id',
|
72 |
[
|
73 |
+
'label' => __( 'Select Your Form', 'happy-elementor-addons' ),
|
74 |
'type' => Controls_Manager::SELECT,
|
75 |
'label_block' => true,
|
76 |
+
'options' => ['' => __( '', 'happy-elementor-addons' ) ] + \ha_get_caldera_form(),
|
77 |
]
|
78 |
);
|
79 |
|
84 |
$this->start_controls_section(
|
85 |
'_section_fields_style',
|
86 |
[
|
87 |
+
'label' => __( 'Form Fields', 'happy-elementor-addons' ),
|
88 |
'tab' => Controls_Manager::TAB_STYLE,
|
89 |
]
|
90 |
);
|
92 |
$this->add_responsive_control(
|
93 |
'field_margin',
|
94 |
[
|
95 |
+
'label' => __( 'Field Spacing', 'happy-elementor-addons' ),
|
96 |
'type' => Controls_Manager::DIMENSIONS,
|
97 |
'size_units' => [ 'px', '%' ],
|
98 |
'selectors' => [
|
104 |
$this->add_responsive_control(
|
105 |
'field_padding',
|
106 |
[
|
107 |
+
'label' => __( 'Padding', 'happy-elementor-addons' ),
|
108 |
'type' => Controls_Manager::DIMENSIONS,
|
109 |
'size_units' => [ 'px', 'em', '%' ],
|
110 |
'selectors' => [
|
116 |
$this->add_responsive_control(
|
117 |
'field_border_radius',
|
118 |
[
|
119 |
+
'label' => __( 'Border Radius', 'happy-elementor-addons' ),
|
120 |
'type' => Controls_Manager::DIMENSIONS,
|
121 |
'size_units' => [ 'px', '%' ],
|
122 |
'selectors' => [
|
129 |
Group_Control_Typography::get_type(),
|
130 |
[
|
131 |
'name' => 'field_typography',
|
132 |
+
'label' => __( 'Typography', 'happy-elementor-addons' ),
|
133 |
'selector' => '{{WRAPPER}} .form-group input:not(.btn), {{WRAPPER}} .form-group textarea',
|
134 |
]
|
135 |
);
|
137 |
$this->add_control(
|
138 |
'field_textcolor',
|
139 |
[
|
140 |
+
'label' => __( 'Field Text Color', 'happy-elementor-addons' ),
|
141 |
'type' => Controls_Manager::COLOR,
|
142 |
'selectors' => [
|
143 |
'{{WRAPPER}} .form-group input:not(.btn), {{WRAPPER}} .form-group textarea' => 'color: {{VALUE}}',
|
148 |
$this->add_control(
|
149 |
'field_placeholder_color',
|
150 |
[
|
151 |
+
'label' => __( 'Field Placeholder Color', 'happy-elementor-addons' ),
|
152 |
'type' => Controls_Manager::COLOR,
|
153 |
'selectors' => [
|
154 |
'{{WRAPPER}} ::-webkit-input-placeholder' => 'color: {{VALUE}};',
|
163 |
$this->start_controls_tab(
|
164 |
'tab_field_normal',
|
165 |
[
|
166 |
+
'label' => __( 'Normal', 'happy-elementor-addons' ),
|
167 |
]
|
168 |
);
|
169 |
|
186 |
$this->add_control(
|
187 |
'field_bg_color',
|
188 |
[
|
189 |
+
'label' => __( 'Background Color', 'happy-elementor-addons' ),
|
190 |
'type' => Controls_Manager::COLOR,
|
191 |
'selectors' => [
|
192 |
'{{WRAPPER}} .form-group input:not(.btn), {{WRAPPER}} .form-group textarea' => 'background-color: {{VALUE}}',
|
199 |
$this->start_controls_tab(
|
200 |
'tab_field_focus',
|
201 |
[
|
202 |
+
'label' => __( 'Focus', 'happy-elementor-addons' ),
|
203 |
]
|
204 |
);
|
205 |
|
225 |
$this->add_control(
|
226 |
'field_focus_bg_color',
|
227 |
[
|
228 |
+
'label' => __( 'Background Color', 'happy-elementor-addons' ),
|
229 |
'type' => Controls_Manager::COLOR,
|
230 |
'selectors' => [
|
231 |
'{{WRAPPER}} .form-group input:focus:not(.btn), {{WRAPPER}} .form-group textarea:focus' => 'background-color: {{VALUE}}',
|
242 |
$this->start_controls_section(
|
243 |
'caldera-form-label',
|
244 |
[
|
245 |
+
'label' => __( 'Form Fields Label', 'happy-elementor-addons' ),
|
246 |
'tab' => Controls_Manager::TAB_STYLE,
|
247 |
]
|
248 |
);
|
250 |
$this->add_responsive_control(
|
251 |
'label_margin',
|
252 |
[
|
253 |
+
'label' => __( 'Margin', 'happy-elementor-addons' ),
|
254 |
'type' => Controls_Manager::DIMENSIONS,
|
255 |
'size_units' => [ 'px', '%' ],
|
256 |
'selectors' => [
|
262 |
$this->add_responsive_control(
|
263 |
'label_padding',
|
264 |
[
|
265 |
+
'label' => __( 'Padding', 'happy-elementor-addons' ),
|
266 |
'type' => Controls_Manager::DIMENSIONS,
|
267 |
'size_units' => [ 'px', 'em', '%' ],
|
268 |
'selectors' => [
|
283 |
Group_Control_Typography::get_type(),
|
284 |
[
|
285 |
'name' => 'label_typography',
|
286 |
+
'label' => __( 'Label Typography', 'happy-elementor-addons' ),
|
287 |
'selector' => '{{WRAPPER}} .caldera-grid label',
|
288 |
]
|
289 |
);
|
292 |
Group_Control_Typography::get_type(),
|
293 |
[
|
294 |
'name' => 'desc_typography',
|
295 |
+
'label' => __( 'Description Typography', 'happy-elementor-addons' ),
|
296 |
'selector' => '{{WRAPPER}} .caldera-grid .help-block',
|
297 |
]
|
298 |
);
|
300 |
$this->add_control(
|
301 |
'label_color',
|
302 |
[
|
303 |
+
'label' => __( 'Label Text Color', 'happy-elementor-addons' ),
|
304 |
'type' => Controls_Manager::COLOR,
|
305 |
'selectors' => [
|
306 |
'{{WRAPPER}} .caldera-grid label' => 'color: {{VALUE}}',
|
311 |
$this->add_control(
|
312 |
'requered_label',
|
313 |
[
|
314 |
+
'label' => __( 'Required Label Color', 'happy-elementor-addons' ),
|
315 |
'type' => Controls_Manager::COLOR,
|
316 |
'selectors' => [
|
317 |
'{{WRAPPER}} .field_required' => 'color: {{VALUE}} !important',
|
322 |
$this->add_control(
|
323 |
'desc_color',
|
324 |
[
|
325 |
+
'label' => __( 'Description Text Color', 'happy-elementor-addons' ),
|
326 |
'type' => Controls_Manager::COLOR,
|
327 |
'selectors' => [
|
328 |
'{{WRAPPER}} .caldera-grid .help-block' => 'color: {{VALUE}}',
|
335 |
$this->start_controls_section(
|
336 |
'submit',
|
337 |
[
|
338 |
+
'label' => __( 'Submit Button', 'happy-elementor-addons' ),
|
339 |
'tab' => Controls_Manager::TAB_STYLE,
|
340 |
]
|
341 |
);
|
343 |
$this->add_control(
|
344 |
'submit_btn_width',
|
345 |
[
|
346 |
+
'label' => __( 'Button Full Width?', 'happy-elementor-addons' ),
|
347 |
'type' => Controls_Manager::SWITCHER,
|
348 |
+
'label_on' => __( 'Yes', 'happy-elementor-addons' ),
|
349 |
+
'label_off' => __( 'No', 'happy-elementor-addons' ),
|
350 |
'return_value' => 'yes',
|
351 |
'default' => 'yes',
|
352 |
]
|
355 |
$this->add_responsive_control(
|
356 |
'button_width',
|
357 |
[
|
358 |
+
'label' => __( 'Button Width', 'happy-elementor-addons' ),
|
359 |
'type' => Controls_Manager::SLIDER,
|
360 |
'size_units' => [ 'px', '%' ],
|
361 |
'condition' => [
|
384 |
$this->add_responsive_control(
|
385 |
'submit_margin',
|
386 |
[
|
387 |
+
'label' => __( 'Margin', 'happy-elementor-addons' ),
|
388 |
'type' => Controls_Manager::DIMENSIONS,
|
389 |
'size_units' => [ 'px', '%' ],
|
390 |
'selectors' => [
|
396 |
$this->add_responsive_control(
|
397 |
'submit_padding',
|
398 |
[
|
399 |
+
'label' => __( 'Padding', 'happy-elementor-addons' ),
|
400 |
'type' => Controls_Manager::DIMENSIONS,
|
401 |
'size_units' => [ 'px', 'em', '%' ],
|
402 |
'selectors' => [
|
424 |
$this->add_control(
|
425 |
'submit_border_radius',
|
426 |
[
|
427 |
+
'label' => __( 'Border Radius', 'happy-elementor-addons' ),
|
428 |
'type' => Controls_Manager::DIMENSIONS,
|
429 |
'size_units' => [ 'px', '%' ],
|
430 |
'selectors' => [
|
454 |
$this->start_controls_tab(
|
455 |
'tab_button_normal',
|
456 |
[
|
457 |
+
'label' => __( 'Normal', 'happy-elementor-addons' ),
|
458 |
]
|
459 |
);
|
460 |
|
461 |
$this->add_control(
|
462 |
'submit_color',
|
463 |
[
|
464 |
+
'label' => __( 'Text Color', 'happy-elementor-addons' ),
|
465 |
'type' => Controls_Manager::COLOR,
|
466 |
'default' => '',
|
467 |
'selectors' => [
|
473 |
$this->add_control(
|
474 |
'submit_bg_color',
|
475 |
[
|
476 |
+
'label' => __( 'Background Color', 'happy-elementor-addons' ),
|
477 |
'type' => Controls_Manager::COLOR,
|
478 |
'selectors' => [
|
479 |
'{{WRAPPER}} .form-group .btn' => 'background-color: {{VALUE}};',
|
486 |
$this->start_controls_tab(
|
487 |
'tab_button_hover',
|
488 |
[
|
489 |
+
'label' => __( 'Hover', 'happy-elementor-addons' ),
|
490 |
]
|
491 |
);
|
492 |
|
493 |
$this->add_control(
|
494 |
'submit_hover_color',
|
495 |
[
|
496 |
+
'label' => __( 'Text Color', 'happy-elementor-addons' ),
|
497 |
'type' => Controls_Manager::COLOR,
|
498 |
'selectors' => [
|
499 |
'{{WRAPPER}} .form-group .btn:hover, {{WRAPPER}} .form-group .btn:focus' => 'color: {{VALUE}};',
|
504 |
$this->add_control(
|
505 |
'submit_hover_bg_color',
|
506 |
[
|
507 |
+
'label' => __( 'Background Color', 'happy-elementor-addons' ),
|
508 |
'type' => Controls_Manager::COLOR,
|
509 |
'selectors' => [
|
510 |
'{{WRAPPER}} .form-group .btn:hover, {{WRAPPER}} .form-group .btn:focus' => 'background-color: {{VALUE}};',
|
515 |
$this->add_control(
|
516 |
'submit_hover_border_color',
|
517 |
[
|
518 |
+
'label' => __( 'Border Color', 'happy-elementor-addons' ),
|
519 |
'type' => Controls_Manager::COLOR,
|
520 |
'selectors' => [
|
521 |
'{{WRAPPER}} .form-group .btn:hover, {{WRAPPER}} .form-group .btn:focus' => 'border-color: {{VALUE}};',
|
widgets/card/widget.php
CHANGED
@@ -28,15 +28,15 @@ class Card extends Base {
|
|
28 |
* @return string Widget title.
|
29 |
*/
|
30 |
public function get_title() {
|
31 |
-
return __( 'Card', '
|
32 |
}
|
33 |
|
34 |
protected function get_presets() {
|
35 |
return [
|
36 |
-
'design-1' => __( 'Design 1', '
|
37 |
-
'design-2' => __( 'Design 2', '
|
38 |
-
'design-3' => __( 'Design 3', '
|
39 |
-
'design-4' => __( 'Design 4', '
|
40 |
];
|
41 |
}
|
42 |
|
@@ -60,7 +60,7 @@ class Card extends Base {
|
|
60 |
$this->start_controls_section(
|
61 |
'_section_image',
|
62 |
[
|
63 |
-
'label' => __( 'Image & Badge', '
|
64 |
'tab' => Controls_Manager::TAB_CONTENT,
|
65 |
]
|
66 |
);
|
@@ -68,7 +68,7 @@ class Card extends Base {
|
|
68 |
$this->add_control(
|
69 |
'image',
|
70 |
[
|
71 |
-
'label' => __( 'Image', '
|
72 |
'type' => Controls_Manager::MEDIA,
|
73 |
'default' => [
|
74 |
'url' => Utils::get_placeholder_image_src(),
|
@@ -88,20 +88,20 @@ class Card extends Base {
|
|
88 |
$this->add_control(
|
89 |
'image_position',
|
90 |
[
|
91 |
-
'label' => __( 'Image Position', '
|
92 |
'type' => Controls_Manager::CHOOSE,
|
93 |
'label_block' => false,
|
94 |
'options' => [
|
95 |
'left' => [
|
96 |
-
'title' => __( 'Left', '
|
97 |
'icon' => 'eicon-h-align-left',
|
98 |
],
|
99 |
'top' => [
|
100 |
-
'title' => __( 'Top', '
|
101 |
'icon' => 'eicon-v-align-top',
|
102 |
],
|
103 |
'right' => [
|
104 |
-
'title' => __( 'Right', '
|
105 |
'icon' => 'eicon-h-align-right',
|
106 |
],
|
107 |
],
|
@@ -114,12 +114,12 @@ class Card extends Base {
|
|
114 |
$this->add_control(
|
115 |
'badge_text',
|
116 |
[
|
117 |
-
'label' => __( 'Badge Text', '
|
118 |
'type' => Controls_Manager::TEXT,
|
119 |
-
'default' => __( 'Badget Text', '
|
120 |
-
'placeholder' => __( 'Type badge text', '
|
121 |
'separator' => 'before',
|
122 |
-
'description' => __( 'Set badget position and control all the style settings from Style tab', '
|
123 |
]
|
124 |
);
|
125 |
|
@@ -128,7 +128,7 @@ class Card extends Base {
|
|
128 |
$this->start_controls_section(
|
129 |
'_section_title',
|
130 |
[
|
131 |
-
'label' => __( 'Title & Description', '
|
132 |
'tab' => Controls_Manager::TAB_CONTENT,
|
133 |
]
|
134 |
);
|
@@ -136,21 +136,21 @@ class Card extends Base {
|
|
136 |
$this->add_control(
|
137 |
'title',
|
138 |
[
|
139 |
-
'label' => __( 'Title', '
|
140 |
'label_block' => true,
|
141 |
'type' => Controls_Manager::TEXT,
|
142 |
-
'default' => __( 'Happy Card Title', '
|
143 |
-
'placeholder' => __( 'Type Card Title', '
|
144 |
]
|
145 |
);
|
146 |
|
147 |
$this->add_control(
|
148 |
'description',
|
149 |
[
|
150 |
-
'label' => __( 'Description', '
|
151 |
'type' => Controls_Manager::TEXTAREA,
|
152 |
-
'default' => __( 'Happy card description goes here', '
|
153 |
-
'placeholder' => __( 'Type card description', '
|
154 |
'rows' => 5
|
155 |
]
|
156 |
);
|
@@ -158,31 +158,31 @@ class Card extends Base {
|
|
158 |
$this->add_control(
|
159 |
'title_tag',
|
160 |
[
|
161 |
-
'label' => __( 'Title HTML Tag', '
|
162 |
'type' => Controls_Manager::CHOOSE,
|
163 |
'options' => [
|
164 |
'h1' => [
|
165 |
-
'title' => __( 'H1', '
|
166 |
'icon' => 'eicon-editor-h1'
|
167 |
],
|
168 |
'h2' => [
|
169 |
-
'title' => __( 'H2', '
|
170 |
'icon' => 'eicon-editor-h2'
|
171 |
],
|
172 |
'h3' => [
|
173 |
-
'title' => __( 'H3', '
|
174 |
'icon' => 'eicon-editor-h3'
|
175 |
],
|
176 |
'h4' => [
|
177 |
-
'title' => __( 'H4', '
|
178 |
'icon' => 'eicon-editor-h4'
|
179 |
],
|
180 |
'h5' => [
|
181 |
-
'title' => __( 'H5', '
|
182 |
'icon' => 'eicon-editor-h5'
|
183 |
],
|
184 |
'h6' => [
|
185 |
-
'title' => __( 'H6', '
|
186 |
'icon' => 'eicon-editor-h6'
|
187 |
]
|
188 |
],
|
@@ -194,23 +194,23 @@ class Card extends Base {
|
|
194 |
$this->add_responsive_control(
|
195 |
'align',
|
196 |
[
|
197 |
-
'label' => __( 'Alignment', '
|
198 |
'type' => Controls_Manager::CHOOSE,
|
199 |
'options' => [
|
200 |
'left' => [
|
201 |
-
'title' => __( 'Left', '
|
202 |
'icon' => 'fa fa-align-left',
|
203 |
],
|
204 |
'center' => [
|
205 |
-
'title' => __( 'Center', '
|
206 |
'icon' => 'fa fa-align-center',
|
207 |
],
|
208 |
'right' => [
|
209 |
-
'title' => __( 'Right', '
|
210 |
'icon' => 'fa fa-align-right',
|
211 |
],
|
212 |
'justify' => [
|
213 |
-
'title' => __( 'Justify', '
|
214 |
'icon' => 'fa fa-align-justify',
|
215 |
],
|
216 |
],
|
@@ -226,7 +226,7 @@ class Card extends Base {
|
|
226 |
$this->start_controls_section(
|
227 |
'_section_button',
|
228 |
[
|
229 |
-
'label' => __( 'Button', '
|
230 |
'tab' => Controls_Manager::TAB_CONTENT,
|
231 |
]
|
232 |
);
|
@@ -234,10 +234,10 @@ class Card extends Base {
|
|
234 |
$this->add_control(
|
235 |
'button_text',
|
236 |
[
|
237 |
-
'label' => __( 'Text', '
|
238 |
'type' => Controls_Manager::TEXT,
|
239 |
-
'default' => __( 'Button Text', '
|
240 |
-
'placeholder' => __( 'Type button text here', '
|
241 |
'label_block' => true,
|
242 |
]
|
243 |
);
|
@@ -245,16 +245,16 @@ class Card extends Base {
|
|
245 |
$this->add_control(
|
246 |
'button_link',
|
247 |
[
|
248 |
-
'label' => __( 'Link', '
|
249 |
'type' => Controls_Manager::URL,
|
250 |
-
'placeholder' => __( 'https://example.com/', '
|
251 |
]
|
252 |
);
|
253 |
|
254 |
$this->add_control(
|
255 |
'button_icon',
|
256 |
[
|
257 |
-
'label' => __( 'Icon', '
|
258 |
'type' => Controls_Manager::ICON,
|
259 |
'options' => ha_get_happy_icons(),
|
260 |
]
|
@@ -263,16 +263,16 @@ class Card extends Base {
|
|
263 |
$this->add_control(
|
264 |
'button_icon_position',
|
265 |
[
|
266 |
-
'label' => __( 'Icon Position', '
|
267 |
'type' => Controls_Manager::CHOOSE,
|
268 |
'label_block' => false,
|
269 |
'options' => [
|
270 |
'before' => [
|
271 |
-
'title' => __( 'Before', '
|
272 |
'icon' => 'eicon-h-align-left',
|
273 |
],
|
274 |
'after' => [
|
275 |
-
'title' => __( 'After', '
|
276 |
'icon' => 'eicon-h-align-right',
|
277 |
],
|
278 |
],
|
@@ -287,7 +287,7 @@ class Card extends Base {
|
|
287 |
$this->add_control(
|
288 |
'button_icon_spacing',
|
289 |
[
|
290 |
-
'label' => __( 'Icon Spacing', '
|
291 |
'type' => Controls_Manager::SLIDER,
|
292 |
'condition' => [
|
293 |
'button_icon!' => '',
|
@@ -306,7 +306,7 @@ class Card extends Base {
|
|
306 |
$this->start_controls_section(
|
307 |
'_section_style_image',
|
308 |
[
|
309 |
-
'label' => __( 'Image', '
|
310 |
'tab' => Controls_Manager::TAB_STYLE,
|
311 |
]
|
312 |
);
|
@@ -314,7 +314,7 @@ class Card extends Base {
|
|
314 |
$this->add_responsive_control(
|
315 |
'image_width',
|
316 |
[
|
317 |
-
'label' => __( 'Width', '
|
318 |
'type' => Controls_Manager::SLIDER,
|
319 |
'size_units' => [ '%', 'px' ],
|
320 |
'desktop_default' => [
|
@@ -346,7 +346,7 @@ class Card extends Base {
|
|
346 |
$this->add_responsive_control(
|
347 |
'image_height',
|
348 |
[
|
349 |
-
'label' => __( 'Height', '
|
350 |
'type' => Controls_Manager::SLIDER,
|
351 |
'size_units' => [ 'px' ],
|
352 |
'range' => [
|
@@ -364,10 +364,10 @@ class Card extends Base {
|
|
364 |
$this->add_control(
|
365 |
'offset_toggle',
|
366 |
[
|
367 |
-
'label' => __( 'Offset', '
|
368 |
'type' => Controls_Manager::POPOVER_TOGGLE,
|
369 |
-
'label_off' => __( 'None', '
|
370 |
-
'label_on' => __( 'Custom', '
|
371 |
'return_value' => 'yes',
|
372 |
]
|
373 |
);
|
@@ -377,7 +377,7 @@ class Card extends Base {
|
|
377 |
$this->add_responsive_control(
|
378 |
'image_offset_x',
|
379 |
[
|
380 |
-
'label' => __( 'Offset Left', '
|
381 |
'type' => Controls_Manager::SLIDER,
|
382 |
'size_units' => ['px'],
|
383 |
'condition' => [
|
@@ -396,7 +396,7 @@ class Card extends Base {
|
|
396 |
$this->add_responsive_control(
|
397 |
'image_offset_y',
|
398 |
[
|
399 |
-
'label' => __( 'Offset Top', '
|
400 |
'type' => Controls_Manager::SLIDER,
|
401 |
'size_units' => ['px'],
|
402 |
'condition' => [
|
@@ -431,7 +431,7 @@ class Card extends Base {
|
|
431 |
$this->add_responsive_control(
|
432 |
'image_padding',
|
433 |
[
|
434 |
-
'label' => __( 'Padding', '
|
435 |
'type' => Controls_Manager::DIMENSIONS,
|
436 |
'size_units' => [ 'px', 'em', '%' ],
|
437 |
'selectors' => [
|
@@ -451,7 +451,7 @@ class Card extends Base {
|
|
451 |
$this->add_responsive_control(
|
452 |
'image_border_radius',
|
453 |
[
|
454 |
-
'label' => __( 'Border Radius', '
|
455 |
'type' => Controls_Manager::DIMENSIONS,
|
456 |
'size_units' => [ 'px', '%' ],
|
457 |
'selectors' => [
|
@@ -476,7 +476,7 @@ class Card extends Base {
|
|
476 |
$this->start_controls_section(
|
477 |
'_section_style_badge',
|
478 |
[
|
479 |
-
'label' => __( 'Badge', '
|
480 |
'tab' => Controls_Manager::TAB_STYLE,
|
481 |
]
|
482 |
);
|
@@ -484,18 +484,18 @@ class Card extends Base {
|
|
484 |
$this->add_control(
|
485 |
'badge_position',
|
486 |
[
|
487 |
-
'label' => __( 'Position', '
|
488 |
'type' => Controls_Manager::SELECT,
|
489 |
'options' => [
|
490 |
-
'top-left' => __( 'Top Left', '
|
491 |
-
'top-center' => __( 'Top Center', '
|
492 |
-
'top-right' => __( 'Top Right', '
|
493 |
-
'middle-left' => __( 'Middle Left', '
|
494 |
-
'middle-center' => __( 'Middle Center', '
|
495 |
-
'middle-right' => __( 'Middle Right', '
|
496 |
-
'bottom-left' => __( 'Bottom Left', '
|
497 |
-
'bottom-center' => __( 'Bottom Center', '
|
498 |
-
'bottom-right' => __( 'Bottom Right', '
|
499 |
],
|
500 |
'default' => 'top-right',
|
501 |
]
|
@@ -504,10 +504,10 @@ class Card extends Base {
|
|
504 |
$this->add_control(
|
505 |
'badge_offset_toggle',
|
506 |
[
|
507 |
-
'label' => __( 'Offset', '
|
508 |
'type' => Controls_Manager::POPOVER_TOGGLE,
|
509 |
-
'label_off' => __( 'None', '
|
510 |
-
'label_on' => __( 'Custom', '
|
511 |
'return_value' => 'yes',
|
512 |
]
|
513 |
);
|
@@ -517,7 +517,7 @@ class Card extends Base {
|
|
517 |
$this->add_responsive_control(
|
518 |
'badge_offset_x',
|
519 |
[
|
520 |
-
'label' => __( 'Offset Left', '
|
521 |
'type' => Controls_Manager::SLIDER,
|
522 |
'size_units' => ['px'],
|
523 |
'condition' => [
|
@@ -536,7 +536,7 @@ class Card extends Base {
|
|
536 |
$this->add_responsive_control(
|
537 |
'badge_offset_y',
|
538 |
[
|
539 |
-
'label' => __( 'Offset Top', '
|
540 |
'type' => Controls_Manager::SLIDER,
|
541 |
'size_units' => ['px'],
|
542 |
'condition' => [
|
@@ -560,7 +560,7 @@ class Card extends Base {
|
|
560 |
$this->add_responsive_control(
|
561 |
'badge_padding',
|
562 |
[
|
563 |
-
'label' => __( 'Padding', '
|
564 |
'type' => Controls_Manager::DIMENSIONS,
|
565 |
'size_units' => [ 'px', 'em', '%' ],
|
566 |
'selectors' => [
|
@@ -572,7 +572,7 @@ class Card extends Base {
|
|
572 |
$this->add_control(
|
573 |
'badge_color',
|
574 |
[
|
575 |
-
'label' => __( 'Text Color', '
|
576 |
'type' => Controls_Manager::COLOR,
|
577 |
'selectors' => [
|
578 |
'{{WRAPPER}} .ha-badge' => 'color: {{VALUE}}',
|
@@ -583,7 +583,7 @@ class Card extends Base {
|
|
583 |
$this->add_control(
|
584 |
'badge_bg_color',
|
585 |
[
|
586 |
-
'label' => __( 'Background Color', '
|
587 |
'type' => Controls_Manager::COLOR,
|
588 |
'selectors' => [
|
589 |
'{{WRAPPER}} .ha-badge' => 'background-color: {{VALUE}}',
|
@@ -602,7 +602,7 @@ class Card extends Base {
|
|
602 |
$this->add_responsive_control(
|
603 |
'badge_border_radius',
|
604 |
[
|
605 |
-
'label' => __( 'Border Radius', '
|
606 |
'type' => Controls_Manager::DIMENSIONS,
|
607 |
'size_units' => [ 'px', '%' ],
|
608 |
'selectors' => [
|
@@ -626,7 +626,7 @@ class Card extends Base {
|
|
626 |
Group_Control_Typography::get_type(),
|
627 |
[
|
628 |
'name' => 'badge_typography',
|
629 |
-
'label' => __( 'Typography', '
|
630 |
'exclude' => [
|
631 |
'line_height'
|
632 |
],
|
@@ -643,7 +643,7 @@ class Card extends Base {
|
|
643 |
$this->start_controls_section(
|
644 |
'_section_style_content',
|
645 |
[
|
646 |
-
'label' => __( 'Title & Description', '
|
647 |
'tab' => Controls_Manager::TAB_STYLE,
|
648 |
]
|
649 |
);
|
@@ -651,7 +651,7 @@ class Card extends Base {
|
|
651 |
$this->add_responsive_control(
|
652 |
'content_padding',
|
653 |
[
|
654 |
-
'label' => __( 'Content Padding', '
|
655 |
'type' => Controls_Manager::DIMENSIONS,
|
656 |
'size_units' => [ 'px', 'em', '%' ],
|
657 |
'selectors' => [
|
@@ -664,7 +664,7 @@ class Card extends Base {
|
|
664 |
'_heading_title',
|
665 |
[
|
666 |
'type' => Controls_Manager::HEADING,
|
667 |
-
'label' => __( 'Title', '
|
668 |
'separator' => 'before'
|
669 |
]
|
670 |
);
|
@@ -672,7 +672,7 @@ class Card extends Base {
|
|
672 |
$this->add_responsive_control(
|
673 |
'title_spacing',
|
674 |
[
|
675 |
-
'label' => __( 'Bottom Spacing', '
|
676 |
'type' => Controls_Manager::SLIDER,
|
677 |
'size_units' => ['px'],
|
678 |
'selectors' => [
|
@@ -684,7 +684,7 @@ class Card extends Base {
|
|
684 |
$this->add_control(
|
685 |
'title_color',
|
686 |
[
|
687 |
-
'label' => __( 'Text Color', '
|
688 |
'type' => Controls_Manager::COLOR,
|
689 |
'selectors' => [
|
690 |
'{{WRAPPER}} .ha-card-title' => 'color: {{VALUE}}',
|
@@ -696,7 +696,7 @@ class Card extends Base {
|
|
696 |
Group_Control_Typography::get_type(),
|
697 |
[
|
698 |
'name' => 'title_typography',
|
699 |
-
'label' => __( 'Typography', '
|
700 |
'selector' => '{{WRAPPER}} .ha-card-title',
|
701 |
'scheme' => Scheme_Typography::TYPOGRAPHY_2,
|
702 |
]
|
@@ -706,7 +706,7 @@ class Card extends Base {
|
|
706 |
'_heading_description',
|
707 |
[
|
708 |
'type' => Controls_Manager::HEADING,
|
709 |
-
'label' => __( 'Description', '
|
710 |
'separator' => 'before'
|
711 |
]
|
712 |
);
|
@@ -714,7 +714,7 @@ class Card extends Base {
|
|
714 |
$this->add_responsive_control(
|
715 |
'description_spacing',
|
716 |
[
|
717 |
-
'label' => __( 'Bottom Spacing', '
|
718 |
'type' => Controls_Manager::SLIDER,
|
719 |
'size_units' => ['px'],
|
720 |
'selectors' => [
|
@@ -726,7 +726,7 @@ class Card extends Base {
|
|
726 |
$this->add_control(
|
727 |
'description_color',
|
728 |
[
|
729 |
-
'label' => __( 'Text Color', '
|
730 |
'type' => Controls_Manager::COLOR,
|
731 |
'selectors' => [
|
732 |
'{{WRAPPER}} .ha-card-text' => 'color: {{VALUE}}',
|
@@ -738,7 +738,7 @@ class Card extends Base {
|
|
738 |
Group_Control_Typography::get_type(),
|
739 |
[
|
740 |
'name' => 'description_typography',
|
741 |
-
'label' => __( 'Typography', '
|
742 |
'selector' => '{{WRAPPER}} .ha-card-text',
|
743 |
'scheme' => Scheme_Typography::TYPOGRAPHY_3,
|
744 |
]
|
@@ -749,7 +749,7 @@ class Card extends Base {
|
|
749 |
$this->start_controls_section(
|
750 |
'_section_style_button',
|
751 |
[
|
752 |
-
'label' => __( 'Button', '
|
753 |
'tab' => Controls_Manager::TAB_STYLE,
|
754 |
]
|
755 |
);
|
@@ -757,7 +757,7 @@ class Card extends Base {
|
|
757 |
$this->add_responsive_control(
|
758 |
'button_padding',
|
759 |
[
|
760 |
-
'label' => __( 'Padding', '
|
761 |
'type' => Controls_Manager::DIMENSIONS,
|
762 |
'size_units' => [ 'px', 'em', '%' ],
|
763 |
'selectors' => [
|
@@ -786,7 +786,7 @@ class Card extends Base {
|
|
786 |
$this->add_control(
|
787 |
'button_border_radius',
|
788 |
[
|
789 |
-
'label' => __( 'Border Radius', '
|
790 |
'type' => Controls_Manager::DIMENSIONS,
|
791 |
'size_units' => [ 'px', '%' ],
|
792 |
'selectors' => [
|
@@ -816,14 +816,14 @@ class Card extends Base {
|
|
816 |
$this->start_controls_tab(
|
817 |
'_tab_button_normal',
|
818 |
[
|
819 |
-
'label' => __( 'Normal', '
|
820 |
]
|
821 |
);
|
822 |
|
823 |
$this->add_control(
|
824 |
'button_color',
|
825 |
[
|
826 |
-
'label' => __( 'Text Color', '
|
827 |
'type' => Controls_Manager::COLOR,
|
828 |
'default' => '',
|
829 |
'selectors' => [
|
@@ -835,7 +835,7 @@ class Card extends Base {
|
|
835 |
$this->add_control(
|
836 |
'button_bg_color',
|
837 |
[
|
838 |
-
'label' => __( 'Background Color', '
|
839 |
'type' => Controls_Manager::COLOR,
|
840 |
'selectors' => [
|
841 |
'{{WRAPPER}} .ha-btn' => 'background-color: {{VALUE}};',
|
@@ -848,14 +848,14 @@ class Card extends Base {
|
|
848 |
$this->start_controls_tab(
|
849 |
'_tab_button_hover',
|
850 |
[
|
851 |
-
'label' => __( 'Hover', '
|
852 |
]
|
853 |
);
|
854 |
|
855 |
$this->add_control(
|
856 |
'button_hover_color',
|
857 |
[
|
858 |
-
'label' => __( 'Text Color', '
|
859 |
'type' => Controls_Manager::COLOR,
|
860 |
'selectors' => [
|
861 |
'{{WRAPPER}} .ha-btn:hover, {{WRAPPER}} .ha-btn:focus' => 'color: {{VALUE}};',
|
@@ -866,7 +866,7 @@ class Card extends Base {
|
|
866 |
$this->add_control(
|
867 |
'button_hover_bg_color',
|
868 |
[
|
869 |
-
'label' => __( 'Background Color', '
|
870 |
'type' => Controls_Manager::COLOR,
|
871 |
'selectors' => [
|
872 |
'{{WRAPPER}} .ha-btn:hover, {{WRAPPER}} .ha-btn:focus' => 'background-color: {{VALUE}};',
|
@@ -877,7 +877,7 @@ class Card extends Base {
|
|
877 |
$this->add_control(
|
878 |
'button_hover_border_color',
|
879 |
[
|
880 |
-
'label' => __( 'Border Color', '
|
881 |
'type' => Controls_Manager::COLOR,
|
882 |
'condition' => [
|
883 |
'button_border_border!' => '',
|
@@ -1009,6 +1009,8 @@ class Card extends Base {
|
|
1009 |
view.addRenderAttribute( 'button', 'class', 'ha-btn' );
|
1010 |
view.addRenderAttribute( 'button', 'href', settings.button_link.url );
|
1011 |
|
|
|
|
|
1012 |
if ( settings.image.url || settings.image.id ) {
|
1013 |
var image = {
|
1014 |
id: settings.image.id,
|
28 |
* @return string Widget title.
|
29 |
*/
|
30 |
public function get_title() {
|
31 |
+
return __( 'Card', 'happy-elementor-addons' );
|
32 |
}
|
33 |
|
34 |
protected function get_presets() {
|
35 |
return [
|
36 |
+
'design-1' => __( 'Design 1', 'happy-elementor-addons' ),
|
37 |
+
'design-2' => __( 'Design 2', 'happy-elementor-addons' ),
|
38 |
+
'design-3' => __( 'Design 3', 'happy-elementor-addons' ),
|
39 |
+
'design-4' => __( 'Design 4', 'happy-elementor-addons' ),
|
40 |
];
|
41 |
}
|
42 |
|
60 |
$this->start_controls_section(
|
61 |
'_section_image',
|
62 |
[
|
63 |
+
'label' => __( 'Image & Badge', 'happy-elementor-addons' ),
|
64 |
'tab' => Controls_Manager::TAB_CONTENT,
|
65 |
]
|
66 |
);
|
68 |
$this->add_control(
|
69 |
'image',
|
70 |
[
|
71 |
+
'label' => __( 'Image', 'happy-elementor-addons' ),
|
72 |
'type' => Controls_Manager::MEDIA,
|
73 |
'default' => [
|
74 |
'url' => Utils::get_placeholder_image_src(),
|
88 |
$this->add_control(
|
89 |
'image_position',
|
90 |
[
|
91 |
+
'label' => __( 'Image Position', 'happy-elementor-addons' ),
|
92 |
'type' => Controls_Manager::CHOOSE,
|
93 |
'label_block' => false,
|
94 |
'options' => [
|
95 |
'left' => [
|
96 |
+
'title' => __( 'Left', 'happy-elementor-addons' ),
|
97 |
'icon' => 'eicon-h-align-left',
|
98 |
],
|
99 |
'top' => [
|
100 |
+
'title' => __( 'Top', 'happy-elementor-addons' ),
|
101 |
'icon' => 'eicon-v-align-top',
|
102 |
],
|
103 |
'right' => [
|
104 |
+
'title' => __( 'Right', 'happy-elementor-addons' ),
|
105 |
'icon' => 'eicon-h-align-right',
|
106 |
],
|
107 |
],
|
114 |
$this->add_control(
|
115 |
'badge_text',
|
116 |
[
|
117 |
+
'label' => __( 'Badge Text', 'happy-elementor-addons' ),
|
118 |
'type' => Controls_Manager::TEXT,
|
119 |
+
'default' => __( 'Badget Text', 'happy-elementor-addons' ),
|
120 |
+
'placeholder' => __( 'Type badge text', 'happy-elementor-addons' ),
|
121 |
'separator' => 'before',
|
122 |
+
'description' => __( 'Set badget position and control all the style settings from Style tab', 'happy-elementor-addons' ),
|
123 |
]
|
124 |
);
|
125 |
|
128 |
$this->start_controls_section(
|
129 |
'_section_title',
|
130 |
[
|
131 |
+
'label' => __( 'Title & Description', 'happy-elementor-addons' ),
|
132 |
'tab' => Controls_Manager::TAB_CONTENT,
|
133 |
]
|
134 |
);
|
136 |
$this->add_control(
|
137 |
'title',
|
138 |
[
|
139 |
+
'label' => __( 'Title', 'happy-elementor-addons' ),
|
140 |
'label_block' => true,
|
141 |
'type' => Controls_Manager::TEXT,
|
142 |
+
'default' => __( 'Happy Card Title', 'happy-elementor-addons' ),
|
143 |
+
'placeholder' => __( 'Type Card Title', 'happy-elementor-addons' ),
|
144 |
]
|
145 |
);
|
146 |
|
147 |
$this->add_control(
|
148 |
'description',
|
149 |
[
|
150 |
+
'label' => __( 'Description', 'happy-elementor-addons' ),
|
151 |
'type' => Controls_Manager::TEXTAREA,
|
152 |
+
'default' => __( 'Happy card description goes here', 'happy-elementor-addons' ),
|
153 |
+
'placeholder' => __( 'Type card description', 'happy-elementor-addons' ),
|
154 |
'rows' => 5
|
155 |
]
|
156 |
);
|
158 |
$this->add_control(
|
159 |
'title_tag',
|
160 |
[
|
161 |
+
'label' => __( 'Title HTML Tag', 'happy-elementor-addons' ),
|
162 |
'type' => Controls_Manager::CHOOSE,
|
163 |
'options' => [
|
164 |
'h1' => [
|
165 |
+
'title' => __( 'H1', 'happy-elementor-addons' ),
|
166 |
'icon' => 'eicon-editor-h1'
|
167 |
],
|
168 |
'h2' => [
|
169 |
+
'title' => __( 'H2', 'happy-elementor-addons' ),
|
170 |
'icon' => 'eicon-editor-h2'
|
171 |
],
|
172 |
'h3' => [
|
173 |
+
'title' => __( 'H3', 'happy-elementor-addons' ),
|
174 |
'icon' => 'eicon-editor-h3'
|
175 |
],
|
176 |
'h4' => [
|
177 |
+
'title' => __( 'H4', 'happy-elementor-addons' ),
|
178 |
'icon' => 'eicon-editor-h4'
|
179 |
],
|
180 |
'h5' => [
|
181 |
+
'title' => __( 'H5', 'happy-elementor-addons' ),
|
182 |
'icon' => 'eicon-editor-h5'
|
183 |
],
|
184 |
'h6' => [
|
185 |
+
'title' => __( 'H6', 'happy-elementor-addons' ),
|
186 |
'icon' => 'eicon-editor-h6'
|
187 |
]
|
188 |
],
|
194 |
$this->add_responsive_control(
|
195 |
'align',
|
196 |
[
|
197 |
+
'label' => __( 'Alignment', 'happy-elementor-addons' ),
|
198 |
'type' => Controls_Manager::CHOOSE,
|
199 |
'options' => [
|
200 |
'left' => [
|
201 |
+
'title' => __( 'Left', 'happy-elementor-addons' ),
|
202 |
'icon' => 'fa fa-align-left',
|
203 |
],
|
204 |
'center' => [
|
205 |
+
'title' => __( 'Center', 'happy-elementor-addons' ),
|
206 |
'icon' => 'fa fa-align-center',
|
207 |
],
|
208 |
'right' => [
|
209 |
+
'title' => __( 'Right', 'happy-elementor-addons' ),
|
210 |
'icon' => 'fa fa-align-right',
|
211 |
],
|
212 |
'justify' => [
|
213 |
+
'title' => __( 'Justify', 'happy-elementor-addons' ),
|
214 |
'icon' => 'fa fa-align-justify',
|
215 |
],
|
216 |
],
|
226 |
$this->start_controls_section(
|
227 |
'_section_button',
|
228 |
[
|
229 |
+
'label' => __( 'Button', 'happy-elementor-addons' ),
|
230 |
'tab' => Controls_Manager::TAB_CONTENT,
|
231 |
]
|
232 |
);
|
234 |
$this->add_control(
|
235 |
'button_text',
|
236 |
[
|
237 |
+
'label' => __( 'Text', 'happy-elementor-addons' ),
|
238 |
'type' => Controls_Manager::TEXT,
|
239 |
+
'default' => __( 'Button Text', 'happy-elementor-addons' ),
|
240 |
+
'placeholder' => __( 'Type button text here', 'happy-elementor-addons' ),
|
241 |
'label_block' => true,
|
242 |
]
|
243 |
);
|
245 |
$this->add_control(
|
246 |
'button_link',
|
247 |
[
|
248 |
+
'label' => __( 'Link', 'happy-elementor-addons' ),
|
249 |
'type' => Controls_Manager::URL,
|
250 |
+
'placeholder' => __( 'https://example.com/', 'happy-elementor-addons' ),
|
251 |
]
|
252 |
);
|
253 |
|
254 |
$this->add_control(
|
255 |
'button_icon',
|
256 |
[
|
257 |
+
'label' => __( 'Icon', 'happy-elementor-addons' ),
|
258 |
'type' => Controls_Manager::ICON,
|
259 |
'options' => ha_get_happy_icons(),
|
260 |
]
|
263 |
$this->add_control(
|
264 |
'button_icon_position',
|
265 |
[
|
266 |
+
'label' => __( 'Icon Position', 'happy-elementor-addons' ),
|
267 |
'type' => Controls_Manager::CHOOSE,
|
268 |
'label_block' => false,
|
269 |
'options' => [
|
270 |
'before' => [
|
271 |
+
'title' => __( 'Before', 'happy-elementor-addons' ),
|
272 |
'icon' => 'eicon-h-align-left',
|
273 |
],
|
274 |
'after' => [
|
275 |
+
'title' => __( 'After', 'happy-elementor-addons' ),
|
276 |
'icon' => 'eicon-h-align-right',
|
277 |
],
|
278 |
],
|
287 |
$this->add_control(
|
288 |
'button_icon_spacing',
|
289 |
[
|
290 |
+
'label' => __( 'Icon Spacing', 'happy-elementor-addons' ),
|
291 |
'type' => Controls_Manager::SLIDER,
|
292 |
'condition' => [
|
293 |
'button_icon!' => '',
|
306 |
$this->start_controls_section(
|
307 |
'_section_style_image',
|
308 |
[
|
309 |
+
'label' => __( 'Image', 'happy-elementor-addons' ),
|
310 |
'tab' => Controls_Manager::TAB_STYLE,
|
311 |
]
|
312 |
);
|
314 |
$this->add_responsive_control(
|
315 |
'image_width',
|
316 |
[
|
317 |
+
'label' => __( 'Width', 'happy-elementor-addons' ),
|
318 |
'type' => Controls_Manager::SLIDER,
|
319 |
'size_units' => [ '%', 'px' ],
|
320 |
'desktop_default' => [
|
346 |
$this->add_responsive_control(
|
347 |
'image_height',
|
348 |
[
|
349 |
+
'label' => __( 'Height', 'happy-elementor-addons' ),
|
350 |
'type' => Controls_Manager::SLIDER,
|
351 |
'size_units' => [ 'px' ],
|
352 |
'range' => [
|
364 |
$this->add_control(
|
365 |
'offset_toggle',
|
366 |
[
|
367 |
+
'label' => __( 'Offset', 'happy-elementor-addons' ),
|
368 |
'type' => Controls_Manager::POPOVER_TOGGLE,
|
369 |
+
'label_off' => __( 'None', 'happy-elementor-addons' ),
|
370 |
+
'label_on' => __( 'Custom', 'happy-elementor-addons' ),
|
371 |
'return_value' => 'yes',
|
372 |
]
|
373 |
);
|
377 |
$this->add_responsive_control(
|
378 |
'image_offset_x',
|
379 |
[
|
380 |
+
'label' => __( 'Offset Left', 'happy-elementor-addons' ),
|
381 |
'type' => Controls_Manager::SLIDER,
|
382 |
'size_units' => ['px'],
|
383 |
'condition' => [
|
396 |
$this->add_responsive_control(
|
397 |
'image_offset_y',
|
398 |
[
|
399 |
+
'label' => __( 'Offset Top', 'happy-elementor-addons' ),
|
400 |
'type' => Controls_Manager::SLIDER,
|
401 |
'size_units' => ['px'],
|
402 |
'condition' => [
|
431 |
$this->add_responsive_control(
|
432 |
'image_padding',
|
433 |
[
|
434 |
+
'label' => __( 'Padding', 'happy-elementor-addons' ),
|
435 |
'type' => Controls_Manager::DIMENSIONS,
|
436 |
'size_units' => [ 'px', 'em', '%' ],
|
437 |
'selectors' => [
|
451 |
$this->add_responsive_control(
|
452 |
'image_border_radius',
|
453 |
[
|
454 |
+
'label' => __( 'Border Radius', 'happy-elementor-addons' ),
|
455 |
'type' => Controls_Manager::DIMENSIONS,
|
456 |
'size_units' => [ 'px', '%' ],
|
457 |
'selectors' => [
|
476 |
$this->start_controls_section(
|
477 |
'_section_style_badge',
|
478 |
[
|
479 |
+
'label' => __( 'Badge', 'happy-elementor-addons' ),
|
480 |
'tab' => Controls_Manager::TAB_STYLE,
|
481 |
]
|
482 |
);
|
484 |
$this->add_control(
|
485 |
'badge_position',
|
486 |
[
|
487 |
+
'label' => __( 'Position', 'happy-elementor-addons' ),
|
488 |
'type' => Controls_Manager::SELECT,
|
489 |
'options' => [
|
490 |
+
'top-left' => __( 'Top Left', 'happy-elementor-addons' ),
|
491 |
+
'top-center' => __( 'Top Center', 'happy-elementor-addons' ),
|
492 |
+
'top-right' => __( 'Top Right', 'happy-elementor-addons' ),
|
493 |
+
'middle-left' => __( 'Middle Left', 'happy-elementor-addons' ),
|
494 |
+
'middle-center' => __( 'Middle Center', 'happy-elementor-addons' ),
|
495 |
+
'middle-right' => __( 'Middle Right', 'happy-elementor-addons' ),
|
496 |
+
'bottom-left' => __( 'Bottom Left', 'happy-elementor-addons' ),
|
497 |
+
'bottom-center' => __( 'Bottom Center', 'happy-elementor-addons' ),
|
498 |
+
'bottom-right' => __( 'Bottom Right', 'happy-elementor-addons' ),
|
499 |
],
|
500 |
'default' => 'top-right',
|
501 |
]
|
504 |
$this->add_control(
|
505 |
'badge_offset_toggle',
|
506 |
[
|
507 |
+
'label' => __( 'Offset', 'happy-elementor-addons' ),
|
508 |
'type' => Controls_Manager::POPOVER_TOGGLE,
|
509 |
+
'label_off' => __( 'None', 'happy-elementor-addons' ),
|
510 |
+
'label_on' => __( 'Custom', 'happy-elementor-addons' ),
|
511 |
'return_value' => 'yes',
|
512 |
]
|
513 |
);
|
517 |
$this->add_responsive_control(
|
518 |
'badge_offset_x',
|
519 |
[
|
520 |
+
'label' => __( 'Offset Left', 'happy-elementor-addons' ),
|
521 |
'type' => Controls_Manager::SLIDER,
|
522 |
'size_units' => ['px'],
|
523 |
'condition' => [
|
536 |
$this->add_responsive_control(
|
537 |
'badge_offset_y',
|
538 |
[
|
539 |
+
'label' => __( 'Offset Top', 'happy-elementor-addons' ),
|
540 |
'type' => Controls_Manager::SLIDER,
|
541 |
'size_units' => ['px'],
|
542 |
'condition' => [
|
560 |
$this->add_responsive_control(
|
561 |
'badge_padding',
|
562 |
[
|
563 |
+
'label' => __( 'Padding', 'happy-elementor-addons' ),
|
564 |
'type' => Controls_Manager::DIMENSIONS,
|
565 |
'size_units' => [ 'px', 'em', '%' ],
|
566 |
'selectors' => [
|
572 |
$this->add_control(
|
573 |
'badge_color',
|
574 |
[
|
575 |
+
'label' => __( 'Text Color', 'happy-elementor-addons' ),
|
576 |
'type' => Controls_Manager::COLOR,
|
577 |
'selectors' => [
|
578 |
'{{WRAPPER}} .ha-badge' => 'color: {{VALUE}}',
|
583 |
$this->add_control(
|
584 |
'badge_bg_color',
|
585 |
[
|
586 |
+
'label' => __( 'Background Color', 'happy-elementor-addons' ),
|
587 |
'type' => Controls_Manager::COLOR,
|
588 |
'selectors' => [
|
589 |
'{{WRAPPER}} .ha-badge' => 'background-color: {{VALUE}}',
|
602 |
$this->add_responsive_control(
|
603 |
'badge_border_radius',
|
604 |
[
|
605 |
+
'label' => __( 'Border Radius', 'happy-elementor-addons' ),
|
606 |
'type' => Controls_Manager::DIMENSIONS,
|
607 |
'size_units' => [ 'px', '%' ],
|
608 |
'selectors' => [
|
626 |
Group_Control_Typography::get_type(),
|
627 |
[
|
628 |
'name' => 'badge_typography',
|
629 |
+
'label' => __( 'Typography', 'happy-elementor-addons' ),
|
630 |
'exclude' => [
|
631 |
'line_height'
|
632 |
],
|
643 |
$this->start_controls_section(
|
644 |
'_section_style_content',
|
645 |
[
|
646 |
+
'label' => __( 'Title & Description', 'happy-elementor-addons' ),
|
647 |
'tab' => Controls_Manager::TAB_STYLE,
|
648 |
]
|
649 |
);
|
651 |
$this->add_responsive_control(
|
652 |
'content_padding',
|
653 |
[
|
654 |
+
'label' => __( 'Content Padding', 'happy-elementor-addons' ),
|
655 |
'type' => Controls_Manager::DIMENSIONS,
|
656 |
'size_units' => [ 'px', 'em', '%' ],
|
657 |
'selectors' => [
|
664 |
'_heading_title',
|
665 |
[
|
666 |
'type' => Controls_Manager::HEADING,
|
667 |
+
'label' => __( 'Title', 'happy-elementor-addons' ),
|
668 |
'separator' => 'before'
|
669 |
]
|
670 |
);
|
672 |
$this->add_responsive_control(
|
673 |
'title_spacing',
|
674 |
[
|
675 |
+
'label' => __( 'Bottom Spacing', 'happy-elementor-addons' ),
|
676 |
'type' => Controls_Manager::SLIDER,
|
677 |
'size_units' => ['px'],
|
678 |
'selectors' => [
|
684 |
$this->add_control(
|
685 |
'title_color',
|
686 |
[
|
687 |
+
'label' => __( 'Text Color', 'happy-elementor-addons' ),
|
688 |
'type' => Controls_Manager::COLOR,
|
689 |
'selectors' => [
|
690 |
'{{WRAPPER}} .ha-card-title' => 'color: {{VALUE}}',
|
696 |
Group_Control_Typography::get_type(),
|
697 |
[
|
698 |
'name' => 'title_typography',
|
699 |
+
'label' => __( 'Typography', 'happy-elementor-addons' ),
|
700 |
'selector' => '{{WRAPPER}} .ha-card-title',
|
701 |
'scheme' => Scheme_Typography::TYPOGRAPHY_2,
|
702 |
]
|
706 |
'_heading_description',
|
707 |
[
|
708 |
'type' => Controls_Manager::HEADING,
|
709 |
+
'label' => __( 'Description', 'happy-elementor-addons' ),
|
710 |
'separator' => 'before'
|
711 |
]
|
712 |
);
|
714 |
$this->add_responsive_control(
|
715 |
'description_spacing',
|
716 |
[
|
717 |
+
'label' => __( 'Bottom Spacing', 'happy-elementor-addons' ),
|
718 |
'type' => Controls_Manager::SLIDER,
|
719 |
'size_units' => ['px'],
|
720 |
'selectors' => [
|
726 |
$this->add_control(
|
727 |
'description_color',
|
728 |
[
|
729 |
+
'label' => __( 'Text Color', 'happy-elementor-addons' ),
|
730 |
'type' => Controls_Manager::COLOR,
|
731 |
'selectors' => [
|
732 |
'{{WRAPPER}} .ha-card-text' => 'color: {{VALUE}}',
|
738 |
Group_Control_Typography::get_type(),
|
739 |
[
|
740 |
'name' => 'description_typography',
|
741 |
+
'label' => __( 'Typography', 'happy-elementor-addons' ),
|
742 |
'selector' => '{{WRAPPER}} .ha-card-text',
|
743 |
'scheme' => Scheme_Typography::TYPOGRAPHY_3,
|
744 |
]
|
749 |
$this->start_controls_section(
|
750 |
'_section_style_button',
|
751 |
[
|
752 |
+
'label' => __( 'Button', 'happy-elementor-addons' ),
|
753 |
'tab' => Controls_Manager::TAB_STYLE,
|
754 |
]
|
755 |
);
|
757 |
$this->add_responsive_control(
|
758 |
'button_padding',
|
759 |
[
|
760 |
+
'label' => __( 'Padding', 'happy-elementor-addons' ),
|
761 |
'type' => Controls_Manager::DIMENSIONS,
|
762 |
'size_units' => [ 'px', 'em', '%' ],
|
763 |
'selectors' => [
|
786 |
$this->add_control(
|
787 |
'button_border_radius',
|
788 |
[
|
789 |
+
'label' => __( 'Border Radius', 'happy-elementor-addons' ),
|
790 |
'type' => Controls_Manager::DIMENSIONS,
|
791 |
'size_units' => [ 'px', '%' ],
|
792 |
'selectors' => [
|
816 |
$this->start_controls_tab(
|
817 |
'_tab_button_normal',
|
818 |
[
|
819 |
+
'label' => __( 'Normal', 'happy-elementor-addons' ),
|
820 |
]
|
821 |
);
|
822 |
|
823 |
$this->add_control(
|
824 |
'button_color',
|
825 |
[
|
826 |
+
'label' => __( 'Text Color', 'happy-elementor-addons' ),
|
827 |
'type' => Controls_Manager::COLOR,
|
828 |
'default' => '',
|
829 |
'selectors' => [
|
835 |
$this->add_control(
|
836 |
'button_bg_color',
|
837 |
[
|
838 |
+
'label' => __( 'Background Color', 'happy-elementor-addons' ),
|
839 |
'type' => Controls_Manager::COLOR,
|
840 |
'selectors' => [
|
841 |
'{{WRAPPER}} .ha-btn' => 'background-color: {{VALUE}};',
|
848 |
$this->start_controls_tab(
|
849 |
'_tab_button_hover',
|
850 |
[
|
851 |
+
'label' => __( 'Hover', 'happy-elementor-addons' ),
|
852 |
]
|
853 |
);
|
854 |
|
855 |
$this->add_control(
|
856 |
'button_hover_color',
|
857 |
[
|
858 |
+
'label' => __( 'Text Color', 'happy-elementor-addons' ),
|
859 |
'type' => Controls_Manager::COLOR,
|
860 |
'selectors' => [
|
861 |
'{{WRAPPER}} .ha-btn:hover, {{WRAPPER}} .ha-btn:focus' => 'color: {{VALUE}};',
|
866 |
$this->add_control(
|
867 |
'button_hover_bg_color',
|
868 |
[
|
869 |
+
'label' => __( 'Background Color', 'happy-elementor-addons' ),
|
870 |
'type' => Controls_Manager::COLOR,
|
871 |
'selectors' => [
|
872 |
'{{WRAPPER}} .ha-btn:hover, {{WRAPPER}} .ha-btn:focus' => 'background-color: {{VALUE}};',
|
877 |
$this->add_control(
|
878 |
'button_hover_border_color',
|
879 |
[
|
880 |
+
'label' => __( 'Border Color', 'happy-elementor-addons' ),
|
881 |
'type' => Controls_Manager::COLOR,
|
882 |
'condition' => [
|
883 |
'button_border_border!' => '',
|
1009 |
view.addRenderAttribute( 'button', 'class', 'ha-btn' );
|
1010 |
view.addRenderAttribute( 'button', 'href', settings.button_link.url );
|
1011 |
|
1012 |
+
HappyHelloWorld();
|
1013 |
+
|
1014 |
if ( settings.image.url || settings.image.id ) {
|
1015 |
var image = {
|
1016 |
id: settings.image.id,
|
widgets/cf7/widget.php
CHANGED
@@ -24,7 +24,7 @@ class CF7 extends Base {
|
|
24 |
* @return string Widget title.
|
25 |
*/
|
26 |
public function get_title() {
|
27 |
-
return __( 'Contact Form 7', '
|
28 |
}
|
29 |
|
30 |
/**
|
@@ -47,7 +47,7 @@ class CF7 extends Base {
|
|
47 |
$this->start_controls_section(
|
48 |
'_section_cf7',
|
49 |
[
|
50 |
-
'label' => ha_is_cf7_activated() ? __( 'Contact Form 7', '
|
51 |
'tab' => Controls_Manager::TAB_CONTENT,
|
52 |
]
|
53 |
);
|
@@ -58,9 +58,10 @@ class CF7 extends Base {
|
|
58 |
[
|
59 |
'type' => Controls_Manager::RAW_HTML,
|
60 |
'raw' => sprintf(
|
61 |
-
__( 'Hi, it seems %1$s is missing in your site. Please install and activate %1$s first.', '
|
62 |
'<a href="https://wordpress.org/plugins/contact-form-7/" target="_blank" rel="noopener">Contact Form 7</a>'
|
63 |
-
)
|
|
|
64 |
]
|
65 |
);
|
66 |
$this->end_controls_section();
|
@@ -70,20 +71,20 @@ class CF7 extends Base {
|
|
70 |
$this->add_control(
|
71 |
'form_id',
|
72 |
[
|
73 |
-
'label' => __( 'Select Your Form', '
|
74 |
'type' => Controls_Manager::SELECT,
|
75 |
'label_block' => true,
|
76 |
-
'options' => ['' => __( '', '
|
77 |
]
|
78 |
);
|
79 |
|
80 |
$this->add_control(
|
81 |
'html_class',
|
82 |
[
|
83 |
-
'label' => __( 'HTML Class', '
|
84 |
'type' => Controls_Manager::TEXT,
|
85 |
'label_block' => true,
|
86 |
-
'description' => __( 'Add CSS custom class to the form.', '
|
87 |
]
|
88 |
);
|
89 |
|
@@ -94,7 +95,7 @@ class CF7 extends Base {
|
|
94 |
$this->start_controls_section(
|
95 |
'_section_fields_style',
|
96 |
[
|
97 |
-
'label' => __( 'Form Fields', '
|
98 |
'tab' => Controls_Manager::TAB_STYLE,
|
99 |
]
|
100 |
);
|
@@ -102,7 +103,7 @@ class CF7 extends Base {
|
|
102 |
$this->add_responsive_control(
|
103 |
'field_width',
|
104 |
[
|
105 |
-
'label' => __( 'Width', '
|
106 |
'type' => Controls_Manager::SLIDER,
|
107 |
'default' => [
|
108 |
'unit' => '%',
|
@@ -134,7 +135,7 @@ class CF7 extends Base {
|
|
134 |
$this->add_responsive_control(
|
135 |
'field_margin',
|
136 |
[
|
137 |
-
'label' => __( 'Spacing Bottom', '
|
138 |
'type' => Controls_Manager::SLIDER,
|
139 |
'size_units' => [ 'px' ],
|
140 |
'range' => [
|
@@ -152,7 +153,7 @@ class CF7 extends Base {
|
|
152 |
$this->add_responsive_control(
|
153 |
'field_padding',
|
154 |
[
|
155 |
-
'label' => __( 'Padding', '
|
156 |
'type' => Controls_Manager::DIMENSIONS,
|
157 |
'size_units' => [ 'px', 'em', '%' ],
|
158 |
'selectors' => [
|
@@ -164,7 +165,7 @@ class CF7 extends Base {
|
|
164 |
$this->add_responsive_control(
|
165 |
'field_border_radius',
|
166 |
[
|
167 |
-
'label' => __( 'Border Radius', '
|
168 |
'type' => Controls_Manager::DIMENSIONS,
|
169 |
'size_units' => [ 'px', '%' ],
|
170 |
'selectors' => [
|
@@ -185,7 +186,7 @@ class CF7 extends Base {
|
|
185 |
Group_Control_Typography::get_type(),
|
186 |
[
|
187 |
'name' => 'field_typography',
|
188 |
-
'label' => __( 'Typography', '
|
189 |
'selector' => '{{WRAPPER}} .wpcf7-form-control:not(.wpcf7-submit)',
|
190 |
]
|
191 |
);
|
@@ -193,7 +194,7 @@ class CF7 extends Base {
|
|
193 |
$this->add_control(
|
194 |
'field_color',
|
195 |
[
|
196 |
-
'label' => __( 'Text Color', '
|
197 |
'type' => Controls_Manager::COLOR,
|
198 |
'selectors' => [
|
199 |
'{{WRAPPER}} .wpcf7-form-control:not(.wpcf7-submit)' => 'color: {{VALUE}}',
|
@@ -204,7 +205,7 @@ class CF7 extends Base {
|
|
204 |
$this->add_control(
|
205 |
'field_placeholder_color',
|
206 |
[
|
207 |
-
'label' => __( 'Placeholder Text Color', '
|
208 |
'type' => Controls_Manager::COLOR,
|
209 |
'selectors' => [
|
210 |
'{{WRAPPER}} ::-webkit-input-placeholder' => 'color: {{VALUE}};',
|
@@ -219,7 +220,7 @@ class CF7 extends Base {
|
|
219 |
$this->start_controls_tab(
|
220 |
'tab_field_normal',
|
221 |
[
|
222 |
-
'label' => __( 'Normal', '
|
223 |
]
|
224 |
);
|
225 |
|
@@ -242,7 +243,7 @@ class CF7 extends Base {
|
|
242 |
$this->add_control(
|
243 |
'field_bg_color',
|
244 |
[
|
245 |
-
'label' => __( 'Background Color', '
|
246 |
'type' => Controls_Manager::COLOR,
|
247 |
'selectors' => [
|
248 |
'{{WRAPPER}} .wpcf7-form-control:not(.wpcf7-submit)' => 'background-color: {{VALUE}}',
|
@@ -255,7 +256,7 @@ class CF7 extends Base {
|
|
255 |
$this->start_controls_tab(
|
256 |
'tab_field_focus',
|
257 |
[
|
258 |
-
'label' => __( 'Focus', '
|
259 |
]
|
260 |
);
|
261 |
|
@@ -281,7 +282,7 @@ class CF7 extends Base {
|
|
281 |
$this->add_control(
|
282 |
'field_focus_bg_color',
|
283 |
[
|
284 |
-
'label' => __( 'Background Color', '
|
285 |
'type' => Controls_Manager::COLOR,
|
286 |
'selectors' => [
|
287 |
'{{WRAPPER}} .wpcf7-form-control:not(.wpcf7-submit):focus' => 'background-color: {{VALUE}}',
|
@@ -298,7 +299,7 @@ class CF7 extends Base {
|
|
298 |
$this->start_controls_section(
|
299 |
'cf7-form-label',
|
300 |
[
|
301 |
-
'label' => __( 'Form Fields Label', '
|
302 |
'tab' => Controls_Manager::TAB_STYLE,
|
303 |
]
|
304 |
);
|
@@ -306,7 +307,7 @@ class CF7 extends Base {
|
|
306 |
$this->add_responsive_control(
|
307 |
'label_margin',
|
308 |
[
|
309 |
-
'label' => __( 'Spacing Bottom', '
|
310 |
'type' => Controls_Manager::SLIDER,
|
311 |
'size_units' => [ 'px' ],
|
312 |
'range' => [
|
@@ -333,7 +334,7 @@ class CF7 extends Base {
|
|
333 |
Group_Control_Typography::get_type(),
|
334 |
[
|
335 |
'name' => 'label_typography',
|
336 |
-
'label' => __( 'Typography', '
|
337 |
'selector' => '{{WRAPPER}} label',
|
338 |
]
|
339 |
);
|
@@ -341,7 +342,7 @@ class CF7 extends Base {
|
|
341 |
$this->add_control(
|
342 |
'label_color',
|
343 |
[
|
344 |
-
'label' => __( 'Text Color', '
|
345 |
'type' => Controls_Manager::COLOR,
|
346 |
'selectors' => [
|
347 |
'{{WRAPPER}} label' => 'color: {{VALUE}}',
|
@@ -354,7 +355,7 @@ class CF7 extends Base {
|
|
354 |
$this->start_controls_section(
|
355 |
'submit',
|
356 |
[
|
357 |
-
'label' => __( 'Submit Button', '
|
358 |
'tab' => Controls_Manager::TAB_STYLE,
|
359 |
]
|
360 |
);
|
@@ -362,7 +363,7 @@ class CF7 extends Base {
|
|
362 |
$this->add_responsive_control(
|
363 |
'submit_margin',
|
364 |
[
|
365 |
-
'label' => __( 'Margin', '
|
366 |
'type' => Controls_Manager::DIMENSIONS,
|
367 |
'size_units' => [ 'px', '%' ],
|
368 |
'selectors' => [
|
@@ -374,7 +375,7 @@ class CF7 extends Base {
|
|
374 |
$this->add_responsive_control(
|
375 |
'submit_padding',
|
376 |
[
|
377 |
-
'label' => __( 'Padding', '
|
378 |
'type' => Controls_Manager::DIMENSIONS,
|
379 |
'size_units' => [ 'px', 'em', '%' ],
|
380 |
'selectors' => [
|
@@ -402,7 +403,7 @@ class CF7 extends Base {
|
|
402 |
$this->add_control(
|
403 |
'submit_border_radius',
|
404 |
[
|
405 |
-
'label' => __( 'Border Radius', '
|
406 |
'type' => Controls_Manager::DIMENSIONS,
|
407 |
'size_units' => [ 'px', '%' ],
|
408 |
'selectors' => [
|
@@ -432,14 +433,14 @@ class CF7 extends Base {
|
|
432 |
$this->start_controls_tab(
|
433 |
'tab_button_normal',
|
434 |
[
|
435 |
-
'label' => __( 'Normal', '
|
436 |
]
|
437 |
);
|
438 |
|
439 |
$this->add_control(
|
440 |
'submit_color',
|
441 |
[
|
442 |
-
'label' => __( 'Text Color', '
|
443 |
'type' => Controls_Manager::COLOR,
|
444 |
'default' => '',
|
445 |
'selectors' => [
|
@@ -451,7 +452,7 @@ class CF7 extends Base {
|
|
451 |
$this->add_control(
|
452 |
'submit_bg_color',
|
453 |
[
|
454 |
-
'label' => __( 'Background Color', '
|
455 |
'type' => Controls_Manager::COLOR,
|
456 |
'selectors' => [
|
457 |
'{{WRAPPER}} .wpcf7-submit' => 'background-color: {{VALUE}};',
|
@@ -464,14 +465,14 @@ class CF7 extends Base {
|
|
464 |
$this->start_controls_tab(
|
465 |
'tab_button_hover',
|
466 |
[
|
467 |
-
'label' => __( 'Hover', '
|
468 |
]
|
469 |
);
|
470 |
|
471 |
$this->add_control(
|
472 |
'submit_hover_color',
|
473 |
[
|
474 |
-
'label' => __( 'Text Color', '
|
475 |
'type' => Controls_Manager::COLOR,
|
476 |
'selectors' => [
|
477 |
'{{WRAPPER}} .wpcf7-submit:hover, {{WRAPPER}} .wpcf7-submit:focus' => 'color: {{VALUE}};',
|
@@ -482,7 +483,7 @@ class CF7 extends Base {
|
|
482 |
$this->add_control(
|
483 |
'submit_hover_bg_color',
|
484 |
[
|
485 |
-
'label' => __( 'Background Color', '
|
486 |
'type' => Controls_Manager::COLOR,
|
487 |
'selectors' => [
|
488 |
'{{WRAPPER}} .wpcf7-submit:hover, {{WRAPPER}} .wpcf7-submit:focus' => 'background-color: {{VALUE}};',
|
@@ -493,7 +494,7 @@ class CF7 extends Base {
|
|
493 |
$this->add_control(
|
494 |
'submit_hover_border_color',
|
495 |
[
|
496 |
-
'label' => __( 'Border Color', '
|
497 |
'type' => Controls_Manager::COLOR,
|
498 |
'selectors' => [
|
499 |
'{{WRAPPER}} .wpcf7-submit:hover, {{WRAPPER}} .wpcf7-submit:focus' => 'border-color: {{VALUE}};',
|
24 |
* @return string Widget title.
|
25 |
*/
|
26 |
public function get_title() {
|
27 |
+
return __( 'Contact Form 7', 'happy-elementor-addons' );
|
28 |
}
|
29 |
|
30 |
/**
|
47 |
$this->start_controls_section(
|
48 |
'_section_cf7',
|
49 |
[
|
50 |
+
'label' => ha_is_cf7_activated() ? __( 'Contact Form 7', 'happy-elementor-addons' ) : __( 'Notice', 'happy-elementor-addons' ),
|
51 |
'tab' => Controls_Manager::TAB_CONTENT,
|
52 |
]
|
53 |
);
|
58 |
[
|
59 |
'type' => Controls_Manager::RAW_HTML,
|
60 |
'raw' => sprintf(
|
61 |
+
__( 'Hi, it seems %1$s is missing in your site. Please install and activate %1$s first.', 'happy-elementor-addons' ),
|
62 |
'<a href="https://wordpress.org/plugins/contact-form-7/" target="_blank" rel="noopener">Contact Form 7</a>'
|
63 |
+
),
|
64 |
+
'content_classes' => 'elementor-panel-alert elementor-panel-alert-warning',
|
65 |
]
|
66 |
);
|
67 |
$this->end_controls_section();
|
71 |
$this->add_control(
|
72 |
'form_id',
|
73 |
[
|
74 |
+
'label' => __( 'Select Your Form', 'happy-elementor-addons' ),
|
75 |
'type' => Controls_Manager::SELECT,
|
76 |
'label_block' => true,
|
77 |
+
'options' => ['' => __( '', 'happy-elementor-addons' ) ] + \ha_get_cf7_forms(),
|
78 |
]
|
79 |
);
|
80 |
|
81 |
$this->add_control(
|
82 |
'html_class',
|
83 |
[
|
84 |
+
'label' => __( 'HTML Class', 'happy-elementor-addons' ),
|
85 |
'type' => Controls_Manager::TEXT,
|
86 |
'label_block' => true,
|
87 |
+
'description' => __( 'Add CSS custom class to the form.', 'happy-elementor-addons' ),
|
88 |
]
|
89 |
);
|
90 |
|
95 |
$this->start_controls_section(
|
96 |
'_section_fields_style',
|
97 |
[
|
98 |
+
'label' => __( 'Form Fields', 'happy-elementor-addons' ),
|
99 |
'tab' => Controls_Manager::TAB_STYLE,
|
100 |
]
|
101 |
);
|
103 |
$this->add_responsive_control(
|
104 |
'field_width',
|
105 |
[
|
106 |
+
'label' => __( 'Width', 'happy-elementor-addons' ),
|
107 |
'type' => Controls_Manager::SLIDER,
|
108 |
'default' => [
|
109 |
'unit' => '%',
|
135 |
$this->add_responsive_control(
|
136 |
'field_margin',
|
137 |
[
|
138 |
+
'label' => __( 'Spacing Bottom', 'happy-elementor-addons' ),
|
139 |
'type' => Controls_Manager::SLIDER,
|
140 |
'size_units' => [ 'px' ],
|
141 |
'range' => [
|
153 |
$this->add_responsive_control(
|
154 |
'field_padding',
|
155 |
[
|
156 |
+
'label' => __( 'Padding', 'happy-elementor-addons' ),
|
157 |
'type' => Controls_Manager::DIMENSIONS,
|
158 |
'size_units' => [ 'px', 'em', '%' ],
|
159 |
'selectors' => [
|
165 |
$this->add_responsive_control(
|
166 |
'field_border_radius',
|
167 |
[
|
168 |
+
'label' => __( 'Border Radius', 'happy-elementor-addons' ),
|
169 |
'type' => Controls_Manager::DIMENSIONS,
|
170 |
'size_units' => [ 'px', '%' ],
|
171 |
'selectors' => [
|
186 |
Group_Control_Typography::get_type(),
|
187 |
[
|
188 |
'name' => 'field_typography',
|
189 |
+
'label' => __( 'Typography', 'happy-elementor-addons' ),
|
190 |
'selector' => '{{WRAPPER}} .wpcf7-form-control:not(.wpcf7-submit)',
|
191 |
]
|
192 |
);
|
194 |
$this->add_control(
|
195 |
'field_color',
|
196 |
[
|
197 |
+
'label' => __( 'Text Color', 'happy-elementor-addons' ),
|
198 |
'type' => Controls_Manager::COLOR,
|
199 |
'selectors' => [
|
200 |
'{{WRAPPER}} .wpcf7-form-control:not(.wpcf7-submit)' => 'color: {{VALUE}}',
|
205 |
$this->add_control(
|
206 |
'field_placeholder_color',
|
207 |
[
|
208 |
+
'label' => __( 'Placeholder Text Color', 'happy-elementor-addons' ),
|
209 |
'type' => Controls_Manager::COLOR,
|
210 |
'selectors' => [
|
211 |
'{{WRAPPER}} ::-webkit-input-placeholder' => 'color: {{VALUE}};',
|
220 |
$this->start_controls_tab(
|
221 |
'tab_field_normal',
|
222 |
[
|
223 |
+
'label' => __( 'Normal', 'happy-elementor-addons' ),
|
224 |
]
|
225 |
);
|
226 |
|
243 |
$this->add_control(
|
244 |
'field_bg_color',
|
245 |
[
|
246 |
+
'label' => __( 'Background Color', 'happy-elementor-addons' ),
|
247 |
'type' => Controls_Manager::COLOR,
|
248 |
'selectors' => [
|
249 |
'{{WRAPPER}} .wpcf7-form-control:not(.wpcf7-submit)' => 'background-color: {{VALUE}}',
|
256 |
$this->start_controls_tab(
|
257 |
'tab_field_focus',
|
258 |
[
|
259 |
+
'label' => __( 'Focus', 'happy-elementor-addons' ),
|
260 |
]
|
261 |
);
|
262 |
|
282 |
$this->add_control(
|
283 |
'field_focus_bg_color',
|
284 |
[
|
285 |
+
'label' => __( 'Background Color', 'happy-elementor-addons' ),
|
286 |
'type' => Controls_Manager::COLOR,
|
287 |
'selectors' => [
|
288 |
'{{WRAPPER}} .wpcf7-form-control:not(.wpcf7-submit):focus' => 'background-color: {{VALUE}}',
|
299 |
$this->start_controls_section(
|
300 |
'cf7-form-label',
|
301 |
[
|
302 |
+
'label' => __( 'Form Fields Label', 'happy-elementor-addons' ),
|
303 |
'tab' => Controls_Manager::TAB_STYLE,
|
304 |
]
|
305 |
);
|
307 |
$this->add_responsive_control(
|
308 |
'label_margin',
|
309 |
[
|
310 |
+
'label' => __( 'Spacing Bottom', 'happy-elementor-addons' ),
|
311 |
'type' => Controls_Manager::SLIDER,
|
312 |
'size_units' => [ 'px' ],
|
313 |
'range' => [
|
334 |
Group_Control_Typography::get_type(),
|
335 |
[
|
336 |
'name' => 'label_typography',
|
337 |
+
'label' => __( 'Typography', 'happy-elementor-addons' ),
|
338 |
'selector' => '{{WRAPPER}} label',
|
339 |
]
|
340 |
);
|
342 |
$this->add_control(
|
343 |
'label_color',
|
344 |
[
|
345 |
+
'label' => __( 'Text Color', 'happy-elementor-addons' ),
|
346 |
'type' => Controls_Manager::COLOR,
|
347 |
'selectors' => [
|
348 |
'{{WRAPPER}} label' => 'color: {{VALUE}}',
|
355 |
$this->start_controls_section(
|
356 |
'submit',
|
357 |
[
|
358 |
+
'label' => __( 'Submit Button', 'happy-elementor-addons' ),
|
359 |
'tab' => Controls_Manager::TAB_STYLE,
|
360 |
]
|
361 |
);
|
363 |
$this->add_responsive_control(
|
364 |
'submit_margin',
|
365 |
[
|
366 |
+
'label' => __( 'Margin', 'happy-elementor-addons' ),
|
367 |
'type' => Controls_Manager::DIMENSIONS,
|
368 |
'size_units' => [ 'px', '%' ],
|
369 |
'selectors' => [
|
375 |
$this->add_responsive_control(
|
376 |
'submit_padding',
|
377 |
[
|
378 |
+
'label' => __( 'Padding', 'happy-elementor-addons' ),
|
379 |
'type' => Controls_Manager::DIMENSIONS,
|
380 |
'size_units' => [ 'px', 'em', '%' ],
|
381 |
'selectors' => [
|
403 |
$this->add_control(
|
404 |
'submit_border_radius',
|
405 |
[
|
406 |
+
'label' => __( 'Border Radius', 'happy-elementor-addons' ),
|
407 |
'type' => Controls_Manager::DIMENSIONS,
|
408 |
'size_units' => [ 'px', '%' ],
|
409 |
'selectors' => [
|
433 |
$this->start_controls_tab(
|
434 |
'tab_button_normal',
|
435 |
[
|
436 |
+
'label' => __( 'Normal', 'happy-elementor-addons' ),
|
437 |
]
|
438 |
);
|
439 |
|
440 |
$this->add_control(
|
441 |
'submit_color',
|
442 |
[
|
443 |
+
'label' => __( 'Text Color', 'happy-elementor-addons' ),
|
444 |
'type' => Controls_Manager::COLOR,
|
445 |
'default' => '',
|
446 |
'selectors' => [
|
452 |
$this->add_control(
|
453 |
'submit_bg_color',
|
454 |
[
|
455 |
+
'label' => __( 'Background Color', 'happy-elementor-addons' ),
|
456 |
'type' => Controls_Manager::COLOR,
|
457 |
'selectors' => [
|
458 |
'{{WRAPPER}} .wpcf7-submit' => 'background-color: {{VALUE}};',
|
465 |
$this->start_controls_tab(
|
466 |
'tab_button_hover',
|
467 |
[
|
468 |
+
'label' => __( 'Hover', 'happy-elementor-addons' ),
|
469 |
]
|
470 |
);
|
471 |
|
472 |
$this->add_control(
|
473 |
'submit_hover_color',
|
474 |
[
|
475 |
+
'label' => __( 'Text Color', 'happy-elementor-addons' ),
|
476 |
'type' => Controls_Manager::COLOR,
|
477 |
'selectors' => [
|
478 |
'{{WRAPPER}} .wpcf7-submit:hover, {{WRAPPER}} .wpcf7-submit:focus' => 'color: {{VALUE}};',
|
483 |
$this->add_control(
|
484 |
'submit_hover_bg_color',
|
485 |
[
|
486 |
+
'label' => __( 'Background Color', 'happy-elementor-addons' ),
|
487 |
'type' => Controls_Manager::COLOR,
|
488 |
'selectors' => [
|
489 |
'{{WRAPPER}} .wpcf7-submit:hover, {{WRAPPER}} .wpcf7-submit:focus' => 'background-color: {{VALUE}};',
|
494 |
$this->add_control(
|
495 |
'submit_hover_border_color',
|
496 |
[
|
497 |
+
'label' => __( 'Border Color', 'happy-elementor-addons' ),
|
498 |
'type' => Controls_Manager::COLOR,
|
499 |
'selectors' => [
|
500 |
'{{WRAPPER}} .wpcf7-submit:hover, {{WRAPPER}} .wpcf7-submit:focus' => 'border-color: {{VALUE}};',
|
widgets/dual-button/widget.php
ADDED
@@ -0,0 +1,855 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dual Button widget class
|
4 |
+
*
|
5 |
+
* @package Happy_Addons
|
6 |
+
*/
|
7 |
+
namespace Happy_Addons\Elementor\Widget;
|
8 |
+
|
9 |
+
use Elementor\Controls_Manager;
|
10 |
+
use Elementor\Group_Control_Border;
|
11 |
+
use Elementor\Group_Control_Box_Shadow;
|
12 |
+
use Elementor\Group_Control_Typography;
|
13 |
+
use Elementor\Scheme_Typography;
|
14 |
+
|
15 |
+
defined( 'ABSPATH' ) || die();
|
16 |
+
|
17 |
+
class Dual_Button extends Base {
|
18 |
+
|
19 |
+
/**
|
20 |
+
* Get widget title.
|
21 |
+
*
|
22 |
+
* @since 1.0.0
|
23 |
+
* @access public
|
24 |
+
*
|
25 |
+
* @return string Widget title.
|
26 |
+
*/
|
27 |
+
public function get_title() {
|
28 |
+
return __( 'Dual Button', 'happy-elementor-addons' );
|
29 |
+
}
|
30 |
+
|
31 |
+
/**
|
32 |
+
* Get widget icon.
|
33 |
+
*
|
34 |
+
* @since 1.0.0
|
35 |
+
* @access public
|
36 |
+
*
|
37 |
+
* @return string Widget icon.
|
38 |
+
*/
|
39 |
+
public function get_icon() {
|
40 |
+
return 'hm hm-accordion-horizontal';
|
41 |
+
}
|
42 |
+
|
43 |
+
public function get_keywords() {
|
44 |
+
return [ 'button', 'btn', 'dual', 'advance', 'link' ];
|
45 |
+
}
|
46 |
+
|
47 |
+
protected function register_content_controls() {
|
48 |
+
$this->start_controls_section(
|
49 |
+
'_section_button',
|
50 |
+
[
|
51 |
+
'label' => __( 'Dual Buttons', 'happy-elementor-addons' ),
|
52 |
+
'tab' => Controls_Manager::TAB_CONTENT,
|
53 |
+
]
|
54 |
+
);
|
55 |
+
|
56 |
+
$this->start_controls_tabs( '_tabs_buttons' );
|
57 |
+
|
58 |
+
$this->start_controls_tab(
|
59 |
+
'_tab_button_left',
|
60 |
+
[
|
61 |
+
'label' => __( 'Left', 'happy-elementor-addons' ),
|
62 |
+
]
|
63 |
+
);
|
64 |
+
|
65 |
+
$this->add_control(
|
66 |
+
'left_button_text',
|
67 |
+
[
|
68 |
+
'label' => __( 'Text', 'happy-elementor-addons' ),
|
69 |
+
'label_block'=> true,
|
70 |
+
'type' => Controls_Manager::TEXT,
|
71 |
+
'default' => __( 'Button Text', 'happy-elementor-addons' )
|
72 |
+
]
|
73 |
+
);
|
74 |
+
|
75 |
+
$this->add_control(
|
76 |
+
'left_button_link',
|
77 |
+
[
|
78 |
+
'label' => __( 'Link', 'happy-elementor-addons' ),
|
79 |
+
'type' => Controls_Manager::URL,
|
80 |
+
]
|
81 |
+
);
|
82 |
+
|
83 |
+
$this->add_control(
|
84 |
+
'left_button_icon',
|
85 |
+
[
|
86 |
+
'label' => __( 'Icon', 'happy-elementor-addons' ),
|
87 |
+
'type' => Controls_Manager::ICON,
|
88 |
+
'options' => ha_get_happy_icons(),
|
89 |
+
]
|
90 |
+
);
|
91 |
+
|
92 |
+
$this->add_control(
|
93 |
+
'left_button_icon_position',
|
94 |
+
[
|
95 |
+
'label' => __( 'Icon Position', 'happy-elementor-addons' ),
|
96 |
+
'type' => Controls_Manager::CHOOSE,
|
97 |
+
'label_block' => false,
|
98 |
+
'options' => [
|
99 |
+
'before' => [
|
100 |
+
'title' => __( 'Before', 'happy-elementor-addons' ),
|
101 |
+
'icon' => 'eicon-h-align-left',
|
102 |
+
],
|
103 |
+
'after' => [
|
104 |
+
'title' => __( 'After', 'happy-elementor-addons' ),
|
105 |
+
'icon' => 'eicon-h-align-right',
|
106 |
+
]
|
107 |
+
],
|
108 |
+
'toggle' => false,
|
109 |
+
'default' => 'before',
|
110 |
+
'condition' => [
|
111 |
+
'left_button_icon!' => '',
|
112 |
+
]
|
113 |
+
]
|
114 |
+
);
|
115 |
+
|
116 |
+
$this->add_control(
|
117 |
+
'left_button_icon_spacing',
|
118 |
+
[
|
119 |
+
'label' => __( 'Icon Spacing', 'happy-elementor-addons' ),
|
120 |
+
'type' => Controls_Manager::SLIDER,
|
121 |
+
'condition' => [
|
122 |
+
'left_button_icon!' => '',
|
123 |
+
],
|
124 |
+
'selectors' => [
|
125 |
+
'{{WRAPPER}} .ha-dual-btn--left .ha-dual-btn-icon--before' => 'margin-right: {{SIZE}}{{UNIT}};',
|
126 |
+
'{{WRAPPER}} .ha-dual-btn--left .ha-dual-btn-icon--after' => 'margin-left: {{SIZE}}{{UNIT}};',
|
127 |
+
],
|
128 |
+
]
|
129 |
+
);
|
130 |
+
|
131 |
+
$this->end_controls_tab();
|
132 |
+
|
133 |
+
$this->start_controls_tab(
|
134 |
+
'_tab_button_connector',
|
135 |
+
[
|
136 |
+
'label' => __( 'Connector', 'happy-elementor-addons' ),
|
137 |
+
]
|
138 |
+
);
|
139 |
+
|
140 |
+
$this->add_control(
|
141 |
+
'button_connector_hide',
|
142 |
+
[
|
143 |
+
'label' => __( 'Hide Connector?', 'happy-elementor-addons' ),
|
144 |
+
'type' => Controls_Manager::SWITCHER,
|
145 |
+
'label_on' => __( 'Hide', 'happy-elementor-addons' ),
|
146 |
+
'label_off' => __( 'Show', 'happy-elementor-addons' ),
|
147 |
+
]
|
148 |
+
);
|
149 |
+
|
150 |
+
$this->add_control(
|
151 |
+
'button_connector_type',
|
152 |
+
[
|
153 |
+
'label' => __( 'Connector Type', 'happy-elementor-addons' ),
|
154 |
+
'type' => Controls_Manager::CHOOSE,
|
155 |
+
'label_block' => false,
|
156 |
+
'options' => [
|
157 |
+
'text' => [
|
158 |
+
'title' => __( 'Text', 'happy-elementor-addons' ),
|
159 |
+
'icon' => 'fa fa-text-width',
|
160 |
+
],
|
161 |
+
'icon' => [
|
162 |
+
'title' => __( 'Icon', 'happy-elementor-addons' ),
|
163 |
+
'icon' => 'fa fa-star',
|
164 |
+
]
|
165 |
+
],
|
166 |
+
'toggle' => false,
|
167 |
+
'default' => 'text',
|
168 |
+
'condition' => [
|
169 |
+
'button_connector_hide!' => 'yes',
|
170 |
+
]
|
171 |
+
]
|
172 |
+
);
|
173 |
+
|
174 |
+
$this->add_control(
|
175 |
+
'button_connector_text',
|
176 |
+
[
|
177 |
+
'label' => __( 'Text', 'happy-elementor-addons' ),
|
178 |
+
'type' => Controls_Manager::TEXT,
|
179 |
+
'default' => __( 'Or', 'happy-elementor-addons' ),
|
180 |
+
'condition' => [
|
181 |
+
'button_connector_hide!' => 'yes',
|
182 |
+
'button_connector_type' => 'text',
|
183 |
+
]
|
184 |
+
]
|
185 |
+
);
|
186 |
+
|
187 |
+
$this->add_control(
|
188 |
+
'button_connector_icon',
|
189 |
+
[
|
190 |
+
'label' => __( 'Icon', 'happy-elementor-addons' ),
|
191 |
+
'type' => Controls_Manager::ICON,
|
192 |
+
'options' => ha_get_happy_icons(),
|
193 |
+
'condition' => [
|
194 |
+
'button_connector_hide!' => 'yes',
|
195 |
+
'button_connector_type' => 'icon',
|
196 |
+
]
|
197 |
+
]
|
198 |
+
);
|
199 |
+
|
200 |
+
$this->end_controls_tab();
|
201 |
+
|
202 |
+
$this->start_controls_tab(
|
203 |
+
'_tab_button_right',
|
204 |
+
[
|
205 |
+
'label' => __( 'Right', 'happy-elementor-addons' ),
|
206 |
+
]
|
207 |
+
);
|
208 |
+
|
209 |
+
$this->add_control(
|
210 |
+
'right_button_text',
|
211 |
+
[
|
212 |
+
'label' => __( 'Text', 'happy-elementor-addons' ),
|
213 |
+
'label_block'=> true,
|
214 |
+
'type' => Controls_Manager::TEXT,
|
215 |
+
'default' => __( 'Button Text', 'happy-elementor-addons' )
|
216 |
+
]
|
217 |
+
);
|
218 |
+
|
219 |
+
$this->add_control(
|
220 |
+
'right_button_link',
|
221 |
+
[
|
222 |
+
'label' => __( 'Link', 'happy-elementor-addons' ),
|
223 |
+
'type' => Controls_Manager::URL
|
224 |
+
]
|
225 |
+
);
|
226 |
+
|
227 |
+
$this->add_control(
|
228 |
+
'right_button_icon',
|
229 |
+
[
|
230 |
+
'label' => __( 'Icon', 'happy-elementor-addons' ),
|
231 |
+
'type' => Controls_Manager::ICON,
|
232 |
+
'options' => ha_get_happy_icons(),
|
233 |
+
]
|
234 |
+
);
|
235 |
+
|
236 |
+
$this->add_control(
|
237 |
+
'right_button_icon_position',
|
238 |
+
[
|
239 |
+
'label' => __( 'Icon Position', 'happy-elementor-addons' ),
|
240 |
+
'type' => Controls_Manager::CHOOSE,
|
241 |
+
'label_block' => false,
|
242 |
+
'options' => [
|
243 |
+
'before' => [
|
244 |
+
'title' => __( 'Before', 'happy-elementor-addons' ),
|
245 |
+
'icon' => 'eicon-h-align-left',
|
246 |
+
],
|
247 |
+
'after' => [
|
248 |
+
'title' => __( 'After', 'happy-elementor-addons' ),
|
249 |
+
'icon' => 'eicon-h-align-right',
|
250 |
+
]
|
251 |
+
],
|
252 |
+
'toggle' => false,
|
253 |
+
'default' => 'after',
|
254 |
+
'condition' => [
|
255 |
+
'right_button_icon!' => ''
|
256 |
+
]
|
257 |
+
]
|
258 |
+
);
|
259 |
+
|
260 |
+
$this->add_control(
|
261 |
+
'right_button_icon_spacing',
|
262 |
+
[
|
263 |
+
'label' => __( 'Icon Spacing', 'happy-elementor-addons' ),
|
264 |
+
'type' => Controls_Manager::SLIDER,
|
265 |
+
'condition' => [
|
266 |
+
'right_button_icon!' => '',
|
267 |
+
],
|
268 |
+
'selectors' => [
|
269 |
+
'{{WRAPPER}} .ha-dual-btn--right .ha-dual-btn-icon--before' => 'margin-right: {{SIZE}}{{UNIT}};',
|
270 |
+
'{{WRAPPER}} .ha-dual-btn--right .ha-dual-btn-icon--after' => 'margin-left: {{SIZE}}{{UNIT}};',
|
271 |
+
],
|
272 |
+
]
|
273 |
+
);
|
274 |
+
|
275 |
+
$this->end_controls_tab();
|
276 |
+
$this->end_controls_tabs();
|
277 |
+
|
278 |
+
$this->end_controls_section();
|
279 |
+
}
|
280 |
+
|
281 |
+
protected function register_style_controls() {
|
282 |
+
$this->start_controls_section(
|
283 |
+
'_section_style_common',
|
284 |
+
[
|
285 |
+
'label' => __( 'Common', 'happy-elementor-addons' ),
|
286 |
+
'tab' => Controls_Manager::TAB_STYLE,
|
287 |
+
]
|
288 |
+
);
|
289 |
+
|
290 |
+
$this->add_responsive_control(
|
291 |
+
'button_padding',
|
292 |
+
[
|
293 |
+
'label' => __( 'Padding', 'happy-elementor-addons' ),
|
294 |
+
'type' => Controls_Manager::DIMENSIONS,
|
295 |
+
'size_units' => ['px', 'em', '%'],
|
296 |
+
'selectors' => [
|
297 |
+
'{{WRAPPER}} .ha-dual-btn' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
298 |
+
],
|
299 |
+
]
|
300 |
+
);
|
301 |
+
|
302 |
+
$this->add_responsive_control(
|
303 |
+
'button_gap',
|
304 |
+
[
|
305 |
+
'label' => __( 'Space Between Buttons', 'happy-elementor-addons' ),
|
306 |
+
'type' => Controls_Manager::SLIDER,
|
307 |
+
'size_units' => ['px'],
|
308 |
+
'selectors' => [
|
309 |
+
'{{WRAPPER}} .ha-dual-btn--left' => 'margin-right: calc({{SIZE}}{{UNIT}}/2);',
|
310 |
+
'{{WRAPPER}} .ha-dual-btn--right' => 'margin-left: calc({{SIZE}}{{UNIT}}/2);',
|
311 |
+
],
|
312 |
+
]
|
313 |
+
);
|
314 |
+
|
315 |
+
$this->add_group_control(
|
316 |
+
Group_Control_Typography::get_type(),
|
317 |
+
[
|
318 |
+
'name' => 'button_typography',
|
319 |
+
'label' => __( 'Typography', 'happy-elementor-addons' ),
|
320 |
+
'selector' => '{{WRAPPER}} .ha-dual-btn',
|
321 |
+
'scheme' => Scheme_Typography::TYPOGRAPHY_4,
|
322 |
+
]
|
323 |
+
);
|
324 |
+
|
325 |
+
$this->add_group_control(
|
326 |
+
Group_Control_Box_Shadow::get_type(),
|
327 |
+
[
|
328 |
+
'name' => 'button_box_shadow',
|
329 |
+
'selector' => '{{WRAPPER}} .ha-dual-btn'
|
330 |
+
]
|
331 |
+
);
|
332 |
+
|
333 |
+
$this->add_control(
|
334 |
+
'button_align_x',
|
335 |
+
[
|
336 |
+
'label' => __( 'Horizontal Alignment', 'happy-elementor-addons' ),
|
337 |
+
'type' => Controls_Manager::CHOOSE,
|
338 |
+
'label_block' => false,
|
339 |
+
'options' => [
|
340 |
+
'flex-start' => [
|
341 |
+
'title' => __( 'Left', 'happy-elementor-addons' ),
|
342 |
+
'icon' => 'eicon-h-align-left',
|
343 |
+
],
|
344 |
+
'center' => [
|
345 |
+
'title' => __( 'Center', 'happy-elementor-addons' ),
|
346 |
+
'icon' => 'eicon-h-align-center',
|
347 |
+
],
|
348 |
+
'flex-end' => [
|
349 |
+
'title' => __( 'Right', 'happy-elementor-addons' ),
|
350 |
+
'icon' => 'eicon-h-align-right',
|
351 |
+
]
|
352 |
+
],
|
353 |
+
'toggle' => true,
|
354 |
+
'selectors' => [
|
355 |
+
'{{WRAPPER}} .elementor-widget-container' => 'justify-content: {{VALUE}};',
|
356 |
+
],
|
357 |
+
]
|
358 |
+
);
|
359 |
+
|
360 |
+
$this->add_control(
|
361 |
+
'button_align_y',
|
362 |
+
[
|
363 |
+
'label' => __( 'Vertical Alignment', 'happy-elementor-addons' ),
|
364 |
+
'description' => __( 'Only works when buttons have different height', 'happy-elementor-addons' ),
|
365 |
+
'type' => Controls_Manager::CHOOSE,
|
366 |
+
'label_block' => false,
|
367 |
+
'options' => [
|
368 |
+
'flex-start' => [
|
369 |
+
'title' => __( 'Left', 'happy-elementor-addons' ),
|
370 |
+
'icon' => 'eicon-v-align-top',
|
371 |
+
],
|
372 |
+
'center' => [
|
373 |
+
'title' => __( 'Center', 'happy-elementor-addons' ),
|
374 |
+
'icon' => 'eicon-v-align-middle',
|
375 |
+
],
|
376 |
+
'flex-end' => [
|
377 |
+
'title' => __( 'Right', 'happy-elementor-addons' ),
|
378 |
+
'icon' => 'eicon-v-align-bottom',
|
379 |
+
]
|
380 |
+
],
|
381 |
+
'toggle' => true,
|
382 |
+
'selectors' => [
|
383 |
+
'{{WRAPPER}} .elementor-widget-container' => 'align-items: {{VALUE}};',
|
384 |
+
],
|
385 |
+
]
|
386 |
+
);
|
387 |
+
|
388 |
+
$this->end_controls_section();
|
389 |
+
|
390 |
+
$this->start_controls_section(
|
391 |
+
'_section_style_left_button',
|
392 |
+
[
|
393 |
+
'label' => __( 'Left Button', 'happy-elementor-addons' ),
|
394 |
+
'tab' => Controls_Manager::TAB_STYLE,
|
395 |
+
]
|
396 |
+
);
|
397 |
+
|
398 |
+
$this->add_responsive_control(
|
399 |
+
'left_button_padding',
|
400 |
+
[
|
401 |
+
'label' => __( 'Padding', 'happy-elementor-addons' ),
|
402 |
+
'type' => Controls_Manager::DIMENSIONS,
|
403 |
+
'size_units' => ['px', 'em', '%'],
|
404 |
+
'selectors' => [
|
405 |
+
'{{WRAPPER}} .ha-dual-btn--left' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
406 |
+
],
|
407 |
+
]
|
408 |
+
);
|
409 |
+
|
410 |
+
$this->add_group_control(
|
411 |
+
Group_Control_Border::get_type(),
|
412 |
+
[
|
413 |
+
'name' => 'left_button_border',
|
414 |
+
'selector' => '{{WRAPPER}} .ha-dual-btn--left'
|
415 |
+
]
|
416 |
+
);
|
417 |
+
|
418 |
+
$this->add_responsive_control(
|
419 |
+
'left_button_border_radius',
|
420 |
+
[
|
421 |
+
'label' => __( 'Border Radius', 'happy-elementor-addons' ),
|
422 |
+
'type' => Controls_Manager::DIMENSIONS,
|
423 |
+
'size_units' => [ 'px', '%' ],
|
424 |
+
'selectors' => [
|
425 |
+
'{{WRAPPER}} .ha-dual-btn--left' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
426 |
+
],
|
427 |
+
]
|
428 |
+
);
|
429 |
+
|
430 |
+
$this->add_group_control(
|
431 |
+
Group_Control_Typography::get_type(),
|
432 |
+
[
|
433 |
+
'name' => 'left_button_typography',
|
434 |
+
'label' => __( 'Typography', 'happy-elementor-addons' ),
|
435 |
+
'selector' => '{{WRAPPER}} .ha-dual-btn--left',
|
436 |
+
'scheme' => Scheme_Typography::TYPOGRAPHY_4,
|
437 |
+
]
|
438 |
+
);
|
439 |
+
|
440 |
+
$this->add_group_control(
|
441 |
+
Group_Control_Box_Shadow::get_type(),
|
442 |
+
[
|
443 |
+
'name' => 'left_button_box_shadow',
|
444 |
+
'selector' => '{{WRAPPER}} .ha-dual-btn--left'
|
445 |
+
]
|
446 |
+
);
|
447 |
+
|
448 |
+
$this->start_controls_tabs( '_tabs_left_button' );
|
449 |
+
|
450 |
+
$this->start_controls_tab(
|
451 |
+
'_tab_left_button_normal',
|
452 |
+
[
|
453 |
+
'label' => __( 'Normal', 'happy-elementor-addons' ),
|
454 |
+
]
|
455 |
+
);
|
456 |
+
|
457 |
+
$this->add_control(
|
458 |
+
'left_button_bg_color',
|
459 |
+
[
|
460 |
+
'label' => __( 'Background Color', 'happy-elementor-addons' ),
|
461 |
+
'type' => Controls_Manager::COLOR,
|
462 |
+
'selectors' => [
|
463 |
+
'{{WRAPPER}} .ha-dual-btn--left' => 'background-color: {{VALUE}}',
|
464 |
+
],
|
465 |
+
]
|
466 |
+
);
|
467 |
+
|
468 |
+
$this->add_control(
|
469 |
+
'left_button_text_color',
|
470 |
+
[
|
471 |
+
'label' => __( 'Text Color', 'happy-elementor-addons' ),
|
472 |
+
'type' => Controls_Manager::COLOR,
|
473 |
+
'selectors' => [
|
474 |
+
'{{WRAPPER}} .ha-dual-btn--left' => 'color: {{VALUE}}',
|
475 |
+
],
|
476 |
+
]
|
477 |
+
);
|
478 |
+
|
479 |
+
$this->end_controls_tab();
|
480 |
+
|
481 |
+
$this->start_controls_tab(
|
482 |
+
'_tabs_left_button_hover',
|
483 |
+
[
|
484 |
+
'label' => __( 'Hover', 'happy-elementor-addons' ),
|
485 |
+
]
|
486 |
+
);
|
487 |
+
|
488 |
+
$this->add_control(
|
489 |
+
'left_button_hover_bg_color',
|
490 |
+
[
|
491 |
+
'label' => __( 'Background Color', 'happy-elementor-addons' ),
|
492 |
+
'type' => Controls_Manager::COLOR,
|
493 |
+
'selectors' => [
|
494 |
+
'{{WRAPPER}} .ha-dual-btn--left:hover' => 'background-color: {{VALUE}}',
|
495 |
+
],
|
496 |
+
]
|
497 |
+
);
|
498 |
+
|
499 |
+
$this->add_control(
|
500 |
+
'left_button_hover_text_color',
|
501 |
+
[
|
502 |
+
'label' => __( 'Text Color', 'happy-elementor-addons' ),
|
503 |
+
'type' => Controls_Manager::COLOR,
|
504 |
+
'selectors' => [
|
505 |
+
'{{WRAPPER}} .ha-dual-btn--left:hover' => 'color: {{VALUE}}',
|
506 |
+
],
|
507 |
+
]
|
508 |
+
);
|
509 |
+
|
510 |
+
$this->add_control(
|
511 |
+
'left_button_hover_border_color',
|
512 |
+
[
|
513 |
+
'label' => __( 'Border Color', 'happy-elementor-addons' ),
|
514 |
+
'type' => Controls_Manager::COLOR,
|
515 |
+
'selectors' => [
|
516 |
+
'{{WRAPPER}} .ha-dual-btn--left:hover' => 'border-color: {{VALUE}}',
|
517 |
+
],
|
518 |
+
'condition' => [
|
519 |
+
'left_button_border_border!' => ''
|
520 |
+
]
|
521 |
+
]
|
522 |
+
);
|
523 |
+
|
524 |
+
$this->end_controls_tab();
|
525 |
+
$this->end_controls_tabs();
|
526 |
+
|
527 |
+
$this->end_controls_section();
|
528 |
+
|
529 |
+
$this->start_controls_section(
|
530 |
+
'_section_style_connector',
|
531 |
+
[
|
532 |
+
'label' => __( 'Connector', 'happy-elementor-addons' ),
|
533 |
+
'tab' => Controls_Manager::TAB_STYLE,
|
534 |
+
]
|
535 |
+
);
|
536 |
+
|
537 |
+
$this->add_control(
|
538 |
+
'connector_notice',
|
539 |
+
[
|
540 |
+
'type' => Controls_Manager::RAW_HTML,
|
541 |
+
'raw' => __( 'Connector is hidden now, please enable connector from Content > Connector tab.', 'happy-elementor-addons' ),
|
542 |
+
'content_classes' => 'elementor-panel-alert elementor-panel-alert-info',
|
543 |
+
'condition' => [
|
544 |
+
'button_connector_hide' => 'yes'
|
545 |
+
]
|
546 |
+
]
|
547 |
+
);
|
548 |
+
|
549 |
+
$this->add_control(
|
550 |
+
'connector_text_color',
|
551 |
+
[
|
552 |
+
'label' => __( 'Text Color', 'happy-elementor-addons' ),
|
553 |
+
'type' => Controls_Manager::COLOR,
|
554 |
+
'selectors' => [
|
555 |
+
'{{WRAPPER}} .ha-dual-btn-connector' => 'color: {{VALUE}}',
|
556 |
+
],
|
557 |
+
]
|
558 |
+
);
|
559 |
+
|
560 |
+
$this->add_control(
|
561 |
+
'connector_bg_color',
|
562 |
+
[
|
563 |
+
'label' => __( 'Background Color', 'happy-elementor-addons' ),
|
564 |
+
'type' => Controls_Manager::COLOR,
|
565 |
+
'selectors' => [
|
566 |
+
'{{WRAPPER}} .ha-dual-btn-connector' => 'background-color: {{VALUE}}',
|
567 |
+
],
|
568 |
+
]
|
569 |
+
);
|
570 |
+
|
571 |
+
$this->add_group_control(
|
572 |
+
Group_Control_Typography::get_type(),
|
573 |
+
[
|
574 |
+
'name' => 'connector_typography',
|
575 |
+
'label' => __( 'Typography', 'happy-elementor-addons' ),
|
576 |
+
'selector' => '{{WRAPPER}} .ha-dual-btn-connector',
|
577 |
+
]
|
578 |
+
);
|
579 |
+
|
580 |
+
$this->add_group_control(
|
581 |
+
Group_Control_Box_Shadow::get_type(),
|
582 |
+
[
|
583 |
+
'name' => 'connector_box_shadow',
|
584 |
+
'selector' => '{{WRAPPER}} .ha-dual-btn-connector'
|
585 |
+
]
|
586 |
+
);
|
587 |
+
|
588 |
+
$this->end_controls_section();
|
589 |
+
|
590 |
+
$this->start_controls_section(
|
591 |
+
'_section_style_right_button',
|
592 |
+
[
|
593 |
+
'label' => __( 'Right Button', 'happy-elementor-addons' ),
|
594 |
+
'tab' => Controls_Manager::TAB_STYLE,
|
595 |
+
]
|
596 |
+
);
|
597 |
+
|
598 |
+
$this->add_responsive_control(
|
599 |
+
'right_button_padding',
|
600 |
+
[
|
601 |
+
'label' => __( 'Padding', 'happy-elementor-addons' ),
|
602 |
+
'type' => Controls_Manager::DIMENSIONS,
|
603 |
+
'size_units' => ['px', 'em', '%'],
|
604 |
+
'selectors' => [
|
605 |
+
'{{WRAPPER}} .ha-dual-btn--right' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
606 |
+
],
|
607 |
+
]
|
608 |
+
);
|
609 |
+
|
610 |
+
$this->add_group_control(
|
611 |
+
Group_Control_Border::get_type(),
|
612 |
+
[
|
613 |
+
'name' => 'right_button_border',
|
614 |
+
'selector' => '{{WRAPPER}} .ha-dual-btn--right'
|
615 |
+
]
|
616 |
+
);
|
617 |
+
|
618 |
+
$this->add_responsive_control(
|
619 |
+
'right_button_border_radius',
|
620 |
+
[
|
621 |
+
'label' => __( 'Border Radius', 'happy-elementor-addons' ),
|
622 |
+
'type' => Controls_Manager::DIMENSIONS,
|
623 |
+
'size_units' => [ 'px', '%' ],
|
624 |
+
'selectors' => [
|
625 |
+
'{{WRAPPER}} .ha-dual-btn--right' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
626 |
+
],
|
627 |
+
]
|
628 |
+
);
|
629 |
+
|
630 |
+
$this->add_group_control(
|
631 |
+
Group_Control_Typography::get_type(),
|
632 |
+
[
|
633 |
+
'name' => 'right_button_typography',
|
634 |
+
'label' => __( 'Typography', 'happy-elementor-addons' ),
|
635 |
+
'selector' => '{{WRAPPER}} .ha-dual-btn--right',
|
636 |
+
'scheme' => Scheme_Typography::TYPOGRAPHY_4,
|
637 |
+
]
|
638 |
+
);
|
639 |
+
|
640 |
+
$this->add_group_control(
|
641 |
+
Group_Control_Box_Shadow::get_type(),
|
642 |
+
[
|
643 |
+
'name' => 'right_button_box_shadow',
|
644 |
+
'selector' => '{{WRAPPER}} .ha-dual-btn--right'
|
645 |
+
]
|
646 |
+
);
|
647 |
+
|
648 |
+
$this->start_controls_tabs( '_tabs_right_button' );
|
649 |
+
|
650 |
+
$this->start_controls_tab(
|
651 |
+
'_tab_right_button_normal',
|
652 |
+
[
|
653 |
+
'label' => __( 'Normal', 'happy-elementor-addons' ),
|
654 |
+
]
|
655 |
+
);
|
656 |
+
|
657 |
+
$this->add_control(
|
658 |
+
'right_button_bg_color',
|
659 |
+
[
|
660 |
+
'label' => __( 'Background Color', 'happy-elementor-addons' ),
|
661 |
+
'type' => Controls_Manager::COLOR,
|
662 |
+
'selectors' => [
|
663 |
+
'{{WRAPPER}} .ha-dual-btn--right' => 'background-color: {{VALUE}}',
|
664 |
+
],
|
665 |
+
]
|
666 |
+
);
|
667 |
+
|
668 |
+
$this->add_control(
|
669 |
+
'right_button_text_color',
|
670 |
+
[
|
671 |
+
'label' => __( 'Text Color', 'happy-elementor-addons' ),
|
672 |
+
'type' => Controls_Manager::COLOR,
|
673 |
+
'selectors' => [
|
674 |
+
'{{WRAPPER}} .ha-dual-btn--right' => 'color: {{VALUE}}',
|
675 |
+
],
|
676 |
+
]
|
677 |
+
);
|
678 |
+
|
679 |
+
$this->end_controls_tab();
|
680 |
+
|
681 |
+
$this->start_controls_tab(
|
682 |
+
'_tabs_right_button_hover',
|
683 |
+
[
|
684 |
+
'label' => __( 'Hover', 'happy-elementor-addons' ),
|
685 |
+
]
|
686 |
+
);
|
687 |
+
|
688 |
+
$this->add_control(
|
689 |
+
'right_button_hover_bg_color',
|
690 |
+
[
|
691 |
+
'label' => __( 'Background Color', 'happy-elementor-addons' ),
|
692 |
+
'type' => Controls_Manager::COLOR,
|
693 |
+
'selectors' => [
|
694 |
+
'{{WRAPPER}} .ha-dual-btn--right:hover' => 'background-color: {{VALUE}}',
|
695 |
+
],
|
696 |
+
]
|
697 |
+
);
|
698 |
+
|
699 |
+
$this->add_control(
|
700 |
+
'right_button_hover_text_color',
|
701 |
+
[
|
702 |
+
'label' => __( 'Text Color', 'happy-elementor-addons' ),
|
703 |
+
'type' => Controls_Manager::COLOR,
|
704 |
+
'selectors' => [
|
705 |
+
'{{WRAPPER}} .ha-dual-btn--right:hover' => 'color: {{VALUE}}',
|
706 |
+
],
|
707 |
+
]
|
708 |
+
);
|
709 |
+
|
710 |
+
$this->add_control(
|
711 |
+
'right_button_hover_border_color',
|
712 |
+
[
|
713 |
+
'label' => __( 'Border Color', 'happy-elementor-addons' ),
|
714 |
+
'type' => Controls_Manager::COLOR,
|
715 |
+
'selectors' => [
|
716 |
+
'{{WRAPPER}} .ha-dual-btn--right:hover' => 'border-color: {{VALUE}}',
|
717 |
+
],
|
718 |
+
'condition' => [
|
719 |
+
'right_button_border_border!' => ''
|
720 |
+
]
|
721 |
+
]
|
722 |
+
);
|
723 |
+
|
724 |
+
$this->end_controls_tab();
|
725 |
+
$this->end_controls_tabs();
|
726 |
+
|
727 |
+
$this->end_controls_section();
|
728 |
+
}
|
729 |
+
|
730 |
+
protected function render() {
|
731 |
+
$settings = $this->get_settings_for_display();
|
732 |
+
|
733 |
+
// Left button
|
734 |
+
$this->add_render_attribute( 'left_button', 'class', 'ha-dual-btn ha-dual-btn--left' );
|
735 |
+
$this->add_render_attribute( 'left_button', 'href', esc_url( $settings['left_button_link']['url'] ) );
|
736 |
+
if ( ! empty( $settings['left_button_link']['is_external'] ) ) {
|
737 |
+
$this->add_render_attribute( 'left_button', 'target', '_blank' );
|
738 |
+
}
|
739 |
+
if ( ! empty( $settings['left_button_link']['nofollow'] ) ) {
|
740 |
+
$this->add_render_attribute( 'left_button', 'rel', 'nofollow' );
|
741 |
+
}
|
742 |
+
$this->add_inline_editing_attributes( 'left_button_text', 'none' );
|
743 |
+
|
744 |
+
if ( $settings['left_button_icon'] ) {
|
745 |
+
$this->add_render_attribute( 'left_button_icon', 'class', [
|
746 |
+
'ha-dual-btn-icon',
|
747 |
+
'ha-dual-btn-icon--' . esc_attr( $settings['left_button_icon_position'] ),
|
748 |
+
esc_attr( $settings['left_button_icon'] )
|
749 |
+
] );
|
750 |
+
}
|
751 |
+
|
752 |
+
// Button connector
|
753 |
+
$this->add_render_attribute( 'button_connector', 'class', 'ha-dual-btn-connector' );
|
754 |
+
if ( $settings['button_connector_type'] === 'icon' ) {
|
755 |
+
$this->add_render_attribute( 'button_connector', 'class', 'ha-dual-btn-connector--icon' );
|
756 |
+
$connector = sprintf( '<i class="%s"></i>', esc_attr( $settings['button_connector_icon'] ) );
|
757 |
+
} else {
|
758 |
+
$this->add_render_attribute( 'button_connector', 'class', 'ha-dual-btn-connector--text' );
|
759 |
+
$this->add_inline_editing_attributes( 'button_connector', 'none' );
|
760 |
+
$connector = esc_html( $settings['button_connector_text'] );
|
761 |
+
}
|
762 |
+
|
763 |
+
// Right button
|
764 |
+
$this->add_render_attribute( 'right_button', 'class', 'ha-dual-btn ha-dual-btn--right' );
|
765 |
+
$this->add_render_attribute( 'right_button', 'href', esc_url( $settings['right_button_link']['url'] ) );
|
766 |
+
if ( ! empty( $settings['right_button_link']['is_external'] ) ) {
|
767 |
+
$this->add_render_attribute( 'right_button', 'target', '_blank' );
|
768 |
+
}
|
769 |
+
if ( ! empty( $settings['right_button_link']['nofollow'] ) ) {
|
770 |
+
$this->add_render_attribute( 'right_button', 'rel', 'nofollow' );
|
771 |
+
}
|
772 |
+
$this->add_inline_editing_attributes( 'right_button_text', 'none' );
|
773 |
+
|
774 |
+
if ( $settings['right_button_icon'] ) {
|
775 |
+
$this->add_render_attribute( 'right_button_icon', 'class', [
|
776 |
+
'ha-dual-btn-icon',
|
777 |
+
'ha-dual-btn-icon--' . esc_attr( $settings['right_button_icon_position'] ),
|
778 |
+
esc_attr( $settings['right_button_icon'] )
|
779 |
+
] );
|
780 |
+
}
|
781 |
+
?>
|
782 |
+
<div class="ha-dual-btn-wrapper">
|
783 |
+
<a <?php echo $this->get_render_attribute_string( 'left_button' ); ?>>
|
784 |
+
<?php if ( $settings['left_button_icon_position'] === 'before' ) : ?>
|
785 |
+
<i <?php echo $this->get_render_attribute_string( 'left_button_icon' ); ?>></i>
|
786 |
+
<?php endif; ?>
|
787 |
+
<span <?php echo $this->get_render_attribute_string( 'left_button_text' ); ?>><?php echo esc_html( $settings['left_button_text'] ); ?></span>
|
788 |
+
<?php if ( $settings['left_button_icon_position'] === 'after' ) : ?>
|
789 |
+
<i <?php echo $this->get_render_attribute_string( 'left_button_icon' ); ?>></i>
|
790 |
+
<?php endif; ?>
|
791 |
+
</a>
|
792 |
+
<?php if ( $settings['button_connector_hide'] !== 'yes' ) : ?>
|
793 |
+
<span <?php echo $this->get_render_attribute_string( 'button_connector' ); ?>><?php echo $connector; ?></span>
|
794 |
+
<?php endif; ?>
|
795 |
+
</div>
|
796 |
+
<div class="ha-dual-btn-wrapper">
|
797 |
+
<a <?php echo $this->get_render_attribute_string( 'right_button' ); ?>>
|
798 |
+
<?php if ( $settings['right_button_icon_position'] === 'before' ) : ?>
|
799 |
+
<i <?php echo $this->get_render_attribute_string( 'right_button_icon' ); ?>></i>
|
800 |
+
<?php endif; ?>
|
801 |
+
<span <?php echo $this->get_render_attribute_string( 'right_button_text' ); ?>><?php echo esc_html( $settings['right_button_text'] ); ?></span>
|
802 |
+
<?php if ( $settings['right_button_icon_position'] === 'after' ) : ?>
|
803 |
+
<i <?php echo $this->get_render_attribute_string( 'right_button_icon' ); ?>></i>
|
804 |
+
<?php endif; ?>
|
805 |
+
</a>
|
806 |
+
</div>
|
807 |
+
<?php
|
808 |
+
}
|
809 |
+
|
810 |
+
/*
|
811 |
+
public function _content_template() {
|
812 |
+
?>
|
813 |
+
<#
|
814 |
+
view.addInlineEditingAttributes( 'left_button_text', 'none' );
|
815 |
+
view.addInlineEditingAttributes( 'right_button_text', 'none' );
|
816 |
+
|
817 |
+
view.addInlineEditingAttributes( 'button_direction_text', 'none' );
|
818 |
+
view.addRenderAttribute( 'button_direction_text', 'class', 'ha-middle-text' );
|
819 |
+
#>
|
820 |
+
<div class="ha-dual-btn">
|
821 |
+
|
822 |
+
<div class="ha-dual-btn-link">
|
823 |
+
<a href="{{{ settings.left_button_link.url }}}" class="ha-dual-btn-link-primary">
|
824 |
+
|
825 |
+
<i class="{{{ settings.left_icon_picker }}}"></i>
|
826 |
+
<span {{{ view.getRenderAttributeString( 'left_button_text' ) }}}>
|
827 |
+
{{{ settings.left_button_text }}}
|
828 |
+
</span>
|
829 |
+
|
830 |
+
</a>
|
831 |
+
<# if ( settings.button_direction_show === 'yes' ) { #>
|
832 |
+
<div {{{ view.getRenderAttributeString( 'button_direction_text' ) }}}>
|
833 |
+
{{{ settings.button_direction_text }}}
|
834 |
+
</div>
|
835 |
+
<# } #>
|
836 |
+
</div>
|
837 |
+
|
838 |
+
<div class="ha-dual-btn-link">
|
839 |
+
<a href="{{{ settings.right_button_link.url }}}" class="ha-dual-btn-link-secondary">
|
840 |
+
|
841 |
+
<i class="{{{ settings.right_icon_picker }}}"></i>
|
842 |
+
<span {{{ view.getRenderAttributeString( 'right_button_text' ) }}}>
|
843 |
+
{{{ settings.right_button_text }}}
|
844 |
+
</span>
|
845 |
+
|
846 |
+
</a>
|
847 |
+
</div>
|
848 |
+
|
849 |
+
</div>
|
850 |
+
|
851 |
+
<?php
|
852 |
+
}
|
853 |
+
*/
|
854 |
+
|
855 |
+
}
|
widgets/gradient-heading/widget.php
CHANGED
@@ -25,7 +25,7 @@ class Gradient_Heading extends Base {
|
|
25 |
* @return string Widget title.
|
26 |
*/
|
27 |
public function get_title() {
|
28 |
-
return __( 'Gradient Heading', '
|
29 |
}
|
30 |
|
31 |
/**
|
@@ -48,7 +48,7 @@ class Gradient_Heading extends Base {
|
|
48 |
$this->start_controls_section(
|
49 |
'_section_title',
|
50 |
[
|
51 |
-
'label' => __( 'Title', '
|
52 |
'tab' => Controls_Manager::TAB_CONTENT,
|
53 |
]
|
54 |
);
|
@@ -56,51 +56,51 @@ class Gradient_Heading extends Base {
|
|
56 |
$this->add_control(
|
57 |
'title',
|
58 |
[
|
59 |
-
'label' => __( 'Title', '
|
60 |
'type' => Controls_Manager::TEXTAREA,
|
61 |
-
'default' => __( 'Happy Gradient Heading', '
|
62 |
-
'placeholder' => __( 'Type Gradient Heading Text', '
|
63 |
]
|
64 |
);
|
65 |
|
66 |
$this->add_control(
|
67 |
'link',
|
68 |
[
|
69 |
-
'label' => __( 'Link', '
|
70 |
'type' => Controls_Manager::URL,
|
71 |
'separator' => 'before',
|
72 |
-
'placeholder' => __( 'https://example.com/', '
|
73 |
]
|
74 |
);
|
75 |
|
76 |
$this->add_control(
|
77 |
'title_tag',
|
78 |
[
|
79 |
-
'label' => __( 'Title HTML Tag', '
|
80 |
'type' => Controls_Manager::CHOOSE,
|
81 |
'options' => [
|
82 |
'h1' => [
|
83 |
-
'title' => __( 'H1', '
|
84 |
'icon' => 'eicon-editor-h1'
|
85 |
],
|
86 |
'h2' => [
|
87 |
-
'title' => __( 'H2', '
|
88 |
'icon' => 'eicon-editor-h2'
|
89 |
],
|
90 |
'h3' => [
|
91 |
-
'title' => __( 'H3', '
|
92 |
'icon' => 'eicon-editor-h3'
|
93 |
],
|
94 |
'h4' => [
|
95 |
-
'title' => __( 'H4', '
|
96 |
'icon' => 'eicon-editor-h4'
|
97 |
],
|
98 |
'h5' => [
|
99 |
-
'title' => __( 'H5', '
|
100 |
'icon' => 'eicon-editor-h5'
|
101 |
],
|
102 |
'h6' => [
|
103 |
-
'title' => __( 'H6', '
|
104 |
'icon' => 'eicon-editor-h6'
|
105 |
]
|
106 |
],
|
@@ -112,23 +112,23 @@ class Gradient_Heading extends Base {
|
|
112 |
$this->add_responsive_control(
|
113 |
'align',
|
114 |
[
|
115 |
-
'label' => __( 'Alignment', '
|
116 |
'type' => Controls_Manager::CHOOSE,
|
117 |
'options' => [
|
118 |
'left' => [
|
119 |
-
'title' => __( 'Left', '
|
120 |
'icon' => 'fa fa-align-left',
|
121 |
],
|
122 |
'center' => [
|
123 |
-
'title' => __( 'Center', '
|
124 |
'icon' => 'fa fa-align-center',
|
125 |
],
|
126 |
'right' => [
|
127 |
-
'title' => __( 'Right', '
|
128 |
'icon' => 'fa fa-align-right',
|
129 |
],
|
130 |
'justify' => [
|
131 |
-
'title' => __( 'Justify', '
|
132 |
'icon' => 'fa fa-align-justify',
|
133 |
],
|
134 |
],
|
@@ -146,7 +146,7 @@ class Gradient_Heading extends Base {
|
|
146 |
$this->start_controls_section(
|
147 |
'_section_style_title',
|
148 |
[
|
149 |
-
'label' => __( 'Title', '
|
150 |
'tab' => Controls_Manager::TAB_STYLE,
|
151 |
]
|
152 |
);
|
@@ -172,7 +172,7 @@ class Gradient_Heading extends Base {
|
|
172 |
Group_Control_Text_Shadow::get_type(),
|
173 |
[
|
174 |
'name' => 'title',
|
175 |
-
'label' => __( 'Text Shadow', '
|
176 |
'selector' => '{{WRAPPER}} .ha-gradient-heading',
|
177 |
]
|
178 |
);
|
@@ -180,10 +180,10 @@ class Gradient_Heading extends Base {
|
|
180 |
$this->add_control(
|
181 |
'blend_mode',
|
182 |
[
|
183 |
-
'label' => __( 'Blend Mode', '
|
184 |
'type' => Controls_Manager::SELECT,
|
185 |
'options' => [
|
186 |
-
'' => __( 'Normal', '
|
187 |
'multiply' => 'Multiply',
|
188 |
'screen' => 'Screen',
|
189 |
'overlay' => 'Overlay',
|
25 |
* @return string Widget title.
|
26 |
*/
|
27 |
public function get_title() {
|
28 |
+
return __( 'Gradient Heading', 'happy-elementor-addons' );
|
29 |
}
|
30 |
|
31 |
/**
|
48 |
$this->start_controls_section(
|
49 |
'_section_title',
|
50 |
[
|
51 |
+
'label' => __( 'Title', 'happy-elementor-addons' ),
|
52 |
'tab' => Controls_Manager::TAB_CONTENT,
|
53 |
]
|
54 |
);
|
56 |
$this->add_control(
|
57 |
'title',
|
58 |
[
|
59 |
+
'label' => __( 'Title', 'happy-elementor-addons' ),
|
60 |
'type' => Controls_Manager::TEXTAREA,
|
61 |
+
'default' => __( 'Happy Gradient Heading', 'happy-elementor-addons' ),
|
62 |
+
'placeholder' => __( 'Type Gradient Heading Text', 'happy-elementor-addons' ),
|
63 |
]
|
64 |
);
|
65 |
|
66 |
$this->add_control(
|
67 |
'link',
|
68 |
[
|
69 |
+
'label' => __( 'Link', 'happy-elementor-addons' ),
|
70 |
'type' => Controls_Manager::URL,
|
71 |
'separator' => 'before',
|
72 |
+
'placeholder' => __( 'https://example.com/', 'happy-elementor-addons' ),
|
73 |
]
|
74 |
);
|
75 |
|
76 |
$this->add_control(
|
77 |
'title_tag',
|
78 |
[
|
79 |
+
'label' => __( 'Title HTML Tag', 'happy-elementor-addons' ),
|
80 |
'type' => Controls_Manager::CHOOSE,
|
81 |
'options' => [
|
82 |
'h1' => [
|
83 |
+
'title' => __( 'H1', 'happy-elementor-addons' ),
|
84 |
'icon' => 'eicon-editor-h1'
|
85 |
],
|
86 |
'h2' => [
|
87 |
+
'title' => __( 'H2', 'happy-elementor-addons' ),
|
88 |
'icon' => 'eicon-editor-h2'
|
89 |
],
|
90 |
'h3' => [
|
91 |
+
'title' => __( 'H3', 'happy-elementor-addons' ),
|
92 |
'icon' => 'eicon-editor-h3'
|
93 |
],
|
94 |
'h4' => [
|
95 |
+
'title' => __( 'H4', 'happy-elementor-addons' ),
|
96 |
'icon' => 'eicon-editor-h4'
|
97 |
],
|
98 |
'h5' => [
|
99 |
+
'title' => __( 'H5', 'happy-elementor-addons' ),
|
100 |
'icon' => 'eicon-editor-h5'
|
101 |
],
|
102 |
'h6' => [
|
103 |
+
'title' => __( 'H6', 'happy-elementor-addons' ),
|
104 |
'icon' => 'eicon-editor-h6'
|
105 |
]
|
106 |
],
|
112 |
$this->add_responsive_control(
|
113 |
'align',
|
114 |
[
|
115 |
+
'label' => __( 'Alignment', 'happy-elementor-addons' ),
|
116 |
'type' => Controls_Manager::CHOOSE,
|
117 |
'options' => [
|
118 |
'left' => [
|
119 |
+
'title' => __( 'Left', 'happy-elementor-addons' ),
|
120 |
'icon' => 'fa fa-align-left',
|
121 |
],
|
122 |
'center' => [
|
123 |
+
'title' => __( 'Center', 'happy-elementor-addons' ),
|
124 |
'icon' => 'fa fa-align-center',
|
125 |
],
|
126 |
'right' => [
|
127 |
+
'title' => __( 'Right', 'happy-elementor-addons' ),
|
128 |
'icon' => 'fa fa-align-right',
|
129 |
],
|
130 |
'justify' => [
|
131 |
+
'title' => __( 'Justify', 'happy-elementor-addons' ),
|
132 |
'icon' => 'fa fa-align-justify',
|
133 |
],
|
134 |
],
|
146 |
$this->start_controls_section(
|
147 |
'_section_style_title',
|
148 |
[
|
149 |
+
'label' => __( 'Title', 'happy-elementor-addons' ),
|
150 |
'tab' => Controls_Manager::TAB_STYLE,
|
151 |
]
|
152 |
);
|
172 |
Group_Control_Text_Shadow::get_type(),
|
173 |
[
|
174 |
'name' => 'title',
|
175 |
+
'label' => __( 'Text Shadow', 'happy-elementor-addons' ),
|
176 |
'selector' => '{{WRAPPER}} .ha-gradient-heading',
|
177 |
]
|
178 |
);
|
180 |
$this->add_control(
|
181 |
'blend_mode',
|
182 |
[
|
183 |
+
'label' => __( 'Blend Mode', 'happy-elementor-addons' ),
|
184 |
'type' => Controls_Manager::SELECT,
|
185 |
'options' => [
|
186 |
+
'' => __( 'Normal', 'happy-elementor-addons' ),
|
187 |
'multiply' => 'Multiply',
|
188 |
'screen' => 'Screen',
|
189 |
'overlay' => 'Overlay',
|
widgets/icon-box/widget.php
CHANGED
@@ -26,7 +26,7 @@ class Icon_Box extends Base {
|
|
26 |
* @return string Widget title.
|
27 |
*/
|
28 |
public function get_title() {
|
29 |
-
return __( 'Icon Box', '
|
30 |
}
|
31 |
|
32 |
/**
|
@@ -49,7 +49,7 @@ class Icon_Box extends Base {
|
|
49 |
$this->start_controls_section(
|
50 |
'_section_icon',
|
51 |
[
|
52 |
-
'label' => __( 'Content', '
|
53 |
'tab' => Controls_Manager::TAB_CONTENT,
|
54 |
]
|
55 |
);
|
@@ -68,63 +68,63 @@ class Icon_Box extends Base {
|
|
68 |
$this->add_control(
|
69 |
'title',
|
70 |
[
|
71 |
-
'label' => __( 'Title', '
|
72 |
'type' => Controls_Manager::TEXT,
|
73 |
'label_block' => true,
|
74 |
-
'default' => __( 'Happy Icon Box', '
|
75 |
-
'placeholder' => __( 'Type Icon Box Title', '
|
76 |
]
|
77 |
);
|
78 |
|
79 |
$this->add_control(
|
80 |
'badge_text',
|
81 |
[
|
82 |
-
'label' => __( 'Badge Text', '
|
83 |
'type' => Controls_Manager::TEXT,
|
84 |
'label_block' => true,
|
85 |
-
'placeholder' => __( 'Type Icon Badge Text', '
|
86 |
]
|
87 |
);
|
88 |
|
89 |
$this->add_control(
|
90 |
'link',
|
91 |
[
|
92 |
-
'label' => __( 'Box Link', '
|
93 |
'separator' => 'before',
|
94 |
'type' => Controls_Manager::URL,
|
95 |
-
'placeholder' => __( 'https://example.com/', '
|
96 |
]
|
97 |
);
|
98 |
|
99 |
$this->add_control(
|
100 |
'title_tag',
|
101 |
[
|
102 |
-
'label' => __( 'Title HTML Tag', '
|
103 |
'type' => Controls_Manager::CHOOSE,
|
104 |
'separator' => 'before',
|
105 |
'options' => [
|
106 |
'h1' => [
|
107 |
-
'title' => __( 'H1', '
|
108 |
'icon' => 'eicon-editor-h1'
|
109 |
],
|
110 |
'h2' => [
|
111 |
-
'title' => __( 'H2', '
|
112 |
'icon' => 'eicon-editor-h2'
|
113 |
],
|
114 |
'h3' => [
|
115 |
-
'title' => __( 'H3', '
|
116 |
'icon' => 'eicon-editor-h3'
|
117 |
],
|
118 |
'h4' => [
|
119 |
-
'title' => __( 'H4', '
|
120 |
'icon' => 'eicon-editor-h4'
|
121 |
],
|
122 |
'h5' => [
|
123 |
-
'title' => __( 'H5', '
|
124 |
'icon' => 'eicon-editor-h5'
|
125 |
],
|
126 |
'h6' => [
|
127 |
-
'title' => __( 'H6', '
|
128 |
'icon' => 'eicon-editor-h6'
|
129 |
]
|
130 |
],
|
@@ -136,23 +136,23 @@ class Icon_Box extends Base {
|
|
136 |
$this->add_responsive_control(
|
137 |
'align',
|
138 |
[
|
139 |
-
'label' => __( 'Alignment', '
|
140 |
'type' => Controls_Manager::CHOOSE,
|
141 |
'options' => [
|
142 |
'left' => [
|
143 |
-
'title' => __( 'Left', '
|
144 |
'icon' => 'fa fa-align-left',
|
145 |
],
|
146 |
'center' => [
|
147 |
-
'title' => __( 'Center', '
|
148 |
'icon' => 'fa fa-align-center',
|
149 |
],
|
150 |
'right' => [
|
151 |
-
'title' => __( 'Right', '
|
152 |
'icon' => 'fa fa-align-right',
|
153 |
],
|
154 |
'justify' => [
|
155 |
-
'title' => __( 'Justify', '
|
156 |
'icon' => 'fa fa-align-justify',
|
157 |
],
|
158 |
],
|
@@ -170,7 +170,7 @@ class Icon_Box extends Base {
|
|
170 |
$this->start_controls_section(
|
171 |
'_section_style_icon',
|
172 |
[
|
173 |
-
'label' => __( 'Icon', '
|
174 |
'tab' => Controls_Manager::TAB_STYLE,
|
175 |
]
|
176 |
);
|
@@ -178,7 +178,7 @@ class Icon_Box extends Base {
|
|
178 |
$this->add_responsive_control(
|
179 |
'icon_size',
|
180 |
[
|
181 |
-
'label' => __( 'Size', '
|
182 |
'type' => Controls_Manager::SLIDER,
|
183 |
'size_units' => [ 'px' ],
|
184 |
'range' => [
|
@@ -196,7 +196,7 @@ class Icon_Box extends Base {
|
|
196 |
$this->add_responsive_control(
|
197 |
'icon_padding',
|
198 |
[
|
199 |
-
'label' => __( 'Padding', '
|
200 |
'type' => Controls_Manager::SLIDER,
|
201 |
'size_units' => ['px'],
|
202 |
'selectors' => [
|
@@ -208,7 +208,7 @@ class Icon_Box extends Base {
|
|
208 |
$this->add_responsive_control(
|
209 |
'icon_spacing',
|
210 |
[
|
211 |
-
'label' => __( 'Bottom Spacing', '
|
212 |
'type' => Controls_Manager::SLIDER,
|
213 |
'size_units' => ['px'],
|
214 |
'range' => [
|
@@ -233,7 +233,7 @@ class Icon_Box extends Base {
|
|
233 |
$this->add_responsive_control(
|
234 |
'icon_border_radius',
|
235 |
[
|
236 |
-
'label' => __( 'Border Radius', '
|
237 |
'type' => Controls_Manager::DIMENSIONS,
|
238 |
'size_units' => [ 'px', '%' ],
|
239 |
'selectors' => [
|
@@ -258,14 +258,14 @@ class Icon_Box extends Base {
|
|
258 |
$this->start_controls_tab(
|
259 |
'_tab_icon_normal',
|
260 |
[
|
261 |
-
'label' => __( 'Normal', '
|
262 |
]
|
263 |
);
|
264 |
|
265 |
$this->add_control(
|
266 |
'icon_color',
|
267 |
[
|
268 |
-
'label' => __( 'Color', '
|
269 |
'type' => Controls_Manager::COLOR,
|
270 |
'selectors' => [
|
271 |
'{{WRAPPER}} .ha-icon-box-icon' => 'color: {{VALUE}}',
|
@@ -276,7 +276,7 @@ class Icon_Box extends Base {
|
|
276 |
$this->add_control(
|
277 |
'icon_bg_color',
|
278 |
[
|
279 |
-
'label' => __( 'Background Color', '
|
280 |
'type' => Controls_Manager::COLOR,
|
281 |
'selectors' => [
|
282 |
'{{WRAPPER}} .ha-icon-box-icon' => 'background-color: {{VALUE}}',
|
@@ -287,7 +287,7 @@ class Icon_Box extends Base {
|
|
287 |
$this->add_control(
|
288 |
'icon_bg_rotate',
|
289 |
[
|
290 |
-
'label' => __( 'Rotate Icon Box', '
|
291 |
'type' => Controls_Manager::SLIDER,
|
292 |
'size_units' => [ 'deg' ],
|
293 |
'default' => [
|
@@ -314,14 +314,14 @@ class Icon_Box extends Base {
|
|
314 |
$this->start_controls_tab(
|
315 |
'_tab_button_hover',
|
316 |
[
|
317 |
-
'label' => __( 'Hover', '
|
318 |
]
|
319 |
);
|
320 |
|
321 |
$this->add_control(
|
322 |
'icon_hover_color',
|
323 |
[
|
324 |
-
'label' => __( 'Color', '
|
325 |
'type' => Controls_Manager::COLOR,
|
326 |
'selectors' => [
|
327 |
'{{WRAPPER}}:hover .ha-icon-box-icon' => 'color: {{VALUE}}',
|
@@ -332,7 +332,7 @@ class Icon_Box extends Base {
|
|
332 |
$this->add_control(
|
333 |
'icon_hover_bg_color',
|
334 |
[
|
335 |
-
'label' => __( 'Background Color', '
|
336 |
'type' => Controls_Manager::COLOR,
|
337 |
'selectors' => [
|
338 |
'{{WRAPPER}}:hover .ha-icon-box-icon' => 'background-color: {{VALUE}}',
|
@@ -343,7 +343,7 @@ class Icon_Box extends Base {
|
|
343 |
$this->add_control(
|
344 |
'icon_hover_border_color',
|
345 |
[
|
346 |
-
'label' => __( 'Border Color', '
|
347 |
'type' => Controls_Manager::COLOR,
|
348 |
'selectors' => [
|
349 |
'{{WRAPPER}}:hover .ha-icon-box-icon' => 'border-color: {{VALUE}}',
|
@@ -357,7 +357,7 @@ class Icon_Box extends Base {
|
|
357 |
$this->add_control(
|
358 |
'icon_hover_bg_rotate',
|
359 |
[
|
360 |
-
'label' => __( 'Rotate Icon Box', '
|
361 |
'type' => Controls_Manager::SLIDER,
|
362 |
'size_units' => [ 'deg' ],
|
363 |
'default' => [
|
@@ -387,7 +387,7 @@ class Icon_Box extends Base {
|
|
387 |
$this->start_controls_section(
|
388 |
'_section_style_title',
|
389 |
[
|
390 |
-
'label' => __( 'Title', '
|
391 |
'tab' => Controls_Manager::TAB_STYLE,
|
392 |
]
|
393 |
);
|
@@ -414,14 +414,14 @@ class Icon_Box extends Base {
|
|
414 |
$this->start_controls_tab(
|
415 |
'_tab_title_normal',
|
416 |
[
|
417 |
-
'label' => __( 'Normal', '
|
418 |
]
|
419 |
);
|
420 |
|
421 |
$this->add_control(
|
422 |
'title_color',
|
423 |
[
|
424 |
-
'label' => __( 'Text Color', '
|
425 |
'type' => Controls_Manager::COLOR,
|
426 |
'selectors' => [
|
427 |
'{{WRAPPER}} .ha-icon-box-title' => 'color: {{VALUE}}',
|
@@ -434,14 +434,14 @@ class Icon_Box extends Base {
|
|
434 |
$this->start_controls_tab(
|
435 |
'_tab_title_hover',
|
436 |
[
|
437 |
-
'label' => __( 'Hover', '
|
438 |
]
|
439 |
);
|
440 |
|
441 |
$this->add_control(
|
442 |
'title_hover_color',
|
443 |
[
|
444 |
-
'label' => __( 'Text Color', '
|
445 |
'type' => Controls_Manager::COLOR,
|
446 |
'selectors' => [
|
447 |
'{{WRAPPER}}:hover .ha-icon-box-title' => 'color: {{VALUE}}',
|
@@ -457,7 +457,7 @@ class Icon_Box extends Base {
|
|
457 |
$this->start_controls_section(
|
458 |
'_section_style_badge',
|
459 |
[
|
460 |
-
'label' => __( 'Badge', '
|
461 |
'tab' => Controls_Manager::TAB_STYLE,
|
462 |
]
|
463 |
);
|
@@ -465,10 +465,10 @@ class Icon_Box extends Base {
|
|
465 |
$this->add_control(
|
466 |
'badge_offset_toggle',
|
467 |
[
|
468 |
-
'label' => __( 'Offset', '
|
469 |
'type' => Controls_Manager::POPOVER_TOGGLE,
|
470 |
-
'label_off' => __( 'None', '
|
471 |
-
'label_on' => __( 'Custom', '
|
472 |
'return_value' => 'yes',
|
473 |
]
|
474 |
);
|
@@ -478,7 +478,7 @@ class Icon_Box extends Base {
|
|
478 |
$this->add_responsive_control(
|
479 |
'badge_offset_x',
|
480 |
[
|
481 |
-
'label' => __( 'Offset Left', '
|
482 |
'type' => Controls_Manager::SLIDER,
|
483 |
'size_units' => ['px'],
|
484 |
'condition' => [
|
@@ -500,7 +500,7 @@ class Icon_Box extends Base {
|
|
500 |
$this->add_responsive_control(
|
501 |
'badge_offset_y',
|
502 |
[
|
503 |
-
'label' => __( 'Offset Top', '
|
504 |
'type' => Controls_Manager::SLIDER,
|
505 |
'size_units' => ['px'],
|
506 |
'condition' => [
|
@@ -525,7 +525,7 @@ class Icon_Box extends Base {
|
|
525 |
$this->add_responsive_control(
|
526 |
'badge_padding',
|
527 |
[
|
528 |
-
'label' => __( 'Padding', '
|
529 |
'type' => Controls_Manager::DIMENSIONS,
|
530 |
'size_units' => [ 'px', 'em', '%' ],
|
531 |
'selectors' => [
|
@@ -537,7 +537,7 @@ class Icon_Box extends Base {
|
|
537 |
$this->add_control(
|
538 |
'badge_color',
|
539 |
[
|
540 |
-
'label' => __( 'Text Color', '
|
541 |
'type' => Controls_Manager::COLOR,
|
542 |
'selectors' => [
|
543 |
'{{WRAPPER}} .ha-badge' => 'color: {{VALUE}}',
|
@@ -548,7 +548,7 @@ class Icon_Box extends Base {
|
|
548 |
$this->add_control(
|
549 |
'badge_bg_color',
|
550 |
[
|
551 |
-
'label' => __( 'Background Color', '
|
552 |
'type' => Controls_Manager::COLOR,
|
553 |
'selectors' => [
|
554 |
'{{WRAPPER}} .ha-badge' => 'background-color: {{VALUE}}',
|
@@ -567,7 +567,7 @@ class Icon_Box extends Base {
|
|
567 |
$this->add_responsive_control(
|
568 |
'badge_border_radius',
|
569 |
[
|
570 |
-
'label' => __( 'Border Radius', '
|
571 |
'type' => Controls_Manager::DIMENSIONS,
|
572 |
'size_units' => [ 'px', '%' ],
|
573 |
'selectors' => [
|
@@ -591,7 +591,7 @@ class Icon_Box extends Base {
|
|
591 |
Group_Control_Typography::get_type(),
|
592 |
[
|
593 |
'name' => 'badge_typography',
|
594 |
-
'label' => __( 'Typography', '
|
595 |
'exclude' => [
|
596 |
'font_family',
|
597 |
'line_height'
|
26 |
* @return string Widget title.
|
27 |
*/
|
28 |
public function get_title() {
|
29 |
+
return __( 'Icon Box', 'happy-elementor-addons' );
|
30 |
}
|
31 |
|
32 |
/**
|
49 |
$this->start_controls_section(
|
50 |
'_section_icon',
|
51 |
[
|
52 |
+
'label' => __( 'Content', 'happy-elementor-addons' ),
|
53 |
'tab' => Controls_Manager::TAB_CONTENT,
|
54 |
]
|
55 |
);
|
68 |
$this->add_control(
|
69 |
'title',
|
70 |
[
|
71 |
+
'label' => __( 'Title', 'happy-elementor-addons' ),
|
72 |
'type' => Controls_Manager::TEXT,
|
73 |
'label_block' => true,
|
74 |
+
'default' => __( 'Happy Icon Box', 'happy-elementor-addons' ),
|
75 |
+
'placeholder' => __( 'Type Icon Box Title', 'happy-elementor-addons' ),
|
76 |
]
|
77 |
);
|
78 |
|
79 |
$this->add_control(
|
80 |
'badge_text',
|
81 |
[
|
82 |
+
'label' => __( 'Badge Text', 'happy-elementor-addons' ),
|
83 |
'type' => Controls_Manager::TEXT,
|
84 |
'label_block' => true,
|
85 |
+
'placeholder' => __( 'Type Icon Badge Text', 'happy-elementor-addons' ),
|
86 |
]
|
87 |
);
|
88 |
|
89 |
$this->add_control(
|
90 |
'link',
|
91 |
[
|
92 |
+
'label' => __( 'Box Link', 'happy-elementor-addons' ),
|
93 |
'separator' => 'before',
|
94 |
'type' => Controls_Manager::URL,
|
95 |
+
'placeholder' => __( 'https://example.com/', 'happy-elementor-addons' ),
|
96 |
]
|
97 |
);
|
98 |
|
99 |
$this->add_control(
|
100 |
'title_tag',
|
101 |
[
|
102 |
+
'label' => __( 'Title HTML Tag', 'happy-elementor-addons' ),
|
103 |
'type' => Controls_Manager::CHOOSE,
|
104 |
'separator' => 'before',
|
105 |
'options' => [
|
106 |
'h1' => [
|
107 |
+
'title' => __( 'H1', 'happy-elementor-addons' ),
|
108 |
'icon' => 'eicon-editor-h1'
|
109 |
],
|
110 |
'h2' => [
|
111 |
+
'title' => __( 'H2', 'happy-elementor-addons' ),
|
112 |
'icon' => 'eicon-editor-h2'
|
113 |
],
|
114 |
'h3' => [
|
115 |
+
'title' => __( 'H3', 'happy-elementor-addons' ),
|
116 |
'icon' => 'eicon-editor-h3'
|
117 |
],
|
118 |
'h4' => [
|
119 |
+
'title' => __( 'H4', 'happy-elementor-addons' ),
|
120 |
'icon' => 'eicon-editor-h4'
|
121 |
],
|
122 |
'h5' => [
|
123 |
+
'title' => __( 'H5', 'happy-elementor-addons' ),
|
124 |
'icon' => 'eicon-editor-h5'
|
125 |
],
|
126 |
'h6' => [
|
127 |
+
'title' => __( 'H6', 'happy-elementor-addons' ),
|
128 |
'icon' => 'eicon-editor-h6'
|
129 |
]
|
130 |
],
|
136 |
$this->add_responsive_control(
|
137 |
'align',
|
138 |
[
|
139 |
+
'label' => __( 'Alignment', 'happy-elementor-addons' ),
|
140 |
'type' => Controls_Manager::CHOOSE,
|
141 |
'options' => [
|
142 |
'left' => [
|
143 |
+
'title' => __( 'Left', 'happy-elementor-addons' ),
|
144 |
'icon' => 'fa fa-align-left',
|
145 |
],
|
146 |
'center' => [
|
147 |
+
'title' => __( 'Center', 'happy-elementor-addons' ),
|
148 |
'icon' => 'fa fa-align-center',
|
149 |
],
|
150 |
'right' => [
|
151 |
+
'title' => __( 'Right', 'happy-elementor-addons' ),
|
152 |
'icon' => 'fa fa-align-right',
|
153 |
],
|
154 |
'justify' => [
|
155 |
+
'title' => __( 'Justify', 'happy-elementor-addons' ),
|
156 |
'icon' => 'fa fa-align-justify',
|
157 |
],
|
158 |
],
|
170 |
$this->start_controls_section(
|
171 |
'_section_style_icon',
|
172 |
[
|
173 |
+
'label' => __( 'Icon', 'happy-elementor-addons' ),
|
174 |
'tab' => Controls_Manager::TAB_STYLE,
|
175 |
]
|
176 |
);
|
178 |
$this->add_responsive_control(
|
179 |
'icon_size',
|
180 |
[
|
181 |
+
'label' => __( 'Size', 'happy-elementor-addons' ),
|
182 |
'type' => Controls_Manager::SLIDER,
|
183 |
'size_units' => [ 'px' ],
|
184 |
'range' => [
|
196 |
$this->add_responsive_control(
|
197 |
'icon_padding',
|
198 |
[
|
199 |
+
'label' => __( 'Padding', 'happy-elementor-addons' ),
|
200 |
'type' => Controls_Manager::SLIDER,
|
201 |
'size_units' => ['px'],
|
202 |
'selectors' => [
|
208 |
$this->add_responsive_control(
|
209 |
'icon_spacing',
|
210 |
[
|
211 |
+
'label' => __( 'Bottom Spacing', 'happy-elementor-addons' ),
|
212 |
'type' => Controls_Manager::SLIDER,
|
213 |
'size_units' => ['px'],
|
214 |
'range' => [
|
233 |
$this->add_responsive_control(
|
234 |
'icon_border_radius',
|
235 |
[
|
236 |
+
'label' => __( 'Border Radius', 'happy-elementor-addons' ),
|
237 |
'type' => Controls_Manager::DIMENSIONS,
|
238 |
'size_units' => [ 'px', '%' ],
|
239 |
'selectors' => [
|
258 |
$this->start_controls_tab(
|
259 |
'_tab_icon_normal',
|
260 |
[
|
261 |
+
'label' => __( 'Normal', 'happy-elementor-addons' ),
|
262 |
]
|
263 |
);
|
264 |
|
265 |
$this->add_control(
|
266 |
'icon_color',
|
267 |
[
|
268 |
+
'label' => __( 'Color', 'happy-elementor-addons' ),
|
269 |
'type' => Controls_Manager::COLOR,
|
270 |
'selectors' => [
|
271 |
'{{WRAPPER}} .ha-icon-box-icon' => 'color: {{VALUE}}',
|
276 |
$this->add_control(
|
277 |
'icon_bg_color',
|
278 |
[
|
279 |
+
'label' => __( 'Background Color', 'happy-elementor-addons' ),
|
280 |
'type' => Controls_Manager::COLOR,
|
281 |
'selectors' => [
|
282 |
'{{WRAPPER}} .ha-icon-box-icon' => 'background-color: {{VALUE}}',
|
287 |
$this->add_control(
|
288 |
'icon_bg_rotate',
|
289 |
[
|
290 |
+
'label' => __( 'Rotate Icon Box', 'happy-elementor-addons' ),
|
291 |
'type' => Controls_Manager::SLIDER,
|
292 |
'size_units' => [ 'deg' ],
|
293 |
'default' => [
|
314 |
$this->start_controls_tab(
|
315 |
'_tab_button_hover',
|
316 |
[
|
317 |
+
'label' => __( 'Hover', 'happy-elementor-addons' ),
|
318 |
]
|
319 |
);
|
320 |
|
321 |
$this->add_control(
|
322 |
'icon_hover_color',
|
323 |
[
|
324 |
+
'label' => __( 'Color', 'happy-elementor-addons' ),
|
325 |
'type' => Controls_Manager::COLOR,
|
326 |
'selectors' => [
|
327 |
'{{WRAPPER}}:hover .ha-icon-box-icon' => 'color: {{VALUE}}',
|
332 |
$this->add_control(
|
333 |
'icon_hover_bg_color',
|
334 |
[
|
335 |
+
'label' => __( 'Background Color', 'happy-elementor-addons' ),
|
336 |
'type' => Controls_Manager::COLOR,
|
337 |
'selectors' => [
|
338 |
'{{WRAPPER}}:hover .ha-icon-box-icon' => 'background-color: {{VALUE}}',
|
343 |
$this->add_control(
|
344 |
'icon_hover_border_color',
|
345 |
[
|
346 |
+
'label' => __( 'Border Color', 'happy-elementor-addons' ),
|
347 |
'type' => Controls_Manager::COLOR,
|
348 |
'selectors' => [
|
349 |
'{{WRAPPER}}:hover .ha-icon-box-icon' => 'border-color: {{VALUE}}',
|
357 |
$this->add_control(
|
358 |
'icon_hover_bg_rotate',
|
359 |
[
|
360 |
+
'label' => __( 'Rotate Icon Box', 'happy-elementor-addons' ),
|
361 |
'type' => Controls_Manager::SLIDER,
|
362 |
'size_units' => [ 'deg' ],
|
363 |
'default' => [
|
387 |
$this->start_controls_section(
|
388 |
'_section_style_title',
|
389 |
[
|
390 |
+
'label' => __( 'Title', 'happy-elementor-addons' ),
|
391 |
'tab' => Controls_Manager::TAB_STYLE,
|
392 |
]
|
393 |
);
|
414 |
$this->start_controls_tab(
|
415 |
'_tab_title_normal',
|
416 |
[
|
417 |
+
'label' => __( 'Normal', 'happy-elementor-addons' ),
|
418 |
]
|
419 |
);
|
420 |
|
421 |
$this->add_control(
|
422 |
'title_color',
|
423 |
[
|
424 |
+
'label' => __( 'Text Color', 'happy-elementor-addons' ),
|
425 |
'type' => Controls_Manager::COLOR,
|
426 |
'selectors' => [
|
427 |
'{{WRAPPER}} .ha-icon-box-title' => 'color: {{VALUE}}',
|
434 |
$this->start_controls_tab(
|
435 |
'_tab_title_hover',
|
436 |
[
|
437 |
+
'label' => __( 'Hover', 'happy-elementor-addons' ),
|
438 |
]
|
439 |
);
|
440 |
|
441 |
$this->add_control(
|
442 |
'title_hover_color',
|
443 |
[
|
444 |
+
'label' => __( 'Text Color', 'happy-elementor-addons' ),
|
445 |
'type' => Controls_Manager::COLOR,
|
446 |
'selectors' => [
|
447 |
'{{WRAPPER}}:hover .ha-icon-box-title' => 'color: {{VALUE}}',
|
457 |
$this->start_controls_section(
|
458 |
'_section_style_badge',
|
459 |
[
|
460 |
+
'label' => __( 'Badge', 'happy-elementor-addons' ),
|
461 |
'tab' => Controls_Manager::TAB_STYLE,
|
462 |
]
|
463 |
);
|
465 |
$this->add_control(
|
466 |
'badge_offset_toggle',
|
467 |
[
|
468 |
+
'label' => __( 'Offset', 'happy-elementor-addons' ),
|
469 |
'type' => Controls_Manager::POPOVER_TOGGLE,
|
470 |
+
'label_off' => __( 'None', 'happy-elementor-addons' ),
|
471 |
+
'label_on' => __( 'Custom', 'happy-elementor-addons' ),
|
472 |
'return_value' => 'yes',
|
473 |
]
|
474 |
);
|
478 |
$this->add_responsive_control(
|
479 |
'badge_offset_x',
|
480 |
[
|
481 |
+
'label' => __( 'Offset Left', 'happy-elementor-addons' ),
|
482 |
'type' => Controls_Manager::SLIDER,
|
483 |
'size_units' => ['px'],
|
484 |
'condition' => [
|
500 |
$this->add_responsive_control(
|
501 |
'badge_offset_y',
|
502 |
[
|
503 |
+
'label' => __( 'Offset Top', 'happy-elementor-addons' ),
|
504 |
'type' => Controls_Manager::SLIDER,
|
505 |
'size_units' => ['px'],
|
506 |
'condition' => [
|
525 |
$this->add_responsive_control(
|
526 |
'badge_padding',
|
527 |
[
|
528 |
+
'label' => __( 'Padding', 'happy-elementor-addons' ),
|
529 |
'type' => Controls_Manager::DIMENSIONS,
|
530 |
'size_units' => [ 'px', 'em', '%' ],
|
531 |
'selectors' => [
|
537 |
$this->add_control(
|
538 |
'badge_color',
|
539 |
[
|
540 |
+
'label' => __( 'Text Color', 'happy-elementor-addons' ),
|
541 |
'type' => Controls_Manager::COLOR,
|
542 |
'selectors' => [
|
543 |
'{{WRAPPER}} .ha-badge' => 'color: {{VALUE}}',
|
548 |
$this->add_control(
|
549 |
'badge_bg_color',
|
550 |
[
|
551 |
+
'label' => __( 'Background Color', 'happy-elementor-addons' ),
|
552 |
'type' => Controls_Manager::COLOR,
|
553 |
'selectors' => [
|
554 |
'{{WRAPPER}} .ha-badge' => 'background-color: {{VALUE}}',
|
567 |
$this->add_responsive_control(
|
568 |
'badge_border_radius',
|
569 |
[
|
570 |
+
'label' => __( 'Border Radius', 'happy-elementor-addons' ),
|
571 |
'type' => Controls_Manager::DIMENSIONS,
|
572 |
'size_units' => [ 'px', '%' ],
|
573 |
'selectors' => [
|
591 |
Group_Control_Typography::get_type(),
|
592 |
[
|
593 |
'name' => 'badge_typography',
|
594 |
+
'label' => __( 'Typography', 'happy-elementor-addons' ),
|
595 |
'exclude' => [
|
596 |
'font_family',
|
597 |
'line_height'
|
widgets/image-compare/widget.php
CHANGED
@@ -28,7 +28,7 @@ class Image_Compare extends Base {
|
|
28 |
* @return string Widget title.
|
29 |
*/
|
30 |
public function get_title() {
|
31 |
-
return __( 'Image Compare', '
|
32 |
}
|
33 |
|
34 |
/**
|
@@ -51,7 +51,7 @@ class Image_Compare extends Base {
|
|
51 |
$this->start_controls_section(
|
52 |
'_section_images',
|
53 |
[
|
54 |
-
'label' => __( 'Images', '
|
55 |
'tab' => Controls_Manager::TAB_CONTENT,
|
56 |
]
|
57 |
);
|
@@ -60,14 +60,14 @@ class Image_Compare extends Base {
|
|
60 |
$this->start_controls_tab(
|
61 |
'_tab_before_image',
|
62 |
[
|
63 |
-
'label' => __( 'Before', '
|
64 |
]
|
65 |
);
|
66 |
|
67 |
$this->add_control(
|
68 |
'before_image',
|
69 |
[
|
70 |
-
'label' => __( 'Image', '
|
71 |
'type' => Controls_Manager::MEDIA,
|
72 |
'default' => [
|
73 |
'url' => Utils::get_placeholder_image_src(),
|
@@ -78,11 +78,11 @@ class Image_Compare extends Base {
|
|
78 |
$this->add_control(
|
79 |
'before_label',
|
80 |
[
|
81 |
-
'label' => __( 'Label', '
|
82 |
'type' => Controls_Manager::TEXT,
|
83 |
-
'default' => __( 'Before', '
|
84 |
-
'placeholder' => __( 'Type before image label', '
|
85 |
-
'description' => __( 'Label will not be shown if Hide Overlay is enabled in Settings', '
|
86 |
]
|
87 |
);
|
88 |
|
@@ -91,14 +91,14 @@ class Image_Compare extends Base {
|
|
91 |
$this->start_controls_tab(
|
92 |
'_tab_after_image',
|
93 |
[
|
94 |
-
'label' => __( 'After', '
|
95 |
]
|
96 |
);
|
97 |
|
98 |
$this->add_control(
|
99 |
'after_image',
|
100 |
[
|
101 |
-
'label' => __( 'Image', '
|
102 |
'type' => Controls_Manager::MEDIA,
|
103 |
'default' => [
|
104 |
'url' => Utils::get_placeholder_image_src(),
|
@@ -109,11 +109,11 @@ class Image_Compare extends Base {
|
|
109 |
$this->add_control(
|
110 |
'after_label',
|
111 |
[
|
112 |
-
'label' => __( 'Label', '
|
113 |
'type' => Controls_Manager::TEXT,
|
114 |
-
'default' => __( 'After', '
|
115 |
-
'placeholder' => __( 'Type after image label', '
|
116 |
-
'description' => __( 'Label will not be shown if Hide Overlay is enabled in Settings', '
|
117 |
]
|
118 |
);
|
119 |
|
@@ -134,7 +134,7 @@ class Image_Compare extends Base {
|
|
134 |
$this->start_controls_section(
|
135 |
'_section_settings',
|
136 |
[
|
137 |
-
'label' => __( 'Settings', '
|
138 |
'tab' => Controls_Manager::TAB_CONTENT,
|
139 |
]
|
140 |
);
|
@@ -142,7 +142,7 @@ class Image_Compare extends Base {
|
|
142 |
$this->add_control(
|
143 |
'offset',
|
144 |
[
|
145 |
-
'label' => __( 'Visibility Ratio', '
|
146 |
'type' => Controls_Manager::SLIDER,
|
147 |
'size_units' => ['px'],
|
148 |
'range' => [
|
@@ -161,16 +161,16 @@ class Image_Compare extends Base {
|
|
161 |
$this->add_control(
|
162 |
'orientation',
|
163 |
[
|
164 |
-
'label' => __( 'Orientation', '
|
165 |
'type' => Controls_Manager::CHOOSE,
|
166 |
'label_block' => false,
|
167 |
'options' => [
|
168 |
'horizontal' => [
|
169 |
-
'title' => __( 'Horizontal', '
|
170 |
'icon' => 'fa fa-arrows-h',
|
171 |
],
|
172 |
'vertical' => [
|
173 |
-
'title' => __( 'Vertical', '
|
174 |
'icon' => 'fa fa-arrows-v',
|
175 |
],
|
176 |
],
|
@@ -181,27 +181,27 @@ class Image_Compare extends Base {
|
|
181 |
$this->add_control(
|
182 |
'hide_overlay',
|
183 |
[
|
184 |
-
'label' => __( 'Hide Overlay', '
|
185 |
'type' => Controls_Manager::SWITCHER,
|
186 |
-
'label_on' => __( 'Yes', '
|
187 |
-
'label_off' => __( 'No', '
|
188 |
'return_value' => 'yes',
|
189 |
-
'description' => __( 'Hide overlay with before and after label', '
|
190 |
]
|
191 |
);
|
192 |
|
193 |
$this->add_control(
|
194 |
'move_handle',
|
195 |
[
|
196 |
-
'label' => __( 'Move Handle', '
|
197 |
'type' => Controls_Manager::SELECT,
|
198 |
'default' => 'on_swipe',
|
199 |
'options' => [
|
200 |
-
'on_hover' => __( 'On Hover', '
|
201 |
-
'on_click' => __( 'On Click', '
|
202 |
-
'on_swipe' => __( 'On Swipe', '
|
203 |
],
|
204 |
-
'description' => __( 'Select handle movement type. Note: overlay does not work with On Hover.', '
|
205 |
]
|
206 |
);
|
207 |
|
@@ -212,7 +212,7 @@ class Image_Compare extends Base {
|
|
212 |
$this->start_controls_section(
|
213 |
'_section_style_handle',
|
214 |
[
|
215 |
-
'label' => __( 'Handle', '
|
216 |
'tab' => Controls_Manager::TAB_STYLE,
|
217 |
]
|
218 |
);
|
@@ -220,7 +220,7 @@ class Image_Compare extends Base {
|
|
220 |
$this->add_control(
|
221 |
'handle_color',
|
222 |
[
|
223 |
-
'label' => __( 'Color', '
|
224 |
'type' => Controls_Manager::COLOR,
|
225 |
'selectors' => [
|
226 |
'{{WRAPPER}} .twentytwenty-handle:before, {{WRAPPER}} .twentytwenty-handle:after' => 'background-color: {{VALUE}}',
|
@@ -251,7 +251,7 @@ class Image_Compare extends Base {
|
|
251 |
$this->add_responsive_control(
|
252 |
'bar_size',
|
253 |
[
|
254 |
-
'label' => __( 'Size', '
|
255 |
'type' => Controls_Manager::SLIDER,
|
256 |
'size_units' => [ 'px' ],
|
257 |
'range' => [
|
@@ -279,7 +279,7 @@ class Image_Compare extends Base {
|
|
279 |
$this->add_responsive_control(
|
280 |
'arrow_box_width',
|
281 |
[
|
282 |
-
'label' => __( 'Box Width', '
|
283 |
'type' => Controls_Manager::SLIDER,
|
284 |
'size_units' => [ 'px' ],
|
285 |
'range' => [
|
@@ -298,7 +298,7 @@ class Image_Compare extends Base {
|
|
298 |
$this->add_responsive_control(
|
299 |
'arrow_box_height',
|
300 |
[
|
301 |
-
'label' => __( 'Box Height', '
|
302 |
'type' => Controls_Manager::SLIDER,
|
303 |
'size_units' => [ 'px' ],
|
304 |
'range' => [
|
@@ -329,7 +329,7 @@ class Image_Compare extends Base {
|
|
329 |
$this->add_responsive_control(
|
330 |
'box_border_radius',
|
331 |
[
|
332 |
-
'label' => __( 'Border Radius', '
|
333 |
'type' => Controls_Manager::DIMENSIONS,
|
334 |
'size_units' => [ 'px', '%' ],
|
335 |
'selectors' => [
|
@@ -343,7 +343,7 @@ class Image_Compare extends Base {
|
|
343 |
$this->start_controls_section(
|
344 |
'_section_style_label',
|
345 |
[
|
346 |
-
'label' => __( 'Label', '
|
347 |
'tab' => Controls_Manager::TAB_STYLE,
|
348 |
]
|
349 |
);
|
@@ -351,7 +351,7 @@ class Image_Compare extends Base {
|
|
351 |
$this->add_responsive_control(
|
352 |
'label_padding',
|
353 |
[
|
354 |
-
'label' => __( 'Padding', '
|
355 |
'type' => Controls_Manager::DIMENSIONS,
|
356 |
'size_units' => [ 'px', 'em', '%' ],
|
357 |
'selectors' => [
|
@@ -363,10 +363,10 @@ class Image_Compare extends Base {
|
|
363 |
$this->add_control(
|
364 |
'position_toggle',
|
365 |
[
|
366 |
-
'label' => __( 'Position', '
|
367 |
'type' => Controls_Manager::POPOVER_TOGGLE,
|
368 |
-
'label_off' => __( 'None', '
|
369 |
-
'label_on' => __( 'Custom', '
|
370 |
'return_value' => 'yes',
|
371 |
]
|
372 |
);
|
@@ -376,7 +376,7 @@ class Image_Compare extends Base {
|
|
376 |
$this->add_responsive_control(
|
377 |
'label_offset_y',
|
378 |
[
|
379 |
-
'label' => __( 'Vertical', '
|
380 |
'type' => Controls_Manager::SLIDER,
|
381 |
'size_units' => ['px'],
|
382 |
'range' => [
|
@@ -399,7 +399,7 @@ class Image_Compare extends Base {
|
|
399 |
$this->add_responsive_control(
|
400 |
'label_offset_x',
|
401 |
[
|
402 |
-
'label' => __( 'Horizontal', '
|
403 |
'type' => Controls_Manager::SLIDER,
|
404 |
'size_units' => ['px'],
|
405 |
'range' => [
|
@@ -432,7 +432,7 @@ class Image_Compare extends Base {
|
|
432 |
$this->add_responsive_control(
|
433 |
'label_border_radius',
|
434 |
[
|
435 |
-
'label' => __( 'Border Radius', '
|
436 |
'type' => Controls_Manager::DIMENSIONS,
|
437 |
'size_units' => [ 'px', '%' ],
|
438 |
'selectors' => [
|
@@ -444,7 +444,7 @@ class Image_Compare extends Base {
|
|
444 |
$this->add_control(
|
445 |
'label_color',
|
446 |
[
|
447 |
-
'label' => __( 'Color', '
|
448 |
'type' => Controls_Manager::COLOR,
|
449 |
'selectors' => [
|
450 |
'{{WRAPPER}} .twentytwenty-before-label:before, {{WRAPPER}} .twentytwenty-after-label:before' => 'color: {{VALUE}}',
|
@@ -455,7 +455,7 @@ class Image_Compare extends Base {
|
|
455 |
$this->add_control(
|
456 |
'label_bg_color',
|
457 |
[
|
458 |
-
'label' => __( 'Background Color', '
|
459 |
'type' => Controls_Manager::COLOR,
|
460 |
'selectors' => [
|
461 |
'{{WRAPPER}} .twentytwenty-before-label:before, {{WRAPPER}} .twentytwenty-after-label:before' => 'background-color: {{VALUE}}',
|
28 |
* @return string Widget title.
|
29 |
*/
|
30 |
public function get_title() {
|
31 |
+
return __( 'Image Compare', 'happy-elementor-addons' );
|
32 |
}
|
33 |
|
34 |
/**
|
51 |
$this->start_controls_section(
|
52 |
'_section_images',
|
53 |
[
|
54 |
+
'label' => __( 'Images', 'happy-elementor-addons' ),
|
55 |
'tab' => Controls_Manager::TAB_CONTENT,
|
56 |
]
|
57 |
);
|
60 |
$this->start_controls_tab(
|
61 |
'_tab_before_image',
|
62 |
[
|
63 |
+
'label' => __( 'Before', 'happy-elementor-addons' ),
|
64 |
]
|
65 |
);
|
66 |
|
67 |
$this->add_control(
|
68 |
'before_image',
|
69 |
[
|
70 |
+
'label' => __( 'Image', 'happy-elementor-addons' ),
|
71 |
'type' => Controls_Manager::MEDIA,
|
72 |
'default' => [
|
73 |
'url' => Utils::get_placeholder_image_src(),
|
78 |
$this->add_control(
|
79 |
'before_label',
|
80 |
[
|
81 |
+
'label' => __( 'Label', 'happy-elementor-addons' ),
|
82 |
'type' => Controls_Manager::TEXT,
|
83 |
+
'default' => __( 'Before', 'happy-elementor-addons' ),
|
84 |
+
'placeholder' => __( 'Type before image label', 'happy-elementor-addons' ),
|
85 |
+
'description' => __( 'Label will not be shown if Hide Overlay is enabled in Settings', 'happy-elementor-addons' ),
|
86 |
]
|
87 |
);
|
88 |
|
91 |
$this->start_controls_tab(
|
92 |
'_tab_after_image',
|
93 |
[
|
94 |
+
'label' => __( 'After', 'happy-elementor-addons' ),
|
95 |
]
|
96 |
);
|
97 |
|
98 |
$this->add_control(
|
99 |
'after_image',
|
100 |
[
|
101 |
+
'label' => __( 'Image', 'happy-elementor-addons' ),
|
102 |
'type' => Controls_Manager::MEDIA,
|
103 |
'default' => [
|
104 |
'url' => Utils::get_placeholder_image_src(),
|
109 |
$this->add_control(
|
110 |
'after_label',
|
111 |
[
|
112 |
+
'label' => __( 'Label', 'happy-elementor-addons' ),
|
113 |
'type' => Controls_Manager::TEXT,
|
114 |
+
'default' => __( 'After', 'happy-elementor-addons' ),
|
115 |
+
'placeholder' => __( 'Type after image label', 'happy-elementor-addons' ),
|
116 |
+
'description' => __( 'Label will not be shown if Hide Overlay is enabled in Settings', 'happy-elementor-addons' ),
|
117 |
]
|
118 |
);
|
119 |
|
134 |
$this->start_controls_section(
|
135 |
'_section_settings',
|
136 |
[
|
137 |
+
'label' => __( 'Settings', 'happy-elementor-addons' ),
|
138 |
'tab' => Controls_Manager::TAB_CONTENT,
|
139 |
]
|
140 |
);
|
142 |
$this->add_control(
|
143 |
'offset',
|
144 |
[
|
145 |
+
'label' => __( 'Visibility Ratio', 'happy-elementor-addons' ),
|
146 |
'type' => Controls_Manager::SLIDER,
|
147 |
'size_units' => ['px'],
|
148 |
'range' => [
|
161 |
$this->add_control(
|
162 |
'orientation',
|
163 |
[
|
164 |
+
'label' => __( 'Orientation', 'happy-elementor-addons' ),
|
165 |
'type' => Controls_Manager::CHOOSE,
|
166 |
'label_block' => false,
|
167 |
'options' => [
|
168 |
'horizontal' => [
|
169 |
+
'title' => __( 'Horizontal', 'happy-elementor-addons' ),
|
170 |
'icon' => 'fa fa-arrows-h',
|
171 |
],
|
172 |
'vertical' => [
|
173 |
+
'title' => __( 'Vertical', 'happy-elementor-addons' ),
|
174 |
'icon' => 'fa fa-arrows-v',
|
175 |
],
|
176 |
],
|
181 |
$this->add_control(
|
182 |
'hide_overlay',
|
183 |
[
|
184 |
+
'label' => __( 'Hide Overlay', 'happy-elementor-addons' ),
|
185 |
'type' => Controls_Manager::SWITCHER,
|
186 |
+
'label_on' => __( 'Yes', 'happy-elementor-addons' ),
|
187 |
+
'label_off' => __( 'No', 'happy-elementor-addons' ),
|
188 |
'return_value' => 'yes',
|
189 |
+
'description' => __( 'Hide overlay with before and after label', 'happy-elementor-addons' )
|
190 |
]
|
191 |
);
|
192 |
|
193 |
$this->add_control(
|
194 |
'move_handle',
|
195 |
[
|
196 |
+
'label' => __( 'Move Handle', 'happy-elementor-addons' ),
|
197 |
'type' => Controls_Manager::SELECT,
|
198 |
'default' => 'on_swipe',
|
199 |
'options' => [
|
200 |
+
'on_hover' => __( 'On Hover', 'happy-elementor-addons' ),
|
201 |
+
'on_click' => __( 'On Click', 'happy-elementor-addons' ),
|
202 |
+
'on_swipe' => __( 'On Swipe', 'happy-elementor-addons' ),
|
203 |
],
|
204 |
+
'description' => __( 'Select handle movement type. Note: overlay does not work with On Hover.', 'happy-elementor-addons' )
|
205 |
]
|
206 |
);
|
207 |
|
212 |
$this->start_controls_section(
|
213 |
'_section_style_handle',
|
214 |
[
|
215 |
+
'label' => __( 'Handle', 'happy-elementor-addons' ),
|
216 |
'tab' => Controls_Manager::TAB_STYLE,
|
217 |
]
|
218 |
);
|
220 |
$this->add_control(
|
221 |
'handle_color',
|
222 |
[
|
223 |
+
'label' => __( 'Color', 'happy-elementor-addons' ),
|
224 |
'type' => Controls_Manager::COLOR,
|
225 |
'selectors' => [
|
226 |
'{{WRAPPER}} .twentytwenty-handle:before, {{WRAPPER}} .twentytwenty-handle:after' => 'background-color: {{VALUE}}',
|
251 |
$this->add_responsive_control(
|
252 |
'bar_size',
|
253 |
[
|
254 |
+
'label' => __( 'Size', 'happy-elementor-addons' ),
|
255 |
'type' => Controls_Manager::SLIDER,
|
256 |
'size_units' => [ 'px' ],
|
257 |
'range' => [
|
279 |
$this->add_responsive_control(
|
280 |
'arrow_box_width',
|
281 |
[
|
282 |
+
'label' => __( 'Box Width', 'happy-elementor-addons' ),
|
283 |
'type' => Controls_Manager::SLIDER,
|
284 |
'size_units' => [ 'px' ],
|
285 |
'range' => [
|
298 |
$this->add_responsive_control(
|
299 |
'arrow_box_height',
|
300 |
[
|
301 |
+
'label' => __( 'Box Height', 'happy-elementor-addons' ),
|
302 |
'type' => Controls_Manager::SLIDER,
|
303 |
'size_units' => [ 'px' ],
|
304 |
'range' => [
|
329 |
$this->add_responsive_control(
|
330 |
'box_border_radius',
|
331 |
[
|
332 |
+
'label' => __( 'Border Radius', 'happy-elementor-addons' ),
|
333 |
'type' => Controls_Manager::DIMENSIONS,
|
334 |
'size_units' => [ 'px', '%' ],
|
335 |
'selectors' => [
|
343 |
$this->start_controls_section(
|
344 |
'_section_style_label',
|
345 |
[
|
346 |
+
'label' => __( 'Label', 'happy-elementor-addons' ),
|
347 |
'tab' => Controls_Manager::TAB_STYLE,
|
348 |
]
|
349 |
);
|
351 |
$this->add_responsive_control(
|
352 |
'label_padding',
|
353 |
[
|
354 |
+
'label' => __( 'Padding', 'happy-elementor-addons' ),
|
355 |
'type' => Controls_Manager::DIMENSIONS,
|
356 |
'size_units' => [ 'px', 'em', '%' ],
|
357 |
'selectors' => [
|
363 |
$this->add_control(
|
364 |
'position_toggle',
|
365 |
[
|
366 |
+
'label' => __( 'Position', 'happy-elementor-addons' ),
|
367 |
'type' => Controls_Manager::POPOVER_TOGGLE,
|
368 |
+
'label_off' => __( 'None', 'happy-elementor-addons' ),
|
369 |
+
'label_on' => __( 'Custom', 'happy-elementor-addons' ),
|
370 |
'return_value' => 'yes',
|
371 |
]
|
372 |
);
|
376 |
$this->add_responsive_control(
|
377 |
'label_offset_y',
|
378 |
[
|
379 |
+
'label' => __( 'Vertical', 'happy-elementor-addons' ),
|
380 |
'type' => Controls_Manager::SLIDER,
|
381 |
'size_units' => ['px'],
|
382 |
'range' => [
|
399 |
$this->add_responsive_control(
|
400 |
'label_offset_x',
|
401 |
[
|
402 |
+
'label' => __( 'Horizontal', 'happy-elementor-addons' ),
|
403 |
'type' => Controls_Manager::SLIDER,
|
404 |
'size_units' => ['px'],
|
405 |
'range' => [
|
432 |
$this->add_responsive_control(
|
433 |
'label_border_radius',
|
434 |
[
|
435 |
+
'label' => __( 'Border Radius', 'happy-elementor-addons' ),
|
436 |
'type' => Controls_Manager::DIMENSIONS,
|
437 |
'size_units' => [ 'px', '%' ],
|
438 |
'selectors' => [
|
444 |
$this->add_control(
|
445 |
'label_color',
|
446 |
[
|
447 |
+
'label' => __( 'Color', 'happy-elementor-addons' ),
|
448 |
'type' => Controls_Manager::COLOR,
|
449 |
'selectors' => [
|
450 |
'{{WRAPPER}} .twentytwenty-before-label:before, {{WRAPPER}} .twentytwenty-after-label:before' => 'color: {{VALUE}}',
|
455 |
$this->add_control(
|
456 |
'label_bg_color',
|
457 |
[
|
458 |
+
'label' => __( 'Background Color', 'happy-elementor-addons' ),
|
459 |
'type' => Controls_Manager::COLOR,
|
460 |
'selectors' => [
|
461 |
'{{WRAPPER}} .twentytwenty-before-label:before, {{WRAPPER}} .twentytwenty-after-label:before' => 'background-color: {{VALUE}}',
|
widgets/infobox/widget.php
CHANGED
@@ -28,7 +28,7 @@ class InfoBox extends Base {
|
|
28 |
* @return string Widget title.
|
29 |
*/
|
30 |
public function get_title() {
|
31 |
-
return __( 'Info Box', '
|
32 |
}
|
33 |
|
34 |
/**
|
@@ -54,7 +54,7 @@ class InfoBox extends Base {
|
|
54 |
$this->start_controls_section(
|
55 |
'_section_media',
|
56 |
[
|
57 |
-
'label' => __( 'Icon / Image', '
|
58 |
'tab' => Controls_Manager::TAB_CONTENT,
|
59 |
]
|
60 |
);
|
@@ -62,16 +62,16 @@ class InfoBox extends Base {
|
|
62 |
$this->add_control(
|
63 |
'type',
|
64 |
[
|
65 |
-
'label' => __( 'Media Type', '
|
66 |
'type' => Controls_Manager::CHOOSE,
|
67 |
'label_block' => false,
|
68 |
'options' => [
|
69 |
'icon' => [
|
70 |
-
'title' => __( 'Icon', '
|
71 |
'icon' => 'fa fa-smile-o',
|
72 |
],
|
73 |
'image' => [
|
74 |
-
'title' => __( 'Image', '
|
75 |
'icon' => 'fa fa-image',
|
76 |
],
|
77 |
],
|
@@ -83,7 +83,7 @@ class InfoBox extends Base {
|
|
83 |
$this->add_control(
|
84 |
'image',
|
85 |
[
|
86 |
-
'label' => __( 'Image', '
|
87 |
'type' => Controls_Manager::MEDIA,
|
88 |
'default' => [
|
89 |
'url' => Utils::get_placeholder_image_src(),
|
@@ -117,7 +117,7 @@ class InfoBox extends Base {
|
|
117 |
$this->add_control(
|
118 |
'icon',
|
119 |
[
|
120 |
-
'label' => __( 'Icon', '
|
121 |
'type' => Controls_Manager::ICON,
|
122 |
'default' => 'fa fa-smile-o',
|
123 |
'options' => ha_get_happy_icons(),
|
@@ -132,7 +132,7 @@ class InfoBox extends Base {
|
|
132 |
$this->start_controls_section(
|
133 |
'_section_title',
|
134 |
[
|
135 |
-
'label' => __( 'Title & Description', '
|
136 |
'tab' => Controls_Manager::TAB_CONTENT,
|
137 |
]
|
138 |
);
|
@@ -140,21 +140,21 @@ class InfoBox extends Base {
|
|
140 |
$this->add_control(
|
141 |
'title',
|
142 |
[
|
143 |
-
'label' => __( 'Title', '
|
144 |
'label_block' => true,
|
145 |
'type' => Controls_Manager::TEXT,
|
146 |
-
'default' => __( 'Happy Info Box Title', '
|
147 |
-
'placeholder' => __( 'Type Info Box Title', '
|
148 |
]
|
149 |
);
|
150 |
|
151 |
$this->add_control(
|
152 |
'description',
|
153 |
[
|
154 |
-
'label' => __( 'Description', '
|
155 |
'type' => Controls_Manager::TEXTAREA,
|
156 |
-
'default' => __( 'Happy info box description goes here', '
|
157 |
-
'placeholder' => __( 'Type info box description', '
|
158 |
'rows' => 5
|
159 |
]
|
160 |
);
|
@@ -162,31 +162,31 @@ class InfoBox extends Base {
|
|
162 |
$this->add_control(
|
163 |
'title_tag',
|
164 |
[
|
165 |
-
'label' => __( 'Title HTML Tag', '
|
166 |
'type' => Controls_Manager::CHOOSE,
|
167 |
'options' => [
|
168 |
'h1' => [
|
169 |
-
'title' => __( 'H1', '
|
170 |
'icon' => 'eicon-editor-h1'
|
171 |
],
|
172 |
'h2' => [
|
173 |
-
'title' => __( 'H2', '
|
174 |
'icon' => 'eicon-editor-h2'
|
175 |
],
|
176 |
'h3' => [
|
177 |
-
'title' => __( 'H3', '
|
178 |
'icon' => 'eicon-editor-h3'
|
179 |
],
|
180 |
'h4' => [
|
181 |
-
'title' => __( 'H4', '
|
182 |
'icon' => 'eicon-editor-h4'
|
183 |
],
|
184 |
'h5' => [
|
185 |
-
'title' => __( 'H5', '
|
186 |
'icon' => 'eicon-editor-h5'
|
187 |
],
|
188 |
'h6' => [
|
189 |
-
'title' => __( 'H6', '
|
190 |
'icon' => 'eicon-editor-h6'
|
191 |
]
|
192 |
],
|
@@ -198,23 +198,23 @@ class InfoBox extends Base {
|
|
198 |
$this->add_responsive_control(
|
199 |
'align',
|
200 |
[
|
201 |
-
'label' => __( 'Alignment', '
|
202 |
'type' => Controls_Manager::CHOOSE,
|
203 |
'options' => [
|
204 |
'left' => [
|
205 |
-
'title' => __( 'Left', '
|
206 |
'icon' => 'fa fa-align-left',
|
207 |
],
|
208 |
'center' => [
|
209 |
-
'title' => __( 'Center', '
|
210 |
'icon' => 'fa fa-align-center',
|
211 |
],
|
212 |
'right' => [
|
213 |
-
'title' => __( 'Right', '
|
214 |
'icon' => 'fa fa-align-right',
|
215 |
],
|
216 |
'justify' => [
|
217 |
-
'title' => __( 'Justify', '
|
218 |
'icon' => 'fa fa-align-justify',
|
219 |
],
|
220 |
],
|
@@ -230,7 +230,7 @@ class InfoBox extends Base {
|
|
230 |
$this->start_controls_section(
|
231 |
'_section_button',
|
232 |
[
|
233 |
-
'label' => __( 'Button', '
|
234 |
'tab' => Controls_Manager::TAB_CONTENT,
|
235 |
]
|
236 |
);
|
@@ -238,10 +238,10 @@ class InfoBox extends Base {
|
|
238 |
$this->add_control(
|
239 |
'button_text',
|
240 |
[
|
241 |
-
'label' => __( 'Text', '
|
242 |
'type' => Controls_Manager::TEXT,
|
243 |
-
'default' => __( 'Button Text', '
|
244 |
-
'placeholder' => __( 'Type button text here', '
|
245 |
'label_block' => true,
|
246 |
]
|
247 |
);
|
@@ -249,16 +249,16 @@ class InfoBox extends Base {
|
|
249 |
$this->add_control(
|
250 |
'button_link',
|
251 |
[
|
252 |
-
'label' => __( 'Link', '
|
253 |
'type' => Controls_Manager::URL,
|
254 |
-
'placeholder' => __( 'https://example.com/', '
|
255 |
]
|
256 |
);
|
257 |
|
258 |
$this->add_control(
|
259 |
'button_icon',
|
260 |
[
|
261 |
-
'label' => __( 'Icon', '
|
262 |
'type' => Controls_Manager::ICON,
|
263 |
'options' => ha_get_happy_icons(),
|
264 |
'default' => 'fa fa-angle-right'
|
@@ -268,16 +268,16 @@ class InfoBox extends Base {
|
|
268 |
$this->add_control(
|
269 |
'button_icon_position',
|
270 |
[
|
271 |
-
'label' => __( 'Icon Position', '
|
272 |
'type' => Controls_Manager::CHOOSE,
|
273 |
'label_block' => false,
|
274 |
'options' => [
|
275 |
'before' => [
|
276 |
-
'title' => __( 'Before', '
|
277 |
'icon' => 'eicon-h-align-left',
|
278 |
],
|
279 |
'after' => [
|
280 |
-
'title' => __( 'After', '
|
281 |
'icon' => 'eicon-h-align-right',
|
282 |
],
|
283 |
],
|
@@ -292,7 +292,7 @@ class InfoBox extends Base {
|
|
292 |
$this->add_control(
|
293 |
'button_icon_spacing',
|
294 |
[
|
295 |
-
'label' => __( 'Icon Spacing', '
|
296 |
'type' => Controls_Manager::SLIDER,
|
297 |
'default' => [
|
298 |
'size' => 10
|
@@ -317,7 +317,7 @@ class InfoBox extends Base {
|
|
317 |
$this->start_controls_section(
|
318 |
'_section_media_style',
|
319 |
[
|
320 |
-
'label' => __( 'Icon / Image', '
|
321 |
'tab' => Controls_Manager::TAB_STYLE,
|
322 |
]
|
323 |
);
|
@@ -325,7 +325,7 @@ class InfoBox extends Base {
|
|
325 |
$this->add_responsive_control(
|
326 |
'icon_size',
|
327 |
[
|
328 |
-
'label' => __( 'Size', '
|
329 |
'type' => Controls_Manager::SLIDER,
|
330 |
'size_units' => [ 'px' ],
|
331 |
'range' => [
|
@@ -346,7 +346,7 @@ class InfoBox extends Base {
|
|
346 |
$this->add_responsive_control(
|
347 |
'image_width',
|
348 |
[
|
349 |
-
'label' => __( 'Width', '
|
350 |
'type' => Controls_Manager::SLIDER,
|
351 |
'size_units' => [ 'px', '%' ],
|
352 |
'range' => [
|
@@ -371,7 +371,7 @@ class InfoBox extends Base {
|
|
371 |
$this->add_responsive_control(
|
372 |
'image_height',
|
373 |
[
|
374 |
-
'label' => __( 'Height', '
|
375 |
'type' => Controls_Manager::SLIDER,
|
376 |
'size_units' => [ 'px' ],
|
377 |
'range' => [
|
@@ -405,7 +405,7 @@ class InfoBox extends Base {
|
|
405 |
$this->add_responsive_control(
|
406 |
'media_offset_x',
|
407 |
[
|
408 |
-
'label' => __( 'Offset Left', '
|
409 |
'type' => Controls_Manager::SLIDER,
|
410 |
'size_units' => ['px'],
|
411 |
'condition' => [
|
@@ -424,7 +424,7 @@ class InfoBox extends Base {
|
|
424 |
$this->add_responsive_control(
|
425 |
'media_offset_y',
|
426 |
[
|
427 |
-
'label' => __( 'Offset Top', '
|
428 |
'type' => Controls_Manager::SLIDER,
|
429 |
'size_units' => ['px'],
|
430 |
'condition' => [
|
@@ -451,7 +451,7 @@ class InfoBox extends Base {
|
|
451 |
$this->add_responsive_control(
|
452 |
'media_spacing',
|
453 |
[
|
454 |
-
'label' => __( 'Bottom Spacing', '
|
455 |
'type' => Controls_Manager::SLIDER,
|
456 |
'size_units' => ['px'],
|
457 |
'selectors' => [
|
@@ -463,7 +463,7 @@ class InfoBox extends Base {
|
|
463 |
$this->add_responsive_control(
|
464 |
'media_padding',
|
465 |
[
|
466 |
-
'label' => __( 'Padding', '
|
467 |
'type' => Controls_Manager::SLIDER,
|
468 |
'size_units' => ['px'],
|
469 |
'selectors' => [
|
@@ -483,7 +483,7 @@ class InfoBox extends Base {
|
|
483 |
$this->add_responsive_control(
|
484 |
'media_border_radius',
|
485 |
[
|
486 |
-
'label' => __( 'Border Radius', '
|
487 |
'type' => Controls_Manager::DIMENSIONS,
|
488 |
'size_units' => [ 'px', '%' ],
|
489 |
'selectors' => [
|
@@ -507,7 +507,7 @@ class InfoBox extends Base {
|
|
507 |
$this->add_control(
|
508 |
'icon_color',
|
509 |
[
|
510 |
-
'label' => __( 'Color', '
|
511 |
'type' => Controls_Manager::COLOR,
|
512 |
'selectors' => [
|
513 |
'{{WRAPPER}} .ha-infobox-figure--icon' => 'color: {{VALUE}}',
|
@@ -521,7 +521,7 @@ class InfoBox extends Base {
|
|
521 |
$this->add_control(
|
522 |
'icon_bg_color',
|
523 |
[
|
524 |
-
'label' => __( 'Background Color', '
|
525 |
'type' => Controls_Manager::COLOR,
|
526 |
'selectors' => [
|
527 |
'{{WRAPPER}} .ha-infobox-figure--icon' => 'background-color: {{VALUE}}',
|
@@ -535,7 +535,7 @@ class InfoBox extends Base {
|
|
535 |
$this->add_control(
|
536 |
'icon_bg_rotate',
|
537 |
[
|
538 |
-
'label' => __( 'Background Rotate', '
|
539 |
'type' => Controls_Manager::SLIDER,
|
540 |
'size_units' => [ 'deg' ],
|
541 |
'default' => [
|
@@ -563,7 +563,7 @@ class InfoBox extends Base {
|
|
563 |
$this->start_controls_section(
|
564 |
'_section_title_style',
|
565 |
[
|
566 |
-
'label' => __( 'Title & Description', '
|
567 |
'tab' => Controls_Manager::TAB_STYLE,
|
568 |
]
|
569 |
);
|
@@ -571,7 +571,7 @@ class InfoBox extends Base {
|
|
571 |
$this->add_responsive_control(
|
572 |
'content_padding',
|
573 |
[
|
574 |
-
'label' => __( 'Content Box Padding', '
|
575 |
'type' => Controls_Manager::DIMENSIONS,
|
576 |
'size_units' => [ 'px', 'em', '%' ],
|
577 |
'selectors' => [
|
@@ -584,7 +584,7 @@ class InfoBox extends Base {
|
|
584 |
'title_heading',
|
585 |
[
|
586 |
'type' => Controls_Manager::HEADING,
|
587 |
-
'label' => __( 'Title', '
|
588 |
'separator' => 'before'
|
589 |
]
|
590 |
);
|
@@ -592,7 +592,7 @@ class InfoBox extends Base {
|
|
592 |
$this->add_responsive_control(
|
593 |
'title_spacing',
|
594 |
[
|
595 |
-
'label' => __( 'Bottom Spacing', '
|
596 |
'type' => Controls_Manager::SLIDER,
|
597 |
'size_units' => ['px'],
|
598 |
'selectors' => [
|
@@ -604,7 +604,7 @@ class InfoBox extends Base {
|
|
604 |
$this->add_control(
|
605 |
'title_color',
|
606 |
[
|
607 |
-
'label' => __( 'Text Color', '
|
608 |
'type' => Controls_Manager::COLOR,
|
609 |
'selectors' => [
|
610 |
'{{WRAPPER}} .ha-infobox-title' => 'color: {{VALUE}}',
|
@@ -616,7 +616,7 @@ class InfoBox extends Base {
|
|
616 |
Group_Control_Typography::get_type(),
|
617 |
[
|
618 |
'name' => 'title_typography',
|
619 |
-
'label' => __( 'Typography', '
|
620 |
'selector' => '{{WRAPPER}} .ha-infobox-title',
|
621 |
'scheme' => Scheme_Typography::TYPOGRAPHY_2
|
622 |
]
|
@@ -626,7 +626,7 @@ class InfoBox extends Base {
|
|
626 |
'description_heading',
|
627 |
[
|
628 |
'type' => Controls_Manager::HEADING,
|
629 |
-
'label' => __( 'Description', '
|
630 |
'separator' => 'before'
|
631 |
]
|
632 |
);
|
@@ -634,7 +634,7 @@ class InfoBox extends Base {
|
|
634 |
$this->add_responsive_control(
|
635 |
'description_spacing',
|
636 |
[
|
637 |
-
'label' => __( 'Bottom Spacing', '
|
638 |
'type' => Controls_Manager::SLIDER,
|
639 |
'size_units' => ['px'],
|
640 |
'selectors' => [
|
@@ -646,7 +646,7 @@ class InfoBox extends Base {
|
|
646 |
$this->add_control(
|
647 |
'description_color',
|
648 |
[
|
649 |
-
'label' => __( 'Text Color', '
|
650 |
'type' => Controls_Manager::COLOR,
|
651 |
'selectors' => [
|
652 |
'{{WRAPPER}} .ha-infobox-text' => 'color: {{VALUE}}',
|
@@ -658,7 +658,7 @@ class InfoBox extends Base {
|
|
658 |
Group_Control_Typography::get_type(),
|
659 |
[
|
660 |
'name' => 'description_typography',
|
661 |
-
'label' => __( 'Typography', '
|
662 |
'selector' => '{{WRAPPER}} .ha-infobox-text',
|
663 |
'scheme' => Scheme_Typography::TYPOGRAPHY_3,
|
664 |
]
|
@@ -669,7 +669,7 @@ class InfoBox extends Base {
|
|
669 |
$this->start_controls_section(
|
670 |
'_section_style_button',
|
671 |
[
|
672 |
-
'label' => __( 'Button', '
|
673 |
'tab' => Controls_Manager::TAB_STYLE,
|
674 |
]
|
675 |
);
|
@@ -677,7 +677,7 @@ class InfoBox extends Base {
|
|
677 |
$this->add_responsive_control(
|
678 |
'link_padding',
|
679 |
[
|
680 |
-
'label' => __( 'Padding', '
|
681 |
'type' => Controls_Manager::DIMENSIONS,
|
682 |
'size_units' => [ 'px', 'em', '%' ],
|
683 |
'selectors' => [
|
@@ -706,7 +706,7 @@ class InfoBox extends Base {
|
|
706 |
$this->add_control(
|
707 |
'button_border_radius',
|
708 |
[
|
709 |
-
'label' => __( 'Border Radius', '
|
710 |
'type' => Controls_Manager::DIMENSIONS,
|
711 |
'size_units' => [ 'px', '%' ],
|
712 |
'selectors' => [
|
@@ -736,14 +736,14 @@ class InfoBox extends Base {
|
|
736 |
$this->start_controls_tab(
|
737 |
'_tab_button_normal',
|
738 |
[
|
739 |
-
'label' => __( 'Normal', '
|
740 |
]
|
741 |
);
|
742 |
|
743 |
$this->add_control(
|
744 |
'link_color',
|
745 |
[
|
746 |
-
'label' => __( 'Text Color', '
|
747 |
'type' => Controls_Manager::COLOR,
|
748 |
'default' => '',
|
749 |
'selectors' => [
|
@@ -755,7 +755,7 @@ class InfoBox extends Base {
|
|
755 |
$this->add_control(
|
756 |
'button_bg_color',
|
757 |
[
|
758 |
-
'label' => __( 'Background Color', '
|
759 |
'type' => Controls_Manager::COLOR,
|
760 |
'selectors' => [
|
761 |
'{{WRAPPER}} .ha-btn' => 'background-color: {{VALUE}};',
|
@@ -766,7 +766,7 @@ class InfoBox extends Base {
|
|
766 |
$this->add_control(
|
767 |
'button_icon_translate',
|
768 |
[
|
769 |
-
'label' => __( 'Icon Translate X', '
|
770 |
'type' => Controls_Manager::SLIDER,
|
771 |
'range' => [
|
772 |
'px' => [
|
@@ -786,14 +786,14 @@ class InfoBox extends Base {
|
|
786 |
$this->start_controls_tab(
|
787 |
'_tab_button_hover',
|
788 |
[
|
789 |
-
'label' => __( 'Hover', '
|
790 |
]
|
791 |
);
|
792 |
|
793 |
$this->add_control(
|
794 |
'link_hover_color',
|
795 |
[
|
796 |
-
'label' => __( 'Text Color', '
|
797 |
'type' => Controls_Manager::COLOR,
|
798 |
'selectors' => [
|
799 |
'{{WRAPPER}} .ha-btn:hover, {{WRAPPER}} .ha-btn:focus' => 'color: {{VALUE}};',
|
@@ -804,7 +804,7 @@ class InfoBox extends Base {
|
|
804 |
$this->add_control(
|
805 |
'button_hover_bg_color',
|
806 |
[
|
807 |
-
'label' => __( 'Background Color', '
|
808 |
'type' => Controls_Manager::COLOR,
|
809 |
'selectors' => [
|
810 |
'{{WRAPPER}} .ha-btn:hover, {{WRAPPER}} .ha-btn:focus' => 'background-color: {{VALUE}};',
|
@@ -815,7 +815,7 @@ class InfoBox extends Base {
|
|
815 |
$this->add_control(
|
816 |
'button_hover_border_color',
|
817 |
[
|
818 |
-
'label' => __( 'Border Color', '
|
819 |
'type' => Controls_Manager::COLOR,
|
820 |
'condition' => [
|
821 |
'button_border_border!' => '',
|
@@ -829,7 +829,7 @@ class InfoBox extends Base {
|
|
829 |
$this->add_control(
|
830 |
'button_hover_icon_translate',
|
831 |
[
|
832 |
-
'label' => __( 'Icon Translate X', '
|
833 |
'type' => Controls_Manager::SLIDER,
|
834 |
'default' => [
|
835 |
'size' => 10
|
28 |
* @return string Widget title.
|
29 |
*/
|
30 |
public function get_title() {
|
31 |
+
return __( 'Info Box', 'happy-elementor-addons' );
|
32 |
}
|
33 |
|
34 |
/**
|
54 |
$this->start_controls_section(
|
55 |
'_section_media',
|
56 |
[
|
57 |
+
'label' => __( 'Icon / Image', 'happy-elementor-addons' ),
|
58 |
'tab' => Controls_Manager::TAB_CONTENT,
|
59 |
]
|
60 |
);
|
62 |
$this->add_control(
|
63 |
'type',
|
64 |
[
|
65 |
+
'label' => __( 'Media Type', 'happy-elementor-addons' ),
|
66 |
'type' => Controls_Manager::CHOOSE,
|
67 |
'label_block' => false,
|
68 |
'options' => [
|
69 |
'icon' => [
|
70 |
+
'title' => __( 'Icon', 'happy-elementor-addons' ),
|
71 |
'icon' => 'fa fa-smile-o',
|
72 |
],
|
73 |
'image' => [
|
74 |
+
'title' => __( 'Image', 'happy-elementor-addons' ),
|
75 |
'icon' => 'fa fa-image',
|
76 |
],
|
77 |
],
|
83 |
$this->add_control(
|
84 |
'image',
|
85 |
[
|
86 |
+
'label' => __( 'Image', 'happy-elementor-addons' ),
|
87 |
'type' => Controls_Manager::MEDIA,
|
88 |
'default' => [
|
89 |
'url' => Utils::get_placeholder_image_src(),
|
117 |
$this->add_control(
|
118 |
'icon',
|
119 |
[
|
120 |
+
'label' => __( 'Icon', 'happy-elementor-addons' ),
|
121 |
'type' => Controls_Manager::ICON,
|
122 |
'default' => 'fa fa-smile-o',
|
123 |
'options' => ha_get_happy_icons(),
|
132 |
$this->start_controls_section(
|
133 |
'_section_title',
|
134 |
[
|
135 |
+
'label' => __( 'Title & Description', 'happy-elementor-addons' ),
|
136 |
'tab' => Controls_Manager::TAB_CONTENT,
|
137 |
]
|
138 |
);
|
140 |
$this->add_control(
|
141 |
'title',
|
142 |
[
|
143 |
+
'label' => __( 'Title', 'happy-elementor-addons' ),
|
144 |
'label_block' => true,
|
145 |
'type' => Controls_Manager::TEXT,
|
146 |
+
'default' => __( 'Happy Info Box Title', 'happy-elementor-addons' ),
|
147 |
+
'placeholder' => __( 'Type Info Box Title', 'happy-elementor-addons' ),
|
148 |
]
|
149 |
);
|
150 |
|
151 |
$this->add_control(
|
152 |
'description',
|
153 |
[
|
154 |
+
'label' => __( 'Description', 'happy-elementor-addons' ),
|
155 |
'type' => Controls_Manager::TEXTAREA,
|
156 |
+
'default' => __( 'Happy info box description goes here', 'happy-elementor-addons' ),
|
157 |
+
'placeholder' => __( 'Type info box description', 'happy-elementor-addons' ),
|
158 |
'rows' => 5
|
159 |
]
|
160 |
);
|
162 |
$this->add_control(
|
163 |
'title_tag',
|
164 |
[
|
165 |
+
'label' => __( 'Title HTML Tag', 'happy-elementor-addons' ),
|
166 |
'type' => Controls_Manager::CHOOSE,
|
167 |
'options' => [
|
168 |
'h1' => [
|
169 |
+
'title' => __( 'H1', 'happy-elementor-addons' ),
|
170 |
'icon' => 'eicon-editor-h1'
|
171 |
],
|
172 |
'h2' => [
|
173 |
+
'title' => __( 'H2', 'happy-elementor-addons' ),
|
174 |
'icon' => 'eicon-editor-h2'
|
175 |
],
|
176 |
'h3' => [
|
177 |
+
'title' => __( 'H3', 'happy-elementor-addons' ),
|
178 |
'icon' => 'eicon-editor-h3'
|
179 |
],
|
180 |
'h4' => [
|
181 |
+
'title' => __( 'H4', 'happy-elementor-addons' ),
|
182 |
'icon' => 'eicon-editor-h4'
|
183 |
],
|
184 |
'h5' => [
|
185 |
+
'title' => __( 'H5', 'happy-elementor-addons' ),
|
186 |
'icon' => 'eicon-editor-h5'
|
187 |
],
|
188 |
'h6' => [
|
189 |
+
'title' => __( 'H6', 'happy-elementor-addons' ),
|
190 |
'icon' => 'eicon-editor-h6'
|
191 |
]
|
192 |
],
|
198 |
$this->add_responsive_control(
|
199 |
'align',
|
200 |
[
|
201 |
+
'label' => __( 'Alignment', 'happy-elementor-addons' ),
|
202 |
'type' => Controls_Manager::CHOOSE,
|
203 |
'options' => [
|
204 |
'left' => [
|
205 |
+
'title' => __( 'Left', 'happy-elementor-addons' ),
|
206 |
'icon' => 'fa fa-align-left',
|
207 |
],
|
208 |
'center' => [
|
209 |
+
'title' => __( 'Center', 'happy-elementor-addons' ),
|
210 |
'icon' => 'fa fa-align-center',
|
211 |
],
|
212 |
'right' => [
|
213 |
+
'title' => __( 'Right', 'happy-elementor-addons' ),
|
214 |
'icon' => 'fa fa-align-right',
|
215 |
],
|
216 |
'justify' => [
|
217 |
+
'title' => __( 'Justify', 'happy-elementor-addons' ),
|
218 |
'icon' => 'fa fa-align-justify',
|
219 |
],
|
220 |
],
|
230 |
$this->start_controls_section(
|
231 |
'_section_button',
|
232 |
[
|
233 |
+
'label' => __( 'Button', 'happy-elementor-addons' ),
|
234 |
'tab' => Controls_Manager::TAB_CONTENT,
|
235 |
]
|
236 |
);
|
238 |
$this->add_control(
|
239 |
'button_text',
|
240 |
[
|
241 |
+
'label' => __( 'Text', 'happy-elementor-addons' ),
|
242 |
'type' => Controls_Manager::TEXT,
|
243 |
+
'default' => __( 'Button Text', 'happy-elementor-addons' ),
|
244 |
+
'placeholder' => __( 'Type button text here', 'happy-elementor-addons' ),
|
245 |
'label_block' => true,
|
246 |
]
|
247 |
);
|
249 |
$this->add_control(
|
250 |
'button_link',
|
251 |
[
|
252 |
+
'label' => __( 'Link', 'happy-elementor-addons' ),
|
253 |
'type' => Controls_Manager::URL,
|
254 |
+
'placeholder' => __( 'https://example.com/', 'happy-elementor-addons' ),
|
255 |
]
|
256 |
);
|
257 |
|
258 |
$this->add_control(
|
259 |
'button_icon',
|
260 |
[
|
261 |
+
'label' => __( 'Icon', 'happy-elementor-addons' ),
|
262 |
'type' => Controls_Manager::ICON,
|
263 |
'options' => ha_get_happy_icons(),
|
264 |
'default' => 'fa fa-angle-right'
|
268 |
$this->add_control(
|
269 |
'button_icon_position',
|
270 |
[
|
271 |
+
'label' => __( 'Icon Position', 'happy-elementor-addons' ),
|
272 |
'type' => Controls_Manager::CHOOSE,
|
273 |
'label_block' => false,
|
274 |
'options' => [
|
275 |
'before' => [
|
276 |
+
'title' => __( 'Before', 'happy-elementor-addons' ),
|
277 |
'icon' => 'eicon-h-align-left',
|
278 |
],
|
279 |
'after' => [
|
280 |
+
'title' => __( 'After', 'happy-elementor-addons' ),
|
281 |
'icon' => 'eicon-h-align-right',
|
282 |
],
|
283 |
],
|
292 |
$this->add_control(
|
293 |
'button_icon_spacing',
|
294 |
[
|
295 |
+
'label' => __( 'Icon Spacing', 'happy-elementor-addons' ),
|
296 |
'type' => Controls_Manager::SLIDER,
|
297 |
'default' => [
|
298 |
'size' => 10
|
317 |
$this->start_controls_section(
|
318 |
'_section_media_style',
|
319 |
[
|
320 |
+
'label' => __( 'Icon / Image', 'happy-elementor-addons' ),
|
321 |
'tab' => Controls_Manager::TAB_STYLE,
|
322 |
]
|
323 |
);
|
325 |
$this->add_responsive_control(
|
326 |
'icon_size',
|
327 |
[
|
328 |
+
'label' => __( 'Size', 'happy-elementor-addons' ),
|
329 |
'type' => Controls_Manager::SLIDER,
|
330 |
'size_units' => [ 'px' ],
|
331 |
'range' => [
|
346 |
$this->add_responsive_control(
|
347 |
'image_width',
|
348 |
[
|
349 |
+
'label' => __( 'Width', 'happy-elementor-addons' ),
|
350 |
'type' => Controls_Manager::SLIDER,
|
351 |
'size_units' => [ 'px', '%' ],
|
352 |
'range' => [
|
371 |
$this->add_responsive_control(
|
372 |
'image_height',
|
373 |
[
|
374 |
+
'label' => __( 'Height', 'happy-elementor-addons' ),
|
375 |
'type' => Controls_Manager::SLIDER,
|
376 |
'size_units' => [ 'px' ],
|
377 |
'range' => [
|
405 |
$this->add_responsive_control(
|
406 |
'media_offset_x',
|
407 |
[
|
408 |
+
'label' => __( 'Offset Left', 'happy-elementor-addons' ),
|
409 |
'type' => Controls_Manager::SLIDER,
|
410 |
'size_units' => ['px'],
|
411 |
'condition' => [
|
424 |
$this->add_responsive_control(
|
425 |
'media_offset_y',
|
426 |
[
|
427 |
+
'label' => __( 'Offset Top', 'happy-elementor-addons' ),
|
428 |
'type' => Controls_Manager::SLIDER,
|
429 |
'size_units' => ['px'],
|
430 |
'condition' => [
|
451 |
$this->add_responsive_control(
|
452 |
'media_spacing',
|
453 |
[
|
454 |
+
'label' => __( 'Bottom Spacing', 'happy-elementor-addons' ),
|
455 |
'type' => Controls_Manager::SLIDER,
|
456 |
'size_units' => ['px'],
|
457 |
'selectors' => [
|
463 |
$this->add_responsive_control(
|
464 |
'media_padding',
|
465 |
[
|
466 |
+
'label' => __( 'Padding', 'happy-elementor-addons' ),
|
467 |
'type' => Controls_Manager::SLIDER,
|
468 |
'size_units' => ['px'],
|
469 |
'selectors' => [
|
483 |
$this->add_responsive_control(
|
484 |
'media_border_radius',
|
485 |
[
|
486 |
+
'label' => __( 'Border Radius', 'happy-elementor-addons' ),
|
487 |
'type' => Controls_Manager::DIMENSIONS,
|
488 |
'size_units' => [ 'px', '%' ],
|
489 |
'selectors' => [
|
507 |
$this->add_control(
|
508 |
'icon_color',
|
509 |
[
|
510 |
+
'label' => __( 'Color', 'happy-elementor-addons' ),
|
511 |
'type' => Controls_Manager::COLOR,
|
512 |
'selectors' => [
|
513 |
'{{WRAPPER}} .ha-infobox-figure--icon' => 'color: {{VALUE}}',
|
521 |
$this->add_control(
|
522 |
'icon_bg_color',
|
523 |
[
|
524 |
+
'label' => __( 'Background Color', 'happy-elementor-addons' ),
|
525 |
'type' => Controls_Manager::COLOR,
|
526 |
'selectors' => [
|
527 |
'{{WRAPPER}} .ha-infobox-figure--icon' => 'background-color: {{VALUE}}',
|
535 |
$this->add_control(
|
536 |
'icon_bg_rotate',
|
537 |
[
|
538 |
+
'label' => __( 'Background Rotate', 'happy-elementor-addons' ),
|
539 |
'type' => Controls_Manager::SLIDER,
|
540 |
'size_units' => [ 'deg' ],
|
541 |
'default' => [
|
563 |
$this->start_controls_section(
|
564 |
'_section_title_style',
|
565 |
[
|
566 |
+
'label' => __( 'Title & Description', 'happy-elementor-addons' ),
|
567 |
'tab' => Controls_Manager::TAB_STYLE,
|
568 |
]
|
569 |
);
|
571 |
$this->add_responsive_control(
|
572 |
'content_padding',
|
573 |
[
|
574 |
+
'label' => __( 'Content Box Padding', 'happy-elementor-addons' ),
|
575 |
'type' => Controls_Manager::DIMENSIONS,
|
576 |
'size_units' => [ 'px', 'em', '%' ],
|
577 |
'selectors' => [
|
584 |
'title_heading',
|
585 |
[
|
586 |
'type' => Controls_Manager::HEADING,
|
587 |
+
'label' => __( 'Title', 'happy-elementor-addons' ),
|
588 |
'separator' => 'before'
|
589 |
]
|
590 |
);
|
592 |
$this->add_responsive_control(
|
593 |
'title_spacing',
|
594 |
[
|
595 |
+
'label' => __( 'Bottom Spacing', 'happy-elementor-addons' ),
|
596 |
'type' => Controls_Manager::SLIDER,
|
597 |
'size_units' => ['px'],
|
598 |
'selectors' => [
|
604 |
$this->add_control(
|
605 |
'title_color',
|
606 |
[
|
607 |
+
'label' => __( 'Text Color', 'happy-elementor-addons' ),
|
608 |
'type' => Controls_Manager::COLOR,
|
609 |
'selectors' => [
|
610 |
'{{WRAPPER}} .ha-infobox-title' => 'color: {{VALUE}}',
|
616 |
Group_Control_Typography::get_type(),
|
617 |
[
|
618 |
'name' => 'title_typography',
|
619 |
+
'label' => __( 'Typography', 'happy-elementor-addons' ),
|
620 |
'selector' => '{{WRAPPER}} .ha-infobox-title',
|
621 |
'scheme' => Scheme_Typography::TYPOGRAPHY_2
|
622 |
]
|
626 |
'description_heading',
|
627 |
[
|
628 |
'type' => Controls_Manager::HEADING,
|
629 |
+
'label' => __( 'Description', 'happy-elementor-addons' ),
|
630 |
'separator' => 'before'
|
631 |
]
|
632 |
);
|
634 |
$this->add_responsive_control(
|
635 |
'description_spacing',
|
636 |
[
|
637 |
+
'label' => __( 'Bottom Spacing', 'happy-elementor-addons' ),
|
638 |
'type' => Controls_Manager::SLIDER,
|
639 |
'size_units' => ['px'],
|
640 |
'selectors' => [
|
646 |
$this->add_control(
|
647 |
'description_color',
|
648 |
[
|
649 |
+
'label' => __( 'Text Color', 'happy-elementor-addons' ),
|
650 |
'type' => Controls_Manager::COLOR,
|
651 |
'selectors' => [
|
652 |
'{{WRAPPER}} .ha-infobox-text' => 'color: {{VALUE}}',
|
658 |
Group_Control_Typography::get_type(),
|
659 |
[
|
660 |
'name' => 'description_typography',
|
661 |
+
'label' => __( 'Typography', 'happy-elementor-addons' ),
|
662 |
'selector' => '{{WRAPPER}} .ha-infobox-text',
|
663 |
'scheme' => Scheme_Typography::TYPOGRAPHY_3,
|
664 |
]
|
669 |
$this->start_controls_section(
|
670 |
'_section_style_button',
|
671 |
[
|
672 |
+
'label' => __( 'Button', 'happy-elementor-addons' ),
|
673 |
'tab' => Controls_Manager::TAB_STYLE,
|
674 |
]
|
675 |
);
|
677 |
$this->add_responsive_control(
|
678 |
'link_padding',
|
679 |
[
|
680 |
+
'label' => __( 'Padding', 'happy-elementor-addons' ),
|
681 |
'type' => Controls_Manager::DIMENSIONS,
|
682 |
'size_units' => [ 'px', 'em', '%' ],
|
683 |
'selectors' => [
|
706 |
$this->add_control(
|
707 |
'button_border_radius',
|
708 |
[
|
709 |
+
'label' => __( 'Border Radius', 'happy-elementor-addons' ),
|
710 |
'type' => Controls_Manager::DIMENSIONS,
|
711 |
'size_units' => [ 'px', '%' ],
|
712 |
'selectors' => [
|
736 |
$this->start_controls_tab(
|
737 |
'_tab_button_normal',
|
738 |
[
|
739 |
+
'label' => __( 'Normal', 'happy-elementor-addons' ),
|
740 |
]
|
741 |
);
|
742 |
|
743 |
$this->add_control(
|
744 |
'link_color',
|
745 |
[
|
746 |
+
'label' => __( 'Text Color', 'happy-elementor-addons' ),
|
747 |
'type' => Controls_Manager::COLOR,
|
748 |
'default' => '',
|
749 |
'selectors' => [
|
755 |
$this->add_control(
|
756 |
'button_bg_color',
|
757 |
[
|
758 |
+
'label' => __( 'Background Color', 'happy-elementor-addons' ),
|
759 |
'type' => Controls_Manager::COLOR,
|
760 |
'selectors' => [
|
761 |
'{{WRAPPER}} .ha-btn' => 'background-color: {{VALUE}};',
|
766 |
$this->add_control(
|
767 |
'button_icon_translate',
|
768 |
[
|
769 |
+
'label' => __( 'Icon Translate X', 'happy-elementor-addons' ),
|
770 |
'type' => Controls_Manager::SLIDER,
|
771 |
'range' => [
|
772 |
'px' => [
|
786 |
$this->start_controls_tab(
|
787 |
'_tab_button_hover',
|
788 |
[
|
789 |
+
'label' => __( 'Hover', 'happy-elementor-addons' ),
|
790 |
]
|
791 |
);
|
792 |
|
793 |
$this->add_control(
|
794 |
'link_hover_color',
|
795 |
[
|
796 |
+
'label' => __( 'Text Color', 'happy-elementor-addons' ),
|
797 |
'type' => Controls_Manager::COLOR,
|
798 |
'selectors' => [
|
799 |
'{{WRAPPER}} .ha-btn:hover, {{WRAPPER}} .ha-btn:focus' => 'color: {{VALUE}};',
|
804 |
$this->add_control(
|
805 |
'button_hover_bg_color',
|
806 |
[
|
807 |
+
'label' => __( 'Background Color', 'happy-elementor-addons' ),
|
808 |
'type' => Controls_Manager::COLOR,
|
809 |
'selectors' => [
|
810 |
'{{WRAPPER}} .ha-btn:hover, {{WRAPPER}} .ha-btn:focus' => 'background-color: {{VALUE}};',
|
815 |
$this->add_control(
|
816 |
'button_hover_border_color',
|
817 |
[
|
818 |
+
'label' => __( 'Border Color', 'happy-elementor-addons' ),
|
819 |
'type' => Controls_Manager::COLOR,
|
820 |
'condition' => [
|
821 |
'button_border_border!' => '',
|
829 |
$this->add_control(
|
830 |
'button_hover_icon_translate',
|
831 |
[
|
832 |
+
'label' => __( 'Icon Translate X', 'happy-elementor-addons' ),
|
833 |
'type' => Controls_Manager::SLIDER,
|
834 |
'default' => [
|
835 |
'size' => 10
|
widgets/member/widget.php
CHANGED
@@ -30,7 +30,7 @@ class Member extends Base {
|
|
30 |
* @return string Widget title.
|
31 |
*/
|
32 |
public function get_title() {
|
33 |
-
return __( 'Team Member', '
|
34 |
}
|
35 |
|
36 |
/**
|
@@ -51,45 +51,45 @@ class Member extends Base {
|
|
51 |
|
52 |
protected static function get_profile_names() {
|
53 |
return [
|
54 |
-
'500px' => __( '500px', '
|
55 |
-
'apple' => __( 'Apple', '
|
56 |
-
'behance' => __( 'Behance', '
|
57 |
-
'bitbucket' => __( 'BitBucket', '
|
58 |
-
'codepen' => __( 'CodePen', '
|
59 |
-
'delicious' => __( 'Delicious', '
|
60 |
-
'deviantart' => __( 'DeviantArt', '
|
61 |
-
'digg' => __( 'Digg', '
|
62 |
-
'dribbble' => __( 'Dribbble', '
|
63 |
-
'email' => __( 'Email', '
|
64 |
-
'facebook' => __( 'Facebook', '
|
65 |
-
'flickr' => __( 'Flicker', '
|
66 |
-
'foursquare' => __( 'FourSquare', '
|
67 |
-
'github' => __( 'Github', '
|
68 |
-
'houzz' => __( 'Houzz', '
|
69 |
-
'instagram' => __( 'Instagram', '
|
70 |
-
'jsfiddle' => __( 'JS Fiddle', '
|
71 |
-
'linkedin' => __( 'LinkedIn', '
|
72 |
-
'medium' => __( 'Medium', '
|
73 |
-
'pinterest' => __( 'Pinterest', '
|
74 |
-
'product-hunt' => __( 'Product Hunt', '
|
75 |
-
'reddit' => __( 'Reddit', '
|
76 |
-
'slideshare' => __( 'Slide Share', '
|
77 |
-
'snapchat' => __( 'Snapchat', '
|
78 |
-
'soundcloud' => __( 'SoundCloud', '
|
79 |
-
'spotify' => __( 'Spotify', '
|
80 |
-
'stack-overflow' => __( 'StackOverflow', '
|
81 |
-
'tripadvisor' => __( 'TripAdvisor', '
|
82 |
-
'tumblr' => __( 'Tumblr', '
|
83 |
-
'twitch' => __( 'Twitch', '
|
84 |
-
'twitter' => __( 'Twitter', '
|
85 |
-
'vimeo' => __( 'Vimeo', '
|
86 |
-
'vk' => __( 'VK', '
|
87 |
-
'website' => __( 'Website', '
|
88 |
-
'whatsapp' => __( 'WhatsApp', '
|
89 |
-
'wordpress' => __( 'WordPress', '
|
90 |
-
'xing' => __( 'Xing', '
|
91 |
-
'yelp' => __( 'Yelp', '
|
92 |
-
'youtube' => __( 'YouTube', '
|
93 |
];
|
94 |
}
|
95 |
|
@@ -100,7 +100,7 @@ class Member extends Base {
|
|
100 |
$this->start_controls_section(
|
101 |
'_section_info',
|
102 |
[
|
103 |
-
'label' => __( 'Information', '
|
104 |
'tab' => Controls_Manager::TAB_CONTENT,
|
105 |
]
|
106 |
);
|
@@ -108,7 +108,7 @@ class Member extends Base {
|
|
108 |
$this->add_control(
|
109 |
'image',
|
110 |
[
|
111 |
-
'label' => __( 'Photo', '
|
112 |
'type' => Controls_Manager::MEDIA,
|
113 |
'default' => [
|
114 |
'url' => Utils::get_placeholder_image_src(),
|
@@ -128,31 +128,31 @@ class Member extends Base {
|
|
128 |
$this->add_control(
|
129 |
'title',
|
130 |
[
|
131 |
-
'label' => __( 'Name', '
|
132 |
'label_block' => true,
|
133 |
'type' => Controls_Manager::TEXT,
|
134 |
-
'default' => __( 'Happy Member Name', '
|
135 |
-
'placeholder' => __( 'Type Member Name', '
|
136 |
]
|
137 |
);
|
138 |
|
139 |
$this->add_control(
|
140 |
'job_title',
|
141 |
[
|
142 |
-
'label' => __( 'Job Title', '
|
143 |
'label_block' => true,
|
144 |
'type' => Controls_Manager::TEXT,
|
145 |
-
'default' => __( 'Happy Officer', '
|
146 |
-
'placeholder' => __( 'Type Member Job Title', '
|
147 |
]
|
148 |
);
|
149 |
|
150 |
$this->add_control(
|
151 |
'bio',
|
152 |
[
|
153 |
-
'label' => __( 'Short Bio', '
|
154 |
'type' => Controls_Manager::TEXTAREA,
|
155 |
-
'placeholder' => __( 'Write something amazing about the happy member', '
|
156 |
'rows' => 5
|
157 |
]
|
158 |
);
|
@@ -160,31 +160,31 @@ class Member extends Base {
|
|
160 |
$this->add_control(
|
161 |
'title_tag',
|
162 |
[
|
163 |
-
'label' => __( 'Title HTML Tag', '
|
164 |
'type' => Controls_Manager::CHOOSE,
|
165 |
'options' => [
|
166 |
'h1' => [
|
167 |
-
'title' => __( 'H1', '
|
168 |
'icon' => 'eicon-editor-h1'
|
169 |
],
|
170 |
'h2' => [
|
171 |
-
'title' => __( 'H2', '
|
172 |
'icon' => 'eicon-editor-h2'
|
173 |
],
|
174 |
'h3' => [
|
175 |
-
'title' => __( 'H3', '
|
176 |
'icon' => 'eicon-editor-h3'
|
177 |
],
|
178 |
'h4' => [
|
179 |
-
'title' => __( 'H4', '
|
180 |
'icon' => 'eicon-editor-h4'
|
181 |
],
|
182 |
'h5' => [
|
183 |
-
'title' => __( 'H5', '
|
184 |
'icon' => 'eicon-editor-h5'
|
185 |
],
|
186 |
'h6' => [
|
187 |
-
'title' => __( 'H6', '
|
188 |
'icon' => 'eicon-editor-h6'
|
189 |
]
|
190 |
],
|
@@ -196,23 +196,23 @@ class Member extends Base {
|
|
196 |
$this->add_responsive_control(
|
197 |
'align',
|
198 |
[
|
199 |
-
'label' => __( 'Alignment', '
|
200 |
'type' => Controls_Manager::CHOOSE,
|
201 |
'options' => [
|
202 |
'left' => [
|
203 |
-
'title' => __( 'Left', '
|
204 |
'icon' => 'fa fa-align-left',
|
205 |
],
|
206 |
'center' => [
|
207 |
-
'title' => __( 'Center', '
|
208 |
'icon' => 'fa fa-align-center',
|
209 |
],
|
210 |
'right' => [
|
211 |
-
'title' => __( 'Right', '
|
212 |
'icon' => 'fa fa-align-right',
|
213 |
],
|
214 |
'justify' => [
|
215 |
-
'title' => __( 'Justify', '
|
216 |
'icon' => 'fa fa-align-justify',
|
217 |
],
|
218 |
],
|
@@ -228,7 +228,7 @@ class Member extends Base {
|
|
228 |
$this->start_controls_section(
|
229 |
'_section_social',
|
230 |
[
|
231 |
-
'label' => __( 'Social Profiles', '
|
232 |
'tab' => Controls_Manager::TAB_CONTENT,
|
233 |
]
|
234 |
);
|
@@ -238,7 +238,7 @@ class Member extends Base {
|
|
238 |
$repeater->add_control(
|
239 |
'name',
|
240 |
[
|
241 |
-
'label' => __( 'Profile Name', '
|
242 |
'type' => Controls_Manager::SELECT2,
|
243 |
'select2options' => [
|
244 |
'allowClear' => false,
|
@@ -249,8 +249,8 @@ class Member extends Base {
|
|
249 |
|
250 |
$repeater->add_control(
|
251 |
'link', [
|
252 |
-
'label' => __( 'Profile Link', '
|
253 |
-
'placeholder' => __( 'Add your profile link', '
|
254 |
'type' => Controls_Manager::URL,
|
255 |
'label_block' => false,
|
256 |
'autocomplete' => false,
|
@@ -263,8 +263,8 @@ class Member extends Base {
|
|
263 |
|
264 |
$repeater->add_control(
|
265 |
'email', [
|
266 |
-
'label' => __( 'Email Address', '
|
267 |
-
'placeholder' => __( 'Add your email address', '
|
268 |
'type' => Controls_Manager::TEXT,
|
269 |
'label_block' => false,
|
270 |
'input_type' => 'email',
|
@@ -277,10 +277,10 @@ class Member extends Base {
|
|
277 |
$repeater->add_control(
|
278 |
'customize',
|
279 |
[
|
280 |
-
'label' => __( 'Want To Customize?', '
|
281 |
'type' => Controls_Manager::SWITCHER,
|
282 |
-
'label_on' => __( 'Yes', '
|
283 |
-
'label_off' => __( 'No', '
|
284 |
'return_value' => 'yes',
|
285 |
]
|
286 |
);
|
@@ -294,14 +294,14 @@ class Member extends Base {
|
|
294 |
$repeater->start_controls_tab(
|
295 |
'_tab_icon_normal',
|
296 |
[
|
297 |
-
'label' => __( 'Normal', '
|
298 |
]
|
299 |
);
|
300 |
|
301 |
$repeater->add_control(
|
302 |
'color',
|
303 |
[
|
304 |
-
'label' => __( 'Text Color', '
|
305 |
'type' => Controls_Manager::COLOR,
|
306 |
'selectors' => [
|
307 |
'{{WRAPPER}} .ha-member-links > {{CURRENT_ITEM}}' => 'color: {{VALUE}}',
|
@@ -313,7 +313,7 @@ class Member extends Base {
|
|
313 |
$repeater->add_control(
|
314 |
'bg_color',
|
315 |
[
|
316 |
-
'label' => __( 'Background Color', '
|
317 |
'type' => Controls_Manager::COLOR,
|
318 |
'selectors' => [
|
319 |
'{{WRAPPER}} .ha-member-links > {{CURRENT_ITEM}}' => 'background-color: {{VALUE}}',
|
@@ -326,14 +326,14 @@ class Member extends Base {
|
|
326 |
$repeater->start_controls_tab(
|
327 |
'_tab_icon_hover',
|
328 |
[
|
329 |
-
'label' => __( 'Hover', '
|
330 |
]
|
331 |
);
|
332 |
|
333 |
$repeater->add_control(
|
334 |
'hover_color',
|
335 |
[
|
336 |
-
'label' => __( 'Text Color', '
|
337 |
'type' => Controls_Manager::COLOR,
|
338 |
'selectors' => [
|
339 |
'{{WRAPPER}} .ha-member-links > {{CURRENT_ITEM}}:hover, {{WRAPPER}} .ha-member-links > {{CURRENT_ITEM}}:focus' => 'color: {{VALUE}}',
|
@@ -345,7 +345,7 @@ class Member extends Base {
|
|
345 |
$repeater->add_control(
|
346 |
'hover_bg_color',
|
347 |
[
|
348 |
-
'label' => __( 'Background Color', '
|
349 |
'type' => Controls_Manager::COLOR,
|
350 |
'selectors' => [
|
351 |
'{{WRAPPER}} .ha-member-links > {{CURRENT_ITEM}}:hover, {{WRAPPER}} .ha-member-links > {{CURRENT_ITEM}}:focus' => 'background-color: {{VALUE}}',
|
@@ -357,7 +357,7 @@ class Member extends Base {
|
|
357 |
$repeater->add_control(
|
358 |
'hover_border_color',
|
359 |
[
|
360 |
-
'label' => __( 'Border Color', '
|
361 |
'type' => Controls_Manager::COLOR,
|
362 |
'selectors' => [
|
363 |
'{{WRAPPER}} .ha-member-links > {{CURRENT_ITEM}}:hover, {{WRAPPER}} .ha-member-links > {{CURRENT_ITEM}}:focus' => 'border-color: {{VALUE}}',
|
@@ -415,7 +415,7 @@ class Member extends Base {
|
|
415 |
$this->start_controls_section(
|
416 |
'_section_style_image',
|
417 |
[
|
418 |
-
'label' => __( 'Photo', '
|
419 |
'tab' => Controls_Manager::TAB_STYLE,
|
420 |
]
|
421 |
);
|
@@ -423,7 +423,7 @@ class Member extends Base {
|
|
423 |
$this->add_responsive_control(
|
424 |
'image_width',
|
425 |
[
|
426 |
-
'label' => __( 'Width', '
|
427 |
'type' => Controls_Manager::SLIDER,
|
428 |
'size_units' => [ 'px', '%'],
|
429 |
'range' => [
|
@@ -445,7 +445,7 @@ class Member extends Base {
|
|
445 |
$this->add_responsive_control(
|
446 |
'image_height',
|
447 |
[
|
448 |
-
'label' => __( 'Height', '
|
449 |
'type' => Controls_Manager::SLIDER,
|
450 |
'size_units' => [ 'px' ],
|
451 |
'range' => [
|
@@ -463,7 +463,7 @@ class Member extends Base {
|
|
463 |
$this->add_responsive_control(
|
464 |
'image_spacing',
|
465 |
[
|
466 |
-
'label' => __( 'Bottom Spacing', '
|
467 |
'type' => Controls_Manager::SLIDER,
|
468 |
'size_units' => ['px'],
|
469 |
'selectors' => [
|
@@ -475,7 +475,7 @@ class Member extends Base {
|
|
475 |
$this->add_responsive_control(
|
476 |
'image_padding',
|
477 |
[
|
478 |
-
'label' => __( 'Padding', '
|
479 |
'type' => Controls_Manager::DIMENSIONS,
|
480 |
'size_units' => [ 'px', 'em', '%' ],
|
481 |
'selectors' => [
|
@@ -495,7 +495,7 @@ class Member extends Base {
|
|
495 |
$this->add_responsive_control(
|
496 |
'image_border_radius',
|
497 |
[
|
498 |
-
'label' => __( 'Border Radius', '
|
499 |
'type' => Controls_Manager::DIMENSIONS,
|
500 |
'size_units' => [ 'px', '%' ],
|
501 |
'selectors' => [
|
@@ -518,7 +518,7 @@ class Member extends Base {
|
|
518 |
$this->add_control(
|
519 |
'image_bg_color',
|
520 |
[
|
521 |
-
'label' => __( 'Background Color', '
|
522 |
'type' => Controls_Manager::COLOR,
|
523 |
'selectors' => [
|
524 |
'{{WRAPPER}} .ha-member-figure > img' => 'background-color: {{VALUE}}',
|
@@ -531,7 +531,7 @@ class Member extends Base {
|
|
531 |
$this->start_controls_section(
|
532 |
'_section_style_content',
|
533 |
[
|
534 |
-
'label' => __( 'Name, Job Title & Bio', '
|
535 |
'tab' => Controls_Manager::TAB_STYLE,
|
536 |
]
|
537 |
);
|
@@ -539,7 +539,7 @@ class Member extends Base {
|
|
539 |
$this->add_responsive_control(
|
540 |
'content_padding',
|
541 |
[
|
542 |
-
'label' => __( 'Content Padding', '
|
543 |
'type' => Controls_Manager::DIMENSIONS,
|
544 |
'size_units' => [ 'px', 'em', '%' ],
|
545 |
'selectors' => [
|
@@ -552,7 +552,7 @@ class Member extends Base {
|
|
552 |
'_heading_title',
|
553 |
[
|
554 |
'type' => Controls_Manager::HEADING,
|
555 |
-
'label' => __( 'Name', '
|
556 |
'separator' => 'before',
|
557 |
]
|
558 |
);
|
@@ -560,7 +560,7 @@ class Member extends Base {
|
|
560 |
$this->add_responsive_control(
|
561 |
'title_spacing',
|
562 |
[
|
563 |
-
'label' => __( 'Bottom Spacing', '
|
564 |
'type' => Controls_Manager::SLIDER,
|
565 |
'size_units' => ['px'],
|
566 |
'selectors' => [
|
@@ -572,7 +572,7 @@ class Member extends Base {
|
|
572 |
$this->add_control(
|
573 |
'title_color',
|
574 |
[
|
575 |
-
'label' => __( 'Text Color', '
|
576 |
'type' => Controls_Manager::COLOR,
|
577 |
'selectors' => [
|
578 |
'{{WRAPPER}} .ha-member-name' => 'color: {{VALUE}}',
|
@@ -601,7 +601,7 @@ class Member extends Base {
|
|
601 |
'_heading_job_title',
|
602 |
[
|
603 |
'type' => Controls_Manager::HEADING,
|
604 |
-
'label' => __( 'Job Title', '
|
605 |
'separator' => 'before'
|
606 |
]
|
607 |
);
|
@@ -609,7 +609,7 @@ class Member extends Base {
|
|
609 |
$this->add_responsive_control(
|
610 |
'job_title_spacing',
|
611 |
[
|
612 |
-
'label' => __( 'Bottom Spacing', '
|
613 |
'type' => Controls_Manager::SLIDER,
|
614 |
'size_units' => ['px'],
|
615 |
'selectors' => [
|
@@ -621,7 +621,7 @@ class Member extends Base {
|
|
621 |
$this->add_control(
|
622 |
'job_title_color',
|
623 |
[
|
624 |
-
'label' => __( 'Text Color', '
|
625 |
'type' => Controls_Manager::COLOR,
|
626 |
'selectors' => [
|
627 |
'{{WRAPPER}} .ha-member-position' => 'color: {{VALUE}}',
|
@@ -650,7 +650,7 @@ class Member extends Base {
|
|
650 |
'_heading_bio',
|
651 |
[
|
652 |
'type' => Controls_Manager::HEADING,
|
653 |
-
'label' => __( 'Short Bio', '
|
654 |
'separator' => 'before'
|
655 |
]
|
656 |
);
|
@@ -658,7 +658,7 @@ class Member extends Base {
|
|
658 |
$this->add_responsive_control(
|
659 |
'bio_spacing',
|
660 |
[
|
661 |
-
'label' => __( 'Bottom Spacing', '
|
662 |
'type' => Controls_Manager::SLIDER,
|
663 |
'size_units' => ['px'],
|
664 |
'selectors' => [
|
@@ -670,7 +670,7 @@ class Member extends Base {
|
|
670 |
$this->add_control(
|
671 |
'bio_color',
|
672 |
[
|
673 |
-
'label' => __( 'Text Color', '
|
674 |
'type' => Controls_Manager::COLOR,
|
675 |
'selectors' => [
|
676 |
'{{WRAPPER}} .ha-member-bio' => 'color: {{VALUE}}',
|
@@ -700,7 +700,7 @@ class Member extends Base {
|
|
700 |
$this->start_controls_section(
|
701 |
'_section_style_social',
|
702 |
[
|
703 |
-
'label' => __( 'Social Icons', '
|
704 |
'tab' => Controls_Manager::TAB_STYLE,
|
705 |
]
|
706 |
);
|
@@ -708,7 +708,7 @@ class Member extends Base {
|
|
708 |
$this->add_responsive_control(
|
709 |
'links_spacing',
|
710 |
[
|
711 |
-
'label' => __( 'Right Spacing', '
|
712 |
'type' => Controls_Manager::SLIDER,
|
713 |
'size_units' => ['px'],
|
714 |
'selectors' => [
|
@@ -720,7 +720,7 @@ class Member extends Base {
|
|
720 |
$this->add_responsive_control(
|
721 |
'links_padding',
|
722 |
[
|
723 |
-
'label' => __( 'Padding', '
|
724 |
'type' => Controls_Manager::SLIDER,
|
725 |
'size_units' => ['px'],
|
726 |
'selectors' => [
|
@@ -732,7 +732,7 @@ class Member extends Base {
|
|
732 |
$this->add_responsive_control(
|
733 |
'links_icon_size',
|
734 |
[
|
735 |
-
'label' => __( 'Icon Size', '
|
736 |
'type' => Controls_Manager::SLIDER,
|
737 |
'size_units' => ['px'],
|
738 |
'selectors' => [
|
@@ -752,7 +752,7 @@ class Member extends Base {
|
|
752 |
$this->add_responsive_control(
|
753 |
'links_border_radius',
|
754 |
[
|
755 |
-
'label' => __( 'Border Radius', '
|
756 |
'type' => Controls_Manager::DIMENSIONS,
|
757 |
'size_units' => [ 'px', '%' ],
|
758 |
'selectors' => [
|
@@ -765,14 +765,14 @@ class Member extends Base {
|
|
765 |
$this->start_controls_tab(
|
766 |
'_tab_links_normal',
|
767 |
[
|
768 |
-
'label' => __( 'Normal', '
|
769 |
]
|
770 |
);
|
771 |
|
772 |
$this->add_control(
|
773 |
'links_color',
|
774 |
[
|
775 |
-
'label' => __( 'Text Color', '
|
776 |
'type' => Controls_Manager::COLOR,
|
777 |
'selectors' => [
|
778 |
'{{WRAPPER}} .ha-member-links > a' => 'color: {{VALUE}}',
|
@@ -783,7 +783,7 @@ class Member extends Base {
|
|
783 |
$this->add_control(
|
784 |
'links_bg_color',
|
785 |
[
|
786 |
-
'label' => __( 'Background Color', '
|
787 |
'type' => Controls_Manager::COLOR,
|
788 |
'selectors' => [
|
789 |
'{{WRAPPER}} .ha-member-links > a' => 'background-color: {{VALUE}}',
|
@@ -795,14 +795,14 @@ class Member extends Base {
|
|
795 |
$this->start_controls_tab(
|
796 |
'_tab_links_hover',
|
797 |
[
|
798 |
-
'label' => __( 'Hover', '
|
799 |
]
|
800 |
);
|
801 |
|
802 |
$this->add_control(
|
803 |
'links_hover_color',
|
804 |
[
|
805 |
-
'label' => __( 'Text Color', '
|
806 |
'type' => Controls_Manager::COLOR,
|
807 |
'selectors' => [
|
808 |
'{{WRAPPER}} .ha-member-links > a:hover, {{WRAPPER}} .ha-member-links > a:focus' => 'color: {{VALUE}}',
|
@@ -813,7 +813,7 @@ class Member extends Base {
|
|
813 |
$this->add_control(
|
814 |
'links_hover_bg_color',
|
815 |
[
|
816 |
-
'label' => __( 'Background Color', '
|
817 |
'type' => Controls_Manager::COLOR,
|
818 |
'selectors' => [
|
819 |
'{{WRAPPER}} .ha-member-links > a:hover, {{WRAPPER}} .ha-member-links > a:focus' => 'background-color: {{VALUE}}',
|
@@ -824,7 +824,7 @@ class Member extends Base {
|
|
824 |
$this->add_control(
|
825 |
'links_hover_border_color',
|
826 |
[
|
827 |
-
'label' => __( 'Border Color', '
|
828 |
'type' => Controls_Manager::COLOR,
|
829 |
'selectors' => [
|
830 |
'{{WRAPPER}} .ha-member-links > a:hover, {{WRAPPER}} .ha-member-links > a:focus' => 'border-color: {{VALUE}};',
|
30 |
* @return string Widget title.
|
31 |
*/
|
32 |
public function get_title() {
|
33 |
+
return __( 'Team Member', 'happy-elementor-addons' );
|
34 |
}
|
35 |
|
36 |
/**
|
51 |
|
52 |
protected static function get_profile_names() {
|
53 |
return [
|
54 |
+
'500px' => __( '500px', 'happy-elementor-addons' ),
|
55 |
+
'apple' => __( 'Apple', 'happy-elementor-addons' ),
|
56 |
+
'behance' => __( 'Behance', 'happy-elementor-addons' ),
|
57 |
+
'bitbucket' => __( 'BitBucket', 'happy-elementor-addons' ),
|
58 |
+
'codepen' => __( 'CodePen', 'happy-elementor-addons' ),
|
59 |
+
'delicious' => __( 'Delicious', 'happy-elementor-addons' ),
|
60 |
+
'deviantart' => __( 'DeviantArt', 'happy-elementor-addons' ),
|
61 |
+
'digg' => __( 'Digg', 'happy-elementor-addons' ),
|
62 |
+
'dribbble' => __( 'Dribbble', 'happy-elementor-addons' ),
|
63 |
+
'email' => __( 'Email', 'happy-elementor-addons' ),
|
64 |
+
'facebook' => __( 'Facebook', 'happy-elementor-addons' ),
|
65 |
+
'flickr' => __( 'Flicker', 'happy-elementor-addons' ),
|
66 |
+
'foursquare' => __( 'FourSquare', 'happy-elementor-addons' ),
|
67 |
+
'github' => __( 'Github', 'happy-elementor-addons' ),
|
68 |
+
'houzz' => __( 'Houzz', 'happy-elementor-addons' ),
|
69 |
+
'instagram' => __( 'Instagram', 'happy-elementor-addons' ),
|
70 |
+
'jsfiddle' => __( 'JS Fiddle', 'happy-elementor-addons' ),
|
71 |
+
'linkedin' => __( 'LinkedIn', 'happy-elementor-addons' ),
|
72 |
+
'medium' => __( 'Medium', 'happy-elementor-addons' ),
|
73 |
+
'pinterest' => __( 'Pinterest', 'happy-elementor-addons' ),
|
74 |
+
'product-hunt' => __( 'Product Hunt', 'happy-elementor-addons' ),
|
75 |
+
'reddit' => __( 'Reddit', 'happy-elementor-addons' ),
|
76 |
+
'slideshare' => __( 'Slide Share', 'happy-elementor-addons' ),
|
77 |
+
'snapchat' => __( 'Snapchat', 'happy-elementor-addons' ),
|
78 |
+
'soundcloud' => __( 'SoundCloud', 'happy-elementor-addons' ),
|
79 |
+
'spotify' => __( 'Spotify', 'happy-elementor-addons' ),
|
80 |
+
'stack-overflow' => __( 'StackOverflow', 'happy-elementor-addons' ),
|
81 |
+
'tripadvisor' => __( 'TripAdvisor', 'happy-elementor-addons' ),
|
82 |
+
'tumblr' => __( 'Tumblr', 'happy-elementor-addons' ),
|
83 |
+
'twitch' => __( 'Twitch', 'happy-elementor-addons' ),
|
84 |
+
'twitter' => __( 'Twitter', 'happy-elementor-addons' ),
|
85 |
+
'vimeo' => __( 'Vimeo', 'happy-elementor-addons' ),
|
86 |
+
'vk' => __( 'VK', 'happy-elementor-addons' ),
|
87 |
+
'website' => __( 'Website', 'happy-elementor-addons' ),
|
88 |
+
'whatsapp' => __( 'WhatsApp', 'happy-elementor-addons' ),
|
89 |
+
'wordpress' => __( 'WordPress', 'happy-elementor-addons' ),
|
90 |
+
'xing' => __( 'Xing', 'happy-elementor-addons' ),
|
91 |
+
'yelp' => __( 'Yelp', 'happy-elementor-addons' ),
|
92 |
+
'youtube' => __( 'YouTube', 'happy-elementor-addons' ),
|
93 |
];
|
94 |
}
|
95 |
|
100 |
$this->start_controls_section(
|
101 |
'_section_info',
|
102 |
[
|
103 |
+
'label' => __( 'Information', 'happy-elementor-addons' ),
|
104 |
'tab' => Controls_Manager::TAB_CONTENT,
|
105 |
]
|
106 |
);
|
108 |
$this->add_control(
|
109 |
'image',
|
110 |
[
|
111 |
+
'label' => __( 'Photo', 'happy-elementor-addons' ),
|
112 |
'type' => Controls_Manager::MEDIA,
|
113 |
'default' => [
|
114 |
'url' => Utils::get_placeholder_image_src(),
|
128 |
$this->add_control(
|
129 |
'title',
|
130 |
[
|
131 |
+
'label' => __( 'Name', 'happy-elementor-addons' ),
|
132 |
'label_block' => true,
|
133 |
'type' => Controls_Manager::TEXT,
|
134 |
+
'default' => __( 'Happy Member Name', 'happy-elementor-addons' ),
|
135 |
+
'placeholder' => __( 'Type Member Name', 'happy-elementor-addons' ),
|
136 |
]
|
137 |
);
|
138 |
|
139 |
$this->add_control(
|
140 |
'job_title',
|
141 |
[
|
142 |
+
'label' => __( 'Job Title', 'happy-elementor-addons' ),
|
143 |
'label_block' => true,
|
144 |
'type' => Controls_Manager::TEXT,
|
145 |
+
'default' => __( 'Happy Officer', 'happy-elementor-addons' ),
|
146 |
+
'placeholder' => __( 'Type Member Job Title', 'happy-elementor-addons' ),
|
147 |
]
|
148 |
);
|
149 |
|
150 |
$this->add_control(
|
151 |
'bio',
|
152 |
[
|
153 |
+
'label' => __( 'Short Bio', 'happy-elementor-addons' ),
|
154 |
'type' => Controls_Manager::TEXTAREA,
|
155 |
+
'placeholder' => __( 'Write something amazing about the happy member', 'happy-elementor-addons' ),
|
156 |
'rows' => 5
|
157 |
]
|
158 |
);
|
160 |
$this->add_control(
|
161 |
'title_tag',
|
162 |
[
|
163 |
+
'label' => __( 'Title HTML Tag', 'happy-elementor-addons' ),
|
164 |
'type' => Controls_Manager::CHOOSE,
|
165 |
'options' => [
|
166 |
'h1' => [
|
167 |
+
'title' => __( 'H1', 'happy-elementor-addons' ),
|
168 |
'icon' => 'eicon-editor-h1'
|
169 |
],
|
170 |
'h2' => [
|
171 |
+
'title' => __( 'H2', 'happy-elementor-addons' ),
|
172 |
'icon' => 'eicon-editor-h2'
|
173 |
],
|
174 |
'h3' => [
|
175 |
+
'title' => __( 'H3', 'happy-elementor-addons' ),
|
176 |
'icon' => 'eicon-editor-h3'
|
177 |
],
|
178 |
'h4' => [
|
179 |
+
'title' => __( 'H4', 'happy-elementor-addons' ),
|
180 |
'icon' => 'eicon-editor-h4'
|
181 |
],
|
182 |
'h5' => [
|
183 |
+
'title' => __( 'H5', 'happy-elementor-addons' ),
|
184 |
'icon' => 'eicon-editor-h5'
|
185 |
],
|
186 |
'h6' => [
|
187 |
+
'title' => __( 'H6', 'happy-elementor-addons' ),
|
188 |
'icon' => 'eicon-editor-h6'
|
189 |
]
|
190 |
],
|
196 |
$this->add_responsive_control(
|
197 |
'align',
|
198 |
[
|
199 |
+
'label' => __( 'Alignment', 'happy-elementor-addons' ),
|
200 |
'type' => Controls_Manager::CHOOSE,
|
201 |
'options' => [
|
202 |
'left' => [
|
203 |
+
'title' => __( 'Left', 'happy-elementor-addons' ),
|
204 |
'icon' => 'fa fa-align-left',
|
205 |
],
|
206 |
'center' => [
|
207 |
+
'title' => __( 'Center', 'happy-elementor-addons' ),
|
208 |
'icon' => 'fa fa-align-center',
|
209 |
],
|
210 |
'right' => [
|
211 |
+
'title' => __( 'Right', 'happy-elementor-addons' ),
|
212 |
'icon' => 'fa fa-align-right',
|
213 |
],
|
214 |
'justify' => [
|
215 |
+
'title' => __( 'Justify', 'happy-elementor-addons' ),
|
216 |
'icon' => 'fa fa-align-justify',
|
217 |
],
|
218 |
],
|
228 |
$this->start_controls_section(
|
229 |
'_section_social',
|
230 |
[
|
231 |
+
'label' => __( 'Social Profiles', 'happy-elementor-addons' ),
|
232 |
'tab' => Controls_Manager::TAB_CONTENT,
|
233 |
]
|
234 |
);
|
238 |
$repeater->add_control(
|
239 |
'name',
|
240 |
[
|
241 |
+
'label' => __( 'Profile Name', 'happy-elementor-addons' ),
|
242 |
'type' => Controls_Manager::SELECT2,
|
243 |
'select2options' => [
|
244 |
'allowClear' => false,
|
249 |
|
250 |
$repeater->add_control(
|
251 |
'link', [
|
252 |
+
'label' => __( 'Profile Link', 'happy-elementor-addons' ),
|
253 |
+
'placeholder' => __( 'Add your profile link', 'happy-elementor-addons' ),
|
254 |
'type' => Controls_Manager::URL,
|
255 |
'label_block' => false,
|
256 |
'autocomplete' => false,
|
263 |
|
264 |
$repeater->add_control(
|
265 |
'email', [
|
266 |
+
'label' => __( 'Email Address', 'happy-elementor-addons' ),
|
267 |
+
'placeholder' => __( 'Add your email address', 'happy-elementor-addons' ),
|
268 |
'type' => Controls_Manager::TEXT,
|
269 |
'label_block' => false,
|
270 |
'input_type' => 'email',
|
277 |
$repeater->add_control(
|
278 |
'customize',
|
279 |
[
|
280 |
+
'label' => __( 'Want To Customize?', 'happy-elementor-addons' ),
|
281 |
'type' => Controls_Manager::SWITCHER,
|
282 |
+
'label_on' => __( 'Yes', 'happy-elementor-addons' ),
|
283 |
+
'label_off' => __( 'No', 'happy-elementor-addons' ),
|
284 |
'return_value' => 'yes',
|
285 |
]
|
286 |
);
|
294 |
$repeater->start_controls_tab(
|
295 |
'_tab_icon_normal',
|
296 |
[
|
297 |
+
'label' => __( 'Normal', 'happy-elementor-addons' ),
|
298 |
]
|
299 |
);
|
300 |
|
301 |
$repeater->add_control(
|
302 |
'color',
|
303 |
[
|
304 |
+
'label' => __( 'Text Color', 'happy-elementor-addons' ),
|
305 |
'type' => Controls_Manager::COLOR,
|
306 |
'selectors' => [
|
307 |
'{{WRAPPER}} .ha-member-links > {{CURRENT_ITEM}}' => 'color: {{VALUE}}',
|
313 |
$repeater->add_control(
|
314 |
'bg_color',
|
315 |
[
|
316 |
+
'label' => __( 'Background Color', 'happy-elementor-addons' ),
|
317 |
'type' => Controls_Manager::COLOR,
|
318 |
'selectors' => [
|
319 |
'{{WRAPPER}} .ha-member-links > {{CURRENT_ITEM}}' => 'background-color: {{VALUE}}',
|
326 |
$repeater->start_controls_tab(
|
327 |
'_tab_icon_hover',
|
328 |
[
|
329 |
+
'label' => __( 'Hover', 'happy-elementor-addons' ),
|
330 |
]
|
331 |
);
|
332 |
|
333 |
$repeater->add_control(
|
334 |
'hover_color',
|
335 |
[
|
336 |
+
'label' => __( 'Text Color', 'happy-elementor-addons' ),
|
337 |
'type' => Controls_Manager::COLOR,
|
338 |
'selectors' => [
|
339 |
'{{WRAPPER}} .ha-member-links > {{CURRENT_ITEM}}:hover, {{WRAPPER}} .ha-member-links > {{CURRENT_ITEM}}:focus' => 'color: {{VALUE}}',
|
345 |
$repeater->add_control(
|
346 |
'hover_bg_color',
|
347 |
[
|
348 |
+
'label' => __( 'Background Color', 'happy-elementor-addons' ),
|
349 |
'type' => Controls_Manager::COLOR,
|
350 |
'selectors' => [
|
351 |
'{{WRAPPER}} .ha-member-links > {{CURRENT_ITEM}}:hover, {{WRAPPER}} .ha-member-links > {{CURRENT_ITEM}}:focus' => 'background-color: {{VALUE}}',
|
357 |
$repeater->add_control(
|
358 |
'hover_border_color',
|
359 |
[
|
360 |
+
'label' => __( 'Border Color', 'happy-elementor-addons' ),
|
361 |
'type' => Controls_Manager::COLOR,
|
362 |
'selectors' => [
|
363 |
'{{WRAPPER}} .ha-member-links > {{CURRENT_ITEM}}:hover, {{WRAPPER}} .ha-member-links > {{CURRENT_ITEM}}:focus' => 'border-color: {{VALUE}}',
|
415 |
$this->start_controls_section(
|
416 |
'_section_style_image',
|
417 |
[
|
418 |
+
'label' => __( 'Photo', 'happy-elementor-addons' ),
|
419 |
'tab' => Controls_Manager::TAB_STYLE,
|
420 |
]
|
421 |
);
|
423 |
$this->add_responsive_control(
|
424 |
'image_width',
|
425 |
[
|
426 |
+
'label' => __( 'Width', 'happy-elementor-addons' ),
|
427 |
'type' => Controls_Manager::SLIDER,
|
428 |
'size_units' => [ 'px', '%'],
|
429 |
'range' => [
|
445 |
$this->add_responsive_control(
|
446 |
'image_height',
|
447 |
[
|
448 |
+
'label' => __( 'Height', 'happy-elementor-addons' ),
|
449 |
'type' => Controls_Manager::SLIDER,
|
450 |
'size_units' => [ 'px' ],
|
451 |
'range' => [
|
463 |
$this->add_responsive_control(
|
464 |
'image_spacing',
|
465 |
[
|
466 |
+
'label' => __( 'Bottom Spacing', 'happy-elementor-addons' ),
|
467 |
'type' => Controls_Manager::SLIDER,
|
468 |
'size_units' => ['px'],
|
469 |
'selectors' => [
|
475 |
$this->add_responsive_control(
|
476 |
'image_padding',
|
477 |
[
|
478 |
+
'label' => __( 'Padding', 'happy-elementor-addons' ),
|
479 |
'type' => Controls_Manager::DIMENSIONS,
|
480 |
'size_units' => [ 'px', 'em', '%' ],
|
481 |
'selectors' => [
|
495 |
$this->add_responsive_control(
|
496 |
'image_border_radius',
|
497 |
[
|
498 |
+
'label' => __( 'Border Radius', 'happy-elementor-addons' ),
|
499 |
'type' => Controls_Manager::DIMENSIONS,
|
500 |
'size_units' => [ 'px', '%' ],
|
501 |
'selectors' => [
|
518 |
$this->add_control(
|
519 |
'image_bg_color',
|
520 |
[
|
521 |
+
'label' => __( 'Background Color', 'happy-elementor-addons' ),
|
522 |
'type' => Controls_Manager::COLOR,
|
523 |
'selectors' => [
|
524 |
'{{WRAPPER}} .ha-member-figure > img' => 'background-color: {{VALUE}}',
|
531 |
$this->start_controls_section(
|
532 |
'_section_style_content',
|
533 |
[
|
534 |
+
'label' => __( 'Name, Job Title & Bio', 'happy-elementor-addons' ),
|
535 |
'tab' => Controls_Manager::TAB_STYLE,
|
536 |
]
|
537 |
);
|
539 |
$this->add_responsive_control(
|
540 |
'content_padding',
|
541 |
[
|
542 |
+
'label' => __( 'Content Padding', 'happy-elementor-addons' ),
|
543 |
'type' => Controls_Manager::DIMENSIONS,
|
544 |
'size_units' => [ 'px', 'em', '%' ],
|
545 |
'selectors' => [
|
552 |
'_heading_title',
|
553 |
[
|
554 |
'type' => Controls_Manager::HEADING,
|
555 |
+
'label' => __( 'Name', 'happy-elementor-addons' ),
|
556 |
'separator' => 'before',
|
557 |
]
|
558 |
);
|
560 |
$this->add_responsive_control(
|
561 |
'title_spacing',
|
562 |
[
|
563 |
+
'label' => __( 'Bottom Spacing', 'happy-elementor-addons' ),
|
564 |
'type' => Controls_Manager::SLIDER,
|
565 |
'size_units' => ['px'],
|
566 |
'selectors' => [
|
572 |
$this->add_control(
|
573 |
'title_color',
|
574 |
[
|
575 |
+
'label' => __( 'Text Color', 'happy-elementor-addons' ),
|
576 |
'type' => Controls_Manager::COLOR,
|
577 |
'selectors' => [
|
578 |
'{{WRAPPER}} .ha-member-name' => 'color: {{VALUE}}',
|
601 |
'_heading_job_title',
|
602 |
[
|
603 |
'type' => Controls_Manager::HEADING,
|
604 |
+
'label' => __( 'Job Title', 'happy-elementor-addons' ),
|
605 |
'separator' => 'before'
|
606 |
]
|
607 |
);
|
609 |
$this->add_responsive_control(
|
610 |
'job_title_spacing',
|
611 |
[
|
612 |
+
'label' => __( 'Bottom Spacing', 'happy-elementor-addons' ),
|
613 |
'type' => Controls_Manager::SLIDER,
|
614 |
'size_units' => ['px'],
|
615 |
'selectors' => [
|
621 |
$this->add_control(
|
622 |
'job_title_color',
|
623 |
[
|
624 |
+
'label' => __( 'Text Color', 'happy-elementor-addons' ),
|
625 |
'type' => Controls_Manager::COLOR,
|
626 |
'selectors' => [
|
627 |
'{{WRAPPER}} .ha-member-position' => 'color: {{VALUE}}',
|
650 |
'_heading_bio',
|
651 |
[
|
652 |
'type' => Controls_Manager::HEADING,
|
653 |
+
'label' => __( 'Short Bio', 'happy-elementor-addons' ),
|
654 |
'separator' => 'before'
|
655 |
]
|
656 |
);
|
658 |
$this->add_responsive_control(
|
659 |
'bio_spacing',
|
660 |
[
|
661 |
+
'label' => __( 'Bottom Spacing', 'happy-elementor-addons' ),
|
662 |
'type' => Controls_Manager::SLIDER,
|
663 |
'size_units' => ['px'],
|
664 |
'selectors' => [
|
670 |
$this->add_control(
|
671 |
'bio_color',
|
672 |
[
|
673 |
+
'label' => __( 'Text Color', 'happy-elementor-addons' ),
|
674 |
'type' => Controls_Manager::COLOR,
|
675 |
'selectors' => [
|
676 |
'{{WRAPPER}} .ha-member-bio' => 'color: {{VALUE}}',
|
700 |
$this->start_controls_section(
|
701 |
'_section_style_social',
|
702 |
[
|
703 |
+
'label' => __( 'Social Icons', 'happy-elementor-addons' ),
|
704 |
'tab' => Controls_Manager::TAB_STYLE,
|
705 |
]
|
706 |
);
|
708 |
$this->add_responsive_control(
|
709 |
'links_spacing',
|
710 |
[
|
711 |
+
'label' => __( 'Right Spacing', 'happy-elementor-addons' ),
|
712 |
'type' => Controls_Manager::SLIDER,
|
713 |
'size_units' => ['px'],
|
714 |
'selectors' => [
|
720 |
$this->add_responsive_control(
|
721 |
'links_padding',
|
722 |
[
|
723 |
+
'label' => __( 'Padding', 'happy-elementor-addons' ),
|
724 |
'type' => Controls_Manager::SLIDER,
|
725 |
'size_units' => ['px'],
|
726 |
'selectors' => [
|
732 |
$this->add_responsive_control(
|
733 |
'links_icon_size',
|
734 |
[
|
735 |
+
'label' => __( 'Icon Size', 'happy-elementor-addons' ),
|
736 |
'type' => Controls_Manager::SLIDER,
|
737 |
'size_units' => ['px'],
|
738 |
'selectors' => [
|
752 |
$this->add_responsive_control(
|
753 |
'links_border_radius',
|
754 |
[
|
755 |
+
'label' => __( 'Border Radius', 'happy-elementor-addons' ),
|
756 |
'type' => Controls_Manager::DIMENSIONS,
|
757 |
'size_units' => [ 'px', '%' ],
|
758 |
'selectors' => [
|
765 |
$this->start_controls_tab(
|
766 |
'_tab_links_normal',
|
767 |
[
|
768 |
+
'label' => __( 'Normal', 'happy-elementor-addons' ),
|
769 |
]
|
770 |
);
|
771 |
|
772 |
$this->add_control(
|
773 |
'links_color',
|
774 |
[
|
775 |
+
'label' => __( 'Text Color', 'happy-elementor-addons' ),
|
776 |
'type' => Controls_Manager::COLOR,
|
777 |
'selectors' => [
|
778 |
'{{WRAPPER}} .ha-member-links > a' => 'color: {{VALUE}}',
|
783 |
$this->add_control(
|
784 |
'links_bg_color',
|
785 |
[
|
786 |
+
'label' => __( 'Background Color', 'happy-elementor-addons' ),
|
787 |
'type' => Controls_Manager::COLOR,
|
788 |
'selectors' => [
|
789 |
'{{WRAPPER}} .ha-member-links > a' => 'background-color: {{VALUE}}',
|
795 |
$this->start_controls_tab(
|
796 |
'_tab_links_hover',
|
797 |
[
|
798 |
+
'label' => __( 'Hover', 'happy-elementor-addons' ),
|
799 |
]
|
800 |
);
|
801 |
|
802 |
$this->add_control(
|
803 |
'links_hover_color',
|
804 |
[
|
805 |
+
'label' => __( 'Text Color', 'happy-elementor-addons' ),
|
806 |
'type' => Controls_Manager::COLOR,
|
807 |
'selectors' => [
|
808 |
'{{WRAPPER}} .ha-member-links > a:hover, {{WRAPPER}} .ha-member-links > a:focus' => 'color: {{VALUE}}',
|
813 |
$this->add_control(
|
814 |
'links_hover_bg_color',
|
815 |
[
|
816 |
+
'label' => __( 'Background Color', 'happy-elementor-addons' ),
|
817 |
'type' => Controls_Manager::COLOR,
|
818 |
'selectors' => [
|
819 |
'{{WRAPPER}} .ha-member-links > a:hover, {{WRAPPER}} .ha-member-links > a:focus' => 'background-color: {{VALUE}}',
|
824 |
$this->add_control(
|
825 |
'links_hover_border_color',
|
826 |
[
|
827 |
+
'label' => __( 'Border Color', 'happy-elementor-addons' ),
|
828 |
'type' => Controls_Manager::COLOR,
|
829 |
'selectors' => [
|
830 |
'{{WRAPPER}} .ha-member-links > a:hover, {{WRAPPER}} .ha-member-links > a:focus' => 'border-color: {{VALUE}};',
|
widgets/ninjaform/widget.php
CHANGED
@@ -24,7 +24,7 @@ class NinjaForm extends Base {
|
|
24 |
* @return string Widget title.
|
25 |
*/
|
26 |
public function get_title() {
|
27 |
-
return __( 'Ninja
|
28 |
}
|
29 |
|
30 |
/**
|
@@ -47,7 +47,7 @@ class NinjaForm extends Base {
|
|
47 |
$this->start_controls_section(
|
48 |
'_section_ninjaf',
|
49 |
[
|
50 |
-
'label' => ha_is_ninjaf_activated() ? __( 'Ninja
|
51 |
'tab' => Controls_Manager::TAB_CONTENT,
|
52 |
]
|
53 |
);
|
@@ -58,9 +58,10 @@ class NinjaForm extends Base {
|
|
58 |
[
|
59 |
'type' => Controls_Manager::RAW_HTML,
|
60 |
'raw' => sprintf(
|
61 |
-
__( 'Hi, it seems %1$s is missing in your site. Please install and activate %1$s first.', '
|
62 |
'<a href="https://wordpress.org/plugins/ninja-forms/" target="_blank" rel="noopener">Ninja Form</a>'
|
63 |
-
)
|
|
|
64 |
]
|
65 |
);
|
66 |
$this->end_controls_section();
|
@@ -70,10 +71,10 @@ class NinjaForm extends Base {
|
|
70 |
$this->add_control(
|
71 |
'form_id',
|
72 |
[
|
73 |
-
'label' => __( 'Select Your Form', '
|
74 |
'type' => Controls_Manager::SELECT,
|
75 |
'label_block' => true,
|
76 |
-
'options' => ['' => __( '', '
|
77 |
]
|
78 |
);
|
79 |
|
@@ -84,7 +85,7 @@ class NinjaForm extends Base {
|
|
84 |
$this->start_controls_section(
|
85 |
'_section_fields_style',
|
86 |
[
|
87 |
-
'label' => __( 'Form Fields', '
|
88 |
'tab' => Controls_Manager::TAB_STYLE,
|
89 |
]
|
90 |
);
|
@@ -92,7 +93,7 @@ class NinjaForm extends Base {
|
|
92 |
$this->add_responsive_control(
|
93 |
'field_margin',
|
94 |
[
|
95 |
-
'label' => __( 'Field Spacing', '
|
96 |
'type' => Controls_Manager::DIMENSIONS,
|
97 |
'size_units' => [ 'px', '%' ],
|
98 |
'selectors' => [
|
@@ -104,7 +105,7 @@ class NinjaForm extends Base {
|
|
104 |
$this->add_responsive_control(
|
105 |
'field_padding',
|
106 |
[
|
107 |
-
'label' => __( 'Padding', '
|
108 |
'type' => Controls_Manager::DIMENSIONS,
|
109 |
'size_units' => [ 'px', 'em', '%' ],
|
110 |
'selectors' => [
|
@@ -116,7 +117,7 @@ class NinjaForm extends Base {
|
|
116 |
$this->add_responsive_control(
|
117 |
'field_border_radius',
|
118 |
[
|
119 |
-
'label' => __( 'Border Radius', '
|
120 |
'type' => Controls_Manager::DIMENSIONS,
|
121 |
'size_units' => [ 'px', '%' ],
|
122 |
'selectors' => [
|
@@ -129,7 +130,7 @@ class NinjaForm extends Base {
|
|
129 |
Group_Control_Typography::get_type(),
|
130 |
[
|
131 |
'name' => 'field_typography',
|
132 |
-
'label' => __( 'Typography', '
|
133 |
'selector' => '{{WRAPPER}} .textbox-wrap input[type=text], {{WRAPPER}} .email-wrap input, {{WRAPPER}} .textarea-wrap textarea',
|
134 |
]
|
135 |
);
|
@@ -137,7 +138,7 @@ class NinjaForm extends Base {
|
|
137 |
$this->add_control(
|
138 |
'field_textcolor',
|
139 |
[
|
140 |
-
'label' => __( 'Field Text Color', '
|
141 |
'type' => Controls_Manager::COLOR,
|
142 |
'selectors' => [
|
143 |
'{{WRAPPER}} .textbox-wrap input[type=text], {{WRAPPER}} .email-wrap input, {{WRAPPER}} .textarea-wrap textarea' => 'color: {{VALUE}}',
|
@@ -148,7 +149,7 @@ class NinjaForm extends Base {
|
|
148 |
$this->add_control(
|
149 |
'field_placeholder_color',
|
150 |
[
|
151 |
-
'label' => __( 'Field Placeholder Color', '
|
152 |
'type' => Controls_Manager::COLOR,
|
153 |
'selectors' => [
|
154 |
'{{WRAPPER}} ::-webkit-input-placeholder' => 'color: {{VALUE}};',
|
@@ -163,7 +164,7 @@ class NinjaForm extends Base {
|
|
163 |
$this->start_controls_tab(
|
164 |
'tab_field_normal',
|
165 |
[
|
166 |
-
'label' => __( 'Normal', '
|
167 |
]
|
168 |
);
|
169 |
|
@@ -186,7 +187,7 @@ class NinjaForm extends Base {
|
|
186 |
$this->add_control(
|
187 |
'field_bg_color',
|
188 |
[
|
189 |
-
'label' => __( 'Background Color', '
|
190 |
'type' => Controls_Manager::COLOR,
|
191 |
'selectors' => [
|
192 |
'{{WRAPPER}} .textbox-wrap input[type=text], {{WRAPPER}} .email-wrap input, {{WRAPPER}} .textarea-wrap textarea' => 'background-color: {{VALUE}}',
|
@@ -199,7 +200,7 @@ class NinjaForm extends Base {
|
|
199 |
$this->start_controls_tab(
|
200 |
'tab_field_focus',
|
201 |
[
|
202 |
-
'label' => __( 'Focus', '
|
203 |
]
|
204 |
);
|
205 |
|
@@ -225,7 +226,7 @@ class NinjaForm extends Base {
|
|
225 |
$this->add_control(
|
226 |
'field_focus_bg_color',
|
227 |
[
|
228 |
-
'label' => __( 'Background Color', '
|
229 |
'type' => Controls_Manager::COLOR,
|
230 |
'selectors' => [
|
231 |
'{{WRAPPER}} .textbox-wrap input[type=text]:focus, {{WRAPPER}} .email-wrap input:focus, {{WRAPPER}} .textarea-wrap textarea:focus' => 'background-color: {{VALUE}}',
|
@@ -242,7 +243,7 @@ class NinjaForm extends Base {
|
|
242 |
$this->start_controls_section(
|
243 |
'ninjaf-form-label',
|
244 |
[
|
245 |
-
'label' => __( 'Form Fields Label', '
|
246 |
'tab' => Controls_Manager::TAB_STYLE,
|
247 |
]
|
248 |
);
|
@@ -250,7 +251,7 @@ class NinjaForm extends Base {
|
|
250 |
$this->add_responsive_control(
|
251 |
'label_margin',
|
252 |
[
|
253 |
-
'label' => __( 'Margin', '
|
254 |
'type' => Controls_Manager::DIMENSIONS,
|
255 |
'size_units' => [ 'px', '%' ],
|
256 |
'selectors' => [
|
@@ -262,7 +263,7 @@ class NinjaForm extends Base {
|
|
262 |
$this->add_responsive_control(
|
263 |
'label_padding',
|
264 |
[
|
265 |
-
'label' => __( 'Padding', '
|
266 |
'type' => Controls_Manager::DIMENSIONS,
|
267 |
'size_units' => [ 'px', 'em', '%' ],
|
268 |
'selectors' => [
|
@@ -283,7 +284,7 @@ class NinjaForm extends Base {
|
|
283 |
Group_Control_Typography::get_type(),
|
284 |
[
|
285 |
'name' => 'label_typography',
|
286 |
-
'label' => __( 'Label Typography', '
|
287 |
'selector' => '{{WRAPPER}} .textbox-wrap label, {{WRAPPER}} .email-wrap label, {{WRAPPER}} .textarea-wrap label',
|
288 |
]
|
289 |
);
|
@@ -292,7 +293,7 @@ class NinjaForm extends Base {
|
|
292 |
Group_Control_Typography::get_type(),
|
293 |
[
|
294 |
'name' => 'desc_typography',
|
295 |
-
'label' => __( 'Description Typography', '
|
296 |
'selector' => '{{WRAPPER}} .nf-field-description p',
|
297 |
]
|
298 |
);
|
@@ -300,7 +301,7 @@ class NinjaForm extends Base {
|
|
300 |
$this->add_control(
|
301 |
'label_color',
|
302 |
[
|
303 |
-
'label' => __( 'Label Text Color', '
|
304 |
'type' => Controls_Manager::COLOR,
|
305 |
'selectors' => [
|
306 |
'{{WRAPPER}} .textbox-wrap label, {{WRAPPER}} .email-wrap label, {{WRAPPER}} .textarea-wrap label' => 'color: {{VALUE}}',
|
@@ -311,7 +312,7 @@ class NinjaForm extends Base {
|
|
311 |
$this->add_control(
|
312 |
'requered_label',
|
313 |
[
|
314 |
-
'label' => __( 'Required Label Color', '
|
315 |
'type' => Controls_Manager::COLOR,
|
316 |
'selectors' => [
|
317 |
'{{WRAPPER}} .ninja-forms-req-symbol' => 'color: {{VALUE}}',
|
@@ -322,7 +323,7 @@ class NinjaForm extends Base {
|
|
322 |
$this->add_control(
|
323 |
'desc_color',
|
324 |
[
|
325 |
-
'label' => __( 'Description Text Color', '
|
326 |
'type' => Controls_Manager::COLOR,
|
327 |
'selectors' => [
|
328 |
'{{WRAPPER}} .nf-field-description p' => 'color: {{VALUE}}',
|
@@ -335,7 +336,7 @@ class NinjaForm extends Base {
|
|
335 |
$this->start_controls_section(
|
336 |
'submit',
|
337 |
[
|
338 |
-
'label' => __( 'Submit Button', '
|
339 |
'tab' => Controls_Manager::TAB_STYLE,
|
340 |
]
|
341 |
);
|
@@ -343,19 +344,19 @@ class NinjaForm extends Base {
|
|
343 |
$this->add_responsive_control(
|
344 |
'submit_btn_position',
|
345 |
[
|
346 |
-
'label' => __( 'Button Position', '
|
347 |
'type' => Controls_Manager::CHOOSE,
|
348 |
'options' => [
|
349 |
'left' => [
|
350 |
-
'title' => __( 'Left', '
|
351 |
'icon' => 'eicon-h-align-left',
|
352 |
],
|
353 |
'center' => [
|
354 |
-
'title' => __( 'Center', '
|
355 |
'icon' => 'eicon-h-align-center',
|
356 |
],
|
357 |
'right' => [
|
358 |
-
'title' => __( 'Right', '
|
359 |
'icon' => 'eicon-h-align-right',
|
360 |
],
|
361 |
],
|
@@ -371,7 +372,7 @@ class NinjaForm extends Base {
|
|
371 |
$this->add_responsive_control(
|
372 |
'submit_margin',
|
373 |
[
|
374 |
-
'label' => __( 'Margin', '
|
375 |
'type' => Controls_Manager::DIMENSIONS,
|
376 |
'size_units' => [ 'px', '%' ],
|
377 |
'selectors' => [
|
@@ -383,7 +384,7 @@ class NinjaForm extends Base {
|
|
383 |
$this->add_responsive_control(
|
384 |
'submit_padding',
|
385 |
[
|
386 |
-
'label' => __( 'Padding', '
|
387 |
'type' => Controls_Manager::DIMENSIONS,
|
388 |
'size_units' => [ 'px', 'em', '%' ],
|
389 |
'selectors' => [
|
@@ -411,7 +412,7 @@ class NinjaForm extends Base {
|
|
411 |
$this->add_control(
|
412 |
'submit_border_radius',
|
413 |
[
|
414 |
-
'label' => __( 'Border Radius', '
|
415 |
'type' => Controls_Manager::DIMENSIONS,
|
416 |
'size_units' => [ 'px', '%' ],
|
417 |
'selectors' => [
|
@@ -441,14 +442,14 @@ class NinjaForm extends Base {
|
|
441 |
$this->start_controls_tab(
|
442 |
'tab_button_normal',
|
443 |
[
|
444 |
-
'label' => __( 'Normal', '
|
445 |
]
|
446 |
);
|
447 |
|
448 |
$this->add_control(
|
449 |
'submit_color',
|
450 |
[
|
451 |
-
'label' => __( 'Text Color', '
|
452 |
'type' => Controls_Manager::COLOR,
|
453 |
'default' => '',
|
454 |
'selectors' => [
|
@@ -460,7 +461,7 @@ class NinjaForm extends Base {
|
|
460 |
$this->add_control(
|
461 |
'submit_bg_color',
|
462 |
[
|
463 |
-
'label' => __( 'Background Color', '
|
464 |
'type' => Controls_Manager::COLOR,
|
465 |
'selectors' => [
|
466 |
'{{WRAPPER}} .submit-container input' => 'background-color: {{VALUE}};',
|
@@ -473,14 +474,14 @@ class NinjaForm extends Base {
|
|
473 |
$this->start_controls_tab(
|
474 |
'tab_button_hover',
|
475 |
[
|
476 |
-
'label' => __( 'Hover', '
|
477 |
]
|
478 |
);
|
479 |
|
480 |
$this->add_control(
|
481 |
'submit_hover_color',
|
482 |
[
|
483 |
-
'label' => __( 'Text Color', '
|
484 |
'type' => Controls_Manager::COLOR,
|
485 |
'selectors' => [
|
486 |
'{{WRAPPER}} .submit-container input:hover, {{WRAPPER}} .submit-container input:focus' => 'color: {{VALUE}};',
|
@@ -491,7 +492,7 @@ class NinjaForm extends Base {
|
|
491 |
$this->add_control(
|
492 |
'submit_hover_bg_color',
|
493 |
[
|
494 |
-
'label' => __( 'Background Color', '
|
495 |
'type' => Controls_Manager::COLOR,
|
496 |
'selectors' => [
|
497 |
'{{WRAPPER}} .submit-container input:hover, {{WRAPPER}} .submit-container input:focus' => 'background-color: {{VALUE}};',
|
@@ -502,7 +503,7 @@ class NinjaForm extends Base {
|
|
502 |
$this->add_control(
|
503 |
'submit_hover_border_color',
|
504 |
[
|
505 |
-
'label' => __( 'Border Color', '
|
506 |
'type' => Controls_Manager::COLOR,
|
507 |
'selectors' => [
|
508 |
'{{WRAPPER}} .submit-container input:hover, {{WRAPPER}} .submit-container input:focus' => 'border-color: {{VALUE}};',
|
24 |
* @return string Widget title.
|
25 |
*/
|
26 |
public function get_title() {
|
27 |
+
return __( 'Ninja Forms', 'happy-elementor-addons' );
|
28 |
}
|
29 |
|
30 |
/**
|
47 |
$this->start_controls_section(
|
48 |
'_section_ninjaf',
|
49 |
[
|
50 |
+
'label' => ha_is_ninjaf_activated() ? __( 'Ninja Forms', 'happy-elementor-addons' ) : __( 'Notice', 'happy-elementor-addons' ),
|
51 |
'tab' => Controls_Manager::TAB_CONTENT,
|
52 |
]
|
53 |
);
|
58 |
[
|
59 |
'type' => Controls_Manager::RAW_HTML,
|
60 |
'raw' => sprintf(
|
61 |
+
__( 'Hi, it seems %1$s is missing in your site. Please install and activate %1$s first.', 'happy-elementor-addons' ),
|
62 |
'<a href="https://wordpress.org/plugins/ninja-forms/" target="_blank" rel="noopener">Ninja Form</a>'
|
63 |
+
),
|
64 |
+
'content_classes' => 'elementor-panel-alert elementor-panel-alert-warning',
|
65 |
]
|
66 |
);
|
67 |
$this->end_controls_section();
|
71 |
$this->add_control(
|
72 |
'form_id',
|
73 |
[
|
74 |
+
'label' => __( 'Select Your Form', 'happy-elementor-addons' ),
|
75 |
'type' => Controls_Manager::SELECT,
|
76 |
'label_block' => true,
|
77 |
+
'options' => ['' => __( '', 'happy-elementor-addons' ) ] + \ha_get_ninjaform(),
|
78 |
]
|
79 |
);
|
80 |
|
85 |
$this->start_controls_section(
|
86 |
'_section_fields_style',
|
87 |
[
|
88 |
+
'label' => __( 'Form Fields', 'happy-elementor-addons' ),
|
89 |
'tab' => Controls_Manager::TAB_STYLE,
|
90 |
]
|
91 |
);
|
93 |
$this->add_responsive_control(
|
94 |
'field_margin',
|
95 |
[
|
96 |
+
'label' => __( 'Field Spacing', 'happy-elementor-addons' ),
|
97 |
'type' => Controls_Manager::DIMENSIONS,
|
98 |
'size_units' => [ 'px', '%' ],
|
99 |
'selectors' => [
|
105 |
$this->add_responsive_control(
|
106 |
'field_padding',
|
107 |
[
|
108 |
+
'label' => __( 'Padding', 'happy-elementor-addons' ),
|
109 |
'type' => Controls_Manager::DIMENSIONS,
|
110 |
'size_units' => [ 'px', 'em', '%' ],
|
111 |
'selectors' => [
|
117 |
$this->add_responsive_control(
|
118 |
'field_border_radius',
|
119 |
[
|
120 |
+
'label' => __( 'Border Radius', 'happy-elementor-addons' ),
|
121 |
'type' => Controls_Manager::DIMENSIONS,
|
122 |
'size_units' => [ 'px', '%' ],
|
123 |
'selectors' => [
|
130 |
Group_Control_Typography::get_type(),
|
131 |
[
|
132 |
'name' => 'field_typography',
|
133 |
+
'label' => __( 'Typography', 'happy-elementor-addons' ),
|
134 |
'selector' => '{{WRAPPER}} .textbox-wrap input[type=text], {{WRAPPER}} .email-wrap input, {{WRAPPER}} .textarea-wrap textarea',
|
135 |
]
|
136 |
);
|
138 |
$this->add_control(
|
139 |
'field_textcolor',
|
140 |
[
|
141 |
+
'label' => __( 'Field Text Color', 'happy-elementor-addons' ),
|
142 |
'type' => Controls_Manager::COLOR,
|
143 |
'selectors' => [
|
144 |
'{{WRAPPER}} .textbox-wrap input[type=text], {{WRAPPER}} .email-wrap input, {{WRAPPER}} .textarea-wrap textarea' => 'color: {{VALUE}}',
|
149 |
$this->add_control(
|
150 |
'field_placeholder_color',
|
151 |
[
|
152 |
+
'label' => __( 'Field Placeholder Color', 'happy-elementor-addons' ),
|
153 |
'type' => Controls_Manager::COLOR,
|
154 |
'selectors' => [
|
155 |
'{{WRAPPER}} ::-webkit-input-placeholder' => 'color: {{VALUE}};',
|
164 |
$this->start_controls_tab(
|
165 |
'tab_field_normal',
|
166 |
[
|
167 |
+
'label' => __( 'Normal', 'happy-elementor-addons' ),
|
168 |
]
|
169 |
);
|
170 |
|
187 |
$this->add_control(
|
188 |
'field_bg_color',
|
189 |
[
|
190 |
+
'label' => __( 'Background Color', 'happy-elementor-addons' ),
|
191 |
'type' => Controls_Manager::COLOR,
|
192 |
'selectors' => [
|
193 |
'{{WRAPPER}} .textbox-wrap input[type=text], {{WRAPPER}} .email-wrap input, {{WRAPPER}} .textarea-wrap textarea' => 'background-color: {{VALUE}}',
|
200 |
$this->start_controls_tab(
|
201 |
'tab_field_focus',
|
202 |
[
|
203 |
+
'label' => __( 'Focus', 'happy-elementor-addons' ),
|
204 |
]
|
205 |
);
|
206 |
|
226 |
$this->add_control(
|
227 |
'field_focus_bg_color',
|
228 |
[
|
229 |
+
'label' => __( 'Background Color', 'happy-elementor-addons' ),
|
230 |
'type' => Controls_Manager::COLOR,
|
231 |
'selectors' => [
|
232 |
'{{WRAPPER}} .textbox-wrap input[type=text]:focus, {{WRAPPER}} .email-wrap input:focus, {{WRAPPER}} .textarea-wrap textarea:focus' => 'background-color: {{VALUE}}',
|
243 |
$this->start_controls_section(
|
244 |
'ninjaf-form-label',
|
245 |
[
|
246 |
+
'label' => __( 'Form Fields Label', 'happy-elementor-addons' ),
|
247 |
'tab' => Controls_Manager::TAB_STYLE,
|
248 |
]
|
249 |
);
|
251 |
$this->add_responsive_control(
|
252 |
'label_margin',
|
253 |
[
|
254 |
+
'label' => __( 'Margin', 'happy-elementor-addons' ),
|
255 |
'type' => Controls_Manager::DIMENSIONS,
|
256 |
'size_units' => [ 'px', '%' ],
|
257 |
'selectors' => [
|
263 |
$this->add_responsive_control(
|
264 |
'label_padding',
|
265 |
[
|
266 |
+
'label' => __( 'Padding', 'happy-elementor-addons' ),
|
267 |
'type' => Controls_Manager::DIMENSIONS,
|
268 |
'size_units' => [ 'px', 'em', '%' ],
|
269 |
'selectors' => [
|
284 |
Group_Control_Typography::get_type(),
|
285 |
[
|
286 |
'name' => 'label_typography',
|
287 |
+
'label' => __( 'Label Typography', 'happy-elementor-addons' ),
|
288 |
'selector' => '{{WRAPPER}} .textbox-wrap label, {{WRAPPER}} .email-wrap label, {{WRAPPER}} .textarea-wrap label',
|
289 |
]
|
290 |
);
|
293 |
Group_Control_Typography::get_type(),
|
294 |
[
|
295 |
'name' => 'desc_typography',
|
296 |
+
'label' => __( 'Description Typography', 'happy-elementor-addons' ),
|
297 |
'selector' => '{{WRAPPER}} .nf-field-description p',
|
298 |
]
|
299 |
);
|
301 |
$this->add_control(
|
302 |
'label_color',
|
303 |
[
|
304 |
+
'label' => __( 'Label Text Color', 'happy-elementor-addons' ),
|
305 |
'type' => Controls_Manager::COLOR,
|
306 |
'selectors' => [
|
307 |
'{{WRAPPER}} .textbox-wrap label, {{WRAPPER}} .email-wrap label, {{WRAPPER}} .textarea-wrap label' => 'color: {{VALUE}}',
|
312 |
$this->add_control(
|
313 |
'requered_label',
|
314 |
[
|
315 |
+
'label' => __( 'Required Label Color', 'happy-elementor-addons' ),
|
316 |
'type' => Controls_Manager::COLOR,
|
317 |
'selectors' => [
|
318 |
'{{WRAPPER}} .ninja-forms-req-symbol' => 'color: {{VALUE}}',
|
323 |
$this->add_control(
|
324 |
'desc_color',
|
325 |
[
|
326 |
+
'label' => __( 'Description Text Color', 'happy-elementor-addons' ),
|
327 |
'type' => Controls_Manager::COLOR,
|
328 |
'selectors' => [
|
329 |
'{{WRAPPER}} .nf-field-description p' => 'color: {{VALUE}}',
|
336 |
$this->start_controls_section(
|
337 |
'submit',
|
338 |
[
|
339 |
+
'label' => __( 'Submit Button', 'happy-elementor-addons' ),
|
340 |
'tab' => Controls_Manager::TAB_STYLE,
|
341 |
]
|
342 |
);
|
344 |
$this->add_responsive_control(
|
345 |
'submit_btn_position',
|
346 |
[
|
347 |
+
'label' => __( 'Button Position', 'happy-elementor-addons' ),
|
348 |
'type' => Controls_Manager::CHOOSE,
|
349 |
'options' => [
|
350 |
'left' => [
|
351 |
+
'title' => __( 'Left', 'happy-elementor-addons' ),
|
352 |
'icon' => 'eicon-h-align-left',
|
353 |
],
|
354 |
'center' => [
|
355 |
+
'title' => __( 'Center', 'happy-elementor-addons' ),
|
356 |
'icon' => 'eicon-h-align-center',
|
357 |
],
|
358 |
'right' => [
|
359 |
+
'title' => __( 'Right', 'happy-elementor-addons' ),
|
360 |
'icon' => 'eicon-h-align-right',
|
361 |
],
|
362 |
],
|
372 |
$this->add_responsive_control(
|
373 |
'submit_margin',
|
374 |
[
|
375 |
+
'label' => __( 'Margin', 'happy-elementor-addons' ),
|
376 |
'type' => Controls_Manager::DIMENSIONS,
|
377 |
'size_units' => [ 'px', '%' ],
|
378 |
'selectors' => [
|
384 |
$this->add_responsive_control(
|
385 |
'submit_padding',
|
386 |
[
|
387 |
+
'label' => __( 'Padding', 'happy-elementor-addons' ),
|
388 |
'type' => Controls_Manager::DIMENSIONS,
|
389 |
'size_units' => [ 'px', 'em', '%' ],
|
390 |
'selectors' => [
|
412 |
$this->add_control(
|
413 |
'submit_border_radius',
|
414 |
[
|
415 |
+
'label' => __( 'Border Radius', 'happy-elementor-addons' ),
|
416 |
'type' => Controls_Manager::DIMENSIONS,
|
417 |
'size_units' => [ 'px', '%' ],
|
418 |
'selectors' => [
|
442 |
$this->start_controls_tab(
|
443 |
'tab_button_normal',
|
444 |
[
|
445 |
+
'label' => __( 'Normal', 'happy-elementor-addons' ),
|
446 |
]
|
447 |
);
|
448 |
|
449 |
$this->add_control(
|
450 |
'submit_color',
|
451 |
[
|
452 |
+
'label' => __( 'Text Color', 'happy-elementor-addons' ),
|
453 |
'type' => Controls_Manager::COLOR,
|
454 |
'default' => '',
|
455 |
'selectors' => [
|
461 |
$this->add_control(
|
462 |
'submit_bg_color',
|
463 |
[
|
464 |
+
'label' => __( 'Background Color', 'happy-elementor-addons' ),
|
465 |
'type' => Controls_Manager::COLOR,
|
466 |
'selectors' => [
|
467 |
'{{WRAPPER}} .submit-container input' => 'background-color: {{VALUE}};',
|
474 |
$this->start_controls_tab(
|
475 |
'tab_button_hover',
|
476 |
[
|
477 |
+
'label' => __( 'Hover', 'happy-elementor-addons' ),
|
478 |
]
|
479 |
);
|
480 |
|
481 |
$this->add_control(
|
482 |
'submit_hover_color',
|
483 |
[
|
484 |
+
'label' => __( 'Text Color', 'happy-elementor-addons' ),
|
485 |
'type' => Controls_Manager::COLOR,
|
486 |
'selectors' => [
|
487 |
'{{WRAPPER}} .submit-container input:hover, {{WRAPPER}} .submit-container input:focus' => 'color: {{VALUE}};',
|
492 |
$this->add_control(
|
493 |
'submit_hover_bg_color',
|
494 |
[
|
495 |
+
'label' => __( 'Background Color', 'happy-elementor-addons' ),
|
496 |
'type' => Controls_Manager::COLOR,
|
497 |
'selectors' => [
|
498 |
'{{WRAPPER}} .submit-container input:hover, {{WRAPPER}} .submit-container input:focus' => 'background-color: {{VALUE}};',
|
503 |
$this->add_control(
|
504 |
'submit_hover_border_color',
|
505 |
[
|
506 |
+
'label' => __( 'Border Color', 'happy-elementor-addons' ),
|
507 |
'type' => Controls_Manager::COLOR,
|
508 |
'selectors' => [
|
509 |
'{{WRAPPER}} .submit-container input:hover, {{WRAPPER}} .submit-container input:focus' => 'border-color: {{VALUE}};',
|
widgets/review/widget.php
CHANGED
@@ -28,7 +28,7 @@ class Review extends Base {
|
|
28 |
* @return string Widget title.
|
29 |
*/
|
30 |
public function get_title() {
|
31 |
-
return __( 'Review', '
|
32 |
}
|
33 |
|
34 |
/**
|
@@ -51,7 +51,7 @@ class Review extends Base {
|
|
51 |
$this->start_controls_section(
|
52 |
'_section_content',
|
53 |
[
|
54 |
-
'label' => __( 'Content', '
|
55 |
'tab' => Controls_Manager::TAB_CONTENT,
|
56 |
]
|
57 |
);
|
@@ -60,14 +60,14 @@ class Review extends Base {
|
|
60 |
$this->start_controls_tab(
|
61 |
'_tab_reviewer',
|
62 |
[
|
63 |
-
'label' => __( 'Reviewer', '
|
64 |
]
|
65 |
);
|
66 |
|
67 |
$this->add_control(
|
68 |
'image',
|
69 |
[
|
70 |
-
'label' => __( 'Photo', '
|
71 |
'type' => Controls_Manager::MEDIA,
|
72 |
'default' => [
|
73 |
'url' => Utils::get_placeholder_image_src(),
|
@@ -78,20 +78,20 @@ class Review extends Base {
|
|
78 |
$this->add_control(
|
79 |
'title',
|
80 |
[
|
81 |
-
'label' => __( 'Name', '
|
82 |
'type' => Controls_Manager::TEXT,
|
83 |
-
'default' => __( 'Happy Reviewer', '
|
84 |
-
'placeholder' => __( 'Type Reviewer Name', '
|
85 |
]
|
86 |
);
|
87 |
|
88 |
$this->add_control(
|
89 |
'job_title',
|
90 |
[
|
91 |
-
'label' => __( 'Job Title', '
|
92 |
'type' => Controls_Manager::TEXT,
|
93 |
-
'default' => __( 'Happy Officer', '
|
94 |
-
'placeholder' => __( 'Type Reviewer Job Title', '
|
95 |
]
|
96 |
);
|
97 |
|
@@ -107,20 +107,20 @@ class Review extends Base {
|
|
107 |
$this->add_control(
|
108 |
'image_position',
|
109 |
[
|
110 |
-
'label' => __( 'Image Position', '
|
111 |
'type' => Controls_Manager::CHOOSE,
|
112 |
'label_block' => false,
|
113 |
'options' => [
|
114 |
'left' => [
|
115 |
-
'title' => __( 'Left', '
|
116 |
'icon' => 'eicon-h-align-left',
|
117 |
],
|
118 |
'top' => [
|
119 |
-
'title' => __( 'Top', '
|
120 |
'icon' => 'eicon-v-align-top',
|
121 |
],
|
122 |
'right' => [
|
123 |
-
'title' => __( 'Right', '
|
124 |
'icon' => 'eicon-h-align-right',
|
125 |
],
|
126 |
],
|
@@ -133,31 +133,31 @@ class Review extends Base {
|
|
133 |
$this->add_control(
|
134 |
'title_tag',
|
135 |
[
|
136 |
-
'label' => __( 'Name HTML Tag', '
|
137 |
'type' => Controls_Manager::CHOOSE,
|
138 |
'options' => [
|
139 |
'h1' => [
|
140 |
-
'title' => __( 'H1', '
|
141 |
'icon' => 'eicon-editor-h1'
|
142 |
],
|
143 |
'h2' => [
|
144 |
-
'title' => __( 'H2', '
|
145 |
'icon' => 'eicon-editor-h2'
|
146 |
],
|
147 |
'h3' => [
|
148 |
-
'title' => __( 'H3', '
|
149 |
'icon' => 'eicon-editor-h3'
|
150 |
],
|
151 |
'h4' => [
|
152 |
-
'title' => __( 'H4', '
|
153 |
'icon' => 'eicon-editor-h4'
|
154 |
],
|
155 |
'h5' => [
|
156 |
-
'title' => __( 'H5', '
|
157 |
'icon' => 'eicon-editor-h5'
|
158 |
],
|
159 |
'h6' => [
|
160 |
-
'title' => __( 'H6', '
|
161 |
'icon' => 'eicon-editor-h6'
|
162 |
]
|
163 |
],
|
@@ -171,13 +171,13 @@ class Review extends Base {
|
|
171 |
$this->start_controls_tab(
|
172 |
'_tab_review',
|
173 |
[
|
174 |
-
'label' => __( 'Review', '
|
175 |
]
|
176 |
);
|
177 |
$this->add_control(
|
178 |
'ratting',
|
179 |
[
|
180 |
-
'label' => __( 'Ratting', '
|
181 |
'type' => Controls_Manager::SLIDER,
|
182 |
'default' => [
|
183 |
'unit' => 'px',
|
@@ -197,11 +197,11 @@ class Review extends Base {
|
|
197 |
$this->add_control(
|
198 |
'ratting_style',
|
199 |
[
|
200 |
-
'label' => __( 'Style', '
|
201 |
'type' => Controls_Manager::SELECT,
|
202 |
'options' => [
|
203 |
-
'star' => __( 'Star Rating', '
|
204 |
-
'num' => __( 'Number Rating', '
|
205 |
],
|
206 |
'default' => 'star',
|
207 |
]
|
@@ -210,10 +210,10 @@ class Review extends Base {
|
|
210 |
$this->add_control(
|
211 |
'review',
|
212 |
[
|
213 |
-
'label' => __( 'Review', '
|
214 |
'type' => Controls_Manager::TEXTAREA,
|
215 |
-
'default' => __( 'Happy reviewer is super excited being part of happy addons family', '
|
216 |
-
'placeholder' => __( 'Type amazing review from happy reviewer', '
|
217 |
]
|
218 |
);
|
219 |
$this->end_controls_tab();
|
@@ -222,24 +222,24 @@ class Review extends Base {
|
|
222 |
$this->add_responsive_control(
|
223 |
'align',
|
224 |
[
|
225 |
-
'label' => __( 'Alignment', '
|
226 |
'type' => Controls_Manager::CHOOSE,
|
227 |
'separator' => 'before',
|
228 |
'options' => [
|
229 |
'left' => [
|
230 |
-
'title' => __( 'Left', '
|
231 |
'icon' => 'fa fa-align-left',
|
232 |
],
|
233 |
'center' => [
|
234 |
-
'title' => __( 'Center', '
|
235 |
'icon' => 'fa fa-align-center',
|
236 |
],
|
237 |
'right' => [
|
238 |
-
'title' => __( 'Right', '
|
239 |
'icon' => 'fa fa-align-right',
|
240 |
],
|
241 |
'justify' => [
|
242 |
-
'title' => __( 'Justify', '
|
243 |
'icon' => 'fa fa-align-justify',
|
244 |
],
|
245 |
],
|
@@ -253,11 +253,11 @@ class Review extends Base {
|
|
253 |
$this->add_control(
|
254 |
'review_position',
|
255 |
[
|
256 |
-
'label' => __( 'Review Position', '
|
257 |
'type' => Controls_Manager::SELECT,
|
258 |
'options' => [
|
259 |
-
'before' => __( 'Review Before', '
|
260 |
-
'after' => __( 'Review After', '
|
261 |
],
|
262 |
'default' => 'before',
|
263 |
]
|
@@ -270,7 +270,7 @@ class Review extends Base {
|
|
270 |
$this->start_controls_section(
|
271 |
'_section_photo_style',
|
272 |
[
|
273 |
-
'label' => __( 'Photo', '
|
274 |
'tab' => Controls_Manager::TAB_STYLE,
|
275 |
]
|
276 |
);
|
@@ -278,7 +278,7 @@ class Review extends Base {
|
|
278 |
$this->add_responsive_control(
|
279 |
'image_width',
|
280 |
[
|
281 |
-
'label' => __( 'Width', '
|
282 |
'type' => Controls_Manager::SLIDER,
|
283 |
'size_units' => [ 'px', '%' ],
|
284 |
'range' => [
|
@@ -301,7 +301,7 @@ class Review extends Base {
|
|
301 |
$this->add_responsive_control(
|
302 |
'image_height',
|
303 |
[
|
304 |
-
'label' => __( 'Height', '
|
305 |
'type' => Controls_Manager::SLIDER,
|
306 |
'size_units' => [ 'px' ],
|
307 |
'range' => [
|
@@ -332,7 +332,7 @@ class Review extends Base {
|
|
332 |
$this->add_responsive_control(
|
333 |
'image_offset_x',
|
334 |
[
|
335 |
-
'label' => __( 'Offset X', '
|
336 |
'type' => Controls_Manager::SLIDER,
|
337 |
'size_units' => ['px'],
|
338 |
'condition' => [
|
@@ -351,7 +351,7 @@ class Review extends Base {
|
|
351 |
$this->add_responsive_control(
|
352 |
'image_offset_y',
|
353 |
[
|
354 |
-
'label' => __( 'Offset Y', '
|
355 |
'type' => Controls_Manager::SLIDER,
|
356 |
'size_units' => ['px'],
|
357 |
'condition' => [
|
@@ -386,7 +386,7 @@ class Review extends Base {
|
|
386 |
$this->add_responsive_control(
|
387 |
'image_padding',
|
388 |
[
|
389 |
-
'label' => __( 'Padding', '
|
390 |
'type' => Controls_Manager::DIMENSIONS,
|
391 |
'size_units' => [ 'px', 'em', '%' ],
|
392 |
'selectors' => [
|
@@ -406,7 +406,7 @@ class Review extends Base {
|
|
406 |
$this->add_responsive_control(
|
407 |
'image_border_radius',
|
408 |
[
|
409 |
-
'label' => __( 'Border Radius', '
|
410 |
'type' => Controls_Manager::DIMENSIONS,
|
411 |
'size_units' => [ 'px', '%' ],
|
412 |
'selectors' => [
|
@@ -431,7 +431,7 @@ class Review extends Base {
|
|
431 |
$this->start_controls_section(
|
432 |
'_section_review_style',
|
433 |
[
|
434 |
-
'label' => __( 'Review', '
|
435 |
'tab' => Controls_Manager::TAB_STYLE,
|
436 |
]
|
437 |
);
|
@@ -439,7 +439,7 @@ class Review extends Base {
|
|
439 |
$this->add_responsive_control(
|
440 |
'body_padding',
|
441 |
[
|
442 |
-
'label' => __( 'Text Box Padding', '
|
443 |
'type' => Controls_Manager::DIMENSIONS,
|
444 |
'size_units' => [ 'px', 'em', '%' ],
|
445 |
'selectors' => [
|
@@ -452,7 +452,7 @@ class Review extends Base {
|
|
452 |
'_heading_name',
|
453 |
[
|
454 |
'type' => Controls_Manager::HEADING,
|
455 |
-
'label' => __( 'Name', '
|
456 |
'separator' => 'before'
|
457 |
]
|
458 |
);
|
@@ -460,7 +460,7 @@ class Review extends Base {
|
|
460 |
$this->add_responsive_control(
|
461 |
'title_spacing',
|
462 |
[
|
463 |
-
'label' => __( 'Bottom Spacing', '
|
464 |
'type' => Controls_Manager::SLIDER,
|
465 |
'size_units' => ['px'],
|
466 |
'selectors' => [
|
@@ -472,7 +472,7 @@ class Review extends Base {
|
|
472 |
$this->add_control(
|
473 |
'name_color',
|
474 |
[
|
475 |
-
'label' => __( 'Text Color', '
|
476 |
'type' => Controls_Manager::COLOR,
|
477 |
'selectors' => [
|
478 |
'{{WRAPPER}} .ha-review-reviewer' => 'color: {{VALUE}}',
|
@@ -493,7 +493,7 @@ class Review extends Base {
|
|
493 |
'_heading_job_title',
|
494 |
[
|
495 |
'type' => Controls_Manager::HEADING,
|
496 |
-
'label' => __( 'Job Title', '
|
497 |
'separator' => 'before'
|
498 |
]
|
499 |
);
|
@@ -501,7 +501,7 @@ class Review extends Base {
|
|
501 |
$this->add_responsive_control(
|
502 |
'job_title_spacing',
|
503 |
[
|
504 |
-
'label' => __( 'Bottom Spacing', '
|
505 |
'type' => Controls_Manager::SLIDER,
|
506 |
'size_units' => ['px'],
|
507 |
'selectors' => [
|
@@ -513,7 +513,7 @@ class Review extends Base {
|
|
513 |
$this->add_control(
|
514 |
'job_title_color',
|
515 |
[
|
516 |
-
'label' => __( 'Text Color', '
|
517 |
'type' => Controls_Manager::COLOR,
|
518 |
'selectors' => [
|
519 |
'{{WRAPPER}} .ha-review-position' => 'color: {{VALUE}}',
|
@@ -534,7 +534,7 @@ class Review extends Base {
|
|
534 |
'_heading_review',
|
535 |
[
|
536 |
'type' => Controls_Manager::HEADING,
|
537 |
-
'label' => __( 'Review', '
|
538 |
'separator' => 'before'
|
539 |
]
|
540 |
);
|
@@ -542,7 +542,7 @@ class Review extends Base {
|
|
542 |
$this->add_responsive_control(
|
543 |
'review_spacing',
|
544 |
[
|
545 |
-
'label' => __( 'Bottom Spacing', '
|
546 |
'type' => Controls_Manager::SLIDER,
|
547 |
'size_units' => ['px'],
|
548 |
'selectors' => [
|
@@ -554,7 +554,7 @@ class Review extends Base {
|
|
554 |
$this->add_control(
|
555 |
'review_color',
|
556 |
[
|
557 |
-
'label' => __( 'Text Color', '
|
558 |
'type' => Controls_Manager::COLOR,
|
559 |
'selectors' => [
|
560 |
'{{WRAPPER}} .ha-review-desc' => 'color: {{VALUE}}',
|
@@ -576,7 +576,7 @@ class Review extends Base {
|
|
576 |
$this->start_controls_section(
|
577 |
'_section_ratting_style',
|
578 |
[
|
579 |
-
'label' => __( 'Ratting', '
|
580 |
'tab' => Controls_Manager::TAB_STYLE,
|
581 |
]
|
582 |
);
|
@@ -584,7 +584,7 @@ class Review extends Base {
|
|
584 |
$this->add_responsive_control(
|
585 |
'ratting_size',
|
586 |
[
|
587 |
-
'label' => __( 'Size', '
|
588 |
'type' => Controls_Manager::SLIDER,
|
589 |
'size_units' => ['px'],
|
590 |
'selectors' => [
|
@@ -596,7 +596,7 @@ class Review extends Base {
|
|
596 |
$this->add_responsive_control(
|
597 |
'ratting_spacing',
|
598 |
[
|
599 |
-
'label' => __( 'Bottom Spacing', '
|
600 |
'type' => Controls_Manager::SLIDER,
|
601 |
'size_units' => ['px'],
|
602 |
'selectors' => [
|
@@ -608,7 +608,7 @@ class Review extends Base {
|
|
608 |
$this->add_responsive_control(
|
609 |
'ratting_padding',
|
610 |
[
|
611 |
-
'label' => __( 'Padding', '
|
612 |
'type' => Controls_Manager::DIMENSIONS,
|
613 |
'size_units' => [ 'px', 'em', '%' ],
|
614 |
'selectors' => [
|
@@ -620,7 +620,7 @@ class Review extends Base {
|
|
620 |
$this->add_control(
|
621 |
'ratting_color',
|
622 |
[
|
623 |
-
'label' => __( 'Text Color', '
|
624 |
'type' => Controls_Manager::COLOR,
|
625 |
'selectors' => [
|
626 |
'{{WRAPPER}} .ha-review-ratting' => 'color: {{VALUE}}',
|
@@ -631,7 +631,7 @@ class Review extends Base {
|
|
631 |
$this->add_control(
|
632 |
'ratting_bg_color',
|
633 |
[
|
634 |
-
'label' => __( 'Background Color', '
|
635 |
'type' => Controls_Manager::COLOR,
|
636 |
'selectors' => [
|
637 |
'{{WRAPPER}} .ha-review-ratting' => 'background-color: {{VALUE}}',
|
@@ -650,7 +650,7 @@ class Review extends Base {
|
|
650 |
$this->add_control(
|
651 |
'ratting_border_radius',
|
652 |
[
|
653 |
-
'label' => __( 'Border Radius', '
|
654 |
'type' => Controls_Manager::DIMENSIONS,
|
655 |
'size_units' => [ 'px', '%' ],
|
656 |
'selectors' => [
|
28 |
* @return string Widget title.
|
29 |
*/
|
30 |
public function get_title() {
|
31 |
+
return __( 'Review', 'happy-elementor-addons' );
|
32 |
}
|
33 |
|
34 |
/**
|
51 |
$this->start_controls_section(
|
52 |
'_section_content',
|
53 |
[
|
54 |
+
'label' => __( 'Content', 'happy-elementor-addons' ),
|
55 |
'tab' => Controls_Manager::TAB_CONTENT,
|
56 |
]
|
57 |
);
|
60 |
$this->start_controls_tab(
|
61 |
'_tab_reviewer',
|
62 |
[
|
63 |
+
'label' => __( 'Reviewer', 'happy-elementor-addons' ),
|
64 |
]
|
65 |
);
|
66 |
|
67 |
$this->add_control(
|
68 |
'image',
|
69 |
[
|
70 |
+
'label' => __( 'Photo', 'happy-elementor-addons' ),
|
71 |
'type' => Controls_Manager::MEDIA,
|
72 |
'default' => [
|
73 |
'url' => Utils::get_placeholder_image_src(),
|
78 |
$this->add_control(
|
79 |
'title',
|
80 |
[
|
81 |
+
'label' => __( 'Name', 'happy-elementor-addons' ),
|
82 |
'type' => Controls_Manager::TEXT,
|
83 |
+
'default' => __( 'Happy Reviewer', 'happy-elementor-addons' ),
|
84 |
+
'placeholder' => __( 'Type Reviewer Name', 'happy-elementor-addons' ),
|
85 |
]
|
86 |
);
|
87 |
|
88 |
$this->add_control(
|
89 |
'job_title',
|
90 |
[
|
91 |
+
'label' => __( 'Job Title', 'happy-elementor-addons' ),
|
92 |
'type' => Controls_Manager::TEXT,
|
93 |
+
'default' => __( 'Happy Officer', 'happy-elementor-addons' ),
|
94 |
+
'placeholder' => __( 'Type Reviewer Job Title', 'happy-elementor-addons' ),
|
95 |
]
|
96 |
);
|
97 |
|
107 |
$this->add_control(
|
108 |
'image_position',
|
109 |
[
|
110 |
+
'label' => __( 'Image Position', 'happy-elementor-addons' ),
|
111 |
'type' => Controls_Manager::CHOOSE,
|
112 |
'label_block' => false,
|
113 |
'options' => [
|
114 |
'left' => [
|
115 |
+
'title' => __( 'Left', 'happy-elementor-addons' ),
|
116 |
'icon' => 'eicon-h-align-left',
|
117 |
],
|
118 |
'top' => [
|
119 |
+
'title' => __( 'Top', 'happy-elementor-addons' ),
|
120 |
'icon' => 'eicon-v-align-top',
|
121 |
],
|
122 |
'right' => [
|
123 |
+
'title' => __( 'Right', 'happy-elementor-addons' ),
|
124 |
'icon' => 'eicon-h-align-right',
|
125 |
],
|
126 |
],
|
133 |
$this->add_control(
|
134 |
'title_tag',
|
135 |
[
|
136 |
+
'label' => __( 'Name HTML Tag', 'happy-elementor-addons' ),
|
137 |
'type' => Controls_Manager::CHOOSE,
|
138 |
'options' => [
|
139 |
'h1' => [
|
140 |
+
'title' => __( 'H1', 'happy-elementor-addons' ),
|
141 |
'icon' => 'eicon-editor-h1'
|
142 |
],
|
143 |
'h2' => [
|
144 |
+
'title' => __( 'H2', 'happy-elementor-addons' ),
|
145 |
'icon' => 'eicon-editor-h2'
|
146 |
],
|
147 |
'h3' => [
|
148 |
+
'title' => __( 'H3', 'happy-elementor-addons' ),
|
149 |
'icon' => 'eicon-editor-h3'
|
150 |
],
|
151 |
'h4' => [
|
152 |
+
'title' => __( 'H4', 'happy-elementor-addons' ),
|
153 |
'icon' => 'eicon-editor-h4'
|
154 |
],
|
155 |
'h5' => [
|
156 |
+
'title' => __( 'H5', 'happy-elementor-addons' ),
|
157 |
'icon' => 'eicon-editor-h5'
|
158 |
],
|
159 |
'h6' => [
|
160 |
+
'title' => __( 'H6', 'happy-elementor-addons' ),
|
161 |
'icon' => 'eicon-editor-h6'
|
162 |
]
|
163 |
],
|
171 |
$this->start_controls_tab(
|
172 |
'_tab_review',
|
173 |
[
|
174 |
+
'label' => __( 'Review', 'happy-elementor-addons' ),
|
175 |
]
|
176 |
);
|
177 |
$this->add_control(
|
178 |
'ratting',
|
179 |
[
|
180 |
+
'label' => __( 'Ratting', 'happy-elementor-addons' ),
|
181 |
'type' => Controls_Manager::SLIDER,
|
182 |
'default' => [
|
183 |
'unit' => 'px',
|
197 |
$this->add_control(
|
198 |
'ratting_style',
|
199 |
[
|
200 |
+
'label' => __( 'Style', 'happy-elementor-addons' ),
|
201 |
'type' => Controls_Manager::SELECT,
|
202 |
'options' => [
|
203 |
+
'star' => __( 'Star Rating', 'happy-elementor-addons' ),
|
204 |
+
'num' => __( 'Number Rating', 'happy-elementor-addons' ),
|
205 |
],
|
206 |
'default' => 'star',
|
207 |
]
|
210 |
$this->add_control(
|
211 |
'review',
|
212 |
[
|
213 |
+
'label' => __( 'Review', 'happy-elementor-addons' ),
|
214 |
'type' => Controls_Manager::TEXTAREA,
|
215 |
+
'default' => __( 'Happy reviewer is super excited being part of happy addons family', 'happy-elementor-addons' ),
|
216 |
+
'placeholder' => __( 'Type amazing review from happy reviewer', 'happy-elementor-addons' ),
|
217 |
]
|
218 |
);
|
219 |
$this->end_controls_tab();
|
222 |
$this->add_responsive_control(
|
223 |
'align',
|
224 |
[
|
225 |
+
'label' => __( 'Alignment', 'happy-elementor-addons' ),
|
226 |
'type' => Controls_Manager::CHOOSE,
|
227 |
'separator' => 'before',
|
228 |
'options' => [
|
229 |
'left' => [
|
230 |
+
'title' => __( 'Left', 'happy-elementor-addons' ),
|
231 |
'icon' => 'fa fa-align-left',
|
232 |
],
|
233 |
'center' => [
|
234 |
+
'title' => __( 'Center', 'happy-elementor-addons' ),
|
235 |
'icon' => 'fa fa-align-center',
|
236 |
],
|
237 |
'right' => [
|
238 |
+
'title' => __( 'Right', 'happy-elementor-addons' ),
|
239 |
'icon' => 'fa fa-align-right',
|
240 |
],
|
241 |
'justify' => [
|
242 |
+
'title' => __( 'Justify', 'happy-elementor-addons' ),
|
243 |
'icon' => 'fa fa-align-justify',
|
244 |
],
|
245 |
],
|
253 |
$this->add_control(
|
254 |
'review_position',
|
255 |
[
|
256 |
+
'label' => __( 'Review Position', 'happy-elementor-addons' ),
|
257 |
'type' => Controls_Manager::SELECT,
|
258 |
'options' => [
|
259 |
+
'before' => __( 'Review Before', 'happy-elementor-addons' ),
|
260 |
+
'after' => __( 'Review After', 'happy-elementor-addons' ),
|
261 |
],
|
262 |
'default' => 'before',
|
263 |
]
|
270 |
$this->start_controls_section(
|
271 |
'_section_photo_style',
|
272 |
[
|
273 |
+
'label' => __( 'Photo', 'happy-elementor-addons' ),
|
274 |
'tab' => Controls_Manager::TAB_STYLE,
|
275 |
]
|
276 |
);
|
278 |
$this->add_responsive_control(
|
279 |
'image_width',
|
280 |
[
|
281 |
+
'label' => __( 'Width', 'happy-elementor-addons' ),
|
282 |
'type' => Controls_Manager::SLIDER,
|
283 |
'size_units' => [ 'px', '%' ],
|
284 |
'range' => [
|
301 |
$this->add_responsive_control(
|
302 |
'image_height',
|
303 |
[
|
304 |
+
'label' => __( 'Height', 'happy-elementor-addons' ),
|
305 |
'type' => Controls_Manager::SLIDER,
|
306 |
'size_units' => [ 'px' ],
|
307 |
'range' => [
|
332 |
$this->add_responsive_control(
|
333 |
'image_offset_x',
|
334 |
[
|
335 |
+
'label' => __( 'Offset X', 'happy-elementor-addons' ),
|
336 |
'type' => Controls_Manager::SLIDER,
|
337 |
'size_units' => ['px'],
|
338 |
'condition' => [
|
351 |
$this->add_responsive_control(
|
352 |
'image_offset_y',
|
353 |
[
|
354 |
+
'label' => __( 'Offset Y', 'happy-elementor-addons' ),
|
355 |
'type' => Controls_Manager::SLIDER,
|
356 |
'size_units' => ['px'],
|
357 |
'condition' => [
|
386 |
$this->add_responsive_control(
|
387 |
'image_padding',
|
388 |
[
|
389 |
+
'label' => __( 'Padding', 'happy-elementor-addons' ),
|
390 |
'type' => Controls_Manager::DIMENSIONS,
|
391 |
'size_units' => [ 'px', 'em', '%' ],
|
392 |
'selectors' => [
|
406 |
$this->add_responsive_control(
|
407 |
'image_border_radius',
|
408 |
[
|
409 |
+
'label' => __( 'Border Radius', 'happy-elementor-addons' ),
|
410 |
'type' => Controls_Manager::DIMENSIONS,
|
411 |
'size_units' => [ 'px', '%' ],
|
412 |
'selectors' => [
|
431 |
$this->start_controls_section(
|
432 |
'_section_review_style',
|
433 |
[
|
434 |
+
'label' => __( 'Review', 'happy-elementor-addons' ),
|
435 |
'tab' => Controls_Manager::TAB_STYLE,
|
436 |
]
|
437 |
);
|
439 |
$this->add_responsive_control(
|
440 |
'body_padding',
|
441 |
[
|
442 |
+
'label' => __( 'Text Box Padding', 'happy-elementor-addons' ),
|
443 |
'type' => Controls_Manager::DIMENSIONS,
|
444 |
'size_units' => [ 'px', 'em', '%' ],
|
445 |
'selectors' => [
|
452 |
'_heading_name',
|
453 |
[
|
454 |
'type' => Controls_Manager::HEADING,
|
455 |
+
'label' => __( 'Name', 'happy-elementor-addons' ),
|
456 |
'separator' => 'before'
|
457 |
]
|
458 |
);
|
460 |
$this->add_responsive_control(
|
461 |
'title_spacing',
|
462 |
[
|
463 |
+
'label' => __( 'Bottom Spacing', 'happy-elementor-addons' ),
|
464 |
'type' => Controls_Manager::SLIDER,
|
465 |
'size_units' => ['px'],
|
466 |
'selectors' => [
|
472 |
$this->add_control(
|
473 |
'name_color',
|
474 |
[
|
475 |
+
'label' => __( 'Text Color', 'happy-elementor-addons' ),
|
476 |
'type' => Controls_Manager::COLOR,
|
477 |
'selectors' => [
|
478 |
'{{WRAPPER}} .ha-review-reviewer' => 'color: {{VALUE}}',
|
493 |
'_heading_job_title',
|
494 |
[
|
495 |
'type' => Controls_Manager::HEADING,
|
496 |
+
'label' => __( 'Job Title', 'happy-elementor-addons' ),
|
497 |
'separator' => 'before'
|
498 |
]
|
499 |
);
|
501 |
$this->add_responsive_control(
|
502 |
'job_title_spacing',
|
503 |
[
|
504 |
+
'label' => __( 'Bottom Spacing', 'happy-elementor-addons' ),
|
505 |
'type' => Controls_Manager::SLIDER,
|
506 |
'size_units' => ['px'],
|
507 |
'selectors' => [
|
513 |
$this->add_control(
|
514 |
'job_title_color',
|
515 |
[
|
516 |
+
'label' => __( 'Text Color', 'happy-elementor-addons' ),
|
517 |
'type' => Controls_Manager::COLOR,
|
518 |
'selectors' => [
|
519 |
'{{WRAPPER}} .ha-review-position' => 'color: {{VALUE}}',
|
534 |
'_heading_review',
|
535 |
[
|
536 |
'type' => Controls_Manager::HEADING,
|
537 |
+
'label' => __( 'Review', 'happy-elementor-addons' ),
|
538 |
'separator' => 'before'
|
539 |
]
|
540 |
);
|
542 |
$this->add_responsive_control(
|
543 |
'review_spacing',
|
544 |
[
|
545 |
+
'label' => __( 'Bottom Spacing', 'happy-elementor-addons' ),
|
546 |
'type' => Controls_Manager::SLIDER,
|
547 |
'size_units' => ['px'],
|
548 |
'selectors' => [
|
554 |
$this->add_control(
|
555 |
'review_color',
|
556 |
[
|
557 |
+
'label' => __( 'Text Color', 'happy-elementor-addons' ),
|
558 |
'type' => Controls_Manager::COLOR,
|
559 |
'selectors' => [
|
560 |
'{{WRAPPER}} .ha-review-desc' => 'color: {{VALUE}}',
|
576 |
$this->start_controls_section(
|
577 |
'_section_ratting_style',
|
578 |
[
|
579 |
+
'label' => __( 'Ratting', 'happy-elementor-addons' ),
|
580 |
'tab' => Controls_Manager::TAB_STYLE,
|
581 |
]
|
582 |
);
|
584 |
$this->add_responsive_control(
|
585 |
'ratting_size',
|
586 |
[
|
587 |
+
'label' => __( 'Size', 'happy-elementor-addons' ),
|
588 |
'type' => Controls_Manager::SLIDER,
|
589 |
'size_units' => ['px'],
|
590 |
'selectors' => [
|
596 |
$this->add_responsive_control(
|
597 |
'ratting_spacing',
|
598 |
[
|
599 |
+
'label' => __( 'Bottom Spacing', 'happy-elementor-addons' ),
|
600 |
'type' => Controls_Manager::SLIDER,
|
601 |
'size_units' => ['px'],
|
602 |
'selectors' => [
|
608 |
$this->add_responsive_control(
|
609 |
'ratting_padding',
|
610 |
[
|
611 |
+
'label' => __( 'Padding', 'happy-elementor-addons' ),
|
612 |
'type' => Controls_Manager::DIMENSIONS,
|
613 |
'size_units' => [ 'px', 'em', '%' ],
|
614 |
'selectors' => [
|
620 |
$this->add_control(
|
621 |
'ratting_color',
|
622 |
[
|
623 |
+
'label' => __( 'Text Color', 'happy-elementor-addons' ),
|
624 |
'type' => Controls_Manager::COLOR,
|
625 |
'selectors' => [
|
626 |
'{{WRAPPER}} .ha-review-ratting' => 'color: {{VALUE}}',
|
631 |
$this->add_control(
|
632 |
'ratting_bg_color',
|
633 |
[
|
634 |
+
'label' => __( 'Background Color', 'happy-elementor-addons' ),
|
635 |
'type' => Controls_Manager::COLOR,
|
636 |
'selectors' => [
|
637 |
'{{WRAPPER}} .ha-review-ratting' => 'background-color: {{VALUE}}',
|
650 |
$this->add_control(
|
651 |
'ratting_border_radius',
|
652 |
[
|
653 |
+
'label' => __( 'Border Radius', 'happy-elementor-addons' ),
|
654 |
'type' => Controls_Manager::DIMENSIONS,
|
655 |
'size_units' => [ 'px', '%' ],
|
656 |
'selectors' => [
|
widgets/skills/widget.php
CHANGED
@@ -26,7 +26,7 @@ class Skills extends Base {
|
|
26 |
* @return string Widget title.
|
27 |
*/
|
28 |
public function get_title() {
|
29 |
-
return __( 'Skill Bars', '
|
30 |
}
|
31 |
|
32 |
/**
|
@@ -49,7 +49,7 @@ class Skills extends Base {
|
|
49 |
$this->start_controls_section(
|
50 |
'_section_skills',
|
51 |
[
|
52 |
-
'label' => __( 'Skills', '
|
53 |
'tab' => Controls_Manager::TAB_CONTENT,
|
54 |
]
|
55 |
);
|
@@ -60,16 +60,16 @@ class Skills extends Base {
|
|
60 |
'name',
|
61 |
[
|
62 |
'type' => Controls_Manager::TEXT,
|
63 |
-
'label' => __( 'Name', '
|
64 |
-
'default' => __( 'Happy Skill', '
|
65 |
-
'placeholder' => __( 'Type Happy Skill Name', '
|
66 |
]
|
67 |
);
|
68 |
|
69 |
$repeater->add_control(
|
70 |
'level',
|
71 |
[
|
72 |
-
'label' => __( 'Level (Out Of 100)', '
|
73 |
'type' => Controls_Manager::SLIDER,
|
74 |
'default' => [
|
75 |
'unit' => '%',
|
@@ -88,19 +88,19 @@ class Skills extends Base {
|
|
88 |
$repeater->add_control(
|
89 |
'customize',
|
90 |
[
|
91 |
-
'label' => __( 'Want To Customize?', '
|
92 |
'type' => Controls_Manager::SWITCHER,
|
93 |
-
'label_on' => __( 'Yes', '
|
94 |
-
'label_off' => __( 'No', '
|
95 |
'return_value' => 'yes',
|
96 |
-
'description' => __( 'You can customize this skill bar color from here or customize from Style tab', '
|
97 |
]
|
98 |
);
|
99 |
|
100 |
$repeater->add_control(
|
101 |
'color',
|
102 |
[
|
103 |
-
'label' => __( 'Text Color', '
|
104 |
'type' => Controls_Manager::COLOR,
|
105 |
'selectors' => [
|
106 |
'{{WRAPPER}} {{CURRENT_ITEM}} .ha-skill-info' => 'color: {{VALUE}}',
|
@@ -112,7 +112,7 @@ class Skills extends Base {
|
|
112 |
$repeater->add_control(
|
113 |
'level_color',
|
114 |
[
|
115 |
-
'label' => __( 'Level Color', '
|
116 |
'type' => Controls_Manager::COLOR,
|
117 |
'selectors' => [
|
118 |
'{{WRAPPER}} {{CURRENT_ITEM}} .ha-skill-level' => 'background-color: {{VALUE}}',
|
@@ -124,7 +124,7 @@ class Skills extends Base {
|
|
124 |
$repeater->add_control(
|
125 |
'base_color',
|
126 |
[
|
127 |
-
'label' => __( 'Base Color', '
|
128 |
'type' => Controls_Manager::COLOR,
|
129 |
'selectors' => [
|
130 |
'{{WRAPPER}} {{CURRENT_ITEM}}.ha-skill' => 'background-color: {{VALUE}}',
|
@@ -147,12 +147,12 @@ class Skills extends Base {
|
|
147 |
'view',
|
148 |
[
|
149 |
'type' => Controls_Manager::SELECT,
|
150 |
-
'label' => __( 'Text Position', '
|
151 |
'separator' => 'before',
|
152 |
'default' => 'inside',
|
153 |
'options' => [
|
154 |
-
'inside' => __( 'Text Inside', '
|
155 |
-
'outside' => __( 'Text Outside', '
|
156 |
]
|
157 |
]
|
158 |
);
|
@@ -164,7 +164,7 @@ class Skills extends Base {
|
|
164 |
$this->start_controls_section(
|
165 |
'_section_style_bars',
|
166 |
[
|
167 |
-
'label' => __( 'Skill Bars', '
|
168 |
'tab' => Controls_Manager::TAB_STYLE,
|
169 |
]
|
170 |
);
|
@@ -172,7 +172,7 @@ class Skills extends Base {
|
|
172 |
$this->add_control(
|
173 |
'height',
|
174 |
[
|
175 |
-
'label' => __( 'Height', '
|
176 |
'type' => Controls_Manager::SLIDER,
|
177 |
'size_units' => [ 'px' ],
|
178 |
'range' => [
|
@@ -191,7 +191,7 @@ class Skills extends Base {
|
|
191 |
$this->add_control(
|
192 |
'spacing',
|
193 |
[
|
194 |
-
'label' => __( 'Top Spacing', '
|
195 |
'type' => Controls_Manager::SLIDER,
|
196 |
'size_units' => [ 'px' ],
|
197 |
'range' => [
|
@@ -210,7 +210,7 @@ class Skills extends Base {
|
|
210 |
$this->add_control(
|
211 |
'border_radius',
|
212 |
[
|
213 |
-
'label' => __( 'Border Radius', '
|
214 |
'type' => Controls_Manager::DIMENSIONS,
|
215 |
'size_units' => [ 'px', '%' ],
|
216 |
'selectors' => [
|
@@ -235,7 +235,7 @@ class Skills extends Base {
|
|
235 |
$this->start_controls_section(
|
236 |
'_section_content',
|
237 |
[
|
238 |
-
'label' => __( 'Content', '
|
239 |
'tab' => Controls_Manager::TAB_STYLE,
|
240 |
]
|
241 |
);
|
@@ -243,7 +243,7 @@ class Skills extends Base {
|
|
243 |
$this->add_control(
|
244 |
'color',
|
245 |
[
|
246 |
-
'label' => __( 'Text Color', '
|
247 |
'type' => Controls_Manager::COLOR,
|
248 |
'selectors' => [
|
249 |
'{{WRAPPER}} .ha-skill-info' => 'color: {{VALUE}}',
|
@@ -254,7 +254,7 @@ class Skills extends Base {
|
|
254 |
$this->add_control(
|
255 |
'level_color',
|
256 |
[
|
257 |
-
'label' => __( 'Level Color', '
|
258 |
'type' => Controls_Manager::COLOR,
|
259 |
'selectors' => [
|
260 |
'{{WRAPPER}} .ha-skill-level' => 'background-color: {{VALUE}}',
|
@@ -265,7 +265,7 @@ class Skills extends Base {
|
|
265 |
$this->add_control(
|
266 |
'base_color',
|
267 |
[
|
268 |
-
'label' => __( 'Base Color', '
|
269 |
'type' => Controls_Manager::COLOR,
|
270 |
'selectors' => [
|
271 |
'{{WRAPPER}} .ha-skill' => 'background-color: {{VALUE}}',
|
26 |
* @return string Widget title.
|
27 |
*/
|
28 |
public function get_title() {
|
29 |
+
return __( 'Skill Bars', 'happy-elementor-addons' );
|
30 |
}
|
31 |
|
32 |
/**
|
49 |
$this->start_controls_section(
|
50 |
'_section_skills',
|
51 |
[
|
52 |
+
'label' => __( 'Skills', 'happy-elementor-addons' ),
|
53 |
'tab' => Controls_Manager::TAB_CONTENT,
|
54 |
]
|
55 |
);
|
60 |
'name',
|
61 |
[
|
62 |
'type' => Controls_Manager::TEXT,
|
63 |
+
'label' => __( 'Name', 'happy-elementor-addons' ),
|
64 |
+
'default' => __( 'Happy Skill', 'happy-elementor-addons' ),
|
65 |
+
'placeholder' => __( 'Type Happy Skill Name', 'happy-elementor-addons' ),
|
66 |
]
|
67 |
);
|
68 |
|
69 |
$repeater->add_control(
|
70 |
'level',
|
71 |
[
|
72 |
+
'label' => __( 'Level (Out Of 100)', 'happy-elementor-addons' ),
|
73 |
'type' => Controls_Manager::SLIDER,
|
74 |
'default' => [
|
75 |
'unit' => '%',
|
88 |
$repeater->add_control(
|
89 |
'customize',
|
90 |
[
|
91 |
+
'label' => __( 'Want To Customize?', 'happy-elementor-addons' ),
|
92 |
'type' => Controls_Manager::SWITCHER,
|
93 |
+
'label_on' => __( 'Yes', 'happy-elementor-addons' ),
|
94 |
+
'label_off' => __( 'No', 'happy-elementor-addons' ),
|
95 |
'return_value' => 'yes',
|
96 |
+
'description' => __( 'You can customize this skill bar color from here or customize from Style tab', 'happy-elementor-addons' )
|
97 |
]
|
98 |
);
|
99 |
|
100 |
$repeater->add_control(
|
101 |
'color',
|
102 |
[
|
103 |
+
'label' => __( 'Text Color', 'happy-elementor-addons' ),
|
104 |
'type' => Controls_Manager::COLOR,
|
105 |
'selectors' => [
|
106 |
'{{WRAPPER}} {{CURRENT_ITEM}} .ha-skill-info' => 'color: {{VALUE}}',
|
112 |
$repeater->add_control(
|
113 |
'level_color',
|
114 |
[
|
115 |
+
'label' => __( 'Level Color', 'happy-elementor-addons' ),
|
116 |
'type' => Controls_Manager::COLOR,
|
117 |
'selectors' => [
|
118 |
'{{WRAPPER}} {{CURRENT_ITEM}} .ha-skill-level' => 'background-color: {{VALUE}}',
|
124 |
$repeater->add_control(
|
125 |
'base_color',
|
126 |
[
|
127 |
+
'label' => __( 'Base Color', 'happy-elementor-addons' ),
|
128 |
'type' => Controls_Manager::COLOR,
|
129 |
'selectors' => [
|
130 |
'{{WRAPPER}} {{CURRENT_ITEM}}.ha-skill' => 'background-color: {{VALUE}}',
|
147 |
'view',
|
148 |
[
|
149 |
'type' => Controls_Manager::SELECT,
|
150 |
+
'label' => __( 'Text Position', 'happy-elementor-addons' ),
|
151 |
'separator' => 'before',
|
152 |
'default' => 'inside',
|
153 |
'options' => [
|
154 |
+
'inside' => __( 'Text Inside', 'happy-elementor-addons' ),
|
155 |
+
'outside' => __( 'Text Outside', 'happy-elementor-addons' ),
|
156 |
]
|
157 |
]
|
158 |
);
|
164 |
$this->start_controls_section(
|
165 |
'_section_style_bars',
|
166 |
[
|
167 |
+
'label' => __( 'Skill Bars', 'happy-elementor-addons' ),
|
168 |
'tab' => Controls_Manager::TAB_STYLE,
|
169 |
]
|
170 |
);
|
172 |
$this->add_control(
|
173 |
'height',
|
174 |
[
|
175 |
+
'label' => __( 'Height', 'happy-elementor-addons' ),
|
176 |
'type' => Controls_Manager::SLIDER,
|
177 |
'size_units' => [ 'px' ],
|
178 |
'range' => [
|
191 |
$this->add_control(
|
192 |
'spacing',
|
193 |
[
|
194 |
+
'label' => __( 'Top Spacing', 'happy-elementor-addons' ),
|
195 |
'type' => Controls_Manager::SLIDER,
|
196 |
'size_units' => [ 'px' ],
|
197 |
'range' => [
|
210 |
$this->add_control(
|
211 |
'border_radius',
|
212 |
[
|
213 |
+
'label' => __( 'Border Radius', 'happy-elementor-addons' ),
|
214 |
'type' => Controls_Manager::DIMENSIONS,
|
215 |
'size_units' => [ 'px', '%' ],
|
216 |
'selectors' => [
|
235 |
$this->start_controls_section(
|
236 |
'_section_content',
|
237 |
[
|
238 |
+
'label' => __( 'Content', 'happy-elementor-addons' ),
|
239 |
'tab' => Controls_Manager::TAB_STYLE,
|
240 |
]
|
241 |
);
|
243 |
$this->add_control(
|
244 |
'color',
|
245 |
[
|
246 |
+
'label' => __( 'Text Color', 'happy-elementor-addons' ),
|
247 |
'type' => Controls_Manager::COLOR,
|
248 |
'selectors' => [
|
249 |
'{{WRAPPER}} .ha-skill-info' => 'color: {{VALUE}}',
|
254 |
$this->add_control(
|
255 |
'level_color',
|
256 |
[
|
257 |
+
'label' => __( 'Level Color', 'happy-elementor-addons' ),
|
258 |
'type' => Controls_Manager::COLOR,
|
259 |
'selectors' => [
|
260 |
'{{WRAPPER}} .ha-skill-level' => 'background-color: {{VALUE}}',
|
265 |
$this->add_control(
|
266 |
'base_color',
|
267 |
[
|
268 |
+
'label' => __( 'Base Color', 'happy-elementor-addons' ),
|
269 |
'type' => Controls_Manager::COLOR,
|
270 |
'selectors' => [
|
271 |
'{{WRAPPER}} .ha-skill' => 'background-color: {{VALUE}}',
|
widgets/weform/widget.php
CHANGED
@@ -25,7 +25,7 @@ class WeForm extends Base {
|
|
25 |
* @return string Widget title.
|
26 |
*/
|
27 |
public function get_title() {
|
28 |
-
return __( '
|
29 |
}
|
30 |
|
31 |
/**
|
@@ -41,7 +41,7 @@ class WeForm extends Base {
|
|
41 |
}
|
42 |
|
43 |
public function get_keywords() {
|
44 |
-
return [ 'we
|
45 |
}
|
46 |
|
47 |
// Whether the reload preview is required or not.
|
@@ -53,7 +53,7 @@ class WeForm extends Base {
|
|
53 |
$this->start_controls_section(
|
54 |
'_section_weform',
|
55 |
[
|
56 |
-
'label' => ha_is_weform_activated() ? __( '
|
57 |
'tab' => Controls_Manager::TAB_CONTENT,
|
58 |
]
|
59 |
);
|
@@ -64,9 +64,10 @@ class WeForm extends Base {
|
|
64 |
[
|
65 |
'type' => Controls_Manager::RAW_HTML,
|
66 |
'raw' => sprintf(
|
67 |
-
__( 'Hi, it seems %1$s is missing in your site. Please install and activate %1$s first.', '
|
68 |
-
'<a href="https://wordpress.org/plugins/weforms/" target="_blank" rel="noopener">
|
69 |
-
)
|
|
|
70 |
]
|
71 |
);
|
72 |
$this->end_controls_section();
|
@@ -76,10 +77,10 @@ class WeForm extends Base {
|
|
76 |
$this->add_control(
|
77 |
'form_id',
|
78 |
[
|
79 |
-
'label' => __( 'Select Your Form', '
|
80 |
'type' => Controls_Manager::SELECT,
|
81 |
'label_block' => true,
|
82 |
-
'options' => ['' => __( '', '
|
83 |
]
|
84 |
);
|
85 |
|
@@ -90,7 +91,7 @@ class WeForm extends Base {
|
|
90 |
$this->start_controls_section(
|
91 |
'_section_fields_style',
|
92 |
[
|
93 |
-
'label' => __( 'Form Fields', '
|
94 |
'tab' => Controls_Manager::TAB_STYLE,
|
95 |
]
|
96 |
);
|
@@ -98,7 +99,7 @@ class WeForm extends Base {
|
|
98 |
$this->add_responsive_control(
|
99 |
'large_field_width',
|
100 |
[
|
101 |
-
'label' => __( 'Large Field Width', '
|
102 |
'type' => Controls_Manager::SLIDER,
|
103 |
'size_units' => [ 'px', '%' ],
|
104 |
'default' => [
|
@@ -126,7 +127,7 @@ class WeForm extends Base {
|
|
126 |
$this->add_responsive_control(
|
127 |
'field_margin',
|
128 |
[
|
129 |
-
'label' => __( 'Field Spacing', '
|
130 |
'type' => Controls_Manager::DIMENSIONS,
|
131 |
'size_units' => [ 'px', '%' ],
|
132 |
'selectors' => [
|
@@ -138,7 +139,7 @@ class WeForm extends Base {
|
|
138 |
$this->add_responsive_control(
|
139 |
'field_padding',
|
140 |
[
|
141 |
-
'label' => __( 'Padding', '
|
142 |
'type' => Controls_Manager::DIMENSIONS,
|
143 |
'size_units' => [ 'px', '%' ],
|
144 |
'selectors' => [
|
@@ -151,7 +152,7 @@ class WeForm extends Base {
|
|
151 |
$this->add_responsive_control(
|
152 |
'field_border_radius',
|
153 |
[
|
154 |
-
'label' => __( 'Border Radius', '
|
155 |
'type' => Controls_Manager::DIMENSIONS,
|
156 |
'size_units' => [ 'px', '%' ],
|
157 |
'selectors' => [
|
@@ -164,7 +165,7 @@ class WeForm extends Base {
|
|
164 |
Group_Control_Typography::get_type(),
|
165 |
[
|
166 |
'name' => 'field_typography',
|
167 |
-
'label' => __( 'Typography', '
|
168 |
'selector' => '{{WRAPPER}} .wpuf-form-add.wpuf-style ul.wpuf-form .wpuf-fields input:not(.weforms_submit_btn), .wpuf-form-add.wpuf-style ul.wpuf-form .wpuf-fields textarea',
|
169 |
]
|
170 |
);
|
@@ -172,7 +173,7 @@ class WeForm extends Base {
|
|
172 |
$this->add_control(
|
173 |
'field_textcolor',
|
174 |
[
|
175 |
-
'label' => __( 'Field Text Color', '
|
176 |
'type' => Controls_Manager::COLOR,
|
177 |
'selectors' => [
|
178 |
'{{WRAPPER}} .wpuf-form-add.wpuf-style ul.wpuf-form .wpuf-fields input:not(.weforms_submit_btn), {{WRAPPER}} .wpuf-form-add.wpuf-style ul.wpuf-form .wpuf-fields textarea' => 'color: {{VALUE}};',
|
@@ -183,7 +184,7 @@ class WeForm extends Base {
|
|
183 |
$this->add_control(
|
184 |
'field_placeholder_color',
|
185 |
[
|
186 |
-
'label' => __( 'Field Placeholder Color', '
|
187 |
'type' => Controls_Manager::COLOR,
|
188 |
'selectors' => [
|
189 |
'{{WRAPPER}} ::-webkit-input-placeholder' => 'color: {{VALUE}};',
|
@@ -198,7 +199,7 @@ class WeForm extends Base {
|
|
198 |
$this->start_controls_tab(
|
199 |
'tab_field_normal',
|
200 |
[
|
201 |
-
'label' => __( 'Normal', '
|
202 |
]
|
203 |
);
|
204 |
|
@@ -221,7 +222,7 @@ class WeForm extends Base {
|
|
221 |
$this->add_control(
|
222 |
'field_bg_color',
|
223 |
[
|
224 |
-
'label' => __( 'Background Color', '
|
225 |
'type' => Controls_Manager::COLOR,
|
226 |
'selectors' => [
|
227 |
'{{WRAPPER}} .wpuf-form-add.wpuf-style ul.wpuf-form .wpuf-fields input:not(.weforms_submit_btn), {{WRAPPER}} .wpuf-form-add.wpuf-style ul.wpuf-form .wpuf-fields textarea' => 'background-color: {{VALUE}}',
|
@@ -234,7 +235,7 @@ class WeForm extends Base {
|
|
234 |
$this->start_controls_tab(
|
235 |
'tab_field_focus',
|
236 |
[
|
237 |
-
'label' => __( 'Focus', '
|
238 |
]
|
239 |
);
|
240 |
|
@@ -260,7 +261,7 @@ class WeForm extends Base {
|
|
260 |
$this->add_control(
|
261 |
'field_focus_bg_color',
|
262 |
[
|
263 |
-
'label' => __( 'Background Color', '
|
264 |
'type' => Controls_Manager::COLOR,
|
265 |
'selectors' => [
|
266 |
'{{WRAPPER}} .wpuf-form-add.wpuf-style ul.wpuf-form .wpuf-fields input:focus:not(.weforms_submit_btn), {{WRAPPER}} .wpuf-form-add.wpuf-style ul.wpuf-form .wpuf-fields textarea:focus' => 'background-color: {{VALUE}}',
|
@@ -277,7 +278,7 @@ class WeForm extends Base {
|
|
277 |
$this->start_controls_section(
|
278 |
'we-form-label',
|
279 |
[
|
280 |
-
'label' => __( 'Form Fields Label', '
|
281 |
'tab' => Controls_Manager::TAB_STYLE,
|
282 |
]
|
283 |
);
|
@@ -285,7 +286,7 @@ class WeForm extends Base {
|
|
285 |
$this->add_responsive_control(
|
286 |
'label_margin',
|
287 |
[
|
288 |
-
'label' => __( 'Margin', '
|
289 |
'type' => Controls_Manager::DIMENSIONS,
|
290 |
'size_units' => [ 'px', '%' ],
|
291 |
'selectors' => [
|
@@ -297,7 +298,7 @@ class WeForm extends Base {
|
|
297 |
$this->add_responsive_control(
|
298 |
'label_padding',
|
299 |
[
|
300 |
-
'label' => __( 'Padding', '
|
301 |
'type' => Controls_Manager::DIMENSIONS,
|
302 |
'size_units' => [ 'px', 'em', '%' ],
|
303 |
'selectors' => [
|
@@ -318,7 +319,7 @@ class WeForm extends Base {
|
|
318 |
Group_Control_Typography::get_type(),
|
319 |
[
|
320 |
'name' => 'label_typography',
|
321 |
-
'label' => __( 'Label Typography', '
|
322 |
'selector' => '{{WRAPPER}} .wpuf-label label, {{WRAPPER}} .wpuf-form-sub-label',
|
323 |
]
|
324 |
);
|
@@ -327,7 +328,7 @@ class WeForm extends Base {
|
|
327 |
Group_Control_Typography::get_type(),
|
328 |
[
|
329 |
'name' => 'desc_typography',
|
330 |
-
'label' => __( 'Help Text Typography', '
|
331 |
'selector' => '{{WRAPPER}} .wpuf-fields .wpuf-help',
|
332 |
]
|
333 |
);
|
@@ -335,7 +336,7 @@ class WeForm extends Base {
|
|
335 |
$this->add_control(
|
336 |
'label_color',
|
337 |
[
|
338 |
-
'label' => __( 'Label Text Color', '
|
339 |
'type' => Controls_Manager::COLOR,
|
340 |
'selectors' => [
|
341 |
'{{WRAPPER}} .wpuf-label label, {{WRAPPER}} .wpuf-form-sub-label' => 'color: {{VALUE}}',
|
@@ -346,7 +347,7 @@ class WeForm extends Base {
|
|
346 |
$this->add_control(
|
347 |
'requered_label',
|
348 |
[
|
349 |
-
'label' => __( 'Required Label Color', '
|
350 |
'type' => Controls_Manager::COLOR,
|
351 |
'selectors' => [
|
352 |
'{{WRAPPER}} .wpuf-label .required' => 'color: {{VALUE}} !important',
|
@@ -357,7 +358,7 @@ class WeForm extends Base {
|
|
357 |
$this->add_control(
|
358 |
'desc_color',
|
359 |
[
|
360 |
-
'label' => __( 'Help Text Color', '
|
361 |
'type' => Controls_Manager::COLOR,
|
362 |
'selectors' => [
|
363 |
'{{WRAPPER}} .wpuf-fields .wpuf-help' => 'color: {{VALUE}}',
|
@@ -370,7 +371,7 @@ class WeForm extends Base {
|
|
370 |
$this->start_controls_section(
|
371 |
'submit',
|
372 |
[
|
373 |
-
'label' => __( 'Submit Button', '
|
374 |
'tab' => Controls_Manager::TAB_STYLE,
|
375 |
]
|
376 |
);
|
@@ -378,10 +379,10 @@ class WeForm extends Base {
|
|
378 |
$this->add_control(
|
379 |
'submit_btn_width',
|
380 |
[
|
381 |
-
'label' => __( 'Button Full Width?', '
|
382 |
'type' => Controls_Manager::SWITCHER,
|
383 |
-
'label_on' => __( 'Yes', '
|
384 |
-
'label_off' => __( 'No', '
|
385 |
'return_value' => 'yes',
|
386 |
'default' => 'yes',
|
387 |
]
|
@@ -390,7 +391,7 @@ class WeForm extends Base {
|
|
390 |
$this->add_responsive_control(
|
391 |
'button_width',
|
392 |
[
|
393 |
-
'label' => __( 'Button Width', '
|
394 |
'type' => Controls_Manager::SLIDER,
|
395 |
'size_units' => [ 'px', '%' ],
|
396 |
'condition' => [
|
@@ -419,19 +420,19 @@ class WeForm extends Base {
|
|
419 |
$this->add_responsive_control(
|
420 |
'submit_btn_position',
|
421 |
[
|
422 |
-
'label' => __( 'Button Position', '
|
423 |
'type' => Controls_Manager::CHOOSE,
|
424 |
'options' => [
|
425 |
'left' => [
|
426 |
-
'title' => __( 'Left', '
|
427 |
'icon' => 'eicon-h-align-left',
|
428 |
],
|
429 |
'center' => [
|
430 |
-
'title' => __( 'Center', '
|
431 |
'icon' => 'eicon-h-align-center',
|
432 |
],
|
433 |
'right' => [
|
434 |
-
'title' => __( 'Right', '
|
435 |
'icon' => 'eicon-h-align-right',
|
436 |
],
|
437 |
],
|
@@ -450,7 +451,7 @@ class WeForm extends Base {
|
|
450 |
$this->add_responsive_control(
|
451 |
'submit_margin',
|
452 |
[
|
453 |
-
'label' => __( 'Margin', '
|
454 |
'type' => Controls_Manager::DIMENSIONS,
|
455 |
'size_units' => [ 'px', '%' ],
|
456 |
'selectors' => [
|
@@ -462,7 +463,7 @@ class WeForm extends Base {
|
|
462 |
$this->add_responsive_control(
|
463 |
'submit_padding',
|
464 |
[
|
465 |
-
'label' => __( 'Padding', '
|
466 |
'type' => Controls_Manager::DIMENSIONS,
|
467 |
'size_units' => [ 'px', 'em', '%' ],
|
468 |
'selectors' => [
|
@@ -490,7 +491,7 @@ class WeForm extends Base {
|
|
490 |
$this->add_control(
|
491 |
'submit_border_radius',
|
492 |
[
|
493 |
-
'label' => __( 'Border Radius', '
|
494 |
'type' => Controls_Manager::DIMENSIONS,
|
495 |
'size_units' => [ 'px', '%' ],
|
496 |
'selectors' => [
|
@@ -528,14 +529,14 @@ class WeForm extends Base {
|
|
528 |
$this->start_controls_tab(
|
529 |
'tab_button_normal',
|
530 |
[
|
531 |
-
'label' => __( 'Normal', '
|
532 |
]
|
533 |
);
|
534 |
|
535 |
$this->add_control(
|
536 |
'submit_color',
|
537 |
[
|
538 |
-
'label' => __( 'Text Color', '
|
539 |
'type' => Controls_Manager::COLOR,
|
540 |
'default' => '',
|
541 |
'selectors' => [
|
@@ -547,7 +548,7 @@ class WeForm extends Base {
|
|
547 |
$this->add_control(
|
548 |
'submit_bg_color',
|
549 |
[
|
550 |
-
'label' => __( 'Background Color', '
|
551 |
'type' => Controls_Manager::COLOR,
|
552 |
'selectors' => [
|
553 |
'{{WRAPPER}} .wpuf-form-add.wpuf-style ul.wpuf-form .wpuf-submit input[type=submit]' => 'background-color: {{VALUE}};',
|
@@ -560,14 +561,14 @@ class WeForm extends Base {
|
|
560 |
$this->start_controls_tab(
|
561 |
'tab_button_hover',
|
562 |
[
|
563 |
-
'label' => __( 'Hover', '
|
564 |
]
|
565 |
);
|
566 |
|
567 |
$this->add_control(
|
568 |
'submit_hover_color',
|
569 |
[
|
570 |
-
'label' => __( 'Text Color', '
|
571 |
'type' => Controls_Manager::COLOR,
|
572 |
'selectors' => [
|
573 |
'{{WRAPPER}} .wpuf-form-add.wpuf-style ul.wpuf-form .wpuf-submit input[type=submit]:hover, {{WRAPPER}} .wpuf-form-add.wpuf-style ul.wpuf-form .wpuf-submit input[type=submit]:focus' => 'color: {{VALUE}};',
|
@@ -578,7 +579,7 @@ class WeForm extends Base {
|
|
578 |
$this->add_control(
|
579 |
'submit_hover_bg_color',
|
580 |
[
|
581 |
-
'label' => __( 'Background Color', '
|
582 |
'type' => Controls_Manager::COLOR,
|
583 |
'selectors' => [
|
584 |
'{{WRAPPER}} .wpuf-form-add.wpuf-style ul.wpuf-form .wpuf-submit input[type=submit]:hover, {{WRAPPER}} .wpuf-form-add.wpuf-style ul.wpuf-form .wpuf-submit input[type=submit]:focus' => 'background-color: {{VALUE}};',
|
@@ -589,7 +590,7 @@ class WeForm extends Base {
|
|
589 |
$this->add_control(
|
590 |
'submit_hover_border_color',
|
591 |
[
|
592 |
-
'label' => __( 'Border Color', '
|
593 |
'type' => Controls_Manager::COLOR,
|
594 |
'selectors' => [
|
595 |
'{{WRAPPER}} .wpuf-form-add.wpuf-style ul.wpuf-form .wpuf-submit input[type=submit]:hover, {{WRAPPER}} .wpuf-form-add.wpuf-style ul.wpuf-form .wpuf-submit input[type=submit]:focus' => 'border-color: {{VALUE}};',
|
25 |
* @return string Widget title.
|
26 |
*/
|
27 |
public function get_title() {
|
28 |
+
return __( 'weForms', 'happy-elementor-addons' );
|
29 |
}
|
30 |
|
31 |
/**
|
41 |
}
|
42 |
|
43 |
public function get_keywords() {
|
44 |
+
return [ 'weForms', 'we forms', 'caldera', 'wpf','wpform', 'form', 'contact', 'cf7', 'contact form', 'gravity', 'ninja' ];
|
45 |
}
|
46 |
|
47 |
// Whether the reload preview is required or not.
|
53 |
$this->start_controls_section(
|
54 |
'_section_weform',
|
55 |
[
|
56 |
+
'label' => ha_is_weform_activated() ? __( 'weForms', 'happy-elementor-addons' ) : __( 'Notice', 'happy-elementor-addons' ),
|
57 |
'tab' => Controls_Manager::TAB_CONTENT,
|
58 |
]
|
59 |
);
|
64 |
[
|
65 |
'type' => Controls_Manager::RAW_HTML,
|
66 |
'raw' => sprintf(
|
67 |
+
__( 'Hi, it seems %1$s is missing in your site. Please install and activate %1$s first.', 'happy-elementor-addons' ),
|
68 |
+
'<a href="https://wordpress.org/plugins/weforms/" target="_blank" rel="noopener">weForms</a>'
|
69 |
+
),
|
70 |
+
'content_classes' => 'elementor-panel-alert elementor-panel-alert-warning',
|
71 |
]
|
72 |
);
|
73 |
$this->end_controls_section();
|
77 |
$this->add_control(
|
78 |
'form_id',
|
79 |
[
|
80 |
+
'label' => __( 'Select Your Form', 'happy-elementor-addons' ),
|
81 |
'type' => Controls_Manager::SELECT,
|
82 |
'label_block' => true,
|
83 |
+
'options' => ['' => __( '', 'happy-elementor-addons' ) ] + \ha_get_we_forms(),
|
84 |
]
|
85 |
);
|
86 |
|
91 |
$this->start_controls_section(
|
92 |
'_section_fields_style',
|
93 |
[
|
94 |
+
'label' => __( 'Form Fields', 'happy-elementor-addons' ),
|
95 |
'tab' => Controls_Manager::TAB_STYLE,
|
96 |
]
|
97 |
);
|
99 |
$this->add_responsive_control(
|
100 |
'large_field_width',
|
101 |
[
|
102 |
+
'label' => __( 'Large Field Width', 'happy-elementor-addons' ),
|
103 |
'type' => Controls_Manager::SLIDER,
|
104 |
'size_units' => [ 'px', '%' ],
|
105 |
'default' => [
|
127 |
$this->add_responsive_control(
|
128 |
'field_margin',
|
129 |
[
|
130 |
+
'label' => __( 'Field Spacing', 'happy-elementor-addons' ),
|
131 |
'type' => Controls_Manager::DIMENSIONS,
|
132 |
'size_units' => [ 'px', '%' ],
|
133 |
'selectors' => [
|
139 |
$this->add_responsive_control(
|
140 |
'field_padding',
|
141 |
[
|
142 |
+
'label' => __( 'Padding', 'happy-elementor-addons' ),
|
143 |
'type' => Controls_Manager::DIMENSIONS,
|
144 |
'size_units' => [ 'px', '%' ],
|
145 |
'selectors' => [
|
152 |
$this->add_responsive_control(
|
153 |
'field_border_radius',
|
154 |
[
|
155 |
+
'label' => __( 'Border Radius', 'happy-elementor-addons' ),
|
156 |
'type' => Controls_Manager::DIMENSIONS,
|
157 |
'size_units' => [ 'px', '%' ],
|
158 |
'selectors' => [
|
165 |
Group_Control_Typography::get_type(),
|
166 |
[
|
167 |
'name' => 'field_typography',
|
168 |
+
'label' => __( 'Typography', 'happy-elementor-addons' ),
|
169 |
'selector' => '{{WRAPPER}} .wpuf-form-add.wpuf-style ul.wpuf-form .wpuf-fields input:not(.weforms_submit_btn), .wpuf-form-add.wpuf-style ul.wpuf-form .wpuf-fields textarea',
|
170 |
]
|
171 |
);
|
173 |
$this->add_control(
|
174 |
'field_textcolor',
|
175 |
[
|
176 |
+
'label' => __( 'Field Text Color', 'happy-elementor-addons' ),
|
177 |
'type' => Controls_Manager::COLOR,
|
178 |
'selectors' => [
|
179 |
'{{WRAPPER}} .wpuf-form-add.wpuf-style ul.wpuf-form .wpuf-fields input:not(.weforms_submit_btn), {{WRAPPER}} .wpuf-form-add.wpuf-style ul.wpuf-form .wpuf-fields textarea' => 'color: {{VALUE}};',
|
184 |
$this->add_control(
|
185 |
'field_placeholder_color',
|
186 |
[
|
187 |
+
'label' => __( 'Field Placeholder Color', 'happy-elementor-addons' ),
|
188 |
'type' => Controls_Manager::COLOR,
|
189 |
'selectors' => [
|
190 |
'{{WRAPPER}} ::-webkit-input-placeholder' => 'color: {{VALUE}};',
|
199 |
$this->start_controls_tab(
|
200 |
'tab_field_normal',
|
201 |
[
|
202 |
+
'label' => __( 'Normal', 'happy-elementor-addons' ),
|
203 |
]
|
204 |
);
|
205 |
|
222 |
$this->add_control(
|
223 |
'field_bg_color',
|
224 |
[
|
225 |
+
'label' => __( 'Background Color', 'happy-elementor-addons' ),
|
226 |
'type' => Controls_Manager::COLOR,
|
227 |
'selectors' => [
|
228 |
'{{WRAPPER}} .wpuf-form-add.wpuf-style ul.wpuf-form .wpuf-fields input:not(.weforms_submit_btn), {{WRAPPER}} .wpuf-form-add.wpuf-style ul.wpuf-form .wpuf-fields textarea' => 'background-color: {{VALUE}}',
|
235 |
$this->start_controls_tab(
|
236 |
'tab_field_focus',
|
237 |
[
|
238 |
+
'label' => __( 'Focus', 'happy-elementor-addons' ),
|
239 |
]
|
240 |
);
|
241 |
|
261 |
$this->add_control(
|
262 |
'field_focus_bg_color',
|
263 |
[
|
264 |
+
'label' => __( 'Background Color', 'happy-elementor-addons' ),
|
265 |
'type' => Controls_Manager::COLOR,
|
266 |
'selectors' => [
|
267 |
'{{WRAPPER}} .wpuf-form-add.wpuf-style ul.wpuf-form .wpuf-fields input:focus:not(.weforms_submit_btn), {{WRAPPER}} .wpuf-form-add.wpuf-style ul.wpuf-form .wpuf-fields textarea:focus' => 'background-color: {{VALUE}}',
|
278 |
$this->start_controls_section(
|
279 |
'we-form-label',
|
280 |
[
|
281 |
+
'label' => __( 'Form Fields Label', 'happy-elementor-addons' ),
|
282 |
'tab' => Controls_Manager::TAB_STYLE,
|
283 |
]
|
284 |
);
|
286 |
$this->add_responsive_control(
|
287 |
'label_margin',
|
288 |
[
|
289 |
+
'label' => __( 'Margin', 'happy-elementor-addons' ),
|
290 |
'type' => Controls_Manager::DIMENSIONS,
|
291 |
'size_units' => [ 'px', '%' ],
|
292 |
'selectors' => [
|
298 |
$this->add_responsive_control(
|
299 |
'label_padding',
|
300 |
[
|
301 |
+
'label' => __( 'Padding', 'happy-elementor-addons' ),
|
302 |
'type' => Controls_Manager::DIMENSIONS,
|
303 |
'size_units' => [ 'px', 'em', '%' ],
|
304 |
'selectors' => [
|
319 |
Group_Control_Typography::get_type(),
|
320 |
[
|
321 |
'name' => 'label_typography',
|
322 |
+
'label' => __( 'Label Typography', 'happy-elementor-addons' ),
|
323 |
'selector' => '{{WRAPPER}} .wpuf-label label, {{WRAPPER}} .wpuf-form-sub-label',
|
324 |
]
|
325 |
);
|
328 |
Group_Control_Typography::get_type(),
|
329 |
[
|
330 |
'name' => 'desc_typography',
|
331 |
+
'label' => __( 'Help Text Typography', 'happy-elementor-addons' ),
|
332 |
'selector' => '{{WRAPPER}} .wpuf-fields .wpuf-help',
|
333 |
]
|
334 |
);
|
336 |
$this->add_control(
|
337 |
'label_color',
|
338 |
[
|
339 |
+
'label' => __( 'Label Text Color', 'happy-elementor-addons' ),
|
340 |
'type' => Controls_Manager::COLOR,
|
341 |
'selectors' => [
|
342 |
'{{WRAPPER}} .wpuf-label label, {{WRAPPER}} .wpuf-form-sub-label' => 'color: {{VALUE}}',
|
347 |
$this->add_control(
|
348 |
'requered_label',
|
349 |
[
|
350 |
+
'label' => __( 'Required Label Color', 'happy-elementor-addons' ),
|
351 |
'type' => Controls_Manager::COLOR,
|
352 |
'selectors' => [
|
353 |
'{{WRAPPER}} .wpuf-label .required' => 'color: {{VALUE}} !important',
|
358 |
$this->add_control(
|
359 |
'desc_color',
|
360 |
[
|
361 |
+
'label' => __( 'Help Text Color', 'happy-elementor-addons' ),
|
362 |
'type' => Controls_Manager::COLOR,
|
363 |
'selectors' => [
|
364 |
'{{WRAPPER}} .wpuf-fields .wpuf-help' => 'color: {{VALUE}}',
|
371 |
$this->start_controls_section(
|
372 |
'submit',
|
373 |
[
|
374 |
+
'label' => __( 'Submit Button', 'happy-elementor-addons' ),
|
375 |
'tab' => Controls_Manager::TAB_STYLE,
|
376 |
]
|
377 |
);
|
379 |
$this->add_control(
|
380 |
'submit_btn_width',
|
381 |
[
|
382 |
+
'label' => __( 'Button Full Width?', 'happy-elementor-addons' ),
|
383 |
'type' => Controls_Manager::SWITCHER,
|
384 |
+
'label_on' => __( 'Yes', 'happy-elementor-addons' ),
|
385 |
+
'label_off' => __( 'No', 'happy-elementor-addons' ),
|
386 |
'return_value' => 'yes',
|
387 |
'default' => 'yes',
|
388 |
]
|
391 |
$this->add_responsive_control(
|
392 |
'button_width',
|
393 |
[
|
394 |
+
'label' => __( 'Button Width', 'happy-elementor-addons' ),
|
395 |
'type' => Controls_Manager::SLIDER,
|
396 |
'size_units' => [ 'px', '%' ],
|
397 |
'condition' => [
|
420 |
$this->add_responsive_control(
|
421 |
'submit_btn_position',
|
422 |
[
|
423 |
+
'label' => __( 'Button Position', 'happy-elementor-addons' ),
|
424 |
'type' => Controls_Manager::CHOOSE,
|
425 |
'options' => [
|
426 |
'left' => [
|
427 |
+
'title' => __( 'Left', 'happy-elementor-addons' ),
|
428 |
'icon' => 'eicon-h-align-left',
|
429 |
],
|
430 |
'center' => [
|
431 |
+
'title' => __( 'Center', 'happy-elementor-addons' ),
|
432 |
'icon' => 'eicon-h-align-center',
|
433 |
],
|
434 |
'right' => [
|
435 |
+
'title' => __( 'Right', 'happy-elementor-addons' ),
|
436 |
'icon' => 'eicon-h-align-right',
|
437 |
],
|
438 |
],
|
451 |
$this->add_responsive_control(
|
452 |
'submit_margin',
|
453 |
[
|
454 |
+
'label' => __( 'Margin', 'happy-elementor-addons' ),
|
455 |
'type' => Controls_Manager::DIMENSIONS,
|
456 |
'size_units' => [ 'px', '%' ],
|
457 |
'selectors' => [
|
463 |
$this->add_responsive_control(
|
464 |
'submit_padding',
|
465 |
[
|
466 |
+
'label' => __( 'Padding', 'happy-elementor-addons' ),
|
467 |
'type' => Controls_Manager::DIMENSIONS,
|
468 |
'size_units' => [ 'px', 'em', '%' ],
|
469 |
'selectors' => [
|
491 |
$this->add_control(
|
492 |
'submit_border_radius',
|
493 |
[
|
494 |
+
'label' => __( 'Border Radius', 'happy-elementor-addons' ),
|
495 |
'type' => Controls_Manager::DIMENSIONS,
|
496 |
'size_units' => [ 'px', '%' ],
|
497 |
'selectors' => [
|
529 |
$this->start_controls_tab(
|
530 |
'tab_button_normal',
|
531 |
[
|
532 |
+
'label' => __( 'Normal', 'happy-elementor-addons' ),
|
533 |
]
|
534 |
);
|
535 |
|
536 |
$this->add_control(
|
537 |
'submit_color',
|
538 |
[
|
539 |
+
'label' => __( 'Text Color', 'happy-elementor-addons' ),
|
540 |
'type' => Controls_Manager::COLOR,
|
541 |
'default' => '',
|
542 |
'selectors' => [
|
548 |
$this->add_control(
|
549 |
'submit_bg_color',
|
550 |
[
|
551 |
+
'label' => __( 'Background Color', 'happy-elementor-addons' ),
|
552 |
'type' => Controls_Manager::COLOR,
|
553 |
'selectors' => [
|
554 |
'{{WRAPPER}} .wpuf-form-add.wpuf-style ul.wpuf-form .wpuf-submit input[type=submit]' => 'background-color: {{VALUE}};',
|
561 |
$this->start_controls_tab(
|
562 |
'tab_button_hover',
|
563 |
[
|
564 |
+
'label' => __( 'Hover', 'happy-elementor-addons' ),
|
565 |
]
|
566 |
);
|
567 |
|
568 |
$this->add_control(
|
569 |
'submit_hover_color',
|
570 |
[
|
571 |
+
'label' => __( 'Text Color', 'happy-elementor-addons' ),
|
572 |
'type' => Controls_Manager::COLOR,
|
573 |
'selectors' => [
|
574 |
'{{WRAPPER}} .wpuf-form-add.wpuf-style ul.wpuf-form .wpuf-submit input[type=submit]:hover, {{WRAPPER}} .wpuf-form-add.wpuf-style ul.wpuf-form .wpuf-submit input[type=submit]:focus' => 'color: {{VALUE}};',
|
579 |
$this->add_control(
|
580 |
'submit_hover_bg_color',
|
581 |
[
|
582 |
+
'label' => __( 'Background Color', 'happy-elementor-addons' ),
|
583 |
'type' => Controls_Manager::COLOR,
|
584 |
'selectors' => [
|
585 |
'{{WRAPPER}} .wpuf-form-add.wpuf-style ul.wpuf-form .wpuf-submit input[type=submit]:hover, {{WRAPPER}} .wpuf-form-add.wpuf-style ul.wpuf-form .wpuf-submit input[type=submit]:focus' => 'background-color: {{VALUE}};',
|
590 |
$this->add_control(
|
591 |
'submit_hover_border_color',
|
592 |
[
|
593 |
+
'label' => __( 'Border Color', 'happy-elementor-addons' ),
|
594 |
'type' => Controls_Manager::COLOR,
|
595 |
'selectors' => [
|
596 |
'{{WRAPPER}} .wpuf-form-add.wpuf-style ul.wpuf-form .wpuf-submit input[type=submit]:hover, {{WRAPPER}} .wpuf-form-add.wpuf-style ul.wpuf-form .wpuf-submit input[type=submit]:focus' => 'border-color: {{VALUE}};',
|
widgets/wpform/widget.php
CHANGED
@@ -24,7 +24,7 @@ class WPForm extends Base {
|
|
24 |
* @return string Widget title.
|
25 |
*/
|
26 |
public function get_title() {
|
27 |
-
return __( '
|
28 |
}
|
29 |
|
30 |
/**
|
@@ -47,7 +47,7 @@ class WPForm extends Base {
|
|
47 |
$this->start_controls_section(
|
48 |
'_section_wpf',
|
49 |
[
|
50 |
-
'label' => ha_is_wpf_activated() ? __( '
|
51 |
'tab' => Controls_Manager::TAB_CONTENT,
|
52 |
]
|
53 |
);
|
@@ -58,9 +58,10 @@ class WPForm extends Base {
|
|
58 |
[
|
59 |
'type' => Controls_Manager::RAW_HTML,
|
60 |
'raw' => sprintf(
|
61 |
-
__( 'Hi, it seems %1$s is missing in your site. Please install and activate %1$s first.', '
|
62 |
'<a href="https://wordpress.org/plugins/wpforms-lite/" target="_blank" rel="noopener">WPForms</a>'
|
63 |
-
)
|
|
|
64 |
]
|
65 |
);
|
66 |
$this->end_controls_section();
|
@@ -70,10 +71,10 @@ class WPForm extends Base {
|
|
70 |
$this->add_control(
|
71 |
'form_id',
|
72 |
[
|
73 |
-
'label' => __( 'Select Your Form', '
|
74 |
'type' => Controls_Manager::SELECT,
|
75 |
'label_block' => true,
|
76 |
-
'options' => ['' => __( 'Select a WPForm', '
|
77 |
]
|
78 |
);
|
79 |
|
@@ -84,7 +85,7 @@ class WPForm extends Base {
|
|
84 |
$this->start_controls_section(
|
85 |
'_section_fields_style',
|
86 |
[
|
87 |
-
'label' => __( 'Form Fields', '
|
88 |
'tab' => Controls_Manager::TAB_STYLE,
|
89 |
]
|
90 |
);
|
@@ -92,7 +93,7 @@ class WPForm extends Base {
|
|
92 |
$this->add_responsive_control(
|
93 |
'field_margin',
|
94 |
[
|
95 |
-
'label' => __( 'Field Spacing', '
|
96 |
'type' => Controls_Manager::DIMENSIONS,
|
97 |
'size_units' => [ 'px', '%' ],
|
98 |
'selectors' => [
|
@@ -104,7 +105,7 @@ class WPForm extends Base {
|
|
104 |
$this->add_responsive_control(
|
105 |
'field_padding',
|
106 |
[
|
107 |
-
'label' => __( 'Padding', '
|
108 |
'type' => Controls_Manager::DIMENSIONS,
|
109 |
'size_units' => [ 'px', 'em', '%' ],
|
110 |
'selectors' => [
|
@@ -116,7 +117,7 @@ class WPForm extends Base {
|
|
116 |
$this->add_responsive_control(
|
117 |
'field_border_radius',
|
118 |
[
|
119 |
-
'label' => __( 'Border Radius', '
|
120 |
'type' => Controls_Manager::DIMENSIONS,
|
121 |
'size_units' => [ 'px', '%' ],
|
122 |
'selectors' => [
|
@@ -129,7 +130,7 @@ class WPForm extends Base {
|
|
129 |
Group_Control_Typography::get_type(),
|
130 |
[
|
131 |
'name' => 'field_typography',
|
132 |
-
'label' => __( 'Typography', '
|
133 |
'selector' => '{{WRAPPER}} .wpforms-field input, {{WRAPPER}} .wpforms-field-textarea textarea',
|
134 |
]
|
135 |
);
|
@@ -137,7 +138,7 @@ class WPForm extends Base {
|
|
137 |
$this->add_control(
|
138 |
'field_textcolor',
|
139 |
[
|
140 |
-
'label' => __( 'Field Text Color', '
|
141 |
'type' => Controls_Manager::COLOR,
|
142 |
'selectors' => [
|
143 |
'{{WRAPPER}} .wpforms-field input, {{WRAPPER}} .wpforms-field-textarea textarea' => 'color: {{VALUE}}',
|
@@ -148,7 +149,7 @@ class WPForm extends Base {
|
|
148 |
$this->add_control(
|
149 |
'field_placeholder_color',
|
150 |
[
|
151 |
-
'label' => __( 'Field Placeholder Color', '
|
152 |
'type' => Controls_Manager::COLOR,
|
153 |
'selectors' => [
|
154 |
'{{WRAPPER}} ::-webkit-input-placeholder' => 'color: {{VALUE}};',
|
@@ -163,7 +164,7 @@ class WPForm extends Base {
|
|
163 |
$this->start_controls_tab(
|
164 |
'tab_field_normal',
|
165 |
[
|
166 |
-
'label' => __( 'Normal State', '
|
167 |
]
|
168 |
);
|
169 |
|
@@ -186,7 +187,7 @@ class WPForm extends Base {
|
|
186 |
$this->add_control(
|
187 |
'field_bg_color',
|
188 |
[
|
189 |
-
'label' => __( 'Background Color', '
|
190 |
'type' => Controls_Manager::COLOR,
|
191 |
'selectors' => [
|
192 |
'{{WRAPPER}} .wpforms-field input, {{WRAPPER}} .wpforms-field-textarea textarea' => 'background-color: {{VALUE}}',
|
@@ -199,7 +200,7 @@ class WPForm extends Base {
|
|
199 |
$this->start_controls_tab(
|
200 |
'tab_field_focus',
|
201 |
[
|
202 |
-
'label' => __( 'Focus', '
|
203 |
]
|
204 |
);
|
205 |
|
@@ -225,7 +226,7 @@ class WPForm extends Base {
|
|
225 |
$this->add_control(
|
226 |
'field_focus_bg_color',
|
227 |
[
|
228 |
-
'label' => __( 'Background Color', '
|
229 |
'type' => Controls_Manager::COLOR,
|
230 |
'selectors' => [
|
231 |
'{{WRAPPER}} .wpforms-field input:focus, {{WRAPPER}} .wpforms-field-textarea textarea:focus' => 'background-color: {{VALUE}}',
|
@@ -241,7 +242,7 @@ class WPForm extends Base {
|
|
241 |
$this->start_controls_section(
|
242 |
'wpf-form-label',
|
243 |
[
|
244 |
-
'label' => __( 'Form Fields Label', '
|
245 |
'tab' => Controls_Manager::TAB_STYLE,
|
246 |
]
|
247 |
);
|
@@ -249,7 +250,7 @@ class WPForm extends Base {
|
|
249 |
$this->add_responsive_control(
|
250 |
'label_margin',
|
251 |
[
|
252 |
-
'label' => __( 'Margin', '
|
253 |
'type' => Controls_Manager::DIMENSIONS,
|
254 |
'size_units' => [ 'px', '%' ],
|
255 |
'selectors' => [
|
@@ -261,7 +262,7 @@ class WPForm extends Base {
|
|
261 |
$this->add_responsive_control(
|
262 |
'label_padding',
|
263 |
[
|
264 |
-
'label' => __( 'Padding', '
|
265 |
'type' => Controls_Manager::DIMENSIONS,
|
266 |
'size_units' => [ 'px', 'em', '%' ],
|
267 |
'selectors' => [
|
@@ -282,7 +283,7 @@ class WPForm extends Base {
|
|
282 |
Group_Control_Typography::get_type(),
|
283 |
[
|
284 |
'name' => 'label_typography',
|
285 |
-
'label' => __( 'Label Typography', '
|
286 |
'selector' => '{{WRAPPER}} .wpforms-field-container label.wpforms-field-label',
|
287 |
]
|
288 |
);
|
@@ -291,7 +292,7 @@ class WPForm extends Base {
|
|
291 |
Group_Control_Typography::get_type(),
|
292 |
[
|
293 |
'name' => 'sublabel_typography',
|
294 |
-
'label' => __( 'Sub Label Typography', '
|
295 |
'selector' => '{{WRAPPER}} .wpforms-field-sublabel',
|
296 |
]
|
297 |
);
|
@@ -300,7 +301,7 @@ class WPForm extends Base {
|
|
300 |
Group_Control_Typography::get_type(),
|
301 |
[
|
302 |
'name' => 'desc_typography',
|
303 |
-
'label' => __( 'Description Typography', '
|
304 |
'selector' => '{{WRAPPER}} .wpforms-field-description',
|
305 |
]
|
306 |
);
|
@@ -308,10 +309,10 @@ class WPForm extends Base {
|
|
308 |
$this->add_control(
|
309 |
'label_color_popover',
|
310 |
[
|
311 |
-
'label' => __( 'Colors', '
|
312 |
'type' => Controls_Manager::POPOVER_TOGGLE,
|
313 |
-
'label_off' => __( '', '
|
314 |
-
'label_on' => __( 'Custom', '
|
315 |
'return_value' => 'yes',
|
316 |
]
|
317 |
);
|
@@ -321,7 +322,7 @@ class WPForm extends Base {
|
|
321 |
$this->add_control(
|
322 |
'label_color',
|
323 |
[
|
324 |
-
'label' => __( 'Label Text Color', '
|
325 |
'type' => Controls_Manager::COLOR,
|
326 |
'selectors' => [
|
327 |
'{{WRAPPER}} .wpforms-field-container label.wpforms-field-label' => 'color: {{VALUE}}',
|
@@ -335,7 +336,7 @@ class WPForm extends Base {
|
|
335 |
$this->add_control(
|
336 |
'requered_label',
|
337 |
[
|
338 |
-
'label' => __( 'Required Label Color', '
|
339 |
'type' => Controls_Manager::COLOR,
|
340 |
'selectors' => [
|
341 |
'{{WRAPPER}} .wpforms-required-label' => 'color: {{VALUE}}',
|
@@ -349,7 +350,7 @@ class WPForm extends Base {
|
|
349 |
$this->add_control(
|
350 |
'sublabel_color',
|
351 |
[
|
352 |
-
'label' => __( 'Sub Label Text Color', '
|
353 |
'type' => Controls_Manager::COLOR,
|
354 |
'selectors' => [
|
355 |
'{{WRAPPER}} .wpforms-field-sublabel' => 'color: {{VALUE}}',
|
@@ -363,7 +364,7 @@ class WPForm extends Base {
|
|
363 |
$this->add_control(
|
364 |
'desc_label_color',
|
365 |
[
|
366 |
-
'label' => __( 'Description Text Color', '
|
367 |
'type' => Controls_Manager::COLOR,
|
368 |
'selectors' => [
|
369 |
'{{WRAPPER}} .wpforms-field-description' => 'color: {{VALUE}}',
|
@@ -381,7 +382,7 @@ class WPForm extends Base {
|
|
381 |
$this->start_controls_section(
|
382 |
'submit',
|
383 |
[
|
384 |
-
'label' => __( 'Submit Button', '
|
385 |
'tab' => Controls_Manager::TAB_STYLE,
|
386 |
]
|
387 |
);
|
@@ -389,10 +390,10 @@ class WPForm extends Base {
|
|
389 |
$this->add_control(
|
390 |
'submit_btn_width',
|
391 |
[
|
392 |
-
'label' => __( 'Button Full Width?', '
|
393 |
'type' => Controls_Manager::SWITCHER,
|
394 |
-
'label_on' => __( 'Yes', '
|
395 |
-
'label_off' => __( 'No', '
|
396 |
'return_value' => 'yes',
|
397 |
'default' => 'yes',
|
398 |
]
|
@@ -401,7 +402,7 @@ class WPForm extends Base {
|
|
401 |
$this->add_responsive_control(
|
402 |
'button_width',
|
403 |
[
|
404 |
-
'label' => __( 'Button Width', '
|
405 |
'type' => Controls_Manager::SLIDER,
|
406 |
'size_units' => [ 'px', '%' ],
|
407 |
'condition' => [
|
@@ -430,19 +431,19 @@ class WPForm extends Base {
|
|
430 |
$this->add_responsive_control(
|
431 |
'submit_btn_position',
|
432 |
[
|
433 |
-
'label' => __( 'Button Position', '
|
434 |
'type' => Controls_Manager::CHOOSE,
|
435 |
'options' => [
|
436 |
'left' => [
|
437 |
-
'title' => __( 'Left', '
|
438 |
'icon' => 'eicon-h-align-left',
|
439 |
],
|
440 |
'center' => [
|
441 |
-
'title' => __( 'Center', '
|
442 |
'icon' => 'eicon-h-align-center',
|
443 |
],
|
444 |
'right' => [
|
445 |
-
'title' => __( 'Right', '
|
446 |
'icon' => 'eicon-h-align-right',
|
447 |
],
|
448 |
],
|
@@ -462,7 +463,7 @@ class WPForm extends Base {
|
|
462 |
$this->add_responsive_control(
|
463 |
'submit_margin',
|
464 |
[
|
465 |
-
'label' => __( 'Margin', '
|
466 |
'type' => Controls_Manager::DIMENSIONS,
|
467 |
'size_units' => [ 'px', '%' ],
|
468 |
'selectors' => [
|
@@ -474,7 +475,7 @@ class WPForm extends Base {
|
|
474 |
$this->add_responsive_control(
|
475 |
'submit_padding',
|
476 |
[
|
477 |
-
'label' => __( 'Padding', '
|
478 |
'type' => Controls_Manager::DIMENSIONS,
|
479 |
'size_units' => [ 'px', 'em', '%' ],
|
480 |
'selectors' => [
|
@@ -502,7 +503,7 @@ class WPForm extends Base {
|
|
502 |
$this->add_control(
|
503 |
'submit_border_radius',
|
504 |
[
|
505 |
-
'label' => __( 'Border Radius', '
|
506 |
'type' => Controls_Manager::DIMENSIONS,
|
507 |
'size_units' => [ 'px', '%' ],
|
508 |
'selectors' => [
|
@@ -532,14 +533,14 @@ class WPForm extends Base {
|
|
532 |
$this->start_controls_tab(
|
533 |
'tab_button_normal',
|
534 |
[
|
535 |
-
'label' => __( 'Normal', '
|
536 |
]
|
537 |
);
|
538 |
|
539 |
$this->add_control(
|
540 |
'submit_color',
|
541 |
[
|
542 |
-
'label' => __( 'Text Color', '
|
543 |
'type' => Controls_Manager::COLOR,
|
544 |
'default' => '',
|
545 |
'selectors' => [
|
@@ -551,7 +552,7 @@ class WPForm extends Base {
|
|
551 |
$this->add_control(
|
552 |
'submit_bg_color',
|
553 |
[
|
554 |
-
'label' => __( 'Background Color', '
|
555 |
'type' => Controls_Manager::COLOR,
|
556 |
'selectors' => [
|
557 |
'{{WRAPPER}} .wpforms-submit' => 'background-color: {{VALUE}};',
|
@@ -564,14 +565,14 @@ class WPForm extends Base {
|
|
564 |
$this->start_controls_tab(
|
565 |
'tab_button_hover',
|
566 |
[
|
567 |
-
'label' => __( 'Hover', '
|
568 |
]
|
569 |
);
|
570 |
|
571 |
$this->add_control(
|
572 |
'submit_hover_color',
|
573 |
[
|
574 |
-
'label' => __( 'Text Color', '
|
575 |
'type' => Controls_Manager::COLOR,
|
576 |
'selectors' => [
|
577 |
'{{WRAPPER}} .wpforms-submit:hover, {{WRAPPER}} .wpforms-submit:focus' => 'color: {{VALUE}};',
|
@@ -582,7 +583,7 @@ class WPForm extends Base {
|
|
582 |
$this->add_control(
|
583 |
'submit_hover_bg_color',
|
584 |
[
|
585 |
-
'label' => __( 'Background Color', '
|
586 |
'type' => Controls_Manager::COLOR,
|
587 |
'selectors' => [
|
588 |
'{{WRAPPER}} .wpforms-submit:hover, {{WRAPPER}} .wpforms-submit:focus' => 'background-color: {{VALUE}};',
|
@@ -593,7 +594,7 @@ class WPForm extends Base {
|
|
593 |
$this->add_control(
|
594 |
'submit_hover_border_color',
|
595 |
[
|
596 |
-
'label' => __( 'Border Color', '
|
597 |
'type' => Controls_Manager::COLOR,
|
598 |
'selectors' => [
|
599 |
'{{WRAPPER}} .wpforms-submit:hover, {{WRAPPER}} .wpforms-submit:focus' => 'border-color: {{VALUE}};',
|
24 |
* @return string Widget title.
|
25 |
*/
|
26 |
public function get_title() {
|
27 |
+
return __( 'WPForms', 'happy-elementor-addons' );
|
28 |
}
|
29 |
|
30 |
/**
|
47 |
$this->start_controls_section(
|
48 |
'_section_wpf',
|
49 |
[
|
50 |
+
'label' => ha_is_wpf_activated() ? __( 'WPForms', 'happy-elementor-addons' ) : __( 'Notice', 'happy-elementor-addons' ),
|
51 |
'tab' => Controls_Manager::TAB_CONTENT,
|
52 |
]
|
53 |
);
|
58 |
[
|
59 |
'type' => Controls_Manager::RAW_HTML,
|
60 |
'raw' => sprintf(
|
61 |
+
__( 'Hi, it seems %1$s is missing in your site. Please install and activate %1$s first.', 'happy-elementor-addons' ),
|
62 |
'<a href="https://wordpress.org/plugins/wpforms-lite/" target="_blank" rel="noopener">WPForms</a>'
|
63 |
+
),
|
64 |
+
'content_classes' => 'elementor-panel-alert elementor-panel-alert-warning',
|
65 |
]
|
66 |
);
|
67 |
$this->end_controls_section();
|
71 |
$this->add_control(
|
72 |
'form_id',
|
73 |
[
|
74 |
+
'label' => __( 'Select Your Form', 'happy-elementor-addons' ),
|
75 |
'type' => Controls_Manager::SELECT,
|
76 |
'label_block' => true,
|
77 |
+
'options' => ['' => __( 'Select a WPForm', 'happy-elementor-addons' ) ] + \ha_get_wpforms(),
|
78 |
]
|
79 |
);
|
80 |
|
85 |
$this->start_controls_section(
|
86 |
'_section_fields_style',
|
87 |
[
|
88 |
+
'label' => __( 'Form Fields', 'happy-elementor-addons' ),
|
89 |
'tab' => Controls_Manager::TAB_STYLE,
|
90 |
]
|
91 |
);
|
93 |
$this->add_responsive_control(
|
94 |
'field_margin',
|
95 |
[
|
96 |
+
'label' => __( 'Field Spacing', 'happy-elementor-addons' ),
|
97 |
'type' => Controls_Manager::DIMENSIONS,
|
98 |
'size_units' => [ 'px', '%' ],
|
99 |
'selectors' => [
|
105 |
$this->add_responsive_control(
|
106 |
'field_padding',
|
107 |
[
|
108 |
+
'label' => __( 'Padding', 'happy-elementor-addons' ),
|
109 |
'type' => Controls_Manager::DIMENSIONS,
|
110 |
'size_units' => [ 'px', 'em', '%' ],
|
111 |
'selectors' => [
|
117 |
$this->add_responsive_control(
|
118 |
'field_border_radius',
|
119 |
[
|
120 |
+
'label' => __( 'Border Radius', 'happy-elementor-addons' ),
|
121 |
'type' => Controls_Manager::DIMENSIONS,
|
122 |
'size_units' => [ 'px', '%' ],
|
123 |
'selectors' => [
|
130 |
Group_Control_Typography::get_type(),
|
131 |
[
|
132 |
'name' => 'field_typography',
|
133 |
+
'label' => __( 'Typography', 'happy-elementor-addons' ),
|
134 |
'selector' => '{{WRAPPER}} .wpforms-field input, {{WRAPPER}} .wpforms-field-textarea textarea',
|
135 |
]
|
136 |
);
|
138 |
$this->add_control(
|
139 |
'field_textcolor',
|
140 |
[
|
141 |
+
'label' => __( 'Field Text Color', 'happy-elementor-addons' ),
|
142 |
'type' => Controls_Manager::COLOR,
|
143 |
'selectors' => [
|
144 |
'{{WRAPPER}} .wpforms-field input, {{WRAPPER}} .wpforms-field-textarea textarea' => 'color: {{VALUE}}',
|
149 |
$this->add_control(
|
150 |
'field_placeholder_color',
|
151 |
[
|
152 |
+
'label' => __( 'Field Placeholder Color', 'happy-elementor-addons' ),
|
153 |
'type' => Controls_Manager::COLOR,
|
154 |
'selectors' => [
|
155 |
'{{WRAPPER}} ::-webkit-input-placeholder' => 'color: {{VALUE}};',
|
164 |
$this->start_controls_tab(
|
165 |
'tab_field_normal',
|
166 |
[
|
167 |
+
'label' => __( 'Normal State', 'happy-elementor-addons' ),
|
168 |
]
|
169 |
);
|
170 |
|
187 |
$this->add_control(
|
188 |
'field_bg_color',
|
189 |
[
|
190 |
+
'label' => __( 'Background Color', 'happy-elementor-addons' ),
|
191 |
'type' => Controls_Manager::COLOR,
|
192 |
'selectors' => [
|
193 |
'{{WRAPPER}} .wpforms-field input, {{WRAPPER}} .wpforms-field-textarea textarea' => 'background-color: {{VALUE}}',
|
200 |
$this->start_controls_tab(
|
201 |
'tab_field_focus',
|
202 |
[
|
203 |
+
'label' => __( 'Focus', 'happy-elementor-addons' ),
|
204 |
]
|
205 |
);
|
206 |
|
226 |
$this->add_control(
|
227 |
'field_focus_bg_color',
|
228 |
[
|
229 |
+
'label' => __( 'Background Color', 'happy-elementor-addons' ),
|
230 |
'type' => Controls_Manager::COLOR,
|
231 |
'selectors' => [
|
232 |
'{{WRAPPER}} .wpforms-field input:focus, {{WRAPPER}} .wpforms-field-textarea textarea:focus' => 'background-color: {{VALUE}}',
|
242 |
$this->start_controls_section(
|
243 |
'wpf-form-label',
|
244 |
[
|
245 |
+
'label' => __( 'Form Fields Label', 'happy-elementor-addons' ),
|
246 |
'tab' => Controls_Manager::TAB_STYLE,
|
247 |
]
|
248 |
);
|
250 |
$this->add_responsive_control(
|
251 |
'label_margin',
|
252 |
[
|
253 |
+
'label' => __( 'Margin', 'happy-elementor-addons' ),
|
254 |
'type' => Controls_Manager::DIMENSIONS,
|
255 |
'size_units' => [ 'px', '%' ],
|
256 |
'selectors' => [
|
262 |
$this->add_responsive_control(
|
263 |
'label_padding',
|
264 |
[
|
265 |
+
'label' => __( 'Padding', 'happy-elementor-addons' ),
|
266 |
'type' => Controls_Manager::DIMENSIONS,
|
267 |
'size_units' => [ 'px', 'em', '%' ],
|
268 |
'selectors' => [
|
283 |
Group_Control_Typography::get_type(),
|
284 |
[
|
285 |
'name' => 'label_typography',
|
286 |
+
'label' => __( 'Label Typography', 'happy-elementor-addons' ),
|
287 |
'selector' => '{{WRAPPER}} .wpforms-field-container label.wpforms-field-label',
|
288 |
]
|
289 |
);
|
292 |
Group_Control_Typography::get_type(),
|
293 |
[
|
294 |
'name' => 'sublabel_typography',
|
295 |
+
'label' => __( 'Sub Label Typography', 'happy-elementor-addons' ),
|
296 |
'selector' => '{{WRAPPER}} .wpforms-field-sublabel',
|
297 |
]
|
298 |
);
|
301 |
Group_Control_Typography::get_type(),
|
302 |
[
|
303 |
'name' => 'desc_typography',
|
304 |
+
'label' => __( 'Description Typography', 'happy-elementor-addons' ),
|
305 |
'selector' => '{{WRAPPER}} .wpforms-field-description',
|
306 |
]
|
307 |
);
|
309 |
$this->add_control(
|
310 |
'label_color_popover',
|
311 |
[
|
312 |
+
'label' => __( 'Colors', 'happy-elementor-addons' ),
|
313 |
'type' => Controls_Manager::POPOVER_TOGGLE,
|
314 |
+
'label_off' => __( '', 'happy-elementor-addons' ),
|
315 |
+
'label_on' => __( 'Custom', 'happy-elementor-addons' ),
|
316 |
'return_value' => 'yes',
|
317 |
]
|
318 |
);
|
322 |
$this->add_control(
|
323 |
'label_color',
|
324 |
[
|
325 |
+
'label' => __( 'Label Text Color', 'happy-elementor-addons' ),
|
326 |
'type' => Controls_Manager::COLOR,
|
327 |
'selectors' => [
|
328 |
'{{WRAPPER}} .wpforms-field-container label.wpforms-field-label' => 'color: {{VALUE}}',
|
336 |
$this->add_control(
|
337 |
'requered_label',
|
338 |
[
|
339 |
+
'label' => __( 'Required Label Color', 'happy-elementor-addons' ),
|
340 |
'type' => Controls_Manager::COLOR,
|
341 |
'selectors' => [
|
342 |
'{{WRAPPER}} .wpforms-required-label' => 'color: {{VALUE}}',
|
350 |
$this->add_control(
|
351 |
'sublabel_color',
|
352 |
[
|
353 |
+
'label' => __( 'Sub Label Text Color', 'happy-elementor-addons' ),
|
354 |
'type' => Controls_Manager::COLOR,
|
355 |
'selectors' => [
|
356 |
'{{WRAPPER}} .wpforms-field-sublabel' => 'color: {{VALUE}}',
|
364 |
$this->add_control(
|
365 |
'desc_label_color',
|
366 |
[
|
367 |
+
'label' => __( 'Description Text Color', 'happy-elementor-addons' ),
|
368 |
'type' => Controls_Manager::COLOR,
|
369 |
'selectors' => [
|
370 |
'{{WRAPPER}} .wpforms-field-description' => 'color: {{VALUE}}',
|
382 |
$this->start_controls_section(
|
383 |
'submit',
|
384 |
[
|
385 |
+
'label' => __( 'Submit Button', 'happy-elementor-addons' ),
|
386 |
'tab' => Controls_Manager::TAB_STYLE,
|
387 |
]
|
388 |
);
|
390 |
$this->add_control(
|
391 |
'submit_btn_width',
|
392 |
[
|
393 |
+
'label' => __( 'Button Full Width?', 'happy-elementor-addons' ),
|
394 |
'type' => Controls_Manager::SWITCHER,
|
395 |
+
'label_on' => __( 'Yes', 'happy-elementor-addons' ),
|
396 |
+
'label_off' => __( 'No', 'happy-elementor-addons' ),
|
397 |
'return_value' => 'yes',
|
398 |
'default' => 'yes',
|
399 |
]
|
402 |
$this->add_responsive_control(
|
403 |
'button_width',
|
404 |
[
|
405 |
+
'label' => __( 'Button Width', 'happy-elementor-addons' ),
|
406 |
'type' => Controls_Manager::SLIDER,
|
407 |
'size_units' => [ 'px', '%' ],
|
408 |
'condition' => [
|
431 |
$this->add_responsive_control(
|
432 |
'submit_btn_position',
|
433 |
[
|
434 |
+
'label' => __( 'Button Position', 'happy-elementor-addons' ),
|
435 |
'type' => Controls_Manager::CHOOSE,
|
436 |
'options' => [
|
437 |
'left' => [
|
438 |
+
'title' => __( 'Left', 'happy-elementor-addons' ),
|
439 |
'icon' => 'eicon-h-align-left',
|
440 |
],
|
441 |
'center' => [
|
442 |
+
'title' => __( 'Center', 'happy-elementor-addons' ),
|
443 |
'icon' => 'eicon-h-align-center',
|
444 |
],
|
445 |
'right' => [
|
446 |
+
'title' => __( 'Right', 'happy-elementor-addons' ),
|
447 |
'icon' => 'eicon-h-align-right',
|
448 |
],
|
449 |
],
|
463 |
$this->add_responsive_control(
|
464 |
'submit_margin',
|
465 |
[
|
466 |
+
'label' => __( 'Margin', 'happy-elementor-addons' ),
|
467 |
'type' => Controls_Manager::DIMENSIONS,
|
468 |
'size_units' => [ 'px', '%' ],
|
469 |
'selectors' => [
|
475 |
$this->add_responsive_control(
|
476 |
'submit_padding',
|
477 |
[
|
478 |
+
'label' => __( 'Padding', 'happy-elementor-addons' ),
|
479 |
'type' => Controls_Manager::DIMENSIONS,
|
480 |
'size_units' => [ 'px', 'em', '%' ],
|
481 |
'selectors' => [
|
503 |
$this->add_control(
|
504 |
'submit_border_radius',
|
505 |
[
|
506 |
+
'label' => __( 'Border Radius', 'happy-elementor-addons' ),
|
507 |
'type' => Controls_Manager::DIMENSIONS,
|
508 |
'size_units' => [ 'px', '%' ],
|
509 |
'selectors' => [
|
533 |
$this->start_controls_tab(
|
534 |
'tab_button_normal',
|
535 |
[
|
536 |
+
'label' => __( 'Normal', 'happy-elementor-addons' ),
|
537 |
]
|
538 |
);
|
539 |
|
540 |
$this->add_control(
|
541 |
'submit_color',
|
542 |
[
|
543 |
+
'label' => __( 'Text Color', 'happy-elementor-addons' ),
|
544 |
'type' => Controls_Manager::COLOR,
|
545 |
'default' => '',
|
546 |
'selectors' => [
|
552 |
$this->add_control(
|
553 |
'submit_bg_color',
|
554 |
[
|
555 |
+
'label' => __( 'Background Color', 'happy-elementor-addons' ),
|
556 |
'type' => Controls_Manager::COLOR,
|
557 |
'selectors' => [
|
558 |
'{{WRAPPER}} .wpforms-submit' => 'background-color: {{VALUE}};',
|
565 |
$this->start_controls_tab(
|
566 |
'tab_button_hover',
|
567 |
[
|
568 |
+
'label' => __( 'Hover', 'happy-elementor-addons' ),
|
569 |
]
|
570 |
);
|
571 |
|
572 |
$this->add_control(
|
573 |
'submit_hover_color',
|
574 |
[
|
575 |
+
'label' => __( 'Text Color', 'happy-elementor-addons' ),
|
576 |
'type' => Controls_Manager::COLOR,
|
577 |
'selectors' => [
|
578 |
'{{WRAPPER}} .wpforms-submit:hover, {{WRAPPER}} .wpforms-submit:focus' => 'color: {{VALUE}};',
|
583 |
$this->add_control(
|
584 |
'submit_hover_bg_color',
|
585 |
[
|
586 |
+
'label' => __( 'Background Color', 'happy-elementor-addons' ),
|
587 |
'type' => Controls_Manager::COLOR,
|
588 |
'selectors' => [
|
589 |
'{{WRAPPER}} .wpforms-submit:hover, {{WRAPPER}} .wpforms-submit:focus' => 'background-color: {{VALUE}};',
|
594 |
$this->add_control(
|
595 |
'submit_hover_border_color',
|
596 |
[
|
597 |
+
'label' => __( 'Border Color', 'happy-elementor-addons' ),
|
598 |
'type' => Controls_Manager::COLOR,
|
599 |
'selectors' => [
|
600 |
'{{WRAPPER}} .wpforms-submit:hover, {{WRAPPER}} .wpforms-submit:focus' => 'border-color: {{VALUE}};',
|