Version Description
- Update: Floating effects settings
- Update: Info box link updated to button
- Fix: Some minor styling issues
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.2 |
Comparing to | |
See all releases |
Code changes from version 1.0.1 to 1.0.2
- assets/admin/js/happy-addons.js +2 -1
- assets/admin/js/happy-addons.min.js +1 -1
- assets/css/main.css +16 -30
- assets/css/main.min.css +1 -1
- assets/dev/admin/js/happy-addon.js +0 -12
- assets/dev/admin/sass/main.scss +0 -27
- assets/dev/js/happy-addons.js +0 -140
- assets/dev/sass/_btn.scss +0 -28
- assets/dev/sass/_card.scss +0 -146
- assets/dev/sass/_common.scss +0 -28
- assets/dev/sass/_dual-btn.scss +0 -83
- assets/dev/sass/_gallery-filter.scss +0 -39
- assets/dev/sass/_gradient-heading.scss +0 -9
- assets/dev/sass/_icon-box.scss +0 -48
- assets/dev/sass/_image-comparison.scss +0 -9
- assets/dev/sass/_image-grid.scss +0 -184
- assets/dev/sass/_infobox.scss +0 -48
- assets/dev/sass/_justified-gallery.scss +0 -48
- assets/dev/sass/_link.scss +0 -23
- assets/dev/sass/_logo-grid.scss +0 -97
- assets/dev/sass/_member.scss +0 -61
- assets/dev/sass/_mixins.scss +0 -15
- assets/dev/sass/_review.scss +0 -138
- assets/dev/sass/_skills.scss +0 -69
- assets/dev/sass/_slider-carousel.scss +0 -110
- assets/dev/sass/_testimonial.scss +0 -89
- assets/dev/sass/_variables.scss +0 -2
- assets/dev/sass/main.scss +0 -21
- assets/vendor/twentytwenty/.gitignore +0 -5
- base.php +1 -1
- base/widget-base.php +0 -26
- classes/asset-manager.php +9 -1
- classes/widget-manager.php +1 -0
- plugin.php +1 -1
- readme.txt +39 -19
- widgets/card/widget.php +2 -8
- widgets/gradient-heading/widget.php +1 -1
- widgets/infobox/widget.php +228 -28
- widgets/member/widget.php +12 -1
- widgets/ninjaform/widget.php +532 -0
assets/admin/js/happy-addons.js
CHANGED
@@ -7,6 +7,7 @@
|
|
7 |
Â
.find('.hm')
|
8 |
Â
.parents('.elementor-element')
|
9 |
Â
.addClass('happy-addons-addon');
|
10 |
-
},
|
11 |
Â
});
|
Â
|
|
12 |
Â
}(jQuery, window.elementor));
|
7 |
Â
.find('.hm')
|
8 |
Â
.parents('.elementor-element')
|
9 |
Â
.addClass('happy-addons-addon');
|
10 |
+
}, 100));
|
11 |
Â
});
|
12 |
+
|
13 |
Â
}(jQuery, window.elementor));
|
assets/admin/js/happy-addons.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
!function(e,n){"use strict";n.on("panel:init",function(){e("#elementor-panel-elements-search-input").on("keyup",_.debounce(function(){e("#elementor-panel-elements").find(".hm").parents(".elementor-element").addClass("happy-addons-addon")},
|
1 |
+
!function(e,n){"use strict";n.on("panel:init",function(){e("#elementor-panel-elements-search-input").on("keyup",_.debounce(function(){e("#elementor-panel-elements").find(".hm").parents(".elementor-element").addClass("happy-addons-addon")},100))})}(jQuery,window.elementor);
|
assets/css/main.css
CHANGED
@@ -41,50 +41,36 @@
|
|
41 |
Â
|
42 |
Â
.ha-btn {
|
43 |
Â
display: inline-block;
|
44 |
-
padding: .7rem 1.3rem;
|
45 |
-
border-radius: .25rem;
|
46 |
-
background-color: #8c8c8c;
|
47 |
-
color: #fff;
|
48 |
Â
vertical-align: middle;
|
49 |
Â
text-align: center;
|
50 |
Â
text-decoration: none;
|
51 |
-
font-weight: bold;
|
52 |
Â
font-size: 14px;
|
53 |
Â
line-height: 1;
|
54 |
Â
-webkit-transition: all .3s;
|
55 |
Â
transition: all .3s;
|
56 |
Â
}
|
57 |
-
.ha-btn:
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
Â
}
|
64 |
-
.ha-btn
|
65 |
-
.ha-btn
|
66 |
-
|
67 |
Â
}
|
68 |
-
|
69 |
-
.ha-link {
|
70 |
-
position: relative;
|
71 |
-
display: inline-block;
|
72 |
-
margin-right: 15px;
|
73 |
Â
color: #3ca6ff;
|
74 |
-
text-decoration: none;
|
75 |
Â
}
|
76 |
-
.ha-
|
77 |
-
position: absolute;
|
78 |
-
top: 2px;
|
79 |
-
right: -15px;
|
80 |
-
content: "\f105";
|
81 |
-
font-size: 15px;
|
82 |
-
font-family: "FontAwesome";
|
83 |
Â
-webkit-transition: all .3s;
|
84 |
Â
transition: all .3s;
|
85 |
Â
}
|
86 |
-
.ha-
|
87 |
-
|
Â
|
|
88 |
Â
}
|
89 |
Â
|
90 |
Â
.ha-card-figure {
|
@@ -271,7 +257,7 @@
|
|
271 |
Â
vertical-align: bottom;
|
272 |
Â
}
|
273 |
Â
|
274 |
-
.ha-infobox-text + .ha-link {
|
275 |
Â
margin-top: 1rem;
|
276 |
Â
}
|
277 |
Â
|
41 |
Â
|
42 |
Â
.ha-btn {
|
43 |
Â
display: inline-block;
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
44 |
Â
vertical-align: middle;
|
45 |
Â
text-align: center;
|
46 |
Â
text-decoration: none;
|
47 |
+
font-weight: bold;
|
48 |
Â
font-size: 14px;
|
49 |
Â
line-height: 1;
|
50 |
Â
-webkit-transition: all .3s;
|
51 |
Â
transition: all .3s;
|
52 |
Â
}
|
53 |
+
.ha-btn:not(.ha-btn--link) {
|
54 |
+
padding: .7rem 1.3rem;
|
55 |
+
border-radius: .25rem;
|
56 |
+
background-color: #8c8c8c;
|
57 |
+
color: #fff;
|
58 |
+
text-align: center;
|
59 |
Â
}
|
60 |
+
.ha-btn:not(.ha-btn--link):hover,
|
61 |
+
.ha-btn:not(.ha-btn--link):focus {
|
62 |
+
background-color: #242424;
|
63 |
Â
}
|
64 |
+
.ha-btn.ha-btn--link {
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
65 |
Â
color: #3ca6ff;
|
Â
|
|
66 |
Â
}
|
67 |
+
.ha-btn-icon {
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
68 |
Â
-webkit-transition: all .3s;
|
69 |
Â
transition: all .3s;
|
70 |
Â
}
|
71 |
+
.ha-btn-icon + .ha-btn-text,
|
72 |
+
.ha-btn-text + .ha-btn-icon {
|
73 |
+
margin-left: 5px;
|
74 |
Â
}
|
75 |
Â
|
76 |
Â
.ha-card-figure {
|
257 |
Â
vertical-align: bottom;
|
258 |
Â
}
|
259 |
Â
|
260 |
+
.ha-infobox-text + .ha-btn--link {
|
261 |
Â
margin-top: 1rem;
|
262 |
Â
}
|
263 |
Â
|
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;
|
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}
|
assets/dev/admin/js/happy-addon.js
DELETED
@@ -1,12 +0,0 @@
|
|
1 |
-
;(function($, elementor) {
|
2 |
-
'use strict';
|
3 |
-
|
4 |
-
elementor.on('panel:init', function() {
|
5 |
-
$('#elementor-panel-elements-search-input').on('keyup', _.debounce(function() {
|
6 |
-
$('#elementor-panel-elements')
|
7 |
-
.find('.hm')
|
8 |
-
.parents('.elementor-element')
|
9 |
-
.addClass('happy-addons-addon');
|
10 |
-
}, 170));
|
11 |
-
});
|
12 |
-
}(jQuery, window.elementor));
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
assets/dev/admin/sass/main.scss
DELETED
@@ -1,27 +0,0 @@
|
|
1 |
-
.elementor-panel {
|
2 |
-
#elementor-panel-category-happy_addons .elementor-element,
|
3 |
-
#elementor-panel-elements .happy-addons-addon {
|
4 |
-
transition: background-image .3s;
|
5 |
-
|
6 |
-
.icon,
|
7 |
-
.title {
|
8 |
-
background-image: linear-gradient(135deg, #e2498a 25%, #562dd4 100%);
|
9 |
-
-webkit-background-clip: text;
|
10 |
-
-webkit-text-fill-color: transparent;
|
11 |
-
|
12 |
-
transition: background-image .2s, color .2s;
|
13 |
-
}
|
14 |
-
|
15 |
-
&:hover,
|
16 |
-
&:focus {
|
17 |
-
background-image: linear-gradient(135deg, #e2498a 0%, #562dd4 100%);
|
18 |
-
|
19 |
-
.icon,
|
20 |
-
.title {
|
21 |
-
color: #fff;
|
22 |
-
background: transparent;
|
23 |
-
-webkit-text-fill-color: initial;
|
24 |
-
}
|
25 |
-
}
|
26 |
-
}
|
27 |
-
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
assets/dev/js/happy-addons.js
DELETED
@@ -1,140 +0,0 @@
|
|
1 |
-
'use strict';
|
2 |
-
window.Happy = window.Happy || {};
|
3 |
-
|
4 |
-
(function ($, Happy) {
|
5 |
-
var $window = $(window);
|
6 |
-
|
7 |
-
$.fn.getHappySettings = function() {
|
8 |
-
return this.data('happy-settings');
|
9 |
-
};
|
10 |
-
|
11 |
-
Happy.initImageComparison = function($scope) {
|
12 |
-
var $item = $scope.find('.hajs-image-comparison'),
|
13 |
-
settings = $item.getHappySettings(),
|
14 |
-
fieldMap = {
|
15 |
-
on_hover: 'move_slider_on_hover',
|
16 |
-
on_swipe: 'move_with_handle_only',
|
17 |
-
on_click: 'click_to_move'
|
18 |
-
};
|
19 |
-
|
20 |
-
settings[fieldMap[settings.move_handle || 'on_swipe']] = true;
|
21 |
-
delete settings.move_handle;
|
22 |
-
$item.imagesLoaded().done(function() {
|
23 |
-
$item.twentytwenty(settings);
|
24 |
-
});
|
25 |
-
};
|
26 |
-
|
27 |
-
$window.on( 'elementor/frontend/init', function() {
|
28 |
-
var FloatingFx = elementorModules.frontend.handlers.Base.extend({
|
29 |
-
onInit: function() {
|
30 |
-
elementorModules.frontend.handlers.Base.prototype.onInit.apply(this, arguments);
|
31 |
-
this.run();
|
32 |
-
},
|
33 |
-
|
34 |
-
getTheElement: function() {
|
35 |
-
return this.$element.find('.elementor-widget-container')[0];
|
36 |
-
},
|
37 |
-
|
38 |
-
resetFx: function() {
|
39 |
-
anime.remove(this.getTheElement());
|
40 |
-
this.getTheElement() && this.getTheElement().removeAttribute('style');
|
41 |
-
},
|
42 |
-
|
43 |
-
onDestroy: function() {
|
44 |
-
elementorModules.frontend.handlers.Base.prototype.onDestroy.apply(this, arguments);
|
45 |
-
this.resetFx();
|
46 |
-
},
|
47 |
-
|
48 |
-
onElementChange: function() {
|
49 |
-
this.resetFx();
|
50 |
-
this.run();
|
51 |
-
},
|
52 |
-
|
53 |
-
run: function() {
|
54 |
-
var settings = this.getElementSettings(),
|
55 |
-
fxSettings = {
|
56 |
-
targets: this.getTheElement(),
|
57 |
-
loop: true,
|
58 |
-
direction: 'alternate',
|
59 |
-
easing: 'easeInOutSine'
|
60 |
-
};
|
61 |
-
|
62 |
-
if (settings.ha_floating_fx_translate_toggle) {
|
63 |
-
if (settings.ha_floating_fx_translate_x.size) {
|
64 |
-
fxSettings.translateX = {
|
65 |
-
value: settings.ha_floating_fx_translate_x.size,
|
66 |
-
duration: settings.ha_floating_fx_translate_duration.size,
|
67 |
-
delay: settings.ha_floating_fx_translate_delay.size || 0
|
68 |
-
}
|
69 |
-
}
|
70 |
-
if (settings.ha_floating_fx_translate_y.size) {
|
71 |
-
fxSettings.translateY = {
|
72 |
-
value: settings.ha_floating_fx_translate_y.size,
|
73 |
-
duration: settings.ha_floating_fx_translate_duration.size,
|
74 |
-
delay: settings.ha_floating_fx_translate_delay.size || 0
|
75 |
-
}
|
76 |
-
}
|
77 |
-
}
|
78 |
-
|
79 |
-
if (settings.ha_floating_fx_rotate_toggle) {
|
80 |
-
if (settings.ha_floating_fx_rotate_x.size) {
|
81 |
-
fxSettings.rotateX = {
|
82 |
-
value: settings.ha_floating_fx_rotate_x.size,
|
83 |
-
duration: settings.ha_floating_fx_rotate_duration.size,
|
84 |
-
delay: settings.ha_floating_fx_rotate_delay.size || 0
|
85 |
-
}
|
86 |
-
}
|
87 |
-
if (settings.ha_floating_fx_rotate_y.size) {
|
88 |
-
fxSettings.rotateY = {
|
89 |
-
value: settings.ha_floating_fx_rotate_y.size,
|
90 |
-
duration: settings.ha_floating_fx_rotate_duration.size,
|
91 |
-
delay: settings.ha_floating_fx_rotate_delay.size || 0
|
92 |
-
}
|
93 |
-
}
|
94 |
-
if (settings.ha_floating_fx_rotate_z.size) {
|
95 |
-
fxSettings.rotateZ = {
|
96 |
-
value: settings.ha_floating_fx_rotate_z.size,
|
97 |
-
duration: settings.ha_floating_fx_rotate_duration.size,
|
98 |
-
delay: settings.ha_floating_fx_rotate_delay.size || 0
|
99 |
-
}
|
100 |
-
}
|
101 |
-
}
|
102 |
-
|
103 |
-
if (settings.ha_floating_fx_scale_toggle) {
|
104 |
-
if (settings.ha_floating_fx_scale_x.size) {
|
105 |
-
fxSettings.scaleX = {
|
106 |
-
value: settings.ha_floating_fx_scale_x.size,
|
107 |
-
duration: settings.ha_floating_fx_scale_duration.size,
|
108 |
-
delay: settings.ha_floating_fx_scale_delay.size || 0
|
109 |
-
}
|
110 |
-
}
|
111 |
-
if (settings.ha_floating_fx_scale_y.size) {
|
112 |
-
fxSettings.scaleY = {
|
113 |
-
value: settings.ha_floating_fx_scale_y.size,
|
114 |
-
duration: settings.ha_floating_fx_scale_duration.size,
|
115 |
-
delay: settings.ha_floating_fx_scale_delay.size || 0
|
116 |
-
}
|
117 |
-
}
|
118 |
-
}
|
119 |
-
|
120 |
-
if (settings.ha_floating_fx_translate_toggle || settings.ha_floating_fx_rotate_toggle || settings.ha_floating_fx_scale_toggle) {
|
121 |
-
this.getTheElement() && this.getTheElement().style.setProperty('will-change', 'transform');
|
122 |
-
anime(fxSettings);
|
123 |
-
}
|
124 |
-
}
|
125 |
-
});
|
126 |
-
|
127 |
-
elementorFrontend.hooks.addAction(
|
128 |
-
'frontend/element_ready/ha-image-compare.default',
|
129 |
-
Happy.initImageComparison
|
130 |
-
);
|
131 |
-
|
132 |
-
elementorFrontend.hooks.addAction(
|
133 |
-
'frontend/element_ready/widget',
|
134 |
-
function ($scope) {
|
135 |
-
new FloatingFx({ $element: $scope });
|
136 |
-
}
|
137 |
-
);
|
138 |
-
});
|
139 |
-
|
140 |
-
} (jQuery, Happy));
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
assets/dev/sass/_btn.scss
DELETED
@@ -1,28 +0,0 @@
|
|
1 |
-
.ha-btn {
|
2 |
-
background-color: #8c8c8c;
|
3 |
-
color: #fff;
|
4 |
-
text-decoration: none;
|
5 |
-
padding: .7rem 1.3rem;
|
6 |
-
line-height: 1;
|
7 |
-
border-radius: .25rem;
|
8 |
-
text-align: center;
|
9 |
-
vertical-align: middle;
|
10 |
-
display: inline-block;
|
11 |
-
font-size: 14px;
|
12 |
-
font-weight: bold;
|
13 |
-
transition: all .3s;
|
14 |
-
|
15 |
-
&:hover,
|
16 |
-
&:focus {
|
17 |
-
background-color: #242424;
|
18 |
-
}
|
19 |
-
|
20 |
-
&--block {
|
21 |
-
display: block;
|
22 |
-
}
|
23 |
-
|
24 |
-
&-icon + &-text,
|
25 |
-
&-text + &-icon {
|
26 |
-
margin-left: 5px;
|
27 |
-
}
|
28 |
-
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
assets/dev/sass/_card.scss
DELETED
@@ -1,146 +0,0 @@
|
|
1 |
-
.ha-card {
|
2 |
-
|
3 |
-
@extend %happyWidgetContainer;
|
4 |
-
|
5 |
-
&-figure {
|
6 |
-
position: relative;
|
7 |
-
height: 250px;
|
8 |
-
|
9 |
-
> img {
|
10 |
-
border-top-left-radius: calc(.5rem - 1px);
|
11 |
-
border-top-right-radius: calc(.5rem - 1px);
|
12 |
-
vertical-align: bottom;
|
13 |
-
height: 100%;
|
14 |
-
width: 100%;
|
15 |
-
}
|
16 |
-
}
|
17 |
-
|
18 |
-
&-body {
|
19 |
-
padding: 1.5rem;
|
20 |
-
}
|
21 |
-
|
22 |
-
&-title {
|
23 |
-
margin-top: 0;
|
24 |
-
margin-bottom: .75rem;
|
25 |
-
color: #151515;
|
26 |
-
font-size: 24px;
|
27 |
-
}
|
28 |
-
|
29 |
-
&-text {
|
30 |
-
margin-bottom: 2rem;
|
31 |
-
color: #616161;
|
32 |
-
font-size: 16px;
|
33 |
-
line-height: 1.7;
|
34 |
-
|
35 |
-
> p {
|
36 |
-
margin-top: 0;
|
37 |
-
margin-bottom: 0;
|
38 |
-
}
|
39 |
-
}
|
40 |
-
|
41 |
-
// Card variation
|
42 |
-
&--top {
|
43 |
-
.ha-card-figure {
|
44 |
-
display: inline-block;
|
45 |
-
}
|
46 |
-
}
|
47 |
-
|
48 |
-
&--right,
|
49 |
-
&--left {
|
50 |
-
@include widgetContainer {
|
51 |
-
display: flex;
|
52 |
-
flex-direction: row;
|
53 |
-
align-items: center;
|
54 |
-
}
|
55 |
-
|
56 |
-
.ha-card-figure {
|
57 |
-
flex: 0 0 50%;
|
58 |
-
max-width: 50%;
|
59 |
-
}
|
60 |
-
|
61 |
-
.ha-card-body {
|
62 |
-
padding: 2.5rem;
|
63 |
-
flex: 0 0 50%;
|
64 |
-
max-width: 50%;
|
65 |
-
}
|
66 |
-
}
|
67 |
-
|
68 |
-
&--left {
|
69 |
-
.ha-card-figure > img {
|
70 |
-
border-radius: calc(.5rem - 1px) 0 0 calc(.5rem - 1px);
|
71 |
-
}
|
72 |
-
}
|
73 |
-
|
74 |
-
&--right {
|
75 |
-
@include widgetContainer {
|
76 |
-
flex-direction: row-reverse;
|
77 |
-
text-align: right;
|
78 |
-
}
|
79 |
-
|
80 |
-
.ha-card-figure > img {
|
81 |
-
border-radius: 0 calc(.5rem - 1px) calc(.5rem - 1px) 0;
|
82 |
-
}
|
83 |
-
}
|
84 |
-
}
|
85 |
-
|
86 |
-
// Card label
|
87 |
-
.ha-card .ha-badge {
|
88 |
-
position: absolute;
|
89 |
-
}
|
90 |
-
|
91 |
-
.ha-badge {
|
92 |
-
background-color: #fff;
|
93 |
-
padding: .475rem 1.1rem;
|
94 |
-
border-radius: 50px;
|
95 |
-
font-size: 12px;
|
96 |
-
|
97 |
-
&--top-left {
|
98 |
-
left: 1rem;
|
99 |
-
top: 1rem;
|
100 |
-
}
|
101 |
-
|
102 |
-
&--top-center {
|
103 |
-
left: 50%;
|
104 |
-
transform: translateX(-50%);
|
105 |
-
top: 1rem;
|
106 |
-
}
|
107 |
-
|
108 |
-
&--top-right {
|
109 |
-
right: 1rem;
|
110 |
-
top: 1rem;
|
111 |
-
}
|
112 |
-
|
113 |
-
&--middle-left {
|
114 |
-
top: 50%;
|
115 |
-
transform: translateY(-50%);
|
116 |
-
left: 1rem;
|
117 |
-
}
|
118 |
-
|
119 |
-
&--middle-center {
|
120 |
-
left: 50%;
|
121 |
-
top: 50%;
|
122 |
-
transform: translate(-50%,-50%);
|
123 |
-
}
|
124 |
-
|
125 |
-
&--middle-right {
|
126 |
-
top: 50%;
|
127 |
-
transform: translateY(-50%);
|
128 |
-
right: 1rem;
|
129 |
-
}
|
130 |
-
|
131 |
-
&--bottom-left {
|
132 |
-
left: 1rem;
|
133 |
-
bottom: 1rem;
|
134 |
-
}
|
135 |
-
|
136 |
-
&--bottom-center {
|
137 |
-
left: 50%;
|
138 |
-
transform: translateX(-50%);
|
139 |
-
bottom: 1rem;
|
140 |
-
}
|
141 |
-
|
142 |
-
&--bottom-right {
|
143 |
-
right: 1rem;
|
144 |
-
bottom: 1rem;
|
145 |
-
}
|
146 |
-
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
assets/dev/sass/_common.scss
DELETED
@@ -1,28 +0,0 @@
|
|
1 |
-
.happy-addon {
|
2 |
-
box-sizing: border-box;
|
3 |
-
* {
|
4 |
-
box-sizing: border-box;
|
5 |
-
}
|
6 |
-
|
7 |
-
img {
|
8 |
-
max-width: 100%;
|
9 |
-
height: auto;
|
10 |
-
object-fit: cover;
|
11 |
-
}
|
12 |
-
|
13 |
-
p:empty {
|
14 |
-
display: none;
|
15 |
-
}
|
16 |
-
}
|
17 |
-
|
18 |
-
.ha-cf {
|
19 |
-
&:before,
|
20 |
-
&:after {
|
21 |
-
content: " ";
|
22 |
-
display: table;
|
23 |
-
}
|
24 |
-
|
25 |
-
&:after {
|
26 |
-
clear: both;
|
27 |
-
}
|
28 |
-
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
assets/dev/sass/_dual-btn.scss
DELETED
@@ -1,83 +0,0 @@
|
|
1 |
-
.ha-dual-btn{
|
2 |
-
position: relative;
|
3 |
-
display: inline-block;
|
4 |
-
&-link {
|
5 |
-
float: left;
|
6 |
-
position: relative;
|
7 |
-
.ha-dual-btn-link-primary{
|
8 |
-
background: #3266fd;
|
9 |
-
border: none;
|
10 |
-
color: #fff
|
11 |
-
}
|
12 |
-
.ha-dual-btn-link-secondary{
|
13 |
-
background: #27374c;
|
14 |
-
border: none;
|
15 |
-
color: #fff
|
16 |
-
}
|
17 |
-
a{
|
18 |
-
display: block;
|
19 |
-
vertical-align: middle;
|
20 |
-
overflow: hidden;
|
21 |
-
text-align: center;
|
22 |
-
position: relative;
|
23 |
-
transition: border-color ease .5s,background ease .5s,color ease .5s;
|
24 |
-
font-size: 14px;
|
25 |
-
font-weight: 400;
|
26 |
-
line-height: 1.428571429;
|
27 |
-
color: #7f7f7f;
|
28 |
-
border: 1px solid #e7e7e7;
|
29 |
-
background-color: #fff;
|
30 |
-
padding: 1.2rem 3rem;
|
31 |
-
text-transform: uppercase;
|
32 |
-
text-decoration: none;
|
33 |
-
box-sizing: initial;
|
34 |
-
border-radius: 50px;
|
35 |
-
i{
|
36 |
-
position: relative;
|
37 |
-
top: 3px;
|
38 |
-
}
|
39 |
-
}
|
40 |
-
|
41 |
-
}
|
42 |
-
|
43 |
-
&-link:first-child a{
|
44 |
-
border-top-right-radius: 0;
|
45 |
-
border-bottom-right-radius: 0;
|
46 |
-
border-right: none;
|
47 |
-
i {
|
48 |
-
float: left;
|
49 |
-
padding-right: 1rem;
|
50 |
-
}
|
51 |
-
}
|
52 |
-
&-link:last-child a{
|
53 |
-
border-top-left-radius: 0;
|
54 |
-
border-bottom-left-radius: 0;
|
55 |
-
i {
|
56 |
-
float: right;
|
57 |
-
padding-left: 1rem;
|
58 |
-
}
|
59 |
-
}
|
60 |
-
|
61 |
-
.ha-middle-text {
|
62 |
-
display: block;
|
63 |
-
position: absolute;
|
64 |
-
top: 50%;
|
65 |
-
right: 0;
|
66 |
-
transform: translate(50%,-50%);
|
67 |
-
height: 30px;
|
68 |
-
width: 30px;
|
69 |
-
line-height: 30px;
|
70 |
-
text-align: center;
|
71 |
-
background: #fff;
|
72 |
-
color: #7f7f7f;
|
73 |
-
box-sizing: content-box;
|
74 |
-
border-radius: 100%;
|
75 |
-
font-size: 12px;
|
76 |
-
//border: 5px solid rgba(255,255,255, .6);
|
77 |
-
box-shadow: 0 0 0 5px rgba(255,255,255,0.3);
|
78 |
-
font-weight: 400;
|
79 |
-
z-index: 12;
|
80 |
-
transition: border-color ease .5s,background ease .5s,color ease .5s;
|
81 |
-
text-transform: uppercase;
|
82 |
-
}
|
83 |
-
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
assets/dev/sass/_gallery-filter.scss
DELETED
@@ -1,39 +0,0 @@
|
|
1 |
-
.ha-gallery-filter {
|
2 |
-
list-style: none;
|
3 |
-
margin-bottom: 2rem;
|
4 |
-
padding: 0;
|
5 |
-
|
6 |
-
> li {
|
7 |
-
display: inline-block;
|
8 |
-
margin-right: 5px;
|
9 |
-
margin-bottom: 20px;
|
10 |
-
margin-left: 5px;
|
11 |
-
|
12 |
-
> button {
|
13 |
-
color: #000;
|
14 |
-
background-color: transparent;
|
15 |
-
text-transform: capitalize;
|
16 |
-
font-size: 16px;
|
17 |
-
border: 1px solid transparent;
|
18 |
-
padding: .3rem 1rem;
|
19 |
-
transition: all .3s;
|
20 |
-
cursor: pointer;
|
21 |
-
|
22 |
-
&:hover {
|
23 |
-
color: #b0b0b0;
|
24 |
-
border-color: #b0b0b0;
|
25 |
-
}
|
26 |
-
|
27 |
-
&:focus {
|
28 |
-
outline: 0;
|
29 |
-
}
|
30 |
-
}
|
31 |
-
}
|
32 |
-
|
33 |
-
> .ha-filter-active {
|
34 |
-
> button {
|
35 |
-
color: #b0b0b0;
|
36 |
-
border-color: #b0b0b0;
|
37 |
-
}
|
38 |
-
}
|
39 |
-
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
assets/dev/sass/_gradient-heading.scss
DELETED
@@ -1,9 +0,0 @@
|
|
1 |
-
.ha-gradient-heading {
|
2 |
-
margin-top: 0;
|
3 |
-
margin-bottom: 0;
|
4 |
-
|
5 |
-
> a {
|
6 |
-
color: inherit;
|
7 |
-
text-decoration: none;
|
8 |
-
}
|
9 |
-
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
assets/dev/sass/_icon-box.scss
DELETED
@@ -1,48 +0,0 @@
|
|
1 |
-
.ha-icon-box {
|
2 |
-
@extend %happyWidgetContainer;
|
3 |
-
|
4 |
-
@include widgetContainer {
|
5 |
-
position: relative;
|
6 |
-
padding: 1.25rem;
|
7 |
-
}
|
8 |
-
|
9 |
-
&-title {
|
10 |
-
margin-top: 0;
|
11 |
-
margin-bottom: 0;
|
12 |
-
color: #151515;
|
13 |
-
font-size: 24px;
|
14 |
-
|
15 |
-
transition: color .3s;
|
16 |
-
}
|
17 |
-
|
18 |
-
&-icon {
|
19 |
-
display: inline-block;
|
20 |
-
margin-bottom: 1rem;
|
21 |
-
font-size: 3rem;
|
22 |
-
text-align: center;
|
23 |
-
color: #151515;
|
24 |
-
|
25 |
-
transition: transform .3s, border .3s, background .3s, color .3s;
|
26 |
-
|
27 |
-
> i {
|
28 |
-
width: 1em;
|
29 |
-
height: 1em;
|
30 |
-
display: block;
|
31 |
-
|
32 |
-
transition: transform .3s;
|
33 |
-
}
|
34 |
-
}
|
35 |
-
|
36 |
-
&-link {
|
37 |
-
display: block;
|
38 |
-
text-decoration: none;
|
39 |
-
color: transparent;
|
40 |
-
}
|
41 |
-
|
42 |
-
.ha-badge {
|
43 |
-
position: absolute;
|
44 |
-
background-color: $secondary-color;
|
45 |
-
color: #fff;
|
46 |
-
z-index: 9999;
|
47 |
-
}
|
48 |
-
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
assets/dev/sass/_image-comparison.scss
DELETED
@@ -1,9 +0,0 @@
|
|
1 |
-
.ha-image-compare {
|
2 |
-
|
3 |
-
@extend %happyWidgetContainer;
|
4 |
-
|
5 |
-
.twentytwenty-container,
|
6 |
-
.twentytwenty-wrapper {
|
7 |
-
border-radius: inherit;
|
8 |
-
}
|
9 |
-
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
assets/dev/sass/_image-grid.scss
DELETED
@@ -1,184 +0,0 @@
|
|
1 |
-
.ha-image-grid {
|
2 |
-
&-item {
|
3 |
-
float: left;
|
4 |
-
}
|
5 |
-
|
6 |
-
&-link {
|
7 |
-
display: block;
|
8 |
-
text-decoration: none;
|
9 |
-
position: relative;
|
10 |
-
overflow: hidden;
|
11 |
-
margin: 10px;
|
12 |
-
|
13 |
-
&:focus {
|
14 |
-
outline: none;
|
15 |
-
}
|
16 |
-
|
17 |
-
img {
|
18 |
-
vertical-align: bottom;
|
19 |
-
transition: transform 0.25s linear;
|
20 |
-
}
|
21 |
-
|
22 |
-
&:hover {
|
23 |
-
img {
|
24 |
-
transform: scale(1.25);
|
25 |
-
}
|
26 |
-
|
27 |
-
.ha-image-grid {
|
28 |
-
&-overlay {
|
29 |
-
opacity: 1;
|
30 |
-
}
|
31 |
-
&-content {
|
32 |
-
opacity: 1;
|
33 |
-
&:before {
|
34 |
-
width: 80px;
|
35 |
-
}
|
36 |
-
}
|
37 |
-
}
|
38 |
-
}
|
39 |
-
}
|
40 |
-
|
41 |
-
&-overlay {
|
42 |
-
position: absolute;
|
43 |
-
top: 0;
|
44 |
-
right: 0;
|
45 |
-
bottom: 0;
|
46 |
-
left: 0;
|
47 |
-
opacity: 0;
|
48 |
-
background-color: rgba(0, 0, 0, .8);
|
49 |
-
padding: 30px;
|
50 |
-
transition: opacity .5s;
|
51 |
-
}
|
52 |
-
|
53 |
-
&-content {
|
54 |
-
position: absolute;
|
55 |
-
transition: opacity .5s;
|
56 |
-
color: #fff;
|
57 |
-
font-size: 16px;
|
58 |
-
width: 100%;
|
59 |
-
opacity: 0;
|
60 |
-
|
61 |
-
&:before {
|
62 |
-
content: '';
|
63 |
-
background: #fe413b;
|
64 |
-
width: 35px;
|
65 |
-
height: 1px;
|
66 |
-
position: absolute;
|
67 |
-
top: -15px;
|
68 |
-
transition: all .3s;
|
69 |
-
}
|
70 |
-
|
71 |
-
&--topleft {
|
72 |
-
top: 2.9rem;
|
73 |
-
left: 2rem;
|
74 |
-
text-align: left;
|
75 |
-
&:before {
|
76 |
-
left: 0;
|
77 |
-
}
|
78 |
-
}
|
79 |
-
|
80 |
-
&--topcenter {
|
81 |
-
top: 2.9rem;
|
82 |
-
left: 50%;
|
83 |
-
transform: translateX(-50%);
|
84 |
-
text-align: center;
|
85 |
-
&:before {
|
86 |
-
left: 50%;
|
87 |
-
transform: translateX(-50%);
|
88 |
-
}
|
89 |
-
}
|
90 |
-
|
91 |
-
&--topright {
|
92 |
-
top: 2.9rem;
|
93 |
-
right: 2rem;
|
94 |
-
text-align: right;
|
95 |
-
&:before {
|
96 |
-
right: 0;
|
97 |
-
}
|
98 |
-
}
|
99 |
-
|
100 |
-
&--bottomleft {
|
101 |
-
bottom: 2rem;
|
102 |
-
left: 2rem;
|
103 |
-
text-align: left;
|
104 |
-
&:before {
|
105 |
-
left: 0;
|
106 |
-
}
|
107 |
-
}
|
108 |
-
|
109 |
-
&--bottomcenter {
|
110 |
-
bottom: 2rem;
|
111 |
-
left: 50%;
|
112 |
-
transform: translateX(-50%);
|
113 |
-
text-align: center;
|
114 |
-
&:before {
|
115 |
-
left: 50%;
|
116 |
-
transform: translateX(-50%);
|
117 |
-
}
|
118 |
-
}
|
119 |
-
|
120 |
-
&--bottomright {
|
121 |
-
bottom: 2rem;
|
122 |
-
right: 2rem;
|
123 |
-
text-align: right;
|
124 |
-
&:before {
|
125 |
-
right: 0;
|
126 |
-
}
|
127 |
-
}
|
128 |
-
|
129 |
-
&--middleleft {
|
130 |
-
top: 50%;
|
131 |
-
transform: translateY(-50%);
|
132 |
-
left: 2rem;
|
133 |
-
text-align: left;
|
134 |
-
&:before {
|
135 |
-
left: 0;
|
136 |
-
}
|
137 |
-
}
|
138 |
-
|
139 |
-
&--middlecenter {
|
140 |
-
top: 50%;
|
141 |
-
transform: translateX(-50%);
|
142 |
-
left: 50%;
|
143 |
-
text-align: center;
|
144 |
-
&:before {
|
145 |
-
left: 50%;
|
146 |
-
transform: translateX(-50%);
|
147 |
-
}
|
148 |
-
}
|
149 |
-
|
150 |
-
&--middleright {
|
151 |
-
top: 50%;
|
152 |
-
transform: translateY(-50%);
|
153 |
-
right: 2rem;
|
154 |
-
text-align: right;
|
155 |
-
&:before {
|
156 |
-
right: 0;
|
157 |
-
}
|
158 |
-
}
|
159 |
-
}
|
160 |
-
|
161 |
-
&--col-2 {
|
162 |
-
.ha-image-grid-item {
|
163 |
-
width: 50%;
|
164 |
-
}
|
165 |
-
}
|
166 |
-
|
167 |
-
&--col-3 {
|
168 |
-
.ha-image-grid-item {
|
169 |
-
width: 33.33%;
|
170 |
-
}
|
171 |
-
}
|
172 |
-
|
173 |
-
&--col-4 {
|
174 |
-
.ha-image-grid-item {
|
175 |
-
width: 25%;
|
176 |
-
}
|
177 |
-
}
|
178 |
-
|
179 |
-
&--col-5 {
|
180 |
-
.ha-image-grid-item {
|
181 |
-
width: 20%;
|
182 |
-
}
|
183 |
-
}
|
184 |
-
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
assets/dev/sass/_infobox.scss
DELETED
@@ -1,48 +0,0 @@
|
|
1 |
-
.ha-infobox {
|
2 |
-
@extend %happyWidgetContainer;
|
3 |
-
|
4 |
-
@include widgetContainer {
|
5 |
-
padding: 1.5rem;
|
6 |
-
}
|
7 |
-
|
8 |
-
&-title {
|
9 |
-
margin-top: 0;
|
10 |
-
margin-bottom: 1rem;
|
11 |
-
color: #151515;
|
12 |
-
font-size: 24px;
|
13 |
-
}
|
14 |
-
|
15 |
-
&-figure {
|
16 |
-
display: inline-block;
|
17 |
-
margin: 0 0 1.5rem !important;
|
18 |
-
|
19 |
-
&--icon {
|
20 |
-
font-size: 3rem;
|
21 |
-
text-align: center;
|
22 |
-
}
|
23 |
-
|
24 |
-
> i {
|
25 |
-
width: 1em;
|
26 |
-
height: 1em;
|
27 |
-
position: relative;
|
28 |
-
display: block;
|
29 |
-
}
|
30 |
-
|
31 |
-
> img {
|
32 |
-
width: 100%;
|
33 |
-
height: 100%;
|
34 |
-
vertical-align: bottom;
|
35 |
-
}
|
36 |
-
}
|
37 |
-
|
38 |
-
&-text {
|
39 |
-
& + .ha-link {
|
40 |
-
margin-top: 1rem;
|
41 |
-
}
|
42 |
-
|
43 |
-
> p {
|
44 |
-
margin-top: 0;
|
45 |
-
margin-bottom: 0;
|
46 |
-
}
|
47 |
-
}
|
48 |
-
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
assets/dev/sass/_justified-gallery.scss
DELETED
@@ -1,48 +0,0 @@
|
|
1 |
-
.ha-justified-gallery-item {
|
2 |
-
transition: all .3s;
|
3 |
-
border-radius: 6px;
|
4 |
-
|
5 |
-
> img {
|
6 |
-
width: 100%;
|
7 |
-
transition: all 0.25s !important;
|
8 |
-
}
|
9 |
-
|
10 |
-
&:hover {
|
11 |
-
> img {
|
12 |
-
transform: scale(1.25);
|
13 |
-
}
|
14 |
-
}
|
15 |
-
}
|
16 |
-
|
17 |
-
//modified justified gallery css
|
18 |
-
.justified-gallery > a > .caption,
|
19 |
-
.justified-gallery > div > .caption,
|
20 |
-
.justified-gallery > figure > .caption{
|
21 |
-
padding: 10px;
|
22 |
-
}
|
23 |
-
|
24 |
-
.justified-gallery > a > .caption,
|
25 |
-
.justified-gallery > div > .caption,
|
26 |
-
.justified-gallery > figure > .caption {
|
27 |
-
bottom: -100px !important;
|
28 |
-
transition: all 0.25s !important;
|
29 |
-
animation: haSmoothReveal .3s forwards;
|
30 |
-
}
|
31 |
-
|
32 |
-
.justified-gallery > a > .caption.caption-visible,
|
33 |
-
.justified-gallery > div > .caption.caption-visible,
|
34 |
-
.justified-gallery > figure > .caption.caption-visible {
|
35 |
-
bottom: 0 !important;
|
36 |
-
}
|
37 |
-
|
38 |
-
@keyframes haSmoothReveal {
|
39 |
-
0% {
|
40 |
-
-webkit-transform: translateY(100px);
|
41 |
-
transform: translateY(100px)
|
42 |
-
}
|
43 |
-
|
44 |
-
to {
|
45 |
-
-webkit-transform: translateY(0);
|
46 |
-
transform: translateY(0)
|
47 |
-
}
|
48 |
-
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
assets/dev/sass/_link.scss
DELETED
@@ -1,23 +0,0 @@
|
|
1 |
-
.ha-link {
|
2 |
-
display: inline-block;
|
3 |
-
position: relative;
|
4 |
-
text-decoration: none;
|
5 |
-
color: #3ca6ff;
|
6 |
-
margin-right: 15px;
|
7 |
-
|
8 |
-
&:after {
|
9 |
-
font-family: "FontAwesome";
|
10 |
-
font-size: 15px;
|
11 |
-
position: absolute;
|
12 |
-
top: 2px;
|
13 |
-
right: -15px;
|
14 |
-
content: "\f105";
|
15 |
-
transition: all .3s;
|
16 |
-
}
|
17 |
-
|
18 |
-
&:hover {
|
19 |
-
&:after {
|
20 |
-
right: -25px;
|
21 |
-
}
|
22 |
-
}
|
23 |
-
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
assets/dev/sass/_logo-grid.scss
DELETED
@@ -1,97 +0,0 @@
|
|
1 |
-
.ha-logo-grid {
|
2 |
-
&-wrapper {
|
3 |
-
@extend .ha-cf;
|
4 |
-
}
|
5 |
-
|
6 |
-
&-item {
|
7 |
-
height: 180px;
|
8 |
-
float: left;
|
9 |
-
overflow: hidden;
|
10 |
-
padding: 30px;
|
11 |
-
border-color: #e7e7e7;
|
12 |
-
}
|
13 |
-
|
14 |
-
&-img {
|
15 |
-
object-fit: cover;
|
16 |
-
width: 100%;
|
17 |
-
}
|
18 |
-
|
19 |
-
@for $i from 2 through 6 {
|
20 |
-
&--col-#{$i} > &-item {
|
21 |
-
width: calc(100% / #{$i});
|
22 |
-
}
|
23 |
-
}
|
24 |
-
|
25 |
-
// TicTacToe style
|
26 |
-
&--tictactoe &-item {
|
27 |
-
border-width: 2px 2px 0 0;
|
28 |
-
border-style: solid;
|
29 |
-
}
|
30 |
-
|
31 |
-
@for $i from 2 through 6 {
|
32 |
-
&--tictactoe #{&}--col-#{$i} > &-item {
|
33 |
-
&:nth-child(#{$i}n) {
|
34 |
-
border-right-width: 0 !important;
|
35 |
-
}
|
36 |
-
|
37 |
-
&:nth-child(-n + #{$i}) {
|
38 |
-
border-top-width: 0 !important;
|
39 |
-
}
|
40 |
-
}
|
41 |
-
}
|
42 |
-
|
43 |
-
// Border style
|
44 |
-
&--border {
|
45 |
-
border-radius: .5rem;
|
46 |
-
}
|
47 |
-
|
48 |
-
&--border &-item {
|
49 |
-
border-width: 0 2px 2px 0;
|
50 |
-
border-style: solid;
|
51 |
-
|
52 |
-
&:first-child {
|
53 |
-
border-top-left-radius: 10px;
|
54 |
-
}
|
55 |
-
|
56 |
-
&:last-child {
|
57 |
-
border-bottom-right-radius: 10px;
|
58 |
-
}
|
59 |
-
}
|
60 |
-
|
61 |
-
@for $i from 2 through 6 {
|
62 |
-
&--border #{&}--col-#{$i} > &-item {
|
63 |
-
&:nth-child(-n + #{$i}) {
|
64 |
-
border-top-width: 3px;
|
65 |
-
}
|
66 |
-
|
67 |
-
&:nth-child(#{$i}n + 1) {
|
68 |
-
border-left-width: 3px;
|
69 |
-
}
|
70 |
-
|
71 |
-
&:nth-child(#{$i}) {
|
72 |
-
border-top-right-radius: 10px;
|
73 |
-
}
|
74 |
-
|
75 |
-
&:nth-last-child(#{$i}) {
|
76 |
-
border-bottom-left-radius: 10px;
|
77 |
-
}
|
78 |
-
}
|
79 |
-
}
|
80 |
-
|
81 |
-
&--box &-wrapper {
|
82 |
-
margin: -.5rem;
|
83 |
-
}
|
84 |
-
|
85 |
-
&--box &-item {
|
86 |
-
margin: .5rem;
|
87 |
-
border-radius: .5rem;
|
88 |
-
border-width: 2px;
|
89 |
-
border-style: solid;
|
90 |
-
}
|
91 |
-
|
92 |
-
@for $i from 2 through 6 {
|
93 |
-
&--box #{&}--col-#{$i} > &-item {
|
94 |
-
width: calc((100% / #{$i}) - 1rem);
|
95 |
-
}
|
96 |
-
}
|
97 |
-
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
assets/dev/sass/_member.scss
DELETED
@@ -1,61 +0,0 @@
|
|
1 |
-
.ha-member {
|
2 |
-
@extend %happyWidgetContainer;
|
3 |
-
|
4 |
-
@include widgetContainer {
|
5 |
-
padding: 1.25rem;
|
6 |
-
}
|
7 |
-
|
8 |
-
&-figure {
|
9 |
-
display: inline-block;
|
10 |
-
margin: 0 0 1.5rem !important;
|
11 |
-
|
12 |
-
img {
|
13 |
-
width: 100%;
|
14 |
-
height: 100%;
|
15 |
-
vertical-align: bottom;
|
16 |
-
}
|
17 |
-
}
|
18 |
-
|
19 |
-
&-name {
|
20 |
-
margin-top: 0;
|
21 |
-
margin-bottom: .5rem;
|
22 |
-
color: #151515;
|
23 |
-
font-size: 18px;
|
24 |
-
}
|
25 |
-
|
26 |
-
&-position {
|
27 |
-
color: #7f7f7f;
|
28 |
-
font-size: 14px;
|
29 |
-
margin-bottom: 1.5rem;
|
30 |
-
}
|
31 |
-
|
32 |
-
&-bio {
|
33 |
-
font-size: 14px;
|
34 |
-
line-height: 1.6;
|
35 |
-
margin-bottom: 1.5rem;
|
36 |
-
}
|
37 |
-
|
38 |
-
&-links {
|
39 |
-
> a {
|
40 |
-
color: #9895ad;
|
41 |
-
transition: all .2s;
|
42 |
-
text-align: center;
|
43 |
-
display: inline-block;
|
44 |
-
line-height: 1;
|
45 |
-
|
46 |
-
&:hover,
|
47 |
-
&:focus {
|
48 |
-
color: #222;
|
49 |
-
}
|
50 |
-
|
51 |
-
> i {
|
52 |
-
width: 1em;
|
53 |
-
height: 1em;
|
54 |
-
}
|
55 |
-
|
56 |
-
&:not(:last-child) {
|
57 |
-
margin-right: .3rem;
|
58 |
-
}
|
59 |
-
}
|
60 |
-
}
|
61 |
-
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
assets/dev/sass/_mixins.scss
DELETED
@@ -1,15 +0,0 @@
|
|
1 |
-
@mixin widgetContainer {
|
2 |
-
> .elementor-widget-container {
|
3 |
-
@content;
|
4 |
-
}
|
5 |
-
}
|
6 |
-
|
7 |
-
%happyWidgetContainer {
|
8 |
-
@include widgetContainer {
|
9 |
-
background-color: #fff;
|
10 |
-
box-shadow: 0 0.2rem 2.8rem rgba(36, 36, 36, .1);
|
11 |
-
word-wrap: break-word;
|
12 |
-
overflow-wrap: break-word;
|
13 |
-
border-radius: .5rem;
|
14 |
-
}
|
15 |
-
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
assets/dev/sass/_review.scss
DELETED
@@ -1,138 +0,0 @@
|
|
1 |
-
.ha-review {
|
2 |
-
@extend %happyWidgetContainer;
|
3 |
-
|
4 |
-
&-header {
|
5 |
-
margin-top: 1.5rem;
|
6 |
-
}
|
7 |
-
|
8 |
-
&-figure {
|
9 |
-
margin: 0;
|
10 |
-
|
11 |
-
> img {
|
12 |
-
border-radius: 50%;
|
13 |
-
vertical-align: bottom;
|
14 |
-
height: 100%;
|
15 |
-
width: 100%;
|
16 |
-
}
|
17 |
-
}
|
18 |
-
|
19 |
-
&-reviewer {
|
20 |
-
margin-top: 0;
|
21 |
-
margin-bottom: .3rem;
|
22 |
-
color: #151515;
|
23 |
-
font-size: 18px;
|
24 |
-
}
|
25 |
-
|
26 |
-
&-position {
|
27 |
-
color: #7f7f7f;
|
28 |
-
font-size: 15px;
|
29 |
-
margin-bottom: .5rem;
|
30 |
-
}
|
31 |
-
|
32 |
-
&-ratting {
|
33 |
-
display: inline-block;
|
34 |
-
font-size: 12px;
|
35 |
-
line-height: 1;
|
36 |
-
}
|
37 |
-
|
38 |
-
&-ratting--num {
|
39 |
-
background-color: #287dfe;
|
40 |
-
color: #fff;
|
41 |
-
padding: .25em .66em;
|
42 |
-
border-radius: 2.5em;
|
43 |
-
}
|
44 |
-
|
45 |
-
&-ratting--star {
|
46 |
-
display: inline-block;
|
47 |
-
color: #ffbf36;
|
48 |
-
font-family: "Fontawesome";
|
49 |
-
|
50 |
-
> span {
|
51 |
-
overflow: hidden;
|
52 |
-
position: relative;
|
53 |
-
height: 1em;
|
54 |
-
}
|
55 |
-
|
56 |
-
span > span {
|
57 |
-
padding-top: 1.5em;
|
58 |
-
overflow: hidden;
|
59 |
-
top: 0;
|
60 |
-
left: 0;
|
61 |
-
position: absolute;
|
62 |
-
}
|
63 |
-
|
64 |
-
span &:before,
|
65 |
-
span > span:before {
|
66 |
-
top: 0;
|
67 |
-
left: 0;
|
68 |
-
position: absolute;
|
69 |
-
}
|
70 |
-
|
71 |
-
span:before {
|
72 |
-
content: "\f006\f006\f006\f006\f006";
|
73 |
-
}
|
74 |
-
|
75 |
-
span > span:before {
|
76 |
-
content: "\f005\f005\f005\f005\f005";
|
77 |
-
}
|
78 |
-
}
|
79 |
-
|
80 |
-
&-desc {
|
81 |
-
margin-top: 1.5rem;
|
82 |
-
font-size: 16px;
|
83 |
-
line-height: 1.6;
|
84 |
-
|
85 |
-
p {
|
86 |
-
margin: 0;
|
87 |
-
}
|
88 |
-
}
|
89 |
-
|
90 |
-
&--top {
|
91 |
-
@include widgetContainer {
|
92 |
-
padding: 2rem;
|
93 |
-
}
|
94 |
-
|
95 |
-
.ha-review-figure {
|
96 |
-
display: inline-block;
|
97 |
-
max-width: 70px;
|
98 |
-
height: 70px;
|
99 |
-
}
|
100 |
-
}
|
101 |
-
|
102 |
-
&--left,
|
103 |
-
&--right {
|
104 |
-
@include widgetContainer {
|
105 |
-
display: flex;
|
106 |
-
flex-direction: row;
|
107 |
-
padding-left: 2rem;
|
108 |
-
align-items: center;
|
109 |
-
}
|
110 |
-
|
111 |
-
.ha-review {
|
112 |
-
&-figure {
|
113 |
-
flex: 0 0 150px;
|
114 |
-
max-width: 150px;
|
115 |
-
height: 150px;
|
116 |
-
}
|
117 |
-
|
118 |
-
&-body {
|
119 |
-
flex: 0 0 calc(100% - 150px);
|
120 |
-
max-width: calc(100% - 150px);
|
121 |
-
padding: 2rem;
|
122 |
-
|
123 |
-
> :first-child {
|
124 |
-
margin-top: 0;
|
125 |
-
}
|
126 |
-
}
|
127 |
-
}
|
128 |
-
}
|
129 |
-
|
130 |
-
&--right {
|
131 |
-
@include widgetContainer {
|
132 |
-
flex-direction: row-reverse;
|
133 |
-
padding-right: 2rem;
|
134 |
-
padding-left: 0;
|
135 |
-
text-align: right;
|
136 |
-
}
|
137 |
-
}
|
138 |
-
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
assets/dev/sass/_skills.scss
DELETED
@@ -1,69 +0,0 @@
|
|
1 |
-
.ha-skills {
|
2 |
-
@include widgetContainer {
|
3 |
-
padding-top: 1px;
|
4 |
-
}
|
5 |
-
}
|
6 |
-
|
7 |
-
.ha-skill {
|
8 |
-
display: flex;
|
9 |
-
font-size: .75rem;
|
10 |
-
background-color: #e9ecef;
|
11 |
-
|
12 |
-
&--outside,
|
13 |
-
&--inside {
|
14 |
-
.ha-skill-info {
|
15 |
-
font-size: 14px;
|
16 |
-
text-align: left;
|
17 |
-
}
|
18 |
-
|
19 |
-
.ha-skill-level-text {
|
20 |
-
float: right;
|
21 |
-
}
|
22 |
-
}
|
23 |
-
|
24 |
-
&--outside {
|
25 |
-
height: 2px;
|
26 |
-
|
27 |
-
.ha-skill-level {
|
28 |
-
position: relative;
|
29 |
-
}
|
30 |
-
|
31 |
-
.ha-skill-info {
|
32 |
-
position: absolute;
|
33 |
-
width: 100%;
|
34 |
-
top: -25px;
|
35 |
-
color: #242424;
|
36 |
-
}
|
37 |
-
}
|
38 |
-
|
39 |
-
&--inside {
|
40 |
-
height: 30px;
|
41 |
-
overflow: hidden;
|
42 |
-
border-radius: .3rem;
|
43 |
-
|
44 |
-
.ha-skill-info {
|
45 |
-
padding-right: 1rem;
|
46 |
-
padding-left: 1rem;
|
47 |
-
color: #fff;
|
48 |
-
}
|
49 |
-
}
|
50 |
-
|
51 |
-
&-level {
|
52 |
-
display: flex;
|
53 |
-
flex-direction: column;
|
54 |
-
justify-content: center;
|
55 |
-
color: #fff;
|
56 |
-
text-align: center;
|
57 |
-
white-space: nowrap;
|
58 |
-
background-color: #007bff;
|
59 |
-
transition: width .6s ease;
|
60 |
-
}
|
61 |
-
|
62 |
-
&--outside {
|
63 |
-
margin-top: 40px;
|
64 |
-
}
|
65 |
-
|
66 |
-
&--inside:not(:first-child) {
|
67 |
-
margin-top: 20px;
|
68 |
-
}
|
69 |
-
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
assets/dev/sass/_slider-carousel.scss
DELETED
@@ -1,110 +0,0 @@
|
|
1 |
-
.ha-slider,
|
2 |
-
.ha-carousel {
|
3 |
-
.slick-prev,
|
4 |
-
.slick-next {
|
5 |
-
color: #8c8c8c;
|
6 |
-
background-color: rgba(255,255,255,.8);
|
7 |
-
border: 1px solid rgba(255,255,255,.8);
|
8 |
-
font-size: 12px;
|
9 |
-
text-align: center;
|
10 |
-
border-radius: 50%;
|
11 |
-
z-index: 999;
|
12 |
-
opacity: 1;
|
13 |
-
padding: 0;
|
14 |
-
|
15 |
-
&:hover,
|
16 |
-
&:focus {
|
17 |
-
background-color: white;
|
18 |
-
}
|
19 |
-
|
20 |
-
&:before {
|
21 |
-
content: '';
|
22 |
-
}
|
23 |
-
}
|
24 |
-
|
25 |
-
.slick-disabled {
|
26 |
-
opacity: .7;
|
27 |
-
}
|
28 |
-
|
29 |
-
.slick-prev {
|
30 |
-
left: 25px;
|
31 |
-
}
|
32 |
-
|
33 |
-
.slick-next {
|
34 |
-
right: 25px;
|
35 |
-
}
|
36 |
-
|
37 |
-
.slick-dots {
|
38 |
-
bottom: -40px;
|
39 |
-
|
40 |
-
li {
|
41 |
-
margin-left: 2px;
|
42 |
-
margin-right: 2px;
|
43 |
-
}
|
44 |
-
|
45 |
-
li button:before {
|
46 |
-
color: #1b1b1b;
|
47 |
-
opacity: 1;
|
48 |
-
}
|
49 |
-
|
50 |
-
li button:hover:before,
|
51 |
-
.slick-active button:before {
|
52 |
-
transform: scale(1.5);
|
53 |
-
}
|
54 |
-
}
|
55 |
-
}
|
56 |
-
|
57 |
-
.ha-carousel {
|
58 |
-
.slick-prev,
|
59 |
-
.slick-next {
|
60 |
-
width: 40px;
|
61 |
-
height: 40px;
|
62 |
-
line-height: 40px;
|
63 |
-
}
|
64 |
-
}
|
65 |
-
|
66 |
-
.ha-slider {
|
67 |
-
.slick-prev,
|
68 |
-
.slick-next {
|
69 |
-
width: 50px;
|
70 |
-
height: 50px;
|
71 |
-
line-height: 50px;
|
72 |
-
}
|
73 |
-
}
|
74 |
-
|
75 |
-
.ha-carousel {
|
76 |
-
.slick-slide > div {
|
77 |
-
padding-left: 5px;
|
78 |
-
padding-right: 5px;
|
79 |
-
}
|
80 |
-
.slick-slide > div + div {
|
81 |
-
padding-top: 10px;
|
82 |
-
}
|
83 |
-
}
|
84 |
-
|
85 |
-
.ha-slider {
|
86 |
-
&-item {
|
87 |
-
position: relative;
|
88 |
-
vertical-align: bottom;
|
89 |
-
}
|
90 |
-
|
91 |
-
&-content {
|
92 |
-
position: absolute;
|
93 |
-
bottom: 0;
|
94 |
-
padding: 1.5rem;
|
95 |
-
background: linear-gradient(rgba(0,0,0,0), rgba(0,0,0,0.3));
|
96 |
-
width: 100%;
|
97 |
-
}
|
98 |
-
|
99 |
-
&-title {
|
100 |
-
font-size: 20px;
|
101 |
-
margin-top: 0;
|
102 |
-
margin-bottom: .2rem;
|
103 |
-
color: #fff;
|
104 |
-
}
|
105 |
-
|
106 |
-
&-subtitle {
|
107 |
-
margin: 0;
|
108 |
-
color: #fff;
|
109 |
-
}
|
110 |
-
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
assets/dev/sass/_testimonial.scss
DELETED
@@ -1,89 +0,0 @@
|
|
1 |
-
.ha-testimonial{
|
2 |
-
&:before {
|
3 |
-
visibility: hidden;
|
4 |
-
height: 0;
|
5 |
-
display: block;
|
6 |
-
clear: both;
|
7 |
-
}
|
8 |
-
&-info{
|
9 |
-
background-color: #fff;
|
10 |
-
box-shadow: 0 0.2rem 2.8rem rgba(36, 36, 36, .1);
|
11 |
-
border-radius: 6px;
|
12 |
-
line-height: 1.6rem;
|
13 |
-
}
|
14 |
-
|
15 |
-
&-thumb{
|
16 |
-
display: inline-block;
|
17 |
-
width: 65px;
|
18 |
-
height: auto;
|
19 |
-
img{
|
20 |
-
width: 100%;
|
21 |
-
height: auto;
|
22 |
-
border-radius: 50%;
|
23 |
-
}
|
24 |
-
}
|
25 |
-
&-author{
|
26 |
-
font-size: 18px;
|
27 |
-
font-weight: bold;
|
28 |
-
color: #242424;
|
29 |
-
}
|
30 |
-
&-designation{
|
31 |
-
font-size: 16px;
|
32 |
-
color: #8c8c8c;
|
33 |
-
}
|
34 |
-
}
|
35 |
-
|
36 |
-
// left align
|
37 |
-
.ha-position--left {
|
38 |
-
.ha-testimonial-media{
|
39 |
-
display: block;
|
40 |
-
text-align: left;
|
41 |
-
}
|
42 |
-
.ha-testimonial-media-body{
|
43 |
-
flex: 1;
|
44 |
-
}
|
45 |
-
.ha-testimonial-thumb{
|
46 |
-
margin-right: 1rem;
|
47 |
-
}
|
48 |
-
.ha-testimonial-info {
|
49 |
-
text-align: left;
|
50 |
-
}
|
51 |
-
}
|
52 |
-
|
53 |
-
.ha-position--center {
|
54 |
-
.ha-testimonial-media{
|
55 |
-
display: block;
|
56 |
-
text-align: center;
|
57 |
-
}
|
58 |
-
.ha-testimonial-thumb{
|
59 |
-
margin-right: 0;
|
60 |
-
}
|
61 |
-
.ha-testimonial-media-body{
|
62 |
-
align-self: center;
|
63 |
-
}
|
64 |
-
.ha-testimonial-info {
|
65 |
-
text-align: center;
|
66 |
-
}
|
67 |
-
}
|
68 |
-
|
69 |
-
|
70 |
-
// right align
|
71 |
-
|
72 |
-
.ha-position--right {
|
73 |
-
.ha-testimonial-media{
|
74 |
-
display: block;
|
75 |
-
text-align: right;
|
76 |
-
}
|
77 |
-
.ha-testimonial-media-body{
|
78 |
-
flex: 1;
|
79 |
-
}
|
80 |
-
.ha-testimonial-thumb{
|
81 |
-
margin-left: 1rem;
|
82 |
-
}
|
83 |
-
.ha-testimonial-media-body{
|
84 |
-
align-self: center;
|
85 |
-
}
|
86 |
-
.ha-testimonial-info {
|
87 |
-
text-align: right;
|
88 |
-
}
|
89 |
-
}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
assets/dev/sass/_variables.scss
DELETED
@@ -1,2 +0,0 @@
|
|
1 |
-
$primary-color: #562dd4;
|
2 |
-
$secondary-color: #e2498a;
|
Â
|
|
Â
|
assets/dev/sass/main.scss
DELETED
@@ -1,21 +0,0 @@
|
|
1 |
-
@import "variables";
|
2 |
-
|
3 |
-
@import "mixins";
|
4 |
-
@import "common";
|
5 |
-
@import "btn";
|
6 |
-
@import "link";
|
7 |
-
@import "card";
|
8 |
-
@import "infobox";
|
9 |
-
@import "icon-box";
|
10 |
-
@import "member";
|
11 |
-
@import "review";
|
12 |
-
@import "image-comparison";
|
13 |
-
//@import "gallery-filter";
|
14 |
-
//@import "image-grid";
|
15 |
-
//@import "justified-gallery";
|
16 |
-
//@import "slider-carousel";
|
17 |
-
@import "skills";
|
18 |
-
@import "gradient-heading";
|
19 |
-
//@import "logo-grid";
|
20 |
-
//@import "dual-btn";
|
21 |
-
//@import "testimonial";
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
assets/vendor/twentytwenty/.gitignore
DELETED
@@ -1,5 +0,0 @@
|
|
1 |
-
*.DS_Store
|
2 |
-
.sass-cache/*
|
3 |
-
components/*
|
4 |
-
*.old
|
5 |
-
node_modules
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
base.php
CHANGED
@@ -10,7 +10,7 @@ defined( 'ABSPATH' ) || die();
|
|
10 |
Â
|
11 |
Â
class Base {
|
12 |
Â
|
13 |
-
const VERSION = '1.0.
|
14 |
Â
|
15 |
Â
const MINIMUM_ELEMENTOR_VERSION = '2.0.0';
|
16 |
Â
|
10 |
Â
|
11 |
Â
class Base {
|
12 |
Â
|
13 |
+
const VERSION = '1.0.2';
|
14 |
Â
|
15 |
Â
const MINIMUM_ELEMENTOR_VERSION = '2.0.0';
|
16 |
Â
|
base/widget-base.php
CHANGED
@@ -83,32 +83,6 @@ abstract class Base extends Widget_Base {
|
|
83 |
Â
]
|
84 |
Â
);
|
85 |
Â
|
86 |
-
$this->add_control(
|
87 |
-
'_design_notes',
|
88 |
-
[
|
89 |
-
'type' => Controls_Manager::RAW_HTML,
|
90 |
-
'raw' => sprintf(
|
91 |
-
__( 'We know how bad you feel when you see the same design over and over again across the web. You don\'t have to feel that way anymore. %sJoin us and experience the exception.%s', 'plugin-name' ),
|
92 |
-
'<a href="https://fb.me/obiPlabon" target="_blank">',
|
93 |
-
'</a>'
|
94 |
-
),
|
95 |
-
'content_classes' => 'elementor-panel-alert elementor-panel-alert-info',
|
96 |
-
]
|
97 |
-
);
|
98 |
-
|
99 |
-
if ( empty( $this->get_skins() ) ) {
|
100 |
-
$this->add_control(
|
101 |
-
'_skin',
|
102 |
-
[
|
103 |
-
'label' => __( 'Skin', 'happy_addons' ),
|
104 |
-
'type' => 'select',
|
105 |
-
'options' => ['' => __( 'Default', 'happy_addons' )],
|
106 |
-
'default' => '',
|
107 |
-
'render_type' => 'none'
|
108 |
-
]
|
109 |
-
);
|
110 |
-
}
|
111 |
-
|
112 |
Â
$this->end_controls_section();
|
113 |
Â
}
|
114 |
Â
|
83 |
Â
]
|
84 |
Â
);
|
85 |
Â
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
86 |
Â
$this->end_controls_section();
|
87 |
Â
}
|
88 |
Â
|
classes/asset-manager.php
CHANGED
@@ -35,7 +35,7 @@ class Asset_Manager {
|
|
35 |
Â
* Enqueue frontend scripts
|
36 |
Â
*/
|
37 |
Â
public function enqueue_frontend_scripts() {
|
38 |
-
$suffix = ha_is_script_debug_enabled() ? '.
|
39 |
Â
|
40 |
Â
wp_enqueue_style(
|
41 |
Â
'happy-icon',
|
@@ -115,6 +115,14 @@ class Asset_Manager {
|
|
115 |
Â
true
|
116 |
Â
);
|
117 |
Â
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
118 |
Â
}
|
119 |
Â
|
120 |
Â
public function enqueue_preview_style() {
|
35 |
Â
* Enqueue frontend scripts
|
36 |
Â
*/
|
37 |
Â
public function enqueue_frontend_scripts() {
|
38 |
+
$suffix = ha_is_script_debug_enabled() ? '.' : '.';
|
39 |
Â
|
40 |
Â
wp_enqueue_style(
|
41 |
Â
'happy-icon',
|
115 |
Â
true
|
116 |
Â
);
|
117 |
Â
|
118 |
+
wp_localize_script(
|
119 |
+
'happy-elementor-addons-admin',
|
120 |
+
'happy',
|
121 |
+
[
|
122 |
+
'ajax_url' => admin_url( 'admin-ajax.php' ),
|
123 |
+
'nonce' => wp_create_nonce( 'ha_get_preset' ),
|
124 |
+
]
|
125 |
+
);
|
126 |
Â
}
|
127 |
Â
|
128 |
Â
public function enqueue_preview_style() {
|
classes/widget-manager.php
CHANGED
@@ -396,6 +396,7 @@ class Widget_Manager {
|
|
396 |
Â
'skills',
|
397 |
Â
'gradient-heading',
|
398 |
Â
'wpform',
|
Â
|
|
399 |
Â
'calderaform',
|
400 |
Â
'weform',
|
401 |
Â
];
|
396 |
Â
'skills',
|
397 |
Â
'gradient-heading',
|
398 |
Â
'wpform',
|
399 |
+
'ninjaform',
|
400 |
Â
'calderaform',
|
401 |
Â
'weform',
|
402 |
Â
];
|
plugin.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Â
* Plugin Name: Happy Elementor Addons
|
4 |
Â
* Plugin URI: http://happymonster.me/plugins/happy-addons-elementor
|
5 |
Â
* Description: Best Addons for Elementor
|
6 |
-
* Version: 1.0.
|
7 |
Â
* Author: HappyMonster
|
8 |
Â
* Author URI: http://happymonster.me/
|
9 |
Â
* License: GPLv2
|
3 |
Â
* Plugin Name: Happy Elementor Addons
|
4 |
Â
* Plugin URI: http://happymonster.me/plugins/happy-addons-elementor
|
5 |
Â
* Description: Best Addons for Elementor
|
6 |
+
* Version: 1.0.2
|
7 |
Â
* Author: HappyMonster
|
8 |
Â
* Author URI: http://happymonster.me/
|
9 |
Â
* License: GPLv2
|
readme.txt
CHANGED
@@ -1,6 +1,6 @@
|
|
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
|
@@ -8,7 +8,7 @@ Tags: elementor, card, blurb, contact form 7, icon box, widget, page builder
|
|
8 |
Â
Requires at least: 4.5
|
9 |
Â
Tested up to: 5.2.1
|
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 |
Â
|
@@ -16,22 +16,36 @@ Most advanced, highly customizable, flexible and easy-to-use widgets for Element
|
|
16 |
Â
|
17 |
Â
== Description ==
|
18 |
Â
|
19 |
-
|
20 |
-
|
21 |
-
###
|
22 |
-
|
23 |
-
1. Card
|
24 |
-
2. Gradient Heading
|
25 |
-
3. Info Box
|
26 |
-
4. Icon Box
|
27 |
-
5. Image Compare
|
28 |
-
6. Member
|
29 |
-
7. Review
|
30 |
-
8. Skill Bars
|
31 |
-
9. Contact Form 7
|
32 |
-
10. Caldera Form
|
33 |
-
11. We Forms
|
34 |
-
12.
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
35 |
Â
|
36 |
Â
== Installation ==
|
37 |
Â
|
@@ -50,6 +64,12 @@ It's really easy and super simple to install **Happy Elementor Addons** plugin b
|
|
50 |
Â
|
51 |
Â
== Changelog ==
|
52 |
Â
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
53 |
Â
= 1.0.1 =
|
54 |
Â
|
55 |
Â
* Fix: Some minor issues
|
@@ -68,7 +88,7 @@ It's really easy and super simple to install **Happy Elementor Addons** plugin b
|
|
68 |
Â
* New: Caldera Form Widget
|
69 |
Â
* New: We Forms Widget
|
70 |
Â
* New: WP Forms Widget
|
71 |
-
* New:
|
72 |
Â
* Update: Plugin structure
|
73 |
Â
* Update: Widgets CSS
|
74 |
Â
* Fix: Card layout issue
|
1 |
Â
=== Happy Elementor Addons ===
|
2 |
Â
Plugin Name: Happy Elementor Addons
|
3 |
+
Version: 1.0.2
|
4 |
Â
Author: HappyMonster
|
5 |
Â
Author URI: http://happymonster.me/
|
6 |
Â
Contributors: thehappymonster, happyaddons, hasinhayder, obiplabon, sourav926
|
8 |
Â
Requires at least: 4.5
|
9 |
Â
Tested up to: 5.2.1
|
10 |
Â
Requires PHP: 5.4
|
11 |
+
Stable tag: 1.0.2
|
12 |
Â
License: GPLv2
|
13 |
Â
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
14 |
Â
|
16 |
Â
|
17 |
Â
== Description ==
|
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 |
+
### Check The Demos
|
22 |
+
|
23 |
+
1. [Card](https://happyaddons.com/elementor-card-widget-demo/)
|
24 |
+
2. [Gradient Heading](https://happyaddons.com/elementor-gradient-heading-widget-demo/)
|
25 |
+
3. [Info Box](https://happyaddons.com/elementor-info-box-widget-demo/)
|
26 |
+
4. [Icon Box](https://happyaddons.com/elementor-icon-box-widget-demo/)
|
27 |
+
5. [Image Compare](https://happyaddons.com/elementor-image-compare-widget-demo/)
|
28 |
+
6. [Member](https://happyaddons.com/elementor-team-member-widget-demo/)
|
29 |
+
7. [Review](https://happyaddons.com/elementor-review-widget-demo/)
|
30 |
+
8. [Skill Bars](https://happyaddons.com/elementor-skill-bars-widget-demo/)
|
31 |
+
9. [Contact Form 7](https://happyaddons.com/elementor-contact-form-7-widget-demo/)
|
32 |
+
10. [Caldera Form](https://happyaddons.com/elementor-caldera-forms-widget-demo/)
|
33 |
+
11. [We Forms](https://happyaddons.com/elementor-we-forms-widget-demo/)
|
34 |
+
12. [Ninja Forms](https://happyaddons.com/elementor-ninja-form-widget-demo/)
|
35 |
+
|
36 |
+
### Features
|
37 |
+
|
38 |
+
The widgets in [HappyAddons](https://happyaddons.com/) are well tested on different devices to give you the best responsive output. Our code doesn’t stink and we don’t leave you blind folded when you need support from us. Before jumping into the details, let’s have a look at the features at a glance
|
39 |
+
|
40 |
+
* Just because it’s free, we don’t compromise with the quality at all. You’re still getting the same carefully crafted collection of widgets that you get elsewhere which comes for a price
|
41 |
+
* Responsive and tested on different screens to ensure it doesn’t break
|
42 |
+
* Compatible with almost every themes out there. In case of any exception, let us know and we will fix it for you
|
43 |
+
* Comes with demo designs so that you can quickly copy the styles without spending too much to design everything from scratch
|
44 |
+
* Ever growing, which means that we’re constantly adding new features and widgets to this collection every week
|
45 |
+
* Comes with excellent support, and that is sweet. If you don’t understand a feature, or fail to give it a desired look which was already demonstrated in a demo, or it’s not working as expected - we got your back. Just drop us a line and we will do our best to help you figure a way out.
|
46 |
+
* Lightweight and fast. The widgets are carefully designed to remain fat-less and bloat free. We understand how important it is to serve your page faster and we took extra care for that
|
47 |
+
* Comes with cohesive elements, which means that these widgets are so customizable that you can easily fit them in your existing designs, and they work nicely together with each other without making anything look bad.
|
48 |
+
* [HappyAddons](https://happyaddons.com/) brings you some powerful features to the built-in motion effects section that helps you to animate and rotate objects on their x-axis, y-axis, and z-axis like never seen before, and brings lovely effects to help your websites stand out from others.
|
49 |
Â
|
50 |
Â
== Installation ==
|
51 |
Â
|
64 |
Â
|
65 |
Â
== Changelog ==
|
66 |
Â
|
67 |
+
= 1.0.2 =
|
68 |
+
|
69 |
+
* Update: Floating effects settings
|
70 |
+
* Update: Info box link updated to button
|
71 |
+
* Fix: Some minor styling issues
|
72 |
+
|
73 |
Â
= 1.0.1 =
|
74 |
Â
|
75 |
Â
* Fix: Some minor issues
|
88 |
Â
* New: Caldera Form Widget
|
89 |
Â
* New: We Forms Widget
|
90 |
Â
* New: WP Forms Widget
|
91 |
+
* New: Floating effects (check motion effect panel)
|
92 |
Â
* Update: Plugin structure
|
93 |
Â
* Update: Widgets CSS
|
94 |
Â
* Fix: Card layout issue
|
widgets/card/widget.php
CHANGED
@@ -280,11 +280,6 @@ class Card extends Base {
|
|
280 |
Â
[
|
281 |
Â
'label' => __( 'Icon Spacing', 'happy_addons' ),
|
282 |
Â
'type' => Controls_Manager::SLIDER,
|
283 |
-
'range' => [
|
284 |
-
'px' => [
|
285 |
-
'max' => 50,
|
286 |
-
],
|
287 |
-
],
|
288 |
Â
'condition' => [
|
289 |
Â
'button_icon!' => '',
|
290 |
Â
],
|
@@ -912,7 +907,7 @@ class Card extends Base {
|
|
912 |
Â
$this->add_render_attribute( 'button', 'target', '_blank' );
|
913 |
Â
}
|
914 |
Â
if ( ! empty( $settings['button_link']['nofollow'] ) ) {
|
915 |
-
$this->
|
916 |
Â
}
|
917 |
Â
?>
|
918 |
Â
|
@@ -1044,8 +1039,7 @@ class Card extends Base {
|
|
1044 |
Â
view.addRenderAttribute( 'button', 'class', 'ha-btn--icon-after' );
|
1045 |
Â
var button_after = '<i class="ha-btn-icon ' + settings.button_icon + '"></i>';
|
1046 |
Â
var button_before = '<span ' + view.getRenderAttributeString( 'button_text' ) + '>' + settings.button_text + '</span>';
|
1047 |
-
}
|
1048 |
-
#>
|
1049 |
Â
<a {{{ view.getRenderAttributeString( 'button' ) }}}>{{{ button_before }}} {{{ button_after }}}</a>
|
1050 |
Â
<# } #>
|
1051 |
Â
</div>
|
280 |
Â
[
|
281 |
Â
'label' => __( 'Icon Spacing', 'happy_addons' ),
|
282 |
Â
'type' => Controls_Manager::SLIDER,
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
283 |
Â
'condition' => [
|
284 |
Â
'button_icon!' => '',
|
285 |
Â
],
|
907 |
Â
$this->add_render_attribute( 'button', 'target', '_blank' );
|
908 |
Â
}
|
909 |
Â
if ( ! empty( $settings['button_link']['nofollow'] ) ) {
|
910 |
+
$this->add_render_attribute( 'button', 'rel', 'nofollow' );
|
911 |
Â
}
|
912 |
Â
?>
|
913 |
Â
|
1039 |
Â
view.addRenderAttribute( 'button', 'class', 'ha-btn--icon-after' );
|
1040 |
Â
var button_after = '<i class="ha-btn-icon ' + settings.button_icon + '"></i>';
|
1041 |
Â
var button_before = '<span ' + view.getRenderAttributeString( 'button_text' ) + '>' + settings.button_text + '</span>';
|
1042 |
+
} #>
|
Â
|
|
1043 |
Â
<a {{{ view.getRenderAttributeString( 'button' ) }}}>{{{ button_before }}} {{{ button_after }}}</a>
|
1044 |
Â
<# } #>
|
1045 |
Â
</div>
|
widgets/gradient-heading/widget.php
CHANGED
@@ -37,7 +37,7 @@ class Gradient_Heading extends Base {
|
|
37 |
Â
* @return string Widget icon.
|
38 |
Â
*/
|
39 |
Â
public function get_icon() {
|
40 |
-
return 'hm hm-
|
41 |
Â
}
|
42 |
Â
|
43 |
Â
public function get_keywords() {
|
37 |
Â
* @return string Widget icon.
|
38 |
Â
*/
|
39 |
Â
public function get_icon() {
|
40 |
+
return 'hm hm-drag';
|
41 |
Â
}
|
42 |
Â
|
43 |
Â
public function get_keywords() {
|
widgets/infobox/widget.php
CHANGED
@@ -228,9 +228,9 @@ class InfoBox extends Base {
|
|
228 |
Â
$this->end_controls_section();
|
229 |
Â
|
230 |
Â
$this->start_controls_section(
|
231 |
-
'
|
232 |
Â
[
|
233 |
-
'label' => __( '
|
234 |
Â
'tab' => Controls_Manager::TAB_CONTENT,
|
235 |
Â
]
|
236 |
Â
);
|
@@ -240,22 +240,73 @@ class InfoBox extends Base {
|
|
240 |
Â
[
|
241 |
Â
'label' => __( 'Text', 'happy_addons' ),
|
242 |
Â
'type' => Controls_Manager::TEXT,
|
Â
|
|
Â
|
|
243 |
Â
'label_block' => true,
|
244 |
-
'default' => __( 'Link Text', 'happy_addons' ),
|
245 |
-
'placeholder' => __( 'Type Link Text', 'happy_addons' ),
|
246 |
Â
]
|
247 |
Â
);
|
248 |
Â
|
249 |
Â
$this->add_control(
|
250 |
Â
'button_link',
|
251 |
Â
[
|
252 |
-
'label' => __( '
|
253 |
Â
'type' => Controls_Manager::URL,
|
254 |
-
'label_block' => true,
|
255 |
Â
'placeholder' => __( 'https://example.com/', 'happy_addons' ),
|
256 |
Â
]
|
257 |
Â
);
|
258 |
Â
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
259 |
Â
$this->end_controls_section();
|
260 |
Â
}
|
261 |
Â
|
@@ -646,9 +697,9 @@ class InfoBox extends Base {
|
|
646 |
Â
$this->end_controls_section();
|
647 |
Â
|
648 |
Â
$this->start_controls_section(
|
649 |
-
'
|
650 |
Â
[
|
651 |
-
'label' => __( '
|
652 |
Â
'tab' => Controls_Manager::TAB_STYLE,
|
653 |
Â
]
|
654 |
Â
);
|
@@ -660,7 +711,7 @@ class InfoBox extends Base {
|
|
660 |
Â
'type' => Controls_Manager::DIMENSIONS,
|
661 |
Â
'size_units' => [ 'px', 'em', '%' ],
|
662 |
Â
'selectors' => [
|
663 |
-
'{{WRAPPER}} .ha-
|
664 |
Â
],
|
665 |
Â
]
|
666 |
Â
);
|
@@ -669,15 +720,51 @@ class InfoBox extends Base {
|
|
669 |
Â
Group_Control_Typography::get_type(),
|
670 |
Â
[
|
671 |
Â
'name' => 'btn_typography',
|
672 |
-
'selector' => '{{WRAPPER}} .ha-
|
673 |
Â
'scheme' => Scheme_Typography::TYPOGRAPHY_4,
|
674 |
Â
]
|
675 |
Â
);
|
676 |
Â
|
677 |
-
$this->
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
678 |
Â
|
679 |
Â
$this->start_controls_tab(
|
680 |
-
'
|
681 |
Â
[
|
682 |
Â
'label' => __( 'Normal', 'happy_addons' ),
|
683 |
Â
]
|
@@ -690,7 +777,36 @@ class InfoBox extends Base {
|
|
690 |
Â
'type' => Controls_Manager::COLOR,
|
691 |
Â
'default' => '',
|
692 |
Â
'selectors' => [
|
693 |
-
'{{WRAPPER}} .ha-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
694 |
Â
],
|
695 |
Â
]
|
696 |
Â
);
|
@@ -698,7 +814,7 @@ class InfoBox extends Base {
|
|
698 |
Â
$this->end_controls_tab();
|
699 |
Â
|
700 |
Â
$this->start_controls_tab(
|
701 |
-
'
|
702 |
Â
[
|
703 |
Â
'label' => __( 'Hover', 'happy_addons' ),
|
704 |
Â
]
|
@@ -710,7 +826,53 @@ class InfoBox extends Base {
|
|
710 |
Â
'label' => __( 'Text Color', 'happy_addons' ),
|
711 |
Â
'type' => Controls_Manager::COLOR,
|
712 |
Â
'selectors' => [
|
713 |
-
'{{WRAPPER}} .ha-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
714 |
Â
],
|
715 |
Â
]
|
716 |
Â
);
|
@@ -731,15 +893,15 @@ class InfoBox extends Base {
|
|
731 |
Â
$this->add_render_attribute( 'description', 'class', 'ha-infobox-text' );
|
732 |
Â
|
733 |
Â
$this->add_inline_editing_attributes( 'button_text', 'none' );
|
734 |
-
$this->add_render_attribute( 'button_text', 'class', 'ha-
|
735 |
Â
|
736 |
-
$this->add_render_attribute( '
|
Â
|
|
737 |
Â
if ( ! empty( $settings['button_link']['is_external'] ) ) {
|
738 |
-
$this->add_render_attribute( '
|
739 |
Â
}
|
740 |
-
|
741 |
Â
if ( ! empty( $settings['button_link']['nofollow'] ) ) {
|
742 |
-
$this->set_render_attribute( '
|
743 |
Â
}
|
744 |
Â
?>
|
745 |
Â
|
@@ -777,12 +939,34 @@ class InfoBox extends Base {
|
|
777 |
Â
</div>
|
778 |
Â
<?php endif; ?>
|
779 |
Â
|
780 |
-
<?php
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
781 |
Â
printf( '<a %1$s>%2$s</a>',
|
782 |
-
$this->get_render_attribute_string( '
|
783 |
-
|
784 |
Â
);
|
785 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
786 |
Â
</div>
|
787 |
Â
<?php
|
788 |
Â
}
|
@@ -797,8 +981,10 @@ class InfoBox extends Base {
|
|
797 |
Â
view.addRenderAttribute( 'description', 'class', 'ha-infobox-text' );
|
798 |
Â
|
799 |
Â
view.addInlineEditingAttributes( 'button_text', 'none' );
|
800 |
-
view.addRenderAttribute( 'button_text', 'class', 'ha-
|
801 |
-
|
Â
|
|
Â
|
|
802 |
Â
|
803 |
Â
if ( settings.type === 'image' ) {
|
804 |
Â
if ( settings.image.url ) {
|
@@ -832,8 +1018,22 @@ class InfoBox extends Base {
|
|
832 |
Â
</div>
|
833 |
Â
<# } #>
|
834 |
Â
|
835 |
-
<# if ( settings.button_text ) { #>
|
836 |
-
<a {{{ view.getRenderAttributeString( 'button_text' ) }}}>{{ settings.button_text }}</a>
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
837 |
Â
<# } #>
|
838 |
Â
</div>
|
839 |
Â
<?php
|
228 |
Â
$this->end_controls_section();
|
229 |
Â
|
230 |
Â
$this->start_controls_section(
|
231 |
+
'_section_button',
|
232 |
Â
[
|
233 |
+
'label' => __( 'Button', 'happy_addons' ),
|
234 |
Â
'tab' => Controls_Manager::TAB_CONTENT,
|
235 |
Â
]
|
236 |
Â
);
|
240 |
Â
[
|
241 |
Â
'label' => __( 'Text', 'happy_addons' ),
|
242 |
Â
'type' => Controls_Manager::TEXT,
|
243 |
+
'default' => __( 'Button Text', 'happy_addons' ),
|
244 |
+
'placeholder' => __( 'Type button text here', 'happy_addons' ),
|
245 |
Â
'label_block' => true,
|
Â
|
|
Â
|
|
246 |
Â
]
|
247 |
Â
);
|
248 |
Â
|
249 |
Â
$this->add_control(
|
250 |
Â
'button_link',
|
251 |
Â
[
|
252 |
+
'label' => __( 'Link', 'happy_addons' ),
|
253 |
Â
'type' => Controls_Manager::URL,
|
Â
|
|
254 |
Â
'placeholder' => __( 'https://example.com/', 'happy_addons' ),
|
255 |
Â
]
|
256 |
Â
);
|
257 |
Â
|
258 |
+
$this->add_control(
|
259 |
+
'button_icon',
|
260 |
+
[
|
261 |
+
'label' => __( 'Icon', 'happy_addons' ),
|
262 |
+
'type' => Controls_Manager::ICON,
|
263 |
+
'options' => ha_get_happy_icons(),
|
264 |
+
'default' => 'fa fa-angle-right'
|
265 |
+
]
|
266 |
+
);
|
267 |
+
|
268 |
+
$this->add_control(
|
269 |
+
'button_icon_position',
|
270 |
+
[
|
271 |
+
'label' => __( 'Icon Position', 'happy_addons' ),
|
272 |
+
'type' => Controls_Manager::CHOOSE,
|
273 |
+
'label_block' => false,
|
274 |
+
'options' => [
|
275 |
+
'before' => [
|
276 |
+
'title' => __( 'Before', 'happy_addons' ),
|
277 |
+
'icon' => 'eicon-h-align-left',
|
278 |
+
],
|
279 |
+
'after' => [
|
280 |
+
'title' => __( 'After', 'happy_addons' ),
|
281 |
+
'icon' => 'eicon-h-align-right',
|
282 |
+
],
|
283 |
+
],
|
284 |
+
'default' => 'after',
|
285 |
+
'toggle' => false,
|
286 |
+
'condition' => [
|
287 |
+
'button_icon!' => '',
|
288 |
+
],
|
289 |
+
]
|
290 |
+
);
|
291 |
+
|
292 |
+
$this->add_control(
|
293 |
+
'button_icon_spacing',
|
294 |
+
[
|
295 |
+
'label' => __( 'Icon Spacing', 'happy_addons' ),
|
296 |
+
'type' => Controls_Manager::SLIDER,
|
297 |
+
'default' => [
|
298 |
+
'size' => 10
|
299 |
+
],
|
300 |
+
'condition' => [
|
301 |
+
'button_icon!' => '',
|
302 |
+
],
|
303 |
+
'selectors' => [
|
304 |
+
'{{WRAPPER}} .ha-btn--icon-before .ha-btn-icon' => 'margin-right: {{SIZE}}{{UNIT}};',
|
305 |
+
'{{WRAPPER}} .ha-btn--icon-after .ha-btn-icon' => 'margin-left: {{SIZE}}{{UNIT}};',
|
306 |
+
],
|
307 |
+
]
|
308 |
+
);
|
309 |
+
|
310 |
Â
$this->end_controls_section();
|
311 |
Â
}
|
312 |
Â
|
697 |
Â
$this->end_controls_section();
|
698 |
Â
|
699 |
Â
$this->start_controls_section(
|
700 |
+
'_section_style_button',
|
701 |
Â
[
|
702 |
+
'label' => __( 'Button', 'happy_addons' ),
|
703 |
Â
'tab' => Controls_Manager::TAB_STYLE,
|
704 |
Â
]
|
705 |
Â
);
|
711 |
Â
'type' => Controls_Manager::DIMENSIONS,
|
712 |
Â
'size_units' => [ 'px', 'em', '%' ],
|
713 |
Â
'selectors' => [
|
714 |
+
'{{WRAPPER}} .ha-btn' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
715 |
Â
],
|
716 |
Â
]
|
717 |
Â
);
|
720 |
Â
Group_Control_Typography::get_type(),
|
721 |
Â
[
|
722 |
Â
'name' => 'btn_typography',
|
723 |
+
'selector' => '{{WRAPPER}} .ha-btn',
|
724 |
Â
'scheme' => Scheme_Typography::TYPOGRAPHY_4,
|
725 |
Â
]
|
726 |
Â
);
|
727 |
Â
|
728 |
+
$this->add_group_control(
|
729 |
+
Group_Control_Border::get_type(),
|
730 |
+
[
|
731 |
+
'name' => 'button_border',
|
732 |
+
'selector' => '{{WRAPPER}} .ha-btn',
|
733 |
+
]
|
734 |
+
);
|
735 |
+
|
736 |
+
$this->add_control(
|
737 |
+
'button_border_radius',
|
738 |
+
[
|
739 |
+
'label' => __( 'Border Radius', 'happy_addons' ),
|
740 |
+
'type' => Controls_Manager::DIMENSIONS,
|
741 |
+
'size_units' => [ 'px', '%' ],
|
742 |
+
'selectors' => [
|
743 |
+
'{{WRAPPER}} .ha-btn' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
744 |
+
],
|
745 |
+
]
|
746 |
+
);
|
747 |
+
|
748 |
+
$this->add_group_control(
|
749 |
+
Group_Control_Box_Shadow::get_type(),
|
750 |
+
[
|
751 |
+
'name' => 'button_box_shadow',
|
752 |
+
'selector' => '{{WRAPPER}} .ha-btn',
|
753 |
+
]
|
754 |
+
);
|
755 |
+
|
756 |
+
$this->add_control(
|
757 |
+
'hr',
|
758 |
+
[
|
759 |
+
'type' => Controls_Manager::DIVIDER,
|
760 |
+
'style' => 'thick',
|
761 |
+
]
|
762 |
+
);
|
763 |
+
|
764 |
+
$this->start_controls_tabs( '_tabs_button' );
|
765 |
Â
|
766 |
Â
$this->start_controls_tab(
|
767 |
+
'_tab_button_normal',
|
768 |
Â
[
|
769 |
Â
'label' => __( 'Normal', 'happy_addons' ),
|
770 |
Â
]
|
777 |
Â
'type' => Controls_Manager::COLOR,
|
778 |
Â
'default' => '',
|
779 |
Â
'selectors' => [
|
780 |
+
'{{WRAPPER}} .ha-btn' => 'color: {{VALUE}};',
|
781 |
+
],
|
782 |
+
]
|
783 |
+
);
|
784 |
+
|
785 |
+
$this->add_control(
|
786 |
+
'button_bg_color',
|
787 |
+
[
|
788 |
+
'label' => __( 'Background Color', 'happy_addons' ),
|
789 |
+
'type' => Controls_Manager::COLOR,
|
790 |
+
'selectors' => [
|
791 |
+
'{{WRAPPER}} .ha-btn' => 'background-color: {{VALUE}};',
|
792 |
+
],
|
793 |
+
]
|
794 |
+
);
|
795 |
+
|
796 |
+
$this->add_control(
|
797 |
+
'button_icon_translate',
|
798 |
+
[
|
799 |
+
'label' => __( 'Icon Translate X', 'happy_addons' ),
|
800 |
+
'type' => Controls_Manager::SLIDER,
|
801 |
+
'range' => [
|
802 |
+
'px' => [
|
803 |
+
'min' => -100,
|
804 |
+
'max' => 100,
|
805 |
+
],
|
806 |
+
],
|
807 |
+
'selectors' => [
|
808 |
+
'{{WRAPPER}} .ha-btn--icon-before .ha-btn-icon' => '-webkit-transform: translateX(calc(-1 * {{SIZE}}{{UNIT}})); transform: translateX(calc(-1 * {{SIZE}}{{UNIT}}));',
|
809 |
+
'{{WRAPPER}} .ha-btn--icon-after .ha-btn-icon' => '-webkit-transform: translateX({{SIZE}}{{UNIT}}); transform: translateX({{SIZE}}{{UNIT}});',
|
810 |
Â
],
|
811 |
Â
]
|
812 |
Â
);
|
814 |
Â
$this->end_controls_tab();
|
815 |
Â
|
816 |
Â
$this->start_controls_tab(
|
817 |
+
'_tab_button_hover',
|
818 |
Â
[
|
819 |
Â
'label' => __( 'Hover', 'happy_addons' ),
|
820 |
Â
]
|
826 |
Â
'label' => __( 'Text Color', 'happy_addons' ),
|
827 |
Â
'type' => Controls_Manager::COLOR,
|
828 |
Â
'selectors' => [
|
829 |
+
'{{WRAPPER}} .ha-btn:hover, {{WRAPPER}} .ha-btn:focus' => 'color: {{VALUE}};',
|
830 |
+
],
|
831 |
+
]
|
832 |
+
);
|
833 |
+
|
834 |
+
$this->add_control(
|
835 |
+
'button_hover_bg_color',
|
836 |
+
[
|
837 |
+
'label' => __( 'Background Color', 'happy_addons' ),
|
838 |
+
'type' => Controls_Manager::COLOR,
|
839 |
+
'selectors' => [
|
840 |
+
'{{WRAPPER}} .ha-btn:hover, {{WRAPPER}} .ha-btn:focus' => 'background-color: {{VALUE}};',
|
841 |
+
],
|
842 |
+
]
|
843 |
+
);
|
844 |
+
|
845 |
+
$this->add_control(
|
846 |
+
'button_hover_border_color',
|
847 |
+
[
|
848 |
+
'label' => __( 'Border Color', 'happy_addons' ),
|
849 |
+
'type' => Controls_Manager::COLOR,
|
850 |
+
'condition' => [
|
851 |
+
'button_border_border!' => '',
|
852 |
+
],
|
853 |
+
'selectors' => [
|
854 |
+
'{{WRAPPER}} .ha-btn:hover, {{WRAPPER}} .ha-btn:focus' => 'border-color: {{VALUE}};',
|
855 |
+
],
|
856 |
+
]
|
857 |
+
);
|
858 |
+
|
859 |
+
$this->add_control(
|
860 |
+
'button_hover_icon_translate',
|
861 |
+
[
|
862 |
+
'label' => __( 'Icon Translate X', 'happy_addons' ),
|
863 |
+
'type' => Controls_Manager::SLIDER,
|
864 |
+
'default' => [
|
865 |
+
'size' => 10
|
866 |
+
],
|
867 |
+
'range' => [
|
868 |
+
'px' => [
|
869 |
+
'min' => -100,
|
870 |
+
'max' => 100,
|
871 |
+
],
|
872 |
+
],
|
873 |
+
'selectors' => [
|
874 |
+
'{{WRAPPER}} .ha-btn.ha-btn--icon-before:hover .ha-btn-icon' => '-webkit-transform: translateX(calc(-1 * {{SIZE}}{{UNIT}})); transform: translateX(calc(-1 * {{SIZE}}{{UNIT}}));',
|
875 |
+
'{{WRAPPER}} .ha-btn.ha-btn--icon-after:hover .ha-btn-icon' => '-webkit-transform: translateX({{SIZE}}{{UNIT}}); transform: translateX({{SIZE}}{{UNIT}});',
|
876 |
Â
],
|
877 |
Â
]
|
878 |
Â
);
|
893 |
Â
$this->add_render_attribute( 'description', 'class', 'ha-infobox-text' );
|
894 |
Â
|
895 |
Â
$this->add_inline_editing_attributes( 'button_text', 'none' );
|
896 |
+
$this->add_render_attribute( 'button_text', 'class', 'ha-btn-text' );
|
897 |
Â
|
898 |
+
$this->add_render_attribute( 'button', 'class', 'ha-btn ha-btn--link' );
|
899 |
+
$this->add_render_attribute( 'button', 'href', esc_url( $settings['button_link']['url'] ) );
|
900 |
Â
if ( ! empty( $settings['button_link']['is_external'] ) ) {
|
901 |
+
$this->add_render_attribute( 'button', 'target', '_blank' );
|
902 |
Â
}
|
Â
|
|
903 |
Â
if ( ! empty( $settings['button_link']['nofollow'] ) ) {
|
904 |
+
$this->set_render_attribute( 'button', 'rel', 'nofollow' );
|
905 |
Â
}
|
906 |
Â
?>
|
907 |
Â
|
939 |
Â
</div>
|
940 |
Â
<?php endif; ?>
|
941 |
Â
|
942 |
+
<?php
|
943 |
+
if ( $settings['button_text'] && empty( $settings['button_icon'] ) ) :
|
944 |
+
printf( '<a %1$s>%2$s</a>',
|
945 |
+
$this->get_render_attribute_string( 'button' ),
|
946 |
+
sprintf( '<span %1$s>%2$s</span>', $this->get_render_attribute_string( 'button_text' ), esc_html( $settings['button_text'] ) )
|
947 |
+
);
|
948 |
+
elseif ( empty( $settings['button_text'] ) && $settings['button_icon'] ) :
|
949 |
Â
printf( '<a %1$s>%2$s</a>',
|
950 |
+
$this->get_render_attribute_string( 'button' ),
|
951 |
+
sprintf( '<i class="%1$s"></i>', esc_attr( $settings['button_icon'] ) )
|
952 |
Â
);
|
953 |
+
elseif ( $settings['button_text'] && $settings['button_icon'] ) :
|
954 |
+
if ( $settings['button_icon_position'] === 'before' ) :
|
955 |
+
$this->add_render_attribute( 'button', 'class', 'ha-btn--icon-before' );
|
956 |
+
$btn_before = sprintf( '<i class="ha-btn-icon %1$s"></i>', esc_attr( $settings['button_icon'] ) );
|
957 |
+
$btn_after = sprintf( '<span %1$s>%2$s</span>', $this->get_render_attribute_string( 'button_text' ), esc_html( $settings['button_text'] ) );
|
958 |
+
else :
|
959 |
+
$this->add_render_attribute( 'button', 'class', 'ha-btn--icon-after' );
|
960 |
+
$btn_before = sprintf( '<span %1$s>%2$s</span>', $this->get_render_attribute_string( 'button_text' ), esc_html( $settings['button_text'] ) );
|
961 |
+
$btn_after = sprintf( '<i class="ha-btn-icon %1$s"></i>', esc_attr( $settings['button_icon'] ) );
|
962 |
+
endif;
|
963 |
+
printf( '<a %1$s>%2$s %3$s</a>',
|
964 |
+
$this->get_render_attribute_string( 'button' ),
|
965 |
+
$btn_before,
|
966 |
+
$btn_after
|
967 |
+
);
|
968 |
+
endif;
|
969 |
+
?>
|
970 |
Â
</div>
|
971 |
Â
<?php
|
972 |
Â
}
|
981 |
Â
view.addRenderAttribute( 'description', 'class', 'ha-infobox-text' );
|
982 |
Â
|
983 |
Â
view.addInlineEditingAttributes( 'button_text', 'none' );
|
984 |
+
view.addRenderAttribute( 'button_text', 'class', 'ha-btn-text' );
|
985 |
+
|
986 |
+
view.addRenderAttribute( 'button', 'class', 'ha-btn ha-btn--link' );
|
987 |
+
view.addRenderAttribute( 'button', 'href', settings.button_link.url );
|
988 |
Â
|
989 |
Â
if ( settings.type === 'image' ) {
|
990 |
Â
if ( settings.image.url ) {
|
1018 |
Â
</div>
|
1019 |
Â
<# } #>
|
1020 |
Â
|
1021 |
+
<# if ( settings.button_text && ! settings.button_icon ) { #>
|
1022 |
+
<a {{{ view.getRenderAttributeString( 'button' ) }}}><span {{{ view.getRenderAttributeString( 'button_text' ) }}}>{{ settings.button_text }}</span></a>
|
1023 |
+
<# } else if ( ! settings.button_text && settings.button_icon ) { #>
|
1024 |
+
<a {{{ view.getRenderAttributeString( 'button' ) }}}><i class="{{ settings.button_icon }}"></i></a>
|
1025 |
+
<# } else if ( settings.button_text && settings.button_icon ) {
|
1026 |
+
var button_before = button_after = '';
|
1027 |
+
if ( settings.button_icon_position === 'before' ) {
|
1028 |
+
view.addRenderAttribute( 'button', 'class', 'ha-btn--icon-before' );
|
1029 |
+
button_before = '<i class="ha-btn-icon ' + settings.button_icon + '"></i>';
|
1030 |
+
button_after = '<span ' + view.getRenderAttributeString( 'button_text' ) + '>' + settings.button_text + '</span>';
|
1031 |
+
} else {
|
1032 |
+
view.addRenderAttribute( 'button', 'class', 'ha-btn--icon-after' );
|
1033 |
+
button_after = '<i class="ha-btn-icon ' + settings.button_icon + '"></i>';
|
1034 |
+
button_before = '<span ' + view.getRenderAttributeString( 'button_text' ) + '>' + settings.button_text + '</span>';
|
1035 |
+
} #>
|
1036 |
+
<a {{{ view.getRenderAttributeString( 'button' ) }}}>{{{ button_before }}} {{{ button_after }}}</a>
|
1037 |
Â
<# } #>
|
1038 |
Â
</div>
|
1039 |
Â
<?php
|
widgets/member/widget.php
CHANGED
@@ -488,7 +488,7 @@ class Member extends Base {
|
|
488 |
Â
Group_Control_Border::get_type(),
|
489 |
Â
[
|
490 |
Â
'name' => 'image_border',
|
491 |
-
'selector' => '{{WRAPPER}} .ha-member-figure > img
|
492 |
Â
]
|
493 |
Â
);
|
494 |
Â
|
@@ -515,6 +515,17 @@ class Member extends Base {
|
|
515 |
Â
]
|
516 |
Â
);
|
517 |
Â
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
518 |
Â
$this->end_controls_section();
|
519 |
Â
|
520 |
Â
$this->start_controls_section(
|
488 |
Â
Group_Control_Border::get_type(),
|
489 |
Â
[
|
490 |
Â
'name' => 'image_border',
|
491 |
+
'selector' => '{{WRAPPER}} .ha-member-figure > img'
|
492 |
Â
]
|
493 |
Â
);
|
494 |
Â
|
515 |
Â
]
|
516 |
Â
);
|
517 |
Â
|
518 |
+
$this->add_control(
|
519 |
+
'image_bg_color',
|
520 |
+
[
|
521 |
+
'label' => __( 'Background Color', 'happy_addons' ),
|
522 |
+
'type' => Controls_Manager::COLOR,
|
523 |
+
'selectors' => [
|
524 |
+
'{{WRAPPER}} .ha-member-figure > img' => 'background-color: {{VALUE}}',
|
525 |
+
],
|
526 |
+
]
|
527 |
+
);
|
528 |
+
|
529 |
Â
$this->end_controls_section();
|
530 |
Â
|
531 |
Â
$this->start_controls_section(
|
widgets/ninjaform/widget.php
ADDED
@@ -0,0 +1,532 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Ninja Form 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 |
+
|
14 |
+
defined( 'ABSPATH' ) || die();
|
15 |
+
|
16 |
+
class NinjaForm extends Base {
|
17 |
+
|
18 |
+
/**
|
19 |
+
* Get widget title.
|
20 |
+
*
|
21 |
+
* @since 1.0.0
|
22 |
+
* @access public
|
23 |
+
*
|
24 |
+
* @return string Widget title.
|
25 |
+
*/
|
26 |
+
public function get_title() {
|
27 |
+
return __( 'Ninja Form', 'happy_addons' );
|
28 |
+
}
|
29 |
+
|
30 |
+
/**
|
31 |
+
* Get widget icon.
|
32 |
+
*
|
33 |
+
* @since 1.0.0
|
34 |
+
* @access public
|
35 |
+
*
|
36 |
+
* @return string Widget icon.
|
37 |
+
*/
|
38 |
+
public function get_icon() {
|
39 |
+
return 'hm hm-form';
|
40 |
+
}
|
41 |
+
|
42 |
+
public function get_keywords() {
|
43 |
+
return [ 'wpf','wpform' , 'form', 'contact', 'cf7', 'contact form', 'gravity', 'ninja' ];
|
44 |
+
}
|
45 |
+
|
46 |
+
protected function register_content_controls() {
|
47 |
+
$this->start_controls_section(
|
48 |
+
'_section_ninjaf',
|
49 |
+
[
|
50 |
+
'label' => ha_is_ninjaf_activated() ? __( 'Ninja Form', 'happy_addons' ) : __( 'Notice', 'happy_addons' ),
|
51 |
+
'tab' => Controls_Manager::TAB_CONTENT,
|
52 |
+
]
|
53 |
+
);
|
54 |
+
|
55 |
+
if ( ! ha_is_ninjaf_activated() ) {
|
56 |
+
$this->add_control(
|
57 |
+
'ninjaf_missing_notice',
|
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_addons' ),
|
62 |
+
'<a href="https://wordpress.org/plugins/ninja-forms/" target="_blank" rel="noopener">Ninja Form</a>'
|
63 |
+
)
|
64 |
+
]
|
65 |
+
);
|
66 |
+
$this->end_controls_section();
|
67 |
+
return;
|
68 |
+
}
|
69 |
+
|
70 |
+
$this->add_control(
|
71 |
+
'form_id',
|
72 |
+
[
|
73 |
+
'label' => __( 'Select Your Form', 'happy_addons' ),
|
74 |
+
'type' => Controls_Manager::SELECT,
|
75 |
+
'label_block' => true,
|
76 |
+
'options' => ['' => __( '', 'happy_addons' ) ] + \ha_get_ninjaform(),
|
77 |
+
]
|
78 |
+
);
|
79 |
+
|
80 |
+
$this->end_controls_section();
|
81 |
+
}
|
82 |
+
|
83 |
+
protected function register_style_controls() {
|
84 |
+
$this->start_controls_section(
|
85 |
+
'_section_fields_style',
|
86 |
+
[
|
87 |
+
'label' => __( 'Form Fields', 'happy_addons' ),
|
88 |
+
'tab' => Controls_Manager::TAB_STYLE,
|
89 |
+
]
|
90 |
+
);
|
91 |
+
|
92 |
+
$this->add_responsive_control(
|
93 |
+
'field_margin',
|
94 |
+
[
|
95 |
+
'label' => __( 'Field Spacing', 'happy_addons' ),
|
96 |
+
'type' => Controls_Manager::DIMENSIONS,
|
97 |
+
'size_units' => [ 'px', '%' ],
|
98 |
+
'selectors' => [
|
99 |
+
'{{WRAPPER}} .nf-field-container:not(.submit-container)' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
100 |
+
],
|
101 |
+
]
|
102 |
+
);
|
103 |
+
|
104 |
+
$this->add_responsive_control(
|
105 |
+
'field_padding',
|
106 |
+
[
|
107 |
+
'label' => __( 'Padding', 'happy_addons' ),
|
108 |
+
'type' => Controls_Manager::DIMENSIONS,
|
109 |
+
'size_units' => [ 'px', 'em', '%' ],
|
110 |
+
'selectors' => [
|
111 |
+
'{{WRAPPER}} .textbox-wrap input[type=text], {{WRAPPER}} .email-wrap input, {{WRAPPER}} .textarea-wrap textarea' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
112 |
+
],
|
113 |
+
]
|
114 |
+
);
|
115 |
+
|
116 |
+
$this->add_responsive_control(
|
117 |
+
'field_border_radius',
|
118 |
+
[
|
119 |
+
'label' => __( 'Border Radius', 'happy_addons' ),
|
120 |
+
'type' => Controls_Manager::DIMENSIONS,
|
121 |
+
'size_units' => [ 'px', '%' ],
|
122 |
+
'selectors' => [
|
123 |
+
'{{WRAPPER}} .textbox-wrap input[type=text], {{WRAPPER}} .email-wrap input, {{WRAPPER}} .textarea-wrap textarea' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
124 |
+
],
|
125 |
+
]
|
126 |
+
);
|
127 |
+
|
128 |
+
$this->add_group_control(
|
129 |
+
Group_Control_Typography::get_type(),
|
130 |
+
[
|
131 |
+
'name' => 'field_typography',
|
132 |
+
'label' => __( 'Typography', 'happy_addons' ),
|
133 |
+
'selector' => '{{WRAPPER}} .textbox-wrap input[type=text], {{WRAPPER}} .email-wrap input, {{WRAPPER}} .textarea-wrap textarea',
|
134 |
+
]
|
135 |
+
);
|
136 |
+
|
137 |
+
$this->add_control(
|
138 |
+
'field_textcolor',
|
139 |
+
[
|
140 |
+
'label' => __( 'Field Text Color', 'happy_addons' ),
|
141 |
+
'type' => Controls_Manager::COLOR,
|
142 |
+
'selectors' => [
|
143 |
+
'{{WRAPPER}} .textbox-wrap input[type=text], {{WRAPPER}} .email-wrap input, {{WRAPPER}} .textarea-wrap textarea' => 'color: {{VALUE}}',
|
144 |
+
],
|
145 |
+
]
|
146 |
+
);
|
147 |
+
|
148 |
+
$this->add_control(
|
149 |
+
'field_placeholder_color',
|
150 |
+
[
|
151 |
+
'label' => __( 'Field Placeholder Color', 'happy_addons' ),
|
152 |
+
'type' => Controls_Manager::COLOR,
|
153 |
+
'selectors' => [
|
154 |
+
'{{WRAPPER}} ::-webkit-input-placeholder' => 'color: {{VALUE}};',
|
155 |
+
'{{WRAPPER}} ::-moz-placeholder' => 'color: {{VALUE}};',
|
156 |
+
'{{WRAPPER}} ::-ms-input-placeholder' => 'color: {{VALUE}};',
|
157 |
+
],
|
158 |
+
]
|
159 |
+
);
|
160 |
+
|
161 |
+
$this->start_controls_tabs( 'tabs_field_state' );
|
162 |
+
|
163 |
+
$this->start_controls_tab(
|
164 |
+
'tab_field_normal',
|
165 |
+
[
|
166 |
+
'label' => __( 'Normal', 'happy_addons' ),
|
167 |
+
]
|
168 |
+
);
|
169 |
+
|
170 |
+
$this->add_group_control(
|
171 |
+
Group_Control_Border::get_type(),
|
172 |
+
[
|
173 |
+
'name' => 'field_border',
|
174 |
+
'selector' => '{{WRAPPER}} .textbox-wrap input[type=text], {{WRAPPER}} .email-wrap input, {{WRAPPER}} .textarea-wrap textarea',
|
175 |
+
]
|
176 |
+
);
|
177 |
+
|
178 |
+
$this->add_group_control(
|
179 |
+
Group_Control_Box_Shadow::get_type(),
|
180 |
+
[
|
181 |
+
'name' => 'field_box_shadow',
|
182 |
+
'selector' => '{{WRAPPER}} .textbox-wrap input[type=text], {{WRAPPER}} .email-wrap input, {{WRAPPER}} .textarea-wrap textarea',
|
183 |
+
]
|
184 |
+
);
|
185 |
+
|
186 |
+
$this->add_control(
|
187 |
+
'field_bg_color',
|
188 |
+
[
|
189 |
+
'label' => __( 'Background Color', 'happy_addons' ),
|
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}}',
|
193 |
+
],
|
194 |
+
]
|
195 |
+
);
|
196 |
+
|
197 |
+
$this->end_controls_tab();
|
198 |
+
|
199 |
+
$this->start_controls_tab(
|
200 |
+
'tab_field_focus',
|
201 |
+
[
|
202 |
+
'label' => __( 'Focus', 'happy_addons' ),
|
203 |
+
]
|
204 |
+
);
|
205 |
+
|
206 |
+
$this->add_group_control(
|
207 |
+
Group_Control_Border::get_type(),
|
208 |
+
[
|
209 |
+
'name' => 'field_focus_border',
|
210 |
+
'selector' => '{{WRAPPER}} .textbox-wrap input[type=text]:focus, {{WRAPPER}} .email-wrap input:focus, {{WRAPPER}} .textarea-wrap textarea:focus',
|
211 |
+
]
|
212 |
+
);
|
213 |
+
|
214 |
+
$this->add_group_control(
|
215 |
+
Group_Control_Box_Shadow::get_type(),
|
216 |
+
[
|
217 |
+
'name' => 'field_focus_box_shadow',
|
218 |
+
'exclude' => [
|
219 |
+
'box_shadow_position',
|
220 |
+
],
|
221 |
+
'selector' => '{{WRAPPER}} .textbox-wrap input[type=text]:focus, {{WRAPPER}} .email-wrap input:focus, {{WRAPPER}} .textarea-wrap textarea:focus',
|
222 |
+
]
|
223 |
+
);
|
224 |
+
|
225 |
+
$this->add_control(
|
226 |
+
'field_focus_bg_color',
|
227 |
+
[
|
228 |
+
'label' => __( 'Background Color', 'happy_addons' ),
|
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}}',
|
232 |
+
],
|
233 |
+
]
|
234 |
+
);
|
235 |
+
|
236 |
+
$this->end_controls_tab();
|
237 |
+
$this->end_controls_tabs();
|
238 |
+
|
239 |
+
|
240 |
+
$this->end_controls_section();
|
241 |
+
|
242 |
+
$this->start_controls_section(
|
243 |
+
'ninjaf-form-label',
|
244 |
+
[
|
245 |
+
'label' => __( 'Form Fields Label', 'happy_addons' ),
|
246 |
+
'tab' => Controls_Manager::TAB_STYLE,
|
247 |
+
]
|
248 |
+
);
|
249 |
+
|
250 |
+
$this->add_responsive_control(
|
251 |
+
'label_margin',
|
252 |
+
[
|
253 |
+
'label' => __( 'Margin', 'happy_addons' ),
|
254 |
+
'type' => Controls_Manager::DIMENSIONS,
|
255 |
+
'size_units' => [ 'px', '%' ],
|
256 |
+
'selectors' => [
|
257 |
+
'{{WRAPPER}} .textbox-wrap label, {{WRAPPER}} .email-wrap label, {{WRAPPER}} .textarea-wrap label' => 'display: inline-block; padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
258 |
+
],
|
259 |
+
]
|
260 |
+
);
|
261 |
+
|
262 |
+
$this->add_responsive_control(
|
263 |
+
'label_padding',
|
264 |
+
[
|
265 |
+
'label' => __( 'Padding', 'happy_addons' ),
|
266 |
+
'type' => Controls_Manager::DIMENSIONS,
|
267 |
+
'size_units' => [ 'px', 'em', '%' ],
|
268 |
+
'selectors' => [
|
269 |
+
'{{WRAPPER}} .textbox-wrap label, {{WRAPPER}} .email-wrap label, {{WRAPPER}} .textarea-wrap label' => 'display: inline-block; padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
270 |
+
],
|
271 |
+
]
|
272 |
+
);
|
273 |
+
|
274 |
+
$this->add_control(
|
275 |
+
'hr3',
|
276 |
+
[
|
277 |
+
'type' => Controls_Manager::DIVIDER,
|
278 |
+
'style' => 'thick',
|
279 |
+
]
|
280 |
+
);
|
281 |
+
|
282 |
+
$this->add_group_control(
|
283 |
+
Group_Control_Typography::get_type(),
|
284 |
+
[
|
285 |
+
'name' => 'label_typography',
|
286 |
+
'label' => __( 'Label Typography', 'happy_addons' ),
|
287 |
+
'selector' => '{{WRAPPER}} .textbox-wrap label, {{WRAPPER}} .email-wrap label, {{WRAPPER}} .textarea-wrap label',
|
288 |
+
]
|
289 |
+
);
|
290 |
+
|
291 |
+
$this->add_group_control(
|
292 |
+
Group_Control_Typography::get_type(),
|
293 |
+
[
|
294 |
+
'name' => 'desc_typography',
|
295 |
+
'label' => __( 'Description Typography', 'happy_addons' ),
|
296 |
+
'selector' => '{{WRAPPER}} .nf-field-description p',
|
297 |
+
]
|
298 |
+
);
|
299 |
+
|
300 |
+
$this->add_control(
|
301 |
+
'label_color',
|
302 |
+
[
|
303 |
+
'label' => __( 'Label Text Color', 'happy_addons' ),
|
304 |
+
'type' => Controls_Manager::COLOR,
|
305 |
+
'selectors' => [
|
306 |
+
'{{WRAPPER}} .textbox-wrap label, {{WRAPPER}} .email-wrap label, {{WRAPPER}} .textarea-wrap label' => 'color: {{VALUE}}',
|
307 |
+
],
|
308 |
+
]
|
309 |
+
);
|
310 |
+
|
311 |
+
$this->add_control(
|
312 |
+
'requered_label',
|
313 |
+
[
|
314 |
+
'label' => __( 'Required Label Color', 'happy_addons' ),
|
315 |
+
'type' => Controls_Manager::COLOR,
|
316 |
+
'selectors' => [
|
317 |
+
'{{WRAPPER}} .ninja-forms-req-symbol' => 'color: {{VALUE}}',
|
318 |
+
],
|
319 |
+
]
|
320 |
+
);
|
321 |
+
|
322 |
+
$this->add_control(
|
323 |
+
'desc_color',
|
324 |
+
[
|
325 |
+
'label' => __( 'Description Text Color', 'happy_addons' ),
|
326 |
+
'type' => Controls_Manager::COLOR,
|
327 |
+
'selectors' => [
|
328 |
+
'{{WRAPPER}} .nf-field-description p' => 'color: {{VALUE}}',
|
329 |
+
],
|
330 |
+
]
|
331 |
+
);
|
332 |
+
|
333 |
+
$this->end_controls_section();
|
334 |
+
|
335 |
+
$this->start_controls_section(
|
336 |
+
'submit',
|
337 |
+
[
|
338 |
+
'label' => __( 'Submit Button', 'happy_addons' ),
|
339 |
+
'tab' => Controls_Manager::TAB_STYLE,
|
340 |
+
]
|
341 |
+
);
|
342 |
+
|
343 |
+
$this->add_responsive_control(
|
344 |
+
'submit_btn_position',
|
345 |
+
[
|
346 |
+
'label' => __( 'Button Position', 'happy_addons' ),
|
347 |
+
'type' => Controls_Manager::CHOOSE,
|
348 |
+
'options' => [
|
349 |
+
'left' => [
|
350 |
+
'title' => __( 'Left', 'happy_addons' ),
|
351 |
+
'icon' => 'eicon-h-align-left',
|
352 |
+
],
|
353 |
+
'center' => [
|
354 |
+
'title' => __( 'Center', 'happy_addons' ),
|
355 |
+
'icon' => 'eicon-h-align-center',
|
356 |
+
],
|
357 |
+
'right' => [
|
358 |
+
'title' => __( 'Right', 'happy_addons' ),
|
359 |
+
'icon' => 'eicon-h-align-right',
|
360 |
+
],
|
361 |
+
],
|
362 |
+
'desktop_default' => 'left',
|
363 |
+
'toggle' => false,
|
364 |
+
'prefix_class' => 'ha-form-btn--%s',
|
365 |
+
'selectors' => [
|
366 |
+
'{{WRAPPER}} .field-wrap.submit-wrap' => 'text-align: {{Value}};',
|
367 |
+
],
|
368 |
+
]
|
369 |
+
);
|
370 |
+
|
371 |
+
$this->add_responsive_control(
|
372 |
+
'submit_margin',
|
373 |
+
[
|
374 |
+
'label' => __( 'Margin', 'happy_addons' ),
|
375 |
+
'type' => Controls_Manager::DIMENSIONS,
|
376 |
+
'size_units' => [ 'px', '%' ],
|
377 |
+
'selectors' => [
|
378 |
+
'{{WRAPPER}} .submit-container input' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
379 |
+
],
|
380 |
+
]
|
381 |
+
);
|
382 |
+
|
383 |
+
$this->add_responsive_control(
|
384 |
+
'submit_padding',
|
385 |
+
[
|
386 |
+
'label' => __( 'Padding', 'happy_addons' ),
|
387 |
+
'type' => Controls_Manager::DIMENSIONS,
|
388 |
+
'size_units' => [ 'px', 'em', '%' ],
|
389 |
+
'selectors' => [
|
390 |
+
'{{WRAPPER}} .submit-container input' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
391 |
+
],
|
392 |
+
]
|
393 |
+
);
|
394 |
+
|
395 |
+
$this->add_group_control(
|
396 |
+
Group_Control_Typography::get_type(),
|
397 |
+
[
|
398 |
+
'name' => 'submit_typography',
|
399 |
+
'selector' => '{{WRAPPER}} .submit-container input',
|
400 |
+
]
|
401 |
+
);
|
402 |
+
|
403 |
+
$this->add_group_control(
|
404 |
+
Group_Control_Border::get_type(),
|
405 |
+
[
|
406 |
+
'name' => 'submit_border',
|
407 |
+
'selector' => '{{WRAPPER}} .submit-container input',
|
408 |
+
]
|
409 |
+
);
|
410 |
+
|
411 |
+
$this->add_control(
|
412 |
+
'submit_border_radius',
|
413 |
+
[
|
414 |
+
'label' => __( 'Border Radius', 'happy_addons' ),
|
415 |
+
'type' => Controls_Manager::DIMENSIONS,
|
416 |
+
'size_units' => [ 'px', '%' ],
|
417 |
+
'selectors' => [
|
418 |
+
'{{WRAPPER}} .submit-container input' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
|
419 |
+
],
|
420 |
+
]
|
421 |
+
);
|
422 |
+
|
423 |
+
$this->add_group_control(
|
424 |
+
Group_Control_Box_Shadow::get_type(),
|
425 |
+
[
|
426 |
+
'name' => 'submit_box_shadow',
|
427 |
+
'selector' => '{{WRAPPER}} .submit-container input',
|
428 |
+
]
|
429 |
+
);
|
430 |
+
|
431 |
+
$this->add_control(
|
432 |
+
'hr4',
|
433 |
+
[
|
434 |
+
'type' => Controls_Manager::DIVIDER,
|
435 |
+
'style' => 'thick',
|
436 |
+
]
|
437 |
+
);
|
438 |
+
|
439 |
+
$this->start_controls_tabs( 'tabs_button_style' );
|
440 |
+
|
441 |
+
$this->start_controls_tab(
|
442 |
+
'tab_button_normal',
|
443 |
+
[
|
444 |
+
'label' => __( 'Normal', 'happy_addons' ),
|
445 |
+
]
|
446 |
+
);
|
447 |
+
|
448 |
+
$this->add_control(
|
449 |
+
'submit_color',
|
450 |
+
[
|
451 |
+
'label' => __( 'Text Color', 'happy_addons' ),
|
452 |
+
'type' => Controls_Manager::COLOR,
|
453 |
+
'default' => '',
|
454 |
+
'selectors' => [
|
455 |
+
'{{WRAPPER}} .submit-container input' => 'color: {{VALUE}};',
|
456 |
+
],
|
457 |
+
]
|
458 |
+
);
|
459 |
+
|
460 |
+
$this->add_control(
|
461 |
+
'submit_bg_color',
|
462 |
+
[
|
463 |
+
'label' => __( 'Background Color', 'happy_addons' ),
|
464 |
+
'type' => Controls_Manager::COLOR,
|
465 |
+
'selectors' => [
|
466 |
+
'{{WRAPPER}} .submit-container input' => 'background-color: {{VALUE}};',
|
467 |
+
],
|
468 |
+
]
|
469 |
+
);
|
470 |
+
|
471 |
+
$this->end_controls_tab();
|
472 |
+
|
473 |
+
$this->start_controls_tab(
|
474 |
+
'tab_button_hover',
|
475 |
+
[
|
476 |
+
'label' => __( 'Hover', 'happy_addons' ),
|
477 |
+
]
|
478 |
+
);
|
479 |
+
|
480 |
+
$this->add_control(
|
481 |
+
'submit_hover_color',
|
482 |
+
[
|
483 |
+
'label' => __( 'Text Color', 'happy_addons' ),
|
484 |
+
'type' => Controls_Manager::COLOR,
|
485 |
+
'selectors' => [
|
486 |
+
'{{WRAPPER}} .submit-container input:hover, {{WRAPPER}} .submit-container input:focus' => 'color: {{VALUE}};',
|
487 |
+
],
|
488 |
+
]
|
489 |
+
);
|
490 |
+
|
491 |
+
$this->add_control(
|
492 |
+
'submit_hover_bg_color',
|
493 |
+
[
|
494 |
+
'label' => __( 'Background Color', 'happy_addons' ),
|
495 |
+
'type' => Controls_Manager::COLOR,
|
496 |
+
'selectors' => [
|
497 |
+
'{{WRAPPER}} .submit-container input:hover, {{WRAPPER}} .submit-container input:focus' => 'background-color: {{VALUE}};',
|
498 |
+
],
|
499 |
+
]
|
500 |
+
);
|
501 |
+
|
502 |
+
$this->add_control(
|
503 |
+
'submit_hover_border_color',
|
504 |
+
[
|
505 |
+
'label' => __( 'Border Color', 'happy_addons' ),
|
506 |
+
'type' => Controls_Manager::COLOR,
|
507 |
+
'selectors' => [
|
508 |
+
'{{WRAPPER}} .submit-container input:hover, {{WRAPPER}} .submit-container input:focus' => 'border-color: {{VALUE}};',
|
509 |
+
],
|
510 |
+
]
|
511 |
+
);
|
512 |
+
|
513 |
+
$this->end_controls_tab();
|
514 |
+
$this->end_controls_tabs();
|
515 |
+
|
516 |
+
$this->end_controls_section();
|
517 |
+
}
|
518 |
+
|
519 |
+
protected function render() {
|
520 |
+
if ( ! ha_is_ninjaf_activated() ) {
|
521 |
+
return;
|
522 |
+
}
|
523 |
+
|
524 |
+
$settings = $this->get_settings_for_display();
|
525 |
+
|
526 |
+
if ( ! empty( $settings['form_id'] ) ) {
|
527 |
+
echo ha_do_shortcode( 'ninja_form', [
|
528 |
+
'id' => $settings['form_id'],
|
529 |
+
] );
|
530 |
+
}
|
531 |
+
}
|
532 |
+
}
|